TWI303365B - Non-volatile memory system and the related methods ofoperation - Google Patents
Non-volatile memory system and the related methods ofoperation Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple 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. )·
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)
| 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)
| 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)
| 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 |
-
2003
- 2003-12-30 US US10/750,190 patent/US7631138B2/en not_active Expired - Lifetime
-
2004
- 2004-12-16 JP JP2006547247A patent/JP5001011B2/ja not_active Expired - Fee Related
- 2004-12-16 EP EP04814991A patent/EP1700221B1/en not_active Expired - Lifetime
- 2004-12-16 CN CN2004800416806A patent/CN1918552B/zh not_active Expired - Fee Related
- 2004-12-16 WO PCT/US2004/042862 patent/WO2005066794A2/en not_active Ceased
- 2004-12-16 KR KR1020067013305A patent/KR101014599B1/ko not_active Expired - Fee Related
- 2004-12-16 AT AT04814991T patent/ATE554448T1/de active
- 2004-12-28 TW TW093140967A patent/TWI303365B/zh not_active IP Right Cessation
-
2009
- 2009-10-30 US US12/609,789 patent/US8301826B2/en not_active Expired - Fee Related
Cited By (3)
| 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 |