[go: up one dir, main page]

TWI303365B - Non-volatile memory system and the related methods ofoperation - Google Patents

Non-volatile memory system and the related methods ofoperation Download PDF

Info

Publication number
TWI303365B
TWI303365B TW093140967A TW93140967A TWI303365B TW I303365 B TWI303365 B TW I303365B TW 093140967 A TW093140967 A TW 093140967A TW 93140967 A TW93140967 A TW 93140967A TW I303365 B TWI303365 B TW I303365B
Authority
TW
Taiwan
Prior art keywords
data
block
memory
blocks
parallelism
Prior art date
Application number
TW093140967A
Other languages
English (en)
Other versions
TW200535608A (en
Inventor
Carlos J Gonzalez
Mark Sompel
Kevin M Conley
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 TW200535608A publication Critical patent/TW200535608A/zh
Application granted granted Critical
Publication of TWI303365B publication Critical patent/TWI303365B/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
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

l3〇3365 九、發明說明: 【發明所屬之技術領域】 本發明係關於非揮發性快閃記憶體之操作,更明確地說 係關於極大記憶體單元區塊之管理。 【先前技術】 目前存在許多商業上成功的非揮發性記憶體產品,特定 5之係小外型因數卡的形式,其使用形成於一或多個積體 電路晶片上的快閃EEPROM(電可抹除及可程式化唯讀記憶 體)單元之陣列。通常但不—定位於分離積體電路“上的_ 記憶體控制器接合至與該卡連接的主機,並控制該卡内之 記憶體陣列的操作。此一控制器通常包括微處理器、某非 揮發性唯讀記憶體(read-〇nly-mem〇ry ; R〇M)、揮發性隨機, 存取記憶體(rand〇m-aCcess-memory ; RAM)及一或多個特殊> 電路,例如在資料之程式化及讀取過程中於資料穿過控制 , 器時藉由資料計算錯誤校正碼(err〇r_c〇rrecti〇n_c〇de ; ecc) 的包路。一些市售卡為c〇mpactFlashTM(CF)卡、多媒體卡 (MultiMedia card ; MMC) ^ ^^#Ui(Secure Digital ; SD) # =智慧媒體卡、個人標籤(p_Tag)及記憶棒卡。除記憶卡 貫施方案外,可將此類型之記憶體系統嵌入各種類型之主 機系統。 兩種—般記憶體單元陣列架構已得到商業應用,職及’ NAND。在典型N〇R陣列中,將記憶體單元連接在相鄰位元) 線源極與汲極擴散間’其沿關於控制閘極(與沿單元列延伸 的子7L線連接)之行方向延伸。記憶體單元包括至少一個儲 98460.doc 1303365 存元件’其位於源極與汲極間的單元通道區域之至少一部 分上。儲存元件上之電荷的程式化位準從而控制單元之操 作特性’然後可藉由向定址記憶體單元施加適當電壓而讀 取單元。美國專利第 5,〇7〇,〇32、5,095,344、5,313,421、 5,315,541、5,343,063、5,661,053及 6,222,762號中提供此類 單元之範例、其在記憶體系統内之使用及製造其之方法。 NAND陣列使用兩個以上(例如16或32個)記憶體單元之 序列串,其與個別位元線間之一或多個選擇電晶體與一參 考電位連接,以便形成單元行。字元線延伸穿過大量該等鲁 仃内的單元。藉由硬開啟串内的剩餘單元而在程式化過程 中讀取並驗證行内之個別單元,使得流過串之電流取決於 儲存在定址單元内的電荷位準。美國專利第5,57〇,315、 · 5,774,397、6,046,935及 6,522,58G號中可找到 NAND架構陣, 列之範例及其作為記憶體系統之部分的操作。 ’ 當前快閃EEPROM陣列之電荷儲存元件,如前述參考專 利所說明並且係最普通的導電浮動閘極,通常由導電推雜 多晶石夕材料形成。可用於快閃EEPR〇M系統之替代類型的着 記憶體單元使用非導電介電材料取代導電浮動閉極,以採 用非揮發性方式來儲存電荷。由氧化石夕、氮化石夕及氧化矽 (ΟΝΟ)形成的三層介電質夾在導電控制閘極與記憶體單元、 通道上方的半導電基板表面之間。藉由從單元通道向氮化· 物注射電子來程式化單元,其中將電子捕獲並儲存於受限J 區域内,並藉由向氮化物注射熱電洞來抹除單元。於2〇〇2 ‘ 年1〇月25日提出的美國專利申請案第1〇/28〇,352號内說明 98460.doc 1303365 使用介電儲存元杜 盘大夕/ 種特定單元結構及陣列。 陣列也存在縮小用於樣,快閃麵0⑽己憶體單元 區域之壓力。需要不ί: 體電路功能所需的石夕基板 數位資料之數量=加可館存於繼之給定區域的 if P ^ S加給定大小記憶卡及其他類型之 封裝的儲存容量,或者 料儲存密度之-方式為里並降低大小。增加資 件儲存多個資料位-μ 4體早^及/或每一儲存元 範圍之:= 可藉由㈣存元件電荷位準電壓 來完成。使用四個此類狀態 :母個早㈣存兩個資料位元,若使用八個狀態則每一 子^件可儲存三個資料位元,依此類推。美國專利第 5,〇43,940及5,i 72,338號中說明使料_極之多重狀態快 閃EEPR0M結構及其操作,使用介電浮動閑極之結構在前 述吴國中請案第1G/28(),352號中予以說明。由於各種原因, 多狀態記憶體單元陣列的選定部分 及—號内所述之方式採用兩種狀= 制)進行操作。 典型快閃EEPROM陣列之記憶體單元分為一起抹除的單 元之離散區塊。就是說區塊係抹除單位,即可同時抹除 最小數量的單元。每個區塊通常儲存一或多個資料頁面, 頁面為程式化及讀取的最小單位,儘管單_操作中可^气 化或讀取多個頁面。每個頁面通常儲存一或多個資料區 段,區段大小由主機系統加以定義。一示範性區段包括Η】 個位元組之使用者資料,其遵循磁碟驅動器所建立 * 之才示 98460.doc 1303365 、;口及$婁文夏之位元組的關於使用者資料及/或儲存盆 之區塊的負擔貧訊。許多系統通常配置成 16、32或更多的頁面 充内具有 的資料。 頁面儲存一個或一些主機區段 為增加將使用者資料程式化至記憶體陣列内以 體陣列讀取使用去次少L , " 、 吏用者貝枓之過程中的並行程度,陣列通常分 為子陣列(-般稱為平面)’其包含本身的資料暫存器及提供 ^打操作的其他電路,以便可同時將資料區段程式化至各 :面内或從各平面讀取資料區段。單一積體電路上之陣列 實體上:分為平面,或者可由分離的一或多個積體電路晶 片形成每個平面。美國專利第5,798,968及5,89G,i92號中說 明此一記憶體系統之範例。 為進一步有效管理記憶體,可將區塊作為元區塊鏈接在 一起,就是說將每個邏輯可定址元區塊係定義成包括來自 。平面之一個貫體區塊。國際專利申請公開案第WO 02/058074號中說明元區塊之使用。藉由共同邏輯位址將元 區塊識別為用於程式化及讀取資料之目的地。同樣,元區 塊之全部區塊一起予以抹除。採用此類大區塊及/或元區塊 刼作的記憶體系統内之控制器執行許多功能,包括自主機 接收之域輯區塊位址(l〇gical bl〇ck address ; LBA)、實體區 塊編號(physical block number ; PBN)及記憶體單元陣列内 之頁面位址間的轉換。此轉換通常包含邏輯區塊編號 (logical block number ; LBN)及邏輯頁面的中間項之使用。 5己fe、體糸統控制裔、較佳的係能夠藉由其結構及控制勒體 98460.doc 1303365 在主機對其施加的各種狀況下導致程式化及讀取資料。作 為一範例’可在高速率之速度下接收聲訊、視訊或其他流 動資料’並呼叫記憶體系統以即時儲存資料。作為另一範 例,主機可導致記憶體系統每次程式化或讀取資料之一區 段,例如發生於寫入或更新陣列内儲存的檔案配置表⑴ie allocation table ; FAT)時。 通常更新儲存於元區塊之資料,更新之可能性隨元區塊 之資料容量增加而增加。通常將一元區塊之更新區段寫入 另一元區塊。未改變之區段通常亦作為相同程式化操作之 部分從原始元區塊複製到新的元區塊,以整理資料。或者, 未改麦資料可保留在原始元區塊内,直至稍後與更新之資 料再次整理成單一元區塊。 【發明内容】 依據本發明,程式化資料的記憶體單位之大小調適成由 主機加以程式化的資料之特性及數量。當藉由將資料寫入 凡區塊提供的高度並行之優點超過增加資料整理實例(出 現於特疋情況下)的缺點時,將資料區段寫入比邏輯上一起 鏈接於一元區塊内的區塊數量要少的區塊内,·例如在單一 平面内之一或多個區塊内依順序加以程式化。 當相對於元區塊容量加以程式化的資料區塊之數量值得 利用高度並行之優點時,將資料區段平行地寫入元區塊之 全部區塊。然而,當特定資料程式化操作僅包含相對於元 區塊儲存容量的少量資料區段時,最終增加的資料整理操 作可損壞之性能將超過較高並行之優點,此情形中無法實 98460.doc -10- 1303365 現使用元區塊所提供的並行優點。 依據本發明之特定方面,根據主機寫入命令内及/或一系 列寫入命令内所包括的區段數量,記憶體控制.器採用高度 並行將許多資料區段適應性地程式化為—元區塊或採用低 度並行將其耘式化為比構成一元區塊之數量更少之區塊。 可將資料程式化為M個實體區塊之完整元區塊,其中M等於 4、8或某另-整數,或者程式化為更小數量區塊之一單位, 例士 M/2 M/4、M/8 4等,其取決於用於對映至此類實體 區塊的邏輯區塊之主機資料程式化圖案。在特定類型之主 機耘式化紅作中,單一貧料區段之程式化(通常隨主機更新 FAT表等操作㈣而發生於正f操作中)係針對單—區塊, 而非元區塊或子元區塊。元區塊每次並非用於程式化一個 區段。元區塊也不可能僅用於具有邏輯順序位址的一些區 段(其會藉由平行程式化擴展至元區塊之數個區塊)之程式 化操作,從而每次僅產生寫入元區塊之各區塊的一或一些 資料區段。此-情形較佳的係使用單—區&。此避免了必 須將來自元區塊之全部數個區塊的資料整理至新區塊及原 始區塊内,彳之而每次更新元區塊之一些區段時抹除原始區 塊。具有單一區塊之此類資料整理僅導致單一區塊抹除, 從而使得記憶體之程式化及抹除週期(磨損)(其可縮短其有 用壽命)的數量更少。 依據本發明之另一特定方面,若可能提供最佳性能特 性,將採用一並行度存取所儲存之資料轉換為採用另一並 行度存取。例如,當對元區塊之資料寫入已改變時,對元 98460.doc -11 - 1303365 區塊之平行程式化可轉拖兔斟留 丁 、 粉換為對早一平面内之區塊的順序程 式化,以便可改進性能。,卜μ ^ . t 此此一轉換包括將來自元區塊之區 塊的貧料複製到單-平面内的其他區塊。相反地,對單— 平面内之區塊的順序程式化可轉換為元區塊内之平行程序 化’以改進性能,包括將來自原始區塊之資料複製到元區 塊内。 在一示範性實施方案内’可將模式位元儲存於快閃記情 體陣列内並與個別區段使用者資料相關聯,以指定該區段 是與元區塊内的其他區段平行地加以程式化,還是與單: 區塊内其他區段以邏輯順序加以程式化。模式位元可與區 奴之使用者資料一起儲存,或者作為包含用於許多使用者 資料區段之負擔資料的另一區段之部分。當主機命令讀取 或重新程式化一區段之使用者資料時,藉由讀取此位元, 抆制裔以適當模式存取該區段。初始操作期間,控制器以 平行模式運作,但將對主機程式化命令(指定一或一些區段 寫入操作之序列)作出回應而改變至順序模式。控制器接著 改、艾與受影響資料區段相關聯之模式位元,並依順序程式 化使用者資料。當從主機接收一或多個程式化命令(指定超 過臨界數量之區段的需要一起加以程式化之一數量的資料 區段)時’控制器之操作可切換回至平行程式化模式。 另外,特定實施方案中,每個元區塊由來自記憶體陣列 之數個或全部平面的各平面之一區塊形成。接著以兩個主 要模式之一程式化及讀取使用者資料。第一主要模式中, 橫跨元區塊之多個區塊平行地程式化許多連續定址資料區 98460.doc 12 1303365 $ 導致資料區段無順序地儲存於個別區塊内。其橫跨 形成元區塊之平面交錯。第二主要模式中,將資料區段依 順序寫人%區塊之個別區塊内。控制器亦對平行與順序程 綱的資料區段之變化作出回應,_指定穿過平面 (第一模式)或在卜平®内依順序(第二模式)延伸的實體 位址間的順序。此可包括在區塊間移動資料。記憶體系統 通系以4等兩個模式之不同模式操作不同區塊,以便增加 吞己憶體系統之性能。 本發明之其他方面、優點與特徵包括在以下對範例性範 例之。兄明巾,且應結合附圖進行說明。本文參考的所有專 利:專利申請案、論文及其他公開案基於所有目的以提及 方式全部併入本文中。 【實施方式】 ,圖1概略性顯示一電子系統’例如一電腦系統’其包括可 併=本發明之各方面的快閃記憶體线。此電子系統之一 些範例包括桌上型電腦、筆記型電腦、手持式電腦、掌上 5L 电月自個人數位處理(pers〇nal digital ; pDA)、 /、他聋汛播放益、數位相機、攝像機、電子遊戲機、 無線及有線電話裝置、錢機、語音記制、網路 等等。 °° 圖1之此電子系統包括與隨機存取主要系統記憶體25 起連接至系統匯流排23的處理器或微處理器21以及至少一 或^固輸入輪出裝置27,例如鍵盤、監視器、數據機等等。 另一連接至典型電腦㈣匯流排23的主要電腦系統組件為 98460.doc 1303365 大量長期、非揮發性記憶體。與如dram(動態RAM)或 SRAM(靜態RAM)等揮發性記憶體相比,非揮發性記憶體即 使在電源從裝置移除後仍保留其儲存的狀態。通常,此一 圮憶體為使用磁性或光學技術之磁碟機,其具有兆位元 組、十億位元組或兆兆位元組之資料儲存容量。將此等資 料擷取至系統揮發性記憶體25内,以便用於當前處理,並 且可容易地加以補充、改變或更改。 在圖1之情形中,大容量儲存記憶體為非揮發性快閃記憶 體系統29。記憶體29可為可移記憶卡之形式或者可永久性 聯結至(嵌入)電腦系統内。記憶體系統29包括控制器Μ,其 與電腦系縫流排23連接,以及由—或複數個積體電路晶 片形成的圯憶體單元陣列33。主要在線路35上自控制器Η 向記憶體單元陣列33傳達資料及指令。同#,·在線路;7上 自記憶體單元陣列33向控制器31傳達資料及狀態信號。資 料線35及37可為串列或並列式,其取決於實施方案。圖^ 中未顯示控制器31與陣列33間之其他控制及狀態電路。一 些系統中’將控制器31嵌入電腦系統内,並將記憶體單元 陣列33封裝至可移卡内。 車歹J 33可以每個電荷儲存元件或區域儲存—個資料位元 的方式加以操作。或者,可採用每個記憶體單it電荷儲存 爾區域儲存多個資料位元(稱為多狀態或多位準單元) 的方式而操作陣列3 3。 圖2顯示一示範性記憶卡架構,其包括執行 憶體控制功能之單一控 主機介面及記 制器積體電路晶片121以及由複數 98460.doc -14- 1303365 個積體電路晶片127構成之快閃記憶體單元陣列。系統控制 器及記憶體單元陣列晶片藉由匯流排丨24加以連接,匯流排 124使命令、位址及資料可在控制器ι21與記憶體晶片I” 之間傳輸。應注意,雖然此係典型組態,一些記憶體系統 並無專用控制器,而依靠主機系統之直接控制。 通行的做法為每個區段之主機資料(程式化至區段内)隨 附一錯誤偵測及校正碼(ECC),其用於決定該等儲存之資料 的有效性。一些此類系統接著以確保資料未被毀損之方式 才欢查藉由使用ECC讀取的資料之有效性。使用者資料之區 段亦可以標頭形式與ECC及其他負擔資料一起加以儲存。 存取記憶體陣列以程式化或讀敌,値良$ η为、」
時間改變,從而需要隨時 。一般需要係針對記憶體 98460.doc -15- 1303365 吕理,其在可能經歷的各種主機使用量圖案下最佳化記憶 體使用。 圖3顯示圖丨及2之記憶體單元陣列的一範例。此範例中, : 陣列包括兩個積體電路裝置快閃〇及快閃丨。當然,根據記 憶體系統之期望儲存容量可使用一或三個以上的裝置。每 個I置内之陣列部分分為四個平面〇至3,儘管其他具體實 施例中可使用2、3或4個以上的平面。複數個(Q個)頁面(頁 面為私式化及讀取的最小單位)包括在記憶體單元之各區 塊(抹除之最小單位)内,每個平面内包括複數個n區塊。頁籲 面具有儲存一或複數個主機資料區段的容量,以便每個區 塊儲存Μ個貧料區段,其可為每個區塊内Q個頁面之倍數。 每個平面具有其本身之電路,其存取記憶體區塊及平面内· 之頁面。通常,每個平面内僅同時寫入或讀取一個頁面。' 特疋/、體貫;^例中,母個區段包括5 1 2個位元組之使用者資 料每個區段亦可包括用於旗標、使用者資料ECC、各種 參數及其他負擔資料之額外位元或位元組。 _ : 數昼支配5己憶體系統可操作的可能並行度。並行度 代表可同日守加以程式化或讀取的頁面數量。並行度越大, 可同日守刼作之資料越多。並行度可為1、2或更大。高並行 f下,控制器執行邏輯至實體位址轉換,以便可一次存取' 平面内之夕個頁面。具有連續邏輯位址之許多資料區” 5 t加以存取。此區段數量等於平行存取之頁面數量 乘以各頁面内所儲存之區段數量。對於並行度為一的情— /、在本文中稱為逐一模式。在此最低並行度下,每次 98460.doc -16- 1303365 =子取一個平面之一個頁面。此情形中,每次可存取具有 連,邏輯位址(可儲存於單—頁面内)之許多個主機資料區 段0 控制器可藉由具有連續邏輯 1共知疋在來自主機之 寫入命令内)之資料區段數量來決定將資料程式化至記情 體内的並行度。一些主機命令指定需要在單一命令内加以 程式化的大量連續資料區段。控制藉由將f料寫入具有 更高數量之並行的記憶體而對此類型之命令作出回應,如 圖4所示之範例。其他主機命令僅缺具有需要寫入之連續 邏輯位址的-或少量資料區段’並且以最小並行度執行此 命令,如圖5所示之範例。 在所說明之特定記憶體實施中,可將多個資料區段同時 程式化至多個實體頁面内,每個平面内一個資料區段,以 便獲得最大並行度。此可提供更高性能之資料寫入。特定 言之,對於四個平面,可同時寫入至多四個頁面,使得記 憶體之操作比每次僅可寫入一個區段之資料的記憶體至多 快約四倍。程式化該數量之資料所需要的分離程式化操作 之數量大大減小。作為另一範例,對於具有八個平面之記 1¾粗’具有隶局並行的此記憶體之程式化比每次僅可將資 料程式化至一個頁面内的記憶體至多快約八倍。 多平面記憶體組織中,來自每個平面之區塊可邏輯地分 組在一起’以便形成元區塊。包括顯示其頁面之線路的圖3 之八個區塊的組合為元區塊之範例。元區塊為包含某連續 主機位址範圍内之區段資料之區塊的邏輯分組。子元區塊 98460.doc 1303365 為元區塊内作為一組或一單位加以管理的區塊子集。一旦 將7L區塊分割為子元區塊,出於資料管理目的,每個子元 區塊貫質上與具有減小並行之元區塊一樣管理,因為子元 區塊内之資料藉由本身整理,而與元區塊之其他部分無 關。圖3中,例如,每個裝置上的四個區塊可形成元區塊或 子兀區塊,而非將元區塊延伸橫跨在兩個裝置上。 以下說明使用下列辭彙··⑴一原始區塊為一元區塊或子 元區塊,丨包含某一原始資料集;⑺一更新區塊為一元區 塊或子元區塊,其包含來自原始區塊之一些資料或自原始 區鬼複製的些資料的更新版本,或者兩者;以及(3) 一邏 輯區塊或子元區塊為對映至實體元區塊或子元區塊之主機 邏輯區段集,而與區塊之實體位置無關,或與資料是否包 S於單位置内或原始區塊及更新區塊内無關。 邏輯元區塊為位於實體區塊集(在給定時間形成元區塊) 與主機所管理(以包含某範圍之資料)的邏輯構造之間的中 間單位’而與貝料在任何給定時間駐存的實體區塊無關。 此外,元區塊可對映至數個記憶體電路晶片中,以便若一 電路晶片上之記憶體單元陣列包含!^個平面時,若對映至兩 個晶片中,元區塊包含至多2N個區塊,或若對映至更多晶 片中,則包含更多區塊。 藉由控制器將具有給定邏輯區塊位址(1〇gicai M〇ck address; LBA)之資料對映至由實體區塊編號(却⑽心以 _ber; PBN)所識別之+面内的特定實體記憶體區塊中。 構成70區塊之區塊的pBN*必相同。圖6顯示由各平面内具 98460.doc -18- 1303365 有不同實體位置之數個區塊形成的示範性元區塊。另外, 由於構成元區塊或元區塊之部分的區塊在記憶體系統操作 過程中改變,各平面内之區塊的相對位置不必保持固定, ’ 但可重新定位於彼此獨立的各平面内。 - 當用新資料更新區段時,將與給定區段相關聯之區塊複 製到該平面内之新區塊中。該區塊可位於平面内的任意 處。圖7顯示關於將子元區塊移動至一些其他任意實體區塊 的範例。 配置成最大並行之元區塊最適合存取具有順序邏輯位址 的多個資料區段之主機命令。當每個主機讀取或寫入命令 之區段的數量匹配或超過可平行存取之區段的數量時,可 實現高等級之性能。採用每次操作越來越多數量之區段命 … 令的主機命令實現遞增增益,因為其可減小與發出個別命 \ 令相關聯之每個區段的處理負擔之數量。 當主機母一平面僅寫入一個區段,然後寫入陣列内其他 位置時’會表現採用元區塊操作記憶體之缺點,因為需要 馨 整理部分更新之元區塊内的資料。此整理可將來自原始元 區塊之全部未改變資料區段複製到程式化已更新資料之新 元區塊内,然後抹除原始元區塊内之全部區塊。在具有8 平面、每區塊64頁面及每一頁面内儲存i資料區段的記憶體 、 陣列之情形中,限定504區段之複製及8區塊之抹除。相反 地,若將新資料區段寫入並行度為一的子元區塊,則整理 限疋5 6區段複製及單一區塊抹除’因僅需更新一些資料區 段,故負擔大大減小。 98460.doc -19- 1303365 資非連續寫入將加速記憶體磨損,因為與整理及 停止目關:之抹除會磨損記憶體。每個記憶體區塊在 :。、/操作前具有可忍对的有限數量之抹除及程式化週 计^之取大數量取決於記憶體陣列之結構及必須保持 儲存狀態的精確度’以及其他因素。此數量可低至 週期或可極大,例如100,_週期或更多,但重要的 =維持記憶體系統内全部區塊之可操作性。為將磨損減至 最小,較佳的係將區塊抹除減至最小。 以下為重新定位元區塊、子元區塊或任一項之部分及/或 整理資料的各種情況: (1)當主機將一或多個資料區段重新寫入區塊時。此時, 系統將抹除區塊配置為更新區塊,並將重新寫入資料寫入 更新區塊。通常出現原始區塊内之一些或全部未改變資料 亦被複製到更新區塊,並更新系·統内維持的邏輯至實體位 址轉換,以便隨後對接收到針對相同邏輯位址之資料的請 求而作出回應,定址新區塊。若儲存於原始區塊之全部資 料已藉由程式化更新區塊(透過主機之資料複製或資料重 新寫入)而得以取代,則抹除原始區塊。 (2) 右需要將抹除之區塊配置為更新區塊,但無預抹除區 塊可用’特定言之係在原始區塊駐存的平面内,則將兩個 或更多其他區塊内之資料整理至一或多個其他區塊。接著 抹除已移除全部資料之一或多個區塊,使其可用作當前程 式化操作之更新區塊。 (3) —項具體實施例中,系統可僅整理需要提供更新區塊 98460.doc -20 - 1303365 所需之平面内的元區塊之部八 μ & 兄< 口P刀。剩餘平面内元區塊之區塊 可根據需求隨後加以整理,相悉丨 1主視剩餘平面内更新區塊之需要。 (4)另一替代具體實施例中 已整理之元區塊藉由主機得 ’在某些平面而非其他平面内 以寫入,並需要已整理的該等 平面内之抹除區塊。不必穿么敕 凡王t理任何給定元區塊内之資 料(廢料收集),相反,各平面内 、 τ田門之區塊獨立地加以管理,以 提供區塊之應需整理及配置。佑 .σ ^ 31依此方式,糸統操作期間可 將子元區塊移動至新實辦. 凡不夕π王啊員骽位址,而與給定元區塊之其他部
分無關。
當儲存資料時,控制ϋ可藉由以提供高速操作之方式將 資料區段對映至實體區塊内而進一步組織記憶體寫入。圖4 顯示以提供最大存取内並行的方式橫跨平面⑴之記憶體 的又錯,此範例中為4Χ平行交錯。平行交錯指將記憶體格 式化成順序定址主機區段在平面間交錯,就是說在不同平 面之頁面内平行地同時程式化多個連續定址資料區段。將 貝料程式化至形成另一元區塊之下一系列區塊前,將資料 同蛉程式化至構成一元區塊的各平面之一區塊内。圖4之範 例假定僅將一個資料區段儲存於區塊之個別頁面内,控制 态將一第一區段,區段0,寫入平面〇内之一區塊,將第二 區I又,區段1,寫入平面!内之一區塊,將一第三區段,區 段2’寫入平面2内之一區塊,以及將第四區段,區段3,寫 入平面3内之一區塊。記憶體之此組織可稱為平行對映。此 十月形中,此為「逐四」或「Χ4」或r 4Χ」交錯。藉由將資 料寫入組織成此格式,使來自主機之連續定址進入資料, 98460.doc -21- 1303365 通常為位元流, 客# ° 式寫入,因為每次程式化四個 不同平面内之四個區段。 特疋“方案中’藉由與每個平面相關聯之緩衝器(其可 為曰連績接收進入資料,並依據控制器如何交錯記憶 a —气存态將貪料平行地寫入非揮發性記憶體單元内。 =憶體單元之特定交錯可藉由相應地格式化記憶體而獲 付。可依據寫人資料之相同交錯格式從記憶體擷取資料。 對映記憶體有❹不同方式,包括其他平行交錯程度。 可有比平行交錯程度更多的平面。例如,即使存在四個平 面用於特定程式化操作之平行交錯僅可同時存取兩個平 面:此:稱為為「逐二」或「x2」或「2χ」交錯。亦可採 用「逐三」或「Χ3」或「3Χ」交錯操作記憶體。 ,圖5顯示記憶體之逐-交錯。並行度為―。有時此稱為非 亚仃,因為每次藉由—個平面内之單—頁面進行存取。圖$ 中,依順序將區段寫入-個區塊,直至填滿該區塊之全部 頁面,然後寫入操作繼續至另一區塊。此可稱為為「逐一」 或「XI」交錯。 一時序範例說明圖4及5之交錯間的性能差異。依據圖5, 要寫入四個連續區段,依順序將單—平面之資料暫存器填 充四次,並依順序執行寫人四:欠。若暫存器载人消耗⑸殼 秒,並且寫入消耗丨微秒,則總時間為·杉25微秒+4*1〇〇〇 微秒=4U)0微秒。但若採用圖4之平行寫入,四區段寫入仍 包含四個資料暫存器依次載入,但僅需—次寫入操作。總 時間為:4*25微秒+ 1000微秒=11〇〇微秒。此4χ平行對映比 98460.doc -22- 1303365 IX對映之性能提高了 3·7倍。由於不同記憶體具有不同時序 特性’該等特定數字僅用於提供比較範例。 控制器或記憶體内可儲存交錯指示器位元,以便使控制 器知道已如何儲存資料區段。採用交錯指示器位元,控制 器可決定儲存更新資料或讀取資料之序列。例如,記憶體 上的每個區段可具有包括的一或多個指示器位元,以指示 已如何儲存區段。對於四平面記憶體,存在7個可能記憶體 父錯組態。該等交錯指示器位元不包括使用者資料位元及 其他負擔位元,例如ECC。或者可將指示器位元分離地儲 存於表格内,而非標頭内。 單σ己隱體陣列隶常具有採用不同交錯加以存取的區 塊。例如,相同記憶體可具有藉由逐一方式(圖5)加以儲存 的一些資料及藉由逐四方式(圖4)加以儲存的其他資料。區 段交錯指示器位元指示在一或多個區塊内儲存區段的交 錯。例如,第一資料檔案可採用逐一交錯儲存於記憶體内, 儲存於第一子元區塊内的區段之指示器位元指示此狀況。 第二資料檔案可採用逐二交錯儲存於子元區塊内,如此儲 存的區段之指示器位元指示此狀況。第三資料槽案可採用 逐三交錯以相同方式儲存於子元區塊内。在單一記憶體陣 列内,可用該等方式中的數種方式組織各種記憶體單元區 塊。 控制器根據主機程式化命令之性質決定如何引導資料。 例如,若主機要更新!?…檔案系統(]^3_]〇〇3檔案格式),各 資料寫入命令通常將指定單一區段。就是說,對各主機寫 98460.doc -23- !3〇3365 入命令作出回應,僅將一個區段程式化至快閃記憶體内。 此情形中’可將資料依順序儲存於記憶體之單一區塊而非 元區塊内,即逐-操作。在另一類型之資料程式化操作中, 其中程式化極大標案’主機寫入命令指定極大量之資料區 段,其需要以邏輯位址序列加以寫人,邏輯位址可佔據: 少一個元區塊之大部分或全部。控制器對主機活動作出回 應,以匹配並行度與資料寫入性質。 除在決定如何將邏輯位址對映至實體位址時對個別資料 寫入命令作出回應外,控制器可監視主機寫入命令之圖, 案。此監視可包括保持主機已存取特定區塊或多個區塊之 次數的計數。此資訊可作為貞„料儲存㈣料區段(儲存 於纟亥寺區塊内)内,或分离鱼. ) ^刀雕貫體區塊内。儲存之數字的分析· 可包括比較臨界數字’或比較兩個或更多存取使用量圖荦. 之頻率差異與臨界數字。此資訊(例如)可詩識別頻繁地重 新寫入資料之元區塊’該情形中控制器可決定將具有相同 邏輯位址之未來寫入改為對映至單一區塊。此減小了作為· 資料更新之結果而必須整理的資料數量。 可藉由控制器監視並儲存的另一程式化特性為,由於主 機命令寫入而寫入一或容^ A夕個頁面或區塊的次數對由於控制 的啟動之資料t理(廢料收集)而寫入一或多個頁面或區塊 的次數。另-特性為’針對資料寫入存取區塊或元區塊之 v方'王口P頁面的久數’因為區塊或元區塊之重複部分存取 可U说降低將貝料寫人此—區塊的並行度之期望。另 外’藉由個別主機程式化命令寫入的區段數量統計可在決 98460.doc -24- 1303365 定邏輯位址對實體位址之斟扯 ^ ^ 之對映時加以維持及使用。例如, 不論主機寫入命令是否主鸯^ 要扣疋—個,每次需要寫入四個 或更多資料區段可非常有用。 個 儘管為解說概念之目的圖4及5之說 種交錯方案之一操作的積體電路農置,通常其並非::: 憶體的有效方式。每個裝置通常採用以下方式加以操作5: 其區塊之部分用以形成用於平行存取之元區塊(經圖句,立 區塊之其他部分每次存取一個(經圖5)。 ’ 如何橫跨平面來交錯區段位址存在某些優點及缺點。更 商程度之平行交錯的優點為可將順序定址區段平行地寫入 記憶體。較低程度之平行對映或順序對映的優點為其回岸 部分區塊更新時只需要複製較少資料,特定言之係當重新 寫入少量資料區段時僅需要廢料收集較少區塊。當重新寫 入儲存於元區塊之請的_部㈣,將駐存於未重新寫入 之原始區塊的資料複製到新區塊,並與新資料一起儲存。 若使用平行對映儲存資料,將需要重新寫入整個元區塊, 因為資料被擴展至不同平面令。然而,若使用順序對映將 =料儲存於子元區塊内,則僅需要廢料收集子元區塊内的 貧料。將需要與未重新寫入之任何資料一起重新寫入之資 料寫入新區塊内,並將新區塊與元區塊之其他區塊鏈接。 此可將需要執行的複製、寫入、重新寫入及廢料收集之數 量減至最小。 通4,在快閃記憶體單元可靠性可能減小至不可接受之 位準則,快閃記憶體單元具有有限數量之抹除及寫入週期 98460.doc -25- !3〇3365 :!如l_1〇〇,_週期間的某點因此,藉由將重新 寫入及寫入的數量減至最小,其增加了記憶體的壽命。減 小廢料收集數量亦改進了性能,因為廢料收集乾費時間。 以下實施方案為本發明的使用快閃記憶體之特定具體實 施例。然而,快閃記愔鍊說m 1 、 、 〜旦僅用作一範例,本發明可使用其 礼體技術。特疋具體實施例中,本發明處理儲存裝置, 3多個區段「區塊」之快閃記憶體裝置。將區塊定義 個抹除操作抹除的記憶體數量。換言之,區塊為 抹除早位。明確地說,本發明解決用於該等區塊之對 存取的機制。 當主機:置存取快閃記憶卡時,存在數種特性使用量圖 〃 AT檔案系統產生兩種不同圖案:(l)FAT内之單一區段 ^目錄區域’及⑺儲存裝置之使用者資料區域内的多個區 :。若容量有片段,對於特定應用,使用量進—步為 機」而非有順序的。 主機可L·由各種主機使用量圖案存取快閃記憶體 =量_為單-區段模式,其中每次僅存取—個區段。 二用量:案為多重區段,該情形中儲存系統橫跨每個 、^置内的多個平面同時存取每—平面的_個區段。 本發明匹配非揮發性記憶體之主機使用量圖案間的並行 、1一^及如何組織或格式化非揮發性記憶體。並行度可為 ::、稱為順序式)、逐二、逐三、逐四模式,依此類推。 ^區二順^存取f法在繼續至下一區塊前處理區塊内之每 -又、亥存取每次限於一個區塊。平行存取方則大於逐 98460.doc -26- 1303365 一存取)在一操作中處理來自每個平面内之區段,而非數個 順序或逐一操作。平行操作藉由增加通量提供更高性能。 該等兩種方法在性能及磨損方面具有優點及缺點。 本發明監視主機存取並切換在記憶體内儲存資料之方 式,以便利用任一存取模式之記憶體磨才員及性能特性。 存在各種保持對映資訊之方法,起始LBA之表格僅為一 範例。保持在記憶體内之表格用妓位各實體記憶體區塊 之起始LBA。 區塊對映之適應性並行限定區段對映及區塊管理,藉由 僅在包含以新資料予以覆寫之區段的區塊上執行複製或抹 除操作或兩者’為快閃記憶體提供最佳寫人及抹除磨損性 月& 人u 貝料區&將針對單—區段並行而加以對映的區域之存取 限於每次—個寫人順較址區段,以便保持給㈣輯區塊 内之順序位址排序。平行存取(大於逐-存取)使每-平面之 -個區段可同時得以寫入’從而改進性能,改進倍數等於 平行寫入之平面的數量。例如,具有四個平面之裝置寫入 貧料之速度可比單一區段寫入快約四倍。具有八個平面之 裝置寫入資料之速度可比單—區段寫人快w倍。具有十 六個平面之裝置窝人咨粗、击 1冩入貝枓之速度可比單一區段寫入快 六倍。 圖8顯示當使用順序對映時的資料修改。為覆寫四個連續
區段將需要將新資料宫人划_ P 、枓寫入新£塊,並將舊資料複製到新區 塊’以及抹除舊區塊。僅需要發生一次抹除。複製處理不 98460.doc -27- 1303365 必複製已抹除之區段。 圖9顯示當使用平行對映時的資 區段將需要找到四個新區塊,並將 ^是寫四個連續 塊,以月姑队 ’、斤賁料複製到新區 以及抹除四個舊區塊。需要發生四次 主機寫入數量f: |耸夕次』丨# 右相對於 而要衫㈣整理操作,如_機或單-區 Μ取下可出現之情形’增加數量之抹 每個區段通常包含使用者資料 :曰曰片”。 査貝n咖貝枓及負擔資料。 ^以可包括區㈣、實體位址資訊及資料管理所 其他糸統相關資訊。本發明之一項具體實施例中,負擔:夂 訊包含管理資料對映之適應性方面所需的額外資訊:二 ,某數量之位元,以指示並行度、子元區塊之大小、區段 父錯或資料對映之其他指示。 作為-範例’若最大元區塊大小為四個區塊,則二位元 對映攔可用於指示並行度,嶋指示逐—模式,Gib指示逐 二模式,依此類推。此情況中,第一平面内之第一區塊具 有指示格式化其的並行度之對映攔,根據該對映攔,某其 他數量之區塊將包括在相同子元區塊内。例如,若第一值 為指不並行度二之〇lb,其指示僅元區塊内之下一區塊處於 相同子元區塊内。 為方便起見將保持此對映攔資訊,因為可能藉由從元區 塊内之各區塊的區段,或從給定區塊内之順序區段讀取邏 輯位址資訊來決定資料對映,並根據其決定佈置。例如, 若給定區塊内之前兩個實體區段遠離兩個邏輯位址,交錯 因數則為二,因此並行度為二。資料對映資訊可儲存於分 98460.doc -28- 1303365 離表格内’而非區段負擔資訊,以及每次針對給定元區塊 或子元區塊修改資料對映時加以更新。一項具體實施例中 將表格保持在記憶體裝置上的保留區域内之非揮發性記憶 體中。 X 口心 此外’-具體實施例中,保持追縱主機使用量及/或卡活 動之統計,以便詩稍後分析,從而衫最佳資料對映: 一項統計為在給定主機命令中寫入的區段數量。若此統計 與元區塊或子元區塊内之各區段一起加以儲存,可作為群 组分析統計並決定最佳並行度。料具體實_中,在寫 入區段時將此統計儲存於區段負擔内。另一具體實施例 中,可將統計暫時儲存於揮發性記憶體内,然後傳輪至揮 發性記憶體内的分離表格。 亦可針對寫入(例如)表格的每個區段或區塊累積統計, 以便累積各項之出現數量或相對出現數量, 值改變並行度。為累積之㈣,將統計裝人所允 亚行中。例如,若僅提供並行度一及四,於三個區段上操 作之寫入命令將與在四個區段上操作的主機命令一起累積 於一計數中,大於四個區段上的任何寫入命令將被裝入四 们區奴上之刼作的計數中。代表最大並行度之箱位藉 由命令區段計數除以最大並行而遞增。 作為一範例,若最大並行為四,則16個區段之主機寫入 將逐四計數遞增四。若區域主要寫入單一區段主機命令 貝J、、先汁將累積,指示最佳並行度為一。同樣,若區域 主要寫入四區段主機命令中,則統計將累積,指示最佳並 98460.doc -29- 1303365 行度為四。 、:-統計為區段是否由於主機寫入或由於資料整理而得 入itb類統#可累積’例如累積於分離表格内或個別 Y段之負擔内,並基於兩個機制間的相對數量或比率之某 界值則更累積各項之出現數量或相對出現數量,並根 據某臨界值改變並行度。例如,若決定區段主要係由於資 枓整理而得以寫入,則總體性能或持久力可在針對逐一並 行重新格式化區域時得以改進,以最小化資料整理活動内 所包含之區塊數量。 上述兩組統計可組合,以便使用第二統計到達一臨界 2 ’攸而使第-統計之評估可決定最佳並行度。—項具體 實施例中將保持此累積統計之表格保持在記憶體裝置上的 保留區域内之非揮發性記憶體中。應注意,累積統計不必 為每-區段而保持,而是以元區塊為基礎,或以更大區域 為基礎,例如元區塊分組。 系統可加以最佳化,以僅在關注區域保持累積統計,以 便節省空間。例如’用於給定區域之累積統計的維護可在 操作於一數量之區段(與最佳格式化區域之區段數量不同) 上的命令得以谓測時而加以啟動。此類寫入稱為非最佳寫 入命令。 例如,若針對逐一並行格式化區域,並在該區域内執行 四區段寫入,則其可啟動用於該區域之累積統計的儲存。 一旦非最佳寫入命令之數量超過一臨界值’系統將切換格 式化區域之並行度。累積統計可實施成計數器,其在一個 98460.doc -30- 1303365 主機區段計數出現後遞增,並在另_主機區段計數出現後 遞減。例如’若僅允許逐-及逐四並行,可隨單—區段寫 入的每次出現遞增單一計數器,並隨四區段寫入的每次出 現而遞減。當到達特定臨界值時,將切換區域資料組織。 儲存區塊存取模式資訊的另—方法為儲存用於對映系統 區域内所儲存之區段的區塊之模式位元。存取統計亦可儲 存於糸統區域内。 圖10顯示主機所執行的以下寫入操作序列後區塊之每個 £ 4又内之什數搁的範例: (1) 以區段〇開始的16區段之主機寫入; (2) 以區段16開始的8區段之主機寫入; (3) 區段24(僅1區段)之主機寫入; (4) 區段25之主機寫入; (5) 區段26之主機寫入; (6) 區段27之主機寫入; (7) 區段28之主機寫入; (8) 區段29之主機寫入; (9) 區段30之主機寫入;以及 (10) 區段31之主機寫入。 同時顯示的係收集之統計,其假定僅允許逐一(1405)及 逐四(1408)之並行度。單一區段寫入可執行八次寫入 (1405)。此統計係從對區段24至3丨之寫入而收集。逐四寫入 可執行六次寫入(1408)。更明確地說,存在一次16區段寫 入,其可分為四個四區段寫入,以及一次八區段寫入,其 98460.doc -31 - !303365 °刀為兩個四區段寫入。總數為六次四區段寫入。 根據收集的統計’可針對逐—或逐四對映重新格式化記 憶體。例如’何時從—個對映切換至另一對映的標準可基 於斗寸疋計數(例如X4)何時超過另一計數(χ1)。可使用其 準0 '亥I巳例亦顯TF用於χ1及χ4之收集統計的範例。然而,並 他具體實施财,可針對其他可能並行度(例如x5m6、) 追縱統計。 圖11顯示不同類型之區段對映方案的範例。當讀取各區 塊之ID以初始化轉換表時,獲得關於各區塊所使用之存取 的头識 項具體貫施例中為各區塊内之使用者資料 ίΜ置攸払頭5貝取存取模式位元,並將其寫入轉換表, 以指示該區塊之存取方法。區塊不必隨不同平面而連續。 圖η顯示平行區塊區段編號方案之範例、逐—或連續區 塊區段編號方案以及部分逐一存取及部分大於逐一平行區 段編號方案。部分逐—及部分大於逐—區段編號方案可稱 為混合模式方案。其分別與平行、順序(逐-)及混合模式存 取方法一起使用。 圖12顯示4Χ至1Χ對映轉換之範例。此係4Χ對映至1Χ對映 之轉換。i常操作期間,快閃記憶體通常在最初設置為以 最高性能運行,其意味著平行模式(大於逐—存取)。通常, 更新區塊之配置的發生將作為決定元區塊是否應從一個格 式轉換為另一格式的觸發器。若區塊内單一區段寫入的數 量超過臨界值(其可由使用者定義或藉由系統設計者定 98460.doc -32- 1303365 義),則將存取方法轉換為逐一方法。此需要將全部區段寫 入新區段中適當的位置,並相應地設定其存取位元。 圖13顯示順序至平行對映轉換之範例。與先前情形相 反,若區塊内之各區段從單一區段存取到達多區段存取, 將存取方法相應地轉換為平行存取,將區段相應地重新寫 入新區塊,並調整各區段内之存取模式位元。從第一並行 對映程度至第二並行對映程度的變化將以相同方式加以執 行。例如,對映可從2χ轉換至4X,或從4χ轉換至8χ,反之 亦然。圖13内之第一並行度為IX對映。此係IX對映至4Χ對 映之轉換。 呢心忍屬貝料從主機寫入已具有寫入資料之區段時,系 先L韦將個袼式至另一袼式之變化與新區塊之配置相結 ^。主機將資料重新寫人給定區域時配置新元區塊或子元 品Λ匕t T將駐存於原始區域内之一些資料複製到新 配置區域。有時在稍徭咨 何種情形,系統通常㈣用=過程中予以複製。無論 事件來轉換格式。㈣,可卜塊之新區域的 -,lf ^ . 叹用於该區域之使用量日誌。 /、有視需要在各存取模相切換之能力 可根據主機活動決定使㈣種 ; 段存取,此可觸發平行存 [出現命夕早一區 另外,亦允許混合模式區:存取項2取模㈣換。 路内,-些資料可針對順序存取:記:體積體電 針對平行存取而加以儲存。 ^存’其他資料可 -個記憶體積體電路可且:在相同快閃卡系統内, -有針對财存取而儲存的資料, 98460.doc -33- 1303365 同時針對平行存取將其他資料儲存於另一記憶體積體電路 結論 雖然已經針對示範性具體實施例來說明本發明的各項觀 點,不過,應該瞭解的係,本發明係完全涵蓋於隨附申請 專利範圍的完整範疇之中。 【圖式簡單說明】 主機系統之 圖1概略地顯示非揮發性記憶體系統及其與 使用; 圖2說明圖1之記憶體系統的示範性架構; 定 圖3說明圖1及2之記憶體系統的記憶體單元.陣列之特 織; 圖4顯示圖7之記憶體單元陣列的區塊之筮一咏x 〜乐一不轭性序 列; 圖5顯示圖7之記憶體單元陣列的區塊之第二示範性序 列; 的 的 圖6說明將邏輯區塊位址對映至圖7之記憶體單元卩車歹〇 實體區塊之一範例; 圖7說明將邏輯區塊位址對映至圖7之記憶體單元陣歹j 實體區塊之另一範例; 範 範 圖8顯示圖7之記憶體單元陣列内的資料修改之第 例; 圖9顯示圖7之記憶體單元陣列内的資料修改之第 例; 98460.doc -34- 1303365 入操 二序 一序 圖10顯示每個資料區段内之計數攔藉由主機追縱寫 作的範例; 圖11說明組織資料區段之不同方式的範例; 圖12顯示記憶體單元陣列區塊從第一序列轉換至第 列的範例;以及 圖13顯示記憶體單元陣列區塊從第二序列轉換至第 列的範例。 【主要元件符號說明】 21 微處理器 23 系統匯流排 25 隨機存取主要系統記憶體 27 輸入-輸出裝置 29 非揮發性快閃記憶體系統 31 控制器 3 3 冗憶體單元陣列 35 線路 37 線路 121 積體電路晶片 124 匯流排 127 積體電路晶片 98460.doc

Claims (1)

13 03辦?14。967號專财請案 , .:文申請專利範圍替換本(97年5月);,…戍〜::,, 十、申請專利範園: 操作方去’在具有配置於作為一抹除單位之區塊内 2非揮發性記憶體單元之一陣列的一快閃記憶體系統 ,其中的頁面作為資料程式化及讀取之一單位,以及 可獨立存取的複數個區塊之平面,該方法包含·· 以邏輯方式形成元區塊,其各包括來自複數個該等平 面之一區塊, 依順序接收具有變化資料單元 W 一 貝τ卞早70之數里之寫入命令及個 別賢料單元的邏輯位址,以及 (1)精由依序寫入給定的一成多伽且女、由成 一 J及夕個具有連續邏輯位址的 貝料單元至該等平面之唯一去沾 唯者的個別區塊中的頁面,及 ⑺藉由平行地寫人該給定數量更多的具有連續邏輯位 址之資料單元至二或多個平面中的元區塊之—者的二或 多個區塊内的頁面’以個別的寫入命令寫 資料。 ^ ^ 2·如請求W之方法,其另外包含與該等接收之資料同時寫 入一指不至該非揮發性記憶體單元, 具識別平行地寫入 该4資料之該等區塊。 3. 一種記憶體單元之一非揮發性記憶體陣 之知作方法, 具包含: 儲存具有第一及第二不同並行程度的資料,以及 對接收一命令作出回應,該命令係# 係更新採用該第一並 行程度而儲存的至少一些該等資料,茲山a 十稽由採用該第二並 行程度儲存可產生更佳性能特性,讀敢户_ 休用該第一並行 98460-970508.doc < S )- 1303365 '费灰 5 一 v ’: ( · 、 . 厂办 冑度㈣存的資料,並將該等讀取資料及該等更新資料 寫入具有該第二並行程度之該記憶體陣列内。 4·如凊求項3之方法,其中該記憶體具有複數個記憶體單元 子陣列’其可同時存取以便平行地將資料單位程式化至 其中並從其中讀取資料,料個料㈣分為可同時抹 除的-最小數量之記憶體單元的區塊,其中該等以第一 及第一不同並行程度來儲存資料之步驟包含: 用於將-指定數量之單位資料程式化至該記憶儀
内的一命令,該等資料少於該等複數個子陣列之各子障 列内的-區塊之-總資料儲存容量,並具有順序 址, 接⑯需要程式化之該指定數量之單位的資料,並程式 =該等接收單位之資料,其中依據該減數量之單位的 貝料按順序將其順序邏輯位址配置於該等複數個記憶體 單元子陣列之一或多個的區塊中,該指定數量之單位的 ::相對於每個該等子陣列内的一區塊之該總資料儲存 容量而加以程式化。 5· 一種非揮發性記憶體系統,其包含: 非揮發性記憶體單元之一陣列,其分為至少兩個子陣 列其中在該等至少兩個子陣列之各子陣列中可同時存 為料以及儲存於該等至少兩個子陣列内之資料具有 至少第一及第二不同並行程度; 该記憶體系統被配置成對接收一命令作出回應,以更 新採用該第一並行程度而儲存的至少一些該等資料,其 98460-970508.doc 1303365 :1=第二並行程度來讀取採用該第-並行程度而 資料及7 且採用該第"並行程度來寫人該讀取之 。、"及更新之㈣至該記憶體陣列來產生更佳性能特性 .Ι::ί項5之記憶體系統,其中在該等至少兩個子陣列之 以及i Γ中可同時存取的該等資料包括數個資料區段, 包括:、館存於㈣至少兩個子陣列内之該等資料區段 棒ΐ㈣弟—#料區段集’其藉由依據該第—並行程度 :、二+陣列交錯的一第一組連續邏輯位址加以識別 交二資料區段集,其藉由依據該第二並行程度 乂-曰於該4至少兩個子陣列之—單—子 組連續邏輯位址加以識別。 的弟- 7. 項6之記憶體系統,其中亦儲存所儲存之資料的區 奴之並行程度的指示。 不 8·如明求項7之記憶體系統,其中將該並行程度的該等指 作=負擔儲存於其所屬之儲存資料的該等區段内。 9·如請求項7之記憶體系統,其中將該並行程度的該等指示 儲存於與其所屬之儲存資料的該等區段分離的區段内。 請求項5之記憶體系統,其中以該第_並行程 的貧料係儲存於由-個以上之子群所組成之元存 且 J: Φ L” 姑# ^ 、 ’、 “苐二並行程度所儲存的資料係儲存於誃蓉^ 陣列之單一者内。 ^千 98460-970508.doc 1303365 。 ——' v ..….ί . 種快閃兄憶體系統的操作方法,該快閃記憶體系統具 有配置於纪憶體單元之複數個區塊内的非揮發性記憶 體單凡陣列,其係作為複數個子陣列内之抹除單位及做 為耘式化及讀取之資料單元之個別區塊内的頁面,該操 作方法包含: 以邏輯方式形成元區塊,其各包括來自複數個該等子 陣列之區塊; 依順序接收個別寫入命令,該等寫入命令具有被寫入 單一或複數個頁面之資料區段之數量; 回應於接收該等寫入命令,該寫入命令具有複數個頁 面之貧料區段之數量,平行地寫入所有接收到的資料至 複數個子陣列中至少一元區塊的複數個區塊内的頁面; 回應於接收該等寫入命令,該等寫入命令具有單一頁 面之資料的一或多個資料區段之數量,平行地寫入所有 接收到的資料至該等子陣列之唯一者的個別區塊的個別 頁面; 於該等非揮發性記憶體單元内維護指示,其相關於該 寫入之資料區段及是否該等個別區段與其他所接收資料 區段以相同寫入指令邏輯序列地寫入,以作為於(丨)單一 區塊或(2)複數個元區塊的區塊之個別區段。 12·如請求項11之方法,其中一檔案配置表(FAT)係儲存於該 等非揮發性記憶體單元内,且單一頁面資料的資料區塊 包含該檔案配置表之資料。 13.如請求項11之方法,其另包含儲存該等指示以及其個別 98460-970508.doc 1303365 資料區段作為其標頭之一部分。
98460-970508.doc < S. )·
TW093140967A 2003-12-30 2004-12-28 Non-volatile memory system and the related methods ofoperation TWI303365B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/750,190 US7631138B2 (en) 2003-12-30 2003-12-30 Adaptive mode switching of flash memory address mapping based on host usage characteristics

Publications (2)

Publication Number Publication Date
TW200535608A TW200535608A (en) 2005-11-01
TWI303365B true TWI303365B (en) 2008-11-21

Family

ID=34701169

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093140967A TWI303365B (en) 2003-12-30 2004-12-28 Non-volatile memory system and the related methods ofoperation

Country Status (8)

Country Link
US (2) US7631138B2 (zh)
EP (1) EP1700221B1 (zh)
JP (1) JP5001011B2 (zh)
KR (1) KR101014599B1 (zh)
CN (1) CN1918552B (zh)
AT (1) ATE554448T1 (zh)
TW (1) TWI303365B (zh)
WO (1) WO2005066794A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI509513B (zh) * 2011-10-26 2015-11-21 Hewlett Packard Development Co 載入啟動資料之技術
TWI564715B (zh) * 2011-09-16 2017-01-01 蘋果公司 用於非揮發性記憶體系統之交錯序列計數器

Families Citing this family (274)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US8607016B2 (en) * 2004-07-21 2013-12-10 Sandisk Technologies Inc. FAT analysis for optimized sequential cluster management
JP4561246B2 (ja) * 2004-08-31 2010-10-13 ソニー株式会社 メモリ装置
US7627712B2 (en) * 2005-03-22 2009-12-01 Sigmatel, Inc. Method and system for managing multi-plane memory devices
US20060282610A1 (en) * 2005-06-08 2006-12-14 M-Systems Flash Disk Pioneers Ltd. Flash memory with programmable endurance
US7426605B2 (en) * 2005-09-30 2008-09-16 Rudelic John C Method and apparatus for optimizing flash device erase distribution
US7640424B2 (en) * 2005-10-13 2009-12-29 Sandisk Corporation Initialization of flash storage via an embedded controller
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
KR100725410B1 (ko) * 2006-01-20 2007-06-07 삼성전자주식회사 전원 상태에 따라 비휘발성 메모리의 블록 회수를 수행하는장치 및 그 방법
ES2498096T3 (es) * 2006-03-31 2014-09-24 Mosaid Technologies Incorporated Esquema de control de sistema de memoria Flash
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
US8595573B2 (en) 2006-12-03 2013-11-26 Apple Inc. Automatic defect management in memory devices
CN101689130A (zh) 2006-12-06 2010-03-31 弗森多系统公司(dba弗森-艾奥) 采用渐进raid存储数据的装置、系统和方法
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
KR100843218B1 (ko) * 2006-12-18 2008-07-02 삼성전자주식회사 어드레스 쉬프팅을 이용하여 블럭 사이즈를 변경하는플래시 메모리 장치 및 방법
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory
US20080162787A1 (en) * 2006-12-28 2008-07-03 Andrew Tomlin System for block relinking
US20080162612A1 (en) * 2006-12-28 2008-07-03 Andrew Tomlin Method for block relinking
WO2008082950A1 (en) * 2006-12-28 2008-07-10 Sandisk Corporation System for block relinking
US8019959B2 (en) * 2007-02-09 2011-09-13 Marvell World Trade Ltd. Nonvolatile memory system
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US7958301B2 (en) * 2007-04-10 2011-06-07 Marvell World Trade Ltd. Memory controller and method for memory pages with dynamically configurable bits per cell
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US9396103B2 (en) * 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
CN100530138C (zh) * 2007-06-28 2009-08-19 忆正存储技术(深圳)有限公司 基于多通道闪存设备逻辑条带的自适应控制方法
WO2009013877A1 (ja) * 2007-07-20 2009-01-29 Panasonic Corporation メモリコントローラ、メモリカード、不揮発性メモリシステム
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8300478B2 (en) 2007-09-19 2012-10-30 Apple Inc. Reducing distortion using joint storage
US8566504B2 (en) * 2007-09-28 2013-10-22 Sandisk Technologies Inc. Dynamic metablocks
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) * 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
CN101178933B (zh) * 2007-12-05 2010-07-28 苏州壹世通科技有限公司 一种闪存阵列装置
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US8316277B2 (en) 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) * 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8738841B2 (en) * 2007-12-27 2014-05-27 Sandisk Enterprise IP LLC. Flash memory controller and system including data pipelines incorporating multiple buffers
KR101465789B1 (ko) 2008-01-24 2014-11-26 삼성전자주식회사 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
JP2009211192A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリシステム
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8493783B2 (en) 2008-03-18 2013-07-23 Apple Inc. Memory device readout using multiple sense times
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
US20090271562A1 (en) * 2008-04-25 2009-10-29 Sinclair Alan W Method and system for storage address re-mapping for a multi-bank memory device
CN102124527A (zh) 2008-05-16 2011-07-13 弗森-艾奥公司 用于检测和替代失效的数据存储器的装置、系统和方法
KR100982440B1 (ko) 2008-06-12 2010-09-15 (주)명정보기술 단일 플래시 메모리의 데이터 관리시스템
US8904083B2 (en) * 2008-07-30 2014-12-02 Infineon Technologies Ag Method and apparatus for storing data in solid state memory
KR20100012938A (ko) * 2008-07-30 2010-02-09 주식회사 하이닉스반도체 웨어 레벨링을 수행하는 반도체 스토리지 시스템 및 그제어 방법
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
TWI373769B (en) * 2008-08-15 2012-10-01 Phison Electronics Corp Block management method for flash memory and storage system and controller using the same
TW201009577A (en) * 2008-08-27 2010-03-01 Phison Electronics Corp Data transfer method for flash memory and flash memory storage system and controller using the same
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
WO2010027983A1 (en) * 2008-09-03 2010-03-11 Marvell World Trade Ltd. Progamming data into a multi-plane flash memory
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8671327B2 (en) * 2008-09-28 2014-03-11 Sandisk Technologies Inc. Method and system for adaptive coding in flash memories
US8675417B2 (en) * 2008-09-28 2014-03-18 Ramot At Tel Aviv University Ltd. Method and system for adaptive coding in flash memories
KR101083673B1 (ko) * 2008-10-01 2011-11-16 주식회사 하이닉스반도체 반도체 스토리지 시스템 및 그 제어 방법
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
TW201017771A (en) * 2008-10-29 2010-05-01 Nanya Technology Corp Vertical transistor and fabricating method thereof and vertical transistor array
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
JP2010108385A (ja) * 2008-10-31 2010-05-13 Hitachi Ulsi Systems Co Ltd 記憶装置
US8285970B2 (en) 2008-11-06 2012-10-09 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
KR101515098B1 (ko) * 2008-11-20 2015-04-24 삼성전자주식회사 플래시 메모리 장치 및 이의 독출 방법
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) * 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8239614B2 (en) * 2009-03-04 2012-08-07 Micron Technology, Inc. Memory super block allocation
TWI385518B (zh) * 2009-03-20 2013-02-11 Phison Electronics Corp 用於快閃記憶體的資料儲存方法及儲存系統
TWI407441B (zh) * 2009-03-20 2013-09-01 Phison Electronics Corp 快閃記憶體寫入方法及使用此方法的儲存系統與控制器
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
JP5532671B2 (ja) * 2009-05-08 2014-06-25 ソニー株式会社 データ記憶システムおよびデータ記憶方法、実行装置および制御方法、並びに制御装置および制御方法
KR101606453B1 (ko) * 2009-05-13 2016-04-01 삼성전자주식회사 비휘발성 데이터 저장 장치의 읽기 및 쓰기 성능 향상 방법
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
JP4818404B2 (ja) * 2009-06-26 2011-11-16 株式会社東芝 素材サーバおよび素材蓄積方法
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
KR101581857B1 (ko) * 2009-08-06 2015-12-31 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 인터리브 유닛 구성 방법
KR20110018157A (ko) * 2009-08-17 2011-02-23 삼성전자주식회사 플래시 메모리 장치의 액세스 방법
KR101717644B1 (ko) 2009-09-08 2017-03-27 샌디스크 테크놀로지스 엘엘씨 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
JP4956593B2 (ja) 2009-09-08 2012-06-20 株式会社東芝 メモリシステム
WO2011031899A2 (en) 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
CN101692211B (zh) * 2009-09-15 2011-08-10 苏州超锐微电子有限公司 一种Flash数据管理方法
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
JP5464066B2 (ja) * 2010-06-10 2014-04-09 ソニー株式会社 通信装置、及び、通信方法
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8447920B1 (en) * 2010-06-29 2013-05-21 Western Digital Technologies, Inc. System and method for managing data access in non-volatile memory
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
EP2595319B1 (en) * 2010-07-14 2020-03-18 Dongjing Zhao Wireless switch assembly
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8493781B1 (en) 2010-08-12 2013-07-23 Apple Inc. Interference mitigation using individual word line erasure operations
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
WO2012048444A1 (en) 2010-10-14 2012-04-19 Freescale Semiconductor, Inc. Are Memory controller and method for accessing a plurality of non-volatile memory arrays
JP5296763B2 (ja) * 2010-11-11 2013-09-25 株式会社バッファロー 記憶装置、記憶プログラム及び制御方法
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
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
TWI514136B (zh) 2010-12-28 2015-12-21 Silicon Motion Inc 快閃記憶裝置及其資料寫入方法
CN102541464B (zh) * 2010-12-30 2014-07-23 慧荣科技股份有限公司 快闪存储装置及其数据写入方法
US9213594B2 (en) 2011-01-19 2015-12-15 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing out-of-service conditions
TWI494948B (zh) * 2011-01-31 2015-08-01 Phison Electronics Corp 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
WO2012109677A2 (en) 2011-02-11 2012-08-16 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
CN102646448B (zh) * 2011-02-18 2015-09-16 群联电子股份有限公司 用于非易失性内存的数据写入方法、控制器与储存装置
KR101339800B1 (ko) * 2011-02-25 2013-12-10 성균관대학교산학협력단 Pss 행위 모델링 장치 및 방법
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9176864B2 (en) * 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US9141528B2 (en) 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
TWI479491B (zh) * 2011-07-05 2015-04-01 Phison Electronics Corp 記憶體控制方法、記憶體控制器與記憶體儲存裝置
TWI454911B (zh) * 2011-10-12 2014-10-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN103077124B (zh) * 2011-10-25 2015-11-18 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
KR20130046122A (ko) * 2011-10-27 2013-05-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US9164676B2 (en) * 2011-11-30 2015-10-20 International Business Machines Corporation Storing multi-stream non-linear access patterns in a flash based file-system
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
KR101942272B1 (ko) * 2011-12-27 2019-01-28 삼성전자주식회사 비휘발성 메모리의 제어방법, 이를 구현한 비휘발성 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US9329989B2 (en) * 2011-12-30 2016-05-03 SanDisk Technologies, Inc. System and method for pre-interleaving sequential data
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US8782344B2 (en) 2012-01-12 2014-07-15 Fusion-Io, Inc. Systems and methods for managing cache admission
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
KR101969883B1 (ko) 2012-04-13 2019-04-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US8898376B2 (en) 2012-06-04 2014-11-25 Fusion-Io, Inc. Apparatus, system, and method for grouping data stored on an array of solid-state storage elements
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
EP2898638B1 (en) * 2012-09-21 2020-10-28 NYSE Group, Inc. High performance data streaming
KR20140080216A (ko) 2012-12-20 2014-06-30 에스케이하이닉스 주식회사 반도체 메모리 시스템 및 그의 동작 방법
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9465732B2 (en) 2013-03-15 2016-10-11 Sandisk Technologies Llc Binning of blocks for dynamic linking
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US20140297921A1 (en) * 2013-03-26 2014-10-02 Skymedi Corporation Method of Partitioning Physical Block and Memory System Thereof
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9478249B2 (en) * 2013-08-30 2016-10-25 Seagate Technology Llc Cache data management for program execution
US9202533B2 (en) * 2013-10-09 2015-12-01 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device changing the number of selected bits and/or the number of selected bays at data write operation
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US10152408B2 (en) 2014-02-19 2018-12-11 Rambus Inc. Memory system with activate-leveling method
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
KR102225989B1 (ko) 2014-03-04 2021-03-10 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US9678797B2 (en) 2014-03-10 2017-06-13 Microsoft Technology Licensing, Llc Dynamic resource management for multi-process applications
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9582205B2 (en) * 2014-04-17 2017-02-28 Sandisk Technologies Llc Protection scheme with dual programming of a memory system
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9652415B2 (en) 2014-07-09 2017-05-16 Sandisk Technologies Llc Atomic non-volatile memory data transfer
US9904621B2 (en) 2014-07-15 2018-02-27 Sandisk Technologies Llc Methods and systems for flash buffer sizing
US9645744B2 (en) 2014-07-22 2017-05-09 Sandisk Technologies Llc Suspending and resuming non-volatile memory operations
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9952978B2 (en) 2014-10-27 2018-04-24 Sandisk Technologies, Llc Method for improving mixed random performance in low queue depth workloads
US9753649B2 (en) 2014-10-27 2017-09-05 Sandisk Technologies Llc Tracking intermix of writes and un-map commands across power cycles
US9824007B2 (en) 2014-11-21 2017-11-21 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9817752B2 (en) 2014-11-21 2017-11-14 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
US9652175B2 (en) 2015-04-09 2017-05-16 Sandisk Technologies Llc Locally generating and storing RAID stripe parity with single relative memory address for storing data segments and parity in multiple non-volatile memory portions
US10372529B2 (en) 2015-04-20 2019-08-06 Sandisk Technologies Llc Iterative soft information correction and decoding
US9778878B2 (en) * 2015-04-22 2017-10-03 Sandisk Technologies Llc Method and system for limiting write command execution
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US9870149B2 (en) 2015-07-08 2018-01-16 Sandisk Technologies Llc Scheduling operations in non-volatile memory devices using preference values
US9626312B2 (en) 2015-07-17 2017-04-18 Sandisk Technologies Llc Storage region mapping for a data storage device
US9889932B2 (en) 2015-07-18 2018-02-13 Tata Consultancy Services Limited Methods and systems for landing of unmanned aerial vehicle
US9715939B2 (en) 2015-08-10 2017-07-25 Sandisk Technologies Llc Low read data storage management
US9875049B2 (en) * 2015-08-24 2018-01-23 Sandisk Technologies Llc Memory system and method for reducing peak current consumption
KR102501751B1 (ko) * 2015-09-22 2023-02-20 삼성전자주식회사 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10228990B2 (en) 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
US10126970B2 (en) 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
US9837146B2 (en) 2016-01-08 2017-12-05 Sandisk Technologies Llc Memory system temperature management
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
US10019198B2 (en) 2016-04-01 2018-07-10 Intel Corporation Method and apparatus for processing sequential writes to portions of an addressable unit
US10031845B2 (en) * 2016-04-01 2018-07-24 Intel Corporation Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
KR102651425B1 (ko) * 2016-06-30 2024-03-28 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10481830B2 (en) 2016-07-25 2019-11-19 Sandisk Technologies Llc Selectively throttling host reads for read disturbs in non-volatile memory system
KR102620562B1 (ko) 2016-08-04 2024-01-03 삼성전자주식회사 비휘발성 메모리 장치
US11017838B2 (en) 2016-08-04 2021-05-25 Samsung Electronics Co., Ltd. Nonvolatile memory devices
CN107818118B (zh) * 2016-09-14 2019-04-30 北京百度网讯科技有限公司 数据存储方法和装置
CN107273304A (zh) * 2017-05-24 2017-10-20 记忆科技(深圳)有限公司 一种提高固态硬盘顺序读性能的方法及固态硬盘
US10497447B2 (en) * 2017-06-29 2019-12-03 SK Hynix Inc. Memory device capable of supporting multiple read operations
TWI645288B (zh) 2017-07-04 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
KR20190006680A (ko) * 2017-07-11 2019-01-21 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10261914B2 (en) 2017-08-25 2019-04-16 Micron Technology, Inc. Methods of memory address verification and memory devices employing the same
US11086790B2 (en) 2017-08-25 2021-08-10 Micron Technology, Inc. Methods of memory address verification and memory devices employing the same
KR20190031683A (ko) * 2017-09-18 2019-03-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10908832B2 (en) * 2017-10-31 2021-02-02 Micron Technology, Inc. Common pool management
US11289137B2 (en) 2017-11-16 2022-03-29 Micron Technology, Inc. Multi-port storage-class memory interface
US11436154B2 (en) 2017-12-01 2022-09-06 Micron Technology, Inc. Logical block mapping based on an offset
US10977182B2 (en) * 2017-12-01 2021-04-13 Micron Technology, Inc. Logical block mapping based on an offset
JP2020047348A (ja) * 2018-09-19 2020-03-26 キオクシア株式会社 半導体記憶装置及びその制御方法
KR101995034B1 (ko) * 2019-02-26 2019-07-02 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102705754B1 (ko) * 2019-03-05 2024-09-12 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작방법
US20210055878A1 (en) * 2019-08-20 2021-02-25 Micron Technology, Inc. Data compaction within the same plane of a memory component
US11221950B2 (en) * 2019-12-19 2022-01-11 Western Digital Technologies, Inc. Storage system and method for interleaving data for enhanced quality of service
US11150839B2 (en) 2019-12-19 2021-10-19 Western Digital Technologies, Inc. Host and method for interleaving data in a storage system for enhanced quality of service
US11200113B2 (en) * 2020-01-14 2021-12-14 Intel Corporation Auto-increment write count for nonvolatile memory
US11157416B2 (en) * 2020-02-27 2021-10-26 Micron Technology, Inc. Firmware loading for a memory controller
US11379117B2 (en) 2020-06-19 2022-07-05 Western Digital Technologies, Inc. Storage system and method for using host-assisted variable zone speed grade modes to minimize overprovisioning
US11456050B2 (en) * 2021-02-24 2022-09-27 Western Digital Technologies, Inc. Relinking scheme in sub-block mode
US11681471B2 (en) * 2021-04-07 2023-06-20 EMC IP Holding Company LLC Bypassing of tier-1 storage in a streaming data storage system
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
CN113420083B (zh) * 2021-06-02 2024-03-19 湖南大学 一种具有可拓展分布式账本的异构并行区块链结构的系统
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11842062B2 (en) 2022-02-09 2023-12-12 Western Digital Technologies, Inc. Method of handling irregular MetaBlock wear leveling and UGSD boot time improvement
CN116149571A (zh) * 2023-02-24 2023-05-23 合肥兆芯电子有限公司 数据写入方法、存储器存储装置及存储器控制电路单元

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
JP2618149B2 (ja) 1991-04-22 1997-06-11 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ内のデータ記憶スペースを管理する方法及びキャッシュ内でページ置換を行う装置
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
JPH05233426A (ja) 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
US5341489A (en) 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
JP3299564B2 (ja) * 1992-05-11 2002-07-08 松下電器産業株式会社 メモリ装置
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
JP3105092B2 (ja) * 1992-10-06 2000-10-30 株式会社東芝 半導体メモリ装置
US5341330A (en) 1992-10-30 1994-08-23 Intel Corporation Method for writing to a flash memory array during erase suspend intervals
US5649200A (en) 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JPH06266596A (ja) 1993-03-11 1994-09-22 Hitachi Ltd フラッシュメモリファイル記憶装置および情報処理装置
US5519843A (en) 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US5479638A (en) 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
US5485595A (en) 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3215237B2 (ja) 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5541886A (en) * 1994-12-27 1996-07-30 Intel Corporation Method and apparatus for storing control information in multi-bit non-volatile memory arrays
JPH08263361A (ja) 1995-03-23 1996-10-11 Mitsubishi Electric Corp フラッシュメモリカード
US6978342B1 (en) * 1995-07-31 2005-12-20 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
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
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
US5860090A (en) 1995-10-20 1999-01-12 Informix Software, Inc. Append-only storage in a disk array using striping and parity caching
FR2742893B1 (fr) 1995-12-20 1998-01-16 Schlumberger Ind Sa Procede d'inscription d'une donnee dans une memoire reinscriptible
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5896393A (en) 1996-05-23 1999-04-20 Advanced Micro Devices, Inc. Simplified file management scheme for flash memory
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US6047352A (en) * 1996-10-29 2000-04-04 Micron Technology, Inc. Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous writing or erasure
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
JPH10177797A (ja) 1996-12-17 1998-06-30 Toshiba Corp 半導体記憶装置
US6122195A (en) 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US6034897A (en) 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US5999947A (en) 1997-05-27 1999-12-07 Arkona, Llc Distributing database differences corresponding to database change events made to a database table located on a server computer
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
JP3588231B2 (ja) 1997-08-04 2004-11-10 東京エレクトロンデバイス株式会社 データ処理システム及びブロック消去型記憶媒体
JP2914360B2 (ja) 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
JP3119214B2 (ja) 1997-09-30 2000-12-18 ソニー株式会社 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法
US6040997A (en) 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
JP2000122923A (ja) * 1998-07-13 2000-04-28 Sony Corp 記録装置および記録方法、再生装置および再生方法、記録媒体、並びにプログラム記録媒体
JP4046877B2 (ja) * 1998-12-14 2008-02-13 株式会社ルネサステクノロジ 一括消去型不揮発性メモリおよび携帯電話
JP2000285017A (ja) * 1999-03-31 2000-10-13 Seiko Epson Corp 記憶装置
US6449625B1 (en) 1999-04-20 2002-09-10 Lucent Technologies Inc. Use of a two-way stack approach to optimize flash memory management for embedded database systems
ES2293916T3 (es) * 1999-07-28 2008-04-01 Sony Corporation Sistema de registro, dispositivo de registro de datos, dispositivo de memoria, y metodo de registro de datos.
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
US6775423B2 (en) 2000-05-03 2004-08-10 Microsoft Corporation Systems and methods for incrementally updating an image in flash memory
US6721843B1 (en) * 2000-07-07 2004-04-13 Lexar Media, Inc. Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US6834331B1 (en) * 2000-10-24 2004-12-21 Starfish Software, Inc. System and method for improving flash memory data integrity
JP3992960B2 (ja) * 2000-10-26 2007-10-17 松下電器産業株式会社 記録装置及びプログラム
CN1236386C (zh) * 2000-10-26 2006-01-11 松下电器产业株式会社 存储器件及存储控制方法
US7020739B2 (en) * 2000-12-06 2006-03-28 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
IT1315566B1 (it) 2000-12-12 2003-02-18 Federico Renier Metodo per la certificazione dell'invio,della ricezione edell'autenticita' di documenti elettronici ed unita' di rete
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP4256600B2 (ja) * 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6925007B2 (en) 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
JP3967121B2 (ja) 2001-12-11 2007-08-29 株式会社ルネサステクノロジ ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム
US7328301B2 (en) * 2003-04-07 2008-02-05 Intel Corporation Dynamically mapping block-alterable memories
US7107388B2 (en) * 2003-04-25 2006-09-12 Intel Corporation Method for read once memory
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI564715B (zh) * 2011-09-16 2017-01-01 蘋果公司 用於非揮發性記憶體系統之交錯序列計數器
TWI509513B (zh) * 2011-10-26 2015-11-21 Hewlett Packard Development Co 載入啟動資料之技術
US9858086B2 (en) 2011-10-26 2018-01-02 Hewlett-Packard Development Company, L.P. Load boot data

Also Published As

Publication number Publication date
TW200535608A (en) 2005-11-01
ATE554448T1 (de) 2012-05-15
WO2005066794A2 (en) 2005-07-21
JP5001011B2 (ja) 2012-08-15
EP1700221B1 (en) 2012-04-18
EP1700221A2 (en) 2006-09-13
US20100049908A1 (en) 2010-02-25
KR101014599B1 (ko) 2011-02-16
CN1918552A (zh) 2007-02-21
WO2005066794A3 (en) 2005-11-10
US8301826B2 (en) 2012-10-30
US20050144361A1 (en) 2005-06-30
CN1918552B (zh) 2012-05-30
KR20060130084A (ko) 2006-12-18
JP2007517320A (ja) 2007-06-28
US7631138B2 (en) 2009-12-08

Similar Documents

Publication Publication Date Title
TWI303365B (en) Non-volatile memory system and the related methods ofoperation
JP4834676B2 (ja) オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法
JP4787266B2 (ja) スクラッチパッドブロック
US7814262B2 (en) Memory system storing transformed units of data in fixed sized storage blocks
CN102831071B (zh) 用于存储器装置的存储地址重新映射的方法和系统
JP5069256B2 (ja) 不揮発性メモリおよびマルチストリーム更新追跡を伴う方法
JP4431175B2 (ja) 不揮発性メモリおよびマルチストリーム更新を伴う方法
TWI421684B (zh) 可再程式化非揮發性記憶體系統以及操作ㄧ非揮發性記憶體系統之方法
KR101118507B1 (ko) 대형 소거 블록을 갖는 비휘발성 메모리 시스템의 관리
KR100663738B1 (ko) 동시 다중 데이터 섹터 프로그래밍 및 다른 지정 블럭들에대한 물리적 블럭 특성들의 저장기능을 갖는 플래시이이피롬 시스템
TWI437441B (zh) 多庫記憶體裝置之儲存位址重映射之方法及系統
US7529905B2 (en) Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7212440B2 (en) On-chip data grouping and alignment
JP2008524710A (ja) 不揮発性メモリならびにスクラッチパッドおよび更新ブロックのための改良されたインデックス付けを伴う方法
CN101606133A (zh) 具有连续逻辑地址空间接口的直接数据文件系统的使用
TW201216058A (en) Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems
CN102483685B (zh) 具有附属文件系统的多堆非易失性存储器系统
TWI436210B (zh) 操作一可再程式化的非揮發性記憶體系統之方法以及非揮發性記憶體系統
Kim et al. A page padding method for fragmented flash storage
Dirik Performance analysis of nand flash memory solid-state disks

Legal Events

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