TWI393140B - 在一非揮發性記憶體中儲存資料之方法 - Google Patents

在一非揮發性記憶體中儲存資料之方法 Download PDF

Info

Publication number
TWI393140B
TWI393140B TW094144457A TW94144457A TWI393140B TW I393140 B TWI393140 B TW I393140B TW 094144457 A TW094144457 A TW 094144457A TW 94144457 A TW94144457 A TW 94144457A TW I393140 B TWI393140 B TW I393140B
Authority
TW
Taiwan
Prior art keywords
data
block
sector
page
addressable
Prior art date
Application number
TW094144457A
Other languages
English (en)
Other versions
TW200632916A (en
Inventor
Alan David Bennett
Sergey Anatolievich Gorobets
Original Assignee
Sandisk Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW200632916A publication Critical patent/TW200632916A/zh
Application granted granted Critical
Publication of TWI393140B publication Critical patent/TWI393140B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

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)
  • Memory System (AREA)

Description

在一非揮發性記憶體中儲存資料之方法
本發明大體上係關於非揮發性快閃記憶體系統之運作,且更特定言之,本發明係關於在一非揮發性快閃記憶體中程式化資料的更為有效之方法。
現今,諸多商業上極為成功之非揮發性記憶體產品正處於使用當中,形式尤其為小外形尺寸卡,其採用形成於一或多個積體電路晶片上的快閃EEPROM(電可擦可程式化唯讀記憶體)單元之陣列。一通常但非必須位於獨立的積體電路晶片上的記憶體控制器介面連接到該卡所可移除地連接的主機,並且控制該卡內記憶體陣列的運作。此種控制器通常包括:一微處理器;一些非揮發性唯讀記憶體(ROM);一揮發性隨機存取記憶體(RAM);以及一或多個專用電路,諸如在程式化和讀取資料期間當資料通過控制器時計算來自資料之錯誤修正碼(ECC)之專用電路。某些市售卡為CompactFlashTM (CF)卡、多媒體卡(MMC)、安全數位(SD)卡、人員標籤(P-Tag)及記憶棒卡。主機包括個人電腦、筆記型電腦、個人數位助理(PDA)、各種資料通信設備、數位相機、蜂巢式電話、攜帶型音訊播放器、汽車音響系統以及類似類型的裝置。在某些系統中,可移除卡不包括控制器,而是主機控制卡內記憶體陣列之運作。此類型記憶體系統之實例包括智能媒體卡及xD卡。因此,可藉由卡內控制器上之軟體或藉由主機內的控制軟體達成對記 憶體陣列之控制。除了該記憶卡建構之外,可替代地將此類型記憶體嵌入各種類型的主機系統中。在可移除和嵌入應用兩者中,可根據由記憶體控制軟體所實施的儲存方案將主機資料儲存在記憶體陣列中。
已發現兩種通用記憶體單元陣列架構(NOR及NAND),具有商業性應用。在典型之NOR陣列中,將記憶體單元連接在於行方向上延伸之相鄰位元線源極與汲極擴散區之間,而將控制閘極連接至沿單元之列延伸的字線。記憶體單元包括至少一儲存元件,其位於源極與汲極之間的單元通道區域之至少一部分上。因此,儲存元件上的經程式化電荷位準控制單元的運作特徵,其可隨後藉由向所定址的記憶體單元施加適當電壓來讀取。在美國專利第5,070,032號、第5,095,344號、第5,313,421號、第5,315,541號、第5,343,063號、第5,661,053號及第6,222,762號中揭示了此等單元之實例、其在記憶體系統中之使用及其製造方法。此等專利、連同本申請案中所引用的所有其它專利及專利申請案的全文均以引用的方式併入本文中。
NAND陣列利用串聯之兩個以上記憶體單元(諸如,16或32)的串,其連同一或多個選擇電晶體連接在個別位元線與參考電位之間以形成單元之行。字線延伸穿過大量此等行之間的單元。在程式化期間,藉由致使該串內的剩餘單元硬接通(turned on hard)而對行內之個別單元進行讀取和驗證,從而使流過串之電流視儲存在定址單元中之電荷位準而定。可在美國專利第5,570,315號、第5,774,397號、第 6,046,935號及第6,522,580號中找到NAND架構陣列及其作為記憶體系統之部分而運作之實例。
如前文引用的專利中所論述,電流快閃EEPROM陣列之電荷儲存元件最常見為導電浮動閘極,其通常由導電摻雜之多晶矽材料形成。可用於快閃EEPROM系統的替代類型之記憶體單元利用一非導電性介電材料替代導電浮動閘極,從而以非揮發性方式儲存電荷。將由氧化矽、氮化矽及氧化矽(ONO)形成之三層介電質夾於一導電控制閘極與記憶體單元通道上方的半導電基板的表面之間。藉由將電子自單元通道注入氮化物,可對單元進行程式化,在其中電子被截獲且儲存在有限區域內,並且藉由向該氮化物內注入熱空孔而將所截獲的電子擦除。Harari等人之美國專利申請公開案第2003/0109093號中描述了採用介電儲存元件之若干特定單元結構及陣列。
幾乎在所有積體電路應用中,快閃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號中。
為了進一步有效地管理記憶體,可將擦除區塊鏈接在一起以形成虛擬區塊或元區塊(metablock)。即,每一元區塊被界定以包括來自每一平面之一個擦除區塊。元區塊之使用描述於美國專利第6,763,424號中。藉由主機邏輯區塊位址識別元區塊為程式化及讀取資料之目標。類似地,一起擦除元區塊之所有擦除區塊。元區塊可程式化於一單元之元頁(metapage)內,元頁包含來自元區塊中之每一擦除區塊之一個頁面。藉由此等較大區塊及/或元區塊而運作的記憶體系統中之控制器執行大量功能,包括在自主機所接收的邏輯區塊位址(LBA)與記憶體單元陣列內之實體區塊編號(PBN)之間的轉譯。通常藉由區塊位址內之偏移量(offset)來識別擦除區塊內之個別頁面。位址轉譯通常包含邏輯區塊編號(LBN)與邏輯頁面之間的中間術語(intermediate term)之使用。在使用元區塊之記憶體系統中,元區塊可為記憶體陣列之有效最小擦除單元。因此,視記憶體架構而定,最小擦除單元(區塊)可為擦除區塊或元區塊中之任一者。視架構而定,術語"區塊"可表示擦除區塊或元區塊中之任一者。類似地,術語"頁面"可表示記憶體系統程式化之最小單元。視記憶體系統之架構而定, 此可為單個擦除區塊內之頁面,或可為在若干擦除區塊之間延伸的元頁。
儲存在元區塊中之資料經常被更新,更新可能性隨著元區塊資料容量的增加而增加。通常將一元區塊的經更新之扇區寫入另一元區塊。作為相同程式化操作之一部分,通常亦將未改變的扇區從初始元區塊複製到新的元區塊,以合併資料。或者,未改變的資料可保留在初始元區塊中,直至隨後與經更新之資料一起再次併入單個元區塊中。將當前資料合併至新的區塊且擦除僅含有過時資料之區塊的操作通常稱為"垃圾收集"操作。
通常可連同在經擦除之區塊池中所保留的某些額外區塊一起操作較大區塊或元區塊系統。當更新小於區塊容量之一或多個資料頁面時,通常將經更新的頁面寫入來自區塊池的經擦除之區塊,且隨後將未經改變之頁面自初始區塊複製至擦除池區塊。此技術之變化描述於上述美國專利第6,763,424號中。作為重寫及更新主機資料檔案之結果,諸多區塊可結束於其相對少量的含有效資料之頁面以及含當前不再使用使用之資料的剩餘頁面。為了能夠有效地使用陣列之資料儲存容量,不時地自多個區塊中之碎片聚集有效資料之邏輯相關資料頁面,並且將其併入少量區塊中。此過程通常稱為"垃圾收集"。
在某些記憶體系統中,亦將實體記憶體單元分組成兩個或兩個以上區段。區段可為實體記憶體或記憶體系統之任何分割子集,其中映射有特定範圍之邏輯區塊位址。舉例 而言,可將能夠儲存64百萬位元組之資料的記憶體系統分割成四個區段,其中每個區段可儲存16百萬位元組之資料。於是,亦可將邏輯區塊位址之範圍分成四個組,每一組分配至四個區段中每一者之實體區塊。在典型之建構中,邏輯區塊位址受到約束,以使得每一者之資料永遠不會寫入映射有該邏輯區塊位址的單個實體區段之外。在分成平面(子陣列)之記憶體單元陣列中,這些平面各自具有其自身的定址、程式化及讀取電路,每一區段較佳包括來自多個平面之區塊,通常來自每一平面的區塊之數量相同。區段主要用於簡化位址管理,諸如邏輯至實體轉譯,其導致較小的轉譯表,保持此等表所需之RAM記憶體較少,且定址記憶體之當前有效區域所需之存取時間更快,但是由於其限制性,可導致小於最佳平均讀寫(wear leveling)。
個別快閃EEPROM單元在電荷儲存元件或單元中儲存代表一或多個資料位元的一定量之電荷。儲存元件之電荷位準控制其記憶體單元之臨限電壓(通常稱為VT ),其用作讀取單元之儲存狀態的偏壓。通常將臨限電壓視窗分成大量的範圍,每個範圍用於記憶體單元之兩個或兩個以上儲存狀態之一者。藉由保護頻帶來分離此等範圍,其包括允許判定個別單元之儲存狀態的標稱感應位準。此等儲存位準是作為在鄰近或其它相關記憶體單元、頁面或區塊中所執行之電荷干擾程式化、讀取或擦除操作之結果而移位。因此,錯誤修正碼(ECC)通常藉由控制器計算且連同主機資 料一起儲存,以以使得若需要,則在讀取期間程式化並使用以驗證該資料且執行一些程度的資料修正。而且,在干擾運作致使其完全移位出其界定之範圍且因此導致讀取錯誤資料之前,可不時地使移位電荷位準恢復到其狀態範圍中心。稱為資料刷新或擦洗的此過程描述於美國專利第5,532,962號及第5,909,449號中。
在某些記憶體陣列中,頁面可由可保持多個資料扇區的擦除區塊之一部分構成。一旦頁面已被寫入,則在不破壞已寫入資料之狀況下不可能進行進一步的寫入。對於使用此一系統之記憶體陣列而言,可藉由連接至相同字線之一組記憶體單元界定頁面。在所接收的資料量小於頁面尺寸之狀況下,此等記憶體陣列也許不能被有效地程式化。舉例而言,在一次一個扇區地接收資料之狀況下,僅可將一個扇區程式化至一個頁面。在不冒險破壞已儲存於其中之資料扇區狀況下,不能將額外之資料程式化至該頁面。有時,一系列之單一扇區之接收之間可能存在一些延遲。在此狀況下,將每一扇區寫入記憶體陣列之獨立頁面中。因此,扇區以一方式儲存,該方式在其使用記憶體陣列內之空間時為無效。在使用多級邏輯之狀況下,記憶體單元對隨後附近單元的程式化之影響尤其敏感。此外,對多級單元之程式化通常是藉由以第一資料頁面程式化一組單元且隨後以第二資料頁面程式化該單元來完成。在某些狀況下,第二資料頁面之程式化可導致第一資料頁面之破壞。因此,需要一用以在記憶體陣列接收的資料量小於頁面時 儲存資料於具有多扇區頁面之記憶體陣列中的更為有效之方式。亦需要一在程式化一組多級單元時可在對隨後頁面進行程式化期間防止第一頁面之資料破壞的方法。
在具有一作為擦除單元之區塊的記憶體陣列中,可將一或多個區塊指定為高速暫存記憶體區塊,且可將其用於改良記憶體系統之效能。高速暫存記憶體區塊可作為緩衝器而運作,以使得可以較低的平行度將資料寫入高速暫存記憶體區塊,且隨後以較高的平行度將其複製至記憶體陣列內之另一位置。資料可累積在高速暫存記憶體區塊中,直至可將其更為有效地寫入另一位置。在具有多扇區頁面之記憶體中,可累積扇區直至可使用系統之最大平行度寫入整個頁面。在多級單元記憶體中,可將下頁面(lower page)儲存在高速暫存記憶體區塊中直至上頁面可用,以使得將上頁面及下頁面儲存在一起。
特定程式運作之平行度與一起被程式化之資料位元之數量成比例。因此,一起程式化大量資料被看作是以高平行度寫入,而一起程式化少量資料被看作是低平行度。當使用小於頁面之平行度時,可能浪費記憶體陣列中之空間,且此浪費之空間意謂必須更為頻繁地執行垃圾收集,因此對效率或記憶體系統產生不利影響。有時,必須將少量資料儲存在記憶體系統中。藉由寫入此等少量寫入一位置(高速暫存記憶體區塊)中且隨後以較高平行度將其一起寫入另一位置,可改良記憶體系統之效率。
在具有由多個資料扇區所構成的頁面之最小程式單元之記憶體系統中,揭示了一種儲存所接收的量小於一個頁面之資料的方法。將指定為高速暫存記憶體區塊之區塊用於儲存所接收之扇區,直至可將整個頁面寫入快閃記憶體陣列。第一扇區儲存在高速暫存記憶體區塊之第一頁面中。隨後接收之扇區可儲存在高速暫存記憶體區塊之額外的頁面中。在接收到個別接收之扇區或扇區組時,可將其保存在高速暫存記憶體區塊之新頁面中。可將來自高速暫存記憶體區塊中之其它頁面的先前儲存之扇區連同新資料一起複製至最新頁面。因此,只要在高速暫存記憶體區塊之頁面中存在小於整個頁面的新資料,則在高速暫存記憶體區塊中累積資料扇區。以低於區塊的最大可用平行度之平行度將扇區寫入高速暫存記憶體區塊。在將扇區儲存在高速暫存記憶體區塊中時,可對該等扇區進行更新。當接收到致使整個資料頁面可用於程式化的新資料扇區時,可將新扇區及先前儲存在高速暫存記憶體區塊中之扇區一起程式化至記憶體陣列中另一區塊內之相同頁面。此頁面填滿資料且以最大可用平行度進行寫入。隨後,可將儲存在高速暫存記憶體區塊內之資料標記為廢棄且可在適當時間將其擦除。因此,可更為有效地使用快閃記憶體內之空間,且降低垃圾收集操作之頻率。
在具有多級單元之記憶體中,高速暫存記憶體區塊可儲存亦被寫入現用區塊之資料頁面。可將所儲存之頁面保持在高速暫存記憶體區塊中直至接收到另一資料頁面,以使 得可將兩個資料頁面一起寫入其於現用區塊中之目的地。可使用較高平行度將其作為上頁面及下頁面一起寫入,且與將其獨立寫入相比,破壞資料之風險更低。在程式化相關上頁面期間,高速暫存記憶體區塊亦可用於保持先前程式化之下頁面之一複本,以使得若存在功率損失,則可自高速暫存記憶體區塊恢復下頁面中之資料。
高速暫存記憶體區塊可允許待寫入另一位置之資料的暫時儲存。在更新區塊之資料扇區期間,可將資料儲存在高速暫存記憶體區塊中。在區塊內之頁面含有來自不同檔案之資料扇區的狀況下,當任一區塊被更新時,對該頁面進行更新。因為可能需要多檔案頁面之兩個複本,所以使用習知方法可能要求一個以上之區塊來儲存來自兩個檔案之經更新的資料。使用高速暫存記憶體區塊允許儲存來自一個檔案之頁面的一部分,直至該頁面之剩餘部分(來自其它檔案)可用。隨後,使用最大平行度將經完全更新之頁面程式化至其目的地。
高速暫存記憶體區塊可含有不相干資料之扇區。主機資料扇區及控制資料扇區兩者可儲存在高速暫存記憶體區塊中。主機資料扇區及控制資料扇區兩者可儲存在高速暫存記憶體區塊內之相同頁面中。可將來自兩個不同檔案或來自相同檔案之邏輯遠端部分的扇區儲存在高速暫存記憶體區塊之相同頁面中。此可允許以最大平行度,對高速暫存記憶體區塊進行程式化,以使得在接收資料時保持高速。在以低速接收資料之狀況下,頁面內之額外空間可被含控 制資料之扇區佔用。此可允許控制資料結構之更新頻率的降低,因此減小垃圾收集之頻率。
可藉由標記扇區來識別高速暫存記憶體,以使得控制器可易於對其進行識別。可將儲存在高速暫存記憶體區塊內之資料索引保留在索引扇區內,而索引扇區本身儲存在高速暫存記憶體區塊內。在將新扇區儲存在高速暫存記憶體區塊中時,藉由以新索引扇區替代舊索引扇區來更新索引扇區。同樣地,在將高速暫存記憶體區塊內之扇區複製至其它位置時,可更新索引扇區以指示高速暫存記憶體區塊內之此等扇區是廢棄的。
記憶體架構及其運作
首先參看圖1A,一快閃記憶體包括一記憶體單元陣列及一控制器。在所示實例中,兩個積體電路設備(晶片)11及13包括記憶體單元之陣列15及各種邏輯電路17。邏輯電路17經由資料、命令及狀態電路與獨立晶片上之控制器19建立介面連接,且亦向陣列13提供定址、資料傳送及感應以及其它支持。視所提供之儲存容量而定,記憶體陣列晶片之數目可為一個至諸多個。控制器以及部分陣列或全部陣列可替代地組合到單一積體電路晶片上,但是,此在當前並非為一經濟的替代方法。
典型的控制器19包括:一微處理器21;一唯讀記憶體(ROM)23,其主要用於儲存韌體;以及一緩衝記憶體(RAM)25,其主要用於暫時儲存寫入記憶體晶片11及13或 自記憶體晶片11及13讀取的使用者資料。電路27與該(該等)記憶體陣列晶片建立介面連接,而電路29經由連接31與主機建立介面連接。在此實例中,藉由專用於計算ECC碼之電路33計算ECC而判定資料之完整性。在將使用者資料自主機傳送至快閃記憶體陣列以進行儲存時,該電路自資料計算ECC且將該碼儲存在記憶體中。在隨後自記憶體讀取該使用者資料時,其再次通過電路33,電路33以相同演算法計算ECC且將該碼與藉由該資料所計算及儲存之碼進行比較。若其相當,則可證實資料之完整性。若其不同,則取決於所利用之特定ECC演算法,可識別且修正錯誤位元,直至該演算法所支持之數量。
圖1A之記憶體之連接31與主機系統之連接31'相配合,圖1B中給出連接31'之一實例。主機與圖1A之記憶體之間的資料傳送是藉由介面電路35來達成。典型的主機亦包括:一微處理器37、一用於儲存韌體程式碼之ROM 39以及RAM 41。視特定主機系統而定,其它電路及子系統43通常包括一高容量資料儲存磁碟機、用於鍵盤、監視器及其類似物之介面電路。此等主機之某些實例包括:桌上型電腦、膝上型電腦、手持式電腦、掌上型電腦、個人數位助理(PDA)、MP3及其它音訊播放器、數位相機、視訊攝影機、電子遊戲機、無線及有線電話設備、應答機、話音記錄器、網路路由器等等。
可將圖1A之記憶體建構為含有控制器及其所有記憶體陣列電路設備之小型封閉卡,其形式為可移除地與圖1B之主 機連接。即,連接31與31'之配合允許將卡斷開並且移到另一主機,或藉由將另一個卡連接到該主機而進行替代。或者,可將記憶體陣列設備封裝在獨立的卡中,而該獨立的卡可與含有控制器及連接31之卡電連接且機械連接。作為進一步之替代例,可將圖1A之記憶體嵌入圖1B之主機內,其中永久地接通連接31及31'。在此狀況下,記憶體連同其它組件通常包含於主機之外殼內。
圖2說明記憶體陣列之一部分,其中將記憶體單元分組成擦除區塊,作為單一擦除操作之一部分,通常可同時將每一擦除區塊中之單元一起擦除。擦除區塊為此類型記憶體中之最小擦除單元。
圖2之個別記憶體單元擦除區塊之尺寸可不同,但是一種商業上成熟之形式在個別擦除區塊中包括單一資料扇區。圖3中說明了此一資料扇區之內含。使用者資料51通常為512位元組。除了使用者資料51之外,還包括額外資料,其包括自使用者資料所計算之ECC 53、與扇區資料及/或扇區於其中程式化之擦除區塊相關之參數55、及自參數55所計算之ECC 57以及可能包括的任何其它額外資料。
參數55中亦可包括指示單個狀態或多個狀態之一或多個旗標。亦可將用於程式化及/或擦除該擦除區塊的電壓位準之指示儲存在參數55內,隨著擦除區塊所經歷的循環數量及其它因素之改變,對此等電壓進行更新。參數55之其它實例包括對擦除區塊內任何缺陷單元之識別、映射入此實體擦除區塊的擦除區塊之邏輯位址、及在原始擦除區塊 為缺陷之狀況下的任何替代擦除區塊之位址。用於任何記憶體系統之參數55之特定組合將根據設計而發生變化。而且,可將額外資料中之一些或全部儲存在專用於此一功能之擦除區塊中,而非儲存在含有使用者資料或該額外資料所從屬之擦除區塊中。
不同於圖2之單一資料扇區擦除區塊,圖4為多扇區擦除區塊。仍作為最小擦除單元之例示性擦除區塊59含有四個頁面0-3,其中之每一者為最小程式化單元。通常將一或多個主機資料扇區連同至少包括自該扇區之資料所計算之ECC的額外資料儲存在每一頁面中,且其可為圖3之資料扇區之形式。
整個區塊之資料之重寫通常包含將新資料程式化入擦除區塊池之一區塊中,隨後擦除初始區塊且置於擦除區塊池中。當更新小於區塊之所有頁面的資料時,通常將經更新之資料儲存在來自擦除區塊池之一區塊之一頁面中,而將剩餘未經改變之頁面中之資料自初始區塊複製入該新區塊。隨後擦除初始區塊。此較大區塊管理技術之變化包括將經更新之資料寫入另一區塊之頁面,而不移動來自初始區塊之資料或將其擦除。此導致多個頁面具有相同邏輯位址。藉由某些適宜之技術識別最新的資料頁面,該等技術諸如將程式化時間作為一欄位記錄在扇區或頁面額外資料中。
圖5說明了進一步之多扇區區塊配置。此處,將總記憶體單元陣列實體上分成兩個或兩個以上之平面,將對四個 平面0-3進行說明。每一平面為記憶體單元之子陣列,其具有其自身的資料暫存器、感應放大器、定址解碼器及其類似物,以便能夠在較大程度上獨立於其它平面而運作。可在單一積體電路設備或多個設備上提供所有該等平面,一實例為自一或多個不同積體電路設備形成每一平面。圖5之例示性系統中之每一區塊含有16個頁面P0-P15,每一頁面之容量為一個、兩個或兩個以上主機資料扇區以及一些額外資料。
圖6說明了另一記憶體單元配置。每一平面含有大量的單元之擦除區塊。為了增加運作之平行度,將不同平面內之擦除區塊邏輯鏈接以形成元區塊。圖6中說明一個此種元區塊,其由平面0之擦除區塊3、平面1之擦除區塊1、平面2之擦除區塊1及平面3之擦除區塊2形成。每一元區塊為邏輯可定址的,且記憶體控制器分配且記錄形成個別元區塊之擦除區塊。主機系統較佳與資料單元與個別元區塊之容量相等的記憶體系統建立介面連接。舉例而言,圖6之此一邏輯資料區塊61是藉由邏輯區塊位址(LBA)進行識別,其中邏輯區塊位址(LBA)由控制器映射入構成元區塊之區塊的實體區塊編號(PBN)。可將元區塊之所有擦除區塊一起擦除,而較佳對來自每一擦除區塊之頁面同時進行程式化及讀取。可將元區塊看作系統中之擦除單元,其中擦除區塊以此方式鏈接。在具有元區塊架構之一些記憶體陣列中,僅能並行於元區塊中之其它頁面對該元區塊中之頁面進行程式化。在此等記憶體陣列中,元頁為元區塊的 最小程式化單元,其由來自元區塊之每一平面的頁面所構成。
可採用諸多不同記憶體陣列架構、組態及特定單元結構來建構上文關於圖2-6所描述的記憶體。圖7展示了NAND型記憶體陣列之一擦除區塊。串聯記憶體單元之大量行定向之位元串連接在電壓為Vss之共同源極65與位元線BL0-BLN中之一者之間,而位元線BL0-BLN與含有位址解碼器、驅動器、讀取感應放大器及其類似物之電路67連接。具體言之,此一位元串含有於位元串之相對端處串聯連接在選擇電晶體77與79之間的電荷儲存電晶體70、71...72及74。在此實例中,每一位元串含有16個儲存電晶體,但是亦可為其它數量。字線WL0-WL15延伸穿過每一位元串之一儲存電晶體,且連接至含有位址解碼器及字線之電壓源驅動器的電路81。經由其選擇電晶體,線83及84上之電壓控制擦除區塊內所有位元串一起連接至電壓源65及/或位元線BL0-BLN。資料及位址來自記憶體控制器。
擦除區塊之每一列電荷儲存電晶體(記憶體單元)可形成一起程式化及讀取之頁面。將適當電壓施加至此一頁面之字線(WL)以程式化或讀取其資料,而選擇施加至剩餘字線之電壓以使其個別儲存電晶體具有導電性。在對一列(頁面)之儲存電晶體進行程式化或讀取期間,由於施加在所有位元串上之電壓及施加至其字線之電壓,未經選擇之列上的先前儲存之電荷位準可受到干擾。在特定列中之其它單元已被程式化之後,此可能妨礙該列之單元之程式化。 多狀態快閃記憶體對干擾尤其敏感。邏輯狀態數量之增加導致個別狀態的較窄臨限電壓範圍,從而電荷位準中較小之變化即可產生邏輯狀態之改變。由於在單元中使用增加之數量之邏輯狀態可增加資料儲存密度,因此可增加對干擾之敏感性。因此,在不破壞經程式化之單元中之資料的狀況下,也許不能在一列中之其它單元被程式化之後將資料程式化至該列中之單元。因此,來自隨後對相鄰單元之程式化之干擾可界定頁面尺寸。若在對一列中之其它單元進行程式化之後不能對該相同列中之單元進行程式化,則該列界定最小程式化單元。因此,單元列可能含有一頁資料。在此一記憶體陣列中,若對一列中之一組單元進行程式化,則將該列被看作是經程式化,即使該列中之一些單元不含有資料。記憶體陣列中具有不能隨後被程式化之空單元將會降低效率。
經程式化之頁面中之空單元可能是由記憶體系統每次接收之少量扇區所引起。舉例而言,主機可向記憶體系統發送單一扇區。該扇區被儲存在快閃記憶體陣列之一頁面中。該扇區可阻止隨後對該頁面之寫入。在頁面保持多個扇區之記憶體系統中,此可為低效率的。舉例而言,在頁面包含四個資料扇區之狀況下,當將單一扇區寫入該頁面時,可保持三個資料扇區的該記憶體陣列之一部分保持空白。隨著頁面尺寸之增加,自此等部分填充之頁面所浪費之空間亦增加。元頁可含有大量扇區,因此在使用元區塊之記憶體陣列中,儲存效率尤其低。在接收到兩個或兩個 以上之扇區但所接收之扇區之數量小於頁面內扇區之數量的狀況下,存在類似問題。可將此等部分頁面儲存在高速暫存記憶體區塊中,直至接收到整個資料頁面。
在寫入部分填充之資料頁面之後,可執行儲存資料之合併以將來自部分填充之頁面之資料組合成填充之頁面。此可作為週期性執行之垃圾收集之一部分而進行。此等資料合併將資料自部分填充之頁面複製至處於不同擦除區塊中之整個頁面。隨後將保持部分填充之頁面之擦除區塊標記為廢棄,從而可將其擦除且重新使用。此一操作可利用能夠用於其它功能之系統資源。
向記憶體寫入單一扇區之實例
圖8展示一擦除區塊,其為記憶體系統中之記憶體陣列之指定現用區塊800,其中一個頁面包含四個資料扇區。圖中展示頁面0-5之每一者在水平方向上延伸。每一頁面可含有四個資料扇區,命名為扇區0、扇區1、扇區2及扇區3。主機向記憶體系統發送單一資料扇區,其儲存在現用區塊800中。接收扇區X且將其儲存為頁面0之扇區0。此阻止隨後對頁面0之程式化。因此,頁面0之扇區1、2及3未被程式化且保持為空(經擦除)。在對頁面0進行程式化之後,接收扇區X+1。將扇區X+1儲存為頁面1之扇區0。頁面1之扇區1、2及3保持為空。在對扇區X+1進行程式化之後,接收扇區X+2。將扇區X+2儲存為頁面2之扇區0。頁面2之扇區1、2及3保持為空。在對扇區X+2進行程式化之後,接收扇區X+3。將扇區X+3儲存為頁面3之扇區0。頁 面3之扇區1、2及3保持為空。
圖9展示在指定現用區塊900之擦除區塊中儲存扇區之替代方法。此處,每個頁面非僅儲存一個扇區,而是將先前儲存之扇區複製至相同擦除區塊中之新頁面,其中將其與新近接收之扇區一起儲存。如以上所述,將扇區X儲存為頁面0之扇區0。隨後接收扇區X+1,且將其儲存為頁面1之扇區1,且將扇區X自頁面0複製至頁面1之扇區0。因此,扇區0及扇區1兩者儲存在頁面1中。隨後,接收扇區X+2,且將其儲存為頁面2之扇區2。將扇區X儲存為頁面2之扇區0,且將扇區X+1儲存為頁面2之扇區1。因此,扇區X、X+1及X+2一起儲存在頁面2中。隨後,接收扇區X+3且將其儲存為頁面3之扇區3。將扇區X儲存為頁面3之扇區0,將扇區X+1儲存為頁面3之扇區1,且將扇區X+2儲存為頁面3之扇區2。因此,將四個資料扇區儲存在頁面3中,使得頁面3填滿資料。
在圖8或圖9中所示之扇區的儲存之後,可將資料合併。可將圖8或圖9中任一者之扇區X、X+1、X+2及X+3複製至新擦除區塊之單一頁面。適當時,可將此作為每次垃圾收集之一部分來完成。圖10A展示儲存在指定現用區塊1000之頁面0中之扇區X、X+1、X+2及X+3。擦除區塊1000之頁面0填滿資料。當藉由扇區X、X+1、X+2及X+3對現用區塊1100之頁面0進行程式化時,可將扇區X、X+1、X+2及X+3自其所複製的擦除區塊擦除。可將現用區塊800、900擦除,且在垃圾收集期間合併其含量時,可使其用於 儲存新資料。
在對頁面0進行程式化之後,接收扇區X+4且將其儲存為現用區塊1000的頁面1之扇區0。隨後,個別地接收扇區X+5、X+6及X+7且分別將其儲存在頁面2、3及4中。可能需要再次合併扇區以將扇區X+4、X+5、X+6及X+7合併成單一頁面。此等扇區之合併需花費一定的時間,在此期間不能寫入主機資料。在將資料第二次合併入另一擦除區塊之後,將擦除區塊1000(自其複製資料)標記為廢棄且隨後可被擦除。
圖10B展示現用區塊1010,在第二次垃圾收集操作之後,其自前一個現用區塊1000重新定位資料。將扇區X+4至X+7合併入現用區塊1010之單一頁面(頁面1)。隨後,可接收更多的扇區且可將其儲存在現用區塊1010中。若以單一扇區之形式接收此等扇區,則如前述,可將單一扇區儲存在一頁面內。
圖10C展示具有儲存在頁面2-5中之額外扇區X+8至X+11之現用區塊1010。此處,可能需要另一垃圾收集操作以合併扇區X+8至X+11。因此,為了有效地將自主機所接收之扇區作為單一扇區而儲存,此方法使用多個垃圾收集操作,其要求將資料自一個擦除區塊傳送至另一擦除區塊且擦除第一擦除區塊。在較大之擦除區塊中,垃圾收集操作之數量較大。在使用元區塊之記憶體系統,可將一組擦除區塊鏈接,從而可將其一起擦除及一起程式化。可在含有諸多扇區之元頁中對資料進行程式化。因此,單一扇區之 儲存之效率由於所必須的垃圾收集量而變得極低。
圖11A展示用於儲存資料之替代方法。圖11A展示記憶體陣列之兩個擦除區塊。現用區塊1110為一擦除區塊,其中可將資料程式化以用於長期儲存。高速暫存記憶體區塊1120為一擦除區塊,其中可將資料程式化以用於短期儲存。當接收到少量扇區時,首先將其儲存在高速暫存記憶體區塊1120中。扇區持續儲存在高速暫存記憶體區塊1120中,直至接收到足夠的扇區以填充一資料頁面。隨後將此等扇區複製至現用區塊1110之一頁面。
如前述,接收扇區X且將其程式化為高速暫存記憶體區塊1120中之頁面0之扇區0。隨後,接收扇區X+1且將其儲存為高速暫存記憶體區塊1120之頁面1之扇區1,且將扇區X複製至頁面1之扇區0。隨後,接收扇區X+2且將其儲存為高速暫存記憶體區塊1120之頁面2之扇區2,且將扇區X及X+1分別儲存為頁面2之扇區0及扇區1。在將扇區X+2儲存在高速暫存記憶體區塊1120中之後,接收扇區X+3。此時,將扇區X、X+1、X+2及X+3寫入現用區塊1110之頁面0。此等四個扇區形成一整個資料頁面。因此,可將扇區X、X+1、X+2及X+3有效地儲存在現用區塊1110之頁面0內。隨後,個別地接收扇區X+4、X+5、X+6及X+7。將扇區X+4、X+5及X+6儲存在高速暫存記憶體區塊1120之頁面3、4及5中,且在接收到扇區X+7時將其複製至現用區塊1110之頁面1之扇區0、1及2。將扇區X+7直接程式化至現用區塊1110之頁面1之扇區3。此時,高速暫存記憶體區塊 1120不具有用於儲存資料之可用頁面,且可被指定為準備好進行擦除(廢棄)。可將新擦除區塊指定為用於待接收之下一個扇區或下一組扇區之高速暫存記憶體區塊。儘管此實例展示接收單一扇區,但是此方法亦可用於扇區組,其中該扇區組具有數量小於頁面內扇區之數量的扇區。而且,儘管上述實例展示將資料自高速暫存記憶體區塊以最大平行度寫入現用區塊,但是亦可以小於最大平行度之平行度來執行此等寫入且仍提供有效益處。因此,將扇區以一平行度寫入高速暫存記憶體區塊且隨後以較高平行度寫入另一區塊,從而使資料之填充密度更大且使所需之垃圾收集之頻率更低。
高速暫存記憶體區塊亦可用於使用元區塊之記憶體陣列。舉例而言,圖11B展示兩個元區塊,現用區塊1130及高速暫存記憶體區塊1140。現用區塊1130及高速暫存記憶體區塊1140兩者皆具有四個平面,指示為平面0-3。每一平面之寬度為一個扇區,從而可將四個扇區儲存在區塊1130或1140之元頁中。兩個區塊皆具有6個元頁,指示為元頁0-5。用以有效儲存資料之技術與上文關於擦除區塊所描述之技術相同。將扇區累積在高速暫存記憶體區塊1140中直至可獲得整個資料元頁,此時可將整個元頁程式化至現用區塊1130。舉例而言,當接收到扇區X+3時,將整個元頁(扇區X、X+1、X+2及X+3)程式化至現用區塊1130之元頁0。因為元區塊可具有諸多平面且平面之寬度可為若干頁面,所以元頁可具有大量扇區。前述技術對於 此等較大元頁尤其有價值,因為採用其它技術將會浪費記憶體陣列中之大量空間。如關於圖11A及11B所示,相對於使用擦除區塊架構之實例所描述的本發明之態樣亦可應用於元區塊架構,反之亦然。視記憶體陣列之組態而定,術語"區塊"可指示擦除區塊或元區塊。在任一種狀況下,區塊為用於該組態之擦除單元。類似地,術語"頁面"可表示單一擦除區塊中之頁面或元區塊之元頁。在任一種狀況下,頁面為用於該組態之程式化單元。
當接收到數量大於頁面中扇區數量的一組扇區時,可將扇區直接程式化至記憶體陣列之現用區塊,而無需首先儲存在高速暫存記憶體區塊中。因此,可將整個資料頁面以較高平行度直接程式化至現用區塊,同時將部分資料頁面以較低平行度程式化至高速暫存記憶體區塊,直至可將其作為整個頁面程式之一部分寫入現用區塊。控制器可判定特定扇區或一組扇區之目的地。在將一組扇區寫入現用區塊包括部分頁面寫入及整個頁面寫入之狀況下,可將整個頁面寫入現用區塊且可將部分頁面寫入高速暫存記憶體區塊。
圖12A展示進一步之實例,其中在將來自主機之扇區儲存在高速暫存記憶體區塊中時可對其進行更新。接收第一扇區X0 且將其儲存在高速暫存記憶體區塊1250之頁面0中。此實例中之頁面儲存四個資料扇區。隨後接收X0 之替代扇區,如所示為X1 。根據此實例中之扇區之邏輯位址對其進行編號,下標指示該扇區是否為更新,若如此,則指 示何種版本。因此,扇區X1 為邏輯位址為X之扇區且為此扇區之第一更新版本。此為具有與X0 相同之邏輯位址的資料扇區,但是可含有反映一些經更新之資訊之不同資料。將扇區X1 寫入高速暫存記憶體區塊1250之頁面1。控制器記錄哪些扇區為當前使用的及哪些扇區為廢棄的。在高速暫存記憶體區塊1250中,具有特定邏輯位址之新近寫入的扇區之複本為當前版本。任何其它版本皆被廢棄。因此,當X1 被程式化時,X0 變為廢棄。在接收到扇區X1 之後,接收扇區(X+1)0 。此為在邏輯上緊隨扇區X1 之扇區。將扇區X1 及(X+1)0 兩者寫入頁面2。隨後,以扇區(X+1)1 替代扇區(X+1)0 。此為扇區(X+1)0 之一更新版本,其替代扇區(X+1)0 。將扇區(X+1)1 連同扇區X1 一起寫入頁面3。隨後,接收扇區(X+2)0 且將其寫入頁面4。隨後以扇區(X+2)1 替代扇區(X+2)0 ,且連同扇區X1 及(X+1)1 一起寫入頁面5。隨後,接收扇區(X+3)0 。因此,可獲得資料頁面(扇區X1 、(X+1)1 、(X+2)1 及(X+3)0 )。將扇區X1 、(X+1)1 、(X+2)1 及(X+3)0 寫入指定為現用區塊1252之區塊。將扇區X1 、(X+1)1 、(X+2)1 及(X+3)0 以整個頁面寫入之平行度寫入現用區塊1252。此為在此狀況下之最大可能之平行度。因此,雖然將扇區X1 、(X+1)1 、(X+2)1 及(X+3)0 以較低的平行度寫入高速暫存記憶體區塊1250,但是可將其隨後以較高的平行度寫入現用區塊1252。此意謂,扇區X1 、(X+1)1 、(X+2)1 及(X+3)0 更為有效地儲存在現用區塊中。更有效儲存可導致所需垃圾收集之頻率降低,因此改良效 能。
圖12B提供一替代性實例。此實例類似於圖12A所示之實例,但是此處在將扇區(X+3)0 複製至現用區塊1252之前將其儲存在高速暫存記憶體區塊1250中。此允許在將扇區(X+3)0 寫入現用區塊1252之前對其進行更新。圖中展示藉由以扇區(X+3)1 替代扇區(X+3)0 而對其進行更新。可將整個資料頁面(扇區X1 、(X+1)1 、(X+2)1 及(X+3)1 )保持在高速暫存記憶體區塊1250中,隨時可進行更新,直至發生一些觸發事件。在此狀況下,接收扇區(X+4)0 ,以提供觸發事件。此時,將扇區X1 、(X+1)1 、(X+2)1 及(X+3)1 以最大平行度寫入現用區塊1252。將扇區(X+4)0 寫入高速暫存記憶體區塊1250中之下一個可用頁面(頁面8)中。
圖12C展示使用高速暫存記憶體區塊1250來更新資料之另一實例。將資料扇區X0 至(X+15)0 儲存在初始區塊1254中。主機發送扇區(X+6)1 ,其為具有與扇區(X+6)0 之邏輯位址相同之邏輯位址的經更新之扇區。因此,扇區(X+6)1 用以替代(X+6)0 。為了替代扇區(X+6)0 ,將初始區塊1254之頁面1(含扇區(X+4)0 至(X+7)0 )與扇區(X+6)1 組合,且將該組合寫入高速暫存記憶體區塊1250之頁面0。在諸如控制器隨機存取記憶體25之隨機存取記憶體中可發生此等扇區之組合,或者可在連接至記憶體陣列之記憶體暫存器中完成。可將經更新之頁面資料保持在高速暫存記憶體區塊1250中一段時間,而不將其寫入現用區塊。當自主機接收到隨後經更新之扇區(X+5)1 時,藉由將扇區(X+5)1 連同複 製之扇區(X+4)0 、(X+6)1 及(X+7)0 一同寫入高速暫存記憶體區塊1250之另一頁面(在此狀況下為頁面1),可在高速暫存記憶體區塊1250中對該等資料進行更新。以此方式,可執行對高速暫存記憶體區塊1250中之資料頁面多個更新。藉由替代經更新之一或多個資料扇區且複製未改變之資料扇區於高速暫存記憶體區塊1250之新頁面中,可進行更新。在相同平面內對所複製之扇區進行複製,從而可有效地執行複製。隨後,可將經更新之資料頁面複製至記憶體陣列中之現用區塊1252。可以此方式執行不連續之更新,而無需無秩序之更新區塊。舉例而言,在上述實例中不連續地接收經更新之扇區(X+6)1 及(X+5)1 ,但是現用區塊1252是連續的。以此方式,在高速暫存記憶體區塊中可同時保持並更新多個資料頁面。當不再希望對頁面進行更新時,可將該頁面複製至一現用區塊。
多級單元程式化之實例
藉由將浮動閘極記憶體單元之臨限電壓範圍劃分成兩個以上的位準,一定種類之記憶體在記憶體陣列之每一單元中可儲存一個以上之資料位元。圖13展示如何將此等多級單元(MLC)記憶體程式化以提供表示不同邏輯狀態之多個臨限電壓的實例。圖中展示了四個不同臨限電壓,標記為A、B、C及D。將多個單元程式化至每一電壓。圖13表示單元狀態之分佈,垂直軸表示單元之數量。每一臨限電壓A、B、C及D表示不同的邏輯狀態。四個狀態表示兩個資料位元,如所指示,一個位元來自下資料頁面而另一個來 自上資料頁面。在一些實例中,可首先對下頁面進行程式化。在對下頁面進行程式化之後,單元處於狀態A或B。隨後,可對上頁面進行程式化,以使得該單元處於狀態A或B中之任一者(上位元=1),或修改成狀態C或D(上位元=0)。因為此等四個狀態之每一者具有相對較窄的電壓窗,所以臨限電壓中之相對較小改變尤其易於使MLC記憶體受到資料破壞。在一些實例中,同時對下頁面及上頁面兩者進行程式化是有利的。此有助於減小單元中由對相鄰單元之程式化所導致的資料之破壞,諸如可發生在對上頁面資料之程式化期間。
圖14展示高速暫存記憶體區塊1460如何用於減小MLC記憶體中之資料破壞的實例。圖14展示作為MLC記憶體之區塊的現用區塊1462及高速暫存記憶體區塊1460兩者。對兩個區塊之頁面進行編號,並且視儲存頁面之資料位元所使用之哪一臨限電壓狀態而定,將其展示為"上"或"下"。在此實例中,記憶體首先接收扇區X至X+3,且將此等扇區儲存在高速暫存記憶體區塊1460之下頁面0中。隨後,記憶體接收扇區X+4至X+7。此時,將下頁面(扇區X至X+3)及上頁面(X+4至X+7)兩者同時寫入現用區塊1462。在對現用區塊1462之上頁面0進行程式化期間,此可避免現用區塊1462之下頁面0之破壞。通常,一起程式化上頁面及下頁面所需之時間與對上頁面單獨進行程式化所需之時間相同,以使得此系統不會產生時間損失。在藉由扇區X至X+7對現用區塊1462之下頁面0及上頁面0進行程式化之 後,接收扇區X+8至X+11且將其程式化至高速暫存記憶體區塊1460之上頁面0。在接收扇區X+12至X+15時,將扇區X+8至X+11及扇區X+12至X+15並行程式化至該現用區塊之上頁面1及下頁面1。如所示,將此系統繼續用於隨後的資料扇區。因此,將資料頁面寫入高速暫存記憶體區塊1460且隨後將此頁面連同額外的頁面一起寫入現用區塊1462,以作為相同組之記憶體單元的上頁面及下頁面。以頁面之平行度發生程式化至高速暫存記憶體區塊1460,而以兩倍於頁面之平行度進行程式化至現用區塊1462。
在一替代實施例中,可將上頁面及下頁面在不同時間寫入現用區塊,但是在高速暫存記憶體區塊中保持下頁面之一複本,以防止在對上頁面進行程式化期間現用區塊中之下頁面被破壞。在圖14中,可接收扇區X至X+3,且同時程式化至現用區塊1462之下頁面0及高速暫存記憶體區塊1460之下頁面0。隨後,接收扇區X+4至X+7且程式化至現用區塊1462之上頁面0。扇區X+4至X+7不保存在高速暫存記憶體區塊1460中。若在將X+4至X+7程式化至現用區塊1462之上頁面0期間出現任何問題(諸如,功率損失),則現用區塊1462之下頁面0中之資料可能被破壞。即,正被程式化的單元之臨限電壓可能被修改,以使得其不再處於表示下頁面之資料之狀態,但是尚未被完全程式化至表示上頁面之資料之狀態。舉例而言,自圖13之狀態A被程式化至狀態D的單元每次在程式化結束時可處於狀態B或C。若資料以此方式被破壞,則可自其所複製之位置恢復正寫入 的上資料頁面。然而,在諸多狀況下,不存在下頁面之其它複本。此處,將下頁面之一複本保持在高速暫存記憶體區塊1460中直至完成上頁面之程式化。因此,存在下頁面之未被破壞之複本,且可用於恢復下頁面之資料。
多檔案之實例
可將來自一個以上之主機資料檔案之資料儲存在單一區塊中。在頁面內可發生檔案之間的斷開,以使得頁面之一部分含有來自一個檔案之資料而頁面之另一部分含有來自另一檔案之資料。圖15展示一實例,其中初始區塊1570之頁面0至頁面i-1含有來自第一檔案(檔案1)之資料,而頁面i+1至頁面n-1含有來自第二檔案(檔案2)之資料。頁面i含有來自檔案1之扇區(i*4)及(i*4)+1以及來自檔案2之扇區(i*4)+2及(i*4)+3。共用檔案2之扇區以說明存在來自兩個檔案之扇區。
圖15展示正被更新至新區塊1572之檔案2。新區塊1572之第一頁面(頁面0)寫有初始區塊1570之頁面i之內容。因此,新區塊1572之頁面0含有來自檔案2及檔案1之扇區。此時未更新來自檔案1之扇區(i*4)及(i*4)+1,但是可對複製其以程式化整個資料頁面。將經更新之檔案2之剩餘部分程式化至新區塊1572之頁面1至i-1。隨後,更新檔案1。將扇區0至扇區(i*4)-1儲存在頁面i至頁面n-1中。然而,扇區(i*4)及(i*4)+1亦為檔案1之一部分且必須被更新。因為此時新區塊1572被填滿,所以將經更新之扇區(i*4)及(i*4)+1程式化至另一區塊。隨後,作為垃圾收集操作之一 部分,可將扇區(i*4)及(i*4)+1與新區塊1572中之扇區合併入一單一區塊。然而,此消耗時間及系統資源且通常非吾人所樂見。
圖16展示用於更新圖15之初始區塊1570之扇區的替代技術,初始區塊1570含有來自兩個不同檔案之扇區。此技術使用高速暫存記憶體區塊1674以儲存經更新之扇區,直至如可將其作為整個更新頁面之一部分以系統之最大平行度寫入之時。在對檔案2進行更新時,將經更新之扇區(i*4)+2及(i*4)+3寫入高速暫存記憶體區塊1674。此處,將其寫入高速暫存記憶體區塊1674之頁面0且不將任何資料寫入該頁面之剩餘部分,以使得使用較低之平行度。將檔案2之剩餘扇區(扇區(i*4)+4至N-1)複製至新區塊1676之頁面0至n-i。使用最大平行度將所有此等扇區寫入整個頁面寫入。隨後,更新檔案1。以最大平行度將扇區0至(i*4)-1程式化入頁面n-i+1至n-2中。隨後將檔案1之扇區(i*4)及(i*4)+1並行於扇區(i*4)+2及(i*4)+3之複製寫入新區塊1676之頁面n-1。因此,此時將先前保持在初始區塊1570中之所有扇區之經更新的複本保持在新區塊1676中,而新區塊1676中不保持任何廢棄資料。通常無需對諸如新區塊1676之區塊進行垃圾收集。以最大平行度對新區塊1676之每一頁面進行程式化以達成該區塊中資料之最大密度。此時,可將高速暫存記憶體區塊1674中之扇區(i*4)+2及(i*4)+3標記為廢棄。然而,高速暫存記憶體區塊1674可用於進一步操作而不需要垃圾收集操作,因為高速暫存記憶 體區塊常規含有當前及廢棄資料兩者。
儲存不連續資料扇區之實例
在某些先前實例中,以小於寫入整個頁面之平行度的平行度將資料扇區寫入高速暫存記憶體區塊。在此等實例中,正被寫入的高速暫存記憶體區塊之頁面內之剩餘空間可保持空白,因為在不干擾已儲存資料之狀況下,不可能隨後對其進行程式化。在某些狀況下,可使用此空白空間或其它方面未使用之程式化頻寬而將不相干的資料儲存在相同頁面中。舉例而言,在記憶體系統接收小於一頁面之單一扇區或扇區組內之主機資料的狀況下,可將主機資料之此等扇區儲存在亦保持不相干資料的頁面內之高速暫存記憶體區塊內,其中不相干資料諸如不相干主機資料或控制資料之扇區。類似地,來自儲存在高速暫存記憶體區塊中的檔案開始處之扇區隨後可作為整個頁面之一部分而儲存,該等扇區可具有邏輯上不相干的儲存在相同高速暫存記憶體區塊頁面內之額外扇區。
圖17展示一實例,其中如前述實例中所示,扇區X、X+1及X+2儲存在高速暫存記憶體區塊1780中。然而,此處將持有扇區X、X+1及X+2的高速暫存記憶體區塊之頁面內之剩餘空間用於儲存其它資料。扇區Y、Y+1及Y+2連同扇區X一起儲存在頁面0內。扇區Y、Y+1及Y+2與扇區X、X+1及X+2在邏輯上可能不相干。其可來自另一主機資料檔案,或來自相同檔案內之扇區的另一叢集。扇區Y、Y+1及Y+2與扇區X、X+1及X+2可能不連續,且在邏輯位 址空間上亦可為獨立的。類似地,將扇區Z及Z+1與扇區X及X+1一起儲存在頁面1內。扇區Z及Z+1與扇區X、X+1及X+2及扇區Y、Y+1及Y+2兩者可能在邏輯上皆不相干。隨後,在接收到扇區X+3時,將扇區X、X+1、X+2及X+3寫入另一區塊之頁面內。在接收到扇區Y+3時,將扇區Y、Y+1、Y+2及Y+3寫入另一區塊之頁面內。因此,可將不相干的資料儲存在高速暫存記憶體區塊之相同頁面內,以更為有效地使用可用資源。
圖18展示將不相干資料儲存在高速暫存記憶體區塊1890中之另一實例。此處,如前述儲存並更新扇區X、X+1及X+2。然而,此處亦將扇區Y並行儲存並更新。以指示所儲存之版本的下標表示經更新之扇區。舉例而言,扇區X0 為扇區X之初始版本,而X1 為扇區X之第一更新版本。扇區Y可為主機資料之扇區或頻繁更新之控制資料之扇區。在某些系統中,隨主機資料之儲存而更新諸如FAT資訊之控制資料。在接收到少量主機資料時,更新高速暫存記憶體區塊1890中之控制資料是有利的。此可避免對控制結構進行更新,而僅更新控制資料之單一扇區。在隨後的一些時間,可使用來自高速暫存記憶體區塊之控制資料對控制資料結構進行更新。
高速暫存記憶體區塊管理
高速暫存記憶體區塊可為記憶體陣列中之指定區塊。可選擇固定實體位置作為高速暫存記憶體區塊。然而,此可導致記憶體陣列之不均勻耗損。或者,可不時地改變所指 定之區塊,以使得在該高速暫存記憶體區塊填滿廢棄資料時,可選擇另一擦除區塊作為高速暫存記憶體區塊。在此狀況下,記憶體控制器所使用之資料結構可識別高速暫存記憶體區塊之位置,或者可標記所指定之高速暫存記憶體區塊,以使得若控制器掃描記憶體陣列之擦除區塊,則其可判定哪一個擦除區塊為高速暫存記憶體區塊。可使用扇區來標記高速暫存記憶體區塊,以將其識別為高速暫存記憶體區塊。舉例而言,圖19展示將扇區2110標記為高速暫存記憶體區塊2100之第一扇區。當該卡通電時,可對記憶體陣列之擦除區塊(或記憶體陣列之一部分)進行掃描以判定一或多個高速暫存記憶體區塊之位置。在圖19之實例中,讀取每一擦除區塊之第一扇區以查看其是否為指示高速暫存記憶體區塊之標記扇區。
可將資料作為資料組寫入高速暫存記憶體區塊。資料組為自主機接收的邏輯上連續之扇區組。在將資料組儲存在高速暫存記憶體區塊中時,亦寫入一索引扇區,其提供與所儲存之資料組相關之資訊。可將資料組之扇區之位置儲存在索引扇區中。可將諸如圖19之高速暫存記憶體區塊2100之高速暫存記憶體區塊用於儲存多個資料組。圖20展示儲存一個資料組之高速暫存記憶體2100。資料組1由兩個扇區2220、2221構成。將此等扇區、標記扇區2110及索引扇區2230儲存在高速暫存記憶體2100中。索引扇區2230儲存與資料組1相關之資訊。
圖21展示對由兩個扇區2340、2341構成之資料組2進行 程式化之後的圖20之高速暫存記憶體區塊2100。索引扇區2350為儲存與資料組1及資料組2相關之資訊的新索引扇區。因此,將索引扇區2230廢棄,因為索引扇區2350含有對包括資料組1的高速暫存記憶體區塊2100之資料組之完整記錄。
圖22展示對由扇區2460、2461及2462構成之資料組3進行程式化之後的圖21之高速暫存記憶體區塊2100。索引扇區2470為儲存與資料組1、2及3相關之資訊的新索引扇區。索引扇區2470含有對高速暫存記憶體區塊2100之資料之完整記錄,且因此以使得索引扇區2350為廢棄的。
圖23展示在資料組1及資料組2自高速暫存記憶體區塊2100讀取且將其作為單一頁面寫入記憶體陣列之另一區塊之後的圖22之高速暫存記憶體區塊2100。索引扇區2560儲存與資料組3相關之資料。高速暫存記憶體2100中之資料組1及資料組2為廢棄的且因為其儲存在其它地方,所以無需索引。因此,索引扇區2560含有對高速暫存記憶體區塊2100中之所有當前資料之完整記錄。
當主機向記憶體陣列請求一或多個資料扇區時,控制器可首先檢查所請求之扇區是否處於高速暫存記憶體區塊中。若高速暫存記憶體區塊中不存在該等扇區,則可以常規方式搜尋該等扇區。因此,高速暫存記憶體無需變成用於記錄記憶體陣列中資料扇區之位置的常規媒體管理。
儘管相對於多個例示性實施例對本發明進行了描述,但是應瞭解,本發明有權受到額外之申請專利範圍之完整範 疇之保護。
11‧‧‧積體電路設備/記憶體晶片
13‧‧‧積體電路設備/記憶體晶片
15‧‧‧記憶體單元陣列
17‧‧‧邏輯電路
19‧‧‧控制器
21‧‧‧微處理器
23‧‧‧唯讀記憶體(ROM)
25‧‧‧緩衝記憶體(RAM)
27‧‧‧電路
29‧‧‧電路
31‧‧‧連接
31'‧‧‧連接
33‧‧‧電路
35‧‧‧介面電路
37‧‧‧微處理器
39‧‧‧ROM
41‧‧‧RAM
43‧‧‧電路及子系統
51‧‧‧使用者資料
53‧‧‧ECC
55‧‧‧參數
57‧‧‧ECC
59‧‧‧擦除區塊
61‧‧‧邏輯資料區塊
65‧‧‧共同源極
67‧‧‧電路
70‧‧‧電荷儲存電晶體
71‧‧‧電荷儲存電晶體
72‧‧‧電荷儲存電晶體
74‧‧‧電荷儲存電晶體
77‧‧‧選擇電晶體
79‧‧‧選擇電晶體
81‧‧‧電路
83‧‧‧線
84‧‧‧線
800‧‧‧現用區塊
900‧‧‧現用區塊
1000‧‧‧現用區塊
1010‧‧‧現用區塊
1110‧‧‧現用區塊
1120‧‧‧高速暫存記憶體區塊
1130‧‧‧現用區塊
1140‧‧‧高速暫存記憶體區塊
1252‧‧‧現用區塊
1250‧‧‧高速暫存記憶體區塊
1254‧‧‧初始區塊
1460‧‧‧高速暫存記憶體區塊
1462‧‧‧現用區塊
1570‧‧‧初始區塊
1572‧‧‧新區塊
1674‧‧‧高速暫存記憶體區塊
1676‧‧‧新區塊
1780‧‧‧高速暫存記憶體區塊
1890‧‧‧高速暫存記憶體區塊
2100‧‧‧高速暫存記憶體區塊
2110‧‧‧標記扇區
2220‧‧‧扇區
2221‧‧‧扇區
2230‧‧‧索引扇區
2350‧‧‧索引扇區
2340‧‧‧扇區
2341‧‧‧扇區
2460‧‧‧扇區
2461‧‧‧扇區
2462‧‧‧扇區
2470‧‧‧索引扇區
2560‧‧‧索引扇區
圖1A及1B分別為一起運作之非揮發性記憶體及主機系統之方塊圖。
圖2說明圖1A之記憶體陣列之第一實例組織。
圖3展示儲存在圖1A之記憶體陣列中的實例主機資料扇區連同額外資料。
圖4說明圖1A之記憶體陣列之第二實例組織。
圖5說明圖1A之記憶體陣列之第三實例組織。
圖6展示圖1A之記憶體陣列的第三實例組織之擴展。
圖7為一特定組態的圖1A之陣列的一組記憶體單元之電路圖。
圖8展示資料扇區在諸如圖1A之記憶體陣列的記憶體陣列之一區塊內的儲存。
圖9展示資料扇區在諸如圖1A之記憶體陣列的記憶體陣列之一區塊內的替代性儲存。
圖10A展示在垃圾收集操作期間複製到另一區塊之後的圖8或圖9之資料扇區。
圖10B展示在第二垃圾收集操作期間複製到另一區塊的圖10A之資料扇區。
圖10C展示在接收到更多的資料扇區之後的圖10B之區塊。
圖11A展示使用兩個擦除區塊、一個現用區塊及一個高速暫存記憶體區塊的替代性儲存配置,用以儲存圖10A及 圖10B之資料扇區。
圖11B展示使用兩個元區塊、一個現用區塊及一個高速暫存記憶體區塊的替代性儲存配置,用以儲存圖10A及圖10B之資料扇區。
圖12A展示用於儲存資料扇區的兩個區塊,一個現用區塊及一個高速暫存記憶體區塊,以使得在儲存時可對資料扇區進行更新,而不會觸發垃圾收集操作。
圖12B展示圖12A之儲存系統之一替代性儲存系統,其允許在儲存時更新頁面之所有扇區而不會觸發垃圾收集;而圖12C展示使用高速暫存記憶體區塊1250更新資料之另一實例。
圖13展示用於在多級單元中儲存兩個資料位元的四個臨限電壓範圍。
圖14展示多級單元之兩個區塊,一個現用區塊及一個高速暫存記憶體區塊,其中高速暫存記憶體區塊保持現用區塊之下頁面之一複本。
圖15展示儲存在一區塊內之來自兩個檔案的資料扇區及該等資料扇區之隨後儲存,當更新該等兩個檔案時要求記憶體陣列中存在一個以上之區塊空間。
圖16展示更新圖15之資料扇區之一替代性系統,其中在將一些扇區複製至現用區塊之前,將其儲存在高速暫存記憶體區塊內。
圖17展示將不相干之資料的扇區儲存在相同頁面內且隨後將此資料複製至不同位置的高速暫存記憶體區塊。
圖18展示儲存經歷多次更新的不相干之資料的扇區之高速暫存記憶體區塊。
圖19展示藉由標記扇區來識別之高速暫存記憶體區塊。
圖20展示儲存一組扇區及一索引扇區的圖19之高速暫存記憶體區塊。
圖21展示儲存一第二組扇區及一取代第一索引扇區之第二索引扇區的圖20之高速暫存記憶體區塊。
圖22展示儲存一第三組扇區及一取代第二索引扇區之第三索引扇區的圖21之高速暫存記憶體區塊。
圖23展示具有一第四索引扇區的圖22之高速暫存記憶體區塊,當將一組扇區複製至另一區塊時,該第四索引扇區取代第三索引扇區。
1110‧‧‧現用區塊
1120‧‧‧高速暫存記憶體區塊

Claims (22)

  1. 一種將可定址資料單元儲存於一非揮發性記憶體陣列中之方法,其中該非揮發性記憶體陣列具有一區塊之一最小擦除單元及一頁面之一最小程式單元,一頁面含有一或多個可定址資料單元,一頁面含有少於一區塊之資料,該方法包含:以一第一平行度將複數個可定址資料單元寫入一第一區塊;隨後將該複數個可定址資料單元複製至一第二區塊,其中以一具有一高於該第一平行度之第二平行度的寫入操作將其寫入;及隨後將額外的可定址資料單元寫入該第一區塊,同時該第一區塊含有該複數個可定址資料單元。
  2. 如請求項1之方法,其中該第一平行度係小於程式化一整個資料頁面之平行度,且該第二平行度為程式化一整個資料頁面之平行度。
  3. 如請求項1之方法,其中該複數個可定址資料單元形成一第一檔案之一部分,該部分含有小於一個頁面之資料,隨後對該複數個可定址資料單元之複製係並行於對一第二檔案之一部分的程式化,以致該第一檔案之該部分與該第二檔案之該部分在該第二區塊中形成一資料頁面。
  4. 如請求項1之方法,其中該第二區塊含有複數個多級單元,該複數個可定址資料單元在該第一區塊中形成一第 一頁面,且並行於將一第二資料頁面寫入該第二區塊,將該複數個可定址資料單元複製至該第二區塊,以致該第一頁面及該第二頁面形成該複數個多級單元之程式化的上頁面及下頁面。
  5. 如請求項1之方法,其中並行於額外的資料,將該複數個可定址資料單元寫入該第二區塊,以達成該第二平行度。
  6. 一種將可定址資料單元寫入一非揮發性記憶體陣列中之多級單元的方法,該記憶體陣列具有一區塊之一擦除單元,一多級單元具有對應於一個以上之資料位元之兩個以上的可能程式化狀態,該方法包含:自一主機接收一第一可定址資料單元及一第二可定址資料單元;將該第一可定址資料單元程式化至一第一區塊,且程式化至一第二區塊之複數個多級單元;根據該第二可定址資料單元之位元,程式化該第二區塊之該複數個多級單元,同時將該第一可定址資料單元保持在該第一區塊中,而不將該第二可定址資料單元程式化至該第一區塊;及僅在驗證該第二區塊之該複數個多級單元係完全程式化至反映該第二可定址資料單元之位元的狀態之後,隨後將該第一區塊中之該第一可定址資料單元標記為廢棄。
  7. 如請求項6之方法,其中根據該第二可定址資料單元之 位元,程式化該第二區塊之該複數個多級單元終止於一中間級,其中一單元尚未到達一反映該第二可定址資料單元之一位元之狀態,但是該單元已自一反映該第一可定址資料單元之一位元之狀態改變,且隨後自該第一區塊恢復該第一可定址資料單元之該等位元。
  8. 如請求項6之方法,其中將該第一可定址資料單元在一第一時間程式化至該第一區塊,當接收到該第二可定址資料單元時,隨後將該第一及該第二可定址資料單元在一第二時間程式化至該第二區塊。
  9. 如請求項6之方法,進一步包含當該第一區塊中之所有資料皆被標記為廢棄時,擦除該第一區塊。
  10. 一種將邏輯上不連續之可定址資料單元儲存在一非揮發性記憶體陣列中之方法,其中該非揮發性記憶體陣列具有一區塊之最小擦除單元及一頁面之最小程式化單元,該方法包含:將一第一至少一個可定址資料單元儲存在一第一區塊之一第一頁面中;並行於該第一至少一個可定址資料單元,將一第二至少一個可定址資料單元儲存在該第一區塊之該第一頁面中,該第二至少一個可定址資料單元與該第一至少一個可定址資料單元在邏輯上不連續;隨後將該第一至少一個可定址資料單元複製至一第二區塊,且將該第二至少一個可定址資料單元複製至一第三區塊;及 隨後將一第三至少一個可定址資料單元儲存在該第一區塊內,同時該第一區塊保持該第一至少一個可定址資料單元及該第二至少一個可定址資料單元。
  11. 如請求項10之方法,其中該第一至少一個可定址資料單元包含主機資料,且該第二至少一個可定址資料單元包含控制資料。
  12. 如請求項10之方法,其中該第一至少一個可定址資料單元包含一第一檔案之複數個邏輯上連續的可定址主機資料單元,且該第二至少一個可定址資料單元包含一第二檔案之複數個邏輯上連續的可定址主機資料單元。
  13. 如請求項10之方法,其中將該第三至少一個可定址資料單元儲存在該第一區塊之一第二頁面,該第三至少一個可定址資料單元與該第一及該第二至少一個可定址資料單元在邏輯上皆不連續。
  14. 如請求項13之方法,其中該第一至少一個資料單元含有來自一第一檔案之資料,該第二至少一個資料單元含有來自一第二檔案之資料,且該第三至少一個資料單元含有來自一第三檔案之資料。
  15. 一種將資料儲存在一非揮發性記憶體陣列中之方法,其中該非揮發性記憶體陣列具有以一擦除區塊之最小擦除單元配置之記憶體單元,擦除區塊組經鏈接以形成元區塊,一元頁為一元區塊之程式化單元,該方法包含:將一第一資料扇區儲存在一第一元區塊之一第一元頁中; 將至少一第二扇區儲存在該第一元區塊之至少一第二元頁中;當接收到一第三資料扇區時,將該第一資料扇區、該至少一第二資料扇區及該第三資料扇區一起寫入一第二元區塊之一元頁;及隨後將一第四資料扇區儲存在該第一元區塊中,而不自該第一元區塊擦除該第一資料扇區及該至少一第二資料扇區。
  16. 如請求項15之方法,其中該第一資料扇區、該至少一第二資料扇區及該第三資料扇區組合形成一整個資料元頁。
  17. 如請求項15之方法,其中在將該第一資料扇區、該至少一第二資料扇區及該第三資料扇區一起寫入該第二元區塊之一元頁之後,未立即將該第一元區塊標記為廢棄。
  18. 如請求項15之方法,其中將該第一資料扇區自該第一元頁複製至該至少一第二元頁。
  19. 如請求項15之方法,其中該至少一第二扇區由一第二扇區及一額外的扇區構成,該第一及該第二扇區儲存在該第一元區塊之該第二元頁中,該第一、該第二及該額外的扇區儲存在該第一元區塊之一第三元頁中。
  20. 如請求項15之方法,其中該第一資料扇區、該至少一第二資料扇區及該第三資料扇區形成該第二元區塊之一元頁。
  21. 一種將資料儲存在一非揮發性記憶體陣列中之方法,其 中該非揮發性記憶體陣列具有以一擦除區塊之最小擦除單元而配置之記憶體單元,一頁面為一擦除區塊之程式化的最小單元,該方法包含:將一第一資料扇區儲存在一第一擦除區塊之一第一頁面中;將至少一個額外的扇區儲存在該第一擦除區塊之至少一個額外的頁面中;在接收到一最終的資料扇區時,將該第一資料扇區、該至少一個額外的資料扇區及該最終的資料扇區一起寫入一第二擦除區塊之一頁面中;及隨後將一第二資料扇區儲存在該第一擦除區塊中,而不自該第一擦除區塊擦除該第一資料扇區及該至少一個額外的扇區。
  22. 如請求項21之方法,其中該第一資料扇區、該至少一個額外的資料扇區及該最終的資料扇區一起完全填滿該第二擦除區塊之該頁面。
TW094144457A 2004-12-16 2005-12-15 在一非揮發性記憶體中儲存資料之方法 TWI393140B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/016,285 US7315916B2 (en) 2004-12-16 2004-12-16 Scratch pad block

Publications (2)

Publication Number Publication Date
TW200632916A TW200632916A (en) 2006-09-16
TWI393140B true TWI393140B (zh) 2013-04-11

Family

ID=36190514

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094144457A TWI393140B (zh) 2004-12-16 2005-12-15 在一非揮發性記憶體中儲存資料之方法

Country Status (7)

Country Link
US (1) US7315916B2 (zh)
EP (1) EP1828906B1 (zh)
JP (1) JP4787266B2 (zh)
KR (1) KR100914263B1 (zh)
CN (4) CN101095121B (zh)
TW (1) TWI393140B (zh)
WO (1) WO2006065566A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI727226B (zh) * 2018-07-27 2021-05-11 開曼群島商創新先進技術有限公司 區塊鏈資料的多級儲存方法和裝置

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7386655B2 (en) 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7366826B2 (en) 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US7409489B2 (en) 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
JP4418439B2 (ja) * 2006-03-07 2010-02-17 パナソニック株式会社 不揮発性記憶装置およびそのデータ書込み方法
US7809994B2 (en) * 2006-05-17 2010-10-05 Sandisk Corporation Error correction coding for multiple-sector pages in flash memory devices
US20070300130A1 (en) * 2006-05-17 2007-12-27 Sandisk Corporation Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
US7366017B2 (en) * 2006-08-22 2008-04-29 Micron Technology, Inc. Method for modifying data more than once in a multi-level cell memory location within a memory array
KR100849221B1 (ko) * 2006-10-19 2008-07-31 삼성전자주식회사 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
US8316206B2 (en) * 2007-02-12 2012-11-20 Marvell World Trade Ltd. Pilot placement for non-volatile memory
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US7917686B2 (en) 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
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
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
US9396103B2 (en) * 2007-06-08 2016-07-19 Sandisk Technologies Llc Method and system for storage address re-mapping for a memory device
KR20090024971A (ko) * 2007-09-05 2009-03-10 삼성전자주식회사 섹터의 집합을 이용한 캐시 운용 방법 및 캐시 장치
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
US8533562B2 (en) * 2007-09-12 2013-09-10 Sandisk Technologies Inc. Data protection after possible write abort or erase abort
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
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
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
US20090164745A1 (en) * 2007-12-21 2009-06-25 Alan Sinclair System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System
CN101364444B (zh) * 2008-02-05 2011-05-11 威盛电子股份有限公司 控制方法及运用该控制方法的存储器及处理系统
US8724381B2 (en) 2008-03-11 2014-05-13 Agere Systems Llc Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
TWI413984B (zh) * 2008-10-16 2013-11-01 Silicon Motion Inc 快閃記憶體裝置以及資料更新方法
CN101740123B (zh) * 2008-11-10 2012-04-04 扬智科技股份有限公司 存储器的数据保护方法
US8452940B2 (en) * 2008-12-30 2013-05-28 Sandisk Technologies Inc. Optimized memory management for random and sequential data writing
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
US8085588B2 (en) * 2009-04-30 2011-12-27 Spansion Llc Semiconductor device and control method thereof
US8566510B2 (en) * 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8307241B2 (en) * 2009-06-16 2012-11-06 Sandisk Technologies Inc. Data recovery in multi-level cell nonvolatile memory
US8656110B2 (en) * 2009-08-21 2014-02-18 Panasonic Corporation Non-volatile storage device, access device, and non-volatile storage system for releasing a cache object in accordance with a data matching flag
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
JP4956593B2 (ja) 2009-09-08 2012-06-20 株式会社東芝 メモリシステム
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
US8949515B2 (en) 2009-12-03 2015-02-03 Hitachi, Ltd. Storage device and memory controller
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
TWI399644B (zh) * 2009-12-24 2013-06-21 Univ Nat Taiwan 非揮發記憶體區塊管理方法
JP5330549B2 (ja) * 2010-02-02 2013-10-30 株式会社東芝 ストレージ機能を持つ通信装置
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8468431B2 (en) 2010-07-01 2013-06-18 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
US8345482B2 (en) * 2010-12-15 2013-01-01 Micron Technology, Inc. Methods for segmented programming and memory devices
TWI479505B (zh) * 2010-12-16 2015-04-01 Phison Electronics Corp 資料管理方法、記憶體控制器與記憶體儲存裝置
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
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. 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
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies 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
CN103092771A (zh) * 2011-10-31 2013-05-08 建兴电子科技股份有限公司 固态储存装置及其高速缓存的控制方法
TWI470575B (zh) * 2011-11-24 2015-01-21 Mediatek Inc 用於緩衝裝置之讀取指標暫存的方法、緩衝控制器以及緩衝裝置
CN103138875B (zh) * 2011-11-28 2015-06-10 澜起科技(上海)有限公司 高速广播信道的校准方法
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
DE102012201978A1 (de) * 2012-02-10 2013-08-14 Robert Bosch Gmbh Verfahren zum Auslesen einer Lichtsensorsteuereinrichtung sowie Vorrichtung zum Auslesen einer Lichtsensorsteuereinrichtung
CN103258570B (zh) * 2012-02-15 2016-05-11 旺宏电子股份有限公司 一种记忆装置及产生程序化偏压脉冲的方法和集成电路
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
CN104081357A (zh) * 2012-04-27 2014-10-01 惠普发展公司,有限责任合伙企业 使用多级单元设置本地检查点
JP2013229086A (ja) * 2012-04-27 2013-11-07 Sony Corp メモリ装置、メモリ制御装置、メモリ制御方法
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
US9053003B2 (en) * 2012-06-21 2015-06-09 Microsoft Technology Licensing, Llc Memory compaction mechanism for main memory databases
CN102831072B (zh) * 2012-08-10 2016-03-02 深圳市江波龙电子有限公司 闪存设备及其管理方法、数据读写方法及读写装置
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9384839B2 (en) 2013-03-07 2016-07-05 Sandisk Technologies Llc Write sequence providing write abort protection
US9189389B2 (en) * 2013-03-11 2015-11-17 Kabushiki Kaisha Toshiba Memory controller and memory system
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US20150006784A1 (en) 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9063671B2 (en) 2013-07-02 2015-06-23 Sandisk Technologies Inc. Write operations with full sequence programming for defect management in nonvolatile memory
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
CN104423888B (zh) * 2013-08-23 2017-10-03 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器存储装置
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
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
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
US9043537B1 (en) 2013-11-21 2015-05-26 Sandisk Technologies Inc. Update block programming order
US9058881B1 (en) 2013-12-05 2015-06-16 Sandisk Technologies Inc. Systems and methods for partial page programming of multi level cells
US9244631B2 (en) 2013-12-06 2016-01-26 Sandisk Technologies Inc. Lower page only host burst writes
CN104731710B (zh) * 2013-12-18 2018-06-29 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器储存装置
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
US9443553B2 (en) 2014-04-28 2016-09-13 Seagate Technology Llc Storage system with multiple media scratch pads
US8947817B1 (en) 2014-04-28 2015-02-03 Seagate Technology Llc Storage system with media scratch pad
US9928169B2 (en) 2014-05-07 2018-03-27 Sandisk Technologies Llc Method and system for improving swap performance
US9665296B2 (en) 2014-05-07 2017-05-30 Sandisk Technologies Llc Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications
US9633233B2 (en) 2014-05-07 2017-04-25 Sandisk Technologies Llc Method and computing device for encrypting data stored in swap memory
US9710198B2 (en) 2014-05-07 2017-07-18 Sandisk Technologies Llc Method and computing device for controlling bandwidth of swap operations
US8902652B1 (en) 2014-05-13 2014-12-02 Sandisk Technologies Inc. Systems and methods for lower page writes
US8886877B1 (en) 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
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
US9928138B2 (en) * 2015-02-17 2018-03-27 Toshiba Memory Corporation Memory system
JP6412820B2 (ja) * 2015-03-31 2018-10-24 株式会社メガチップス 記憶システム、制御装置、メモリ制御装置、記憶装置、上位装置、制御プログラム及びデータ読み出し方法
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
CN105159601B (zh) * 2015-08-07 2018-12-07 杭州海兴电力科技股份有限公司 一种提高Flash擦写寿命的方法
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
KR102441284B1 (ko) * 2016-01-12 2022-09-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
US10204341B2 (en) * 2016-05-24 2019-02-12 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
WO2018039654A1 (en) * 2016-08-26 2018-03-01 Sunrise Memory Corporation Capacitive-coupled non-volatile thin-film transistor strings in three dimensional arrays
CN106528441B (zh) * 2016-10-26 2020-08-04 珠海格力电器股份有限公司 仿真eeprom的数据处理方法、装置及电子设备
JP2018160189A (ja) 2017-03-23 2018-10-11 東芝メモリ株式会社 メモリシステム
TWI625620B (zh) * 2017-05-12 2018-06-01 威盛電子股份有限公司 非揮發性記憶體裝置及其讀取方法
CN109215171A (zh) * 2018-08-20 2019-01-15 深圳市长龙铁路电子工程有限公司 一种机车信号设备数据记录的存储方法
CN110888593B (zh) 2018-09-07 2024-01-26 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN110888591B (zh) * 2018-09-07 2023-05-30 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN110888820B (zh) 2018-09-07 2022-01-25 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
TWI690928B (zh) * 2019-01-10 2020-04-11 慧榮科技股份有限公司 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
TWI718889B (zh) * 2019-01-10 2021-02-11 慧榮科技股份有限公司 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
CN111400302B (zh) * 2019-11-28 2023-09-19 杭州海康威视系统技术有限公司 连续存储数据的修改方法、装置和系统
TWI727842B (zh) 2020-02-20 2021-05-11 大陸商長江存儲科技有限責任公司 存儲器件及其編程方法
CN114171092A (zh) 2020-04-23 2022-03-11 长江存储科技有限责任公司 存储器件及其编程方法
US11295801B1 (en) * 2020-09-21 2022-04-05 Silicon Motion, Inc. Method for managing flash memory module and associated flash memory controller and memory device
CN114911426B (zh) * 2022-07-15 2022-10-18 北谷电子有限公司 一种数据存储方法、存储器件和高空车

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933368A (en) * 1996-11-25 1999-08-03 Macronix International Co., Ltd. Flash memory mass storage system
US20020083262A1 (en) * 1999-04-05 2002-06-27 Tomoya Fukuzumi Memory device operable with a small-capacity buffer memory and having a flash memory
US6567307B1 (en) * 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US20030206449A1 (en) * 1989-04-13 2003-11-06 Eliyahou Harari Flash EEprom system
US20040083335A1 (en) * 2002-10-28 2004-04-29 Gonzalez Carlos J. Automated wear leveling in non-volatile storage systems
US6760255B2 (en) * 2000-02-17 2004-07-06 Sandisk Corporation Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US20040177214A1 (en) * 2003-03-03 2004-09-09 High Tech Computer, Corp. Method and system for managing virtual memory

Family Cites Families (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4612630A (en) * 1984-07-27 1986-09-16 Harris Corporation EEPROM margin testing design
JPS6134793A (ja) * 1984-07-27 1986-02-19 Hitachi Ltd ダイナミツクメモリ装置における診断及びエラ−訂正装置
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
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
US5043940A (en) * 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
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 不揮発性多値メモリ装置
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 ローム株式会社 自己訂正機能を有する半導体記憶装置
US5258958A (en) 1989-06-12 1993-11-02 Kabushiki Kaisha Toshiba Semiconductor memory device
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
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5504760A (en) * 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
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 不揮発性半導体記憶装置
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) * 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
FR2689253B1 (fr) * 1992-03-24 1997-01-24 Souriau & Cie Dispositif de moulage comportant une contre-piece de guidage de broches pour le moulage de viroles de connecteurs de fibres optiques, et virole moulee au moyen d'un tel dispositif.
GB9208493D0 (en) * 1992-04-16 1992-06-03 Thomson Consumer Electronics Dual port video 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
US5315421A (en) 1992-04-28 1994-05-24 Matsushita Electric Industrial Co., Ltd. Rubbing apparatus including double refraction phase difference measuring means and manufacturing method for liquid crystal display device
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5657332A (en) * 1992-05-20 1997-08-12 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
JP2708333B2 (ja) * 1992-09-02 1998-02-04 株式会社東芝 レベルシフタ回路
JP3088866B2 (ja) * 1992-11-26 2000-09-18 大日本印刷株式会社 Icカード
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
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
JP3866818B2 (ja) * 1997-02-14 2007-01-10 三菱電機株式会社 半導体記憶装置
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 インターナショナル・ビジネス・マシーンズ・コーポレ−ション リフレッシュ間隔制御装置及び方法、並びにコンピュータ
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
JP4173642B2 (ja) * 1999-02-22 2008-10-29 株式会社ルネサステクノロジ メモリカードのデータ書き込み方法
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
JP3793868B2 (ja) * 1999-11-25 2006-07-05 カシオ計算機株式会社 フラッシュメモリ管理装置及び記録媒体
KR100818035B1 (ko) * 2000-05-04 2008-03-31 엔엑스피 비 브이 저장 매체 상의 데이터 관리 및 데이터 관리 시스템과 컴퓨터 판독가능한 저장 매체
JP3942807B2 (ja) * 2000-06-06 2007-07-11 株式会社ルネサステクノロジ ブロックアラインメント機能付き半導体記憶装置
US6772274B1 (en) * 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
US6345001B1 (en) * 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
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
JP3979486B2 (ja) * 2001-09-12 2007-09-19 株式会社ルネサステクノロジ 不揮発性記憶装置およびデータ格納方法
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
US6678785B2 (en) * 2001-09-28 2004-01-13 M-Systems Flash Disk Pioneers Ltd. Flash management system using only sequential write
US6925007B2 (en) * 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
US6560152B1 (en) * 2001-11-02 2003-05-06 Sandisk Corporation Non-volatile memory with temperature-compensated data read
HU229452B1 (en) * 2002-01-17 2013-12-30 Univ British Columbia Bispecific antisense olignucleotides that inhibit igfbp-2 and igfbp-5 and methods of using same
JP4206688B2 (ja) * 2002-04-15 2009-01-14 ソニー株式会社 データ処理装置及びデータ処理方法
KR100453053B1 (ko) * 2002-06-10 2004-10-15 삼성전자주식회사 플래쉬 메모리용 파일 시스템
US7196931B2 (en) * 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
JP3928724B2 (ja) * 2003-02-20 2007-06-13 ソニー株式会社 記録媒体の記録制御方法および記録媒体の記録制御装置
EP1489490A3 (en) * 2003-06-19 2005-09-14 Texas Instruments Incorporated Method for converting a cache to a scratch-pad memory
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
JP4713867B2 (ja) * 2004-09-22 2011-06-29 株式会社東芝 メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
JP2006139556A (ja) * 2004-11-12 2006-06-01 Toshiba Corp メモリカード及びそのカードコントローラ
US7437653B2 (en) * 2004-12-22 2008-10-14 Sandisk Corporation Erased sector detection mechanisms

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030206449A1 (en) * 1989-04-13 2003-11-06 Eliyahou Harari Flash EEprom system
US5933368A (en) * 1996-11-25 1999-08-03 Macronix International Co., Ltd. Flash memory mass storage system
US20020083262A1 (en) * 1999-04-05 2002-06-27 Tomoya Fukuzumi Memory device operable with a small-capacity buffer memory and having a flash memory
US6760255B2 (en) * 2000-02-17 2004-07-06 Sandisk Corporation Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6567307B1 (en) * 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US20040083335A1 (en) * 2002-10-28 2004-04-29 Gonzalez Carlos J. Automated wear leveling in non-volatile storage systems
US20040177214A1 (en) * 2003-03-03 2004-09-09 High Tech Computer, Corp. Method and system for managing virtual memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI727226B (zh) * 2018-07-27 2021-05-11 開曼群島商創新先進技術有限公司 區塊鏈資料的多級儲存方法和裝置

Also Published As

Publication number Publication date
EP1828906B1 (en) 2014-09-10
CN101095121A (zh) 2007-12-26
JP4787266B2 (ja) 2011-10-05
CN101124554A (zh) 2008-02-13
CN101124555B (zh) 2012-05-09
TW200632916A (en) 2006-09-16
CN101124556A (zh) 2008-02-13
CN101124555A (zh) 2008-02-13
KR20070087571A (ko) 2007-08-28
JP2008524705A (ja) 2008-07-10
WO2006065566A9 (en) 2006-09-08
KR100914263B1 (ko) 2009-08-27
EP1828906A1 (en) 2007-09-05
WO2006065566A1 (en) 2006-06-22
US20060161722A1 (en) 2006-07-20
US7315916B2 (en) 2008-01-01
CN101095121B (zh) 2010-05-05
CN100547565C (zh) 2009-10-07

Similar Documents

Publication Publication Date Title
TWI393140B (zh) 在一非揮發性記憶體中儲存資料之方法
US7882299B2 (en) System and method for use of on-chip non-volatile memory write cache
US7433993B2 (en) Adaptive metablocks
TWI394044B (zh) 記錄來自一主機之資料之非揮發性記憶體及方法
TWI417717B (zh) 具多流更新之非揮發性記憶體及方法
US7395404B2 (en) Cluster auto-alignment for storing addressable data packets in a non-volatile memory array
US7366826B2 (en) Non-volatile memory and method with multi-stream update tracking
US7315917B2 (en) Scheduling of housekeeping operations in flash memory systems
US8296498B2 (en) Method and system for virtual fast access non-volatile RAM
US7441067B2 (en) Cyclic flash memory wear leveling
US20060161724A1 (en) Scheduling of housekeeping operations in flash memory systems