TWI236019B - Wear leveling in non-volatile storage systems - Google Patents

Wear leveling in non-volatile storage systems Download PDF

Info

Publication number
TWI236019B
TWI236019B TW092125794A TW92125794A TWI236019B TW I236019 B TWI236019 B TW I236019B TW 092125794 A TW092125794 A TW 092125794A TW 92125794 A TW92125794 A TW 92125794A TW I236019 B TWI236019 B TW I236019B
Authority
TW
Taiwan
Prior art keywords
group
storage element
data structure
component
storage
Prior art date
Application number
TW092125794A
Other languages
English (en)
Other versions
TW200406771A (en
Inventor
Robert C Chang
Bahman Qawami
Farshid Sabet-Sharghi
Original Assignee
Sandisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200406771A publication Critical patent/TW200406771A/zh
Application granted granted Critical
Publication of TWI236019B publication Critical patent/TWI236019B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear 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)
  • Read Only Memory (AREA)

Description

1236019 玖、發明說明: c發明戶斤屬之技術領域3 發明領域 本發明係有關於下列共同待審中之美國專利申請案: 5於非依電性儲存系統中自動進行磨損調勻之技術(代理人 文件編號:SANDP005/DK0278.000US);追縱非依電性記 隱體糸統中隶常抹除區塊之技術(代理人文件編_ · SANDP025/DK0366.002US);追蹤非依電性記憶體系統中 最不常抹除區塊之技術(代理人文件編號· 10 SANDP026/DK0366.003);用以分割邏輯區塊之方法與裝置 (代理人文件編號:SANDP028/DK0371.000US);用以將區 塊中之頁面分組之方法和裝置(代理人文件編號: SANDP029/DK0410.000US);以及用以分解與共用邏輯區 塊相關聯之實體區塊的方法與裝置(代理人文件編號: I5 SANDP030/DK0416.000US);以及美國專利第6〇81447號及 美國專利第62300233號等’其中,該等案件之内容係包含 於此處以作為參考之用。 统 本發明大致係有關於大量數位資料儲存系統。更詳而 言之’本發明係有關於用以容許與非依電性儲存系統之铸 存區域有關聯之磨損可實質地跨所有儲存區域分佈之系 與方法。 【先前技術3 發明背景 20 1236019 諸如&閃^紐儲存彡統之雜電性記㈣系統之使 ^因此等記憶體系統之緊㈣體大小及可重複再規劃非 ;電性記憶體之能力而增加。快閃記憶體儲存系統之緊密 體大小可促進將此等儲存系統使用於曰漸普及之果置 ^使用快閃記憶體儲存系統之裝置包括(但不限於)數似目 ’、數位攝錄放職、數位音雜制、手持式個人電腦、 二及全球定位裝置等。可重複再規劃包括於快閃記憶體儲 非依電性記憶體之能力允許快閃記憶體儲存系統 之使用與再使用。 叙而'’快閃記憶體儲存系統可包括快閃記憶體卡 魏體晶片組。快閃記憶體晶片組-般而言包括快 ^憶體構件以及控制器構件。通常,快閃記憶體晶片,且 ^置為可構組於置人式系統。此等總成或主機系統之製 七者通常取得構件形式之快閃記憶體,以及其他構件 15後將快閃記憶體及其他構件構組為主機系統。 雖然快閃§己憶體系統内之非依電性記憶體,或更詳而 :之、决閃讀體儲存區塊,可重複地規劃及抹除,每— =塊或實體位置可於區塊磨損前,亦即於記憶體開始變小 月”僅抹除特定數目之次數。亦即,每一區塊具 2〇抹除!期限制。在某些記憶體中,於一區塊被認2 = 用&此區塊可被抹除約一萬次。在其他記憶體中,於 區塊被認為係已磨損前,此區塊可被抹除約十萬次或甚 至高達百萬次。當區塊磨損,因而導致快閃記憶體系統之 整體儲存容量之部份的使用損失或性能之明顯退化時,快 1236019 閃記憶體糸統之使用者可能受到例如儲存資料損失或無法 儲存資料等之不利影響。 快閃記憶體系統内之區塊或實體位置之磨損係取決於 每/區塊中有多少被規劃而改變。若一區塊,或更一般言 5 之,一儲存元件僅被規劃一次,而後有效地未再被規劃, 則規劃次數和抹除週期及與因此而產生之與此區塊有關之 磨損一般而$將相對地低。然而,若一區塊被重複地寫入 與抹除’例如循J衣為之’則與此區塊有關之磨損一般而言 將相對地高。當邏輯區塊位址(LBA)係由例如存取或使用快 10閃記憶體系統之主機使用,以存取儲存於快閃記憶體系統 之資料時,若主機重複地使用相同之LBA寫入或過寫入資 料’則如熟於此技者所能瞭解者,快閃記憶體系統内之相 同實體位置或區塊係被重複地寫入與抹除。 當某些區塊係有效地磨損,同時其他區塊係相對地未 15磨損時,一般而言,磨損區塊之存在將危害快閃記憶體系 統之整體性能。除與磨損區塊本身有關之性能退化外,當 未磨損區塊之數目並不足以儲存所欲資料時,快閃記憶體 系統之整體性能亦可能受到危害。通常,當快閃記憶體系 統出現臨界數目之磨損區塊時,即使此快閃記憶體系統之 2〇許多其他晶胞係相對地未磨損,快閃記憶體系統仍可能被 認為係無法使用。當包括實質上相對未磨損區塊之數目之 快閃記憶體系統係被考量為無法使用時,與此快閃記憶體 系統有關之許多資源實際上係浪費的。 為增加快閃έ己憶體系統内之區塊可適當平均地磨損的 1236019 可能性,磨損調勻操作經常被實施。如熟於此技者將可瞭 解者,磨損調勻操作一般而言係排置為可容許與特定LBA 有關之實體位置或區塊可被改變,使得相同LBA並非一直 與相同實體位置或區塊產生關聯。藉由改變LBA之區塊關 5聯性,於其他區塊磨損前,特定區塊較不可能磨損。 一傳統磨損調勻處理係有關顧客或主機LBA之二相對 大之部份係為對映之調換實體位置。亦即,與儲存晶胞之 相對大區段有關之LBA被調換。此種調換係經由來自顧客 之手動命令,例如經由主機之使用而初始化,且因此,對 10顧客而言並非透明。同時,與移動於儲存晶胞之二相對大 區段間之資料有關之調換操作相當耗費時間,且因此而無 效率。此外,藉由消耗與整體快閃記憶體系統有關之重要 資源的相對長之期間的調換操作,整體快閃記憶體系統之 性月ti可肖b受到不利之影響。如熟於此技者將可瞭解者,自 15第一位置移動資料通常與將資料複製於另一位置並將資料 自第一位置抹除有關。 另一項傳統磨損調勻處理係有關容許區塊磨損。一旦 區塊已有效磨損,分配予此等區塊之扇區可藉由將與此等 扇區有關之位址對映於備用區域而再分配,一旦儲存扇區 20之區塊已磨損或變為無法使用。由於備用區域或區塊S 目係受到限制且有價值,故其無法_直存有與無法使用之 區塊有關之扇區可被對映之備用區域。此外,一般而+ 於區塊變為無法使用後之有效再對映扇區僅容許整體快閃 記憶體系統之性能退化。 1236019 因此,吾人所欲者為用以有效且實質上透明地於快閃 記憶體儲存系統内實施磨損調勻之方法與設備。亦即,吾 人所欲者係可促進與快閃記憶體儲存系統有關之實體位置 之更為平均之磨損而無需大量使用計算資源的磨損調勻處 5 理。 【發明内容】 發明概要 本發明係有關於用以於非依電性記憶體系統内實施磨 10 損調勻之系統與方法。根據本發明之一態樣,用以分派被 分割為元件之非依電性記憶體之方法包括將此等元件分組 為第一群組、第二群組、及第三群組。第一群組包括具有 相對低磨損之元件,且第二群組包括具有相對高磨損之元 件。此方法亦包括判定包括於第三群組之第一元件應於何 15 時以包括於第一群組之第二元件加以替換。與第一元件有 關之内容被複製於自第一群組獲得之第二元件。而後第一 元件之内容自第一元件被抹除,且令第二元件與第三群組 產生關聯。令第二元件與第三群組產生關聯包括使第二元 件實質地與第一群組失去關聯。於一實施例中,此等元件 20 係根據與每一元件有關之抹除次數而分組。 於另一實施例中,第一元件包括一抹除次數,且此方 法包括於抹除第一元件之内容後增大第一元件之抹除次 數。於此一實施例中,第一元件之抹除次數可被用以判定 是否令第一元件與第一群組產生關聯,且此方法亦可包括 1236019 於第-元件之抹除次數指示第一元件應與第一群組產生關 秘時,令第- 7〇件與第-鮮版產生關聯。一般而言,令第 元件與第一群組產生關聯包括令第一元件與第三群組失 去關聯。 5 根據元件被抹除之次數,藉由以群組或圖表維持非依 電性記憶體之諸如區塊之元件,即可有效地管理元件之磨 才貝。此等群組或圖表可被用以有效地掌握具有最大磨損之 元件或區塊及具有最少磨^元件或區塊 ’而使此等區塊 易於識別。當欲以-較少抹除之區塊替換一正常區塊(亦即 1〇含有資料内容且正在使用中之區塊)時,此替換區塊可有效 地自具有最少磨損之區塊群組中獲得。如此一來,諸如置 式NAND快閃5己憶體之整體非依電性記憶體之壽命可有 效地增加。 15 “根據本發明之另一態樣,用以分派被分割為元件之非 15依電性記憶體之方法包括將此等元件至少分組為包括具有 小於平均抹除次數之抹除次數的抹除元件的第一群組、包 括具有大於平均抹除次數之抹除次數的抹除元件的第二群 組、及第三群組。其產生一判定以決定是否以包括於第二 群組之第二元件替換包括於第三群組之第一元件。若此判 20定係應替換第一元件,則與此第一元件有關之内容被複製 於自第二群組獲得之第二元件。此方法亦包括自第-元件 抹除元件之内容,且令第二S件與第三群組產生關 々第一元件與苐二群組產生關聯包括令第二元件實質 地與第二群組失去關聯。於一實施例中,此方法亦包括令 1236019 第一元件與第一群組產生關聯,並使第一元件與第三群組 失去關聯。 根據本發明之再另一態樣,管理非依電性儲存元件之 分派之記憶體管理系統包括用以維持與實質上較特定數量 5 更少抹除的儲存元件有關之第一資料結構的裝置,及用以 維持與實質上較特定數量更多抹除的儲存元件有關之第二 資料結構的裝置。此系統亦包括用以維持一般而言包括並 未與第一資料結構或第二資料結構產生關聯之儲存元件的 第三資料結構之裝置。與第三資料結構有關之某些儲存元 10 件含有資料。用以判定應於何時替換第三資料結構之第一 儲存元件之裝置亦係包括於此系統,此系統亦包括於其判 定應替換第三資料結構之第一儲存元件時,用以令自第一 資料結構及第二資料結構中之一者選出之第二儲存元件與 第三資料結構產生關聯的裝置。 15 於閱讀下文之詳細說明及研討圖式之各種圖表後,本 發明之此等及其他優點將更為清楚。 圖式簡單說明 藉由參考附隨圖式及下文之詳細說明可對本案有最佳 之瞭解,其中: 20 第la圖係根據本發明之一實施例之包括非依電性記憶 體裝置的一般主機系統之圖式表示。 第1 b圖係根據本發明之一實施例之諸如第1 a圖中的記 憶體裝置120之記憶體裝置之圖式表示。 第2圖係根據本發明之一實施例之快閃記憶體的部份 11 1236019 之圖式表示。 第3圖係根據本發明之一實施例之說明與處理和快閃 記憶體系統有關之初始化要求有關之步驟的處理流程圖。 第4圖係根據本發明之一實施例之說明與處理靜態區 5 塊之方法有關的步驟之處理流程圖。 第5a圖係根據本發明之一實施例之系統記憶體的圖式 方塊圖表示。 第5b圖係根據本發明之一實施例之正常區塊、最不常 抹除區塊、及最常抹除區塊之圖式表示。 10 第6圖係根據本發明之一實施例之用以於整體系統之 系統記憶體實施區塊調換/更新整體記憶體系統以容許區 塊之磨損更為平均的方法的圖式表示。 第7圖係根據本發明之一實施例之系統架構之圖式方 塊圖表示。 15 1:實施方式3 較佳實施例之詳細說明 快閃記憶體儲存系統内之非依電性記憶體儲存區塊可 重複地規劃與抹除,雖然一般而言每一區塊於磨損前僅可 20 抹除有限之次數。當一區塊磨損時,與包括此磨損區塊之 快閃記憶體儲存系統之整體儲存容量之部份有關的性能之 明顯退化發生,且儲存於此部份之資料可能遺失,其亦可 能無法儲存資料於此部份。 為增加快閃記憶體儲存系統内之區塊磨損更為平均之 12 1236019 可能性,區塊應更為平均地利用。藉由掌握每一區塊已磨 損之次數,例如經由利用抹除次數,系統内之記憶體可更 為平均地使用。抹除次數管理技術可將掌握特定區塊已、皮 抹除之次數之抹除次數儲存於與此區塊有關之冗餘區域。 5圖表可被建置於實質地致動使用中之區塊以有效地將此等 區塊與具有相對高抹除次數之區塊及具有相對低抹除次數 之區塊分離的系統記憶體内。當使用中之區塊被抹除時, 此區塊可適當地被「增加」至具有相對高抹除次數之區塊 圖表或具有相對低抹除次數之區塊圖表中之任一者。同樣 地,區塊可自具有相對高抹除次數之區塊圖表或具有相對 低抹除次數之區塊圖表中之任一者「移動」至區塊對映圖 表,亦即-組使用中之區塊圖表,以實質地替換已自區塊 斜映圖表再分配之任意區塊。 $ 土糟由分類區塊,區塊彳更為平均地利用,如同每一區 更為有效地管理以平均與此等區塊有關之磨損。更詳 ^之’將區塊分類為圖表可使具有低抹除次數之區塊與 日、有高抹除次數之區塊更為輕易地被識別,且因此未利用 ^貝數量之計算資源。因此,磨損調句之發生相對地有效 0 I目❿’快閃§己憶體系統之壽命可f質地延伸而未明顯 也影響快閃記憶體系統之性能。 $ &閃心itm或更—般言之,非依電性記憶體裝 邊又而g包括快閃記憶體卡及晶片組。通常,快閃記憶 ^統係被用以與主機系繞一起使用,以使此主機系統可 ;貝料寫入快閃,己憶體系統或自快閃記憶體系統讀取資 13 Ϊ236019 料。然而,某些快閃記憶體系統包括置入式快閃記憶體及 執行於〜主機上以實質地作用為此置入式快閃記憶體之控 制器之軟體。首先參考第la圖,其將說明包括諸如緊密快 閃記憶體(CompactFlash Memory)卡之非依電性記憶體裝置 5 之一般主機系統。主機或電腦系統100—般而言包括容許微 處理器108、隨機存取記憶體(RAM)112、及輸入/輸出電路 116通信之系統匯流排1〇4。應瞭解者為,主機系統1〇〇可一 般地包括其他構件’例如因供說明之故而未顯示之顯示器 裝置及網路裝置。 10 一般而言,主機系統100可捕捉包括(但不限於)靜態影 像資訊、音頻資訊、及視頻影像資訊等資訊。此種資訊可 即時捕捉,並以無線方式傳送至主機系統1〇〇。在主機系統 1〇〇可實質地為任意系統的同時,主機系統1〇〇通常係為諸 如數位相機、視頻攝影機、蜂巢式通信裝置、音頻播放器、 15或視頻播放器。然而,應瞭解者為,一般而古,±换/ ° 王機系統 100可實負地為可儲存資料或資訊,及檢索資料戍資1之4 意系統。 應瞭解者為,主機系統1〇〇亦可為僅捕捉資料,或僅柃 索資料之系統。亦即,主機系統100可為儲存資料之專用/双 20 統,或主機系統100可為讀取資料之專用系〜 、 、Ά。籍由釋例, 主機系統100可為排置為僅寫入或儲存資料 成L 、十之5己憶體寫入 置為可讀取或 器。任擇地,主機系統100可為諸如通常係排 己憶體農置 之非 檢索資料,且未捕捉資料2MP3播放器之裝置 在一實施例中係為可移除之非依電性 14 1236019 依電性記憶體裝置120係被排置為可與匯流排104介接以儲 存資訊。任選輸入/輸出電路區塊130可容許非依電性記憶 體裝置120間接地與匯流排104介接。當以前述方式實施 時,輸入/輸出電路區塊132係作用為可減少匯流排1〇4之負 5 載,如同熟於此技者可瞭解者。非依電性記憶體裝置120包 括非依電性記憶體124及任選記憶體控制系統128。於一實 施例中,非依電性記憶體裝置120可實施於一單晶片或晶粒 上。任擇地,非依電性記憶體裝置120可實施於一多晶片模 組’或可形成一晶片組且可一起使用以作為非依電性記惊 10體裝置120之多個分散構件上。非依電性記憶體裝置12〇之 一實施例將參考第lb圖於下文作更為詳細之說明。 非依電性記憶體124,例如諸如NAND快閃記憶體之快 閃記憶體,係排置為可儲存資料,使得資料可於需要時被 存取及讀取。儲存於非依電性記憶體124之資料亦可於適當 15時抹除,雖然應瞭解者為,非依電性記憶體124内之某些資 料係為不可抹除。儲存資料、讀取資料、及抹除資料等處 理一般而言係由記憶體控制系統128所控制,或於未存有記 憶體控制系統128時,藉由以微處理器1〇8所執行之軟體杵 制。非依電性纪憶體124之操作可藉由本質地令非依電性記 2〇憶體124之扇區更為實質地且平均地磨損而加以管理,以使 非依電性記憶體124之壽命可實質地最大化。 非依電性記憶體裝置120已大致地說明為包括任選記 憶體控制系統128,亦即控·、。通常,非依電性記憶體裝 置120可包括供非依電性記憶體124用之分離晶片,且記憶 15 1236019 體控制系統128,亦即控制器發揮功用。藉由釋例,於包括 (但不限於)PC卡、緊密快閃記龍卡、多媒針、及保全 數=卡之非依電性記憶體裝置包括可實施於分離晶片之控 制器的同時,其餘非依電性記憶體裝置可不包括實施於分 5離晶片之控制器。於非依電性記憶體裝置12〇並未包括分離 記憶體及控制器晶片之一實施例中,記憶體及控制器功能 可集積於單-晶片,如同熟於此技者所瞭解者。任擇地, 記憶體控制线12 8之功能性可藉由微處理器⑽而提供, 如同上文所述之非依電性記憶體裝置⑽並未包括記憶體 10 控制器128之實施例。 參考第lb圖,根據本發明之一實施例,非依電性記憶 體裝置120將更為詳細地說明。如同上文所說明者,非依電 性記憶體裝置120包括非依電性記憶體124且可包括記憶體 控制系統128。雖然於記憶體124係為諸如置入式 15置時,非依電性記憶體裝置120可不包括控制系統Ι2δ,但 圮憶體124及控制系統128,或控制器可為非依電性記憶體 裝置120之主要構件。記憶體124可為形成於半導體基板上 之記憶體晶胞陣列,其中,資料之一或多個位元係藉由將 電荷之二或更多位準中之一者儲存於記憶體晶胞之個別儲 20 存元件而儲存於個別記憶體晶胞。非依電性快閃電氣可抹 除唯讀記憶體(EEPROM)係為供此種系統用之常見形式記 憶體之釋例。 當以前述方式實施時,控制系統128係經由匯流排15 而與主機電腦或其他使用記憶體系統之系統通信以儲存資 16 1236019 料。一般而言,匯流排15係為第1圖之匯流排104之部份。 控制系統128亦控制可包括記憶體晶胞陣列11之記憶體124 之操作以寫入藉由主機所提供之資料、讀取主機所要求之 資料、並實施各種操作記憶體124之雜務功能。一般而言, 5 控制系統128包括具有相關非依電性軟體記憶體、各種邏輯 電路、及類似物之一般目的微處理器。一或多個狀態機亦 經常被包括以控制特定常式之性能。 記憶體晶胞陣列11通常係藉由控制系統128或微處理 器108而經由位址解碼器17定址。解碼器π應用正確電壓於 1〇陣列丨1之閘極與位元線以規劃資料而自藉由控制系統128 定址之記憶體晶胞群組讀取資料或抹除藉由控制系統128 定址之記憶體晶胞群組。附加電路19包括控制取決於被規 劃於晶胞之定址群組之資料而應用於陣列元件的電壓的規 劃驅動器。電路19亦包括感應放大器及其他自記憶體晶胞 15 之定址群組讀取資料所需之電路。欲規劃於陣列11之資 料,或最近自陣列11讀取之資料通常係儲存於控制系統128 之緩衝器記憶體21。控制系統128通常亦含有各種供用以暫 時地儲存命令及狀態資料與類似物之暫存器。 陣列11被分割為大量之區塊0(BLOCK 0)至區塊 20 N(BLOCK N)記憶體晶胞。如同對快閃EEPROM系統而言係 為普通的,區塊通常係抹除之最小單位。亦即,每一區塊 含有最小數目之一併被抹除之記憶體晶胞。每一區塊通常 係分割為數頁,如同亦於第2圖中說明者。頁通常係規劃之 最小單位。亦即,基本規劃操作將資料寫入記憶體晶胞之 17 1236019 二粗戶„或自5己憶體晶胞之最小-頁讀取資料。-或多個 勺' =羽區通^係儲存於每—頁内。如第關所示,一扇區 ίϊ使用者資料及附加資料。附加資料通常包括自扇區之 、、+汁异之錯誤校正碼(ECC)。當資料係被規劃於陣 mi:控制系統128之部份23計算ECC,並於資料係自陣 喝取時’檢查ECC。任擇地,EC⑽儲存於與其所附 之使用者資料不同之頁或不同之區塊。 係為sl應於磁碟驅動機之扇區大小,使用者資料扇區通常 、\位元。附加資料通常係為額外之16位元。資料之一 1〇 常見者係被包括每-頁,但二或更多扇區可代之以 釋成頁。—般而言’任意數目之頁可形成一區塊。藉由 =、,區塊可自8頁至512、刪或更多頁而形*。區塊數 人選擇以&供糸統記憶體所欲之資料健存容量。陣列 11通常係被分割為數個次陣列(未顯示),每一次陣列含有區 塊比例’其於某種程度上係彼此獨立地操作以增加各種記 憶體操作執行之平行性程度。數個次陣列之使用之一釋例 係說明於美國專利第5,890,192號,該專利之全部内容在此 係作為本發明之參考資料。 當非依電性記憶體124之諸如儲存元件之特定區段係 2〇連續地被規劃,例如重複地寫入及抹除時,此特定區域一 般而言較未被連續規劃之區域更快磨損。為有效地「平均」 非依電性記憶體124内不同區域之磨損,磨損調勻可實質地 自動實施,以較少規劃被連續規劃之區域,同時,可較多 規劃未被連續規劃之區域。 18 1236019 體位置有關° ’為實施磨損調勻,諸如與被重複規劃之實 之一組扇區之區塊可以與未被重複規劃之一實 體位置有關之區換^ 實體巴姊”鬼凋換。亦即,已規劃且因此重複抹除之 與較少規劃及抹除之實體區塊調換。 體區塊是^之:實施例中,為使其可㈣地判定特定實 存。亦g已重複規劃及抹除,抹除次數可與此區塊儲 p掌握區塊被抹除之次數之計數器可被維持且於 ' 2鬼被抹除時增大。此種抹除次數可被用以促進特定 10 15 區塊疋否應以另一較少抹除之區塊調換之判定。第2圖係根 據本發明之—實施例之快閃記憶體之部份的圖式表示。快 閃記憶體2〇〇可被分割為頁2()4。每一一般而言含有約512位 元之使用貢料之頁2〇4有效地包括冗餘區域2〇6,例如頁 2〇4a包括冗餘區域2〇6a。每一冗餘區域2〇6或附加區域可包 括冋達約16位元之資訊,其通常包括(但不限於)群組識別器 216、更新索引212、及抹除次數214。 通常,任意數目之頁204係包括於區塊210内。為方便 說明之故,頁204a、204b係顯示為已包括於區塊21〇内,雖 然應瞭解者為,包括於區塊21之頁204之數目可廣泛地變 更。於此說明實施例中,區塊210可排置為包括約32頁。舉 2〇 例言之,當快閃記憶體200包括約512百萬位元(Megabits、 Mb)時,快閃記憶體200可有效地被分割為約32頁,每頁4096 區塊。 如前所述,抹除次數214可於每次使用者資料自相關區 塊抹除時增大。舉例言之,與區塊210有關之抹除次數214 19 1236019 可於每次自區塊21G抹除資料時增大。由於被包括於區塊 210之每-頁204a及麟一般而言具有抹除次數214,與每 -頁204认2_錢之抹除錢21何於區塊2職抹吟 增大。 于 般言之 畜^有資料之區塊被抹除時,區塊之資料 區域及冗餘區域兩者皆被抹除或清空。抹除區塊通常被择 加於備用區塊儲存區,其含有具有較諸如其他圖表之抹J; 區塊的其他抹除區塊更小之抹除次數的抹除區塊。此備用 區塊圖表可本質地為最不常抹除區塊圖表,其將於下文說 H)明、。於本發明之一實施例中,具有較大抹除次數之抹除區 $被增加於含有抹除區塊之儲存區,此等抹除區塊含有較 ::圖:之抹除區塊為大之抹除次數。含有具有較大抹除 除區塊之儲存區可為最常抹除區塊圖表,其亦將 15 朗。剛_塊之抹除次數被加i絲據此次數值 ^子於料常抹除區塊圖表或最常抹除區塊 者0 ’ 4如抹除缝214之抹除絲可於初始化 取。舉例言之,初始化要求可於諸如包括置 20 統㈣統進行電力開啟時產生、當系 統内之備份區塊缺乏時產 Α 宁 時產生、及w要^衡區塊分派 二=圖’其說明根據本發明之-實施例之與快閃 二始化要求之處理有關的步驟。-般言 ’、可错由使用者而初始化或實質地自動藉由 20 1236019 與快閃記憶體系統有關之控制器,例如週期性地或於觸發 條件符合時而初始化。響應於初始化要求之處理300開始於 步驟3 04 ’其中,初始化要求係有效地接收。初始化要求可 藉由與欲初始化之快閃記憶體通信之控制器或處理器接 5 收。舉例言之,此要求可由使用者經由電力開啟之主機或 於欲平衡區塊分派時提供。 10 15 20 一旦初始化要來被接收,平均抹除次數可於步驟3〇6 獲得。於一實施例中,平均抹除次數係儲存於寫入於與此 系統有關之NAND記憶體内之抹除次數區塊。含有平均抹 除次數及每一區塊之抹除次數之抹除次數區塊(ECB)係儲 存於快閃記憶體區塊。應瞭解者為,當抹除次數區塊產生 時,例如當系統被初始地格式化時,圖表内之平均抹除次 數及每-區狀抹除絲之錢常被初始化為p於獲得 平均抹除絲後,實f地供⑽内之财區制之抹除次 數可被獲得。如上文與第2圖有關之說明所示,供含有資料 之特定區塊用之抹除次數可被儲存於與此區塊有關之冗餘 ,域。因此’獲得實質上供所有含有資料之區塊用之抹除 人數包括麵與每—區塊有關之驗區域 次數儲存於抹除次數區塊。 母抹除 二=:ί’Γ塊之嫩數係自抹除錢 此抹除次心二=:::域已被抹除’因 會產生-炊^+ 糸統關閉電源時,通常 含有所有⑼使得抹除次數圖表可被更新以實質地 塊之最新抹除讀。於任何給定時間,區塊歸 21 1236019 屬於最常抹除區塊圖表、最不f抹除 匕尾圖表、抹除次數 [塊、或區塊對映圖表。歸屬於抹除次數區塊之 除次數係儲存於此區塊之冗餘區域。 “ 3貝料之區塊之枯 10 15 20 除次數通常歸屬於區塊對映圖表且係儲存於冗餘區域。由 於區塊實際上從未被使用,因此歸屬於區塊對映圖表之抹 除區塊之抹除次數具有零抹除次數。由於鱗圖表之每一 入口通常含有抹除區塊之區舰目及純除錢㈣i因 此自最不常抹除區塊圖表或最常抹除區塊圖表獲得抹除次 數牵涉自圖表取得數值。於初始化要求之處理完成前 除次數區塊通常係以所有區塊之目前抹除次數加以更新。 a於步驟320中,區塊對映圖表係分派於諸如主機系統記 憶體之系統記憶體。如同熟於此技者將可瞭解者,區塊對 映圖表可被排置為可提供邏輯區塊位址(lba 位址⑽綱之對映。此外,最常抹除區塊圖表與最不2 除區塊圖表亦於步驟320分派。 •最常抹除區塊圖表通常係設為或組構為可有效地保持 與最常抹除之抹除區塊有關之資訊。亦即,最常抹除區塊 係排置為可保持諸如抹除次數及對映資 最高抹除次數之抹除區塊之資訊。_地,最不常 塊圖表通㈣設為或組構為可供給_具有最低抹除次數 之抹除區塊之資訊。雖然最常抹除區塊圖表之大小與最不 常抹除區塊之大小可廣泛地改變,此等大小係取決於齡 定為最常抹除之區塊數目與《定為最不倾除之區塊^ 目。通常’最常抹除區塊圖表一般而言係設為可供給較最 22 ^360] 9 5 10 15 20 不吊抹除區塊圖表更少抹除區塊之資訊。藉由釋例,最常 抹除區塊圖表可設為約可供給供18個抹除區塊用之資訊, 同時最不常抹除區塊圖表可設為可供給與約7〇個抹除區塊 有關之資訊。任擇地,最常抹除區塊圖表可設為約可供給 供10個抹除區塊用之資訊,同時最不常抹除區塊圖表可設 為可供給約可供給供50個抹除區塊用之資訊。 於步驟320分派圖表後,抹除區塊於步驟324被識別。 而後,於步驟328,「N」個抹除區塊可被分配予最常抹除區 壤,本質上係被分配予最常抹除圖表。於一實施例中,此 等N」個抹除區塊可為具有最高抹除次數之%個抹除 區塊’如同比較所有抹除次數所判定者。任擇地,此等欲 ^於最倾除區塊圖表之「N」個抹除區塊可根據與於步 驟咖所獲狀平均抹除缝進行比㈣狀。舉例 除區塊可為具有至㈣給定百分比之^除次 」個抹除區塊,例如約為高於平均抹除次數 之二十五。 刀 二-w抹除區塊圖表有效地產生,於步驟332
I 統有關It二 塊,或者此等「Μ Μ 抹除次數的抹除區 除次數—定;:!除區塊可為具有至少係較平均抹 此等:二:::::數〜個抹除區塊。 圖表之有效備用區塊。適^時間分配予區塊對映 23 1236019 • a剩餘抹除區塊,亦即未分配予最不f抹除區塊圖 最^抹除區塊圖表中之任-者之抹除區塊,係隨著步驟攻 之未抹除」區塊而分配予區塊對映圖表。換古之,^ 抹除區塊及含有非與冗餘區域有關之資料之區塊係與2 對映圖表有關。 於區塊對映圖表、最不常抹除區塊圖表、及最常抹除 區塊圖表有效地以諸如具有抹除錢及與龍區塊有關^ 十映:貝,Λ而產生| ’平均抹除次數可於步驟338判定。通常 10 15 20 判疋平均抹除次數係有關加總於步驟3〇8所獲得之個別區 塊之抹除次數,及將區塊總數除以總和。 °° 於步驟338所計算之平均抹除讀係儲存於與此系統 =關之抹除次數區塊。如前所述,平均抹除次數係儲存於 -寫入於與系統有關之财腸記憶體之抹除次數區塊。於 I此^均抹除絲料於此抹除讀區塊前,靜態區塊或 有資料具有相對低相關抹除次數之區塊,可於步驟M2 加以處理,。與處理靜態區狀方法有社㈣將於下文參 考第4圖詳細朗。—旦靜Μ塊被處理,處理初始化要求 之處理即已完成。 於/、决閃δ己憶體有關之區塊群組内,於任意給定時 〃、、、τ<⑦存有被抹除之區塊及含有資料,亦即使用者資 料之區塊。某些含有資料之區塊可被考慮為「普通」區塊, ^時其他區_可被考為靜態區塊。靜Μ塊係含有難 得=變=_區塊。換言之,靜態區塊很難得被抹除。 吊靜〜、區塊係與儲存於快閃記憶體之相對老舊之文 24 1236019 件、儲存於快閃記憶體之可執行程式、或儲存於快閃記憶 體之作業系統有關。一般而言,靜態區塊具有實質上低於 快閃記憶體内多數區塊之抹除次數的抹除次數。於一實施 例中’若區塊之抹除次數低於與快閃記憶體系統有關之平 5均抹除次數之特定百分比,例如約二十個百分比則含有 資料之區塊可被考慮為係一靜態資料。 由於靜態區塊含有難得改變之資料,因此靜態區塊所 含有之資料可被㈣於具有㈣高抹除讀之區塊。亦 即,當特定實體區塊之内容係相對地靜態且因此一般而言 W係未改變時,此等内容可有效地再分配予具有相對高之抹 除次數之相異實體區塊,以致動具有相對低抹除次數之原 始實^區塊而以之儲存較常改變之内容。參考第4圖,與處 理靜態區塊有關之步驟,亦即第3圖之步驟M2將根據本發 2之-實施例詳細說明。處理系統之靜態區塊之處理如開 ^步驟姻’其中,諸如區塊「A」之非抹除區塊之抹除 二被存取。-旦區塊「A」之抹除次數被存取,與和系統 ^之平均抹除次數進行比較之雜除區塊「A」之抹除次 疋否為非常低有關之判定於步驟408產生。 2 雖然相較於平均抹除次數,非抹除區塊「A」之抹除次 否較低之判定可實質地根據任何適當之標準而產生, =實_中,此判定係根據區塊「A」之抹除次數是否且 Γ值小於與平均抹除次數之部份有關之值而產生。舉例 二,當抹除次數小於平均抹除次數之特定百分比時,區 A A」之抹除次數可被考慮為較低。 25 l236〇i9 若其於步驟408判定區塊「A」之抹除次數相較於平均 抹除次數並非非常低,則其指示區塊rA」大概並非靜態區 鬼。應瞭解者為,即使並未將區塊「Α」之抹除次數考慮為 非吊低,區塊「Α」仍可為靜態區塊,於此種情形之區塊「a」 5之抹除次數將有效地不觸發區塊「Α」與另一區塊之調換。 據此,處理靜態區塊之處理即告完成。 任擇地,若其於步驟4〇8判定相較於平均抹除次數,區 塊「Α」之抹除次數係相當低,則其意指可將區塊「八」之 内容寫入具有相對高之抹除次數之區塊,使得具有其低抹 10除次數之區塊「Α」可自由儲存改變相對地頻繁之資料。換 3之’當區塊「Α」之抹除:欠數相較於平均抹除次數係相當 低時,其‘不區塊「Α」係為靜態區塊。因此,處理流程自 步驟408移動至步驟412,JL中,卩祕「Δ总、士崎 八甲區塊Α」係被識別為靜能 區塊。一旦區塊「Α」被識別為靜態區塊,亦即當以步驟仙 15之最常抹除區塊圖表識別時,區塊「Β」可自最常抹除區塊 雜紐痛撂。 20 於區塊Β」破獲得後,區塊「Α」之内容於步驟42〇 被複製於區塊「Β」。亦即,於步驟·,區塊「Α」含有之 使用者資料被複製於區塊「β」。_旦區塊「Α 複製於區塊「Β」,區換「 ▲」 谷破 ^ Α」即於步驟424被抹除。 當區塊「Α」被抹除時, 大。-諸如區塊「C 塊Α」有關之抹除次數被增 區塊群組移動至最常抹^塊可於步驟428自最不常被抹除 吊抹除區塊群組,使得區塊rc 圖 性可自㈣㈣塊_輪變樹抹除= 26 1236019 jr ^。換言之,區塊「c」係與最不常抹除區塊失去關聯並與 吊抹除區塊圖表產生關聯。此種移動可容許最不常抹除 區塊圖表内之空間有效地開放以供給具有低抹除次數而因 此為系統之最不常抹除次數區塊中之一者的區塊「Α」。通 书,區塊「C」係最不常抹除區塊圖表中具有最高抹除次數 之區塊。 10 15 20 於將區塊「C」自最不常抹除區塊群組移動之前,或令 區塊「C」與最不常抹除區塊圖表失去關聯之前,處理流程 自^驟428移動至432,其中,區塊ΓΑ」係於步驟432有效 地自區塊對映圖表移動至最不常抹除區塊圖表。而後,於 :騍434,包括先前含於區塊rA」之内容之區塊「β」與 區塊對映圖表產生關聯。如熟於此技者將可瞭解者, 土舍「Τϋ 「 · J Li ‘」移動」至區塊對映圖表通常包括將與區塊「A 有關之邏輯區塊位址之對映更新為目前之與區塊「B」 ^當附屬於區塊「C」之資訊係呈現於最常抹除__有 ,區塊「B」之資訊係呈現於區塊對映圖表、且附屬於 :鬼A」之資訊係呈餘最^;常抹除區塊圖表時〜 靜態區塊之處理。應瞭解者為,處理342可重複至盥/疋 關之所有靜態區塊實質上已被識別及處理為止/、糸統有 -般而言’當初始化要求被傳送至整 統時,區土#m * 、閃5己憶體系 。4對映圖表、最不常抹除區塊圖表 區塊圖表可於啤Λ Κ吊抹除 建立^ Mm之彡軌細產生。為 此相表,空間可先被分派於系 - 圖表。 ^菔以供給此等 27 1236019 如上文所述,當其為平均抹除次數時,區塊對映圖表、 最不常抹除區塊圖表、及最常抹除區塊圖表被產生於系統 記憶體。平均抹除次數及每一區塊之抹除次數亦被寫入抹 除次數區塊。第5a圖係根據本發明之一實施例之系統記情 5體的圖式方塊圖表示。系統記憶體454及快閃記憶體46〇係 被包括於整體系統,且舉例而言可有效地為記憶體卡構件 或主機裝置構件,其中,諸如NAND記憶體之快閃記憶體 460係被置入。系統記憶體454係被排置為可儲存區塊可與 之產生關秘之區塊對映圖表462。通常,區塊對映圖表 10可被使用以使LBA與和快閃記憶體46〇有關之實體區塊產 生關聯。 15 20 尔、、、A彳思髖4M亦可保持如同區塊對映圖表牝2之一般 而言係響應於初始化要求而形成之最不常抹除區塊圖表 466及最常抹除區塊圖表47〇。被排置為可保持快閃記憶體 460之區塊之平均抹除次數之平均抹除次數係於整體快 閃記憶體系統被格式化時產生。於一實施例中,抹除次數 區塊·係被排置為可實質上含有快閃記憶體偏内之所有 區塊之抹n於每次初始化要求產生時,更新平均抹 除次數可被計算’並儲存於抹除魏區塊·。 n 圖係根據本發明之—實施例之「普通」區塊群組、 取不常抹除區塊群組、及最常抹除區塊群組之圖式表示。 包括ϋ言可為含有使詩料之普通 _塊中之任-者之區塊5U。-般而言,於最常 28 1236019 塊训之群組包括具有整體系統内之抹除 1除次數的區塊522的同時,最不常抹除區魏之: 的—=== 使用。 w塊518财效軸作為備份區塊 當區塊514被抹除時,其可判定抹除區塊514是否 10 广次數或相對高之相關抹除次數。當抹除 Λ具有相對低之相關抹除次數時,抹除區塊514可被 ^於最不常抹除區塊鄕之群組。另—方面,當抹除區細 2相對高之相騎除次數時,抹除區塊51何被再分配予 攻书抹除區塊510之群組。 、實f上可為任意大小之最不常抹除區塊5G6之群粗可 為-排序群組。亦即,區塊518可實質地根據抹除次數而加 以排序。此排序通常係反映於含有與區塊518相關之入口之 b對應最不常抹除區塊圖表(未顯示)。舉例言之,於每次新區 塊5職移人料常抹㈣塊寫之群組、或增加於最不常 抹除區塊5G6之群组、或與最不常抹除區塊5%之群組產生 關聯時,區塊518可本質地根據抹除次數而排序,使得最不 常抹除區塊506之群組内之最不常抹除區塊518可為欲再分 20配之下一區塊518,如同群組5〇2之例。換言之,當需要欲 複製資料之新區塊時,區塊518之最不常抹除區塊518係使 用最不常抹除區塊圖表而加以識別,且自最不常抹除區塊 506之群組取出。通常,當含有無使用需要之資料的區塊叫 被抹除時,此區塊514可被儲存於最不常抹除區塊5〇6之群 29 1236019 W最不除區塊圖表可據此而更新,亦即,對應於 曰加區塊之人π可被包括於最不常抹除區塊圖表。 〜如同儲存於最不f抹除區塊篇之群組内之區塊518, =抹除區塊5_群組内之區塊似亦可實質地根據抹除 :人數而加以排序。通常此排序係藉由排序用以識別區_ 10 15 20 :最常抹除區塊圖表(未顯示)之入口而實施。於一實施例 &區塊522有關之平均抹除次數可被計算,亦即,供最 ㊉抹除區塊5H)之群_之平均抹除找可被狀。當來自 群、且502之區塊514被抹除,且發現抹除區塊$丨$之抹除次數 超出供最常抹除區塊51G之群_之平均抹除次數一給定 百分比,例如超出約二十個百分比時,•抹除區塊Μ可被加 ^最常抹除區塊之群組。當新區塊似係有效地加入最 常祕區塊51G之群組時,最常抹除區塊51G之群組内之具 有最低抹除次數之區塊522可被再分配於群組观。此種再 分配通常係藉由更新相關區塊對映圖表、最不常抹除區塊 圖表、及最常抹除區塊圖表(未顯示)而反映。 群組502、最不常抹除區塊鄕之群組、及最常抹除區 塊510間之區塊之職及更新—般而言係發生於被包括群 組502之11塊514應被抹除或更新時。任擇地,區塊之調換 或更新可實質地發生於欲分配備份區塊以供群組使用 之任-時間。接著參考第6圖,為使區塊之磨損更為平均而 實施於諸如具有置入式快閃記憶體之主機系統的整體記憶 體系統内之區塊調換或更新之方法將根據本發明之一實施 例說明如下。實施區塊調換或更新之處理_係開始於步驟 30 1236019 π,_;堵如區塊「Y」之區塊係自區塊對映圖表而「獲 件」或使賴塊對映圖表而制。所獲得之區塊係為欲有 效地自用以複製或更新其内容之區塊對映圖表調換之區 5 10 ―旦區塊「γ」被獲得’諸如區塊「χ」之區塊被有效 地於步臟自最不常抹除區塊圖表中獲得。亦即,備份區 塊係自最不f抹除輯之群組使崎不抹除區塊圖表識別 適當備份區塊而獲得。-般而言,區塊「X」係為最不常抹 除區塊群組中具有最低抹除次數之區塊,雖然應瞭解者為 區塊「X」可實質地為任意與最不常抹除區塊有關之區塊, 且因此可為最不常抹除區塊圖表。儲存於區塊「Y」之資料 内容’或欲替換區塊「Y」之原始内容之新内容係於步驟612 複製於區塊「X」。 於將區塊「Υ」之内容複製於區塊「X」後,於步驟616, 區塊X」係有效地移入區塊對映圖表,或與區塊對映圖表 產生關聯。換言之,與區塊「γ」及區塊「χ」有關之對映 係有效地更新,使得絲對映於區塊「γ」之遍被再對映 於區塊「X」。當區塊「X」係有效地移入區塊對映圖表時, 區塊「Y」於步驟62G被抹除。詳言之,健存於區塊「γ」 20之諸如使用者内容之資料内容可使用實質上任意適當之技 術加以抹除。而後,儲存於與區塊「γ」有關之冗餘區域之 與區塊「γ」有關之抹除次數係於步驟624被增大以指示區 塊Y」已再次被抹除。於一實施例中應瞭解者為,有效地 儲存於抹除次數區塊之供「γ」用之抹除次數可被更新。 31 1236019 於步驟628中,最常抹除區塊圖表中具有最低抹除次數 之區塊被朗。如上所述,於—實_巾,於最常抹除區 塊圖表所參考之區塊係根據其個別抹除次數而排序。將區 塊排序可包括根據區塊之抹除次數定位最常抹除區塊圖表 内之此粒塊之參考資料。因此,具有最低抹除次數之區 塊之識別-般而言係有關於存取最f抹除區塊圖表内之排 置為可供給具有最低抹除次數之區塊參考資料之位 塊參考資料。 ° 10 15 20 -旦於最常抹除區塊圖表所參考之具有最低抹除次數 之區塊被識別,處理流程自步驟628移動至步驟幻2,其中, 其可判定區塊「Y」之鎌錄衫大於在最f抹除區塊圖 表參考之具有最低鎌讀之區塊的鎌讀。若其判定 區塊Y」之抹除次數並未大於在最常抹除區塊圖表參考之 具有最低抹除次數之區塊的抹除次數,則其係指示區塊「V」 並未被考慮為係經常抹除的。據此,處理流程自步驟632移 動至步驟636,其中,區塊Γγ」係被移至最不常抹除區塊 之群組且有效地移至最不常抹除區塊圖表 ,亦即,對應於 區塊「Υ」之入口係被增加於最不常抹除區塊圖表。應瞭解 者為,於一實施例中,將區塊「γ」移至最不常抹除區塊之 群組可包括使用每一區塊之抹除次數實質地排序最不常抹 除區塊圖表之所有區塊參考資料。於區塊「Υ」係有效地移 至最不常抹除區塊圖表後,調換區塊或更新區塊之處理即 為完成。 返回至步驟632,若步驟632判定區塊「Υ」之抹除次數 32 1236019 =最=塊圖表有關之最低抹除次數,其指示為 龙丫」應移至表常抹除區塊之群組且有效 5 10 15 20 抹IM F :於最吊抹除區塊圖表參考之具有最低 示-人之品塊的區塊需要有效地自最常抹除區塊圖表中 除。因此,於步驟640中,於最常抹除區塊圖表參考之且 有最低抹除讀之區塊係被健衫常抹除區塊之群组, 且有效地移至最不常抹除區塊圖表。將區塊移至最不常抹 除區塊之群組可包括根據每一區塊之抹除次數排序最不常 抹除區塊圖表之區塊參考資料。 >於最常抹除區塊圖表中具有最低抹除次數之區塊被有 效也自最^抹除區塊圖表移動後,於步驟644,區塊「Y」 係有放地移動至最常抹除區塊圖表。於—實施例中,將區 塊Y」移動至最常抹除區塊且因此有效地移動至最常抹除 區塊圖表可包括根據每一區塊之抹除次數排序包括區塊 Y」之最常抹除區塊。當區塊「γ」係有效地移至最常抹 除區塊圖表時,調換或更新區塊之處理即已完成。 一般而言’與維持圖表、掌握初始要求、及實施磨損 "周句等有關之諸如響應於調換或更新區塊之要求的功能性 係以諸如程式碼裝置或韌體等軟體形式提供予主機系統。 一 k供予主機系統以致動磨損調勻之發生的軟體或韌體有 關之適當系統架構之一實施例係顯示於第7圖。一般而言, 系統架構7〇〇包括數種可包括(但不限於)應用介面模組 704、系統管理者模組7〇8、資料管理者模組712、資料完整 33 1236019 性管理者模組716、及裝置管理者與介面模組72〇等模組。 一般而言,系統架構700可使用藉由諸如第la圖之處理器 108之處理器存取之軟體碼裝置或韌體實施。 一般而言,其可將應用介面模組704可排置為可直接與 5主機、作業系統、或使用者通信。應用介面模組704亦與系 統管理者模組708及資料管理者模組712通信。當使用者要 求讀取、寫入、或格式化快閃記憶體時,使用者傳送要求 至作業系統,此等要求被傳給應用介面模組7〇4。取決於此 荨要求’應用介面模組704將此等要求轉至系統管理者模組 10 708或資料管理者模組712。 系統管理者模組708包括系統初始化次模组724、抹除 次數區塊管理次模組726、及電力管理區塊次模组73()。一 般而δ ’糸統初始化次板組724係排置為可致動初始化要求 之處理’且通常係與抹除次數區塊管理次模組726通信。於 15 一實施例中,系統初始化次模組724容許區塊之抹除次數被 更新,且係實質地用於產生最不常使用區塊圖表及最常使 用區塊圖表。 抹除次數區塊管理次模組726包括儲存區塊抹除次數 之功能性、及計算平均抹除次數之功能性、與使用個別抹 20 除次數更新平均抹除次數之功能性。換言之,抹除次數區 塊管理次模組726可有效地容許平均抹除次數之維持。更詳 言之,於一實施例中,於整體系統之初始化要求期間,抹 除次數區塊管理次模組726亦實質地同步化抹除次數區塊 之所有區塊之抹除次數。應瞭解者為,於抹除次數區塊管 34 1236019 理次模組726顧排置為可將平均抹除次數儲存於抹除次 數區塊之同時,其可由電力管理區塊次模組73〇加以替換而 致動平均抹除次數之儲存。 除與應用介面模組704通信外,系統管理者模組7〇8亦 5與資料管理者模組712及裝置管理者與介面模組720通信。 與系統管理者模組7G8及應时面模組烟兩者通信之資料 管理者模組712可包括提供頁或區塊對映之功能性。資料管 理者模組712亦可包括與作業系統及檔案系統介面層有關 之功能性。 10〜與系統管理者模組7〇8、資料管理者7丨2、及資料完整 性管理者716通信之裝置管理者與介面模組72〇通常可提供 快閃記憶體介面,且包括與諸如i/Q介面之硬體提取有關之 功能性。資料完整性管理者模組716可提供其他功 ECC掌握。 15 M本發明僅就數實施例加以制,應瞭解者為,於 不=離本發明之精神或範圍内,本發明可實施於其他數種 特定形式中。藉由釋例,取代根據每一區塊對平均抹除次 數之比較、將區塊分配予最常抹除區塊圖表及最不常抹除 區塊圖表,區塊可根據何區塊具有最高抹除次數及何區塊 2〇具有最低抹除次數之絕對判定而代之以被分配予最常抹除 區塊圖表及取不常抹除區塊圖表。換言之,區塊抹除次數 可有效地與彼此比較,而非比較個別區塊抹除次數與平 抹除认數,而判定可插入區塊之適當圖表。 最不雨抹除區塊圖表已大致地說明為如同備份區塊之 35 1236019 :有六女妯:相對低抹除次數之區塊的參考資料。備份區塊 份£塊實^U透過區塊對映圖表之制而使用,使得備 = 料間皆為以^ 10 15 20 用。換+之 > 亏之瑕低抹除次數之區塊被提供以供使 不常抹欲調換於區塊對映圖表識狀區塊時,最 料群組之具有最低抹除次數之區塊的參考資 =::對映圖表,,應瞭解者為,-般二 塊二::期:於:意區塊可實質地自最不常抹-加以排序,因此使抹除區塊圖表内之區塊無需 區塊實質地選擇任音區塊2除區_表而自最不常抹除 體系統有關之附加_。至&塊對應圖表可減少與整 统内處理靜態區塊—般而言可增強令整體記憶體系 :區塊磨損更為平均之能力。然而,於一實施例中” 静怨區=並無識別與處理之需要。舉例言之,若數 目之靜態區塊㈣統内預先處理 ' ' 神盘範_,偏]於不祕本發明之精 神4圍内’㈣區塊之識別與處理可實質地消除。 於說明叫目關雜脸制轉制麵錄記 =主機系統有關之軟體或_控制非依電性記怜體 先之同時,應瞭解者為,包括抹除次數㈣則 處理可應用於與實質上餘雜魏S 制器通信之非依電性記憶體系絲。心〜、’、’卜崢之控 體系統包括(但不限於)。:卡:、緊密二制:記憶 全數位卡、及包括快閃_及快閃::二 36 1236019 式晶片組。經由使用載於主機系統之軟體或韌體控制之記 憶體系統包括置入式記憶體裝置。於一實施例中,可使用 前文所述之抹除管理技術且未使用與記憶體系統有關之控 制器之記憶體系統可使用與諸如主機電腦系統有關之控制 5器實施磨損_句。亦即,主機可直接定位址與管理記憶體, 其中,磨損調勻係經由使用主機上之控制器而發生。 般而3,與各種磨損調勻之處理及方法有關之步驟 可廣泛地改變。一般而言,於不悖離本發明之範圍之精神 的情形下,此等步驟可增加、移除、改變、及再排組。藉 由釋例處理靜怨區塊可無需被包括於初始要求之處理 中。同時,於一實施例中,是否有效地將新抹除區塊置放 於最韦抹除區塊圖表之判定可根據其他標準,以替代根據 抹除區塊是否具有大於與最常抹除區塊圖表有關之最低抹 除-人數的抹除次數判定之標準。舉例言之,此種判定可根 15據抹除區塊之抹除次數是否超出與最常抹除區塊圖表有關 之實質上所有區塊之平均抹除次數一定百分比,諸如約二 十個百分比。當抹除區塊之抹除次數超出平均抹除次數特 定百分比時,而後於最常抹除區塊圖表所參考之具有最低 抹除次數之區塊可被移至最不常抹除區塊圖,同時抹除區 塊係被移至最常抹除區塊圖表。因此,目前之釋例係考量 為供說明之用,而非供限制之用,且本發明並未限於此處 所詳述之說明,而係可於附隨之申請專利範圍之範圍内進 行修改者。 37 1236019 【圖式簡單說明】 第la圖係根據本發明之一實施例之包括非依電性記憶 體裝置的一般主機系統之圖式表示。 第lb圖係根據本發明之一實施例之諸如第la圖中的記 5 憶體裝置120之記憶體裝置之圖式表示。 第2圖係根據本發明之一實施例之快閃記憶體的部份 之圖式表示。 第3圖係根據本發明之一實施例之說明與處理和快閃 記憶體系統有關之初始化要求有關之步驟的處理流程圖。 10 第4圖係根據本發明之一實施例之說明與處理靜態區 塊之方法有關的步驟之處理流程圖。 第5 a圖係根據本發明之一實施例之系統記憶體的圖式 方塊圖表不。 第5b圖係根據本發明之一實施例之正常區塊、最不常 15 抹除區塊、及最常抹除區塊之圖式表示。 第6圖係根據本發明之一實施例之用以於系統記憶體 實施區塊調換/更新整體記憶體系統以容許區塊之磨損更 為平均的方法的圖式表示。 第7圖係根據本發明之一實施例之系統架構之圖式方 20 塊圖表示。 【圖式之主要元件代表符號表】 11 記憶體晶胞陣列 15 匯流排 17 解碼器 19 附加電路 38 1236019 21 緩衝器記憶體 23 部份 100 主機系統、電腦系統 104 系統匯流排 108 微處理器 112 隨機存取記憶體 116 輸入/輸出電路 120 非依電性記憶體裝置 124 非依電性記憶體 128 任選記憶體控制系統 130 任選輸入/輸出電路區塊 132 輸入/輸出電路區塊 200 快閃記憶體 204 、204a、204b 頁 206、 206a 冗餘區域 210 區塊 214 抹除次數 300 處理 304、 306、320、324、332、336 、338 、342、404、408、412、 416、 628、 420、428、432、434、604、608 632、636、640、644 步驟 Λ 612、616、620、624、 454 系統記憶體 460 快閃記憶體 462 區塊對映圖表 470 最常抹除區塊圖表 474 抹除次數 480 抹除次數區塊 502、 506、510、514、518、522 區塊 700 糸統架構 704 應用介面模組 708 系統管理者模組 712 資料管理者模組 716 資料完整性管理者模組 720 裝置管理者與介面模組 724 726 系統初始化次模組 抹除次數區塊管理次模組 730 電力管理區塊次模組 39

Claims (1)

1236019 拾、申請專利範圍: 1. 一種用以分派非依電性記憶體之方法,該非依電性記憶 體係實質地分割為元塊體件,該方法包含: 將該等元件至少分組為一第一群組、一第二群組、 5 及一第三群組,其中,該第一群組包括具有相對低磨損 之抹除元件,且該第二群組包括具有相對高磨損之抹除 元件; 判定應於何時以包括於該第一群組之一第二元件 實質地替換包括於該第三群組之一第元件; 10 當判定應以該第二元件實質地替換該第一元件 時,將與該第一元件有關之内容複製於自該第一群組獲 得之該第二元件; 自該第一元件抹除該第一元件之内容;以及 令該第二元件與該第三群組產生關聯,其中,令該 15 第二元件與該第三群組產生關聯包括實質地令該第二 元件與該第一群組失去關聯。 2. 如申請專利範圍第1項所述之方法,其中,將該等元件 分組為該第一群組、該第二群組、及該第三群組包括根 據一與每一元件有關之抹除次數分組該等元件。 20 3.如申請專利範圍第1項所述之方法,其中,該第一元件 包括一抹除次數,該方法更包括: 於抹除該第一元件之該等内容後,增大該第一元件 之該抹除次數。 4.如申請專利範圍第3項所述之方法,其更包括: 40 1236019 使用該第一元件之該抹除次數判定是否令該第一 元件與該第一群組產生關聯;以及 當該第一元件之該抹除次數指示應令該第一元件 與該第一群組產生關聯時,令該第一元件與該第一群組 5 產生關聯,其中,令該第一元件與該第一群組產生關聯 包括令該第一元件與該第三群組失去關聯。 5. 如申請專利範圍第3項所述之方法,其更包括: 使用該第一元件之該抹除次數判定是否令該第一 元件與該第二群組產生關聯;以及 10 當該第一元件之該抹除次數指示應令該第一元件 與該第二群組產生關聯時,令該第一元件與該第二群組 產生關聯,其中,令該第一元件與該第二群組產生關聯 包括令該第一元件與該第三群組失去關聯。 6. 如申請專利範圍第5項所述之方法,其中,該第二群組 15 之該等元件具有抹除次數,該第二群組之該等抹除次數 包括一最低抹除次數、該最低抹除次數係與包括於該第 二群組之該等元件之一第三元件產生關聯,且其中,使 用該第一元件之該抹除次數判定是否令該第一元件與 該第二群組產生關聯包括判定該第一元件之該抹除次 20 數於何時大於該最低抹除次數。 7. 如申請專利範圍第6項所述之方法,其更包括: 當該第一元件之該抹除次數指示應令該第一元件 與該第二群組產生關聯時,令該第三元件與該第一群組 產生關聯,其中,令該第三元件與該第一群組產生關聯 41 1236019 包括令該第三元件與該第二群組失去關聯。 8.如申請專利範圍第1項所述之方法,其中,該非依電性 記憶體係為一NAND快閃記憶體,且該等元件係為區 塊。 5 9.如申請專利範圍第1項所述之方法,其中,與該第一元 件有關之該等内容係該第一元件之該等内容中之一 者,且實質上係排置為可至少替換該第一元件之該等内 容中之某些的新内容。 10. —種用以分派非依電性記憶體之方法,該非依電性記憶 10 體係實質地分割為元件,該方法包含: 將該等元件至少分組為一第一群組、一第二群組、 及一第三群組,其中,該第一群組包括具有約小於一平 均抹除次數之抹除次數的抹除元件,且該第二群組包括 具有約大於該平均抹除次數之抹除次數的抹除元件; 15 判定應於何時以包括於該第二群組之一第二元件 實質地替換包括於該第三群組之一第元件; 當判定應以該第二元件實質地替換該第一元件 時,將與該第一元件有關之内容複製於自該第二群組獲 得之該第二元件; 20 自該第一元件抹除該第一元件之内容;以及 令該第二元件與該第三群組產生關聯,其中,令該 第二元件與該第三群組產生關聯包括實質地令該第二 元件與該第二群組失去關聯。 11. 如申請專利範圍第10項所述之方法,其中,該第一元件 42 1236019 係為一靜態元件,且判定應於何時以包括於該第二群組 之該第二元件實質地替換包括於該第三群組之該第一 元件包括: 判定一與該第一元件有關之一抹除次數與該平均 5 抹除次數之比較於何時指示應實質地以包括於該第二 群組之該第二元件替換包括於該第三群組之該第一元 件。 12. 如申請專利範圍第10項所述之方法,其中,判定與該第 一元件有關之該抹除次數與該平均抹除次數之該比較 10 於何時指示應實質地以包括於該第二群組之該第二元 件替換包括於該第三群組之該第一元件,包括判定與該 第一元件有關之該抹除次數於何時實質地小於該平均 抹除次數。 13. 如申請專利範圍第10項所述之方法,其更包括: 15 令該第一元件與該第一群組產生關聯,其中,令該 第一元件與該第一群組產生關聯包括令該第一元件與 該第三群組失去關聯。 14. 如申請專利範圍第10項所述之方法,其中,該非依電性 記憶體係為一NAND快閃記憶體且該等元件係為區塊。 20 15·如申請專利範圍第10項所述之方法,其中,與該第一元 件有關之該等内容係為該第一元件之該等内容中之一 者,且實質上係排置為可至少替換該第一元件之該等内 容中之某些的新内容。 16. —種記憶體管理系統,該記憶體管理系統係排置為非依 43 1236019 電性記憶體,該非依電性記憶體係實質地分割為元件, 該記憶體管理系統包含: 一第一管理者,該第一管理者係排置為可將該等元 件至少分組為一第一群組、一第二群組、及一第三群 5 組,其中,該第一群組包括具有相對低磨損之元件,且 該第二群組包括具有相對高磨損之元件;以及 一第二管理者,該第二管理者係排置為可判定應於 何時實質地以包括於該第一群組之一第二元件替換包 括於該第三群組之一第一元件,該第二管理者係更排置 10 為可將與該第一元件有關之内容複製於自該第一群組 獲得之該第二元件,並自該第一元件將該第一元件之内 容抹除,其中,該第二管理者可更排置為可令該第二元 件與該第三群組產生關連並實質地令該第二元件與該 第一群組失去關聯。 15 17.如申請專利範圍第16項所述之記憶體管理系統,其中, 該第一管理者係排置為可藉由根據與每一元件有關之 一抹除次數而分組該等元件,以將該等元件分組為該第 一群組、該第二群組、及該第三群組。 18. 如申請專利範圍第16項所述之記憶體管理系統,其中, 20 該第一元件包括一抹除次數,且該第二管理者係更排置 為可於將該第一元件之該等内容自該第一元件抹除 後,增大該第一元件之該抹除次數。 19. 如申請專利範圍第18項所述之記憶體管理系統,其中, 該第二管理者使用該第一元件之該抹除次數判定是否 44 1236019 令該第一元件與該第一群組產生關聯,及於該第一元件 之該抹除次數指示應令該第一元件與該第一群組產生 關聯時,令該第一元件與該第一群組產生關聯。 20.如申請專利範圍第18項所述之記憶體管理系統,其中, 5 該第二管理者係更排置為可使用該第一元件之該抹除 次數判定是否令該第一元件與該第二群組產生關聯,及 於該第一元件之該抹除次數指示應令該第一元件與該 第二群組產生關聯時,令該第一元件與該第二群組產生 關聯。 10 21.如申請專利範圍第20項所述之記憶體管理系統,其中, 該第二群組之該等元件具有抹除次數,該等第二群組之 該等抹除次數包括一最低抹除次數,該最低抹除次數係 與包括於該第二群組之該等元件之一第三元件產生關 聯,且其中,該第二管理者係排置為可使用該第一元件 15 之該抹除次數,藉由判定該第一元件之該抹除次數於何 時大於該最低抹除次數,判定是否令該第一元件與該第 二群產生關聯。 22. 如申請專利範圍第16項所述之記憶體管理系統,其中, 該非依電性記憶體係為一NAND快閃記憶體且該等元 20 件係為區塊。 23. 如申請專利範圍第16項所述之記憶體管理系統,其中, 與該第一元件有關之該等内容係為該第一元件之該等 内容中之一者,且係實質地排置為至少可替換該第一元 件之該等内容中之某些之新内容。 45 1236019 24. —種用以分派非依電性記憶體之記憶體管理系統,該非 依電性記憶體係實質地分割為元件,該記憶體管理系統 包含: 一第一管理者,該第一管理者係排置為可將該等抹 5 除元件至少分組為一第一群組、一第二群組、及一第三 群組,其中,該第一群組包括具有約小於一平均抹除次 數之抹除次數之元件,且該第二群組包括具有約大於該 平均抹除次數之抹除次數之抹除元件;以及 一第二管理者,該第二管理者係排置為可判定應於 10 何時實質地以包括於該第二群組之一第二元件替換包 括於該第三群組之一第一元件,該第二管理者係更排置 為可將與該第一元件有關之内容複製於自該第二群組 獲得之該第二元件,並自該第一元件將該第一元件之内 容抹除,該第二管理者可再排置為可令該第二元件與該 15 第三群組產生關連,並令該第二元件與該第二群組失去 關聯。 25. 如申請專利範圍第24項所述之記憶體管理系統,其中, 該第二管理者係排置為可藉由判定一與該第一元件有 關之一抹除次數與該平均抹除次數之比較於何時指示 20 應實質地以包括於該第二群組之該第二元件替換包括 於該第三群組之該第一元件,判定應於何時實質地以包 括於該第二群組之該第二元件替換包括於該第三群組 之該第一元件。 26·如申請專利範圍第24項所述之記憶體管理系統,其中, 46 1236019 該第二管理者係排置為可令該第一元件與該第二群組 產生關聯,及令該第一元件與該第三群組失去關聯。 27.如申請專利範圍第24項所述之記憶體管理系統,其中, d亥非依電性纪憶體係為一 NAND快閃記憶體且該等元 5 件係為區塊。 28_如申請專利範圍第24項所述之記憶體管理系統,其中, 與該第一元件有關之該等内容係為該第一元件之該等 内容中之一者,且係實質地排置為至少可替換該第一元 件之該等内容中之某些之新内容。 29· —種用以於包括非依電性記憶體之系統實施磨損調勻 之方法,該方法包含: 將與一第一儲存元件有關之内容中之一者及排置 為可替換與忒第一储存元件有關之内容的新内容複製 於一第二儲存元件,該第二儲存元件具有一小於與該第 一儲存元件有關之一抹除次數的抹除次數,該第二儲存 元件係與一第一資料結構有關,該第一資料結構係排置 為可含有一第一儲存元件組; 令該第二儲存元件與一第二資料結構產生關聯,該 第二資料結構係排置為可含有一第二儲存元件組,其 〇 中,令該第二儲存元件與該第二資料結構產生關聯包括 令該第二儲存元件與該第一資料結構失去關聯; 自該第一儲存元件抹除與該第一儲存元件有關之 該等内容; 判定應於何時令該第一儲存元件與該第一資料結 47 1236019 構產生關聯: 當其判定應令該第一儲存元件與該第一資料結構 產生關聯時,令該第一儲存元件與該第一資料結構產生 關聯,其中,令該第一儲存元件與該第一資料結構產生 5 關聯包括令該第一儲存元件與該第二資料結構失去關 聯;以及 當其判定不應令該第一儲存元件與該第一貢料結 構產生關聯時,令該第一儲存元件與一第三資料結構產 生關聯,該第三資料結構係排置為可含有一第三儲存元 10 件組。 30如申請專利範圍第29項所述之方法,其更包括: 判定一與該等儲存元件有關之平均抹除次數,其 中,與包括於該第一儲存元件組之該等儲存元件有關之 抹除次數係實質地低於該平均抹除次數,與包括於該第 15 三儲存元件組之該等儲存元件有關之抹除次數係實質 地高於該平均抹除次數。 31.如申請專利範圍第29項所述之方法,其更包括: 於抹除該第一儲存元件之該等内容後,增大該第一 儲存元件之該抹除次數。 20 32·如申請專利範圍第31項所述之方法,其中,判定應於何 時令該第一儲存元件與該第一資料結構產生關聯包括: 比較該第一儲存元件之該抹除次數與和該第三儲 存元件組有關之儲存元件之抹除次數。 33·如申請專利範圍第32項所述之方法,其中,當判定該第 48 1236019 一儲存元件之該抹除次數小於與該第三儲存元件組有 關之儲存元件之抹除次數時,判定應令該第一儲存元件 與該第一資料結構產生關聯。 34. 如申請專利範圍第32項所述之方法,其中,當判定該第 5 一儲存元件之該抹除次數大於與該第三儲存元件組有 關之儲存元件之至少一抹除次數時,判定應令該第一儲 存元件不與該第一貢料結構產生關聯。 35. 如申請專利範圍第34項所述之方法,其中,令該第一儲 存元件與該第三資料結構產生關聯包括: 10 獲得一第三儲存元件,該第三儲存元件係與該第三 儲存元件組有關,該第三元件具有一小於該第一儲存元 件之該抹除次數的抹除次數;以及 令該第三儲存元件與該第一資料結構產生關聯,其 中,令該第三儲存元件與該第一資料結構產生關聯包括 15 令該第二儲存元件與該第二貧料結構失去關聯。 36. 如申請專利範圍第29項所述之方法,其更包括: 自該第二資料結構獲得該第一儲存元件。 37. 如申請專利範圍第29項所述之方法,其中,該非依電性 記憶體係為一 NAND快閃記憶體。 20 38. —種用以於包括非依電性記憶體之系統實施磨損調勻 之方法,該方法包含: 將與一第一儲存元件有關之内容中之至少一者及 排置為可實質地替換與該第一儲存元件有關之該等内 容的新内容複製於一第二儲存元件,該第二儲存元件具 49 1236019 有一大於與該第一儲存元件有關之一抹除次數的抹除 次數,該第二儲存元件係與一第一資料結構有關,該第 一資料結構係排置為可含有一第一儲存元件組; 令該第二儲存元件與一第二資料結構產生關聯,該 5 第二資料結構係排置為可含有一第二儲存元件組,其 中,令該第二儲存元件與該第一資料結構產生關聯包括 令該第二元件與該第一資料結構失去關聯; 自該第一儲存元件抹除與該第一儲存元件有關之 該等内容; 10 令該第一儲存元件與一第三資料結構產生關聯,該 第三資料結構係排置為可含有一第三儲存元件組; 自該第三資料結構獲得一第三儲存元件;以及 令該第三儲存元件與該第一資料結構產生關聯,其 中,令該第三儲存元件與該第一資料結構產生關聯包括 15 令該第三儲存元件與該第三資料結構失去關聯。 39. 如申請專利範圍第38項所述之方法,其中,該第一儲存 元件組包括個別具有大於一平均抹除次數之一抹除次 數之儲存元件,且該第三儲存元件組包括個別具有一小 於該平均抹除次數之抹除次數之儲存元件,且其中,與 20 該第一儲存元件有關之該等内容實質上係為靜態。 40. 如申請專利範圍第38項所述之方法,其更包括: 比較與該第一儲存元件有關之該抹除次數與一和 該非依電性記憶體有關之平均抹除次數;以及 判定與該第一儲存元件有關之該抹除次數於何時 50 1236019 實質地小於該平均抹除次數,其中,將與該第一儲存元 件有關之内容複製於該第二儲存元件發生於判定與該 第一儲存元件有關之該抹除次數係實質地小於該平均 抹除次數之時。 5 41.如申請專利範圍第38項所述之方法,其中,該非依電性 記憶體係為一 NAND快閃記憶體。 42. —種記憶體管理系統,該記憶體管理系統係排置為可管 理非依電性儲存元件之分派,該記憶體管理系統包含: 用以維持一第一資料結構之裝置,該第一資料結構 10 係與個別實質地抹除為小於一特定數量之儲存元件有 關; 用以維持一第二資料結構之裝置,該第二資料結構 係與個別實質地抹除為多於一特定數量之儲存元件有 關, 15 用以維持一第三資料結構之裝置,該第三資料結構 係與和該第一資料結構或該第二資料結構無關之儲存 元件有關,其中,與該第三資料結構有關之該等儲存元 件中至少有數個含有資料; 用以判定應於何時替換該第三資料結構之一第一 20 儲存元件之裝置;以及 用以於判定應替換該第三資料結構之該第一儲存 元件時,令一自該第一資料結構與該第二資料結構中之 一者選出之第二儲存元件與該第三資料結構產生關聯 之裝置。 51 1236019 43. 如申請專利範圍第42項所述之記憶體管理系統,其更包 括: 用以判定該特定數量之裝置,其中,該特定數量係 一與該第一資料結構之儲存元件、該第二資料結構之儲 5 存元件、及該第三資料結構之儲存元件有關之平均抹除 次數。 44. 如申請專利範圍第43項所述之記憶體管理系統,其更包 括: 用以維持該平均抹除次數之裝置。 10 45.如申請專利範圍第44項所述之記憶體管理系統,其更包 括: 用以初始化該第一資料結構之裝置; 用以初始化該第二資料結構之裝置;以及 用以初始化該第三資料結構之裝置。 15 46.如申請專利範圍第44項所述之記憶體管理系統,其更包 括: 用以將個別實質地抹除為小於一特定數量之該等 儲存元件之一第三儲存元件自該第一資料結構移動至 該第二資料結構之裝置。 20 47.如申請專利範圍第44項所述之記憶體管理系統,其更包 括: 用以將個別實質地抹除為多於一特定數量之該等 儲存元件之一第三儲存元件自該第二資料結構移動至 該第一資料結構之裝置。 52 1236019 48. 如申請專利範圍第42項所述之記憶體管理系統,其更包 括: 用以將該第一儲存元件之内容與排置為可替換與 該第一儲存元件有關之該等内容中的至少某些之新内 5 容中之一者複製於該第二儲存元件之裝置; 用以抹除該第一儲存元件之裝置;以及 用以增大與該第一儲存元件有關之一抹除次數之 裝置。 49. 如申請專利範圍第44項所述之記憶體管理系統,其中, 10 該等儲存元件係該非依電性記憶體之區塊。 50如申請專利範圍第49項所述之記憶體管理系統,其中, 該非依電性記憶體係為一 NAND快閃記憶體。 51. —種記憶體管理系統,該記憶體管理系統係排置為可管 理非依電性儲存元件之分派,該記憶體管理系統包含: 15 用以將與一第一儲存元件之内容與排置為可替換 與該第一儲存元件有關之該等内容之新内容中之一者 複製於一第二儲存元件之碼裝置,該第二儲存元件具有 一小於與該第一儲存元件有關之一抹除次數的抹除次 數,該第二儲存元件係與一第一資料結構有關,該第一 20 資料結構係排置為可含有一第一儲存元件組; 用以令該第二儲存元件與一第二資料結構產生關 聯之碼裝置,該第二資料結構係排置為可含有一第二儲 存元件組,其中,用以令該第二儲存元件與該第一資料 結構產生關聯之該等碼裝置包括用以令該第二儲存元 53 1236019 件與該第一資料結構失去關聯之石馬裳置; 用以自該第一儲存元件抹 :―, 關之該等内容之碼裝置;_—儲存元件有 料應於何時令該第一儲存,該第-資 针結構產生關聯之碼裝置; 10 15 20 構產HZ判定應令該第―儲存元件與該第—資料結 聯時,令該第—儲存元件與該第―資料結構產 _ P之料置,其中,心令該第—儲存元件與該第 貝料結構產生關聯之該等碼裝置包括用以令該第一 儲存元件與該第二資料結構失去關聯之碼震置. 用以於判定不應令該第—儲存轉與該第一資料 、:產生關聯時,令該第—儲存元件與一第三資料結構 :生關聯之碼裝置,該第三資料結構係排置為可含有一 第二儲存元件組; 一用以儲存該等碼裝置之記憶體;以及 $ 排置為可存取遠專碼裝置之處理器。 申明專利範圍第51項所述之記憶體管理系統,其更包 括: 用乂判定一與該等儲存元件有關之平均抹除次 <石馬货番 存:、罝,其中,與包括於該第一儲存元件組之該等儲 數2 牛有關之抹除次數係實質地低於該平均抹除次 祙括於該第三儲存元件組之該等儲存元件有關之 53 ★于、人數係實質地高於該平均抹除次數。 申睛專利範圍第51項所述之記憶體管理系統,其更包 54 1236019 括: 用以於抹除該第一儲存元件之該等内容後,增大該 第一儲存元件之該抹除次數之碼裝置。 54. 如申請專利範圍第53項所述之記憶體管理系統,其中, 5 用以判定應於何時令該第一儲存元件與該第一資料結 構產生關聯之該等碼裝置包括: 用以比較該第一儲存元件之該抹除次數與和該第 三儲存元件組有關之儲存元件之抹除次數的碼裝置。 55. 如申請專利範圍第54項所述之記憶體管理系統,其中, 10 當判定該第一儲存元件之該抹除次數小於與該第三儲 存元件組有關之儲存元件之抹除次數時,判定應令該第 一儲存元件與該第一資料結構產生關聯。 56. 如申請專利範圍第54項所述之記憶體管理系統,其中, 當判定該第一儲存元件之該抹除次數大於與該第三儲 15 存元件組有關之儲存元件之至少一抹除次數時,判定不 應令該第一儲存元件與該第一資料結構產生關聯。 57. 如申請專利範圍第56項所述之記憶體管理系統,其中, 用以令該第一儲存元件與該第三資料結構產生關聯之 該等碼裝置包括: 20 用以獲得一第三儲存元件之碼裝置,該第三儲存元 件係與該第三儲存元件組有關,該第三元件具有一小於 該第一儲存元件之該抹除次數之抹除次數;以及 用以令該第三儲存元件與該第一資料結構產生關 聯之碼裝置,其中,用以令該第三儲存元件與該第一資 55 1236019 料結構產生關聯之該等碼裝置包括用令該第三儲存元 件與該第二貧料結構失去關聯之碼裝置。 58. 如申請專利範圍第51項所述之記憶體管理系統,其更包 括: 5 用以自該第二資料結構獲得該第一儲存元件之碼 裝置。 59. 如申請專利範圍第51項所述之記憶體管理系統,其中, 該非依電性記憶體係為一 NAND快閃記憶體。 60. —種記憶體管理系統,該記憶體管理系統係排置為可管 10 理非依電性儲存元件之分派,該記憶體管理系統包含: 用以將與一第一儲存元件有關之内容複製於一第 二儲存元件之碼裝置,該第二儲存元件具有一大於與該 第一儲存元件有關之一抹除次數的抹除次數,該第二儲 存元件係與一第一資料結構有關,該第一資料結構係排 15 置為可含有一第一儲存元件組; 用以令該第二儲存元件與一第二資料結構產生關 聯之碼裝置,該第二資料結構係排置為可含有一第二儲 存元件組,其中,用以令該第二儲存元件與該第一資料 結構產生關聯之該等碼裝置包括用以令該第二儲存元 20 件與該第一資料結構失去關聯之碼裝置; 用以自該第一儲存元件抹除與該第一儲存元件有 關之該等内容之碼裝置; 用以令該第一儲存元件與一第三資料結構產生關 聯之碼裝置,該第三資料結構係排置為可含有一第三儲 56 1236019 存元件組; 用以自該第三資料結構獲得一第三儲存元件之碼 裝置; 用以令該第三儲存元件與該第一資料結構產生關 5 聯之碼裝置,其中,用以令該第三儲存元件與該第一資 料結構產生關聯之該等碼裝置包括用以令該第三儲存 元件與該第一資料結構失去關聯之碼裝置; 一用以儲存該等碼裝置之儲存區域;以及 一用以存取該等碼裝置之處理器。 10 61.如申請專利範圍第60項所述之記憶體管理系統,其中, 該第一儲存元件組包括個別具有大於一平均抹除次數 之一抹除次數的儲存元件,且該第三儲存元件組包括個 別具有小於該平均抹除次數之一抹除次數的儲存元 件,且其中,與該第一儲存元件有關之該等内容實質上 15 係為靜態。 62.如申請專利範圍第60項所述之記憶體管理系統,其更包 括: 用以比較與該第一儲存元件有關之該抹除次數及 與該非依電性記憶體有關之一平均抹除次數的碼裝 20 置;以及 用以判定與該第一儲存元件有關之該抹除次數於 何時實質地小於該平均抹除次數之碼裝置,其中,該等 用以複製與該第一儲存元件有關之内容之該等碼裝置 包括用以於判定與該第一儲存元件有關之該抹除次數 57 1236019 係實質地小於該平均抹除次數時,將與該第一儲存元件 有關之該等内容複製於該第二儲存元件之碼裝置。 63.如申請專利範圍第60項所述之記憶體管理系統,其中, 該非依電性記憶體係為一 NAND快閃記憶體。 5 64.如申請專利範圍第60項所述之記憶體管理系統,其中,
與該第一元件有關之該等内容係為該第一元件之該等 内容及排置為可替換該第一元件之該等内容中之至少 某些的實質上新内容中之一者。 58
TW092125794A 2002-10-28 2003-09-18 Wear leveling in non-volatile storage systems TWI236019B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/281,739 US6985992B1 (en) 2002-10-28 2002-10-28 Wear-leveling in non-volatile storage systems

Publications (2)

Publication Number Publication Date
TW200406771A TW200406771A (en) 2004-05-01
TWI236019B true TWI236019B (en) 2005-07-11

Family

ID=32228772

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092125794A TWI236019B (en) 2002-10-28 2003-09-18 Wear leveling in non-volatile storage systems

Country Status (8)

Country Link
US (1) US6985992B1 (zh)
EP (1) EP1559018B1 (zh)
JP (1) JP4456486B2 (zh)
KR (2) KR101110901B1 (zh)
CN (1) CN100492322C (zh)
AU (1) AU2003266007A1 (zh)
TW (1) TWI236019B (zh)
WO (1) WO2004040578A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI409819B (zh) * 2009-03-03 2013-09-21 Silicon Motion Inc 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1556868B1 (en) * 2002-10-28 2007-09-05 SanDisk Corporation Automated wear leveling in non-volatile storage systems
US7328301B2 (en) * 2003-04-07 2008-02-05 Intel Corporation Dynamically mapping block-alterable memories
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
EP1702338B1 (en) * 2003-12-30 2009-02-18 SanDisk Corporation Robust data duplication and improved update method in a multibit non-volatile memory
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US20090172269A1 (en) * 2005-02-04 2009-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device and associated data merge method
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100684887B1 (ko) * 2005-02-04 2007-02-20 삼성전자주식회사 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
US20060236025A1 (en) * 2005-04-18 2006-10-19 Intel Corporation Method and apparatus to control number of erasures of nonvolatile memory
US20060282610A1 (en) * 2005-06-08 2006-12-14 M-Systems Flash Disk Pioneers Ltd. Flash memory with programmable endurance
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US8966284B2 (en) 2005-09-14 2015-02-24 Sandisk Technologies Inc. Hardware driver integrity check of memory card controller firmware
US7934049B2 (en) 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
KR101185617B1 (ko) * 2006-04-04 2012-09-24 삼성전자주식회사 외부 메모리의 부하를 줄일 수 있는 웨어 레벨링 기법에의한 플래시 파일 시스템의 동작 방법
WO2007134133A2 (en) 2006-05-15 2007-11-22 Sandisk Corporation Non-volatile memory system with end of life calculation
US8060718B2 (en) * 2006-06-20 2011-11-15 International Business Machines Updating a memory to maintain even wear
TW200814088A (en) * 2006-09-05 2008-03-16 Genesys Logic Inc Method for increasing read/write lifespan of flash memory
KR100771519B1 (ko) * 2006-10-23 2007-10-30 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
KR100843543B1 (ko) * 2006-10-25 2008-07-04 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
US7904764B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. Memory lifetime gauging system, method and computer program product
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7809900B2 (en) * 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US7904619B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US20080126685A1 (en) * 2006-11-24 2008-05-29 Radoslav Danilak System, method, and computer program product for reducing memory write operations using an instruction set
US8090980B2 (en) * 2006-12-08 2012-01-03 Sandforce, Inc. System, method, and computer program product for providing data redundancy in a plurality of storage devices
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
JP5006940B2 (ja) * 2006-12-27 2012-08-22 インテル・コーポレーション 不揮発性メモリのイニシアチブウェアレベリング
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory
US20080172519A1 (en) * 2007-01-11 2008-07-17 Sandisk Il Ltd. Methods For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device
US7731365B2 (en) * 2007-03-19 2010-06-08 Johnson&Johnson Vision Care, Inc. Method of fitting contact lenses
TWI368224B (en) 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
US7689762B2 (en) * 2007-05-03 2010-03-30 Atmel Corporation Storage device wear leveling
US20080294813A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US20080294814A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Flash Memory System with Management of Housekeeping Operations
JP4444314B2 (ja) 2007-07-13 2010-03-31 株式会社東芝 半導体メモリ情報蓄積装置とその書き込み制御方法
KR100857761B1 (ko) 2007-06-14 2008-09-10 삼성전자주식회사 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법
CN100538662C (zh) * 2007-07-05 2009-09-09 炬力集成电路设计有限公司 一种基于局部采样的存储器的磨损平衡方法
US8239612B2 (en) * 2007-09-27 2012-08-07 Tdk Corporation Memory controller, flash memory system with memory controller, and control method of flash memory
US7876616B2 (en) * 2007-11-12 2011-01-25 Cadence Design Systems, Inc. System and method for wear leveling utilizing a relative wear counter
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
US7903486B2 (en) * 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US9183133B2 (en) * 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
KR101401560B1 (ko) * 2007-12-13 2014-06-03 삼성전자주식회사 반도체 메모리 시스템 및 그것의 마모도 관리 방법
KR100982591B1 (ko) * 2008-03-17 2010-09-15 한양대학교 산학협력단 단계적 인덱싱을 위한 파일 시스템, 메인 기억장치 및플래시 기억장치 그리고 상기 단계적 인덱싱을 통한 데이터관리 방법
US20090254729A1 (en) * 2008-04-07 2009-10-08 Skymedi Corporation Method of wear leveling for a non-volatile memory
US20090259819A1 (en) * 2008-04-09 2009-10-15 Skymedi Corporation Method of wear leveling for non-volatile memory
JP4439569B2 (ja) * 2008-04-24 2010-03-24 株式会社東芝 メモリシステム
JP2009266349A (ja) 2008-04-28 2009-11-12 Toshiba Corp 不揮発性半導体記憶装置
US8195978B2 (en) 2008-05-16 2012-06-05 Fusion-IO. Inc. Apparatus, system, and method for detecting and replacing failed data storage
KR101466585B1 (ko) 2008-07-10 2014-11-28 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
US20100017566A1 (en) * 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for interfacing computing device hardware of a computing device and an operating system utilizing a virtualization layer
US20100017588A1 (en) * 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for providing an extended capability to a system
TWI385669B (zh) * 2008-07-23 2013-02-11 Phison Electronics Corp 用於快閃記憶體的平均磨損方法、儲存系統與控制器
KR101103061B1 (ko) * 2008-07-28 2012-01-06 주식회사 팍스디스크 반도체 스토리지 시스템 및 그 제어 방법
KR20100013485A (ko) 2008-07-31 2010-02-10 삼성전자주식회사 메모리 장치 및 웨어 레벨링 방법
CN101640069B (zh) * 2008-08-01 2013-12-18 群联电子股份有限公司 用于闪速存储器的平均磨损方法与平均磨损系统
JP2010055247A (ja) * 2008-08-27 2010-03-11 Hitachi Ltd ストレージシステム及び構成管理方法
US20100064093A1 (en) * 2008-09-09 2010-03-11 Radoslav Danilak System, method, and computer program product for converting data in a binary representation to a non-power of two representation
KR100974215B1 (ko) * 2008-10-02 2010-08-06 주식회사 하이닉스반도체 반도체 스토리지 시스템 및 그 제어 방법
CN101419842B (zh) * 2008-11-07 2012-04-04 成都市华为赛门铁克科技有限公司 硬盘的损耗均衡方法、装置及系统
US20100125696A1 (en) * 2008-11-17 2010-05-20 Prasanth Kumar Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor
US20100146236A1 (en) * 2008-12-08 2010-06-10 Radoslav Danilak System, method, and computer program product for rendering at least a portion of data useless in immediate response to a delete command
US8700840B2 (en) 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8094500B2 (en) 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8244960B2 (en) 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
TWI379194B (en) * 2009-01-15 2012-12-11 Phison Electronics Corp Block management method for flash memory, and storage system and controller using the same
JP4666080B2 (ja) * 2009-02-09 2011-04-06 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4666081B2 (ja) * 2009-02-09 2011-04-06 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4844639B2 (ja) * 2009-02-19 2011-12-28 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR101038991B1 (ko) * 2009-03-10 2011-06-03 주식회사 하이닉스반도체 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
US20100250830A1 (en) * 2009-03-27 2010-09-30 Ross John Stenfort System, method, and computer program product for hardening data stored on a solid state disk
US8230159B2 (en) 2009-03-27 2012-07-24 Lsi Corporation System, method, and computer program product for sending logical block address de-allocation status information
US8090905B2 (en) * 2009-03-27 2012-01-03 Sandforce, Inc. System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format
US8433843B2 (en) * 2009-03-31 2013-04-30 Qualcomm Incorporated Method for protecting sensitive data on a storage device having wear leveling
JP4952741B2 (ja) * 2009-04-15 2012-06-13 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US20110004718A1 (en) 2009-07-02 2011-01-06 Ross John Stenfort System, method, and computer program product for ordering a plurality of write commands associated with a storage device
US9792074B2 (en) * 2009-07-06 2017-10-17 Seagate Technology Llc System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips
US8140712B2 (en) * 2009-07-17 2012-03-20 Sandforce, Inc. System, method, and computer program product for inserting a gap in information sent from a drive to a host device
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US8108737B2 (en) * 2009-10-05 2012-01-31 Sandforce, Inc. System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device
KR101097438B1 (ko) * 2009-10-29 2011-12-23 주식회사 하이닉스반도체 웨어 레벨링을 유동적으로 제어하는 반도체 스토리지 시스템 및 그 제어 방법
US8285946B2 (en) 2009-12-15 2012-10-09 International Business Machines Corporation Reducing access contention in flash-based memory systems
KR101090394B1 (ko) * 2009-12-24 2011-12-07 주식회사 하이닉스반도체 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법
US8621141B2 (en) 2010-04-01 2013-12-31 Intel Corporations Method and system for wear leveling in a solid state drive
KR20120001405A (ko) * 2010-06-29 2012-01-04 삼성전자주식회사 메모리 시스템 및 그것의 웨어 레벨링 방법
JP5296763B2 (ja) * 2010-11-11 2013-09-25 株式会社バッファロー 記憶装置、記憶プログラム及び制御方法
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
TWI443512B (zh) * 2011-07-13 2014-07-01 Phison Electronics Corp 區塊管理方法、記憶體控制器與記憶體儲存裝置
TWI585586B (zh) * 2011-10-31 2017-06-01 Data acquisition device and method thereof
JP5299493B2 (ja) * 2011-11-04 2013-09-25 ソニー株式会社 メモリシステム
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9116792B2 (en) * 2012-05-18 2015-08-25 Silicon Motion, Inc. Data storage device and method for flash block management
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US9032137B2 (en) 2012-11-21 2015-05-12 Intel Corporation Flexible wear management for non-volatile memory
US20140181368A1 (en) * 2012-12-26 2014-06-26 Unisys Corporation Equalizing wear on storage devices with write counters
US9298608B2 (en) * 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
US9875039B2 (en) 2014-09-30 2018-01-23 Sandisk Technologies Llc Method and apparatus for wear-leveling non-volatile memory
US9830087B2 (en) * 2014-11-13 2017-11-28 Micron Technology, Inc. Memory wear leveling
US10338817B2 (en) 2014-12-30 2019-07-02 Sandisk Technologies Llc Systems and methods for storage recovery
KR102258126B1 (ko) 2015-03-19 2021-05-28 삼성전자주식회사 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
KR20180045091A (ko) 2016-10-24 2018-05-04 에스케이하이닉스 주식회사 메모리 시스템 및 이를 이용한 웨어-레벨링 방법
US10976936B2 (en) * 2017-08-23 2021-04-13 Micron Technology, Inc. Sensing operations in memory
US10552145B2 (en) * 2017-12-12 2020-02-04 Cypress Semiconductor Corporation Memory devices, systems, and methods for updating firmware with single memory device
CN108089994B (zh) * 2018-01-04 2021-06-01 威盛电子股份有限公司 存储装置以及数据保存方法
CN108763099B (zh) * 2018-04-18 2020-05-08 华为技术有限公司 系统的启动方法、装置、电子设备和存储介质
US11842062B2 (en) 2022-02-09 2023-12-12 Western Digital Technologies, Inc. Method of handling irregular MetaBlock wear leveling and UGSD boot time improvement

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07109717B2 (ja) 1986-05-31 1995-11-22 キヤノン株式会社 メモリ書き込み制御方法
JP2685173B2 (ja) 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
DE69033262T2 (de) 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5222109A (en) 1990-12-28 1993-06-22 Ibm Corporation Endurance management for solid state files
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
TW261687B (zh) * 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5485595A (en) 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5388083A (en) 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
JP3507132B2 (ja) 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
US5568423A (en) 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5860082A (en) 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
US5715193A (en) 1996-05-23 1998-02-03 Micron Quantum Devices, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
US5956473A (en) 1996-11-25 1999-09-21 Macronix International Co., Ltd. Method and system for managing a flash memory mass storage system
US5832493A (en) 1997-04-24 1998-11-03 Trimble Navigation Limited Flash file management system
KR100297986B1 (ko) 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
US6226759B1 (en) * 1998-09-28 2001-05-01 International Business Machines Corporation Method and apparatus for immediate data backup by duplicating pointers and freezing pointer/data counterparts
US6260156B1 (en) 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI409819B (zh) * 2009-03-03 2013-09-21 Silicon Motion Inc 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器

Also Published As

Publication number Publication date
WO2004040578A2 (en) 2004-05-13
KR20050050148A (ko) 2005-05-27
KR20110056424A (ko) 2011-05-27
WO2004040578A3 (en) 2004-07-15
JP2006504195A (ja) 2006-02-02
TW200406771A (en) 2004-05-01
EP1559018B1 (en) 2016-01-06
JP4456486B2 (ja) 2010-04-28
AU2003266007A8 (en) 2004-05-25
KR101110901B1 (ko) 2012-04-06
EP1559018A2 (en) 2005-08-03
CN1701309A (zh) 2005-11-23
CN100492322C (zh) 2009-05-27
AU2003266007A1 (en) 2004-05-25
US6985992B1 (en) 2006-01-10

Similar Documents

Publication Publication Date Title
TWI236019B (en) Wear leveling in non-volatile storage systems
TWI267866B (en) Tracking the most frequently erased blocks in non-volatile memory systems
TWI249100B (en) Tracking the least frequently erased blocks in non-volatile memory systems
US7287118B2 (en) Maintaining an average erase count in a non-volatile storage system
CN100385415C (zh) 用于维护擦除计数的非易失性存储器系统、数据结构和区块
TWI297893B (en) Method and apparatus for managing an erase count block
US10713163B2 (en) Set aware system data and mapping tables
CN101620570A (zh) 记忆模块动态备份管理系统及方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees