TWI475564B - 記憶體之資料寫入方法及資料儲存裝置 - Google Patents
記憶體之資料寫入方法及資料儲存裝置 Download PDFInfo
- Publication number
- TWI475564B TWI475564B TW099112467A TW99112467A TWI475564B TW I475564 B TWI475564 B TW I475564B TW 099112467 A TW099112467 A TW 099112467A TW 99112467 A TW99112467 A TW 99112467A TW I475564 B TWI475564 B TW I475564B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- blank
- block
- area
- blocks
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Description
本發明係有關於記憶體,特別是有關於快閃記憶體(flash memory)。
快閃記憶體(flash memory)包括多個區塊(block),每一區塊包括多個頁(page)以供資料儲存。此外,快閃記憶體的每一區塊分別對應至不同的位址。當主機欲存取快閃記憶體之資料時,主機會向快閃記憶體之控制器發送存取命令,該存取命令包括所欲存取的區塊的位址。例如,當快閃記憶體自控制器接收寫入命令時,便依控制器的指示將資料儲存至寫入位址所對應的區塊的某些頁。當快閃記憶體自控制器收到讀取命令時,便依控制器的指示自讀取位址對應的區塊的某些頁讀出資料而回傳資料至控制器。
當快閃記憶體的一區塊的多個頁皆被寫入資料後,該區塊便無法再次被寫入資料。因此,快閃記憶體的多個區塊可以大致分為資料區與空白區(spare pool)兩區,資料區的區塊係已儲存資料的區塊,而空白區的區塊係未儲存資料的區塊。當主機欲寫入資料至對應於位於資料區的一資料區塊的位址時,由於該資料區塊已無法再被寫入更新資料,控制器便只好自空白區取得一空白區塊,將該空白區塊的位址改為該資料區塊的位址,再將更新資料轉寫入至該空白區塊。此時原本的資料區塊已無用,控制器便抹除該資料區塊的資料,以將資料區塊轉換為空白區塊而置入空白區中。
一般來說,當控制器自空白區選取一空白區塊供寫入更新資料時,控制器係運用先進先出法(first-in first-out,FIFO)。亦即,控制器會由空白區中選取被刪除資料的時間最早的空白區塊。第2圖為習知資料寫入方法200的流程圖。首先,控制器自主機接收一寫入命令(步驟202)。假設該寫入命令係要求控制器將寫入資料寫入至快閃記憶體之一第一資料區塊。由於該第一資料區塊已儲存資料,控制器無法再將寫入資料寫入該第一資料區塊。因此,控制器必須自快閃記憶體之空白區取得一目標空白區塊以代替該第一資料區塊儲存資料。依據先進先出法,控制器由空白區選取被清除資料的時間最早的一第一空白區塊(步驟204)。接著,控制器以該第一空白區塊作為一目標空白區塊(步驟206)。接著,控制器將該寫入資料寫入該目標空白區塊(步驟208)。此時,該目標空白區塊音儲存了寫入資料而取代了第一資料區塊的地位,並被置入資料區。原本的第一資料區塊因儲存舊資料而無用。因此,控制器清除該第一資料區塊之資料,以轉換該第一資料區塊為一空白區塊(步驟210),並將該第一資料區塊置入空白區,以留待日後使用。
第1A圖為快閃記憶體之資料區110與空白區120中區塊的示意圖。假設資料區110包括資料區塊111、112、11K、11P、11Y、11Z,各具有3、5、15、6、17、10次的清除次數。空白區120包括空白區塊121、122、123、124、12X,各具有12、11、30、7、9次的清除次數。假設控制器收到一寫入命令,欲將更新資料寫入資料區110的資料區塊11K。由於資料區塊11K已無法重新寫入資料,因此控制器依據先進先出法由空白區120選取資料清除時間最早的空白區塊121儲存資料區塊11K之更新資料。區塊121儲存資料後被置入資料區110,如第1B圖所示。而資料區塊11K被刪除資料後成為空白區塊被置入空白區120,且其清除次數增加為16次,如第1B圖所示。接著,假設控制器收到一寫入命令,欲將更新資料寫入資料區110的資料區塊11P。由於資料區塊11P已無法重新寫入資料,因此控制器依據先進先出法由空白區120選取資料清除時間最早的空白區塊122儲存資料區塊11P之更新資料。區塊122儲存資料後被置入資料區110,如第1C圖所示。而資料區塊11P被刪除資料後成為空白區塊被置入空白區120,且其清除次數增加為7次,如第1C圖所示。
然而,第2圖之資料寫入方法200具有缺陷存在。由於控制器在選取供儲存資料區塊之更新資料的目標空白區塊時係僅依據先進先出法(步驟204),控制器不會對目標空白區塊的清除次數大小進行判斷。因此,當目標空白區塊的清除次數很大時,一再使用該目標空白區塊儲存更新資料會使該目標空白區塊的清除次數增加快速,而提前磨損該區塊直至無法儲存資料。第3A圖為原第1C圖之資料區110與空白區120中多個區塊的示意圖。於第3A圖中,假設控制器收到一寫入命令,欲將更新資料寫入資料區110的資料區塊111。由於資料區塊111已無法重新寫入資料,因此控制器依據先進先出法由空白區120選取資料清除時間最早的空白區塊123儲存資料區塊111之更新資料。區塊123儲存資料後被置入資料區110,如第3B圖所示。而資料區塊111被刪除資料後成為空白區塊被置入空白區120,且其清除次數增加為4次,如第3B圖所示。空白區塊123的清除次數已達到30,卻仍被運用來儲存更新資料後置入資料區110,當區塊123再度被刪除資料時,會使區塊123的清除次數增高,而提早磨損。一般而言,控制器在選取目標空白區塊時必須盡量使用清除次數較低的空白區塊,避免使用清除次數很高的空白區塊,以使各區塊的使用頻率均等,從而延長記憶體的使用年限。因此,為了解決上述的問題,需要一種新的資料寫入方法。
有鑑於此,本發明之目的在於提供一種資料儲存裝置,以解決習知技術存在之問題。於一實施例中,該資料儲存裝置包括一記憶體以及一控制器。該記憶體包含一資料區與一空白區(spare pool),其中該資料區包含已儲存資料的多個資料區塊,該空白區包括未儲存資料的多個空白區塊。該控制器自一主機接收欲將一寫入資料寫入至該記憶體之一第一資料區塊的一寫入命令,將該空白區之該等空白區塊依清除次數(erase count)排序,自該空白區選取具有最小清除次數的一第一空白區塊,將該寫入資料寫入該第一空白區塊,以及清除該第一資料區塊儲存之資料以轉換該第一資料區塊為空白區塊並置入該空白區。
本發明提供一種記憶體之資料寫入方法。於一實施例中,該記憶體包含一資料區與一空白區(spare pool),該資料區包含已儲存資料的多個資料區塊,且該空白區包括未儲存資料的多個空白區塊。首先,自一主機接收欲將一寫入資料寫入至該記憶體之一第一資料區塊之一寫入命令。接著,將該空白區之該等空白區塊依清除次數(erase count)排序。接著,自該空白區選取具有最小清除次數的一第一空白區塊。接著,將該寫入資料寫入該第一空白區塊。最後,清除該第一資料區塊儲存之資料,以轉換該第一資料區塊為空白區塊並置入該空白區。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:
第4圖為依據本發明之資料儲存裝置408的區塊圖。資料儲存裝置408耦接至一主機406,包括控制器402與記憶體404。於一實施例中,記憶體404為一快閃記憶體。記憶體404包含多個區塊可儲存資料。記憶體404之區塊可分為兩群組。資料區410的區塊為已儲存資料的資料區塊411、412、…、41Z。空白區420的區塊為未儲存資料的空白區塊421、422、…、42X。控制器402則自主機406接收存取命令,再依據存取命令存取記憶體404之資料。
當控制器402由主機406接收到一寫入命令時,控制器402會依據寫入命令包含的位址找出於記憶體404中所對應的區塊。若該區塊係位於資料區410中的資料區塊,則因為該區塊已儲存資料,無法再將更新資料寫入該區塊。此時,控制器402便會由空白區420中取得一空白區塊,以供儲存原本欲寫入資料區塊的更新資料。然而,控制器402由空白區420中選取空白區塊的方法,並非依據第2圖的先進先出法,而是將空白區420的所有空白區塊依其清除次數(erase count)排序,再選取清除次數最小的空白區塊,以供儲存原本欲寫入資料區塊的更新資料。如此,每次控制器402執行寫入命令時,用以儲存寫入資料的空白區塊都是空白區420中清除次數最小的空白區塊。因此,控制器可避免使用清除次數很高的空白區塊作為目標空白區塊以儲存更新資料,以使記憶體404之各區塊的使用頻率均等,從而使各區塊的清除次數較為平均,以延長記憶體404的使用年限。因此,本發明之資料儲存裝置408可避免習知技術中某些特定區塊具有極高清除次數的情形,從而提升資料儲存裝置408的效能。
第5圖為依據本發明之資料寫入方法500的流程圖。首先,控制器402自主機406接收一寫入命令(步驟502)。假設該寫入命令係要求控制器402將寫入資料寫入至一寫入位址,其中該寫入位址對應於記憶體404的資料區410之一第一資料區塊。由於該第一資料區塊已儲存資料,因此控制器402無法直接將寫入資料寫入該第一資料區塊。因此,控制器402自空白區420中取得一空白區塊以儲存原欲寫入第一資料區塊的寫入資料。首先,控制器402將空白區420所有空白區塊依清除次數(erase count)排序(步驟504)。接著,控制器402檢查空白區420中清除次數大於一界限值之空白區塊的數目。若空白區420中清除次數大於該界限值之空白區塊的數目小於一特定值(步驟506),則控制器402不會進行磨損平均(wear-leveling)動作。磨損平均動作的步驟514~520將以第7A圖及第7B圖另行解釋。接著,控制器402自空白區選取具有最小清除次數的一第一空白區塊,以替代第一資料區塊儲存寫入資料(步驟508)。接著,控制器402將該寫入資料寫入選取出的該第一空白區塊(步驟510),並將該第一空白區塊的位址設為該第一資料區塊的位址。此時儲存舊資料的第一資料區塊已被儲存新資料的第一空白區塊所取代,因此控制器402清除該第一資料區塊之資料(步驟512),以轉換該第一資料區塊為一空白區塊並置入空白區420中。
第6A圖為快閃記憶體之資料區410與空白區420中區塊的示意圖。假設資料區410包括資料區塊411、412、41K、41P、41Y、41Z,各具有3、5、15、6、17、10次的清除次數。空白區420包括空白區塊421、422、423、424、425,各具有12、11、30、7、9次的清除次數。假設控制器402收到一寫入命令,欲將更新資料寫入資料區410的資料區塊41K。由於資料區塊41K已無法重新寫入資料,因此控制器402依據方法500將空白區420的區塊421~425依其清除次數排序。排序後清除次數最小的空白區塊為空白區塊424,因此控制器402選取空白區塊421,以供儲存資料區塊41K之更新資料。空白區塊424儲存資料後被置入資料區410,如第6B圖所示。而資料區塊41K被刪除資料後成為空白區塊,並被置入空白區420,且其清除次數增加為16次,如第6B圖所示。
接著,假設控制器420收到一寫入命令,欲將更新資料寫入資料區410的資料區塊41P。由於資料區塊41P已無法重新寫入資料,因此控制器方法500將空白區420的區塊421-423、425、及41K依其清除次數排序。排序後清除次數最小的空白區塊為空白區塊425,因此控制器402選取空白區塊425,以供儲存資料區塊41P之更新資料。空白區塊425儲存資料後被置入資料區410,如第6C圖所示。而資料區塊41P被刪除資料後成為空白區塊,被置入空白區420,且其清除次數增加為7次,如第6C圖所示。
接著討論第5圖之資料寫入方法500中的磨損平均動作的詳細步驟。於步驟506中,控制器402於空白區420中尋找清除次數大於界限值之過度磨損空白區塊,並計算過度磨損空白區塊的總數目。若控制器402發現該空白區420中過度磨損空白區塊的總數目過多時,則控制器402於步驟508中不容易自空白區420中找到具有較低清除次數的第一空白塊以供資料寫入。因此,控制器402自資料區410搜尋清除次數較小的一至多個資料區塊與空白區420中清除次數較大的空白區塊相置換,以降低空白區420中的過度磨損空白區塊的總數目。此一置換動作稱之為磨損平均(wear-leveling)。於步驟506中,若過度磨損空白區塊的總數目大於一特定值,表示空白區中的過度磨損空白區塊過多。於一實施例中,該特定值係大於或等於2的自然數。此時,控制器402自空白區420中選取具有最大清除次數之一第二空白區塊,以供與資料區410中的資料區塊互換(步驟514)。控制器402接著自資料區410中搜尋清除次數小於該界限值之一半的一第二資料區塊,以供與空白區420之過度磨損的第二空白區塊互換(步驟516)。接著,控制器402將該第二資料區塊之資料寫入該第二空白區塊(步驟518),並清除該第二資料區塊之資料以轉換該第二資料區塊為一空白區塊(步驟520),從而完成兩者的互換。因此,空白區420中過度磨損的第二空白區塊已被置換為清除次數較小的空白區塊,該空白區塊係由第二資料區塊轉換而得。
第7A圖及第7B圖為控制器依據本發明進行磨損平均動作的示意圖。假設資料區710包括資料區塊711、712、713、714、71Z,各具有16、18、12、7、20次的清除次數。空白區720包括空白區塊721、722、723、724、725,各具有12、11、30、32、9次的清除次數。假設清除次數大於或等於30次之界限值的空白區塊會被界定為過度磨損空白區塊。因此,控制器402搜尋到空白區720內的過度磨損空白區塊723、724,而空白區720內過度磨損空白區塊的總數目為2。假設步驟506的特定值為2,因此控制器必須進行磨損平均動作,以降低空白區720的過度磨損空白區塊的總數目。
控制器首先自空白區710選取具有最大清除次數32之一空白區塊724,以供與資料區710的資料區塊互換。控制器接著自資料區710搜尋清除次數小於該界限值之一半(15)的一資料區塊713,以供與空白區720的空白區塊724互換。控制器接著將資料區塊713之資料寫入空白區塊724,並清除資料區塊713之資料以轉換資料區塊713為一空白區塊並置入空白區720,如第7B圖所示。因此,空白區720中過度磨損的空白區塊724已被置換為清除次數較小的空白區塊713,從而降低空白區720中過度磨損空白區塊的總數目。
最後,於進行磨損平均動作的步驟518時,控制器402可能無法於資料區410搜尋到清除次數小於界限值之一半的資料區塊。此時,表示資料區410中所有的資料區塊的清除次數皆大於界限值。為使流程繼續進行,控制器將記憶體404的資料區410中的所有資料區塊的清除次數減去一數值,從而使所有資料區塊的清除次數變小。於一實施例中,該數值為清除次數之界限值的一半。當資料區410的資料區塊之清除次數皆變小後,控制器402便可自資料區410重新尋找清除次數小於界限值之一半的資料區塊,以供與該第二空白區塊互換。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
402...控制器
404...記憶體
406...主機
408...資料儲存裝置
410...資料區
420...空白區
411-41Z...資料區塊
421-42X...空白區塊
第1A圖將資料寫入記憶體的習知方法的第一示意圖;
第1B圖將資料寫入記憶體的習知方法的第二示意圖;
第1C圖將資料寫入記憶體的習知方法的第三示意圖;
第2圖為習知資料寫入方法的流程圖;
第3A圖為進行習知磨損平均動作的第一示意圖;
第3B圖為進行習知磨損平均動作的第二示意圖;
第4圖為依據本發明之資料儲存裝置的區塊圖;
第5圖為依據本發明之資料寫入方法的流程圖;
第6A圖為控制器依據本發明進行資料寫入的第一示意圖;
第6B圖為控制器依據本發明進行資料寫入的第二示意圖;
第6C圖為控制器依據本發明進行資料寫入的第三示意圖;
第7A圖為控制器依據本發明進行磨損平均動作的第一示意圖;以及
第7B圖為控制器依據本發明進行磨損平均動作的第二示意圖。
Claims (13)
- 一種記憶體之資料寫入方法,其中該記憶體包含一資料區與一空白區(spare pool),該資料區包含已儲存資料的多個資料區塊,該空白區包括未儲存資料的多個空白區塊,該方法包括:自一主機接收欲將一寫入資料寫入至該記憶體之一第一資料區塊之一寫入命令;將該空白區之該等空白區塊依清除次數(erase count)排序;自該空白區選取具有最小清除次數的一第一空白區塊;將該寫入資料寫入該第一空白區塊;清除該第一資料區塊儲存之資料,以轉換該第一資料區塊為空白區塊並置入該空白區;計算該空白區中清除次數大於一第一界限值之過度磨損空白區塊的數目;以及檢查是否該等過度磨損空白區塊的數目大於或等於一特定數目;若該等過度磨損空白區塊的數目大於或等於該特定數目,進行一磨損平均(wear-leveling)程序以將該等過度磨損空白區塊與該資料區中之資料區塊置換。
- 如申請專利範圍第1項所述之記憶體之資料寫入方法,其中該磨損平均程序之進行包括下列步驟:自該等過度磨損空白區塊選取具有最大清除次數之一第二空白區塊; 自該資料區取得清除次數小於一第二界限值的一第二資料區塊;將該第二資料區塊所儲存之資料寫入該第二空白區塊;以及清除該第二資料區塊之資料,以轉換該第二資料區塊為空白區塊並置入該空白區。
- 如申請專利範圍第2項所述之記憶體之資料寫入方法,其中該第二界限值為該第一界限值之一半。
- 如申請專利範圍第1項所述之記憶體之資料寫入方法,其中該特定數目為2。
- 如申請專利範圍第2項所述之記憶體之資料寫入方法,其中該第二資料區塊之取得步驟包括:當該資料區不具有清除次數小於該第二界限值的資料區塊時,將該資料區之所有資料區塊的清除次數減去一預定次數;以及自該資料區重新尋找清除次數小於該第二界限值的該第二資料區塊。
- 如申請專利範圍第5項所述之記憶體之資料寫入方法,其中該預定次數等於該第一界限值之一半。
- 一種資料儲存裝置,包括:一記憶體,包含一資料區與一空白區(spare pool),其中該資料區包含已儲存資料的多個資料區塊,該空白區包括未儲存資料的多個空白區塊;以及一控制器,自一主機接收欲將一寫入資料寫入至該記憶體之一第一資料區塊的一寫入命令,將該空白區之該等 空白區塊依清除次數(erase count)排序,自該空白區選取具有最小清除次數的一第一空白區塊,將該寫入資料寫入該第一空白區塊,清除該第一資料區塊儲存之資料以轉換該第一資料區塊為空白區塊並置入該空白區,計算該空白區中清除次數大於一第一界限值之過度磨損空白區塊的數目,檢查是否該等過度磨損空白區塊的數目大於或等於一特定數目,並於該等過度磨損空白區塊的數目大於或等於該特定數目時進行一磨損平均(wear-leveling)程序以將該等過度磨損空白區塊與該資料區中之資料區塊置換。
- 如申請專利範圍第7項所述之資料儲存裝置,其中該控制器自該等過度磨損空白區塊選取具有最大清除次數之一第二空白區塊,自該資料區取得清除次數小於一第二界限值的一第二資料區塊,將該第二資料區塊所儲存之資料寫入該第二空白區塊,以及清除該第二資料區塊之資料以轉換該第二資料區塊為空白區塊並置入該空白區,以進行該磨損平均程序。
- 如申請專利範圍第8項所述之資料儲存裝置,其中該第二界限值為該第一界限值之一半。
- 如申請專利範圍第8項所述之資料儲存裝置,其中當該資料區不具有清除次數小於該第二界限值的資料區塊時,該控制器將該資料區之所有資料區塊的清除次數減去一預定次數,以及自該資料區重新尋找清除次數小於該第二界限值的該第二資料區塊,以取得該第二資料區塊。
- 如申請專利範圍第10項所述之資料儲存裝置,其中該預定次數等於該第一界限值之一半。
- 一種記憶體之資料存取方法,其中該記憶體包含一資料區與一空白區(spare pool),該資料區包含已儲存資料的多個資料區塊,該空白區包括未儲存資料的多個空白區塊,該方法包括:計算該空白區中清除次數大於一第一界限值之過度磨損空白區塊的數目;以及若該等過度磨損空白區塊的數目大於或等於一特定數目,將該等過度磨損空白區塊與該資料區中之資料區塊置換。
- 一種資料儲存裝置,包括:一記憶體,包含一資料區與一空白區(spare pool),其中該資料區包含已儲存資料的多個資料區塊,該空白區包括未儲存資料的多個空白區塊;以及一控制器,用以計算該空白區中清除次數大於一第一界限值之過度磨損空白區塊的數目,當該等過度磨損空白區塊的數目大於或等於一特定數目時,將該等過度磨損空白區塊與該資料區中之資料區塊置換。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW099112467A TWI475564B (zh) | 2010-04-21 | 2010-04-21 | 記憶體之資料寫入方法及資料儲存裝置 |
| US13/088,553 US9075707B2 (en) | 2010-04-21 | 2011-04-18 | Data writing method and data storage device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW099112467A TWI475564B (zh) | 2010-04-21 | 2010-04-21 | 記憶體之資料寫入方法及資料儲存裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201137883A TW201137883A (en) | 2011-11-01 |
| TWI475564B true TWI475564B (zh) | 2015-03-01 |
Family
ID=44816761
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW099112467A TWI475564B (zh) | 2010-04-21 | 2010-04-21 | 記憶體之資料寫入方法及資料儲存裝置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9075707B2 (zh) |
| TW (1) | TWI475564B (zh) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013085488A1 (en) * | 2011-12-05 | 2013-06-13 | Intel Corporation | Background reordering - a preventive wear-out control mechanism with limited overhead |
| WO2013165378A1 (en) * | 2012-04-30 | 2013-11-07 | Empire Technology Development Llc | Numeric representation to improve life of solid state storage devices |
| CN105489246B (zh) * | 2014-09-16 | 2018-10-19 | 华邦电子股份有限公司 | Nor闪存及其修补方法 |
| US9336136B2 (en) | 2014-10-08 | 2016-05-10 | HGST Netherlands B.V. | Apparatus, systems, and methods for providing wear leveling in solid state devices |
| CN108563400B (zh) * | 2018-03-14 | 2021-05-11 | 上海卫星工程研究所 | 减少闪存0号块磨损的方法及系统 |
| US10838621B2 (en) * | 2018-08-14 | 2020-11-17 | Silicon Motion, Inc. | Method and flash memory controller capable of avoiding inefficient memory block swap or inefficient garbage collection |
| US10684916B2 (en) * | 2018-08-27 | 2020-06-16 | International Business Machines Corporation | Data set allocation technique to preserve deleted data sets |
| US10795810B2 (en) * | 2018-09-10 | 2020-10-06 | Micron Technology, Inc. | Wear-leveling scheme for memory subsystems |
| CN111078123B (zh) * | 2018-10-19 | 2022-10-04 | 浙江宇视科技有限公司 | 一种闪存块的磨损程度的评估方法及装置 |
| CN119895376A (zh) * | 2023-08-18 | 2025-04-25 | 长江存储科技有限责任公司 | 存储系统及其操作方法、计算机可读存储介质 |
| US12277332B2 (en) * | 2023-08-18 | 2025-04-15 | Macronix International Co., Ltd. | Method and memory device for performing wear leveling |
| CN117632038B (zh) * | 2024-01-25 | 2024-04-02 | 合肥兆芯电子有限公司 | 损耗平衡方法、存储器存储装置及存储器控制电路单元 |
Citations (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080177927A1 (en) * | 2007-01-23 | 2008-07-24 | Silicon Motion, Inc. | Storage Apparatus and Method for Accessing a Storage Apparatus |
| US20090089485A1 (en) * | 2007-09-27 | 2009-04-02 | Phison Electronics Corp. | Wear leveling method and controller using the same |
| US20090106484A1 (en) * | 2007-10-19 | 2009-04-23 | Phison Electronics Corp. | Data writing method for non-volatile memory and controller using the same |
| TW200926183A (en) * | 2007-12-07 | 2009-06-16 | Phison Electronics Corp | Flash memory data writing method and controller using the same |
| TW200926196A (en) * | 2007-12-07 | 2009-06-16 | Apacer Technology Inc | Method for flash memory storage device to store data |
| US20090180209A1 (en) * | 2005-09-22 | 2009-07-16 | Matsushita Electric Industrial Co., Ltd. | Information recording medium access device, and data recording method |
| US20090198875A1 (en) * | 2008-02-05 | 2009-08-06 | Phison Electronics Corp. | Data writing method for flash memory, and controller and system using the same |
| US20090265505A1 (en) * | 2008-04-18 | 2009-10-22 | Phison Electronics Corp. | Data writing method, and flash storage system and controller using the same |
| US20100017555A1 (en) * | 2008-07-18 | 2010-01-21 | Li-Pin Chang | Memory storage device and control method thereof |
| US20100023675A1 (en) * | 2008-07-23 | 2010-01-28 | Phison Electronics Corp. | Wear leveling method, and storage system and controller using the same |
| US20100077132A1 (en) * | 2008-09-25 | 2010-03-25 | Silicon Motion, Inc. | Memory devices and access methods thereof |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
| JP4444314B2 (ja) * | 2007-07-13 | 2010-03-31 | 株式会社東芝 | 半導体メモリ情報蓄積装置とその書き込み制御方法 |
| US7876616B2 (en) * | 2007-11-12 | 2011-01-25 | Cadence Design Systems, Inc. | System and method for wear leveling utilizing a relative wear counter |
| US8656083B2 (en) * | 2007-12-21 | 2014-02-18 | Spansion Llc | Frequency distributed flash memory allocation based on free page tables |
| TWI354996B (en) * | 2007-12-31 | 2011-12-21 | Phison Electronics Corp | Wear leveling method and controller thereof |
-
2010
- 2010-04-21 TW TW099112467A patent/TWI475564B/zh active
-
2011
- 2011-04-18 US US13/088,553 patent/US9075707B2/en active Active
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090180209A1 (en) * | 2005-09-22 | 2009-07-16 | Matsushita Electric Industrial Co., Ltd. | Information recording medium access device, and data recording method |
| US20080177927A1 (en) * | 2007-01-23 | 2008-07-24 | Silicon Motion, Inc. | Storage Apparatus and Method for Accessing a Storage Apparatus |
| US20090089485A1 (en) * | 2007-09-27 | 2009-04-02 | Phison Electronics Corp. | Wear leveling method and controller using the same |
| US20090106484A1 (en) * | 2007-10-19 | 2009-04-23 | Phison Electronics Corp. | Data writing method for non-volatile memory and controller using the same |
| TW200919474A (en) * | 2007-10-19 | 2009-05-01 | Phison Electronics Corp | Writing method for non-volatile memory and controller using the same |
| TW200926183A (en) * | 2007-12-07 | 2009-06-16 | Phison Electronics Corp | Flash memory data writing method and controller using the same |
| TW200926196A (en) * | 2007-12-07 | 2009-06-16 | Apacer Technology Inc | Method for flash memory storage device to store data |
| US20090198875A1 (en) * | 2008-02-05 | 2009-08-06 | Phison Electronics Corp. | Data writing method for flash memory, and controller and system using the same |
| US20090265505A1 (en) * | 2008-04-18 | 2009-10-22 | Phison Electronics Corp. | Data writing method, and flash storage system and controller using the same |
| US20100017555A1 (en) * | 2008-07-18 | 2010-01-21 | Li-Pin Chang | Memory storage device and control method thereof |
| US20100023675A1 (en) * | 2008-07-23 | 2010-01-28 | Phison Electronics Corp. | Wear leveling method, and storage system and controller using the same |
| US20100077132A1 (en) * | 2008-09-25 | 2010-03-25 | Silicon Motion, Inc. | Memory devices and access methods thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| US20110264847A1 (en) | 2011-10-27 |
| TW201137883A (en) | 2011-11-01 |
| US9075707B2 (en) | 2015-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI475564B (zh) | 記憶體之資料寫入方法及資料儲存裝置 | |
| TWI489373B (zh) | 資料儲存裝置和快閃記憶體之區塊管理方法 | |
| TWI386799B (zh) | 記憶體模組及於記憶體模組中實現平均磨損(wear-leveling)的方法 | |
| TWI442399B (zh) | 存取一快閃記憶體之裝置及方法、及平均地使用該快閃記憶體之區塊之方法 | |
| TWI446345B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
| CN105242871B (zh) | 一种数据写入方法及装置 | |
| JP4666080B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| US8694718B2 (en) | Wear leveling for erasable memories | |
| TWI405214B (zh) | 快閃記憶體儲存系統之資料燒錄方法 | |
| TW201833755A (zh) | 資料儲存裝置及其資料維護方法 | |
| CN106776376B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
| JP2012123499A (ja) | メモリシステム | |
| CN101499315B (zh) | 快闪存储器平均磨损方法及其控制器 | |
| JP2010182268A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| TWI455131B (zh) | 記憶體之資料寫入方法及資料儲存裝置 | |
| JP5858081B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
| US20100235564A1 (en) | Semiconductor memory device | |
| TWI450271B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
| CN102222044B (zh) | 存储器的数据写入方法及数据储存装置 | |
| CN102222045B (zh) | 一种存储器的数据写入方法及数据储存装置 | |
| CN106951193A (zh) | 改善Nand Flash存储性能的方法及其系统 | |
| CN111324284B (zh) | 一种存储器 | |
| JP4952742B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| JP4952741B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| TWI716234B (zh) | 靜態耗損平均方法 |