TW200825738A - Phased garbage collection - Google Patents

Phased garbage collection Download PDF

Info

Publication number
TW200825738A
TW200825738A TW096126798A TW96126798A TW200825738A TW 200825738 A TW200825738 A TW 200825738A TW 096126798 A TW096126798 A TW 096126798A TW 96126798 A TW96126798 A TW 96126798A TW 200825738 A TW200825738 A TW 200825738A
Authority
TW
Taiwan
Prior art keywords
block
write
data
storage system
volatile memory
Prior art date
Application number
TW096126798A
Other languages
Chinese (zh)
Other versions
TWI343522B (en
Inventor
Shai Traister
Jason Lin
Original Assignee
Sandisk Corp
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
Priority claimed from US11/499,606 external-priority patent/US7444461B2/en
Priority claimed from US11/499,598 external-priority patent/US7451265B2/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200825738A publication Critical patent/TW200825738A/en
Application granted granted Critical
Publication of TWI343522B publication Critical patent/TWI343522B/en

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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
    • 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
    • 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/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

A method for operating a non-volatile memory storage system is provided. In this method, a write command is received to write data. The write command is allocated a timeout period to complete an execution of the write command. Within the timeout period, a portion of a garbage collection operation is performed. The data associated with the write command are written to a buffer associated with the non-volatile memory storage system.

Description

200825738 九、發明說明: 【發明所屬之技術領域】 本發明大體而言係關於記憶體操作,且更明確地說,係 關於用於執行分階段廢棄項目收集操作之方法及系統。 【先前技術】 儲存於記憶體中之資料 ,經壓縮或合併)以收回 在非揮發性記憶體儲存系統中, 區塊經週期地廢棄項目收集(亦即 一記憶體之儲存容量。在—典型的廢棄項目收集操作中, 將有效資料自—區塊複製至另—區塊。在轉移有效資料之 後’擦除原始區塊以提供儲存容量。#前…寫入操作可 觸發-非揮發性記憶體儲存系統執行_廢棄項目收集操 作。主機允許固定時間量用於執行包括該廢棄項目收集操 =(若,觸發)之寫人操作。舉例而言,安全數位協定限制 k間!為25G毫秒。若非揮發性記憶體館存系統在一寫入 操作中超過此固定時間則可產生一逾時錯誤。200825738 IX. Description of the Invention: TECHNICAL FIELD OF THE INVENTION The present invention relates generally to memory operations and, more particularly, to methods and systems for performing phased waste project collection operations. [Prior Art] The data stored in the memory is compressed or combined to be recovered in the non-volatile memory storage system, and the blocks are periodically discarded and collected (ie, the storage capacity of a memory. In the waste project collection operation, the valid data is copied from the block to the other block. After transferring the valid data, the original block is erased to provide the storage capacity. #前...Write operation can trigger-non-volatile memory The body storage system executes the _discarded item collection operation. The host allows a fixed amount of time to perform a write operation including the discarded item collection operation = (if, trigger). For example, the secure digital agreement limits k to ! A non-volatile memory library system can generate a timeout error if it exceeds this fixed time in a write operation.

記憶體區塊之大小已由於增加的容量、較高並行性及晶 粒大小^標而日益增加。因&,因為轉移更多資料,所以 執行寫入操作將花費更長時間…廢棄項目收集操作因此 可容易地超過經配置用於寫入操作之固定時間量。因此, 需要防止當用於執行一廢棄項目收集操作之時間量超過固 定時間量時之逾時錯誤。 【發明内容】 、、本發明之各種實施例提供用於分階段廢棄項目收集之方 法及/或系統。應瞭解,可以眾多方式實施該等實施例, 122731.doc 200825738 眾夕方式包括作為一方一 々扣、中士於 尾路、一系統或一裝置。下 文描述本叙明之若干實施例。 根據本發明之一實施例,提供一 泞俨骑辟六/ 種用於操作一非揮發性 忑L體儲存糸統之方法。在此方 寫入資#。^笨 中接收一寫入指令以 入之劫r 士 “己置•週期以完成該寫入指 執仃。在該逾時週期内’執行一廢棄項目收集操作之 。刀。將與該寫入指令相關聯之資料寫入至一The size of the memory block has been increasing due to increased capacity, higher parallelism, and grain size. Because &, because more data is transferred, it takes longer to perform the write operation... The obsolete item collection operation can therefore easily exceed the fixed amount of time configured for the write operation. Therefore, it is necessary to prevent a timeout error when the amount of time for performing a waste item collection operation exceeds a fixed amount of time. SUMMARY OF THE INVENTION Various embodiments of the present invention provide methods and/or systems for phased collection of obsolete items. It will be appreciated that the embodiments can be implemented in a multitude of ways, 122731.doc 200825738. The evening mode includes as a side button, a sergeant on the tail road, a system or a device. Several embodiments of the present description are described below. In accordance with an embodiment of the present invention, a method for operating a non-volatile 忑L body storage system is provided. Write capital# on this side. ^ Stupid receives a write command to enter the "reset" cycle to complete the write finger stub. In the timeout period 'execute a waste project collection operation. Knife. Will be written with The information associated with the instruction is written to one

性記憶體儲存系統相關聯之緩衝器中。 ^ ^發月之其他實施例及優點自以下結合伴隨圖式描述的 [貝鉍方式]而顯而易見,該[實施方式]藉助於實例說明本 發明之原理。 【實施方式】 、、下文連同伴隨圖式一起提供一或多㈣施例之詳細描 述。結合該等實施例提供詳細描述,但詳細描述不限於任 可特疋實知例。範臂僅受申請專利範圍限制且包含眾多替 代、修改及均等物。在以下描述中陳述眾多特定細節以便 提供一徹底瞭解。出於實例之目的提供此等細節且可在無 某些或所有此等特定細節之情況下根據申請專利範圍實施 所描述之實施例。出於清楚之目的,未詳細描述技術領域 中已知之與實施例有關之技術材料以避免不必要地混淆描 述。 本文中所描述之實施例提供用於分階段廢棄項目收集之 方法及/或系統。一般而言,可將一廢棄項目操作拆分成 多個階段。可在多個逾時週期上執行廢棄項目收集操作之 122731.doc • 6 - 200825738 I5白·Μ或^分)。在_實施例中,如下文將更詳細說明的, 在逾時週期内執行一廢棄項目收集操作之一部分且可將 自寫入指令所接收之資料儲存於一緩衝器中。 圖1為一根據本發明之一實施例之非揮發性記憶體儲存 ^ 系广:一實例之簡化方塊圖。-主機系統(例如,桌上電 • 月1、音訊播放機、數位攝影機,及其他計算裝置)可將資 料寫入至非揮發性記憶體儲存系統1〇2且自非揮發性記憶 φ 體儲存系統⑽讀取資料。非揮發性記憶體儲存系統102可 嵌入主機内或可移除地連接至主機。如圖丨中所展示的, 非揮發性記憶體儲存系統1〇2包括與記憶體118通信之記憶 體控制器110。一般而言,記憶體控制器11〇控制記憶體 Π8之操作。操作之實例包括寫入(或程式化)資料、讀取資 料、擦除資料、驗證資料、進行廢棄項目收集操作,及其 他操作。記憶體控制器110包括經由主機介面1〇4與系統匯 流排126建立介面之匯流排124,且記憶體控制器經由記憶 φ 體;1面1 08與记憶體11 8建立介面。主機介面104、處理器 106(例如,微處理器、微控制器,及其他處理器)、記憶體 介面108、隨機存取記憶體(RAM) 112、錯誤校正碼(ECC) • 電路114及唯讀記憶體(ROM) 116藉助於匯流排124通信。 “ ROM 116可儲存一包括用於控制記憶體118之操作之程式 指令的儲存系統韌體。處理器1〇6經組態以執行自r〇m 116載入之程式指令。可將儲存系統韌體暫時地載入 中且此外可使用RAM來緩衝在一主機與記憶體〗j 8 之間轉移之資料。ECC電路114可檢查經由記憶體控制器 I22731.doc 200825738 110在主機與記憶體118之間傳遞的錯誤。若發現錯誤,則 ECC電路114可校正許多錯誤位元,數目依所利用之ECc演 算法而定。 記憶體118可包括陣列邏輯12〇、非揮發性記憶體單元陣 列122,及記憶體單元陣列123。非揮發性記憶體單元陣列 122可包括多種非揮發性記憶體結構及技術。非揮發性記 憶體技術之實例包括快閃記憶體(例如,NAND、NOR、多 級單元(MLC)、劃分位元線NOR(DINOR)、AND、高電容 耦合比(HiCR)、非對稱無接點電晶體(act)、其他快閃記 憶體)、可擦可程式化唯讀記憶體(EPr〇M)、電子可擦可 程式化唯讀記憶體(EEPROM)、唯讀記憶體(R〇M)、一次 性可程式化記憶體(OTP),及其他記憶體技術。 在一實施例中’記憶體118又可包括經組態以储存一緩 衝器之記憶體單元陣列123。該緩衝器經組態以在一分階 段廢棄項目收集操作中儲存資料。如下文將更詳細說明 的,在一分階段廢棄項目收集操作中,可將自一寫入指令 接收之新資料儲存於緩衝器中。應瞭解,緩衝器亦可根據 本發明之實施例而位於RAM 112及/或非揮發性記憶體單元 陣列122中。類似於非揮發性記憶體單元陣列122,記憶體 早兀陣列123可包括多種記憶體結構及技術。因為記憶體 單元陣列123經組態用於緩衝操作,所以記憶體單元陣列 可併入有一可比非揮發性記憶體陣列122更快、更經濟且 更可靠之不同的記憶體結構。 陣列邏輯120與記憶體控制器丨1〇以及非揮發性記憶體單 122731.doc 200825738 元陣列122及記憶體單元陣列123建立介面,以提供⑼ 如)對非揮發性記憶體單元陣列及記憶體單元陣列之定 址、貝料轉移及感濟j,及其他支援。為支援非揮發性記憶 體單7L陣列122及記憶體單元陣列123,陣列邏 括列解碼器、行解碼器、電荷泵、字線電壓產生器、頁= 衝器、輸入/輸出緩衝器、位址緩衝器,及其他電路。 圖2為組織成平面之記憶體單元陣列之簡化方塊圖。一 或多個圮憶體單元陣列可經劃分成多個平面或子陣列。在 圖2之實例中,一記憶體單元陣列經劃分成四個平面2〇2_ 2〇5。應瞭解,在一非揮發性記憶體儲存系統中可存在其 他數目之平面(諸如,1、2、8、16或16個以上)。每一平面 202、203、204或205可經劃分成記憶體單元區塊,諸如位 於各別平面202-205中之區塊210-213及220-223。一記憶體 單元區塊係可一起實體擦除之記憶體單元之最小數目。為 了增加的並行性,可在較大元區塊(metabl〇ck)單元(其 中,一來自每一平面202、203、204或205之區塊經邏輯鏈 接在一起以形成一元區塊)中操作該等區塊。舉例而言, 四個區塊210-213可經邏輯鏈接在一起以形成一元區塊。 另外,用於形成一元區塊之該等區塊可來自其之各別平面 (諸如,平面202-205)内之各種位置。舉例而言,來自各別 平面202-205内之各種位置之四個區塊220-223可經邏輯鏈 接在一起以形成另一元區塊。一元區塊可在非揮發性記憶 體儲存系統内之所有四個邏輯平面202·205上延伸,或非 揮發性記憶體儲存系統可自一或多個不同平面中之一或多 122731.doc 200825738 個區塊動態地形成元區塊。 圖3為記憶體單元頁之簡化方塊圖。每一區塊(諸如,區 塊210-213)經進一步劃分成記憶體單元頁。如圖3中所展示 的,每一區塊210'211、212或213經劃分成八頁卩〇17。 或者,每一區塊210、211、212或213内可存在16、32或32 個以上記憶體單元頁。為增加非揮發性記憶體儲存系統之 操作並行性,可將兩個或兩個以上區塊内之頁邏輯鏈接成 元頁(metapage)。舉例而言,一元頁可由來自四個區塊 2 10-213中之每一者之一頁(諸如,ρι)形成。一元頁可在非 揮發性記憶體儲存系統内之所有平面上延伸,或非揮發性 記憶體儲存系統可自一或多個不同平面中之一或多個單獨 區塊中之一或多個頁動態地形成元頁。 圖4為記憶體單元之區段之簡化方塊圖。一頁可經進一 步劃分成一或多個區段。每一頁中之資料之量可為一或多 個貧料區段的整數倍,其中每一區段可儲存5 12個位元組 之資料。圖4展示劃分成兩個區段402及4〇4之頁4〇1。每一 區段402或404含有大小可為512個位元組之資料4〇6,及與 資料相關聯之附加資料405。附加資料405之大小可為16個 位元組且可儲存(例如)在程式化期間自資料4〇6計算之一 ECC、與貢料相關聯之邏輯位址、區塊已被擦除及經重新 程式化之次數之計數、控制旗標、操作電壓位準,及與資 料相關聯之其他資訊。 圖5為一主機與非揮發性記憶體儲存系統之間的一邏輯 介面之簡化方塊圖。一連續邏輯位址空間512提供用於可 122731.doc -10· 200825738 儲存於記憶體中之資料之位址。如由主機檢視之邏輯位址 空間512可經劃分成遞增資料叢集。每—叢集可包括許多 資料區段,諸如4個區段與64個區段之間。 如圖5中所展示的,一在主機上執行之應用程式建立三 , 個資料檔案1、2及3。檔案卜2及3可為資料之經定序集合 且係藉由一唯一名稱或其他參照來識別。主機給檔案1指 派一邏輯位址空間,其已不被定位給其他檔案。在此,展 ⑩ 不播案1已經指派連續範圍之可用邏輯位址。 當主機在檔案1之後建立檔案2時’主機類似地指派邏輯 位址空間512内之兩個不同範圍之連續位址。主機可不給 一檔案(諸如,檔案丨、2或3)指派一連續邏輯位址,但可指 派已經配置給其他檔案之邏輯位址範圍之間的邏輯位址之 片#又°圖5之實例展示另一播案3經配置邏輯位址空間川 内之一先珂未被配置給檔案丨及2及其他資料之非連續位址 範圍。 # 主機可藉由保持一檔案配置表(FAT)而記住邏輯位址空 間川’其中保持由主機藉由轉換指派給諸如檔案1-3之各 種貝料檔案之邏輯位址。主機根據邏輯位址且不根據非揮 U »己It體铸存系統儲存檔案之實體位置參照標案卜3。 ' 卜方面,非揮發性記憶體儲存系統根據資料已經寫入之 邏輯位址之部分夂昭讲&amp;, &gt; 私案1-3且不根據配置給檔案之邏輯 位址參照該等播案。非揮發性記憶體儲存系統將由主機提 供之d輯位址轉換成儲存來自主機之資料之記憶體單元陣 列502内的唯f體位址。區塊—表示此等邏輯至實體位 122731.doc 200825738 址轉換之表,該表由非揮發性記憶體儲存系統來保持。 隹圖嶙根據本發明之一實施例的用於分階段廢棄項目收 本之#作之-般概述的流程圖。應瞭解,當原始儲存資料 作廢時,可用新資料覆寫儲存於特定主機邏輯位址處之資 • 肖#揮發性記憶體儲存系統回應於此而將新資料寫入至 、更新區塊巾且接著針對彼等賴位址改變邏輯位址至實 體位址表以識別儲存新資料經之新實體區塊。接著擦除含 _ #彼等邏輯位址處之原始資料之區塊且使其可用於額外資 料之儲存。該擦除可在一寫入操作之前發生。因此,記憶 體控制ι§獲悉在-給定邏輯位址處之資料已由主機使其作 廢或無效之前,新資料被寫入相同邏輯位址。許多記憶體 區塊可因此在一時間週期中儲存無效資料。 區塊及元區塊之大小曰益增加且此等增加導致大部分之 個別貝料寫入儲存小於一元區塊之儲存容量之量的資料, ^在許多實例中,儲存甚至小於—區塊之儲存容量之量的 ,貝料。因為非揮發性記憶體儲存系統可將新資料引導至一 f擦除之集區元區塊,所以該引導可導致區塊或元區塊之 、,p刀未經填滿。若新資料為儲存於另一元區塊中之某些資 料之更新,則來自彼另一元區塊之資料的具有與新資料元 頁^彼等邏輯位址相鄰之邏輯位址的剩餘有效元頁亦經以 邏輯位址次序複製至新的元區塊中。舊的元區塊可保 财效資料元頁。因此,—個別元區塊之特定元頁之資料 可作廢或無效,且被寫入至一不同元區塊之具有相同邏輯 位址之新資料予以替代。 122731.doc -12 200825738 為了保持錄在-龍㈣Μ上儲存資料之足 體記憶體空間’可對該等資料進行週期地廢棄項目收; 及自一壓縮或。併)。一般而§ ’一廢棄項目收集操作涉 自一區塊讀取有效資料及將有效資料寫入至一新區塊 忽略過程中之無效資料。舉例而言,在圖5之 :’ 新資料檔案3之建立使舊資料檔案3作廢。可擦除舊;料權 案3:收回由舊資料檔案3使用之實體容量。然而,: 2及售檔案3健存於相同的實體區塊中,則該擦除操作將觸 發一廢棄項目收集操作。 返回至圖6,非揮發性記憶體儲存系統可在一配置用於 寫入指令之逾時週期内執行廢棄項目收集操作。根據本 Γ明之一實施例,若不可在一逾時週期内完成廢棄項目收 木^作、’則可將一廢棄項目收集操作拆分成若干不同階段 (夕或部分)。在此,非揮發性記憶體儲存系統使用配置用= 多個寫入指令之逾時週期執行廢棄項目收集操作之部分。 =言之,非揮發性記憶體儲存系統利用配置用於多個寫入 才曰令之逾時週期執行一廢棄項目收集操作之部分。 如圖6中所展示的,在操作602中接收一用於寫入新資料 之寫入指令。如本文中所使用的,術語”新資料”經定義為 由非揮發性記憶體儲存系統自一寫入指令接收以寫入記憶 體之資料。、給該寫入指令I置一逾時週期卩完成該寫入指 7之執行。換&amp;之,逾時週期為一經配置用於寫入指令之 執仃之時間週期。一經配置之逾時週期之實例為250毫 寫入4曰々可為單區段寫入指令或多區段寫入指令。如 12273l.doc -13- 200825738 將更詳細5兒明的,在單區段寫入指令中,可將新資料 γ單區^又寫入至一 §己憶體上之隨機位址。在多區段寫入 扣令中,將具有相鄰邏輯位址的多個區段之新資料寫入至 記憶體。 . 若一廢棄項目收集操作不可在逾時週期内完成,則如操 ⑽4中所展示的’在配置用於寫入指令之逾時週期内執 订該廢棄項目收集操作之一部分。可在稱後之逾時週期中 φ 冑成廢棄項目收集之剩餘部分。舉例而言,圖7展示根據 本發明之一實施例的一經拆分成多個部分78〇及781之廢棄 項目收集操作之-實例的簡化方塊圖。如圖7中所展示 的 非揮發性記憶體儲存系統接乡&amp;段寫入指令 704且隧後,接收用於儲存至記憶體中之多個區段之新 貧料760-762。在接收每一資料區段·、761或μ之後維 持忙錄中信號702。該非揮發性記憶體儲存系統維持忙錄 中信號702以允許執行寫入指令,可包括廢棄項目收集操 • 作(若需要的話)及其他操作。當維持忙錄中信號繼時,一 主機不會將另一指令或額外資料發送至非揮發性記憶體储 存系統。非揮發性記憶體儲存系統可在接收每一資料區段 . 、761或762之後的有限時間量中維持忙錄中信號7〇2, - 因為主機允許有限的W時間量(㈣,逾時週期75〇_752) 用於執行寫入指令。若忙錄中信號在比逾時週期75〇、 或752保持地長,則主機可重複寫入指令或放棄該過程。 因此,非揮發性記憶體儲存系統不可在比逾時週期I 751或752長之週期中維持忙錄中信號7〇2。在完成寫入多 122731.doc -14- 200825738 l固f料區段鳩·762之後釋放忙錄中信號702允許主機進- ^與非揮發性記憶體儲存系統通信。 再參看圖7,可在多個逾時週期75〇·752之間配置廢棄項 集之。Ρ刀780及781。換言之,非揮發性記憶體儲存系 統可利用每-逾時週期750、751或752執In the buffer associated with the memory storage system. Other embodiments and advantages of the present invention will be apparent from the following description of the <Desc/Clms Page number> [Embodiment] A detailed description of one or more (four) embodiments is provided below along with the accompanying drawings. A detailed description is provided in connection with the embodiments, but the detailed description is not limited to the specific embodiments. Fan arm is only subject to the scope of the patent application and contains numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding. The details are provided for the purpose of example and may be practiced in accordance with the scope of the application. For the sake of clarity, the technical material associated with the embodiments that are known in the art is not described in detail to avoid unnecessarily obscuring the description. Embodiments described herein provide methods and/or systems for phased collection of obsolete items. In general, an abandoned project operation can be split into multiple phases. The waste collection operation can be performed on multiple timeout periods. 122731.doc • 6 - 200825738 I5 White·Μ or ^分). In an embodiment, as will be explained in greater detail below, a portion of the obsolete item collection operation is performed during the timeout period and the data received from the write instruction can be stored in a buffer. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a simplified block diagram of a non-volatile memory storage system in accordance with an embodiment of the present invention. - The host system (eg, desktop power • month 1, audio player, digital camera, and other computing devices) can write data to the non-volatile memory storage system 1〇2 and from non-volatile memory φ volume storage The system (10) reads the data. The non-volatile memory storage system 102 can be embedded within the host or removably coupled to the host. As shown in FIG. 2, the non-volatile memory storage system 102 includes a memory controller 110 in communication with the memory 118. In general, the memory controller 11 controls the operation of the memory port 8. Examples of operations include writing (or stylizing) data, reading data, erasing data, verifying data, performing waste collection operations, and other operations. The memory controller 110 includes a bus bar 124 that establishes an interface with the system bus 126 via the host interface 1-4, and the memory controller establishes an interface with the memory 811 via the memory φ body; Host interface 104, processor 106 (eg, microprocessor, microcontroller, and other processors), memory interface 108, random access memory (RAM) 112, error correction code (ECC), circuit 114, and Read memory (ROM) 116 communicates by means of bus bar 124. The ROM 116 can store a storage system firmware including program instructions for controlling the operation of the memory 118. The processor 〇6 is configured to execute program instructions loaded from the r〇m 116. The storage system can be tough The body is temporarily loaded and additionally RAM can be used to buffer the data transferred between a host and the memory. The ECC circuit 114 can check the host and memory 118 via the memory controller I22731.doc 200825738 110. Errors passed between. If an error is found, the ECC circuit 114 can correct a number of error bits, the number depending on the ECc algorithm utilized. The memory 118 can include an array logic 12, a non-volatile memory cell array 122, And memory cell array 123. Non-volatile memory cell array 122 can include a variety of non-volatile memory structures and techniques. Examples of non-volatile memory technologies include flash memory (eg, NAND, NOR, multi-level cells) (MLC), dividing bit line NOR (DINOR), AND, high capacitance coupling ratio (HiCR), asymmetric contactless transistor (act), other flash memory), erasable programmable read-only memory (EPr 〇M), electronically erasable programmable read only memory (EEPROM), read only memory (R〇M), disposable programmable memory (OTP), and other memory technologies. In one embodiment The memory 118, in turn, can include a memory cell array 123 configured to store a buffer. The buffer is configured to store data in a phased waste collection operation. As will be explained in more detail below, In a one-stage discarding project collection operation, new data received from a write command may be stored in a buffer. It will be appreciated that the buffer may also be located in RAM 112 and/or non-volatile memory in accordance with an embodiment of the present invention. In the body cell array 122. Similar to the non-volatile memory cell array 122, the memory early array 123 can include a variety of memory structures and techniques. Since the memory cell array 123 is configured for buffering operations, the memory cells The array can incorporate a different memory structure that is faster, more economical, and more reliable than the non-volatile memory array 122. Array logic 120 and memory controller 〇1〇 and non-volatile memory 122731.doc 200825738 The element array 122 and the memory cell array 123 establish an interface to provide (9), for example, addressing, data transfer and sensation of non-volatile memory cell arrays and memory cell arrays, and other support. Supports non-volatile memory single 7L array 122 and memory cell array 123, array logic column decoder, row decoder, charge pump, word line voltage generator, page = buffer, input/output buffer, address Buffers, and other circuits. Figure 2 is a simplified block diagram of a memory cell array organized into planes. One or more memory cell arrays can be divided into multiple planes or sub-arrays. In the example of Figure 2, a memory cell array is divided into four planes 2〇2_ 2〇5. It will be appreciated that there may be other numbers of planes (e.g., 1, 2, 8, 16 or more) in a non-volatile memory storage system. Each plane 202, 203, 204 or 205 can be divided into memory unit blocks, such as blocks 210-213 and 220-223 located in respective planes 202-205. A memory unit block is the minimum number of memory units that can be physically erased together. For increased parallelism, operations may be performed in a larger metablock unit in which blocks from each plane 202, 203, 204, or 205 are logically linked together to form a unitary block. These blocks. For example, four blocks 210-213 can be logically linked together to form a unitary block. In addition, the blocks used to form the unary blocks may come from various locations within their respective planes, such as planes 202-205. For example, four blocks 220-223 from various locations within respective planes 202-205 can be logically linked together to form another metablock. The unary block may extend over all four logical planes 202.205 within the non-volatile memory storage system, or the non-volatile memory storage system may be one or more of one or more different planes 122731.doc 200825738 The blocks dynamically form a metablock. Figure 3 is a simplified block diagram of a memory cell page. Each block (such as blocks 210-213) is further divided into memory unit pages. As shown in FIG. 3, each block 210'211, 212 or 213 is divided into eight pages 卩〇17. Alternatively, there may be 16, 32 or more memory cell pages within each block 210, 211, 212 or 213. To increase the operational parallelism of a non-volatile memory storage system, pages within two or more blocks can be logically linked into metapages. For example, a unary page can be formed from a page (such as ρι) from each of the four blocks 2 10-213. The unary pages may extend over all planes within the non-volatile memory storage system, or the non-volatile memory storage system may be from one or more of the one or more separate blocks The meta page is dynamically formed. 4 is a simplified block diagram of a section of a memory cell. A page can be further divided into one or more segments. The amount of data in each page can be an integer multiple of one or more lean sections, where each section can store 5 12 bytes of data. Figure 4 shows page 4〇1 divided into two sections 402 and 4〇4. Each segment 402 or 404 contains data 〇6, which may be 512 bytes in size, and additional data 405 associated with the data. The additional data 405 can be 16 bytes in size and can store, for example, one of the ECCs calculated from the data 4〇6 during the stylization, the logical address associated with the tribute, the block has been erased, and The count of reprogramming times, control flags, operating voltage levels, and other information associated with the data. Figure 5 is a simplified block diagram of a logical interface between a host and a non-volatile memory storage system. A contiguous logical address space 512 provides an address for the data stored in the memory 122731.doc -10.200825738. The logical address space 512 as viewed by the host can be divided into incremental data clusters. Each cluster may include a number of data segments, such as between 4 segments and 64 segments. As shown in Figure 5, an application executing on the host creates three data files 1, 2 and 3. Files 2 and 3 can be a sequenced collection of data and are identified by a unique name or other reference. The host assigns a logical address space to file 1, which has not been located to other files. Here, the show 10 does not broadcast 1 has assigned a range of available logical addresses. When the host creates file 2 after file 1, the host similarly assigns two different ranges of consecutive addresses within logical address space 512. The host may not assign a contiguous logical address to a file (such as file 丨, 2 or 3), but may assign a slice of logical address between logical address ranges that have been configured to other files. Show another broadcast 3 of the configured logical address space, one of the non-contiguous address ranges that are not configured for the file and 2 and other data. # The host can remember the logical address space by keeping a file configuration table (FAT), which is maintained by the host by switching the logical addresses assigned to various bedding files such as files 1-3. The host refers to the standard case according to the logical address and does not refer to the physical location of the file stored in the system. In terms of the non-volatile memory storage system, according to the part of the logical address that the data has been written, the non-volatile memory storage system, 1-3, does not refer to the broadcast case according to the logical address of the file. The non-volatile memory storage system converts the address provided by the host into a f-bit address in the memory cell array 502 that stores data from the host. Block—Indicates the logical to physical bits of the table 122273.doc 200825738, which is maintained by a non-volatile memory storage system. BRIEF DESCRIPTION OF THE DRAWINGS A flow chart for a general overview of a phased waste project receipt in accordance with an embodiment of the present invention. It should be understood that when the original stored data is invalid, the new data can be overwritten with the information stored in the specific host logical address. • Xiao # volatile memory storage system responds to this and writes new data to and updates the block towel. The logical address is then changed to the physical address table for the peer address to identify the new physical block through which the new data is stored. The block containing the original data at the logical address of _# is then erased and made available for storage of additional data. This erasure can occur prior to a write operation. Therefore, the memory control knows that the new data is written to the same logical address before the data at the given logical address has been invalidated or invalidated by the host. Many memory blocks can therefore store invalid data for a period of time. The size of the blocks and metablocks increases and these increases result in most of the individual materials being written to the amount of storage that is less than the storage capacity of the unary block. In many instances, the storage is even smaller than the block. The amount of storage capacity, shell material. Since the non-volatile memory storage system can direct new data to a f-blocked meta-block, the boot can result in a block or meta-block that is not filled. If the new data is an update of certain data stored in another metablock, the remaining valid elements of the logical address from the other data block adjacent to the logical address of the new data element The pages are also copied to the new metablock in logical address order. The old metablock can save the financial information information page. Therefore, the data of a particular metapage of an individual metablock can be invalidated or invalidated, and new data with the same logical address written to a different metablock is replaced. 122731.doc -12 200825738 In order to maintain the physical memory space of the data stored on the Dragon (4), the data can be periodically discarded; and from a compressed or. and). In general, § ‘ an obsolete project collection operation involves reading valid data from a block and writing valid data to a new block to ignore invalid data in the process. For example, in Figure 5: ' The creation of the new data file 3 invalidates the old data file 3. Erasable old; material rights 3: Recover the physical capacity used by the old data file 3. However, if: 2 and the sales file 3 are stored in the same physical block, the erase operation will trigger an abandoned item collection operation. Returning to Figure 6, the non-volatile memory storage system can perform a waste collection operation within a timeout period configured for write instructions. According to one embodiment of the present invention, an abandoned project collection operation can be split into a number of different phases (evening or partial) if the waste project is not completed within a timeout period. Here, the non-volatile memory storage system performs the part of the waste collection operation using the timeout period of the configuration = multiple write instructions. In other words, the non-volatile memory storage system utilizes a portion of the obsolete item collection operation that is configured for multiple write-out timeout periods. As shown in Figure 6, a write command for writing new material is received in operation 602. As used herein, the term "new material" is defined as data that is received by a non-volatile memory storage system from a write command to write to a memory. The write command I is set to a timeout period to complete the execution of the write finger 7. For &amp;, the timeout period is the time period configured for the execution of the write command. An example of a configured timeout period of 250 milliseconds can be a single sector write instruction or a multi-session write instruction. As will be seen in more detail in the 12273l.doc -13-200825738, in the single-segment write command, the new data γ-single area can be written to a random address on a hexadecimal. In a multi-session write deduction, new data for multiple segments with adjacent logical addresses is written to the memory. If an obsolete item collection operation cannot be completed within the timeout period, then part of the obsolete item collection operation is executed within the timeout period configured to write the instruction as shown in (10)4. φ can be reduced to the remainder of the waste collection during the post-week period. By way of example, Figure 7 shows a simplified block diagram of an example of a waste collection operation that is split into multiple sections 78A and 781, in accordance with an embodiment of the present invention. The non-volatile memory storage system shown in Figure 7 receives the &amp; segment write command 704 and, after tunneling, receives new lean material 760-762 for storage into a plurality of segments in the memory. The busy recording signal 702 is maintained after receiving each data segment·, 761 or μ. The non-volatile memory storage system maintains the busy recording signal 702 to allow execution of write commands, which may include obsolete item collection operations (if needed) and other operations. While maintaining the busy recording signal, a host does not send another command or additional data to the non-volatile memory storage system. The non-volatile memory storage system can maintain the busy recording signal 7〇2 for a limited amount of time after receiving each data segment, 761 or 762, - because the host allows a limited amount of W time ((4), timeout period 75〇_752) Used to execute a write command. If the busy recording signal is held longer than the timeout period of 75 〇, or 752, the host may repeat the write command or discard the process. Therefore, the non-volatile memory storage system cannot maintain the busy recording signal 7〇2 in a period longer than the timeout period I 751 or 752. The release of the busy recording signal 702 after completion of the write multiple 122731.doc -14-200825738 l solid block section 762 allows the host to communicate with the non-volatile memory storage system. Referring again to Figure 7, the discarded items can be configured between a plurality of timeout periods of 75 〇 752. Sickles 780 and 781. In other words, non-volatile memory storage systems can take advantage of 750, 751 or 752 per-timeout period

集操作之每-部分或781。舉例而言,在第—逾時週期 75〇期間執行—廢棄項目收集之第—部分鄭在此,在第 ,週期750期間’可將有效資料之一部分自一區塊複 ,至另-區塊。在第二逾時週期751,繼續先前的起始於 —达卞週期之廢棄項目收集操作。在逾時週期751期 間揮發性記憶體儲存系統執行先前的廢棄項目收集操 作之第二部分781,直至完成先前的廢棄項目收集為止。 可藉由將有效資料之剩餘部分或最後部分自一區塊複製至 另-區塊而完成先前的廢棄項目收集。若先前的廢棄項目 收木操作不可在第二逾時週期75丨内完成,則非揮發性記 憶體储存系統可使用隨後的逾時週期(諸如,第三逾時週 期752)疋成廢棄項目收集操作。在多區段寫入指令几4之 結束處,非揮發性記憶體儲存系統可在接收停止指令 之後維持忙錄中信號7〇2,直至所有資料區段鳩被寫 入至記憶體單元陣列為止^請注意,圖7說明與多區段寫 入指令相關聯之操作。如下文將更詳細說明的,對於單區 丰又寫入指令及多區段寫入指令,所執行之廢棄項目收集操 作可不同。舉例而言’如下文將更詳細說明的,用於儲存 新資料之緩衝器之類型依所接收之寫入指令為單區段寫入 122731.doc -15- 200825738 指令還是多區段寫入指令而定。 返回至圖6,在一逾時週期内執行廢棄項目收集操作之 一部分之後,在操作606中,可將自寫入操作所接收之新 資料儲存於一與非撣發性記憶體儲存系統相關聯之緩衝器Set every part of the operation or 781. For example, during the first-timeout period of 75〇, the first part of the collection of the abandoned project is here, during the period 750, 'one part of the valid data can be copied from one block to another block. . In the second timeout period 751, the previous waste collection operation starting at the 卞 cycle is continued. During the timeout period 751, the volatile memory storage system performs the second portion 781 of the previous waste project collection operation until the previous waste project collection is completed. The previous collection of obsolete items can be accomplished by copying the remaining or last portion of the valid material from one block to another. If the previous abandoned project picking operation cannot be completed within the second timeout period of 75 ,, the non-volatile memory storage system can use the subsequent timeout period (such as the third timeout period 752) to collect the discarded items. operating. At the end of the multi-session write command number 4, the non-volatile memory storage system can maintain the busy recording signal 7〇2 after receiving the stop command until all data sectors are written to the memory cell array. ^ Please note that Figure 7 illustrates the operations associated with a multi-session write instruction. As will be explained in more detail below, for single-region write and multi-session write instructions, the discarded project collection operations performed may vary. For example, as will be explained in more detail below, the type of buffer used to store new data is a single-segment write 122731.doc -15-200825738 instruction or a multi-session write instruction depending on the received write instruction. And set. Returning to FIG. 6, after performing a portion of the discarded item collection operation in a timeout period, in operation 606, the new data received from the write operation can be stored in a non-burst memory storage system. Buffer

中。在一實施例中,該缓衝器可為一與非揮發性記憶體單 元陣列(例如,圖1中所展示之非揮發性記憶體陣列122)相 關聯之資料結構^資料結構之一實例包括下文將更詳細描 述之非揮發性記憶體單元陣列之區塊(諸如,寫入緩衝器 區塊)。在另一實施例中,緩衝器可為揮發性記憶體單元 陣列之區塊。舉例而言,新資料可儲存於一位於舆非揮發 性S己憶體儲存系統相關聯之RAM(例如,圖1中所展示之 RAM 112)中的-區塊中。在再—實施例中,如上所述, 新資料可儲存於一位於一單獨記憶體單元陣列(例如,圖ι 中所展示之記憶體單元陣列123)中之區塊中。 圖8為根據本發明之—實施例的㈣執行-分階段廢棄 項目收集之詳細操作之流程圖。如圖8中所展示的在操 作802中接收-寫入指令以將新資料寫入至一記憶體。在 貝%例中’該寫入指令為一單區段寫入指令。在某些情 =下’如下文將更詳細說明的,根據另—實施例,寫入指 :亦可為一多區段寫入指令。在接收寫入指令之後,在操 m揮發性記憶體儲存系統維持-忙錄中信號。 在執行寫入指令之前太 隹睥…… 作06中’在-廢棄項目收 术¥間週期中執行廢睾 言,在-實施例中,選擇:操作之-部分。舉例而 、 或夕個區塊用於廢棄項目收集 122731.doc -16- 200825738 操作。該一或多個區塊 —^ ^ 括無政資料及/或有效資料。 在一廢棄項目收集時間週董 韦政貝枓。 塊。依配置用於廢棄項目 弟一£ 队朱縣作之廢棄項目收 期及待複製之有效資料之旦A竹 果Bf間週 …、里而將所有有效資料或有效資料 之一部分複製至第二區塊。g&amp; 頁效貝枓 尼配置用於廢棄項目收隼 廢茶項目收集時間週期可表示為 、 廢棄項目收集時間週期=:逾時週期吆 其中逾時週期如上所述為一 L4疋、有限的時間週期。 T,g為與將新資料寫入至記憶體(例如,寫入至一緩衝” 相關聯之最大程式化時間,或為非揮發性記憶體儲存系統 將新資料寫入至記憶體所花費之最大時間。因Λ,在一實 施例中’非揮發性記憶體儲存系統追蹤用於將有效資料自 該-或多個區塊複製至第二區塊之時間之量。在時間超過 廢棄項目收集時間週期之前,非揮發性記憶體儲存系統停 止複製。in. In one embodiment, the buffer may be an instance of a data structure associated with a non-volatile memory cell array (eg, non-volatile memory array 122 shown in FIG. 1). The blocks of the non-volatile memory cell array (such as write buffer blocks) are described in more detail below. In another embodiment, the buffer can be a block of a volatile memory cell array. For example, the new data can be stored in a block located in a RAM associated with the non-volatile S memory storage system (e.g., RAM 112 shown in Figure 1). In a further embodiment, as described above, the new material can be stored in a block located in an array of individual memory cells (e.g., memory cell array 123 shown in FIG. 1). Figure 8 is a flow diagram showing the detailed operation of (iv) execution-staged obsolescence item collection in accordance with an embodiment of the present invention. A receive-write instruction in operation 802 is shown in Figure 8 to write new data to a memory. In the case of %, the write command is a single-segment write command. In some instances, as will be explained in more detail below, according to another embodiment, the write finger can also be a multi-segment write command. After receiving the write command, the volatile memory storage system is maintained in the busy-busy signal. Before the execution of the write command, it is too 隹睥... In the case of 06, the waste test is executed in the period of the -discarded item, and in the embodiment, the part of the operation is selected. For example, or a block is used for the collection of obsolete items. 122731.doc -16- 200825738 Operation. The one or more blocks - ^ ^ include no political information and / or valid information. In an abandoned project collection time, Zhou Dong Wei Zhengbei. Piece. According to the configuration, the abandoned project will be copied to the second district, and all the valid materials or valid materials will be copied to the second district. Piece. g&amp; PAGE effect Beaconi configuration for waste project waste tea project collection time period can be expressed as, waste project collection time period =: timeout period 吆 where the timeout period is as described above for a L4 疋, limited time cycle. T, g is the maximum programmed time associated with writing new data to memory (eg, write to a buffer), or for non-volatile memory storage systems to write new data to memory. Maximum time. Because, in one embodiment, the 'non-volatile memory storage system tracks the amount of time used to copy valid data from the one or more blocks to the second block. Over time collection of discarded items The non-volatile memory storage system stops copying before the time period.

若在廢棄項目收集時間週期期間無法完成廢棄項目收集 操作,則在操作810中可將與寫入指令相關聯之新資料寫 入至寫入緩衝器區塊。非揮發性記憶體儲存系統可在廢棄 項目收集操作之前、期間或之後,將新資料寫入至寫入缓 衝器區塊。如下文將更詳細說明的,一旦完成廢棄項目收 集操作,便可將新資料自寫入緩衝器區塊複製至一更新區 塊。由非揮發性記憶體儲存系統將寫入緩衝器區塊保持在 記憶體中。一般而言,寫入缓衝器區塊緩衝非揮發性記憶 122731.doc -17- 200825738 體儲存系統中之新資料。在一實施例中,寫入緩衝器區塊 跨越多個邏輯位址。在另一實施例中,寫入緩衝器區塊跨 越-整個邏輯位址空間。藉由跨越整個邏輯位址空間,寫 ^緩衝器區塊可儲存即將寫人至整個非揮發性記憶體儲存 糸統内之所有邏輯位址及所有邏輯位址群組(亦即,所有 邏輯群組)之資料。換言之,與不同邏輯群組相關聯之新 貧料可儲存於寫入緩衝器區塊中。一邏輯群組為具有一可 等於-元區塊之大小之大小的一邏輯位址群組。可依連續 或不連續(亦即,無序或隨機)次序將新資料寫入至寫入緩 衝器區塊。如下文將更詳細說明的,當猶後將寫入至寫入 緩衝器區塊之新資料複製至另一區塊(例如’一更新區塊) 時’寫入緩衝器區塊充當一暫時緩衝器。如本文中所使用 的’術語&quot;寫人緩衝器區塊清除&quot;意謂將儲存於寫入緩衝器 區塊中之新資料複製至另一區塊。 請注意,在-實施例中’非揮發性記憶體儲存系統使用 寫入緩衝器區塊以用於分階段廢棄項目收集操作。因此, 寫入緩衝器區塊可能未儲存最近更新之新資料。因此,若 在-隨後之讀取操作中讀取新資料,則非揮發性記憶體儲 存系統檢查健存於更新區塊或寫入緩衝器區塊中之哪些新 資料經最近更新。該讀取操作接著存取及傳回最近更新之 新資料。在另-實施例中,非揮發性記憶體儲存系統可使 用寫入緩衝器區塊以用於不分階段廢棄項目收集操作與分 階段廢棄項目收集操作。在此,寫入緩衝器區塊係用於所 有寫入操作。換言之,將來自不分階段廢棄項目收集操作 122731.doc -18- 200825738 及分階段廢棄項目收集操作 余 啊貝料冩入至寫入緩衝器區 鬼。因此,寫入緩衝器區塊像一 -n m 尾像冩入快取記憶體一樣操 ,且因此包括最近更新之新資料。If the obsolete item collection operation cannot be completed during the obsolete item collection time period, new data associated with the write instruction can be written to the write buffer block in operation 810. The non-volatile memory storage system can write new data to the write buffer block before, during, or after the waste collection operation. As will be explained in more detail below, once the obsolete item collection operation is completed, new data can be copied from the write buffer block to an update block. The write buffer block is held in memory by the non-volatile memory storage system. In general, the write buffer block buffers new data in the non-volatile memory system. In an embodiment, the write buffer block spans multiple logical addresses. In another embodiment, the write buffer block spans the entire logical address space. By spanning the entire logical address space, the write buffer block can store all logical addresses and all logical address groups (ie, all logical groups) that are to be written to the entire non-volatile memory storage system. Group) information. In other words, new lean materials associated with different logical groups can be stored in the write buffer block. A logical group is a logical address group having a size equal to the size of the metablock. New data can be written to the write buffer block in a continuous or discontinuous (i.e., unordered or random) order. As will be explained in more detail below, when a new data written to a write buffer block is subsequently copied to another block (eg, an update block), the write buffer block acts as a temporary buffer. Device. As used herein, the term &quot;writer buffer block clear&quot; means copying new material stored in a write buffer block to another block. Note that in the embodiment the non-volatile memory storage system uses a write buffer block for phased project collection operations. Therefore, the write buffer block may not store the most recently updated new data. Therefore, if new data is read in the subsequent read operation, the non-volatile memory storage system checks which new data stored in the update block or write buffer block has been updated recently. The read operation then accesses and returns the most recently updated new material. In another embodiment, the non-volatile memory storage system can use write buffer blocks for non-staged project collection operations and staged project collection operations. Here, the write buffer block is used for all write operations. In other words, the collection operation from the non-staged project is carried out 122731.doc -18- 200825738 and the phased waste project collection operation is injected into the write buffer area ghost. Therefore, the write buffer block operates like a -n m tail image into the cache memory, and thus includes the most recently updated new material.

料衝器區塊相關聯之索引資訊可儲存於-單獨資 ==中,或作為寫人緩衝器區塊本身之部分。該資料結 =儲存於記憶體控制器之^财。儲存於資料結構中之 :2訊允許追蹤及存取寫人緩衝H區塊中儲存之資料。 '、引資訊(例如)可包括邏輯位址至寫人緩衝器區塊t之位 :之—映射或寫入緩衝器區塊之有效索引之指標。可在關 閉—更新區塊之後或在對寫入緩衝器區塊之許多更新之 後’更新索引資訊。如下文將更詳細說明的,在一實施例 2寫入緩衝器區塊可針對—區段級索引而組態。在另一 =施例中,寫人緩衝器區塊可針對—頁邊界索引而組態。 虽寫入緩衝器區塊滿時,亦可將寫入緩衝器區塊塵縮。舉 例而言,將儲存於寫入緩衝器區塊中之有效資料複製至一 將被參照作為—新寫人緩衝器區塊之新區塊,且擦除現有 =·具有作廢項之寫入緩衝器區塊。如本文中所使用的,術 寫入缓衝器壓縮&quot;意謂將儲存於寫入緩衝器區塊中之有 效資料壓縮。 再參看圖8,在將新資料寫入至寫入緩衝器區塊且在廢 棄項目收集時間週期中執行廢棄項目收集操作之後,在操 作812中,非揮發性記憶體儲存系統在逾時週期到&amp; 釋放忙錄中信號。因此,用於執行包括—廢棄項目收集操 作或一廢棄項目收集操作之一部分之寫入指令的總的時間 122731.doc •19· 200825738 不超過逾時週期。若廢棄項目收集操作之一部分係在逾時 週期内執行’則在隨後之逾時週期完成剩餘部分。當完成 廢棄項目收集操作時,擦除經廢棄項目收集之一或多個區 塊且使其可用於額外資料之儲存。 圖9A及圖9B為根據本發明之實施例的具有經分階段廢棄 項目收集之連續更新區塊之記憶體區塊的簡化方塊圖。如 圖9A中所展示的,原始區塊a 98〇及相關聯之連續更新區 塊A 982經選擇用於廢棄項目收集。一般而言,可將自一 寫入指令接收之資料寫入至一更新區塊。可為在其中更新 貧料之每一邏輯群組指派一專用元區塊作為更新區塊。請 注思’邏輯資料區段儲存於包含一組邏輯相鄰區段之邏輯 群組中。可管理一更新區塊來依連續次序或無序次序(亦 即,不連續次序)接收資料。應瞭解,一諸如連續更新區 塊A 982之連續更新區塊為一當自主機接收一寫入指令以 寫入資料時所配置的元區塊,該資料填充一邏輯群組中之 一或多個實體頁,該邏輯群組之所有有效區段當前位於相 同元區塊中。寫入連續更新區塊的資料區段係按邏輯定址 而連續寫入以使得該等區段代替寫入原始區塊中之對應邏 輯區段。可將在此邏輯群組中更新之一區段寫入此連續更 新區塊,直至連續更新區塊經關閉或經轉換成一無序更新 區塊為止。請注意,當連續更新區塊之最後的實體區段位 置經寫入8守’ S忍為連續更新區塊關閉D換言之,連續更新 區塊之關閉可由連續更新區塊完全被由主機寫入或經自原 始區塊複製之更新區段資料填充而引起。如下文將更詳細 122731.doc -20- 200825738 說明的,當由一主機寫入之一資料區段與正被更新之邏輯 群組内的先前經寫入之資料區段邏輯不連續時,可藉由自 一連續更新區塊轉換而建立無序更新區塊。 原始區塊A 980可包括圖9A中分別藉由陰影圖案及點狀 圖案表示之無效及有效資料。請注意,除自原始區塊A 980所複製之有效資料之外,連續更新區塊八982額外地包 括在廢棄項目收集操作之前經寫入至連續更新區塊A的現 有資料981。當接收一用於寫入新資料983之寫入指令時, 該寫入指令可觸發連續更新區塊A 982之關閉(其為一廢棄 項目收集操作類型),因為新資料與一不具有一打開的更 新區塊之邏輯群組相關聯或新資料調用一廢棄項目收集操 作。非揮發性§己憶體儲存系統維持一忙錄中信號且接著將 有效資料自原始區塊A 980複製至連續更新區塊A 982,直 至第一廢棄項目收集時間週期970到期為止。在複製期 間,非揮發性記憶體儲存系統追蹤時間,且非揮發性記憶 體儲存系統在超過第一廢棄項目收集時間週期97〇之前停 止複製操作。如圖9A中所展示的,廢棄項目收集操作不可 在第一廢棄項目收集時間週期970内完成,因為仍存在剩 餘在原始區塊A 980中之有效資料。因此,在將有效資料 之一部分複製至連續更新區塊A 982之後,在第一逾時週 期到期之前所允許的剩餘時間内將新資料983寫入至寫。 緩衝器區塊908。 圖9B展示廢棄項目收集操作之剩餘部分可在一第二逾防 週期内完成。在此,在第一寫入指令之後接收一用於 12273 Ldoc -21 · 200825738The index information associated with the buffer block can be stored in -single == or as part of the write buffer block itself. The data node = stored in the memory controller. Stored in the data structure: 2 messages allow tracking and access to the data stored in the buffer block H block. The information may, for example, include a logical address to the bit of the write buffer block t: the index of the effective index of the mapped or written buffer block. The index information can be updated after the shutdown-update block or after many updates to the write buffer block. As will be explained in more detail below, a write buffer block in an embodiment 2 can be configured for a segment-level index. In another example, the write buffer block can be configured for the -page boundary index. Although the write buffer block is full, the write buffer block can also be dusted. For example, the valid data stored in the write buffer block is copied to a new block to be referred to as a new write buffer block, and the existing write buffer with the invalid item is erased. Block. As used herein, the write buffer compression &quot; means compressing the valid data stored in the write buffer block. Referring again to FIG. 8, after the new data is written to the write buffer block and the waste item collection operation is performed during the waste item collection time period, in operation 812, the non-volatile memory storage system is in the timeout period. & Releases the busy recording signal. Therefore, the total time for executing the write command including the part of the waste collection operation or the waste collection operation is 122731.doc •19· 200825738 does not exceed the timeout period. If part of the collection of the abandoned project is performed within the timeout period, then the remainder is completed in the subsequent timeout period. When the waste project collection operation is completed, the erased project collects one or more of the blocks and makes them available for storage of additional data. 9A and 9B are simplified block diagrams of memory blocks having successively updated blocks collected by staged obsolescence items, in accordance with an embodiment of the present invention. As shown in Figure 9A, the original block a 98 and associated consecutive update block A 982 are selected for obsolete item collection. In general, data received from a write command can be written to an update block. Each logical group in which the poor material is updated may be assigned a special metablock as an update block. Please note that the logical data section is stored in a logical group containing a set of logically adjacent sections. An update block can be managed to receive data in a sequential or out-of-order order (i.e., in a discontinuous order). It should be understood that a continuous update block such as continuous update block A 982 is a meta block configured when a write command is received from the host to write data, and the data fills one or more of a logical group. Physical pages, all valid segments of the logical group are currently in the same metablock. The data sectors written to the contiguous update block are contiguously written logically addressed such that the segments are instead written to the corresponding logical segments in the original block. One of the updates in this logical group can be written to this successive update block until the consecutive update block is closed or converted to an out-of-order update block. Please note that when the last physical segment position of the consecutive update block is written to 8 s' for the continuous update block to close D, in other words, the continuous update block can be completely written by the host by the continuous update block or Caused by the filling of the updated section data copied from the original block. As explained in more detail below, 122731.doc -20-200825738, when a data segment written by a host is logically discontinuous with a previously written data segment within the logical group being updated, An out-of-order update block is created by a continuous update block conversion. The original block A 980 may include invalid and valid data represented by the hatched pattern and the dot pattern in Fig. 9A, respectively. Note that in addition to the valid material copied from the original block A 980, the continuous update block 982 additionally includes the existing material 981 written to the continuous update block A before the waste item collection operation. When receiving a write command for writing a new material 983, the write command may trigger the closing of the continuous update block A 982 (which is an obsolete item collection operation type) because the new data and one do not have an open The logical group associated with the update block or the new data invokes an obsolete item collection operation. The non-volatile § memory storage system maintains a busy recording signal and then copies the valid data from the original block A 980 to the continuous update block A 982 until the first obsolete item collection time period 970 expires. During the copy period, the non-volatile memory storage system tracks the time and the non-volatile memory storage system stops the copy operation until the first waste item collection time period is 97 。. As shown in Figure 9A, the obsolete item collection operation may not be completed within the first obsolete item collection time period 970 because there is still valid data remaining in the original block A 980. Therefore, after copying a portion of the valid data to the continuous update block A 982, the new material 983 is written to the write for the remaining time allowed before the expiration of the first timeout period. Buffer block 908. Figure 9B shows that the remainder of the waste project collection operation can be completed in a second over-defense cycle. Here, after the first write command, one is received for 12273 Ldoc -21 · 200825738

新資料984之第二寫入指令。因此,給第二寫入指令配置 一第二逾時週期。在第二逾時週期期間,將剩餘有效資料 自原始區塊A 980複製至連續更新區塊A 982。在此實例 中,可在第二廢棄項目收集時間週期972内將所有的剩餘 ^ 有效資料(或有效資料之最後部分)複製至連續更新區塊A k 982。因此,可在第二逾時週期内完成廢棄項目收集操 作。因為連續更新區塊A 982經填滿,所以將連續更新區 _ 塊A轉換成新的原始區塊A 985或一非更新區塊。因為廢棄 項目收集操作在此第二逾時週期中完成,所以擦除原始區 塊A 980且可使其可用於額外資料之儲存。在擦除原始區 塊A 980之後,配置更新區塊c 986且將自第二寫入指令所 接收之新資料984寫入新近配置之更新區塊c。請注意,更 新區塊C 986可或可不與新的原始區塊a 985相關聯。 在第二逾時週期内完成廢棄項目收集之後,若第二逾時 週期内存在可用時間,則非揮發性記憶體儲存系統可進行 • 一寫入緩衝器區塊清除操作。當稍後將寫入至寫入緩衝器 區塊之新資料(諸如,新資料983)複製至另一區塊(例如, 更新區塊C 986)時,寫入緩衝器區塊9〇8充當一暫時緩衝 器。在圖9B之實例+,第二逾時週期内存在用於一寫入缓 • 衝器區塊清除操作之時間。儲存於寫入緩衝器區塊9〇8中 之新貪料983在與新資料984相同之邏輯群組中。因此,在 完成廢棄項目收集操作之後將新資料983複製至更新區塊c 986儲存於寫入緩衝器區塊908中之新資料983經標記為 無效的,且因此,可使寫入緩衝器區塊中之額外空間可用 122731.doc -22- 200825738 於額外新貝料之儲存。請注意,在完成每個廢棄項目收集 知作之後可不執行一寫入緩衝器區塊清除操作。下文將更 詳細說明寫入緩衝器區塊清除之時序。 ϋΙΟΑ至圖1GE為根據本發明之實施例的具有經分階段 廢棄項目收集之無序更新區塊之記憶體區塊的簡化方塊 圖。如圖10A中所展示的,原始區塊A 9〇2及 A-經選擇用於廢棄項目收集。一般而言,一諸如無: 更新區塊A 904之無序更新區塊允許在一邏輯群組内以一 隨機:序來更新資料區段,且可發生個別區段之任何重 複㈤由-主機寫入之一資料區段與正被更新之邏輯群组 内的先前經寫入之資料區段邏輯不連續時,可藉由自一連 =新區塊轉換而建立無序更新區塊。無論資料區段在此 :輯群組内之邏輯區段位址如何,均將隨後在此邏輯群組 更新之所有貧料區段寫入無序更新區塊中之下一個可用 區段位置中。 | :此二原始區塊八902及無序更新區塊A 9〇4包括圖 中为別藉由一陰影圖宰及 *及狀圖案表示之無效及有效資 接收—用於寫入新資料州之寫入指令時,非揮發 性記憶體儲存系統維持一 搭仏… 于忙錄中仏途且接著將有效資料自The second write instruction of the new data 984. Therefore, a second timeout period is configured for the second write command. During the second timeout period, the remaining valid data is copied from the original block A 980 to the continuous update block A 982. In this example, all of the remaining ^ valid data (or the last portion of the valid data) may be copied to the continuous update block A k 982 during the second obsolete item collection time period 972. Therefore, the waste collection operation can be completed in the second timeout period. Since the successive update block A 982 is filled, the continuous update area _ block A is converted into a new original block A 985 or a non-updated block. Since the obsolete item collection operation is completed in this second timeout period, the original block A 980 is erased and made available for storage of additional data. After erasing the original block A 980, the update block c 986 is configured and the new material 984 received from the second write command is written to the newly configured update block c. Please note that the update block C 986 may or may not be associated with the new original block a 985. After the obsolete item collection is completed in the second timeout period, if there is an available time in the second timeout period, the non-volatile memory storage system can perform a write buffer block clear operation. When a new material (such as new material 983) written to the write buffer block is later copied to another block (for example, update block C 986), the write buffer block 9〇8 serves as A temporary buffer. In the example + of Fig. 9B, there is a time for a write buffer block clear operation in the second timeout period. The new greed 983 stored in the write buffer block 〇8 is in the same logical group as the new material 984. Therefore, the new material 983 is copied to the update block c 986 after the completion of the discarding item collection operation. The new material 983 stored in the write buffer block 908 is marked as invalid, and thus, the write buffer area can be made. Additional space in the block can be stored in additional new shell materials at 122731.doc -22- 200825738. Note that a write buffer block clear operation may not be performed after each obsolete item collection is completed. The timing of writing to the buffer block clear is explained in more detail below. 1GE is a simplified block diagram of a memory block having an out-of-order update block collected by a staged obsolete item, in accordance with an embodiment of the present invention. As shown in Figure 10A, the original blocks A 9〇2 and A- are selected for discarding project collection. In general, an unordered update block such as None: Update Block A 904 allows a data segment to be updated in a random order within a logical group, and any repetition of individual segments can occur (5) by - Host When one of the data sectors is written to be logically discontinuous with the previously written data sector within the logical group being updated, the out-of-order update block can be established by the one-to-new = new block conversion. Regardless of the logical sector address in this group, all the poor sectors that are subsequently updated in this logical group are written to the next available segment location in the out-of-order update block. | : The second original block eight 902 and the out-of-order update block A 9〇4 include the invalid and valid receiving of the figure in the figure without a shadow pattern and * and the pattern is used to write the new data state. When the command is written, the non-volatile memory storage system maintains a trick... In the busy recording, the valid data is then

9〇6…^ A 9〇2及無序更新區塊A 9〇4複製至新區塊A f期門至非Γ廢棄項目收集時間週期950到期為止。在複 I期間,非揮發性記情靜 d钱21料間,且非揮發性 糸統在超過第-廢棄項目收集時間週期95。之 4止複製操作。如圖10A中所展示的,廢棄項目收集操 122731.doc -23- 200825738 作不可在第一廢棄項目收 存在剩餘在原始區塊二=9:完成’因為仍 資科。因此,在將有效資料之 塊A 904中之有效 之後,在P分複製至新區塊A 906 之後在弟-逾時週期到期之前,將 開始之前所接收的新資料9〇1寫入 作 R 1ΠΡ η - ^ ^ 芏馬入较衝為區塊908。 續:在此1二項目收集操作之在一隨後逾時週期之繼 姑〜在弟一寫入指令之後接收-第二寫入指令且給9〇6...^ A 9〇2 and the disorderly update block A 9〇4 are copied to the new block A f gate to the non-defective project collection time period 950 expires. During the complex period I, the non-volatiles were between the materials, and the non-volatile systems exceeded the first-abandonment project collection time period of 95. 4 copy operation. As shown in Figure 10A, the abandoned project collection operation 122731.doc -23- 200825738 is not available in the first abandoned project remaining in the original block 2 = 9: completed 'because still funding. Therefore, after the validity of the block A 904 of the valid material, after the P-part is copied to the new block A 906, the new data 9〇1 received before the start is written as R before the expiration of the time-duration period. 1ΠΡ η - ^ ^ 芏马入冲 into block 908. Continued: In this second item collection operation, a subsequent timeout period is followed by a second write command and a second write command

^弟一寫人&amp;令配置—第二逾時週期。在第二逾時週期期 將剩餘有效資料自原始區塊A 902及無序更新區塊Α 9〇4複製至新區塊A嶋,直至第二廢棄項目㈣時間㈣ 951到期為止。如圖1〇B中所展示的,廢棄項目收集操作不 可在第二廢棄項目收集時間週期951内完成’因為仍存在 剩餘在原始區塊A 902及無序更新區塊a 9〇4中之有效資 料。因此,在將有效資料之一部分複製至新區塊A 9〇6之 後將在廢茶項目收集操作開始之前所接收之新資料9〇5 寫入至寫入緩衝器區塊908。 圖10C展示廢棄項目收集操作之剩餘部分可在一第三逾 時週期中完成。在第二寫入指令之後接收一第三寫入指 令。因此’給第三寫入指令配置一第三逾時週期。在第三 逾時週期期間,將剩餘有效資料自原始區塊A 902及無序 更新£塊A 904複製至新區塊a 906。在此,可在第三廢棄 項目收集時間週期953内將所有的剩餘有效資料(或有效資 料之最後部分)複製至新區塊A 906。因此,可在第三逾時 週期内完成廢棄項目收集操作。因為廢棄項目收集操作在 122731.doc -24 - 200825738 此第三逾時週期中完成,所以可擦除原始區塊A 9〇2及無 序更新區塊A 904且可使其可用於额外資料之儲存。在擦 除原始區塊A 902及無序更新區塊八9〇4之後,配置新更新 區塊B 962且將自第三寫入指令所接收之新資料9〇9寫入新 近配置之更新區塊B。新資料9〇9未被寫入至寫入緩衝器區 塊908,因為廢棄項目收集操作完成了且在一隨後之逾時 週期到達之前不需要緩衝新資料。在此實例中,執行一寫 入緩衝器區塊清除操作,其中將儲存於寫入緩衝器區塊 9〇8中之新資料901及9〇5複製至更新區塊b 962,假定新資 料9〇1、9〇5及9〇9屬於相同邏輯群組。 圖10D展示在一第四逾時週期期間進行之另一廢棄項目 收集操作。如圖10D中所展示的’原始區_ 96〇及無序更 新區塊B 962經選擇用於廢棄項目收集。已經轉換成一無 序更新區坡之爭新庶換R A ^^ Brother writes &amp; configure - the second timeout period. During the second timeout period, the remaining valid data is copied from the original block A 902 and the out-of-order update block Α 9〇4 to the new block A 嶋 until the second abandoned item (4) time (four) 951 expires. As shown in Figure 〇B, the abandoned project collection operation cannot be completed within the second abandoned project collection time period 951 'because there are still remaining remaining in the original block A 902 and the out-of-order update block a 9〇4 data. Therefore, the new data 9〇5 received before the start of the waste tea item collection operation is written to the write buffer block 908 after copying a portion of the valid material to the new block A 9〇6. Figure 10C shows that the remainder of the waste project collection operation can be completed in a third timeout period. A third write command is received after the second write command. Therefore, a third timeout period is configured for the third write command. During the third timeout period, the remaining valid data is copied from the original block A 902 and the out-of-order update block A 904 to the new block a 906. Here, all remaining valid data (or the last portion of the valid data) may be copied to the new block A 906 during the third scrap item collection time period 953. Therefore, the waste collection operation can be completed in the third timeout period. Since the obsolete item collection operation is completed in the third timeout period of 122731.doc -24 - 200825738, the original block A 9〇2 and the out-of-order update block A 904 can be erased and made available for additional data. Store. After erasing the original block A 902 and the out-of-order update block 八 〇4, the new update block B 962 is configured and the new data 9〇9 received from the third write command is written into the newly configured update area. Block B. The new data 9〇9 is not written to the write buffer block 908 because the discarded item collection operation is complete and no new data needs to be buffered until a subsequent timeout period arrives. In this example, a write buffer block clear operation is performed in which new data 901 and 〇5 stored in write buffer block 〇8 are copied to update block b 962, assuming new material 9 〇1, 9〇5, and 9〇9 belong to the same logical group. Figure 10D shows another waste item collection operation performed during a fourth timeout period. The 'original zone _ 96 〇 and the unordered update block B 962 as shown in Fig. 10D are selected for discarding project collection. Has been converted into an unordered update area slope dispute new exchange R A ^

第四寫入指令所接收之新資料9〇3 寫入至寫入緩衝器 「區塊Β 964之後, 區塊908。 〇欠集操作之剩餘部分可在 圖10Ε展示圖10D之廢棄項 122731.doc -25- 200825738 一第五逾時週期中完成。在第四寫入指令之後接收一第五 寫入指令。因此,給第五寫入指令配置一第五逾時週期。 在第五逾時週期期間,將剩餘有效資料自原始區塊B 960 及無序更新區塊B 962複製至新區塊B 964。在此,可在第 五廢棄項目收集時間週期953内將所有的剩餘有效資料(或The new data received by the fourth write command 9〇3 is written to the write buffer "block 964, block 908. The remainder of the under-set operation can be shown in Figure 10D for the obsolete item 122731 of Figure 10D. Doc -25- 200825738 Completed in a fifth timeout period. A fifth write command is received after the fourth write command. Therefore, a fifth timeout period is configured for the fifth write command. During the period, the remaining valid data is copied from the original block B 960 and the out-of-order update block B 962 to the new block B 964. Here, all remaining valid data may be collected in the fifth abandoned project collection time period 953 (or

有效資料之最後部分)複製至新區塊B 964。因此,最初在 第四逾時週期期間執行之廢棄項目收集操作可在第五逾時 週期内完成。因為廢棄項目收集操作在此第五逾時週期中 完成,所以擦除原始區塊B 960及無序更新區塊]3 962且可 使其可用於額外資料之儲存。在擦除原始區塊B 9⑽及無 序更新區塊B 962之後,配置更新區塊c 965且將自第五寫 入指令所接收之新資料907寫入新近配置之更新區塊c。請 注意,更新區塊C 965可或可不與新區塊B 964相關聯。在 此,執行一寫入緩衝器區塊清除操作,且因此,將儲存於 寫入緩衝器區塊908中之新資料9〇3複製至更新區塊c 965’假定新資料903及新資料9〇7屬於相同邏輯群組。▲ 圖11為根據本發明之-實施例的用於最佳化對寫入緩衝 器區塊之存取之操作的流程圖。寫人緩衝器區塊之保持弓I 入某些附加耗用。為降低附加耗用,纟一實施例中,可田 小化對寫入缓衝器區塊的寫入。如圖u中所展示, 作⑽2中接收一寫入指令。此後’在操作刪中非揮發: 4體健存系統估計-執行時間。該執行時間為用 該寫入指令之時間週期。該寫入指令之執行可包括(例:、 將新資料程式化(或寫人)記憶體,執行—廢棄項目收=) 122731.doc •26· 200825738 ’及執打其他操作。舉例而言,執行時門 有效資料自一或多個區塊複製至另_區換=可包括用於將 用於寫入新資料之時間週期。 之時間週期及 非揮發性記憶體儲存系統即時估計執播 記憶體儲存系統可基於各種參數估時。=發性 例包括廢棄項目收集類型(例如’區塊關人參數之實 縮,及其他類型)、儲存於一待經廢棄項目:“幵、壓 如,更新區塊及其他區塊)中之有效資料的,之區塊(例 =:儲! 程式化時間、經廢棄項目收集 &amp;塊之一大小(例如,元區塊之一 θ 填充、待預先填充之資料之量、管線、快取= 先 程式化失效,及其他參數。在 勃、’、。β又疋、 ^隹估4 一執行時間之一實例 中,-或多個第一區塊包括十二頁有效資料且該十 效資料將被複製至-第二區塊。非揮發性記憶體儲存系統 可错由將非揮發性記憶體儲存系統讀取十二頁有效資料所 花費之時間之量與非揮發性記憶體储存系統將有效資料寫 入至第二區塊所花費之時間之量相加而估計該執行時間。 在非揮發性記憶體儲存系統估計執行時間之後,在操作 6中將執行時間與逾時週期相比較。如操作i中所展 不的,右經估計之執行時間小於逾時週期或該等操作可在 逾時週期内完成,則執行廢棄項目收集操作且在逾時週期 内完成廢棄項目收集操作(若經調用),並將新資料寫入至 一更新區塊。另一方面,如操作1010中所展示的,若經估 計之執行時間超過逾時週期(亦即,大於或等於逾時週 122731.doc -27- 200825738 期),則將新資料寫人至寫人緩衝器區塊,且可使用經配 置之廢棄項目收集時間週期用於寫入緩衝器區塊清除或用 於執行廢棄項目收集操作之一部分(若經調用)。在一實施 例中’如下文將更詳細說明的,寫入緩衝器區塊清除可在 - 料週期内之剩餘時間中以寫入緩衝器區塊之第-有效項 . 帛始。藉由當經估計之執行時間超過逾時週期時寫入至寫 入緩衝器區塊’將存在至寫人缓衝器區塊之較少寫入,且 目此’與保持寫人緩衝n區塊相關聯之附加耗用可得以降 W 低。 寫入緩衝器區塊-頁邊界索引 在一實施例中,寫入緩衝器區塊經建構為包括多頁且寫 t緩衝器區塊内之每一頁經編索引。寫入緩衝器區塊之每 頁經組悲以儲存一或多個區段之新資料。因此,一指標 向或多”、、頁,且可藉由一指標參照一頁内之多個區 丰又,因為該指標指向一頁且不指向該頁内之多個區段。在 § 此,屬於相同元頁之區段之新資料經寫入至寫入緩衝器區 塊之相同元頁。然而,屬於不同元頁之區段之新資料經寫 入至寫入緩衝器區塊之不同元頁。舉例而言,與一第一寫 入指令相關聯之一第一區段之新資料經寫入至寫入緩衝器 - 1塊之-第-頁。此後’自-第二寫入指令接收一第二區 段之新資料。若第二區段之新資料屬於與第一區段之新資 料相同之元頁,則將第二區段寫入至寫入緩衝器區塊之第 —頁。另一方面,若第二區段之新資料屬於一不同元頁, 則將第二區段寫入至寫入緩衝器區塊之一不同元頁。 122731.doc -28- 200825738 寫入緩衝器區塊-區段級索引The last part of the valid data is copied to the new block B 964. Therefore, the waste collection operation initially performed during the fourth timeout period can be completed in the fifth timeout period. Since the obsolete item collection operation is completed in this fifth timeout period, the original block B 960 and the out-of-order update block] 3 962 are erased and made available for storage of additional data. After erasing the original block B 9(10) and the out-of-order update block B 962, the update block c 965 is configured and the new material 907 received from the fifth write command is written to the newly configured update block c. Please note that update block C 965 may or may not be associated with new block B 964. Here, a write buffer block clear operation is performed, and therefore, the new data 9〇3 stored in the write buffer block 908 is copied to the update block c 965' assuming new material 903 and new material 9 〇7 belongs to the same logical group. ▲ Figure 11 is a flow diagram of an operation for optimizing access to a write buffer block in accordance with an embodiment of the present invention. The write buffer block holds some additional overhead. In order to reduce the additional consumption, in one embodiment, the write to the write buffer block can be minimized. As shown in Figure u, a write command is received in (10)2. After that 'non-volatile in the operation deletion: 4 body health system estimation - execution time. The execution time is the time period in which the write command is used. The execution of the write command may include (eg, stylizing new data (or writing) memory, executing - discarding the project receipt) 122731.doc •26·200825738 ' and performing other operations. For example, the execution time gate valid data copied from one or more blocks to another _ zone change may include a time period for writing new data. The time period and non-volatile memory storage system for immediate estimation of the memory storage system can be estimated based on various parameters. = The following examples include the type of abandoned project collection (such as 'blocking parameters, and other types'), stored in a project to be abandoned: “幵, 压如, update block and other blocks” For valid data, the block (example =: save! stylized time, discarded project collection &amp; one block size (for example, one of the metablocks θ padding, the amount of data to be pre-populated, pipeline, cache) = first stylized failure, and other parameters. In one instance of Bo, ', .β, 疋, ^隹4, one execution time, - or multiple first blocks including twelve pages of valid data and the ten effects The data will be copied to the second block. The non-volatile memory storage system can be misdirected by the non-volatile memory storage system to read the twelve pages of valid data and the non-volatile memory storage system. The execution time is estimated by summing the amount of time it takes to write valid data to the second block. After the non-volatile memory storage system estimates the execution time, the execution time is compared to the timeout period in operation 6. As shown in operation i If the estimated execution time of the right is less than the timeout period or the operations can be completed within the timeout period, the waste collection operation is performed and the waste collection operation (if called) is completed within the timeout period, and the new data is acquired. Write to an update block. On the other hand, as shown in operation 1010, if the estimated execution time exceeds the timeout period (ie, greater than or equal to the timeout period 122731.doc -27-200825738 period), The new material is then written to the write buffer block and the configured obsolete item collection time period can be used to write to the buffer block clear or to perform part of the discarded item collection operation (if invoked). In an embodiment, as will be explained in more detail below, the write buffer block clear can be written to the first valid term of the buffer block during the remainder of the data cycle. The write to the write buffer block 'there will be less writes to the write buffer block when the estimated execution time exceeds the timeout period, and the destination is associated with the keep writer buffer n block Additional consumption available Write W-Block Index - Page Boundary Index In one embodiment, the write buffer block is constructed to include multiple pages and each page within the write t-buffer block is indexed. Each page of the buffer block is grouped to store new data of one or more segments. Therefore, an indicator is more or more "," and can be referenced by a plurality of regions in a page. Because the indicator points to one page and does not point to multiple sections within the page. In this case, new data belonging to the section of the same metapage is written to the same metapage of the write buffer block. However, New data belonging to segments of different metapages are written to different metapages of the write buffer block. For example, a new data of a first sector associated with a first write instruction is written To the write buffer - the first-page of the block. Thereafter, the 'self-second write command receives a new data of the second sector. If the new data of the second sector belongs to the same meta page as the new data of the first sector, the second sector is written to the first page of the write buffer block. On the other hand, if the new material of the second sector belongs to a different metapage, the second sector is written to one of the different metapages of the write buffer block. 122731.doc -28- 200825738 Write Buffer Block - Segment Level Index

在另-實施例中,寫入緩衝器區塊經建構為 段且寫入緩衝器區塊内之-或多個區段可經編幸引。〜 而言,一指標可指向或參照多個區段(例如,四個區段V 在另一實例中’一指標可指向或參照一區段。在寫入緩衝 器區塊内之母-區段經編索引之實财,新資料經寫 寫入緩衝器區塊之一單區段。隨後的與另_寫入指令 聯之新資料經寫入至寫入緩衝器區塊中之下一個可用區 段。舉例而言,來自多個寫入指令之區段之新資料可經; 入至寫入缓衝器區塊中之相同頁之不同區段。因此,寫入In another embodiment, the write buffer block is constructed as a segment and the - or multiple segments written into the buffer block can be edited. ~ In terms of an indicator, one indicator can point to or reference multiple segments (eg, four segments V in another instance 'an indicator can point to or reference a segment. The parent-region in the write buffer block The segment is indexed and the new data is written into a single segment of the buffer block. Subsequent new data associated with the other _ write instruction is written to the next in the write buffer block. Available segments. For example, new data from segments of multiple write instructions can pass through to different segments of the same page in the write buffer block.

緩衝器區塊可經建構為包括多個區段且每一區段經組態2 儲存一區段之新資料。 U 為了在無逾時錯誤之情況下保持單區段寫入,非揮發性 記憶體儲存系統可將許多區段配置給一寫入緩衝器區塊以 使得經配置之區段大於非揮發性記憶體儲存系統中之元區 塊之總數。應瞭解,寫入緩衝器區塊可包含多個元區塊。 為了计异配置給一寫入緩衝器區塊之區段之數目,例如, 包含寫入緩衝器區塊之元區塊Μ之數目可經定義為 Μ = Μ1 +The buffer block can be constructed to include a plurality of segments and each segment is configured to store a new piece of data for a segment. U To maintain single-segment writes without a time-out error, the non-volatile memory storage system can configure many segments to a write buffer block such that the configured segments are larger than the non-volatile memory The total number of metablocks in the volume storage system. It should be appreciated that a write buffer block can contain multiple metablocks. To count the number of sectors allocated to a write buffer block, for example, the number of metablocks containing the write buffer block can be defined as Μ = Μ1 +

Metablock 一 Size - Μ 2 其中 Ml =: KoundUpίο.Nearest.Integer (JV -1) * (TotaLNunber.of Metablocks dnSystem) Metablock Size N 务 Tgc N^TO-TgcMetablock A Size - Μ 2 where Ml =: KoundUpίο.Nearest.Integer (JV -1) * (TotaLNunber.of Metablocks dnSystem) Metablock Size N Tgc N^TO-Tgc

Ml - RoundUp ,to.Nearest .Integer 122731.doc •29· 200825738 .toJve£^.Megerp^^|,τ〇 為逾時週期,且Ml - RoundUp , to.Nearest .Integer 122731.doc •29· 200825738 .toJve£^.Megerp^^|,τ〇 is the timeout period, and

Tgc為執行一完整廢棄項目收集操作之時間。配置給寫入 緩衝器區塊之區段之總數可經定義為 區段之總數=M*Metablock—Size (1.2) 中Μ經疋義於等式ι·〇中且jyje tab l〇ck_ Size為每一元區 塊按區段計算之大小,諸如512個區段/元區塊、1〇24個區 段/兀區塊、2048個區段/元區塊,或其他大小。一般而 吕,等式1.0及1.2定義配置給寫入緩衝器區塊之區段之總 數大於非揮發性記憶體儲存系統中之元區塊之總數。除元 區塊之總數之外,等式1〇配置一或多個元區塊(或區段)用 於保持與寫入緩衝器區塊相關聯之附加耗用(在下文中為,,附 加元區塊”或”附加區段”)。舉例而言,等式1〇之定義附加 兀區塊之數目的部分為(Ml*M2)/(Metabl〇ck一size_M2),其 中附加區段可藉由將附加區塊乘以元區塊大小來計算。 藉由將如等式1 ·2中所定義之數目之區段配置給寫入緩 衝裔區塊,可避免逾時錯誤·,即使在連續、隨機單區段寫 入之最壞狀況情況下亦如此。當寫入緩衝器區塊滿且一廢 棄項目收集操作不可完成時可發生一逾時錯誤。當每一單 區段寫入指令寫入至一不同邏輯群組時發生最壞狀況情 況,藉此使得每次寫人時發±完整廢棄工員目收集操作。在 此最壞狀況情況下,區段經累積且寫入至寫入緩衝器區 塊取壞狀況情況可被視為每一逾時週期將一單區段之新 資料寫入至寫入緩衝态區塊,且每隔非揮發性記憶體在 系統執行一完整廢棄項目收集操作(Tgc)所花費之時間將 122731.doc -30- 200825738 一區段標記為無效。此外,當寫入緩衝器區塊經填滿或滿 時,將寫入缓衝器區塊壓縮以便接收新區段但可不執行一 寫入缓衝器區塊清除操作。因此,在一最壞狀況情況下, 當廢棄項目收集時間週期大於逾時週期時,寫入緩衝器區 塊經填滿之速度比經騰空之速度快。 然而,若寫入緩衝器區塊中之多個區段屬於相同邏輯群 組,則在一廢棄項目收集操作期間可將所有區段合併。藉 由將足夠的元區塊Μ配置給一寫入緩衝器區塊,寫入缓衝 器區塊中存在比非揮發性記憶體儲存系統中之元區塊之總 數多的區段(或項),且因此,存在具有寫入至寫入緩衝器 區塊中之多個有效區段之邏輯群組。當寫入緩衝器區塊之 一區段經廢棄項目收集或合併時,屬於相同邏輯群組之所 有區段經合併成一新的更新區塊,且在寫入緩衝器區塊中 經標記為無效。因此,騰空寫入緩衝器區塊之速率將大於 填充速率’且藉此防止寫入緩衝器區塊滿或被填滿。因 此’對於每一給定Tgc,非揮發性記憶體儲存系統將大於 非揮發性§己憶體儲存系統中之元區塊之總數的數目之區段 配置給寫入緩衝器區塊,以便可防止逾時錯誤之發生,即 使對於如上所述之最壞狀況情況亦如此。 圖12為根據本發明之一實施例的用於將新資料暫時儲存 於网速暫存式(scratch pad)區塊中之操作之流程圖。應 瞭解’非揮發性記憶體儲存系統可具有可多級缓衝或多緩 衝級’其類似於多級快取之概念。在此實施例中,寫入缓 衝器區塊可與許多緩衝級之一者相關聯。在多緩衝級之情 122731.doc • 31 - 200825738 況下’不是直接將新資料寫入至寫入緩衝器區塊,而是可 在將新貝料寫人至寫人缓衝器區塊之前將新資料暫時儲 於另-缓衝級中。新資料在_不同於寫人緩衝器區塊之緩 衝級之緩衝級中的暫時儲存可減少與在分階段廢棄項目收 集#作中制寫人緩衝器區塊相關聯之複㈣1加耗 用’及潛時。—緩衝器之—實例為-高速暫存式區塊。兮 高速暫存式區塊可與-不同於寫人緩衝器區塊之緩衝級相 關聯。舉例而言,其涉I^Tgc is the time to perform a complete waste project collection operation. The total number of sections allocated to the write buffer block can be defined as the total number of sections = M * Metablock - Size (1.2) in the equation ι 〇 and jyje tab l〇ck_ Size is The size of each metablock is calculated as a segment, such as 512 segments/meta block, 1〇24 segment/兀 block, 2048 segment/meta block, or other size. In general, Equations 1.0 and 1.2 define that the total number of sections allocated to the write buffer block is greater than the total number of metablocks in the non-volatile memory storage system. In addition to the total number of metablocks, Equation 1 〇 configures one or more metablocks (or sections) for maintaining additional overhead associated with writing buffer blocks (hereinafter, additional elements) Block "or" additional section"). For example, the part of the definition of Equation 1〇 is the number of (Ml*M2)/(Metabl〇ck_size_M2), where the additional section can be borrowed Calculated by multiplying the additional block by the metablock size. By assigning the number of segments as defined in Equation 1 to 2 to the write buffer block, the timeout error can be avoided, even in continuous The same is true for the worst case scenario of random single-segment writes. A time-out error can occur when the write buffer block is full and an obsolete item collection operation cannot be completed. When each single-segment write instruction is written The worst-case situation occurs when entering a different logical group, so that each time a person writes, a complete worker collection operation is performed. In this worst case scenario, the segments are accumulated and written to the write buffer. The condition of the block block can be regarded as the new capital of a single segment for each timeout period. The write is written to the write buffer block, and each section of the non-volatile memory marks the 122731.doc -30-200825738 as invalid for the time it takes for the system to perform a complete waste collection operation (Tgc). In addition, when the write buffer block is filled or full, the write buffer block is compressed to receive the new sector but a write buffer block clear operation may not be performed. Therefore, in a worst case condition In the case where the discarded item collection time period is greater than the timeout period, the write buffer block is filled faster than the vacated speed. However, if multiple sectors in the write buffer block belong to the same Logical group, all segments can be merged during a waste project collection operation. By configuring enough metablocks to a write buffer block, there is a non-volatile presence in the write buffer block. A segment (or item) of a plurality of metablocks in a memory storage system, and thus, there is a logical group having a plurality of valid segments written into the write buffer block. One of the buffer blocks is obsolete When collecting or merging, all segments belonging to the same logical group are merged into a new update block and marked as invalid in the write buffer block. Therefore, the rate at which the buffer block is vacated will be greater than Fill rate ' and thereby prevent the write buffer block from being full or filled. Thus 'for each given Tgc, the non-volatile memory storage system will be larger than the non-volatile § memory storage system A section of the total number of blocks is allocated to the write buffer block so that the occurrence of a timeout error can be prevented, even for the worst case scenario as described above. Figure 12 is a diagram of an embodiment of the present invention. Flowchart for the operation of temporarily storing new data in a scratch pad block. It should be understood that 'non-volatile memory storage system can have multi-level buffer or multi-buffer level' similar The concept of multi-level cache. In this embodiment, the write buffer block can be associated with one of a number of buffer stages. In the case of multi-buffer level 122731.doc • 31 - 200825738, 'not directly writing new data to the write buffer block, but before writing the new material to the write buffer block The new data is temporarily stored in another buffer level. The temporary storage of the new data in the buffer level of the buffer level different from the write buffer block can reduce the complex (four) 1 plus consumption associated with the write buffer block in the staged waste collection. And latent time. - Buffer - An example is a high speed temporary storage block.高速 The scratch pad block can be associated with a buffer level different from the write buffer block. For example, it involves I^

回速暫存式區塊可用作一第一緩衝級且 寫入緩衝H區塊可料―第二緩衝級。如上所述,在單區 段索引之情況下,來-容徊智X此人 木目夕個寫入扣令之區段之新資料可妹 寫入至寫入緩衝器區塊中之相同頁之不同區段。因為非; 發性記憶體儲存系統可能不能夠程式化部分頁,所以根據 亡發月之貝知例’在將新資料轉移至寫入缓衝器區塊之 前:可將新資料暫時儲存於第一缓衝級(諸如,一高速暫 存式區塊)中。應瞭解,—高速暫存式區塊為資料更新區 塊之形式’其中可以—隨機次序及用任何量之重複更新一 寫入私來建立,其中預期的邏輯區段不在實體頁邊界 處結束或穿越實體頁邊界。高速暫存式區塊可含有部分實 值之貝料,但不允許部分程式化頁資料。高速暫存 2區塊:保持-有效頁之資㈣於非揮發性記憶體儲存系 、’先中之每一更新區塊。非揮發性記憶體儲存系統可具有 ⑷如)π配置之八個更新區塊,且因A,高速暫存式區塊 可儲存9個有效頁之資料。 相關聯之邏輯群組内之邏輯區段。高速暫存式區塊係藉由 122731.doc -32- 200825738 如圖12中所展示的,在操作刚中首先將自—寫入指令 斤接收之新貝料窝入至一高速暫存式區塊。該 區塊可包括夕百― n廿式 且母一頁包括多個區段。將新資料 存式區塊之—區段。在操作11G4中,#高速暫存式 '、寫入緩衝器區塊相關聯之頁滿時,接著將新 貝枓自兩迷暫存式區塊複製至寫入緩衝器 記憶體儲存系絲m &gt; 早努性 系、,先口此在尚速暫存式區塊中累積一頁之區 二卜至該頁之所有區段經填滿來自多種寫入指令之新資 將:敕j揮發性記憶體儲存系統接著在—程式化操作中 2頁⑼如’八個區段之新資料)自高速暫存式區塊複 存式區塊且可含有二二衝器區塊可大於高速暫 有待經廢棄項目收隼 思〆、 之麼睾頂曰μ 料。因此’高速暫存式區塊 此二、*比寫人緩衝11區塊之廢棄項目收集快。因 二精輕高速暫存式區塊將新f料寫人 ,接將新資料寫入至寫入緩衝器區塊快。 音訊/視訊資料 -存取儲存於一非揮發 視訊槽案相關聯之 存系、、充中之與音訊/ 機可能需要以音訊7視訊資料”)的主 啊j此而要以一預定速率 音訊/視訊資料。當主機將…、他貧料相比較)寫入 記憶體儲存系統及/或自非攆雜,种串•至非揮發性 訊/視訊資料時,配置性記憶體儲存系統串流音 逮度。存取音訊/視訊資料期 疋手之 竭所執仃之一廢棄項目收集 122731.doc -33- 200825738 操作可降級音訊/視訊資料之寫入效能。因此,在—實施 例中,當多區段寫入指令不與音訊/視訊資料相關聯咬多 區段寫入指令係在一音訊/視訊寫入之開始時,執行分階 段廢棄項目收集。 , 為區別音訊/視訊資料與其他資料,在一實施例中,# 揮發性記憶體儲存系統可參照與多區段寫入指令相關聯之 目標邏輯位址。因為音訊/視訊資料經連續寫入,所以〆 經轉譯為向後跳躍之目標邏輯位址可指示新資料不是音訊/ 視訊資料(或在音訊/視訊資料之開始)。在另一實施例中, 非揮發性記憶體儲存系統亦可藉由參照與新資料相關聯之 區段之數目而區別音訊/視訊資料與其他資料。音訊/視訊 資料可儲存於被稱作記錄單元之單元中。與音訊/視訊資 料相關聯之最小記錄單元長度可為32個區段。與新資料相 關聯之區段之數目不是32個區段之整數倍可(因此)指示新 貝料不是音訊/視訊資料。所接收的不對準一記錄單元或 • 不在一記錄單元之開始處開始之新資料亦可指示新資料不 是音訊/視訊資料。 因此,若以下條件之一者適用,則可執行分階段廢棄項 目收木·⑴多區段寫人指令調用廢棄項目收集操作;⑺ _ 目標邏輯位址經轉譯為—向後跳躍;(3)目標邏輯位址不對 準:記錄單元邊界;及⑷在接收停止指令之後(亦即,多 區段寫入私令之結束),若與新資料相關聯之區段之數目 不是32之整數倍。 單區段寫入 122731.doc -34- 200825738 圖13為根據本發明之一實施例的與一單區段寫入指令相 關聯之非揮發性記憶體儲存系統操作之流程圖。新資料可 經作為單區段而寫入至一記憶體單元陣列上之隨機位址。 取決於主機活動性及卡片段,主機可使用單區段寫入指令 將具有多個區段之長檀案寫入至隨機位置。因為存在經 配置之有限數目之更新區塊,所以此等單區段寫入可快速 地貝行該等更新區塊,藉此可促使非揮發性記憶體儲存系The buffered temporary block can be used as a first buffer stage and the write buffer H block can be used as a second buffer stage. As described above, in the case of a single-segment index, the new data of the section of the write-to-hand X is written to the same page in the write buffer block. Different sections. Because the non-volatile memory storage system may not be able to program part of the page, so according to the death of the moon, the case of the transfer of new data to the write buffer block: the new data can be temporarily stored in the first A buffer stage (such as a high speed temporary block). It should be appreciated that the "short-term temporary block" is in the form of a data update block 'which may be - stochastically ordered and repeated with any amount of writes, where the expected logical segment does not end at the physical page boundary or Cross the physical page boundary. A scratchpad block can contain some real-valued material, but some partial page data is not allowed. High-speed temporary storage 2 blocks: keep-effective pages (4) in the non-volatile memory storage system, each of the first update blocks. The non-volatile memory storage system may have (8) eight update blocks of, for example, a π configuration, and because of the A, the high-speed temporary storage block can store data of 9 valid pages. The logical section within the associated logical group. The high-speed temporary storage block is powered by 122731.doc -32-200825738, as shown in FIG. 12, firstly, the new shell material received from the write-in command is inserted into a high-speed temporary storage block in the operation. . The block may include a plurality of segments and the parent page includes a plurality of segments. The new data is stored in the block-section. In operation 11G4, when the #high-speed temporary storage type and the page associated with the write buffer block are full, the new beta is copied from the two temporary storage blocks to the write buffer memory storage line m &gt Early nurturing system, first port, which accumulates one page in the temporary temporary storage block, and all the sections of the page are filled with new capital from various writing instructions: 敕j volatility The memory storage system is then in the stylized operation 2 pages (9) such as 'new data of 'eight segments') from the high-speed temporary storage block re-stored block and can contain two or two punch blocks can be greater than the high-speed temporary After the abandoned project, I will think about it, and what is the top of the testis. Therefore, the 'high-speed temporary storage block', the second, * is faster than the waste project of the 11 block block. Because the second fine and light high-speed temporary storage block will write the new f material, the new data will be written to the write buffer block. Audio/video data-access to the memory associated with a non-volatile video channel, the charging and the audio/machine may need to use audio 7 data), and then a predetermined rate of audio /visual data. When the host compares...and his poor materials to the memory storage system and/or from non-noisy, serial to non-volatile/video data, the configurable memory storage system stream Sound capture. Access to audio/video data during the period of one of the obsolete items collected 122731.doc -33- 200825738 Operation can degrade the write performance of audio/video data. Therefore, in the embodiment, When the multi-session write command is not associated with the audio/video data, the bite multi-session write command is performed at the beginning of an audio/video write, and the phased item collection is performed. To distinguish between audio/video data and other In one embodiment, the # volatile memory storage system can refer to the target logical address associated with the multi-session write command. Since the audio/video data is continuously written, it is translated into a backward jump. aims The logical address may indicate that the new data is not audio/video data (or at the beginning of the audio/video data). In another embodiment, the non-volatile memory storage system may also refer to the segment associated with the new data. The number of audio/video data and other data can be separated. The audio/video data can be stored in a unit called a recording unit. The minimum recording unit associated with the audio/video data can be 32 segments in length. The number of associated segments is not an integer multiple of 32 segments (hence) indicating that the new beaker is not an audio/video material. The received misalignment with a recording unit or • new information that does not begin at the beginning of a recording unit It can be instructed that the new data is not audio/video data. Therefore, if one of the following conditions is applicable, the phased project can be executed. (1) The multi-session writer command invokes the waste project collection operation; (7) _ target logical address Translated as—backward jump; (3) target logical address misalignment: record unit boundary; and (4) after receiving a stop instruction (ie, multi-session write private order) End), if the number of segments associated with the new material is not an integer multiple of 32. Single segment write 122731.doc -34- 200825738 Figure 13 is a single segment write in accordance with an embodiment of the present invention A flowchart of the operation of the non-volatile memory storage system associated with the instructions. The new data can be written to a random address on a memory cell array as a single segment. Depending on host activity and card segments, the host can Writing a long-lane case with multiple segments to a random location using a single-segment write instruction. Because there are a limited number of updated blocks configured, such single-segment writes can be quickly performed. Update blocks to promote non-volatile memory storage

統執行廢棄項目收集操作,以清除區塊而使其用於隨後之 寫入操作。 如圖13中所展示的,在操作12〇2中接收一單區段寫入指 令。此後,在操作1204中確定單區段寫入指令是否調用一 廢棄項目收集操作。若單區段寫入指令不調用一廢棄項目 收集操作,則在操作122G中將新f料寫人至記憶體。、 而’若單區段寫人指令調用__廢棄項目收集操作,則在二 作酿中進-步確定是否存在一待決之分階段廢棄項目收 集(亦即’-已經開始但由於無法完成廢棄項目收集而细 =階段之廢棄項目收集操作)。若存在分階段廢棄項目= 术’則在操作1208中繼續分階段廢棄項目收集操作… 之’㈣先前的廢棄項目收集操作之剩餘部分。如操: 1210中所展示的,執行分 /、乍 華項…政 項目收集操作,直至廢 的差值::間週期(例如’逾時週期與程式化時間之; 的爰值)到期為止,嗖吉 』』〈間 止。 &amp;直至元成分階段廢棄項目收集為 目 若在廢棄項目收集時間週期 内無法完成分階段廢棄項 122731.doc -35- 200825738 收集操作,則在操作1218中將新資料寫入至寫入緩衝器區 塊。若廢棄項目收集時間週期未到期或可在廢棄項目收集 時間週期到期之前完成分階段廢棄項目收集操作,則在操 乍12中進步確定單區段寫入指令是否仍調用廢棄項目 收集操作,即使在完成分階段廢棄項目收集操作之後亦如 此。若單區段寫入指令不調用一廢棄項目收集操作,則在 操作1220中將新資料寫入至記憶體。另一方面,若單區段 寫入指令確實調用廢棄項目收集,則在操作1214中執行一 廢棄項目收集操作,直至操作1216中所展示之廢棄項目收 集時間週期到期為止。若在廢棄項目收集時間週期内無法 完成分階段廢棄項目收集操作,則在操作1218中將新資料 寫入至寫入緩衝器區塊。否則,在操作122〇中將新資料寫 入至記憶體。請注意,若存在一分階段廢棄項目收集且當 蝻寫入指令亦調用一廢棄項目收集操作,則操作1216中所 展示之廢棄項目收集時間週期為操作121〇中所展示之廢棄 項目收集時間週期之一延續。因此’若存在一分階段廢棄 項目收集且當前單區段寫入指令調用一廢棄項目收集操 作’則兩個操作均在總的廢棄項目收集時間週期内完成。 換言之’配置用於操作1208中所展示之分階段廢棄項目收 集操作與操作1214中所展示之廢棄項目收集操作的執行時 間為(例如)逾時週期與程式化時間之間的差值。 在操作1220中將新資料寫入至記憶體之後,在操作1224 中確定寫入緩衝器區塊中是否存在有效項及逾時週期是否 已到期。若寫入緩衝器區塊中不存在有效項或逾時週期已 122731.doc -36 - 200825738 =’則操作結束。另—方面,若存在有效項且逾時週期 至期,則在操作1226中執行—寫人緩衝器區塊清除操 入祕ΐ逾時週期到期為止。亦可在此週期期間執行一寫 、、一為區塊壓縮操作,直至逾時週期到期為止。 多區段寫入 / 14為根據本發明之—實施例的與多區段寫人指令相關 ^之非揮發性記憶體儲存系統操作之流程圖。寫人記憶體The obsolete item collection operation is performed to clear the block for subsequent write operations. As shown in Figure 13, a single-segment write command is received in operation 12〇2. Thereafter, it is determined in operation 1204 whether the single-segment write instruction invokes an obsolete item collection operation. If the single-segment write command does not invoke a discard item collection operation, the new f-material is written to the memory in operation 122G. And if the single-segment writer command invokes the __discard project collection operation, it determines whether there is a pending phased project collection (ie, '- has started but cannot be completed) Abandoned project collection and fine = phase of abandoned project collection operations). If there is a staged obsolescence item = operation, then in step 1208, the staged discarding of the item collection operation is continued. (4) The remainder of the previous abandoned item collection operation. As shown in the exercise: 1210, the execution of the sub-/, 乍华 item... government project collection operation until the difference of the waste:: period (such as the 'timeout period and stylized time'; 爰 value) expires , 嗖吉』" &amp; until the meta-component stage is collected for the purpose of failing to complete the staged discarding 122731.doc -35-200825738 collection operation during the collection period of the abandoned project, then the new data is written to the write buffer in operation 1218. Block. If the waste project collection time period has not expired or the phased project collection operation can be completed before the waste project collection time period expires, then in operation 12, it is determined whether the single segment write instruction still invokes the waste project collection operation. This is true even after the completion of the phased project collection operation. If the single-segment write command does not invoke an obsolete item collection operation, new data is written to the memory in operation 1220. On the other hand, if the single-segment write command does invoke the obsolete item collection, then an obsolete item collection operation is performed in operation 1214 until the obsolete item collection time period shown in operation 1216 expires. If the staged item collection operation cannot be completed within the discarding project collection time period, new data is written to the write buffer block in operation 1218. Otherwise, new data is written to the memory in operation 122B. Please note that if there is a staged waste collection and when the write command also invokes an abandoned project collection operation, the waste project collection time period shown in operation 1216 is the waste project collection time period shown in operation 121〇. One continues. Therefore, if there is a staged discarding project collection and the current single-segment write command invokes an obsolete project collection operation, then both operations are completed within the total obsolete project collection time period. In other words, the execution time of the staging item collection operation shown in operation 1208 and the discard item collection operation shown in operation 1214 is, for example, the difference between the timeout period and the stylized time. After the new data is written to the memory in operation 1220, it is determined in operation 1224 whether a valid entry exists in the write buffer block and if the timeout period has expired. If there is no valid entry in the write buffer block or the timeout period is 122731.doc -36 - 200825738 = ', the operation ends. Alternatively, if there is a valid entry and the timeout period expires, then execution is performed in operation 1226 - the write buffer block clear operation secret timeout period expires. It is also possible to perform a write and a block compression operation during this period until the timeout period expires. Multi-session write / 14 is a flow diagram of the operation of a non-volatile memory storage system associated with a multi-session write command in accordance with an embodiment of the present invention. Write human memory

早車歹J之大多數新資料為佔據一相鄰連續邏輯位址空間 之大資料檔案。取決於主機活動性,主機可使用多區段寫 入指令寫入大資料檔案。該新資料包含具有多個逾時週期 之多個區段之新資料。圖7展示—多區段寫人指令之一實 例。-般而言’因為多個逾時週期可用,所以可將新資料 寫入至l配置之更新區塊而不寫入至寫入緩衝器區塊。 因此’在多個寫入指令中通常不使用寫入緩衝器區塊,因 為廢棄項目收集通常可在配置給多區段寫入指令之多個逾 時週期内完成。 如圖14中所展示的’在操作13〇2中接收一多區段寫入指 令。此後,在操作1304中,儲存(或緩衝)該等區段之新資 料且可視需要而執行廢棄項目收集操作。在此,非揮發性 記憶體儲存系統可不利用一寫入緩衝器區塊,因為多個逾 時週期經配置給多區段寫入指令且一廢棄項目收集操作通 常可在多區段寫入指令之結束期間完成。因此,非揮發性 5己fe體儲存系統可將新資料儲存於與非揮發性記憶體儲存 系統相關聯之RAM中,或儲存於與非揮發性記憶體儲存系 122731.doc -37- 200825738 統相關聯之其他記憶體中,而不储存於寫入緩衝器區塊, 同時在區段之新資料之間維持忙錄中信號以便使用經配置 之逾時週期執行廢棄項目收集操作。 在緩衝主機區段之後.,在操作1306中關於是否接收小於 • 職區段之新資料作出—確定。如上所述,可不將與一多 • 1段寫入指令相關聯之新資料寫入至寫入緩衝器區塊,因 為廢棄項目收集操作通常可在配置給多區段寫入操作之多 • ㈣時週期内完成。然而’在—實施例中,若存在配置用 於完成廢棄項目收集操作之不足夠之逾時週期,則可在— 多區段寫入指令中使用寫入緩衝器區塊。因此,無論 調用一廢棄項目收集操作,-具有至少N個區段之新資料 的多區段寫入指令均可經直接寫入更新區塊且不寫入至寫 入緩衝器區塊,其中N經定義如下。 N=將[(Tge+T0)/T0]向下四捨五入至最近整數(2〇) 等式2.G展示當寫人指令為—單區段寫人指令時或當非Most of the new data in the early car 为J is a large data file occupying an adjacent continuous logical address space. Depending on host activity, the host can write large data archives using multisession write instructions. This new material contains new material with multiple segments with multiple timeout periods. Figure 7 shows an example of a multi-session write command. As a general matter, since multiple timeout periods are available, new data can be written to the update block of the 1 configuration without being written to the write buffer block. Therefore, write buffer blocks are typically not used in multiple write instructions because the collection of obsolete items can typically be done in multiple timeout periods configured for multi-segment write instructions. A multi-segment write command is received in operation 13〇2 as shown in FIG. Thereafter, in operation 1304, new information for the segments is stored (or buffered) and the obsolete item collection operation is performed as needed. Here, the non-volatile memory storage system may not utilize a write buffer block because multiple timeout periods are configured for multi-session write instructions and an obsolete item collection operation is typically available for multi-segment write instructions. Completed during the end. Therefore, the non-volatile 5 MEM storage system can store new data in the RAM associated with the non-volatile memory storage system, or in the non-volatile memory storage system 122731.doc -37- 200825738 The associated other memory is not stored in the write buffer block, while the busy recording signal is maintained between the new data of the segment to perform the waste collection operation using the configured timeout period. After buffering the host section, a determination is made in operation 1306 as to whether to receive new data that is less than the service sector. As mentioned above, new data associated with a one-to-one-segment write instruction may not be written to the write buffer block, since the obsolete item collection operation can usually be configured for multiple-segment write operations. The time period is completed. However, in the embodiment, if there is an insufficient timeout period configured to complete the waste collection operation, the write buffer block can be used in the - multi-session write instruction. Therefore, regardless of the call to an obsolete item collection operation, a multi-session write instruction having new data of at least N sectors can be directly written to the update block and not written to the write buffer block, where N It is defined as follows. N=round [(Tge+T0)/T0] down to the nearest integer (2〇) Equation 2.G shows when the writer command is a single-segment writer command or when

• #發性記憶體儲存系統在-多區段寫入指令中接收小:N ㈣段之新資料時’將新資料寫入至寫入緩衝器區塊。 再參看圖14,若接收小㈣個區段,則非揮發性記憶體 儲存系統根據圖13中所展示之單區段寫入指令操作操作多 ' 11段寫入指令。然而,若接收N個以上區段之新資料,則 在操作1310中關於是否可執行一寫入緩衝器區塊清除操作 作出一確定。舉例而言,若操作13〇2中所接收之新資料不 調用廢棄項目收集,或若新資料調用在經配置之廢棄項目 收集時間週期到期之前完成之廢棄項目收集,时執行寫 122731.doc • 38 - 200825738 入緩衝益區塊清除操作。然而,若新資料一 界,則不執行寫入緩衝器區塊清除,因 ’彔早70邊 視m眘料# U為新資料可為音訊/ 視訊貝枓。右不可執行寫人缓衝器㈣清除操作 作13 14中將新資料寫入至記憶體。若可 ’、 it ^ ^ Ml ^ 仃寫入緩衝器區 塊嶺作’則在操作1312中執行—分階段廢棄項目收集 操作及一寫入緩衝器區塊清除操作,直至多區段寫入指二 執仃期間由非揮發性記憶體儲存系統維持之總的忙線週:• When the #发性记忆存系统 receives a small:N (four) segment of new data in the multi-session write command, 'writes new data to the write buffer block. Referring again to Figure 14, if a small (four) segment is received, the non-volatile memory storage system operates on multiple '11-segment write instructions in accordance with the single-segment write command operation shown in Figure 13. However, if new data for more than N segments is received, a determination is made in operation 1310 as to whether a write buffer block clear operation can be performed. For example, if the new data received in operation 13〇2 does not call the waste project collection, or if the new data call is collected before the expiration of the configured waste project collection time period, the execution is 122731.doc • 38 - 200825738 Into the buffer benefit block clear operation. However, if the new data is bounded, the write buffer block clearing will not be performed, because the 'new data can be the audio/video shell. The right write buffer can not be executed on the right (4) Clear operation. 13 14 Write new data to the memory. If ', it ^ ^ Ml ^ 仃 is written to the buffer block ridge ', then it is executed in operation 1312 - the staged item collection operation and a write buffer block clear operation until the multi-session write finger The total busy week maintained by the non-volatile memory storage system during the second stub period:

為Tgc-Tpmg為止。此後’在操作出4中將新資料寫= 非揮發性記憶體單元陣列。在此實施例中,可在多種週期 (諸如’回達Tge.Tpmg之週期、四個逾時週期、五個逾時 週期’及其他週期)令在自多區段寫入指令所接收之前幾 個區段之間(例如,在第二區段與第三區段之間)執行操作 13 12中所展示之寫入緩衝器區塊清除。 在執行寫入指令之後,在操作1316中關於新資料是否為 32個區奴之整數倍作出一確定。若新資料為μ個區段之整 數倍,則新資料可為與音訊/視訊有關之資料且操作結 束。另一方面’若新資料不為32個區段之整數倍,則在操 作1318中關於寫入緩衝器區塊中彖否存在有效項及逾時週 期疋否已到期作出一確定。若寫入緩衝器區塊中不存在有 效項或逾時週期已到期,則操作結束。另一方面,若存在 有效項且逾時週期尚未到期,則在操作1320中執行一寫入 缓衝器區塊清除操作,直至逾時週期到期為止。 上文所描述之實施例提供用於分階段廢棄項目收集之方 /务及/或系統。可將一廢棄項目收集操作拆分成多個階段 122731.doc -39- 200825738 在夕個逾時週期上執行多個階段。藉由拆分廢棄項目收 “呆:’廢棄項目收集操作之每-階段可在逾時週期内完 成且猎此防止逾時錯誤。 序 雖然出於理解之清楚之目的已略為詳細地描述上述實施 例’但該等實_孫於所提供之細節。存在實施該等實 •許夕曰代方式。因此’所揭示之實施例應被認為是 說明性的且不是限制性的,且該等實施例不應限於本文中 斤、。出之細即’而可在隨附的中請專利㈣之範嘴及均 ^内加以修改。除非在申請專利範圍中明確規定,否則在 :請專利範圍中元件及/或操作不暗示任何特定操作次 【圖式簡單說明】 圖1為一根據本發明之一實施例非 么从匕 貝1 j I非禪發性記憶體儲存 糸、、先的一實例之簡化方塊圖。 圖2為組織成平面之記憶體單元陣列之簡化方塊圖。 圖3為記憶體單元頁之簡化方塊圖。 圖4為記憶體單元之區段之簡化方塊圖。 ^為主機與非揮發性記憶體儲存系統之間的邏輯介面 之簡化方塊圖。 圖6為根據本發明之一實施例的用 A ^ ^ 刀丨白奴廢棄項目收 果之刼作之一般概述的流程圖。 圖7展示根據本發明之一實施例的一杭八 ϋ τ5 α 斥刀成多個部分之 廢棄項目收集操作之簡化方塊圖。 圖8為根據本發明之一實施例的用於〜 、祝仃一分階段廢棄 122731.doc -40- 200825738 項目收集之詳細操作之流程圖。 圖9A及圖9B為根據本發明之實施例的具有經分階段廢 棄項目收集之連續更新區塊之記憶體區塊的簡化方塊圖。 圖10A、圖l〇B、圖1〇(:、圖10D及圖1〇E為根據本發明之 實施例的具有經分階段廢棄項目收集之無序更新區塊之記 憶體區塊的簡化方塊圖。 圖11為根據本發明之一實施例的用於最佳化對寫入緩衝 器區塊之存取之操作的流程圖。 圖12為根據本發明之一實施例的用於將新資料暫時儲存 於一高速暫存式區塊中之操作之流程圖。 圖13為根據本發明之一實施例的與單區段寫入指令相關 聯之非揮發性記憶體儲存系統操作之流程圖。 圖14為根據本發明之—實施例的與多區段寫人指令相關 聯之非揮發性記憶體儲存系統操作之流程圖。 【主要元件符號說明】 102 非揮發性記憶體儲存系統 104 主機介面 106 處理器 108 記憶體介面 110 5己憶體控制器 112 隨機存取記憶體(ram) 114 錯誤校正碼(ECC)電路 116 唯讀記憶體(ROM) 118 記憶體 122731.doc 41 200825738It is Tgc-Tpmg. Thereafter, new data is written in operation 4 = non-volatile memory cell array. In this embodiment, the number of cycles (such as 'return to Tge.Tpmg period, four timeout periods, five timeout periods', and other periods) can be made before the multi-segment write command is received. The write buffer block clear shown in operation 13 12 is performed between segments (eg, between the second segment and the third segment). After the write command is executed, a determination is made in operation 1316 as to whether the new material is an integer multiple of 32 zone slaves. If the new data is an integer multiple of the μ segment, the new data can be audio/video related data and the operation ends. On the other hand, if the new data is not an integer multiple of 32 segments, a determination is made in operation 1318 as to whether there is a valid term in the write buffer block and if the timeout period has expired. If there is no valid item in the write buffer block or the timeout period has expired, the operation ends. On the other hand, if there is a valid term and the timeout period has not expired, then a write buffer block clear operation is performed in operation 1320 until the timeout period expires. The embodiments described above provide a means and/or system for the phased collection of obsolete items. A waste project collection operation can be split into multiple phases. 122731.doc -39- 200825738 Multiple phases are executed on the evening timeout period. By splitting the abandoned project to receive "stay:" each phase of the waste project collection operation can be completed within the timeout period and hunted to prevent overtime errors. Although the above implementation has been described in some detail for the sake of clarity of understanding The examples are intended to be illustrative and not limiting, and such implementations are intended to be illustrative and not limiting. The case shall not be limited to the jin in this article. The fineness of the article may be modified in the accompanying patent (4) and in the scope of the patent. Unless otherwise specified in the scope of application, otherwise: The components and/or operations do not imply any specific operation. [Simplified description of the drawings] FIG. 1 is an example of a non-Zymographic memory stored in a mussel 1 j I according to an embodiment of the present invention. Figure 2 is a simplified block diagram of a memory cell array organized into a plane. Figure 3 is a simplified block diagram of a memory cell page. Figure 4 is a simplified block diagram of a section of a memory cell. Non-volatile record A simplified block diagram of the logical interface between memory storage systems. Figure 6 is a flow diagram of a general overview of the use of A^^Knife White Slave Disposal Projects in accordance with an embodiment of the present invention. A simplified block diagram of a collection operation of a plurality of portions of a hang-up τ5 α 5 5 根据 根据 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 Abandonment 122731.doc -40- 200825738 Flowchart of detailed operation of project collection. Figures 9A and 9B are simplified blocks of memory blocks with successively updated blocks collected by staged obsolescence items, in accordance with an embodiment of the present invention. 10A, FIG. 10B, FIG. 1A, FIG. 10D and FIG. 1E are memory blocks of an disorderly update block collected by a staged waste project according to an embodiment of the present invention. Figure 11 is a flow diagram of an operation for optimizing access to a write buffer block in accordance with an embodiment of the present invention. Figure 12 is a diagram for New data temporarily stored in a high-speed temporary storage Figure 13 is a flow diagram of the operation of a non-volatile memory storage system associated with a single-segment write command in accordance with one embodiment of the present invention. Figure 14 is an implementation of the present invention. A flow chart of the operation of the non-volatile memory storage system associated with the multi-session write command. [Main component symbol description] 102 Non-volatile memory storage system 104 Host interface 106 Processor 108 Memory interface 110 5 Recall memory controller 112 random access memory (ram) 114 error correction code (ECC) circuit 116 read only memory (ROM) 118 memory 122731.doc 41 200825738

120 陣列邏輯 122 非揮發性記憶體單元陣列 123 記憶體單元陣列 124 匯流排 126 糸統匯流排 202 平面/邏輯平面 203 平面/邏輯平面 204 平面/邏輯平面 205 平面/邏輯平面 210 區塊 211 區塊 212 區塊 213 區塊 220 區塊 221 區塊 222 區塊 223 區塊 401 頁 402 區段 404 區段 405 附加資料 406 資料 502 記憶體單元陣列 504 區塊 122731.doc -42- 200825738 512 邏輯位址空間 702 忙錄中信號 704 多區段寫入指令 706 停止指令 750 逾時週期/第一逾時週期 751 逾時週期/第二逾時週期 752 逾時週期/第三逾時週期 760 新資料120 Array Logic 122 Non-Volatile Memory Cell Array 123 Memory Cell Array 124 Busbar 126 汇 Busbar 202 Plane/Logical Plane 203 Plane/Logic Plane 204 Plane/Logic Plane 205 Plane/Logic Plane 210 Block 211 Block 212 Block 213 Block 220 Block 221 Block 222 Block 223 Block 401 Page 402 Section 404 Section 405 Additional Data 406 Data 502 Memory Cell Array 504 Block 122731.doc -42- 200825738 512 Logical Address Space 702 Busy Recording Signal 704 Multi-Segment Write Command 706 Stop Instruction 750 Timeout Period / First Timeout Period 751 Timeout Period / Second Timeout Period 752 Timeout Period / Third Time Period Period 760 New Data

761 新資料 762 新資料 780 廢棄項目收集之部分/第一部分 781 廢棄項目收集之部分/第二部分 901 新資料761 New information 762 New information 780 Part of the collection of abandoned projects / Part 1 781 Part of the collection of abandoned projects / Part II 901 New information

902 原始區塊A 903 新資料902 Original Block A 903 New Information

904 無序更新區塊A 905 新資料904 Out of Order Update Block A 905 New Data

906 新區塊A 907 新資料 908 寫入緩衝器區塊 909 新資料 950 第一廢棄項目收集時間週期 951 第二廢棄項目收集時間週期 952 第四廢棄項目收集時間週期 122731.doc -43- 200825738 953 第三廢棄項目收集時間週期/第五廢棄項目收集時 間週期906 New Block A 907 New Data 908 Write Buffer Block 909 New Data 950 First Obsolete Project Collection Time Period 951 Second Waste Project Collection Time Period 952 Fourth Waste Project Collection Time Period 122731.doc -43- 200825738 953 Three abandoned project collection time period / fifth abandoned project collection time period

960 原始區塊B960 original block B

9 62 新更新區塊B /無序更新區塊B9 62 New Update Block B / Unordered Update Block B

964 新區塊B964 new block B

965 更新區塊C965 update block C

970 第一廢棄項目收集時間週期 972 第二廢棄項目收集時間週期 ⑩ 980原始區塊A 981 現有資料970 First Waste Project Collection Time Period 972 Second Waste Project Collection Time Period 10 980 Original Block A 981 Existing Information

982 連續更新區塊A 983 新資料 984 新資料982 Continuous update block A 983 New information 984 New information

985 新的原始區塊A985 new original block A

986 更新區塊C Φ P0 頁 P1 頁 P2 頁 P3 頁 • P4 頁 P5 頁 P6 頁 P7 頁 122731.doc -44-986 Update block C Φ P0 page P1 page P2 page P3 page • P4 page P5 page P6 page P7 page 122731.doc -44-

Claims (1)

200825738 十、申請專利範園: 1. 種用於担作—非揮發性記憶體儲存系統之方法,其包 含: 八 =收:寫人指令以寫人複數個資料,該寫人指令經配 逾知週期以完成談寫入指令之一執行· 在該逾時週期内執行—廢棄項目收集操作之—部分;及 複數個*料儲存於—與該非揮發性記憶體儲存系 、、先相關聯之緩衝器中。 2. 2 °。月求項1之方法,其中該緩衝器為一寫入缓衝器區 3·&quot;&quot;種用於操作—非揮發性記憶體儲存系統之方法,其包 含: 接收一宜入 4匕人 、馬入扣令以寫入複數個資料,該寫入指令經配 置逾週期以完成該寫入指令之_執行; 維持一忙錄中信號; 立廢棄項目收集時間週期中將複數個有效資料之一 部分自-或多個第一區塊複製至一第二區塊; &amp; : $複數個資料寫入至一帛三區㉟,該第三區塊經組 〜以跨越複數個邏輯位址;及 4如:該逾時週期到期之前釋放該忙錄中信號。 7求項3之方法,其進一步包含將該第三區塊保持在 “非揮發性記憶體儲存系統中。 :求項3之方法,其中該複製該複數個有效資料之該 4分包含: 12273i.doc 200825738 追蹤-用於將該複數個有效資料之該部分自該一或多 個第一區塊複製至該第二區塊之時間;及 在該時間超過該廢睾瑁曰队隹# 、 、 臂茱項目收集時間週期之前,停止該 複製該複數個有效資料之該部分。 6·如請求項3之方法,其進一步包含: 在“複製該複數個有效資料之該部分及將該複數個資 料寫入至該第三區塊之前,估計-用於該寫入指令之該 執行之執行時間, ::右該執仃時間超過該逾時週期,則複製該複數個 有效資料之該部分且牌 刀且將該複數個資料寫入至該第三區 塊0 7.:請求項3之方法,其中該非揮發性記憶體儲存系統包 3複數個緩衝級’該第三區塊與該複數個緩衝級之一者 相關聯。 8·如請求項3之方法,其中該寫入該複數個資料包含:200825738 X. Application for Patent Park: 1. A method for supporting a non-volatile memory storage system, comprising: eight=receiving: writing a person's instruction to write a plurality of materials, the writer's instruction is over-allocated Knowing that the cycle is executed by one of the completion write instructions, executing in the timeout period, the portion of the waste collection operation, and the plurality of materials are stored in association with the non-volatile memory storage system. In the buffer. 2. 2 °. The method of claim 1, wherein the buffer is a write buffer area 3&quot;&quot; a method for operating a non-volatile memory storage system, comprising: receiving a suitable one And the horse is ordered to write a plurality of data, the write command is configured to be over-cycled to complete the execution of the write command; maintaining a busy record signal; and the waste project collection time period is a part of the plurality of valid data Copying from one or more first blocks to a second block; &amp; : multiple data is written to a third area 35, the third block is grouped to span a plurality of logical addresses; 4 For example, the busy recording signal is released before the timeout period expires. The method of claim 3, further comprising: maintaining the third block in a "non-volatile memory storage system." The method of claim 3, wherein the copying of the plurality of valid data includes: 12273i .doc 200825738 Tracking - the time for copying the portion of the plurality of valid materials from the one or more first blocks to the second block; and exceeding the spent testosteres 隹# at that time Stopping the copying of the portion of the plurality of valid materials before the collection period of the brachial item. 6. The method of claim 3, further comprising: "copying the portion of the plurality of valid data and the plurality of Before the data is written to the third block, it is estimated that the execution time of the execution of the write command, :: the right execution time exceeds the timeout period, and the portion of the plurality of valid data is copied and The tool and the plurality of data are written to the third block. The method of claim 3, wherein the non-volatile memory storage system package 3 has a plurality of buffer stages 'the third block and the plurality of blocks One of the buffer stages Associated with. 8. The method of claim 3, wherein the writing the plurality of materials comprises: :乂複數個身料寫入至一高速暫存式區塊;及 將該複數個資料自該高速暫存式區塊複製至該第三區 9· 如請求 一 、之方法,其中將該複數個資料複製至一與該 w連暫存式區塊相關聯之區段。 10.如請求項只 聯之頁、、、 其中當一與該高速暫存式區塊相關 2該第滿時,將該複數個資料自該高速暫存式區塊複製 弟一區塊,該頁經組態以包括該複數個資料。 11 ·如請求項R + 、 、 方法’其中該高速暫存式區塊與一第一緩 122731.doc 200825738 衝級相關聯,且誃 12. 如請求項3之方: 塊與一第二緩衝級相關聯。 ',其中該寫入該複數個資料包含: 將該複數個資斜 ^ =、 、卄寫入至一弟一緩衝級;及 該第一緩衝級複製至該第三區塊, /、 第一緩衝級相關聯。 13. 如請求項3之方 逾時週期鱼一相關$廢棄項目收集時間週期為該: 乂 a plurality of bodies are written to a high speed temporary storage block; and copying the plurality of materials from the temporary temporary storage block to the third area 9·, as in the method of claim 1, wherein the plural number The data is copied to a section associated with the w temporary storage block. 10. If the request item is only linked to the page, and the first time is related to the cached block 2, the plurality of materials are copied from the cached block to the first block. The page is configured to include the plurality of materials. 11. If the request item R + , , method 'where the cache pad is associated with a first buffer 122731.doc 200825738 level, and 誃 12. as the party of claim 3: block and a second buffer Level associated. ', wherein the writing the plurality of data comprises: writing the plurality of assets obliquely ^ =, , 卄 to a younger one buffer stage; and copying the first buffer level to the third block, /, first The buffer level is associated. 13. As requested in item 3, the time-out period of the fish-related $disposal item collection time period is 〜相關聯於該寫人該複數個資料之程式 間之間的一差值。 1 14. 如請求項3&gt;士、+ . 、 、,/、中該第三區塊為一寫入緩衝器區 塊0 15·如明求項3之方法,#中該第三區塊經組態以跨越一整 個邏輯位址空間。 16·如明求項3之方法,#中該第三區塊包含複數個頁,且 其中該複數個頁中之每一者經編索引。 月求項3之方法,其中該第三區塊包含複數個區段, 且其中該複數個區段中之每一者經編索引。 18·如請求項3之方法,其中該寫入指令為一單區段寫入指 令0 19· 一種用於操作一非揮發性記憶體儲存系統之方法,其包 含: 接收一第一單區段寫入指令以寫入第一複數個資料, 該弟 早區段寫入指令經配置一第一逾時週期以完成該 第一單區段寫入指令之一第一執行; 維持一第一忙錄中信號; 122731.doc 200825738 在一廢棄項目收集時間週期中將複數個有效資料之一 第一部分自一或多個第一區塊複製至一第二區塊; 將該第一複數個資料寫入至一寫入緩衝器區塊,該寫 入緩衝器區塊經組態以跨越複數個邏輯位址;~ A difference between the programs associated with the plurality of data written by the writer. 1 14. If the third block is a write buffer block 0 15 · If the request block 3 is in the request item 3 &gt; 士, +, 、,,,, Configure to span an entire logical address space. 16. The method of claim 3, wherein the third block comprises a plurality of pages, and wherein each of the plurality of pages is indexed. The method of claim 3, wherein the third block comprises a plurality of segments, and wherein each of the plurality of segments is indexed. 18. The method of claim 3, wherein the write command is a single segment write command 0 19. A method for operating a non-volatile memory storage system, comprising: receiving a first single segment Writing a command to write a first plurality of data, the early segment write command being configured for a first timeout period to complete a first execution of the first single segment write command; maintaining a first busy Recording medium signal; 122731.doc 200825738 Copying the first part of the plurality of valid materials from one or more first blocks to a second block in an abandoned project collection time period; writing the first plurality of materials Into a write buffer block, the write buffer block being configured to span a plurality of logical addresses; 在該第一逾時週期到期之前釋放該第一忙錄中信號; 接收一第二單區段寫入指令以寫入第二複數個資料, 該第二單區段寫入指令係在該接收該第一單區段寫入指 令之後而接收的,該第二單區段寫入#令、經配置一第二 逾時週期以完成該第二單區段寫入指令之一第二執行; 維持一第二忙錄中信號; 在3廢棄項目收集時間週期中將該複數個有效資料 之一第二部分自該—或多個第-區塊複製至該第二區 塊;及 在該第二逾時週期到期之前釋放該第二忙錄中信號。 20. U頁19之方法’其進一步包含將該第二複數個資料 寫入至該寫入緩衝器區塊。 21. 如明求項19之方法,盆進一舟白冬脸兮结 ”進 / b 3將该弟二複數個資料 寫入至一更新區塊。 22. 如請求項19之方法,豆進一 + ,、進步包3在該禝製該複數個有 效資料之該第二部分之後釋放該一或多個第一區塊。 23. 如請求項22之方法,其中若該複數個有效資料之 部分為該複數個有„料之__最後部分,則擦除該—: 多個第一區塊。 A 24·如請求項19之方法甘、社 . A 去其進—步包含將該第-複數個資料 122731.doc 200825738 自該寫入緩衝器區塊複製至一更新區塊。 25. 如請求項19之方法,其中將該第-複數個資料寫入至該 寫入緩衝器區塊包含·· 將該第一複數個資料寫入至一高速暫存式區塊之一區 段,其中一與該區段相關聯之頁包含複數個區段,·及 當與該頁相關聯之該複數個區段經填滿時將該頁複製 至該寫入緩衝器區塊。 26. 如請求項19之方法’其中該寫入緩衝器區塊係針對一區 段級索引而組態。 27·如請求項19之方法,其中該寫入緩衝器區塊係針對一頁 邊界索引而組態。 28·如請求項19之方法,其中該寫入緩衝器區塊包含複數個 區段及複數個附加區段,該複數個區段大於該非揮發性 記憶體儲存系統中之元區塊之一總數。 29. —種非揮發性記憶體儲存系統,其包含: ,一兄憶體,其經組悲以儲存一儲存系統韌體; 一非揮發性記憶體單元陣列’其經組態以保持一緩衝 器;及 一處理器,其與該記憶體及該非揮發性記憶體單元陣 列通信,該處理器經組態以執行儲存於該記憶體中之該 儲存系統韌體,該儲存系統韌體包含用於以下操作之程 式指令: 接收一寫入指令以將複數個資料寫入至該非揮發性 記憶體單元陣列,該寫入指令經配置一逾時週期以完 122731.doc 200825738 成該寫入指令之一執行, 在該逾時週期内執行_廢棄項目收集操作之—部 分,及 將該複數個資料儲存於該緩衝器中。 30. —種非揮發性記憶體儲存系統,其包含: -記憶體,其經組態以儲存一儲存系統韌體; 「非揮發性記Μ單轉列,其經㈣㈣持一寫入 緩衝器區塊’該寫人緩衝器區塊經組態以跨越複數個邏 輯位址;及 处理其與該§己憶體及該非揮發性記憶體單元陣 列通信’該處理H經組態崎行儲存於該記憶體中之兮 儲存系統㈣,該儲存“ _包含詩以 式指令: 狂 接收一寫人指令以將複數個資料“至該非揮發性 記憶體單元陣列,哕宜λ &amp;人, 平兀早夕』該寫入指令經配置一逾時週期 成該寫入指令之一執行, 70 維持一忙錄中信號, :-廢棄項目收集時間週期中執行一廢棄 拉作之一部分, 人呆 將該複數個資料耷人5 #合 汁焉入至該寫入緩衝器區塊,及 在該逾時週期到期之前釋放該忙錄中信號。 31.如請求項30之非揮發性記憶體儲存系統,其 廢棄項目收集時間週期中執行該廢 在該 部分之哼箄鋥4浐人5入 、、收市操作之該 Ρ刀之該等私式才&quot;包含:用於 贗棠項目收集時間 122731.doc 200825738 週期中將複數個有效資料之一部分自一或多個第一區塊 複製至一第二區塊之程式指令。 32·如請求項3〇之非揮發性記憶體儲存系統,其中該儲存系 、统動體進一步包含用於以下操作之程式指令: 在該執行該廢棄項目收集操作之該部分及將該複數個 資料寫入至該寫入緩衝器區塊之前,估計一用於該寫入 指令之該執行之執行時間, 其中若該執行時間大於該逾時週期,則執行該廢棄項 目收集操作之該部分,且將該複數個資料寫入至該寫入 緩衝器區塊。 33·如請求項30之非揮發性記憶體儲存系統,其中用於將該 複數個資料寫入至該寫入缓衝器區塊之該等程式指令包 含用於以下操作之程式指令: 將該複數個資料寫入至一高速暫存式區塊;及 將該複數個資料自該高速暫存式區塊複製至該寫入緩 衝器區塊。 34·如請求項30之非揮發性記憶體儲存系統,其中該寫入缓 衝器區塊包含複數個頁,且其中該複數個頁中之每一者 經編索引。 35.如請求項30之非揮發性記憶體儲存系統,其中該寫入缓 衝器區塊包含複數個區段,且其中該複數個區之每 一者經編索引。 統,其中該寫入緩 36·如請求項30之非揮發性記憶體儲存系 衝器區塊包含複數個區塊。 122731.doc 200825738 37· —種非揮發性記憶體儲存系統,其包含·· 一唯讀記憶體(ROM),其經組態以儲在一 體: 什傾存系統韌 (Ί思體皁兀陣列,其 ·”ν,、嘴衡器區 ,該寫入緩衝器區塊經組態以跨越複數個邏輯位址· 一非揮發性記憶體單元陣列;及 ,Releasing the first busy recording signal before the expiration of the first timeout period; receiving a second single-segment write instruction to write a second plurality of data, wherein the second single-segment write command is Receiving the first single-segment write command, the second single-segment write # command, configured for a second timeout period to complete one of the second single-segment write instructions Maintaining a second busy recording signal; copying the second portion of one of the plurality of valid data from the one or more first blocks to the second block during the collection period of the three discarded items; The second busy recording signal is released before the second timeout period expires. 20. The method of U-page 19, further comprising writing the second plurality of data to the write buffer block. 21. If the method of item 19 is found, the pot enters a boat and the white winter face knots into/b 3 to write the second plurality of data to an update block. 22. According to the method of claim 19, the bean enters a + And the progress package 3 releases the one or more first blocks after the second portion of the plurality of valid materials is throttled. 23. The method of claim 22, wherein the portion of the plurality of valid data is The plurality of __ last part, then erase the -: a plurality of first blocks. A 24. The method of claim 19, A. The step of deleting the first-complex data 122731.doc 200825738 from the write buffer block to an update block. 25. The method of claim 19, wherein writing the first plurality of data to the write buffer block comprises: writing the first plurality of data to a region of a cache pad A segment, wherein a page associated with the segment includes a plurality of segments, and the page is copied to the write buffer block when the plurality of segments associated with the page are filled. 26. The method of claim 19 wherein the write buffer block is configured for a sector level index. 27. The method of claim 19, wherein the write buffer block is configured for a one-page boundary index. The method of claim 19, wherein the write buffer block comprises a plurality of segments and a plurality of additional segments, the plurality of segments being greater than a total number of metablocks in the non-volatile memory storage system . 29. A non-volatile memory storage system comprising: a brotherly body, which is configured to store a storage system firmware; a non-volatile memory unit array configured to maintain a buffer And a processor in communication with the memory and the non-volatile memory unit array, the processor being configured to execute the storage system firmware stored in the memory, the storage system firmware comprising The program instruction is as follows: receiving a write command to write a plurality of data to the non-volatile memory cell array, the write command being configured to complete the write command by a time period of 122731.doc 200825738 Once executed, the portion of the _discarded item collection operation is executed during the timeout period, and the plurality of data are stored in the buffer. 30. A non-volatile memory storage system, comprising: - a memory configured to store a storage system firmware; "a non-volatile memory single transfer column, which is held by a (four) (four) write buffer Block 'The write buffer block is configured to span a plurality of logical addresses; and process it to communicate with the § memory and the non-volatile memory unit array. 'Process H is configured to be stored in The memory storage system (4) in the memory, the storage "_ contains the poem-style instruction: madly receives a writer command to "multiple data" to the non-volatile memory unit array, Changi λ &amp; person, Ping In the early morning, the write command is configured to execute one of the write orders, one of the write commands is executed, 70 maintains a busy record signal, and: - a part of the discarding project is executed during the collection period of the discarded item, and the person stays A plurality of data is inserted into the write buffer block, and the busy record signal is released before the timeout period expires. 31. The non-volatile memory storage system of claim 30 When its abandoned project is collected In the inter-period, the execution of the scrap in the part of the 浐 浐 浐 、 、 、 、 、 、 、 、 、 私 私 私 私 私 私 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 A program instruction for copying one of the plurality of valid data from one or more first blocks to a second block. 32. The non-volatile memory storage system of claim 3, wherein the storage system, the system Further including program instructions for: estimating the execution of the write command prior to performing the portion of the waste project collection operation and writing the plurality of data to the write buffer block Execution time, wherein if the execution time is greater than the timeout period, the portion of the discarded item collection operation is executed, and the plurality of materials are written to the write buffer block. 33. A non-volatile memory storage system, wherein the program instructions for writing the plurality of data to the write buffer block include program instructions for: Writing to a cache pad; and copying the plurality of data from the scratch pad block to the write buffer block. 34. The non-volatile memory storage system of claim 30, Wherein the write buffer block comprises a plurality of pages, and wherein each of the plurality of pages is indexed. 35. The non-volatile memory storage system of claim 30, wherein the write buffer The block includes a plurality of segments, and wherein each of the plurality of regions is indexed. The file is buffered. 36. The non-volatile memory storage buffer block of claim 30 includes a plurality of blocks. 122731.doc 200825738 37 · A non-volatile memory storage system, including · a read-only memory (ROM), which is configured to be stored in one: the dumping system is tough (thinking a body saponin array, the "ν", the mouth scale region, the write buffer block configured to span a plurality of logical addresses, a non-volatile memory cell array; 一處理器’其與該R〇M、該記憶體單元陣列及該 發性記憶體單元陣列通信,該處理器經組態以執射 於忒ROM中之該儲存系統韌體,該儲存系統韌體包 於以下操作之程式指令: 用 接收一第一寫入指令以將第一複數個資料寫入至該 ㈣發性記憶體單㈣列,㈣—寫人指令經配置: 弟一逾時週期以完成該第一寫入指令之一第一執行; 維持一第一忙錄中信號, 一在一廢棄項目收集時間週期中將複數個有效資料之 一第一:分自-或多個第-區塊複製至-第二區塊, 將該第複數個資料寫入至該寫入緩衝器區塊, d在該第—逾時週期到期之前釋放該第一忙錄中信 接收一*第-宣^ 上匕 —寫入、扣令以將第二複數個資料寫入至詨 非揮,性記憶體單元陣列,該第二寫人指令係在該: 配’第冑入指令之後而接收的,該第二寫入指令經 配置第一逾時週期以完成該第二寫入指令之一第二 執行, 一 122731.doc 200825738 維持一第二忙錄中信號, 在該廢棄項目收集時間週期中將該複數個有效資料 之一第二部分自該一或多個第一區塊複製至該第二區 塊,及 在該第二逾時週期到期之前釋放該第二忙錄中信 號0 38. 如請求項37之非揮發性記憶體儲存系統,其中該儲存系a processor 'which is in communication with the R 〇 M, the array of memory cells and the array of memory cells, the processor being configured to execute the firmware of the storage system in the 忒ROM, the storage system being tough The program instruction is as follows: receiving a first write command to write the first plurality of data to the (four)-issue memory single (four) column, (4) - the write command is configured: the brother one timeout period Completing the first execution of one of the first write instructions; maintaining a first busy recording signal, and one of the plurality of valid data in the collection period of the discarded item first: split from - or multiple - The block is copied to the second block, the first plurality of data is written to the write buffer block, and d is released before the expiration of the first timeout period. ^^上匕—write, deduction to write the second plurality of data to the non-volatile memory cell array, the second write command is received by: after the 'input command The second write command is configured to configure a first timeout period to complete the second write a second execution, a 122731.doc 200825738 maintains a second busy recording signal, the second portion of the plurality of valid data from the one or more first blocks in the discarded project collection time period Copying to the second block, and releasing the second busy recording signal 0 before the second timeout period expires. 38. The non-volatile memory storage system of claim 37, wherein the storage system 統韌體進一步包含用於將該第二複數個資料寫入至該寫 入緩衝器區塊之程式指令。 39. 如請求項37之非揮發性記憶體儲存系統,其中該儲存系 統韌體進一步包含用於將該第二複數個資料寫入至一更 新區塊之程式指令。 4〇.如請求項37之非揮發性記憶體儲存系統,其中該儲存系 統動體進-步包含用於以下操作的程式指令:若該複數 個有效貝料之δ亥第一部分為該複數個有效資料之一最後 部分’則擦除該一或多個第一區塊。 41.如請求項37之非揮發性記憶體儲存系統,其中該儲存系 統拿刀體進一步包含用於將該第一複數個資料自該寫入緩 衝盗區塊複製至一更新區塊之程式指令。 42·如請求項37之非揮發性記憶體儲存㈣,其中該寫入緩 衝器區塊包含複數個頁,且其中該第—複數個資料被寫 入至一相關聯於該寫入緩衝器區塊之第一頁,且該第二 複數個資料被寫入至-相關聯於該寫入緩衝器區:之; 一頁0 122731.doc 200825738 43·如請求項37之非揮發性記憶體儲存系統,其中該寫入緩 衝器區塊包含複數個區段,且其中該第一複數個資料被 寫入至一相關聯於該寫入缓衝器區塊之第一區段,且該 第二複數個資料被寫入至一相關聯於該寫入緩衝器區塊 之第二區段。 44·如請求項37之非揮發性記憶體儲存系統,其中該非揮發The firmware further includes program instructions for writing the second plurality of data to the write buffer block. 39. The non-volatile memory storage system of claim 37, wherein the storage system firmware further comprises program instructions for writing the second plurality of data to a newer block. 4. The non-volatile memory storage system of claim 37, wherein the storage system further comprises a program instruction for: if the plurality of valid beakers are the first part of the plurality The last part of the valid data is then erased by the one or more first blocks. 41. The non-volatile memory storage system of claim 37, wherein the storage system holding body further comprises program instructions for copying the first plurality of data from the write buffer block to an update block . 42. The non-volatile memory storage (IV) of claim 37, wherein the write buffer block comprises a plurality of pages, and wherein the first plurality of data are written to an associated write buffer region The first page of the block, and the second plurality of data is written to - associated with the write buffer area: a page 0 122731.doc 200825738 43. Non-volatile memory storage as claimed in claim 37 a system, wherein the write buffer block comprises a plurality of segments, and wherein the first plurality of data is written to a first segment associated with the write buffer block, and the second A plurality of data is written to a second segment associated with the write buffer block. 44. The non-volatile memory storage system of claim 37, wherein the non-volatile 性記憶體儲存系統包含複數個緩衝級,該寫入緩衝器區 塊與該複數個缓衝級之一者相關聯。 45·如請求項37之非揮發性記憶體儲存系統,其中用於將該 第一複數個資料寫入至該寫入緩衝器區塊之該等程式指 令包含用於以下操作之程式指令: 將該第-複數個資料寫入至一高速暫存式區塊之一區 I又其中與該區段相關聯之頁包含複數個區段;及 當與該頁相關聯之該複數個區段經填滿時,將該頁複 製至該寫入緩衝器區塊。 46·如請求項45之非揮發性記憶體儲存系統,其中該高速暫 存式區塊與f緩衝級相關聯,且該寫入緩衝器區塊 與一第二緩衝級相關聯。 47·如請求項37之非揮發性記憶 該複數個資料之該等程式指 指令: 體儲存系統,其中用於寫入 令包含用於以下操作之程式 至一第一緩衝級;及 將該複數個資料寫入 將該複數個貢料自該第 塊,該寫入緩衝器區塊與 緩衝級複製至該寫入緩衝器 一第二緩衝級相關聯。 122731.doc 200825738 48· —種非揮發性記憶體儲存系統,其包含: 一記憶體,其經組態以儲存一儲存系統韌體; 一非揮發性記憶體單元陣列,其經組態以保持一寫入 缓衝器區塊,該寫入緩衝器區塊經組態以跨越複數個邏 輯位址;及 地理-其與該5己體及該非揮發性記憶體單元陣 列通信,該處理隸組態以執㈣存於該記憶體中之該 儲存系統㈣,該健存系統_體包含用於以下操藉 式指令: 』接收-寫入指令以將複數個資料寫入至該非揮發性 記憶體單元陣列,該非揮發性記憶體單元陣列經配置 一逾時週期以完成該寫入指令之一執行, 維持一忙錄中信號, 在一廢棄項目收集時間週期中將複數個有效資料之 一部分自一或多個第一區塊複製至一第二區塊, • 將該複數個資料寫入至該寫入緩衝器區塊,及 在該逾時週期到期之前釋放該忙錄中信號。 49.如凊求項48之非揮發性記憶體儲存系統,其中用於 • 該複數個有效資料之該部分之該等程式指令包含用於^ ‘ 下彳呆作之程式指令: 追蹤一用於將該複數個有效資料之該部分自該一或多 個第一區塊複製至該第二區塊之時間;及 、—在該時間超過該廢棄項目收集時間週期之前,停止該 複製該複數個有效資料之該部分。 122731.doc 200825738 50.如請求項48之非揮發性記憶體儲存系統,其中該儲存系 統韌體進一步包含用於以下操作之程式指令·· ^ 在該複製該複數個有效資料及該寫入該複數個資料之 前’估計-用於該寫入指令之該執行之執行時間, 其中若該執行時間超過該逾時週期,則複製該複數個 有效資料之該部分,且將該複數個資料寫人至該寫入緩 衝器區塊。 .如請求項48之非揮發性記憶體儲存系統,其中用於寫入 該複數個資料之該部分之該等程式指令包含用於以下操 作之程式指令: 提供-包含-頁之高速暫存式區塊,該頁包含複數個 區段; 將該複數個資料寫入至一相關聯於該頁之區段;及 當該頁滿時將該頁自該高速暫存式區塊複製至該寫入 緩衝器區塊。 52. 如請求項48之非揮發性記憶體儲存系統’其中該廢棄項 目收集時間週期為該逾時週期與一相關聯於該寫入該複 數個資料之程式化時間之間的一差值。 53. 如請求項48之非揮發性記憶體儲存系統,其中該寫入緩 衝器區塊經組態以跨越一整個邏輯位址空間。 54. 如請求項48之非揮發性記憶體儲存系統,其中該寫入缓 衝器區塊係針對一區段級索引而組態。 55·如請求項48之非揮發性記憶體儲存系統,其中該寫入缓 衝器區塊係針對一頁邊界索引而組態。 122731.doc -12- 200825738 56·如請求項48之非揮發性記憶體儲存系統,其中該鍺存系 統韌體進一步包含用於將複數個區段配置給該寫入缓衝 器區塊之程式指令,該複數個區段大於該非揮發性記憶 體儲存系統中之元區塊之一總數。The memory storage system includes a plurality of buffer stages associated with one of the plurality of buffer stages. 45. The non-volatile memory storage system of claim 37, wherein the program instructions for writing the first plurality of data to the write buffer block comprise program instructions for: Writing the first plurality of data to a zone I of a cache pad and wherein the page associated with the zone comprises a plurality of segments; and when the plurality of segments associated with the page are When filled, the page is copied to the write buffer block. 46. The non-volatile memory storage system of claim 45, wherein the cache block is associated with an f-buffer level and the write buffer block is associated with a second buffer stage. 47. The non-volatile memory of claim 37, the program of the plurality of data instructions: a volume storage system, wherein the program for writing includes a program for the following operations to a first buffer level; and the plurality The data is written from the plurality of tributaries from the first block, and the write buffer block is associated with the buffer level copied to the write buffer a second buffer stage. A non-volatile memory storage system comprising: Writing to a buffer block, the write buffer block being configured to span a plurality of logical addresses; and geo-communicating with the 5-body and the non-volatile memory unit array, the processing group The storage system (4) stored in the memory, the storage system_body includes instructions for: l receiving-writing instructions to write a plurality of data to the non-volatile memory a cell array, the non-volatile memory cell array is configured to perform a timeout period to complete execution of one of the write commands, maintain a busy recording signal, and select one of the plurality of valid data from a waste project collection time period Or copying the plurality of first blocks to a second block, writing the plurality of data to the write buffer block, and releasing the busy record signal before the expiration of the timeout period. 49. The non-volatile memory storage system of claim 48, wherein the program instructions for the portion of the plurality of valid data include a program instruction for ' 彳 :: tracking one for Stopping the portion of the plurality of valid data from the one or more first blocks to the second block; and, - stopping the copying of the plurality of copies before the time period exceeds the collection time period of the discarded item This part of the valid data. The non-volatile memory storage system of claim 48, wherein the storage system firmware further comprises program instructions for: ^ copying the plurality of valid data and writing the Before the plurality of data is 'estimated - the execution time of the execution of the write instruction, wherein if the execution time exceeds the timeout period, the portion of the plurality of valid materials is copied, and the plurality of materials are written To the write buffer block. The non-volatile memory storage system of claim 48, wherein the program instructions for writing the portion of the plurality of data include program instructions for: providing - including - page cache a block, the page comprising a plurality of segments; writing the plurality of data to a segment associated with the page; and copying the page from the scratch pad to the write when the page is full Into the buffer block. 52. The non-volatile memory storage system of claim 48 wherein the discarding item collection time period is a difference between the timeout period and a stylized time associated with the writing of the plurality of data. 53. The non-volatile memory storage system of claim 48, wherein the write buffer block is configured to span an entire logical address space. 54. The non-volatile memory storage system of claim 48, wherein the write buffer block is configured for a sector level index. 55. The non-volatile memory storage system of claim 48, wherein the write buffer block is configured for a one-page boundary index. The non-volatile memory storage system of claim 48, wherein the cache system firmware further comprises a program for configuring a plurality of segments to the write buffer block The plurality of segments are greater than a total number of metablocks in the non-volatile memory storage system. 122731.doc 13·122731.doc 13·
TW096126798A 2006-08-04 2007-07-23 Non-volatile memory storage systems and methods for performing phased garbage collection TWI343522B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/499,606 US7444461B2 (en) 2006-08-04 2006-08-04 Methods for phased garbage collection
US11/499,598 US7451265B2 (en) 2006-08-04 2006-08-04 Non-volatile memory storage systems for phased garbage collection

Publications (2)

Publication Number Publication Date
TW200825738A true TW200825738A (en) 2008-06-16
TWI343522B TWI343522B (en) 2011-06-11

Family

ID=39033552

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096126798A TWI343522B (en) 2006-08-04 2007-07-23 Non-volatile memory storage systems and methods for performing phased garbage collection

Country Status (4)

Country Link
JP (1) JP4362549B1 (en)
KR (1) KR100922308B1 (en)
TW (1) TWI343522B (en)
WO (1) WO2008019218A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025071A (en) * 2016-12-14 2017-08-08 威盛电子股份有限公司 Non-volatile memory device and its garbage collection method
TWI631460B (en) * 2017-05-19 2018-08-01 群聯電子股份有限公司 Data reading method, memory control circuit unit and memory storage device
TWI716416B (en) * 2015-11-13 2021-01-21 南韓商三星電子股份有限公司 Storage system, method and system for managing storage media, method of operating storage system, and non-transitory computer-readable medium

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4498426B2 (en) * 2008-03-01 2010-07-07 株式会社東芝 Memory system
FR2950462A1 (en) * 2009-09-21 2011-03-25 St Microelectronics Rousset Data writing and reading method for e.g. flash memory in chip card, involves reading wear counter from temporary information structure after metadata page is erased, incrementing read counter, and programming incremented counter in page
EP2302637B1 (en) 2009-09-21 2014-09-03 STMicroelectronics (Rousset) SAS Method for writing data in a non-volatile memory, protected against removal
US8417876B2 (en) 2010-06-23 2013-04-09 Sandisk Technologies Inc. Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems
US8683148B2 (en) 2010-06-30 2014-03-25 Sandisk Il Ltd. Status indication when a maintenance operation is to be performed at a memory device
JP5535128B2 (en) 2010-12-16 2014-07-02 株式会社東芝 Memory system
JP2014132505A (en) * 2010-12-16 2014-07-17 Toshiba Corp Memory system
KR101157763B1 (en) * 2010-12-27 2012-06-25 서울시립대학교 산학협력단 Variable space page mapping method and apparatus for flash memory device with trim command processing
US9710326B2 (en) 2014-07-28 2017-07-18 SK Hynix Inc. Encoder by-pass with scrambler
JP6320318B2 (en) * 2015-02-17 2018-05-09 東芝メモリ株式会社 Storage device and information processing system including storage device
KR102529710B1 (en) * 2018-02-19 2023-05-09 에스케이하이닉스 주식회사 Memory system and operation method thereof
US11726869B2 (en) 2019-08-20 2023-08-15 Micron Technology, Inc. Performing error control operation on memory component for garbage collection
US11282567B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Sequential SLC read optimization
US11281578B2 (en) 2019-08-20 2022-03-22 Micron Technology, Inc. Garbage collection in a memory sub-system during a low battery state
US11281392B2 (en) 2019-08-28 2022-03-22 Micron Technology, Inc. Garbage collection in a memory component using an adjusted parameter

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100528973B1 (en) 2003-11-05 2005-11-16 한국전자통신연구원 Apparatus and method for garbage collection
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI716416B (en) * 2015-11-13 2021-01-21 南韓商三星電子股份有限公司 Storage system, method and system for managing storage media, method of operating storage system, and non-transitory computer-readable medium
CN107025071A (en) * 2016-12-14 2017-08-08 威盛电子股份有限公司 Non-volatile memory device and its garbage collection method
CN107025071B (en) * 2016-12-14 2020-06-09 威盛电子股份有限公司 Nonvolatile memory device and garbage collection method thereof
US11126544B2 (en) 2016-12-14 2021-09-21 Via Technologies, Inc. Method and apparatus for efficient garbage collection based on access probability of data
TWI631460B (en) * 2017-05-19 2018-08-01 群聯電子股份有限公司 Data reading method, memory control circuit unit and memory storage device

Also Published As

Publication number Publication date
TWI343522B (en) 2011-06-11
JP2009545819A (en) 2009-12-24
KR20090053901A (en) 2009-05-28
JP4362549B1 (en) 2009-11-11
WO2008019218A3 (en) 2008-09-12
KR100922308B1 (en) 2009-10-21
WO2008019218A2 (en) 2008-02-14

Similar Documents

Publication Publication Date Title
TW200825738A (en) Phased garbage collection
US7451265B2 (en) Non-volatile memory storage systems for phased garbage collection
JP7366795B2 (en) Memory system and control method
US7444462B2 (en) Methods for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
US7441071B2 (en) Memory systems for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
US20080034175A1 (en) Methods for phased garbage collection
US10013177B2 (en) Low write amplification in solid state drive
JP4931810B2 (en) FAT analysis for optimized sequential cluster management
KR101200240B1 (en) Memory system, method of controlling memory system, and information processing apparauts
US8332574B2 (en) Method for efficient storage of metadata in flash memory
TW200941218A (en) Memory system
TW201237623A (en) At least semi-autonomous modules in a memory system and methods
KR20140053309A (en) Cache management including solid state device virtualization
TW201232258A (en) Memory system and operation method thereof
US9785438B1 (en) Media cache cleaning based on workload
TW201111987A (en) Memory system
JP5592478B2 (en) Nonvolatile storage device and memory controller
JP5343817B2 (en) Storage device
TWI380303B (en) Methods for storing memory operations in a queue
TWI376600B (en) Memory systems and method for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
KR101369408B1 (en) Storage system and method of transmitting data between a host device and a storage device
JP4130808B2 (en) Formatting method
US20150074335A1 (en) Memory system, controller and control method of memory
JP2012068765A (en) Memory controller, flash memory system with memory controller, and control method of flash memory
JP2012037971A (en) Memory controller, nonvolatile memory system provided with memory controller, and method for controlling nonvolatile memory

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees