專(zhuān)利名稱(chēng):一種消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及固態(tài)存儲(chǔ)系統(tǒng)領(lǐng)域,尤其是涉及一種消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法。
背景技術(shù):
在固態(tài)存儲(chǔ)系統(tǒng)中,閃存的讀寫(xiě)最小單位是“頁(yè)”(page),而擦除的最小單位是“塊”(block)。目前常見(jiàn)的物理“塊”具有256個(gè)頁(yè),如果對(duì)某一個(gè)page進(jìn)行“塊”讀取的時(shí)候,該“頁(yè)”上的存儲(chǔ)單元控制極上不加電壓,而此“塊”中其它“頁(yè)”上的存儲(chǔ)單元控制極加上一定的電壓,造成這些存儲(chǔ)單元形成重壓?jiǎn)卧?,呈現(xiàn)出弱寫(xiě)入狀態(tài),由于此半導(dǎo)體閃存器件固有的特性,如果多次對(duì)某一個(gè)“頁(yè)”進(jìn)行讀取,會(huì)對(duì)該“塊”內(nèi)其它的“頁(yè)”造成串?dāng)_,不斷累積當(dāng)達(dá)到一定的閾值后有可能引起讀出錯(cuò)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能夠消除固態(tài)存儲(chǔ)系統(tǒng)由于讀取次數(shù)過(guò)多產(chǎn)生讀取錯(cuò)誤(也稱(chēng)為讀取串?dāng)_),從而提高固態(tài)存儲(chǔ)系統(tǒng)的可靠性。提供一種消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,包括:步驟SI,設(shè)定固態(tài)存儲(chǔ)系統(tǒng)中的第一存儲(chǔ)單元的讀取次數(shù)的閾值;步驟S2,記錄該第一存儲(chǔ)單元的讀取次數(shù);步驟S3,判斷該第一存儲(chǔ)單元的讀取次數(shù)是否達(dá)到閾值,如果“是”,則繼續(xù)執(zhí)行后續(xù)步驟,如果“否”,則結(jié)束;步驟S4,搬移該第一存儲(chǔ)單元的數(shù)據(jù)到一空閑的第二存儲(chǔ)單元;步驟S5,擦除該第一存儲(chǔ)單元的數(shù)據(jù);步驟S6,恢復(fù)該第一存儲(chǔ)單元的讀取次數(shù)為初始值。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例,該第一存儲(chǔ)單元的讀取次數(shù)的閾值取決于該第一存儲(chǔ)單元的擦除次數(shù)。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例,該第一存儲(chǔ)單元的讀取次數(shù)的閾值根據(jù)該第一存儲(chǔ)單元的擦除次數(shù)動(dòng)態(tài)設(shè)定。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例,該第一存儲(chǔ)單元的讀取次數(shù)的閾值是與其當(dāng)前的擦除次數(shù)相對(duì)應(yīng)的閾值。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例,該第一存儲(chǔ)單元的讀取次數(shù)的閾值與該第一存儲(chǔ)單元的擦除次數(shù)的關(guān)系為負(fù)相關(guān)。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例,該固態(tài)存儲(chǔ)系統(tǒng)中的第一存儲(chǔ)單元的讀取次數(shù)的閾值小于等于其讀取出錯(cuò)容忍度的讀取次數(shù)的上限值。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例,該第一存儲(chǔ)單元的讀取次數(shù)記錄在一對(duì)應(yīng)的讀取次數(shù)記錄表中,并根據(jù)該第一存儲(chǔ)單元的實(shí)際讀取次數(shù)進(jìn)行更新。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例,還包括步驟S7,更新該第一存儲(chǔ)單元的擦除次數(shù)記錄。根據(jù)本發(fā)明的一優(yōu)選實(shí)施例,該固態(tài)存儲(chǔ)系統(tǒng)為NAND FLASH形式的固態(tài)存儲(chǔ)系統(tǒng),該第一存儲(chǔ)單元、該第二存儲(chǔ)單元為“塊”,且均包括多個(gè)“頁(yè)”。
根據(jù)本發(fā)明的一優(yōu)選實(shí)施例,該固態(tài)存儲(chǔ)系統(tǒng)的讀寫(xiě)最小單位是“頁(yè)”,擦除的最小單位是“塊”。相較于現(xiàn)有技術(shù),本發(fā)明中,由于該第一存儲(chǔ)單元在的讀取次數(shù)在到達(dá)閾值之后,將數(shù)據(jù)搬移到了新的第二存儲(chǔ)單元中,并對(duì)該第一存儲(chǔ)單元進(jìn)行了擦除操作,消除該第一存儲(chǔ)單元上的電荷/電壓積累,從而避免了繼續(xù)對(duì)該第一存儲(chǔ)單元進(jìn)行讀取而產(chǎn)生讀取錯(cuò)誤的情況發(fā)生,同時(shí)恢復(fù)該第一存儲(chǔ)單元讀取次數(shù)為初始值,為后續(xù)的讀取做準(zhǔn)備。本發(fā)明能夠消除固態(tài)存儲(chǔ)系統(tǒng)由于讀取次數(shù)過(guò)多產(chǎn)生讀取錯(cuò)誤,大大提高了固態(tài)存儲(chǔ)系統(tǒng)的可靠性。
圖1是本發(fā)明消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法的流程圖。圖2是消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法的原理示意圖。圖3是圖2所示固態(tài)存儲(chǔ)系統(tǒng)中,存儲(chǔ)單元的讀取次數(shù)的閾值與該存儲(chǔ)單元的擦除次數(shù)的關(guān)系曲線圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明適用的系統(tǒng)為固態(tài)存儲(chǔ)系統(tǒng),特別是需要通過(guò)電荷存儲(chǔ)進(jìn)行讀寫(xiě)操作的存儲(chǔ)系統(tǒng),例如當(dāng)前普遍使用的NAND FLASH形態(tài)的固態(tài)存儲(chǔ)系統(tǒng)或其他形式的半導(dǎo)體存儲(chǔ)系統(tǒng),在此不做具體限制。請(qǐng)同時(shí)參閱圖1和圖2,圖1是本發(fā)明消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法的流程圖,圖2是消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法的原理示意圖。在固態(tài)存儲(chǔ)系統(tǒng)中,物理存儲(chǔ)模塊一般包括多個(gè)“塊”(block),每個(gè)“塊”包括多個(gè)“頁(yè)”(page)等多種劃分形式的存儲(chǔ)單元。本發(fā)明中所指的存儲(chǔ)單元可以是“塊”,也可以是“頁(yè)”等任意形式的存儲(chǔ)單元,在此不做具體限定。為了能夠清楚地描述本發(fā)明,在具體實(shí)施方式
中,以“塊”、“頁(yè)”這種形式的存儲(chǔ)單元,讀寫(xiě)最小單位是“頁(yè)”,擦除的最小單位是“塊”為例具體闡明本發(fā)明,圖2中第一存儲(chǔ)單元1、第二存儲(chǔ)單元2均對(duì)應(yīng)上述的“塊”,且第一存儲(chǔ)單元1、第二存儲(chǔ)單元2均包括多個(gè)“頁(yè)”。步驟SI,首先設(shè)定固態(tài)存儲(chǔ)系統(tǒng)中的第一存儲(chǔ)單元I的讀取次數(shù)的閾值。其中,該第一存儲(chǔ)單元I的讀取次數(shù)的閾值取決于該第一存儲(chǔ)單元I的擦除次數(shù)。也就是針對(duì)擦除過(guò)不同次數(shù)的存儲(chǔ)單元,其對(duì)應(yīng)的讀取次數(shù)的閾值可能是變化的,需要根據(jù)第一存儲(chǔ)單元I的具體擦除次數(shù)設(shè)定對(duì)應(yīng)的讀取次數(shù)的閾值。例如,請(qǐng)參考圖3,圖3是與圖2所對(duì)應(yīng)的NAND FLASH形式的固態(tài)存儲(chǔ)系統(tǒng)中,存儲(chǔ)單元的讀取次數(shù)的閾值取與該存儲(chǔ)單元的擦除次數(shù)的關(guān)系曲線圖。圖3所示關(guān)系曲線通過(guò)實(shí)驗(yàn)獲得,實(shí)驗(yàn)表明,該存儲(chǔ)單元的讀取次數(shù)閾值與擦除次數(shù)成負(fù)相關(guān)的關(guān)系,即,該存儲(chǔ)單元的擦除次數(shù)越大相應(yīng)的讀取次數(shù)產(chǎn)生錯(cuò)誤的閾值就越小。當(dāng)然,通過(guò)其他方法獲得的上述關(guān)系亦適用于本發(fā)明。
當(dāng)存儲(chǔ)單元的讀取次數(shù)在小于等于該閾值時(shí),讀取錯(cuò)誤的概率(或稱(chēng)容忍度)符合設(shè)計(jì)要求,而一旦讀取次數(shù)大于該閾值時(shí),讀取錯(cuò)誤的概率(或稱(chēng)容忍度)將不符合設(shè)計(jì)要求,造成存儲(chǔ)信息的讀取錯(cuò)誤。另外,該閾值可以設(shè)定為小于等于產(chǎn)生讀取錯(cuò)誤容忍度的上限讀取次數(shù)值,以進(jìn)一步提高固態(tài)存儲(chǔ)系統(tǒng)的可靠性。當(dāng)然根據(jù)存儲(chǔ)單元的制作工藝不同,存儲(chǔ)單元的讀取次數(shù)閾值與擦除次數(shù)的關(guān)系還可能具有其他相關(guān)性,在此不做具體限定。步驟S2,記錄該第一存儲(chǔ)單元I的讀取次數(shù)。此步驟中,該第一存儲(chǔ)單元I的讀取次數(shù)可以記錄在一對(duì)應(yīng)的讀取次數(shù)記錄表中,并根據(jù)該第一存儲(chǔ)單元I的實(shí)際讀取次數(shù)進(jìn)行更新。當(dāng)然,根據(jù)需要也可將該第一存儲(chǔ)單元I的讀取次數(shù)恢復(fù)為初始值。例如,每讀取圖2所示的第一存儲(chǔ)單元I中的“頁(yè)”一次,則該第一存儲(chǔ)單元I的讀取次數(shù)更新記錄一次,未產(chǎn)生讀取過(guò)程,則不用更新該記錄。當(dāng)該記錄達(dá)到預(yù)定值后,可通過(guò)一定機(jī)制恢復(fù)該第一存儲(chǔ)單元I的讀取次數(shù)記錄為初始值。步驟S3,判斷該第一存儲(chǔ)單元I的讀取次數(shù)是否達(dá)到閾值,如果判斷結(jié)果為“否”,則結(jié)束操作;如果判斷結(jié)果為“是”,則繼續(xù)執(zhí)行后續(xù)步驟S4-S7。步驟S4,搬移該第一存儲(chǔ)單元I的數(shù)據(jù)到另一空閑的第二存儲(chǔ)單元2。此步驟中,由于該第一存儲(chǔ)單元I的讀取次數(shù)達(dá)到閾值,如不及時(shí)采取措施,將造成后續(xù)的數(shù)據(jù)讀取產(chǎn)生錯(cuò)誤,此時(shí),將該第一存儲(chǔ)單元I的數(shù)據(jù)搬遷到另一空閑的第二存儲(chǔ)單元2中。值得注意的是,該第一存儲(chǔ)單元I與該空閑的第二存儲(chǔ)單元2為不同的存儲(chǔ)單元,但經(jīng)過(guò)數(shù)據(jù)搬遷,二者的數(shù)據(jù)內(nèi)容達(dá)到完全一致,實(shí)現(xiàn)數(shù)據(jù)的完整搬移。此后,若需要讀取原第一存儲(chǔ)單元I中的數(shù)據(jù),則可直接從該第二存儲(chǔ)單元2中讀取即可,不再讀取該第一存儲(chǔ)單元對(duì)應(yīng)的數(shù)據(jù)。步驟S5,擦除該第一存儲(chǔ)單元I的數(shù)據(jù),使其成為新的空閑存儲(chǔ)單元,可用于存儲(chǔ)新的數(shù)據(jù)。步驟S6,恢復(fù)該第一存儲(chǔ)單元I的讀取次數(shù)為初始值,即,恢復(fù)該第一存儲(chǔ)單元I的讀取次數(shù)為初始值,例如為“0”或其他設(shè)定的初始值。步驟S7,由于在步驟S5中對(duì)該第一存儲(chǔ)單元I進(jìn)行了數(shù)據(jù)擦除操作,此時(shí)需更新該第一存儲(chǔ)單元I的擦除次數(shù)記錄,為后續(xù)的讀取操作提供新的參考依據(jù)。通過(guò)上述方法,由于該第一存儲(chǔ)單元I在的讀取次數(shù)在到達(dá)閾值之后,將數(shù)據(jù)搬移到了新的第二存儲(chǔ)單元2中,并對(duì)該第一存儲(chǔ)單元I進(jìn)行了擦除操作,消除該第一存儲(chǔ)單元I上的電荷/電壓積累,從而避免了繼續(xù)對(duì)該第一存儲(chǔ)單元I進(jìn)行讀取而產(chǎn)生讀取錯(cuò)誤的情況發(fā)生,同時(shí)恢復(fù)該第一存儲(chǔ)單元I讀取次數(shù)為初始值,為后續(xù)的讀取做準(zhǔn)備。本發(fā)明能夠消除固態(tài)存儲(chǔ)系統(tǒng)由于讀取次數(shù)過(guò)多產(chǎn)生讀取錯(cuò)誤(也稱(chēng)為讀取串?dāng)_),大大提高了固態(tài)存儲(chǔ)系統(tǒng)的可靠性。
權(quán)利要求
1.一種消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,包括: 步驟Si,設(shè)定固態(tài)存儲(chǔ)系統(tǒng)中的第一存儲(chǔ)單元的讀取次數(shù)的閾值; 步驟S2,記錄該第一存儲(chǔ)單元的讀取次數(shù); 步驟S3,判斷該第一存儲(chǔ)單元的讀取次數(shù)是否達(dá)到閾值,如果“是”,則繼續(xù)執(zhí)行后續(xù)步驟,如果“否”,則結(jié)束; 步驟S4,搬移該第一存儲(chǔ)單元的數(shù)據(jù)到一空閑的第二存儲(chǔ)單元; 步驟S5,擦除該第一存儲(chǔ)單元的數(shù)據(jù); 步驟S6,恢復(fù)該第一存儲(chǔ)單元的讀取次數(shù)為初始值。
2.按權(quán)力要求I所述的消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,其特征在于:在步驟SI中,該第一存儲(chǔ)單元的讀取次數(shù)的閾值取決于該第一存儲(chǔ)單元的擦除次數(shù)。
3.按權(quán)力要求I所述的消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,其特征在于:該第一存儲(chǔ)單元的讀取次數(shù)的閾值根據(jù)該第一存儲(chǔ)單元的擦除次數(shù)動(dòng)態(tài)設(shè)定。
4.按權(quán)力要求3所述的消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,其特征在于:該第一存儲(chǔ)單元的讀取次數(shù)的閾值是與其當(dāng)前的擦除次數(shù)相對(duì)應(yīng)的閾值。
5.按權(quán)力要求3所述的消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,其特征在于:該第一存儲(chǔ)單元的讀取次數(shù)的閾值與該第一存儲(chǔ)單元的擦除次數(shù)的關(guān)系為負(fù)相關(guān)。
6.按權(quán)力要求I所述的消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,其特征在于:該固態(tài)存儲(chǔ)系統(tǒng)中的第一存儲(chǔ)單元的讀取次數(shù)的閾值小于等于其讀取出錯(cuò)容忍度的讀取次數(shù)的上限值。
7.按權(quán)力要求I所述的消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,其特征在于:該第一存儲(chǔ)單元的讀取次數(shù)記錄在一對(duì)應(yīng)的讀取次數(shù)記錄表中,并根據(jù)該第一存儲(chǔ)單元的實(shí)際讀取次數(shù)進(jìn)行更新。
8.按權(quán)力要求I所述的消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,其特征在于:還包括步驟S7,更新該第一存儲(chǔ)單元的擦除次數(shù)記錄。
9.按權(quán)力要求I所述的消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,其特征在于:該固態(tài)存儲(chǔ)系統(tǒng)為NANDFLASH形式的固態(tài)存儲(chǔ)系統(tǒng),該第一存儲(chǔ)單元、該第二存儲(chǔ)單元為“塊”,且均包括多個(gè)“頁(yè)”。
10.按權(quán)力要求9所述的消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,其特征在于:該固態(tài)存儲(chǔ)系統(tǒng)的讀寫(xiě)最小單位是“頁(yè)”,擦除的最小單位是“塊”。
全文摘要
本發(fā)明提供一種消除固態(tài)存儲(chǔ)系統(tǒng)讀取錯(cuò)誤的方法,包括步驟S1,設(shè)定固態(tài)存儲(chǔ)系統(tǒng)中的第一存儲(chǔ)單元的讀取次數(shù)的閾值;步驟S2,記錄該第一存儲(chǔ)單元的讀取次數(shù);步驟S3,判斷該第一存儲(chǔ)單元的讀取次數(shù)是否達(dá)到閾值,如果“是”,則繼續(xù)執(zhí)行后續(xù)步驟,如果“否”,則結(jié)束;步驟S4,搬移該第一存儲(chǔ)單元的數(shù)據(jù)到一空閑的第二存儲(chǔ)單元;步驟S5,擦除該第一存儲(chǔ)單元的數(shù)據(jù);步驟S6,恢復(fù)該第一存儲(chǔ)單元的讀取次數(shù)為初始值。本發(fā)明能夠消除固態(tài)存儲(chǔ)系統(tǒng)由于讀取次數(shù)過(guò)多產(chǎn)生讀取錯(cuò)誤,大大提高固態(tài)存儲(chǔ)系統(tǒng)的可靠性。
文檔編號(hào)G06F3/06GK103092531SQ20131002144
公開(kāi)日2013年5月8日 申請(qǐng)日期2013年1月21日 優(yōu)先權(quán)日2013年1月21日
發(fā)明者何浩, 張耀輝 申請(qǐng)人:中國(guó)科學(xué)院蘇州納米技術(shù)與納米仿生研究所