TWI386801B - 叢聚自動校準 - Google Patents
叢聚自動校準 Download PDFInfo
- Publication number
- TWI386801B TWI386801B TW094144090A TW94144090A TWI386801B TW I386801 B TWI386801 B TW I386801B TW 094144090 A TW094144090 A TW 094144090A TW 94144090 A TW94144090 A TW 94144090A TW I386801 B TWI386801 B TW I386801B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- page
- cluster
- logical
- data
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- 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)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明一般係關於非揮發性記憶體系統的操作,更明確言之,係關於此類記憶體系統內資料的處置。
如今有許多商業上成功的非揮發性記憶體產品被使用,尤其係以小型卡為形式,其採用形成於一或多個積體電路晶片上的快閃EEPROM(電子可抹除可程式化唯讀記憶體)單元之一陣列。一記憶體控制器(其通常但不一定位於單獨的積體電路晶片上)與一主機(該卡以可移除方式連接到該主機上)介接並控制該卡內記憶體陣列的操作。此一控制器一般包括一微處理器、某一非揮發性唯讀記憶體(ROM)、一揮發性隨機存取記憶體(RAM)以及一或多個特殊電路,例如在程式化與讀取資料期間當資料通過該控制器時,從資料來計算一錯誤校正碼(ECC)的特殊電路。某些市售卡係CompactFlashT M
(CF)卡、多媒體卡(MMC)、安全數位(SD)卡、個人標籤(P-標籤)與記憶棒卡。主機包括個人電腦、筆記型電腦、個人數位助理(PDA)、各種資料通信裝置、數位相機、蜂巢式電話、可攜式聲頻播放器、汽車聲音系統、及同類設備。在某些系統中,可移除的卡不包括一控制器,而由該主機來控制該卡中該記憶體陣列之操作。此類記憶體系統之範例包括智慧媒體卡與xD卡。從而,可藉由該卡中一控制器上的軟體或藉由該主機中的控制軟體來實現對該記憶體陣列之控制。除記憶卡實施方案之外,可替代地將此類記憶體嵌入各類主機系統。在可移除式與嵌入式應用中,皆可依據由記憶體控制軟體所實施之一儲存方案將主機資料儲存於該記憶體陣列中。
有兩個一般記憶體單元陣列架構已應用到商業中,即非或與非與。在典型的非或陣列中,記憶體單元係連接於相鄰的位元線源極與汲極擴散之間,該等擴散沿行方向延伸,且控制閘極係連接至沿單元列延伸的字元線。一記憶體單元包括至少一儲存元件,該元件位於該源極與汲極之間的單元通道區域之至少一部分之上。因而,儲存元件上已程式化的電荷位準控制該等單元的操作特徵,於是可藉由向已定址的記憶體單元施加適當的電壓來讀取該等單元。美國專利案第5,070,032、5,095,344、5,313,421、5,315,541、5,343,063、5,661,053及6,222,762號中提出此類單元,其在記憶體系統中的使用之範例及其製造方法。
非與陣列利用兩個以上記憶體單元(例如16或32個)之串列串,其連同一或多個選擇電晶體連接在個別位元線與一參考電位之間,以形成單元行。字元線延伸橫跨大量此等行內的單元。在程式化期間讀取與驗證一行內之一個別單元,此係藉由將該串內的其餘單元硬開啟而使得流過一串的電流取決於該已定址單元中所儲存電荷之位準來實行。美國專利案第5,570,315、5,774,397、6,046,935及6,522,580號中提出非與架構陣列之範例及其作為一記憶體系統之部分的操作。
目前快閃EEPROM陣列的電荷儲存元件,如先前所引用的專利案中所論述,最常見的係導電浮動閘極,其通常係由導電摻雜的多晶矽材料所形成。可用於快閃EEPROM系統之一替代類型之記憶體單元利用一非導電介電材料替代導電浮動閘極來以非揮發性方式儲存電荷。由氧化矽、氮化矽與氧化矽(ONO)所形成的三層介電質係夾入一導電控制閘極與該記憶體單元通道上一半導電基板的一表面之間。藉由將電子從該單元通道注入氮化物(在該氮化物中該等電子受到截獲並儲存於一受限區域中)而程式化該單元,而藉由將熱電洞注入該氮化物而抹除該單元。Harari等人的美國專利申請公告案第2003/0109093號中說明採用介電儲存元件的數個特定單元結構與陣列。
個別快閃EEPROM單元將一定數量的電荷儲存於一電荷儲存元件或單元中(該數量表示一或多個位元的資料)。儲存元件的電荷位準控制其記憶體單元的臨界電壓(一般表示為VT
),其係用作讀取該單元的儲存狀態之依據。通常將一臨界電壓視窗分成若干範圍,該記憶體單元之兩或多個儲存狀態之每一狀態對應一範圍。此等範圍係由保護帶分開,該等保護帶包括一標稱感測位準,此位準允許決定個別單元的儲存狀態。因電荷對相鄰或其他相關記憶體單元、頁面或區塊中執行的程式化、讀取或抹除操作之干擾而使得此等儲存位準偏移。因此,錯誤校正碼(ECC)一般係藉由該控制器來計算,並與所程式化的主機資料一起儲存,且係在讀取期間用來驗證資料並視需要執行一定等級的資料校正。還可藉由將資料複製至一新位置而在此新位置結合調整成居於其允許範圍中心之電荷位準來重新寫入該資料,從而讓偏移的電荷位準不時地回復至其狀態範圍之中心。此舉可在干擾操作造成電荷位準完全偏移出其定義範圍而因此導致讀取錯誤資料之前實行。美國專利案第5,532,962及5,909,449號中說明此程序,其係稱為資料再新或擦除。
如同在大多數積體電路應用中一樣,對於快閃EEPROM記憶體單元陣列,亦存在用於縮小以實施特定積體電路功能需要的矽基板面積之壓力。一直需要增加一矽基板之給定面積中可儲存的數位資料量,以便增加給定尺寸記憶卡及其它類型封裝的儲存容量,或同時增加容量而縮小尺寸。用於增加資料儲存密度之一方式係每一記憶體單元及/或每一儲存單元或元件儲存多個資料位元。此係藉由將儲存元件電荷位準電壓範圍之一視窗分成兩個以上的狀態而實現。使用四個此類狀態允許每個單元儲存兩位元資料,八個狀態允許每個儲存元件儲存三位元資料,以此類推。美國專利案第5,043,940及5,172,338號中說明使用浮動閘極的多狀態快閃EEPROM結構及其操作,而前面提到的美國專利申請公告案第2003/0109093號中說明使用介電浮動閘極之結構。一多狀態記憶體單元陣列之選定部分亦可採取美國專利案第5,930,167及6,456,528號所說明的方式,而基於各種原因以二狀態(二進制)來操作。
典型快閃EEPROM陣列的記憶體單元係分成一起抹除的單元之離散區塊。即,抹除區塊係抹除單元,即可同時抹除的最小數目之單元。每個抹除區塊一般儲存一或多個頁面的資料,該頁面係程式化與讀取的最小單元,但是在不同的子陣列或平面中可對多個頁面平行地加以程式化或讀取。每個頁面一般儲存一或多個扇區的資料,該扇區的尺寸係由該主機系統定義。一範例性的扇區包括512位元組的使用者資料(遵循一針對磁碟機建立的標準),再加上關於使用者資料及/或其中儲存使用者資料的抹除區塊之若干位元組管理資訊。此類記憶體一般係配置在每個抹除區塊內具有16、32或更多頁面,且每個頁面儲存一或僅數個主機扇區的資料。
為了增加將使用者資料程式化入該記憶體陣列中以及從其讀取使用者資料期間的平行度,一般將陣列分成子陣列,常稱為平面,該等子陣列包含其自己的資料暫存器與其他電路以允許平行操作,從而可將多個扇區的資料同時程式化到數個或所有平面中的每一平面或從數個或所有平面中的每一平面同時讀取多個扇區的資料。單一積體電路上之一陣列可在實體上分成多個平面,或每個平面可由單獨的一或多個積體電路晶片形成。美國專利案第5,798,968及5,890,192號中說明此一記憶體實施方案之範例。
在某些記憶體系統中,亦可將實體的記憶體單元分組成兩或多個區域。一區域可為實體記憶體或記憶體系統之任何已分割的子集,會有一特定範圍的邏輯塊位址映射到該子集中。例如,可將能夠儲存64百萬位元組資料的記憶體系統分成四個區域,並且每個區域儲存16百萬位元組的資料。接著,亦可將邏輯塊位址的範圍分成四個群組,向四個區域之每一區域之抹除區塊指派一群組。在一典型的實施方案中,邏輯塊位址會受到限制,以至於絕不會將每一區塊位址的資料寫入到該等邏輯塊位址所映射到的單一實體區域的外部。在分成多個平面(子陣列)(各具有其自己的定址、程式化與讀取電路)的記憶體單元陣列中,每個區域較佳係包括來自多個平面的抹除區塊,一般與來自每一平面的抹除區塊數目相同。區域主要係用來簡化諸如邏輯至實體轉換之類位址管理,從而得到較小的轉換表格,需用於保存此等表格的較少RAM記憶體,以及用於定址目前記憶體之活動區域之較快存取時間,但因為其限制性質而可能導致磨損平衡達不到最佳。
為了進一步有效地管理記憶體,可將抹除區塊鏈接在一起,以形成虛擬的區塊或元區塊。即,將每一元區塊定義為包括來自每一平面的一抹除區塊。美國專利案6,763,424說明元區塊之使用,連同本申請案中引用的所有其他專利案及專利申請案,該專利案之全部內容係以引用的方式併入於此。藉由一主機邏輯塊位址將該元區塊識別為用於程式化與讀取資料之一目的地。同樣,一元區塊的所有抹除區塊係一起抹除。採用此類大區塊及/或元區塊來進行操作的記憶體系統中的控制器執行若干功能,包括從一主機接收的邏輯塊位址(LBA)、以及記憶體單元陣列內的實體塊號碼(PBN)之間的轉換。一般藉由該區塊位址內的偏移來識別該等區塊內的個別頁面。位址轉換常常包括使用邏輯塊號碼(LBN)與邏輯頁面的中間項。
在一記憶體係連接至一主機時,可能由於該記憶體系統及主機所使用的資料結構不同而產生某些無效率情形。主機系統一般將資料作為叢聚來管理,其中一叢聚包含固定數目之扇區。一般地,一叢聚包含介於4與64扇區之間的資料,但還可以係其他扇區數目。主機一般保存一檔案配置表(FAT),該表記錄採取逐個叢聚方式對一特定檔案資料所作的配置。諸如可移除式記憶卡之類記憶體系統一般不將叢聚用作一資料單元。在一範例中,藉由一主機向一記憶卡傳送一叢聚資料,而當該叢聚資料係儲存於該非揮發性記憶體中時該記憶卡返回一信號。然後,該主機傳送下一叢聚的資料。叢聚與用於儲存該些叢聚之頁面之間一般不會校準。此點可意味著,在對一單一叢聚的資料進行程式化時,可能需要二個寫入操作,因為該叢聚延伸成該記憶體之二頁面,即便該叢聚能夠寫入一單一頁面亦會如此。此點使得將資料程式化於該記憶體所需要的時間增加。
在一叢聚從一第一頁面延伸至一第二頁面之情況下,針對此問題之一解決方式係,保存該叢聚中欲保存於一非揮發性記憶體(例如,一隨機存取記憶體(RAM))中的第二頁面中之部分,並將一信號返回給該主機以指示已寫入該叢聚。在接收下一叢聚時,可作為一整頁寫入之部分而將該新叢聚之一部分寫入該第二頁面,來複製並寫入RAM中的資料。與前面一樣,該下一叢聚之其餘部分係儲存於RAM中。但是,依據某些標準,不允許以此方式在RAM中儲存資料,因為在該記憶體斷電之情況下會有遺失此類資料之風險。
另一解決方式係實施一偏移而使得扇區的實體至邏輯映射改變一恒定值以相對於頁面邊界而校準叢聚邊界。但是,若該主機系統改變該等叢聚邊界之位置(例如,基於測試目的),則將會令該資料失準,而若要校準則需移動儲存於該記憶體中的所有資料。實行格式化程序時一般不考慮先前的格式參數,比如FAT複本數目及叢聚尺寸。在格式化期間不對叢聚與記憶體頁面之間的最終偏移進行直接控制。因此,經格式化後可能會有不同偏移。因此,此技術存在某些缺點。
因此,需要一種相對於一記憶體陣列之頁面而校準主機資料單元(例如,叢聚)以使得該等主機資料單元相對於頁面邊界而校準之方法。還需要一種採取防止在電源移除情況下遺失主機資料之方式來實行此舉之方法。還需要一種採取一既靈活且允許由一主機傳送的資料發生叢聚邊界位置變化之方式來實行此舉之方法。
相對於一記憶體陣列頁面而校準主機資料叢聚之一方法在將資料儲存於該記憶體陣列之一區塊中時使用一偏移。在使用一偏移之情況下,扇區在該記憶體陣列中的儲存位置係相對於其在採取其他方式時的儲存位置而移位之位置。可採取逐個區塊之方式來實施該偏移。因此,在映射至該記憶體陣列之一特定區塊的邏輯位址(邏輯塊)範圍中無任何變化,該偏移僅影響該資料在該區塊內的配置方式。因此,若從資料之一部分至另一部分之偏移發生變化(例如,若該主機因測試之故而改變叢聚邊界位置),則可以不同的偏移來寫入不同的部分。
由於叢聚邊界一般不會校準於邏輯塊邊界,因此一邏輯塊一般會以一叢聚片段開始與結束,且在其中間會包含若干完整的叢聚。
在一範例中,來自一邏輯塊開端之叢聚片段係寫入一第一頁面之末端。然後,以一校準的方式將該等完整的叢聚寫入後續頁面。然後將來自該邏輯塊末端之叢聚片段寫入該第一頁面,從而填充該第一頁面。或者,可將來自該邏輯塊開端之叢聚片段寫入該區塊之最後一頁面,可將完整的叢聚寫入其餘頁面,並接著可將來自該邏輯塊末端之叢聚片段寫入該最終頁面。但是,有些記憶體設計不允許多次寫入一頁面,因為在一隨後的寫入操作期間先前所寫入的資料存在毀損之風險。有些設計還不允許不連續的頁面填充。
在另一範例中,來自一邏輯塊開端之一叢聚片段係儲存於一便箋區塊中或儲存於其欲儲存區塊以外的其他位置。然後,以一校準方式將後續的完整叢聚儲存於該區塊之頁面中。將最終叢聚片段連同來自該邏輯塊開端的叢聚片段(係從該便箋區塊複製)一起寫入該區塊之最終頁面。此方案允許連續寫入頁面,且每一頁面僅寫入一次。
本發明之技術可適用之一區塊係:一抹除區塊,或一包括鏈接形成一元區塊的多個抹除區塊之區塊。該等技術還可應用於各種尺寸的叢聚及頁面,而不限於叢聚尺寸與頁面尺寸相同之情況。
首先參考圖1A,一快閃記憶體包括一記憶體單元陣列與一控制器。在圖示範例中,二個積體電路裝置(晶片)11與13包括一記憶體單元陣列15與各種邏輯電路17。該等邏輯電路17透過資料、命令及狀態電路而與一單獨晶片上之一控制器19介接,且還向該陣列15提供定址、資料傳輸與感測及其他支援。記憶體陣列晶片之數目可從一至許多個,此取決於所提供的儲存容量。記憶體單元陣列可位於一單一晶片上,或可由多個晶片上的記憶體單元所組成。該控制器與部分或整個陣列可替代地組合到一單一積體電路晶片上,但此做法目前並非一經濟的選擇。
一典型控制器19包括一微處理器21;一唯讀記憶體(ROM)23,其主要用來儲存韌體,以及一緩衝器記憶體(RAM)25,其主要用來暫時儲存寫入記憶體晶片11與13或從記憶體晶片11與13讀取的使用者資料。緩衝器記憶體25可以係揮發性或非揮發性記憶體。電路27與記憶體陣列晶片介接,而電路29透過連接31與一主機介接。
圖1A之記憶體之連接31與一主機系統之連接31’匹配,圖1B給出其一範例。圖1A之主機與記憶體之間透過介面電路35來進行資料傳輸。一典型的主機還包括一微處理器37、一用於儲存韌體碼之ROM 39以及RAM 41。其他電路及子系統43常包括一高容量資料儲存磁碟機、用於一鍵盤之介面電路、一監視器等,此取決於特定的主機系統。此類主機之一些範例包括桌上型電腦、膝上型電腦、手持式電腦、掌上型電腦、個人數位助理(PDA)、MP3及其他聲頻播放器、數位相機、視訊攝影機、電子遊戲機、無線及有線電話裝置、答錄機、語音記錄器、網路路由器等等。
圖1A之記憶體可實施為一小型封閉卡,其包含該控制器及其所有記憶體陣列電路裝置,其形式上係可與圖1B之主機以可移除方式連接。即,匹配的連接31與31’允許一卡斷開並移動至另一主機,或藉由將另一卡連接至該主機而加以取代。或者,該等記憶體陣列裝置可以係封閉於一單獨的卡內,該卡可以電性及機械方式與一包含該控制器與連接31之卡連接。作為另一替代方案,圖1A之記憶體可以係嵌入圖1B之主機內,其中永久地形成該等連接31及31’。在此情形下,通常可將該記憶體連同其他組件包含於該主機之一外殼內。作為另一替代方案,可將一諸如記憶體晶片11之類的記憶體晶片直接連接至該主機系統之連接31’,而在兩者之間不具有記憶體控制器。在此情形下,藉由該主機系統的微處理器37來執行記憶體控制器的功能。
圖2說明一記憶體陣列之一部分,其中將記憶體單元分組成抹除區塊,每一抹除區塊中的單元可一起抹除(作為一單一抹除操作的部分),通常係同時抹除。抹除區塊係抹除的最小單元。
圖2之個別記憶體單元抹除區塊之尺寸可變化,但一商業上實用的形式在一個別的抹除區塊中包括一單一的資料扇區。圖3說明此一資料扇區之內容。使用者資料51一般係512位元組。除使用者質料51之外,還有管理資料,其包括從使用者資料計算出的ECC 53、與該扇區資料及/或該等扇區程式化於其中的抹除區塊相關的參數55以及從該等參數55計算出的ECC 57以及任何其他可能包括的管理資料。或者,可從使用者資料51與參數55來計算單一的ECC。
該等參數55可包括與抹除區塊所經歷的程式化/抹除週期之數目相關的一數量,此數量在每一週期或某一數目之週期之後得以更新。但將此經歷數量用在磨損平衡演算法時,規則地將邏輯塊位址重新映射至不同的實體塊位址,以使所有抹除區塊的使用量(磨損)均勻。經歷數量的另一用法係藉由不同抹除區塊所經歷的週期數目來改變電壓以及其他程式化、讀取及/或抹除參數。
該等參數55亦可包括指派給該等記憶體單元的每一儲存狀態之位元值之指示,稱為其"旋轉"。此點亦會對磨損平衡產生有利的影響。亦可將一或多個旗標包括於指示狀況或狀態的參數55中。亦可將用於程式化及/或抹除該抹除區塊的電壓位準之指示儲存於該等參數55內,此等電壓會隨著抹除區塊所經歷的週期數目與其他因素的變化而得以更新。該等參數55之其他範例包括抹除區塊內任何有缺陷單元之識別、映射至此實體塊中的資料之邏輯位址以及在主要抹除區塊有缺陷的情形下任何替代抹除區塊的位址。用在任何記憶體系統中的參數55之特定組合將依據設計而變化。而且,可將部分或全部管理資料儲存於專用於此一功能的抹除區塊中,而非儲存於包含使用者資料的抹除區塊或管理資料所屬的抹除區塊中。
圖4所示之一多扇區抹除區塊與圖2之單一資料扇區抹除區塊不同。一範例性抹除區塊59仍然係抹除的最小單元,其包含四個頁面0至3,其中每一頁面係程式化的最小單元。一或多個主機資料扇區係儲存於每一頁面中,通常還一同儲存至少包括從該扇區之資料計算出的ECC在內的管理資料,並且可採取圖3之資料扇區形式。
重新寫入整個抹除區塊的資料通常包括將新的資料程式化於一抹除區塊集用區之一可用抹除區塊中,原始抹除區塊接著被抹除並置於該抹除集用區中。當已更新之資料少於抹除區塊之全部頁面時,通常將已更新的資料儲存於已抹除區塊集用區中一抹除區塊的一頁面中,並將其餘未改變頁面中的資料從原始的抹除區塊複製到新的抹除區塊中。接著抹除原始的抹除區塊。此大區塊管理技術之變化包括將已更新的資料寫入另一抹除區塊的一頁面中,而無需從原始抹除區塊移動資料或抹除資料。由此產生具有相同邏輯位址的多個頁面。藉由某一方便的技術來識別最近的資料頁面,例如作為扇區或頁面管理資料中的一欄位而記錄的程式化時間。
圖5說明另一多扇區抹除區塊配置。在此,總記憶體單元陣列係在實體上分成二個或更多平面,圖中說明四個平面0至3。每一平面係一記憶體單元子陣列,其具有本身的資料暫存器、感測放大器、定址解碼器等,以便很大程度上可獨立於其他平面而操作。所有該等平面可位於一單一的積體電路裝置上或多個裝置上,一範例係由一或多個不同的積體電路裝置形成每一平面。圖5之範例性系統中的每一抹除區塊包含16個頁面P0至P15,每一頁面具有一、二或多個主機資料扇區以及一些管理資料之容量。
圖6說明另一記憶體單元配置。每一平面皆包含大量抹除區塊。為增加操作的平行度,一晶片的不同平面內或來自不同晶片的抹除區塊係邏輯上鏈接以形成元區塊。圖6中說明此一元區塊。可邏輯定址每一元區塊,而該記憶體控制器指派並不斷追蹤形成個別元區塊之抹除區塊。該主機系統提供以扇區串流為形式的資料。將此扇區串流分成邏輯塊。此處,邏輯塊係邏輯資料單元,其包含與記憶體陣列之元區塊中所含數目相同的資料扇區。記憶體控制器保持每一邏輯塊所儲存位置的記錄。圖6之此一邏輯塊61,例如,係藉由一邏輯塊位址(LBA)來識別,該邏輯塊位址(LBA)係藉由該控制器而映射到構成元區塊的區塊之實體塊號碼(PBN)中。將該元區塊的所有區塊一起抹除,並且一般同時對來自每一區塊的頁面進行程式化與讀取。來自一元區塊的不同抹除區塊之一組平行程式化的頁面可視為一元頁面。可將此一元頁面視為使用一元區塊架構之一記憶體系統之程式化單元。使藉使用延伸橫跨一元區塊之多個抹除區塊的較大元頁面來對資料進行程式化,從而提供一較高的平行度並因此允許以較高的速率進行資料儲存。
在使用一元區塊架構之系統中,形成一元區塊之一組抹除區塊可作為一單一抹除區塊來處理並可簡稱為一區塊。同樣,延伸橫跨一元區塊之抹除區塊的一組頁面可作為一單一頁面(或元頁面)來處理。在將抹除區塊鏈接形成元區塊與不將抹除區塊鏈接形成元區塊之二類結構中,皆可實施本申請案中說明的特定技術。因此,本申請案中所使用的術語"區塊"可表示一單一的抹除區塊或一組鏈接形成一元區塊之抹除區塊。同樣,本申請案中所使用的術語"頁面"可表示:一個別抹除區塊之一頁面;或一元頁面,其延伸橫跨一元區塊之抹除區塊。
圖7顯示每一元頁面具有四個扇區之一元區塊72中所儲存叢聚之一失準範例。從一主機接收作為一叢聚串列之資料,其中每一叢聚皆包含4個扇區。叢聚K延伸橫跨二個邏輯塊。因此,叢聚K之部分(扇區X-3至X-1)係處於一第一邏輯塊74中而叢聚K之部分(扇區X)係處於一第二邏輯塊76中。由於扇區X係該第二邏輯塊之第一扇區,因此其係儲存於該元區塊72之第一頁面(頁面0)中。當寫入扇區X時,可將一信號傳送給該主機,以指示叢聚K之寫入完成。接著,該主機可傳送叢聚K+1。該叢聚K+1之第一部分(扇區X+1、X+2及X+3)係儲存於對應於扇區X之頁面0中。但是,由於一頁面僅儲存4個資料扇區,因此必須將扇區X+4儲存於下一頁面中(頁面1)。在將扇區X+4寫入頁面1之前可將其儲存於一緩衝器中。因此,需要一第二頁面寫入操作來儲存叢聚K+1。同樣,後續叢聚K+2至K+N/4中的每一叢聚皆需要二個寫入操作,因為每一叢聚皆因叢聚與頁面之間的失準而延伸成二頁面。邏輯塊76之最終叢聚(叢聚K+N/4)係部分寫入一第三元區塊78之第一頁面。因此,在所有後續元區塊中失準會一直繼續。由於在此範例中每一叢聚皆需要二個寫入操作,因此與在一單一寫入操作中寫入每一叢聚之情況相比,資料儲存時間可能要長得多。在一叢聚所包含的資料數量與一頁面不同時,亦可存在此問題。例如,若一叢聚小於一頁面,則可將某些叢聚寫入一單一頁面而其他叢聚延伸成二頁面。若一叢聚大於一頁面,則某些頁面可僅包含來自一叢聚之資料而某些頁面包含來自二叢聚之資料。因此,大到二倍於一頁面之一叢聚可能需要三個寫入操作。
圖8A顯示依據本發明之一項具體實施例主機叢聚相對於元區塊72的頁面而校準之一範例。與前面一樣,一主機按連續的順序傳送一資料叢聚串列K至K+N/4以儲存於一記憶體中。該記憶體包括多個元區塊,其中一元區塊係由可一起程式化及抹除之多個抹除區塊構成。對應於一元區塊之一資料單元係一邏輯塊。資料叢聚K至K+N/4延伸橫跨3個邏輯塊74、76、78。當接收到叢聚K之扇區X時,將其儲存於該元區塊72之第一頁面(頁面0)中。扇區X之圖示位置指示其係處於頁面0中的最後位置。隨後,當接收到叢聚K+1之扇區X+1至X+4時,將其儲存於頁面1中。讓叢聚K+1與頁面1對齊,從而讓叢聚K與叢聚K+1之間的邊界(扇區X與扇區X+1之間的邊界)位於頁面0與頁面1之間的頁面邊界。因此,叢聚K+1之開端開始於頁面1之開端,而將該叢聚K+1視為校準於頁面1。在此範例中,一叢聚之尺寸與一頁面之尺寸相同,而使得叢聚K+1與頁面1適配且叢聚之末端亦與頁面1之末端一致。叢聚K+2係以同樣方式校準於頁面2。同樣,後續叢聚K+3至K+N/4-1係校準於個別頁面3至N/4-1。在將叢聚K+N/4-1寫入頁面N/4-1後,接著從該主機接收叢聚K+N/4。將扇區X+N-3、X+N-2及X+N-1儲存於對應於扇區X的元區塊72之第一頁面(頁面0)中。因此,元區塊72具有一第一頁面(頁面0),該頁面包含來自邏輯塊76的標頭之一部分叢聚與來自邏輯塊76的尾部之一部分叢聚。該元區塊之其他頁面皆包含一叢聚,從而對於該些頁面中的每一頁面僅需要一寫入操作。與特定的先前技術系統相比,此點可允許將資料更快地寫入該記憶體陣列。
此範例中的偏移可從當前命令之第一邏輯位址與該邏輯塊中該第一扇區之邏輯位址之間的差而計算得出。用於計算此偏移之一等式係:偏移={(當前命令之第一邏輯位址)/(每一頁面之扇區數目)之模數}-(每一頁面之扇區數目)因此,對於圖8A之範例,該計算變成:偏移={(X-3)/(4)之模數}-4=1-4=-3圖8B將圖8A之重新校準方案說明為邏輯塊76的扇區之邏輯至實體映射中之一偏移,其中X=0。並不將邏輯塊76之第一邏輯扇區(扇區X)寫入元區塊72中的第一實體位址,而將該第一邏輯扇區寫入該第四實體位址。可將此視為此扇區之映射中之一大小為-3(負三)之偏移,而零偏移係該第一邏輯扇區映射至該第一實體位置。還可將此視為一N-3之偏移,因為儲存於該第一實體位置之扇區係扇區N-3。後續扇區同樣係以一-3之偏移寫入,直至到達元區塊72之末端。接著將邏輯塊76、X+N-3、X+N-2及X+N-1之最後三個扇區寫入元區塊72之開端。還可將該些扇區視為以一-3之偏移寫入,在此情況下該元區塊之邏輯位址係環繞(將該邏輯塊之第一位址視為接續該邏輯塊之最後位址)。因此,可使用邏輯塊76之偏移來找出儲存於元區塊72中的資料扇區而不需要逐個區塊地對資料編索引。2003年12月30日申請的名稱為"非揮發性記憶體及採用區塊管理系統之方法"之專利申請案第10/750,155號中進一步說明此類使用一偏移(或頁面標籤)而在元區塊中進行的資料儲存,該申請案之全部內容係以引用的方式併入於此。儘管圖8A及8B之範例顯示從欲儲存於元區塊72的開端處之邏輯塊76之末端起環繞的三個扇區(X+N-3、X+N-2及X+N-1),但以此方式環繞的扇區數目可從一至三。對於一給定的邏輯塊,該偏移尺寸可以係最小為一而最大不超過一頁面中的扇區數目。
特定的記憶體設計不允許對一區塊之相同頁面進行多個寫入操作。在此類記憶體中,一旦將資料寫入一頁面,該頁面便可能不會有寫入於其中之額外資料,因為後續的程式化可能毀損所儲存的資料。在此類記憶體中,圖8A所示儲存方案可能不可行,因為在將扇區X程式化後,不一定可以對頁面0中的扇區X+N-3、X+N-2及X+N-1進行後續程式化。在某些設計中,還可僅以連續的順序寫入資料。例如,首先寫入頁面0,然後寫入頁面1、頁面2等。在寫入頁面1後,可能不會寫入頁面0,因為此舉不符合連續順序。在此類設計中,在將頁面1寫入頁面N/4-1後,可能不可以在頁面0中寫入任何資料。
圖9A顯示本發明之另一項具體實施例,其使用一便箋區塊91來實施一校準方案以將叢聚與頁面校準。與本申請案同日申請的律師檔案號為SNDK.406US0而名稱為"便箋區塊"之美國專利申請案中說明一便箋區塊之使用,該專利申請案之全部內容係以引用的方式併入於此。與先前範例中一樣,從一主機接收一主機資料叢聚串列(叢聚K至K+N/4)以儲存於一記憶體陣列中。叢聚K包括來自一第一邏輯塊74之扇區X-3至X-1與來自一第二邏輯塊76之扇區X。扇區X-3至X-1係儲存於與該第一邏輯塊74相關之一元區塊(未顯示)中。在接收到扇區X時並不將其立即儲存於元區塊72中。替代的係,將扇區X儲存於另一位置。在此範例中,該位置係處於一便箋區塊91中。此係該記憶體陣列中用於將各種資料短期儲存於非揮發性記憶體中之一區塊。由於扇區X係儲存於非揮發性記憶體中,因此在從該記憶體系統移除電源之情況下不會遺失該扇區X。或者,可將扇區X儲存於某一其他非揮發性記憶體內,或者,若允許還可儲存於一揮發性記憶體內。在將扇區X儲存於便箋區塊91中後,接收叢聚K+1。叢聚K+1係儲存於頁面0中且校準於頁面0。因此,叢聚K與叢聚K+1之間的邊界與頁面0之啟始邊界一致。由於此範例中一叢聚之尺寸與一頁面之尺寸相同,因此叢聚K+1與頁面0完全適配而叢聚K+1之末端與頁面0之末端一致。同樣,將後續叢聚K+2至K+N/4-1逐個寫入一頁面1。當接收到叢聚K+N/4時,連同從便箋區塊91複製的扇區X,將來自叢聚K+N/4(來自邏輯塊76)之三個扇區(扇區X+N-3、X+N-2及X+N-1)寫入頁面N/4-1。因此,在此範例中,元區塊72中的最後頁面包含來自邏輯塊76的標頭之一叢聚片段與來自邏輯塊76的尾部之一叢聚片段。在不需要連續寫入頁面且允許向相同頁面多次寫入之記憶體中,在接收到扇區X時可將其寫入頁面N/4-1而不儲存於另一位置。
可從一叢聚邊界與一頁面邊界之間的差來計算得出此範例之偏移。此範例中的偏移可從當前命令之第一邏輯位址與該邏輯塊開端之邏輯位址之間的差而得出。在一範例中,可從下式計算出該偏移:偏移=(當前命令之第一邏輯位址)/(每一頁面之扇區數目)之模數因此,在圖9A中,當前命令之第一邏輯位址為X-3。因此,該偏移係:偏移=(X-3)/(4)之模數=(X-4+1)/(4)之模數=1此範例中用於校準之偏移可從一至三個扇區。一般地,該偏移可從零(若接收到的叢聚之邊界位置與邏輯塊邊界一致)至一小於每一頁面扇區數目之最大值。
圖9B將圖9A之重新校準方案說明為邏輯塊76的扇區之邏輯至實體映射中之一偏移,其中X=0。並不將邏輯塊76之第一邏輯扇區(扇區X)寫入元區塊72中的第一實體位址,而將該第一邏輯扇區寫入該最後的實體位址。可將此視為此扇區映射中之一大小為1(一)之偏移,在此情況下該元區塊之位址係環繞(將該邏輯塊76之第一位址視為接續該邏輯塊76之最後位址)。同樣可以大小為一之偏移來寫入所有其他扇區。從而,接收第二扇區,扇區X+1則映射到該第一實體位址等。可使用邏輯塊76之偏移來找出儲存於元區塊72中的資料而不需要逐個區塊地對資料編索引。專利申請案第10/750,155號中進一步說明此類使用一偏移(或頁面標籤)在元區塊中進行的資料儲存。
圖8及9之範例顯示各具四個扇區之叢聚及頁面。但是,所說明的原理可適用於各種尺寸之叢聚及頁面。一叢聚可延伸涵蓋多個頁面而仍校準於該等頁面。例如,一8扇區之叢聚可校準於具有4個扇區之頁面,如圖10所示。圖10之叢聚完全佔據元區塊72之2頁面,本來在此情況下若其未校準則可延伸橫跨3頁面。因此,校準之舉可藉由將每一叢聚之寫入數目從3減小為2,從而提高效率。在此範例中,每一叢聚邊界皆與一頁面邊界一致,但並非每一頁面邊界皆與一叢聚邊界一致。
叢聚可小於一頁面而仍校準於該頁面。例如,一叢聚可包含16個扇區而一頁面可包含64個扇區。若不校準,則某些叢聚可延伸橫跨二個頁面而需要二個寫入操作。藉由校準,將該些叢聚寫入一單一頁面,從而提高效率。在此範例中,每一頁面邊界皆與一叢聚邊界一致,但並非每一叢聚邊界皆與一頁面邊界一致。
可從所寫入的資料之啟始位址與一邏輯塊之啟始位址之間的差而導出一邏輯塊之一偏移。一邏輯塊之開端將係一頁面之開端,而該主機於一叢聚之開端開始寫入資料。因此,該些二位址之間的差使得一叢聚邊界與一邏輯塊邊界之間產生差。若將此差除以每一頁面之扇區數目,則可從餘數而計算得出該偏移。若模數為零(該差係一整數之頁面數目),則可將該等邊界視為校準。一邏輯塊的偏移之一儲存方法係對儲存於該邏輯塊的第一實體位址之扇區之邏輯位址作記錄。
可從儲存於該記憶體中的主機資料之第一扇區之邏輯位址導出一偏移。一般地,在一DOS系統中,邏輯位址空間之第一部分係專用於諸如啟動扇區、一或多個檔案配置表(FAT)、根目錄及子目錄之類的系統資訊。緊接該系統資訊之後儲存主機資料,以便該第一叢聚在該系統資訊結束後開始。因此,若已知該系統資訊之邏輯位址範圍,則可獲得該第一叢聚的開端位置。從記錄該(或該等)FAT及目錄的位置之啟動扇區,可找到該系統資訊之邏輯位址範圍。該啟動扇區還指示每一叢聚之扇區數目以便可從該啟動扇區獲得所有叢聚邊界位置。
在某些系統中,可將一記憶體陣列分成二個或更多分區,該等分區可在某些方面進行分離的操作。該陣列之一個別分區可具有一專用的邏輯位址空間部分以用於該分區的系統資訊。在此類系統中,可針對不同分區而依據儲存於該分區中的第一扇區主機資料之位置來導出一不同偏移。因此,相同記憶體陣列內的不同分區可與不同的偏移配合進行操作,以便每一分區在叢聚校準於頁面之條件下儲存資料。
依據本發明之一項具體實施例,該邏輯塊位址格式可包括該邏輯塊之偏移(頁面標籤)。因此,可決定一元區塊中一扇區之實體位置而無需讀取一先前的區塊。
由於每一邏輯塊皆保持一單獨的偏移,因此不同的邏輯塊可具有不同的偏移。當一主機改變該等叢聚邊界位置時,該校準會為新的資料而改變。先前寫入其他元區塊中的資料可保持不受干擾,因為其無須結合新的校準而重新寫入。一邏輯塊中的偏移變化無須影響相鄰邏輯塊之偏移,因為一偏移僅影響對應邏輯塊之邏輯位址範圍內的扇區。相同的邏輯位址範圍保持為映射至一特定邏輯塊,而該偏移僅提供在該範圍內的校準。
在另一項具體實施例中,上述原理可適用於一邏輯群組之一單元而非適用於一邏輯塊之一單元。在此一具體實施例中,針對一邏輯群組而非一邏輯塊計算一偏移。邏輯群組係一資料單元,其所保存的資料等量於該記憶體陣列之一抹除區塊中的資料。因此,一邏輯塊包含整數數目之邏輯群組。2004年5月7日申請的名稱為"資料邊界管理"之美國專利申請案10/841,118中提供關於邏輯群組之詳細說明,該專利申請案之全部內容係以引用的方式併入於此。在某些記憶體系統中,可以一邏輯群組為單元來追蹤該記憶體中資料之實體位置。在此一記憶體系統中,可導出每一邏輯群組之一偏移。在此類系統中,該邏輯群組位址格式可包括針對該邏輯群組之偏移,而不同的邏輯群組可具有不同的偏移。在其他具體實施例中,對於所具有的資料比一區塊中的資料更少之單元,偏移可保持不變。例如,可使用包含一區塊資料之一半、四分之一、或某一其他分數之一單元,且針對每一單元而導出一不同的偏移。因此,可採取不同尺寸的單元來校準資料。
在某些記憶體系統中,基於各種原因而提供偏移。例如,在美國專利申請案第10/750,155號中,一偏移允許快速寫入接收到的資料而並不首先複製資料扇區。可將此類偏移與依據本發明而計算得出的偏移組合,以獲得用於儲存資料之一最終的偏移值。例如,若接收到的資料所具有之一邏輯位址在一邏輯塊之邏輯位址範圍之中間,則可依據一第一偏移將該資料寫入該元區塊之開端。但是,一額外偏移可將該資料校準於該等頁面邊界而使得該最終偏移由二成分組成。
儘管上文充分說明特定具體實施例、各種修改,但亦可使用替代性構造及等效物。因此,不應將上面的說明及圖解視為限制申請專利範圍所定義的本發明之範疇。
11...積體電路裝置(晶片)/記憶體晶片
13...積體電路裝置(晶片)/記憶體晶片
15...記憶體單元陣列
17...邏輯電路
19...控制器
21...微處理器
23...唯讀記憶體(ROM)
25...緩衝器記憶體(RAM)
27...電路
29...電路
31...連接
31’...連接
35...介面電路
37...微處理器
39...ROM
41...RAM
43...其他電路及子系統
51...使用者資料
5...ECC
55...參數
57...ECC
59...範例性抹除區塊
61...邏輯塊
72...元區塊
74...第一邏輯塊
76...第二邏輯塊
78...第三元區塊
91...便箋區塊
圖1A顯示包括一記憶體控制器與記憶體陣列積體電路之一記憶體系統。
圖1B顯示與圖1A之記憶體系統配合操作之一主機系統。
圖2顯示圖1所示記憶體陣列之一範例性組織。
圖3顯示具有如圖1A之記憶體陣列中所儲存的管理資料之一範例性主機資料扇區。
圖4顯示圖1A之記憶體陣列之一第二範例性組織。
圖5顯示圖1A之記憶體陣列之一第三範例性組織。
圖6顯示圖1A之記憶體陣列之第三範例性組織之一延伸。
圖7顯示如圖1A所示記憶體陣列中所儲存的資料之邏輯單元與實體位置之間的對應關係。
圖8A顯示依據本發明之一項具體實施例之一記憶體陣列中所儲存的資料之邏輯單元與實體位置之間的對應關係。
圖8B顯示圖8A所示範例中邏輯至實體映射中之一偏移之操作。
圖9A顯示依據本發明之另一項具體實施例之一記憶體陣列中所儲存的資料之邏輯單元與實體位置之間的對應關係。
圖9B顯示圖9A所示範例中邏輯至實體映射中之一偏移之操作。
圖10顯示8扇區之一叢聚如何對具有4扇區之頁面校準。
72...元區塊
74...第一邏輯塊
78...第三元區塊
76...第二邏輯塊
91...便箋區塊
Claims (20)
- 一種將可定址的資料封包儲存於一連接至一主機的非揮發性記憶體陣列中之方法,該記憶體陣列具有一區塊之抹除單元,其中該記憶體陣列之每一區塊保存資料的一邏輯塊;每一邏輯塊係由從一第一可定址資料封包依序延伸至一最後可定址資料封包之可定址資料封包所形成;資料係以一叢聚為單元而由該主機來配置;每一叢聚包括多個可定址資料封包,該方法包含:針對從一主機接收到的資料決定一邏輯塊邊界與一叢聚邊界之間的一偏移,以在一預定區塊中進行儲存;選擇該預定區塊中的實體位置,以依據該偏移來寫入該等接收到的資料之複數個叢聚,以使得一個別叢聚邊界位於一預定頁面邊界;以及將包括該接收到的資料之一邏輯塊的一第一可定址資料封包之一第一部分叢聚與包括該接收到的資料之該邏輯塊的該最後可定址資料封包之一最後部分叢聚寫入該預定區塊之一頁面。
- 如請求項1之方法,其中該第一部分叢聚與該最後部分叢聚被寫入形成該預定區塊之複數個連續頁面之一次序上的最後頁面。
- 如請求項2之方法,其中該第一部分叢聚在寫入形成該預定區塊的該複數個連續頁面之該最後頁面之前係儲存於該預定區塊之外。
- 如請求項1之方法,其中該第一部分叢聚與該最後部分叢 聚被寫入形成該預定區塊之複數個連續頁面之一次序上的第一頁面。
- 如請求項4之方法,其中將該第一部分叢聚直接儲存於該預定區塊之該次序上的第一頁面中,而隨後亦將該最後部分叢聚儲存於該預定區塊之該次序上的第一頁面中。
- 如請求項1之方法,其中該預定區塊由複數個頁面組成,而且該預定區塊之所有頁面中除包含該等第一及最後部分叢聚之該頁面外,皆包含以一叢聚邊界儲存於一頁面邊界之叢聚。
- 一種將從一主機接收到的資料叢聚儲存於一非揮發性記憶體陣列中之方法,其中每一叢聚包含藉由一主機來一起配置之多個可定址的資料單元,該非揮發性記憶體陣列具有一頁面之一程式化單元與一區塊之一抹除單元,每一區塊包含多個頁面,該方法包含:從一主機接收複數個叢聚資料;將該複數個叢聚映射至該記憶體陣列之區塊,而與叢聚邊界之位置無關;導出叢聚邊界與映射區塊邊界之間的一偏移;以及將叢聚與映射至一預定區塊之部分叢聚儲存於該預定區塊內之頁面內,其儲存方式取決於該導出的偏移,使得叢聚之間的邊界出現於頁面邊界,該等叢聚與映射至該預定區塊之之部分叢聚具有一邏輯位址範圍,該邏輯位址範圍與該偏移無關,使得該預定區塊與該偏移無關地以相同扇區(sectors)填充。
- 如請求項7之方法,其中映射至該預定區塊的該等叢聚部分係一第一叢聚之一第一部分與一第二叢聚之一第二部分,該等第一及第二部分係一起儲存於該預定區塊之一頁面內。
- 如請求項8之方法,其中該等叢聚及映射至該預定區塊的叢聚部分係從一第一邏輯位址延伸至一最後邏輯位址之連續資料,該第一部分包括該第一邏輯位址而該第二部分包括該最後邏輯位址。
- 如請求項7之方法,其中記錄指示該預定區塊的該偏移之一值。
- 一種將包含預定義的叢聚邊界之資料儲存於一非揮發性記憶體陣列之元區塊(metablock)中之方法,每一元區塊係由平行程式化及抹除之二個以上抹除區塊所組成,抹除區塊係該非揮發性記憶體陣列之抹除之最小單元,每一邏輯塊由與一元區塊中的該資料相當之資料組成,每一邏輯群組由與一抹除區塊中的該資料相當之資料組成,該方法包含:接收用於儲存於一非揮發性記憶體中之資料,該資料由多個依序可定址資料封包組成;將來自一第一叢聚之一或多個第一可定址資料封包儲存於一第一位置,該第一叢聚包含來自一第一邏輯群組之該一或多個第一可定址資料封包,且還包含來自一第二邏輯群組之一或多個第二可定址資料封包;將後續的依序可定址資料封包儲存於一第一元區塊之 頁面中,而使得頁面邊界出現於叢聚邊界;及將來自一最後叢聚之一或多個第三可定址資料封包與該一或多個第一可定址資料封包一起儲存於該第一元區塊之一預定頁面中,該最後叢聚包含來自該第一邏輯群組之該一或多個第三可定址資料封包,且還包含來自一第三邏輯群組之一或多個第四可定址資料封包。
- 如請求項11之方法,其中該第一位置位於一第二元區塊中。
- 如請求項11之方法,其中該第一位置係該第一元區塊之該預定頁面,並在將該一或多個第一可定址資料封包寫入該第一元區塊之該預定頁面後,將該一或多個第三可定址資料封包寫入該第一元區塊之該預定頁面。
- 如請求項11之方法,其中該第一邏輯群組中的該資料接續該第二邏輯群組中的該資料,而該第三邏輯群組中的該資料接續該第一邏輯群組中的該資料。
- 如請求項11之方法,其中該等第一、第二及第三邏輯群組係處於一儲存於該第一元區塊中的邏輯塊內。
- 一種記憶體系統,其用於儲存藉由一非揮發性儲存媒體中的一主機來傳送的可定址資料封包,其包含:一控制器,其接收來自該主機的可定址資料封包,所接收的該等可定址資料封包形成由該主機配置給檔案的叢聚,每一叢聚包含多個可定址資料封包,一連續範圍之該等所接收的可定址資料封包係藉由該控制器映射至一邏輯單元而與叢聚位置無關;以及 一非揮發性記憶體陣列,其與該控制器通信,該非揮發性記憶體陣列具有多個抹除區塊,抹除區塊係該記憶體陣列之抹除之最小單元,指派一或多個抹除區塊來儲存該邏輯單元,該或該等多個抹除區塊可一起程式化及抹除,該或該等多個抹除區塊包含用於儲存可定址資料封包之實體位置,用於儲存該範圍的可定址資料封包中個別封包之該等實體位置經選擇而為該邏輯單元內的叢聚提供叢聚相對於頁面之校準(alignment),而並不修改映射至該邏輯單元的可定址資料封包之該範圍;其中個別包括該邏輯單元內之一部分與該邏輯單元外之一部分之叢聚將該邏輯單元內的該等部分一起儲存於該邏輯單元之一頁面內,而不提供叢聚相對於頁面之校準。
- 如請求項16之記憶體系統,其中叢聚尺寸等於頁面尺寸,而該邏輯單元內的該等部分佔據該或該等多個抹除區塊之一完整頁面。
- 如請求項16之記憶體系統,其中該或該等抹除區塊由二個以上抹除區塊之一元區塊組成,而該邏輯單元係由完全適於該元區塊內的一資料量所組成。
- 如請求項16之記憶體系統,其中該或該等抹除區塊由一抹除區塊組成,而該邏輯單元係由完全適於該抹除區塊內的資料所組成。
- 如請求項16之記憶體系統,其中該記憶體系統係封裝於一以可移除方式連接至一主機的記憶卡內。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/015,211 US7395404B2 (en) | 2004-12-16 | 2004-12-16 | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200632650A TW200632650A (en) | 2006-09-16 |
TWI386801B true TWI386801B (zh) | 2013-02-21 |
Family
ID=36123113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094144090A TWI386801B (zh) | 2004-12-16 | 2005-12-13 | 叢聚自動校準 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7395404B2 (zh) |
EP (1) | EP1828881B1 (zh) |
JP (1) | JP4960882B2 (zh) |
KR (1) | KR20070102485A (zh) |
CN (1) | CN101099125B (zh) |
TW (1) | TWI386801B (zh) |
WO (1) | WO2006065536A1 (zh) |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
JP4863749B2 (ja) * | 2006-03-29 | 2012-01-25 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
KR100758301B1 (ko) * | 2006-08-04 | 2007-09-12 | 삼성전자주식회사 | 메모리 카드 및 그것의 데이터 저장 방법 |
KR100877609B1 (ko) * | 2007-01-29 | 2009-01-09 | 삼성전자주식회사 | 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법 |
US7987332B2 (en) * | 2007-03-21 | 2011-07-26 | Sandisk Technologies Inc. | Methods for storing memory operations in a queue |
US20080235480A1 (en) * | 2007-03-21 | 2008-09-25 | Shai Traister | Systems for storing memory operations in a queue |
US8504784B2 (en) * | 2007-06-27 | 2013-08-06 | Sandisk Technologies Inc. | Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system |
US7818493B2 (en) * | 2007-09-07 | 2010-10-19 | Sandisk Corporation | Adaptive block list management |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
US8453022B2 (en) | 2007-12-05 | 2013-05-28 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8621138B2 (en) * | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
KR101465789B1 (ko) * | 2008-01-24 | 2014-11-26 | 삼성전자주식회사 | 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 |
US8972472B2 (en) | 2008-03-25 | 2015-03-03 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
TWI390548B (zh) * | 2008-07-03 | 2013-03-21 | Silicon Motion Inc | 資料儲存方法及其儲存裝置 |
US20100037102A1 (en) * | 2008-08-08 | 2010-02-11 | Seagate Technology Llc | Fault-tolerant non-volatile buddy memory structure |
US8650355B2 (en) * | 2008-10-15 | 2014-02-11 | Seagate Technology Llc | Non-volatile resistive sense memory on-chip cache |
JP5338260B2 (ja) * | 2008-10-31 | 2013-11-13 | アイシン・エィ・ダブリュ株式会社 | データリスト読み書き装置及びその方法 |
US7830700B2 (en) * | 2008-11-12 | 2010-11-09 | Seagate Technology Llc | Resistive sense memory array with partial block update capability |
US8392687B2 (en) * | 2009-01-21 | 2013-03-05 | Micron Technology, Inc. | Solid state memory formatting |
US8782325B1 (en) * | 2009-02-09 | 2014-07-15 | Marvell International Ltd. | Data type based alignment of data written to non-volatile memory |
US8489801B2 (en) * | 2009-03-04 | 2013-07-16 | Henry F. Huang | Non-volatile memory with hybrid index tag array |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
KR101615659B1 (ko) | 2009-07-16 | 2016-05-12 | 삼성전자주식회사 | 스크래치 패드 메모리 관리 장치 및 방법 |
US8612718B2 (en) * | 2009-08-19 | 2013-12-17 | Seagate Technology Llc | Mapping alignment |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8730729B2 (en) * | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
CN102243611B (zh) * | 2010-05-11 | 2015-06-17 | 深圳市朗科科技股份有限公司 | 数据存储方法和系统 |
US8510639B2 (en) | 2010-07-01 | 2013-08-13 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US9280477B2 (en) | 2010-12-13 | 2016-03-08 | Seagate Technology Llc | Data storage management in a memory device |
US9323670B2 (en) * | 2010-12-13 | 2016-04-26 | Seagate Technology Llc | Protecting volatile data of a storage device in response to a state reset |
JP2012173778A (ja) * | 2011-02-17 | 2012-09-10 | Sony Corp | 管理装置、および管理方法 |
US8909894B1 (en) * | 2011-03-16 | 2014-12-09 | Tintri Inc. | Automatically aligning virtual blocks to physical blocks |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US8924631B2 (en) * | 2011-09-15 | 2014-12-30 | Sandisk Technologies Inc. | Method and system for random write unalignment handling |
KR20130084846A (ko) | 2012-01-18 | 2013-07-26 | 삼성전자주식회사 | 플래시 메모리를 기반으로 하는 저장 장치, 그것을 포함한 사용자 장치, 그리고 그것의 데이터 읽기 방법 |
US8996839B1 (en) | 2012-01-23 | 2015-03-31 | Western Digital Technologies, Inc. | Data storage device aligning partition to boundary of sector when partition offset correlates with offset of write commands |
US9063838B1 (en) * | 2012-01-23 | 2015-06-23 | Western Digital Technologies, Inc. | Data storage device shifting data chunks of alignment zone relative to sector boundaries |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
TWI479315B (zh) * | 2012-07-03 | 2015-04-01 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 |
CN103544118B (zh) * | 2012-07-17 | 2016-09-14 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与数据写入方法 |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
CN102929790A (zh) * | 2012-10-15 | 2013-02-13 | 株洲南车时代电气股份有限公司 | 一种数据存储系统和方法 |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
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 |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
TWI514141B (zh) * | 2013-08-08 | 2015-12-21 | Phison Electronics Corp | 記憶體位址管理方法、記憶體控制器與記憶體儲存裝置 |
CN104375945B (zh) * | 2013-08-15 | 2018-03-13 | 群联电子股份有限公司 | 存储器地址管理方法、存储器控制器与存储器储存装置 |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
KR102105362B1 (ko) | 2013-09-17 | 2020-04-28 | 삼성전자주식회사 | 집적 회로 및 이를 포함하는 이미지 센서 |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
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 |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
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 |
US20150339223A1 (en) * | 2014-05-22 | 2015-11-26 | Kabushiki Kaisha Toshiba | Memory system and method |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
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 |
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 |
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 |
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 |
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 |
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 |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US9875053B2 (en) | 2015-06-05 | 2018-01-23 | Western Digital Technologies, Inc. | Scheduling scheme(s) for a multi-die storage device |
US10289327B2 (en) | 2015-06-05 | 2019-05-14 | Western Digital Technologies, Inc. | Scheduling scheme(s) for a multi-die storage device |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
CN107924405B (zh) | 2016-01-29 | 2022-03-08 | 慧与发展有限责任合伙企业 | 用于存储数据的系统和方法、以及计算机可读介质 |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
CN108334276B (zh) * | 2017-01-20 | 2021-01-29 | 宇瞻科技股份有限公司 | 快闪记忆体的动态对齐数据方法 |
TWI612421B (zh) * | 2017-01-20 | 2018-01-21 | 宇瞻科技股份有限公司 | 快閃記憶體的動態對齊資料方法 |
KR20190061942A (ko) * | 2017-11-28 | 2019-06-05 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10289561B2 (en) | 2017-08-08 | 2019-05-14 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices and methods of controlling the same |
CN107704208B (zh) * | 2017-10-13 | 2021-08-10 | 郑州云海信息技术有限公司 | 一种元数据的修复方法、装置及介质 |
US10372603B2 (en) | 2017-11-27 | 2019-08-06 | Western Digital Technologies, Inc. | Handling of unaligned writes |
US10977182B2 (en) * | 2017-12-01 | 2021-04-13 | Micron Technology, Inc. | Logical block mapping based on an offset |
CN109388677B (zh) * | 2018-08-23 | 2022-10-11 | 顺丰科技有限公司 | 集群之间数据同步方法、装置、设备及其存储介质 |
US10713163B2 (en) | 2018-09-11 | 2020-07-14 | Toshiba Memory Corporation | Set aware system data and mapping tables |
US10909030B2 (en) * | 2018-09-11 | 2021-02-02 | Toshiba Memory Corporation | Enhanced trim command support for solid state drives |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6459644B2 (en) * | 2000-06-06 | 2002-10-01 | Hitachi, Ltd. | Semiconductor memory device with block alignment function |
US6725322B1 (en) * | 1999-02-22 | 2004-04-20 | Renesas Technology Corp. | Memory card, method for allotting logical address, and method for writing data |
TW200406752A (en) * | 2002-10-18 | 2004-05-01 | Samsung Electronics Co Ltd | Method and apparatus for managing disc defects using updateable DMA, and disc thereof |
Family Cites Families (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5831735B2 (ja) * | 1975-10-15 | 1983-07-08 | 日本電気株式会社 | コウガクテキハンドウタイソウチ |
US4139911A (en) | 1978-03-13 | 1979-02-13 | Westinghouse Electric Corp. | High speed sense circuit for semiconductor memories |
US4218764A (en) | 1978-10-03 | 1980-08-19 | Matsushita Electric Industrial Co., Ltd. | Non-volatile memory refresh control circuit |
US4253059A (en) | 1979-05-14 | 1981-02-24 | Fairchild Camera & Instrument Corp. | EPROM Reliability test circuit |
JPS58139399A (ja) | 1982-02-15 | 1983-08-18 | Hitachi Ltd | 半導体記憶装置 |
US4460982A (en) | 1982-05-20 | 1984-07-17 | Intel Corporation | Intelligent electrically programmable and electrically erasable ROM |
JPS6134793A (ja) | 1984-07-27 | 1986-02-19 | Hitachi Ltd | ダイナミツクメモリ装置における診断及びエラ−訂正装置 |
US4612630A (en) | 1984-07-27 | 1986-09-16 | Harris Corporation | EEPROM margin testing design |
JPS6148197A (ja) | 1984-08-13 | 1986-03-08 | Fujitsu Ltd | チヤ−ジアツプ回路 |
JPS61172300A (ja) | 1985-01-26 | 1986-08-02 | Toshiba Corp | 半導体記憶装置 |
EP0198935A1 (de) | 1985-04-23 | 1986-10-29 | Deutsche ITT Industries GmbH | Elektrisch umprogrammierbarer Halbleiterspeicher mit Redundanz |
US4962322A (en) | 1988-12-05 | 1990-10-09 | Texas Instruments Incorporated | Nonvolatible capacitor random access memory |
JPS62114200A (ja) | 1985-11-13 | 1987-05-25 | Mitsubishi Electric Corp | 半導体メモリ装置 |
US5157629A (en) | 1985-11-22 | 1992-10-20 | Hitachi, Ltd. | Selective application of voltages for testing storage cells in semiconductor memory arrangements |
US4763305A (en) | 1985-11-27 | 1988-08-09 | Motorola, Inc. | Intelligent write in an EEPROM with data and erase check |
JPH0715799B2 (ja) | 1987-06-30 | 1995-02-22 | 日本電気株式会社 | 半導体記憶装置 |
FR2618579B1 (fr) | 1987-07-21 | 1989-11-10 | Thomson Semiconducteurs | Circuit integre a memoire comportant un dispositif anti-fraude |
US4809231A (en) | 1987-11-12 | 1989-02-28 | Motorola, Inc. | Method and apparatus for post-packaging testing of one-time programmable memories |
FR2630573B1 (fr) | 1988-04-26 | 1990-07-13 | Sgs Thomson Microelectronics | Memoire programmable electriquement avec plusieurs bits d'information par cellule |
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 |
US5268870A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
JPH07105146B2 (ja) | 1988-07-29 | 1995-11-13 | 三菱電機株式会社 | 不揮発性記憶装置 |
US5070032A (en) | 1989-03-15 | 1991-12-03 | Sundisk Corporation | Method of making dense flash eeprom semiconductor memory structures |
JPH02260298A (ja) | 1989-03-31 | 1990-10-23 | Oki Electric Ind Co Ltd | 不揮発性多値メモリ装置 |
US7190617B1 (en) * | 1989-04-13 | 2007-03-13 | Sandisk Corporation | Flash EEprom system |
US5172338B1 (en) | 1989-04-13 | 1997-07-08 | Sandisk Corp | Multi-state eeprom read and write circuits and techniques |
JPH0664918B2 (ja) | 1989-05-25 | 1994-08-22 | ローム株式会社 | 自己訂正機能を有する半導体記憶装置 |
DE69031276T2 (de) | 1989-06-12 | 1998-01-15 | Toshiba Kawasaki Kk | Halbleiterspeicheranordnung |
FR2650109B1 (fr) | 1989-07-20 | 1993-04-02 | Gemplus Card Int | Circuit integre mos a tension de seuil ajustable |
US5065364A (en) | 1989-09-15 | 1991-11-12 | Intel Corporation | Apparatus for providing block erasing in a flash EPROM |
US5200959A (en) | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
US5270551A (en) | 1990-02-14 | 1993-12-14 | Hitachi, Ltd. | Method of and apparatus for protecting electronic circuit against radiation |
US5122985A (en) | 1990-04-16 | 1992-06-16 | Giovani Santin | Circuit and method for erasing eeprom memory arrays to prevent over-erased cells |
US5132935A (en) | 1990-04-16 | 1992-07-21 | Ashmore Jr Benjamin H | Erasure of eeprom memory arrays to prevent over-erased cells |
US5200922A (en) | 1990-10-24 | 1993-04-06 | Rao Kameswara K | Redundancy circuit for high speed EPROM and flash memory devices |
US5343063A (en) | 1990-12-18 | 1994-08-30 | Sundisk Corporation | Dense vertical programmable read only memory cell structure and processes for making them |
US5239505A (en) | 1990-12-28 | 1993-08-24 | Intel Corporation | Floating gate non-volatile memory with blocks and memory refresh |
US5504760A (en) | 1991-03-15 | 1996-04-02 | Sandisk Corporation | Mixed data encoding EEPROM system |
US5270979A (en) | 1991-03-15 | 1993-12-14 | Sundisk Corporation | Method for optimum erasing of EEPROM |
US5263032A (en) | 1991-06-27 | 1993-11-16 | Digital Equipment Corporation | Computer system operation with corrected read data function |
US5313427A (en) | 1991-09-20 | 1994-05-17 | Texas Instruments Incorporated | EEPROM array with narrow margin of voltage thresholds after erase |
JPH05109292A (ja) | 1991-10-14 | 1993-04-30 | Toshiba Corp | 不揮発性半導体記憶装置 |
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 |
US5347489A (en) | 1992-04-21 | 1994-09-13 | Intel Corporation | Method and circuitry for preconditioning shorted rows in a nonvolatile semiconductor memory incorporating row redundancy |
US5327383A (en) | 1992-04-21 | 1994-07-05 | Intel Corporation | Method and circuitry for erasing a nonvolatile semiconductor memory incorporating row redundancy |
US5657332A (en) | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5532962A (en) | 1992-05-20 | 1996-07-02 | Sandisk Corporation | Soft errors handling in EEPROM devices |
JPH065823A (ja) | 1992-06-19 | 1994-01-14 | Toshiba Corp | 不揮発性半導体記憶装置及びその使用方法 |
US5550394A (en) | 1993-06-18 | 1996-08-27 | Texas Instruments Incorporated | Semiconductor memory device and defective memory cell correction circuit |
US5315541A (en) | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
JP2708333B2 (ja) | 1992-09-02 | 1998-02-04 | 株式会社東芝 | レベルシフタ回路 |
US5365486A (en) | 1992-12-16 | 1994-11-15 | Texas Instruments Incorporated | Method and circuitry for refreshing a flash electrically erasable, programmable read only memory |
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 |
US5335198A (en) | 1993-05-06 | 1994-08-02 | Advanced Micro Devices, Inc. | Flash EEPROM array with high endurance |
US5555204A (en) | 1993-06-29 | 1996-09-10 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
US5623620A (en) | 1993-06-30 | 1997-04-22 | Intel Corporation | Special test modes for a page buffer shared resource in a memory device |
KR0169267B1 (ko) | 1993-09-21 | 1999-02-01 | 사토 후미오 | 불휘발성 반도체 기억장치 |
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 |
US5523972A (en) | 1994-06-02 | 1996-06-04 | Intel Corporation | Method and apparatus for verifying the programming of multi-level flash EEPROM memory |
JP3563452B2 (ja) | 1994-08-10 | 2004-09-08 | 株式会社東芝 | セル閾値分布検知回路およびセル閾値分布検知方法 |
FR2728380A1 (fr) | 1994-12-20 | 1996-06-21 | Sgs Thomson Microelectronics | Procede d'ecriture de donnees dans une memoire et memoire electriquement programmable correspondante |
US5475693A (en) | 1994-12-27 | 1995-12-12 | Intel Corporation | Error management processes for flash EEPROM memory arrays |
JP3274306B2 (ja) | 1995-01-20 | 2002-04-15 | 株式会社東芝 | 半導体集積回路装置 |
US5513144A (en) | 1995-02-13 | 1996-04-30 | Micron Technology, Inc. | On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same |
US5699297A (en) | 1995-05-30 | 1997-12-16 | Kabushiki Kaisha Toshiba | Method of rewriting data in a microprocessor additionally provided with a 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 |
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 |
US5696929A (en) | 1995-10-03 | 1997-12-09 | Intel Corporation | Flash EEPROM main memory in a computer system |
US5687114A (en) | 1995-10-06 | 1997-11-11 | Agate Semiconductor, Inc. | Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell |
US5703506A (en) | 1995-12-26 | 1997-12-30 | Motorola | Signal processing method |
US5903495A (en) | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
US5712815A (en) | 1996-04-22 | 1998-01-27 | Advanced Micro Devices, Inc. | Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells |
US5715193A (en) | 1996-05-23 | 1998-02-03 | Micron Quantum Devices, Inc. | Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks |
JPH09319645A (ja) | 1996-05-24 | 1997-12-12 | Nec Corp | 不揮発性半導体記憶装置 |
US5860091A (en) * | 1996-06-28 | 1999-01-12 | Symbios, Inc. | Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications |
US5675537A (en) | 1996-08-22 | 1997-10-07 | Advanced Micro Devices, Inc. | Erase method for page mode multiple bits-per-cell flash EEPROM |
US5798968A (en) | 1996-09-24 | 1998-08-25 | Sandisk Corporation | Plane decode/virtual sector architecture |
US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US5745418A (en) | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
US5717632A (en) | 1996-11-27 | 1998-02-10 | Advanced Micro Devices, Inc. | Apparatus and method for multiple-level storage in non-volatile memories |
US5835413A (en) | 1996-12-20 | 1998-11-10 | Intel Corporation | Method for improved data retention in a nonvolatile writeable memory by sensing and reprogramming cell voltage levels |
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 |
US5909449A (en) | 1997-09-08 | 1999-06-01 | Invox Technology | Multibit-per-cell non-volatile memory with error detection and correction |
US5937425A (en) | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
JP3177207B2 (ja) | 1998-01-27 | 2001-06-18 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | リフレッシュ間隔制御装置及び方法、並びにコンピュータ |
JP2000251483A (ja) | 1999-02-24 | 2000-09-14 | Sanyo Electric Co Ltd | 1チップマイクロコンピュータとそのデータリフレッシュ方法 |
ATE340405T1 (de) | 1999-04-01 | 2006-10-15 | Lexar Media Inc | Raumverwaltung in einem nichtflüchtigen speicher mit hoher kapazität |
JP4141581B2 (ja) | 1999-04-05 | 2008-08-27 | 株式会社ルネサステクノロジ | フラッシュメモリを搭載する記憶装置 |
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 |
JP3390408B2 (ja) * | 2000-05-29 | 2003-03-24 | エヌイーシーマイクロシステム株式会社 | 半導体集積回路 |
US6567307B1 (en) | 2000-07-21 | 2003-05-20 | Lexar Media, Inc. | Block management for mass storage |
US6345001B1 (en) | 2000-09-14 | 2002-02-05 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US20040008335A1 (en) | 2001-05-23 | 2004-01-15 | Mark Hayes | Novel method and apparatus for flow monitoring in mirco-fluidic devices |
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 |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
US6560152B1 (en) | 2001-11-02 | 2003-05-06 | Sandisk Corporation | Non-volatile memory with temperature-compensated data read |
JP4238514B2 (ja) * | 2002-04-15 | 2009-03-18 | ソニー株式会社 | データ記憶装置 |
ATE372578T1 (de) * | 2002-10-28 | 2007-09-15 | Sandisk Corp | Automatischer abnutzungsausgleich in einem nicht- flüchtigen speichersystem |
US6928511B2 (en) * | 2003-03-03 | 2005-08-09 | High Tech Computer, Corp. | Method and system for managing virtual memory |
-
2004
- 2004-12-16 US US11/015,211 patent/US7395404B2/en active Active
-
2005
- 2005-11-30 CN CN2005800422572A patent/CN101099125B/zh active Active
- 2005-11-30 EP EP05852506A patent/EP1828881B1/en not_active Not-in-force
- 2005-11-30 WO PCT/US2005/043285 patent/WO2006065536A1/en active Application Filing
- 2005-11-30 JP JP2007546717A patent/JP4960882B2/ja not_active Expired - Fee Related
- 2005-11-30 KR KR1020077012085A patent/KR20070102485A/ko not_active Application Discontinuation
- 2005-12-13 TW TW094144090A patent/TWI386801B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6725322B1 (en) * | 1999-02-22 | 2004-04-20 | Renesas Technology Corp. | Memory card, method for allotting logical address, and method for writing data |
US6459644B2 (en) * | 2000-06-06 | 2002-10-01 | Hitachi, Ltd. | Semiconductor memory device with block alignment function |
TW200406752A (en) * | 2002-10-18 | 2004-05-01 | Samsung Electronics Co Ltd | Method and apparatus for managing disc defects using updateable DMA, and disc thereof |
Also Published As
Publication number | Publication date |
---|---|
EP1828881A1 (en) | 2007-09-05 |
US7395404B2 (en) | 2008-07-01 |
TW200632650A (en) | 2006-09-16 |
WO2006065536A1 (en) | 2006-06-22 |
CN101099125B (zh) | 2011-05-04 |
CN101099125A (zh) | 2008-01-02 |
US20060136655A1 (en) | 2006-06-22 |
KR20070102485A (ko) | 2007-10-18 |
JP4960882B2 (ja) | 2012-06-27 |
EP1828881B1 (en) | 2012-12-26 |
JP2008524703A (ja) | 2008-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI386801B (zh) | 叢聚自動校準 | |
JP4787266B2 (ja) | スクラッチパッドブロック | |
US7433993B2 (en) | Adaptive metablocks | |
US7451264B2 (en) | Cycle count storage methods | |
US7882299B2 (en) | System and method for use of on-chip non-volatile memory write cache | |
JP5001011B2 (ja) | ホストの使用特性に基づいたフラッシュメモリのアドレスマッピングの適応的モード切り換え | |
US7467253B2 (en) | Cycle count storage systems | |
US6426893B1 (en) | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks | |
US7447066B2 (en) | Memory with retargetable memory cell redundancy | |
JP3827640B2 (ja) | メモリのページサイズおよび/またはブロックサイズとは異なるサイズを有するデータセクタを備えた不揮発性メモリシステムの処理技法 | |
US20160026564A1 (en) | Determining a location of a memory device in a solid state device | |
US20100023672A1 (en) | Method And System For Virtual Fast Access Non-Volatile RAM | |
WO2008118705A1 (en) | Flash memory refresh techniques triggered by controlled scrub data reads | |
WO2007121025A1 (en) | Cycle count storage methods and systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |