一種閃存設(shè)備的數(shù)據(jù)處理方法及閃存設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種閃存設(shè)備的數(shù)據(jù)處理方法及閃存設(shè)備,包括:預(yù)設(shè)閃存設(shè)備中塊的磨損冗余度的值為N,所述磨損冗余度N為允許閃存設(shè)備中不同塊的擦除次數(shù)相差的最大值;創(chuàng)建包含N+1個(gè)元素的擦除計(jì)數(shù)表EC(X),將下標(biāo)值X分別設(shè)為0到N,將所述N+1個(gè)元素按照所述下標(biāo)值X從小到大依次排列;根據(jù)擦除計(jì)數(shù)值將所述閃存設(shè)備中所有可用空塊劃分為N+1個(gè)隊(duì)列,將擦除計(jì)數(shù)值為0的塊組成的隊(duì)列加入EC(0)中,元素EC(1)到EC(N)包含的隊(duì)列為空;當(dāng)寫入數(shù)據(jù)時(shí),確定所述擦除計(jì)數(shù)表中擦除計(jì)數(shù)值最小且不為空的隊(duì)列為最小隊(duì)列,將數(shù)據(jù)寫入所述最小隊(duì)列的塊中。本發(fā)明可在寫入和刪除數(shù)據(jù)時(shí)實(shí)現(xiàn)塊的磨損平衡,以達(dá)到提高使用壽命的目的。
【專利說明】一種閃存設(shè)備的數(shù)據(jù)處理方法及閃存設(shè)備
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信領(lǐng)域中閃存【技術(shù)領(lǐng)域】,具體地,涉及一種閃存設(shè)備的數(shù)據(jù)處理方 法及閃存設(shè)備。
【背景技術(shù)】
[0002] 閃存設(shè)備是一種可擦除、可重寫的電子非易失性存儲(chǔ)介質(zhì),它已被廣泛用于數(shù)據(jù) 存儲(chǔ)系統(tǒng)中。由于閃存設(shè)備斷電時(shí)仍能保存數(shù)據(jù),其通常用來保存預(yù)設(shè)信息,如電腦的 BIOS (基本程序)、PDA (個(gè)人數(shù)字助理)、數(shù)碼相機(jī)中保存資料等,閃存是一種比硬盤驅(qū)動(dòng)器 更好的存儲(chǔ)方案,這在不超過4GB的低容量應(yīng)用中表現(xiàn)得猶為明顯。
[0003] 閃存設(shè)備以塊(Block)為單位進(jìn)行擦寫操作,閃存的寫入操作必須在空白區(qū)域進(jìn) 行,如果目標(biāo)區(qū)域已經(jīng)有數(shù)據(jù),必須先擦除后寫入,因此擦除操作是閃存設(shè)備的基本操作。 閃存具有編程速度快、擦除時(shí)間短、無噪音、散熱小等優(yōu)點(diǎn)。
[0004] 在現(xiàn)有技術(shù)中,對(duì)閃存設(shè)備進(jìn)行數(shù)據(jù)寫入和擦除時(shí),存在以下問題:擦除次數(shù)有 限,一個(gè)典型的閃存可以被可靠的擦除最多100000 (SLC,Single Layer Cell,單層單元)和 3000 (MLC,Multi-Level Cell,多層單元)次;現(xiàn)有技術(shù)中不能對(duì)閃存設(shè)備的塊進(jìn)行有效管 理,導(dǎo)致閃存設(shè)備中所有塊的擦寫次數(shù)不均衡,降低了閃存設(shè)備的使用壽命。
【發(fā)明內(nèi)容】
[0005]為了解決現(xiàn)有技術(shù)中存在的閃存設(shè)備內(nèi)部塊擦除次數(shù)不均衡導(dǎo)致的使用壽命較 低的問題,本發(fā)明提出了一種閃存設(shè)備的數(shù)據(jù)處理方法及閃存設(shè)備。
[0006] 本發(fā)明的閃存設(shè)備的數(shù)據(jù)處理方法,包括:
[0007] 預(yù)設(shè)閃存設(shè)備中塊的磨損冗余度的值為N,所述磨損冗余度N為允許閃存設(shè)備中 不同塊的擦除次數(shù)相差的最大值;
[0008] 創(chuàng)建包含N+1個(gè)元素的擦除計(jì)數(shù)表EC (X),將下標(biāo)值X分別設(shè)為0到N,將所述N+1 個(gè)元素按照所述下標(biāo)值X從小到大依次排列;
[0009] 根據(jù)擦除計(jì)數(shù)值將所述閃存設(shè)備中所有可用空塊劃分為N+1個(gè)隊(duì)列,將擦除計(jì)數(shù) 值為〇的塊組成的隊(duì)列加入EC(0)中,元素 EC⑴到EC(N)包含的隊(duì)列為空;
[0010] 當(dāng)寫入數(shù)據(jù)時(shí),確定所述擦除計(jì)數(shù)表中擦除計(jì)數(shù)值最小且不為空的隊(duì)列為最小隊(duì) 列,將數(shù)據(jù)寫入所述最小隊(duì)列的塊中。
[0011] 本發(fā)明的閃存設(shè)備的數(shù)據(jù)處理方法,利用磨損冗余度,可以控制閃存中塊的擦除 次數(shù)相差的最大值。通過設(shè)定磨損冗余度的值,可在寫入和刪除數(shù)據(jù)時(shí)實(shí)現(xiàn)塊的磨損平衡。 磨損冗余度可以根據(jù)產(chǎn)品不同的用途來設(shè)定,值越小,磨損越均衡,從而使閃存設(shè)備中所有 塊的擦除次數(shù)均衡,以達(dá)到提高使用壽命的目的。
[0012] 本發(fā)明的閃存設(shè)備,包括:
[0013] 冗余度預(yù)設(shè)模塊,用于預(yù)設(shè)閃存設(shè)備中塊的磨損冗余度的值為N,所述磨損冗余度 N為允許閃存設(shè)備中不同塊的擦除次數(shù)相差的最大值;
[0014] 計(jì)數(shù)表創(chuàng)建模塊,用于創(chuàng)建包含N+1個(gè)元素的擦除計(jì)數(shù)表EC(X),將下標(biāo)值X分別 設(shè)為0到N,將所述N+1個(gè)元素按照所述下標(biāo)值X從小到大依次排列;
[0015] 隊(duì)列劃分模塊,用于根據(jù)擦除計(jì)數(shù)值將所述閃存設(shè)備中所有可用空塊劃分為N+1 個(gè)隊(duì)列,將擦除計(jì)數(shù)值為〇的塊組成的隊(duì)列加入EC(0)中,元素 EC(1)到EC(N)包含的隊(duì)列 為空;
[0016] 數(shù)據(jù)寫入模塊,用于當(dāng)寫入數(shù)據(jù)時(shí),確定所述擦除計(jì)數(shù)表中擦除計(jì)數(shù)值最小且不 為空的隊(duì)列為最小隊(duì)列,將數(shù)據(jù)寫入所述最小隊(duì)列的塊中。
[0017] 本發(fā)明的閃存設(shè)備,利用磨損冗余度,可以控制閃存中塊的擦除次數(shù)相差的最大 值。通過設(shè)定磨損冗余度的值,可在寫入和刪除數(shù)據(jù)時(shí)實(shí)現(xiàn)塊的磨損平衡。磨損冗余度可 以根據(jù)產(chǎn)品不同的用途來設(shè)定,值越小,磨損越均衡,從而使閃存設(shè)備中所有塊的擦除次數(shù) 均衡,以達(dá)到提高使用壽命的目的。
[0018] 本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明 書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
[0019] 下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
【專利附圖】
【附圖說明】
[0020] 附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí) 施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
[0021] 圖1為本發(fā)明的方法流程圖;
[0022] 圖2為本發(fā)明實(shí)施例的擦除計(jì)數(shù)表的結(jié)構(gòu)示意圖;
[0023] 圖3為本發(fā)明實(shí)施例的擦除計(jì)數(shù)表中隊(duì)列結(jié)構(gòu)示意圖;
[0024] 圖4為本發(fā)明實(shí)施例的塊移動(dòng)的示意圖;
[0025] 圖5為本發(fā)明實(shí)施例的隊(duì)列移動(dòng)的示意圖;
[0026] 圖6為本發(fā)明的閃存設(shè)備的結(jié)構(gòu)示意圖;
[0027] 圖7為本發(fā)明的擦除計(jì)數(shù)表中隊(duì)列結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0028] 下面結(jié)合附圖,對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行詳細(xì)描述,但應(yīng)當(dāng)理解本發(fā)明的保 護(hù)范圍并不受【具體實(shí)施方式】的限制。
[0029] 為了解決現(xiàn)有技術(shù)中存在的閃存設(shè)備內(nèi)部塊擦除次數(shù)不均衡導(dǎo)致的使用壽命較 低的問題,本發(fā)明提出了一種閃存設(shè)備的數(shù)據(jù)處理方法及閃存設(shè)備。
[0030] 對(duì)于閃存設(shè)備寫操作比較多的應(yīng)用,可以對(duì)每個(gè)塊(block)進(jìn)行監(jiān)測(cè),從而使每 個(gè)block的擦寫次數(shù)比較平均,避免出現(xiàn)有的block擦寫次數(shù)過多,而有的block擦寫次數(shù) 過少,進(jìn)而提高閃存設(shè)備的壽命。本發(fā)明主要是針對(duì)閃存設(shè)備中的空block,動(dòng)態(tài)調(diào)整閃存 設(shè)備中不同塊的擦除磨損。下面的例子可以說明寫平衡是如何提高閃存設(shè)備的壽命的:
[0031] 假設(shè)一個(gè)MLC閃存中有4096個(gè)block,要寫一個(gè)占用100個(gè)block大小的文件,每 10分鐘更新一次,寫在同一個(gè)位置。
[0032] 沒有寫平衡方法時(shí),閃存的生命周期是:
[0033] 生命周期(天)=(NAND閃存尺寸*擦除次數(shù)八每天寫入block數(shù)量)
[0034] 那么生命周期是:(100個(gè)block*3, 000次擦除)八100個(gè)block*6次/小時(shí)*24小 時(shí)/天)=20. 83天
[0035] 有寫平衡方法時(shí),擦除的次數(shù)可以平均的分配到每一個(gè)block上,假設(shè)有1000個(gè) 塊可以參與寫平衡,那么新的生命周期是:
[0036] (1000個(gè)block*3, 000次擦除 V(100個(gè)block*6次/小時(shí)*24小時(shí)/天)=200. 83 天。
[0037] 如圖1所示,本發(fā)明的閃存設(shè)備數(shù)據(jù)處理方法包括:
[0038] 步驟S101 :初始化所述閃存設(shè)備,將所述閃存設(shè)備中所有空塊的擦除計(jì)數(shù)值清 零。
[0039] 閃存設(shè)備初始化之后,所有可用空塊的擦除計(jì)數(shù)值均為0,擦除計(jì)數(shù)值為對(duì)塊進(jìn)行 擦除操作的次數(shù)。
[0040] 步驟S102 :預(yù)設(shè)閃存設(shè)備中塊的磨損冗余度的值為N ;
[0041] 磨損冗余度是指允許閃存設(shè)備中不同塊的擦除次數(shù)值相差的最大值,具體的,N的 值由閃存設(shè)備的用途以及主控、使用環(huán)境決定。
[0042] 步驟S103 :創(chuàng)建包含N+1個(gè)元素的擦除計(jì)數(shù)表EC(X),將下標(biāo)值X分別設(shè)為0到N, 將所述N+1個(gè)元素按照所述下標(biāo)值X從小到大依次排列;
[0043] 具體的,如圖2所示,該擦除計(jì)數(shù)表包含EC(0)、EC(1)……EC (N)等N+1個(gè)元素,將 該表中各元素按照上述順序依次從小到大排列。
[0044] 步驟S104 :根據(jù)擦除計(jì)數(shù)值將所述閃存設(shè)備中所有可用空塊劃分為N+1個(gè)隊(duì)列, 將擦除計(jì)數(shù)值為〇的塊組成的隊(duì)列加入EC(0)中,元素 EC(1)到EC(N)包含的隊(duì)列為空;
[0045] 具體的,如圖7所示,為擦除計(jì)數(shù)表中每個(gè)隊(duì)列的結(jié)構(gòu)示意圖。每個(gè)隊(duì)列包含閃存 中的若干物理塊,每一個(gè)塊都有寄存器來記錄塊的擦除次數(shù),在同一隊(duì)列中,所有塊的擦除 計(jì)數(shù)值是相同的。如圖3所示,在本實(shí)施例中,閃存設(shè)備初始化后,所有空塊的擦除計(jì)數(shù)值 均清零,因此,將所有空塊組成一個(gè)隊(duì)列加入元素 EC(0)中,其余元素 EC(1)到EC(N)的隊(duì) 列為空。
[0046] 步驟S105 :當(dāng)寫入數(shù)據(jù)時(shí),確定所述擦除計(jì)數(shù)表中擦除計(jì)數(shù)值最小且不為空的隊(duì) 列為最小隊(duì)列,將數(shù)據(jù)寫入所述最小隊(duì)列的塊中;
[0047] 具體的,將數(shù)據(jù)寫入閃存設(shè)備時(shí),可以設(shè)置一個(gè)取塊指針,用于指向擦除計(jì)數(shù)值最 小且不為空的隊(duì)列;采用先進(jìn)先出的原則,從擦除計(jì)數(shù)表中選擇擦除計(jì)數(shù)值最小且不為空 的隊(duì)列,將數(shù)據(jù)寫入該隊(duì)列的塊中。在本實(shí)施例中,閃存設(shè)備初始化之后,EC(0)中隊(duì)列的 塊的擦除計(jì)數(shù)值最小,且EC(0)包含的隊(duì)列不為空,取塊指針指向的隊(duì)列即為EC(0)中的隊(duì) 列,即將數(shù)據(jù)寫入EC(0)中隊(duì)列的塊。
[0048] 步驟S106 :當(dāng)刪除數(shù)據(jù)時(shí),將被刪除數(shù)據(jù)所在塊的擦除計(jì)數(shù)值加1,并將所述被刪 除數(shù)據(jù)所在塊移到下一隊(duì)列中;
[0049] 具體的,塊中的數(shù)據(jù)被刪除時(shí),塊會(huì)重新釋放出來,塊的擦除計(jì)數(shù)值加1,將該塊的 新的擦除計(jì)數(shù)值與擦除計(jì)數(shù)表中的各元素的下標(biāo)值進(jìn)行比較,將該塊加入到下一隊(duì)列,即 與新的擦除計(jì)數(shù)值相應(yīng)的隊(duì)列中。如圖4所示,當(dāng)元素 EC(0)中的塊block-OXz的數(shù)據(jù)被 刪除后,將該塊的擦除計(jì)數(shù)值加1,并將該塊移到EC(1)的隊(duì)列中。
[0050] 步驟S107 :當(dāng)所述最小隊(duì)列中的塊全部移出時(shí),將所述最小隊(duì)列所在的元素移到 所述擦除計(jì)數(shù)表的末端,重新確定最小隊(duì)列;
[0051] 具體的,當(dāng)最小隊(duì)列中的最后一個(gè)塊被移出時(shí),將該隊(duì)列所在的元素的下標(biāo)值修 改為N+1,并將該元素移到擦除計(jì)數(shù)表的末端,如圖5所示,在本實(shí)施例中,當(dāng)初始化之后, 最小隊(duì)列為元素 EC(0)的隊(duì)列,當(dāng)EC(0)的最后一個(gè)塊被移出時(shí),將EC(0)修改為EC(N+1), 并移到擦除計(jì)數(shù)表的末端,此時(shí)擦除計(jì)數(shù)表中的元素變?yōu)镋C (1)、EC (2)……EC (N+1)等N+1 個(gè)元素,取塊指針指向EC(1)中的隊(duì)列,如果EC(1)為空,將EC(1)移到擦除計(jì)數(shù)表的末端, 依次類推。
[0052] 再次進(jìn)行數(shù)據(jù)寫入時(shí),重新選擇擦除計(jì)數(shù)值最小且不為空的隊(duì)列,循環(huán)執(zhí)行上述 步驟S101-S106,即可實(shí)現(xiàn)閃存設(shè)備的擦除磨損均衡。
[0053] 本發(fā)明的閃存設(shè)備的數(shù)據(jù)處理方法,利用磨損冗余度,可以控制閃存中塊的擦除 次數(shù)相差的最大值。通過設(shè)定磨損冗余度的值,可在寫入和刪除數(shù)據(jù)時(shí)實(shí)現(xiàn)塊的磨損平衡。 磨損冗余度可以根據(jù)產(chǎn)品不同的用途來設(shè)定,值越小,磨損越均衡,從而使閃存設(shè)備中所有 塊的擦除次數(shù)均衡,以達(dá)到提高使用壽命的目的。
[0054] 如圖6所示,本發(fā)明的閃存設(shè)備包括:
[0055] 初始化模塊,用于初始化所述閃存設(shè)備,將所述閃存設(shè)備中所有空塊的擦除計(jì)數(shù) 值清零。
[0056] 冗余度預(yù)設(shè)模塊10,用于預(yù)設(shè)閃存設(shè)備中塊的磨損冗余度的值為N,所述磨損冗 余度N為允許閃存設(shè)備中不同塊的擦除次數(shù)相差的最大值;
[0057] 計(jì)數(shù)表創(chuàng)建模塊20,用于創(chuàng)建包含N+1個(gè)元素的擦除計(jì)數(shù)表EC (X),將下標(biāo)值X分 別設(shè)為〇到N,將所述N+1個(gè)元素按照所述下標(biāo)值X從小到大依次排列;
[0058] 隊(duì)列劃分模塊30,用于根據(jù)擦除計(jì)數(shù)值將所述閃存設(shè)備中所有可用空塊劃分為 N+1個(gè)隊(duì)列,將擦除計(jì)數(shù)值為0的塊組成的隊(duì)列加入EC(0)中,元素 EC(1)到EC(N)包含的 隊(duì)列為空;
[0059] 數(shù)據(jù)寫入模塊40,用于當(dāng)寫入數(shù)據(jù)時(shí),確定所述擦除計(jì)數(shù)表中擦除計(jì)數(shù)值最小且 不為空的隊(duì)列為最小隊(duì)列,將數(shù)據(jù)寫入所述最小隊(duì)列的塊中。
[0060] 數(shù)據(jù)刪除模塊50,用于當(dāng)刪除數(shù)據(jù)時(shí),將被刪除數(shù)據(jù)所在塊的擦除計(jì)數(shù)值加1,并 將所述被刪除數(shù)據(jù)所在塊移到下一隊(duì)列中。
[0061] 隊(duì)列下沉模塊60,用于當(dāng)所述最小隊(duì)列中的塊全部移出時(shí),將所述最小隊(duì)列所在 的元素移到所述擦除計(jì)數(shù)表的末端,重新確定最小隊(duì)列。
[0062] 本發(fā)明的閃存設(shè)備,利用磨損冗余度,可以控制閃存中塊的擦除次數(shù)相差的最大 值。通過設(shè)定磨損冗余度的值,可在寫入和刪除數(shù)據(jù)時(shí)實(shí)現(xiàn)塊的磨損平衡。磨損冗余度可 以根據(jù)產(chǎn)品不同的用途來設(shè)定,值越小,磨損越均衡,從而使閃存設(shè)備中所有塊的擦除次數(shù) 均衡,以達(dá)到提高使用壽命的目的。
[0063] 本發(fā)明能有多種不同形式的【具體實(shí)施方式】,上面以圖1-圖6為例結(jié)合附圖對(duì)本發(fā) 明的技術(shù)方案作舉例說明,這并不意味著本發(fā)明所應(yīng)用的具體實(shí)例只能局限在特定的流程 或?qū)嵤├Y(jié)構(gòu)中,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)了解,上文所提供的具體實(shí)施方案只是多種 優(yōu)選用法中的一些示例,任何體現(xiàn)本發(fā)明權(quán)利要求的實(shí)施方式均應(yīng)在本發(fā)明技術(shù)方案所要 求保護(hù)的范圍之內(nèi)。
[0064] 最后應(yīng)說明的是:以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明, 盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,對(duì)于本領(lǐng)域的技術(shù)人員來說,其依然可 以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換。 凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的 保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1. 一種閃存設(shè)備的數(shù)據(jù)處理方法,其特征在于,包括: 預(yù)設(shè)閃存設(shè)備中塊的磨損冗余度的值為N,所述磨損冗余度N為允許閃存設(shè)備中不同 塊的擦除次數(shù)相差的最大值; 創(chuàng)建包含N+1個(gè)元素的擦除計(jì)數(shù)表EC (X),將下標(biāo)值X分別設(shè)為0到N,將所述N+1個(gè) 元素按照所述下標(biāo)值X從小到大依次排列; 根據(jù)擦除計(jì)數(shù)值將所述閃存設(shè)備中所有可用空塊劃分為N+1個(gè)隊(duì)列,將擦除計(jì)數(shù)值為 〇的塊組成的隊(duì)列加入EC(O)中,元素 EC(1)到EC(N)包含的隊(duì)列為空; 當(dāng)寫入數(shù)據(jù)時(shí),確定所述擦除計(jì)數(shù)表中擦除計(jì)數(shù)值最小且不為空的隊(duì)列為最小隊(duì)列, 將數(shù)據(jù)寫入所述最小隊(duì)列的塊中。
2. 根據(jù)權(quán)利要求1所述的閃存設(shè)備的數(shù)據(jù)處理方法,其特征在于,在所述預(yù)設(shè)閃存設(shè) 備中塊的磨損冗余度的值為N之前還包括: 初始化所述閃存設(shè)備,將所述閃存設(shè)備中所有空塊的擦除計(jì)數(shù)值清零。
3. 根據(jù)權(quán)利要求1所述的閃存設(shè)備的數(shù)據(jù)處理方法,其特征在于,還包括: 當(dāng)刪除數(shù)據(jù)時(shí),將被刪除數(shù)據(jù)所在塊的擦除計(jì)數(shù)值加1,并將所述被刪除數(shù)據(jù)所在塊移 到下一隊(duì)列中。
4. 根據(jù)權(quán)利要求1所述的閃存設(shè)備的數(shù)據(jù)處理方法,其特征在于,還包括: 當(dāng)所述最小隊(duì)列中的塊全部移出時(shí),將所述最小隊(duì)列所在的元素移到所述擦除計(jì)數(shù)表 的末端,重新確定最小隊(duì)列。
5. -種閃存設(shè)備,其特征在于,包括: 冗余度預(yù)設(shè)模塊,用于預(yù)設(shè)閃存設(shè)備中塊的磨損冗余度的值為N,所述磨損冗余度N為 允許閃存設(shè)備中不同塊的擦除次數(shù)相差的最大值; 計(jì)數(shù)表創(chuàng)建模塊,用于創(chuàng)建包含N+1個(gè)元素的擦除計(jì)數(shù)表EC (X),將下標(biāo)值X分別設(shè)為 〇到N,將所述N+1個(gè)元素按照所述下標(biāo)值X從小到大依次排列; 隊(duì)列劃分模塊,用于根據(jù)擦除計(jì)數(shù)值將所述閃存設(shè)備中所有可用空塊劃分為N+1個(gè)隊(duì) 列,將擦除計(jì)數(shù)值為0的塊組成的隊(duì)列加入EC(O)中,元素 EC(1)到EC(N)包含的隊(duì)列為 空; 數(shù)據(jù)寫入模塊,用于當(dāng)寫入數(shù)據(jù)時(shí),確定所述擦除計(jì)數(shù)表中擦除計(jì)數(shù)值最小且不為空 的隊(duì)列為最小隊(duì)列,將數(shù)據(jù)寫入所述最小隊(duì)列的塊中。
6. 根據(jù)權(quán)利要求5所述的閃存設(shè)備,其特征在于,還包括: 初始化模塊,用于初始化所述閃存設(shè)備,將所述閃存設(shè)備中所有空塊的擦除計(jì)數(shù)值清 零。
7. 根據(jù)權(quán)利要求5所述的閃存設(shè)備,其特征在于,還包括: 數(shù)據(jù)刪除模塊,用于當(dāng)刪除數(shù)據(jù)時(shí),將被刪除數(shù)據(jù)所在塊的擦除計(jì)數(shù)值加1,并將所述 被刪除數(shù)據(jù)所在塊移到下一隊(duì)列中。
8. 根據(jù)權(quán)利要求5所述的閃存設(shè)備,其特征在于,還包括: 隊(duì)列下沉模塊,用于當(dāng)所述最小隊(duì)列中的塊全部移出時(shí),將所述最小隊(duì)列所在的元素 移到所述擦除計(jì)數(shù)表的末端,重新確定最小隊(duì)列。
【文檔編號(hào)】G06F3/06GK104102459SQ201410315842
【公開日】2014年10月15日 申請(qǐng)日期:2014年7月3日 優(yōu)先權(quán)日:2014年7月3日
【發(fā)明者】羅理堅(jiān), 盧明 申請(qǐng)人:優(yōu)佰特電子科技(無錫)有限公司