亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種閃存數(shù)據(jù)存儲(chǔ)方法和裝置的制作方法

文檔序號(hào):6779780閱讀:210來(lái)源:國(guó)知局
專利名稱:一種閃存數(shù)據(jù)存儲(chǔ)方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲(chǔ)技術(shù)領(lǐng)域,特別是涉及一種閃存數(shù)據(jù)存儲(chǔ)方法和裝置。
背景技術(shù)
閃存(FlashMemory, Flash),作為一種非揮發(fā)性的半導(dǎo)體存儲(chǔ)芯片, 它在沒(méi)有電流供應(yīng)的條件下也能夠長(zhǎng)久地保存凄t據(jù),而揮發(fā)性的內(nèi)存(如 DDR、 SDRAM或者RDRAM)只要停止電流供應(yīng),那么數(shù)據(jù)便無(wú)法保存。因 此,閃存成為了各類便攜型數(shù)字設(shè)備的存儲(chǔ)介質(zhì)的基礎(chǔ),普遍應(yīng)用于數(shù)碼電 視、數(shù)碼便攜式攝像機(jī)、移動(dòng)電話、數(shù)碼相機(jī)、掌上電腦(Personal Digital Assistant , PDA)、游戲機(jī)、MP3播放器等設(shè)備中。
閃存由許多個(gè)塊(block)組成,每個(gè)塊(block)包括64頁(yè)(page),每 一個(gè)頁(yè)(page)包括4個(gè)扇區(qū)(sector)。閃存的寫入才喿作必須在空白區(qū)域進(jìn) 行,如果目標(biāo)區(qū)域已經(jīng)有數(shù)據(jù),必須先擦除后寫入,因此當(dāng)對(duì)閃存進(jìn)行讀寫 的次數(shù)多了 , 一個(gè)塊中就可能出現(xiàn)壞扇區(qū)。為了防止由于將凄史據(jù)寫到壞扇區(qū), 而造成數(shù)據(jù)的丟失,通常采用的方法為在使用閃存前,對(duì)閃存先進(jìn)行初始 化掃描,只要一個(gè)塊中出現(xiàn)一個(gè)壞扇區(qū),即將整個(gè)塊標(biāo)記為壞塊,然后將數(shù) 據(jù)存儲(chǔ)到好塊中,該方法通過(guò)防止將數(shù)據(jù)寫到壞扇區(qū)來(lái)實(shí)現(xiàn)數(shù)據(jù)的安全存儲(chǔ)。
但是,由于閃存具有不穩(wěn)定性,表現(xiàn)為本次掃描的壞扇區(qū),下次再掃描 可能是好扇區(qū),而本次掃描的好扇區(qū),下次再掃描可能是壞扇區(qū),因此運(yùn)用 上述方法,在本次已將數(shù)據(jù)存儲(chǔ)到好塊的情況下,下次需要讀取該lt據(jù)時(shí), 可能會(huì)在閃存使用前的掃描中,發(fā)現(xiàn)該塊中有壞扇區(qū)而將該數(shù)據(jù)存儲(chǔ)塊標(biāo)記 為壞塊,然后進(jìn)行屏蔽,從而無(wú)法對(duì)該塊中的數(shù)據(jù)進(jìn)行讀取,因此由于閃存 具有不穩(wěn)定性,該方法實(shí)際上并不能防止將數(shù)據(jù)寫到壞扇區(qū),它還是可能會(huì) 造成數(shù)據(jù)的丟失,這樣嚴(yán)重影響到用戶所存儲(chǔ)數(shù)據(jù)的安全。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明解決的問(wèn)題是提供一種閃存數(shù)據(jù)存儲(chǔ)方法和裝置,可 以使用戶安全讀取到存儲(chǔ)在閃存中的數(shù)據(jù),避免所存儲(chǔ)數(shù)據(jù)丟失。
為此,本發(fā)明提供了一種閃存數(shù)據(jù)存儲(chǔ)方法,包括以下步驟 掃描閃存;
根據(jù)掃描結(jié)果,設(shè)置壞扇區(qū)所在頁(yè)為禁止寫入頁(yè),沒(méi)有壞扇區(qū)的頁(yè)為正 常頁(yè);
當(dāng)掃描出的壞扇區(qū)數(shù)小于或等于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第一預(yù)定操
作;
當(dāng)掃描出的壞扇區(qū)數(shù)大于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第二預(yù)定操作。
優(yōu)選地,所述第一預(yù)定操作為在每個(gè)正常頁(yè)中的三個(gè)扇區(qū)寫入需要存 儲(chǔ)的數(shù)據(jù),在余下的一個(gè)扇區(qū)寫入特定數(shù)據(jù)。
優(yōu)選地,所述特定數(shù)據(jù)通過(guò)對(duì)其他三個(gè)扇區(qū)中寫入的數(shù)據(jù)執(zhí)行異或運(yùn)算 獲得。
優(yōu)選地,所述第二預(yù)定操作為將需要存儲(chǔ)的數(shù)據(jù)寫入每個(gè)正常頁(yè)的四 個(gè)扇區(qū)。
優(yōu)選地,所述預(yù)設(shè)值根據(jù)所存儲(chǔ)數(shù)據(jù)的重要性進(jìn)行設(shè)定。 本發(fā)明還提供了一種閃存數(shù)據(jù)存儲(chǔ)裝置,包括 掃描單元,用于掃描閃存;
設(shè)置單元,用于根據(jù)掃描結(jié)果,設(shè)置壞扇區(qū)所在頁(yè)為禁止寫入頁(yè),沒(méi)有 壞扇區(qū)的頁(yè)為正常頁(yè);
第一執(zhí)行單元,用于當(dāng)掃描出的壞扇區(qū)數(shù)小于或等于預(yù)設(shè)值時(shí),對(duì)正常 頁(yè)執(zhí)行第一預(yù)定操作;
第二執(zhí)行單元,用于當(dāng)掃描出的扇區(qū)數(shù)大于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第 二預(yù)定操作。
優(yōu)選地,所述第一預(yù)定操作為在每個(gè)正常頁(yè)中的三個(gè)扇區(qū)寫入需要存儲(chǔ)的數(shù)據(jù),在余下的一個(gè)扇區(qū)寫入特定數(shù)據(jù)。
優(yōu)選地,所述第一執(zhí)行單元包括運(yùn)算單元,所述運(yùn)算單元通過(guò)對(duì)其他三 個(gè)扇區(qū)中寫入的數(shù)據(jù)執(zhí)行異或運(yùn)算,獲得所述特定數(shù)據(jù)。
優(yōu)選地,所述特定數(shù)據(jù)通過(guò)對(duì)其他三個(gè)扇區(qū)中寫入的數(shù)據(jù)執(zhí)行異或運(yùn)算 獲得。
優(yōu)選地,所述第二預(yù)定操作為將需要存儲(chǔ)的數(shù)據(jù)寫入每個(gè)正常頁(yè)的四 個(gè)扇區(qū)。
優(yōu)選地,所述預(yù)設(shè)值才艮據(jù)所存儲(chǔ)數(shù)據(jù)的重要性進(jìn)行設(shè)定。 與現(xiàn)有技術(shù)相比,本發(fā)明提供的閃存數(shù)據(jù)存儲(chǔ)方法,通過(guò)在存儲(chǔ)數(shù)據(jù)前 掃描閃存,然后才艮據(jù)掃描結(jié)果,i殳置壞扇區(qū)所在頁(yè)為禁止寫入頁(yè),沒(méi)有壞扇 區(qū)的頁(yè)為正常頁(yè);當(dāng)掃描出的壞扇區(qū)數(shù)小于或等于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行 第一預(yù)定操作;當(dāng)掃描出的壞扇區(qū)數(shù)大于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第二預(yù)定 操作,從而對(duì)在閃存中所要存儲(chǔ)的數(shù)據(jù)進(jìn)行了^f分,進(jìn)而使用戶安全讀取到 在閃存中存儲(chǔ)的數(shù)據(jù),避免所存儲(chǔ)數(shù)據(jù)丟失,實(shí)現(xiàn)數(shù)據(jù)在閃存內(nèi)的安全存儲(chǔ)。


圖1是本發(fā)明提供的閃存數(shù)據(jù)存儲(chǔ)方法的實(shí)施例的流程圖; 圖2為一個(gè)正常頁(yè)中存儲(chǔ)數(shù)據(jù)A、 B、 C、 D的示意圖; 圖3為一個(gè)正常頁(yè)的扇區(qū)中存儲(chǔ)數(shù)據(jù)E的示意圖; 圖4為本發(fā)明提供的閃存數(shù)據(jù)存儲(chǔ)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,下面結(jié)合具體實(shí)施例對(duì)本發(fā)明 提供的數(shù)據(jù)存儲(chǔ)方法作具體說(shuō)明。
信息是通過(guò)語(yǔ)言、文字、聲音、圖形、圖像等信號(hào)表示,信息不能獨(dú)立 存在,它需要轉(zhuǎn)化為某種物理形式存在,即我們通常所說(shuō)的數(shù)據(jù)。數(shù)據(jù)是各 種各樣的物理符號(hào)及其組合,它反映了信息的內(nèi)容。數(shù)據(jù)的形式會(huì)隨著物理媒介的改變而發(fā)生變化。比如, 一首歌,用磁帶錄制下來(lái),用CD刻錄出來(lái), 他們都可以傳遞歌曲。在磁帶上,數(shù)據(jù)是磁性強(qiáng)度不同的磁信號(hào),在光盤上, 他們是深淺不同的凹坑。但是他們記錄的信息是相同的。
在計(jì)算機(jī)領(lǐng)域,計(jì)算機(jī)的基本功能是對(duì)數(shù)據(jù)進(jìn)行運(yùn)算和加工處理,數(shù)據(jù)
的類型有兩種 一種是數(shù)值數(shù)據(jù),如3.1416、 -2.71828......,另一種是非數(shù)
值數(shù)據(jù)(信息),如A、 b、 +、=......。無(wú)論哪一種數(shù)據(jù)在計(jì)算機(jī)中都是用
二進(jìn)制數(shù)碼表示的。計(jì)算機(jī)中只有二進(jìn)制數(shù)值,所有的符號(hào)都是用二進(jìn)制數(shù) 值代碼表示的,數(shù)的正、負(fù)號(hào)也是用二進(jìn)制代碼表示。數(shù)值的最高位用"0"、 'T,分別表示數(shù)的正、負(fù)號(hào)。 一個(gè)數(shù)(連同符號(hào))在計(jì)算機(jī)中的表示形式稱為 機(jī)器數(shù),數(shù)值處理采用二進(jìn)制運(yùn)算,非數(shù)值處理采用二進(jìn)制編碼,它們具有 運(yùn)算簡(jiǎn)單、電路實(shí)現(xiàn)方便、成本低廉等優(yōu)點(diǎn)。
基于計(jì)算機(jī)領(lǐng)域中的數(shù)據(jù)是用二進(jìn)制數(shù)碼來(lái)表示,本發(fā)明提供了一種閃
存數(shù)據(jù)存儲(chǔ)方法,首先可以對(duì)數(shù)據(jù)進(jìn)行安全有效的存儲(chǔ),參見(jiàn)圖1,具體步 驟如下
步驟S101:掃描閃存。
步驟S102:根據(jù)掃描結(jié)果,i殳置壞扇區(qū)所在頁(yè)為禁止寫入頁(yè),沒(méi)有壞扇 區(qū)的頁(yè)為正常頁(yè)。
步驟S103:當(dāng)掃描出的壞扇區(qū)數(shù)小于或等于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第 一預(yù)定操作;當(dāng)掃描出的壞扇區(qū)數(shù)大于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第二預(yù)定操 作。
在數(shù)據(jù)存儲(chǔ)前,需要對(duì)閃存進(jìn)行初始化掃描。
需要說(shuō)明的是,運(yùn)用本發(fā)明提供的方法,在本次(即當(dāng)前)需要對(duì)閃存 進(jìn)行凄t據(jù)存儲(chǔ)時(shí),在初始化掃描中如果發(fā)現(xiàn)一個(gè)塊的某個(gè)頁(yè)中出現(xiàn)壞扇區(qū), 則將該頁(yè)標(biāo)記為禁止寫入頁(yè),禁止對(duì)出現(xiàn)問(wèn)題的壞扇區(qū)所在頁(yè)進(jìn)行寫入操作, 當(dāng)然,該禁止寫入頁(yè)依然可以進(jìn)行讀取操作。
在這里,禁止寫入頁(yè)之外的其他頁(yè)為正常頁(yè),由于不存在壞扇區(qū),本發(fā) 明對(duì)其進(jìn)行數(shù)據(jù)寫入、讀取操作。需要說(shuō)明的是,掃描出的壞塊數(shù)體現(xiàn)了該閃存的穩(wěn)定性,壞塊數(shù)越多, 則該閃存越不穩(wěn)定。
所述的預(yù)設(shè)值可以根據(jù)所存儲(chǔ)數(shù)據(jù)的重要性進(jìn)行調(diào)整設(shè)定,可以為閃存 總塊數(shù)的一半、三分之一或其他預(yù)設(shè)定的值。
基于閃存的每個(gè)頁(yè)中包括有4個(gè)扇區(qū),所述第一預(yù)定操作為在每個(gè)正 常頁(yè)中的三個(gè)扇區(qū)寫入需要存儲(chǔ)的數(shù)據(jù),在余下的一個(gè)扇區(qū)寫入特定數(shù)據(jù), 該特定數(shù)據(jù)通過(guò)對(duì)其他三個(gè)扇區(qū)中寫入的數(shù)據(jù)執(zhí)行異或運(yùn)算后得到。
這里,異或是用于邏輯運(yùn)算的數(shù)學(xué)運(yùn)算符。
例如,本次需要存儲(chǔ)時(shí),在一個(gè)正常頁(yè)中的三個(gè)扇區(qū)分別寫入要存儲(chǔ)的 數(shù)據(jù)A、 B、 C,在余下的扇區(qū)存儲(chǔ)特定數(shù)據(jù)D,那么使所述特定數(shù)據(jù)D= A B C。圖2為在一個(gè)正常頁(yè)中存儲(chǔ)數(shù)據(jù)A、 B、 C、 D的示意圖。由于特 定數(shù)據(jù)D二A6B田C,那么根據(jù)異或運(yùn)算法則,B=A D C, C = A D B, A=B@C D;所以下次對(duì)閃存進(jìn)行讀取數(shù)據(jù)B時(shí),如果B數(shù)據(jù)所在的扇區(qū) 損壞時(shí),可以運(yùn)算得到B; C數(shù)據(jù)所在的扇區(qū)損壞時(shí),可以運(yùn)算得到C; A 數(shù)據(jù)所在的扇區(qū)損壞時(shí),可以運(yùn)算得到A。
計(jì)算機(jī)中數(shù)據(jù)的存儲(chǔ)是一字節(jié)(8BIT)來(lái)存儲(chǔ)的,假設(shè)A為十進(jìn)制數(shù)1, 存儲(chǔ)時(shí)轉(zhuǎn)化成二進(jìn)制為00000001; B為十進(jìn)制數(shù)2,存儲(chǔ)時(shí)轉(zhuǎn)化成二進(jìn)制為 00000010; C為十進(jìn)制數(shù)4,存儲(chǔ)時(shí)轉(zhuǎn)化成二進(jìn)制為00000100,那么對(duì)A、 B、 C執(zhí)行異或運(yùn)算,D=A B C, D會(huì)被存儲(chǔ)為二進(jìn)制00000111,十進(jìn)制 值為7。
由于閃存的每個(gè)頁(yè)中包括有4個(gè)扇區(qū),本次需要將數(shù)據(jù)寫入閃存時(shí),通 過(guò)在每個(gè)正常頁(yè)的三個(gè)扇區(qū)用來(lái)存儲(chǔ)需要寫入的數(shù)據(jù), 一個(gè)扇區(qū)用來(lái)存儲(chǔ)特 定數(shù)據(jù),從而即使在下次進(jìn)行閃存數(shù)據(jù)讀取時(shí),掃描出數(shù)據(jù)存儲(chǔ)頁(yè)中的某個(gè) 扇區(qū)出現(xiàn)損壞,仍然可以還原得到在該扇區(qū)所存儲(chǔ)的數(shù)據(jù),達(dá)到安全存儲(chǔ)數(shù) 據(jù)的目的。
目前在使用閃存前,對(duì)閃存先進(jìn)行初始化掃描,只要一個(gè)塊中出現(xiàn)一個(gè) 壞扇區(qū),即將整個(gè)塊標(biāo)記為壞塊,從而對(duì)該塊進(jìn)行屏蔽。本發(fā)明在本次存儲(chǔ)數(shù)據(jù)時(shí),通過(guò)執(zhí)行第一預(yù)定操作,使得不需由于閃存一個(gè)頁(yè)中有一個(gè)壞扇區(qū) 時(shí),而對(duì)該頁(yè)所在的整個(gè)閃存塊執(zhí)行屏蔽操作,本發(fā)明只是禁止對(duì)出現(xiàn)問(wèn)題 的頁(yè)進(jìn)行寫入操作,從而有效利用了一個(gè)塊中其他頁(yè)剩余的好扇區(qū),提高了 閃存的利用率。
所述第二預(yù)定4喿作為將需要存儲(chǔ)的數(shù)據(jù)寫入一個(gè)頁(yè)的四個(gè)扇區(qū)。在本 次需要對(duì)閃存存儲(chǔ)數(shù)據(jù)時(shí),通過(guò)這個(gè)才喿作,只要在一個(gè)頁(yè)的四個(gè)扇區(qū)中還存 在一個(gè)好的扇區(qū),那么就能保證下次使用閃存時(shí),能夠讀到所存儲(chǔ)的數(shù)據(jù),
使數(shù)據(jù)不會(huì)丟失。假定需要存儲(chǔ)的數(shù)據(jù)為E,圖3為在一個(gè)頁(yè)的扇區(qū)中存儲(chǔ) 數(shù)據(jù)E的示意圖。
需要說(shuō)明的是,目前的存儲(chǔ)方法為如果一個(gè)塊的一個(gè)扇區(qū)壞掉了,整 個(gè)壞都要屏蔽掉,這樣嚴(yán)重減少閃存能夠用來(lái)存儲(chǔ)數(shù)據(jù)的容量,浪費(fèi)閃存存 儲(chǔ)資源。而運(yùn)用本發(fā)明提供的方法,在本次需要存儲(chǔ)數(shù)據(jù)時(shí),在掃描中發(fā)現(xiàn) 有壞扇區(qū),僅禁止對(duì)壞扇區(qū)所在頁(yè)進(jìn)行寫入操作,仍然可以對(duì)所在頁(yè)的其他 好扇區(qū)進(jìn)行讀取操作,且通過(guò)執(zhí)行第二預(yù)定操作,只要下次使用閃存時(shí),閃 存塊中存儲(chǔ)數(shù)據(jù)的頁(yè)的四個(gè)扇區(qū)中還存在一個(gè)好的扇區(qū),就能保證用戶可以 讀取到所存儲(chǔ)的數(shù)據(jù),因此,本次存儲(chǔ)數(shù)據(jù)時(shí),通過(guò)執(zhí)行第二預(yù)定操作,使 得下次使用閃存時(shí),只有對(duì)數(shù)據(jù)存儲(chǔ)頁(yè)的扇區(qū)的掃描結(jié)果全是壞扇區(qū)時(shí),才 無(wú)法讀取到該頁(yè)所存儲(chǔ)的數(shù)據(jù),從而有效提高了所存儲(chǔ)數(shù)據(jù)的安全性。
本發(fā)明還提供了一種閃存數(shù)據(jù)存儲(chǔ)裝置,如圖4所示,該存儲(chǔ)裝置包括:
掃描單元401,掃描閃存;
設(shè)置單元402,用于4艮據(jù)掃描結(jié)果,設(shè)置壞扇區(qū)所在頁(yè)為禁止寫入頁(yè), 沒(méi)有壞扇區(qū)的頁(yè)為正常頁(yè);
第一執(zhí)行單元403,用于當(dāng)掃描出的壞扇區(qū)數(shù)小于或等于預(yù)設(shè)值時(shí),對(duì) 正常頁(yè)執(zhí)行第一預(yù)定操作;
第二執(zhí)行單元404,用于當(dāng)掃描出的壞扇區(qū)數(shù)大于預(yù)設(shè)值時(shí),對(duì)正常頁(yè) 執(zhí)行第二預(yù)定操作。
在本發(fā)明中,所述預(yù)設(shè)值根據(jù)所存儲(chǔ)數(shù)據(jù)的重要性進(jìn)行調(diào)整設(shè)定,可以
9為閃存總塊數(shù)的一半、三分之一或其他預(yù)設(shè)定的值。
需要說(shuō)明的是,在所述第一執(zhí)行單元中包括有運(yùn)算單元,所述運(yùn)算單元 通過(guò)對(duì)其他三個(gè)扇區(qū)中寫入的數(shù)據(jù)執(zhí)行異或運(yùn)算,獲得所述特定數(shù)據(jù)。
在本發(fā)明中,基于閃存的每個(gè)頁(yè)中包括有4個(gè)扇區(qū),所述第一預(yù)定操作 為在每個(gè)正常頁(yè)中的三個(gè)扇區(qū)寫入需要存儲(chǔ)的數(shù)據(jù),在余下的一個(gè)扇區(qū)寫 入特定數(shù)據(jù)。該特定數(shù)據(jù)通過(guò)對(duì)其他三個(gè)扇區(qū)中寫入的數(shù)據(jù)執(zhí)行異或運(yùn)算后 得到。
例如,本次需要存儲(chǔ)時(shí),在一個(gè)正常頁(yè)中的三個(gè)扇區(qū)分別寫入要存儲(chǔ)的 數(shù)據(jù)A、 B、 C,在余下的扇區(qū)存儲(chǔ)特定數(shù)據(jù)D,那么使所述特定數(shù)據(jù)D= A@B C。圖2為在一個(gè)正常頁(yè)中存儲(chǔ)數(shù)據(jù)A、 B、 C、 D的示意圖。由于特 定數(shù)據(jù)D二A6B④C,那么根據(jù)異或運(yùn)算法則,B=A D@C, C = A D B, A=B@C D;所以下次對(duì)閃存進(jìn)行讀取數(shù)據(jù)B時(shí),如果B數(shù)據(jù)所在的扇區(qū) 損壞時(shí),可以運(yùn)算得到B; C數(shù)據(jù)所在的扇區(qū)損壞時(shí),可以運(yùn)算得到C; A 數(shù)據(jù)所在的扇區(qū)損壞時(shí),可以運(yùn)算得到A。
計(jì)算機(jī)中數(shù)據(jù)的存儲(chǔ)是一字節(jié)(8BIT)來(lái)存儲(chǔ)的,假設(shè)A為十進(jìn)制數(shù)1, 存儲(chǔ)時(shí)轉(zhuǎn)化成二進(jìn)制為00000001; B為十進(jìn)制數(shù)2,存儲(chǔ)時(shí)轉(zhuǎn)化成二進(jìn)制為 00000010; C為十進(jìn)制數(shù)4,存儲(chǔ)時(shí)轉(zhuǎn)化成二進(jìn)制為00000100,那么對(duì)A、 B、 C執(zhí)行異或運(yùn)算,D=A B C, D會(huì)被存儲(chǔ)為二進(jìn)制00000111,十進(jìn)制 值為7。
由于閃存的每個(gè)頁(yè)中包括有4個(gè)扇區(qū),本次需要將數(shù)據(jù)寫入閃存時(shí),通 過(guò)第一執(zhí)行單元403在每個(gè)正常頁(yè)的三個(gè)扇區(qū)用來(lái)存儲(chǔ)需要寫入的數(shù)據(jù),一 個(gè)扇區(qū)用來(lái)存儲(chǔ)特定數(shù)據(jù),從而即使在下次進(jìn)行閃存數(shù)據(jù)讀取時(shí),掃描單元 40掃描出數(shù)據(jù)存儲(chǔ)頁(yè)中的某個(gè)扇區(qū)出現(xiàn)損壞,仍然可以還原得到在該扇區(qū)所 存儲(chǔ)的數(shù)據(jù),達(dá)到安全存儲(chǔ)數(shù)據(jù)的目的。
目前在使用閃存前,對(duì)閃存先進(jìn)行初始化掃描,只要一個(gè)塊中出現(xiàn)一個(gè) 壞扇區(qū),即將整個(gè)塊標(biāo)記為壞塊,乂人而對(duì)該塊進(jìn)行屏蔽。本發(fā)明在本次存儲(chǔ) 數(shù)據(jù)時(shí),通過(guò)第一執(zhí)行單元403執(zhí)行第一預(yù)定操作,使得不需由于閃存一個(gè)頁(yè)中有一個(gè)壞扇區(qū)時(shí),而對(duì)該頁(yè)所在的整個(gè)閃存塊執(zhí)行屏蔽操作,本發(fā)明只 是禁止對(duì)出現(xiàn)問(wèn)題的頁(yè)進(jìn)行寫入操作,從而有效利用了一個(gè)塊中其他頁(yè)剩余 的好扇區(qū),4是高了閃存的利用率。
所述第二預(yù)定操作為將需要存儲(chǔ)的數(shù)據(jù)寫入一個(gè)頁(yè)的四個(gè)扇區(qū)。在本
次需要對(duì)閃存存儲(chǔ)數(shù)據(jù)時(shí),通過(guò)這個(gè)才乘作,只要在一個(gè)頁(yè)的四個(gè)扇區(qū)中還存 在一個(gè)好的扇區(qū),那么就能保證下次使用閃存時(shí),能夠讀到所存儲(chǔ)的數(shù)據(jù),
使數(shù)據(jù)不會(huì)丟失。假定需要存儲(chǔ)的數(shù)據(jù)為E,圖3為在一個(gè)頁(yè)的扇區(qū)中存儲(chǔ) 數(shù)據(jù)E的示意圖。
需要說(shuō)明的是,目前的存儲(chǔ)方法為如果一個(gè)塊的一個(gè)扇區(qū)壞掉了,整 個(gè)壞都要屏蔽掉,這樣嚴(yán)重減少閃存能夠用來(lái)存儲(chǔ)數(shù)據(jù)的容量,浪費(fèi)閃存存 儲(chǔ)資源。而運(yùn)用本發(fā)明提供的裝置,在本次需要存儲(chǔ)數(shù)據(jù)時(shí),掃描單元401 發(fā)現(xiàn)閃存中有壞扇區(qū),通過(guò)設(shè)置單元402僅禁止對(duì)壞扇區(qū)所在頁(yè)進(jìn)行寫入操 作,仍然可以對(duì)所在頁(yè)的其他好扇區(qū)進(jìn)行讀取操作,且通過(guò)第二執(zhí)行單元404 執(zhí)行第二預(yù)定操作,只要下次使用閃存時(shí),閃存塊中存儲(chǔ)數(shù)據(jù)的頁(yè)的四個(gè)扇 區(qū)中還存在一個(gè)好的扇區(qū),就能保證用戶可以讀取到所存儲(chǔ)的數(shù)據(jù),因此, 本次存儲(chǔ)數(shù)據(jù)時(shí),通過(guò)第二執(zhí)行單元404執(zhí)行第二預(yù)定操作,使得下次使用閃 存時(shí),只有對(duì)數(shù)據(jù)存儲(chǔ)頁(yè)的扇區(qū)的掃描結(jié)果全是壞扇區(qū)時(shí),才無(wú)法讀取到該 頁(yè)所存儲(chǔ)的數(shù)據(jù),從而有效提高了所存儲(chǔ)數(shù)據(jù)的安全性。
這里,異或是用于邏輯運(yùn)算的數(shù)學(xué)運(yùn)算符。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,并不用以限制本發(fā)明。應(yīng)當(dāng)指出, 對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可 以做出若干修改,所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明 的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種閃存數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括以下步驟掃描閃存;根據(jù)掃描結(jié)果,設(shè)置壞扇區(qū)所在頁(yè)為禁止寫入頁(yè),沒(méi)有壞扇區(qū)的頁(yè)為正常頁(yè);當(dāng)掃描出的壞扇區(qū)數(shù)小于或等于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第一預(yù)定操作;當(dāng)掃描出的壞扇區(qū)數(shù)大于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第二預(yù)定操作。
2、 如權(quán)利要求1所述的方法,其特征在于,所述第一預(yù)定操作為在 每個(gè)正常頁(yè)中的三個(gè)扇區(qū)寫入需要存儲(chǔ)的數(shù)據(jù),在余下的一個(gè)扇區(qū)寫入特定 數(shù)據(jù)。
3、 如權(quán)利要求2所述的方法,其特征在于,所述特定數(shù)據(jù)通過(guò)對(duì)其他 三個(gè)扇區(qū)中寫入的數(shù)據(jù)執(zhí)行異或運(yùn)算獲得。
4、 如權(quán)利要求1所述的方法,其特征在于,所述第二預(yù)定梯:作為將 需要存儲(chǔ)的數(shù)據(jù)寫入每個(gè)正常頁(yè)的四個(gè)扇區(qū)。
5、 如權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,所述預(yù)設(shè)值根 據(jù)所存儲(chǔ)數(shù)據(jù)的重要性進(jìn)行設(shè)定。
6、 一種閃存數(shù)據(jù)存儲(chǔ)裝置,其特征在于,包括 掃描單元,用于掃描閃存;設(shè)置單元,用于根據(jù)掃描結(jié)果,設(shè)置壞扇區(qū)所在頁(yè)為禁止寫入頁(yè),沒(méi)有 壞扇區(qū)的頁(yè)為正常頁(yè);第一執(zhí)行單元,用于當(dāng)掃描出的壞扇區(qū)數(shù)小于或等于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第一預(yù)定操作;第二執(zhí)行單元,用于當(dāng)掃描出的壞扇區(qū)數(shù)大于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第二預(yù)定操作。
7、 如權(quán)利要求6所述的裝置,其特征在于,所述第一預(yù)定操作為在 每個(gè)正常頁(yè)中的三個(gè)扇區(qū)寫入需要存儲(chǔ)的邀:據(jù),在余下的一個(gè)扇區(qū)寫入特定數(shù)據(jù)。
8、 如權(quán)利要求7所述的裝置,其特征在于,所述第一執(zhí)行單元包括運(yùn) 算單元,所述運(yùn)算單元通&于其他三個(gè)扇區(qū)中寫入的數(shù)據(jù)執(zhí)行異或運(yùn)算,獲 得所述特定數(shù)據(jù)。
9、 如權(quán)利要求7所述的裝置,其特征在于,所述特定數(shù)據(jù)通過(guò)對(duì)其他 三個(gè)扇區(qū)中寫入的數(shù)據(jù)執(zhí)行異或運(yùn)算獲得。
10、 如權(quán)利要求6所述的裝置,其特征在于,所述第二預(yù)定操作為將 需要存儲(chǔ)的數(shù)據(jù)寫入每個(gè)正常頁(yè)的四個(gè)扇區(qū)。
11、 如權(quán)利要求6至IO任一項(xiàng)所述的裝置,其特征在于,所述預(yù)設(shè)值根 據(jù)所存儲(chǔ)數(shù)據(jù)的重要性進(jìn)行設(shè)定。
全文摘要
本發(fā)明公開(kāi)了閃存數(shù)據(jù)存儲(chǔ)方法,包括步驟掃描閃存;根據(jù)掃描結(jié)果,設(shè)置壞扇區(qū)所在頁(yè)為禁止寫入頁(yè),沒(méi)有壞扇區(qū)的頁(yè)為正常頁(yè);當(dāng)掃描出的壞扇區(qū)數(shù)小于或等于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第一預(yù)定操作;當(dāng)掃描出的壞扇區(qū)數(shù)大于預(yù)設(shè)值時(shí),對(duì)正常頁(yè)執(zhí)行第二預(yù)定操作。通過(guò)本發(fā)明提供的存儲(chǔ)方法,可以對(duì)在閃存中所存儲(chǔ)的數(shù)據(jù)進(jìn)行備份,可以使用戶安全讀取到存儲(chǔ)在閃存中的數(shù)據(jù),避免所存儲(chǔ)數(shù)據(jù)丟失,實(shí)現(xiàn)數(shù)據(jù)件在閃存內(nèi)的安全存儲(chǔ)。此外,本發(fā)明還公開(kāi)了一種閃存數(shù)據(jù)存儲(chǔ)裝置。
文檔編號(hào)G11C16/06GK101425337SQ20071018159
公開(kāi)日2009年5月6日 申請(qǐng)日期2007年10月29日 優(yōu)先權(quán)日2007年10月29日
發(fā)明者勤 范 申請(qǐng)人:芯邦科技(深圳)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1