TWI490869B - 應用於快閃記憶體的方法與相關的控制器 - Google Patents
應用於快閃記憶體的方法與相關的控制器 Download PDFInfo
- Publication number
- TWI490869B TWI490869B TW099127204A TW99127204A TWI490869B TW I490869 B TWI490869 B TW I490869B TW 099127204 A TW099127204 A TW 099127204A TW 99127204 A TW99127204 A TW 99127204A TW I490869 B TWI490869 B TW I490869B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- counter
- page
- data
- count value
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Description
本發明係關於一種運用於快閃記憶體的方法與相關控制器,特別是關於一種可依據快閃記憶體中各記憶單元被讀取次數適當刷新資料以減少讀取干擾的方法與相關控制器。
快閃記憶體已成為現代資訊社會最重要的非揮發性記憶裝置之一。
快閃記憶體是以浮動閘極(floating gate)儲存電荷以記錄資料。隨著快閃記憶體的集積度增加,並朝先進製程發展,快閃記憶體的浮動閘極越來越小,其保留電荷的能力也受到影響。當每一次讀取浮動閘極中以電荷記錄的資料時,浮動閘極都會流失部份的電荷。因此,隨著快閃記憶體被讀取次數增加,其資料記錄的可靠度與正確性也隨之下降;這種因讀取次數累積而影響資料儲存的現象可視為一種讀取干擾。雖然在資料讀取時可應用錯誤更正碼來偵測/修復出錯的資料,但錯誤更正碼修復資料錯誤的能力相當有限。考慮資料修復的成本與演算複雜度,一般的錯誤更正碼在一位元組的資料中只能修復1到2位元的錯誤;若一位元組中有超過2位元的錯誤,錯誤更正碼便無法將錯誤的資料修復回原先正確的資料。當快閃記憶體被讀取的次數持續累積,資料錯誤的程度也會持續惡化,終將超過錯誤更正碼所能修復的程度。而本發明即是要針對讀取干擾提出一解決方案,以降低/減少/克服現代快閃記憶體的讀取干擾。
本發明的目的是提供一種應用於一快閃記憶體的方法;快閃記憶體設有複數個資料單元(如分頁,page),而本發明方法包含:計數這些資料單元被讀取的次數以產生複數個計數值,並根據這些資料單元被讀取的次數,決定是否刷新(refresh)這些資料單元中的資料。
在一實施例中,本發明會為快閃記憶體配置複數個計數器以記錄該些計數值,每一資料單元對應這些計數器的其中之一。當各資料單元被讀取時,就可在各資料單元對應的計數器中將一預設增量累增至該計數器的計數值中。依據各計數器中的計數值,就可計數這些資料單元被讀取的次數。
由於快閃記憶體的資料讀取是以分頁為單位來進行,但資料的抹除與寫入則是以區塊(block)為單位來進行,每一區塊中有複數個分頁。譬如說,一快閃記憶體中可設有M個區塊,每一區塊中有N個分頁(即N個資料單元),而本發明可為每Y個資料單元(Y大於或等於1)配置一個計數器,使這Y個資料單元對應於同一個計數器。因此,每一區塊中的N個資料單元會對應至Z個計數器,Z=N/Y,而Z可以大於或等於1。
在前述實施例中,因為Y個資料單元共用一個計數器,當要讀取這Y個資料單元的其中一個時,可一併讀取同一計數器對應的其他(Y-1)個資料單元。如此,同一計數器對應的Y個資料單元的被讀取次數就會一致,而該計數器的計數值也就能確實反應這Y個資料單元被讀取的次數。
為克服讀取干擾的影響,當某一計數器的計數值大於一臨界值時,本發明就會刷新該計數器對應的各個資料單元,譬如說是在快閃記憶體中找出未被使用的資料單元(譬如說是已被抹除的備用資料單元)當作取代資料單元,以將該計數器對應的各資料單元的資料分別寫入至取代資料單元。也就是說,本發明是藉由計數器來進行讀取次數的記錄與監控;在各資料單元被讀取的次數累積到將要影響資料安全之前,本發明就會將資料以重新寫入的方式來予以刷新。由於重新寫入會重新將足夠的電荷注入至浮動閘極,故能維護資料,保持資料的正確性與可靠度,使資料能夠再繼續承受後續的讀取,克服讀取干擾。在利用取代資料單元刷新一計數器對應的各該資料單元後,各取代資料單元所對應的計數器的計數值就可被設為一初始值。
如前面描述的,在實現本發明時,一個區塊中的N個資料單元(分頁)可分配對應至Z個計數器,而Z可以大於1。由於快閃記憶體會以區塊為單位來進行資料抹除與寫入,本發明可用區塊為單位來進行資料刷新。針對某一區塊的Z個計數器,若這Z個計數器中有某一個計數器的計數值已經大於臨界值,本發明就可刷新該區塊中的所有N個資料單元,譬如說是在快閃記憶體中找出另一個未被使用的區塊作為取代區塊,以將這N個資料單元中的資料寫入至取代區塊中的N個對應資料單元。刷新該區塊後,取代區塊對應的Z個計數器的計數值可一起被設為初始值。
在一實施例中,當為各資料單元配置計數器時,係於一揮發性記憶體(如靜態及/或動態隨機存取記憶體)中配置各計數器。譬如說,若揮發性記憶體中有X位元組(byte)可用以配置計數器,每個計數器使用2個位元組(可記錄0到65535的計數值),則X位元組可配置出(X/2)個計數器。由於快閃記憶體的M個區塊分別對應Z個計數器,總共使用M*Z個計數器,故(M*Z)=X/2,即Z=X/(2*M)。也就是說,根據揮發性記憶體中可用於配置計數器的位元組總數X,以及快閃記憶體中的區塊總數M,就可計算出各區塊所能對應到的計數器數目Z;連帶地,各計數器所對應的資料單元(分頁)總數Y就可計算為Y=N/Z,其中N為一區塊中的資料單元總數。
當要停止使用快閃記憶體時,各計數器的計數值可被回寫至快閃記憶體中,以將這些計數值以非揮發性的方式保留下來。當要再度開始使用快閃記憶體時,就可將快閃記憶體中記錄的計數值載入至揮發性記憶體中所配置的各計數器,以便能繼續累計快閃記憶體各資料單元的被讀取次數。
本發明的另一目的是提供一種應用於一快閃記憶體的控制器,包含有一存取模組、一計數模組及一判斷模組,以利用本發明技術來克服快閃記憶體的讀取干擾。快閃記憶體中有複數個資料單元;存取模組耦接快閃記憶體以存取快閃記憶體。計數模組計數快閃記憶體中該些資料單元(分頁)被讀取的次數並產生複數個計數值,判斷模組則根據該些計數值選擇性地刷新該些資料單元中的資料。
在一實施例中,計數模組耦接複數個計數器,記錄該些計數值;每一資料單元對應其中一個計數器,每一計數值反應資料單元被讀取的次數。當某一資料單元被讀取時,計數模組會在該資料單元對應的計數器中將一預設增量累增至該計數器的計數值中,以依據計數器中的計數值計數對應資料單元被讀取的次數。譬如說,快閃記憶體中有M個區塊,各區塊中有N個資料單元(分頁),每Y個(Y大於或等於1)資料單元可共同對應於同一個計數器,使每一區塊對應Z個計數器。
存取模組更耦接一緩衝記憶體,緩衝記憶體的記憶容量關聯於同一計數器所對應的Y個資料單元。當存取模組讀取某一資料單元時,存取模組針對該被讀取資料單元所對應的計數器一併讀取與同一計數器對應的其他(Y-1)個資料單元,以將該計數器對應的Y個資料單元的資料一起讀入至緩衝記憶體。如此可使同一計數器對應的Y個資料單元的被讀取次數相同,而緩衝記憶體中的資料也可作為快取。
當某一計數器的計數值大於一臨界值時,判斷模組使存取模組刷新該計數器對應的Y個資料單元。判斷模組會在快閃記憶體中分別為各待刷新資料單元找出一未被使用的資料單元以作為一取代資料單元,存取模組則將該計數器對應的各資料單元的資料分別寫入至各對應的取代資料單元。
譬如說,當某一區塊對應的Z個計數器中有某一個計數器的計數值大於臨界值時,該計數器與其他(Z-1)個計數器所對應的所有資料單元(也就是該區塊中的所有資料單元)都將被刷新;判斷模組會為此一待刷新區塊找出一個未被使用的區塊以作為取代區塊,而存取模組就可將待刷新區塊中各個資料單元的資料重新寫入至取代區塊中的對應資料單元。刷新後,計數模組將該些取代資料單元對應的Z個計數器的計數值重設為一初始值。
如前面描述過的,各計數器可被配置於一揮發性記憶體中。當控制器要停止使用快閃記憶體時,存取模組會將各計數器的計數值回寫至快閃記憶體中。等要重新開始使用快閃記憶體時,存取模組就可將快閃記憶體中記錄的計數值載入至揮發性記憶體中所配置的計數器。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下。
如前面描述的,本發明係針對快閃記憶體被使用的狀況(如各資料單元被讀取的次數)適當地以資料刷新來維護快閃記憶體中的資料,避免讀取干擾的負面影響。快閃記憶體中可設有M個區塊,每個區塊中設置N個資料單元(如分頁),每一資料單元儲存複數個位元的資料。在快閃記憶體中,資料的抹除與寫入都是以區塊為單位而進行。也就是說,快閃記憶體不能只抹除某一區塊中的某些資料單元(如分頁)而不抹除該區塊中的其他資料單元;同一區塊的所有資料單元會一併被抹除,資料抹除後才能進行資料寫入。由於資料刷新涉及資料重新寫入,故本發明可用區塊為單位來進行資料刷新。
請參考第1圖,其所示意的是依據本發明一實施例而在快閃記憶體中進行資料刷新的流程100。流程100的主要步驟可描述如下:
步驟102:為刷新某一區塊B(i),開始進行流程100。
步驟104:在快閃記憶體中找出另一個未被使用的區塊B(j),並將區塊B(i)的資料複製寫入至區塊B(j)。快閃記憶體中會保留某些區塊作為備用的區塊,這些備用的區塊不會被計算在快閃記憶體所能提供的記憶空間中。此步驟就是要找出一個備用的區塊B(j)作為區塊B(i)的取代區塊,以便為區塊B(i)中的資料進行資料刷新。
在一實施例中,步驟104可進行如下:先找出一個未被使用的備用區塊B(j),再將區塊B(j)抹除,以便將區塊B(i)中的資料寫入至區塊B(j)中,而原本的區塊B(i)就可被當作是一個未被使用的備用區塊。若流程100要再度進行而刷新另一區塊B(k),上一次被歸為未使用的備用區塊B(i)可能被選為此次要使用的備用區塊,因此在進行另一輪的步驟104時,備用區塊B(i)的資料則被抹除,並將區塊B(k)的資料寫入至區塊B(i),而區塊B(k)則被歸為未被使用的備用區塊。
然而,本發明在另一實施例中,步驟104為:找出未被使用且已被抹除的備用區塊B(j),將區塊B(i)的資料寫入複製至區塊B(j)中,再於原本的區塊B(i)中進行資料抹除,使區塊B(i)變成一個未被使用且已被抹除的備用區塊。當流程100為刷新區塊B(k)而要再度進行步驟104時,區塊B(k)的資料就可直接寫入至區塊B(i)中,而區塊B(k)會被抹除,成為未被使用且已被抹除的備用區塊。
無論是那一種實施例,本發明之步驟104的基本目的都是將區塊B(i)中的資料寫入/複製至一個已被抹除的取代區塊B(j)中。
步驟104之後接著為步驟106:區塊B(i)的資料已被複製至區塊B(j)中,而區塊B(j)就可用來取代原本的區塊B(i)。在一電子系統中應用快閃記憶體時,電子系統的主控端(host)會依據邏輯位址來定址快閃記憶體,將快閃記憶體的記憶空間定址為不同的邏輯位址;邏輯位址會依照一位址對照表(lookup table)而被對應至實體位址,而快閃記憶體則依據實體位址進行資料存取。譬如說,邏輯位址可以是依據扇區(sector)為單位而劃分快閃記憶體的記憶空間,每個扇區儲存複數個位元/位元組的資料;而位址對照表則將各扇區分別對應至快閃記憶體中各實體區塊的各資料單元(分頁)。在步驟106中,就是要修改此位址對照表,將區塊B(i)原本對應的邏輯位址Add(i)轉移給區塊B(j),使區塊B(j)對應區塊B(i)原本的邏輯位址Add(i),而區塊B(i)本身則被重新定位成一個備用的區塊。
在流程100完成後,對主控端來說,邏輯位址Add(i)的資料沒有改變;但就快閃記憶體而言,邏輯位址Add(i)的資料已經從原先的區塊B(i)中被刷新至區塊B(j)。在流程100進行前,在區塊B(i)的各浮動閘極中的電荷會因讀取而逐漸流失,危及邏輯位址Add(i)中的資料安全;但在進行流程100後,足夠的電荷會被注入至區塊B(j)的對應浮動閘極以重新建立邏輯位址Add(i)的資料,使邏輯位址Add(i)的資料能擁有充分的餘裕繼續因應後續的讀取。
為監控快閃記憶體被使用的狀況(如各資料單元被讀取的次數)以適當地利用流程100的資料刷新來維護快閃記憶體中的資料,本發明可為快閃記憶體中的每Y個資料單元(Y大於或等於1)配置一個計數器,使這Y個資料單元對應於同一個計數器。因此,每一區塊中的N個資料單元會對應至Z個計數器,Z=N/Y,而Z可以大於或等於1。請參考第2圖,其所示意的流程200即為本發明依據快閃記憶體被讀取次數進行資料刷新以維護資料的一種實施例。流程200的主要步驟可描述如下:
步驟202:開始資料讀取。主控端發出指令以讀取快閃記憶體中的某個(或某些)扇區。依據前述的位址對照表,快閃記憶體便可讀取該(些)扇區對應的實體分頁。
步驟204:在快閃記憶體讀取各實體的分頁時,針對各分頁對應的計數器,將一預設增量累計至各對應計數器的計數值中。譬如說,若有Y個資料單元共用一個計數器C(k),當這Y個資料單元的其中一個(或數個)被讀取時,就可在計數器C(k)中累增預設增量,代表此Y個資料單元被讀取次數增加。
步驟206:判斷計數器的計數值是否已經大於一臨界值。若是,則進行至步驟210以進行資料刷新。若否,則可進行至步驟208。如前所述,一區塊可以對應Z個計數器,而在本發明一實施例中,若某一區塊B(i)對應的Z個計數器中有任何一個計數器的計數值已經超過臨界值,就可進行至步驟210以刷新區塊B(i)的資料。
步驟208:結束資料讀取。等下次主控端再度讀取快閃記憶體時,可由步驟202重新開始流程200。
步驟210:可依據流程100進行資料刷新。譬如說,若在步驟206中已判定要對區塊B(i)進行資料刷新,就可將區塊B(i)中各資料單元的資料複製至另一個備用取代區塊B(j),並對應修改位址對照表,將區塊B(i)的邏輯位址Add(i)改對應至區塊B(j),也就是將區塊B(i)中各資料單元的邏輯位址改指向至區塊B(j)中的各對應資料單元,使區塊B(j)得以取代區塊B(i)。
步驟212:在步驟210中將原先在區塊B(i)中的資料複製/寫入至區塊B(j)後,便可將取代區塊B(j)對應的Z個計數器統一重設為初始值,代表邏輯位址Add(i)的資料又可再度承受後續的讀取,達到本發明克服讀取干擾的目的。等下次主控端再度讀取快閃記憶體時,可再由步驟202重新開始流程200。
步驟214:對快閃記憶體來說,資料寫入亦等效於資料刷新。當主控端要將資料寫入至某一扇區時,同樣可進行至步驟210,將該扇區對應的區塊刷新,並重設對應計數器的計數值。譬如說,若該扇區的資料原先儲存於區塊B(i),便可在步驟210中將區塊B(i)的資料寫入至取代的區塊B(j),並在步驟212中針對區塊B(j)所對應的Z個計數器重設其計數值。
步驟216:在進行步驟202的資料讀取時,可針對讀出的資料進行錯誤更正碼(ECC,Error Correction Code)的檢查。若錯誤更正碼反應讀出的資料有誤但可予以修復,就可依據錯誤更正碼計算出正確的資料,並將正確的資料重新回寫至快閃記憶體,等效上也就是進行步驟210的資料刷新與步驟212的計數器重設。
值得強調的是,錯誤更正碼修復錯誤的能力是有限的;若未採用本發明技術,快閃記憶體因持續讀取而累積的資料流失與錯誤終將超過錯誤更正碼的能力所及,導致無法修復的嚴重資料錯誤。相較之下,本發明技術可與錯誤更正碼相輔相成;在同一區塊被讀取的次數不斷累積而使資料錯誤程度超過錯誤更正碼能修復的程度之前,本發明就會進行資料刷新,以充足的電荷重新建立資料,中斷資料錯誤的累積,使資料錯誤程度能被限制在錯誤更正碼所能修復的範圍內。本發明可依據資料錯誤累積的統計特性來設定步驟212中的初始值(與步驟206中的臨界值)。譬如說,若某一快閃記憶體在其浮動閘極中保留電荷的能力較佳,每次讀取所流失的電荷較少,則臨界值與初始值間的差異可加大,代表該快閃記憶體能容忍較多次的讀取次數累積。相對地,若某一快閃記憶體流失資料的程度較為嚴重,其臨界值與初始值間差異則可縮減,使資料刷新能較為頻繁地被(步驟210)觸發進行,以克服較為嚴重的讀取干擾。
本發明於第1圖與第2圖的技術可應用於第3圖的電子系統實施例;在此電子系統300中設有一控制器10、一快閃記憶體20、一揮發性記憶體18與一緩衝記憶體22。快閃記憶體20可以是一非及架構(NAND)的多級單元型(MLC,Multi-Level Cell)快閃記憶體或其他種類的快閃記憶體,以便為電子系統300提供非揮發性的記憶空間。快閃記憶體20中設有M個區塊B(0)至B(M-1),每個區塊B(m)(m=1至(M-1))設有N個資料單元(分頁)P(m*N)至P((m+1)*N-1);譬如說,區塊B(0)中有N個資料單元P(0)至P(N-1),區塊B(M-1)中有N個資料單元P((M-1)*N)至P(M*N-1)。
揮發性記憶體18可以是動態或靜態隨機存取記憶體,以為電子系統300提供揮發性的記憶空間,譬如說是為控制器10提供其運作所需的暫存記憶空間。緩衝記憶體22亦為揮發性記憶體。譬如說,緩衝記憶體22與揮發性記憶體18可實現於同一揮發性記憶裝置中;或者,緩衝記憶體22可用暫存器(如先進先出暫存器)獨立實現。控制器10可存取快閃記憶體20,而緩衝記憶體22即用以為快閃記憶體的存取提供緩衝記憶空間。舉例來說,當控制器10讀取快閃記憶體20時,由快閃記憶體20讀出的資料可暫存於緩衝記憶體22中;當控制器10要寫入快閃記憶體20前,要寫入至快閃記憶體20的資料也可先暫存於緩衝記憶體22。
為實現本發明,控制器10設有一存取模組12、一計數模組14及一判斷模組16。存取模組12經由適當的介面電路(未示於第3圖)耦接快閃記憶體20以存取快閃記憶體20,亦耦接揮發性記憶體18與緩衝記憶體22以進行存取。計數模組14計數各資料單元P(0)至P(M*N-1)被讀取的次數,判斷模組16根據各資料單元被讀取的次數決定是否刷新各資料單元中的資料。
如第3圖所示,計數模組14可經由存取模組12存取揮發性記憶體18,以在揮發性記憶體18中配置出複數個計數器C(0)至C(M*Z-1)。計數模組14耦接這些計數器,每一計數器記錄一計數值,且每一資料單元對應該些計數器的其中之一。當存取模組12讀取各資料單元時,計數模組14在各資料單元對應的計數器中將一預設增量累增至計數值中,以依據各計數器中的計數值計數各資料單元被讀取的次數。在第3圖的實施例中,每Y個資料單元(Y大於或等於1)會被對應同一計數器;譬如說,資料單元P(0)至P(Y-1)對應計數器C(0),資料單元P(m*N)至P(m*N+Y-1)對應計數器C(m*Z),以此類推。
在配置計數器時,若揮發性記憶體18中有X位元組(byte)可用以配置計數器,每個計數器使用2個位元組(可記錄0到65535的計數值),則X位元組可配置出(X/2)個計數器。由於快閃記憶體20的M個區塊分別對應Z個計數器,總共使用M*Z個計數器,故(M*Z)=X/2,即Z=X/(2*M)。也就是說,根據揮發性記憶體18中可用於配置計數器的位元組總數X,以及快閃記憶體20中的區塊總數M,就可計算出各區塊所能對應到的計數器數目Z;連帶地,各計數器所對應的資料單元(分頁)總數Y就可計算為Y=N/Z,其中N為一區塊中的資料單元總數。
由於每Y個資料單元P(k*Y)至P((k+1)*Y-1)對應同一計數器C(k)(k=1至(M*Z-1)),緩衝記憶體22的記憶容量可關聯於一計數器所對應的Y個資料單元。當存取模組12在資料單元P(k*Y)至P((k+1)*Y-1)中讀取某一資料單元時,存取模組12可針對這些資料單元所對應的計數器C(k)一併讀取與同一計數器C(k)對應的其他(Y-1)個資料單元,以將計數器C(k)對應的Y個資料單元的資料一起讀入至緩衝記憶體22,並在計數器C(k)的計數值上累增一增量值。如此可使同一計數器對應的Y個資料單元的被讀取次數相同,而緩衝記憶體22中的資料也可作為快取。
就如第2圖中的流程200,當有一計數器C(k)的計數值大於臨界值時,判斷模組16便可使存取模組12刷新計數器C(k)對應的各資料單元P(k*Y)至P((k+1)*Y-1)。譬如說,判斷模組16可在資料單元P(0)至P(M*N-1)中找出另外Y個未被使用的備用資料單元P(k’*Y)至P((k’+1)*Y-1),作為待刷新資料單元P(k*Y)至P((k+1)*Y-1)的取代資料單元;而存取模組12就可將資料單元P(k*Y)至P((k+1)*Y-1)的資料對應地複製寫入至各取代資料單元P(k’*Y)至P((k’+1)*Y-1),計數模組14則將資料單元P(k’*Y)至P((k’+1)*Y-1)對應的計數器C(k’)重新設定為初始值。在實際運作時,存取模組12會針對資料單元P(k*Y)至P((k+1)*Y-1)所屬的區塊B(i)進行資料刷新;也就是說,判斷模組16會在各區塊B(0)至B(M-1)中找出一個未被使用的備用區塊B(j)以取代待刷新區塊B(i),而存取模組12便會將整個區塊B(i)中的所有N個資料單元分別複製寫入至取代區塊B(j)中的N個對應資料單元,而計數模組14則將區塊B(j)所對應的Z個計數器重設為初始值。
當控制器10要停止使用快閃記憶體20時,存取模組12可將各計數器C(0)至C(M*Z-1)的計數值回寫至快閃記憶體20中。當控制器10要再度開始使用快閃記憶體20時,存取模組12便可將快閃記憶體20中記錄的計數值載入至揮發性記憶體18中所配置的計數器C(0)至C(M*Z-1),以持續監控快閃記憶體20被讀取的情形。譬如說,當電子系統300要關機時,就可將揮發性記憶體18中的計數值寫入至快閃記憶體20,以利用非揮發性的方式保留這些計數值;等電子系統300再度開機時,便可利用這些計數值為基礎,繼續累計快閃記憶體20被讀取的次數。或者,快閃記憶體20可以是一個可插拔的記憶裝置;當要將快閃記憶體20由電子系統300移除時,便可先將計數值寫入至快閃記憶體20;等快閃記憶體20再度插入至電子系統300時,就可由快閃記憶體20中將原先保留的計數值載入至揮發性記憶體18的對應計數器中。
在控制器10中,計數模組14與判斷模組16的功能可由控制器10中的微處理核心(未示於第3圖)執行軟體或韌體程式碼而實現。緩衝記憶體22及/或揮發性記憶體18可和控制器10一起整合於同一控制晶片中。或者,控制器10、緩衝記憶體22及/或揮發性記憶體18可以是不同的晶片。
總結來說,本發明可依據快閃記憶體被使用的情形(被讀取的次數)適當地刷新快閃記憶體中的資料,以維護資料的完整與正確。在某些視訊電子系統(譬如說是數位相框)中,會因為畫面更新而頻繁地讀取快閃記憶體中的視訊資料,使此種電子系統對快閃記憶體的讀取干擾十分敏感。若在此種電子系統中應用本發明,就可以克服快閃記憶體的讀取干擾,有效避免讀取次數累積所導致的資料錯誤與流失。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
本案圖式中所包含之各元件列示如下:
10...控制器
12...存取模組
14...計數模組
16...判斷模組
18...揮發性記憶體
20...快閃記憶體
22...緩衝記憶體
300...電子系統
100、200...流程
102-106、202-216...步驟
B(.)...區塊
P(.)...資料單元
C(.)...計數器
本案得藉由下列圖式及說明,俾得一更深入之了解:
第1圖所示係依據本發明一實施例而進行資料刷新的流程。
第2圖所示係依據本發明一實施例以利用讀取次數的監控觸發資料刷新的流程。
第3圖所示係依據本發明一實施例的電子系統。
200...流程
202-216...步驟
Claims (10)
- 一種應用於一快閃記憶體的方法,該快閃記憶體設有一第一區塊與一第二區塊,該第一區塊包括一第一分頁與一第二分頁,該方法包含:配置一第一計數器以對應該第一分頁,並配置一第二計數器以對應該第二分頁;當該第一分頁被讀取時,將一預設增量累計至該第一計數器的一第一計數值中;當該第二分頁被讀取時,將該預設增量累計至該第二計數器的一第二計數值中;以及當該第一計數值或該第二計數值超過一臨界值,刷新該第一區塊;其中,當刷新該第一區塊時,該第二區塊係一被抹除的取代區塊,該第一區塊的資料係被直接寫入至該第二區塊,並修改一位址對照表,將該第一區塊的邏輯位址指向該第二區塊;並且,在刷新該第一區塊後,係使該第一區塊成為該取代區塊。
- 如申請專利範圍第1項的方法,其中,該第一區塊更包含一第三分頁;當配置該第一計數器時,係使該第一分頁與該第三分頁對應於同一該第一計數器;而該方法更包含:當該第三分頁被讀取時,將該預設增量累計至該第一計數器的該第一計數值中。
- 如申請專利範圍第2項的方法,更包含:當要讀取該第一分頁時,一併讀取該第三分頁。
- 如申請專利範圍第1項的方法,更包含:配置複數個第三計數器以對應該第二區塊;當刷新該第一區塊時,將各該第三計數器的計數值設為一初始值,以使原先儲存於該第一區塊的資料可再度承受後續讀取。
- 如申請專利範圍第1項的方法,其中,當配置該第一計數器與該第二計數器時,係於一揮發性記憶體中配置該第一計數器與該第二計數器;而該方法更包含:當要停止使用該快閃記憶體時,將該第一計數器的該第一計數值與該第二計數器的該第二計數值回寫至該快閃記憶體中。
- 如申請專利範圍第5項的方法,更包含:當要開始使用該快閃記憶體時,將該快閃記憶體中記錄的該第一計數值與該第二計數值分別載入至該揮發性記憶體中所配置的該第一計數器與該第二計數器。
- 一種應用於一快閃記憶體的控制器,該快閃記憶體設有一第一區塊與一第二區塊,該第一區塊包含一第一分頁與一第二分頁以儲存資料,而該控制器包含有:一存取模組,耦接於該快閃記憶體,以存取該快閃記憶體;一計數模組,耦接一第一計數器與一第二計數器,計數該第一分頁被讀取的次數以產生一第一計數值,並計數該第二分頁被讀取的次數以產生一第二計數值;其中,該第一計數器對應該第一分頁,用以記錄該第一計數值;該第二計數器對應該第二分頁,用以記錄該第二計數值;當 該第一分頁被讀取時,該計數模組係使一預設增量累計至該第一計數器的該第一計數值中;當該第二分頁被讀取時,該計數模組係使該預設增量累計至該第二計數器的該第二計數值中;以及一判斷模組,根據該第一計數值與該第二計數值以選擇性地刷新(refresh)該第一區塊中的資料;其中,當該第一計數值或該第二計數值超過一臨界值,該判斷模組使該存取模組刷新該第一區塊;當刷新該第一區塊時,該第二區塊係一被抹除的取代區塊,該存取模組係將該第一區塊的資料直接寫入至該第二區塊;並且,一位址對照表會被修改,以將該第一區塊的邏輯位址指向該第二區塊;以及在刷新該第一區塊後,該第一區塊會成為該取代區塊。
- 如申請專利範圍第7項的控制器,其中,該第一區塊更包含一第三分頁,該計數模組係將該第一分頁與該第三分頁對應於同一該第一計數器;當該第三分頁被讀取時,該計數模組係使該預設增量累計至該第一計數器的該第一計數值中。
- 如申請專利範圍第8項的控制器,其中該存取模組更耦接一緩衝記憶體,該緩衝記憶體的記憶容量關聯於該第一計數器所對應的該第一分頁與該第三分頁;當該存取模組讀取該第一分頁與該第三分頁的其中之一時,該存取模組一併讀取該第一分頁與該第三分頁中的另一個,以將該第一計數器對應的該第一分頁與該第三分頁的資料讀入至該緩衝記憶體。
- 如申請專利範圍第7項的控制器,其中,該計數模組更耦接複數個第三計數器,該複數個第三計數器係對應該第二區塊;當該存取模組刷新該第一區塊時,該計數模組將各該第三計數器的計數值設為一初始值,以使原先儲存於該第一區塊的資料可再度承受後續讀取。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099127204A TWI490869B (zh) | 2010-08-13 | 2010-08-13 | 應用於快閃記憶體的方法與相關的控制器 |
US13/112,294 US20120042118A1 (en) | 2010-08-13 | 2011-05-20 | Method for Flash Memory and Associated Controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW099127204A TWI490869B (zh) | 2010-08-13 | 2010-08-13 | 應用於快閃記憶體的方法與相關的控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201207859A TW201207859A (en) | 2012-02-16 |
TWI490869B true TWI490869B (zh) | 2015-07-01 |
Family
ID=45565617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099127204A TWI490869B (zh) | 2010-08-13 | 2010-08-13 | 應用於快閃記憶體的方法與相關的控制器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120042118A1 (zh) |
TW (1) | TWI490869B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904479B1 (en) | 2016-11-10 | 2018-02-27 | Innodisk Corporation | Method for extending period of data retention of flash memory device and device for the same |
US20220188222A1 (en) * | 2020-12-15 | 2022-06-16 | Kabushiki Kaisha Toshiba | Electronic apparatus, method, and storage medium |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141534B2 (en) | 2012-12-14 | 2015-09-22 | Sandisk Technologies Inc. | Tracking read accesses to regions of non-volatile memory |
KR20160042224A (ko) | 2014-10-07 | 2016-04-19 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US20160118132A1 (en) * | 2014-10-27 | 2016-04-28 | Sandisk Enterprise Ip Llc | Low Impact Read Disturb Handling |
KR102377054B1 (ko) * | 2017-08-08 | 2022-03-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10586592B1 (en) * | 2018-08-23 | 2020-03-10 | Micron Technology, Inc. | Disturb management based on write times |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050201153A1 (en) * | 2001-08-30 | 2005-09-15 | Shuba Swaminathan | Controller for refreshing memories |
US20070011421A1 (en) * | 2005-07-07 | 2007-01-11 | Keller Thomas W Jr | Method and system for decreasing power consumption in memory arrays having usage-driven power management |
US20080259708A1 (en) * | 2007-02-07 | 2008-10-23 | Megachips Corporation | Memory controller |
US20080288814A1 (en) * | 2007-05-16 | 2008-11-20 | Jun Kitahara | Apparatus for detecting and recovering from data destruction caused in an unaccessed memory cell by read, and method therefor |
US20090144489A1 (en) * | 2007-09-28 | 2009-06-04 | Denso Corporation | Electronic device and program for operating the same |
US20090172267A1 (en) * | 2007-12-27 | 2009-07-02 | Hagiwara Sys-Com Co., Ltd. | Refresh method of a flash memory |
-
2010
- 2010-08-13 TW TW099127204A patent/TWI490869B/zh not_active IP Right Cessation
-
2011
- 2011-05-20 US US13/112,294 patent/US20120042118A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050201153A1 (en) * | 2001-08-30 | 2005-09-15 | Shuba Swaminathan | Controller for refreshing memories |
US20070011421A1 (en) * | 2005-07-07 | 2007-01-11 | Keller Thomas W Jr | Method and system for decreasing power consumption in memory arrays having usage-driven power management |
US20080259708A1 (en) * | 2007-02-07 | 2008-10-23 | Megachips Corporation | Memory controller |
US20080288814A1 (en) * | 2007-05-16 | 2008-11-20 | Jun Kitahara | Apparatus for detecting and recovering from data destruction caused in an unaccessed memory cell by read, and method therefor |
US20090144489A1 (en) * | 2007-09-28 | 2009-06-04 | Denso Corporation | Electronic device and program for operating the same |
US20090172267A1 (en) * | 2007-12-27 | 2009-07-02 | Hagiwara Sys-Com Co., Ltd. | Refresh method of a flash memory |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904479B1 (en) | 2016-11-10 | 2018-02-27 | Innodisk Corporation | Method for extending period of data retention of flash memory device and device for the same |
TWI626657B (zh) * | 2016-11-10 | 2018-06-11 | 宜鼎國際股份有限公司 | 延長快閃記憶體資料保存期之方法及其裝置 |
US20220188222A1 (en) * | 2020-12-15 | 2022-06-16 | Kabushiki Kaisha Toshiba | Electronic apparatus, method, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
TW201207859A (en) | 2012-02-16 |
US20120042118A1 (en) | 2012-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11769557B2 (en) | Techniques for preventing read disturb in NAND memory | |
CN108269604B (zh) | 用于读取干扰检测以及处理的方法和装置 | |
TWI490869B (zh) | 應用於快閃記憶體的方法與相關的控制器 | |
US7941692B2 (en) | NAND power fail recovery | |
US8458417B2 (en) | Garbage collection in a storage device | |
JP4256175B2 (ja) | 不揮発性半導体メモリ | |
TWI402848B (zh) | 半導體記憶裝置 | |
US8411519B2 (en) | Selective retirement of blocks | |
US10048863B1 (en) | Open block refresh management | |
US8055834B2 (en) | Method for preventing read-disturb happened in non-volatile memory and controller thereof | |
US20170039141A1 (en) | Mapping table updating method, memory storage device and memory control circuit unit | |
TWI382422B (zh) | 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法 | |
TWI566252B (zh) | 非揮發性記憶體裝置進行耗損管理之方法 | |
US8332696B2 (en) | Defect management method for storage medium and system thereof | |
US10818371B2 (en) | Data storage devices and data processing methods | |
US9483397B2 (en) | Erase management in memory systems | |
US10437512B2 (en) | Techniques for non-volatile memory page retirement | |
TWI388982B (zh) | 包含具有電荷累積層及控制閘極之記憶胞的半導體記憶裝置及記憶系統 | |
US9465539B2 (en) | Operation management in a memory device | |
JP2019192316A (ja) | 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法 | |
CN105489242B (zh) | 数据储存器件及其操作方法 | |
US9910729B1 (en) | Restoring ECC syndrome in non-volatile memory devices | |
CN102376362B (zh) | 应用于快闪存储器的方法与相关的控制器 | |
JP5494086B2 (ja) | 不揮発性記憶装置および不揮発性メモリコントローラ | |
US20200233604A1 (en) | Information processing apparatus, storage control apparatus, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |