[go: up one dir, main page]

TWI249100B - Tracking the least frequently erased blocks in non-volatile memory systems - Google Patents

Tracking the least frequently erased blocks in non-volatile memory systems Download PDF

Info

Publication number
TWI249100B
TWI249100B TW092125790A TW92125790A TWI249100B TW I249100 B TWI249100 B TW I249100B TW 092125790 A TW092125790 A TW 092125790A TW 92125790 A TW92125790 A TW 92125790A TW I249100 B TWI249100 B TW I249100B
Authority
TW
Taiwan
Prior art keywords
memory
block
group
component
erase
Prior art date
Application number
TW092125790A
Other languages
English (en)
Other versions
TW200428213A (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 TW200428213A publication Critical patent/TW200428213A/zh
Application granted granted Critical
Publication of TWI249100B publication Critical patent/TWI249100B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

1249100 玖、發明說明: 【發明所屬之技術領域】 發明領域 本發明係有關於下列共同待審中之美國專利申請案: 5於非依電性儲存系統中自動進行磨損調勻之技術(代理人 文件編號:SANDP005/DK0278.000US);非依電性系統之 磨損調勻技術(代理人文件編號: SABDP023/SDK0366.000US);追蹤非依電性記憶體系統中 表常抹除區塊之技術(代理人文件編號: 10 SANDP025/DK0366.002) ’用以分割邏輯區塊之方法與裝置 (代理人文件編號:SANDP028/DK0371.000US);用以將區 塊中之頁面分組之方法和裝置(代理人文件編號: SANDPOWmOMi0·00);以及用以分解與共用邏輯區 塊相關聯之實體區塊的方法與裝置(代理人文件編號: 15 SANDP030/DK0416.000US);以及美國專利第 6,〇81,447 號 及美國專利第6,230,233號等,其中,該等案件之内容係包 含於此處以作為參考之用。 統 本發明大致係有關於大量數位資料储存系統。更詳而 言之,本發明係有關於用以容許與非依電性儲存系統之儲 存區域有關聯之磨損可實質地跨所有儲存區域分佈之么 與方法。 L先前技術】 發明背景 20 1249100 4如快閃記憶體儲存系統之非依電性記憶體系統之使 用係因此等記憶體系統之緊密實體大小及可重複再規劃非 依電性讀體之能力而增加。快閃記憶體儲存系統之緊密 貝體大小可促進將此等儲存系統使用於日漸普及之裝置 7使用快閃讀體儲存纟、統之裝置包括(但不限於)數位相 機、數位攝錄放影機、數位音樂減器、手持式個人電腦、 以及全球定位裝置等。可重複再規劃包括於快閃記憶體儲 存系、洗之非依電性記憶體之能力允許快閃記憶體儲存系統 之使用與再使用。 叙而σ丨夬閃5己憶體儲存系統可包括快閃記憶體卡 及快閃記憶體晶片組。快閃記憶體晶片組一般而言包括快 閃記憶體構件以及控制器構件。通常,快閃記憶體晶片組 係排置為可構組於置入式系統。此等總成或主機系統之製 造者通常取得構件形式之快閃記憶體,以及其他構件,而^ 15後將快閃記憶體及其他構件構組為主機系統。 雖然快閃記憶體系統内之非依電性記憶體,或更詳而 &之,快閃記憶體儲存區塊,可重複地規劃及抹除,每一 區塊或實體位置可於區塊磨損前,亦即於記憶體開始變小 前’僅抹除特定數目之次數。亦即,每一區塊具有規劃及 20抹除週期限制。在某些記憶體中,於一區塊被認為係無法 使用前,此區塊可被抹除約一萬次。在其他記憶體中,於 區塊被S忍為係已磨損別,此區塊可被抹除約十萬次咬甚 至高達百萬次。當區塊磨損,因而導致快閃記憶體系統之 整體儲存容量之部份的使用損失或性能之明顧退化時,快 1249100 閃§己憶體糸統之使用者可能受到例如儲存資料損失哎無法 儲存資料等之不利影響。 快閃記憶體系統内之區塊或實體位置之磨損係取決於 每一區塊中有多少被規劃而改變。若一區塊,或更一般言 5之,一儲存元件僅被規劃一次,而後有效地未再被規劃, 貝m劃次數和抹除週期及與因此而產生之與此區塊有關之 磨損一般而言將相對地低。然而,若一區塊被重複地寫入 與抹除,例如循環為之,則與此區塊有關之磨損一般而言 將相對地高。當邏輯區塊位址(LBA)係由例如存取或使用快 1〇閃§己憶體系統之主機使用,以存取儲存於快閃記憶體系統 之資料時,若主機重複地使用相同之LBA寫入或過寫入資 料,則如熟於此技者所能瞭解者,快閃記憶體系統内之相 同實體位置或區塊係被重複地寫入與抹除。 當某些區塊係有效地磨損,同時其他區塊係相對地未 15磨損時,一般而言,磨損區塊之存在將危害快閃記憶體系 統之整體性能。除與磨損區塊本身有關之性能退化外,當 未磨損區塊之數目並不足以儲存所欲資料時,快閃記憶體 系統之整體性能亦可能受到危害。通常,當快閃記憶體系 統出現臨界數目之磨損區塊時,即使此快閃記憶體系統之 20許多其他晶胞係相對地未磨損,快閃記憶體系統仍可能被 <為係無法使用。當包括貫質上相對未磨損區塊之數目之 快閃記憶體系統係被考量為無法使用時,與此快閃記憶體 系統有關之許多資源實際上係浪費的。 為增加快閃記憶體系統内之區塊可適當平均地磨損的 1249100 可能性,磨損調勻操作經常被實施。如熟於此技者將可瞭 解者,磨損調勻操作一般而言係排置為可容許與特定LBA 有關之實體位置或區塊可被改變,使得相同LBA並非一直 與相同實體位置或區塊產生關聯。藉由改變LBA之區塊關 5 聯性,於其他區塊磨損前,特定區塊較不可能磨損。 一傳統磨損調勻處理係有關顧客或主機LBA之二相對 大之部份係為對映之調換實體位置。亦即,與儲存晶胞之 相對大區段有關之LBA被調換。此種調換係經由來自顧客 之手動命令,例如經由主機之使用而初始化,且因此,對 10 顧客而言並非透明。同時,與移動於儲存晶胞之二相對大 區段間之資料有關之調換操作相當耗費時間,且因此而無 效率。此外,藉由消耗與整體快閃記憶體系統有關之重要 資源的相對長之期間的調換操作,整體快閃記憶體系統之 性能可能受到不利之影響。如熟於此技者將可瞭解者,自 15 第一位置移動資料通常與將資料複製於另一位置並將資料 自第一位置抹除有關。 另一項傳統磨損調勻處理係有關容許區塊磨損。一旦 區塊已有效磨損,分配予此等區塊之扇區可藉由將與此等 扇區有關之位址對映於備用區域而再分配,一旦儲存扇區 20 之區塊已磨損或變為無法使用。由於備用區域或區塊之數 目係受到限制且有價值,故其無法一直存有與無法使用之 區塊有關之扇區可被對映之備用區域。此外,一般而言, 於區塊變為無法使用後之有效再對映扇區僅容許整體快閃 記憶體系統之性能退化。 1249100 因此,吾人所欲者為用以有效且實質上透明地於快閃 記憶體儲存系統内實施磨損調勻之方法與設備。亦即,吾 人所欲者係可促進與快閃記憶體儲存系統有關之實體位置 之更為平均之磨損而無需大量使用計算資源的磨損調勻處
I:發明内容I 發明概要 本發明係有關於用以於非依電性記憶體系統内實施磨 10 損調勻之系統與方法。根據本發明之一態樣,用以處理包 括於記憶體系統之非依電性記憶體之元件的方法包括獲得 與元件有關之抹除次數及將數個元件分組為第一組。每一 元件具有實質地指示元件已被抹除之次數之相關抹除次 數。將此等數個抹除元件分組為第一組包括選擇包括於具 15 有與此等數個元件有關之抹除次數的最低相關抹除次數的 此等數個元件中之抹除元件。此方法亦包括將與此第一組 有關之抹除次數儲存於實質地位於一圖表内之記憶體構 件。 於一實施例中,第一組内之此等元件係根據與每一元 20 件有關之抹除次數而排序。於此實施例中,此方法亦可包 括識別包括於此第一組之具有與此第一組有關之最低抹除 次數的抹除元件、令此元件與此第一組失去關聯、及令此 等數個元件之一相異抹除元件與此第一組產生關聯。 藉由維持諸如一磨損元件群組之非依電性記憶體之延 1249100 之圖式表不。 第3圖係根據本發明之一實施例之說明與處理和快閃 記憶體系統有關之初始化要求有關之步驟的處理流程圖。 第4圖係根據本發明之一實施例之說明與處理靜態區 5 塊之方法有關的步驟之處理流程圖。 第5 a圖係根據本發明之一實施例之系統記憶體的圖式 方塊圖表示。 第5b圖係根據本發明之一實施例之正常區塊、最不常 抹除區塊、及最常抹除區塊之圖式表示。 10 第6圖係根據本發明之一實施例之用以於整體系統之 系統記憶體實施區塊調換/更新整體記憶體系統以容許區 塊之磨損更為平均的方法的圖式表示。 第7圖係根據本發明之一實施例之系統架構之圖式方 塊圖表示。 15
C 較佳實施例之詳細說明 快閃記憶體儲存系統内之非依電性記憶體儲存區塊可 重複地規劃與抹除,雖然一般而言每一區塊於磨損前僅可 20 抹除有限之次數。當一區塊磨損時,與包括此磨損區塊之 快閃記憶體儲存系統之整體儲存容量之部份有關的性能之 明顯退化發生,且儲存於此部份之資料可能遺失,其亦可 能無法儲存資料於此部份。 為增加快閃記憶體儲存系統内之區塊磨損更為平均之 12 1249100 可能性,區塊應更為平均地利用。藉由掌握每一區塊已磨 損之次數,例如經由利用抹除次數,系統内之記憶體可更 為平均地使用。抹除次數管理技術可將掌握特定區塊已被 抹除之次數之抹除次數儲存於與此區塊有關之冗餘區域。 5 圖表可被建置於實質地致動使用中之區塊以有效地將此等 區塊與具有相對高抹除次數之區塊及具有相對低抹除次數 之區塊分離的系統記憶體内。當使用中之區塊被抹除時, 此區塊可適當地被「增加」至具有相對高抹除次數之區塊 圖表或具有相對低抹除次數之區塊圖表中之任一者。同樣 10 地,區塊可自具有相對高抹除次數之區塊圖表或具有相對 低抹除次數之區塊圖表中之任一者「移動」至區塊對映圖 表,亦即一組使用中之區塊圖表,以實質地替換已自區塊 對映圖表再分配之任意區塊。 藉由分類區塊,區塊可更為平均地利用,如同每一區 15 塊可更為有效地管理以平均與此等區塊有關之磨損。更詳 而言之,將區塊分類為圖表可使具有低抹除次數之區塊與 具有高抹除次數之區塊更為輕易地被識別,且因此未利用 明顯數量之計算資源。因此,磨損調勻之發生相對地有效 率。因而,快閃記憶體系統之壽命可實質地延伸而未明顯 20 地影響快閃記憶體系統之性能。 快閃記憶體系統,或更一般言之,非依電性記憶體裝 置一般而言包括快閃記憶體卡及晶片組。通常,快閃記憶 體系統係被用以與主機系統一起使用,以使此主機系統可 將資料寫入快閃記憶體系統或自快閃記憶體系統讀取資 13 1249100 料。然而,某些快閃記憶體系統包括置入式快閃記憶題及 執行於-主機上以實質地作用為此置入式快閃記憶體之挺 制器之軟體。首先參考第關,其將說明包括諸如緊密: 閃記憶體(CompactFlash Memory)卡之非依電性記憶體敦复 5之一般主機系統。主機或電腦系統丨〇〇—般而言包括容許槪 處理器108、隨機存取記憶體(RAM)U2、及輸入/輸出電路 116通#之系統匯流排1〇4。應瞭解者為,主機系統1〇〇可〜 般地包括其他構件,例如因供說明之故而未顯示之顯示器 裝置及網路裝置。 ^ ίο 一般而言,主機系統1〇〇可捕捉包括(但不限於)靜態影 像資訊、音頻資訊、及視頻影像資訊等資訊。此種資訊可 即時捕捉,並以無線方式傳送至主機系統1〇〇。在主機系統 100可貫質地為任意系統的同時,主機系統1〇〇通常係為諸 如數位相機、視頻攝影機、蜂巢式通信裝置、音頻播放器、 15或視頻播放器。然而,應瞭解者為,一般而言,主機系統 1〇〇可實質地為可儲存資料或資訊,及檢索資料或資訊之任 意系統。 應瞭解者為,主機系統100亦可為僅捕捉資料,或僅檢 索資料之系統。亦即,主機系統100可為儲存資料之專用系 20統,或主機系統100可為讀取資料之專用系統。藉由釋例, 主機系統1〇〇可為排置為僅寫入或儲存資料之記憶體寫入 器。任擇地,主機系統100可為諸如通常係排置為可讀取或 檢索資料’且未捕捉資料之MP3播放器之裝置。 在一貫施例中係為可移除之非依電性記憶體裝置之非 1249100 依電性記憶體裝置120係被排置為可與匯流排1〇4介接以儲 存資訊。任選輸入/輸出電路區塊13〇可容許非依電性記憶 體裝置120間接地與匯流排1〇4介接。當以前述方式實施 時,輸入/輸出電路區塊132係作用為可減少匯流排104之負 5載’如同熟於此技者可瞭解者。非依電性記憶體裝置120包 括非依電性記憶體124及任選記憶體控制系統128。於一實 施例中,非依電性記憶體裝置120可實施於一單晶片或晶粒 上。任擇地,非依電性記憶體裝置12〇可實施於一多晶片模 組,或可形成一晶片組且可一起使用以作為非依電性記憶 10體裝置120之多個分散構件上。非依電性記憶體裝置12〇之 一實施例將參考第lb圖於下文作更為詳細之說明。 非依電性記憶體124,例如諸如NAND快閃記憶體之快 閃記憶體,係排置為可儲存資料,使得資料可於需要時被 存取及讀取。儲存於非依電性記憶體124之資料亦可於適者 15時抹除,雖然應瞭解者為,非依電性記憶體124内之某此, 料係為不可抹除。儲存資料、讀取資料、及抹除資料等严 理一般而言係由記憶體控制系統η8所控制,或於未存有二 憶體控制系統128時,藉由以微處理器1〇8所執行之軟體己 制。非依電性記憶體124之操作可藉由本質地令非依電性栓 20憶體124之扇區更為實質地且平均地磨損而加以管理j ^己 非依電性記憶體124之壽命可實質地最大化。 、使 非依電性記憶體裝置120已大致地說明為包括任選“ 憶體控制系統128,亦即控制器。通常,非依電性記憶^己 置120可包括供非依電性記憶體124用之分離 衣 乃且記憶 15 1249100 體控制系統128,亦即控制器發揮功用。藉由釋例,於包括 (但不限於)PC卡、緊密快閃記憶體卡、多媒體卡、及保全 數位卡之非依電性記憶體裝置包括可實施於分離晶片之控 制器的同時,其餘非依電性記憶體裝置可不包括實施於分 5離晶片之控制器。於非依電性記憶體裝置120並未包括分離 記憶體及控制器晶片之一實施例令,記憶體及控制器功能 可集積於單一晶片,如同熟於此技者所瞭解者。任擇地, 記憶體控制系統128之功能性可藉由微處理器1〇8而提供, 如同上文所述之非依電性記憶體裝置12〇並未包括記憶體 10 控制器128之實施例。 參考第lb圖,根據本發明之一實施例,非依電性記憶 體裝置120將更為詳細地說明。如同上文所說明者,非依電 性記憶體裝置120包括非依電性記憶體124且可包括記憶體 控制系統128。雖然於記憶體124係為諸如置入式NAND裝 15置時,#依電性記憶體裝置120可不包括控制系統128,但 記憶體124及控制系統128,或控制器可為非依電性記憶體 裝置120之主要構件。記憶體124可為形成於半導體基板上 之記憶體晶胞陣列,其中,資料之一或多個位元係藉由將 電荷之二或更多位準中之一者儲存於記憶體晶胞之個別儲 20 存元件而儲存於個別記憶體晶胞。非依電性快閃電氣可抹 除唯讀記憶體(EEPROM)係為供此種系統用之常見形式記 憶體之釋例。 當以前述方式貫施時’控制系統128係經由匯流排;[5 而與主機電腦或其他使用記憶體系統之系統通信以儲存資 16 1249100 料。一般而言,匯流排15係為第1圖之匯流排104之部份。 控制系統128亦控制可包括記憶體晶胞陣列11之記憶體124 之操作以寫入藉由主機所提供之資料、讀取主機所要求之 資料、並實施各種操作記憶體124之雜務功能。一般而言, 5 控制系統128包括具有相關非依電性軟體記憶體、各種邏輯 電路、及類似物之一般目的微處理器。一或多個狀態機亦 經常被包括以控制特定常式之性能。 記憶體晶胞陣列11通常係藉由控制系統128或微處理 器108而經由位址解碼器17定址。解碼器17應用正確電壓於 10 陣列11之閘極與位元線以規劃資料而自藉由控制系統128 定址之記憶體晶胞群組讀取資料或抹除藉由控制系統128 定址之記憶體晶胞群組。附加電路19包括控制取決於被規 劃於晶胞之定址群組之資料而應用於陣列元件的電壓的規 劃驅動器。電路19亦包括感應放大器及其他自記憶體晶胞 15 之定址群組讀取資料所需之電路。欲規劃於陣列11之資 料,或最近自陣列11讀取之資料通常係儲存於控制系統128 之緩衝器記憶體21。控制系統12 8通常亦含有各種供用以暫 時地儲存命令及狀態資料與類似物之暫存器。 陣列11被分割為大量之區塊〇(BLOCK 0)至區塊 20 N(BL〇CK N)記憶體晶胞。如同對快閃EEPROM系統而言係 為普通的,區塊通常係抹除之最小單位。亦即,每一區塊 含有最小數目之一併被抹除之記憶體晶胞。每一區塊通常 係分割為數頁,如同亦於第2圖中說明者。頁通常係規劃之 最小單位。亦即,基本規劃操作將資料寫入記憶體晶胞之 17 1249100 取小-頁或自記憶體晶胞之最小一頁讀取資料。一或多個 貢料扇區通常係儲存於每—頁内。如第lb圖所示,—扇區 包括使用者資料及附加資料。附加資料通常包括自扇區之 使用者資料計算之錯誤校正碼(咖)。當資料係被規劃於陣 5列叫’控制系統n8之部份η計算咖,並於資料係自陣 列m賣取時,檢查ECC。任擇地,Ecc係儲存於與其所附 屬之使用者資料不同之頁或不同之區塊。 /對應於磁碟驅動機之扇區大小,使用者資料扇區通常 係為512位元。附加資料通常係為額外之16位元。資料之一 H)扇區最常見者純包括每―頁,但二或更多輕可代之以 形成-頁。-般而言,任意數目之頁可形成一區塊。藉由 釋例,區塊可自8頁至512、刪或更多頁而形成。區塊數 目係被選擇以提供純記憶體所欲之資_存容量。陣列 11通常係被分割為數個次陣列(未顯示),每—次陣列含有區 塊比例’其於某種程度上係彼此獨立地操作以增加各種記 憶體操作執行之平行性程度。數個次陣列之使用之一釋例 係說明於美國專利第5,890,職,該專利之全部内容在此 係作為本發明之參考資料。 ^…當非依電性記憶體124之諸如儲存元件之特定區段係 連績地被規劃,例如重複地寫入及抹除時,此特定區域— 般而言較未被連續規劃之區域更快磨損。為有效地「平均」 非依電性記憶體⑶内不同區域之磨損,磨損調句可實質地 自動實施’以較少規劃被連續規劃之區域,同時,可較多 規劃未被連續規劃之區域。 18 1249100 般而言,為實施磨損言周勻,諸如與被重複規劃之實 體位置有關之一組扇區之區塊可以與未被重複規劃之一實 體位置有關之區塊調換。亦即,已規劃且因此重複抹除之 實體區塊可以與較少規劃及抹除之實體區塊調換。 5 於本發明之一實施例中,為使其可輕易地判定特定實 體區塊是否已重複規劃及抹除,抹除次數可與此區塊儲 存。亦即,掌握區塊被抹除之次數之計數器可被維持且於 每次區塊被抹除時增大。此種抹除次數可被用以促進特定 區塊疋否應以另一較少抹除之區塊調換之判定。第2圖係根 10據本發明之一實施例之快閃記憶體之部份的圖式表示。快 閃記憶體200可被分割為頁204。每一一般而言含有約512位 元之使用資料之頁204有效地包括冗餘區域2〇6,例如頁 204a包括冗餘區域206a。每一冗餘區域206或附加區域可包 括局達約16位元之 > 訊’其通常包括(但不限於)群組識別器 15 216、更新索引212、及抹除次數214。 通常,任意數目之頁204係包括於區塊210内。為方便 說明之故,頁204a、2041)係顯示為已包括於區塊210内,雖 然應瞭解者為,包括於區塊21之頁204之數目可廣泛地變 更。於此說明貫施例中’區塊21 〇可排置為包括約3 2頁。舉 20 例言之,當快閃記憶體200包括約512百萬位元(Megabits、 Mb)時,快閃記憶體200可有效地被分割為約32頁,每頁4096 區塊。 如前所述,抹除次數214可於每次使用者資料自相關區 塊抹除時增Λ。舉例言之,與區塊210有關之抹除次數214 19 1249100 可於每二欠自區塊210抹除資料時增大。由於被包括於區塊 210之每-頁2_及2_-般而言具有抹除次數214,與每 頁204a及204b有關之抹除次數214可於區塊2馳抹除時 增大。 « 3有貝料之區塊被抹除時,通常資料區域及冗餘區 或兩者白被抹除或,月空。抹除區塊被增加至備用區塊儲存 區,此等備用區塊儲存區含有抹除區塊,此等抹除區塊含 有相較於其他圖表之抹除區埃係為更小之抹除次數的抹除 區塊。此備用區塊圖表係實質地為最不常抹除區塊圖表。 10於本發明之—實施例中,具有相對大抹除次數之抹除區塊 係被:t曰加至3有具有較其他圖表所含有之抹除區塊更大之 抹除次數的儲存區。此儲存區,亦即含有具有較大抹除次 數之抹除區塊的儲存區,係為最常抹除區塊 圖表。此剛抹 除區塊之抹除次數之增量為一,且係取決於抹除次數之值 η而被儲存於最不常抹除區塊圖表或最常抹除區塊圖表。 諸如抹除次數ΜΑ之抹除次數可於初始化要求期間被 存取。舉例言之,初始化要求可於諸如包括置入式快閃記 憶體之系統的系統之電力開啟時產生、於系統内之備用區 塊正在使用4產生、於使用者產生要求以平衡區塊分派時 20產生、及於使用者產生要求以令區塊使用之發生更為平均 時產生第3圖係根據本發明之_實施例之說明與處理和快 閃5己隱體系統有關之初始化要求有關的步驟的處理流程 圖般而",初始化要求可藉由使用者而初始化或藉由 與决閃。己隱肢糸統有關之控制器而實質地於諸如週期性地 20 !2491〇〇 或於觸發條件符合時自動地初始化。響應於初始化要求之 處理3_始於㈣3G4,其中,初始化要求係有效地被接 收。初始化要求可藉由與欲初始化之快閃記憶體通信之控 制器或處理器而接收。舉例言之,此—要求可藉 5經由位於電力開啟之主機而提供,或於欲平衡區塊分派時 提供。 -初始化要求被接收,平均抹除次數可於步驟鳩 獲得。於-實施例中,平均抹除次數係儲存於寫入於與此 系統有關之NAND言己憶體内之抹除次數區塊。含有平均抹 1〇除次數及每-區塊之抹除次數之抹除次數區塊係儲存於快 閃記憶體的區塊。應瞭解者為,當抹除次數區塊產生時, ^如當㈣被初始地格式化時,圖表内之平均抹除次數及 每-區塊之抹除次數之值通常被初始化為零。於獲得平均 抹除次數後,實質地供系統内之所有區塊用之抹除次數可 15 _得。如上文與第2圖有關之說明所示,供含有資料之特 =區塊用之抹除次數可被儲存於與此區塊有關之冗餘區 ^。因此,獲得實質上供所有含有資料之區塊用《抹除次 ^包括存取與每—區塊有關之冗餘區域,並於初始化要 >求吩將每一抹除次數儲存於抹除次數區塊。 於初始化要求完成後,抹除區塊之抹除次數可不需要 ^新於抹除次數區塊。—般而言,由於抹除區塊之冗餘 =已破抹除,因此抹除次數區城保留其值。當整體系統 =電源時,會產生一終止要求,使得抹除次數區塊可被 斤以霄質地含有所有區塊之最新抹除次數。歸屬於最不 21 1249100 表加以檢ί,&塊之抹除次數係自最不常抹除區塊圖 次數係自最常抹除區塊 =塊之抹除區塊之抹除 5 10 15 20 £塊之抹除次數可自抹除次數區塊加以檢索。 於步驟320中,區塊對映圖表係分派於n ==者將可瞭解者,區塊對映圖表可被排置:可 ==址(,與實體區塊位址(。M)間之對映。 32〇分Γ 塊圖表與最不常抹除區塊圖表亦於步驟 與 係排置為…兒有關之貝机。亦即,最常抹除區塊 “抹除數及對映資訊等關於具有系統 数之抹除區塊之資訊。類似地,最不常抹除區 =表通常係設為或組構為可供給關於具有最低抹除次數 常抹==之資訊。雖然最常抹除區塊圖表之大小與最不 定為==大小可廣泛地改變,此等大小係取決於被指 :取2除之區塊數目與被指定為最不常抹除之區塊數 A ¥冑系抹除區塊圖表一般而言係設為可供給較最 不书抹除區塊圖表更少抹除區塊之資訊。藉由釋例,最常 =區塊圖表可設為約可供給供18個抹除區塊用之資訊, 最:吊抹除區塊圖表可設為可供給與約70個抹除區塊 關之貝Λ。任擇地,最常抹除區塊圖表可設為約可供給 、0個抹除區塊用之資訊,同時最不常抹除區塊圖表可設 為可仏、、’。約可供給供5_抹除區塊用之資訊。 22 1249100 於步騾320分派% 而後,於步驟328「二了’抹除區塊於步驟324被識別。 妙且太# 」個抹除區塊可被分配予最常技〜 塊且本質上係被分配予最常 予取承抹㈣ 等「N」個抹除貧施例中,此 5區塊,如同比、有取问採除次數之「N」個抹除 焱所有抹除次數所判定者。 儲存於最常抹除區塊 彳擇地’此等欲 驟306所獲得之 二」個採除區塊可根據與於步 此等「N < =東除次數進行啸而判定 此專個抹除區塊 ♦“之 數之「N」個抹除_ 百至J系給疋百分比之抹除次 10 15 之二十五。…‘,例如約為高於平均抹除次數之百分 個心旦Μ抹除區塊圖表有效地產生,於步卿2,「Μ i抹^财被朗,且有效地分配予最不常抹除區塊圖 ° ’此寻「M」個抹除區塊可為「M」個與此系 檢P之所有抹除區塊中之具有最低抹除次數的抹除區 二或者料「M」個抹除區塊可為具有至少健平均抹 ^ ^^更低之給定百分比之抹除次數之「M」個抹除區塊。 此寺「M」個抹除區塊可為將於適當時間分配傾塊對映 圖表之有效備用區塊。 2〇 π乘1餘抹除區塊,亦即未分配予最不常抹除區塊圖表或 ㈤:抹除區塊圖表中之任一者之抹除區塊,係隨著步驟说 未抹除」區塊而分配予區塊對映圖表。換言之,剩餘 /、區鬼及έ有非與几餘區域有關之資料之區塊係與區塊 對映圖表有關。 於區塊對映g表、最不常抹除區塊圖表、及最常抹除 23 1249100 區塊圖表有效地以諸如具有抹除次數及與對應區塊有關之 對映資訊而產生後,平均抹除次數可於步驟338判定。通常 判定平均抹除次數係有關加總於步驟308所獲得之個別區 塊之抹除次數,及將區塊總數除以總和。 5 於步驟338所計算之平均抹除次數係儲存於與此系統 有關之抹除次數區塊。如前所述,平均抹除次數係儲存於 一寫入於與系統有關之NAND記憶體之抹除次數區塊。於 將此平均抹除次數儲存於此抹除次數區塊前,靜態區塊或 含有資料且具有相對低相關抹除次數之區塊,可於步驟342 10 加以處理。與處理靜態區塊之方法有關之步驟將於下文參 ^ Α ΓσΊ /. _ ηΟ m 士立 ΓΤΤ ιΛ, J:X. 士 -rvf? . 士 -rtf? LA /L· ΛΤ» 4·:
今牙7 H· _ 呑干?田 έ兀“门 w — IHE % ^ ^ ^ ψ>! Ί U 之處理即已完成。 於與快閃記憶體有關之區塊群組内,於任意給定時 間,其經常存有被抹除之區塊及含有資料,亦即使用者資 15 料之區塊。某些含有資料之區塊可被考慮為「普通」區塊, 同時其他區塊則可被考慮為靜態區塊。靜態區塊係含有難 得改變之貧料的區塊。換言之’靜悲區塊很難得被抹除。 通常,靜態區塊係與儲存於快閃記憶體之相對老舊之文 件、儲存於快閃記憶體之可執行程式、或儲存於快閃記憶 20 體之作業系統有關。一般而言,靜態區塊具有實質上低於 快閃記憶體内多數區塊之抹除次數的抹除次數。於一實施 例中,若區塊之抹除次數低於與快閃記憶體系統有關之平 均抹除次數之特定百分比,例如約二十個百分比,則含有 資料之區塊可被考慮為係一靜態資料。 24 1249100 含有之資料可被複製於具有相對高抹除次數之區塊。亦 由於靜態區塊含有難得改變之資料,因此靜態區塊所 即’當特定實體區塊之内容係相對地靜態且因此-般而言 係未改a &等内容可有效地再分配予具有相對高之抹 除她之相異實體區塊,以致動具有相對低抹除次數之原 始實體區塊而以之儲存較常改變之内容。參考第4圖,與處 理靜態區塊有關之步驟,亦即第,之步驟如將根據本發 實彳彳°羊、’·田。兒明。處理系統之靜態區塊之處理342開 始於步驟404,直中,a L β仏「Λ 、 啫如£塊Α」之非抹除區塊之抹除 10 次數被存取。-㈣塊「A」之抹除:讀猶取,與和系统 有關之平均抹除錢齡比較之雜除區塊「A」之抹除次 數是否為非常低有關之判定於步驟侧產生。 曰雖然相較於平均抹除讀,非抹除區塊「A」之抹除次 數是否較低之判定可實質地㈣任何適#之標準而產生, 於-實施财,_㈣根據區塊「A」之抹除次數是否具 有-值小於與平均抹除:欠數之部份有社值而產生。舉例 言之,當抹除次數小於平均抹除次數之特定百分比時,區 塊「A」之抹除次數可被考慮為較低。 右其於步驟408判定區塊「A」之抹除次數相較於平均 抹除次數並非非常低,則其指示區塊「A」大概並非靜態區 塊。應瞭解者為,即使並未將區塊rA」之抹除次數考慮為 15 20 非常低,區塊「Α」仍可為靜態區塊,於此種情形之區塊「α」 之抹除次數將有效地不觸發區塊「Α」與另一區塊之調換。 據此,處理靜態區塊之處理即告完成。 25 1249100 「任擇地,若其於步驟4〇8判定相較於平均抹除次數,區 \」之抹除次數係、相當低,則其意指可將區塊「A」之 二::入具有相對高之抹除次數之區塊,使得具有其低抹 _ , Α」可自由儲存改變相對地頻繁之資料。換 言之,當區埃「a 、 、 A」之抹除次數相較於平均抹除次數係相當 低時,JL於+ π 1 & iA「Α」係為靜態區塊。因此,處理流程自 移動至步驟412,其中’區塊「Α」係被識別為靜態 塊。一旦區挣「 ^ Α」被識別為靜態區塊,亦即當以步驟416 10 15 20 除區塊圖表識別時,區塊「β」可自最常抹除區塊 於區操「ft 」破獲得後,區塊「A」之内容於步驟420 被複製於區塊「p h」。亦即,於步驟420,區塊「A含右 =[=製於區塊%。-旦區塊A之内容被 合 」,區塊「A」即於步驟424被抹除。通常, :。^ A」破抹除時,與區塊「A」有關之抹除次數被增 大。一諸如區燒「 C」之區塊可於步驟428自最不常被抹除 性可二,μ常抹除區塊群組’使得區塊「c」之關聯 瑕不爷抹除區塊圖表有效地改變為最常抹除區塊圖 衣換3之,Γ^* 4:合「p / ^ 〇〇 」係與最不常抹除區塊失去關聯並與 ,吊抹除區塊圖表產生關聯。此種移動可容許最不常抹除 區塊圖表内之空間有效地開放以供給具有低抹除次數而因 =為錢之最不常抹除次數區塊中之-者的區塊「八」。通 令’區塊「C」係最不常抹除區塊中具有最高抹除次數之區 塊。 〇σ 26 1249100 巴塊=「v最不常抹除區塊群組移動之前,咬令 £塊c」與最不常抹 ^ ^ 自步驟428移動至432 /二‘關驷之W ’處理流程 ,、t,區塊「A」係於步驟4 5 10 15 地自區塊對映圖表移動至最不當抹除區塊”而有效 步驟物,包括先前含於區塊 而谖,於 區塊對映圖表產生_。士^ 塊「B」與 座生闕‘。如熟於此技者將可瞭 :B」「移動」至區塊對映圖表通常包括將與區塊「/ 有關:邏輯區塊位址之對映更新為目前之與區塊V: :?附屬於區塊「。」之資訊係呈現於最常抹 : =塊「B」之資訊係呈現於區塊對映圖一 -鬼A」之資訊係呈現於最不常抹除區塊圖表時 =處理342可重複至與‘有 ^所有静態區塊實質上已被識別及處理為止。 么士一般而言,當初始化要求被傳送至整體快閃記憶體系 、^’區塊對映圖表、最不常抹除區塊圖表、及最常抹除 區壤圖表可於諸如第關之RAM112之系統記‘时產生。^ 建立此等圖表,空間可先被分派於系統記憶體以供給此等 圖表。 如上文所述,當其為平均抹除次數時,區塊對映圖表、 取不常抹除區塊圖表、及最常抹除區塊圖表被產生於系統 ^己憶體。平均抹除次數及每一區塊之抹除次數亦被寫入抹 除次數區塊。第5a圖係根據本發明之一實施例之系統記憶 體的圖式方塊圖表示。系統記憶體454及快閃記憶體46〇係 、匕括於整體糸統’且舉例而言可有效地為記憶體卡構件 27 1249100 或主機裝置構件,其中,諸如NAND記憶體之快閃記憶體 460係被置人。系統記憶體祝係被排置為可儲存區塊可與 之產生關聯之區塊對映圖表462。通常,區塊對映圖表462 可被使用以使LBA與和快閃記憶體糊有關之實體區塊產 5生關聯。 “ 系統記憶體454亦可保持如同區塊對映圖表462之一般 而言鱗應於初始化要求而形成之最不常抹除區塊圖^ 466及最常抹除區塊圖表47()。被排置為可保持快閃記憶體 460之區塊之平均抹除次數之平均抹除次數们4係於整體快 10閃記憶體系統被袼式化時產生。於一實施例中,抹除次數 區塊480亦被排置為可實質上含有快閃記憶體内之所有 區塊之抹除次數。於每次初始化要求產生時,更新平均抹 除次數可被計算,並儲存於抹除次數區塊480。 第5b圖係根據本發明之一實施例之「普通」區塊群組、 15最不常抹除區塊群組、及最常抹除區塊群組之圖式表示。 區塊502之群組包括一般而言可為含有使用者資料之普通 或靜態區塊之區塊514、其為可被抹除但非為落入最不常抹 除區塊或最常抹除區塊之分類中之區塊514,如下文所述。 -般而言,於最常抹除區塊51G之群組包括具有整體系統内 20之抹除區塊之最高抹除次數的區塊522的同時,最不常抹除 區塊506之群組一般而言包括具有整體系統内之抹除區塊 之最低抹除次數的區塊518。一般而言,區塊训係有效地 被作為備份區塊使用。 當區塊514被抹除時,其可判定抹除區塊514是否具有 28 1249100 中,與區塊522有關之平均抹除次數可被計算,亦即,供最 常抹除區塊510之群組用之平均抹除次數可被判定。當來自 群組502之區塊514被抹除,且發現抹除區塊514之抹除次數 超出供最常抹除區塊51〇之群組用之平均抹除次數一給定 5百分比,例如超出約二十個百分比時,抹除區塊514可被加 入最常抹除區塊510之群組。當新區塊522係有效地加入最 常抹除區塊51G之群組時,最常抹除區塊51G之群組内之具 有取低抹除次數之區塊522可被再分配於群組5〇2。此種再 刀配通吊’係藉由更新相關區塊對映圖表、最不常抹除區塊 1〇圖表、及最常抹除區塊圖表(未顯示)而反映。 君夢組502、最不常抹除區塊5〇6之群組 塊训間之區塊調換-般而言係發生於被包括群組502= 塊514應被抹除或更新.任擇地,區塊之調換或更新可實 質地發生於欲分配備份區塊以供群組5〇2使用之任_時 15間。接著參考第6圖,為使區塊之磨損更為平均而實施於= 如具有置入式快閃記憶體之主機系統的整體記憶體系統内 之區_換或更新之方法將根據本發明之一實施例說明如 下。實施區塊調換或更新之處理_係開始於步驟_,其 中老如區塊「Y」之區塊係自區塊對映圖表而「獲得 20使用區塊對映圖表而識別。所獲得之區塊係為欲有又效地3 用以複製或更新其内容之區塊對映圖表調換之區塊。 一旦區塊「Y」被獲得,諸如區塊「X」之區塊 地於步驟_自最不常抹除區塊圖表中獲得。亦即 二 塊係自最不常抹除區塊之群組使用最不抹除區塊圖表^ 30 !2491〇〇 適當備份區塊而獲得。一 除區塊群財具錢健随「χ」麵最不常抹 區塊「X」可實質地為任=次數之區塊,雖然應瞭解者為 ^ ·思與最不常抹除區塊有關之區塊’ ^ ^抹除區塊圖表。儲存於區塊「丫」之内容, t詳言之’料於區塊「γ」之資料内容,或欲替換區塊 」之原始内#之新内容係於步驟⑴複製於區塊「X」。 「於將區塊「Υ」之内容複製於區塊「X」後,於步驟616, 區塊「X」係有效地移人區塊對映圖表,或與區塊對映圖表 10 15 20 二生關恥。換5之’與區塊「γ」及區塊「X」有關之對映 係有效地更新,使得先前對映於區塊「Υ」之LBA被再對映 於區塊「X」。當區塊「X」係有效地移人區塊對映圖表時, 區塊「Y」於步驟620被抹除。詳言之,儲存於區塊「γ」 之諸如使用者内容之資料内容可使用實質上任意適當之技 術加以抹除。而後,儲存於與區塊「γ」有關之冗餘區域之 與區塊「Υ」有關之抹除次數係於步觀4被增大以指示區 塊「Υ」已再次被抹除。於一實施例中應瞭解者為,有效地 儲存於抹除次數區塊之供「γ」用之抹除次數可被更新。 於步驟628中,最常抹除區塊圖表中具有最低抹除次數 之區塊被識別。如上所述,於一實施例中,於最常抹除區 塊圖表所參考之區塊係根據其個別抹除次數而排序。將區 塊排序可包括根據區塊之抹除次數定位最常抹除區塊圖表 内之此等區塊之參考資料。因此,具有最低抹除次數之區 塊之識別一般而言係有關於存取最常抹除區塊圖表内之棑 置為可供給具有最低抹除次數之區塊參考資料之位置的區 31 1249100 除t地移至最不常抹除區塊圖表。將區塊移至最不常抹 抹κ區之鮮組可包括根據每一區塊之抹除次數排序最不常 矛、品塊圖表之區塊參考資料。 5效地自ΓΙ抹除區塊圖表中具有最低抹除次數之區塊被有 #古/吊抹除區塊圖表移動後,於步驟644,區塊「Υ」 塊「^地,移動至最常抹除區塊圖表。於一實施例中,將區 區㈣移動至最常抹除區塊且因此有效地移動至最常抹除 「Υ"表可包括根據每-區塊之抹除次數排序包括區塊 Η)…抹除區塊°當區塊「γ」係有效地移至最常抹 示品认圖表時,調換或更新區塊之處理即已完成。 了般而言’與維持圖表、掌握初始要求、及實施磨損 厂等有關之諸如響應於調換或更新區塊之要求的功能性 係=諸如程式碼裝置或動體等軟體形式提供予主機系統。 與提供予主機系統以致動磨損調句之發生的軟體餘體有 15關之適當系統架構之一實施例係顯示於第7圖。一般而言, 系統架構700包括數種可包括(但不限於)應用介面模組 、系統管理者模組·、f料管理者模組712、資料完整 性管理者模組716、及裝置管理者與介面模組720等模組。 一般而言,系統架構700可使用藉由諸如第la圖之處理器 20 ι〇8之處理器存取之軟體碼裝置或韌體實施。 一般而言,其可將應用介面模組704可排置為可直接與 主機、作業系統、或使用者通信。應用介面模組704亦與系 統管理者模組708及資料管理者模組712通信。當使用者要 求讀取、寫入、或格式化快閃記憶體時,使用者傳送要求 33 1249100 至作業糸統,此等要求被傳給應用介面模組7〇4。取決於此 等要求,應用介面模組704將此等要求轉至系統管理者模組 708或資料管理者模組712。 系統管理者模組708包括系統初始化次模組724、抹除 5次數區塊管理次模組726、及電力管理區塊次模組73〇。一 般而言,系統初始化次模組724係排置為可致動初始化要求 之處理,且通常係與抹除次數區塊管理次模組726通信。於 -實施例巾,系統初始化次模組724料區塊之抹除次數被 更新,且係貫質地用於產生最不常使用區塊圖表及最常使 10 用區塊圖表。 抹除次數區塊管理次模組726包括儲存區塊抹除次數 之功月b)·生、及汁异平均抹除次數之功能性、與使用個別抹 除次數更新平均抹除次數之功能性。換言之,抹除次數區 塊官理次模組726可有效地容許平均抹除次數之維持。更詳 15言之,於一實施例中,於整體系統之初始化要求期間,抹 除次數區塊管財餘726亦實質地同步化抹除次數區塊 之所有區塊之抹除次數。應瞭解者為,於抹除次數區塊管 理次模組726係被排置為可將平均抹除次數儲存於抹除次 數區塊之同時,其可由電力管理區塊次模組73〇加以替換而 20致動平均抹除次數之儲存。 除與應用介面模組704通信外,系統管理者模組7〇8亦 與資料管理者模組712及裝置管理者與介面模組72〇通信。 與系統管理者模組708及應用介面模組7〇4兩者通信之資料 笞理者模組712可包括提供頁或區壤對映之功能性。資料管 34 !2491〇〇 系統介面層有關 理者模組712亦可包括與作業系統及檔案 之功能性。 與系統管理者模組期、資料管理者712、及資料完整 5 10 15 20 性管理者716通信之裝置管理者與介面·挪通常可^ 快閃記憶财面,且包括料如I/Q介^㈣提取有狀 功能性。資料完舰管理者難716可提供其他功能間之 £CC掌握。 雖然本發明僅就數實施例加以說明,應瞭解者為,於 不㈣本發明之精神或範_,本發日柯實施於其他數種 特定形式巾。藉由_,取代根據每—區塊對平均抹除次 數之比較、將區塊分配予最常抹除區塊圖表及最不常抹除 區塊圖表,區塊可根據何區塊具有最高抹除次數及何區塊 具有最低抹除次數之絕對判定而代之以被分配予最常抹除 P免圖表及最不*抹除區塊圖表。換言之,區塊抹除次數 可有放地與彼此比較,而非比較個別區塊抹除次數與平均 抹除_人數,而判定可插入區塊之適當圖表。 最不#抹除區塊圖表已大致地說明為如同備份區塊之 可保持具有相對低抹除:欠數之區塊的參考資料。備份區塊 係有效地分派以透過區塊對映圖表之使用而使用,使得備 ^區塊實質上係於任意時間皆為需要,具有於最不常抹除 區塊圖表巾所參考之最低抹除次數之區塊被提供以供使 用換5之,當欲調換於區塊對映圖表識別之區塊時,最 :韦抹除區塊之群組之具有最低抹除次數之區塊的參考資 料被移至區塊對映圖表。然而,應瞭解者為,-般而言, 35 1249100 於區塊調換處理期間,任意區塊可實質地自最不常抹除區 ‘群、.且中取出。由於最不常抹除區塊圖表内之區塊無需 力:以财,因此使用最不常抹除區塊圖表而自最不常抹除 區鬼實貝地4擇任意區塊以移至區塊對應圖表可減少與整 5體系統有關之附加費用。 10 15 20 ‘別與處理靜態區塊一般而言可增強令整體記憶體 =之區塊磨損更為平均之能力。然而,於—實施例中, 怨區魅無識別與處理之需要。舉例言之,若相對低數 區塊於系統内預先處理,則於不轉本發明之精 圍内靜態區塊之識別與處理可實質地消除。 “於°兄明以相關記憶體控制器控制非依電性記憶體系統 I用與主機系統有關之軟體或拿刃體控制非依電性記憶體 ^之同時解者為’包括抹除次數管理之磨損調勾 二可應用於與實質上位於非依電性記憶體系統外部之控 贼/ 己匕、體糸統。使用控制器之適當記憶 =統包括(但不限於)PC卡、緊密快閃卡、多媒體卡、保 王曰文位卡、及包括_域體及,_記憶體控制 器之置入 ^曰片組。經岐用載於主機系統之軟體或㈣控制之記 憶體糸統包括置人式記憶體裳置。於—實施例中,可使用 =所叙抹除管理技術且未使用與記鐘系統有關之控 1益It體系統可使用與諸如主機電㈣統有關之控制 益貫調勻。亦即,主機可直接定位址與管理記憶體, 其中’磨㈣句係經由使用主機上之控制器而發生。 般而。’與各種磨損調勻之處理及方法有關之步驟 36 !2491〇〇 10 15 可廣泛地改變。-般而言,於不悖離本發明之範圍之精神 的情形下,此等步驟可增加、移除、改變、及再排組。藉 由釋例,處理靜態區塊可無需被包括於初始要求之處理 中:同時’於~實施例中’是否有效地將新抹除區塊置放 於最常抹除區塊圖表之判定可根據其他標準,以替代根據 抹除區塊是否具有A於與最常抹__表有社最低抹 除次數的抹除次數判定之標準。舉例言之,此種判定可根 康抹除區塊之抹除次數是否超出與最常抹除區塊圖表有關 之實質上所有區塊之平均抹除次數一定百分比,諸如約二 個百77比。^抹除區塊之抹除次數超出平均抹除次數特 百刀比日可,而後於最常抹除區塊圖表所參考之具有最低 抹除-人數之區塊可被移至最不常抹除區塊圖,同時抹除區 鬼係被移至最g抹除區塊圖表。因此,目前之釋例係考量 為供說明之用’而非供限制之用4本發明並未限於此處 所詳述之說明,而係可於義之”專·圍之範圍内進 行修改者。 【圖式簡岸·贺^明;3 ^ $la®係根據本發明之一實施例之包括非依電性記憶 - 體破置的一般主機糸統之圖式表示。 第lb圖係根據本發明之一實施例之諸如第^圖中的記 憶體裝置120之記憶體裝置之圖式表示。 第2圖係根據本發明之一實施例之快閃記憶體的部份 之圖式表示。 37 1249100 第3圖係根據本發明之一實施例之說明與處理和快閃 記憶體系統有關之初始化要求有關之步驟的處理流程圖。 第4圖係根據本發明之一實施例之說明與處理靜態區 塊之方法有關的步驟之處理流程圖。 5 第5 a圖係根據本發明之一實施例之系統記憶體的圖式 方塊圖表示。
第5b圖係根據本發明之一實施例之正常區塊、最不常 抹除區塊、及最常抹除區塊之圖式表示。 第6圖係根據本發明之一實施例之用以於系統記憶體 10 實施區塊調換/更新整體記憶體系統以容許區塊之磨損更 為平均的方法的圖式表不。 第7圖係根據本發明之一實施例之系統架構之圖式方 塊圖表不。
15 【圖式之主要元件代表符號表】 11 記憶體晶胞陣列 15 匯流排 17 解碼器 19 附加電路 21 緩衝器記憶體 23 部份 100 主機系統、電腦系統 104 系統匯流排 108 微處理器 112 隨機存取記憶體 116 輸入/輸出電路 120 非依電性記憶體裝置 124 非依電性記憶體 128 任選記憶體控制系統 130 任選輸入/輸出電路區塊132 輸入/輸出電路區塊 200 快閃記憶體 204、 204a > 204b 頁 38 1249100 206、206a 冗餘區域 210 區塊 214 抹除次數 : 300 處理 304、 306、320、324、332、336 、338 、342、404、408、412、 416、 420、428、432、434、604 、608 、612、616、620、624、 628、 632、636、640、644 步驟 454 糸統記憶體 460 快閃記憶體 462 區塊對映圖表 470 最常抹除區塊圖表 474 抹除次數 480 抹除次數區塊 502、 506、510、514、518、522 區塊 700 系統架構 704 應用介面模組 708 系統管理者模組 712 資料管理者模組 716 資料完整性管理者模組 720 裝置管理者與介面模組 724 系統初始化次模組 730 電力管理區塊次模組 726 抹除次數區塊管理次模組
39

Claims (1)

  1. 7 vSl 〇第092125790號專利申請案 A X2 中文申誥直剎筋ffl彗桅太N
    中文申請專利範圍替換本(94年9月) 拾、申請專利範圍: 1· 一種用以處理包括於記憶體系統之非依電性記憶體之 元件的方法,該方法包含: 獲得與數個元件有關之抹除次數,其中,包括於該 等數個元件之每一元件具有一相關抹除次數,每一元件 之該相關抹除次數係排置為可指示該元件已被抹除之 次數; 將包括於該等數個元件之數個元件分組為一第一 組,其中,將該等數個抹除元件分組為該第一組包括選 擇包括於與該等數個抹除元件有關之具有該等抹除次 數的該等最仙關抹除讀之該等數航件之元件;以 及 , 將與該第-組有關之該等抹除次數儲存於—實質 地位於-®表之記憶體構件,其中,該記憶體構件係與 該記憶體系統有關。 、 2.如申請專利範圍第i項所述之方法,其中,將該等數個 元件分組包括: 比較與該等數個元件有關之該等抹除次數;以及 將預定數目之元件識別為自該等數個抹除元件選 擇之數個具有與該等數個抹除元件有關的該等抹除次 數之該等最低相關抹除次數之元件。 3·如申請專利範圍第1項所述之方法,其更包括: 根據與每一元件有關之該抹除次數排序該第—組 1249100 解7月)节修⑻正替換頁j 4·如申請專利範圍第3項所述之方法,其中,排序該第一 組之該等元件包括排序該圖表内之該等抹除次數。 5. 如申請專利範圍第3項所述之方法,其更包括: 識別一包括於該第一組之第一元件,該第一元件具 有與該第一組有關之該最低抹除次數。 6. 如申請專利範圍第5項所述之方法,其更包括: 令該第一元件與該第一組失去關聯;以及 令該等數個元件中之一第二元件與該第一組產生 關聯。 7. 如申請專利範圍第6項所述之方法,其更包括: 令該第二元件與該第二組失去關聯。 8. 如申請專利範圍第1項所述之方法,其中,該非依電性 記憶體係為一快閃記憶體。 9. 如申請專利範圍第8項所述之方法,其中,該等數個元 件係為區塊,且該第一組係為一最不常抹除區塊組。 10. 如申請專利範圍第9項所述之方法,其中,該第一元件 組包括備用區塊。 11. 如申請專利範圍第9項所述之方法,其中,獲得該等抹 除次數包括自一抹除次數區塊獲得該等抹除次數。 12. 如申請專利範圍第9項所述之方法,其中,該快閃記憶 體係為NAND快閃記憶體。 13. —種記憶體系統,其包含: 一第一記憶體,該第一記憶體係排置為可儲存一圖 表,該圖表係排置為可包括與具有相關抹除計數器之一 1249100 月:修^)正臀换:貝I 第一抹除儲存元件組有關之項目,該等相關抹除計數器 係小於與該記憶體系統有關之一平均抹除次數,供該第 一儲存元件組之每一儲存元件用之該相關抹除計數器 係排置為可實質地指示該儲存元件已被抹除之次數; 一第二記憶體,該第二記憶體係排置為可包括數個 抹除儲存元件,該等數個儲存元件包括該第一儲存元件 組,其中,該平均抹除次數係使用與該等數個儲存元件 有關之抹除計數器而判定;以及 一處理器,該處理器係排置為可存取該第一記憶體 及該第二記憶體。 14. 如申請專利範圍第13項所述之記憶體系統,其中,該第 一儲存元件組係實質地使用該圖表而識別。 15. 如申請專利範圍第13項所述之記憶體系統,其中,該第 二記憶體係為一快閃記憶體且該第一儲存元件組包括 一第一區塊組。 16. —種用以處理包括於記憶體系統之非依電性記憶體之 元件的方法,該方法包含: 識別一第一元件組,其中,包括於該第一元件組之 該等抹除元件係較未包括於該第一元件組之該等抹除 元件具有較小之磨損; 將與該第一元件組有關之項目置放於一資料結構; 排序該資料結構内之該等項目;以及 使用該等排序項目識別該第一元件組内之一第一 元件,其中,該第一元件較其他包括於該第一元件組之 1249100 游,月爛辦)正替換頁丨. 元件具有較小之磨損。 17·如申請專利範圍第16項所述之方法,其中,每一元件具 有一相關抹除次數,且識別該第一元件組包括: 識別數個對其而言該等相關抹除次數係相對地低 之抹除元件;以及 將該等對其而言該等相關抹除次數係相對地低之 該等數個抹除元件分組為該第一組。
    18.如申請專利範圍第17項所述之方法,其中,該等項目包 括該第一組之該等元件之該等相關抹除次數。 19·如申請專利範圍第π項所述之方法,其更包括: 判定未被包括之一第二元件之一相關抹除次數應 於何時被抹除; 於其判定該第二元件應被抹除時,將該第一元件自 該第一組移除; 將該第二元件之内容及用以替換該第二元件之内 容的新内容中之一者複製於該第一元件;
    將該等内容自該第二元件抹除;以及 將該第二元件增加至該第一組。 20·如申請專利範圍第19項所述之方法,其中,將該第一元 件自該第一組移除包括將與該第一元件有關之一項目 自該資料結構移除,且將該第二元件增加至該第一組包 括將與該第一元件組有關之一項目置放於一資料結構。 21 ·如申凊專利範圍第20項所述之方法,其更包括: 排序該資料結構内之該等項目;以及 4 1249100 If 4^?月'邛修(f)正瞀换頁I 使用該等排序項目識別該第一元件組内之一第三 元件,其中,該第三元件係較其他包括於該第一元件組 内之元件具有較小之磨損。 22. 如申請專利範圍第16項所述之方法,其中,該第一元件 係排置為可替換未包括於該第一組之一第二元件。 23. 如申請專利範圍第16項所述之方法,其中,每一該等元 件皆包括一區段,該區段係排置為可含有資料,且其 中,包括於每一該等元件之該區段係實質地為清空的, 該等第一元件係包括於該第一元件組。 24. 如申請專利範圍第16項所述之方法,其中,包括於該第 一元件組之每一元件實質地被抹除。 25. 如申請專利範圍第16項所述之方法,其中,該非依電性 記憶體係為一快閃記憶體,且該等元件係為區塊。 26. —種記憶體系統,其包含: 記憶體元件; 一系統記憶體構件; 用以識別一第一抹除記憶體元件組之裝置,其中, 包括於該第一記憶體元件組之該等記憶體元件較未包 括於該第一記憶體元件組之該等抹除記憶體元件具有 較小之磨損; 用以將與該第一記憶體元件組有關之項目置放於 一與該系統記憶體構件有關之資料結構内之裝置; 用以排序該資料結構之該等項目之裝置;以及 用以使用該等排序項目識別該第一記憶體元件組 1249100 27. 28. 29. 月卻修正替換頁 _丨 丨 - 」 之一第一記憶體元件之裝置’其中,該第一記憶體元件 係較包括於該第一記憶體元件組之其他抹除記憶體元 件具有較小之磨損。 如申請專利範圍第26項所述之記憶體系統,其中,每 一記憶體元件具有一相關抹除次數,且用以識別該第一 元件組之該裝置包括: 用以識別對其而言該等相關抹除次數係相對地低 之數個元件的裝置;以及 用以將對其而言該等相關抹除次數係相對地低之 該等數個元件分組為該第一組之裝置。 如申請專利範圍第27項所述之記憶體系統,其中,該等 項目包括該第一組之該等記憶體元件之該等相關抹除 次數。 如申請專利範圍第27項所述之記憶體系統,其更包括: 用以判定一第一平均抹除次數之裝置,該第一平均 抹除次數係使用每一記憶體元件之該相關抹除次數而 判定,其中,用以識別該第一記憶體元件組之該裝置包 括用以比較包括於該第一記憶體元件組之每一記憶體 疋件之該相關抹除次數與該第一平均抹除次數的裝置。 如申請專利範圍第26項所述之記憶齡統,其更包括: 用以將該第一記憶體元件自該第一組移除之裝 置;以及 用以將未包括於該第一組之一第二記憶體元件增 加至該第一組之襄置。 30. 1249100 件7月仰修(p錢狹臾I 31. 如申請專利範圍第30項所述之記憶體系統,其中,用以 將該第一記憶體元件自該第一組移除之該裝置包括用 以將一與該第一記憶體元件有關之項目自該資料結構 移除之裝置,且用以將該第二記憶體元件增加至該第一 組之該裝置包括用以將與該第一記憶體元件組有關之 一項目置放於一資料結構之裝置。
    32. 如申請專利範圍第26項所述之記憶體系統,其中,包 括於該第一記憶體元件組之該等記憶體元件係為備用 記憶體元件。 33. 如申請專利範圍第26項所述之記憶體系統,其中,包括 於該第一記憶體元件組之該等記憶體元件中之每一者 係實質地被抹除。 34. 如申請專利範圍第26項所述之記憶體系統,其中,該等 記憶體元件係為非依電性記憶體區塊。 35. —種用以處理一與非依電性記憶體系統有關之記憶體 元件組之方法,該方法包含:
    將該記憶體元件組之該等抹除記憶體元件中之至 少一者分組為一第一群組,其中,該等記憶體元件中之 該至少一者實質地並未多於未被分組為該第一組之該 記憶體元件組之記憶體元件;以及 允許已分組為該第一群組之該等記憶體元件被分 派以供使用,其中,允許已分組為該第一群組之該等記 憶體元件被分派以供使用包括實質地防止該等已分組 為該第一群組之該等記憶體元件被分派以供使用直至 7 1249100 p午年,月叫修(f)正替換頁 未包括於該第一群組之一第一記憶體元件包括欲與該 第一記憶體元件失去關聯之内容為止。 36. 如申請專利範圍第35項所述之方法,其中,該記憶體元 件組中之每一記憶體元件具有一指示該記憶體元件組 之該記憶體元件已被抹除之次數的相關指示,且將該等 記憶體元件中之至少一者分組為該第一群組包括根據 該等記憶體元件中之該至少一者之該相關指示,將該等 記憶體元件中之該至少一者分組為該第一群組。 37. 如申請專利範圍第36項所述之方法,其中,該等記憶體 元件中之該至少一者具有一小於未被分組為該第一群 組之該等記憶體元件之該相關指示的相關指示。 38. —種記憶體管理系統,其包含: 用以獲得與數個元件有關之抹除次數之碼裝置,其 中,包括於該等數個元件之每一元件具有一相關抹除次 數,每一元件之該相關抹除次數係被排置為可指示該元 件已被抹除之次數; 用以將數個包括於該等數個元件之元件分組為一 第一組之碼裝置,其中,用以將該等數個元件分組為該 第一組之該碼裝置包括用以選擇包括於該等數個元件 中之具有與該等數個抹除元件有關之該等抹除次數之 該等最低相關抹除次數的抹除元件之元件的碼裝置;以 及 用以將與該第一組有關之該等抹除次數實質地儲 存於一記憶體構件之一圖表的碼裝置。 1249100 卜申?肜邛修於正替換 39·如申請專利範圍第38項所述之記憶體管理系統,其中, 該用以分組該等數個元件之該碼裝置包括· 用以比較與該等數個元件有關之該等抹除次數之 碼裝置;以及 用以將預定數目之元件識別為欲自該等數個具有 與該等數個元件有關之該等抹除次數之該等最低抹除 次數的抹除元件選擇之該等數個元件。 40·如申請專利範圍第38項所述之記憶體管理系統,其更包 括: 用以根據與每一元件有關之該抹除次數排序該第 一組之該等元件的碼裝置。 41·如申請專利範圍第40項所述之記憶體管理系統,其中, 用以排序該第一組之該等元件之該碼裝置包括用以排 序該圖表内之該等抹除次數的碼裝置。 42·如申請專利範圍第40項所述之記憶體管理系統,其更包 括: 用以識別包括於該第一組之一第一元件之碼事 置,該第一元件具有與該第一組有關之該最低抹除次 數。 43.如申請專利範圍第42項所述之記憶體管理系統,其更包 括: 用以令該第一元件與該第一組失去關聯之碼聿置· 用以令該等數個元件中之一第二元件與該第—么 產生關聯之碼裝置;以及 ' 1249100 辦1私ig修0正替換頁 用以令該第二元件與該第二組失去關聯之碼裝置。 44·如申凊專利範圍第38項所述之記憶體管理系統,其中 該非依電性記憶體係為快閃記憶體且該等數個元件係 為區塊’該第一組係為一最不常抹除區塊組。 45·如申請專利範圍第44項所述之記憶體管理系統,其中, 該第一元件組包括備用區塊。 46.如申請專利範圍第44項所述之記憶體管理系統,其中, 獲得該等抹除次數包括自一抹除次數區塊獲得該等抹 除次數。 47· —種用以管理記憶體之方法,該記憶體包括數個區塊, 該方法包含: 識別一包括於該等數個區塊中之抹除區塊組; 識別一包括於該抹除區塊組中之第一抹除區塊群 組,其中,該第一抹除區塊群組包括較該抹除區塊組中 之所有其他抹除區塊實質地具有較低抹除次數之抹除 區塊; 於一 δ己憶體構件中產生一結構,其中,該結構包括 項目,該等項目包括包括於該第一群組之該等抹除區塊 之抹除次數; 排序該等項目;以及 使用該等排序項目識別一第一區塊,其中,該第一 區塊係排置為可早於包括於該第一抹除區塊群組之該 等其他抹除區塊而自該第一抹除區塊群組移除。 48.如申明專利範圍第ο項所述之方法,其中,排序該等項 12491 〇Q 〜〜· — 年月日修(更)正替換頁 目包括使用包括於該第一群組之該等抹除區塊之該等 抹除次數排序該等項目。 49·如申晴專利範圍第48項所述之方法,其中,使用該等排 序項目識別該第一區塊包括將該第一區塊識別為具有 一較包括於該第一群組之所有其他抹除區塊實質地低 之較低抹除次數。 50·如申請專利範圍第47項所述之方法,其中,該等抹除區 塊係為抹除非依電性記憶體區塊,且該記憶體構件係為 一 NAND記憶體。
TW092125790A 2002-10-28 2003-09-18 Tracking the least frequently erased blocks in non-volatile memory systems TWI249100B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/281,824 US7096313B1 (en) 2002-10-28 2002-10-28 Tracking the least frequently erased blocks in non-volatile memory systems

Publications (2)

Publication Number Publication Date
TW200428213A TW200428213A (en) 2004-12-16
TWI249100B true TWI249100B (en) 2006-02-11

Family

ID=32228777

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092125790A TWI249100B (en) 2002-10-28 2003-09-18 Tracking the least frequently erased blocks in non-volatile memory systems

Country Status (8)

Country Link
US (1) US7096313B1 (zh)
EP (1) EP1559017A1 (zh)
JP (1) JP2006504199A (zh)
KR (1) KR20050084879A (zh)
CN (1) CN1698036A (zh)
AU (1) AU2003270529A1 (zh)
TW (1) TWI249100B (zh)
WO (1) WO2004040459A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176382B2 (en) 2007-11-09 2012-05-08 Transcend Information, Inc. Storage apparatus, method for accessing data and for managing memory block

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101122511B1 (ko) * 2002-10-28 2012-03-15 쌘디스크 코포레이션 비휘발성 저장 시스템들에서 자동 웨어 레벨링
US6901498B2 (en) * 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
TWI243303B (en) * 2003-11-14 2005-11-11 Hon Hai Prec Ind Co Ltd System and method for managing flash file stored in a flash memory
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
KR20070007265A (ko) * 2003-12-30 2007-01-15 쌘디스크 코포레이션 제어 데이터 관리를 구비한 비휘발성 메모리 및 방법
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20060004951A1 (en) * 2004-06-30 2006-01-05 Rudelic John C Method and apparatus to alter code in a memory
US20060069849A1 (en) * 2004-09-30 2006-03-30 Rudelic John C Methods and apparatus to update information in a memory
US20060069850A1 (en) * 2004-09-30 2006-03-30 Rudelic John C Methods and apparatus to perform a reclaim operation in a nonvolatile memory
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US20060149891A1 (en) * 2004-12-30 2006-07-06 Rudelic John C Relocated reclaim block
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US20060256623A1 (en) * 2005-05-12 2006-11-16 Micron Technology, Inc. Partial string erase scheme in a flash memory device
CN100533409C (zh) * 2005-07-29 2009-08-26 松下电器产业株式会社 存储器控制器,非易失性存储设备,非易失性存储系统,和非易失性存储器地址管理方法
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7426605B2 (en) * 2005-09-30 2008-09-16 Rudelic John C Method and apparatus for optimizing flash device erase distribution
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US7509471B2 (en) 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
JP4791831B2 (ja) * 2006-01-20 2011-10-12 株式会社東芝 半導体記憶装置
JP4846384B2 (ja) * 2006-02-20 2011-12-28 株式会社東芝 半導体記憶装置
JP4836608B2 (ja) * 2006-02-27 2011-12-14 株式会社東芝 半導体記憶装置
JP4227149B2 (ja) * 2006-04-19 2009-02-18 三菱電機株式会社 電子制御装置の情報記憶方法
JP2007305267A (ja) * 2006-05-15 2007-11-22 Toshiba Corp 半導体記憶装置
KR100791325B1 (ko) * 2006-10-27 2008-01-03 삼성전자주식회사 비휘발성 메모리를 관리하는 장치 및 방법
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
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7904619B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US7904764B2 (en) * 2006-11-24 2011-03-08 Sandforce, Inc. Memory lifetime gauging system, method and computer program product
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
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
KR100817204B1 (ko) * 2006-12-22 2008-03-27 재단법인서울대학교산학협력재단 플래시 메모리의 매핑 방법 및 장치
CN101256534B (zh) * 2007-03-01 2010-10-06 创惟科技股份有限公司 闪存的高效率静态平均抹除方法
US7731365B2 (en) * 2007-03-19 2010-06-08 Johnson&Johnson Vision Care, Inc. Method of fitting contact lenses
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
CN101409108B (zh) * 2007-10-09 2011-04-13 群联电子股份有限公司 平均磨损方法及使用此方法的控制器
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
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
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
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
JP4461170B2 (ja) 2007-12-28 2010-05-12 株式会社東芝 メモリシステム
US8068365B2 (en) 2008-02-04 2011-11-29 Mosaid Technologies Incorporated Non-volatile memory device having configurable page size
US8120990B2 (en) 2008-02-04 2012-02-21 Mosaid Technologies Incorporated Flexible memory operations in NAND flash devices
US20100017588A1 (en) * 2008-07-15 2010-01-21 Radoslav Danilak System, method, and computer program product for providing an extended capability to a system
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
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
CN101419842B (zh) * 2008-11-07 2012-04-04 成都市华为赛门铁克科技有限公司 硬盘的损耗均衡方法、装置及系统
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
US8244960B2 (en) 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8094500B2 (en) 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
KR101586047B1 (ko) * 2009-03-25 2016-01-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
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
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
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
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
US8065469B2 (en) 2009-04-20 2011-11-22 Imation Corp. Static wear leveling
US8176295B2 (en) 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
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
US8402242B2 (en) 2009-07-29 2013-03-19 International Business Machines Corporation Write-erase endurance lifetime of memory storage devices
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
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
CN101740110B (zh) * 2009-12-17 2013-06-12 中兴通讯股份有限公司 一种Nand Flash擦除均衡的方法及装置
US8612804B1 (en) 2010-09-30 2013-12-17 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
KR20120096212A (ko) * 2011-02-22 2012-08-30 삼성전자주식회사 비휘발성 메모리 장치, 메모리 컨트롤러, 및 이들의 동작 방법
US9405670B2 (en) * 2011-06-09 2016-08-02 Tsinghua University Wear leveling method and apparatus
US8898373B1 (en) 2011-06-29 2014-11-25 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
WO2014132346A1 (ja) * 2013-02-27 2014-09-04 株式会社日立製作所 半導体ストレージ
TWI515736B (zh) * 2013-07-25 2016-01-01 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
US9466377B2 (en) 2014-02-26 2016-10-11 Infineon Technologies Ag Method and device for processing an erase counter
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
US10691531B2 (en) 2014-12-04 2020-06-23 Western Digital Technologies, Inc. Systems and methods for multi-zone data tiering for endurance extension in solid state drives
US10338817B2 (en) 2014-12-30 2019-07-02 Sandisk Technologies Llc Systems and methods for storage recovery
US20170139826A1 (en) * 2015-11-17 2017-05-18 Kabushiki Kaisha Toshiba Memory system, memory control device, and memory control method
CN107301015B (zh) * 2016-04-15 2022-05-13 恩智浦美国有限公司 用于减少存储器设备上的压力的系统和方法
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
US10282111B2 (en) 2016-07-29 2019-05-07 Western Digital Technologies, Inc. Adaptive wear levelling
CN106246168B (zh) 2016-08-29 2017-09-19 中国科学院地质与地球物理研究所 一种近钻头钻具姿态随钻测量装置及测量方法
CN106223937B (zh) 2016-08-31 2017-09-29 中国科学院地质与地球物理研究所 一种适用于井下近钻头无线短传的接收装置
CN106246167B (zh) 2016-08-31 2017-07-14 中国科学院地质与地球物理研究所 近钻头恒功率无线短传方法及装置
CN106246169B (zh) 2016-08-31 2017-09-01 中国科学院地质与地球物理研究所 一种适用于井下近钻头无线短传发射的机械装置
CN106246163B (zh) 2016-08-31 2017-07-14 中国科学院地质与地球物理研究所 近钻头动态井斜测量方法及装置
CN107025066A (zh) 2016-09-14 2017-08-08 阿里巴巴集团控股有限公司 在基于闪存的存储介质中写入存储数据的方法和装置
CN106527969B (zh) 2016-09-21 2017-09-19 中国科学院地质与地球物理研究所 一种寿命均衡的NandFlash存储器读写方法
CN106522925B (zh) 2016-11-21 2018-04-13 中国科学院地质与地球物理研究所 一种随钻方位声波信号接收换能器封装装置
CN106640055B (zh) 2016-11-21 2017-11-17 中国科学院地质与地球物理研究所 一种适用于随钻方位声波测井的接收装置
CN106869907B (zh) 2017-01-19 2019-08-06 中国科学院地质与地球物理研究所 基于电场理论的近钻头无线短传地面环境下标定方法
US10578754B2 (en) 2017-01-19 2020-03-03 Institute Of Geology And Geophysics, Chinese Academy Of Sciences Sinusoidal excitation method and apparatus for multi-pole acoustic logging while drilling
KR102674620B1 (ko) * 2018-10-17 2024-06-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US11080205B2 (en) * 2019-08-29 2021-08-03 Micron Technology, Inc. Classifying access frequency of a memory sub-system component

Family Cites Families (34)

* 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., Santa Clara 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
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
JPH0750558B2 (ja) 1992-09-22 1995-05-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリ
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 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
US5954828A (en) 1995-01-05 1999-09-21 Macronix International Co., Ltd. Non-volatile memory device for fault tolerant data
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
US5933847A (en) 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
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
US6009496A (en) 1997-10-30 1999-12-28 Winbond Electronics Corp. Microcontroller with programmable embedded flash memory
KR100297986B1 (ko) 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
JP2002524796A (ja) 1998-09-04 2002-08-06 オツトー ミユレル, 制限された消去頻度のメモリのアクセス制御
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
US6282605B1 (en) 1999-04-26 2001-08-28 Moore Computer Consultants, Inc. File system for non-volatile computer 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
KR100644602B1 (ko) 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
JP2002251884A (ja) * 2001-02-21 2002-09-06 Toshiba Corp 半導体記憶装置及びそのシステム装置
US6732221B2 (en) 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
US6683817B2 (en) * 2002-02-21 2004-01-27 Qualcomm, Incorporated Direct memory swapping between NAND flash and SRAM with error correction coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176382B2 (en) 2007-11-09 2012-05-08 Transcend Information, Inc. Storage apparatus, method for accessing data and for managing memory block

Also Published As

Publication number Publication date
JP2006504199A (ja) 2006-02-02
TW200428213A (en) 2004-12-16
WO2004040459A1 (en) 2004-05-13
CN1698036A (zh) 2005-11-16
EP1559017A1 (en) 2005-08-03
KR20050084879A (ko) 2005-08-29
US7096313B1 (en) 2006-08-22
AU2003270529A1 (en) 2004-05-25

Similar Documents

Publication Publication Date Title
TWI249100B (en) Tracking the least frequently erased blocks in non-volatile memory systems
TWI267866B (en) Tracking the most frequently erased blocks in non-volatile memory systems
TWI247292B (en) Maintaining an average erase count in a non-volatile storage system
TWI261168B (en) Non-volatile memory system with erase counts stored in an erase count block
TW200406771A (en) Wear leveling in non-volatile storage systems
CN100538660C (zh) 管理擦除计数区块的方法和设备
US8046526B2 (en) Wear leveling method and controller using the same
US8108589B2 (en) Wear leveling method and controller using the same
US8086787B2 (en) Wear leveling method, and storage system and controller using the same
JP4518951B2 (ja) 不揮発性記憶システムにおける自動損耗均等化
US20110238892A1 (en) Wear leveling method of non-volatile memory
US20090091978A1 (en) Wear leveling method and controller using the same
CN101414282B (zh) 平均磨损方法及使用此方法的控制器
CN119861868A (zh) 用于存储设备的磨损均衡方法和存储设备

Legal Events

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