TWI386799B - 記憶體模組及於記憶體模組中實現平均磨損(wear-leveling)的方法 - Google Patents
記憶體模組及於記憶體模組中實現平均磨損(wear-leveling)的方法 Download PDFInfo
- Publication number
- TWI386799B TWI386799B TW097151777A TW97151777A TWI386799B TW I386799 B TWI386799 B TW I386799B TW 097151777 A TW097151777 A TW 097151777A TW 97151777 A TW97151777 A TW 97151777A TW I386799 B TWI386799 B TW I386799B
- Authority
- TW
- Taiwan
- Prior art keywords
- management unit
- block
- blank
- blocks
- memory module
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明係有關於記憶體模組,尤其是有參於記憶體摩組之平均磨損(wear-leveling)。
記憶體模組之快閃記憶體(flash memory)包括多個可儲存資料之區塊(block)。由於快閃記憶體之區塊的數目很大,因此該等區塊被區分為多個群組,每一群組之區塊由一管理單元(management unit)管理。一快閃記憶體包括多個管理單元,分別用以管理一定數量之區塊。
第1圖為一電腦系統100的區塊圖。電腦系統100包括主機102及記憶體模組104。記憶體模組104為主機102儲存資料。記憶體模組104包括控制器112及快閃記憶體114。當主機102要求記憶體模組104儲存資料時,控制器112自主機102接收資料並將資料儲存於快閃記憶體114。當主機102要求自記憶體模組104讀取資料時,控制器112自快閃記憶體114讀取資料並將資料遞送至主機102。快閃記憶體114包括多個管理單元121~12N。每一管理單元121~12N管理固定數量之區塊以供儲存資料。
於新資料儲存至已存有資料之一區塊之前,控制器112必須先相該區塊的舊資料刪除。快閃記憶體之區塊因此被一遍又一遍的刪除。然而,快閃記憶體之每一區塊可被刪除的次數是有限度的,當區塊被刪除的次數超過一限度時,便會影響到快閃記憶體運作之正確性。記憶體模組之控制器因此必須紀錄一區塊資料被刪除的次數,該次數稱之為刪除次數(erase count)。若控制器將資料儲存於具有超過界限值之刪除次述的區塊時,該區塊可能無法正常的被寫入資料,而導致讀取資料時發生錯誤。
因此,控制器必須均等地將資料寫入一快閃記憶體的所有區塊,避免某些區塊的刪除次數過高而某些區塊的刪除次數過低的現象發生。此一均等編程快閃記憶體之區塊的技術稱之為「平均磨損」(wear-leveling)。然而,當一快閃記憶體之區塊係由多個管理單元分別管理時,習知的平均磨損計數僅能平均地寫入單一管理單元所管控的多個區塊,而無法平均寫入多個管理單元所管控的區塊。因此,依舊會造成某些管理單元之區塊的刪除次數過高而某些管理單元之區塊的刪除次數過低的現象。因此,需要一種於記憶體模組中實現平均磨損的方法,可以對不同管理單元之區塊實現平均磨損,以避免上述習知技術之缺失。
有鑑於此,本發明之目的在於提供一種具有平均磨損(wear-leveling)功能的記憶體模組,以解決習知技術存在之問題。於一實施例中,該記憶體模組包括一快閃記憶體(flash memory)及一控制器。該快閃記憶體包括多個管理單元(management unit),其中每一管理單元包括多個區塊(block)。該控制器接收用以寫入由該等管理單元中之一第一管理單元所管理之一邏輯位址之新資料,自該第一管理單元之一空白區域(spare area)取得一第一空白區塊,決定是否該第一空白區塊之一刪除次數(erase count)大於一第一界限值,當該第一空白區塊之刪除次數大於該第一界限值時自該等管理單元中之一第二管理單元之多個區塊中搜尋具有低於一第二界限值之刪除次數之一置換區塊(replacing block),以及指示該第一管理單元與該第二管理單元交換該第一空白區塊與該置換區塊。
本發明更提供一種於記憶體模組中實現平均磨損(wear-leveling)的方法。於一實施例中,該記憶體模組包括具有多個管理單元(management unit)之一快閃記憶體(flash memory),而每一管理單元包括多個區塊(block)。首先,接收用以寫入由該等管理單元中之一第一管理單元所管理之一邏輯位址之新資料。接著,自該第一管理單元之一空白區域(spare area)取得一第一空白區塊。接著,決定是否該第一空白區塊之一刪除次數(erase count)大於一第一界限值。接著,當該第一空白區塊之刪除次數大於該第一界限值時,自該等管理單元中之一第二管理單元之多個區塊中搜尋具有低於一第二界限值之刪除次數之一置換區塊(replacing block)。最後,指示該第一管理單元與該第二管理單元交換該第一空白區塊與該置換區塊。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:
第2圖為依據本發明具有平均磨損(wear-leveling)功能的記憶體模組200之區塊圖。記憶體模組200包括一控制器202及一快閃記憶體204。快閃記憶體204包括多個管理記憶單元212~214。每一管理記憶單元212~214管理多個區塊(block)之資料寫入及刪除。此外,每一管理記憶單元212~214包括一鏈結表(link table)、一刪除次數表(erase count table)、以及一重新對應表(remapping table)。鏈結表用以紀錄一管理單元所儲存的資料之多個邏輯位址(logical address)與儲存該等資料之多個區塊之索引值的對應關係。重新對應表用以紀錄該管理單元所包含之多個區塊之實體位址(physical address)與多個索引值之對應關係。刪除次數表用以紀錄一管理單元所包括之多個區塊的索引值與該等區塊之刪除次數間之對應關係。
第4A圖為依據本發明之快閃記憶體204之第一管理單元400的鏈結表401、空白區域402、以及重新對應表403之實施例的示意圖。一管理單元所管理之多個區塊可分為兩類,一類為儲存資料的區塊,另一類為未儲存資料的區塊。儲存資料的區塊稱之為使用中區塊,未儲存資料之區塊稱之為空白區塊(spare block)。第一管理單元400所管理的區塊包括一使用中區塊421及三個空白區塊422、424、及425。區塊421、422、424、及425之刪除次述分別為6、30、10、3。第一管理單元400的重新對應表403依據一系列的索引值儲存第一管理單元400的所有區塊之實體位址。舉例來說,使用中區塊421之實體位址P1係依據索引值F1儲存於重新對應表403中。此外,空白區塊422、424、425之實體位址P2、P4、P5係依據索引值F2、F4、F5儲存於重新對應表403中。鏈結表401中儲存第一管理單元400所有的使用中區塊之邏輯位址。舉例來說,使用中區塊421之邏輯位址L1係依據索引值F1儲存於鏈結表401中。空白區域402中儲存第一管理單元400所有的空白區塊之索引值。舉例來說,空白區塊422、424、425之索引值F5、F2、F4係儲存於空白區域402中。
第4B圖為依據本發明之快閃記憶體204之第二管理單元450的鏈結表451以及重新對應表453之實施例的示意圖。第二管理單元450所管理的區塊454包括一使用中區塊473,而區塊473之刪除次數為0。第二管理單元450的重新對應表453依據一系列的索引值儲存第二管理單元450的所有區塊之實體位址。舉例來說,使用中區塊473之實體位址P3係依據索引值F3儲存於重新對應表453中。此外,鏈結表451中儲存第二管理單元450所有的使用中區塊之邏輯位址。舉例來說,使用中區塊473之邏輯位址L3係依據索引值F3儲存於鏈結表451中。
第3圖為依據本發明實行磨損平均之方法300的流程圖。記憶體模組200係依據一主機之指令對快閃記憶體204進行資料寫入。假設主機要求記憶體模組200更新其內儲存之資料。控制器202首先自主機接收用以寫入由第一管理單元400管理之一邏輯位址L1之資料(步驟302)。控制器202接著自第一管理單元400之空白區域402取得具有索引值F4之第一空白區塊424(步驟304)。控制器202接著決定是否第一空白區塊424之刪除次數。於一實施例中,控制器202由第一管理單元400之一刪除次數表中取得第一空白區塊424之刪除次數。
假設第一空白區塊424之刪除次數為10。控制器202接著決定是否第一空白區塊424之刪除次數大於一第一界限值(步驟306)。假設第一界限值為30,因此第一空白區塊424之刪除次數小於一第一界限值。控制器202接著將自主機收到的該資料寫入第一空白區塊424(步驟308),如第5圖所示。控制器202接著於第一管理單元400之鏈結表401中修改該資料之邏輯位址L1與第一空白區塊424之索引F4間之對應關係(步驟310)。原本的區塊421之資料便被刪除,而原本區塊421之索引F1被儲存至空白區域402中。
假設主機要求記憶體模組400再次寫入另一新資料至邏輯位址L1。控制器202接著自主機接收新資料(步驟302),並自第一管理單元400之空白區域402取得具有索引值F2之一第一空白區塊422(步驟304)。控制器202接著決定是否第一空白區塊422之一刪除次數大於一第一界限值(步驟306)。因為第一空白區塊422之刪除次數31大於第一界限值30,控制器202接著自第一管理單元400之空白區域402取得具有索引值F5之一第二空白區塊425(步驟312)。控制器202接著將資料寫入第二空白區塊425(步驟314),並於第一管理單元400之鏈結表401中修改該資料之邏輯位址L1與第二空白區塊425之索引值L5間之對應關係(步驟315),如第6圖所示。原本之區塊424所儲存之資料接著被刪除,而原本區塊424之索引F4被儲存至空白區域402中。
由於控制器202決定第一空白區塊422之刪除次數大於第一界限值30,因此必須進行多個管理單元間的磨損平均。控制器202接著自第二管理單元450之多個區塊中搜尋具有低於一第二界限值之刪除次數之一置換區塊(步驟316)。於一實施例中,該第二界限值為第一界限值30之一半15。假設控制器202找到第二管理單元450之區塊473作為置換區塊,而區塊473之刪除次數為0,控制器202接著決定是否該置換區塊473係一空白區塊(步驟320)。由於置換區塊473非空白區塊,控制器202將儲存於置換區塊473中之資料寫入第一空白區塊422(步驟322),並刪除該置換區塊473(步驟324),如第7A圖所示。
控制器202接著以置換區塊473之實體位址P3置換該第一管理單元400之重新對應表403中第一空白區塊422之實體位址P2(步驟326),如第7A圖所示。此外,控制器202亦以第一空白區塊422之實體位址P2置換第二管理單元450之重新對應表453中之置換區塊473之實體位址P3(步驟328),如第7B圖所示。由於重新對應表403與453分別紀錄第一管理單元400與第二管理單元450之所有區塊的實體位址,步驟326、328中對於重新對應表403與453之實體位址的修改將導致第一管理單元400與第二管理單元450交換第一空白區塊422及置換區塊473。因此,當具有磨損平均功能之步驟320~328執行完畢後,具有高刪除次數32之第一空白區塊422歸屬於較少進行資料寫入的第二管理單元450,而具有低刪除次數9之置換區塊473歸屬於較多進行資料寫入的第一管理單元400,從而達成磨損平均之效果。
因此,當第一管理單元400之區塊的刪除次數大於第一界限值時,第一管理單元400便會與第二管理單元450交換區塊,而第二管理單元450用以置換的區塊的刪除次數小於第二界限值。因此,即使主機經常將資料寫入第一管理單元400的區塊,第一管理單元400之區塊仍舊能維持較低之刪除次數,從而達成跨管理單元磨損平均的功效。另外,若第二管理單元450中無法找到刪除次數小於第二界限值之用以置換的區塊,則控制器202自一第三管理單元之多個區塊中搜尋具有低於第二界限值之刪除次數之置換區塊,以提供與第一管理單元交換區塊之用。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
102...主機
104...記憶體模組
112...控制器
114...快閃記憶體
12-12N...管理單元
202...控制器
204...快閃記憶體
212,213,214...管理單元
221,231,241...鏈結表
222,232,342...刪除次數表
223,233,243...重新對應表
401...鏈結表
402...空白區域
403...重新對應表
421,422,424,425...區塊
451...鏈結表
453...重新對應表
473...區塊
第1圖為一電腦系統的區塊圖;
第2圖為依據本發明具有平均磨損功能的記憶體模組之區塊圖;
第3圖為依據本發明實行磨損平均之方法的流程圖;
第4A圖為為依據本發明之快閃記憶體之第一管理單元的鏈結表、空白區域、以及重新對應表之實施例的示意圖;
第4B圖為依據本發明之快閃記憶體之第二管理單元的鏈結表以及重新對應表之實施例的示意圖;
第5圖為第4A圖經修改後之各表的示意圖;
第6圖為第5圖經修改後之各表的示意圖;
第7A圖為第6圖經磨損平均程序修改後之各表的示意圖;
第7B圖為第4B圖經磨損平均程序修改後之各表的示意圖。
Claims (18)
- 一種記憶體模組,具平均磨損(wear-leveling)功能,包括:一快閃記憶體(flash memory),包括多個管理單元(management unit),其中每一管理單元包括多個區塊(block);一控制器,接收用以寫入由該等管理單元中之一第一管理單元所管理之一邏輯位址之新資料,自該第一管理單元之一空白區域(spare area)取得一第一空白區塊,決定是否該第一空白區塊之一刪除次數(erase count)大於一第一界限值,當該第一空白區塊之刪除次數大於該第一界限值時自該等管理單元中之一第二管理單元之多個區塊中搜尋具有低於一第二界限值之刪除次數之一置換區塊(replacing block),以及指示該第一管理單元與該第二管理單元交換該第一空白區塊與該置換區塊,其中每一該等管理單元具有一重新對應表(remapping table),用以紀錄該管理單元包含之該等多個區塊之實體位址(physical address)與多個索引值之第一對應關係,每一該等管理單元更具有一鏈結表(link table),用以紀錄該管理單元所儲存的資料之多個邏輯位址(logical address)與相應於儲存該等資料之區塊之一第一部分索引值的第二對應關係,並且每一該等管理單元更具有一空白區域表,用以紀錄相應於該等多個區塊中未儲存資料之空白區塊的一第二部分索引值,其中該等多個索引值包括該第一部分索引值以及該第二部分索引值。
- 如申請專利範圍第1項所述之記憶體模組,其中當 該第一空白區塊之刪除次數大於該第一界限值時,該控制器自該第一管理單元之該空白區域取得一第二空白區塊,將該新資料寫入該第二空白區塊,並於該第一管理單元之鏈結表中紀錄該新資料之邏輯位址與該第二空白區塊之索引值間之第二對應關係。
- 如申請專利範圍第1項所述之記憶體模組,其中當該第一空白區塊之刪除次數大於該第一界限值時,該控制器決定是否該置換區塊係一空白區塊,並於該置換區塊非空白區塊時,該控制器將儲存於該置換區塊中之資料寫入該第一置換區塊,並刪除該置換區塊,以使該第一管理單元與該第二管理單元完成該第一空白區塊與該置換區塊之交換。
- 如申請專利範圍第3項所述之記憶體模組,其中當該第一空白區塊之刪除次數大於該第一界限值且該置換區塊為一空白區塊時,該控制器以該置換區塊之實體位址置換該第一管理單元之重新對應表中之該第一對應關係之該第一空白區塊之實體位址,並以該第一空白區塊之實體位址置換該第二管理單元之重新對應表中之該第一對應關係之該置換區塊之實體位址,以使該第一管理單元與該第二管理單元完成該第一空白區塊與該置換區塊之交換。
- 如申請專利範圍第1項所述之記憶體模組,其中當該第一空白區塊之刪除次數不大於該第一界限值時,該控制器將該新資料寫入該第一空白區塊,並於該第一管理單元之鏈結表中紀錄該新資料之邏輯位址與該第一空白區塊之索引值間之第二對應關係。
- 如申請專利範圍第1項所述之記憶體模組,其中每一該等管理單元更包含一刪除次數表,用以紀錄該管理單元所包括之多個區塊的索引值與該等區塊之刪除次數間之第三對應關係。
- 如申請專利範圍第1項所述之記憶體模組,其中該第二界限值為該第一界限值之一半。
- 如申請專利範圍第1項所述之記憶體模組,其中該快閃記憶體為一NAND快閃記憶體。
- 如申請專利範圍第1項所述之記憶體模組,其中當該第二管理單元之所有區塊的刪除次數皆大於該第二界限值時,該控制器自該等管理單元中之一第三管理單元之多個區塊中搜尋具有低於該第二界限值之刪除次數之該置換區塊,其中該第三管理單元非該第二管理單元。
- 一種於記憶體模組中實現平均磨損(wear-leveling)的方法,其中該記憶體模組包括具有多個管理單元(management unit)之一快閃記憶體(flash memory),而每一管理單元包括多個區塊(block),該方法包括:接收用以寫入由該等管理單元中之一第一管理單元所管理之一邏輯位址之新資料;自該第一管理單元之一空白區域(spare area)取得一第一空白區塊;決定是否該第一空白區塊之一刪除次數(erase count)大於一第一界限值;當該第一空白區塊之刪除次數大於該第一界限值時,自該等管理單元中之一第二管理單元之多個區塊中搜尋具 有低於一第二界限值之刪除次數之一置換區塊(replacing block);以及指示該第一管理單元與該第二管理單元交換該第一空白區塊與該置換區塊,其中每一該等管理單元具有一重新對應表(remapping table),用以紀錄該管理單元包含之該等多個區塊之實體位址(physical address)與多個索引值之第一對應關係,每一該等管理單元更具有一鏈結表(link table),用以紀錄該管理單元所儲存的資料之多個邏輯位址(logical address)與儲存該等資料之區塊之一第一部分索引值的第二對應關係,並且每一該等管理單元更具有一空白區域表,用以紀錄相應於該等多個區塊中未儲存資料之空白區塊的一第二部分索引值,其中該等多個索引值包括該第一部分索引值以及該第二部分索引值。
- 如申請專利範圍第10項所述之於記憶體模組中實現平均磨損的方法,其中該方法更包括:當該第一空白區塊之刪除次數大於該第一界限值時,自該第一管理單元之該空白區域取得一第二空白區塊;將該新資料寫入該第二空白區塊;以及於該第一管理單元之鏈結表中紀錄該新資料之邏輯位址與該第二空白區塊之索引值間之第二對應關係。
- 如申請專利範圍第10項所述之於記憶體模組中實現平均磨損的方法,其中該第一管理單元與該第二管理單元對於該第一空白區塊與該置換區塊之交換包括:決定是否該置換區塊係一空白區塊;當該置換區塊非空白區塊時,將儲存於該置換區塊中 之資料寫入該第一置換區塊,並刪除該置換區塊。
- 如申請專利範圍第12項所述之於記憶體模組中實現平均磨損的方法,其中該第一管理單元與該第二管理單元對於該第一空白區塊與該置換區塊之交換更包括:以該置換區塊之實體位址置換該第一管理單元之重新對應表中之該第一對應關係之該第一空白區塊之實體位址;以及以該第一空白區塊之實體位址置換該第二管理單元之重新對應表中之該第一對應關係之該置換區塊之實體位址。
- 如申請專利範圍第10項所述之於記憶體模組中實現平均磨損的方法,其中該方法更包括:當該第一空白區塊之刪除次數不大於該第一界限值時,將該新資料寫入該第一空白區塊;以及於該第一管理單元之鏈結表中紀錄該新資料之邏輯位址與該第一空白區塊之索引值間之第二對應關係。
- 如申請專利範圍第10項所述之於記憶體模組中實現平均磨損的方法,其中每一該等管理單元更包含一刪除次數表,用以紀錄該管理單元所包括之多個區塊的索引值與該等區塊之刪除次數間之第三對應關係。
- 如申請專利範圍第10項所述之於記憶體模組中實現平均磨損的方法,其中該第二界限值為該第一界限值之一半。
- 如申請專利範圍第10項所述之於記憶體模組中實現平均磨損的方法,其中該快閃記憶體為一NAND快閃記 憶體。
- 如申請專利範圍第10項所述之於記憶體模組中實現平均磨損的方法,其中該方法更包括當該第二管理單元之所有區塊的刪除次數皆大於該第二界限值時,該控制器自該等管理單元中之一第三管理單元之多個區塊中搜尋具有低於該第二界限值之刪除次數之該置換區塊,其中該第三管理單元非該第二管理單元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/121,108 US8275928B2 (en) | 2008-05-15 | 2008-05-15 | Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200947201A TW200947201A (en) | 2009-11-16 |
TWI386799B true TWI386799B (zh) | 2013-02-21 |
Family
ID=41317243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097151777A TWI386799B (zh) | 2008-05-15 | 2008-12-31 | 記憶體模組及於記憶體模組中實現平均磨損(wear-leveling)的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8275928B2 (zh) |
CN (1) | CN101582052B (zh) |
TW (1) | TWI386799B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9720820B2 (en) | 2013-08-30 | 2017-08-01 | Silicon Motion, Inc. | Data storage device and flash memory control method |
TWI594244B (zh) * | 2013-08-30 | 2017-08-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122179B2 (en) * | 2007-12-14 | 2012-02-21 | Silicon Motion, Inc. | Memory apparatus and method of evenly using the blocks of a flash memory |
TWI385669B (zh) * | 2008-07-23 | 2013-02-11 | Phison Electronics Corp | 用於快閃記憶體的平均磨損方法、儲存系統與控制器 |
JP2010055247A (ja) * | 2008-08-27 | 2010-03-11 | Hitachi Ltd | ストレージシステム及び構成管理方法 |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US8447915B2 (en) * | 2009-07-23 | 2013-05-21 | Hitachi, Ltd. | Flash memory device for allocating physical blocks to logical blocks based on an erase count |
KR20110060493A (ko) * | 2009-11-30 | 2011-06-08 | 삼성전자주식회사 | 메모리 장치의 소거 카운트 관리 방법 및 장치 |
CN102117246B (zh) * | 2009-12-31 | 2013-04-24 | 点序科技股份有限公司 | 非易失性存储器控制装置及其多阶重新排序方法 |
CN102222044B (zh) * | 2010-04-16 | 2015-09-02 | 慧荣科技股份有限公司 | 存储器的数据写入方法及数据储存装置 |
CN102222045B (zh) * | 2010-04-19 | 2015-12-16 | 慧荣科技股份有限公司 | 一种存储器的数据写入方法及数据储存装置 |
US8949506B2 (en) | 2010-07-30 | 2015-02-03 | Apple Inc. | Initiating wear leveling for a non-volatile memory |
US8521948B2 (en) * | 2011-01-03 | 2013-08-27 | Apple Inc. | Handling dynamic and static data for a system having non-volatile memory |
TW201239619A (en) * | 2011-03-21 | 2012-10-01 | Silicon Motion Inc | Writing method of a flash memory and flash memory device |
CN102760489B (zh) * | 2011-04-25 | 2015-06-03 | 慧荣科技股份有限公司 | 闪存区块选取方法及数据储存装置 |
CN102231136B (zh) * | 2011-07-12 | 2014-06-11 | 晨星软件研发(深圳)有限公司 | 一种闪存存储设备的数据存储方法和装置 |
US9116792B2 (en) * | 2012-05-18 | 2015-08-25 | Silicon Motion, Inc. | Data storage device and method for flash block management |
JP2013254357A (ja) * | 2012-06-07 | 2013-12-19 | Sony Corp | 情報処理装置および方法、並びにプログラム |
US9547586B2 (en) * | 2013-01-03 | 2017-01-17 | Macronix International Co., Ltd. | Metadata containers with indirect pointers |
US10013322B2 (en) * | 2013-06-03 | 2018-07-03 | Hitachi, Ltd. | Storage apparatus and storage apparatus control method |
TWI515736B (zh) * | 2013-07-25 | 2016-01-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
JP6326209B2 (ja) * | 2013-09-30 | 2018-05-16 | ラピスセミコンダクタ株式会社 | 半導体装置及び半導体メモリにおける消去回数の検索方法 |
US9336129B2 (en) | 2013-10-02 | 2016-05-10 | Sandisk Technologies Inc. | System and method for bank logical data remapping |
US9471428B2 (en) | 2014-05-06 | 2016-10-18 | International Business Machines Corporation | Using spare capacity in solid state drives |
US9471451B2 (en) | 2014-06-18 | 2016-10-18 | International Business Machines Corporation | Implementing enhanced wear leveling in 3D flash memories |
CN105988950B (zh) * | 2015-02-03 | 2019-05-21 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN107301015B (zh) * | 2016-04-15 | 2022-05-13 | 恩智浦美国有限公司 | 用于减少存储器设备上的压力的系统和方法 |
US10649661B2 (en) * | 2017-06-26 | 2020-05-12 | Western Digital Technologies, Inc. | Dynamically resizing logical storage blocks |
JP7153435B2 (ja) * | 2017-10-12 | 2022-10-14 | ラピスセミコンダクタ株式会社 | 不揮発性メモリのデータ書換方法及び半導体装置 |
KR102500618B1 (ko) * | 2017-12-12 | 2023-02-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20190069806A (ko) * | 2017-12-12 | 2019-06-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10795576B2 (en) | 2018-11-01 | 2020-10-06 | Micron Technology, Inc. | Data relocation in memory |
TWI764771B (zh) * | 2021-06-29 | 2022-05-11 | 群聯電子股份有限公司 | 跨框編碼管理方法、記憶體儲存裝置及記憶體控制電路單元 |
CN113434331B (zh) * | 2021-07-05 | 2023-07-25 | 群联电子股份有限公司 | 跨框编码管理方法、存储器存储装置及存储器控制电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106972A1 (en) * | 2004-11-15 | 2006-05-18 | Gorobets Sergey A | Cyclic flash memory wear leveling |
TW200735124A (en) * | 2006-03-03 | 2007-09-16 | Sunplus Technology Co Ltd | Wear leveling method and apparatus for nonvolatile memory |
Family Cites Families (10)
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 |
US7873837B1 (en) * | 2000-01-06 | 2011-01-18 | Super Talent Electronics, Inc. | Data security for electronic data flash card |
CN100468359C (zh) * | 1999-08-20 | 2009-03-11 | 慧亚科技股份有限公司 | 快闪记忆体的管理与资料连接的方法 |
KR100484147B1 (ko) * | 2002-07-26 | 2005-04-18 | 삼성전자주식회사 | 플래시 메모리 관리 방법 |
CN1474414A (zh) * | 2002-08-05 | 2004-02-11 | 希旺科技股份有限公司 | 不需使用冗余栏位的非挥发记忆储存系统及其写入方法 |
KR100526190B1 (ko) * | 2004-02-06 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 재사상 방법 |
US7315917B2 (en) * | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
CN100520734C (zh) * | 2005-11-18 | 2009-07-29 | 凌阳科技股份有限公司 | 闪存的控制装置与方法 |
US7454592B1 (en) * | 2006-02-16 | 2008-11-18 | Symantec Operating Corporation | Block-level and hash-based single-instance storage |
KR100857761B1 (ko) * | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
-
2008
- 2008-05-15 US US12/121,108 patent/US8275928B2/en active Active
- 2008-12-31 TW TW097151777A patent/TWI386799B/zh active
-
2009
- 2009-02-09 CN CN2009100040991A patent/CN101582052B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106972A1 (en) * | 2004-11-15 | 2006-05-18 | Gorobets Sergey A | Cyclic flash memory wear leveling |
TW200735124A (en) * | 2006-03-03 | 2007-09-16 | Sunplus Technology Co Ltd | Wear leveling method and apparatus for nonvolatile memory |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9720820B2 (en) | 2013-08-30 | 2017-08-01 | Silicon Motion, Inc. | Data storage device and flash memory control method |
TWI594244B (zh) * | 2013-08-30 | 2017-08-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101582052B (zh) | 2011-01-05 |
US8275928B2 (en) | 2012-09-25 |
US20090287875A1 (en) | 2009-11-19 |
TW200947201A (en) | 2009-11-16 |
CN101582052A (zh) | 2009-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI386799B (zh) | 記憶體模組及於記憶體模組中實現平均磨損(wear-leveling)的方法 | |
US8417882B2 (en) | Storage device and deduplication method | |
US7761655B2 (en) | Storage system and method of preventing deterioration of write performance in storage system | |
JP5031849B2 (ja) | フラッシュメモリのブロック管理方法 | |
US9817588B2 (en) | Memory device and operating method of same | |
TWI446345B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
JP5087347B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
US8892814B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
JP5603997B2 (ja) | ストレージ装置及びデータ制御方法 | |
US8516182B2 (en) | Controller and memory system for managing data | |
US20070294490A1 (en) | System and Method of Updating a Memory to Maintain Even Wear | |
JP4666080B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
KR20090056966A (ko) | Nand 플래시 메모리를 위한 논리 슈퍼 블록 맵핑 | |
US8732552B2 (en) | Block management method, memory controller and memory storage device thereof | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
TWI431627B (zh) | 快閃記憶體裝置及快閃記憶體裝置之運作方法 | |
CN104298465A (zh) | 固态储存装置中的区块分组方法 | |
JP2008015769A (ja) | ストレージシステム及び書き込み分散方法 | |
JP2006040264A (ja) | メモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
TWI475564B (zh) | 記憶體之資料寫入方法及資料儲存裝置 | |
KR20110139956A (ko) | 맵핑 테이블을 복구하는 데이터 기억 장치 및 데이터 관리 방법 | |
US20130013885A1 (en) | Memory storage device, memory controller, and method for identifying valid data | |
WO2015114829A1 (ja) | 情報処理装置 | |
US20130054877A1 (en) | Data writing method, memory controller and memory storage apparatus | |
TWI450271B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |