[發明專利]寫入數據的方法及裝置有效
| 申請號: | 200810247051.9 | 申請日: | 2008-12-31 |
| 公開(公告)號: | CN101526920A | 公開(公告)日: | 2009-09-09 |
| 發明(設計)人: | 陸舟;于華章 | 申請(專利權)人: | 北京飛天誠信科技有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京中博世達專利商標代理有限公司 | 代理人: | 申 健 |
| 地址: | 100083北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 寫入 數據 方法 裝置 | ||
技術領域
本發明涉及數據存儲領域,尤其涉及一種寫入數據的方法及裝置。
背景技術
閃存屬于存儲器類型的一種,因為其具有可移動性、及保存在閃存上的數據即便是在斷電情況下仍不會丟失的優點而得到迅速的發展。在閃存中,寫Flash操作只能把Flash中數據從“1”變到“0”(Bit);擦除操作可以把“0”變為“1”,但是擦除操作只能針對整個“存儲塊”為單位進行的。例如:一個存儲塊的大小一般為256字節到1024字節。
用戶在需要修改存儲器中某個存儲塊的數據時,一般是在空存儲塊中寫入需要修改的數據。在現有技術中,通常采用按照一定的順序在一些空存儲塊中找出一個空存儲塊的方法,然后再將修改后的數據寫入到該空存儲塊中并擦除修改前的數據存儲塊里的數據。但是每一個存儲塊可以被寫入和擦除的次數都是有限的,特別是當用戶頻繁的修改某些數據或者當空存儲塊個數不多時,很容易出現對序號排在順序較前的空存儲塊頻繁地執行寫入或者擦除操作的情況,久而久之就會使這些空存儲塊的受損程度增加,使用壽命降低,甚至可能因此無法再次使用該存儲塊,導致整個存儲器的失效。
發明內容
本發明的實施例提供一種寫入數據的方法及裝置。以便提高該存儲器中存儲塊能夠使用的次數。
為達到上述目的,本發明的實施例采用如下技術方案:
一種向Flash存儲器寫入數據的方法,包括:
接收到寫入新數據的指令;
定位需要修改的數據所在的數據存儲塊;
從所有的空存儲塊中隨機選出一個空存儲塊;判斷所述隨機選出的空數據存儲塊是否為有記錄的空存儲塊,其中,所述有記錄的空存儲塊為空數據區的所有字節不都是0xFF的空存儲塊;
如果是,則將所述有記錄的空存儲塊擦除為空存儲塊,然后將所述需要修改的數據與新數據結合為更新數據,將所述更新數據寫入擦除為空存儲塊的所述有記錄的空存儲塊中。
如果否,則直接將所述需要修改的數據與新數據結合生成更新數據,將所述更新數據寫入所述隨機選出的空存儲塊中;
將定位到的數據存儲塊擦除為空存儲塊。
一種向Flash存儲器寫入數據的裝置,包括:
接收模塊,用于接收寫入新數據的指令;
定位模塊,用于定位需要修改的數據所在的數據存儲塊;
選出模塊,用于從所有的空存儲塊中隨機選出一個空存儲塊;
第一判斷模塊,用于判斷所述隨機選出的空數據存儲塊是否為有記錄的空存儲塊,其中,所述有記錄的空存儲塊為空數據區的所有字節不都是0xFF的空存儲塊;
第一清除模塊,用于當第一判斷模塊判斷結果為是時,將所述有記錄的空存儲塊擦除為空存儲塊;
寫入模塊,用于將所述需要修改的數據與新數據結合生成更新數據,在第一判斷模塊的判斷結果為否時,將所述更新數據直接寫入所述隨機選出的空存儲塊中或在第一判斷模塊的判斷結果為是時,將所述更新數據寫入由第一清除模塊擦除為空的存儲塊;
擦除模塊,用于將定位到的數據存儲塊擦除為空存儲塊。
本發明提供的寫入數據的方法及裝置具有如下有點或有益效果:通過采用在空存儲塊中隨機選擇空存儲塊的技術方案,解決了現有技術中因為是按順序進行選擇空存儲塊所造成的容易出現對序號排在順序較前的空存儲塊頻繁地執行寫入或者擦除操作的技術問題,進而取得了平衡存儲器中各個存儲塊受損程度,增加存儲塊使用次數的有益效果。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例1寫入數據的方法的流程圖;
圖2為本發明實施例2寫入數據的裝置的框圖;
圖3為本發明實施例3寫入數據的方法的流程圖;
圖4為本發明實施例4寫入數據的方法的框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
實施例1
本實施例公開一種寫入數據的方法,如圖1所示,該方法包括如下步驟:
101,接收到上層(如計算機操作系統)發來的向存儲塊中寫入新數據的指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京飛天誠信科技有限公司,未經北京飛天誠信科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810247051.9/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





