TWI261168B - Non-volatile memory system with erase counts stored in an erase count block - Google Patents

Non-volatile memory system with erase counts stored in an erase count block Download PDF

Info

Publication number
TWI261168B
TWI261168B TW092125808A TW92125808A TWI261168B TW I261168 B TWI261168 B TW I261168B TW 092125808 A TW092125808 A TW 092125808A TW 92125808 A TW92125808 A TW 92125808A TW I261168 B TWI261168 B TW I261168B
Authority
TW
Taiwan
Prior art keywords
block
memory
blocks
erased
electrical
Prior art date
Application number
TW092125808A
Other languages
English (en)
Other versions
TW200422830A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=32107214&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=TWI261168(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200422830A publication Critical patent/TW200422830A/zh
Application granted granted Critical
Publication of TWI261168B publication Critical patent/TWI261168B/zh

Links

Classifications

    • 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
    • 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)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Memory System (AREA)

Description

1261168 玖、發明說明: 【明戶斤屬貝】 發明領域 本發明係有關於下列共同待審中之美國專利申請案··在2〇〇2 年10月28曰提出申請之美國專利申請案第1〇/281,739號案,發明 名稱為:非依電性儲存系統之磨損調句技術(代理人文件編號: SANDP0Z3/SDK0366.000US);在2002年1〇月28日提出申請之美國 專利申請案第10/281,670號案,發明名稱為:追蹤非依電性記憶 體系統中最常抹除區塊之技術(代理人文件編號· SANDP025/SDK0366.002US);在2002年1〇月28曰提出申請之美國 專利申請案第10/281,824號案,發明名稱為:追蹤非依電性記憶 體系統中最不常抹除區塊之技術(代理人文件編號· SANDP026/SDK0366.003);在2002年10月28曰提出申請之美國專 利申請案第10/281,631號案,發明名稱為:用以分割邏輯區塊之 方法與裝置(代理人文件編號:SANDP028/SDK0371.〇〇〇US);在 2002年10月28日提出申請之美國專利申請案第1〇/281,855號案, 發明名稱為:用以將區塊中之頁面分組之方法與裝置(代理人文件 編號:SANDP029/SDK0410.000US);在2002年 1〇月 28 日提出申, 之美國專利申請案第10/281/762號案,發明名稱為:用以分解與 共用邏輯區塊相關聯之實體區塊的方法與裝置(代理人文件編 號:SANDP030/SDK0416.000US);以及在2002年 1〇月 28 日提出申 請之美國專利申請案第10/281,626號案,發明名稱為:用以管理 抹除次數區塊之方法及裝置(代理人文件編號· SANDP032/SDK0420.001US),其中,該等申請案之全部内容係包 1261168 含於此處以作為參考之用。 ==:之磨損可實質地跨所 【先前技術】 發明背景 =,_記鍾儲衫統之紐記憶體纽之使用係 口此寺5己铖體系統之緊密實體 ’、 憶體之能力而增加。快軸4==再_非依電性記 將此等儲射、統使胁日漸===之緊密實體大小可促進 ㈣^以& 裝置内。使用快閃記憶體儲存 ΐ;; ΐ ^ ^括二Γ式個人電腦、以及全球定鱗置等。可重複再規 ;包=閃記憶體储存系統之非依電性記憶體之能力允許快 閃6己丨思體儲存系統之使用與再使用。 …一般而言’快閃記憶體儲存系統可包括快閃記憶體卡及快閃 °己十思體晶片組。快閃記情辦θ y ^ ήη_ 心體θθ片組一般而言包括快閃記憶體構件 以及控織構件。通常,快閃記鐘以_排置為可構組於置 式系先itb等·成或主機系統之製造者通常取得構件形式之快 以及其他構件,而後將快閃記憶體及其他構件構組為 主機系統。 雖然快閃記憶體系統内之非依電性記憶體,或更詳而言之, 决閃義肢儲存區塊,可重複地規劃及抹除,每―區塊或實體位 1261168 置7於區塊磨損前,亦即於記憶體開始變小前,僅抹除特定數目 雕數亦即’每-區塊具有規劃及抹除週期限制。在某些記憶 :中ϋ塊被認為係、無法使用前,此區塊可被抹除約-萬 人在其他記憶體中,於一區塊被認為係已磨損前,此區塊可被 未以十萬錢甚至南達¥萬次。當區塊磨損,因而導致快閃記 Μ系統之整體齡容量之部份的使關失雜能之明顯退化 才决閃心ί思體系統之使用者可能受到例如儲存資料損失或無法 儲存資料等之不利影響。 。决閃兄憶體系統内之區塊或實體位置之磨損係取決於每一 區塊中有多少被規劃而改變。若—區塊,或更—般言之,一儲存 凡件僅被規t卜次,崎有效地未碰關,則賴次數和抹除 週』及與因此而產生之與此區塊有關之磨損—般而言將相對地 低。然而,若—區塊被重複地寫入與抹除,例如循環為之,則與 /區鬼有關之磨損-般而言將相對地高。當邏輯區塊位址⑽A) 係由例如存取或使躲閃記憶«統之主機使用,以存取儲存於 决閃心feU統之倾時,若主機重複地使ffi_^LBA寫入或 過寫入資料,則如熟於此技者馳瞭解者,快閃記憶體系統内之 相同貫體位置或區塊係被重複地寫入與抹除。 當某些區塊係有效地磨損,同時其他區塊係相對地未磨損 時,一般而言,磨損區塊之存在將危害快閃記憶體系統之整體性 此。除與磨損區塊本身有關之性能退化外,當未磨損區塊之數目 亚不足以儲存所欲資料時,快閃記憶體系統之整體性能亦可能受 到危害。通常,當快閃記憶體系統出現臨界數目之磨損區塊時, 即使此快閃記憶體系統之許多其他晶胞係相對地未磨損,快閃記 1261168 憶體系統仍可能被認為係無法使用。t包括實f上相對未磨損區 塊之數目之快閃記憶體系統係被考量為無法使用時,與此快閃記 憶體系統有關之許多資源實際上係浪費的。 為增加快閃記憶體系統内之區塊可適當平均地磨損的可能 性,磨㈣勻操作經常被實施。如熟於此技者將可瞭解者,磨損 調勻操作-般而言係排置為可容許與特定LBA有關之實體位置 或區塊可被H使彳寸相同LBAii非-直與相同實體位置或區塊 產生關%。籍由改變LBA之區塊關聯性,於其他區塊磨損前,特 定區塊較不可能磨損。 傳統磨損調勻處理係有關顧客或主機LBA之二相對大之 部份係為對映之調換實體位置。亦即,與儲存晶胞之相對大區段 有關之LBA被調換。此翻換係經由來自顧客之手動命令,例如 經由主機之使用而初始化,且因此,對顧客而言並非透明。同時, :私動於儲存晶胞之二相對大區段間之資财關之調換操作相 田耗費%間,且@此而無效率。此外,藉由消耗與整體快閃記憶 體系、、先有關之重要貢源的相對長之綱的調換操作,整體快閃記 憶體系仏性能可能❹林歡影響。如齡此技者將可瞭解 自第位置移動肓料通常與將資料複製於另一位置並將 自第—位置抹除有關。 、 ▲另-項傳統磨細勻處理係有關容許區塊磨損。—旦區塊已 ,政磨知’分配^此魏塊之扇區可藉由將與此等顧有關之位 益法、方、備用區域而再分配,一旦儲存扇區之區塊已磨損或變為 其^用。由於備職域或區塊之數目係受到限制且有價值,故 直存有與热法使用之區塊有關之扇區可被對映之備用 1261168 區域。此外’-般而言,於區塊變為無法使用後之有效再對映扇 區僅容許整體快閃記憶體系統之性能退化。 因此,吾人所欲者為用以有效且實質上透明地於快閃記憶體 儲存系_實施磨損調勻之方法與設備。亦即,吾人所欲者係可 促進與快閃記憶魏存系财關之實體位置之更為平均之磨損 而無需大量使用計算資源的系統。 、 【發明内容】 本發明係有關於將抹除次數儲存於非依電性記憶體裝置之 抹除次舰塊(ECB)之系統與方法。根據本伽之—態樣,非依 電性記憶體之資料結構(例如ECB)包括可提供指示非依電性記憶 體之數個輯的第—區塊已被抹除之次數的指示的第 器。此資料結構亦包括排置為含有與非依電,_體之區财關 之資訊的標頭。於—實施例中,此資料結構亦包括-可提供指示 數個區塊之第二區塊係無法使用之指示的第二指示器。於另—者 施例中’此標軌純錢個區塊之每—區塊已 1 數的平均抹除次數。 十勺久 維持包括與非依電性記憶體系統之實體區塊之可用壽命有 電邮崎置之區塊可容許即使係、抹除實體 塊錄區塊之#命可更騎效率地判定。詳言之,藉由將每 f斤有具有_抹_之她塊之抹除次數儲存於抹除I 數區塊,由將可識別特定區塊已被抹除之次數的指示器健存 於抹除次數區塊’實質上任何區塊之概讀可藉由自抹除次數 1261168 區塊讀取適當之抹除她人㈣敏。耻,給定區塊已經歷之 抹除週期次數可輕易地確定。特定區塊是否已無法使用之指示, 堵如具紅廠觀或线缺陷,亦可_細抹除次數區塊以使 其可輕易判定特定區塊是否可使用。 根據本發明之另—雜爾於細_憶體裝置之 抹除次數區塊包括具有供非依電性記憶體之第—實體區塊用之 第-識別器的第-頁。此第—識別器可識別第—實體區塊已被抹 '、人數此抹除-人數區塊亦包括具有指示雜紐記憶體之實 月豆區塊已被抹除之平均次數的次數的第二頁。 方、貝施例中’第-頁係被劃分為數個位元組群組,使得第 一位元組群組包括第—識別器。於此實施例中,數個位元組群組 中之每一者皆可包括約3位元組至約4位元組。 根據本發明之另-態樣,非依編_純包括具有數個 區塊之非依紐記龍、綠記憶體、及職指㈣統記憶體之 包括於數舰塊之每_可龍塊6被抹除之次數魏置。於一實 施例中,系統亦包括用以指示系統記憶體之包括於於數個區塊之 每一區塊已被抹除之平均次數的裝置。 於閱讀下文之詳細·及研制式之各_錢,本發明之 此等及其他優點將更為清楚。 圖式簡單說明 藉由參考附隨圖式及下文之詳細說明可對本案有最佳之瞭 解,其中: 第關係根據本發明之一實施例之包括非依電性記憶體裝 置的一般主機系統之圖式表示。 10 1261168 一實施例之諸如第la圖的記憶體裝 示。 第lb圖係根據本發明之 置120之記憶體裝置之圖式表 示 第圖係包括置入式非依 電性記憶體之主機系統之圖式表 第2圖係根據本發明之— 果施例之快閃記憶體的部份之圖式 表示。 第3圖係根據本發明之〜麻 、 貝施例之說明與處理和快閃記憶體 系統有關之擁化要求有關之步驟的處理流程圖。 弟4圖係根據本發明之—者 灵施例之况明與處理靜態區塊之方 法有關的步驟之處理流程圖。 第5a圖係根據本發明之-實施例之系統記憶體的圖式方塊 圖表不。 第5b圖係根據本發明之_眘^丨 豕个U(貫補之正常區塊、最不常抹除區 塊、及最常抹除區塊之圖式表示。 第6圖係根據本發明之_實施例之用以於整體記憶體系統實 施區塊調換/麟以料區塊之磨敎解均的方法蝴式表示。 第7圖係根據本發明之一實施例之系統架構之圖式方塊圖表 示。 第8a圖係根據本發明之一實施例之抹除次數區塊之圖式表 示。 第8b圖係根據本發明之一實施例之諸如第如圖之抹除次數 區塊800之頁810a的抹除次數區塊之一頁的圖式表示,該頁係實 質地劃分為位置。 第8c圖係係根據本發明之一實施例之諸如第8a圖之抹除次 1261168 數區塊800之頁810a的抹除次數區塊之一頁的圖式表示,該頁係 實質地劃分為位元組。 第8d圖係根據本發明之一實施例之諸如第8a圖之抹除次數 區塊800之頁810a的抹除次數區塊之一頁的圖式表示,其含有抹 除次數及指示特定區塊係無法使用之入口。 第9圖係根據本發明之-實施例之諸如第_的抹除次數區 塊800之標頭820的抹除次數區塊之標頭的圖式表示。 第1 〇圖係說明根據本發明之一實施例之當非依電性記憶體 系統之非依·記舰絲_次格式化時,與初始化抹除次數區 塊之方法有關之步驟的處理流程圖。 、第11_說雜據本發明之—實施例之與響應於初始化要 求、更新抹除次數區塊之方法有關的步驟的處理流程圖。 第12圖係說明根據本發明之一實施例之獲得供備用區塊用 之抹除次數的方法㈣的步_處理流程圖。 【實施方式】 車父佳實施例之詳細說明 決門疏肢儲存系統内之非依電性記憶體 地規劃與抹除,_ — 子L訂重稷 -欠數一—「 “ §母—區塊於磨損前僅可抹除有限之 統之整二損?:與包括此磨損㈣ h政。卩份有_性能之腿化發生,且儲存 此部份之資料可能;眚生丑堵存於 失,/、亦可能無法儲存資料於此部份。 二: 曰加快閃記憶體儲存系統内之區塊磨損 性’區塊應更為平均地利 之4 精由手握母一區塊已磨損之次數, ]2 1261168 例如經由利用抹除次數,系統内之記憶體可更為平均地使用。抹 除次數管理技術可將掌握特定區塊已被抹除之次數之抹除次數 儲存於與此區塊有關之冗餘區域。圖表可被建置於實質地致動使 用中之區塊以有效地將此等區塊與具有相對高抹除次數之區塊 及具有相對低抹除次數之區塊分離的系統記憶體内。當使用中之 區塊被抹除時,此區塊可適當地被Γ增加」至具有相對高抹除次 數之區塊圖表或具有相對低抹除次數之區塊圖表中之任一者。同 樣地,區塊可自具有相對高抹除次數之區塊圖表或具有相對低抹 除次數之區塊圖表中之任一者「移動」至區塊對映圖表,亦即一 組使用中之區塊圖表,以實質地替換已自區塊對映圖表再分配之 任意區塊。 藉由分類區塊,區塊可更為平均地利用,如同每一區塊可更 為有效地管理以平均與此等區塊有關之磨損。更詳而言之,將區 塊分類為圖表可使具有低抹除次數之區塊與具有高抹除次數之 區塊更為輕易地被識別,且因此未利用明顯數量之計算資源。因 此,磨損調勻之發生相對地有效率。因而,快閃記憶體系統之旁 命可實質地延伸而未明顯地影響快閃記憶體系統之性能。 為促進區塊之分類,抹除次數區塊可被分派於快閃記憶體。 此區塊可被排置為含有實質地可被用以儲存資料於快閃記憶體 之所有區塊之抹除次數。當區塊被抹除時,此區塊之抹除次數通 常被抹除。藉由實質地將具有相關抹除次數之所有區塊之抹除次 數儲存於抹除次數區塊,抹除區塊之抹除次數可輕易地被獲得, 例如,藉由自抹除次數區塊讀取抹除次數。 快閃記憶體系統,或更,般言之,可自實體區塊之更新索引 13 1261168 之使用獲得利益之非依紐記憶體裝置,—般而言包括快閃部 體卡及晶片組。通常,快閃記憶體系統係被用以與主機系統一起 使用以使此主機系統可«料寫人快閃記憶體系統或自快閃記 憶體系統讀取資料。^而,某些快閃記憶體系統包括置入式快閃 記憶體及執行於主機上以實質地作用為供置入式快閃記憶體用 之控制is之軟體。初始地參考第la圖,其將制包括諸如緊密快 閃記憶體(c,aetFlash Mem。祈之雜紐記賴裝置^ 般主機系統。主機或電腦系統卿一般而言包括容許微處理哭 順、隨機存取記憶體(RA寧2、及輪入/輸出電路116通信之: 統匯流排刪。應瞭解者為,主«統⑽可-般地包括其他構 件’例如因供說明之故而未顯示之顯示器裝置及網路裝置。 一般而言’域純卿可她包括(但不限於)靜態影像資 说、音頻賴、及視頻影像資訊特訊。此種魏可即時捕捉, 並以無線方式傳送至主機系統励。在主機系統觸可實質地為任 意糸統的同時’主機系統觸通常係為諸如數位相機、視頻攝影 機、蜂巢式通絲置、音麵放器、或__。然而,鱗 解者為’―般而言’主餘_可實質地為可儲存資料或資訊, 及檢索資料或資訊之任意系統。 應瞭解者為,主機系、统廳亦可為僅捕捉資料,或僅檢索資 料之系統。亦即,於—實施财,主㈣統觸可為儲存資料之 專用系統’或主機㈣可為讀取_之專m藉由釋例, 主機系統卿可為射雜“麵射料之記紐寫入器。任 擇地,主勤統卿可為諸如騎係排置材讀取或檢索資料, 且未捕捉資料之MP3播放器之裝置。 14 1261168 在戶'施例中係為可移除之非依電性記憶體裝置之非依電 性記憶體裝置職被排置材與睛陶介接以儲存資訊。任 廷輸入/輸出電路區細可容許非依電性記憶體裳置则接地 與匯流卿4介接。當以前述方式實施時,輸人/輸出電路區細 係作用為可減少匯流卿4之負載,如同熟於此技者可瞭解者。 非依電性記憶«置1題_依紐記龍12級任選記憶體 亂糸統m。於-實_中,雜記憶雜_可實施於 4晶片或晶粒上。任擇地,非依電性記憶體裝置⑽可實施於 :多晶片模組,或可形成―晶片_可—起制以作為非依電性 。己umi2〇之多個分散構件上。非依電性記憶體裝置〗2〇之一 實施例將參考第關於下文作更為詳細之說明。 立非依電性記憶體124,例如諸如财如快閃記憶體之快閃記 ’係排4為可儲存:諸,使得㈣可於需要啸存取及讀 f存;非依笔性5己丨思體124之資料亦可於適當時抹除,雖然 應瞭解者為’非依電性記憶體124内之某些資料係為不可抹除。 儲存貝料、讀取㈣、及抹除資解處理-般而言係由記憶體控 制系統128所控制’或於未存有記憶體控制系統丨28時,藉由以微 處理器卿犧行之軟體控制。雜m記鐘m之操作可藉由 本質地令麵紐記憶體m之顧更騎質地且平均地磨損而 加以官理,以使非依電性記憶體124之壽命可實質地最大化。 非依甩性屺憶體裝置120已大致地說明為包括任選記憶體控 制系統128,亦即控制器。通常,非依電性記憶體裝置120可包括 七、非依毛丨生5己憶體124用之分離晶片,且記憶體控制系統128,亦 即控制器發揮功用。藉由釋例,於包括(但不限於)PC卡、緊密快 15 1261168 閃記憶體卡、多媒體卡、及保全數位卡之非依電性記憶體裝置包 括可貝施於分離晶片之控制器的同時,其餘非依電性記情體裝置 可不包括實施於分離晶片之控制器。於非依電性記憶體裝置12〇 並未包括分離記憶體及控繼晶片之—實_中,記憶體及控制 裔功能可集積於單一晶片,如同熟於此技者所瞭解者。任擇地, 記憶體控制系統128之功能性可藉由微處理器1〇8而提供,如同上 文所述之非依電性記憶體裝置120並未包括記憶體控制器128之 實施例。 蒼考第lb®,根據本發明之—實施例,非依電性記憶體裝置 Π0將更為詳細地制。如同上文職明者,雜紐記憶體裝 置120包括非依電性記憶體124且可包括記憶體控制系統⑶。雖 然於記憶體124係為諸如置入朗娜裳置時,非依電性記憶體装 置120可不包括控制系統128,但記憶體124及控制系統128,或控 制器可為非依·記憶體裝置12()之主要構件。記憶如何為形 成於半導體基板上之記憶體晶胞陣列,其中,資料之_ 元係藉由將電狀二錢多鱗中之—者儲存於記憶體晶胞之 個別儲存元件_存於個別記㈣晶胞。非依紐快閃電氣可抹 除唯項記㈣(EEPRQM)縣供此⑽之常見形式記憶體 釋例。 當以前述方式實施時,控制系統⑶係經由匯流排is而與主 機電腦或其他使用記憶體系統之系統通信以儲存資料。一妒而 言,匯流係為⑴圖之匯流獅4之部份。控制系統12^控 制可包括記憶體晶胞陣助之記憶體124之操作以寫人藉由 所提供之㈣、讀取主機所要求之㈣、並實施各觀作記憶體 16 1261168 124之雜務功能。一般而言,控制系統128包括具有相關非依電性 幸人體纪憶體、各種邏輯電路、及類似物之一般目的微處理器。一 或多個狀態機亦經常被包括以控制特定常式之性能。 記憶體晶胞陣列11通常係藉由控制系統128或微處理器1〇8 而經由位址解碼器17定址。解碼器17應用正確電壓於陣列n之閘 極與位元線以規劃資料而自藉由控制系統128定址之記憶體晶胞 群組讀取資料或抹除藉由控制系統128定址之記憶體晶胞群組。 額外電路19包括控制取決於被規劃於晶胞之定址群組之資料而 應用於陣列元件的電壓的規劃驅動器。電路19亦包括感應放大器 及其他自兄憶體晶胞之定址群組讀取資料所需之電路。欲規劃於 陣列11之資料,或最近自陣列1丨讀取之資料通常係儲存於控制系 統128之緩衝器記憶體21。控制系統128通常亦含有各種供用以暫 時地儲存命令及狀態資料與類似物之暫存器。 陣列11被劃分為大量之區塊〇(BLOCK 0)至區塊n(BLOCK N) 記憶體晶胞。如同對快閃EEPROM系統而言係為普通的,區塊通 常係抹除之最小單元。亦即,每一區塊含有最小數目之一併被抹 除之記憶體晶胞。每一區塊通常係劃分為數頁,如第2圖所說明 者。頁可為規劃之最小單元。亦即,基本規劃操作將資料寫入記 憶體晶胞之最小一頁或自記憶體晶胞之最小一頁讀取資料。一或 多個資料扇區通常係儲存於每一頁内。如第lb圖所示,一扇區包 括使用者資料及負擔資料。負擔資料通常包括自扇區之使用者資 料計异之錯誤校正碼(ecc)。當資料係被規劃於陣列η時,控制 系統128之部份23可計算ECC,並於資料係自陣列11讀取時,檢查 ECC。任擇地,ECC係儲存於與其所附屬之使用者資料不同之頁 17 1261168 或不同之區塊。 [on X, M2位元組。負擔資料通當 、羽品通常係為 。貝*通“糸為頜外之16位元組。資料之 最㈣係她每―頁,但:錢多祕可細形成 :。任心數目之頁可形成—區塊。藉由釋例,區塊可自8 頁至512、順或更多頁而形成。區塊數目係被選擇以提 記憶體所欲之資料儲在交旦涵a, /、示、、死 /州精Μ。陣列11通常係被分割為數個次陣列 ..、、、不母-人陣列含有區塊比例,其於某種程度上係彼此 立地操作明加各種記髓操佩行之平行性贿。數個次陣列 之使用之-釋例係說明於美國專霉舞,職,該專利之 内谷在此係作為本發明之參考資料。 、於一實施例中,諸如财助快閃記憶體之非依電性記憶體係 被置入於4如主機系統之系統中。第le圖係包括置人式非依電性 記憶體之主機系統之圖式表示。—般而言,主機或電腦系統150 包括容許域系統15〇之其他構件(未赫)之微處理器158、 RAM162、及輸入/輸出電路166通信之系統匯流排⑼。諸如快閃 記憶體之·記顏174料資職爵於主機魏15〇。介 面180可破提供於非依電性記憶體m及匯流排⑼間,以令資訊 可自非依电H思體174言買取及將資訊寫入非依電性記憶體Μ。 非依電性記憶體m可藉由有效地執行被排置為可控制非依 電性記憶體m之倾或補巾之—者或全部的微處理 裔158而 加以官理。亦即,微處理器⑸可執行諸如軟體碼裝置或勒體碼 裝置等容許控制非依祕記鐘m之碼裝置(未顯示)。可為與微 處理J58内部之CPU封裝之快閃記憶體、分離快閃以⑽、或位 18 1261168 於非依電性記憶體m内部之此等碼裝置,如將於下文說明者, 可令非依記憶體17纳部之實體區塊被定位址,且可將資訊 储存於實體區塊、可自實體區塊讀取資訊、及自實體區塊將資訊 抹除。 、 當非依電性記憶體m之諸如儲存元件之特定區段係連續地 被規劃,例如重複地寫入及抹除時,此特起域—般而言較未被 連續規劃之區域更快磨損。為有效地「平均」非依電性記憶體124 内柯區域之磨損,磨損調勻可實質地自動實施,以較少規劃被 連續規劃之區域’同時’可較多規劃未被連續規劃之區域。 -般而§ ’為實施磨損調勻,諸如與被重複賴之實體位置 有關之-組祕之區塊可以與未被重複規劃之—實體位置有關 之區塊纖。亦即’已賴且因此重複抹除之實體區塊可以與較 少規劃及抹除之實體區塊調換。 於本發明之一實施例中,為使其可輕易地判定特定實體區塊 疋否已重衩規劃及抹除’抹除次數可與此區塊儲存。亦即,掌握 區塊被抹除之次數之計數器可被維持且於每次區塊被抹除時增 大。此種抹除次數可被用以促進特定區塊是否應以另一較少抹除 之區塊調換之判定。第2圖係根據本發明之一實施例之快閃記憶 體之部份的圖式表示。快閃記憶體2〇〇可被分割為頁204。每-- 般而言含有約512位元之使用資料之頁2〇4有效地包括冗餘區域 206,例如頁204a包括冗餘區域2〇6a。每一冗餘區域2〇6或附加區 域可包括高達約16位元之資訊,其通常包括(但不限於)群組識別 器216、更新索引212、及抹除次數214。 通常,任意數目之頁204係包括於區塊21〇内。為方便說明之 ]9 1261168 故,頁204a、204b係顯示為已包括於區塊210内,雖然應瞭解者 為,包括於區塊21之頁2〇4之數目可廣泛地變更。於此說明實施 例中’區塊210可排置為包括約32頁。舉例言之,當快閃記憶體 200包括約512百萬位元(Megabits、Mb)時,快閃記憶體2〇〇可有效 地被分割為約32頁,每頁4096區塊。 如前所述,抹除次數214可於每次使用者資料自相關區塊抹 除時增大。舉例言之,與區塊210有關之抹除次數214可於每次自 區塊210抹除資料時增大。由於被包括於區塊21〇之每一頁2〇如及 204b—般而言具有抹除次數214,與每一頁2〇4a&2〇4b有關之抹 除次數214可於區塊210被抹除時增大。 一般言之,當含有資料之區塊被抹除時,區塊之資料區域及 冗餘區域兩者皆被抹除或清空。抹除區塊通常被增加於備用區塊 儲存區,其含有具有較諸如其侧表之抹除區塊的其他抹除區塊 更小之抹除次數的抹除區塊。此備用區塊圖表可本質地為最不常 抹除區塊圖表,其將於下文說明。於本發明之一實施例中,具有 較大抹除次數之抹除區塊被增加於含有抹除區塊之儲存區,此等 抹除區塊含有較其他圖表之抹除區塊為蚊抹除讀。含有具有 較大抹除次數之抹除區塊之儲存區可為最f抹除區塊圖表,其亦 將方'下文况明。剛抹除區塊之抹除次數被加丨且依據此次數值儲 存於最不常抹除區塊圖核最f抹除區塊圖表巾之一者。 回至第2圖,諸如抹除次數214之抹除次數可於初始化要求期 間被存取糊^之,初始化要求可於諸如包括置人式快閃記情 體之系統㈣統進行電力開啟時產生、之備份區塊缺^ 時產生、當使用者要求平衡區塊分派時產生、及當使用者要求區 20 1261168 塊使用更為平均時產生。第3圖係一處理流程圖,其說明根據本 發明之一實施例之與快閃記憶體系統有關之初始化要求之處理 有關的步驟。一般言之,初始化要求可藉由使用者而初始化或實 貝地自動藉由與快閃s己憶體糸統有關之控制器,例如週期性地咬 於觸發條件符合時而初始化。響應於初始化要求之處理3〇〇開妒 於步驟304,其中,初始化要求係有效地接收。初始化要求可夢 由與欲初始化之快閃記憶體通信之控制器或處理器接收。舉例言 之,此要求可由使用者經由電力開啟之主機或於欲平衡區塊分派 時提供。 一旦初始化要求被接收,平均抹除次數可於步驟306獲得。 於一實施例中,平均抹除次數係儲存於寫入於與此系統有關之 NAND記憶體内之抹除次數區塊。含有平均抹除次數及每一區塊 之抹除次數之抹除次數區塊(ECB)係儲存於快閃記憶體區塊。應 瞭角牛者為,當抹除次數區塊產生時,例如當系統被初始地格式化 時,圖表内之平均抹除次數及每一區塊之抹除次數之值通常被初 始化為零。於獲得平均抹除次數後,實質地供系統内之所有區塊 用之抹除次數可被獲得。如上文與第2圖有關之說明所示,供含 有資料之特定區塊用之抹除次數可被儲存於與此區塊有關之冗 餘區域。因此,獲得實質上供所有含有資料之區塊用之抹除次數 包括存取與每一區塊有關之冗餘區域,並將每一抹除次數儲存於 抹除次數區塊。 於一初始化要求,抹除區塊之抹除次數係自抹除次數區塊獲 得。一般而言,由於區塊之冗餘區域已被抹除,因此抹除次數區 塊保留其值。當整體系統關閉電源時,通常會產生一終止要求, 21 1261168 使知抹除次數圖表可被更新以實質地含有所有區塊之最新抹除 次數。於任何給定時間,區塊歸屬於最常抹除區塊圖表、最不常 抹除區塊圖表、抹除次數區塊、或區塊對映圖表。歸屬於抹除次 數區塊之區塊之抹除次數係儲存於此區塊之冗餘區域。含有資料 之區塊之抹除次數通常歸屬於區塊對映圖表且係儲存於冗餘區 域。由於區塊實際上從未被使用,因此歸屬於區塊對映圖表之抹 除區塊之抹除次數具有零抹除次數。由於此等圖表之每一入口通 苇含有抹除區塊之區塊數目及其抹除次數兩者,因此自最不常抹 除區塊圖表或最常抹除區塊圖表獲得抹除次數牽涉自圖表取得 數值。於初始化要求之處理完成前,抹除次數區塊通常係以所有 區塊之目前抹除次數加以更新。 於步驟320中,區塊對映圖表係分派於諸如主機系統記憒、體 之系統記憶體。如同熟於此技者將可瞭解者,區塊對映圖表可被 排置為可提供邏輯區塊位址(LBA)與實體區塊位址(pBA)間之對 映。此外,最常抹除區塊圖表與最不常抹除區塊圖表亦於步驟32〇 分派。 取常抹除區塊圖表通常係設為或組構為可有效地保持與最 常抹除之抹除區塊有關之資訊。亦即,帛常抹除區塊係排置為可 保持諸如4未除次數及對映資訊等關於具有系統最高抹除次數之 抹除區塊之資訊。類似地,最不常抹除區塊圖表通常係設為或組 構為可供給關於具有最低抹除次數之抹除區塊之資訊。雖然最常 抹除區塊圖表之大小與最不常抹除區塊之大小可廣泛地改變,此 等大小係取決於被指定為最常抹除之區塊數目與被指定為最不 常抹除之區塊數目。通常,最常抹除區塊圖表一般而言係設為可 1261168 供給較最不常抹除區塊圖表更少抹除區塊之資訊 。藉由釋例,最 系抹除區塊圖表可設為約可供給供18個抹除區塊用之資訊,同時 最不常抹除區塊圖表可設為可供給與約7〇個抹除區塊有關之資 況。任擇地’最常抹除區塊圖表可設為約可供給供1〇個抹除區塊 用之貝訊’同時最不常抹除區塊圖表可設為可供給約可供給供50 個抹除區塊用之資訊。 於步驟320分派圖表後,抹除區塊於步驟324被識別。而後, 於步驟328 ’「N」個抹除區塊可被分配予最常抹親塊且本質上 係被分配予最常抹除圖表。於-實施例中,此等「N」個抹除區 塊可為具有最高抹除次數之「N」個抹除區塊,如同比較所有抹 除-人數所判定者。轉地,此等欲儲存於最常抹除區塊圖表之「N」 個抹除區塊可根據與於步驟3〇6所獲得之平均抹除次數進行比較 而判疋。舉例言之,此等「N」個抹除區塊可為具有至少係給定 百^刀比之抹除次數之「N」個抹除區塊,例如約為高於平均抹除 次數之百分之二十五。 一旦最常抹除區塊圖表有效地產生,於步驟332,「Μ」個抹 除區塊可被識別,且有效地分配予最不常抹除區塊圖表。一般而 言,此等「Μ」個抹除區塊可為rM」個與此系統有關之所有抹 除區塊中之具有最低抹除次數的抹除區塊,或者此等「Μ」個抹 除區塊可料有至少絲平均抹除:錄更低之給定百分比之抹 ^次數之「Μ」個抹除區塊。此等「Μ」個抹除區塊可為將於適 當時間分配予區塊對映圖表之有效備用區塊。 剩餘抹除區塊,亦即未分配予最不常抹除區塊圖表或最常抹 除區塊圖表中之任一者之抹除區塊,係隨著步驟336之「未抹除 23 1261168 區塊而为配予區塊對映圖表。換言之,剩餘抹除區塊及含有非與 冗餘區域有關之資料之區塊係與區塊對映圖表有關。 於區塊對映圖表、最不常抹除區塊圖表 '及最常抹除區塊圖 表有效地以諸如具有抹除次數及與對應區塊有關之對映資訊而 產生後,平均抹除次數可於步驟338判定。通常判定平均抹除次 數係有關加總於步驟308所獲得之個別區塊之抹除次數,及將區 塊總數除以總和。 於步驟338所計算之平均抹除次數係儲存於與此系統有關之 抹除次數區塊。如前所述,平均抹除次數係儲存於一寫入於與系 統有關之NAND記憶體之抹除次數區塊。於將此平均抹除次數儲 存於此抹除次數區塊前,靜態區塊或含有資料且具有相對低相關 抹除次數之區塊,可於步驟M2加以處理。與處理靜態區塊之方 法有關之步驟將於下文參考第4圖詳細說明。一旦靜態區塊被處 理’處理初始化要求之處理即已完成。 於與快閃記憶體有關之區塊群組内,於任意給定時間,其經 $存有被抹除之區塊及含有資料,亦即使用者資料之區塊。某些 含有資料之區塊可被考慮為「普通」區塊,同時其他區塊則可被 考慮為靜態區塊。靜態區塊係含有難得改變之資料的區塊。換言 之,靜態區塊很難得被抹除。通常,靜態區塊係與儲存於快閃記 憶體之相對·之文件、儲存於快閃記憶體之可執行程式、或儲 存方、陕閃5己丨思體之作業系統有關。一般而言,靜態區塊具有實質 低方、陕閃έ己憶體内多數區塊之抹除次數的抹除次數。於一實施 例中,右區塊之抹除次數低於與快閃記憶體系統有關之平均抹除 次數之特定百分比,例如約二十個百分比,則含有資料之區塊可 24 1261168 被考慮為係一靜態資料。 由於靜態區塊含有難得改變之資料,因此靜態區塊所含有之 資料可被複製於具有相對高抹除次數之區塊。亦即,當特定實體 區塊之内谷係相對地靜態且因此一般而言係未改變時,此等内容 可有效地再分.具有相對高之抹除次數之相異實_塊,以致 動具有相對低抹除次數之原始實體區塊而以之儲存較常改變之 内容。參考第4圖,與處理靜態區塊有關之步驟,亦即第3圖之步 驟342將根據本發明之—實補詳細·。處轉統之靜態區塊 之處理342開始於步驟姻,其中,諸如區塊「A」之非抹除區塊 之抹除次數齡取。-旦區塊「A」之抹除次數被存取,與和系 統有關之平均抹除次數進行比較之非抹除區塊「A」之抹除次數 是否為非常低有關之判定於步驟4〇8產生。 雖然相較於平均抹除次數,非抹除區塊「A」之抹除次數是 否較低之判定可實質地根據任何適當之鮮而產生,於二實施例 中’此判定係根據區塊「A」之抹除次數是否具有—值小於與平 均抹除次數之部份有關之值而產生。舉例言之,纽除次數掃 平均抹除次數之特定百分比時,區塊「A」之抹除次數可被考慮 為較低。 若其於步驟408判定區塊「八」之抹除次數相較 讀並非非常低,祕指示區塊「A」大概並雜態區塊。應瞭 解者為’即使並未將區塊「A」之抹除次數考慮騎常低,區塊 「A」仍可為靜態區塊,於此種情形之區塊「A」之 有效地不觸發區塊「A」與另一區塊之調換。據此,處理靜態區 塊之處理即告完成。 25 1261168 任擇地,若其於步驟408判定相較於平均抹除次數,區塊「A」 之抹除次數係相當低,則其意指可將區塊「A」之内容寫入具有 相對南之抹除次數之區塊,使得具有其低抹除次數之區塊「A」 可自由儲存改變相對地頻繁之資料。換言之,當區塊「A」之抹 除次數相較於平均抹除次數係相當低時,其指示區塊「A」係為 月£塊。因此’處理流程自步驟4〇8移動至步驟412,其中,區 塊「Α」係被識別為靜態區塊。一旦區塊「Α」被識別為靜態區 塊,亦即當以步驟416之最常抹除區塊圖表識別時,區塊rB」可 自最常抹除區塊群組獲得。 於區塊「Β」被獲得後,區塊「Α」之内容於步驟420被複製 於區塊「Β」。亦即,於步驟420,區塊「Α」含有之使用者資料被 複製於區塊「Β」。一旦區塊「Α」之内容被複製於區塊rB」,區 塊「Α」即於步驟424被抹除。通常,當區塊rA」被抹除時,與 區塊ΓΑ」有關之抹除次數被增大。一諸如區塊「c」之區塊可於 步驟428自最不常被抹除區塊群組移動至最常抹除區塊群組,使 得區塊「C」之關聯性可自最不常抹除區塊圖表有效地改變為最 系抹除區塊圖表。換言之,區塊「C」係與最不常抹除區塊失去 關耳外並與表常抹除區塊圖表產生關聯。此種移動可容許最不常抹 除區塊圖表内之空間有效地開放以供給具有低抹除次數而因此 為系統之最不常抹除次數區塊中之一者的區塊rA」。通常,區塊 「C」係最不常抹除區塊圖表中具有最高抹除次數之區塊。 於將區塊「C」自最不常抹除區塊群組移動之前,或令區塊 C」與隶不常抹除區塊圖表失去關聯之前,處理流程自步驟 移動至432,其巾,區塊「Α」係於步驟432有效地自區塊對映圖 26 1261168 表移動至最不常抹除區塊圖表。而後,於步驟434,包括先前含 於區塊「A」之内容之區塊「B」與區塊對映圖表產生關聯。如熟 於此技者將可瞭解者,塊「B」「移動」至區塊對映圖表通常 包括將與ϋ塊「A」有關之邏輯區塊位址之職更新為目前之與 區塊「Β」«。當附屬於區塊「c」之資訊係呈現於最常抹除區 塊圖表、附屬於區塊「B」之資訊係呈現於區塊對映圖表、且附 屬於區塊「Α」之資訊係呈現於最不常抹除區塊圖表時,即完成 靜態區塊之處理。應瞭解者為,處理342可重複至與系統有關之 所有靜態區塊實質上已被識別及處理為止。 -般而言,當減化要求被傳送至整體㈣記憶體系統時, 區塊對映圖表、最不常抹除區塊圖表、及最常抹除區塊圖表可於 諸如第la圖之RAM112之系、统記憶體魅。為建立此等圖表,空 間可先被分派於系統記憶體以供給此等圖表。 如上文所述,當其為平均抹除次數時,區塊對賴表、最不 常抹除區塊圖表、及最常抹除區塊圖表被產生於系統記憶體。平 均抹除次數及每-區塊之抹除次數亦被寫人抹除次數區塊。第^ 圖係根據本發明之-實施例之系統記憶體的圖式方塊圖表示。系 統記憶體454及快閃記憶體460係被包括於整體系統,且舉例而言 可有效地為記憶體卡構件或主齡㈣件,射,諸如na助記 憶體之快閃記憶體460係被置入。系統記憶體454係被排置為可儲 存區塊可與之產生關聯之區塊對映圖表462。通常,區塊對映圖 表462可被使用以使LB a與和快閃記憶體46〇有關之實體區塊產 生關聯。 系統記憶體454亦可保持如同區塊對映圖表術之―般而言 27 1261168 係響應於初始化要求而形成之最不常抹除區塊圖表條及最常抹 除區塊圖表47G。被排置為可勝_記憶體之區塊之平均抹 除-人數之平均抹除:欠數474係於整體快閃記憶體純被格式化時 產生。於-貫施例巾,抹除次數區塊4_被排置為可實質上含 有快閃記憶體46G内之所有區塊之抹除次數。於每次初始化要求 產生時’更新平均抹除次數可被計算,並儲存於抹除次數區塊 480 〇 第5b圖係根據本發明之一實施例之「普通」區塊群組、最不 常抹除區塊群組、及最常抹除區塊群組之圖式表示。區塊502之 群組包括一般而言可為含有使用者資料之普通或靜態區塊之區 塊514、或可被抹除但非為最常抹除區塊或最不常抹除區塊中之 任一者之區塊514。一般而言,於最常抹除區塊51〇之群組包括具 有整體系統内之抹除區塊之最高抹除次數的區塊522的同時,最 不常抹除區塊506之群組一般而言包括具有整體系統内之抹除區 塊之最低抹除次數的區塊518。一般而言,區塊518係有效地被作 為備份區塊使用。 當區塊514被抹除時,其可判定抹除區塊514是否具有相對低 之相關抹除次數或相對高之相關抹除次數。當抹除區塊514具有 相對低之相關抹除次數時,抹除區塊514可被加於最不常抹除區 塊506之群組。另一方面,當抹除區塊514具有相對高之相關抹除 次數時,抹除區塊514可被再分配予最常抹除區塊510之群組。 實質上可為任意大小之最不常抹除區塊506之群組可為一排 序群組。亦即,區塊518可實質地根據抹除次數而加以排序。此 排序通常係反映於含有與區塊518相關之入口之對應最不常抹除 28 1261168 區塊圖表(未顯示)。舉例言之,於每次新區塊518被移入最不常抹 除區塊m之群組、或增加於料塊撕之雜、或與最 不吊抹除區塊5〇6之群組產生關聯時,區塊518可本質地根據抹除 人數而排序’使彳于最不常抹除區塊5Q6之群組内之最不倾除區 塊518可為欲再分配之下一區塊518,如同群組5〇2之例。換言之, 當需要欲複製資料之新區塊時,區塊518之最不f抹親塊训係 使用最不常抹除區塊圖表而加以識別,且自最不常抹除區塊5〇6 之群組取&。通f,當含有無制f要之資料的區塊5M被抹除 時,此區塊514可被儲存於最不常抹除區塊5〇6之群組,且最不常 抹除區塊圖表可據此而更新,亦即,對應於增加區塊之入口可被 包括於最不常抹除區塊圖表。 如同儲存於最不常抹除區塊506之群組内之區塊518,最常抹 除區塊510的群組内之區塊522亦可實質地根據抹除次數而加以 排序。通常此排序係藉由排序用以識別區塊522之最常抹除區塊 圖表(未顯示)之入口而實施。於一實施例中,與區塊522有關之平 均抹除次數可被計算,亦即,供最常抹除區塊51〇之群組用之平 均抹除次數可被判定。當來自群組5〇2之區塊514被抹除,且發現 抹除區塊514之抹除次數超出供最常抹除區塊51〇之群組用之平 均抹除次數一給定百分比,例如超出約二十個百分比時,抹除區 塊514可被加入最常抹除區塊51〇之群組。當新區塊522係有效地 加入最常抹除區塊510之群組時,最常抹除區塊51〇之群組内之具 有最低抹除次數之區塊522可被再分配於群組502。此種再分配通 常係藉由更新相關區塊對映圖表、最不常抹除區塊圖表、及最常 抹除區塊圖表(未顯示)而反映。 29 1261168 群組502、最不常抹除區塊506之群組、及最常抹除區塊51〇 間之區塊之调換及更新一般而言係發生於被包括群組5〇2之區塊 514應被抹除或更新時。任擇地,區塊之調換或更新可實質地發 生於欲分配備份區塊以供群組502使用之任一時間。接著參考第6 圖為使區塊之磨損更為平均而實施於諸如具有置入式快閃記憶 體之主機系統的整體記憶體系統内之區塊調換或更新之方法將 根據本發明之-實施例說明如下。實施區塊調誠更新之處理 _係開始於步驟6G4,其中,諸如區塊「γ」之區塊係自區塊對 映圖表而「獲得」或使用區塊對映圖表而識別。所獲得之區塊係 為欲有效地自用以複製或更新其内容之區塊對映圖表調換之區 塊。 一旦區塊「Y」被獲得,諸如區塊「X」之區塊被有效地於 步驟608自最不常抹除區塊圖表中獲得。亦即,備份區塊係自最 不常抹除區塊之群組使用最不抹除區塊圖表識別適當備份區塊 而獲得。一般而言,區塊「X」係為最不常抹除區塊群組中具有 最低抹除次數之區塊,雖然應瞭解者為區塊Γχ」可實質地為任 意與最不常抹除區塊有關之區塊,且因此可為最不f抹除區塊圖 表。儲存於區塊「Y」之資料内容,或欲替換區塊「γ」之原始 内容之新内容係於步驟612複製於區塊Γχ」。 於將區塊「Υ」之内容複製於區塊rX」後,於步驟616,區 塊「X」係有效地移入區塊對映圖表,或與區塊對映圖表產生關 聯。換言之,與區塊「γ」及區塊rx」有關之對映係有效地更 新,使得先前對映於區塊「Υ」之LBA被再對映於區塊「χ」。當 區塊「X」係有效地移入區塊對映圖表時,區塊「γ」於步驟62〇 30 1261168 被抹除。詳言之,儲存於區塊「γ」之諸如使用者内容之資料内 容可使用實質上任意適當之技術加以抹除。而後,儲存於與區塊 Υ」有關之几餘區域之與區塊「Υ」有關之抹除次數係於步驟 624被增大以指示區塊「γ」已再次被抹除。於一實施例中應瞭解 者為,有效地儲存於抹除次數區塊之供rY」用之抹除次數可被 更新。 於步驟628中,最常抹除區塊圖表中具有最低抹除次數之區 塊被識別。如上所述,於一實施例中,於最常抹除區塊圖表所參 考之區塊係根據其個別抹除次數而排序。將區塊排序可包括根據 區塊之抹除次數定位最常抹除區塊圖表内之此等區塊之參考資 料。因此,具有最低抹除次數之區塊之識別一般而言係有關於存 取最常抹除區塊圖表内之排置為可供給具有最低抹除次數之區 塊參考資料之位置的區塊參考資料。 一旦於最常抹除區塊圖表所參考之具有最低抹除次數之區 塊被識別,處理流程自步驟628移動至步驟632,其中,其可判定 區塊「Υ」之抹除次數是否大於在最常抹除區塊圖表參考之具有 最低抹除次數之區塊的抹除次數。若其判定區塊rY」之抹除次 數並未大於在最常抹除區塊圖表參考之具有最低抹除次數之區 塊的抹除次數,則其係指示區塊「Υ」並未被考慮為係經常抹除 的。據此,處理流程自步驟632移動至步驟636,其中,區塊「γ」 係被移至最不常抹除區塊之群組且有效地移至最不常抹除區塊 圖表,亦即,對應於區塊「Υ」之入口係被增加於最不常抹除區 塊圖表。應瞭解者為,於一實施例中,將區塊「Υ」移至最不常 抹除區塊之群組可包括使用每一區塊之抹除次數實質地排序最 31 1261168 不常抹除區塊圖表之所有區塊參考資料。於區塊「Y」係有效地 移至隶不常抹除區塊圖表後,調換區塊或更新區塊之處理即為完 成。 返回至步驟632,若步驟632判定區塊「Υ」之抹除次數超出 與最常抹除區塊圖表有關之最低抹除次數,其指示為區塊「γ」 應移至最常抹除區塊之群組且有效地移至最常抹除區塊圖表。為 使其有空間可供區塊「Υ」於最常抹除區塊圖表中被參考,諸如 於最常抹除區塊圖表參考之具有最低抹除次數之區塊的區塊需 要有效地自隶常抹除區塊圖表中移除。因此,於步驟64Q中,於 敢系抹除區塊圖表參考之具有最低抹除次數之區塊係被移至最 不常抹除區塊之群組,且有效地移至最不常抹除區塊圖表。將區 塊移至最不常抹除區塊之群組可包括根據每一區塊之抹除次數 排序最不常抹除區塊圖表之區塊參考資料。 於最常抹除區塊圖表中具有最低抹除次數之區塊被有效地 自最常抹除區塊圖表移動後,於步驟644,區塊Γγ」係有效地移 動至最常抹除區塊圖表。於一實施例中,將區塊「γ」移動至最 苇抹除區塊且因此有效地移動至最常抹除區塊圖表可包括根據 每一區塊之抹除次數排序包括區塊Γγ」之最常抹除區塊。當區 塊「Υ」係有效地移至最常抹除區塊圖表時,調換或更新區塊之 處理即已完成。 一般而s,與維持圖表、掌握初始要求、及實施磨損調勻等 有關之諸如響應於雛錢新區塊之要求的魏㈣以諸如程 式碼裝置絲體等軟體喊提供予主齡統。與提财主機系統 以致動磨損調自之發生的軟體或滅有關之適#线架構之一 32 1261168 實施例係顯示於第7圖。一般而言,系統架構包括數種可包括 唯不限於)應用介面模組704、系統管理者模_8、資料管理者 模组712、資料完整性管理者模组716、及裝置管理者與介面模組 72轉模組。—般而言,純親可使關由諸如第la圖之處 理器108之處理器存取之軟體碼裝置或韌體實施。 一般而言’應用介面模組704可排置為可與主機、作業系統 或使用者直接通信。應时面模組綱亦可婦統管理者模組观 及資料管理者池712通信。當使用者要求讀取、寫人、或格式 化快閃記鐘時,使用者傳送要求至健系統,此等要求被送至 應用介面模組7〇4。取決於此等要求,應用介面模組剔將此等要 求導至系統管理者模組7〇8或資料管理者模組M2。 系、、先&理者模組708包括系統初始化次模組a*、抹除次數區 塊管理次模組726、及功率管理區塊次模組73()。—般而言,系統 初始化次模組724係排置為可致動欲處理之初始化要求,且通常 與抹除次數區塊管理次·726通信。於_實_巾,系統初始 化人模、、且724谷指塊之抹除次數被更新,且係實質地用以產生 隶不常抹除區塊圖表及最常抹除區塊圖表。 抹除次數區塊管理次模組726包括儲存區塊之抹除次數的功 能性’及計算平均抹除讀之魏性,及使用侧抹除次數更新 之功此性。換§之’抹除:欠數區塊管理:域組726有效地容許抹 除次數被分類,且料平均抹除缝被轉。更舞之,於一實 施例中,抹除次數區塊管理次模組726亦於整體系統之初始化要 求期間’實質地同步化抹除次數區塊之所能塊之抹除次數。於 抹除次數區塊管理次·726被排”可將平均抹除次數儲存於 1261168 抹除次數區塊之同時’應瞭解者為,電力f理區塊次模組73〇可 代替而被使用以儲存平均抹除次數。 除與應时Φ触辦通信外,纟統管理者餘亦係與資 料管if者模組712及裝置管理者及介面模助Q。與系統管理 者模組708及應用介面模組7〇4兩者通信之資料管理者模組712可 包括提供頁«塊對映之功能性。f料管理者模組712亦可包括 與作業糸統及槽案系統介面層有關之功能性。 與系統管理者模組7G8、資料管理者?12、及資料整體性管理 者716通信之裝置管理者及介面模組砂通常提供快閃記憶體介 面’且包括與硬體摘要有關之諸如1/〇介面之功能性。資料整體性 官理者模組716可提供其他功能性之ECC掌握。 如上文所述,供非依電性記憶體系統之每一區塊用之抹除次 數可被儲存於抹除次數區塊,此區塊係為儲存於與非依電性記憶 體系統有關之HWAND記憶體内之保籠塊。除每_區塊之 抹除次數外,抹除次數區塊亦可含有平均抹除次數。第%圖係根 據本發明之-實施例之抹除次數區塊的圖式表示。一般而言,抹 除次數區塊800之大小係為可使抹除次數區塊_包括供包括抹 除次數區塊_之整體非依m制之每—區塊,亦即實· 塊用之特定位元數之大小。有效地分料每—區塊之此等位元數 可被選擇為使供-區制之全部抹除:欠數可藉纟鱗分派位元 而供給。於-實施例中,4未除次數區塊可包括供每_區塊用 之約3位元組,此係因一般而言3位元組已足夠供給相當於約十萬 次之抹除讀肖。當3位it崎分舒每—區辦,抑括約細 個區塊,每-區塊具有64頁之512百萬_系統中,抹除次數區 34 1261168 塊800之大小可為可包括諸如約6〇〇〇位元組之約12頁的大小。 抹除次數區塊800包括頁810,如同熟於此技者所將瞭解者, 其經常包括可被用以儲存諸如抹除次數等資料之約512位元組。 當其以此方式顯現時,第一頁81加可被排置為含有供區塊「〇」 至「169」用之抹除次數入口,同時第二頁81%可被棑置為含有 供區塊「170」至「339」用之抹除次數入口。 菖欲禺入或讀取供區塊「1」,亦即,實體區塊「1」用之抹 除次數時,由於第一頁810a之位元組3至5係排置為含有對應於區 塊「1」之抹除次數入口,因此第一頁81如之位元組3至5可被存 取,如同將於下文參考第肋及以圖說明者。 除包括頁810外,抹除次數區塊8〇〇亦包括一般而言係實質地 位於抹除次數區塊8〇〇之任意處之標頭82〇。將於下文參考第9圖 說明之標頭820可為包括與非依電性快閃記憶體有關之資訊的抹 除次數區塊8GG内之-頁,雜電性快閃記碰包括與儲存於頁 810内之抹除次數有關之區塊。 第8b圖係根據本發明之一實施例之諸如第%圖的抹除次數 區塊800之頁810a的抹除次數區塊内之一頁的圖式表示。頁81如 係排置為可保持對應於約100及7〇個實體區塊的入口83〇。當以此 方式顯現時,入口 830含有供區塊用之抹除次數,使得頁“如之 第-入口 8施係排置為可含有供區塊「Q」用之抹除次數,且第 二入口 83_排置為可含有供區塊「1」狀抹除次數。頁810a 之最後入口 830d係排置為可保持供區塊「169」用之抹除次數。 每一入口830包括實質地相同之位元組數。如第㈣所示, 對應於區塊「G」之人口請a可為頁驗之位元組㈣,同時對應 35 1261168 於區塊「2」之入口83〇c可為頁81〇a之位元組6至8。如前所述,雖 然應暸解者為每一入口83〇之位元組數可改變,且因此頁81加之 入口830之數目可改變,每一入口83〇可包括約3位元組。藉由釋 例,於一實施例中,每一入口83〇可包括約4位元組。 於頁810a之每—人口請係排置為含有抹除次數之同時,入 口請可*需要含有鎌讀。舉财之,#狀區顧諸如製 造或工廠缺’無法使用且並無法被寫人或讀取時,此區塊一般 而言將不財抹除她。目此,諸如獅圖之抹除讀區塊卿 -般而言將不具有含有供無法使歷塊用之抹除次數的入口。替 換地,代替保持抹除次數,供無法使用之區塊用之人口咖可保 持排置為可將區塊識別為無法使用之指示器或標籤。 第8d圖係根據本發明之一實施例之例如第如圖之抹除次數 區塊_之頁㈣的抹除次數區塊之—頁的圖式表示,其含有抹 除次數及指示特定區塊係無法使狀人σ。#區塊係可使用或被 寫入或讀取時’-般而言此區塊將具有抹除次數。舉例言之,當 區塊「〇」已被抹除觸次時,被排置騎有對應於區塊「。」二 抹除次數的頁8術之入口8施可含有值「刚」。類似地,當區塊 1」已被抹除30次時,頁810a之入口83%可含有值「3〇」。 若區塊「2」已例如經由儲存於區塊「2」之標藏而被識別為 係無法使狀區塊,而她|挪塊「2」之頁隐之入口驗 可含有排置騎指示區塊「2」係無法使用之標籤。於一實施例 中:入口隱之賊「FF聊」可指示區塊「2」侧工級陷 而無法使用。應瞭解者為任意標射實質地被肋指示區塊係無 法使用。 36 1261168 如月ίι文所述’ 4如第8a圖之抹除次數區塊8〇〇之抹除次數區 士兔通系包括;^頭820 ’其於一實施例中係為含有一般而言與非依 電性記憶體系統之區塊有關之資訊的抹除次數區塊_内之-頁。接著參考第9圖,根據本發明之一實施例之諸如第如圖的抹 除次數區塊8GG之標頭820的抹除次數區塊的標頭將說明如下。可 貝貝地没於抹除次數區塊中之任意處的標頭82〇可包括可被用以 儲存心fl之約512位元。儲存於標頭82〇之資訊通常包括可供安全 檢查用之記號85Ga。除與非依電性記憶體之保留區塊8谢之數目 有關之資訊850d外’與非依電性記憶體之隱藏區塊數目有關之資 訊850c亦可被包括於標頭82〇。資訊85〇河包括被包括於非依電性 記憶體之區塊總數,且平均抹除次數係以資訊85〇g而儲存於標頭 820。雖然平均抹除次數可實質地被儲存於非依電性記憶體系統 之系統記憶體之任意處,於說明實施例中,平均抹除次數係以資 訊850g儲存於標頭820。 於一實施例中,與無法使用區塊之總數有關之資訊85如亦可 被包括於標頭820。無法使用區塊之總數可包括一包括工廠缺陷 之然法使用區塊之總數及一包括生長缺陷之無法使用區塊之總 數。雖然應瞭解者為標頭820之内容可廣泛地變化,標頭82〇亦可 包括額外資訊850b。於分區與非依電性記憶體之區分大小有關之 資訊850b之同時,額外資訊850b可包括,但不限於與諸如1^^〇 快閃記憶體晶片或MLC NAND快閃記憶體之分區大小有關之資 訊。磁柱、標頭、及扇區資訊,如同熟於此技者將可瞭解者。 一般而言,應瞭解者為,標頭820可包括其他内容。藉由釋 例,標頭820可包括與正在使用中或可供使用之可用區塊總數有 37 1261168 關之貧訊。任擇地,標頭82G可維持與具有工廠缺陷之區塊數及 具有生長缺陷之區塊數有關之資訊。包括於標頭82〇之其他内容 可包括,但不限於排置為可實質地識縣除次數區塊之修正或版 本之修正數。 當電力首次提供予包括抹除次數區塊之非依電性記憶體 日守’抹除次數區塊-般而讀初始化、或被產生。換言之,當非 依電性記㈣減之非依電性記憶體首次被格式化時,抹除次數 區塊通常係被初始化。參考第關,根據本發明之—實施例,當 非依電性記憶體純之雜雜記鐘首次被袼式化時,與初始 矛、人數區塊之方法有關的步驟將說明如下。處理觸〇開始於 /驟1004射’非依電性記憶體魏巾之所有區塊,或更詳而 言之二所有實塊被檢驗。檢驗鱗輯可包括檢驗此等區塊 之内容以判定區塊中之何者可能係紐使用,亦即,藉由非依電 性記憶體之製造者而識別為無法使用。據此,於步驟麵中,非 ^電性記憶體之無法使塊可被識別。識難法使·塊牽涉 -別含有諸如已知將區塊_為具有或包括功缺陷「聊即 之特定標籤的標籤的每一區塊。 」 ^ 一旦所有無法使用區塊實質地被識別,於步驟1〇12中,此等 —使用。將特定 热法使㈣塊於抹除次無频標域酬為無法彳 、 應瞭 38 1261168 ^法使服標記於鎌次無塊後,未獅除之可使 品匕或亚未具有工廠缺陷之區塊之抹除次數於步驟腦被初 始化。初始倾除魏可包括絲娜除的每—區塊之抹除次數 设定為零。供—區塊狀抹除次數通常係畴於與此區塊有關之 几賊負舰域中之至少—者。錢,對應於包括抹除與未抹除 σ品鬼兩者之可用區塊之抹除次數可於步驟刪被設定於抹 除次數區塊。通常,婦於抹除錄輯之嫌魏之值可被設 定或初始化為零,或於未抹除區塊之情形中,設定為與儲存於其 對應未抹魏狀嫌缝_域。齡之,供絲除區塊用 之抹除次數-般而言係與儲存於抹除次數區塊中對應於此區塊 之位置的抹除讀相同。—旦將抹除次數設定為抹除次數區塊之 入口,則平均抹除次數可於步獅34設定於抹除次數區塊。如前 文所述,平均抹除次數可儲存於抹除次數區塊之標頭。當可用區 塊之抹除次數之值冑被初始化為料,則平均抹除次數之值可初 始地被設定為零。包括於雜電性記憶體綠之非依電性記憶體 之袼式化處理係完成於設定平均抹除次數後。 於每次在非依電性記憶體系統進行初始化處理時,抹除次數 區塊之入口可被更新。接著參考第^圖,根據本發明之一實施例 之與響應於初始化要求而更新抹除次數區塊的方法有關之步驟 將說明如下。更新抹除次數區塊之處理11〇〇開始於步驟11〇8,其 中,未抹除可用區塊可被獲得。如熟於此技者將可瞭解者,一般 而言,未抹除可用區塊含有資料,且係有效地使用中。供儲存於 抹除次數區塊之未抹除可用區塊用之抹除次數入口係於步驟 1108獲得。換言之,對應於未抹除可用區塊之抹除次數的抹除次 39 1261168 數區塊入°被讀取。―旦於步驟獲得之供未抹除可用區塊之 抹除次數用的人口被讀取,其可於步驟U16判定雜次數入口是 否具有小於儲存於未抹除可用區塊之抹除次數之值。 右八方、步‘1116判定儲存於抹除次數區塊之供未抹除可用 區塊用之抹除次數入口係小於儲存於未抹除可用區塊之抹除次 數’則其指示儲存於抹除數區塊之抹除次數入口並非目前的。據 此,處理流程自步·16鶴至步驟·,其中,贿於抹除次 數區塊之作為職於未抹除可塊之嫌次射被更新。更新 抹除次―«涉將未絲可㈣塊之目雜除次數儲存 於抹除人數區塊。—旦抹除次數人口被更新,與是否有更多未抹 除可用區塊應處理有關之敏被產生於步驟1124。 田步‘II24之判定為有更多未抹除可用區塊應處理時,處理 L私回至步‘11〇8,其中,另一未抹除可用區塊可被獲得。任 擇地’當其判定所有未抹除可用區塊皆實質地被處理時,例如當 判定男、貝地供抹除次數區塊之所有未抹除可用區塊用之抹除 人數入口已被更新時,非依電性記憶體内之所有可用區塊之平均 抹除人數方;步驟1128被再計算。如熟於此技者將可瞭解者,平均 抹除次數可藉由加總所有儲存於抹除次健塊之抹除次數、而後 以儲存於抹除次數區塊之抹除次數加以相除而判定,如同將參考 第1 J圖而於下文說明者。於平均抹除次數被再計算後,再計算平 均抹除次㈣於步·32儲存於抹除讀區塊。如教所述,平 均抹除次數可被儲存於抹除次數區塊之標頭。一旦平均抹除次數 破儲存’響應於初始化要求之更新抹除次數區塊之處理即為完 成。 40 1261168 返回至步驟1116,當其判定供獲得未抹除可用區塊用之抹除 次數區塊的抹除次數人口係未小於儲存於獲得未抹除可用區塊 之抹除次數時,則其意指抹除次數區塊之抹除次數入口係最新 的。因此,處理流程實質地直接自步觀16移動至步觀%,其 中’其判定是否有更多未抹除可用區塊應處理。 士 A文所述’供區塊用之抹除次數係儲存於與此區塊有關之 冗餘或負擔區域中之至少—者。舉例言之,供區塊用之抹除次數 至少可被儲存於與此區塊H有關之冗餘區域。然而,當區 塊被抹除時,實f上包括抹除次數之此區塊之所有内容通常皆被 抹除。因此,當抹除區塊係為供使用而獲得時,亦即,當抹除區 塊係自諸如最不常抹除區塊圖表之備塊儲存區獲得時,抹除 區塊將不包括抹除次數。 通^供已自備用區塊儲存區,亦即,備用區塊獲得之抹除 區塊用之抹除讀可自抹除次數區塊讀取。第12圖魏明與根據 本發明之-實施例之用赠得供備㈣塊用之抹除次數的方法 有關之步驟的處理流程圖。獲得備用區塊之抹除次數譲之處理 開始於步驟1204,其中,供獲得備塊狀抹除次數入口係自 抹除次數區塊讀取。詳言之,贿於對應於供備轉顧之抹除 區塊的抹除魏區塊之位元被讀取。而後,與抹除錄入口之位 元是否正縣關之欺於步驟麗被產生。亦即, 區塊用之鎌魏人叹侃是絲縣除姐,或供 備用區塊狀抹除次數人D之位元是否表示其他事項,例如此等 位元疋否因生長缺陷之故而將備用區塊識別為無法利用。 若其於步驟職判定抹除次數入口,或自抹除次數區塊讀取 4] 1261168 之抹除次數並非為正確抹除次數,則處理流程自步驟1208移至步 驟1212,其中,區塊係自備用區塊儲存區移除。一旦區塊自備用 區塊儲存區移除,獲得供備用區塊用之抹除次數之處理即有效地 完成。 任擇地,若其於步驟1208判定供備用區塊用之抹除次數區塊 之抹除次數入口的内容係可正確地作為抹除次數使用,則處理流 程自步驟1208前進至1216,其中,抹除次數入口之内容係被設定 作為備用區塊之抹除次數。換言之,若自供備用區塊用之抹除次 數區塊讀取之抹除次數係正確抹除次數,則自抹除次數區塊讀取 之抹除次數係被設定為備用區塊之實際抹除次數。於備用區塊之 抹除次數被設定為自抹除次數區塊讀取之抹除次數後,獲得供備 用區塊用之抹除次數之處理即為完成。 雖然本發明僅就數個實施例加以說明,應瞭解者為,於不悖 離本發明之精神或範圍内,本發明仍可以其他許多特定型式實 也藉由釋例,抹除次數區塊之大小及抹除次數區塊内之標頭之 值置可廣泛地變化。除狀外,抹除次數區塊之獅之内容亦可 取決於特定系統之要求而變化。 、於非依電性記憶體系統已說明為可藉由相關記憶體控制器 或控制器加以控制’或使用與主機系統有關之軟體或祕加以控 制的同時,應瞭解者為,包括抹除次數管理之磨損納處理可應 用於與實質地位於輕電性記憶體线外部之控㈣通信之非 依電性記憶體純。使用控制器之適當記憶體系統包括(但不限 於)Pc卡、f密㈣卡奸卡)、《針、安全數位卡、及包括 快閃記憶體與快閃記憶體控繼之置人式晶片組。經由使用裝載 42 1261168 方、主機系、'先之軟體或韋刃體控制的記憶體系統包括置入式記憶體 裝置實施例中’上文所述之可使用抹除管理技術及抹除次 數區塊管理技術且不㈣與記憶體純有關之控㈣的記憶體 ^統可使用與諸如主機電腦系統之主機有關之控制器以實施磨 扣,周勻亦即’主機可直接定位址並管理記憶體,其中,磨損調 勻係經由使用主機上控制器而發生。 。 一般而言,抹除次數區塊已說明為包括數頁之區塊。然而, 應瞭解者為,純記憶體之任意適當資機構可實質地排置為可 保持抹除次數及平均抹除次數。 於一實施例中,抹除次數區塊可實_僅包括對應於非依電 性記憶體系統之區塊之抹除次數的入口。於此種實施例中,一般 而3包含於抹除次數之標頭的資訊可被儲存於與抹除次數區塊 刀離之資料結構雜塊。亦即,當抹除次數區塊係排置為僅實質 地S有與區塊有關之抹除次數相關的入口時,諸如平均抹除次數 之貝矾可無需被儲存於抹除次數區塊,或更詳而言之,抹除次數 區塊之標頭。任擇地,代替儲存於抹除次數區塊之標頭,平均抹 除次數可替代地儲存於抹除次數區塊之實質任意處。 痛又而a,與磨損调勻之各種處理及方法有關之步驟可廣泛 也又化。一般而言,於不悖離本發明之範圍精神内,步驟可被增 加、移除、警告、及再排序。因此,目前之釋例應考量為供說明 之用、而非供限制之用,且本發明並未限於此處所作之詳細說 明’而係可於後附申請專利範圍之範圍内進行修改。 【圖式簡單說明】 43 1261168 第la圖係根據本發明之—實施例之包括非依電性記憶體裝 置的一般主機系統之圖式表示。 第lb圖係根據本發明之—實施例之諸如第^圖的記憶體裝 置120之記憶體裝置之圖式表示。 第lc圖係包括置入式非依電性記憶體之主機系統之圖式表 示。 第2圖係根據本發明之—實施例之快閃記憶體的部份之圖式 表示。 7副餘據本發明之_實施例之說明與處理和快閃記憶體 系統有關之初始化要求有關之步_處理流程圖。 第4圖係根據本發明之_實施例之說明與處理靜態區塊之方 法有關的步驟之處理流程圖。 第5a圖係根據本發明之-實施例之系統記憶體的圖式方塊 圖表示。 第5b圖係根據本發明之—實施例之正常區塊、最不常抹除區 塊、及最常抹除區塊之圖式表示。 第6圖係根據本發明之一實施例之用以於整體記憶體系統實 施區塊調換/更新以容許區塊之磨損更騎均的方法_式表示。 第7圖係根據本發明之-實施例之系統架構之圖式方塊圖表 示。 第8a圖係根據本發明之一實施例之抹除次數區塊之圖式表 示。 第關係根據本發明之一實施例之諸如第8a圖之抹除次數 區塊800之頁8l〇a的抹除次數區塊之_頁的圖式表示,該頁係實 44 1261168 質地劃分為位置。 第8c圖係係根據本發明之一實施例之諸如第仏圖之抹除^ 數區塊800之頁810a的抹除次數區塊之一頁的圖式表示, ^ 、p 實質地劃分為位元組。 ' ' 第8d圖係根據本發明之一實施例之諸如第8a圖之抹除欠數 區塊800之頁810a的抹除次數區塊之一頁的圖式表示,其含有抹 除次數及指示特定區塊係無法使用之入口。 第9圖係根據本發明之一實施例之諸如第8agj的抹除次數區 塊800之標頭820的抹除次數區塊之標頭的圖式表示。 苐1 〇圖係說明根據本發明之—實施例之當非依電性記憶體 系統之非依紐記憶廳第—次格式化時,與初始化抹除次數區 塊之方法有關之步驟的處理流程圖。 弟11圖係說明根據本發明之一實施例之與響應於初始化要 求、更新抹除次數區塊之方法有關的步驟的處理流程圖。 第12圖係說明根據本發明之-實施例之獲得供備用區塊用 之抹除次數財法有_步_處理流程圖。 【圖式之主要元件代表符 就表】 11 十思體晶胞陣列 15 17 解碼器 19 21 緩衝器記憶體 23 100 主機系統、電腦系統 104 108 微處理哭 ^ 口口 112 116 輸入/輪出電路 120 匯流排 附加電路 部份 系統匯流排 隨機存取記憶體 非依電性記憶體裝置 45 1261168 124 非依電性記憶體 128 任選記憶體控制系統 130 任選輸入/輪出電路區塊132 輸入/輸出電路區塊 150 主機、電腦系統 154 系統匯流排 158 微處理器 162 隨機存取記憶體 166 輸入/輪出電路 174 非依電性記憶體 200 快閃記憶體 204、204a、204b 頁 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 抹除次數區塊管理次模組 800 抹除次數區塊 810 頁 810a 第一頁 810b 第二頁 820 標頭 830、 830a、830b、830c、830d 入口 46 1261168 850b 資訊 1000、1100、1300 處理 1004、1008、1012、1016、1020、1034、1108、1116、1120、1124、 1128、1132、1204、1208、1212、1216、1304、1308、1312 步 驟 1200抹除次數 47

Claims (1)

  1. 第'092125808號專利申請宰年 π ^ 中文申請專·㈣縣 拾、申請專利範圍: 】.·種3有-貧料結構的非依電性記憶體,其中該非依電 性5己fe、體是與—非依電性記憶⑽統有關,該非依電性 5 =體系統包括數個非依電性記憶體區塊,該資料結構 一第—指示器’該第―指示n係排置為可提供_指 示該等數個非依電性記憶體區塊之一第-區塊已被抹 除之次數之指示; —標頭,該標頭係排置為可含有與該等數個非依電 性圮憶體區塊有關之資訊。 括: 2·如申請專利範圍第1項所述之非依電性記憶體,其更包 15 一 ^ >第&不《第二指示器係排置為可提供-指 示该等數個非依電性記彳音_ 匕k to (EE塊之一弟二區塊已被抹 除之次數之指示。 3.如申料鄕圍第1項所述之非依電性記, 括: 憶體,其更包 ” m器’該第二指示器係排置為可提供-指 不该等數個非依電性記恃 塊之一第二區塊係一無 法使用區塊之指示。 電性記憶體,其中, 不該第二區塊具有一工廠 4.如申請補範圍第3項所述之非依電, 該第二指示器係排置為可指 屯 缺陷。 電性記憶體,其中 5·如申請專利範圍第3項所述之非依 20 1261168 該第二指示器係排置為可指示該第二區塊具有一生長 缺陷。 6. 如申請專利範圍第1項所述之非依電性記憶體,其中, 該標頭包括一平均抹除次數,該平均抹除次數係排置為 5 可指示該等數個非依電性記憶體區塊之每一區塊已被 抹除之一平均抹除次數。
    7. 如申請專利範圍第1項所述之非依電性記憶體,其中, 該標頭包括一平均抹除次數,該平均抹除次數係排置為 可指示該等數個非依電性記憶體區塊之每一無法使用 10 區塊已被抹除之一平均抹除次數。 8·如申請專利範圍第1項所述之非依電性記憶體,其中, 該非依電性記憶體係為一 NAND快閃記憶體。 9. 一種含有一抹除次數區塊之非依電性記憶體,該非依電 性記憶體與一非依電性記憶體系統有關,該非依電性記 15 憶體系統包括非依電性記憶體之數個實體區塊,其中,
    該等數個實體區塊之每一實體區塊具有一排置為可識 別該實體區塊已被抹除之次數的相關識別器,該抹除次 數區塊包含: 一第一頁,該第一頁係排置為可包括供該等數個實 20 體區塊之一第一實體區塊用之一第一識別器,該第一識 別器係排置為可識別該第一實體區塊已被抹除之次 數;以及 一第二頁,該第二頁係排置為可包括一次數,該次 數係排置為可指示該等數個實體區塊已被抹除之平均 -2^ 1261168 次數。 10.如申明專利蛇圍第9項所述之非依電性記憶體,並中,
    T第一頁係更排置為可包括—供該等數個非依電性記 憶體區塊之—第二實體區塊用之第二識別器,該第二識 別态係排置為可識別該第二實體區塊已被抹除之次數。 u.如申請專利範圍第9項所述之非依電性記憶體,其中, 該第-頁係實質地劃分為數個位S組群組,其中,該等 數:位元組群組之一第—位元組群組係排置為可包括 °亥第識別益’该第一位元組群組係與該第一實體區塊 有關。 12.如申請專利範圍第u項所述之非依電性記憶體,里中, 該等數個位元組群組之每一群組包括約m元組至4位 元組。 13·如申請專利範圍第11項所述之非依電性記憶體,其中, 該等數個位元組群組之一第二位元組群組係排置為可
    包括-供該等數個實體區塊之一第二實體區塊用之第 二識別器,該第二朗H係排置為可識麟第二實體區 塊已被抹除之次數。 14·如申請專利範圍第U項所述之非依電性記憶體,其中, 該等數個位元組群組之一第二位元組群組係排置為可 包括-指不益’該指示器係排置為可指示該等數個實體 區塊之一第二實體區塊係有缺陷的。 15·如申請專利範圍第9項所述之非依電性記憶體,其更包 1261168 杂一第三頁’該第三頁係排置為可包括一供該等數個 1區塊之-第二實體區塊用之第二識腳,該第二識 L係排置為可識別該第二實體區塊已被抹除之次數。 16·"請專利範圍第9項所述之非依電性記憶體,其中, 該第二頁料—铜,《廳更排置為可包括-排置 為可識別該抹除次數區塊之記號。 申明專利範圍第9項所述之非依電性記憶體,其中, 該非依電性記憶體係為一 NAND快閃記憶體。 18· —種非依電性記憶體系統,其包含·· 非依電性記憶體,該非依電性記憶體包括數個非 依電性記憶體區塊; 一系統記憶體;以及 用以扣不该系統記憶體之包括於該等數個非依電 性記憶體區塊之每—可用區塊已被抹除之次數的裝置。 α如申請專利範圍第18項所述之非依電性記憶體系統,其 更包括: ' 用以指示該系統記憶體之包括於該等數個非依電 性記憶體區塊之每—區塊已被抹除之平均次數的裝置。 2〇.如申請專利範圍第19項所述之非依電性記憶體系統,其 中用以私不该系統記憶體之包括於該等數個非依電性 記憶體區塊之每一可用區塊已被抹除之次數的該等裝 置包括用以指示該系統記憶體之一資料結構的包括於 該等數個非依電性記憶體區塊之每一可用區塊已被抹 除之次數的裝置,且用以指示⑽統記憶體之包括於該 1261168 等數個非依電性記憶體區塊之每—區塊已被抹除之平 φ人數的3亥等襄置包括用以指示該資料結構的包括於 該等數個非依電性記憶體區塊之每—區塊已被抹除之 平均次數的裝置。 I如申請專利範圍第2〇項所述之非依電性記憶體系統,其 中,該資料結構係為一抹除次數區塊。 22. 如申明專利乾圍第21項所述之非依電性記憶體系統,苴 更包括: 10 15 用以才曰7F „亥系統§己憶體之包括於該等數個非依電 性記憶體區塊之—第—區塊係於何時無法使用之裝置。 23. 如申明專利靶圍第22項所述之非依電性記憶體系統,豆 中’用以指示該非依電性記憶體之包括於該等數個非依 々電性記憶體區塊之該第_區塊係於何時無法使用之該 寺裝置包括用以指示該非依電性記憶體之該第一區塊 係於何時包括-工廠缺陷之裝置及用以指示該系統記 憶體之該第-區塊係於何時包括一生長缺陷之裝置。 24·如申請專利範圍第18項所述之非依電性記憶體系統,其 中該非依电體係為—nand快閃記憶體。 25. -種含有—資料結構的非依電性記憶體,該資料結構係 排置於-實體區塊中’該非依電性記憶體與一非依電性 記憶體线有關,轉依電性記憶猶統包括數個非依 電性記憶體區塊之非依電性記憶體,該資料結構包含: 數们第才曰不為,該等數個第一指示器係排置為可 提t、包括於δ玄寺數個非依電性記憶體區塊之區塊已被 20
    1261168 抹除之次數的指示;以及 數頁,該等數頁係實質地劃分為位元組群組,該等 位元組群組係排置為含有該等數個第一指示器,其中, 該等數頁之-第一頁包括一排置為含有與該等數個非 依電性記憶體區塊的一第一區塊有關之該等數個第一 指示器之一第指示器的第一位元組群組。 26·如申請專利範圍第25項所述之非依電性記憶體,其更包 括:
    匕一數個第二指示器,該等數個第二指示器係排置為可 扣不包括於該等數個非依電性記憶體區塊之區塊係於 何時實質地無法使用。 27·如申請專利範圍第26項所述之非依電性記憶體,其中, 該等位元組群組係更排置為可含有該等數個第二指示 器。 15
    •如申請專利範圍第26項所述之非依電性記憶體,並中, :亥等數個第二指示器包括—排置為可識別該等數個非 電性記憶體區塊之一第二區塊係於何時具有—製造 缺陷之第二識別器,及一 排置為可識別該第二區塊係於 仃%具有一生長缺陷之第三指示器。 29.=申請專利範圍第26項所述之非依電性記憶體,其中, 非依兒性圮憶體係為一 NAND快閃記憶體。 20
TW092125808A 2002-10-28 2003-09-18 Non-volatile memory system with erase counts stored in an erase count block TWI261168B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/281,696 US6831865B2 (en) 2002-10-28 2002-10-28 Maintaining erase counts in non-volatile storage systems

Publications (2)

Publication Number Publication Date
TW200422830A TW200422830A (en) 2004-11-01
TWI261168B true TWI261168B (en) 2006-09-01

Family

ID=32107214

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092125808A TWI261168B (en) 2002-10-28 2003-09-18 Non-volatile memory system with erase counts stored in an erase count block

Country Status (10)

Country Link
US (1) US6831865B2 (zh)
EP (1) EP1559016B1 (zh)
JP (1) JP4372013B2 (zh)
KR (1) KR100914089B1 (zh)
CN (1) CN100385415C (zh)
AT (1) ATE388440T1 (zh)
AU (1) AU2003270527A1 (zh)
DE (1) DE60319563T2 (zh)
TW (1) TWI261168B (zh)
WO (1) WO2004040458A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI385517B (zh) * 2008-12-05 2013-02-11 Apacer Technology Inc Storage device and data management method
TWI385669B (zh) * 2008-07-23 2013-02-11 Phison Electronics Corp 用於快閃記憶體的平均磨損方法、儲存系統與控制器

Families Citing this family (382)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467274B2 (en) * 2001-12-31 2008-12-16 Hewlett-Packard Development Company, L.P. Method to increase the life span of limited cycle read/write media
CN100377120C (zh) * 2002-10-02 2008-03-26 松下电器产业株式会社 非易失性存储器装置的控制方法
KR101122511B1 (ko) * 2002-10-28 2012-03-15 쌘디스크 코포레이션 비휘발성 저장 시스템들에서 자동 웨어 레벨링
JP4256175B2 (ja) * 2003-02-04 2009-04-22 株式会社東芝 不揮発性半導体メモリ
JP2004310650A (ja) * 2003-04-10 2004-11-04 Renesas Technology Corp メモリ装置
TWI220193B (en) * 2003-05-28 2004-08-11 Genesys Logic Inc Dynamic adjustment method of redundant block in non-volatile memory and related device thereof
US6906961B2 (en) * 2003-06-24 2005-06-14 Micron Technology, Inc. Erase block data splitting
US7139863B1 (en) * 2003-09-26 2006-11-21 Storage Technology Corporation Method and system for improving usable life of memory devices using vector processing
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
US7433993B2 (en) 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
EP1758027B1 (en) * 2003-12-30 2010-07-14 SanDisk Corporation Non-volatile memory and method with control data management
US8341371B2 (en) * 2005-01-31 2012-12-25 Sandisk Il Ltd Method of managing copy operations in flash memories
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
US20070016721A1 (en) * 2005-07-18 2007-01-18 Wyse Technology Inc. Flash file system power-up by using sequential sector allocation
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US7512864B2 (en) * 2005-09-30 2009-03-31 Josef Zeevi System and method of accessing non-volatile computer memory
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
JP2007133683A (ja) * 2005-11-10 2007-05-31 Sony Corp メモリシステム
US7546515B2 (en) * 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
US7536627B2 (en) * 2005-12-27 2009-05-19 Sandisk Corporation Storing downloadable firmware on bulk media
US8194880B2 (en) * 2006-01-30 2012-06-05 Audience, Inc. System and method for utilizing omni-directional microphones for speech enhancement
US7451264B2 (en) * 2006-04-13 2008-11-11 Sandisk Corporation Cycle count storage methods
US7467253B2 (en) * 2006-04-13 2008-12-16 Sandisk Corporation Cycle count storage systems
US7971071B2 (en) * 2006-05-24 2011-06-28 Walkoe Wilbur J Integrated delivery and protection device for digital objects
US7711890B2 (en) * 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
JP2007328620A (ja) * 2006-06-08 2007-12-20 Toshiba Corp アクセス頻度評価装置およびアクセス頻度評価方法
US8060718B2 (en) * 2006-06-20 2011-11-15 International Business Machines Updating a memory to maintain even wear
TWI326028B (en) 2006-11-20 2010-06-11 Silicon Motion Inc Method for flash memory data management
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
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
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
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
US9153337B2 (en) 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
US20080140918A1 (en) * 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
US7710777B1 (en) 2006-12-20 2010-05-04 Marvell International Ltd. Semi-volatile NAND flash memory
KR100817204B1 (ko) * 2006-12-22 2008-03-27 재단법인서울대학교산학협력재단 플래시 메모리의 매핑 방법 및 장치
JP4563992B2 (ja) * 2006-12-26 2010-10-20 株式会社京都ソフトウェアリサーチ 多値フラッシュメモリおよび多値フラッシュメモリへのデータ書き込み方法
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory
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
US8429352B2 (en) * 2007-06-08 2013-04-23 Sandisk Technologies Inc. Method and system for memory block flushing
CN100538662C (zh) * 2007-07-05 2009-09-09 炬力集成电路设计有限公司 一种基于局部采样的存储器的磨损平衡方法
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
TWI373772B (en) * 2007-10-04 2012-10-01 Phison Electronics Corp Wear leveling method and controller using the same
CN101409108B (zh) * 2007-10-09 2011-04-13 群联电子股份有限公司 平均磨损方法及使用此方法的控制器
US7916543B2 (en) 2007-10-22 2011-03-29 Micron Technology, Inc. Memory cell operation
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
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
US8453022B2 (en) * 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
JP4461170B2 (ja) 2007-12-28 2010-05-12 株式会社東芝 メモリシステム
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US9477587B2 (en) * 2008-04-11 2016-10-25 Micron Technology, Inc. Method and apparatus for a volume management system in a non-volatile memory device
US7924623B2 (en) * 2008-05-27 2011-04-12 Micron Technology, Inc. Method for memory cell erasure with a programming monitor of reference cells
US20100250837A1 (en) * 2008-05-28 2010-09-30 Hyperstone Gmbh Method for Addressing Page-Oriented Non-Volatile Memories
WO2009156877A1 (en) * 2008-06-24 2009-12-30 Sandisk Il Ltd. Method and apparatus for error correction according to erase counts of a solid-state memory
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
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
KR101103061B1 (ko) * 2008-07-28 2012-01-06 주식회사 팍스디스크 반도체 스토리지 시스템 및 그 제어 방법
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
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
KR101586047B1 (ko) 2009-03-25 2016-01-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
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
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
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
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
EP2455865B1 (en) * 2009-07-17 2020-03-04 Toshiba Memory Corporation Memory management 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
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8463983B2 (en) * 2009-09-15 2013-06-11 International Business Machines Corporation Container marker scheme for reducing write amplification in solid state devices
US8479061B2 (en) * 2009-09-24 2013-07-02 AGIGA Tech Solid state memory cartridge with wear indication
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
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
TW201120898A (en) * 2009-12-07 2011-06-16 Jmicron Technology Corp Mehtod for wear-leveling and apparatus thereof
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8621141B2 (en) * 2010-04-01 2013-12-31 Intel Corporations Method and system for wear leveling in a solid state drive
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8612804B1 (en) 2010-09-30 2013-12-17 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US20120203993A1 (en) * 2011-02-08 2012-08-09 SMART Storage Systems, Inc. Memory system with tiered queuing and method of operation thereof
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
US8935466B2 (en) 2011-03-28 2015-01-13 SMART Storage Systems, Inc. Data storage system with non-volatile memory and method of operation thereof
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US8898373B1 (en) 2011-06-29 2014-11-25 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US8627158B2 (en) * 2011-12-08 2014-01-07 International Business Machines Corporation Flash array built in self test engine with trace array and flash metric reporting
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8737130B2 (en) * 2012-02-29 2014-05-27 Sandisk Technologies Inc. System and method of determining a programming step size for a word line of a memory
US8862952B1 (en) * 2012-03-16 2014-10-14 Western Digital Technologies, Inc. Prioritized memory scanning for data storage systems
US9298252B2 (en) 2012-04-17 2016-03-29 SMART Storage Systems, Inc. Storage control system with power down mechanism and method of operation thereof
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US8949689B2 (en) 2012-06-11 2015-02-03 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9430339B1 (en) 2012-12-27 2016-08-30 Marvell International Ltd. Method and apparatus for using wear-out blocks in nonvolatile memory
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9470720B2 (en) 2013-03-08 2016-10-18 Sandisk Technologies Llc Test system with localized heating and method of manufacture thereof
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
WO2014196000A1 (ja) * 2013-06-03 2014-12-11 株式会社日立製作所 ストレージ装置およびストレージ装置制御方法
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9313874B2 (en) 2013-06-19 2016-04-12 SMART Storage Systems, Inc. Electronic system with heat extraction and method of manufacture thereof
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US11630585B1 (en) 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US10725668B1 (en) * 2014-08-29 2020-07-28 SK Hynix Inc. Data separation during garbage collection and wear leveling
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
US9728278B2 (en) 2014-10-24 2017-08-08 Micron Technology, Inc. Threshold voltage margin analysis
US9830087B2 (en) * 2014-11-13 2017-11-28 Micron Technology, Inc. Memory wear leveling
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10338817B2 (en) 2014-12-30 2019-07-02 Sandisk Technologies Llc Systems and methods for storage recovery
US9766819B2 (en) 2014-12-30 2017-09-19 Sandisk Technologies Llc Systems and methods for managing storage endurance
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US11102298B1 (en) 2015-05-26 2021-08-24 Pure Storage, Inc. Locally providing cloud storage services for fleet management
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US11503031B1 (en) 2015-05-29 2022-11-15 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US10021170B2 (en) 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
US9444822B1 (en) 2015-05-29 2016-09-13 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9300660B1 (en) 2015-05-29 2016-03-29 Pure Storage, Inc. Providing authorization and authentication in a cloud for a user of a storage array
US9588691B2 (en) 2015-06-10 2017-03-07 Pure Storage, Inc. Dynamically managing control information in a storage device
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9594512B1 (en) 2015-06-19 2017-03-14 Pure Storage, Inc. Attributing consumed storage capacity among entities storing data in a storage array
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US10296236B2 (en) * 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
CN106354651B (zh) * 2015-07-14 2020-05-26 群联电子股份有限公司 平均磨损方法、存储器控制电路单元及存储器储存装置
US9892071B2 (en) 2015-08-03 2018-02-13 Pure Storage, Inc. Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array
US9851762B1 (en) 2015-08-06 2017-12-26 Pure Storage, Inc. Compliant printed circuit board (‘PCB’) within an enclosure
US10198194B2 (en) 2015-08-24 2019-02-05 Pure Storage, Inc. Placing data within a storage device of a flash array
US11294588B1 (en) 2015-08-24 2022-04-05 Pure Storage, Inc. Placing data within a storage device
US11625181B1 (en) 2015-08-24 2023-04-11 Pure Storage, Inc. Data tiering using snapshots
US9384082B1 (en) 2015-10-23 2016-07-05 Pure Storage, Inc. Proactively providing corrective measures for storage arrays
US11360844B1 (en) 2015-10-23 2022-06-14 Pure Storage, Inc. Recovery of a container storage provider
US10514978B1 (en) 2015-10-23 2019-12-24 Pure Storage, Inc. Automatic deployment of corrective measures for storage arrays
US10284232B2 (en) 2015-10-28 2019-05-07 Pure Storage, Inc. Dynamic error processing in a storage device
US10374868B2 (en) 2015-10-29 2019-08-06 Pure Storage, Inc. Distributed command processing in a flash storage system
US9740414B2 (en) 2015-10-29 2017-08-22 Pure Storage, Inc. Optimizing copy operations
US10353777B2 (en) 2015-10-30 2019-07-16 Pure Storage, Inc. Ensuring crash-safe forward progress of a system configuration update
US11762764B1 (en) 2015-12-02 2023-09-19 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US11616834B2 (en) 2015-12-08 2023-03-28 Pure Storage, Inc. Efficient replication of a dataset to the cloud
US10326836B2 (en) 2015-12-08 2019-06-18 Pure Storage, Inc. Partially replicating a snapshot between storage systems
US11347697B1 (en) 2015-12-15 2022-05-31 Pure Storage, Inc. Proactively optimizing a storage system
US10162835B2 (en) 2015-12-15 2018-12-25 Pure Storage, Inc. Proactive management of a plurality of storage arrays in a multi-array system
US10346043B2 (en) 2015-12-28 2019-07-09 Pure Storage, Inc. Adaptive computing for data compression
US9886314B2 (en) 2016-01-28 2018-02-06 Pure Storage, Inc. Placing workloads in a multi-array system
US10572460B2 (en) 2016-02-11 2020-02-25 Pure Storage, Inc. Compressing data in dependence upon characteristics of a storage system
US9760297B2 (en) 2016-02-12 2017-09-12 Pure Storage, Inc. Managing input/output (‘I/O’) queues in a data storage system
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10101939B2 (en) * 2016-03-09 2018-10-16 Toshiba Memory Corporation Storage system having a host that manages physical data locations of a storage device
US9959043B2 (en) 2016-03-16 2018-05-01 Pure Storage, Inc. Performing a non-disruptive upgrade of data in a storage system
US9841921B2 (en) 2016-04-27 2017-12-12 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices
US11112990B1 (en) 2016-04-27 2021-09-07 Pure Storage, Inc. Managing storage device evacuation
US11809727B1 (en) 2016-04-27 2023-11-07 Pure Storage, Inc. Predicting failures in a storage system that includes a plurality of storage devices
US9811264B1 (en) 2016-04-28 2017-11-07 Pure Storage, Inc. Deploying client-specific applications in a storage system utilizing redundant system resources
US10303390B1 (en) 2016-05-02 2019-05-28 Pure Storage, Inc. Resolving fingerprint collisions in flash storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US9711231B1 (en) 2016-06-24 2017-07-18 Sandisk Technologies Llc System solution for first read issue using time dependent read voltages
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
US10452310B1 (en) 2016-07-13 2019-10-22 Pure Storage, Inc. Validating cabling for storage component admission to a storage array
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US10459652B2 (en) 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
US10474363B1 (en) 2016-07-29 2019-11-12 Pure Storage, Inc. Space reporting in a storage system
US10146585B2 (en) 2016-09-07 2018-12-04 Pure Storage, Inc. Ensuring the fair utilization of system resources using workload based, time-independent scheduling
US11886922B2 (en) 2016-09-07 2024-01-30 Pure Storage, Inc. Scheduling input/output operations for a storage system
US10331588B2 (en) 2016-09-07 2019-06-25 Pure Storage, Inc. Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling
US10908966B1 (en) 2016-09-07 2021-02-02 Pure Storage, Inc. Adapting target service times in a storage system
US11960348B2 (en) 2016-09-07 2024-04-16 Pure Storage, Inc. Cloud-based monitoring of hardware components in a fleet of storage systems
US10235229B1 (en) 2016-09-07 2019-03-19 Pure Storage, Inc. Rehabilitating storage devices in a storage array that includes a plurality of storage devices
US11531577B1 (en) 2016-09-07 2022-12-20 Pure Storage, Inc. Temporarily limiting access to a storage device
US10671439B1 (en) 2016-09-07 2020-06-02 Pure Storage, Inc. Workload planning with quality-of-service (‘QOS’) integration
US11481261B1 (en) 2016-09-07 2022-10-25 Pure Storage, Inc. Preventing extended latency in a storage system
US10007459B2 (en) 2016-10-20 2018-06-26 Pure Storage, Inc. Performance tuning in a storage system that includes one or more storage devices
US11379132B1 (en) 2016-10-20 2022-07-05 Pure Storage, Inc. Correlating medical sensor data
US11620075B2 (en) 2016-11-22 2023-04-04 Pure Storage, Inc. Providing application aware storage
US10162566B2 (en) 2016-11-22 2018-12-25 Pure Storage, Inc. Accumulating application-level statistics in a storage system
CN106775474B (zh) * 2016-12-16 2020-01-10 苏州浪潮智能科技有限公司 一种Nand Flash磨损均衡方法、装置及存储器
US10198205B1 (en) 2016-12-19 2019-02-05 Pure Storage, Inc. Dynamically adjusting a number of storage devices utilized to simultaneously service write operations
US11461273B1 (en) 2016-12-20 2022-10-04 Pure Storage, Inc. Modifying storage distribution in a storage system that includes one or more storage devices
SG11201802566PA (en) * 2016-12-29 2018-08-30 Huawei Tech Co Ltd Storage system and solid state disk
US10489307B2 (en) 2017-01-05 2019-11-26 Pure Storage, Inc. Periodically re-encrypting user data stored on a storage device
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11340800B1 (en) 2017-01-19 2022-05-24 Pure Storage, Inc. Content masking in a storage system
US10503700B1 (en) 2017-01-19 2019-12-10 Pure Storage, Inc. On-demand content filtering of snapshots within a storage system
US11163624B2 (en) 2017-01-27 2021-11-02 Pure Storage, Inc. Dynamically adjusting an amount of log data generated for a storage system
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US11442825B2 (en) 2017-03-10 2022-09-13 Pure Storage, Inc. Establishing a synchronous replication relationship between two or more storage systems
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US11803453B1 (en) 2017-03-10 2023-10-31 Pure Storage, Inc. Using host connectivity states to avoid queuing I/O requests
US11089105B1 (en) 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
US11169727B1 (en) 2017-03-10 2021-11-09 Pure Storage, Inc. Synchronous replication between storage systems with virtualized storage
US10454810B1 (en) 2017-03-10 2019-10-22 Pure Storage, Inc. Managing host definitions across a plurality of storage systems
US9910618B1 (en) 2017-04-10 2018-03-06 Pure Storage, Inc. Migrating applications executing on a storage system
US10459664B1 (en) 2017-04-10 2019-10-29 Pure Storage, Inc. Virtualized copy-by-reference
US11868629B1 (en) 2017-05-05 2024-01-09 Pure Storage, Inc. Storage system sizing service
KR20180125694A (ko) * 2017-05-16 2018-11-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10884636B1 (en) 2017-06-12 2021-01-05 Pure Storage, Inc. Presenting workload performance in a storage system
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US10613791B2 (en) 2017-06-12 2020-04-07 Pure Storage, Inc. Portable snapshot replication between storage systems
US10853148B1 (en) 2017-06-12 2020-12-01 Pure Storage, Inc. Migrating workloads between a plurality of execution environments
US11210133B1 (en) 2017-06-12 2021-12-28 Pure Storage, Inc. Workload mobility between disparate execution environments
US11016824B1 (en) 2017-06-12 2021-05-25 Pure Storage, Inc. Event identification with out-of-order reporting in a cloud-based environment
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US11442669B1 (en) 2018-03-15 2022-09-13 Pure Storage, Inc. Orchestrating a virtual storage system
US10976962B2 (en) 2018-03-15 2021-04-13 Pure Storage, Inc. Servicing I/O operations in a cloud-based storage system
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US11340939B1 (en) 2017-06-12 2022-05-24 Pure Storage, Inc. Application-aware analytics for storage systems
US20180357017A1 (en) 2017-06-12 2018-12-13 Pure Storage, Inc. Accessible fast durable storage integrated into a bulk storage device
CN110720088A (zh) 2017-06-12 2020-01-21 净睿存储股份有限公司 集成到大容量存储设备的可访问快速耐久存储
US11989429B1 (en) 2017-06-12 2024-05-21 Pure Storage, Inc. Recommending changes to a storage system
US11422731B1 (en) 2017-06-12 2022-08-23 Pure Storage, Inc. Metadata-based replication of a dataset
US11561714B1 (en) 2017-07-05 2023-01-24 Pure Storage, Inc. Storage efficiency driven migration
US11477280B1 (en) 2017-07-26 2022-10-18 Pure Storage, Inc. Integrating cloud storage services
US10198195B1 (en) 2017-08-04 2019-02-05 Micron Technology, Inc. Wear leveling
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US10452444B1 (en) 2017-10-19 2019-10-22 Pure Storage, Inc. Storage system with compute resources and shared storage resources
US11861423B1 (en) 2017-10-19 2024-01-02 Pure Storage, Inc. Accelerating artificial intelligence (‘AI’) workflows
US11494692B1 (en) 2018-03-26 2022-11-08 Pure Storage, Inc. Hyperscale artificial intelligence and machine learning infrastructure
US10671435B1 (en) 2017-10-19 2020-06-02 Pure Storage, Inc. Data transformation caching in an artificial intelligence infrastructure
US11455168B1 (en) 2017-10-19 2022-09-27 Pure Storage, Inc. Batch building for deep learning training workloads
US10347315B2 (en) 2017-10-31 2019-07-09 Sandisk Technologies Llc Group read refresh
US10509581B1 (en) 2017-11-01 2019-12-17 Pure Storage, Inc. Maintaining write consistency in a multi-threaded storage system
US10467107B1 (en) 2017-11-01 2019-11-05 Pure Storage, Inc. Maintaining metadata resiliency among storage device failures
US10484174B1 (en) 2017-11-01 2019-11-19 Pure Storage, Inc. Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices
US10817392B1 (en) 2017-11-01 2020-10-27 Pure Storage, Inc. Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices
US10671494B1 (en) 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
JP7010667B2 (ja) * 2017-11-06 2022-01-26 キオクシア株式会社 メモリシステムおよび制御方法
US10929226B1 (en) 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
US10936238B2 (en) 2017-11-28 2021-03-02 Pure Storage, Inc. Hybrid data tiering
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
US10795598B1 (en) 2017-12-07 2020-10-06 Pure Storage, Inc. Volume migration for storage systems synchronously replicating a dataset
US10552145B2 (en) * 2017-12-12 2020-02-04 Cypress Semiconductor Corporation Memory devices, systems, and methods for updating firmware with single memory device
US11036677B1 (en) 2017-12-14 2021-06-15 Pure Storage, Inc. Replicated data integrity
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
KR20190090634A (ko) 2018-01-25 2019-08-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10992533B1 (en) 2018-01-30 2021-04-27 Pure Storage, Inc. Policy based path management
US11150834B1 (en) 2018-03-05 2021-10-19 Pure Storage, Inc. Determining storage consumption in a storage system
US11972134B2 (en) 2018-03-05 2024-04-30 Pure Storage, Inc. Resource utilization using normalized input/output (‘I/O’) operations
US11861170B2 (en) 2018-03-05 2024-01-02 Pure Storage, Inc. Sizing resources for a replication target
US10942650B1 (en) 2018-03-05 2021-03-09 Pure Storage, Inc. Reporting capacity utilization in a storage system
US10521151B1 (en) 2018-03-05 2019-12-31 Pure Storage, Inc. Determining effective space utilization in a storage system
US10296258B1 (en) 2018-03-09 2019-05-21 Pure Storage, Inc. Offloading data storage to a decentralized storage network
US11210009B1 (en) 2018-03-15 2021-12-28 Pure Storage, Inc. Staging data in a cloud-based storage system
US11048590B1 (en) 2018-03-15 2021-06-29 Pure Storage, Inc. Data consistency during recovery in a cloud-based storage system
US11288138B1 (en) 2018-03-15 2022-03-29 Pure Storage, Inc. Recovery from a system fault in a cloud-based storage system
US10924548B1 (en) 2018-03-15 2021-02-16 Pure Storage, Inc. Symmetric storage using a cloud-based storage system
US10917471B1 (en) 2018-03-15 2021-02-09 Pure Storage, Inc. Active membership in a cloud-based storage system
US11095706B1 (en) 2018-03-21 2021-08-17 Pure Storage, Inc. Secure cloud-based storage system management
US11171950B1 (en) 2018-03-21 2021-11-09 Pure Storage, Inc. Secure cloud-based storage system management
US10838833B1 (en) 2018-03-26 2020-11-17 Pure Storage, Inc. Providing for high availability in a data analytics pipeline without replicas
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11392553B1 (en) 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US11128578B2 (en) 2018-05-21 2021-09-21 Pure Storage, Inc. Switching between mediator services for a storage system
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US11455409B2 (en) 2018-05-21 2022-09-27 Pure Storage, Inc. Storage layer data obfuscation
US10871922B2 (en) 2018-05-22 2020-12-22 Pure Storage, Inc. Integrated storage management between storage systems and container orchestrators
US11055002B2 (en) * 2018-06-11 2021-07-06 Western Digital Technologies, Inc. Placement of host data based on data characteristics
US11301376B2 (en) 2018-06-11 2022-04-12 Seagate Technology Llc Data storage device with wear range optimization
US11416298B1 (en) 2018-07-20 2022-08-16 Pure Storage, Inc. Providing application-specific storage by a storage system
US11403000B1 (en) 2018-07-20 2022-08-02 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11954238B1 (en) 2018-07-24 2024-04-09 Pure Storage, Inc. Role-based access control for a storage system
US11632360B1 (en) 2018-07-24 2023-04-18 Pure Storage, Inc. Remote access to a storage device
US11146564B1 (en) 2018-07-24 2021-10-12 Pure Storage, Inc. Login authentication in a cloud storage platform
US11860820B1 (en) 2018-09-11 2024-01-02 Pure Storage, Inc. Processing data through a storage system in a data pipeline
EP3627308A1 (en) 2018-09-20 2020-03-25 STMicroelectronics Srl A method of managing memories, corresponding circuit, device and computer program product
US10671302B1 (en) 2018-10-26 2020-06-02 Pure Storage, Inc. Applying a rate limit across a plurality of storage systems
US11379254B1 (en) 2018-11-18 2022-07-05 Pure Storage, Inc. Dynamic configuration of a cloud-based storage system
US11526405B1 (en) 2018-11-18 2022-12-13 Pure Storage, Inc. Cloud-based disaster recovery
US11340837B1 (en) 2018-11-18 2022-05-24 Pure Storage, Inc. Storage system management via a remote console
US10963189B1 (en) 2018-11-18 2021-03-30 Pure Storage, Inc. Coalescing write operations in a cloud-based storage system
US11650749B1 (en) 2018-12-17 2023-05-16 Pure Storage, Inc. Controlling access to sensitive data in a shared dataset
US11003369B1 (en) 2019-01-14 2021-05-11 Pure Storage, Inc. Performing a tune-up procedure on a storage device during a boot process
US11042452B1 (en) 2019-03-20 2021-06-22 Pure Storage, Inc. Storage system data recovery using data recovery as a service
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11068162B1 (en) 2019-04-09 2021-07-20 Pure Storage, Inc. Storage management in a cloud data store
US11327676B1 (en) 2019-07-18 2022-05-10 Pure Storage, Inc. Predictive data streaming in a virtual storage system
US11126364B2 (en) 2019-07-18 2021-09-21 Pure Storage, Inc. Virtual storage system architecture
US11392555B2 (en) 2019-05-15 2022-07-19 Pure Storage, Inc. Cloud-based file services
US11853266B2 (en) 2019-05-15 2023-12-26 Pure Storage, Inc. Providing a file system in a cloud environment
US11797197B1 (en) 2019-07-18 2023-10-24 Pure Storage, Inc. Dynamic scaling of a virtual storage system
US11526408B2 (en) 2019-07-18 2022-12-13 Pure Storage, Inc. Data recovery in a virtual storage system
US11487715B1 (en) 2019-07-18 2022-11-01 Pure Storage, Inc. Resiliency in a cloud-based storage system
US11093139B1 (en) 2019-07-18 2021-08-17 Pure Storage, Inc. Durably storing data within a virtual storage system
US11861221B1 (en) 2019-07-18 2024-01-02 Pure Storage, Inc. Providing scalable and reliable container-based storage services
US11086553B1 (en) 2019-08-28 2021-08-10 Pure Storage, Inc. Tiering duplicated objects in a cloud-based object store
US11693713B1 (en) 2019-09-04 2023-07-04 Pure Storage, Inc. Self-tuning clusters for resilient microservices
US11797569B2 (en) 2019-09-13 2023-10-24 Pure Storage, Inc. Configurable data replication
US11360689B1 (en) 2019-09-13 2022-06-14 Pure Storage, Inc. Cloning a tracking copy of replica data
US11573864B1 (en) 2019-09-16 2023-02-07 Pure Storage, Inc. Automating database management in a storage system
US11669386B1 (en) 2019-10-08 2023-06-06 Pure Storage, Inc. Managing an application's resource stack
US11531487B1 (en) 2019-12-06 2022-12-20 Pure Storage, Inc. Creating a replica of a storage system
US11733901B1 (en) 2020-01-13 2023-08-22 Pure Storage, Inc. Providing persistent storage to transient cloud computing services
US11720497B1 (en) 2020-01-13 2023-08-08 Pure Storage, Inc. Inferred nonsequential prefetch based on data access patterns
US11709636B1 (en) 2020-01-13 2023-07-25 Pure Storage, Inc. Non-sequential readahead for deep learning training
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11321006B1 (en) 2020-03-25 2022-05-03 Pure Storage, Inc. Data loss prevention during transitions from a replication source
US11301152B1 (en) 2020-04-06 2022-04-12 Pure Storage, Inc. Intelligently moving data between storage systems
US11630598B1 (en) 2020-04-06 2023-04-18 Pure Storage, Inc. Scheduling data replication operations
US11494267B2 (en) 2020-04-14 2022-11-08 Pure Storage, Inc. Continuous value data redundancy
US11921670B1 (en) 2020-04-20 2024-03-05 Pure Storage, Inc. Multivariate data backup retention policies
US11431488B1 (en) 2020-06-08 2022-08-30 Pure Storage, Inc. Protecting local key generation using a remote key management service
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11397545B1 (en) 2021-01-20 2022-07-26 Pure Storage, Inc. Emulating persistent reservations in a cloud-based storage system
US11853285B1 (en) 2021-01-22 2023-12-26 Pure Storage, Inc. Blockchain logging of volume-level events in a storage system
US11563744B2 (en) 2021-02-22 2023-01-24 Bank Of America Corporation System for detection and classification of intrusion using machine learning techniques
US20220365827A1 (en) 2021-05-12 2022-11-17 Pure Storage, Inc. Rebalancing In A Fleet Of Storage Systems Using Data Science
US11816129B2 (en) 2021-06-22 2023-11-14 Pure Storage, Inc. Generating datasets using approximate baselines
US11714723B2 (en) 2021-10-29 2023-08-01 Pure Storage, Inc. Coordinated snapshots for data stored across distinct storage environments
US11893263B2 (en) 2021-10-29 2024-02-06 Pure Storage, Inc. Coordinated checkpoints among storage systems implementing checkpoint-based replication
US11914867B2 (en) 2021-10-29 2024-02-27 Pure Storage, Inc. Coordinated snapshots among storage systems implementing a promotion/demotion model
US11922052B2 (en) 2021-12-15 2024-03-05 Pure Storage, Inc. Managing links between storage objects
US11847071B2 (en) 2021-12-30 2023-12-19 Pure Storage, Inc. Enabling communication between a single-port device and multiple storage system controllers
US11860780B2 (en) 2022-01-28 2024-01-02 Pure Storage, Inc. Storage cache management
US11886295B2 (en) 2022-01-31 2024-01-30 Pure Storage, Inc. Intra-block error correction

Family Cites Families (25)

* 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
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 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
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
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
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
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
JP3472008B2 (ja) * 1996-01-16 2003-12-02 株式会社東芝 フラッシュメモリ管理方法
US5860082A (en) 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
KR100297986B1 (ko) 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
EP1027653B1 (de) 1998-09-04 2004-09-15 Hyperstone AG Zugriffssteuerung eines speichers beschränkter löschhäufigkeit
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
EP1281123A1 (en) * 2000-05-04 2003-02-05 Koninklijke Philips Electronics N.V. Method, system and computer program for data management on a storage medium
KR100644602B1 (ko) * 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI385669B (zh) * 2008-07-23 2013-02-11 Phison Electronics Corp 用於快閃記憶體的平均磨損方法、儲存系統與控制器
TWI385517B (zh) * 2008-12-05 2013-02-11 Apacer Technology Inc Storage device and data management method

Also Published As

Publication number Publication date
KR20050065632A (ko) 2005-06-29
ATE388440T1 (de) 2008-03-15
JP4372013B2 (ja) 2009-11-25
DE60319563D1 (de) 2008-04-17
EP1559016A1 (en) 2005-08-03
JP2006504197A (ja) 2006-02-02
TW200422830A (en) 2004-11-01
DE60319563T2 (de) 2009-03-19
CN100385415C (zh) 2008-04-30
CN1701308A (zh) 2005-11-23
EP1559016B1 (en) 2008-03-05
US20040080985A1 (en) 2004-04-29
AU2003270527A1 (en) 2004-05-25
KR100914089B1 (ko) 2009-08-27
US6831865B2 (en) 2004-12-14
WO2004040458A1 (en) 2004-05-13

Similar Documents

Publication Publication Date Title
TWI261168B (en) Non-volatile memory system with erase counts stored in an erase count block
TWI297893B (en) Method and apparatus for managing an erase count block
TWI247292B (en) Maintaining an average erase count in a non-volatile storage system
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
EP1559018B1 (en) Wear leveling in non-volatile storage systems
US20070150645A1 (en) Method, system and apparatus for power loss recovery to enable fast erase time
CN107168886A (zh) 数据存储装置及其操作方法
CN110674056B (zh) 一种垃圾回收方法及装置
CN107967119A (zh) 存储设备、存储系统和计算设备
TW200917261A (en) Wear leveling method and controller using the same
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
CN109815158A (zh) 进行系统备份的方法、记忆装置及控制器、及电子装置
KR100932801B1 (ko) 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체
JP2007323159A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Legal Events

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