專利名稱:非易失性存儲(chǔ)器的控制方法
技術(shù)領(lǐng)域:
本發(fā)明,涉及非易失性存儲(chǔ)器及非易失性半導(dǎo)體存儲(chǔ)器的控制方法。
對(duì)于快速存儲(chǔ)器的構(gòu)造,以512M位NAND型快速存儲(chǔ)器情況為例進(jìn)行說(shuō)明。
圖2是512M位快速存儲(chǔ)器的物理塊的構(gòu)成例。1個(gè)快速存儲(chǔ)器由4096個(gè)數(shù)據(jù)塊構(gòu)成。該數(shù)據(jù)塊成為刪除的基本單位。1個(gè)數(shù)據(jù)塊還可分割為32頁(yè)面,1頁(yè)面是讀出、寫(xiě)入的基本單位。1頁(yè)的容量是528字節(jié),其中,512字節(jié)是數(shù)據(jù)區(qū)域,留下的16字節(jié)是冗余區(qū)域。數(shù)據(jù)區(qū)域是用戶使用的區(qū)域,冗余區(qū)域是非易失性存儲(chǔ)器記憶裝置的系統(tǒng)控制部使用的區(qū)域。
實(shí)施例的快速存儲(chǔ)器的各數(shù)據(jù),在刪除狀態(tài)(刪除完成,未記憶)是1。因此,在快速存儲(chǔ)器寫(xiě)入1也可等于什么也未寫(xiě)。
圖3,是已有的快速存儲(chǔ)器的物理塊內(nèi)部構(gòu)成圖。圖3,表示在1物理塊的冗余區(qū)域被書(shū)寫(xiě)的主要數(shù)據(jù)。在最初頁(yè)面的冗余區(qū)域,配置著寫(xiě)入完成標(biāo)志101、邏輯地址102、數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志的標(biāo)志1亦即103共3部分。這些數(shù)據(jù)在后面進(jìn)行說(shuō)明。
圖4是表示邏輯地址與物理地址的關(guān)系的圖。在用快速存儲(chǔ)器的非易失性存儲(chǔ)器記憶裝置中,由外部指定的邏輯地址、與配置在快速存儲(chǔ)器內(nèi)的物理地址一般并不一致。如一致,將會(huì)產(chǎn)生快速存儲(chǔ)器內(nèi)發(fā)生故障的數(shù)據(jù)塊的地址不能使用,應(yīng)用程序負(fù)擔(dān)加重,或在特定地址中寫(xiě)入的頻發(fā)的系統(tǒng)中,與該地址相關(guān)的數(shù)據(jù)塊在短時(shí)期內(nèi)超過(guò)保證改寫(xiě)次數(shù)從而成為短壽命之類的問(wèn)題。
因此,如圖3所示,物理塊自己被分配在哪個(gè)邏輯地址,是記憶在冗余區(qū)域中的。一般,非易失性存儲(chǔ)器記憶裝置的系統(tǒng)控制部,在電源投入時(shí),讀出書(shū)寫(xiě)在整個(gè)快速存儲(chǔ)器的冗余區(qū)域的邏輯地址信息,將圖5那樣的邏輯地址與物理地址進(jìn)行轉(zhuǎn)換的邏輯物理地址轉(zhuǎn)換表格制作在RAM上。系統(tǒng)控制部,在指令處理時(shí),對(duì)外部指定的邏輯地址,在這個(gè)邏輯物理地址轉(zhuǎn)換表格中,對(duì)物理地址進(jìn)行特定,對(duì)該物理地址進(jìn)行存取。
使用圖6~圖8,對(duì)已有的一般的寫(xiě)入順序進(jìn)行說(shuō)明。圖6是1數(shù)據(jù)塊寫(xiě)入處理的概要流程圖。圖7是圖6的步驟603中的新數(shù)據(jù)寫(xiě)入處理部的詳細(xì)流程圖。圖8是圖7的步驟706中冗余區(qū)域數(shù)據(jù)作成處理部的詳細(xì)流程圖。
在圖6,在步驟601,從登記表格檢索刪除完成數(shù)據(jù)塊。登記表格是刪除完成未寫(xiě)入的數(shù)據(jù)塊的一覽表。登記表格與邏輯物理地址轉(zhuǎn)換表格同樣,在電源投入時(shí),讀出書(shū)寫(xiě)在整個(gè)快速存儲(chǔ)器的冗余區(qū)域的寫(xiě)入完成標(biāo)志,制作在RAM上的表格。在步驟602,更新登記表格,確保刪除完成數(shù)據(jù)塊。在步驟603,在確保的數(shù)據(jù)塊寫(xiě)入數(shù)據(jù)(詳細(xì)見(jiàn)圖7,8)。在步驟604,通過(guò)邏輯物理地址轉(zhuǎn)換表格判斷舊數(shù)據(jù)塊存在否。存在時(shí),進(jìn)入步驟605。在步驟605,在舊數(shù)據(jù)塊的初始頁(yè)面的冗余區(qū)域的標(biāo)志1,改寫(xiě)0(無(wú)效),對(duì)舊數(shù)據(jù)塊進(jìn)行無(wú)效化。在舊數(shù)據(jù)塊不存在時(shí),跳過(guò)步驟605,進(jìn)入步驟606。在步驟606,將邏輯物理地址轉(zhuǎn)換表格的舊數(shù)據(jù)塊的物理地址改寫(xiě)為新數(shù)據(jù)塊的物理地址,該流程終了。
此外,在舊數(shù)據(jù)的刪除中,一種方法是物理刪除,另一種方法是在表示數(shù)據(jù)無(wú)效的標(biāo)志上做記號(hào)、表面刪除,然后在別的時(shí)間進(jìn)行物理刪除。后者是一般使用的方法,所述圖6的流程圖也用這種方式說(shuō)明。這是因?yàn)闃?biāo)志的改寫(xiě)要比快速存儲(chǔ)器物理刪除快。此外,在由多個(gè)快速存儲(chǔ)器芯片構(gòu)成的非易失性存儲(chǔ)器記憶裝置中,當(dāng)別的快速存儲(chǔ)器芯片進(jìn)行寫(xiě)入時(shí),如果同時(shí)將做無(wú)效記號(hào)的數(shù)據(jù)塊作物理刪除,與該寫(xiě)入同時(shí)刪除的時(shí)間段,作為整體寫(xiě)入的速度快。
在圖7,在步驟701,將RAM上設(shè)置的頁(yè)面計(jì)數(shù)器設(shè)定為初期值(1)。在步驟702,判斷是不是書(shū)寫(xiě)主機(jī)供給的數(shù)據(jù)的頁(yè)面,如果是書(shū)寫(xiě)主機(jī)供給的數(shù)據(jù)的頁(yè)面,進(jìn)入步驟703,從主機(jī)輸入1頁(yè)數(shù)據(jù)。如果不是書(shū)寫(xiě)主機(jī)供給的數(shù)據(jù)的頁(yè)面,進(jìn)入步驟704,從舊數(shù)據(jù)塊讀出1頁(yè)數(shù)據(jù)。在步驟705,在數(shù)據(jù)區(qū)域設(shè)置數(shù)據(jù),在步驟706,在冗余區(qū)域設(shè)置數(shù)據(jù)(詳細(xì)見(jiàn)圖8)。在步驟707,寫(xiě)入1頁(yè)。在步驟708,對(duì)頁(yè)面計(jì)數(shù)器加1。在步驟709,判斷頁(yè)面計(jì)數(shù)器是否大于33。如果頁(yè)面計(jì)數(shù)器不滿33,從步驟702~步驟709重復(fù)進(jìn)行。如頁(yè)面計(jì)數(shù)器是33,該流程終了。
在所述圖7的步驟702~步驟704,寫(xiě)入單位是頁(yè)面,刪除單位是數(shù)據(jù)塊,所以,在發(fā)生的處理中,被稱為卷入處理。亦即,從外部寫(xiě)入,數(shù)據(jù)以頁(yè)面單位傳遞時(shí),對(duì)于此外的頁(yè)面,因?yàn)橐3忠延械臄?shù)據(jù)不變,因此從變更的舊數(shù)據(jù)塊讀出,將該數(shù)據(jù)合成,進(jìn)行1數(shù)據(jù)塊的寫(xiě)入。按照寫(xiě)入的開(kāi)始頁(yè)面、終了頁(yè)面,分為前半卷入處理和后半卷入處理。
在圖8,在步驟801,判斷是不是初始頁(yè)面。如是初始頁(yè)面,進(jìn)入步驟802,在寫(xiě)入完成標(biāo)志101設(shè)置0(寫(xiě)入完成)。在步驟803,在邏輯地址102設(shè)置由來(lái)自主機(jī)指示的邏輯地址。在步驟804,在標(biāo)志1的數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志103設(shè)置1(不無(wú)效),該流程終了。在步驟801,當(dāng)不是初始頁(yè)面時(shí),該流程終了。
在這樣的系統(tǒng),在對(duì)數(shù)據(jù)塊書(shū)寫(xiě)的過(guò)程中,由于記憶裝置的電源隔斷及對(duì)記憶裝置發(fā)復(fù)位指令等發(fā)生強(qiáng)制中斷時(shí),在同一邏輯地址存在2個(gè)物理地址。這現(xiàn)象發(fā)生在所述順序中、新數(shù)據(jù)塊數(shù)據(jù)的寫(xiě)入(步驟603)途中,或發(fā)生于新數(shù)據(jù)塊數(shù)據(jù)的寫(xiě)入(步驟603)終了、舊數(shù)據(jù)塊數(shù)據(jù)的無(wú)效化(步驟604)進(jìn)行之前的中斷情況下。
通過(guò)作成該現(xiàn)象發(fā)生后的初期時(shí)的邏輯物理地址轉(zhuǎn)換表格,考慮將某一方的數(shù)據(jù)塊的物理地址登錄到邏輯物理地址轉(zhuǎn)換表格中、放置寫(xiě)入另一方的數(shù)據(jù)塊數(shù)據(jù)及邏輯地址的數(shù)據(jù)塊的方法。此時(shí),當(dāng)刪除所述狀態(tài)登錄的數(shù)據(jù)塊、重新投入電源時(shí),在新生成于RAM的邏輯物理地址轉(zhuǎn)換表格中,在應(yīng)刪除的邏輯地址登錄別的數(shù)據(jù)塊(放置的數(shù)據(jù)塊)的物理地址。結(jié)果,發(fā)生應(yīng)刪除的地址不能刪除的現(xiàn)象。
此外,在寫(xiě)入舊數(shù)據(jù)塊數(shù)據(jù)的數(shù)據(jù)塊與寫(xiě)入新數(shù)據(jù)塊數(shù)據(jù)的數(shù)據(jù)塊間,在寫(xiě)入同一邏輯地址的狀態(tài)下發(fā)生中斷、然后重新投入電源時(shí),寫(xiě)入舊數(shù)據(jù)塊數(shù)據(jù)的數(shù)據(jù)塊的物理地址可能被登陸到邏輯物理地址轉(zhuǎn)換表格。此時(shí),新的數(shù)據(jù)塊數(shù)據(jù)刪除。作為系統(tǒng),發(fā)生致命的現(xiàn)象。
因此,以往,在作成初期時(shí)的邏輯物理地址轉(zhuǎn)換表格時(shí),在同一邏輯地址重復(fù)出現(xiàn)物理地址的情況下,對(duì)一方的數(shù)據(jù)塊無(wú)效化、進(jìn)行解消重復(fù)的處理。兩數(shù)據(jù)塊的選擇方法,一是進(jìn)行兩數(shù)據(jù)塊的數(shù)據(jù)讀出、確認(rèn)設(shè)置于每頁(yè)面的錯(cuò)誤訂正符號(hào)、選擇無(wú)錯(cuò)誤的數(shù)據(jù)塊的方法,或是選擇寫(xiě)入于最終頁(yè)面前的數(shù)據(jù)塊的方法。
但是,隨著近年來(lái)快速存儲(chǔ)器及非易失性存儲(chǔ)器記憶裝置的大容量化,需要高速進(jìn)行邏輯物理地址轉(zhuǎn)換表格的作成處理,但所述地址重復(fù)解消處理卻成了高速化的大障礙。用硬件作成邏輯物理地址轉(zhuǎn)換表格是一般的,通過(guò)軟件對(duì)地址重復(fù)信息進(jìn)行處理的方法使邏輯物理地址轉(zhuǎn)換表格的作成速度大大減低。即使全部處理都由硬件解決,如在地址重復(fù)解消中進(jìn)行已有的復(fù)雜的判斷處理,伴隨這一處理將導(dǎo)致硬件面積的增大,價(jià)格的上升。
此外,重復(fù)的兩方的數(shù)據(jù)塊,在最終頁(yè)面前正確物理寫(xiě)入的狀態(tài),往往也必須由數(shù)據(jù)區(qū)域的內(nèi)容選擇更正確的數(shù)據(jù)塊。例如,在書(shū)寫(xiě)處理中,在進(jìn)行新數(shù)據(jù)的寫(xiě)入后,確認(rèn)含于該數(shù)據(jù)中的錯(cuò)誤訂正符號(hào),或者判斷該數(shù)據(jù)值是否是異常值,確認(rèn)正當(dāng)性,開(kāi)始對(duì)舊數(shù)據(jù)作無(wú)效化的處理,都是必要的數(shù)據(jù)處理。在這樣的情況下,單純采用選擇寫(xiě)入時(shí)期的新數(shù)據(jù)的方法是不能解決的。例如,有必要根據(jù)數(shù)據(jù)的各自情況對(duì)數(shù)據(jù)區(qū)域進(jìn)行掃描、判斷正確的數(shù)據(jù)塊、進(jìn)行選擇處理,但用硬件完成這全部的處理是困難的。
本發(fā)明的目的在于,針對(duì)以上問(wèn)題,提供以增加簡(jiǎn)單構(gòu)造、可確??煽啃?、能高速作成邏輯物理地址轉(zhuǎn)換表格的記憶裝置。
按照本發(fā)明一種觀點(diǎn)形成的非易失性存儲(chǔ)器的控制方法,存儲(chǔ)器具有多個(gè)數(shù)據(jù)塊,所述數(shù)據(jù)塊具有多個(gè)頁(yè)面,所述頁(yè)面,具有寫(xiě)入數(shù)據(jù)的數(shù)據(jù)區(qū)域及冗余區(qū)域,所述數(shù)據(jù)塊的最初的所述頁(yè)面的所述冗余區(qū)域,具有表示寫(xiě)入其數(shù)據(jù)塊的所述數(shù)據(jù)是否無(wú)效、且表示非易失性存儲(chǔ)器在被刪除狀態(tài)所述數(shù)據(jù)不無(wú)效的數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志,所述數(shù)據(jù)塊的最后的所述頁(yè)面的所述冗余區(qū)域,具有表示寫(xiě)入其數(shù)據(jù)塊的所述數(shù)據(jù)是否有效、且表示非易失性存儲(chǔ)器在被刪除狀態(tài)所述數(shù)據(jù)不有效的數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志;具備在所述數(shù)據(jù)區(qū)域?qū)懭霐?shù)據(jù)的數(shù)據(jù)寫(xiě)入步驟,以及能用具有寫(xiě)入所述數(shù)據(jù)的所述數(shù)據(jù)區(qū)域的所述數(shù)據(jù)塊的所述數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志表示所述數(shù)據(jù)有效的有效化步驟。
按照本發(fā)明另一種觀點(diǎn)形成的非易失性存儲(chǔ)器的控制方法,還具備利用硬件或軟件選擇與所述數(shù)據(jù)寫(xiě)入步驟同時(shí)或連續(xù)執(zhí)行所述有效化步驟的方法、及執(zhí)行所述數(shù)據(jù)寫(xiě)入步驟后進(jìn)行數(shù)據(jù)正當(dāng)檢驗(yàn)的所述有效化步驟的方法的選擇步驟。
按照本發(fā)明又一種觀點(diǎn)形成的非易失性存儲(chǔ)器的控制方法,可同時(shí)執(zhí)行對(duì)將原有數(shù)據(jù)更新為新的數(shù)據(jù)時(shí)寫(xiě)入所述新的數(shù)據(jù)的所述數(shù)據(jù)塊進(jìn)行的有效化步驟,以及能用寫(xiě)入所述原有數(shù)據(jù)的所述數(shù)據(jù)塊的所述數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志表示所述原有數(shù)據(jù)無(wú)效的無(wú)效化步驟。
按照本發(fā)明又一種觀點(diǎn)形成的非易失性存儲(chǔ)器的控制方法,所述冗余區(qū)域還具有邏輯地址、以及在所述數(shù)據(jù)塊寫(xiě)入的所述數(shù)據(jù)的履歷信息,還具備在存在具有同一所述邏輯地址的多個(gè)數(shù)據(jù)塊時(shí)、以所述履歷信息為基礎(chǔ)判斷哪個(gè)數(shù)據(jù)塊的數(shù)據(jù)現(xiàn)在有效的判斷步驟。
所謂“履歷信息”,是明確數(shù)據(jù)的新舊的信息。例如,計(jì)數(shù)器值及日期、時(shí)間。
按照本發(fā)明一種觀點(diǎn)形成的非易失性存儲(chǔ)器的控制方法,具有多個(gè)數(shù)據(jù)塊,所述數(shù)據(jù)塊具有多個(gè)頁(yè)面,所述頁(yè)面,具有寫(xiě)入數(shù)據(jù)的數(shù)據(jù)區(qū)域及冗余區(qū)域,所述數(shù)據(jù)塊的最初的所述頁(yè)面的所述冗余區(qū)域,具有表示寫(xiě)入其數(shù)據(jù)塊的所述數(shù)據(jù)是否無(wú)效、且表示非易失性存儲(chǔ)器在被刪除狀態(tài)所述數(shù)據(jù)不無(wú)效的數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志,所述數(shù)據(jù)塊的最后的所述頁(yè)面的所述冗余區(qū)域,具有表示寫(xiě)入其數(shù)據(jù)塊的所述數(shù)據(jù)是否有效、且表示非易失性存儲(chǔ)器在被刪除狀態(tài)所述數(shù)據(jù)不有效的數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志;至少1個(gè)所述數(shù)據(jù)塊的數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志,表示所述數(shù)據(jù)有效。
按照本發(fā)明一種觀點(diǎn)形成的非易失性存儲(chǔ)器的控制方法,所述冗余區(qū)域還具有邏輯地址、以及在所述數(shù)據(jù)塊寫(xiě)入的所述數(shù)據(jù)的履歷信息。
按照本發(fā)明,可使相對(duì)于書(shū)寫(xiě)過(guò)程中的中斷引起的同一邏輯地址的物理地址的重復(fù)的危險(xiǎn)性大大減輕,實(shí)現(xiàn)能確??煽啃?、能高速動(dòng)作的記憶裝置的控制。
發(fā)明的新的特征不外乎特別記載于附加的權(quán)利要求范圍,對(duì)于構(gòu)成及內(nèi)容兩方面,本發(fā)明連同別的目的及特征一起,結(jié)合附圖在下面作詳細(xì)說(shuō)明,以利于更好地理解和評(píng)估。
圖2是已有的快速存儲(chǔ)器物理塊的構(gòu)成圖例。
圖3是已有的快速存儲(chǔ)器物理塊內(nèi)的構(gòu)成圖例。
圖4是表示邏輯地址與物理地址的關(guān)系的圖。
圖5是邏輯物理地址轉(zhuǎn)換表格的示例。
圖6是1數(shù)據(jù)塊寫(xiě)入處理概略流程圖。
圖7是圖6中的新數(shù)據(jù)寫(xiě)入處理部的詳細(xì)流程圖。
圖8是已有的圖7中的冗余區(qū)域數(shù)據(jù)作成處理部的詳細(xì)流程圖。
圖9是本發(fā)明的實(shí)施例1的圖7中的冗余區(qū)域數(shù)據(jù)作成處理部的詳細(xì)流程圖。
圖10是本發(fā)明的實(shí)施例1的電源投入時(shí)的邏輯物理地址轉(zhuǎn)換表格作成處理概略流程圖。
圖11是本發(fā)明實(shí)施例2的1數(shù)據(jù)塊寫(xiě)入處理概略流程圖。
圖12是本發(fā)明的實(shí)施例2的圖7中的冗余區(qū)域數(shù)據(jù)作成處理部的詳細(xì)流程圖。
圖13是本發(fā)明實(shí)施例4的快速存儲(chǔ)器物理塊內(nèi)的構(gòu)成圖例。
附圖的一部分或全部,通過(guò)以圖示為目的的概要的展示進(jìn)行描述,請(qǐng)不要拘泥于對(duì)其中的要素的實(shí)際相對(duì)大小及位置的準(zhǔn)確性。
圖1是本發(fā)明實(shí)施例1的快速存儲(chǔ)器物理塊內(nèi)的構(gòu)成圖例。圖1展示出在1物理塊的冗余區(qū)域?qū)懭氲闹饕臄?shù)據(jù)。在最初的頁(yè)面的冗余區(qū)域,配置著寫(xiě)入完成標(biāo)志101、邏輯地址102、作為數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志的標(biāo)志1亦即103的3部分。在最后頁(yè)面的冗余區(qū)域,配置著作為數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志的標(biāo)志2亦即104。與以往例不同點(diǎn)在于追加了標(biāo)志2亦即104。
寫(xiě)入完成標(biāo)志101,表示在該數(shù)據(jù)塊已寫(xiě)入。寫(xiě)入完成標(biāo)志101為1的時(shí)候,表示其數(shù)據(jù)塊未寫(xiě)入,為0時(shí)表示其數(shù)據(jù)塊寫(xiě)入完成。在初始頁(yè)面寫(xiě)入時(shí),如在寫(xiě)入完成標(biāo)志101相應(yīng)寫(xiě)入固定值0,可寫(xiě)完該數(shù)據(jù)塊。如考慮到在1數(shù)據(jù)塊的寫(xiě)入中發(fā)生中斷,寫(xiě)入完成標(biāo)志101,進(jìn)行寫(xiě)入的最初頁(yè)面的內(nèi)容是必要條件。
邏輯地址102,表示其物理塊被現(xiàn)在分配的邏輯地址。它不一定配置在初始頁(yè)面上,如果邏輯地址102與所述寫(xiě)入完成標(biāo)志101兼用,則必須在初始頁(yè)面進(jìn)行配置。例如以16位表示邏輯地址時(shí),邏輯地址102的值為刪除狀態(tài)的0xffff時(shí)判斷為未寫(xiě)入,當(dāng)邏輯地址102的值不是0xffff時(shí)判斷為寫(xiě)入完成。如果規(guī)定實(shí)際的邏輯地址可以取這個(gè)數(shù)值以外的值,邏輯地址102可與寫(xiě)入完成標(biāo)志兼用。
標(biāo)志1亦即103是數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志。當(dāng)標(biāo)志1亦即103為1時(shí),表示其物理塊不是無(wú)效,當(dāng)寫(xiě)入0時(shí),表示其物理塊無(wú)效。在寫(xiě)入新數(shù)據(jù)時(shí)保持1不變,在其數(shù)據(jù)中書(shū)寫(xiě)發(fā)生時(shí)(寫(xiě)在其數(shù)據(jù)塊的數(shù)據(jù)是舊數(shù)據(jù)時(shí)),通過(guò)只改寫(xiě)該標(biāo)志使之為0后可進(jìn)行無(wú)效化。所謂快速存儲(chǔ)器的改寫(xiě),是指不刪除下進(jìn)行的照樣書(shū)寫(xiě)。
標(biāo)志2亦即104是數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志。當(dāng)標(biāo)志2亦即104為1時(shí),表示其物理塊不是有效,當(dāng)寫(xiě)入0時(shí),表示其物理塊有效。在最終頁(yè)面寫(xiě)入時(shí),如在標(biāo)志2亦即104相應(yīng)寫(xiě)入0,可對(duì)其數(shù)據(jù)塊有效化。如考慮到在1數(shù)據(jù)塊的寫(xiě)入中發(fā)生中斷,標(biāo)志2亦即104,進(jìn)行寫(xiě)入的最終頁(yè)面的內(nèi)容是必要條件。
如上所述,由于需要將寫(xiě)入完成標(biāo)志分配到初始頁(yè)面、將標(biāo)志2分配到最終頁(yè)面,因此,也可將邏輯地址、及標(biāo)志1分配到其中某一頁(yè)面上。亦即,對(duì)于初期的邏輯物理地址轉(zhuǎn)換表格的作成,由于掃描的頁(yè)面減少、讀出時(shí)間縮短,可以使表格作成的時(shí)間縮短。
使用圖6、7、9,對(duì)本發(fā)明的實(shí)施例1的存儲(chǔ)器系統(tǒng)的寫(xiě)入順序進(jìn)行說(shuō)明。圖6是本發(fā)明的實(shí)施例1的1數(shù)據(jù)塊寫(xiě)入處理概略流程圖。圖7是本發(fā)明的實(shí)施例1的圖6的步驟603中的新數(shù)據(jù)寫(xiě)入處理部的詳細(xì)流程圖。圖9是本發(fā)明的實(shí)施例1的圖7的步驟706中的冗余區(qū)域數(shù)據(jù)作成處理部的詳細(xì)流程圖。
在圖6,在步驟601,從登記表格檢索刪除完成數(shù)據(jù)塊。在步驟602,更新登記表格,確保刪除完成數(shù)據(jù)塊。在步驟603,在確保的數(shù)據(jù)塊寫(xiě)入數(shù)據(jù)(詳細(xì)見(jiàn)圖7,9)。在步驟604,通過(guò)邏輯物理地址轉(zhuǎn)換表格判斷舊數(shù)據(jù)塊存在否。存在時(shí),進(jìn)入步驟605。在步驟605,在舊數(shù)據(jù)塊的初始頁(yè)面的冗余區(qū)域的標(biāo)志1,改寫(xiě)0(無(wú)效),對(duì)舊數(shù)據(jù)塊進(jìn)行無(wú)效化。在舊數(shù)據(jù)塊不存在時(shí),跳過(guò)步驟605,進(jìn)入步驟606。在步驟606,將邏輯物理地址轉(zhuǎn)換表格的舊數(shù)據(jù)塊的物理地址改寫(xiě)為新數(shù)據(jù)塊的物理地址,該流程終了。此外,在舊數(shù)據(jù)的刪除中,一種方法是物理刪除,另一種方法是在表示數(shù)據(jù)無(wú)效的標(biāo)志上做記號(hào)、表面刪除,然后在別的時(shí)間進(jìn)行物理刪除。后者是一般使用的方法,圖6的流程圖也用這種方式說(shuō)明。這是因?yàn)闃?biāo)志的改寫(xiě)要比快速存儲(chǔ)器物理刪除快。此外,在由多個(gè)快速存儲(chǔ)器芯片構(gòu)成的非易失性存儲(chǔ)器記憶裝置中,當(dāng)別的快速存儲(chǔ)器芯片進(jìn)行寫(xiě)入時(shí),如果同時(shí)將做無(wú)效記號(hào)的數(shù)據(jù)塊作物理刪除,與該寫(xiě)入同時(shí)刪除的時(shí)間段,作為整體寫(xiě)入的速度快。
在圖7,在步驟701,將RAM上設(shè)置的頁(yè)面計(jì)數(shù)器設(shè)定為初期值(1)。在步驟702,判斷是不是書(shū)寫(xiě)主機(jī)供給的數(shù)據(jù)的頁(yè)面,如果是書(shū)寫(xiě)主機(jī)供給的數(shù)據(jù)的頁(yè)面,進(jìn)入步驟703,從主機(jī)輸入1頁(yè)數(shù)據(jù)。如果不是書(shū)寫(xiě)主機(jī)供給的數(shù)據(jù)的頁(yè)面,進(jìn)入步驟704,從舊數(shù)據(jù)塊讀出1頁(yè)數(shù)據(jù)。在步驟705,在數(shù)據(jù)區(qū)域設(shè)置數(shù)據(jù),在步驟706,在冗余區(qū)域設(shè)置數(shù)據(jù)(詳細(xì)見(jiàn)圖9)。在步驟707,寫(xiě)入1頁(yè)。在步驟708,對(duì)頁(yè)面計(jì)數(shù)器加1。在步驟709,判斷頁(yè)面計(jì)數(shù)器是否大于33。如果頁(yè)面計(jì)數(shù)器不滿33,從步驟702~步驟709重復(fù)進(jìn)行。如頁(yè)面計(jì)數(shù)器是33,該流程終了。
寫(xiě)入單位是頁(yè)面,刪除單位是數(shù)據(jù)塊,所以,在數(shù)據(jù)塊中不滿的數(shù)據(jù)寫(xiě)入中,發(fā)生被稱為卷入的處理。亦即,從外部寫(xiě)入,數(shù)據(jù)以頁(yè)面單位傳遞時(shí),對(duì)于此外的頁(yè)面,因?yàn)橐3忠延械臄?shù)據(jù)不變,因此從變更的舊數(shù)據(jù)塊讀出,將該數(shù)據(jù)合成,進(jìn)行1數(shù)據(jù)塊的寫(xiě)入。這就是步驟702~步驟704。按照寫(xiě)入的開(kāi)始頁(yè)面、終了頁(yè)面,分為前半卷入處理和后半卷入處理。
在圖9,在步驟901,判斷是不是初始頁(yè)面。如是初始頁(yè)面,進(jìn)入步驟902,在寫(xiě)入完成標(biāo)志101設(shè)置0(寫(xiě)入完成)。在步驟903,在邏輯地址102設(shè)置由來(lái)自主機(jī)指示的邏輯地址。在步驟904,在標(biāo)志1的數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志103設(shè)置1(不無(wú)效),該流程終了。在步驟901,當(dāng)不是初始頁(yè)面時(shí),進(jìn)入步驟905,判斷是不是最終頁(yè)面。如果是最終頁(yè)面,進(jìn)入步驟906,在標(biāo)志2亦即104設(shè)置0(有效),該流程終了。如果不是最終頁(yè)面,該流程終了。
此外,本說(shuō)明僅對(duì)所述標(biāo)志,邏輯地址數(shù)據(jù)進(jìn)行了說(shuō)明,但在實(shí)際的系統(tǒng)中,數(shù)據(jù)錯(cuò)誤訂正符號(hào)等,別的數(shù)據(jù)的寫(xiě)入一般也可進(jìn)行。因這些數(shù)據(jù)與本發(fā)明無(wú)關(guān)系,這里從略。
與以往例的圖6~圖8的區(qū)別,在于如圖9所示,追加在冗余區(qū)域的數(shù)據(jù)的作成中,在標(biāo)志2亦即104寫(xiě)入0(有效)。雖然數(shù)據(jù)作成時(shí)間存在一些差異,但對(duì)快速存儲(chǔ)器的物理的寫(xiě)入需要的時(shí)間是相同的。
下面,對(duì)使用標(biāo)志1、2的數(shù)據(jù)塊數(shù)據(jù)的判斷方法進(jìn)行說(shuō)明。以往只是標(biāo)志1,但通過(guò)標(biāo)志1、2的組合,可進(jìn)行如下的判斷。
在該數(shù)據(jù)塊寫(xiě)入完成時(shí),首先,僅當(dāng)標(biāo)志1=1(不無(wú)效)且標(biāo)志2=0(有效)時(shí)判斷為有效數(shù)據(jù)塊。
當(dāng)標(biāo)志1=1(不無(wú)效)且標(biāo)志2=1(不有效)的情況,在寫(xiě)入途中發(fā)生中斷,被看成最終頁(yè)面前不能寫(xiě)入的無(wú)效數(shù)據(jù)塊。此時(shí),按照所述的次序,由于是在舊數(shù)據(jù)塊的無(wú)效化之前,所以在電源再投入時(shí)選擇舊數(shù)據(jù)塊、新數(shù)據(jù)寫(xiě)入本身并不存在。
當(dāng)標(biāo)志1=0(無(wú)效)且標(biāo)志2=0(有效)的情況,表示書(shū)寫(xiě)是無(wú)效化的數(shù)據(jù)塊。
當(dāng)標(biāo)志1=0(無(wú)效)且標(biāo)志2=1(不有效)的情況,被看成是非正常次序、無(wú)效的數(shù)據(jù)塊。
如上所述,即使發(fā)生寫(xiě)入時(shí)的中斷,通過(guò)2個(gè)標(biāo)志可判斷數(shù)據(jù)塊數(shù)據(jù)的有效、無(wú)效。
利用圖10,對(duì)本發(fā)明的實(shí)施例1的電源投入時(shí)的表格作成次序進(jìn)行說(shuō)明。圖10是邏輯物理地址轉(zhuǎn)換表格作成處理概略流程圖。
在圖10,首先一開(kāi)始,將表格作成用的表格區(qū)域進(jìn)行初始化,在步驟1001,將邏輯物理地址轉(zhuǎn)換表格初始化。在邏輯物理地址轉(zhuǎn)換表格上,將所有物理塊設(shè)定為未分配狀態(tài)。在步驟1002,登記表格被初始化。在登記表格上,將所有物理塊設(shè)定為刪除完成狀態(tài)。在步驟1003,將無(wú)效表格初始化。在無(wú)效表格上,將所有物理塊設(shè)定為無(wú)效。無(wú)效表格,被寫(xiě)入的數(shù)據(jù)無(wú)效、是設(shè)置于表示未刪除的數(shù)據(jù)塊的RAM上的表格。
在步驟1004,將RAM上設(shè)置的數(shù)據(jù)塊計(jì)數(shù)器初始化(數(shù)據(jù)塊計(jì)數(shù)器=0)。在步驟1005,判斷是否寫(xiě)入完成標(biāo)志101=1(未寫(xiě)入)。如寫(xiě)入完成標(biāo)志101=1(未寫(xiě)入),將登記表格的相關(guān)位完全刪除。在本流程中,由于一開(kāi)始對(duì)登記表格進(jìn)行初始化(完全刪除),所以,該處理不需要。進(jìn)入步驟1010,使無(wú)效表格的相關(guān)位有效。該數(shù)據(jù)塊的處理終了,進(jìn)入步驟1011。在步驟1005的判斷中,將寫(xiě)入完成標(biāo)志在邏輯地址數(shù)據(jù)中兼用時(shí)也一樣。此外,在未寫(xiě)入時(shí)也不必要讀出最終頁(yè)面。
在步驟1005,寫(xiě)入完成標(biāo)志1=0(寫(xiě)入完成)時(shí),進(jìn)入步驟1006,使登記表格的相關(guān)位成為使用結(jié)束。
在步驟1007,判斷是否標(biāo)志1=1(不無(wú)效)。當(dāng)標(biāo)志1=0(無(wú)效),該數(shù)據(jù)塊的處理終了,進(jìn)入步驟1011。當(dāng)標(biāo)志1=1(不無(wú)效),進(jìn)入步驟1008,判斷是否標(biāo)志2=0(有效)。當(dāng)標(biāo)志2=1(不有效),該數(shù)據(jù)塊的處理終了,進(jìn)入步驟1011。當(dāng)標(biāo)志2=0(有效),該數(shù)據(jù)塊被看成有效,進(jìn)入步驟1009,在邏輯物理地址轉(zhuǎn)換表格上登錄。在步驟1010,使無(wú)效表格的相關(guān)位有效。在步驟1011,對(duì)數(shù)據(jù)塊計(jì)數(shù)器加1。在步驟1012,判斷是否為最終數(shù)據(jù)塊。如果不是最終數(shù)據(jù)塊,返回步驟1005,進(jìn)行下一個(gè)數(shù)據(jù)塊的處理。如果是最終數(shù)據(jù)塊,該流程終了。
這樣,圖10的處理,是按照物理地址依次在最終數(shù)據(jù)塊前讀出初始頁(yè)面及最終頁(yè)面的冗余區(qū)域,并作成邏輯物理地址轉(zhuǎn)換表格、登記表格及無(wú)效表格的處理;步驟1008的判斷只是追加在以往處理上的構(gòu)造。
此外,在實(shí)際的控制中,如本流程所示,在一般的系統(tǒng)中,準(zhǔn)備有預(yù)先記憶著寫(xiě)入結(jié)束時(shí)無(wú)效的數(shù)據(jù)塊的表格(無(wú)效表格)。這應(yīng)稱為應(yīng)刪除表格的圖表,所以,在書(shū)寫(xiě)時(shí)不進(jìn)行物理刪除,在用所述標(biāo)志1做無(wú)效化記號(hào)的系統(tǒng)中,利用別的數(shù)據(jù)塊的寫(xiě)入處理的時(shí)間并列進(jìn)行無(wú)效化數(shù)據(jù)塊的刪除處理是必要的。此時(shí),可在檢索應(yīng)刪除數(shù)據(jù)塊的情況下使用。因此,不僅初期時(shí)、在書(shū)寫(xiě)時(shí)也可與舊數(shù)據(jù)塊的無(wú)效化一致,對(duì)該表格上的數(shù)據(jù)也更新。
如上所述,由于在已有的寫(xiě)入順序、在邏輯物理地址轉(zhuǎn)換表格作成順序中不進(jìn)行大的變更、追加,使書(shū)寫(xiě)途中的中斷引起的對(duì)同一邏輯地址的物理地址的重復(fù)的危險(xiǎn)性可大大減低。
實(shí)施例2使用圖7、11、12,對(duì)本發(fā)明的實(shí)施例2的存儲(chǔ)器系統(tǒng)的寫(xiě)入順序進(jìn)行說(shuō)明。圖11是本發(fā)明實(shí)施例2的1數(shù)據(jù)塊寫(xiě)入處理概略流程圖。與實(shí)施例1(圖6)的不同點(diǎn),在于追加數(shù)據(jù)種類的判斷(從步驟1103到步驟1105)與新數(shù)據(jù)塊的有效化(從步驟1107到步驟1110)。圖12是本發(fā)明的實(shí)施例2的圖7中的步驟706中的冗余區(qū)域數(shù)據(jù)作成處理部的詳細(xì)流程圖。與實(shí)施例1(圖9)的不同點(diǎn)在于通過(guò)有效確認(rèn)標(biāo)志設(shè)定標(biāo)志2(從步驟1206到步驟1207)。
在圖11,在步驟1101,通過(guò)登記表格檢索刪除結(jié)束數(shù)據(jù)塊。在步驟1102,更新登記表格,確保刪除結(jié)束數(shù)據(jù)塊。在步驟1103,判斷數(shù)據(jù)種類在進(jìn)行寫(xiě)入后是否需要正當(dāng)性確認(rèn)。必要時(shí),進(jìn)入步驟1104,將設(shè)置于RAM上的有效確認(rèn)標(biāo)志設(shè)定為1。不要時(shí),進(jìn)入步驟1105,將有效確認(rèn)標(biāo)志設(shè)定為0。有效確認(rèn)標(biāo)志,是程序執(zhí)行后臨時(shí)設(shè)定的標(biāo)志,該標(biāo)志不用在快速存儲(chǔ)器上寫(xiě)入。在步驟1106,在確保的數(shù)據(jù)塊上寫(xiě)入數(shù)據(jù)(詳細(xì)見(jiàn)圖7,12)。在步驟1107,判斷有效確認(rèn)標(biāo)志是否為1(必要)。有效確認(rèn)標(biāo)志=1(必要)時(shí),進(jìn)入步驟1108,對(duì)從主機(jī)接收的數(shù)據(jù)進(jìn)行正當(dāng)性檢查。例如,檢查數(shù)據(jù)訂正符號(hào)是否是應(yīng)取得的值。在步驟1109,根據(jù)該數(shù)據(jù)的正當(dāng)性檢查進(jìn)行分支。當(dāng)數(shù)據(jù)有效時(shí),進(jìn)入步驟1110,在新數(shù)據(jù)塊的最終頁(yè)面的標(biāo)志2上改寫(xiě)0(有效),對(duì)新數(shù)據(jù)塊進(jìn)行有效化。在步驟1107,有效確認(rèn)標(biāo)志=0(不要)時(shí),在步驟1106,在數(shù)據(jù)寫(xiě)入時(shí)對(duì)新數(shù)據(jù)塊進(jìn)行有效化(參照后述的圖12的說(shuō)明),進(jìn)入步驟1111。步驟1111~步驟1113,與圖6的步驟604~步驟606相同,所以,說(shuō)明從略。在步驟1109,當(dāng)數(shù)據(jù)不有效時(shí),該流程終了。
在步驟1106(圖11),進(jìn)行如圖7所示的處理。在圖7,由于與實(shí)施例1相同,說(shuō)明從略。
在實(shí)施例2的步驟706(圖7),進(jìn)行如圖12所示的處理。在圖12,步驟1201~步驟1205,與實(shí)施例1(圖9)的步驟901~步驟905相同,所以,說(shuō)明從略。在步驟1205,在最終頁(yè)面的情況下,進(jìn)入步驟1206,判斷有效確認(rèn)標(biāo)志是否為1(必要)。有效確認(rèn)標(biāo)志=1(必要)時(shí),進(jìn)入步驟1207,對(duì)標(biāo)志2設(shè)置1(不有效),該流程終了。有效確認(rèn)標(biāo)志=0(不要)時(shí),進(jìn)入步驟1208,對(duì)標(biāo)志2設(shè)置0(有效),該流程終了。
實(shí)施例2,與實(shí)施例1比較,發(fā)生數(shù)據(jù)的判斷處理、確認(rèn)處理、僅寫(xiě)入標(biāo)志2的改寫(xiě)部分的處理。這樣,實(shí)施例2,從寫(xiě)入處理整體看,速度減低。速度是否優(yōu)先、可靠性是否優(yōu)先、這要根據(jù)數(shù)據(jù)的種類進(jìn)行選擇。
如上所述,在判斷正當(dāng)性后需要進(jìn)行有效化的數(shù)據(jù),也可應(yīng)用實(shí)施例1的方法用簡(jiǎn)單操作與之對(duì)應(yīng)。
在本發(fā)明的實(shí)施例2,在圖11的步驟1110,進(jìn)行新數(shù)據(jù)的有效化,在步驟1112,進(jìn)行舊數(shù)據(jù)的無(wú)效化。此時(shí),嚴(yán)格地說(shuō),兩數(shù)據(jù)塊有效的時(shí)間只在瞬間存在。一旦執(zhí)行步驟1110結(jié)束,在執(zhí)行步驟1112的前夕寫(xiě)入中斷時(shí),新舊數(shù)據(jù)塊都有效,因此,提出了有關(guān)新舊數(shù)據(jù)塊同時(shí)寫(xiě)入的系統(tǒng)的控制方法的提案。
亦即,往往非易失性存儲(chǔ)器記憶裝置是由多個(gè)快速存儲(chǔ)器芯片構(gòu)成,但在同一邏輯地址的書(shū)寫(xiě)中,設(shè)置選擇新數(shù)據(jù)塊與舊數(shù)據(jù)塊不同的芯片的規(guī)則,在新數(shù)據(jù)塊的有效化同時(shí),實(shí)施舊數(shù)據(jù)塊的無(wú)效化。以多個(gè)快速存儲(chǔ)器芯片構(gòu)成、同時(shí)進(jìn)一步對(duì)多個(gè)快速存儲(chǔ)器芯片進(jìn)行處理作為前提,隨著近年的高速、大容量處理,并列處理是一般構(gòu)造。
通過(guò)這樣的處理,能使同一邏輯地址上新舊數(shù)據(jù)塊分配的危險(xiǎn)性進(jìn)一步減低。
用圖13對(duì)本發(fā)明的實(shí)施例4的記憶裝置進(jìn)行說(shuō)明。
圖13是本發(fā)明實(shí)施例4的快速存儲(chǔ)器物理塊內(nèi)的構(gòu)成圖例。表示1物理塊的冗余區(qū)域中書(shū)寫(xiě)的主要數(shù)據(jù)。在初始頁(yè)面的冗余區(qū)域,配置著寫(xiě)入完成標(biāo)志101、邏輯地址102、數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志的標(biāo)志1亦即103共3部分。在最終頁(yè)面的冗余區(qū)域,配置著數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志的標(biāo)志2亦即104、新舊判斷用的計(jì)數(shù)器105。與以往例的圖3的區(qū)別在于,標(biāo)志2亦即104、及計(jì)數(shù)器105是追加的部分。本說(shuō)明作為8位計(jì)數(shù)器作說(shuō)明。
首先,在寫(xiě)入新數(shù)據(jù)塊時(shí),從舊數(shù)據(jù)塊的冗余區(qū)域讀出計(jì)數(shù)值。此外,在寫(xiě)入到新數(shù)據(jù)時(shí),寫(xiě)入在該計(jì)數(shù)值中加1的值。例如,舊數(shù)據(jù)塊的計(jì)數(shù)值為4時(shí),新數(shù)據(jù)塊計(jì)數(shù)值為5。因此,重復(fù)的新舊數(shù)據(jù)塊,兩方的標(biāo)志101、103、104都有效且數(shù)據(jù)的正當(dāng)性可確認(rèn),則通過(guò)該計(jì)數(shù)值分清新舊,可作為根據(jù)數(shù)據(jù)用途選擇哪一個(gè)數(shù)據(jù)塊的判斷材料。一般,如果新的數(shù)據(jù)能夠?qū)懭虢Y(jié)束,判斷在刪除舊數(shù)據(jù)前夕中斷寫(xiě)入,選擇新的數(shù)據(jù)。
此外,當(dāng)然要進(jìn)行計(jì)數(shù)器溢出時(shí)的應(yīng)對(duì)處理。按照前例,計(jì)數(shù)值大的數(shù)據(jù)塊為有效,但當(dāng)計(jì)數(shù)值為0xff及0x00時(shí),選擇0x00的數(shù)據(jù)塊。
此外,該計(jì)數(shù)值的說(shuō)明時(shí),新數(shù)據(jù)塊的計(jì)數(shù)值可寫(xiě)入加1的值,但作為一例進(jìn)行減1也行。此外,也可用寫(xiě)入日期時(shí)間以取代計(jì)數(shù)值,只要能分清新舊,那一種的數(shù)據(jù)分配都可用。
如上說(shuō)明所述,按照實(shí)施例1~3的發(fā)明,可使分配在同一邏輯地址的物理塊重復(fù)的危險(xiǎn)性大幅減低,即使重復(fù)也能夠通過(guò)實(shí)施例4的保護(hù)處理應(yīng)對(duì)。初期的表格作成處理用硬件實(shí)現(xiàn),在檢測(cè)地址重復(fù)時(shí)用軟件處理。按這樣的分工,可構(gòu)成能確??煽啃郧腋咚賱?dòng)作、可行的系統(tǒng)。
此外,本發(fā)明不限于所述實(shí)施例。只要不超越發(fā)明的宗旨范圍,容許進(jìn)行變更。
在所述實(shí)施例,在1位中,用1或0表示標(biāo)志,極性可根據(jù)快速存儲(chǔ)器的刪除電平變更,也可采用多個(gè)位、多元決定處理判斷的裝置。
此外,以數(shù)據(jù)的寫(xiě)入單位作為數(shù)據(jù)塊進(jìn)行說(shuō)明,可采用將多個(gè)數(shù)據(jù)塊作為1寫(xiě)入單位處理。此外,以每1頁(yè)面進(jìn)行寫(xiě)入快速存儲(chǔ)器為例說(shuō)明,利用快速存儲(chǔ)器可同時(shí)寫(xiě)入多個(gè)頁(yè)面,可對(duì)多個(gè)快速存儲(chǔ)器芯片同時(shí)寫(xiě)入,所以,在這種多頁(yè)面寫(xiě)入方式中,開(kāi)頭寫(xiě)入的某頁(yè)面、及最終寫(xiě)入的某頁(yè)面可進(jìn)行置換。
此外,對(duì)有關(guān)數(shù)據(jù)的有效化標(biāo)志,無(wú)效化標(biāo)志進(jìn)行說(shuō)明,不限于數(shù)據(jù)。即使是與冗余區(qū)域中原來(lái)的用戶數(shù)據(jù)不同的、系統(tǒng)使用的別的數(shù)據(jù),也要通過(guò)書(shū)寫(xiě)進(jìn)行數(shù)據(jù)的有效化及數(shù)據(jù)的無(wú)效化才能應(yīng)用。
按照本發(fā)明,不用對(duì)已有的寫(xiě)入順序、邏輯物理地址轉(zhuǎn)換表格的作成順序進(jìn)行大的變更和追加,就能構(gòu)成可使書(shū)寫(xiě)途中的中斷引起的對(duì)同一邏輯地址的物理地址的重復(fù)危險(xiǎn)性大大減低、可確??煽啃郧腋咚賱?dòng)作的系統(tǒng)。
對(duì)發(fā)明進(jìn)行一定程度細(xì)化的實(shí)施形態(tài)作了說(shuō)明,但該實(shí)施形態(tài)的現(xiàn)公開(kāi)的內(nèi)容,在構(gòu)成細(xì)節(jié)方面是可變化的,各主要部分的組合及順序的變化只要不超越申請(qǐng)范圍及宗旨,均可進(jìn)行。
產(chǎn)業(yè)上的可利用性如上所述,本發(fā)明的非易失性存儲(chǔ)器的控制方法,作為進(jìn)行數(shù)據(jù)讀出及寫(xiě)入的非易失性存儲(chǔ)器的控制方法是有用的。
權(quán)利要求
1.一種非易失性存儲(chǔ)器的控制方法,所述存儲(chǔ)器具有多個(gè)數(shù)據(jù)塊,所述數(shù)據(jù)塊具有多個(gè)頁(yè)面,所述頁(yè)面具有寫(xiě)入數(shù)據(jù)的數(shù)據(jù)區(qū)域及冗余區(qū)域,所述數(shù)據(jù)塊的最初的所述頁(yè)面的所述冗余區(qū)域,具有表示寫(xiě)入其數(shù)據(jù)塊的所述數(shù)據(jù)是否無(wú)效、且表示非易失性存儲(chǔ)器在被刪除狀態(tài)所述數(shù)據(jù)不無(wú)效的數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志,所述數(shù)據(jù)塊的最后的所述頁(yè)面的所述冗余區(qū)域,具有表示寫(xiě)入其數(shù)據(jù)塊的所述數(shù)據(jù)是否有效、且表示非易失性存儲(chǔ)器在被刪除狀態(tài)所述數(shù)據(jù)不有效的數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志;所述非易失性存儲(chǔ)器的控制方法,其特征在于,具備在所述數(shù)據(jù)區(qū)域?qū)懭霐?shù)據(jù)的數(shù)據(jù)寫(xiě)入步驟,以及能用具有寫(xiě)入所述數(shù)據(jù)的所述數(shù)據(jù)區(qū)域的所述數(shù)據(jù)塊的所述數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志表示所述數(shù)據(jù)有效的有效化步驟。
2.如權(quán)利要求1所述的非易失性存儲(chǔ)器的控制方法,其特征在于,還具備利用硬件或軟件選擇與所述數(shù)據(jù)寫(xiě)入步驟同時(shí)或連續(xù)執(zhí)行所述有效化步驟的方法、及執(zhí)行所述數(shù)據(jù)寫(xiě)入步驟后進(jìn)行數(shù)據(jù)正當(dāng)檢驗(yàn)的所述有效化步驟的方法的選擇步驟。
3.如權(quán)利要求1所述的非易失性存儲(chǔ)器的控制方法,其特征在于,可同時(shí)執(zhí)行對(duì)將原有數(shù)據(jù)更新為新的數(shù)據(jù)時(shí)寫(xiě)入所述新的數(shù)據(jù)的所述數(shù)據(jù)塊進(jìn)行的有效化步驟,以及能用寫(xiě)入所述原有數(shù)據(jù)的所述數(shù)據(jù)塊的所述數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志表示所述原有數(shù)據(jù)無(wú)效的無(wú)效化步驟。
4.如權(quán)利要求1所述的非易失性存儲(chǔ)器的控制方法,其特征在于,所述冗余區(qū)域還具有邏輯地址以及在所述數(shù)據(jù)塊寫(xiě)入的所述數(shù)據(jù)的履歷信息,還具備在存在具有同一所述邏輯地址的多個(gè)數(shù)據(jù)塊時(shí),以所述履歷信息為依據(jù)判斷哪個(gè)數(shù)據(jù)塊的數(shù)據(jù)現(xiàn)在有效的判斷步驟。
5.一種非易失性存儲(chǔ)器,其特征在于,所述存儲(chǔ)器具有多個(gè)數(shù)據(jù)塊,所述數(shù)據(jù)塊具有多個(gè)頁(yè)面,所述頁(yè)面具有寫(xiě)入數(shù)據(jù)的數(shù)據(jù)區(qū)域及冗余區(qū)域,所述數(shù)據(jù)塊的最初的所述頁(yè)面的所述冗余區(qū)域,具有表示寫(xiě)入其數(shù)據(jù)塊的所述數(shù)據(jù)是否無(wú)效、且表示非易失性存儲(chǔ)器在被刪除狀態(tài)所述數(shù)據(jù)不無(wú)效的數(shù)據(jù)塊數(shù)據(jù)無(wú)效化標(biāo)志,所述數(shù)據(jù)塊的最后的所述頁(yè)面的所述冗余區(qū)域,具有表示寫(xiě)入其數(shù)據(jù)塊的所述數(shù)據(jù)是否有效、且表示非易失性存儲(chǔ)器在被刪除狀態(tài)所述數(shù)據(jù)不有效的數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志;至少1個(gè)所述數(shù)據(jù)塊的數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志,表示所述數(shù)據(jù)有效。
6.如權(quán)利要求5所述的非易失性存儲(chǔ)器,其特征在于,所述冗余區(qū)域還具有邏輯地址、以及在所述數(shù)據(jù)塊寫(xiě)入的所述數(shù)據(jù)的履歷信息。
全文摘要
提供在書(shū)寫(xiě)數(shù)據(jù)塊的過(guò)程中,因記憶裝置的電源隔斷及復(fù)位指令等發(fā)生強(qiáng)制中斷時(shí),既不刪除應(yīng)刪除的數(shù)據(jù)、也不刪除應(yīng)寫(xiě)入的數(shù)據(jù)的非易失性存儲(chǔ)器的控制方法。在數(shù)據(jù)塊的最終頁(yè)面寫(xiě)入數(shù)據(jù)時(shí),通過(guò)將設(shè)置在其數(shù)據(jù)塊的最終頁(yè)面的冗余區(qū)域的數(shù)據(jù)塊數(shù)據(jù)有效化標(biāo)志置0(有效),使該數(shù)據(jù)塊有效化。此外,由于設(shè)置新舊判斷用的計(jì)數(shù)器,在所述解決手段中不能處理時(shí)也能夠保護(hù)數(shù)據(jù)。
文檔編號(hào)G06F12/00GK1465012SQ02802289
公開(kāi)日2003年12月31日 申請(qǐng)日期2002年6月24日 優(yōu)先權(quán)日2001年6月28日
發(fā)明者竹內(nèi)昭夫, 小來(lái)田重一, 巖田和也 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社