TWI287191B - Method of programming, writing, and updating data in a non-volatile memory system and a memory system - Google Patents
Method of programming, writing, and updating data in a non-volatile memory system and a memory system Download PDFInfo
- Publication number
- TWI287191B TWI287191B TW093140808A TW93140808A TWI287191B TW I287191 B TWI287191 B TW I287191B TW 093140808 A TW093140808 A TW 093140808A TW 93140808 A TW93140808 A TW 93140808A TW I287191 B TWI287191 B TW I287191B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- data
- pages
- blocks
- page
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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
1287191 九、發明說明: 【發明所屬之技術領域】 本發明一般係關於半導體非揮發性記憶體系統(例如快 閃$ k'體)之操作,更特定言之係關於此類具有很大型可 抹除冗憶體單元區塊,並且存取用以程式化並讀取資料之 甚小單位中的區塊之記憶體系統之操作。 【先前技術】 、存在终多如今使用之商業成功的非揮發性記憶體產品, 尤其係以較小形狀因數卡之形式,其使用形成於一或多個 積體電路晶片上的快閃EEPR0M(電可抹除及可程式化唯讀 »己隐體)單70之陣列。通常但不必在分離積體電路晶片上 的記憶體控制器,與該卡可移除式與之連接的主機接合並 且控制該卡内的記憶體陣列之操作。此類控制器通常包含 微處理器、某非揮發性唯讀記憶體⑽m)、揮發 取記憶體(RAM)與一或多個特殊電路,例如當資料於資料 之程式化及讀取期間通過控制器時計算自資料校 碼啊之特殊電路。某㈣用卡為CQmpa叫 卡、多媒體卡陳〇、安全數位㈣卡H ) 人標籤(P-Tag)與記憶體棒卡。主機包含個人電腦^ : 電腦、個人數位助理(PDA)、各種資料通信裝置、數位 機、蜂巢式電話、可攜式聲_放器、汽 目 相似類型的裝備。除記憶卡實施方 :與 體另外可加以嵌人各類型的主機系統中。類型的記憶 二種-般記憶體單元陣列架構具有商業應用,即_與 98425.doc 1287191 NAND。在典型臟陣列中,記憶體單元係連接於在行方 向上延伸的鄰近位元線源極擴散與及極擴散之間,控制閉 極連接至沿單元之列延伸的字線。記憶體單元包含至少一 個館存7L件,其定位在源極與沒極之間的單元通道區域之 至/邛分上。儲存元件上的電荷之程式位準因此控制單 兀之操作特徵,其接著可藉由施加適當的電麼於定址記憶 體單元而加以讀取。此類單元之範例、其在記憶體系統; 的使用以及製造類此單元之方法係提供在美國專利第 ^070,032 . 5,095,344 ^5,313,421.5,315,541. 5,343,063 ^ 5,661,〇53與 6,222,762號中。 财肋陣列利用二個以上的記憶體單元(例如16或32)之 序列串,其與個別位元線與參考電位之間的一或多個選擇 $晶體連接,以形成單元之行。字線橫跨大量該等行内的 早7C而延伸。藉由引起串中的其餘單元難以開啟,以便流 經串的電流取決於儲存在定址單元中的電荷之位準,在程 式化期間讀取並驗證行内的個別單元。在美國專利第 5,570,315、5,774,397、6,046,935 與 6,522,580 號中可找到 NAND架構陣列之範例及其作為記憶體系統之—部分的才品 作。 * 以上芩考專利中所說明的當前快閃EEpR〇M陣列之電荷 儲存元件為最普通的導電浮動閘#,通常由㈣推雜的多 晶矽材料所形成。可用於快閃EEPROM系統的記憶體單元 之替代類型,利用非導電介電材料而代#導電浮動開極, 以採用非揮發性方式健存電荷。由氧化石夕、氮化石夕與氧化 98425.doc 1287191 二圖)形成的三介電層’係夹在導電控制閘極與記憶體 早兀通道上的半導電基板表面之間。藉由將自單元通道的 電子注入氮化物中而程式化單元,其中電子係捕獲並健存 在有限區域中,而且藉由將熱電洞注入氮化物中而加以抹 除。使用介電儲存元件的數個特定單元結構及陣列係由
Harari等人說明在美國專利申請公告案第細道請%號 中〇 η。如在大多數積體電路應用中_樣,快閃EEpR〇M記憶體 單:陣列中還存在貫施某積體電路功能所需要的收縮矽基 板區域之壓力。不斷f要增加可以健存切基板之給定區 域中的數位資料之數量,以便增加給定尺寸記憶卡及其他 類型的封包之儲存容量,或增加容量與減小尺寸。增加資 料^儲存密度的一個方法係儲存每記憶體單元及/或每儲 存單位或元件一個以上的資料位元。完成此係藉由將儲存 兀件之電荷位準電壓範圍視窗劃分為二種以上的狀態。四 ^重此類㈣之使用使各單元可餘存二個資料位元,八種狀 :儲存每儲存元件三個資料位元,以此類推。儲存單元之 电何位準可控制其記憶體單元之臨界電壓(共同參考為 VT),其係用作讀取單元之儲存狀態的偏壓。將臨界電壓 視f共同劃分為許多範圍,一個範圍用於記憶體單元之二 或多個儲存狀態之各狀態。該等範圍係由防護頻帶所分 離’ β寺頻帶個別地包含用以讀取個別單元之儲存狀態的 標稱感測參考位準。 採用斤動閘極及其操作的多狀態快閃EEPr〇m結構係說 98425.doc 1287191 明在美國專利第5,043,94〇與5,172,338號中,並且用於採用 上述吳國專利申請案第10/28〇,352號中的介電浮動閘極之 結構。&用美國專利第5,93G,167與6,456,528號中所說明的 方式,還可因各種原因而在二種狀態(二進制)中操作多狀 態記憶體單元陣列之選擇部分。 位兀組’加上關於使用者資料及/或其甲儲存資料的區塊 之負擔資訊之某數量的位元組。此類記憶體係採用各區塊 内的16、32或多個頁所配置,並且各頁儲存資料之一或僅 幾個主機區段。 將典型快閃EEPROM陣列之記憶體單元劃分為一起抹除 的單元之離散區塊。也就是說,區塊為抹除單位,即最小 數量之同時可抹除的單元。各區塊通常儲存一或多個資料 頁,該頁為最小程式化及讀取單位,雖然在不同子陣列或 平面中可並列程式化或讀取一個以上的頁。各頁通.常儲存 -或多個資料區段’由主機系統定義區段之尺寸。示範性 區段包含遵循採用磁碟機建立的標準之使用者資料之5i2 為了在將使用者資料程式化於記憶體陣列中並從記憶體 :取使用者資料期間增加平行之程度,通常將陣列劃分為 =稱為平面的子陣列,其包含其自己的f料暫存器及其 他電路以允許並列摔作 *作讀可同時將資料區段程式化於 數㈣所有平面之各平面,或者從各平面讀取該等區段。 了將早一積體電路上的陣列實體劃分為平面,或可採用分 離的一或多個積體電路晶 my枫合十面。此類 施方案之範例係說明在美國專、心 乐),798,968與 5,890,192號 98425.doc 1287191 中。 為了進一步有效率地管理記憶體,可將區塊接在一起以 形成虛擬區塊或元區塊。也就是說,將各元區塊定義成包 §自數個或所有平面之各平面的一區塊。元區塊之使用係 說明在美國專利申請公告案第2〇〇2_〇〇999〇4號中。由主機 邏輯區塊地址將元區塊識別為用以程式化並讀取資料的目 的地。同樣地,一起抹除元區塊之所有區塊。採用此類大 型區塊及/或元區塊操作之記憶體系統中的控制器執行許 夕功此,包含從主機接收的邏輯區塊地址(LBA)之間的轉 換,與圮憶體單元陣列内的實體區塊數量(PBN)。還可使 用邏輯區塊數量(LBN)之中間數量,一個LBN通常指定一 疋範圍的LBA,其包含等於元區塊之一或多個記憶體陣列 區塊之儲存容量的資料之數量。通常由區塊地址内的偏移 而識別區塊内的個別頁。地址轉換通常涉及到使用邏輯區 塊數量(LBN)與邏輯頁。 在理想情況下,藉由將更新資料寫入未指定抹除區塊内 的各頁而一起更新區塊之所有頁中的資料,並且接著採用 新地址而更新邏輯至實體區塊數量表格。原始區塊接著可 得到抹除並放置在抹除區塊集區中以備將來使用。然而, 更典型的係必須更新儲存在少於給定區塊内的所有頁之呼 多頁中的資料。儲存在給定區塊之其餘頁中的資料保持不 變。此出現之機率在每區塊儲存的資料之頁數較高的系統 中較高。現在用以完成此類部分區塊更新的一項技術,係 將要更新的頁資料寫入抹除區塊之對應數量的頁中,並接 98425.doc 1287191 著將自原始區塊的未改變頁複製至新區塊之頁中。原始區 塊接著可得到抹除並加入抹除區塊集區。隨著時間,作為 重新寫入並更新的主機資料檔案之結果,許多區塊可以以 下列情況而告終··其相對少數頁包含有效資料,而其餘頁 包含不再為當前資料的資料。為了能夠有效率地使用陣列 之資料儲存容量,有效資料之邏輯相關資料頁係有時從多 個區塊當中的片斷收集在-起,並且一起整理至較少量的 區塊中。此程序係共同命名為術語「廢料收集」。 另-技術同樣地將更新頁寫入不同於包含原始資料的區 塊之區塊,而消除將其他資料頁複製至新區塊中的需求, 該消除係藉由適當地標記資料來區分更新資料與由相同邏 輯地址所識別的替代資料。此為上述美國公㈣中請㈣ 20〇2-_9904號所說明的主題。接著當讀取資料時,將從 新區塊之頁所讀取的更新資料與從保持為當前區塊的原始 區塊之頁所讀取的未改變資料組合,而忽視 料。 只 =㈣系統控制器較佳能藉由其結構與控制㈣而引起 貧料得到程式化,並在由主幾 , ^加於其上的各種條件下得 到p貝取。在一個極端, 或“场用回速率而接收聲頻、視訊 或其他流動資料,並且求 u體糸統即時儲存資料。在 另一極*而,主機可引起 -個區π,—、 狀°己吃體糸統偶爾—次程式化資料之 品又 或一起程式化具有非岸列、g p L 資料F, 虿非序列邏輯地址的數個單一 、…又。▼以頻繁地更新相同資料區段。此 段程式化可以出現在( 、- A更新儲存於陣列中的檔 98425.doc -10- 1287191 案配置表袼(FAT)時。由此類對大型抹除區塊記憶體進行 的操作所揭示的問題係:需要頻繁的廢料收集以便有效率 地利用。己隐體之館存容量。控制器需要其主要將資料傳入 記憶體並從記憶體傳出資料之功能,以便執行廢料收集, 因而不利地影響系統性能。 【發明内容】 因此,維持至少二個不同的機制以依據從主機所接收的 寫入指令之特徵而程式化資料,以便增加記憶體系統之總 !生月b 般而5,以採用任一類型的操作而最佳化記憶體 系統性能的方法同於序列定址資料之儲存而處理非序 列定址資料之儲存。 在示範性實施方案中,不同於程式化相對於個別邏輯區 塊或70區塊之儲存容量而較大的大量資料單位之主機指 令,操縱程式化資料之單一主機單位(區段為共同範収 主機指令’該單位即具有序列邏輯地址之少量單位或呈有 非序列邏輯地址的資料之單位。將單一少量序列資料單位 或非序列貝料早位寫入第一類型的指定邏輯區塊或元區 塊,而將大量序列資艇g /合 j貝抖早位寫入第二類型的指定邏輯區塊 或元區塊。第一類刮沾扣—、产&广, 、尘的^曰疋邏輯區塊或元區塊(本文中表 考為叫接收在邏輯地址之較大範圍内擴展的資料之二 新’而第二類型的指定邏輯區塊或元區塊(本文中參考為 E2)接收儲存在限於單一 、早 ^塊的邏輯地址之範圍内的資料 之更新。此外,若單一式非广w i ’ 、 戈非序列-貝料單位比具有周圍邏 地址之其他資料單位彳旱Φ 于到更頻繁地更新,則可將更新儲存 98425.doc 1287191 在第一類型的指定邏輯區塊或元區塊中,該區塊係專用於 該等單位(本文中參考為dEl)之邏輯地址範圍。 採用該等指定區塊之主要結果係減少在更新可儲存在區 塊中的較少資料時當前會變得有必要的資料整理之數量。 更新貧料不必在單一實體區塊中與相同邏輯區塊之未改變 貧料正好重新組合,從而改進系統性能。可延遲此類重新 、、且e ’直至其不干擾記憶體系統之獲得與資料之儲存。此 外,較佳動態形成各指定區塊,以適應所接收的程式化指 令,從而調適記憶體系統用於大範圍各種資料儲存應用中 的高性能操作。 本卷明之另外方面、特徵與優點係包含在以下示範性具 體實施例之說明中,該說明應結合附圖加以閱讀。因此本 文參考的所有專利、專利中請案、文章公告與其他文件係 因所有目的而全部以此引用的方式併入本文中。 現有大型區塊管理技術說明 圖1顯示典型快閃記憶體裝置之内部架構。主要特徵包 含接合外部控制器的輸入/輸出⑽)匯流排411及控制作號 412 ’採用指♦、地址與狀況信號之暫存器而控制内部; 憶體操作的記憶體控制電路45Ge包含快閃赚軸單_ 之一或多個陣列400,各陣列具有1 兀 、为卉自己的列解碼哭 (XDEC)401與行解碼器(ydec)4〇 ;、感測放大器與程或 制電路(SA/PR〇g)454以及資料暫在 工 _ 曰存态404之一群組。日 刖,圮憶體單元通常包含一或多個 等電,于動閘極作為健六 元件,但是可改為使用其他長期電、、储存 包卞ΐ何儲存70件,包含 98425.doc 12 1287191 電:捕獲介電質。記憶體單元陣列可採用定義 :件的二電荷位準加以操作,從而㈣各㈣ = 料:元。或者,可將二種以上的儲存狀態定義用:各:: 二’在此情況下將-個以上的資料位元館存於各健存元 若需要’則提供複數個陣列彻,各陣列具 的X解碼器、γ解碼器、程式/驗證電路、資料暫存器::; 似物’例如由美國專利第5,請,192號所講述,發佈日期為 9年3月30日,並瓖渡給Sandisk c〇rp〇rati〇n公司,即本 發明之受讓者,該專利係全部以此引用的方式併入本文 中。相關記憶體系統特徵係說明在共同待審的專利申請案 第 09/505,555號中,由Kevin c〇nley 於 2〇〇〇年2月 17日=出 申请,該申請案係以此引用的方式清楚地併入本文中。 外部介面I/O匯流排411與控制信號412可以包含以下·· CS晶片選擇用以啟動快閃記憶體介面。 RS讀取選通用以指示I/O匯流排係用以傳輸自記憶體 陣列的資料。 ws寫入選通用以指示ι/Q匯流排係用以傳輸至記憶體 陣列的資料。 AS地址選通指示I/O匯流排係用以傳輸地址資訊。 AD[7:0]地址/資料流排流此I/O匯流排係用以傳輸控 制器與記憶體控制450之快閃記憶體指令、地址與資料暫 存器之間的資料。 此介面係僅提供作為範例,因為可以改為使用其他提供 98425.doc -13- 1287191 相同功能的信號組態。圖_示僅一個具有其相關組件的 快閃記憶體陣列400,但是多個此類陣列可以存在於單一 快閃記憶體晶片上,該轉列共享共㈣介面與記憶體控 制電路’但是具有分離的删c、YMc、s纖鱼 ,ATAREG電路,以便允許在各陣列當中進行並列讀取及 程式化操作。 在經由資料暫存器404的記憶體陣列,與經由麵合至1/〇 匯流排AD[7:G]411之資料暫存器的外部控制器之間傳輸資 料。資料暫存器404還叙合感測放大器/程式化電路叫。、 麵合至各感測放大器/程式化電路元件的資料暫存器之元 件之數量,可取決於儲存在記憶體單元之各儲存元件中的 位元之數量。以-種普通形式,快閃ε·〇μ單元分別包 含-或多個浮動間極作為電荷儲存元件。若記憶體單元係 在多狀態模式中操作,則各電荷儲存元件可儲存複數個位 \例如2或4個位元。或者’記憶體單元可在二進制模式 中刼作,以儲存每儲存元件一個資料位元。 列解碼器4〇1解碼用於陣列彻的列地址,以便選擇要存 取的實體頁。列解碼器梢經由内部列地址線路419從^ 體控制邏輯彻接㈣隸。行解碼㈣2、㈣㈣行地二 線路429從記憶體控制邏輯45〇接收行地址。 圖2顯示典型非揮發性資料儲存系統之架構,在此情況 下一個系統使用快閃記憶體單元作為储存媒體。以一^ 式將此系統囊封在具有沿一侧延伸之電性連接器的可移除 卡内’以在被插入主機之插座時提供主機介面。或者,圖 98425.doc •14- 1287191 2之系統可以永久性安裝嵌入電路 / ^ $式而得以嵌入主機 系統中。该系統利用單一控制器3 〇 ^, 再執行高位準主機 與記憶體控制功能。快閃記憶體 版1乐由一或多個快問 憶體裝置所組成,各類此裝置通常 ^己 、书你形成於其自己的積體 電路晶片上。系統控制器與快閃 、 J體係由匯流排302所 連接,該匯流排使控制器3〇丨可載 戟入彳日令、地址,並傳輸 資料至快閃記憶體陣列而且從該陣 〜戰入1料。控制器 3(Π與主機系統(圖中未顯示)接合,使用者資料即採用咳主 機系統而傳輸至快閃記憶體陣列並從該陣列傳輸。於將圖 2之系統包含在卡中的情況下,主機 土微;丨面包含卡及主機設 備上的匹配插頭與插座裝配件(圖中去 、口甲禾顯不)。控制器301從 主機接收指令’以讀取或寫入在特定羅 一 3隹将疋邏輯地址開始的使用 者資料之一或多個區段。此地址可能合 」月b «或可能不會與記憶 體單元之實體區塊之邊界對準。 通常將快閃記憶體陣列400劃分為二或多個子陣列(本文 中稱為平面)’圖3解說二個此類平面4〇〇3與4〇〇1^大量平 面(例如四或八個平面)可另外包含在記憶體陣列4〇〇中。為 了便於解說,各平面顯示出具有16個實體區塊〇至丨5,而 實際平面將通常包含更多的區塊。區塊包含最少量可一次 抹除的記憶體單元,即抹除單位。平面之各個分別具有其 自己的資料暫存器404a與404b,以及程式化電路4'5乜與 454b。此允許同時將資料程式化至平面4〇〇&與4〇叽之各平 面之記憶體單元區塊中。平面之各個可稍微獨立於另一平 面而操作為子陣列。 98425.doc 15 1287191 為了便於解說’圖4顯示圖3之區塊之一包含資料之十六 頁0至15,因為各區塊很可能包含更多頁。一頁包含在一 次程式化操作中可-起程式化的最少量記憶體單元,即可 程式化單位。纟頁依次儲存自主機的—或多個資料區段, 通常將由記憶體控制器所產生的某負擔資料加人該主機。 儲存在-頁中的資料區段之—範例係在圖5中顯示成包含 使用者資料441 ’其係從主機加上負擔資料州所獲得,該 負擔資料包含制者資料441及/或其中儲存資料區段的實 體區塊之資訊。區段巾的使用者f料441之數量可以方便 為資料之512位元組。此儲存單位在以下情況下尤i有 用:將記憶體系統用於以資料區段之單位將資料傳輸至記 憶體並從記憶體傳輸資料的主機,其包含大多數個人電 腦。對於使用者資料之512位元組之各位元組而言,負擔 資料可以約為16位元組。 個資料位 者資料區 四種狀態 元,則需 或相同數 儲存自二 用每儲存 之資料儲 若採用二進制狀態操作記憶體系統,其中將一 元儲存在各記憶體單元儲存元件中u使用 段加上負擔資料會佔用528個記憶體單元。若在 中操作記憶體單元,從而锉在盔留_ ^ 攸向U存母早兀二個資料位 要將許多單元之僅一半儲在 _ 曰 干词孖在早一貧料區段中, 里的單元可以儲存二個 一 丨口貝枓區段,例如在各單元 個資料區段之各資料區段一 _ 一 权的個位TL情況下。採 儿件較大數量的狀態進行择 疋仃?木作會進一步增加陣列 存密度。 如以上所說明 在某些具有劃分為多頁之較大容量記憶 98425.doc ‘16- 1287191 體單元區塊的先前技術系統中,未更新之區塊中的頁之資 料需要從原始區塊複製至新區塊,其亦包含已由主機所^ 入的新更新資料。此技術係解說在圖6中,其中顯示圖3 2 平面之一的各區塊之二,例如平面〇之區塊3與丨3。藉由所 示的更新資料之四頁而更新原始區塊3之頁7至1〇内的資 料。將新資料寫入未用抹除區塊13之對應頁7至丨〇中。接 著將自原始區塊3中的頁0至6及11至15之未改變使用者資 料複製至新區塊13之對應頁中。較佳在程式化操作之單一 序列中程式化新區塊13之所有頁。在完全程式化區塊13之 後’抹除原始區塊3並將其放置在抹除區塊集區中以備後 來使用。區塊3與13之間的資料之複製,其涉及到讀取自 原始區塊中的一或多頁之資料並隨後程式化相同資料至最 新指定區塊中的頁,會不利地影響記憶體陣列之寫入性能 與可用壽命。 參考圖7A與7B,部分表格顯示在剛針對圖6所說明的更 新資料之前(圖7A)及之後(圖7B),將邏輯區塊映射為原始 實體區塊3與新實體區塊13。資料更新之前,在此範例中 原始區塊3儲存PBN3之對應頁0至15中的LBN3之頁〇至 1 5。在依據圖6的資料更新之後,新區塊13儲存PBN13之 個別頁0至15中的LBN13之頁0至15。在圖7B中地址轉換表 格係顯示為已採用此方式加以更新。接著將從主機接收的 從LBN3讀取資料的請求引導至實體區塊13(PBN13),而非 原始實體區塊3(PBN3)。 可將各頁中的資料之LBN儲存為該頁中的負擔資料,如 98425.doc 17 1287191 在某些商業快閃記_
體頁盥兮尊百所做。控制器接著採用從實 溫貝” ”亥專頁之pBN 所示的表格之形式㈣^的轉位,建立間7A㈣ 性記憶i 將表格儲存在㈣器之揮發 個系統的完整= ',雖然任何-次僅需要儲存用於整 分中的區塊之、戈"”分。正好在涉及到包含在表格部 分。 項取或私式化操作之前,可形成表袼之一部 中在I::針^圖6所說明而操作的其他先前技術系統 ,其禚係包含作為採用各頁中的使用者資料所儲 子的負擔’以便區分包含新資料的頁與包含替代資料的 頁。僅將新資料窝人# < 、冩入新近私疋的區塊。不需要將未更新的 原始區塊之頁中的咨粗 一 T的貝枓稷製至新區塊t。一個邏輯區塊之 資料係Ϊ著在二個實體區塊之間分裂,並且部分加以複 2此而要使更多的記憶體區塊可用於具有給定記憶體容 里的系統。其還需要使用記憶體,其允許將旗標寫入舊 頁,而不必首先抹除該等頁。 通吊將各種旗標儲存作為與其他相關聯負擔資料⑽如 LBN與聊攔位)相同之實體頁中的負擔。因此,程式化其 中已#代貝料之頁中的舊/新旗標需要支援多程式化週期 勺頁也就疋说,記憶體陣列必須具有能力用於其個別 頁’以在抹除之間的至少二個級中加以程式化。此外,區 鬼必J支援以下處力·當已程式化具有較高偏移或地址之區 塊中的其他頁日寺,程式化一頁。然而某些快閃記憶體之限 制藉由規疋僅可採用實體序列方式來程式化區塊中的頁 98425.doc •18- 1287191 而防止此類旗標之使用。此外,在此類快閃記憶體中,該 等頁支援一定數量的程式化週期,而且在某些情況下不= 許額外程式化已程式化頁。存在許多不同類型的快閃 EEPROM ’各類型揭示其自己的限制,其必須在周圍作業 以操作形成於積體電路區域之少量區域上的高性能記憶體 糸統。 所需要的係根據主機使用資料圖案而最佳地管理資料之 機制。 、 【實施方式】 快閃EEPR0M系統之發展趨勢係在很大程度上增加記憶 體單元之數量,因此增加個別區塊中所儲存的資料之數 量,以便減小製造積體記憶體電路晶片之成本。期望約為 資料之512或1〇24區段(各具有528位元組)的區塊尺寸,因 此具有使用者及負擔資料之個量27〇,336或54〇,672位 元組。若將僅一個區段包含在一頁中,則存在相同的頁 數,但是還趨向於增加藉由在各頁中包含二或可能多個資 =區段而程式化為一次程式化操作之一部分的資料之數 罝,在此情況下會減小儲存給定數量的資料區段之區塊中 的頁數。但是不管任何特定實施方案之細節,隨著個別區 塊之資料儲存容量的增加,以上說明用以更新區塊中的資 料之一部分的現有技術會增加對記憶體性能及/或容量利 用的不利影響。 可以看出,若更新區塊之大約528頁之僅幾頁令的資 料,則針對圖6所說明的現有技術根據將其餘未改變頁從 98425.doc -19- 1287191 售區塊複製至新區塊(通常一次複製一頁)所需要的時間之 數里而具有重要的增加負擔。雖然此可以為如今用於即時 貝料儲存應用的甚小區塊尺寸之問題,但是其會隨區塊之 、,寸勺加而變知更糟。此外若使用在原始區塊中對舊資 料頁加標籤之替代技術,則將更新資料之很少頁寫入另_ 具有新區塊中的其餘頁保持未用之機率的大型區塊中。 因此,依據本發明之一方面,提供至少一個區塊於記憶 體之各平面中,以接收平面中的某些或所有其他區塊之資 料之此類 >、畺的更新。在圖8所解說的記憶體平面中,本 文中將區塊1 〇之一種類型如此指定、識別為E丨區塊。還存 在私疋用於進行不同操作的各記憶體平面的區塊之至少一 種類型(參考為E2區塊),如下文所說明。平面中未用區塊 之任一區塊均可指定為E1或E2區塊,而且此指定有時可以 在記憶體之操作期間加以改變。EWE2區塊之衫係取決 於主機之程式化圖案。 參考圖9’其說明E1區塊之使用。在此範例中,更新區 塊3之頁7至1()中的資料’如先前針所說明的範例中 -樣。但是並非將更新資料寫入新區塊内的頁之相同範 圍’其係寫入任何方便未用抹除頁(通常為按順序的下頁) 中的E1區塊。在圖9中’ E1區塊係顯示成在其頁…中儲 存自邏輯區塊7之三頁的更新資料,而在其頁3與4中錯存 自邏輯區塊2的更新資料。錯存自邏輯區塊3的更新資料之 當丽頁7至_最方便位置係分別在下頁㈤(按順序的下 四頁)中。E!區塊之其餘抹除頁9至】5可用以儲存自其他區 98425.doc -20· 1287191 塊之頁的更新資料。 於此範例中在儲存更新資料時,區塊3之頁7至1〇中的原 始資料會變為陳舊資料。因此當讀取區塊3之資料時,記 憶體系統控制器還需要識別自區塊E1的更新頁7至1〇,並 且使用其資料代替原始區塊中的頁7至1〇之資料。為此目 的,將地址映射維持在控制器之快速揮發性記憶體中。在 知用系統之至少一部分中的頁之負擔資料,或非揮發性記 憶體中的其他儲存資料(包含E1區塊中的資料)而初始化系 統之後,可獲得用於地址映射的資料。此資料包含共同包 s為各頁之負擔資料之一部分的各頁之LBN。因為該等頁 未約束成以E1區塊中的任何特定順序而加以寫入,所以各 貝料頁之負擔還較佳包含其在區塊内的邏輯頁偏移。接著 才木用在E1區塊中改變的任何資料頁之負擔欄位而更新地址 映射之資料。 迄今已假定在E1區塊中僅存在任一給定頁之一次更新。 匕了月b為某些應用而非其他應用中的情況。例如在圖9之 範例中,原始區塊3之頁8可加以第二次更新,並且此第二 -入更新亦係儲存在可用抹除頁之另一頁中的相同E1區塊 中。當讀取儲存在區塊3中的資料時,控制器還讀取自E1 區塊内的各頁之標題(負擔資料)的資料,其係自維持在控 制益記憶體中的表格或自頁本身。E1區塊内的程式化頁之 ^題係每次在相同方向讀取,例如從其在圖9之範例中的 取南程式化頁8至頁〇。在其中序列地寫入頁的記憶體之類型 中遇到的複寫更新頁之情況下,控制器瞭解在相反序列中 98425.doc • 21 · 1287191 首先5賣取的資料係隶當前的資料,並且隨後忽視e 1區塊中 具有相同LBN與頁偏移的所有其他頁。還可以在初始化記 憶體以維持完整的映射期間讀取E1區塊内的各頁之標題。 作為識別具有相同LBN與頁偏移的二頁之最當前頁的更 一般替代方法,各頁之負擔可另外包含其程式化時間之指 示,該時間至少相對於程式化具有相同邏輯地址的其他頁 之%間。當躓取自記憶體之特定區塊的資料時,此使控制 器可決定指定相同邏輯地址的資料頁之相對使用年限。此 技術使更新頁可在允許此技術的記憶體系統中以任一順序 而寫入E1區塊中。還可以比較容易地操作在單一平面中具 有一個以上的E1區塊之記憶體系統。區分舊資料與新資料 之此方法係更全面地說明在上述美國專利申請公告案第 2002-0099904號中。 存在數個方法,其中可將時間戳記記錄在個別頁中。當 程式化其相關聯頁之資料時,最直接的方法係記錄系統中 的即時時脈之輸出。具有相同邏輯地址的後來程式化頁則 具有後來纪錄的時間。但是當此類即時時脈不可用於系統 打’可使用其他技術。一項特定技術係儲存N模數計數哭 之輸出作為時間戳記。計數器之範圍應比預期採用相同^ 輯頁數所儲存的頁數多—。例如#更新圖9之原始區塊4 的特定頁之資料時,控制器首先讀取儲存在其資料得到更 新的頁之負擔中的計數、增加該計數達某數量(例如一), 亚接者寫入儲存在E1區塊中的新更新頁中的增加計數。若 此計數係包含在維持於控制器記憶體中的表袼中,則控制 98425.doc -22- 1287191 器從該表格讀取該計數。否則,控制器從所更新的 題讀取計數。計數器在達到計數N之後會滾動至^使具有 相同LBN的區塊之數署小於M M . ^ 数里,以便確保在儲存計數之數 值中存在中斷點。此伤系絲斗奴_ π & 便糸、、先汁數裔可偵測具有低計數值的 LBN比具有較高計數值的咖更為新近之情況。 控制器在被要求讀取資料時可輕易地區分新頁資料與替 代頁資料,該區分係藉由比較具有相同lba與頁偏移的頁 之負擔中的時間戳記計數。為了回應讀取資料槽案之最新 近版本的需求,接著將自識別新頁的資料,與尚未更新的 原始頁裝配成資料檔案之最新近版本。 圖10顯示儲存在圖9之個別頁中的資料之單—區段之社 構之-範例。最大部分為使用者資料45。還將採用使用者 資料所計算的錯誤校正碼(ECC)47儲存在該頁中。還將包 含儲存LBN與頁標籤(邏輯頁偏移)的搁位41之負擔資料 49、時間戳記43與視f要㈣貞擔資料所計算的ecc观 存在該頁中。藉由具有涵蓋與使用者資料Ecc 〇分離的負 擔資料之ECC 50,負擔49可從使用者資料加以分離地讀取 並且評估為有效負擔,而無需傳輸鍺存在該頁中的所有資 料。然而或者在負擔資料4 9之分離讀取並非頻繁事件的情 況下’可由單一ECC涵蓋該頁中的所有資料以便減小一頁 中的ECC之位元之總數。作為採用咖的另一方法,可以 改為使用其他習知的冗餘技術。保持相同資料頁之多個版 本之磁軌的技術之另外說明係包含在上述美國專利令請公 告案弟 2002-0099904號 _。 98425.doc -23- 1287191 田由(例如)單一主機指令所更新的頁之數量與個別區塊 中的頁之總數相比為較小時,將E1區塊用於更新。當更新 區塊之頁之足夠大的比例時,則更有效率的係改為採用針 對圖6所說明的現有技術,其中更新頁與未改變頁係採用 所維持的其原始頁順序而加以直接寫入新區塊。由控制器 4擇一個或另一個程序,取決於一次所更新的區塊之頁之 比例及/或絕對數量,以及可能取決於發生更新時記憶體 之作之其他因素。另一此類因素可以為當不方便整理新 區塊13(其可指定為Ε2區塊)中的頁時,在此情況下將更新 資料暫時儲存在區塊Ε1中。 作為凋用二種更新技術之間的決策準則的更新頁之最佳 比例或數置,可以在採用不同方法所構造及/或操作的記 憶體系統之間不同。但是具有固定準則為實施的最大便 利。例如,若所更新的頁之數量少於區塊中的頁之總數的 但是更新至少一頁,則使用圖9之新技術。若該比 例等於或大於50%,但是並未更新至少一頁,則使用圖6 之現有技術或某類似技術。決策數量可以(例如)在某些系 、先中回達75 /〇,或在其他系統中低如25%。用以選擇決策 數1的準則可以為(例如)最佳化記憶體系統之性能(例如操 縱耘式化釭作之速率)的準則。該數量可以儲存為系統參 數,以便其可在用於系統最佳化的產品組態期間加以修 改。還可將一演算法包含在控制器操作中,以根據包含廢 料收集活動的當前主機操作之歷史而更新並最佳化決策數 量。 98425.doc -24- 1287191 一旦由控制器進行決策以將輸入資料引導至E丨區塊,則 在將一或多頁寫入E1區塊中以較好地得以引導至E2區塊之 後’可偵測程式化操作之性質。一示範性情形為當發現序 列寫入指令在單一區塊寫入序列頁(一次寫入一或幾頁) 時。在將幾個此類頁寫入E1區塊之後,可以由控制器注意 此點’其後停止進一步寫入E1區塊,並且其餘序列寫入並 非引導至E2區塊。接著將已寫入E1區塊的頁傳輸至£2區 塊。此程序可減小作為此程式化操作之結果而必須整理區 塊E1之頁的機率。或者,在序列頁寫入在抹除£1區塊開始 的情況下,可將該區塊轉換為E2區塊。 圖11A顯示當所更新的頁之數量高於預定決策位準時, E2區塊13(圖8)之使用。在此情形下,不使用E1區塊1〇。 作為一範例,寧可將儲存在原始區塊3中的頁P2至P11之更 新資料直接寫入先前已抹除的E2區塊1 3之相同頁P1至P11 中。接著將未改變的原始區塊3之其餘頁PI、P2及P12至 P15之資料區段複製至相同頁數中的E2區塊13。在將一個 以上的資料區段儲存在一頁中的大多數情況下,較佳同時 複製一頁之所有資料區段。由圖11B所指示的下一步驟係 抹除原始區塊3並且將其指定為用於將來操作的新E2區 塊。更新圖7A與7B所解說的類型之轉換表格以顯示用於 相同LBN的改變式PBN。 如以上所說明,較佳將一個區塊之資料之更新頁儲存在 具有與原始區塊相同偏移的E2區塊之頁中。然而作為適合 於某些應用的替代範例,系統控制器可以儲存E2區塊中的 98425.doc -25- 1287191 頁而不考慮其在原始區塊中的偏移。在此替代範例中,該 專頁可以從E2區塊之頁P0開始按順序加以儲存。此採用£ 1 區塊之一個特徵,該區塊不同於普通區塊但是將仍不允許 資料之任一頁之一個以上的複製儲存在E2區塊中。當使用 E2區塊之此替代類型時,資料整理可能會更複雜,因為E2 區塊之次序顛倒的頁將傳輸至具有其原始區塊之頁偏移的 另一區塊之頁中,以便將該等更新頁與原始區塊之未改變 頁組合。 為了能夠限制留出作為E1區塊之系統中的區塊之數量, 需要有效率地使用該等區塊以便存在足夠數量的可用以滿 足較少部分區塊更新之預期要求之E1區塊頁。因此間歇整 理發生於儲存在主機實體區塊與E1區塊中的邏輯區塊之資 料之頁。此從屬於邏輯區塊的E1區塊移除更新資料頁之至 少某些,從而使該等頁可用於將來使用。將其整理成單一 實體區塊。 此類抹除整理操作(廢料收集)之一範例係提供在圖 12A、12B與12C之時間序列方塊圖中。在該等圖式之各圖 式中,頂部圖表示圖8之記憶體陣列平面之區塊3之頁之使 用,其最初(圖12A)為特定邏輯區塊之主要區塊儲存資 料。然而已更新自區塊3之頁p7至P10的資料,並且已將資 料之該等頁儲存在指定E1區塊1〇之頁?5至卩10中(圖12A之 中間圖)。區塊3之其餘頁P0至P6&pn至pi5包含有效資 料。E1區塊10之其他頁P〇至?4包含自不同於圖8之區塊3之 一區塊的更新資料。 98425.doc -26 - 1287191 作為抹除El區塊之頁之某些的抹除整理操作之第一步 驟,將自區塊10之四頁P5至P8的資料複製至指定E2區塊13 之頁P7至P10中(圖12A之底部圖)。已較早地抹除區塊13。 現在將該等資料儲存在區塊13之各頁中,在更新其資料之 前該等頁具有與其最初在區塊3中一樣的地址偏移。下一 步驟係接著將自區塊3的有效資料頁p〇至p6及p丨丨至p丨5複 製至E2區塊13之頁中’如圖12B所示。區塊13接著包含自 原始區塊3的資料之所有頁,在單一實體區塊13中更新其 頁P6至P10中的資料。區塊3係接著抹除(圖12B)並指定為 用於圖8之記憶體平面的新E2區塊。可並列執行該等步驟 之許多步驟。 雖然E1區塊10之頁P5至P8中的資料不再係必要的(圖 12B),但是E1區塊之頁P0至P4中的資料仍有效,其為另一 實體區塊之更新資料。接著將該等資料複製至抹除區塊3 之頁P0至P4中,如圖12C所示。接著由控制器將區塊3重新 指定為E1區塊,從而留下抹除頁!>5至pi5以備將來使用, 從而採用與以上說明相同的方式而暫時儲存更新資料之 頁。接著由控制器將區塊10抹除並指定為E2區塊。作為程 序之一部分,已刪除資料之舊替代頁。 存在數個觸發事件,其可由記憶體系統控制器用以啟動 以上針對圖12A至12C所說明的抹除整理操作。最普通的 事件係當在指定為E1區塊的區塊此刻使其頁之某比例充滿 更新資料頁時。某數量的抹除頁需要在E丨區塊中保持可 用,該數量取決於許多因素,例如將各扪區塊用於更新的 98425.doc -27- 1287191 ,塊之數量。對歷塊最有利的係整理具有£1區塊中最陳 售貧料頁的區塊。接著單-抹除整理操作會清除自ei區塊 之最大數量的不必要頁。存在其他準則,其也可用以選擇 具有要整理之區塊E1中的資料頁之區塊,例如伯測區塊ei 中此類區塊的資料頁之資料中的錯誤。此可最小化區塊ei 頁中的任一隨後錯誤之出現將淹沒其Ecc的機會。 可用以觸發圖12A至12C之抹除整理的另一事件可以為 當記憶體之性能因指定以區塊中的不夠空間而變退化時。 當更新區塊之某數量的頁,並4E1區塊中存在太少的抹 除頁來儲存所更新的頁之數量時,控制器較佳將更新頁寫 入E2或另一抹除區塊,其具有與所更新的原始資料頁相同 的頁偏移。此必定會出現,即使所更新的頁之數量少於通 常要求用於E1區塊的預定數量。接著將有效或非陳舊資料 頁從原始區塊複製至相同E2或其他抹除區塊中,以將用於 邏輯區塊的所有當前資料組合至單一實體區塊中。與若可 以使用指定E1區塊相比,此將花費更多的時間並因此會不 利地影響系統性能。因此,在偵測此已發生預定次數之 後,執行圖12A至12C之整理操作以便抹除E1區塊中的更 多頁。否則,會失去具有並採用E1區塊之全部優點。預定 次數可以為預設定參數或可由記憶體控制器加以適應性地 最佳化。 此外’當需要再新具有E1區塊中的更新資料頁之區塊 日可’若此資料再新為記憶體的操作之一部分,則其再新可 以包含圖12A至12C之抹除整理操作。其也可包含為其他 98425.doc -28- 1287191 擔操作之一部分,因為苴诵當 勹八逋吊可在此時做到此點。此 ’作為另一觸發事件,可以方 ’卞j以在以下情況下進行抹除整 負 外 疋^'以將知序重複用於二或多個區塊以便抹除ei區塊中的 更夕頁此外,可以採用元區塊之區塊而整理該等資料 頁方便地做到此點係當並不要求控制器執行其他功能達 足以進行涉及_區塊的多抹除整理操作之時間。 理:控制器並未另外得到㈣或排程為得到佔用達足以執 仃整理操作的時間。以上說明的因素之任一個、數個或全 部可用以啟動圖12A至12C之抹除整理操作。此外,雖献 已將抹除整理操作說明成整理用於單一區塊的資料頁,但 針對圖12A至12C所說明的整理操作採㈣區塊中的可 用抹除頁,因為一次更新的頁之數量少於目前數量,例如 E1區塊中的頁之數^的—半,即可設定成採用區塊以的準 則之。右更新多於頁之該等數量,則將更新資料直接寫 入以區塊,如先前針對圖丨以至UB所說明。不同的整理 操作出現在以下情況下:—次更新的邏輯區塊之頁之數量 超過預疋數里’而且不存在用以採用區塊ei的其他建立準 則’但是其中先前已將邏輯區塊之-或多個更新頁寫入E1 區塊中。在此情況下’將更新區塊直接寫人腿塊。針對 圖13A至13C而巩明操縱此情形的記憶體系統控制器之操 作0 在圖13A之範例中,一次更新儲存在區塊)中的資料之頁 ?2至P11(頂一圖)。先前已更新資料頁P12至P13,將更新 資料儲存在圖8之記憶體平面之指㈣區塊1()之頁ρ5_ 98425.doc -29- 1287191 中(圖13A之中間圖)。作為更新資料頁P2至pii中的第一步 驟,將更新資料直接寫入指定E2區塊13之對應頁P2至P11 中(圖13A之底部圖)。先前更新頁P12至P13亦係從其在E1 區塊之頁P5至P6中的位置而複製至E2區塊之頁P12至P13 中。 圖13B中說明的下一步驟引起區塊3之頁]?1至1>2及1>14至 P15中的未改變資料得以複製至區塊13之對應頁位置中。 區塊13接著儲存當前更新資料之所有頁。接著將區塊3抹 除並指定為E2區塊。接著將儲存在以區塊10之有效資料頁 P1至P5中的自不同於區塊13之某區塊的其餘更新資料複製 至區塊3之對應頁中,如圖13C所指示。接著將區塊3指定 為E1區塊。區塊1〇接著得以抹除並變為£2區塊用於需要使 用該區塊的任何將來操作。已在程序中删除資料之所有舊 替代頁。 較佳啟動由圖13A至13C所解說的抹除整理操作,以回 應寫入E2區塊的更新資料頁(圖1 3 A)。該回應可以係立即 的以便即刻抹除E2區塊以將來用於記憶體平面内,或者 可以在某延遲之後啟動整理。允許一或幾個進一步的程式 化週期發生在寫入E2區塊中的更新資料頁之後的延遲,允 許對最初儲存在實體區塊3中的邏輯區塊之資料之任何進 一步的更新包含在整理操作中。此節省必須針對相同資料 區塊在接近連續中執行此類整理兩次。 如針對圖12A至12C及13A至13C所說明,涉及到E1區塊 的抹除整理操作可一般應用於記憶體系統,其用於個別電 98425.doc -30- 1287191 腦、電腦伺服器、個人數位助理、音響與視訊處理裝置及 類似物。在該等應用之許多應用中,在頻繁間隔中一次更 新記憶體之一或幾個區塊之一或幾個資料頁。—範例為咛 多電腦系統之檔案配置表格(FAT)、共同組件之:持:通 常將FAT儲存在記憶體之單—平面之—或幾個區塊中。= 次由主機將資料寫入記憶體時,均通常更新儲存FA表格 ^-部分的至少-頁,並且作為各抹除整理操作之一部 分,而且係無論其他時間改變主機指定邏輯區塊對由控制 器所指定的實體記憶體區塊之配置時。頻繁資料更新:另 -範例係將負擔資料維持為記憶體操作之—部分。例如, 在另區塊中將關於各記憶體區塊之使用或特徵的某資訊 保持在一起。隨著記憶體的使用,接近連續地更 料。 曰對於其中發生貧料之重要數量之此類頻繁更新(每次少 里更新)的系統而吕’藉由指定一個以上的&區塊用於經 歷該等頻繁更新的記憶體之區域,改進記憶體系統之性 %。對於主機主要館存的£ΒΑ之範圍或僅此類頻繁更新資 料而石,E1區塊或元區塊甚至可以專用於僅該區塊。做到 此』係田所獲传的改進性能值必須從一般服務移除一或多 個額外區塊以便作為額外或專用Ει_)區塊之成本時。 主k㊉為館存FAT表袼、區塊負擔資料及類似物的區塊之 月、額外或專用E】區塊之指定可以導致必須執行圖I ^ C之抹除打异整理操作所採用的頻率之實質減小。 圖解”兒在不同於圖8之時間的即時時間,一個記憶體 98425.doc 1287191 平面中的區塊之配置。除由記憶體控制器指定為用於記憶 體平面的一般E1區塊之區塊1〇以外,將區塊2指定為用於 僅自區塊1的更新之dE 1區塊。無論何時更新映射至區塊1 的LBN之頁之資料,並且存在用於寫入區塊E1(而非區塊 E2)的條件,均將更新資料頁寫入dEl區塊2之可用抹除頁 中。接收更新資料的dE 1區塊2内之頁為,需要以此類序列 將頁寫入其個別區塊中的類型之記憶體中按順序的下一 頁。同樣地,將區塊4指定為專用以接收映射至區塊3的 LBN之更新資料,並且區塊6為專用於區塊5之LBN的dEl 區塊。平面内三個專用E1區塊之使用僅為所說明的原理之 一個特定範例。可在某些應用中提供僅一個dE 1區塊,或 可如此指定平面中達一半的區塊。將區塊丨3指定為E2區 塊,例如圖14之平面。 專用E1區塊之繼續使用當然會引起其最終變得完全程式 化。在E1區塊變得完全程式化之前,可以多次重新寫入E1 區塊所專用於的資料區塊之某些頁。在此範例中將各頁寫 入E1區塊之下一可用抹除頁中,並且將其在原始資料區塊 内的頁偏移儲存為用於區塊的負擔資料之一部分。在任一 專用E1區塊變得完全程式化前不久或在此時,整理操作會 發生以重新寫入資料區塊,從而包含自其E1區塊的最當前 頁以及任何未改變資料頁。圖15A與15B提供此點之一範 例0 圖15A解說將自圖14之區塊3及其Ei區塊4的資料頁整理 至£2區塊13中。在此範例中,未改變頁P0至PI、P5至P9 98425.doc -32- 1287191 及P13至P14之資料。在此範例中,已更新其餘頁”至料及 P10至P12與P15,將最新近更新頁儲存在個別頁p7、p2、 ΡΠ、P13、P10、P8與P12中的dEl區塊4中。在此解說性 範例中已開始整理程序,因為除最高二頁p14與pl5以外, 已程式化dEl區塊4之所有頁,dE1區塊幾乎已用完空間。 接著藉由程式化操作,將原始資料區塊3中的未改變頁以 及dE 1區塊4中的最新近更新頁裝配為E2區塊丨3。將各此類 頁寫入具有頁之實體偏移的E2區塊頁中。也就是說,雖然 更新頁係以其得到更新的順序而暫時儲存在dE丨區塊中, 而非在其個別實體頁位置,但是自原始資料區塊3的頁之 最新近更新係複製至具有對應於其定址偏移的位置之E2區 塊13之頁中。如圖i5B所示,接著抹除區塊3與4,一個區 塊係指定為專用於新資料區塊13的PE1區塊,而另一區塊 變為用於記憶體平面的E2區塊。 然而不需要E2區塊13中的資料頁具有與得到更新或複製 之頁相同的地址偏移。其保持在相同的相對順序則足夠。 例如,可將第一資料頁P〇儲存在圖15人之£2區塊13中於自 左側的弟二貫體頁而非最左實體頁中。其餘資料頁係接著 以其邏輯地址之順序而固定在區塊13内,從而採用儲存在 E2區塊13之最左二頁中的最後頁P14與pi5而圍繞。當利用 此類頁偏移時,使用者資料負擔之頁標籤41 (圖1〇)可用以 保持E2區塊内的資料頁之偏移之磁執。 圖14之記憶體平面中的額外E1區塊之指定與使用可程式 化至記憶體系統控制器韌體中,以出現在以下情況下:需 98425.doc -33- 1287191 要將額外El區塊專用於採用複數個但是少於映射至成平面 的所有LBN而操作。選擇成具有個別相關聯El區塊的 為期望主機頻繁地更新其資料的LBN。或者,控制器$刃體 可以動態地指定dEl區塊,其係分別與僅_個另_ LBN^g 關聯以回應記憶體所實際使用的方法。例如,當資料係由 主機在每主機指令僅一個區段或少於正常數量的區段之带 式寫入LBN時,該LBN可以指定為其自已的dE1區塊。此 外,可將dEl區塊指定為其中繼續地過多寫入資料之 LBN。dEl區塊之使用可減小一般平面區塊E1以外的資料 頁之頻繁整理。 作為於存在對dEl區塊的需求之情況下的另一範例,與 藉由其他區塊相比,藉由特定資料區塊的圖12A至12c之 整理程序之甚高使用,會引起平面之未用區塊被指定為專 用於採用頻繁更新資料之LBN操作的E1區塊。為了最佳化 性此’較佳將區塊dE 1專用於得到頻繁整理的區塊。控制 态韌體決定何時應將E1區塊專用於作為dE 1區塊的給定 LBN之程序之一範例係維持以下計數:(1)用以將引起寫入 的給定區塊寫入E1區塊的主機指令之數量、將操作寫 入給定區塊的總數及/或(3)具有寫入£1區塊的相同邏輯地 址之區段之數1。當該等計數之比率超過預定數值時,則 建立專用區塊dEl。圖15A與15B之整理操作接著保持E1區 塊與包含此類資料的各邏輯區塊相關聯。 作為動態地建立dEl區塊之另一範例,可程式化記憶體 控制器以區分資料之頻繁更新類型,與資料之不頻繁更新 98425.doc -34- 1287191 類型,並且將此類資料引導至適當區塊。例如,記憶體控 制器可以辨別·何時由主機採用個別指令傳送資料之單一 區段,用於頻繁更新的FAT表袼之典型實體,與採用單一 指令傳送資料之多個區段的主機相比,未如此頻繁地加以 更新之典型使用者資料。當接收資料之單一區段時,接著 將其映射成dEl區塊所專用於的實體區塊。當多個區段係 由記憶體系統接收為一單位時,其係傳送至共享具有其他 資料區塊的E1區塊之資料區塊。此非專用區塊包含自多 個LBN的資料。 本發明之技術還可應用於具有—或多個平面的記憶體架 構’將4等平面劃分為各區4,但是不必將該等區域用於 實施本發明。在多個平面之情況下,個別區域橫跨平面而 延伸。可以使用或可以不使用^區塊。圖16示意性地顯示 定義橫跨多個平面的邏輯區域的記憶體系統之一範例。顯 示四個平面0至3,雖然或多或少的平面可包含在記憶體系 統中。各平面包含大量區塊,其—部分係由圖! 6中的矩形 斤4曰示|區塊包含許多資料頁,其係指示為用於區塊61 之,如以上說明用於其他記憶體系統。此處的差異在於 進::將平面劃分為區域,丨中各區域包含自該等平面之 〆、平面之各平面的給定數量之區塊。例如,參考圖 二,區域0包含許多自平面0至4之各平面的區塊,區域!包 各自”亥等平面之各平面的區塊之另一群組,以此類推。區 或内的各平面中的區塊通常佔用實體區塊地址之相同接近 集彳疋此並不需要。將主機邏輯地址之截然不同的範圍 98425.doc -35- 1287191 映射成各區域。 圖16之記憶體系統之操作之單位較佳為元區塊。在此範 例中,元區塊包含自邏輯上連接在一起的各平面之一個區 塊以形成元區塊。在此情況下,將各元區塊形成於單一區 域内。例如,一個元區塊係顯示在圖16中於區^内,其 係由區塊63、64、65與66所形成。元區塊之特徵操作包含 同時抹除元區塊内的所有區塊,並且同時程式化而且讀取 自元區塊之各區塊的一或多頁。此增加平行性會在很大程 度上、加δ己憶體系、统之性能。各元區塊内的個別區塊之識 別項可加以維持為系統内任—方便位置中的@定或動態連 接清單、陣列表格及類似物。通常而言,與各頁之使用者 儲存在一起的負擔資料將包含足以識別平面的邏輯及/或 κ體地址、頁駐留於其中的區域及區塊、以及區塊内的頁 之偏移。接著藉由讀取頁負擔資料之該等地址攔位的控制 淼,在控制窃之記憶體内建立地址映射。通常先於引導至 纪憶體之部分的程式化、讀取或抹除操作,做到此點以用 於記憶體之部分。在未將系統劃分為區域的情況下,個別 疋區塊可以採用多個平面之整個可用實體地址空間中的區 塊而加以形成。 各區域内的一或多個區塊可配置用作用於區域中其他區 塊的區塊Ε1與區塊Ε2。在圖16所解說的範例中,區域1 有一個區塊Ε1。當寫入操作滿足用於區塊£1的準則時,接 著將寫入區域1内的各元區塊之任一元區塊的資料之部分 區塊引導至區塊69。通常需要將一個以上的區塊Ε1用於各 98425.doc -36- 1287191 區域,取決於區域之尺寸。事實上,一或多個元區塊可配 置在用於E1功能的各區域中,如圖丨7所解說,其中區塊 Ela、Elb、Elc與Eld,即自平面〇至3之各平面的一個區 塊形成區域1内的元區塊。在圖16或17之任一情況下, 將一或多個元區塊E2配置用於各區域。或者,可以在系統 中的某處提供元區塊之集區以為用於所有區域的£1與£2區 塊功能服務,例如在單一區域中收集該等區域。元區塊E1 還可專用於單一另一接收頻繁寫入的元區塊。事實上,可 以另外採用元區塊E1而實施用於單一區塊E1的以上說明, 例如圖12與13之整理。區塊單位之尺寸不會改變基本程 序。將元區塊用於E2的通常優於單一區塊,但是將單一區 塊用於E1可能會因效率而優於元區塊。應注意當整個陣列 包含僅一個區域時,也可應用涉及到多個區域陣列之單一 區域中的元區塊之使用的說明。 在用以接收邏輯區塊地址之離散範圍内的更新資料頁之 實體區塊El、dEl與E2之典型配置中,將許多此類區塊配 置用於接近邏輯區塊地址之二或多個非重疊集之各集,例 如通常發生在系統使其區塊或元區塊組織成以上說明的區 域。接著採用邏輯區塊地址之各集將相同規則最方便地應 用為何時以及如何使用其分配E1、dE 1與E2區塊或元區 塊。 然而貫體El、dEl與E2區塊之任一個或全部之使用不必 遵循此類約束。例如,對於邏輯區塊地址之一個範圍而 言,何時以及如何使用該等特殊區塊之規則可以不同於另 98425.doc -37- 1287191 範圍。此允許將資料之不同典型主機使用圖案或類型之 辨別儲存在主機邏輯地址之不同範圍内。此外,£1、dE1 與E2區塊之特定集所專用於的邏輯區塊地址之範圍不必完 全接近。甚至可使邏輯區塊地址之一個範圍與另一範圍重 璺,將採用E1、dE 1與E2區塊的規則專用於不同的各重疊 範圍。在此後者情況下,對於實體E1、dE1與£2區塊之二 或多集之一中的儲存而言,藉由具有重疊範圍内的邏輯區 塊地址的資料之主機進行程式化係合格的,取決於由主機 操作滿足何規則集。較佳設定規則以便對於E1、dE1與E2 區塊之可能集之僅一個集中的儲存而言,重疊邏輯地址範 圍中的任一個程式化操作係合格的。 圖18顯示將實體E1、(^丨與^區塊指定為邏輯區塊地址 的範例。在具有所解說的序列邏輯地址的四個邏輯區塊 LBN{x}至 LBN{x+3}當中,lBNW、LNB{X+1}與 LBN{x+2}共享E1區塊,其用以儲存滿足用於们區塊的準 則之更新育料,同時其係分別映射為分離E2區塊,以儲存 滿足用於E2區塊的準則之更新資料。指定成採用特定扪與 E2區塊的邏輯區塊地址之範圍可以相同、因某重疊而不同 或相互排斥。記憶體接著可適合於主機使用。例如,在接 收頻繁單一資料區塊更新的邏輯地址範圍之情況下,其可 映射成E1或dEl區塊而非£2區塊,因為一次更新足夠的資 料以使E2區塊有用係不太可能的。 當進一步更新一部分時,將儲存在E2區塊中的資料儲存 在指定用於相同資料邏輯地址的E1區塊中。當然,具有护 98425.doc -38- 1287191 疋用於E2區塊的邏輯地址之更新資料可以儲存在Η區塊 中’而不必首先儲存E2區塊内的該邏輯地址之資料。用以 儲存更新資料的E1或E2區塊之選擇取決於以上說明的準 則。 圖19之流程圖顯示快閃記憶體系統之示範性操作,該系 統以動態地回應主機操作之圖案以最佳化記憶體系統之性 能的方式,利用以上說明的區塊El、dEl與E2。程序始於 每次記憶體系統從與之連接的主機系統接收寫入指令,如 1 〇1所指示。寫入指令包含資料之LBN、要寫入的資料之 區段之數量以及類似物。LBN將引起資料映射為記憶體平 面之區塊或映射為橫跨多個平面而延伸的元區塊,取決於 所程式化的特定記憶體陣列之結構與操作。第一步驟1〇3 檢查與接收LBN相關聯的現有E2區塊或元區塊是否具有空 位用於所程式化的資料區段之數量。若是,則下一步驟 1 〇 5决疋當洳寫入核作之資料區段是否為具有序列地址的 先前寫入操作之繼續。若是,則將資料程式化至現有以區 塊中,如步驟107所指示。 但是若在步驟105中決定新寫入並非為區段之先前序列 之繼續的區段,則在步驟109中決定邏輯區段地址之間隙 是否涉及到區段之較少數量,例如一或僅幾個。若少於區 段之某預置數量,則按順序將該等未改變資料區段複製至 E2區塊中,如步驟111所指示,並且按步驟1 〇7將新資料區 段寫入E2區塊中。因為區段之較小數量之間隙,所以此將 未改變資料之幾個區段複製至現有E2區塊中可能會最佳, 98425.doc -39- 1287191 而非將隨後的寫入處理為與先前寫入完全斷開。 但是若邏輯地址間隙大於區段之預置數量,則下一步驟 113考里疋否應建立新E2區塊用於包含待定寫入操作的 LBN範圍。所考量的統計可包含儲存或新近寫人交易之分 析,或可以簡單如決定當前寫入操作之區段之數量是否大 於固疋或動您決定的臨界數量。此臨界數量可以(例如)少 於儲存在區塊中的資料區段之數量,但是多於區塊容量的 一半或四分之三。若從定義的統計決定要建立新E2區塊, 則在步驟115中進行建立,並且接著在步驟1〇7中將待定寫 入之貝料程式化至新E2區塊中。以下針對圖2〇之流程圖說 明用以配置新E2區塊的程序。 此說明係基於步驟103中所進行的決定:在現有E2區塊 中具有^位用於待定寫人操作之f料區段之數量。然而若 沒有足夠的空位,則處理會跳至步驟113以決定是否應建 立新E2區塊。 右在步驟11 3中決定不應建立新E2區塊用於待定寫入操 作之資料,則其很可能係因為區段之數量少於(或等於)步 驟H3中所用的預置臨界數量,因而更適當地寫入扪區 塊因此在下一步驟117,決定是否存在現有dE丨區塊用於 當前資料區段駐留於其中的LBA範圍。若是,則在步驟 119中將该等資料區段程式化至該dE】區塊中。但是若否, 則在步驟12!中決定是否應建立新dE1區塊。此決定可基於 儲存的邏輯或實體操作之分析,可或基於瞬時操作。所考 量的統計可包含廢料收集操作之出現、建立的扪區塊之數 98425.doc -40- 1287191 置或給定LBA範圍内的非序列單一區段寫入操作之數量。 當某區塊中的資料之更新之數量與頻率甚高於系統中的區 塊之典型多數時,將dEl區塊專用於該某區塊。若結果配 置dEl區塊,則依據圖2〇之流程圖而在步驟123中進行此配 置。 但是若在現有dEl區塊中沒有空位,並且決定不配置另 一區塊’則在步驟125中尋求與待定寫入操作之lba相關 聯的現有E1區塊中的空位。e 1區塊可個別地限於儲存LB A 之特定範圍之資料區段以便使其易於管理,例如提供一個 區段於各平面中,如以上所說明。或者,E1區塊可以健存 具有自陣列内任一處的LBA之資料。若存在足夠用於資料 的空間,則在下一步驟127中將資料寫入與資料之LBA相 關聯的E1區塊中。 另一方面,若與資料之LBA相關聯的E1區塊沒有空位, 則在另一 E1區塊中尋求空間,如步驟129所指示。若存在 此類空間,則做出決策是否將由另一 E1區塊所操縱的lba 之範圍擴大成包含當前資料之LB A。取決於主機之使用圖 案,可較佳地儲存具有系統中的E1區塊之數個或全部之任 一個中的任何LBA之資料,或將各E1區塊嚴格地限制為 LBA之集範圍。若決定將資料寫入另一 E1區塊,則在步驟 1 27中進行此寫入。然而若決定不將資料寫入另一 e 1區 塊,則按步驟131配置新E1區塊,並且在步驟127中將資料 寫入該新區塊中。 圖20之流程圖顯示用以在步驟11 5、123或13 1之任一步 98425.doc -41 - 1287191 驟中配置新區塊的常規。若在最初步驟133中決定記憶體 區塊可用於抹除及未用區塊之集區,則在步驟13 5中將此 類區塊指定為E2、dE 1或E1區塊,取決於執行圖19之個別 步驟115、123或131之何步驟。然而若此類區塊不可用, 則去配置現有E1、dE 1或E2區塊並重新指定新區塊。圖2〇 之其餘步驟決定為此目的而去配置的是否為E1、dE 1或E2 區塊。應用於此範例的原理係去配置最少使用而有用的區 塊。 若當圖19之處理係在步驟131中時建立新E1區塊,則在 圖20之步驟139中決定是否已存在Ei區塊之最大數量。此 數量可加以設定,或較佳發生變化以便最佳化區塊之該等 類型之所有三種類型之使用。所指定的E1、(1^與以區塊 之總數一般受提供在系統中超過回應其完全邏輯地址空間 所需要的額外區塊之數量的限制。若決定已建立以區塊之 最大數量,則下一步驟141去配置現有E1區塊,並且在步 驟135中將此區塊指定為新E1區塊。然而若在步驟139中決 定尚未建立E1區塊之最大數量,則在後來步驟中決定是否 因新E1區塊而去配置dEl區塊或E2區塊。新E1區塊可限制 用於LBA之規定範圍或可涵蓋整個記憶體陣列。 若建立(圖19之步驟123)新dE1區塊替代以區塊,如步驟 143所決定,則在步驟145所解決的問題係是否已存在dEi 區塊之最大允許數量。若是,則在步驟147中去配置該等 區塊之一,並且在步驟135中將其指定為新犯丨區塊。若 否,則到達步驟i49,其中將使用目案統計心決定是否 98425.doc -42- 1287191 應去配置現有dE 1區塊。統計可包含量測現有dE 1區塊是否 係陳舊的。 當既未建立表dEl區塊也未建立新E1區塊時,還從步驟 143到達步驟149,而且當尚未建立E1區塊之最大數量時, 從步驟139到達步驟149。若在步驟149中決定去配置dEl 區塊,則在步驟147中進行此去配置,並且在步驟135中將 該區塊重新配置為所建立的新E1或dEl區塊之一。不去配 置現有dE 1區塊,則到達步驟15 1,其中去配置E2區塊, 隨後將該區塊指定為新E1或dEl區塊。當指為dEl區塊 k ’可為其指定LBN範圍,其超過單一另一實體區塊之範 圍。 雖然已針對各示範性具體實施例而說明本發明,但是應 瞭解本發明係授予所附申請專利範圍之全部範疇内的保 護。 【圖式簡單說明】 圖1為具有記憶體單元陣列、控制邏輯與資料及地址暫 存Is的典型現有快閃EEPR〇]VUi憶體裝置之方塊圖; 圖2解說利用具有系統控制器的圖丨之數個記憶體裝置的 架構; 圖3不思性地解說二平面中的區塊之配置,作為圖1之記 十思體陣列之範例; 圖4顯示儲存多頁〇至15的圖3之一個區塊之範例; 圖5為儲存在圖3與4之區塊之頁中的資料區段之表示; 圖6解說更新少於多頁區塊之所有頁中的資料之現有程 98425.doc -43- 1287191 序; 圖7A與7B為分別用於圖6之原始區塊與新區塊的對應邏 輯與實體頁地址之表格; 圖8解說圖3之陣列之一個平面内的整理區塊E1與E2之指 定之一個範例; 圖9提供採用圖8之整理區塊E1來更新另一區塊之幾頁中 的資料之範例; 圖10顯示儲存在圖9之一頁中的資料區段内的資料欄位 之範例; 圖11A與11B解說整理採用圖8之區塊E2而非區塊E1的給 定資料區塊之更新資料頁之序列操作之一個範例; 圖12A、12B與12C解說整理採用圖8之區塊E1及E2兩者 的給定資料區塊之更新資料頁之序列操作之一個範例; 圖13A、13B與13C解說更新採用圖8之區塊E1及E2兩者 的給定區塊之資料之幾頁的序列操作之另一範例; 圖14解說圖3之陣列之單位内的整理區塊以與以之指定 之另一範例; 圖15A與15B解說更新採用圖14之區塊以及以兩者的給 定區塊之資料之幾頁的序列操作之一範例; 圖16解說儲存元區塊中的資料之記憶體架構之類型中的 區塊E1與E2之使用; 圖17顯不將E1區塊作為元區塊的圖16之記憶體架構之修 改; 圖1 8提供將邏輯地址影射為E丨、犯丨(專用E丨)與E2區塊 98425.doc -44- 1287191 之集的範例; 回應採用整理區 以及 以配置E1、dE 1 圓19為顯不操作圖】至5之記憶體系統以 塊E1、^^^與以的主機寫入指令之流程圖; 圖2〇為顯示圖18之程序中所採取的步驟 與E2區塊之任一區塊的流程圖。 【主要 元件符號說明】 3 原始區塊 4 dE 1區塊 10 E1區塊 13 新區塊 41 頁標籤 43 時間戳記 45 使用者資料 47 錯誤校正碼 49 負擔 50 錯誤校正碼 61 區塊 63-66 區塊 69 區塊 301 控制器 302 匯流排 400 陣列 400a 平面 400b 平面 98425.doc 1287191 401 402 404 404a 404b 411 412 419 429 441 443 450 454 454a 454b 列解碼器 行解碼器 資料暫存器 資料暫存器 資料暫存器 匯流排 控制信號 内部列地址線路 内部行地址線路 使用者資料 負擔資料 記憶體控制電路 感測放大器與程式控制電路 程式化電路 程式化電路 98425.doc 46-
Claims (1)
- Ι287ΙΜΐ4〇8〇8號專利申請案 车:-¾外日修/)止替换頁 申請專利範圍替換本(95年--- 十、申請專利範圍: 1· 一種將資料程式化至一可再程式化非揮發性記憶體系統 中的方法,該可程式化非揮發性記憶體系統具有同時可 抹除並且個別地儲存資料之一給定數量的主機單位的記 憶體單元之區塊的一類型,該方法包括藉由程式化二個 指定區塊之一個區塊中的資料而回應主機程式化指令, 该等區塊至少部分取決於由具有序列邏輯地址的該等主 機私式化指令所規定的資料之許多主機單位。 2· —種將資料寫入一非揮發性記憶體系統中的方法,該非 揮發性記憶體系統具有同時可抹除並且個別地儲存資料 之給疋數里的主機單位的記憶體單元之區塊的一類 型,該方法包括: 喊主機指令以藉由將具有相實體地址的該資料寫 入-第-指定⑽中而寫入具有非序列邏輯地址的資料 之單位,以及 回應主機指令以藉由將該資料寫入一第二指定區塊中 而寫入具有等於或超過該給定數量之一給定比例的序列 邏輯地址的資料之單位。 3. 如請求項2之方法,其中將資料寫入該第一指定區塊包 含將貝料之許多主機單位寫人具有少於該給定數量的序 列邏輯地址之該第一指定區塊中。 4. 如明求項2之方法,其中將該等記憶體單元組織成多個 子陣列,並且記憶體單元之該等區塊包含該等子陣列之 二或多個陣列之記憶體單元。 98425-951225.doc 1287191 5 . 一種更新資料之方法,在一具有組織成同時可抹除並且 儲存具有規定頁數的資料之一給定數量的頁之一最小數 S的單元之一或多個區塊之複數個群組的記憶體單元之 非揮發性記憶體中,更新少於區塊之一第一程式化群組 之頁之該給定數量中的資料,該方法包括: 指定至少第一區塊與第二區塊,以接收少於區塊之該 第一程式化群組之頁之該給定數量的更新資料, 將具有少於一預定數量的序列邏輯地址之一數量的一 或多個頁之資料寫入該第一指定區塊中,以及 將具有等於或超過頁之該預定數量的序列邏輯地址之 一數量的複數個頁之資料寫人該第二㈣區塊中。 θ求項5之方法,其包含更新少於區塊之一第二程式 化群組之頁之該給定數量中的資料,包括·· 、將,、有夕於该預定數量的彳列邏輯地址之一數量的一 或多個頁之資料寫入該第一區塊之頁中。 7·如請求項5之方法,贫士 & 也 、 八中為回應更新少於區塊之該第一 备*式化群組中的百 的頁之該預定數量的資料之一位準,將該 弟一指定區換直田、, ,^ ^ ^ 用以接收用於區塊之僅該第一程式化群 組的更新資料。 ^ 8. 一種更新資料之方沐 甘士时 在一具有組織成同時可抹除並且 弁甲將一給定數暑 個別群組中之f程式化至區塊之該等群組之 的記憶體單元之^數量的單元之—或多個區塊之群組 區塊之-給定群电=^己憶體中,更新少於一或多個 之所有頁中的資料,該方法包括·· 98425-951225.doc 1287191 :定:否滿足該資料更新之至少一個預定義條件,以及 若決定滿足該條件,則其後將資料之該等更新頁寫入 具有獨立於所更新的區塊之該給定群組内的資料之該等 頁之該等頁數而選擇的頁數之—或多個區塊之一乂 一群組之頁中,或者 若決定未滿足該條件,則其後將資料之該等更新頁寫 入二或多個區塊之—第二另-群組之對應編號頁中。 如1求項8之方法’其中若未滿^該條件,則將自未更 新的區塊之該給定群組之頁的資料組合至,具有區塊之 該共同群組之其他頁中的該更新資料之對應編號頁中的 區塊之該等群組之一共同群組中。 10. 如請求項8之方法,其中該條件包含更新的頁之該數量 少於區塊之該給定群組中的頁之該給定數量之一預定比 例0 11. 如晴求項8之方法,其中區塊之該第一另一群組係用以 儲存包含該給定區塊的區塊之複數個該等個別群組之頁 之更新版本。 2·如巧求項8之方法,其中該第一另一群組之區塊係用以 儲存區塊之僅該給定群組之頁之更新版本。 •如明求項8之方法,其另外包括藉由以下方式而整理資 料·將自尚未更新的區塊之該給定群組的頁,與自為區 塊之該給定群組之資料頁之更新版本的區塊之該第一另 一群組的頁,複製至對應於區塊之該給定群組之位置的 頁數位置中的區塊之一先前抹除群組中。 98425-951225.doc 1287191 14 15 16 17 18 19. 20. •如請求項13之方法,其巾於在少於區塊之該給定群組之 所有頁中更新身料之複數次出現之後,引起該資料整理 在間隔中重複地出現。 •如明求項13之方法,其另外包括在整理資料之後從該第 一另一群組之區塊中抹除資料。 .如請求項8之方法’其另外包括指定區塊之該第一另一 群組以儲存區塊之僅該給定群組之頁之更新版本,以回 應所備註的至少一個資料寫入圖案之該存在。 .如請求項i6之方法,其中該至少一個資料寫入圖案包含 將操作重複地寫入區塊之該給定群組之一或多頁。 .如請求項之方法’其中該至少一個資料寫入圖案包含 在個別寫人操作期間重複地寫入資料之__或幾頁,其少 於在該等寫入操作之一大部分期間所寫入的頁。 如請求項16之方法,其中該至少―個資料寫人圖案包含 指定區塊之該給定群組以儲存區塊之該等複數個群組之 其他群組之負擔資料。 -種更新資料之方法,在—具有組織成同時可抹除並且 其中將資料之一給定數量的主機單位程式化至一或多個 區塊之該等群組之個別群組中之一最小數量的單元之一 或多個區塊之群組的記憶體單元之非揮發性記憶體中, 更新少於儲存在一或多個區塊之一給定群組中的所有資 料以回應一主機指令,該方法包括·· 指定一或多個區塊之至少一第一群組以儲存邏輯地址 之一第一範圍内的資料之序列實體區塊位置主機單位, 98425-951225.doc 1287191 年月曰修(走)止替換頁 而不管此類資料之該等邏輯地址是否為序列的,以及 指定一或多個區塊之至少一第二群組以儲存邏輯地址 之一第二範圍内的資料之主機單位,而將其中的序列邏 輯地址指定用於具有零或較大之一地址偏移的序列實體 位置。 21·如請求項20之方法,其中區塊之該第一群組可包含具有 一共同邏輯地址的區塊之該第二群組内所包含的資料之 一更新。 22·如請求項20之方法,其中區塊之該第一群組可包含具有 並非由區塊之該第二群組中的資料所表示的一邏輯地址 之資料。 23·如請求項20之方法,其中邏輯地址之該第一範圍與該第 二範圍包含邏輯區塊之共同地址。 24.如請求項20之方法,其中邏輯地址之該第一範圍與該第 二範圍不包含邏輯區塊之共同地址。 25 · —種記憶體系統,其包括: 非揮發性記憶體單元之一陣列,該等單元係組織成複 數個子陣列,該等子陣列個別地包含定址、程式化與讀 取電路,該等子陣列係劃分為一起抹除的記憶體單元 單^該等抹除單位係進—步劃分為—起程式化的單元 之單位,該等程式化單位係藉由程式化其抹除單位内的 单位偏移地址而加以識別, —控制器,其控制該記憶體單元陣列之操作, 至少一個抹除單位,其係在該等子陣列之個別陣列 98425-951225.doc 1287191 成替換頁] '—— - ; 内,該等子陣列係由該㈣器指定成儲存程式化單位令 的該等子陣列之個別陣列内的該等抹除單位之一或多個 其他單位之一第一群組之序列定址程式化單位之更 料’該等程式化單位具有肖該等抹除單位之該至少—二 另—單位内的該等程式化單位相同之地址順序,並且具 有零或較大之一地址偏移,以及 /、 至少另一抹除單位,其係在該等子陣列之個別陣列 内,該等子陣列係由該控制器指定成儲存依據—預定序 列之頁中的該等子陣列之個別子陣列内的該等抹除單位 之一=個其他抹除單位之H組之程式化單位之 更新貝料’而不管所更新的該程式化單位資料之該地址 序列或程式化單位偏移。 98425-951225.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/749,831 US8504798B2 (en) | 2003-12-30 | 2003-12-30 | Management of non-volatile memory systems having large erase blocks |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200601040A TW200601040A (en) | 2006-01-01 |
TWI287191B true TWI287191B (en) | 2007-09-21 |
Family
ID=34701110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW093140808A TWI287191B (en) | 2003-12-30 | 2004-12-27 | Method of programming, writing, and updating data in a non-volatile memory system and a memory system |
Country Status (7)
Country | Link |
---|---|
US (3) | US8504798B2 (zh) |
EP (1) | EP1700219B1 (zh) |
JP (1) | JP4933267B2 (zh) |
KR (1) | KR101118507B1 (zh) |
CN (1) | CN1902599B (zh) |
TW (1) | TWI287191B (zh) |
WO (1) | WO2005066790A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI409640B (zh) * | 2008-02-29 | 2013-09-21 | Toshiba Kk | 記憶體系統 |
TWI456391B (zh) * | 2012-03-14 | 2014-10-11 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
TWI483109B (zh) * | 2010-12-16 | 2015-05-01 | Toshiba Kk | 半導體儲存裝置 |
US9477596B2 (en) | 2011-12-12 | 2016-10-25 | Apple Inc. | LBA bitmap usage |
TWI718640B (zh) * | 2019-05-10 | 2021-02-11 | 旺宏電子股份有限公司 | 抹除具有極少程式化頁面的區塊的系統與方法 |
Families Citing this family (191)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
TWI232466B (en) * | 2003-10-28 | 2005-05-11 | Prolific Technology Inc | Method for updating data of non-volatile memory |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US8504798B2 (en) * | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US7631138B2 (en) * | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US8607016B2 (en) | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US7386655B2 (en) | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US7480766B2 (en) | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7984084B2 (en) | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US7949845B2 (en) * | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
US20070084375A1 (en) * | 2005-08-10 | 2007-04-19 | Smith Kyle S | High density cartridge and method for reloading |
US7529905B2 (en) * | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US7814262B2 (en) | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7747927B2 (en) * | 2005-11-22 | 2010-06-29 | Sandisk Corporation | Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system |
US7739472B2 (en) * | 2005-11-22 | 2010-06-15 | Sandisk Corporation | Memory system for legacy hosts |
KR101398403B1 (ko) * | 2005-11-22 | 2014-05-26 | 샌디스크 테크놀로지스, 인코포레이티드 | 레거시 호스트들을 위한 방법 및 메모리 시스템 |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US20070143566A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with data alignment in a directly mapped file storage system |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US20070143378A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with adaptive file handling in a directly mapped file storage system |
US20070143561A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US20070156998A1 (en) * | 2005-12-21 | 2007-07-05 | Gorobets Sergey A | Methods for memory allocation in non-volatile memories with a directly mapped file storage system |
US7913003B2 (en) * | 2006-02-24 | 2011-03-22 | Intel Corporation | Reclaim algorithm for fast edits in a nonvolatile file system |
JP4898252B2 (ja) * | 2006-03-15 | 2012-03-14 | パナソニック株式会社 | 不揮発性記憶装置及びそのデータ管理方法 |
US7979624B2 (en) * | 2006-03-31 | 2011-07-12 | Intel Corporation | Techniques to truncate data files in nonvolatile memory |
JP2007280108A (ja) * | 2006-04-07 | 2007-10-25 | Sony Corp | 記憶媒体制御装置、記憶媒体制御方法、プログラム |
KR100784007B1 (ko) * | 2006-10-31 | 2007-12-10 | 주식회사 하이닉스반도체 | 비휘발성 메모리 장치 및 그 소거 방법 |
US8151060B2 (en) | 2006-11-28 | 2012-04-03 | Hitachi, Ltd. | Semiconductor memory system having a snapshot function |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
CN101715575A (zh) | 2006-12-06 | 2010-05-26 | 弗森多系统公司(dba弗森-艾奥) | 采用数据管道管理数据的装置、系统和方法 |
JP2008152464A (ja) | 2006-12-15 | 2008-07-03 | Toshiba Corp | 記憶装置 |
KR100881669B1 (ko) * | 2006-12-18 | 2009-02-06 | 삼성전자주식회사 | 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치 |
US7739444B2 (en) | 2006-12-26 | 2010-06-15 | Sandisk Corporation | System using a direct data file system with a continuous logical address space interface |
US8046522B2 (en) * | 2006-12-26 | 2011-10-25 | SanDisk Technologies, Inc. | Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks |
US7917686B2 (en) | 2006-12-26 | 2011-03-29 | Sandisk Corporation | Host system with direct data file interface configurability |
US8209461B2 (en) | 2006-12-26 | 2012-06-26 | Sandisk Technologies Inc. | Configuration of host LBA interface with flash memory |
US8166267B2 (en) * | 2006-12-26 | 2012-04-24 | Sandisk Technologies Inc. | Managing a LBA interface in a direct data file memory system |
US20080155175A1 (en) * | 2006-12-26 | 2008-06-26 | Sinclair Alan W | Host System That Manages a LBA Interface With Flash Memory |
KR100885181B1 (ko) * | 2007-02-06 | 2009-02-23 | 삼성전자주식회사 | 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법 |
US7804718B2 (en) * | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US8275953B2 (en) * | 2007-03-19 | 2012-09-25 | Sandisk Technologies Inc. | Methods for forcing an update block to remain sequential |
US8341375B2 (en) * | 2007-03-19 | 2012-12-25 | Sandisk Technologies Inc. | Methods for conversion of update blocks based on association with host file management data structures |
US7904670B2 (en) * | 2007-03-19 | 2011-03-08 | Sandisk Corporation | Methods for conversion of update blocks based on comparison with a threshold size |
US20080307156A1 (en) * | 2007-06-08 | 2008-12-11 | Sinclair Alan W | System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium |
US8239639B2 (en) * | 2007-06-08 | 2012-08-07 | Sandisk Technologies Inc. | Method and apparatus for providing data type and host file information to a mass storage system |
US8713283B2 (en) * | 2007-06-08 | 2014-04-29 | Sandisk Technologies Inc. | Method of interfacing a host operating through a logical address space with a direct file storage medium |
US8566504B2 (en) * | 2007-09-28 | 2013-10-22 | Sandisk Technologies Inc. | Dynamic metablocks |
US8880483B2 (en) * | 2007-12-21 | 2014-11-04 | Sandisk Technologies Inc. | System and method for implementing extensions to intelligently manage resources of a mass storage system |
US7934052B2 (en) | 2007-12-27 | 2011-04-26 | Pliant Technology, Inc. | System and method for performing host initiated mass storage commands using a hierarchy of data structures |
US9773557B2 (en) | 2008-09-03 | 2017-09-26 | Marvell World Trade Ltd. | Multi-plane data order |
US8438325B2 (en) * | 2008-10-09 | 2013-05-07 | Cadence Design Systems, Inc. | Method and apparatus for improving small write performance in a non-volatile memory |
US9141475B2 (en) * | 2008-11-23 | 2015-09-22 | Sandisk Technologies | Methods for tag-grouping of blocks in storage devices |
JP5400875B2 (ja) * | 2009-05-21 | 2014-01-29 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム、データ書き込み方法、および、プログラム |
CN102237130B (zh) * | 2010-04-20 | 2014-01-29 | 深圳市江波龙电子有限公司 | 一种寻找多层单元闪存中最低有效位页的方法及系统 |
US8543757B2 (en) * | 2010-06-23 | 2013-09-24 | Sandisk Technologies Inc. | Techniques of maintaining logical to physical mapping information in non-volatile memory systems |
US8819503B2 (en) * | 2010-07-02 | 2014-08-26 | Stec, Inc. | Apparatus and method for determining an operating condition of a memory cell based on cycle information |
US8737141B2 (en) | 2010-07-07 | 2014-05-27 | Stec, Inc. | Apparatus and method for determining an operating condition of a memory cell based on cycle information |
US8737136B2 (en) | 2010-07-09 | 2014-05-27 | Stec, Inc. | Apparatus and method for determining a read level of a memory cell based on cycle information |
KR20120029239A (ko) * | 2010-09-16 | 2012-03-26 | 삼성전자주식회사 | Pram을 이용하는 데이터 기록 시스템 및 그 방법 |
EP2453343A3 (en) | 2010-09-24 | 2014-11-12 | BlackBerry Limited | Portable electronic device and method therefor |
CN103221914B (zh) | 2010-09-24 | 2020-01-31 | 黑莓有限公司 | 便携式电子设备及其控制方法 |
US9141256B2 (en) | 2010-09-24 | 2015-09-22 | 2236008 Ontario Inc. | Portable electronic device and method therefor |
CN102446071B (zh) * | 2010-09-30 | 2014-10-08 | 环鸿科技股份有限公司 | 取得一存储器状态资讯的接取方法、电子装置及程序产品 |
TWI463495B (zh) * | 2010-12-10 | 2014-12-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與儲存裝置 |
US20120239860A1 (en) | 2010-12-17 | 2012-09-20 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US8856470B2 (en) * | 2011-01-25 | 2014-10-07 | International Business Machines Corporation | Data integrity protection in storage volumes |
US9047955B2 (en) | 2011-03-30 | 2015-06-02 | Stec, Inc. | Adjusting operating parameters for memory cells based on wordline address and cycle information |
JP6016137B2 (ja) * | 2011-05-24 | 2016-10-26 | マーベル ワールド トレード リミテッド | ソリッドステートドライブおよびその動作方法 |
US20140149729A1 (en) | 2011-07-18 | 2014-05-29 | Ted A. Hadley | Reset vectors for boot instructions |
KR101824068B1 (ko) * | 2011-07-28 | 2018-03-15 | 삼성전자주식회사 | 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치 |
US8681554B2 (en) * | 2011-08-29 | 2014-03-25 | Hitachi, Ltd. | Semiconductor storage device comprising electrically rewritable nonvolatile semiconductor memory |
JP5907739B2 (ja) * | 2012-01-26 | 2016-04-26 | 株式会社日立製作所 | 不揮発性記憶装置 |
US9195586B2 (en) | 2012-02-23 | 2015-11-24 | Hgst Technologies Santa Ana, Inc. | Determining bias information for offsetting operating variations in memory cells based on wordline address |
CN103324580B (zh) * | 2012-03-23 | 2016-03-16 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
TWI605458B (zh) | 2012-04-25 | 2017-11-11 | Sony Corp | Non-volatile memory devices, non-volatile memory control devices, and non-volatile memory control methods |
TWI486767B (zh) * | 2012-06-22 | 2015-06-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
US9128822B2 (en) | 2012-06-22 | 2015-09-08 | Winbond Electronics Corporation | On-chip bad block management for NAND flash memory |
TWI479313B (zh) * | 2012-07-11 | 2015-04-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
CN103577344B (zh) * | 2012-07-20 | 2017-03-01 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
WO2014035377A1 (en) * | 2012-08-28 | 2014-03-06 | Hewlett-Packard Development Company, L.P. | High performance persistent memory |
US9489296B1 (en) | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
KR20140056657A (ko) | 2012-10-30 | 2014-05-12 | 삼성전자주식회사 | 메인 메모리를 구비한 컴퓨터 시스템 및 그것의 제어 방법 |
TWI501249B (zh) * | 2012-11-14 | 2015-09-21 | Winbond Electronics Corp | 晶片上之反及閘快閃記憶體及其損壞區塊管理方法 |
CN103871447B (zh) * | 2012-12-14 | 2017-03-01 | 华邦电子股份有限公司 | 与非门快闪存储器阵列及芯片及其存取、读取及管理方法 |
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 |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
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 |
US9324450B2 (en) | 2013-03-13 | 2016-04-26 | Winbond Electronics Corporation | NAND flash memory |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
KR102147988B1 (ko) | 2013-04-09 | 2020-08-26 | 삼성전자주식회사 | 불휘발성 저장 장치 및 그것의 데이터 저장 방법 |
US9349450B2 (en) | 2013-06-10 | 2016-05-24 | Micron Technology, Inc. | Memory devices and memory operational methods including single erase operation of conductive bridge memory cells |
US9785545B2 (en) * | 2013-07-15 | 2017-10-10 | Cnex Labs, Inc. | Method and apparatus for providing dual memory access to non-volatile memory |
US9483397B2 (en) * | 2013-07-16 | 2016-11-01 | Intel Corporation | Erase management in memory systems |
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 |
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 |
US9501400B2 (en) | 2013-11-13 | 2016-11-22 | Sandisk Technologies Llc | Identification and operation of sub-prime blocks in nonvolatile memory |
KR101821439B1 (ko) * | 2013-11-15 | 2018-03-08 | 엘에스산전 주식회사 | 한류기 |
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 |
US9218891B2 (en) * | 2013-11-27 | 2015-12-22 | Silicon Motion, Inc. | Data storage device and flash memory control method |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9329992B2 (en) * | 2013-12-04 | 2016-05-03 | Silicon Motion, Inc. | Data storage device and flash memory control method |
KR102182368B1 (ko) * | 2013-12-19 | 2020-11-24 | 에스케이하이닉스 주식회사 | 어드레스 검출회로 및 이를 포함하는 메모리 |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9354955B1 (en) | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing 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 |
KR20150116352A (ko) | 2014-04-07 | 2015-10-15 | 삼성전자주식회사 | 메모리 제어 방법 및 시스템 |
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 |
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 |
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 |
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 |
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 |
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 |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9442798B2 (en) | 2014-07-31 | 2016-09-13 | Winbond Electronics Corporation | NAND flash memory having an enhanced buffer read capability and method of operation thereof |
US9367392B2 (en) | 2014-08-01 | 2016-06-14 | Winbond Electronics Corporation | NAND flash memory having internal ECC processing and method of operation thereof |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
US10331551B2 (en) | 2014-12-29 | 2019-06-25 | Toshiba Memory Corporation | Information processing device and non-transitory computer readable recording medium for excluding data from garbage collection |
TWI557744B (zh) * | 2015-01-27 | 2016-11-11 | 緯創資通股份有限公司 | 資料儲存方法及嵌入式系統 |
TWI571881B (zh) * | 2015-10-23 | 2017-02-21 | 群聯電子股份有限公司 | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 |
JP6448570B2 (ja) * | 2016-03-08 | 2019-01-09 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
KR102452994B1 (ko) * | 2016-09-06 | 2022-10-12 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
CN106448735B (zh) * | 2016-09-13 | 2019-09-13 | 天津大学 | 用于大容量非易失性存储器的数据快速擦除方法 |
TWI653533B (zh) * | 2017-03-07 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
US10565115B2 (en) | 2017-03-30 | 2020-02-18 | Western Digital Technologies, Inc. | Calculating the optimal number of LBNS to prefetch per CPU |
CN108710579A (zh) * | 2018-04-27 | 2018-10-26 | 江苏华存电子科技有限公司 | 一种超过寻址空间大容量的管理方法 |
WO2019222958A1 (en) | 2018-05-24 | 2019-11-28 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
US10956318B2 (en) | 2018-06-19 | 2021-03-23 | Macronix International Co., Ltd. | Overlapping ranges of pages in memory systems |
WO2020000136A1 (en) | 2018-06-25 | 2020-01-02 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of i/o requests |
CN109062822B (zh) * | 2018-07-18 | 2021-09-07 | 北京世纪东方通讯设备有限公司 | 一种机车无线通信数据的存储方法及装置 |
US11327929B2 (en) | 2018-09-17 | 2022-05-10 | Alibaba Group Holding Limited | Method and system for reduced data movement compression using in-storage computing and a customized file system |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
US11061598B2 (en) * | 2019-03-25 | 2021-07-13 | Western Digital Technologies, Inc. | Optimized handling of multiple copies in storage management |
US10990316B2 (en) * | 2019-06-28 | 2021-04-27 | Western Digital Technologies, Inc. | Log-based storage for different data types in non-volatile memory |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
US11294827B2 (en) | 2019-09-12 | 2022-04-05 | Western Digital Technologies, Inc. | Non-sequential zoned namespaces |
US11194515B2 (en) * | 2019-09-16 | 2021-12-07 | Macronix International Co., Ltd. | Memory system, method of operating memory, and non-transitory computer readable storage medium |
US11617282B2 (en) | 2019-10-01 | 2023-03-28 | Alibaba Group Holding Limited | System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers |
US11042307B1 (en) * | 2020-01-13 | 2021-06-22 | Alibaba Group Holding Limited | System and method for facilitating improved utilization of NAND flash based on page-wise operation |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US11379447B2 (en) | 2020-02-06 | 2022-07-05 | Alibaba Group Holding Limited | Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller |
TWI727842B (zh) * | 2020-02-20 | 2021-05-11 | 大陸商長江存儲科技有限責任公司 | 存儲器件及其編程方法 |
US11449386B2 (en) | 2020-03-20 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory |
US11301173B2 (en) | 2020-04-20 | 2022-04-12 | Alibaba Group Holding Limited | Method and system for facilitating evaluation of data access frequency and allocation of storage device resources |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
KR20220018060A (ko) | 2020-04-23 | 2022-02-14 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 메모리 디바이스 및 그것의 프로그래밍 방법 |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11354200B2 (en) | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
US11894060B2 (en) | 2022-03-25 | 2024-02-06 | Western Digital Technologies, Inc. | Dual performance trim for optimization of non-volatile memory performance, endurance, and reliability |
TWI808010B (zh) * | 2022-09-26 | 2023-07-01 | 慧榮科技股份有限公司 | 資料處理方法及對應之資料儲存裝置 |
Family Cites Families (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3502001C1 (de) | 1985-01-22 | 1986-07-17 | HFH Herbst Förder- und Hebetechnik, 3300 Braunschweig | Knickgelenktes,allradgetriebenes Stapelfahrzeug |
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 | インターナショナル・ビジネス・マシーンズ・コーポレイション | キャッシュ内のデータ記憶スペースを管理する方法及びキャッシュ内でページ置換を行う装置 |
US5313421A (en) * | 1992-01-14 | 1994-05-17 | Sundisk Corporation | EEPROM with split gate source side injection |
US6222762B1 (en) * | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
JPH05233426A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
US5687345A (en) * | 1992-03-17 | 1997-11-11 | Hitachi, Ltd. | Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device |
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 |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5479638A (en) * | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
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 |
JPH08212019A (ja) * | 1995-01-31 | 1996-08-20 | Mitsubishi Electric Corp | 半導体ディスク装置 |
JPH08263361A (ja) * | 1995-03-23 | 1996-10-11 | Mitsubishi Electric Corp | フラッシュメモリカード |
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 |
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 |
US5907856A (en) * | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US5835935A (en) * | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US6125435A (en) * | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
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 |
JP3489708B2 (ja) * | 1996-10-23 | 2004-01-26 | シャープ株式会社 | 不揮発性半導体記憶装置 |
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 | 半導体記憶装置 |
US6034897A (en) * | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US6122195A (en) * | 1997-03-31 | 2000-09-19 | Lexar Media, Inc. | Method and apparatus for decreasing block write operation times performed on 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 | 東京エレクトロンデバイス株式会社 | データ処理システム及びブロック消去型記憶媒体 |
JP3119214B2 (ja) * | 1997-09-30 | 2000-12-18 | ソニー株式会社 | 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法 |
JP2914360B2 (ja) * | 1997-09-30 | 1999-06-28 | ソニー株式会社 | 外部記憶装置及びデータ処理方法 |
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 | 株式会社ルネサステクノロジ | 一括消去型不揮発性メモリおよび携帯電話 |
JP2000181784A (ja) * | 1998-12-18 | 2000-06-30 | Hitachi Ltd | 書き換え可能な不揮発性記憶装置 |
US6150838A (en) | 1999-02-25 | 2000-11-21 | Xilinx, Inc. | FPGA configurable logic block with multi-purpose logic/memory circuit |
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 |
EP1189139B1 (en) | 1999-07-28 | 2007-12-12 | Sony Corporation | Recording system, data recording device, memory device, and data recording method |
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 |
DE60132229T2 (de) * | 2000-10-26 | 2008-12-18 | Matsushita Electric Industrial Co., Ltd., Kadoma | Speichervorrichtung, speichersteuerverfahren und programm |
JP3992960B2 (ja) | 2000-10-26 | 2007-10-17 | 松下電器産業株式会社 | 記録装置及びプログラム |
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 |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
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 |
US8504798B2 (en) * | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US7631138B2 (en) | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
-
2003
- 2003-12-30 US US10/749,831 patent/US8504798B2/en active Active
-
2004
- 2004-12-15 KR KR1020067012947A patent/KR101118507B1/ko active IP Right Grant
- 2004-12-15 EP EP04814787.0A patent/EP1700219B1/en not_active Not-in-force
- 2004-12-15 JP JP2006547192A patent/JP4933267B2/ja not_active Expired - Fee Related
- 2004-12-15 CN CN2004800392981A patent/CN1902599B/zh not_active Expired - Fee Related
- 2004-12-15 WO PCT/US2004/042644 patent/WO2005066790A1/en not_active Application Discontinuation
- 2004-12-27 TW TW093140808A patent/TWI287191B/zh not_active IP Right Cessation
-
2009
- 2009-04-30 US US12/433,702 patent/US8117380B2/en not_active Expired - Fee Related
-
2013
- 2013-06-28 US US13/931,107 patent/US8745322B2/en not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI409640B (zh) * | 2008-02-29 | 2013-09-21 | Toshiba Kk | 記憶體系統 |
TWI483109B (zh) * | 2010-12-16 | 2015-05-01 | Toshiba Kk | 半導體儲存裝置 |
US9477596B2 (en) | 2011-12-12 | 2016-10-25 | Apple Inc. | LBA bitmap usage |
TWI566097B (zh) * | 2011-12-12 | 2017-01-11 | 蘋果公司 | 邏輯區塊位址位元映射之使用 |
TWI456391B (zh) * | 2012-03-14 | 2014-10-11 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
TWI718640B (zh) * | 2019-05-10 | 2021-02-11 | 旺宏電子股份有限公司 | 抹除具有極少程式化頁面的區塊的系統與方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2007517319A (ja) | 2007-06-28 |
WO2005066790A1 (en) | 2005-07-21 |
US20050144358A1 (en) | 2005-06-30 |
US8745322B2 (en) | 2014-06-03 |
EP1700219B1 (en) | 2014-04-02 |
US8117380B2 (en) | 2012-02-14 |
US20090216938A1 (en) | 2009-08-27 |
JP4933267B2 (ja) | 2012-05-16 |
EP1700219A1 (en) | 2006-09-13 |
TW200601040A (en) | 2006-01-01 |
US20130339585A1 (en) | 2013-12-19 |
KR101118507B1 (ko) | 2012-03-12 |
KR20060130081A (ko) | 2006-12-18 |
US8504798B2 (en) | 2013-08-06 |
CN1902599A (zh) | 2007-01-24 |
CN1902599B (zh) | 2011-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI287191B (en) | Method of programming, writing, and updating data in a non-volatile memory system and a memory system | |
US7783845B2 (en) | Structures for the management of erase operations in non-volatile memories | |
TWI417717B (zh) | 具多流更新之非揮發性記憶體及方法 | |
US7624239B2 (en) | Methods for the management of erase operations in non-volatile memories | |
TWI393140B (zh) | 在一非揮發性記憶體中儲存資料之方法 | |
KR100896698B1 (ko) | 메모리의 페이지 및/또는 블럭의 사이즈와 상이한사이즈를 구비하는 데이터 섹터를 갖는 비-휘발성 메모리시스템을 작동시키는 방법 | |
US7441090B2 (en) | System and method for updating data sectors in a non-volatile memory using logical block addressing | |
JP5440883B2 (ja) | フラッシュメモリ内のブロックにおける移動セクタ | |
JP4834676B2 (ja) | オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法 | |
US5907856A (en) | Moving sectors within a block of information in a flash memory mass storage architecture | |
US7970987B2 (en) | Partial block data programming and reading operations in a non-volatile memory | |
JP2008527586A (ja) | オンチップデータのグループ化および整列 | |
TWI394044B (zh) | 記錄來自一主機之資料之非揮發性記憶體及方法 | |
US9037782B2 (en) | Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same | |
TWI272483B (en) | Non-volatile memory and method with block management system | |
KR101760144B1 (ko) | 비휘발성 메모리 및 기록 캐시를 분할하는 방법 | |
KR20070111470A (ko) | 플래시 메모리 시스템들에서 하우스키핑 동작들의 스케쥴링 | |
JP2009110548A (ja) | 不揮発性メモリおよびマルチストリーム更新追跡を伴う方法 | |
JP2009503735A (ja) | フラッシュメモリシステムのデータ記憶容量の解放 | |
TWI785876B (zh) | 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置 | |
JP2009503743A (ja) | データファイルを直接記憶するメモリブロックの管理 | |
US8219739B2 (en) | Read-only optimized flash file system architecture | |
CN112835536B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI839144B (zh) | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN114203239B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |