TW200941218A - Memory system - Google Patents

Memory system Download PDF

Info

Publication number
TW200941218A
TW200941218A TW097149480A TW97149480A TW200941218A TW 200941218 A TW200941218 A TW 200941218A TW 097149480 A TW097149480 A TW 097149480A TW 97149480 A TW97149480 A TW 97149480A TW 200941218 A TW200941218 A TW 200941218A
Authority
TW
Taiwan
Prior art keywords
buffer
data
storage area
processing
logical
Prior art date
Application number
TW097149480A
Other languages
English (en)
Inventor
Junji Yano
Hidenori Matsuzaki
Kosuke Hatsuda
Original Assignee
Toshiba Kk
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 Toshiba Kk filed Critical Toshiba Kk
Publication of TW200941218A publication Critical patent/TW200941218A/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

200941218 九、發明說明: 【發明所屬之技術領域】 本發明係關於一種包括一非揮發性半導體記憶體的記憶 體系統。 【先前技術】 • 作為用於一電腦系統内的一外部儲存器件,安裝有一非 .. 揮發性半導體記憶體(諸如一 NAND型快閃記憶體)的一 SSD(固態驅動器)引起注意。快閃記憶體與一磁碟器件相 比具有諸如高速及重量輕的優點。 SSD包括複數個快閃記憶晶片;一控制器,其回應來自 一主機裝置之一請求來為該等個別快閃記憶晶片執行讀取/ 寫入控制;一緩衝記憶體,其用於實行在該等個別快閃記 憶晶片與該主機裝置之間的資料傳輸;一電源供應電路; 及至該主機裝置的一連接介面(例如專利文件丨)。 « 非,發性半導體記憶體之範例包括其中—抹除、寫入及 讀出單元固疋的非揮發性半導體記憶體,諸如在儲存資料 時按區塊單元一次抹除資料並接著執行寫入的一非揮發性 半導體記憶體·,及以與NAND型快閃記憶體相同的方式按 頁單το來執彳m讀出的—非揮發性半導體記憶體。 方面用於一主機裝置(諸如一個人電腦)將資料寫 ,於-辅助儲存器件(諸如_硬碟)内並從其讀出資料的一 皁儿係稱為磁區。磁區係獨立於一半導體儲存器件之一抹 除、寫入及讀出單元來設定。 例如,雖然非揮發性半導體記憶體之一區塊之一大小 137071.doc 200941218 (一區塊大小)為512 kB且其一頁之一大小(―頁大小)為4 kB, 但主機裝置之-磁區之一大小(一磁區大小)仍設定為51^。 。依此方式,非揮發性半導體記憶體之抹除、寫入及讀出 單元可能大於主機裝置之寫入及讀出單元。 因此,當藉由使用非揮發性半導體記憶體來組態個人電 腦之輔助儲存器件(諸如硬碟)時,必需藉由使大小適應非 揮發半導體s己憶體之區塊大小及頁大小來從個人電腦(諸 如主機裝置)寫入具有一較小大小之資料。 主機裝置(諸如個人電腦)所記錄之資料同時具有時間局 部性與空間局部性(例如,參見非專利文件”。因此,當記 錄資料時,若將資料直接記錄於從外部指定的一位址 則重寫(即,抹除處理)暫時集中於一特定區域内且一抹除 次數偏差會增加。因此,在NANDs快閃記憶體中,實行 名為磨損調平的處理’其用於相等地分佈資料更新區段。 在該磨損調平處理中,例如,由主機裝置所指定的_邏 輯位址係轉譯成非揮發性半導體記憶體的一實體位址,其 中相等地分佈該等資料更新區段。 揭不-種SSD,其係經組態用以在一快閃記憶體與一主 機裝置之間播人-快取記憶體並在該㈣記憶财降低寫 入次數(抹除次數)(例如參見專利文件2)。在具有該快取記 隐體的此組態的情況下,當從該主機裝置發佈一寫入請 求且5亥快取記憶體充滿時,實行用於將在該快取記憶體内 的資料清空至該快閃記憶體之處理。 [專利文件1]日本專利第3688835號 137071.doc 200941218 [專利文件2] PCT專利申請案第2007-528079號之公佈曰 文譯文 [專利文件3]日本專利申請特許公開案第2〇〇5_222550號 [非專利文件 1] David A. Patterson 與 John L. Hennessy, 「Computer Organization and Design: 丁“ Hardware/ Software lnterface(電腦組織及設計:硬體/軟體介面)」,
Morgan Kaufmann出版社,2004/8/31
本發明提供一種記憶體系統’其可在指定時間内返回一 命令處理回應至一主機裝置。 【發明内容】 一裡記憶體系統,其包含: 包括-揮發性半導體儲存元件的作為一用於寫入之快取 記憶體的一第一儲存區域,一主機裝置按一第—單元從該 第一储存區域讀出資料並將資料寫入至該第一儲存區域. 包括-非揮發性半導體儲存元件的—第二儲存區域,按 :第第二儲存區域讀出資料並將資料寫入至該 第一儲存區域且其中按一第三單元來抹除資料, 元多達該第二單元兩倍或更大自然數倍; 4二卓 包括-非揮發性半導體儲存 將該第三單元除以二或更…二:-錯存區域,按 從該第三儲存區域讀出 、、、 传之-第四單元來 禮仔L域讀出資料並將資料 域且其令按該第三單元來抹除資料; 4二儲存區 包括-非揮發性半導體儲存元件的 按該第二單元來從輸入緩衝器, 來㈣第—輸入緩衝器讀出資科並將資料寫 137071.doc 200941218 入至該第-輸入緩衝器且Α 第-輸入緩衝号用柞田〃*第二單元來抹除資料,該 、叉辦器用作用於 包括一非揎#w 1 一儲存區域的一輸入緩衝器; 按續笛四留― 的 第一'輸入緩衝器, 入至1第銜入緩衝器讀出資料並將資料寫 入至該第一輸入緩衝器…巧 矽筮τ筏該第二早兀來抹除資料, 該第一輸入緩衝器用作用 . 、该第二儲存區域的一輸入緩衝
一授制器,其執行用於按 主機 、H單謂複數個資料從該 入至該第一儲存區域内的第-處理、用於將寫 入於該第一儲存區域 *'' ^ ^ 1叼貝料凊工至該第一輸入緩衝器與 s:别入緩衝器之第二處理及用於分別將寫入於該第一 輸入緩衝器與该第二輸入緩衝器内的複數個資料清空至該 第儲存區域與該第二儲存區域,並將寫入於該第二儲存 區域内的複數個資料清空至㈣二輸人緩衝器之第三處 理,其中 在該第一輸入緩衝器中提供一保存緩衝器,其具有等於 或大於該第-料區域之儲存容量的—儲存容量並儲存寫 入於該第一儲存區域内的資料。 【實施方式】 下面參考附圖來詳細解釋依據本發明之一記憶體系統之 最佳實施模式。 (具體實施例) 以下參考該等圖式來解釋本發明之具體實施例。在下列 解釋中’藉由相同參考數字及符號來表示具有相同功能及 137071.doc -10- 200941218 組態之組件。只有必要時才實行該等組件之冗餘解釋。 首先,定義在此說明書中所使用的術語。 實體頁:可在一 NAND記憶晶片中共同寫入並讀出的一 單元。一實體頁大小為(例如)4 kB。但是,不包括一冗餘 位元,諸如在一SSD中添加至主資料(使用者資料等)的一 • 錯誤校正碼。通常情況下,4 kB+冗餘位元(例如,數1〇 B) 係同時寫入於一記憶單元内的一單元。但是,為了方便解 釋’按以上解釋來定義實體頁。 邏輯頁.在SSD中設定的一寫入及讀出單元。邏輯頁係 與—或多個實體頁相關聯》一邏輯頁大小(例如)在一 8位元 正常模式下為4 kB且在一32位元倍速模式下為32 kB。但 是’不包括一冗餘位元。 實體區塊:可在NAND記憶晶片内獨立抹除的一最小單 元實體區塊包括複數個實體頁。一實競區塊大小為(例 如)512 kB。但是,不包括一冗餘位元,諸如在SSD中添加 ❿ 至主資料的一錯誤校正碼。通常情況下,512 kB+冗餘位 元(例如’數10 kB)係同時抹除的一單元。但是,為了方便 解釋,按以上解釋來定義實體區塊。 • 邏輯區塊:在SSD中設定的一抹除單元。邏輯區塊係與 —或多個實體區塊相關聯。一邏輯區塊大小(例如)在一 8位 兀正常模式下為512 kB且在一 32位元倍速模式下為4 MB » 但是’不包括一冗餘位元。 磁區·來自一主機的一最小存取單元。一磁區大小為 (例如)512 B。 137071.d〇c •11· 200941218 叢集·用於在S S D中營, m 小型資料」(細粒度資料)的 管理單7L {列如’一叢集大小係等於或大於磁區大小且 設定使得多達叢集大小兩倍或更大自缝倍的-大小為邏 輯頁大小。 磁軌:用於在SSD中管理「大型資料」(粗粒度資料)的 管理單TO 如’-磁軌大小係設定使得多達叢集大小 兩倍或更大自然數倍的-大小為磁軌大小且多達磁軌大小 兩倍或更大自然數倍的-大小為邏輯區塊大小。 自由區塊(FB):在-NAND型快閃記憶趙上未分配用途 的一邏輯區塊。當未將-用途分配給自由區塊時,自由區 塊係在抹除之後使用。 損壞區塊(BB):在>^八>1〇型快閃記憶體上因為一大量錯 誤而無法用作―儲存區域的—實體區塊。例如,將—抹^ 操作不正常結束的一實體區塊登錄為損壞區塊B B。牙、 寫入效率:在一預定週期内相對於從主機寫入的一資 數量的邏輯區塊之一抹除數量的一統計值。寫入效率趣 小,NAND型快閃記憶體之一磨損程度越小。 有效叢集:儲存最近資料的一叢集。 無效叢集:儲存非最近資料的一叢集。 有效磁軌:儲存最近資料的一磁軌。 無效磁執:儲存非最近資料的一磁軌。 緊縮:在管理物件中從一邏輯區塊中僅擷取有效叢集與 有效磁軌並將有效叢集與有效磁軌重寫於一新邏輯、 内。 匕魂 137071.doc • 12- 200941218 [第一具體實施例] 圖i係一 SSD(固態驅動器)100之—組態範例之一方塊 圖。SSD 1〇〇係、經由一記憶體連接介面(諸如一 ΑτΑ介面 (ATA I/F) 2)來連接至-主機裝置!(諸如—個人電腦或一 cpu核心)並用作主機裝的一外部儲存器。ssd 1〇〇可 經由一通信介面3(諸如一 RS232C介面(RS232c ι/ρ))將資料 發送至一用於除錯及製造檢驗之裝置2〇〇並從其接收資 料。SSD 100包括一 NAND型快閃記憶體(以下簡稱為 NAND記憶體)1〇,其作為一非揮發性半導艘記憶體;一駆 動控制電路4 ’其作為一控制器;一 DRAM 2〇,其作為一 揮發性半導體s己憶體;一電源供應電路5 ; 一用於狀態顯 示的LED 6; -溫度感測器7’其偵測在一驅動器内的溫 度;及一保險絲8。 電源供應電路5從供應自在主機裝置丨側上的一電源供應 電路的外部直流電源來產生複數個不同内部直流電源供應 電壓並將該些内部直流電源供應電壓供應至SSD 1〇〇内的 個別電路。電源供應電路5偵測一外部電源供應的一上升 邊緣,產生一電源開啟重設信號,並將該電源開啟重設信 號供應至驅動控制電路4。保險絲8係提供於主機裝置i側 上的電源供應電路與SSD 100内的電源供應電路5之間。當 從一外部電源供應電路供應一過電流時,保險絲8係斷開 以防止該等内部電路之故障。 在此情況下,NAND記憶體1〇具有實行四個並聯操作的 四個並聯操作元件l〇a至10d。一並聯操作元件具有兩個 137071.doc -13· 200941218 NAND記憶體封裝。該等NAND記憶體封裝之每一者包括 複數個堆疊NAND記憶晶片(例如,1晶片=2 GB)。在圖1之 情況下,該等NAND記憶體封裝之每一者包括堆疊四個 NAND記憶晶片。NAND記憶體10具有一64 GB的容量。當 該等NAND記憶體封裝之每一者包括堆疊的八個NAND記 憶晶片時,NAND記憶體10具有一 128 GB的容量。 DRAM 20用作用於在主機裝置1與NAND記憶體10之間 的資料傳輸的一快取區與一用於一工作區域之記憶體。可 取代DRAM 20來使用一 FeRAM。驅動控制電路4經由 DRAM 20來實行在主機裝置1與NAND記憶體10之間的資 料傳輸控制並控制SSD 1 00内的個別組件。驅動控制電路4 將用於狀況顯示的一信號供應至用於狀態顯示的LED 6。 驅動控制電路4還具有一功能,其從電源供應電路5接收一 電源開啟重設信號並將一重設信號與一時脈信號供應至在 自己的電路及SSD 100内的個別單元。 該等NAND記憶晶片之每.一者係藉由分配複數個實體區 塊作為資料抹除單元來加以組態。圖2(a)係包括於NAND 記憶晶片内的一實體區塊之一組態範例之一電路圖。每一 實體區塊包括(P+1)個NAND串,其沿一 X方向依序分配(p 係等於或大於0的一整數)。包括與該等(p+1)個NAND串之 每一者内的一選擇電晶體ST1之一汲極係連接至位元線 BL0至BLp且其一閘極係共同連接至一選擇閘極線SGD。 一選擇電晶體ST2之一源極係共同連接至一源極線SL且其 一閘極係共同連接至一選擇閘極線SGS。 137071.doc -14- 200941218 。己隐單元電日日體Μτ之每一者包括—M〇sfet(金氧半導 體場效電晶體),&包括形成於—半導體基板上的堆叠閘 極結構。該堆叠閘極結構包括—電荷儲存層(―浮動問極 電極)’其係經由一閘極絕緣媒來形成於該半導體基板 及控制閘極電極,其係經由_開極間絕緣膜來形成 於該電荷存層上。臨限電壓依據累積於該浮動閘極電極 内的電子數目而變化。記憶單元電晶體『依據一臨限電 麼差異來儲存資料。記憶單元電晶體MT可經組態用以儲 存一位元或可經組態用以儲存多個值(等於或大於兩個位 元的資料)。 記憶單元電晶體MT不限於具有浮動閘極電極的結構並 可以係諸如一 MONOS(金屬·氧化物-氮化物_氧化物_矽)型 的結構,其可藉由引起一氮化物膜介面作為一電荷儲存層 以捕獲電子來調整一臨限值。類似地,該M〇N〇s結構之 記憶單元電晶體MT可經組態用以儲存一位元或可經組態 用以儲存多個值(等於或大於兩個位元的資料)。 在該等NAND串之每一者中,(q+1)個記憶單元電晶體1^丁 係配置於選擇電晶體st 1之源極與選擇電晶體ST2之汲極 之間,使得其電流路徑係串聯連接。換言之,該等記憶單 元電晶體MT係在一 γ方向上串聯連接使得該等記憶單元電 晶體MT之相鄰者共用一擴散區(一源極區或一汲極區 該等記憶單元電晶體MT之控制閘極電極係從位於最高 沒極侧的s己憶卓元電晶體MT依序分別連接至字線WL0至 WLq。因此,連接至字線WL0的記憶單元電晶體MT之一 137071.doc 200941218 汲極係連接至選擇電晶體ST1之源極。連接至字線WLq的 記憶單兀電晶體MT之一源極係連接至選擇電晶體ST2之汲 極。 參 ❹ 該等字線WL0至WLq在該實體區塊内的該等NAND串中 共同連接該等記憶單元電晶體Μτ之控制閘極電極。換言 之,存在於一相同列内的該等記憶單元電晶體MT之控制 閘極係連接至一相同字線WLe連接至相同字線WLib+G 個記憶單元電晶體MT係作為一頁(實體頁)來處理。資料寫 入及資料讀出係藉由每一實體頁來實行。 該等位元線BL0至BLp在該等區塊中共同連接選擇電晶 體ST1之没極。換言之’在複數個區塊中存在於一相同行 内的該等NAND串係連接至一相同位元線 圖2(b)係(例如)在用於在一記憶單元電晶體MT内儲存兩 個位元的一四進制資料儲存模式下的一臨限分佈之一示意 圖。在該四進制資料储存模式下’由上頁資料「X」與下
頁資料「y」所定義的四進制「xy」之任一者可儲存於記 憶单元電晶體内D 作為四進制資料「xy」,例如按記憶單元電晶艘ΜΤ之 臨限電壓之次序來八 斤來分配「11」、「01」、「00」及 「10」。資料「n j么 11」係一抹除狀態,其中記憶單元電晶 ΜΤ之臨限電壓為負。 「在下頁寫入操作中,資料「10」係依據下位元資料 來選擇性寫入於具有資料「11」之記憶單元 電日日體ΜΤ(處於抹除狀 . 不咏狀態下)内。在上頁寫入之前的資料 137071.doc •16- 200941218 「10」之一臨限分佈係大約位於在上頁寫入之後的資料 「01」與資料「〇〇」之臨限分佈中間並可比在上頁寫入之 後的一臨限分佈更寬。在一上頁寫入操作中,上位元資料 「X」之寫入係選擇性施加至資料「11」之一記憶單元與 資料「10」之一記憶單元。將資料「01」與資料「00」寫 : 入於該等記憶單元内。 : 圖3係驅動控制電路4之一硬體内部組態範例之一方塊 圖。驅動控制電路4包括一資料存取匯流排1〇1、一第一電 β 路控制匯流排1 〇2及一第二電路控制匯流排1 〇3。控制整個 驅動控制電路4的一處理器1 04係連接至第一電路控制匯流 排102。一啟動ROM 105係經由一 ROM控制器106來連接至 第一電路控制匯流排102 ’在該啟動R〇M中儲存用於啟動 儲存於NAND記憶體10内之個別管理程式(fw :韌體)之一 啟動程式。一時脈控制器107係連接至第一電路控制匯流 排102,該時脈控制器從圖1中所示之電源供應電路5接收 ©該電源開啟重設信號並將一重設信號與一時脈信號供應至 該等個別單元。 第二電路控制匯流排103係連接至第一電路控制匯流排 102。用於從圖1所示之溫度感測器7接收資料的一i2c電路 108、供應一用於狀況顯示之信號至用於狀態顯示之led 6 的一並聯IO(PIO)電路109及控制RS232C I/F 3的一串列 IO(SIO)電路11〇係連接至第二電路控制匯流排1〇3。 一 ΑΤΑ介面控制器(ΑΤΑ控制器)111、一第一 ECC(錯誤 檢查及校正)電路112、一NAND控制器113及一 DRAM控制 137071.doc -17- 200941218 器114係連接至資料存取匯流排101與第一電路控制匯流排 102兩者。ΑΤΑ控制器ln經由ATA介面2來發送資料至主 機裝置1並從其接收資料。用作一資料工作區域與一韌體 擴展區域的-SRAM 115係經由—SRAM控制器116來連接 至資料存取匯流排。當開始儲存於NAND記憶體10内的 韌體時,該韌體係藉由儲存於啟動尺〇河1〇5内的啟動程式 : 來傳輸至SRAM 115。 NAND控制器113包括一 NAND I/F 117,其實行用於介 響 接NAND記憶體10之介面處理;一第二ECC電路ιΐ8;及用 於DMA傳輸控制的一DMA控制器119,其實行在nand記 憶體10與DRAM 20之間的存取控制。第二ECC電路118實 行一第二校正碼之編碼並實行一第一錯誤校正碼之編碼及 解碼。第一 ECC電路112實行一第二錯誤校正碼之解碼。 該第一錯誤校正碼與該第二錯誤校正碼係(例如)一漢明碼 (hamming code) > - BCH (Bose Chaudhuri Hocqenghem) 藝碼、一RS(李德所羅門(Reecj Solomon))碼或一LDPC(低密 度同位檢查)碼。該第二錯誤校正碼之校正能力係高於該 第'錯誤校正碼之校正能力。 如圖1及3中所示,在NAND記憶體1〇中,該四個並聯操 作元件10a至10d係經由四個八位元通道(4 ch)來並聯連接 至驅動控制電路4内的NAND控制器112。依據是否獨立致 動或並聯致動該四個並聯操作元件1〇&至1〇(1與是否使用 NAND記憶晶片内所提供之一倍速模式(多頁程式/多頁讀 取/多區塊抹除)的一組合來提供下面所解釋的三種存取模 137071.doc •18- 200941218 式。 (1) 8位元正常模式 /元正*模式係用於僅致動一通道並按8位元單元來 實灯資料傳輸的—模式。寫人及讀出係按實體頁大小(4 kB)來實行。抹除係按實體區塊大小(512 kB)來實行。一邏 輯區塊係與一實體區塊相關聯且一邏輯區塊大小係512 kB ° (2) 32位元正常模式 一 32位元正常模式係用於並聯致動四個通道並按32位元 單元來實行資料傳輸的一模式。寫入及讀出係按實體頁大 小x4(16 kB)來實行。抹除係按實體區塊大小χ4(2 μβ)來實 行。一邏輯區塊係與四個實體區塊相關聯且一邏輯區塊大 小係2 MB。 (3) 32位元倍速模式 一 32位元倍速模式係用於並聯致動四個通道並使用 NAND記憶晶片之一倍速模式來實行寫入及讀出的一模 式。寫入及讀出係按實體頁大小x4x2(32 kB)來實行。抹除 係按實體區塊大小X4X2(4 MB)來實行。一邏輯區塊係與八 個實體區塊相關聯且一邏輯區塊大小係4 mb。 在用於並聯致動四個通道的32位元正常模式或32位元倍 速模式中,並聯操作的四個或八個實體區塊係用於NANd 記憶體10的抹除單元且並聯操作的四個或八個實體頁係用 於NAND記憶體1〇之寫入單元及讀出單元。在下面所解釋 之操作中,基本上使用32位元倍速模式。例如,假定一邏 137071.doc -19- 200941218 輯區塊=4 MB=2j個磁軌=2j頁=2k個叢集=21個磁區(i、j、k 及1係自然數並保持i<j<k<l的一關係)。 在該32位元倍速模式下存取的一邏輯區塊係按4 MB單 元來存取。八個(2x4 ch)實體區塊(一實體區塊=512 kB)係 與該邏輯區塊相關聯。當偵測到按實體區塊單元管理的損 • 壞區塊BB時,該損壞區塊BB係不可使用。因此,在此一 : 情泥下,改變與該邏輯區塊相關聯的八個實體區塊之一組 合以不包括該損壞區塊BB。 ® 圖4係處理器1〇4所實現之韌體之一功能組態範例之一方 塊圖。處理器104所實現之韌體之功能係大致分類成一資 料管理單元120、一 ΑΤΑ命令處理單元121、一安全管理單 元122、一啟動載入器123、一初始化管理單元124及一除 錯支援單元125。 資料管理單元12〇經由NAND控制器112與第一 ECC電路 114來控制在NAND記憶體10與DRAM 20之間的資料傳輸 _ 及各種關於NAND記憶體10之功能。ΑΤΑ命令處理單元121 經由ΑΤΑ控制器11 〇與DRAM控制器11 3與資料管理單元 120協作地實行在DRAM 20與主機裝置1之間的資料傳輸處 理。安全管理單元122與資料管理單元120及ΑΤΑ命令處理 單元121協作地管理各類安全資訊。 在一電源供應開啟時,啟動載入器123將該等管理程式 (韌體)從NAND記憶體1〇載入至SRAM 120。初始化管理單 元124實行在驅動控制電路4中的個別控制器及電路之初始 化。除錯支援單元125處理經由RS232C介面供應自外部之 137071.doc -20- 200941218 除錯用資料。資料管理單元12〇、ΑΤΑ命令處理單元121及 安全管理單元122主要係由處理器104執行儲存於SRAM 114内之管理程式來實現的功能單元。 在此具體實施例中,主要解釋資料管理單元12〇所實現 之功能。資料管理單元120實行(例如)提供ΑΤΑ命令處理單 元121請求作為儲存器件之NAND記憶艎10與DRAM 20提 供(回應來自主機裝置之各種命令’諸如一寫入請求、一 快取清空請求及一讀取請求)的功能、管理在一位址區與 NAND記憶體1 〇之間的一對應關係及保護管理資訊、使用 DRAM 20與NAND 10提供快速且高效率的資料讀出及寫入 功能、確保NAND記憶體1 〇之可靠性。 圖5係在NAND記憶體1〇與DRAM 2〇内所形成之功能區 塊之一圖式。在DRAM 20上所組態的一寫入快取區 (WC)21與一讀取快取區(RC)22係插入於主機i與nand記 憶體10之間。WC 21暫時儲存來自主機裝置1之寫入資 料。RC 22暫時儲存來自NAND記憶體1〇之讀取資料。在 NAND記憶體10内的該等邏輯區塊係藉由資料管理單元12〇 依序分配給一前級儲存區域(FS :前面儲存器)12、一中間 級儲存區域(IS:中間儲存器)13及一主 主健存區域(MS :主
137071.doc •21 · 200941218 軌單元(即,「大型單元)來
;水爾;來自WC 21、FS 12及IS 13之資料持續一較長週期。例如 例如’儲存容量係成MS>IS且 FS>WC的一關係。 當將小型管理單元應用於NAND記憶體1〇的所有儲存區 域時’-管理表(稱後解釋)之—大小會增大且在dram 2〇 内不適合。因此’ NAND記憶體1〇之個別儲存器係經組態 用以僅按小型管理單元在NAND記憶體1〇内管理剛好最近 寫入的資料與具有較低寫入效率之小型資料。 圖6係與從WC 21至NAND記憶體1〇之寫入處理(…尺處 理)相關的一更詳細功能方塊圖。緩衝來自2丨之資料的 一 FS輸入緩衝器(FSIB)12a係提供於FS u之一前級處。緩 衝來自WC 21、FS 12或IS 13之資料的一 MS輸入緩衝器 (MSIB)l la係提供於MS 11之一前級處。一磁執前級儲存區 域(TFS)llb係提供於MS 11内。TFS lib係一緩衝器,其具 有插入於MSIB 11a與MS 11之間的FIFO(先進先出)結構。 記錄於TFS lib内的資料係具有一更新頻率的資料,該更 新頻率高於從MSIB 11a直接寫入於MS 11内之資料的更新 頻率。在NAND記憶體10内的該等邏輯區塊之任一者係分 配給 MS 11、MSIB 11a、TFS lib、FS 12、FSIB 12a 及 IS 13 〇 詳細解釋圖5及6中所示之個別組件之特定功能組態。當 主機裝置1針對SSD 100實行讀取或寫入時,主機裝置1經 由該ΑΤΑ介面來輸入LB A(邏輯區塊定址)作為一邏輯位 址。如圖7中所示,該LB A係一邏輯位址,其中將從〇的序 137071.doc •22· 200941218 號附在磁區上(大小:512 B)。在此具體實施例中,作為用 於圖5中所示之組件的冒(:Μ、22、FS 12、IS 13及MS 11之管理單元,定義一邏輯叢集位址,其係由一位元串所 形成’該位元串在序位上等於或高於該LB A之一低序位第 (Ι-k+l)個位元;及一邏輯磁軌位址,其係由位元串所形 成,該位元串在序位上等於或高於該LBA之一低序位第… 1+1)個位元》—叢集=2(1-k)個磁區而一磁軌=2+0個叢集。 讀取快取區(RC) 22 解釋RC 22。RC 22係一區域,其用於回應來自ATA命令 處理單το 121之一讀取請求來暫時儲存來自nanD記憶體 l〇(FS 12、IS 13及MS 11)之讀取資料。在此具體實施例 中,RC 22係採取(例如)一 n^/n路(m為等於或大於2(叫的 一自然數而η為等於或大於2的一自然數)集合相聯系統來 管理並可在一項目中儲存用於一叢集的資料。一線係由邏 輯叢集位址之LSB (k-i)個位元來決定。rc 22可採取一全 相聯系統來管理或可採取一簡單FIFO系統來管理。 寫入快取區(WC) 21 解釋WC 21。WC 21係一區域,其用於回應來自ATA命 令處理單元121之一寫入請求來暫時儲存來自主機裝置1之 寫入資料。WC 21係採取一 111線/11路(111為等於或大於2(k-i} 的一自然數而η為等於或大於2的一自然數)集合相聯系統 來管理並可在一項目中儲存用於一叢集的資料。一線係由 邏輯叢集位址之LSB (k-i)個位元來決定。例如,從一路1 至一路η依序來搜尋一可寫入路。登錄KWC 21内的磁軌 137071.doc • 23- 200941218 係由稍後所解釋的一 WC磁軌管理表242Fif〇結構採取 LRU(最近最;MU)來加以㈣使得最早更新次序係已 知。wc 21可藉由全相聯系統來管理。wc 21可在線數目 及路數目上與RC 22不同。 依據該寫入請求寫入的資料係一次儲存於wc 21上。一 ·· 種決定資料以從WC 21彳空至NAND !〇之方法遵守下面所 : 解釋之規則。 ⑴當在由_標籤所決^之—線内的—可寫人路係-最後 (在此具體實施例令第η個)自由路時,即當使用最後自由路 時,決定在登錄於該線内的磁軌中基於一LRU最早更新的 一磁軌來加以清空。 (ii)當在WC 21内所登錄的不同磁軌之數目超過一預定數 目時,決定在一WC内具有小於該預定數目之叢集數目的 磁軌以按LRU次序加以清空。 依據以上所解釋之該等政策來決定欲清空的磁軌。在清 響 空該等磁執時,清空包括於一相同磁軌内的所有資料。當 欲清空資料之一數量超過(例如)一磁軌大小之5時將 . 該資料清空至MS 11。當欲清空資料之一數量不超過(例 如)一磁軌大小之5〇%時,將資料清空至FS 12。 當在條件(i)下實行磁軌清空且將資料清空至MS丨丨時, 依據政策⑴選擇在WC 21内的該等磁軌中滿足欲清空資料 之一數量超過一磁軌大小之50%之一條件的一磁軌並添加 至/青空候選者直至欲清空磁軌之數目到達2'(當從開始的磁 軌數目等於或大於2i時’直至磁軌數目到達2i + i)。換言 137071.doc -24- 200941218 2當欲清空磁軌之數目小於,從該wc内的最舊磁軌 依序選擇具有超過心1)之有效叢集的磁軌並添加至該等 μ空候選者直至磁軌數目到達。 當在條件⑴下實行絲清空絲磁軌清空至fs 12時, 纟WC 21内的該等磁軌中按LRU次序來選擇滿足欲清空資 料之-數量不超過-磁軌大小之5〇%之條件的一磁軌且將 ; 該磁軌之叢集添加至該等清空候選者直至欲清空叢集之數 目到達2。換s之,藉由從最舊者依序追蹤該内的該 #磁軌來從具有2叫)或更少有效叢集之磁軌中揭取叢集 且备有效叢集數目到達2*^時,按邏輯區塊單元將該等叢集 /月空至FSIB 12a。但是,當未發現2k個有效叢集時,按邏 輯頁單元將叢集清空至FSIB 12a。用於決定是否按邏輯區 塊單元或邏輯頁單元來實行清空至FS 12的有效叢集數目 之一臨限值不限於用於一邏輯區塊的一值(即,2k)並可以 係略微小於用於一邏輯區塊的值。 g 在來自ΑΤΑ命令處理單元121之一快取清空請求時,在 與以上相同的條件下將WC 21的所有内容清空至fs 12或 Ms 11(當欲清空資料之一數量超過一磁軌大小之5〇%時, . 將資料清空至MS 11且當資料之數量不超過5〇%時,將資 料清空至FS 12)。 前級儲存區域(FS) 12 解釋FS 12。FS 12適應邏輯區塊單元的一 fifo結構,其 中按叢集單元來管理資料。FS 12係一緩衝器,其用於認 為穿過FS 12之資料均具有高於後級處IS 13之更新頻率的 137071.doc -25- 200941218 一更新頻率。換言之,在FS 12之FIFO結構中,當實行從 主機在相同位址内進行重寫時使穿過該FIFO之一有效叢集 (一最近叢集)無效。因此,穿過FS 12之叢集可視為具有t 於從FS 12清空至IS 13或MS 11之一叢集之更新頻率的一 更新頻率_。 藉由提供FS 12,降低在後級處IS 13内的緊縮處理中混 合具有一較高更新頻率之資料的可能性。當藉由該無效將 儲存舊叢集的一邏輯區塊之有效叢集數目降低至〇時,釋 放該邏輯區塊並分配給自由區塊FB。當使該邏輯區塊無效 時,獲取一新自由區塊FB並將其分配給fs 12。 當實行將叢集資料從WC 21移動至FS 12時,將叢集寫入 於分配給FSIB 12a的一邏輯區塊内。當完成所有頁寫入的 區塊存在於FSIB 12a内時,藉由稍後所解釋的CIB處理來 將該等區塊從FSIB 12a移動至FS 12。在將該等區塊從 FSIB 12a移動至FS 12時,當FS 12之區塊數目超過允許用 於FS 12的一預定上限值時,將一最舊區塊從Fs 12清空至 IS 13或MS 11。例如,將具有磁軌内有效叢集之一比率等 於或大於50%的一磁轨寫入於MS 11(TFS Ub)内且將其中 保留有效叢集的一區塊移動至IS 13。 作為在NAND記憶體1〇内組件間的資料移動,存在兩個 方式,即移動與複製。移動係一種直接實行一管理表(稍 後解釋)之一指標之重定位且不實行實際重寫資料的方 法。複製係一種按頁單元、磁轨單元或區塊單元將儲存於 —組件内之資料實際重寫至其他組件的方法。 13707l.doc 26 - 200941218 中間級儲存區域(IS)13 解釋IS 13。在IS 13中,資料管理係以與fs 12相同的方 式按叢集單元來實行。儲存於IS 13内的資料可視為具有一 較低更新頻率之資料。當實行將一邏輯區塊從Fs丨2移動 (移動)至IS 13,即從FS 12清空該邏輯區塊時,將由指標 之重定位將先前作為FS 12之一管理物件的作為一清空物 件的一邏輯區塊變成IS 13之一管理物件區塊。依據該邏輯 區塊從FS 12至18 13之移動,當IS 13之區塊數目超過允許 用於IS 13之一預定上限值時,即當在18内可寫入自由區塊 FB之數目減少至小於一臨限值時,執行從IS 13至^^§ "之 資料清空以及緊縮處理„IS丨3之區塊數目返回至一指定 值。 IS 13使用在一磁軌内的有效叢集數目來執行下面所解釋 之清空處理及緊縮處理。 磁軌係按有效叢集數目x有效叢集係數之次序來分類(該 數目依據一磁軌是否存在於在河8 n内的其中存在一無效 磁軌的-邏輯區塊内來加權;該數目在無效磁軌存在時比 在無效磁轨不存在時更大)。收集具有一較大乘積值的2i+1 個磁軌(用於兩個邏輯區塊),增加至多達—邏輯區塊大小 之自然數倍’然後清空至MSIB lla。 當具有-最小數目有效叢集之兩個邏輯區塊的有效叢集 之一總數係(例如)等於或大於一預定設定值2k(用於一 區塊)時,重複以上所解釋之步驟(以實行該步驟直至可從 IS内的兩個邏輯區塊建立一自由區塊FB)。 137071.doc -27· 200941218 從具有一最小數目有效叢集之邏輯區塊依序收集2k個叢 集並在該IS内實行緊縮。 此處’選擇具有最小數目有效叢集之兩個邏輯區塊。但 是,該數目不限於兩個且僅須為等於或大於二的一數目。 該預定設定值僅須在比選定邏輯區塊數目小一的邏輯區塊 數目内等於或小於可儲存的叢集數目。 主儲存區域(MS) 11 解釋MS 11。在MS 11中’按磁軌單元來實行資料管 理。儲存於MS 11内的資料可視為具有一較低更新頻率。 當實行從WC 21、FS 12或IS 13將磁軌資料複製或移動至 MS 11時,將該磁軌寫入於分配給MSIB iu的一邏輯區塊 内另一方面,當僅將在該磁軌之一部分内的資料(叢集) 從一 WC等寫入時,實行被動合併(稍後解釋),其用於合併 在一現有MS内的磁軌資料與新資料以建立新磁軌資料並 接著將該建立磁軌資料寫入kMSIB 118内。當在Ms ^内 累積無效磁軌且分配給MS u之邏輯區塊之數目超過允許 用於MS U之區塊數目之上限時,實行緊縮處理以建立一 無效自由區塊FB。 作為MS U之緊縮處理,例如,實施一種方法(下面解 釋)’其僅關注在一邏輯區塊内的有效磁軌數目。 邏輯區塊係從具有-最小數目有效磁軌者中選擇直至可 藉由組合無效磁軌來建立一無效自由區塊FB。 執行緊縮,同時實行用於整合儲存於該等選定邏 之磁軌與在WC21'FS12或IS13内的資料的被動合併。 137071.doc -28- 200941218 其中可整合2{個磁軌的一邏輯區塊係輸出至TFS llb(2i 個磁軌MS緊縮)且數目小於21的磁軌係輸出至MSIB 11a(小 於21個磁軌緊縮)以建立一更大數目的無效自由區塊FB。 TFS 1 lb係其中按磁軌單元來管理資料的一 FIFO。TFS lib係一緩衝器,其用於認為穿過TFS lib之資料具有高於 : 在後級處MS 11之更新頻率的一更新頻率。換言之,在 : TFS 1 lb之FIFO結構中,當實行從主機在相同位址内進行 重寫時使穿過該FIFO的一有效磁軌(一最近磁軌)無效。因 ® 此,穿過TFS lib的一磁軌可視為具有高於從TFS lib清空 至MS 11之一磁軌之更新頻率的一更新頻率。 圖8係一種用於資料管理單元120控制並管理圖5及6中所 示之個別組件的管理表之一圖式。如上所解釋,資料管理 單元120具有橋接ΑΤΑ命令處理單元121與NAND記憶體10 之功能並包括一 DRAM層管理單元120a,其實行儲存於 DRAM 20内之資料之管理;一邏輯NAND層管理單元 120b,其實行儲存於NAND記憶體10内之資料之管理;及 一實體NAND層管理單元120c,其管理作為一實體儲存器 件的NAND記憶體10。一 RC叢集管理表23、一 WC磁軌管 理表24及一 WC叢集管理表25係由DRAM層管理單元120a 來加以控制。一磁軌管理表30、一FS/IS管理表40、一MS 邏輯區塊管理表35、一 FS/IS邏輯區塊管理表42及一 FS/IS 内叢集管理表44係由邏輯NAND層管理單元120b來加以管 理。一邏輯至實體轉譯表50係由實體NAND層管理單元 120c來加以管理。 137071.doc -29- 200941218 RC 22係由一反向查找表的RC叢集管理表23來加以管 理。在該反向查找表中’從一儲存器件之一位置,可搜尋 儲存於該位置内的一邏輯位址。WC 21係由一反向查找表 的WC叢集管理表25與一正向查找表的WC磁軌管理表24來 加以管理。在該正向查找表中,從一邏輯位址,可搜尋其 中存在對應於該邏輯位址之資料的一儲存器件之一位置。 在 NAND 記憶體 10 内的 FS 12(FSIB 12a)、IS 13 及 MS 11(TFS lib與MSIB 11a)之邏輯位址係由磁軌管理表3〇、 FS/IS管理表40、MS邏輯區塊管理表35、FS/IS邏輯區塊管 理表42及FS/IS内叢集管理表44來加以管理。在NAND記憶
體 10内的 FS 12(FSIB 12a)、IS 13及MS 11(TFS lib與MSIB 11 a)内’實行邏輯至實體轉譯表5〇之一邏輯位址與一實體 位址之轉換。該些管理表係儲存於NAND記憶體1〇上的一 區域内並從NAND記憶體讀取至DRAM 20上並於SSD 100 之初始化期間使用。 RC叢集管理表23(反向查找) 參考圖9來解釋RC叢集管理表23。如上所解釋,Rc 22 係採取由邏輯叢集位址LSB (k-i)個位元所編索引的n路集 合相聯系統來加以管理。RC叢集管理表23係一種用於管 理RC(叢集大小xm線χη路)22之個別項目之標籤的表。該 等標籤之每一者包括一狀態旗標23a’其包括複數個位 元;及一邏輯磁軌位址23b。除了指示是否可使用項目(有 效/無效)的一有效位元外,狀態旗標23a還包括(例如)一位 元,其指示項目是否處於等待從NAND記憶體丨〇中讀出; 137071.doc •30· 200941218 及一位元,其指示項目是否處於等待讀出至ΑΤΑ命令處理 單元121。RC叢集管理表23用作一反向查找表,其用於從 在DRAM 20上的一標籤儲存位置搜尋符合LBA的一邏輯磁 軌位址。 WC叢集管理表25(反向查找) 參考圖10來解釋WC叢集管理表25。如上所解釋,WC 21係採取由邏輯叢集位址LSB(k-i)個位元所編索引的η路集 合相聯系統來加以管理。WC叢集管理表25係一種用於管 理WC(叢集大小xm線χη路)21之個別項目之標籤的表。該 等標籤之每一者包括複數個位元的一狀態旗標25a、一磁 區位置位元映射25b及一邏輯磁軌位址25c。 除了指示是否可使用項目(有效/無效)的一有效位元外, 狀態旗標25a包括(例如)一位元,其指示項目是否處於等待 清空至NAND記憶體10;及一位元,其指示項目是否處於 荨待從ΑΤΑ命令處理單元121寫入。磁區位置位元映射25b 藉由擴展2(1_k)個磁區成2(1-k)個位元來指示在一叢集内所包 括之2(1_k)個磁區之哪些者儲存有效資料。使用磁區位置位 元映射25b,可在WC 21内實行與LBA相同的按磁區單元管 理。WC叢集管理表25用作一反向查找表,其用於從在 DRAM 20上的一標藏儲存位置搜尋符合LBA的一邏輯磁軌 位址。 WC磁軌管理表24(正向查找) 參考圖11來解釋WC磁軌管理表24。WC磁軌管理表24係 一種用於管理資訊之表’其中按磁軌單元來收集儲存於 137071.doc -31 · 200941218 WC 21上的叢集並使用具有—似fIFO功能之連結清單結構 來表示在該等磁軌中在WC 21内的登錄次序(LRU)。LRU 可由在WC 21中最後更新的次序來表示。每一清單之一項 目包括一邏輯磁軌位址24a、包括於該邏輯磁軌位址内的 WC 21内有效叢集數目24b、一路線位元映射24c及指示下 一項目之一指標的一下一指標24d。WC磁軌管理表24用作 一正向查找表’因為從邏輯磁轨位址24a獲得所需資訊。 路線位元映射24c係映射資訊,其指示在wc 21内包括 於該邏輯磁軌位址内的一有效叢集儲存於在WC 2 1内的 mxn個項目之哪些項目中。有效位元係在其中儲存有效叢 集之一項目中為「1」。路線位元映射24c包括(例如)(一位 元(有效)+ logzn位元(η路))xm位元(m線)。WC磁軌管理表 24具有該連結清單結構。鍵入僅關於存在於wc 21内的該 邏輯磁軌位址的資訊。 磁軌管理表30(正向查找) 參考圖12來解釋磁軌管理表30 ^磁軌管理表3〇係一種用 於按邏輯磁軌位址單元來管理MS 11上的一邏輯資料位置 的表。當按叢集單元將資料儲存於FS 12或IS 13内,磁軌 管理表30儲存關於該資料的基本資訊與詳細資訊的一指 標。磁軌管理表30係以具有一邏輯磁軌位址3〇&作為一索 引的一陣列格式來組態。具有邏輯磁軌位址3〇&作為一索 引的每一項目包括資訊,諸如一叢集位元映射3〇b、一邏 輯區塊ID 30c +—邏輯區塊内磁軌位置3〇d、一叢集表指伊、 、FS叢集數目30f及IS叢集數目30g。磁軌管理表3〇用 137071.doc •32· 200941218 作正向查找表,因為使用一邏輯磁軌位址作為一索引來 儲存所需資訊,諸如其中對應於該邏輯磁軌位址之一邏輯 磁軌的一邏輯區塊ID(對應於一儲存器件位置)。 叢集位元映射30b係一位元映射,其係藉由按叢集位址 之遞升次序將屬於一邏輯磁軌位址範圍的2(^個叢集劃分 成(例如)八個來獲得。八個位元之每一者指示對應於2(k-i_3) 個叢集位址的叢集是否存在於MS 11或存在於FS 12或IS 13内。當該位元為「〇」時,此指示作為搜尋物件的該等 叢集確實存在於MS 11内。當該位元為「1」時,此指示該 等叢集可能存在於FS 12或IS 13内。 邏輯區塊ID 30c係用於識別其中儲存對應於該邏輯磁執 位址之一邏輯磁軌的一邏輯區塊ID的資訊。邏輯區塊内磁 軌位址30d指示在邏輯區塊ID 30c所指定之邏輯區塊内對 應於該邏輯磁軌位址(3〇a)之一磁軌的一儲存位置。因為一 邏輯區塊包括最大21個有效磁軌,故邏輯區塊内磁軌位置 30d使用i個位元來識別個磁軌位置》 叢集表指標30e係具有該連結清單結構之FS/IS管理表40 之每一清單之一頂部項目的一指標。在搜尋遍及叢集位元 映射30b時,當指示該叢集可能存在於FS 12或IS 13内時, 藉由使用叢集表指標30e來執行搜尋遍及FS/IS管理表40。 FS叢集數目30f指示存在於FS 12内的有效叢集數目。is叢 集數目30g指示存在於IS 13内的有效叢集數目。 FS/IS管理表40(正向查找) 參考圖13來解釋FS/IS管理表40。FS/IS管理表40係用於 137071.doc -33- 200941218 按邏輯叢集單元來管理儲存於FS 12(包括FSIB 12a)或IS 13 内之資料之一位置的一表。如圖13中所示,;pS/IS管理表 40係以一獨立連結清單格式來形成用於每一邏輯磁轨位 址。如上所解釋,每一清單之一頂部項目之一指標係儲存 於磁軌管理表30之叢集表指標30e之一攔位内。在圖13 中,顯示用於兩個邏輯磁軌位址的連結清單。每一項目包 . 括邏輯叢集位址40a ' —邏輯區塊ID 40b、一邏輯區塊 内叢集位置40c、一 FS/IS區塊ID 40d及一下一指標4〇e。 © FS/IS管理表4〇用作一正向查找表,因為從邏輯叢集位址 4〇a獲得所需資訊,諸如其中儲存對應於邏輯叢集位址 之邏輯叢集的邏輯區塊ID 40b與邏輯區塊内叢集位址 4〇c(對應於一储存器件位置)。 邏輯區塊ID 40b係用於識別其中儲存對應於邏輯叢集位 址40a之邏輯叢集的一邏輯區塊ID的資訊。邏輯區塊内 叢集位置40c指示在邏輯區塊m 4〇b所指定之一邏輯區塊 φ 内對應於邏輯叢集位址40a之一叢集的一儲存位置。因為 一邏輯區塊包括最大2k個有效叢集,故邏輯區塊内磁軌位 . 置4〇C使用让個位元來識別2k個位置。作為稍後所解釋之 ; 心18邏輯區塊管理表42之—索引,將-FS/IS區塊ID登錄 於FS/IS區塊ID 40<1内。簡8區塊①係用於識別屬於咫η 或13之邏輯區塊的資訊。在FS/IS管理表40内的FS/IS 區塊ID 4〇£1係么錄用於連結至稍後所解釋之邏輯區塊 管理表42。下一指標術指示連結用於每一邏輯磁軌位址 的在相同清單内的下一項目之一指標。 137071.doc •34- 200941218 MS邏輯區塊管理表35(反向查找) 參考圖14來解釋MS邏輯區塊管理表35〇 MS邏輯區塊管 理表35係一種用於單獨管理關於ms 11内所使用之一邏輯 區塊之資訊(例如’儲存哪個邏輯磁軌且一邏輯磁軌是否 可額外記錄)的表。在MS邏輯區塊管理表35中,還登錄關
•於屬於FS 12(包括FSIB 12)與IS 13之邏輯區塊的資訊。MS :邏輯區塊管理表35係以具有一邏輯區塊ID 35a作為一索引 的一陣列格式來形成。項目數目可在128 GB NAND記憶體 ® 1〇之情況下最大為32K個項目。該等項目之每一者包括用 於21個磁軌的一磁軌管理指標35b、有效磁軌數目35c、一 可寫入頂部磁軌35d及一有效旗標35e。MS邏輯區塊管理 表35用作一反向查找表’因為從對應於一儲存器件位置之 邏輯區塊ID 3 5 a獲得所需資訊,諸如儲存於邏輯區塊内的 一邏輯磁軌位置。 磁軌管理指標35b儲存在邏輯區塊ID 35a所指定的邏輯 _ 區塊内對應於21個磁軌位置之每一者的一邏輯磁軌位址。 可能使用該邏輯磁軌位址來搜尋遍及具有邏輯磁軌位址作 為一索引的磁軌管理表30 ^有效磁軌數目35c指示在儲存 於邏輯區塊ID 35a所指定之邏輯區塊内的磁軌中有效磁軌 的數目(最大2j)。可寫入頂部磁軌位置35d指示一頂部位置 (0至2Μ,當完成額外記錄時為21),其在邏輯區塊iD 35a所 指定之邏輯區塊係一額外記錄區塊時額外可記錄。有效旗 標35e係在作為MS 11(包括MSIB 11a)管理邏輯區塊項目時 137071.doc -35- 200941218 FS/IS邏輯區塊管理表42(反向查找) 參考圖15來解釋FS/IS邏輯區塊管理表42。FS/IS邏輯區 塊管理表42係以具有一FS/IS區塊ID 42a作為一索引的一陣 列格式來形成。FS/IS邏輯區塊管理表42係一種用於管理 關於用作FS 12或IS 13之一邏輯區塊之資訊(與一邏輯區塊 ID之對應性、至FS/IS内叢集管理表44之一索引、邏輯區 塊是否額外可記錄等)的表。FS/IS邏輯區塊管理表42係主 要使用FS/IS管理表40内的FS/IS區塊ID 40d來加以存取。 每一項目包括一邏輯區塊ID 42b、一區塊内叢集表42c、 有效叢集數目42d、一可寫入頂部頁42e及一有效旗標 42f «» MS邏輯區塊管理表35用作一反向查找表,因為從對 應於一儲存器件位置之FS/IS區塊ID 42獲得所需資訊,諸 如儲存於該邏輯區塊内的一邏輯叢集。 在登錄於MS邏輯區塊管理表35内的邏輯區塊中對應於 屬於FS 12(包括FSIB 12)與IS 13之邏輯區塊的邏輯區塊1£) 係登錄於邏輯區塊ID 42b内。於區塊内叢集表42c内登錄 至FS/IS内叢集管理表44(稍後解釋)的一索引,其指示藉由 哪個邏輯叢集位址所指定之一邏輯叢集係登錄於一邏輯區 塊内的每一叢集位置内。有效叢集數目42d指示在儲存於 FS/IS區塊ID 42a所指定之邏輯區塊内的叢集中有效叢集的 數目(最大2k)。可寫入頂部頁位置42e指示一頂部頁位置(〇 至汐·1,當完成額外記錄時為21),其在FS/IS區塊ID 42a所 指定之邏輯區塊係一額外記錄區塊時額外可記錄。有效旗 標42f在作為FS 12(包括FSIB 12)或IS 13管理邏輯區塊項目 137071.doc -36- 200941218 時為「1」。 FS/IS内叢集管理表44(反向查找) 參考圖16來解釋FS/IS内叢集管理表44。FS/IS内叢集管 理表44係一種指示哪個邏輯叢集記錄於用作fs 12或1§ 13 之一邏輯區塊内的每一叢集位置内的表。FS/IS内叢集管 理表44具有每一邏輯區塊2j頁Χ2(1^個叢集=2k個項目。在 該邏輯區塊内的叢集位置中對應於第〇至2、丨個叢集位置之 資訊係配置於連續區域内。包括妒條資訊的表係藉由相當 於屬於FS 12與IS 13之邏輯區塊數目(P)的數目來加以儲 存。FS/IS邏輯區塊管理表42之區塊内叢集表42(1係用於該 等P個表的位置資訊(一指標)。配置於該連續區域内的每 一項目44a之一位置指示在一邏輯區塊内的一叢集位置。 作為項目44a之内容,登錄包括由FS/IS管理表4〇所管理之 一邏輯叢集位址的一清單之一指標使得可能識別哪個邏輯 叢集儲存於該叢集位置内。換言之,項目44a不指示一連 結清單之頂部。包括在該連結清單内邏輯叢集位址的一清 單之一指標係登錄於項目44a内。 邏輯至實體轉譯表50(正向查找) 參考圖17來解釋邏輯至實體轉譯表5〇。邏輯至實體轉譯 表50係以具有一邏輯區塊ID 5〇a作為一索引的一陣列格式 來形成。項目數目可在128 GB NAND記憶體1〇之情況下最 大為32K個項目。邏輯至實體轉譯表5〇係一種用於管理關 於一邏輯區塊ID與一實體區塊ID之間轉換及壽命之資訊的 表。該等項目之每一者包括一實體區塊位址5〇b、抹除次 137071.doc -37- 200941218 數5〇c及讀出次數50d。邏輯至實體轉譯表5〇用作一正向查 找表,因為從一邏輯區塊ID獲得所需資訊,諸如一實體區 塊ID(—實體區塊位址)。 實體區塊位址50b指示屬於一邏輯區塊ID 5〇3之八個實 體區塊ID(實體區塊位址)。抹除次數5〇c指示邏輯區塊出 之抹除次數。一損壞區塊(BB)係按實體區塊(512 KB)單元 來加以管理。但是,該抹除次數在該32位元倍速模式下按 一邏輯區塊(4 MB)單元來加以管理。讀出次數5〇d指示邏 β 輯區塊ID之讀出次數。抹除次數5〇c可在(例如)用於調平— NAND型快閃記憶體之重寫次數的磨損調平處理中使用。 讀出次數50d可在用於重寫儲存於一具有劣化保持性質之 實體區塊内之資料的再新處理中使用。 圖8中所示之管理表係藉由下面所解釋之管理物件來加 以整理》 RC管理:RC叢集管理表 _ WC管理:WC叢集管理表與WC磁軌管理表 MS管理:磁軌管理表3〇與MS邏輯區塊管理表35 FS/IS管理:磁軌管理表30、FS/IS管理表4〇、ms邏輯區 塊管理表35、FS/IS邏輯區塊管理表42及FS/IS内叢集管理 表44。 包括MS 11、MSIB 11a及TFS lib的一 MS區域之結構係 採取一 MS結構管理表(未顯示)來加以管理,明確而言,管 理分配給MS 11、MSIB 11a及TFS lib的邏輯區塊等。包 括FS 12、FSIB 12a及IS 13的一 FS/IS區域之結構係採取一 137071.doc -38 - 200941218 。明確而言,管理分 塊等。 FS/IS結構管理表(未顯示)來加以管理 配給FS 12、FSIB 12a及IS 13之邏輯區 讀取處理 • >考圖18中所示的__流程圖來解釋讀取處理。當作為一 ❹
讀出位址的-讀取命令及LBA係輸人自ata命令處理單元 時資料管理單元丨2〇搜尋遍及圖9中所示之rc叢集管 理表23與圖10中所示2WC叢集管理表乃(步驟si〇〇)。明 確而言,資料管理單元120從RC叢集管理表^與貿^叢集 管理表25選擇對應於該LBA之一叢集位址之lsb (k i)個位 元(參見圖7)的線並將以該等選定線之每—路鍵入的邏輯磁 軌位址23b及25c與該LBA之一磁軌位址進行比較(步驟 S110P當存在使得自身中鍵入的一邏輯磁軌位址符合 LBA之一邏輯位址的一路時,資料管理單元12〇將此視為 快取命中。資料管理單元120讀出對應於RC叢集管理表23 或WC叢集管理表25之命中線及路的WC 21或RC 22之資料 並將該資料傳送至ΑΤΑ命令處理單元121 (步驟S115)。 當在RC 22或WC 21内不存在任何命中(步驟sii〇)時,資 料管理單元120搜尋在NAND記憶體10之哪部分内儲存作為 一搜尋物件的一叢集。首先,資料管理單元12〇搜尋遍及 圖12中所示之磁軌管理表3 〇(步驟S120)。磁軌管理表30係 藉由邏輯磁軌位址30a來編索引。因此,資料管理單元12〇 僅檢查符合該LB A所指定之邏輯磁軌位址的邏輯磁軌位址 30a之項目。 資料管理單元120基於需要檢查的該LBA之一邏輯叢集 137071.doc -39- 200941218 位址來從叢集位元映射30b中選擇一對應位元《當該對應 位元指示「0」時,此意謂著該叢集之最近資料確實存在 於該MS内(步驟S130)。在此情況下,資料管理單元120從 在邏輯磁軌位址30a之相同項目内的邏輯區塊id 3〇c與邏 輯區塊内磁軌位置30d獲得邏輯區塊ID與一其中存在該磁 軌的磁軌位置。資料管理單元120使用該LBA之叢集位址 之LSB(k-i)個位元來計算該磁軌位置之一偏移。因此,資 料管理單元120可計算其中儲存對應於NAND記憶體1 〇内該 叢集位址之叢集資料的位置。明確而言,邏輯NAND層管 理單元120b將如上所解釋從磁軌管理表3〇所獲取之邏輯區 塊ID 30c與邏輯區塊内位置3〇d以及該LB A之邏輯叢集位址 之LSB(k-i)個位元給予實體NAND層管理單元120c。 實體NAND層管理單元i2〇c從具有邏輯區塊id作為一索 引的圖17中所示之邏輯至實體轉譯表50獲取對應於邏輯區 塊ID 30c的一實體區塊位址(一實體區塊ID)。資料管理單 元120從邏輯區塊内磁軌位置3〇d計算在所獲取實體區塊1〇 内的一磁軌位置(一磁軌頂部位置)並從該LBA之叢集位址 之LSB(k-i)個位元進一步計算在該實體區塊ID内的該計算 磁軌頂部位置之一偏移。因此,資料管理單元12〇可獲取 在該實體區塊内的叢集資料。資料管理單元12〇經由RC 22 將獲取自NAND記憶體1〇之MS 11的叢集資料傳送至ΑΤΑ 命令處理單元121(步驟S180)。 另一方面,當對應位元基於該LBA之叢集位址在搜尋遍 及叢集位元映射30b中指示「1」時,可能將該叢集儲存於 137071.doc •40- 200941218 FS 12或IS 13内(步驟SI3 0)。在此情況下,資料管理單元 120在磁軌管理表30中的磁軌位址30a之相關項目中擷取叢 集表指標30e之一項目並使用此指標循序搜尋遍及對應於 FS/IS管理表之一相關邏輯磁軌位址的連結清單(步驟 S140)。明確而言,資料管理單元120在相關邏輯磁軌位址 : 之連結清單中搜尋符合該LB A之邏輯叢集位址的邏輯叢集 : 位址40a之一項目。當存在邏輯叢集位址40a之符合項目 (步驟S150)時,資料管理單元1〇2在該符合清單内獲取邏 © 輯區塊ID 40b與邏輯區塊内叢集位置40c。在以上所解釋 之相同方式中,資料管理單元120使用邏輯至實體轉譯表 50來獲取在該實體區塊内的叢集資料(步驟S160與S180)。 明確而言’資料管理單元12〇從邏輯至實體轉譯表50中獲 取對應於所獲取邏輯區塊ID的一實體區塊位址(一實體區 塊ID)(步驟S 160)並從獲取自邏輯區塊内叢集位址4〇c之一 項目的一邏輯區塊内叢集位置計算所獲取實體區塊1£)的一 @ 叢集位置。因此,資料管理單元丨2〇可獲取在該實體區塊 内的叢集資料。資料管理單元12〇經由RC 22將獲取自 NAND記憶體1〇之FS u或IS 13的叢集資料傳送至ATA命 令處理單元121 (步驟S 180)。 當作為搜尋物件的叢集不存在於搜尋遍及FS/IS管理表 40中(步驟S150)時,資料管理單元12〇再次搜尋遍及磁軌 管理表30之該等項目並決定在MS u上的一位置(步驟 S170)。 寫入處理 137071.doc 200941218 參考圖19中所示的一流程圖來解釋寫入處理。由不用於 FUA(繞過一 DRAM快取記憶體在一 NAND中直接實行寫入) 的一寫入命令寫入的資料係始終一次儲存於WC 21上。其 後,依據條件將該資料寫入於NAND記憶體10内。在該寫 入處理中,可能實行清空處理與緊縮處理。在此具體實施 ' 例中,該寫入處理大致劃分成寫入快取區清空處理(以下 ; 為WCF處理)與清除輸入緩衝器處理(以下為CIB處理)的兩 個階段。步驟S300至S320指示從來自ΑΤΑ命令處理單元 Ο 121之一寫入請求至WCF處理的處理。步驟S330至最後步 驟指示該CIB處理。 該WCF處理係用於將WC 21内的資料複製至NAND記憶 體10(FS 12之FSIB 12a或MS 11之MSIB 11a)的處理。單獨 來自ΑΤΑ命令處理單元121之一寫入請求或一快取清空請 求只能藉由此處理來完成。此使得可將在ΑΤΑ命令處理單 元121之寫入請求之開始處理中的一延遲限制至最大用於 寫入於相當於WC 21之一容量之NAND記憶體10内的時
該CIB處理包括用於將由該WCF處理寫入於FSIB 12a内 的資料移動至FS 12之處理與用於移動該WCF處理寫入於 MSIB 1 la内的資料移動至MS 1 1之處理。當開始該CIB處 理時,可能以一鏈式反應方式來實行在NAND記憶體内的 該等組件(FS 12、IS 13、MS 11等)中的資料移動以及緊縮 處理。用於整體處理所需之時間實質上依據一狀態而變 化。 137071.doc -42· 200941218 首先,解釋該WCF處理之細節。當作為一寫入命令與一 寫入位址的LB A從ΑΤΑ命令處理單元121輸入時,DRAM層 管理單元120a搜尋遍及圖10中所示之WC叢集管理表25(步 驟8300與8305)。\¥€21之一狀態係藉由圖10中所示之\^0 叢集管理表25之狀態旗標25a(例如,3個位元)來加以定 • 義。更一般而言,狀態旗標25a之一狀態按無效(可使用)-> ·; 等待來自一 ΑΤΑ之寫入4有效(不可使用)—等待清空至一 NAND4無效(可使用)的次序來轉變。首先,從該LBA之叢 © 集位址LSB(k-i)個位元來決定在一寫入目的地處的一線並 搜尋該決定線的η路。當將與該輸入LB A之邏輯磁軌位址 相同的邏輯磁軌位址25c儲存於該等決定線之η路内(步驟 S305)時,DRAM層管理單元120a確保此項目作為用於叢集 寫入的一項目,因為覆寫該項目(有效(不可使用)->等待來 自一 ΑΤΑ之寫入)。 DRAM層管理單元120a向ΑΤΑ命令處理單元121通知對應 於該項目的一 DRAM位址。當藉由ΑΤΑ命令處理單元121 之寫入結束時,資料管理單元120將該項目之狀態旗標25a 變成有效(不可使用)並將所需資料登錄於磁區位置位元映 射25b與邏輯磁軌位址25c之空間内。資料管理單元120更 • 新WC磁軌管理表24。明確而言,當輸入與已登錄於WC磁 ' 軌管理表24之該等清單内的邏輯磁軌位址24a相同的一 LBA位址時,資料管理單元120更新WC叢集數目24b與一 相關清單之路線位元映射24c並改變下一指標24d使得該清 單變成一最近清單。當輸入不同於登錄於WC磁軌管理表 137071.doc -43- 200941218 24之該等清單内的邏輯磁軌位址24a的一 [βα位址時,資 料官理單TL120建立一新清單,其具有邏輯磁軌位址24a之 項目、WC叢集數目24b、路線位元映射24c及下一指標 24d’並登錄該清單作為一最近清單。資料管理單元12〇實 行以上所解釋之表更新以完成該寫入處理(步驟S320)。 另一方面’當不將與輸入LBA之邏輯磁軌位址相同的邏 輯磁執位址25c儲存於該決定線之^路内時,資料管理單元 120判斷是否必需清空至該NAND記憶體(步驟S3〇5)。首 先,負料管理單元120判斷在該決定線内的一可寫入路是 否為一最後第η個路《該可寫入路係具有無效(可使用)狀態 旗標25a的一路或具有有效(不可使用)狀態旗標25a與等待 清空至一 NAND的一路。當狀態旗標25a係等待清空至一 NAND時,此意謂著開始清空且一項目係等待該清空結 束。當該可寫入路並非最後第n路且該可寫入路係具有無 效(可使用)狀態旗標25a的一路時,資料管理單元12〇確保 此項目作為用於叢集寫入(無效(可使用)—等待從一 ATA寫 入)的一項目。資料管理單元12〇向對應於該項目的一 DRAM位址通知ATA命令處理單元121並引起ata命令處理 單元121來執行寫入。以上所解釋的相同方式資料管理 單元120更新WC叢集管理表25與WC磁軌管理表24(步驟 S320)。 當該可寫入路並非最後第n個路時且當該可寫入路係具 有有效(不可使用)狀態旗標25&與等待清空至一 nand的路 時,資料官理單元120確保此項目作為用於叢集寫入(有效 137071.doc •44· 200941218 (不可使用)及等待清空至一 NAND —有效(不可使用)與等待 從一 NAND清空與等待從一ΑΤΑ寫入)的一項目。當結束該 清空時,資料管理單元120將狀態旗標25a變成等待從一 ΑΤΑ寫入,向ΑΤΑ命令處理單元121通知對應於該項目的 一 DRAM位址,並引起ΑΤΑ命令處理單元121執行寫入。 • 以上所解釋的相同方式,資料管理單元120更新WC叢集管 : 理表25與WC磁軌管理表24(步驟S320)。 以上所解釋之處理係在輸入來自ΑΤΑ命令處理單元121 © 之一寫入請求時不必觸發清空處理時實行。另一方面,下 面所解釋之處理係在輸入一寫入請求之後觸發清空處理時 實行。在步驟S305,當在該決定線内的可寫入路係最後第 η路時,資料管理單元120基於在該決定資料以從WC 21清 空至NAND記憶體10之方法之⑴中所解釋的條件來選擇一 欲清空之磁軌(即,在WC 21内的一項目),即 (i)當在由一標籤所決定之一可寫入路係一最後(在此具 體實施例第η個)自由路時,即當使用最後自由路時,決定 在登錄於該線内的磁軌中基於一 LRU最早更新的一磁軌來 加以清空。 如上解釋,當依據以上所解釋之政策來決定欲清空磁軌 時,若在包括於一相同磁軌内的WC 21内的所有叢集係欲 ' 清空且欲清空叢集之一數量超過一磁軌大小之50%,即若 在該WC内的有效叢集數目在該決定清空之磁軌中等於或 大於2(1ί·Ν1),則DRAM層管理單元120a實行清空至MSIB 11 a(步驟S3 10)。若該叢集數量不超過磁軌大小之50%,即 137071.doc -45- 200941218 在該WC内的有效叢集數目在該決定清空磁軌内小於2(k-M), 則DRAM層管理單元120a將該磁軌清空至FSIB 12a(步驟 3315)。稍後解釋從%^21清空至河818 113與從\\^21清空 至FSIB 12a之細節。選定清空項目之狀態旗標25a係從有 效(不可使用)轉變成等待清空至NAND記憶體10。 ' 在一清空目的地上的此判斷係藉由使用WC磁軌管理表 : 24來加以執行。指示有效叢集數目的WC叢集數目24之一 項目係登錄於WC磁軌管理表24内用於每一邏輯磁軌位 © 址。資料管理單元120參考WC叢集數目24b之項目來決定 FSIB 12a與MSIB 11a之哪個應設定為從WC 21清空之一目 的地。所有屬於該邏輯磁軌位址之叢集係以一位元映射格 式登錄於路線位元映射24c内。因此,在實行清空中,資 料管理單元120可參考路線位元映射24e來容易地得知應清 空的該等叢集之每一者在WC 21内的一儲存位置。 在該寫入處理期間或在該寫入處理之後,資料管理單元 ®120還在滿足下列條件時以相同方式執行至NAND記憶體1 〇 之清空處理: (ii)在WC21内所登錄之磁軌數目超過一預定數目。 WC -> MSIB(複製) ' 當依據基於有效叢集數目(有效叢集數目等於或大於2°^-】)) 的判斷來實行從WC 21至MSIB 11a之清空時,資料管理單 元120執行如下所解釋之一程序(步驟S310)。 1.參考WC叢集管理表25並參考對應於欲清空叢集之標 籤内的磁區位置位元映射25b ’當所有磁區位置位元映射 137071.doc -46- 200941218 25b並非1」時,資料管理單元12〇實行磁軌内磁區填補 (稍後解釋)’其用於在包括於NAND記憶體1〇内的一相同 叢集内合併一磁區。資料管理單元120還執行被動合併處 理,其用於從NAND記憶體10中於一磁軌内讀出 ㈣内的-叢集並合併該叢集。 存在於 2. 虽决疋π空磁軌之數目係小於^,時,資料管理單元Η。 添加具有2(k-M)或更多有效叢集的決定清空磁軌,直至決 定清空磁軌之數目從WC21R的最舊者到達士。 3. 在存在21或更多欲複製磁軌時,資料管理單元12〇實行 按邏輯區塊單元在MSIB lla内寫入,每一 2i個磁軌作為一 集合。 μ _ 4. 資料管理單元120按磁軌單元在河!513 Ua内寫入無法 形成一組21個磁軌的磁軌。 5. 資料管理單元12〇在完成複製之後在已存在於該fs、 該IS及該MS上的該等者中使屬於該等複製磁執之叢集及 磁軌無效。 解釋用於在從WC 21至MSIB 11a之複製處理中所涉及之 個別管理表之更新處理。資料管理單元12〇將對應於在wc 叢集管理表25中在WC 21内屬於一清空磁軌的所有叢集之 項目内的狀態旗標25a設定為無效。其後,寫入於該些項 目内係可行。關於對應於WC磁軌管理表24内清空磁軌的 一清單,資料管理單元12〇改變或刪除(例如)一緊接前面清 單之下一指標24d並使該清單無效。 另一方面,當實行從WC 21至MSIB lla之磁軌移動時, 137071.doc • 47- 200941218 資料管理單元120依據該磁軌移動來更新磁軌管理表3〇與 MS邏輯區塊管理表35 ^首先,資料管理單元12〇搜尋作為 磁轨管理表30之一索引的邏輯磁軌位址3〇a以判斷是否已 登錄對應於該移動磁軌的邏輯磁軌位址3〇a。當已登錄邏 輯磁軌位址30a時,資料管理單元12〇更新該索引之叢集位 元映射30b(因為該磁軌係移動至ms 11側,將所有相關位 疋設定至「0」)與邏輯區塊ID 3〇c+邏輯區塊内磁軌位置 3〇d之攔位。當未登錄對應於該移動磁軌之邏輯磁軌位址 30a時’資料管理單元ι2〇在相關邏輯磁軌位址3〇a之一項 目内登錄叢集位元映射3 〇b與邏輯區塊id 3 0c+邏輯區塊内 磁軌位置30d »依據磁軌管理表3〇之變化,必要時,資料 &理單元120更新MS邏輯區塊管理表35内的邏輯區塊id 35a、磁軌管理指標35b、有效磁執數目35c、可寫入頂部 磁軌35d等之項目。 當從其他區域(FS 12與IS 13)等至MS 11實行磁軌寫入時 或當實行在MS 11内緊縮處理所寫入之MS内磁軌寫入時, 將在WC 21内包括於該磁軌内作為一寫入物件的有效叢集 同時寫入於該MS内。此類被動合併係作為從wc 21至]^8 11之寫入而存在。當實行此類被動合併時,從WC 21中刪 除該等叢集(無效)。 wc -> FSIB(複製) 當依據基於有效叢集數目(有效叢集數目等於或大於2(k_M)) 的判斷来實行從WC 21至!^汨12a之清空時,資料管理單 兀120執行如下所解釋的一程序。 137071.doc •48· 200941218 ι·參考對應於欲清空叢集之標箴内的磁區位置位元映射 2^’_當所有磁區位置位元映射25b並非「l時,資料管 = 70120實订叢集内磁區填補,其用於在包括於職〇記 憶體10内之一相同叢集内合併一磁區。 2.資料管理^疋12〇從最舊者依序追蹤在中的磁軌從 具有小於2(k-|_i)個有效叢集的一磁軌中擷取叢集且當有 效叢集數目到達妒時,按邏輯區塊單元將所有叢集寫二 FSIB 12a 内。 、 3. 當未發現,個有效叢集時,資料管理單元⑽藉由相 當於邏輯頁數目的數目將有效叢集數目小於叫叫之所 有磁軌寫入於FSIB 12a内。 4. 資料管理單元12〇在複製結束之後使在該等已存在於 該FS與該IS上的該等者中與該等複製者相同的叢集無效。
解釋用於在從WC 21至FSIB 12a之此類複製處理中所涉 及之個別管理表之更新處理。資料管理單元12〇將在wc叢 集管理表25中對應於在wc 21内屬於一清空磁軌的所有叢 集之項目内的狀態旗標25a設定為無效。其後,寫入於該 些項目内係可行。關於在WC磁軌管理表24内對應於該清 空磁軌的一清單,資料管理單元120改變或刪除(例如)_緊 接前面清單之下一指標24d並使該清單無效。 另一方面,當實行從WC以至^把1以之叢集移動時, 資料管理單元120依據叢集移動來更新磁軌管理表3〇之叢 集表指標30e、FS叢集數目31f等。資料管理單元12〇還更 新FS/IS管理表40之邏輯區塊ID 40b、邏輯區塊内叢集位置 137071.doc -49- 200941218 40c等。關於最初不存在於FS 12内的叢集,資料管理單元 120將一清單添加至FS/IS管理表40之連結清單。依據該更 新,資料管理單元120更新MS邏輯區塊管理表35、FS/IS邏 輯區塊管理表42及FS/IS内叢集管理表44之相關區段。 CIB處理 • 當結束以上所解釋之WCF處理時,邏輯NAND層管理單
: 元120b執行CIB處理,包括用於將由WCF處理寫入於FSIB 12a内的資料移動至FS 12之處理與用於將由該WCF處理寫 © 入於MSIB 11 a内的資料移動至MS 11之處理。如上所解 釋,當開始該CIB處理時,可能以一鏈式反應方式來實行 在該等區塊中的資料移動與緊縮處理。用於整體處理所需 之時間實質上依據一狀態而變化。在該CIB處理中,基本 上,首先實行在MS 11内的CIB處理(步驟S330),隨後實行 在FS 12内的CIB處理(步驟S340),再次實行在MS 11内的 CIB處理(步驟S350),實行在IS 13内的CIB處理(步驟S360) 並最後再次實行在MS 11内的CIB處理(步驟S3 70)。在從FS 12至MSIB 11a之清空處理、從FS 12至IS 13之清空處理或 從IS 13至MSIB 11a之清空處理中,當一循環在一程序中 發生時,可能不依序實行該處理。單獨解釋在MS 11内的 CIB處理、在FS 12内的CIB處理及在IS 13内的CIB處理。 ' 在MS 11内的CIB處理
首先,解釋在MS 11内的CIB處理(步驟S330)。當實行從 WC 21、FS 12及IS 13將磁軌資料移動至MS 11時,將該磁 軌資料寫入於MSIB 11a内。如上所解釋,在完成在MSIB 137071.doc -50- 200941218 lla内的寫入之後,更新磁軌管理表3〇並改變(移動)其中配 置磁軌的邏輯區塊ID 3〇C、區塊内磁軌位置3〇(1等。當在 MSIB Ua内寫入新磁㈣料時,使從開頭存在於ms ^或 TFS lib内的磁軌資料無效。此無效處理係藉由使來自在 MS邏輯區塊管理表35内其中儲存舊磁軌資訊之一邏輯區 塊之一項目的一磁軌無效來實現。明確而言,刪除在Ms 邏輯區塊管理表35之項目内的磁軌管理指標別之一棚位 内的一相關磁軌之一指標並將有效磁軌數目遞減一。當藉 由此磁軌無效來使在一邏輯區塊内的所有磁軌無效時使 有效旗標35e無效。包括無效磁執的MS "之區塊係藉由此 類無效等來產生。當重複此點時,區塊使用效率可能下降 以致引起可使用邏輯區塊不足。 ‘此清形發生且分配給MS 11之邏輯區塊之數目超過 允許用於MS 11之區塊之數目之上限時,資料管理單元丨 實行緊縮處理以建立一無效自由區塊FB。無效自由區塊 FB係返回至實體NAND層管理單元12〇c。邏輯nand層管 理單元120b減少分配給MS u的邏輯區塊之數目並接著從 實體NAND層管理單元120c重新獲取一可寫入自由區塊 FB。該緊縮處理係用於在一新邏輯區塊中收集一邏輯區塊 之有效叢集作為一緊縮物件或將在該邏輯區塊内的有效磁 軌作為緊縮物件複製至其他邏輯區塊以建立返回至實體 NAND層管理單元12〇c的一無效自由區塊FB並改良邏輯區 塊使用效率的處理。在實行緊縮時,當存在在Wc、fs及 is上的有效叢集時’資料管理單元ι2〇執行用於作為一緊 137071.doc -51 - 200941218 縮物件合併在一磁軌區域内所有有效叢集的被動合併。登 錄於TFS lib内的邏輯區塊係不包括於該緊縮物件内。 明確解釋在將在MSIB 11a内存在一完整區塊設定為一條 件時從MSIB 11a至MS 11或TFS lib之清空及緊縮處理之 一範例。 1. 參考MS邏輯區塊管理表35之有效旗標35e,當一無效 邏輯區塊存在於MS 11内時,資料管理單元120將該區塊設 定為一無效自由區塊FB。 2. 資料管理單元120將在MSIB 11a内的一完整邏輯區塊 清空至MS 11 ^明確而言,資料管理單元12〇更新以上所解 釋之MS結構管理表(未顯示)並將該邏輯區塊從在該msib 下的管理傳輸至在該MS下的管理。 3. 資料管理單元120判斷分配給MS 11之邏輯區塊之數目 是否超過允許用於MS 11之區塊數目之上限。當該邏輯區 塊數目超過該上限時’資料管理單元120執行以下所解釋 之MS緊縮。 4. 參考MS邏輯區塊管理表35之有效磁軌數目3氕之一攔 位等,> 料管理單元120使用有效磁軌數目在不包括於TFs lib内的邏輯區塊中分類具有無效磁軌之邏輯區塊。 5. 資料管理單元120從具有較小數目有效磁軌之邏輯區 塊中收集磁軌並實施緊縮。在實施緊縮時,首先為該等邏 輯區塊之每一者複製該等磁軌(一次複製2i個磁軌)以實施 緊縮》當作為一緊縮物件之一磁軌在wc 21、FS 12及1§ 内具有有效叢集時,資料管理單元12()還合併該等有效 137071.doc -52- 200941218 叢集。 6·資料管理單元120將在一緊縮來源處的一邏輯區塊設 定為一無效自由區塊FB。 7·當實行該緊縮且一邏輯區塊包括該等有效2i個磁軌 時’資料管理單元120將該邏輯區塊移動至TFS Ub之頂 部。 : 8.當可藉由將該邏輯區塊内的該等有效磁軌複製至另一 邏輯區塊來建立無效自由區塊FB時,資料管理單元12〇按 ® 磁軌單元在MSIB 11 a内額外記錄數目小於的有效磁軌。 9.資料管理單元120將在該緊縮來源處的該邏輯區塊設 定為無效自由區塊FB。 1〇·當分配給MS 11之邏輯區塊之數目下降至允許用於 MS 11之區塊數目之上限以下時,資料管理單元工2〇結束該 MS緊縮處理。 在FS 12内的CIB處理 _ 解釋在FS I2内的CIB處理(步驟S34〇)。當藉由&wc 21 至FSIB 12a之叢集寫入處理來在fSIB 12a内建立其中寫入 所有頁的邏輯區塊時’將在FSIB 12a内的該等區塊&FSIB 12a移動至FS 12。.依據該移動,將一舊邏輯區塊從由複數 個邏輯區塊所組態之FIFO結構之FS 12中清空。 如下面解釋來明確實現從FSIB 12a至FS 12之清空與從 FS 12之區塊清空。 1.參考FS/IS邏輯區塊管理表42之有效旗標35e等,當一 無效邏輯區塊存在於FS 12内時,資料管理單元12〇將該區 137071.doc •53· 200941218 塊設定為無效自由區塊fb。 2. 資料管理單元12〇將在FSIB 12a内的一完整區塊清空 至FS 12。明確而言,資料管理單元12〇更新該FS/IS結構管 理表(未顯示)並將該區塊從在該FSIB下的管理傳輸至在該 FS下的管理。 3. 資料管理單元120判斷分配給fs 12之邏輯區塊之數目 是否超過允許用於FS 12之區塊數目之上限。當該邏輯區 塊數目超過該上限時,資料管理單元12〇執行以下所解釋 之清空。 4. 首先’資料管理單元ι2〇在作為一清空物件之一最舊 邏輯區塊内的叢集資料中決定應直接移動至MS丨丨而不移 動至IS 13之叢集資料(實際上,因為該ms之一管理單元係 一磁軌’故按磁軌單元來決定該叢集資料)。 (A) 資料管理單元12〇從一頁之頂部掃描在作為清空 物件之邏輯區塊内的有效叢集。 (B) 參考磁軌管理表30之FS叢集數目30f之一攔位, 資料管理單元120發現在該FS中該叢集所屬之一磁軌具有 多少有效叢集。 (C) 當在該磁軌内的有效叢集數目等於或大於—預定 臨限值(例如2k_〗的50%)時,資料管理單元12〇將該磁軌設 定為清空至該MS的一候選者β 5. 資料管理單元120將應清空至Γ1之磁軌寫入於 MSIB 11 a 内。 6. 當留下一清空磁軌時,資料管理單元12〇進一步執行 137071.doc •54· 200941218 清空至MSIB 11。 7·當甚至在以上2至4之處理之後有效叢集仍存在於作為 清空物件的邏輯區塊内時,資料管理單元12〇將該邏輯區 塊移動至IS 13。 當實行從FS 12至MSIB 11 a之清空時,緊接在該清空之 後,資料管理單元120執行在MS 11内的CIB處理(步驟 : S350)。 在IS 13内的CIB處理
© 解釋在IS 13内的CIB處理(步驟S360)。依據從fs 12至IS 13之區塊移動將該邏輯區塊添加至IS 13。但是,依據該邏 輯區塊之添加’該邏輯區塊數目超過可在由複數個邏輯區 塊所形成之IS 13内管理的區塊數目之一上限。當該邏輯區 塊數目超過該上限時,在IS 13中,首先資料管理單元12〇 實行一至複數個邏輯區塊清空至MS 11並接著執行18緊 縮。明確而言,資料管理單元120執行下面所解釋的一程 序0 1. 資料管理單元120使用在磁軌内的有效叢集數一有 效叢集係數來分類包括於IS 13内的磁軌,收集具有一較大 乘積值的2i+1個磁軌(用於兩個邏輯區塊),並將該等磁轨清 空至 MSIB 11a。 2. 當具有一最小數目有效叢集之2i+1個邏輯區塊之有效 叢集之一總數(例如)等於或大於作為一預定設定值2k (用 於一邏輯區塊)時,資料管理單元120重複以上所解釋之步 驟0 137071.doc 55- 200941218 3. 在實行該清空之後,資料管理單元120從具有一最小 數目有效叢集之一邏輯區塊依序收集2k個叢集並在IS 13内 實行緊縮。 4. 資料管理單元ι2〇返回在緊縮來源處的該等邏輯區塊 中不包括一有效叢集的一邏輯區塊作為一無效自由區塊 • FB。 : 當實行從IS 13至MSIB 11a之清空時,緊接在該清空之 後’資料管理單元120在MS 11内執行CIB處理(步驟 ❹ S370)。 圖20係在組件中的一資料流内輸入及輸出組合的一圖式 並指示何者引起該資料流作為一觸發。基本上,資料係依 據來自WC21之叢集清空來寫入於FS 12内。但是,當偶然 必需叢集内磁區填補(叢集填補)以從WC 21清空至FS 12 時’複製來自FS 12、IS 13及MS 11之資料。在WC 21中, 可能藉由使用在WC叢集管理表25之標籤内的磁區位置位 元映射25b識別在一相關叢集位址内2(1-k)個磁區之存在或 攀 不存在來實行按磁區(512 B)單元之管理。另一方面,作為 NAND記憶體10内功能組件的FS 12與IS 13之一管理單元 係一叢集而MS 11之一管理單元係一磁軌。依此方式,在 NAND記憶體10内的一管理單元係大於磁區》因此,在從 WC 21將資料寫入於NAND記憶體1〇内時,當在NAND記憶 體10内存在具有一與欲寫入資料之叢集位址相同之叢集位 址的資料時,必需在合併在從WC 21寫入於NAND記憶體 10内之一叢集内的一磁區與存在於NAND記憶體10内在相 137071.doc -56 - 200941218 同叢集位址内的一磁區之後將該資料寫入於nand記憶體 10内。 此處理係圖20中所示之叢集内磁區填補處理(叢集填補) 與磁軌内磁區填補(磁軌填補)。除非實行該些種類的處 理,否則無法讀出正確的資料。因此’當將資料從Wc 21 清空至FSIB 12a或MSIB 11a時,參考WC叢集管理表25並 參考在對應於欲清空叢集之標籤内的磁區位置位元映射 25b。當所有磁區位置位元映射25b並非「1」時,實行用 於在NAND記憶體1〇内所包括之一相同叢集或一相同磁軌 内合併一磁區的叢集内磁區填補或磁軌内磁區填補。 DRAM 20的一工作區域係用於此處理。資料係從dram 20 之工作區域來寫入於MSIB 11a或寫入於FSIB 12a内。 在IS 13中’基本上’資料係依據從fS 12之區塊清空(移 動)來寫入或依據在該IS内的緊縮來寫入。在ms 11_,可 從所有區段來寫入資料。當寫入資料時,在MS丨丨中,因 為資料僅可按磁軌單元來寫入,故可引起由於該Ms自身 之資料所引起的填補。當按磁軌單元來寫入資料時,還依 據被動合併來寫入在其他區塊内的分段資料。而且,在 MS 11中’還依據MS緊縮來寫入資料。在該被動合併中, 當實行從WC 21、FS 12或IS 13之三個組件之一者至Ms i j 之磁軌清空或邏輯區塊清空(用於2j個磁軌之清空)時,作 為在一組件内的一清空物件在包括於一磁執(或一邏輯區 塊)内的在兩個組件内的有效叢集與在Ms U内的有效叢集 係在DRAM 20之工作區域内收集並&DRAM 2〇之工作區域 13707I.doc •57· 200941218 磁軌之資料 寫入於MSIB lla内作為用於 之NAND記憶體之一詳細組態 12、IS 13及MS 11之詳細組態 圖21係依據此具體實施例 之一圖式。圖6中所示2FS 係顯示於圖21中。 如上所解釋,當一眘钮 ^ 〇 田 貝枓抹除單元(一邏輯區塊)與一資料
s里單元(磁軌或—叢集)係不同時,依據一快閃記憶體 之重寫進展’使邏輯區塊由於無效(非最近)資料而多孔。 田在此彡孔狀態下的該等邏輯區塊增加時,實質上可使 用的邏輯區塊減少且無法有效地使用NAND記憶體⑺之一 儲存區域。因& ’實行用於收集有效最近資料並在不同區 塊内重寫該資料之緊縮處理。 仁是ϋ為用於該緊縮處理所需之時間依據記憶 體10之儲存今量與一自由區域而波動時,實質上難以控 制該緊縮處理時間。因此,當該緊縮處理花費時間時,可 能對該主機裝置之-命令處理回應會延遲且無法在指定時 間内返回。基於此類知識,下面解釋關於一記憶體系統之 此具體實施例之要點’該記憶體系統可在指定時間内返回 一命令處理回應至主機裝置1。 WC組態 如上所解釋,WC 21係採用m線/η路(m為等於或大於2(k-j) 的一自然數而η為等於或大於2的一自然數)集合相聯系統 來加以管理。登錄kWC 21内的資料係採取LRu(最少最近 使用)來加以管理。 FS組態 137071.doc -58 - 200941218 FS單元12Q包括FS輸入緩衝器(FSIB)12a與FS 12。如上 所解釋,FS 12係其中按叢集單元來管理資料的一FIFO。 資料寫入係針對2(k·”個叢集按頁單元來共同實行。FS 12 具有用於一較大數目邏輯區塊的一容量。至其輸入清空來 自WC 21之資料的FS輸入緩衝器(FSIB)12a係提供於FS 12 之一前級處。FSIB 12a包括一 FS完整區塊緩衝器 (FSFB)12aa、一 FS額外記錄緩衝器(Fs額外記錄iB)12ab及 一 FS旁通緩衝器(以下FSBB)12ac。 FSFB 12aa具有用於一至複數個邏輯區塊的一容量。fs 額外記錄IB 121ab還具有用於一至複數個邏輯區塊的一容 量。FSFB 12ac還具有用於一至複數個邏輯區塊的一容量 (例如,4 MB)。當從WC 21清空用於一邏輯區塊的資料 時,實行按區塊單元複製資料至FSFB 12aa。否則,實行 在FS額外寫入IB 12ab内按頁單元的額外寫入。 FSBB 12ac係用以在執行該CIB處理期間發佈涉及從wc 21清空的一寫入命令但甚至在經過預定時間之後仍未結束 該CIB處理(此一原因很可能係在IS 13内的緊縮處理中的一 延遲)或從主機裝置1發佈一重設請求時原樣保存儲存於 WC 21内的内容。 IS組態 一 IS單元13Q包括一 IS輸入緩衝器(iSIB)13a、IS 13及一 IS緊縮緩衝器13c。例如’ ISIB 13a具有用於一至複數個邏 輯區塊的一容量。IS緊縮緩衝器13c具有用於一邏輯區塊 的一容量。IS 13具有用於一較大數目邏輯區塊的一容量。 137071.doc •59· 200941218 IS緊縮緩衝器13c係用於在IS 13内實行緊縮的一緩衝器。 如上所解釋’IS 13以與FS 12相同的方式按叢集單元來 實行資料管理。資料係按區塊單元來寫入於Is 13内β當實 行將一邏輯區塊從FS 12移動至IS 13,即從FS 12清空該邏 輯區塊時,依據一指標之重定位將FS 12的一先前管理物 件作為一清空物件的邏輯區塊變成IS 13(明確而言ISIB 13a)之一管理物件區塊。當IS 13之區塊數目依據邏輯區塊 從FS 12至IS 13之移動超過一預定上限時,執行從is η至 MS 11之資料清空及緊縮處理並將IS 13之區塊數目重設至 一指定值。 MS組態 一 MS單元11Q包括MSIB 11a、磁軌前級緩衝器(TFS)Hb 及MS(MS主體)11。 MSIB 11a包括一至複數個(在此具體實施例中四個)1^8完 整區塊輸入緩衝器(以下MSFB)1 laa與一至複數個(在此具 體實施例中兩個)額外記錄輸入緩衝器(以下MS額外記錄 IB)llab。一 MSFB llaa具有用於一邏輯區塊的一容量。 MSFB llaa係用於按邏輯區塊單元的寫入。一^^8額外記錄 IB llab具有用於一邏輯區塊的一容量。^8額外記錄汨 11 ab係用於按磁軌單元的額外寫入。 清空自WC 21之一邏輯區塊、清空自FS 12之一邏輯區塊 或清空自IS 13之一邏輯區塊係複製至MSFB llaae複製至 一 MSFB llaa的邏輯區塊係直接移動至MS u而不移動穿 過TFS lib。在將邏輯區塊移動至n之後,將一自由區 137071.doc •60· 200941218 塊FB分配為MSFB llaa。 清空自WC21的一磁軌或清空自FS 12的一磁軌係以一額 外記錄方式來複製至MS額外記錄IB 1 lab。在此一 MS額外 §己錄IB 11 ab内按磁軌單元額外記錄的一完整邏輯區塊係 移動至TFS lib。在將該邏輯區塊移動至TFS iib之後,將 一自由區塊FB分配為MS額外記錄IB 1 lab。 儘s圖21中未顯示’但用於被動合併之輸入還存在於 MSFB llaa與MS額外記錄IB llab内。在該被動合併中, 當實行從WC 21、FS 12及IS 13之該三個組件之一者至1^8 11之磁軌清空或區塊清空時,在一組件中在作為一清空物 件之磁軌(或區塊)内所包括的在其他兩個組件内的有效叢 集與在MS 11内的有效叢集係收集於DRAM 20之工作區域 内。该等有效叢集係從DRAM 20之工作區域寫入於MS額 外s己錄IB llab作為用於一磁軌之資料或寫入於MSFB 内作為用於一區塊之資料。 TFS 1 lb係一緩衝器,其具有用於一較大數目邏輯區塊 的一容量並具有插入於MS額外記錄IB 1 lab與MS 11之間 的FIFO(先進先出)結構。按磁軌單元額外寫入於Ms額外記 錄IB llab内的一完整區塊係移動至具有該FIF〇結構之TFS 11 b之一輸入侧。另外,包括由在MS 11内的緊縮處理所形 成之21個有效磁軌的一邏輯區塊係從ms緊縮緩衝器Uc移 動至TFS lib之輸入側。 MS緊縮缓衝器11c係用於在MS n内實行緊縮的一緩衝 器。類似於FS 12,TFS lib具有該FIFO結構。在實行從該 137071.doc -61 200941218 主機在相同磁軌位址内進行重寫時使穿過該FIFO的一有效 磁軌無效。從該FIFO結構濺出的一最舊區塊係移動至MS 11。因此’穿過TFS lib的一磁軌可視為比包括於一從 MSFB llaa直接寫入於MS 11内之區塊内的一磁軌具有一 更高更新頻率。 在該MS中所實行之MS緊縮處理包括兩種類MS緊縮,即 用於收集21個有效磁軌並形成一邏輯區塊之2!個磁軌ms緊 縮與用於收集小於21個磁軌之有效磁軌並實行緊縮之小於 2個磁轨MS緊縮。在該21個磁軌MS緊縮中,使用MS緊縮 緩衝器11c及緊縮之後的一邏輯區塊移動至TFS nb之頂 部。在小於21個磁軌MS緊縮中,按磁軌單元將一邏輯區塊 複製至MS額外記錄IB 11 ab。 (旁通模式) 解釋一旁通模式。該旁通模式係用於在完成一寫入命令 之後始終使寫入於WC 21内的資料經歷清空處理且不透過
FS單元12Q與IS單元13Q來直接將該資料寫入kMS 11(MSIB 11a)内的—模式。在一一般記憶體系統中,提供 某指定時間作為使資料管理單元12〇處理從該主機裝置所 請求之一命令的時間。換言之,資料管理單元12〇須在該 指定時間内實行從社縣置所請求之命令的回應處理 (命令回應處理)。 因此,例如,當用於該CIB處理所需之時間超過該指定 時間時"必需特殊措施^於用於執行該⑽處理所需之 時間超過該指定時間,可構思執行緊縮處理以解㈣此 137071.doc -62- 200941218 分段。此係因為在IS 13内的緊縮處理中,須收集用於至少 一邏輯區塊的叢集。用於採取「特殊措施」之處理模式係 稱為旁通模式。圖21中所示之FSBB 12a係用於在偏移至該 旁通模式期間在WC 21内保存有效叢集的一緩衝器且係專 用於該旁通模式的一緩衝器,其僅在資料管理單元12〇偏 移至該旁通模式時使用。 FSBB l2ac(FSIB Ua)類似於WC 21上所管理的資料按叢 集單元來管理資料。但是,MS IB 11a不類似於在WC 21上 Μ 所管理的資料而按磁軌單元來管理資料。因此,例如,當 具有不同位址的一較大數目叢集存在於WC 21内時,在 MSIB 1U上保存WC u内的資料時,由於為該等位址之每 一者收集叢集,須準備用於不同位址之磁軌。須確保具有 一魔大容量的一區域用於該保存。另一方面,當將該資料 儲存於FSIB 12a(FSBB 12ac)時,因為採取與wc 21内者相 同的叢集管理來實行資料管理時,僅相當於wc 21之項目 _ 數目的叢集係足夠。最大僅要求相當於WC 21之一容量的 叢集。因此,期望在FSIB 12a内提供專用於該旁通模式的 緩衝器之緩衝器FSBB 12ac。 (旁通模式/操作流程) 解釋在該旁通模式内的一操作流程。圖22係在該旁通模 式下該操作流程之一範例的一流程圖。 如圖22中所示,首先,假定在執行正常寫入處理下的 CIB處理(步驟S800)時,從ΑΤΑ命令處理單元丨21發佈要求 清空處理的一寫入命令(步驟S801)。資料管理單元12〇執 137071.doc • 63 - 200941218 行用於判斷是否完成該CIB處理之處理(步驟s⑼2)。* 成該cIB處理(在步驟S802處「是」)時,資料管理單元\ = 不偏移至該旁通模式,執行正常處理(寫入命令處理)(步驟 S803) ’並離開此流程。 另方面,當未完成該CIB處理(在步驟88〇2處「否」) ' 時’資料管理單元120執行用於判斷在發佈該寫入命令(」步 : ^801)之後已經過預定時間的處理。在此判斷處理中, 例如,使用安裝於該SSD或該主機裝置上的一計時器,測 〇 4在發佈該寫人命令之後的經過時間,並將該經過時間與 預定時間進行比較。該預定時間係短於該指定時間的時 間。例如,當用於回應該主機側之命令回應處理的—限制 (指定時間)係「T1秒」時,短於該限制的時間(例如「丁2 (Τ2<Τ1)秒」)對應於該「預定時間」。
當從發佈該寫入命令未經過該預定時間(在步驟S8〇4處 「否」)時,資料管理單元120返回至步驟S8〇2處的處理。 ❹另一方面,當從發佈該寫入命令已經過該預定時間(在步 驟S804處「是」)時,資料管理單元丨⑼在”把12a<FSBB , 12ac内保存WC 21内的有效叢集(步驟S8〇5)。其後,資料 • 管理單元120將MSIB 11 a之個別緩衝器内的資料清空至Ms 11或TFS lib(步驟S806)並暫停該cib處理(步驟S807)。隨 後’資料管理單元120透過WC 21將在步驟88〇1處所接收 之寫入處理所指定的資料額外寫入於MSIB 11a内(步驟 S808)。其後,資料管理單元12〇重新開始該CIB處理(步驟 S8〇9),實行用於判斷該CIB處理完成之處理(步驟S81〇)並 137071.doc -64- 200941218 在完成該CIB處理(在步驟S81〇處「是」)時離開在該旁 通模式下的處理流程。 (關於該旁通模式的補充解釋) 簡略補充解釋該旁通模式。在該處理流程中,在步驟 . S805至咖處的處理對應於在該旁通模式下的處理。在該 旁通模式下的處理期間,資料管理單元⑶依據ata命令 單元121所發佈的一寫入命令透過WC 21來實行寫入 處里在70成該寫入處理之後,資料管理單元12〇立即應 I*二處理至MSIB 11。資料管理單元⑶不應用額外記錄 處理至FSIB 12a。關於一快取清空命令,因為已清空在 WC 21内的所有資料,可能在該指^時間内將完成該命令 通头發送至5亥主機裝置而不存取nand記憶體工〇。 在該旁通模式下,當完成用於在MSIB 11a内額外記錄的 處理時’資料管理單元12()重新開始該CIB處理而不管條件 =何在此處理期$,當ΑΤΑ命令處S單元121再次發佈 〇 該寫入命令時,資料管理單元120繼續該CIB處理直至滿足 、用於1¾旁通模式之開始」者相同的一條件。當到該預 • 定時間為止仍未結束該CIB處理時,資料管理單元12〇執行 : 4上所解釋之流程相同的用於透過WC21寫人於該⑽内 • @處理。其後’資料管理單元120重複此處理直至滿足用 於結束該旁通模式的-條件。當在逾時之前完成該⑽處 理時,資料管理單元120結束該旁通模式並返回至正常模 式。 、 上所說明,使用依據此具體實施例之記憶體系統,合 137071.doc -65· 200941218 該CIB處理(特定言之該is緊縮處理)花費時間且從ATA命令 處理單元121接收涉及該WC清空處理之寫入命令時,資料 管理單元120在經過該預定時間之後暫停該CIB處理並實行 該旁通處理。此使得可保證命令處理之延遲時間,即使該 CIB化費時間亦是如此。 依據本發明,提供一種記憶體系統,其可在該指定時間 内返回一命令處理回應至一主機裝置。 本發明並不限於以上所說明的具體實施例。據此,可進 行各種修改而不脫離本發明之範疇。 另外,以上所說明之具體實施例包括發明步驟之各種構 成。即,本發明之各種修改可藉由分佈或整合任一任意揭 示構成來進行。 例如,本發明之各種修改可藉由從該等具體實施例中所 揭示之所有構成中省略任一任意構成來進行,只要可解決 欲藉由本發明解決之問題且可得到欲藉由本發明得到之優 點即可。 另外’在以上具體實施例中解釋,—叢集大小乘以等於 或大於二的一正整數等於一邏輯頁大小。但是,本發明並 不受限於此。 例如’叢集大小可與邏輯頁大小相同,或可以係藉由組 合複數個邏輯頁將邏輯頁大小乘以等於或大於二的一正整 數所獲得的大小。 <而且’叢集大小可與用於在主機裝置u諸如—個人電 腦)上運行之os(作業系統)之一樓案系統的—管理單元相 137071.doc •66- 200941218 同ο 另外’在以上具體實施例中解釋,一越軌大小乘以等於 或大於二的-正整數等於一邏輯區塊大小。但是,本發明 並不受限於此。 例如,磁軌大小可與邏輯區塊大小相同,或可以係藉由 組合複數個邏輯區塊將邏輯區塊大小乘以等於或大於二的 一正整數所獲得的大小。 、
若磁軌大小等於或大於邏輯區塊大小 處理。因此,可省略TF S 11 b。 則不必MS緊縮 【圖式簡單說明】 圖1係一 SSD之一組態範例之一方塊圖; 圖2⑷、(b)係在一 NAND記憶晶片内所包括之一區塊與 在一四進制資料儲存系統内-臨限分佈之—組態範例的一 圖式; 圖3係一驅動控制電路之一硬體内部組態範例之一方塊 IS · 園, ❹ 圖4係一處理器之一功能組態範例之一方塊圖; 圖5係在一 NAND記憶體與一 DRAM中所形成之一功能組 態之一方塊圖; 圖6係與從一琛(:至NAND記憶體之寫入處理相關的一詳 細功能方塊圖; 圖7係一LBA邏輯位址之一圖式; 圖8係在一資料管理單元中的一管理表之一組態範例之 一圖式; 137071.doc -67- 200941218 圖9係一RC叢集管理表之一範例之一圖式; 圖10係一 WC叢集管理表之一範例之一圖式; 圖11係一 WC磁軌管理表之一範例之一圖式; 圖12係一磁轨管理表之一範例之一圖式; 圖13係一FS/IS管理表之一範例之一圖式; 圖14係一 MS邏輯區塊管理表之一範例之一圖式; 圖15係一 FS/IS邏輯區塊管理表之一範例之一圖式; 圖16係一 FS/IS内叢集管理表之一範例之一圖式;
❹ 圖17係一邏輯至實體轉譯表之一範例之一圖式; 圖1 8係讀取處理之一操作範例之一流程圖; 圖19係寫入處理之一操作範例之一流程圖; 圖20係在組件中在一資料流中輸入及輸出組合與該流程 之原因之一圖式; 圖21係該NAND記憶體之一更詳細組態之一圖式;以及 圖22係在一旁通模式下一操作流程之一範例的一流程 圖。 【主要元件符號說明】 1 主機裝置 2 ΑΤΑ介面(ATA I/F)
3 通信介面/RS232CI/F 4 驅動控制電路 5 電源供應電路
6 用於狀態顯示的LED 7 溫度感測器 137071.doc -68 - 200941218 8 保險絲 10 NAND型快閃記憶體/NAND記憶體 10a至lOd 並聯操作元件 11 主儲存區域(MS) 11a MS輸入緩衝器(MSIB) * 11 aa MS完整區塊輸入緩衝器(MSFB) ; 1 lab 額外記錄輸入緩衝器(MS額外記錄IB) lib 磁軌前級儲存區域(TFS) ® 11c MS緊縮緩衝器 11Q MS單元 12 前級儲存區域(FS) 12a FS輸入緩衝器(FSIB) 12aa FS完整區塊緩衝器(FSFB) 12ab FS額外記錄緩衝器(FS額外記錄IB) 12ac FS旁通緩衝器(FSBB) 12Q FS單元 13 中間級儲存區域(IS) 13a IS輸入緩衝器(ISIB) 13c IS緊縮緩衝器 13Q IS單元 20 DRAM 21 寫入快取區(WC) 22 讀取快取區(RC) 23 RC叢集管理表 137071.doc -69- 200941218 23a 狀態旗標 23b 邏輯磁軌位址 24 WC磁軌管理表 24a 邏輯磁軌位址 24b 有效叢集數目/WC叢集數目 '· 24c 路線位元映射 ; 24d 下一指標 25 WC叢集管理表 ❹ 25a 狀態旗標 25b 磁區位置位元映射 25c 邏輯磁軌位址 30 磁軌管理表 30a 邏輯磁轨位址 30b 叢集位元映射 30c 邏輯區塊ID 30d 邏輯區塊内磁軌位置 30e 叢集表指標 30f FS叢集數目 30g IS叢集數目 ' 35 MS邏輯區塊管理表 35a 邏輯區塊ID 35b 磁軌管理指標 35c 有效磁軌數目 35d 可寫入頂部磁軌 137071.doc •70- 200941218 35e 有效旗標 40 FS/IS管理表 40a 邏輯叢集位址 40b 邏輯區塊ID 40c 邏輯區塊内叢集位置 40d FS/IS 區塊 ID : 40e 下一指標 42 FS/IS邏輯區塊管理表 © 42a FS/IS 區塊 ID 42b 邏輯區塊ID 42c 區塊内叢集表 42d 有效叢集數目 42e 可寫入頂部頁 42f 有效旗標 44 FS/IS内叢集管理表 44a 項目 50 邏輯至實體轉譯表 50a 邏輯區塊ID 50b 實體區塊位址 50c 抹除次數 ’ 50d 讀出次數 100 SSD(固態驅動器) 101 資料存取匯流排 102 第一電路控制匯流排 137071.doc -71 - 200941218 103 第二電路控制匯流排 104 處理器 105 啟動ROM 106 ROM控制器 107 時脈控制器 ·· 108 I2C電路 ; 109 並聯IO(PIO)電路 110 串列IO(SIO)電路 ® 111 ΑΤΑ介面控制器(ΑΤΑ控制器) 112 第一 ECC(錯誤檢查及校正)電路 113 NAND控制器 114 DRAM控制器 115 SRAM 116 SRAM控制器 117 NAND I/F 118 第二ECC電路 119 DMA控制器 120 資料管理單元 120a DRAM層管理單元 120b 邏輯NAND層管理單元 120c 實體NAND層管理單元 121 ΑΤΑ命令處理單元 122 安全管理單元 123 啟動載入器 137071.doc ·72· 200941218
124 初始化管理單元 125 除錯支援單元 200 用於除錯及製造檢驗之裝置 BL0至 BLp 位元線 MT 記憶早元電晶體 SGD 選擇閘極線 SGS 選擇閘極線 SL 源極線 ST1 選擇電晶體 ST2 選擇電晶體 WLO至 WLq 字線
137071.doc 73-

Claims (1)

  1. 200941218 十、申請專利範園: 1. 一種記憶體系統,其包含: 其= : — :發性半導體記憶體内的-第-儲存區域, 丹你作為一快取記憶體; 於非揮發性半導體記憶體内的第二及第三儲存區 區玫:中藉由早7^來實行資料讀取及寫人並藉由- 二早4實行資料抹除’該區塊單^達該頁單元兩 仏或更大自然數倍; 广括於該等非揮發性半導體記憶體内的一第一輸入緩 衝器,其係經組態用以在該第一儲存區域與該第二儲存 區域之間緩衝; ,广括於該等非揮發性半導體記憶體内的一第二輸入緩 衝器,其係經組態用以在該第一儲存區域與該第三儲存 區域之間緩衝; 一保存緩衝器,其具有等於或大於該第一儲存區域之 • 儲存容量的—儲存容量;以及 一控制器,其藉由與一或多個區塊相關聯的一邏輯區 塊單7L將該等非揮發性半導體記憶體之儲存區域分配給 該第二儲存區域與該第三儲存區域以及該第一輸入緩衝 器與該第二輸入緩衝器,其中 該控制器執行: 第 處理,其用於按一磁區單元將複數個資料寫入 於該第一儲存區域内; 第二處理,其用於按一第一管理單元將儲存於該第 I37071.doc 200941218 一儲存區域内的該資料清空至該 ^ I® » - 翰入緩衝器,該第 一&早兀多達該磁區單以倍或更大自然數倍; 一第二處理,其用於按一第二管理單元將儲存於該第 一儲存區域内的該資料清空至 、β 只ΤΤ π工主孩第二輸入緩衝 二管理單元多達該第一營 _ ^第管理單疋兩倍或更大自然數倍,· 第四處理’其用於將1輯區塊重定位至該第二儲 該邏輯區塊中的所有頁被寫入於該第-輸入緩 衝器内; ❹ 第五處理’其用於將一邏輯區塊重定位至該第三儲 存區域,該邏輯區塊中的所有頁被寫人於該第二輸入緩 衝器内; 第'、處理’其用於按該第二管理單元將儲存於該第 二儲存區域内的複數個資料清空至該第二輸入緩衝器. 以及 ° 第七處理’其用於將寫人於該第—儲存區域内的所 有有效資料寫入於該保存緩衝器内,以及 在接收要求該第二及第三處理之至少一者的—寫入請 :時且在判斷執行包括該第四至第六處理的輸入緩衝器 /月二處理超過預定時間時,暫停該輸入緩衝器清空處理 並執行包括該第七處理的旁通處理。 2’如凊求項1之記憶體系統,其中在分配給該第二儲存區 域的邏輯區塊之一數目超過一容限時,該控制器執行該 第六處理。 3_如凊求項丨之記憶體系統,其中該控制器管理作為該保 137071.doc 200941218 存緩衝器的該第一輸入緩衝器之該等邏輯區塊之一部 为’其並非該第二處理之一寫入物件。 4.如請求項3之記憶體系統,其中該控制器藉由該第一管 理單元來管理該第一儲存區域與該保存緩衝器。 5·如請求項4之記憶體系統’其中在該旁通處理中,該控 ·_ 制器執行第十二處理,其用於藉由在執行該第七處理之 : 後重定位該邏輯區塊來將在該第二輸入緩衝器内的所有 有效資料移動至該第三儲存區域。 ❹ 6·如請求項5之記憶體系統,其中在該旁通處理中,該控 制器執行第十三處理,其用於在執行該第十二處理之^ 開始該寫入請求之處理並透過該第一儲存區域將輸入資 料寫入於該第二輸入緩衝器内。 7·如請求項6之記憶體系統,其中在該旁通處理中,該控 制器在執行該第十三處理之後重新開始該輸入緩衝器清 空處理。 〇 8.如請求項丨之記憶體系統,其中在該第一儲存區域内的 該資料所屬的按該第=管理#元之資料的一&目超過一 指定值時,該控制器執行該第二及第三處理之至少一 者。 ^ 9·如2求項1之記憶體系統’其中該揮發性半導體記憶體 係一 dram,而該非揮發性半導體記憶體係一 NAND型 快閃記憶體。 1 —種記憶體系統,其包含: 包括於一揮發性半導體記憶體内的一第一儲存區域, 137071.doc 200941218 其係作為一快取記憶體; 包括於非揮發性半導體記憶體内的第二及第三儲存區 域*’其中藉由一頁單元來實行資料讀取及寫入並藉由一 區塊單元來實行資料抹除,該區塊單元多達該頁單元兩 倍或更大自然數倍; 包括於該等非揮發性半導體記憶體内的一第一前級緩 衝器’其係經組態用以個別儲存具有一高更新頻率之資 料用於該第二儲存區域; 包括於該等非揮發性半導體記憶體内的一第一輸入緩 * 其係經組態用以在該第一儲存區域與該第一前級 緩衝器之間緩衝; 包括於該等非揮發性半導體記憶體内的一第二輸入緩 衝器,其係經組態用以在該第一儲存區域與該第三儲存 區域之間緩衝; 保存緩衝器,其具有等於或大於該第一儲存區域之 儲存容量的一儲存容量;以及 控制器,其藉由與一或多個區塊相關聯的一邏輯區 塊單兀將”非揮發性半導體記,it體之儲存區域分配給 該第一儲存區域與該第三儲存區域、該第一前級緩衝器 及該第-輸入緩衝器與該第二輸入緩衝器,其中 該控制器執行: 第處理,其用於按一磁區單元將複數個資料寫入 於該第一儲存區域内; 第處理,其用於按一第一管理單元將儲存於該第 137071.doc 200941218 -儲存,域内的該資料清以該第—輸人緩衝器, 44㈣磁區單元兩倍或更大自然數倍; 第三處理’其用於按一第-您 β — —g理早元將儲存於該 一儲存區域内的該資料清空至 ^ 芽至該第二輸入緩衝器,該第 二管理單元多達該第一管理^ s埋單70兩倍或更大自然數倍. 第四處理,其用於將-邏輯區塊重定位至該第一前 級緩衝器,該邏輯區塊中的所有頁被寫人於 緩衝器内; # %入
    第五處理,其用於將-邏輯區塊重定位至該第三储 存區域,該邏輯區塊中的所有頁被寫入於該第二輸入緩 衝器内; 第六處s,其用於按該第二管理單元將儲存於該第 二儲存區域内的複數個資料清空至該第二輪入緩衝器; 第七處理’其用於將寫入於該第一儲存區域内的所 有有效資料寫入於該保存緩衝器内; 第八處理,其用於選擇按該第一管理單元儲存於該 第二儲存區域内的複數個有效資料並將該有效資料重寫 於一新邏輯區塊内;以及 第九處理,其用於將在該第一前級緩衝器内的一邏 輯區塊重定位至該第二儲存區域,以及 在接收要求該第二及第三處理之至少一者的一寫入請 求時且在判斷執行包括該第四至第六、第八及第九處理 的輸入緩衝器清空處理超過預定時間時,暫停該輸入緩 衝器清空處理並執行包括該第六處理的旁通處理。 13707I.doc 200941218 11.如請求之記憶體系統,其中在分配給該第二儲存區 域的邏輯區塊之-數目超過一容限時,該控制器執行該 第六及第八處理。 12_如睛求項10之記憶體系統,其中該控制器藉由該邏輯區 塊單元來管理具有FIF0結構的該第一前級緩衝器。 13.如請求項12之記憶體系統,其中該控制器執行第十四處 理m㈣第彡管料元將纟最早登錄於該第一前 級緩衝器内的一邏輯區塊内的資料清空至該第二輸入 衝器。 14·如請求項13之記憶體系統,其中在分配給該第一前級緩 衝器的邏輯區塊之-數目超過—容限時,該控制器執行 該第十四處理。 15.如請求項13之記憶體系統,其中該控制器為其中在執行 該第十四處理之後仍保留有效資料的該邏輯區塊執行該 第九處理。 1 6.如4求項i〇之記憶體系統,其中該控制器管理作為該保 存緩衝器的該第一輸入緩衝器之該等邏輯區塊之一邛 分’其並非該第二處理之一寫入物件。 17·如叫求項16之記憶體系統,其中該控制器藉由該第—管 理單元來管理該第一儲存區域與該保存緩衝器。 18.如請求項17之記憶體系統,其中在該旁通處理中,該控 制器執行第十二處理,其用於藉由在執行該第七處 後重定位該邏輯區塊來將在該第二輸入緩衝器内的所 有效資料移動至該第三儲存區域。 137071.doc 200941218 19. 20. 21. ❿ 22. 23. 如咐求項18之記憶體系統,其中在該旁通處理中該控 制器執行第十三處理,其用於在執行該第十二處理之後 開始該寫人請求之處理並透過該第—儲存區域將輸入資 料寫入於該第二輸入緩衝器内。 如請求項19之記憶體系統,其中在該旁通處理中該控 制器在執行該第十二處理之後重新開始該輸入緩衝器清 空處理。 如請求項10之記憶體系統,其中在該第一儲存區域内的 =資料所屬的按該第二管理單元之資料的一數目超過一 指定值時,該控制器執行該第二及第三處理之至少一 者。 如叫求項1之記憶體系統,其中該揮發性半導體記憶體 係DRAM,而該非揮發性半導體記憶體係一 NAND型 快閃記憶體。 一種記憶體系統,其包含: 包括於一揮發性半導體記憶體内的一第一儲存區域, 其係作為一快取記憶體; 包括於非揮發性半導體記憶體内的第二及第三儲存區 域*其中藉由一頁單元來實行資料讀取及寫入並藉由一 區塊單元來實行資料抹除,該區塊單元多達該頁單元兩 倍或更大自然數倍; /匕括於該等非揮發性半導體記憶體内的一第一前級緩 衝器其係經組態用以個別儲存具有一高更新頻率之資 料用於該第二儲存區域; 137071.doc 200941218 •,括於料非揮發性半導體記憶仙的—第二前級緩 衝器’其係經組態用以個別儲存具有-高更新頻率之眘 料用於該第三儲存區域; ,包括於該等非揮發性半導體記憶體内的一第一輸入緩 ^ Z、係經·組態用以在該第一儲存區域與該第一前鈒 緩衝器之間緩衝; 一輸入緩 第二前級 ο括於6亥等非揮發性半導體記憶體内的一第
    ❹ 衝器,其係經組態用以在該第一儲存區域與該 緩衝器之間緩衝; 保存緩衝器,其具有等於或大於該第-儲存區域之 健存容量的一儲存容量;以及 -控制器’其藉由與一或多個區塊相關聯的一邏輯區 塊單元將該等非揮發性半導體記憶體之儲存區域分配給 該第二儲存區域與該第三儲存區域、該第一前級緩衝器 與該第二前級緩衝器及該第一輸入緩衝器與該第二輸入 緩衝器,其中 該控制器執行: 第一處理,其用於按-磁區單元將複數個f料寫入 於該第一儲存區域内; 第二處理’其用於按-第-管理單元將儲存於該第 -儲存區域内的該資料清空至該第一輸入緩衝器,該第 一管理單元多達該磁區單it兩倍或更大自然數倍; 第三處理’其用於按-第二管理單域儲存於該第 -儲存區域内的該資料清空至該第二輸入緩衝器,該第 137071.doc 200941218 二管理單it多達該第-管理單元兩倍或更大自然數倍; 第四處理,其用於將一邏輯區塊重定位至該第一前 級緩衝器,該邏輯區塊中的所有頁被寫入於該第一輸入 緩衝器内; 第五處理,其用於將一邏輯區塊重定位至該第二前 級緩衝器,該邏輯區塊中的所有頁被寫入於該第二輸入 緩衝器内; 第六處理,其用於按該第二管理單元將在該第二儲 存區域内所儲存的複數個資料清空至該第二輸入緩衝 33. · 為 , 第七處理’其用於將寫入於該第一儲存區域内的所 有有效資料寫入於該保存緩衝器内; 第八處理,其用於選擇按該第一管理單元儲存於該 第二儲存區域内的複數個有效資料並將該有效資料重寫 於一新邏輯區塊内; 第九處理,其用於將在該第一前級緩衝器内的—邏 輯區塊重定位至該第二儲存區域; 第十處理,其用於選擇按該第二管理單元儲存於該 第二儲存區域内的複數個有效資料並將該有效資料重寫 於一新邏輯區塊内;以及 第十一處理’其用於將在該第二前級緩衝器内的一 邏輯區塊重定位至該第三儲存區域,以及 在接收要求該第二及第三處理之至少一者的一寫入請 求時且在判斷執行包括該第四至第六及第八至第十一處 137071.doc 200941218 理的輸入緩衝器清空處理超過預定時間時,暫停該輸入 缓衝器清空處理並執行包括該第六處理的旁通處理。 24. 如請求項23之記憶體系統,其中在分配給該第二儲存區 域的邏輯區塊之一數目超過一容限時,該控制器執行該 第六及第八處理。 25. 如請求項23之記憶體系統,其中在分配給該第二儲存區 域之邏輯區塊之-數目超過-容限時,該㈣器執行該 第十處理。
    ❷ 26. 如請求項23之記憶體系統,其中該控制器藉由該邏輯區 塊單元來管理具有FIFO結構的該第一前級緩衝器。 27. 如請求項26之記憶體系統,其中該控制器藉由該邏輯區 塊單元來管理具有FIFO結構的該第二前級緩衝器。 28. 如請求項27之記憶體系統,其中該控制器執行第十四處 理其用於按該第二管理單元將在最早登錄於該第一前 級緩衝器内的一邏輯區塊内的資料清空至該第二輸入緩 衝器。 ' 29. 如請求項28之記憶體系統,其中在分配給該第一前級緩 衝器的邏輯區塊之一數目超過一容限時,該控制器執行 該第十四處理。 30. 如請求項28之記憶體系統,其中該控制器為其中在執行 該第十四處理之後仍保留有效資料的該邏輯區塊執行該 第九處理。 如月求項2 8之記憶體系統,其中在分配給該第二前級緩 衝器的邏輯區塊之一數目超過一容限時,該控制器執行 137071.doc -10· 200941218 該第十一處理。 32.=求Γ8之記憶體系統,其中該控制器為最早登錄於 33 則級緩衝器内的該邏輯區塊執行該第十-處理。、 未項23之記憶體系統’其中該控制器 存緩衝器的該第一輸入緩衝器之乍為5亥保 汉埤器之該等邏輯區塊之一 为,其並非該第二處理之—寫入物件。 ° 34. 如請求項33之記憶體系統,其中該控制器藉由該第一管 理早几來管理該第-儲存區域與該保存緩衝器。 35. 如請求項34之記憶㈣統,其中在該㈣處理中,该控 制器執行第十二處理,i用於茲 '、用於藉由在執行該第七處理之 後重定位該邏輯區塊來將在該第二輸人緩衝器内的所有 有效資料移動至該第二前級緩衝器。 36·如請求項35之記憶體系統,其中在該旁通處理中,該控 制器執仃第十三處理,其用於在執行該第十二處理^後 ❹ 開始該寫入請求之處理並透過該第一儲存區域將輸入資 料寫入於該第二輸入緩衝器内。 A如,求項36之記憶體系統,其中在該旁通處理中,該控 制盗在執行該第十三處理之後重新開始該輸入緩衝器清 空處理。 38. 如:求項23之記憶體系統’其中在該第-儲存區域内的 料所屬的按該第二管理單元之資料的一數目超過一 才曰定值時,該控制器執行該第二及第三處理之至少一 者。 39. 如叫求項23之記憶體系統,其中該揮發性半導體記憶體 137071.doc •11· 200941218 係-DRAM,而該非揮❹半導體記憶㈣— nand型 快閃記憶體。4〇.如請求項10之記憶體系統, 與胃i- 畀中該頁單兀係多達該第一 吕理卓兀兩倍或更大自然數倍。 4 1 如請求頊3之記憶體系統,其中哕坌-答 該頁單元兩俾h *中該第一管理早7C係多達 第二管理單大自然數倍,而該區塊單元係多達該 早兀兩倍或更大自然數倍。 ❹
    137071.doc 12-
TW097149480A 2008-03-01 2008-12-18 Memory system TW200941218A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008051477A JP4745356B2 (ja) 2008-03-01 2008-03-01 メモリシステム

Publications (1)

Publication Number Publication Date
TW200941218A true TW200941218A (en) 2009-10-01

Family

ID=41055698

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097149480A TW200941218A (en) 2008-03-01 2008-12-18 Memory system

Country Status (7)

Country Link
US (1) US20100281204A1 (zh)
EP (1) EP2250566A4 (zh)
JP (1) JP4745356B2 (zh)
KR (1) KR101101655B1 (zh)
CN (1) CN101641680A (zh)
TW (1) TW200941218A (zh)
WO (1) WO2009110125A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI396449B (zh) * 2009-11-24 2013-05-11 Aten Int Co Ltd 用以記錄與播放視訊影像資料的方法及裝置
TWI480731B (zh) * 2010-06-30 2015-04-11 Insyde Software Corp 轉接裝置及經由該轉接裝置之除錯方法
TWI636396B (zh) * 2012-11-20 2018-09-21 佩多查爾斯I 固態硬碟機架構

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101632068B (zh) * 2007-12-28 2015-01-14 株式会社东芝 半导体存储装置
JP4461170B2 (ja) 2007-12-28 2010-05-12 株式会社東芝 メモリシステム
JP4691122B2 (ja) * 2008-03-01 2011-06-01 株式会社東芝 メモリシステム
JP4439569B2 (ja) * 2008-04-24 2010-03-24 株式会社東芝 メモリシステム
TWI370273B (en) 2008-10-17 2012-08-11 Coretronic Corp Light guide plate
JP5221332B2 (ja) * 2008-12-27 2013-06-26 株式会社東芝 メモリシステム
JP5317690B2 (ja) * 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
CN102317925B (zh) 2009-02-12 2014-07-23 株式会社东芝 存储器系统和控制存储器系统的方法
JP5060574B2 (ja) * 2010-03-16 2012-10-31 株式会社東芝 メモリシステム
JP5221593B2 (ja) * 2010-04-27 2013-06-26 株式会社東芝 メモリシステム
JP2012008651A (ja) 2010-06-22 2012-01-12 Toshiba Corp 半導体記憶装置、その制御方法および情報処理装置
JP2012128644A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2012141946A (ja) * 2010-12-16 2012-07-26 Toshiba Corp 半導体記憶装置
JP5535128B2 (ja) 2010-12-16 2014-07-02 株式会社東芝 メモリシステム
TWI479315B (zh) * 2012-07-03 2015-04-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與資料寫入方法
US20140032820A1 (en) * 2012-07-25 2014-01-30 Akinori Harasawa Data storage apparatus, memory control method and electronic device with data storage apparatus
US20140181621A1 (en) * 2012-12-26 2014-06-26 Skymedi Corporation Method of arranging data in a non-volatile memory and a memory control system thereof
TWI537734B (zh) * 2013-06-18 2016-06-11 群聯電子股份有限公司 資料保護方法、記憶體控制器與記憶體儲存裝置
US9880778B2 (en) * 2015-11-09 2018-01-30 Google Inc. Memory devices and methods
JP2018041204A (ja) 2016-09-06 2018-03-15 東芝メモリ株式会社 メモリ装置及び情報処理システム
CN107301133B (zh) * 2017-07-20 2021-01-12 苏州浪潮智能科技有限公司 一种构建丢失的FTL table的方法及装置
FR3074317B1 (fr) 2017-11-27 2019-11-22 Idemia Identity & Security France Procede d'acces a une zone memoire non volatile de type flash d'un element securise, tel qu'une carte a puce
US10970216B2 (en) 2017-12-27 2021-04-06 Intel Corporation Adaptive granularity write tracking
US10949346B2 (en) * 2018-11-08 2021-03-16 International Business Machines Corporation Data flush of a persistent memory cache or buffer
TWI742961B (zh) * 2020-12-10 2021-10-11 旺宏電子股份有限公司 快閃記憶體系統及其快閃記憶體裝置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3688835B2 (ja) * 1996-12-26 2005-08-31 株式会社東芝 データ記憶システム及び同システムに適用するデータ転送方法
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US20050144379A1 (en) * 2003-12-31 2005-06-30 Eschmann Michael K. Ordering disk cache requests
KR100526190B1 (ko) * 2004-02-06 2005-11-03 삼성전자주식회사 플래시 메모리의 재사상 방법
JP4768237B2 (ja) * 2004-06-25 2011-09-07 株式会社東芝 携帯可能電子装置及び携帯可能電子装置の制御方法
US20070094445A1 (en) * 2005-10-20 2007-04-26 Trika Sanjeev N Method to enable fast disk caching and efficient operations on solid state disks
JP2008033788A (ja) * 2006-07-31 2008-02-14 Matsushita Electric Ind Co Ltd 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
US7814276B2 (en) * 2007-11-20 2010-10-12 Solid State System Co., Ltd. Data cache architecture and cache algorithm used therein
CN101632068B (zh) * 2007-12-28 2015-01-14 株式会社东芝 半导体存储装置
JP4592774B2 (ja) * 2008-03-01 2010-12-08 株式会社東芝 メモリシステム
JP4498426B2 (ja) * 2008-03-01 2010-07-07 株式会社東芝 メモリシステム
JP4653817B2 (ja) * 2008-03-01 2011-03-16 株式会社東芝 メモリシステム
JP4643667B2 (ja) * 2008-03-01 2011-03-02 株式会社東芝 メモリシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI396449B (zh) * 2009-11-24 2013-05-11 Aten Int Co Ltd 用以記錄與播放視訊影像資料的方法及裝置
TWI480731B (zh) * 2010-06-30 2015-04-11 Insyde Software Corp 轉接裝置及經由該轉接裝置之除錯方法
TWI636396B (zh) * 2012-11-20 2018-09-21 佩多查爾斯I 固態硬碟機架構

Also Published As

Publication number Publication date
CN101641680A (zh) 2010-02-03
EP2250566A4 (en) 2011-09-28
WO2009110125A1 (en) 2009-09-11
KR101101655B1 (ko) 2011-12-30
US20100281204A1 (en) 2010-11-04
JP2009211231A (ja) 2009-09-17
JP4745356B2 (ja) 2011-08-10
EP2250566A1 (en) 2010-11-17
KR20090117930A (ko) 2009-11-16

Similar Documents

Publication Publication Date Title
TW200941218A (en) Memory system
TWI400615B (zh) 記憶體系統
TWI400609B (zh) 記憶體系統
TWI388988B (zh) 記憶體系統
TWI406129B (zh) 記憶體系統
TWI420310B (zh) 記憶體系統
JP4643667B2 (ja) メモリシステム
KR101067457B1 (ko) 메모리 시스템
KR101102634B1 (ko) 메모리 시스템
JP4691123B2 (ja) メモリシステム
JP4551940B2 (ja) メモリシステム
US20140189420A1 (en) Memory system
JP5221593B2 (ja) メモリシステム
KR101032671B1 (ko) 메모리 시스템
JP5178857B2 (ja) メモリシステム
JP2009211224A (ja) メモリシステム