TWI380303B - Methods for storing memory operations in a queue - Google Patents

Methods for storing memory operations in a queue Download PDF

Info

Publication number
TWI380303B
TWI380303B TW97108560A TW97108560A TWI380303B TW I380303 B TWI380303 B TW I380303B TW 97108560 A TW97108560 A TW 97108560A TW 97108560 A TW97108560 A TW 97108560A TW I380303 B TWI380303 B TW I380303B
Authority
TW
Taiwan
Prior art keywords
memory
operations
queue
storage system
volatile memory
Prior art date
Application number
TW97108560A
Other languages
Chinese (zh)
Other versions
TW200847162A (en
Inventor
Shai Traister
Original Assignee
Sandisk Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/726,648 external-priority patent/US7987332B2/en
Priority claimed from US11/726,646 external-priority patent/US20080235480A1/en
Application filed by Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW200847162A publication Critical patent/TW200847162A/en
Application granted granted Critical
Publication of TWI380303B publication Critical patent/TWI380303B/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
    • 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

Description

^380303 九、發明說明: 【發明所屬之技術領域】 本發明大體上係關於記憶體操作,且更特定言之, ° 係關 於儲存記憶體操作於佇列中之方法及系統。 【先前技術】 非揮發性記憶體儲存系統可接收、傳輸或發出與記憶體 之操作相關聯的操作或指令。由非揮發性記憶體儲存系统 接收或發出之多數記憶體操作經立即執行。然而,歸因於 不同定時限制(例如,初始化逾時、寫入命令逾時限制, 及其他定時限制)’可能未分配足夠時間以完全地執行記 憶體操作。結果’在下一可用時槽之前可使記憶體操作: 執行延遲,或在下次觸發記憶體操作之前可忽視記憶體操 作之執行。 、 目則,a己憶體操作臨時儲存於非揮發性記憶體儲存系統 之隨機存取記憶體(RAM)中'然而,RAM經組態以儲存每 類之延遲6己憶體操作中之僅一者。舉例而言,若非揮 發1&quot;生《己隐體儲存系統需要再新一區塊且結果觸發一廢棄項 目收集操作’則該廢棄項目收集操作可儲存於ra财且經 L遲用於在稍’後時間執行。另—方面,若非揮發性記憶體 儲存系、统需要#新兩個區塊,則與該等再新相關聯之兩個 廢棄項目收集操作不儲存於RAM中。此外,一旦功率損失 發生,則儲存於RAM中之資訊丟失,且在下次觸發此記憶 -喿乍之則將不執行§己憶體操作。此資訊損失可導致存取 錯誤且降低非揮發性記憶體儲存系統之可靠性。結果,正 129496.doc 1380303 繼續努力改良記憶體操作於非揮發性記憶體儲存系 儲存。 ,、巩τ之 【發明内容】 本發明之各種實施例提供用於儲存記憶體操作於佇列中 之方法及系統。應瞭解’可以眾多方式來實施該等實施 例’包括以方法、電路、系統或器件之形式。在下文中: 述本發明之若干實施例。 田 在一實施例中,提供-種操作非揮發性記憶體儲存系統 之方法。在此方法中,-仔列經組態以儲存與兩種或兩種 以上類型的記憶體操作相關聯的記憶體操作。此處 體操作與非揮發性記憶體儲存以之維護相關聯。排程二 =憶體操錢其喊於_事件而執行,且該記憶體操作儲 存於該件列令。 結合附圖,借助於實例說明本發明之原理,由以下詳细 描述顯見本發明之其他實施例及優點。 、 【實施方式】 結合附圖’將易於由以下詳 弄描述理解本發明,且相似 參考數字指定相似結構元件。 在下文中連同附圖—起提供斜_ ^ . %杈供對或多個實施例之詳細描 述。洋細描述係結合此等實 貫施例來提供,但其不限於任何 特疋實施例。範_僅香Φ 4主_ 4丨# m “值又申5月專利範圍限制,且涵蓋眾多替 代、修改及等效物。在以下描 迩中陳述眾多特定細節以便 k供洋盡理解。提供此等細節以達成舉例之目的’且可在 無此等特定細節中之一肽哎全 —及全部的情況下根據申請專利範 129496.doc 1380303 圍來實施職述之實施例。為達成清楚之目的,未詳細地 描述在與該等實施例㈣之技術領域中已知的技術材料以 避免不必要地使描述晦澀難懂。 本文所描述之實施例提供儲存記憶體操作於一佇列中之 法及/或系.统肖〇列儲存於非揮發性記憶體健存系統 中,且如下文更詳細地解釋,該作列經組態以儲存記憶體 操作。記憶體操作可由非揮發性記憶體儲存系統讀取且經 排程以用於執行。在—實施例中,非揮發性記憶體儲存系 統亦將優先級指派給記憶體操作且儲存該等優先級於同一 佇列中。</ RTI> </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; </ RTI> <RTIgt; [Prior Art] A non-volatile memory storage system can receive, transmit or issue operations or instructions associated with the operation of a memory. Most memory operations received or issued by the non-volatile memory storage system are performed immediately. However, due to different timing constraints (e.g., initialization timeout, write command timeout limits, and other timing constraints), there may not be enough time allocated to fully perform the memory operation. The result 'can be manipulated before the next available time slot: execution delay, or the execution of memory gymnastics can be ignored before the next time the memory operation is triggered. , the purpose, a memory operation is temporarily stored in the random access memory (RAM) of the non-volatile memory storage system. 'However, the RAM is configured to store only the delay of each type of memory. One. For example, if the non-volatile 1&quot; raw "hidden storage system needs a new block and the result triggers an abandoned project collection operation" then the waste project collection operation can be stored in Ra Finance and L is used lately. Execution after the time. On the other hand, if the non-volatile memory storage system requires # new two blocks, the two discarded project collection operations associated with the new ones are not stored in the RAM. In addition, once the power loss occurs, the information stored in the RAM is lost, and the memory is triggered next time - then the § memory operation will not be performed. This loss of information can result in access errors and reduce the reliability of the non-volatile memory storage system. As a result, positive 129496.doc 1380303 continues to work to improve memory operations in non-volatile memory storage systems. SUMMARY OF THE INVENTION Various embodiments of the present invention provide methods and systems for storing memory in a queue. It should be understood that the embodiments may be embodied in a multitude of ways, including in the form of a method, circuit, system, or device. In the following: Several embodiments of the invention are described. In one embodiment, a method of operating a non-volatile memory storage system is provided. In this method, the queue is configured to store memory operations associated with two or more types of memory operations. Here, body operations are associated with non-volatile memory storage for maintenance. Schedule 2 = Recall that the gymnastics money is shouted at the _ event and the memory operation is stored in the order. Other embodiments and advantages of the present invention will be apparent from the description and appended claims. The present invention will be readily understood from the following detailed description, and the like reference The simplifications of the pair or embodiments are provided below in conjunction with the accompanying drawings. The detailed description is provided in connection with such actual embodiments, but it is not limited to any particular embodiment. _ _ 香 Φ 4 main _ 4 丨 # m "The value of the patent scope is limited to May, and covers many alternatives, modifications and equivalents. Many specific details are stated in the following description so that they can be understood. These details are for the purpose of exemplification' and may be practiced in the absence of one of the specific details, and in all cases, in accordance with the application of the patent 129496.doc 1380303. OBJECTS, the technical materials known in the technical fields of the embodiments (4) are not described in detail to avoid unnecessarily obscuring the description. The embodiments described herein provide storage memory operations in a queue. The method and/or system is stored in a non-volatile memory storage system and, as explained in more detail below, the configuration is configured to store memory operations. Memory operations may be performed by non-volatile memory The volume storage system reads and is scheduled for execution. In an embodiment, the non-volatile memory storage system also assigns priorities to memory operations and stores the priorities in the same queue.

圖1為根據本發明之一實施例的非揮發性記憶體儲存系 統之一實例的簡化方塊圖。一主機系統(例如,桌上型電 腦、音訊播放機、數位相機及其他計算器件)可將資料寫 入至非揮發性§己憶體儲存系統〗02或自非揮發性記憶體儲 存系統102讀取資料。非揮發性記憶體儲存系統1〇2可嵌入 於該主機内或可移式地連接至該主機。如圖1中所示,非 揮發性記憶體儲存系統102包括與記憶體1丨8通信之記憶體 控制器110。大體上,記憶體控制器丨丨〇控制記憶體丨丨8之 操作。記憶體控制器11 0包括經由主機介面1 〇4與系統匯流 排126介面連接之匯流排124。記憶體控制器11〇進一步經 由a己憶體介面1〇8與記憶體118介面連接。主機介面1〇4、 處理器1 06(例如,微處理器、微控制器及其他處理器)、記 憶體介面108、隨機存取記憶體(rAM)U2、錯誤校正碼 (ECC)電路114及唯讀記憶體(ROM) 1 1 6係借助於匯流排1 24 129496.doc 1380303 來通信。ROM 116可儲存包括用於控制記憶體118之操作 的程式指令的儲存系統韌體。處理器1〇6經組態以執行自 ROM 116或自非揮發性記憶體單元陣列122載入之程式指 令。可將儲存系統韌體臨時地載入於RAM丨丨2中,且另 外,該RAM可用於緩衝在主機與記憶體丨丨8之間傳送的資 料。此外,RAM 112可經組態以儲存記憶體操作之佇列 131。ECC電路114可檢查在主機與記憶體118之間經過記 憶體控制器11 0的錯誤。若發現錯誤,則ECC電路丨丨4可校 正多個錯誤位元,數目視所利用之ECC演算法而定。 記憶體118可包括陣列邏輯12〇及非揮發性記憶體單元陣 列122。非揮發性記憶體單元陣列122可包括非揮發性記憶 體結構與技術之多種組合或一組合。非揮發性記憶體技術 之實例包括快閃記憶體(例如,NAND、NOR、單層式單元 (SLC/BIN)、多層式單元(MLC)、分割位元線n〇r(din〇R)、 and、高電容耦合率(HiCR)、非對稱不接觸電晶體(act) 及其他快閃記憶體)、可擦可程式化唯讀記憶體 (EPROM)、電可擦可程式化唯讀記憶體(EEpR〇M)、唯讀 記憶體(ROM)、一次性可程式化記憶體(〇τρ)及其他記憶 體技術。除RAM 112外,記憶體操作之佇列13〇亦可儲存 於非揮發性記憶體單元陣列122中。 此外,陣列邏輯120使記憶體控制器11〇與非揮發性記憶 體單元陣列122介面連接且可向非揮發性記憶體單元陣列 提供(例如)定址、資料傳送及感測,及其他支援。為支援 非揮發性s己憶體單元陣列122,陣列邏輯i 2〇可包括列解碼 129496.doc 1^80303 盗、行解碼器、電荷泵、字線電壓產生器、頁緩衝器、輸 入/輸出緩衝器 '位址緩衝器及其他電路。 圖^為根據本發明之一實施例的儲存記憶體操作於仔列 之操作的總體概觀之流程圖。開始於27〇處,在非揮發 性冗憶體儲存系統中提供一仵列。該仔列可包括經組態以 健存記憶體操作之多種資料結構。t料結構之實例包括 ^ 陣列及其他資料結構。此處,在—實施例中,該仔列 或多種類型之s己憶體操作相關聯的多個記憶體 操作。在另一實施例中,該仵列可儲存與兩種或兩種以上 類型之记憶體操作相關聯的記憶體操作。舉例而言,該佇 料儲存對兩個不同區塊操作之兩個廢棄項目收集操作 二-廢棄項目收集操作為一類型或單一類型之記憶體操 作)。另夕卜’該佇列可儲存對五個不同區塊操作之五個讀 二淨化處理(serub)操作(―讀取淨化處理操作為—類型或 早類型之記憶體操作)。該仵列可儲存於非揮發性記憶 體儲存系統内之多種記_體中/ 心 夕種圮隐體中。在一實施例中,該佇列儲 t於該非揮發性記憶體储存系統内之非揮發性記憶體單元 °在另一實施例中’該仔列儲存於該非揮發性記憶 體儲存系統内之隨機存取記憶體中。在又一實施例中,該 知列儲存於該非揮發性記憶體儲存系統内之隨機存取記憶 體及非揮發性記憶體單元陣列兩者中。 一,憶體操作為-指導非揮發性記憶體健存系統執行任 令。在一實施例中,記憶體操作可與非揮發性記憶 體儲存系統之維護相關聯。此等記憶體操作可被稱作内務 129496.doc 1380303 (house keeping)操作。内務操作包括不傳輸至主機或不由 主機請求的t己憶體操作。因此,舉例而言,内務操作可包 括除由主機清求或發起之擦除操作、寫入操作及讀取操^ 外的所有記憶體操作。内務操作之實例包括廢棄項目收 集、磨損均勻化(wear leveling)、讀取淨化處理、寫入緩 衝區塊清除、寫入緩衝區塊壓縮、程式錯誤復原、寫入中 止復原及其他記憶體操作。請注意,在廢棄項目收集操作 中,將來自-區塊之有效資料複製至另一區塊。在傳送該 有效資料後,擦除原始區塊以提供儲存容量。對 憶體中之資料的區塊週期性地進行廢棄項目收集(意即D, 壓縮或合併)以再生記憶體之儲存容量。在磨損均勾化 中週期性地重定位儲存於非揮發性記憶體單元陣列中之 邏輯資料,使得資料在非揮發性記憶體單元陣列之整個實 體空間中遷糝,且所有區塊被均一地磨損。亦應瞭解,在 使用非揮發J·生5己憶體儲存系統時,記憶體單元之臨限位準 可月t*才貝失邊限’藉此產生不易於摘測到之軟錯誤。可連續 地淨化處理非揮發性記憶體單元陣列以使記憶體單元維持 於其適限内。在讀取淨化處理操作中,測試記憶體單 兀^判定,否維持其邊限’且若非如此,則以適當邊限重 寫。己It體早7L。在寫入緩衝區塊清除中,將健存於寫入緩 衝區鬼中之貝料複製至另-區塊。在寫入緩衝區塊壓縮 中壓縮儲存於寫入緩衝區塊中之有效資料。亦應瞭解, 在將資料寫入至非揮發性記憶體單元陣列之一區域(例 如,一區坡、&amp; 寫入操作可能失敗。在程式錯誤復原 129496.doc 1380303 中,將在失敗之寫入操作之前儲存於此區域中之有效資料 複氩至另一位置。類似地,若在至非揮發性記憶體單元陣 歹J之區域的寫入操作期間功率損失發生,則在寫入中止 復原中將在功率損失之前寫入的有效資料複製至另—位 置。 在272處’排程一記憶體操作以使其回應於一事件而執 仃。在非揮發性記憶體儲存系統中之一事件可觸發一記恃 體操作。一事件可為非揮發性記憶體儲存系統内的一狀態 之偵測、一條件之滿足’或一準則之滿足。或者,一事件 可為執行一記憶體操作之命令的接收。事件之實例包括自 主機接收觸發一更新區塊之閉合的資料、在一更新區塊中 偵測一程式化失敗、偵測觸發在一區塊中之寫入中止復原 的寫入中止條件、滿足再新擋案系統區塊之準則滿足對 —區塊之磨損均勻化的準則、滿足觸發控制區塊(例如, 寫入緩衝區塊、映射區塊、索引區塊、寫入緩衝區塊索引 區塊,及其他控制區塊)之壓縮的準則(例如,控制區塊中 剩餘之空間量),及其他事件。視觸發記憶體操作之事件 及非揮發性記憶體儲存系統之狀態而定,記憶體操作可經 排程以用於立即執行或經排程以用於在稍後時間執行。舉 例而言,若非揮發性記憶體儲存系統目前正寫入資料,則 非揮發性έ己憶體儲存系統可排程所觸發之記憶體操作以用 於在寫入資料後執行。在另一實例中,若非揮發性記憶體 儲存系統不繁忙,則可排程接收到之記憶體操作以用於立 即執行。 129496.doc 同時,排桎該記憶體操作 憶體操作儲存於仵列卜該^可於執订,在274處將該記 ^ έ* Λ &gt; 丨可儲存於非揮發性記憶體 堵存系統内之多種記憶體 詳細地解釋,m中舉例而言,如下文中更 ^ 跨或夕個區段、頁或區塊來儲存該佇 :卜若該㈣存於非揮發性記憶體單元陣列中,二 :::揮發性記憶體儲存系統之情況下將不丟失儲= J之。己隐體刼作。在初始化非揮發性記憶 二將非揮發性記憶體儲存系統設為一初始狀態。在非: 發性記憶體健存系統與主機分離且接著重新連接至主機 時’或在非揮發性記憶體儲存系統自該主機接收一重設命 ^夺’在功率循環之情況下’可發生非揮發性記憶體儲存 系統之初始化。 圖3為記憶體單元陣列成為平面之組織的簡化方塊圖。 如上所述,該列可儲存於非揮發性記憶體儲存系統内之 夕種《己it體區域中。4注意,可將_或多個記憶體翠元陣 列分成多個平面或子陣列。在圖3之實例中,冑一記憶體 單元陣列分成四個平面202至2〇5。其他數目之平面(諸 如’卜2、4、8、16或更多)可存在於_非揮發性記憶體 儲存系統中。可將每一平面202、2〇3、2〇4或2〇5分成記憶 體單元之區塊,諸如,位於各別平面2〇2至2〇5中之區塊 2 10至2 13及220至223。記憶體單元之一區塊為實體上可一 起擦除之最小數目的記憶體單元。為增加並行性,可在較 大元區塊單元中操作區塊,其中將來自每一平面2〇2、 2〇3、204或205之一區塊邏輯上鏈接在一起以形成—元區 129496.doc 1380303 塊。舉例而言,可將四個區塊210至213邏輯上鏈接在一起 以形成一元區塊。此外,用於形成元區塊之區塊可來自其 各別平面(諸如,平面202至205)内之各個位置。舉例而 言’可將來自各別平面202至205内之各個位置的四個區塊 220至223邏輯上鏈接在一起以形成另一元區塊。一元區塊 可延展越過非揮發性記憶體儲存系統内之所有四個邏輯平 面202至205,或非揮發性記憶體儲存系統可由一或多個不 同平面中之一或多個區塊動態地形成元區塊。 在一實施例中,該佇列儲存於一或多個區塊中。舉例而 言’該佇列可儲存於一控制區塊(諸如,寫入緩衝區塊) 中。該寫入緩衝區塊維持於非揮發性記憶體單元陣列中。 大體上’該寫入緩衝區塊將所接收到之資料緩衝於非揮發 性記憶體儲存系統中。該寫入緩衝區塊充當一臨時緩衝 器’因為寫入至寫入緩衝區塊之資料稍後被複製至另一區 塊。該寫入緩衝區塊可橫跨多個邏輯位址。舉例而言,該 寫入緩衝區塊可橫跨整個邏輯位址空間。藉由橫跨整個邏 輯位址空間,該寫入緩衝區塊可儲存將要寫入至遍及非揮 發性記憶體鍺存系統的所有邏輯位址及邏輯位址之所有群 (意即’所有邏輯群)的資料。換言之,與不同邏輯群相關 聯之資料可儲存於該寫入緩衝區塊中。請注意,一邏輯群 為具有可等於一元區塊之大小的大小的一群邏輯位址。控 制區塊之第一實例為索引區塊。大體上,索引區塊儲存用 於存取非揮發性記憶體儲存系統内之各個區塊的索引資 訊。索引資訊可(例如)包括關於各種類型之區塊之有效複 I29496.doc 1380303 本的位置的資訊。控制區塊之第三實例為映射區塊。映射 區塊儲存非揮發性記憶體儲存系統中之區塊的映射及指示 是否擦除每一區塊的資訊。舉例而言,映射區塊可儲存已 擦除區塊之一列位址。控制區塊之第四實例為開機啟動 (boot)區塊。開機啟動區塊儲存映射區塊之當前位址。換 έ之’開機啟動區塊儲存對映射區塊之指標。因此,在重 定位映射區塊時’更新儲存於開機啟動區塊中之映射區塊 的當前位址。開機啟動區塊可位於第一可用元區塊中。控 制區塊之第五實例為高速暫存區塊。應瞭解,高速暫存區 塊為資料更新區塊之一形式,其中可以隨機次序及以任何 量之重複來更新邏輯區段。高速暫存區塊藉由寫入命令來 建立,其中所欲邏輯區段不端接或越過一實體頁邊界。由 於非揮發性記憶體儲存系統可能不能夠程式化部分頁,所 以一頁之區段可臨時儲存於高速暫存區塊中β非揮發性記 憶體儲存系統將該頁之區段聚積於高速暫存區塊中,直至 該頁之所有區段填充有來自各種寫入命令之新資料為止。 非揮發性記憶體儲存系統接著在一程式操作中將來自高速 暫存區塊之整個頁(例如,八個區段之新資料)複製至另一 區塊(諸如,更新區塊)。 圖4為記憶體單元之頁的簡化方塊圖。可將每一區塊(諸 如,區塊210至2 13)進一步分成記憶體單元之頁。結果, 佇列可覆蓋記憶體單兀之一或多個頁。如圖4所示,將每 一區塊210、211、212或213分成八個頁ρ〇至ρ7β或者,在 每一區塊210、211、212或213内可存在16個、32個,或更 129496.doc 14 1380303 多的記憶體單元之頁。為增加非揮發性記憶體儲存系統之 操作並行性,可將兩個或兩個以上區塊内的頁邏輯上鏈接 成元頁。例如,一元頁可由一頁(諸如,ρι)形成由四個 區塊210至213中之每一者形成。一元頁可延展越過非揮發 ' ^生記憶體儲㈣統内之所有平面’或非揮發性記憶體儲存 . 系統可由一或多個不同平面中之一或多個獨立區塊中之一 或多個頁動態地形成元頁。 圖5為記憶體單元之區段的簡化方塊圖。可將一頁進一 步分成一或多個區段。結果,佇列可覆蓋記憶體單元之一 或多個區段。每一頁中之資料量可為整數個一或多個區段 之為料其申母一區段可儲存512個位元組之資料。圖5展 示分成兩個區段502及504之頁50卜每一區段5〇2或5〇4含 有大小可為512個位元組之資料5〇6及與該資料相關聯之附 加項資料505。附加項資料505之大小可為16個位元組且可 儲存(例如)在程式化期間由資料5〇6計算出之Ecc、與該資 • 汁斗相關聯之邏輯位址、已擦除及重新程式化區塊之次數的 計數、控制旗標、操作電壓位準,及與該資料相關聯之其 他資訊。 • 圖6為根據本發明之一實施例的儲存記憶體操作及與記 •憶、體操作相關聯之優先級於仔列中的操作之總體概觀的流 矛王圖。開始於602處’提供-件列,且該仔列經組態以儲 存記憶體操作及與該等記憶體操作相關聯之優先級。回應 於一事件,排程一記憶體操作以用於在004處執行,且在 6〇6處將一優先級指派給該記憶體操作。藉由將一優先級 129496.doc -15 - 1380303 指派給每一記憶體操作,可排程某些記憶體操作以 其他記憶體操作之前執行。可為不同記憶體 ; ,P知派不同 優先級。舉例而言,該等優先級可為兩級高或低優 在另一實例該等優先級可包括下表八 先級 私岍不之多個級 別。1 is a simplified block diagram of one example of a non-volatile memory storage system in accordance with an embodiment of the present invention. A host system (eg, a desktop computer, audio player, digital camera, and other computing device) can write data to a non-volatile § memory storage system 02 or read from a non-volatile memory storage system 102 Take the information. The non-volatile memory storage system 1〇2 can be embedded within the host or can be movably connected to the host. As shown in FIG. 1, the non-volatile memory storage system 102 includes a memory controller 110 in communication with a memory port 8. In general, the memory controller controls the operation of the memory port 8. The memory controller 110 includes a bus bar 124 that interfaces with the system bus 126 via the host interface 1 〇4. The memory controller 11 is further interfaced with the memory 118 via a memory interface 1〇8. Host interface 1〇4, processor 106 (eg, microprocessor, microcontroller, and other processor), memory interface 108, random access memory (rAM) U2, error correction code (ECC) circuit 114, and Read-only memory (ROM) 1 1 6 communicates by means of busbars 1 24 129496.doc 1380303. The ROM 116 can store a storage system firmware including program instructions for controlling the operation of the memory 118. Processor 〇6 is configured to execute program instructions loaded from ROM 116 or from non-volatile memory cell array 122. The storage system firmware can be temporarily loaded into the RAM 丨丨 2, and in addition, the RAM can be used to buffer information transferred between the host and the memory 丨丨 8. Additionally, RAM 112 can be configured to store a bank 131 of memory operations. The ECC circuit 114 can check for errors in the memory controller 110 between the host and the memory 118. If an error is found, the ECC circuit 丨丨4 can correct a plurality of error bits, depending on the ECC algorithm utilized. Memory 118 can include array logic 12A and non-volatile memory cell array 122. The non-volatile memory cell array 122 can include various combinations or a combination of non-volatile memory structures and techniques. Examples of non-volatile memory technologies include flash memory (eg, NAND, NOR, single layer cell (SLC/BIN), multi-level cell (MLC), split bit line n〇r (din〇R), And, high capacitive coupling ratio (HiCR), asymmetric contactless transistor (act) and other flash memory), erasable programmable read only memory (EPROM), electrically erasable programmable read-only memory (EEpR〇M), read-only memory (ROM), one-time programmable memory (〇τρ) and other memory technologies. In addition to the RAM 112, the bank 13 of memory operations can also be stored in the non-volatile memory cell array 122. In addition, array logic 120 interfaces memory controller 11 to non-volatile memory cell array 122 and provides, for example, addressing, data transfer and sensing, and other support to non-volatile memory cell arrays. To support the non-volatile suffix cell array 122, the array logic i 2 can include column decoding 129496.doc 1^80303 thief, row decoder, charge pump, word line voltage generator, page buffer, input/output Buffer 'address buffer and other circuits. Figure 2 is a flow diagram of a general overview of the operation of a memory memory operating in a small row in accordance with an embodiment of the present invention. Starting at 27, a line is provided in a non-volatile memory storage system. The train can include a variety of data structures configured to operate in a memory. Examples of t-material structures include ^ arrays and other data structures. Here, in the embodiment, the plurality of types of memory operations associated with the plurality of types of s. In another embodiment, the queue can store memory operations associated with two or more types of memory operations. For example, the stock store collects two obsolete items for two different block operations. The second-discarded item collection operation is a type or a single type of memory gymnastics. In addition, the queue can store five read-and-slave (serub) operations on five different block operations (the read clean processing operation is a type or early type of memory operation). The array can be stored in a variety of cells in the non-volatile memory storage system. In one embodiment, the queue stores a non-volatile memory unit in the non-volatile memory storage system. In another embodiment, the queue is stored in the non-volatile memory storage system. Access memory. In yet another embodiment, the array is stored in both the random access memory and the non-volatile memory cell array in the non-volatile memory storage system. First, recall the gymnastics as a guide to the non-volatile memory storage system to execute the order. In one embodiment, memory operations can be associated with maintenance of a non-volatile memory storage system. These memory operations can be referred to as housekeeping 129496.doc 1380303 (house keeping) operations. Housekeeping operations include t-receiving operations that are not transmitted to the host or are not requested by the host. Thus, for example, housekeeping operations may include all memory operations other than erase operations, write operations, and read operations that are requested or initiated by the host. Examples of housekeeping operations include waste collection, wear leveling, read cleanup, write buffer block write, write buffer block compression, program error recovery, write abort recovery, and other memory operations. Please note that in the waste project collection operation, the valid data from the -block is copied to another block. After transmitting the valid data, the original block is erased to provide storage capacity. The blocks of the data in the memory are periodically discarded (ie, D, compressed or merged) to reproduce the storage capacity of the memory. Periodically relocating the logical data stored in the non-volatile memory cell array in the wear and tear, so that the data migrates in the entire physical space of the non-volatile memory cell array, and all the blocks are uniformly abrasion. It should also be understood that when using a non-volatile J. 5 memory system, the threshold of the memory unit can be reduced by a marginal threshold. This produces a soft error that is not easily measurable. The array of non-volatile memory cells can be continuously cleaned to maintain the memory cells within their limits. In the read purge processing operation, the test memory is judged by itself, whether or not its margin is maintained' and if not, it is overwritten with an appropriate margin. It has been 7L early. In the write buffer block clear, the bead material stored in the write buffer ghost is copied to the other block. The valid data stored in the write buffer block is compressed in the write buffer block compression. It should also be understood that writing data to one of the non-volatile memory cell arrays (for example, a zone, & write operation may fail. In the program error recovery 129496.doc 1380303, the failure will be written The valid data stored in this area before the operation is argon to another position. Similarly, if the power loss occurs during the write operation to the area of the non-volatile memory cell array J, the write abort is resumed. The valid data written by the lieutenant before the power loss is copied to the other location. At 272, the 'storage-memory operation is performed to make it respond to an event. One event in the non-volatile memory storage system An event can be triggered. An event can be a detection of a state in a non-volatile memory storage system, a conditional satisfaction or a criterion. Alternatively, an event can be performed to perform a memory operation. The receiving of the command includes an example of receiving data from the host that triggers the closing of an updated block, detecting a stylized failure in an updated block, and detecting that the trigger is written in a block. The write abort condition of the recovery, the criterion for satisfying the renewed system block satisfies the criteria for the wear uniformity of the block, and satisfies the trigger control block (for example, the write buffer block, the mapping block, the index area) The criteria for compression of blocks, write buffer block index blocks, and other control blocks (eg, the amount of space remaining in the control block), and other events. Events that trigger memory operations and non-volatile memory Depending on the state of the volume storage system, the memory operations can be scheduled for immediate execution or scheduled for execution at a later time. For example, if the non-volatile memory storage system is currently writing data, The non-volatile memory storage system can be scheduled to perform memory operations for execution after data is written. In another example, if the non-volatile memory storage system is not busy, scheduled reception At the same time, the memory operation is performed immediately. 129496.doc At the same time, the memory operation memory operation is stored in the memory list. The file can be placed at 274, and the record is ^* Λ &gt; 丨Can be stored For a detailed explanation of the various memories in the non-volatile memory blocking system, for example, in the case of m, the 伫: 跨 跨 跨 跨 跨 跨 跨 跨 跨 跨 跨 跨 跨In the non-volatile memory cell array, the second::: volatile memory storage system will not lose the storage = J. The hidden body works. In the initialization of non-volatile memory two will store non-volatile memory The system is set to an initial state. In the non-issue memory storage system is separated from the host and then reconnected to the host 'or in the non-volatile memory storage system receives a reset from the host' in the power cycle In this case, the initialization of the non-volatile memory storage system can occur. Figure 3 is a simplified block diagram of the organization of the memory cell array into a plane. As described above, the column can be stored in a non-volatile memory storage system. Xi Xia "in the body of the body. 4 Note that _ or multiple memory cell arrays can be divided into multiple planes or sub-arrays. In the example of Fig. 3, the memory cell array is divided into four planes 202 to 2〇5. Other numbers of planes (such as '2, 4, 8, 16 or more') may be present in the _non-volatile memory storage system. Each plane 202, 2〇3, 2〇4 or 2〇5 can be divided into blocks of memory cells, such as blocks 2 10 to 2 13 and 220 located in respective planes 2〇2 to 2〇5. To 223. A block of memory cells is the smallest number of memory cells that can be physically erased together. To increase parallelism, blocks can be manipulated in larger metablock units, where blocks from each plane 2〇2, 2〇3, 204, or 205 are logically linked together to form a meta-region 129496 .doc 1380303 block. For example, four blocks 210 through 213 can be logically linked together to form a unitary block. Moreover, the blocks used to form the metablocks may come from various locations within their respective planes, such as planes 202 through 205. For example, four blocks 220 through 223 from respective locations within respective planes 202 through 205 can be logically linked together to form another metablock. The unary block can extend across all four logical planes 202-205 within the non-volatile memory storage system, or the non-volatile memory storage system can be dynamically formed from one or more of the one or more different planes Metablock. In an embodiment, the queue is stored in one or more blocks. For example, the queue can be stored in a control block (such as a write buffer block). The write buffer block is maintained in a non-volatile memory cell array. In general, the write buffer block buffers the received data in a non-volatile memory storage system. The write buffer block acts as a temporary buffer 'because the data written to the write buffer block is later copied to another block. The write buffer block can span multiple logical addresses. For example, the write buffer block can span the entire logical address space. By spanning the entire logical address space, the write buffer block can store all of the logical addresses and logical addresses that will be written to the non-volatile memory cache system (ie, all logical groups) )data of. In other words, data associated with different logical groups can be stored in the write buffer block. Note that a logical group is a group of logical addresses having a size equal to the size of a unitary block. The first instance of the control block is an index block. In general, the index block stores index information for accessing various blocks within the non-volatile memory storage system. The index information may, for example, include information about the location of the effective complex I29496.doc 1380303 of the various types of blocks. The third instance of the control block is a mapped block. The mapping block stores the mapping of the blocks in the non-volatile memory storage system and indicates whether to erase the information of each block. For example, a mapped block can store a column address of an erased block. The fourth example of the control block is the boot block. The boot device block stores the current address of the mapped block. The 'boot' block is stored in the boot block to store the index of the mapped block. Therefore, the current address of the mapped block stored in the boot-up block is updated when the mapped block is relocated. The bootable boot block can be located in the first available metablock. The fifth example of a control block is a scratch pad block. It should be understood that the scratch pad block is in the form of one of the data update blocks in which the logical segments can be updated in random order and in any amount of repetition. The scratch pad block is created by a write command in which the desired logical segment is not terminated or crossed over a physical page boundary. Since the non-volatile memory storage system may not be able to program part of the page, a section of one page may be temporarily stored in the scratch pad block. The β non-volatile memory storage system accumulates the section of the page on the high speed. In the memory block, until all the sections of the page are filled with new data from various write commands. The non-volatile memory storage system then copies the entire page (e.g., new data for eight segments) from the high speed temporary storage block to another block (e.g., update block) in a program operation. 4 is a simplified block diagram of a page of a memory cell. Each block (e.g., blocks 210 through 2 13) can be further divided into pages of memory cells. As a result, the queue can cover one or more pages of the memory unit. As shown in FIG. 4, each block 210, 211, 212 or 213 is divided into eight pages ρ 到 ρ 7 β or there may be 16 or 32 in each block 210, 211, 212 or 213, or More 129496.doc 14 1380303 pages of more memory cells. To increase the operational parallelism of a non-volatile memory storage system, pages within two or more blocks can be logically linked into a metapage. For example, a unitary page may be formed by one page (such as ρι) formed by each of the four blocks 210 to 213. A unitary page can extend over all non-volatile 'storage memory' (four) all planes or non-volatile memory storage within the system. The system can be one or more of one or more independent blocks in one or more different planes. The pages dynamically form a meta page. Figure 5 is a simplified block diagram of a section of a memory cell. The page can be further divided into one or more segments. As a result, the queue can cover one or more segments of the memory unit. The amount of data in each page can be an integer number of one or more segments. The data of one segment of the mother can store 512 bytes. Figure 5 shows a page 50 divided into two sections 502 and 504. Each section 5〇2 or 5〇4 contains information of a size of 512 bytes. 5〇6 and additional information associated with the data. 505. The additional item information 505 can be 16 bytes in size and can store, for example, the Ecc calculated from the data 5〇6 during the stylization, the logical address associated with the resource bucket, the erased and The count of the number of reprogrammed blocks, the control flag, the operating voltage level, and other information associated with the data. Figure 6 is a flow diagram of a memory memory operation and a general overview of the operations associated with the memory and body operations in the queue, in accordance with an embodiment of the present invention. Beginning at 602&apos; provides a list of items, and the train is configured to store memory operations and priorities associated with the operations of the memories. In response to an event, a schedule-memory operation is performed for execution at 004, and a priority is assigned to the memory operation at 6〇6. By assigning a priority 129496.doc -15 - 1380303 to each memory operation, certain memory operations can be scheduled to be executed before other memory operations. Can be different memory; P know different priorities. For example, the priorities may be two levels of high or low. In another instance, the priorities may include the following table: eight levels of privilege.

'05' 清除寫入緩衝區塊項„ ____ 、—操作或彳執行。 Ό6&quot; • _體操作。 具有優先級”05·,之所有經排 ^—_ 〇月’主·芑,在表Α中,且古ν 記憶體操作將經排程以用^優先級數字(例如’、&quot;)之 嘗)之具有高優先級數字(例如, 己隱體彳呆作之前執行。 可基於一或多個泉 若非揮發性記憶雜《存計算f先級。舉例而言, (_且存在七個位元 ::!:之錯誤校正碼 正錯誤之記憶體操作: :::…優先級指派給校 …、、而,若存在四個位元之錯誤則 129496.doc • 16 * 丄獨303 可先級指派給校正錯誤之記憶體操作。在一實施例 化:基於記憶體操作之類細如,磨損均勻化、讀取 :=、廢棄項目收集及其他類型之記憶體操作)來將 優先則曰派給記憶體操作。換言之,優先級可表示成 優先級=/(記憶體操作之類型) 其中優先級為記憶體操作之類型的函數。舉例而、一磨 損均勻化記憶體操作可指派有或指^成―低優纽。在另'05' Clear write buffer block item „ ____ , — Operation or 彳 Execution. Ό6&quot; • _ Body operation. With priority “05·, all the rows ^__ 〇月' main 芑, in the table Α Medium, and the ancient ν memory operation will be scheduled to use the priority number (such as ', &quot;) to have a high priority number (for example, the implementation of the hidden body before the execution. Can be based on one or If there are multiple non-volatile memory miscellaneous memories, the calculation is f. For example, (_ and there are seven bits::!: the error correction code is wrong in the memory operation: :::... priority is assigned to School..., and, if there are four bit errors, then 129496.doc • 16 * 303 303 can be assigned to the memory operation of the correction error. In an embodiment: based on the memory operation, such as , wear leveling, reading: =, waste item collection and other types of memory operations) to give priority to memory operations. In other words, priority can be expressed as priority = / (type of memory operation) The priority is a function of the type of memory operation. For example, a mill Loss-homogenized memory operations can be assigned or referred to as "low-key". In another

實施例中’可基於觸發記憶體操作之事件的類型來將優 先級指派給記憶體操作。換言之,優先級可表示成 優先級=/(事件之類型) 其中優先級為觸發記憶體操作之事件的類型之函數。一實 例可包括將一中度優先級指派給由更新區塊中之失敗觸發 的記憶體操作。另一方面’可向由寫入中止復原觸發之記 憶體操作m優先級。在又—實施例中優先級可基 於記憶體操作之類型與觸發記憶體操作之事件之類型的組 合。換言之,優先級可表示成 優先級=/(記憶體操作之類型,事件之類型) 其中優先級為記憶體操作之類型及觸發記憶體操作之事件 之類型的函敫。 在將優先級指派給記憶體操作後,在608處將記憶體操 作及優先級儲存於佇列中。此處,該佇列可包括用於記憶 體操作之項、與記憶體操作相關聯之優先級,及與記憶體 操作相關聯之其他資訊,諸如,區塊數目、區段位置、頁 129496.doc 1360303 位置、愈· , 數、一區塊内之特定區段,及其他資訊。 二,看圖6,接著在610處執行記憶體操作。、應瞭解可 :全I:執行記憶體操作,因為(例如)未分配足夠時間以 :。在體:作。因此’可使記憶體操作之執行延 列中。執&amp;例中’如⑴處所示,執行進程可儲存於仔 …進程指示已完成之記憶體操作的量。執行進程 二^己憶體操作之執行的進度有關的多種資訊。此資訊 塊1執行之點、狀態或階段。舉例而言’所複製之區 或區段的數目,在執行可^目至預定級(例如, 窃體升級之筮_、筮 第-或第三級)時記憶體操作之各個級 $ X ’及其他資訊。根據儲存於仔列中之執行進程,可 部分地執行記憶體操作。在稍後時間,即使在記憶體操作 之不同階段的執行之間發生功率循環,亦可在完成之 繼續記憶體操作之執行。 圖7為根據本發明之一實施例的自仵列讀取記憶體操作 之操作之總體概觀的流程圖。開始於7〇2處,提供叶 列。如上所述,經排程以待執行之記憶體操作及其相關聯 之優先級及/或執行進程儲存於該❹心在·處自該 仵列讀取記憶體操作。在初始化非揮發性記憶體儲存系統 時’可自該仔列讀取非揮發性記憶體儲存系統。在非揮於 性記憶體系統不忙於執行其他記憶體操作時,亦可自奸 列讀取非揮發性記憶體儲存系統。舉例而言,主機允許用丁 固定量之時間(意即’-逾時週期)來執行—寫人操作。舉 例而言,安全數位協定將料間量限於250毫秒。執行^ 129496.doc •18- 入操作之時間量可小於該逾時週期。此過剩之時間量(意 即,逾時週期與執行寫入操作之時間量之間的差)可由= 揮發性記憶體系統用於執行儲存於該佇列中之記憶體操 除記憶體操作外’在708處自該佇列讀取與記憶體操作 相關聯之優先級。在710處,亦可自該作列讀取與記憶體 操作相關聯之執行進程。在712處,接著排程一特定言:憶 體操作以用於執行。在一實施例中,可基於優先級來排程 母-記憶體操作以用於執行。視執行進程而定’記憶體操 作之執订可為自較早時間開始之執行的再繼續。舉例而 έ ’在-實施例中,執行進程經組態以定義一執行點。該 執行點為記憶體操作之前—執行結束時。可自該執行點開 始執行記憶體操作。換言之,可自該執行點開始再繼續記 憶體操作之執行。可部分地執行或完全地執行記憶體操 作。若部分地執行記憶體操作,則將執行進程儲存於仔列 中,使得在稱後時間可再繼續記憶體 若已完全地執行記憶體操作,則可自仔列移除:刪:二 體操作。接著可根據優先級排程來自仵列之下—記憶體操 作以用於執行。 、 雖然已為達成理解之清楚的目的而料細地描述前述實 施例,但該等實施例不限於所提供之細節。#在實施該等 實施例之許多替代方式。^ ^ 戈方式目此,所揭不之實施例將被視為 說=性且非限制性的,且該等實施例不限於本文所提供之 細節’而是可在所附申請專利範圍之料及等效物内進行 129496.doc 修改。在申請專利範圍t, 除非令4專利範圍尹明確地規 【:=操作_次序。 圖1為根據本發明之—實施例的非揮發性記憶體儲存系 統之一實例的簡化方塊圖。 圖2為根據本發明之—實施例的儲存記憶體操作於 中之操作的總體概觀之流程圖。 圖3為5己憶體單疋陣列成為平面之組織的簡化方塊圖。 圖4為記憶體單元之頁的簡化方塊圖。 圖5為記憶體單元之區段的簡化方塊圖。 圖6為根據本發明之一實施例的儲存記憶體操作及與記 憶體操作相關聯之優先級於佇列中的操作之總體概觀的流 程圖。 圖7為根據本發明之一實施例的自佇列讀取記憶體操作 之操作之總體概觀的流程圖。 【主要元件符號說明】 102 非揮發性記憶體儲存系統 104 主機介面 106 處理器 108 記憶體介面 110 記憶體控制器 112 隨機存取記憶體(RAM) 114 錯誤校正碼(ECC)電路 116 唯讀記憶體(ROM) 129496.doc .20. 1380303In an embodiment, the priority may be assigned to a memory operation based on the type of event that triggered the memory operation. In other words, the priority can be expressed as a priority = / (type of event) where the priority is a function of the type of event that triggers the memory operation. An example may include assigning a medium priority to a memory operation triggered by a failure in an update block. On the other hand, it is possible to operate the m priority to the memory that is triggered by the write abort recovery. In still another embodiment, the priority may be based on a combination of the type of memory operation and the type of event that triggered the memory operation. In other words, the priority can be expressed as priority = / (type of memory operation, type of event) where priority is the type of memory operation and the type of event that triggers the operation of the memory. After the priority is assigned to the memory operation, the memory gymnastics is prioritized and stored in the queue at 608. Here, the queue may include items for memory operations, priorities associated with memory operations, and other information associated with memory operations, such as number of blocks, sector locations, page 129496. Doc 1360303 Location, number, number, specific section within a block, and other information. Second, look at Figure 6, and then perform a memory operation at 610. It should be understood that: All I: Perform memory operations because, for example, no sufficient time is allocated to :. In the body: doing. Therefore, the execution of the memory operation can be extended. In the &amp; example, as shown at (1), the execution process can be stored in the amount of memory operations that the process indicates to have completed. Execution process A variety of information about the progress of the execution of the operation. This information is the point, state or phase of block 1 execution. For example, the number of regions or segments that are copied may be at various levels of memory operation $ X ' when performing a predetermined level (eg, 窃 _, 筮 first, or third level). And other information. The memory operation can be partially performed according to the execution process stored in the queue. At a later time, even if a power cycle occurs between executions of different stages of the memory operation, the execution of the memory operation can be continued upon completion. Figure 7 is a flow diagram of a general overview of the operation of a self-aligned read memory operation in accordance with one embodiment of the present invention. Start at 7〇2 and provide a leaf column. As described above, the memory operation to be executed by the scheduling and its associated priority and/or execution process are stored at the heart of the memory from which the memory is read. The non-volatile memory storage system can be read from the queue when the non-volatile memory storage system is initialized. When the non-volatile memory system is not busy performing other memory operations, it can also read the non-volatile memory storage system. For example, the host allows a write-to-write operation to be performed for a fixed amount of time (i.e., '-timeout period). For example, a secure digital agreement limits the amount of material to 250 milliseconds. Execution ^ 129496.doc • 18- The amount of time for the incoming operation can be less than the timeout period. The excess amount of time (ie, the difference between the timeout period and the amount of time the write operation is performed) can be used by the volatile memory system to perform memory gymnastics stored in the queue in addition to memory operations. The priority associated with the memory operation is read from the queue at 708. At 710, the execution process associated with the memory operation can also be read from the queue. At 712, a specific statement is then scheduled: the memory operation is performed for execution. In an embodiment, the mother-memory operation can be scheduled for execution based on priority. Depending on the progress of the process, the memory of the gymnastics can be resumed from the beginning of the earlier time. By way of example, in the embodiment, the execution process is configured to define an execution point. This execution point is before the memory operation—at the end of execution. The memory operation can be performed from this execution point. In other words, the execution of the memory operation can be resumed from the point of execution. The memory gymnastics can be performed partially or completely. If the memory operation is partially performed, the execution process is stored in the queue so that the memory can be resumed after the time is called. If the memory operation has been completely performed, it can be removed from the queue: delete: two-body operation . It can then be scheduled for execution based on priority scheduling from below the queue. Although the foregoing embodiments have been described in detail for purposes of clarity of understanding, the embodiments are not limited to the details provided. #Many alternatives to implementing these embodiments. ^^ 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 The equivalent of 129496.doc is modified. In the scope of patent application t, unless the scope of the patent 4 is clearly defined [: = operation _ order. 1 is a simplified block diagram of one example of a non-volatile memory storage system in accordance with an embodiment of the present invention. 2 is a flow diagram of a general overview of operations in which memory memory operates in accordance with an embodiment of the present invention. Figure 3 is a simplified block diagram of a tissue in which a single-resonance single-arc array is planar. 4 is a simplified block diagram of a page of a memory cell. Figure 5 is a simplified block diagram of a section of a memory cell. 6 is a flow diagram of a general overview of memory memory operations and operations associated with memory cell operations in a queue, in accordance with an embodiment of the present invention. Figure 7 is a flow diagram of a general overview of the operation of a self-aligned read memory operation in accordance with one embodiment of the present invention. [Main component symbol description] 102 Non-volatile memory storage system 104 Host interface 106 Processor 108 Memory interface 110 Memory controller 112 Random access memory (RAM) 114 Error correction code (ECC) circuit 116 Read-only memory Body (ROM) 129496.doc .20. 1380303

118 記憶體 120 P車列邏輯 122 非揮發性記憶體單元陣列 124 匯流排 126 系統匯流排 130 仔列 131 佇列 202 平面 203 平面 204 平面 205 平面 210 區塊 211 區塊 212 區塊 213 區塊 220 區塊 221 區塊 222 區塊 223 區塊 501 頁 502 區段 504 區段 505 附加項資料 506 資料P0頁 -21 - 129496.doc 1380303 PI P2 P3 P4 P5 P6 P7 頁 頁 頁 頁 頁 頁 頁118 Memory 120 P Train Logic 122 Non-volatile Memory Cell Array 124 Bus Bar 126 System Bus 130 Triangulation 131 伫 Column 202 Plane 203 Plane 204 Plane 205 Plane 210 Block 211 Block 212 Block 213 Block 220 Block 221 Block 222 Block 223 Block 501 Page 502 Section 504 Section 505 Additional Information 506 Data P0 Page-21 - 129496.doc 1380303 PI P2 P3 P4 P5 P6 P7 Page Page Page Page Page Page

129496.doc -22-129496.doc -22-

Claims (1)

第097108560號專利申請案 中文申請專利範圍替換本(101牟6月、 十、申請專利範圍: 年月曰修正本 , 101. 6. 0β .—種用於操作一具有一記憶體控制器及一非揮發性記憶 體單元陣列之非揮發性記憶體儲存系統之方法,其包 含: 在該非揮發性記憶體陣列中之一佇列中儲存複數個記 憶體操作,其中該等記憶體操作包含由該記憶體控制器 所發出以及與兩種或多種類型的操作相關聯的操作,該 兩種或多種類型的操作與該非揮發性記憶體儲存系統^ 維護相關聯; 土;將一優先級指派給每一記憶體操作而排程用於執 行之該複數個記憶體操作以回應於一事件,其中灸考經 偵測用於—錯誤校正碼之多個錯誤位元而指派用^該= §己憶體操作中之至少一者之該優先級;及 ::這樣操作之該排程以及他們所指派之優先級而執 仃儲存於該佇列令之該等記憶體操作。 2. 如請求項丨之方法,其進一 憶體操作。 …該“i讀取該等記 3. 如請求項丨之方法,其進一步包含: 儲存該等經指派優先級於該佇列中。 如凊求項3之方法,其中基於該等 來指派至少—優先級。 …、體操作之-類型 5. 如請求項3之方法,其中 少一優先級。 …事件之一類型來指派至 6. 如請求们之方法,其進_步包含: 129496-1010608.doc 儲存一執行進程於該佇列中。 7. 如請求項6之方法,其進一步包含: 若完全執行該等記憶體操作之一特定者,則自該仲列 刪除該完成之特定記憶體操作;及 若部分地執行該等記憶體操作之一特定者,則儲存一 執錢程於該㈣中以用㈣部份完成之衫操作。 8. 如請求項1之方法’其中該佇列儲存於一控制區塊中。 I 作—具有一記憶體控制器及複數個非揮發性 =憶體之非揮發性記憶體儲存系統之方法,其包 =揮:性記憶體陣列中之一仵列中儲存複數個記 鳴作,其中在該仵列中之該等記憶體操作包含由該 Z憶體控制器所發出以及與&quot; m 一认 乂夕種類型的操作相關 聯的圮憶體操作,該兩種哎多 厕 隸Μ “ ^㈣多種類型的記憶體操作與該 非揮發性讀體儲存线之維護相關聯; 自該佇列讀取該等記憶體操作之一特定者;及 基於用於儲存在該仔列中之該等 經指派優先級而排程用於執行三 之複數個 中金去之該特疋記憶體操作,其 用於^㈣於-錯誤校正碼之多個錯誤位元而指派 =等記憶體操作中之至少—者之該優先級。 〇·如a月求項9之方法,進一 指派優H 含在該&lt;丁列中儲存該等經 〗〗.:請求項1。之方法’其進一步包含 特定記憶體操作相„ 賈取與該 元級其中基於該讀取優先 129496-1010608.doc 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 級排程該待定記憶體操作以用於執行。 如。月求項9之方法,進一步包含在該佇列中 數個記憶體操作相關聯之複數個執行進程。 如請求項12之方法,其進一步包含: 儲存與該複 白 程, ^ 宁列讀取-與該特定記憶體操作相關聯之執行進 該執行進程經組態以定義一執行點;及 該執行點開始執行該特定記憶體操作。 存之方法’其中在初始化該非揮發性記憶體儲 '、、,、時,自該佇列讀取該特定記憶體操作。不9之方法其中在該非揮發性記憶體儲存系統 主時,自該佇列讀取該特定記憶體操作。 如=求項9之方法,其中該仵列儲存於—索引區塊中。 :叫求項9之方法,其中該佇列儲存於一寫入緩衝區塊 Τ 。 如請求項9之方法 中〇 其中該佇列儲存於一開機啟動區塊 青求項9之方法,其中該仵列儲存於—映射區塊中, ㈣該非揮發性記憶趙儲存系統中之每—區塊,其指出 疋否擦除該區塊。 °月求項9之方法,其中該佇列儲存於-由一寫入命令 二建立出之高速暫存區塊中,其中該寫人命令之邏輯區 蚁不端接或越過一實體頁邊界。 一種用於操作一具有一記憶體控制器 體單70陣列之非揮發性記憶體儲存 及一非揮發性記憶 系統之方法,其包 129496-1 〇l〇6〇8.doc 1380303 含: 在一佇列中儲存由該記憶體控制器所發出之複數個内 務操作及與該複數個内務操作相關聯之複數個優先級, 該佇列儲存於該非揮發性記憶體陣列之一高速暫存 (scratch pad)區塊中; 基於與該等内務操作相關聯之該等優先級而排程用於 執行之儲存於該佇列中之一特定内務操作以使其回應於 事件’其中參考經债測用於一錯誤校正碼之多個錯誤 位元而指派用於該等内務操作之至少一者之該優先級。 22. 如請求項21之方法,其進一步包含: 自該佇列讀取該特定内務操作及其相關聯之優先級;及 基於該經讀取優先級而排程用於執行之該特定内務操 作。 23. 如請求項21之方法,其中基於該相對應之内務操作之一 類型來指派至少一優先級。 24. 如請求項21之方法,其中基於該事件之一類型來指派至 少一優先級。 25. —種用於操作一具有一記憶體控制器及複數個非揮發性 s己憶體單元之非揮發性記憶體儲存系統之方法,其包 含: 在一符列中儲存由該記憶體控制器所發出之複數個内 務操作及與該複數個内務操作相關聯之複數個優先級, 該符列儲存於一高速暫存區塊中; 自該彳丁列讀取一特定内務操作及一與該特定内務操作 129496-1010608.doc 1380303 相關聯之優先級;及 基於儲存於該佇列中之該等内務操作 排程用於執行之該特^内務操作,其中先級而 一錯誤校正碼之多個_誤 &gt; 考厶偵測用於 之至少—者之㈣H 用㈣等内務操作 26_ —種非揮發性記憶體儲存系統,其包含 一非揮發性記憶體單元陣列;及 一記憶體控制器,其經組態以:Patent Application No. 097108560 (Chinese Patent Application No. 097108560) (101.06, X. Patent Application: Year, Month, Amendment, 101. 6. 0β. - Kind of operation for having a memory controller and a A method of non-volatile memory storage system of a non-volatile memory cell array, comprising: storing a plurality of memory operations in one of the non-volatile memory arrays, wherein the memory operations comprise An operation issued by the memory controller and associated with two or more types of operations associated with the non-volatile memory storage system maintenance; soil; assigning a priority to each a memory operation for scheduling the plurality of memory operations to be performed in response to an event, wherein the moxibustion is detected for a plurality of error bits of the error correction code and is assigned with ^ The priority of at least one of the operations; and: the scheduling of the operations and the priorities assigned thereto to perform the operations of the memory stored in the queue. The method of requesting an item, which enters a memory operation. ... the "i read the record 3. If the method of requesting the item, the method further comprises: storing the assigned priority in the queue. The method of item 3, wherein at least - priority is assigned based on the ... -, the operation - type 5. The method of claim 3, wherein one of the priorities is less. ... one of the types of events is assigned to 6. The method of the method comprises the following steps: 129496-1010608.doc stores an execution process in the queue. 7. The method of claim 6, further comprising: if the one of the memory operations is completely executed And deleting the completed specific memory operation from the secondary column; and if the one of the memory operations is partially performed, storing a payment process in the (4) to use the (4) partially completed shirt operation. 8. The method of claim 1 wherein the queue is stored in a control block. I--a method of having a memory controller and a plurality of non-volatile = memory-based non-volatile memory storage systems, Package = wave: memory array Storing a plurality of mnemonics in one of the columns, wherein the memory operations in the queue are included by the Z memory controller and associated with the operation of the &quot; m Combined with the operation of the memory, the two types of multiple toilets are "^(4) multiple types of memory operations associated with the maintenance of the non-volatile read storage line; reading one of the memory operations from the array a particular one; and the special memory operation scheduled for performing a plurality of intermediates in the three based on the assigned priorities stored in the queue, for ^(4)--error correction The priority of at least one of the memory operations is assigned to multiple error bits of the code. 〇·If the method of item 9 of month a, the first assignment of the superior H is stored in the &lt;d column to store the 〗 〖: request item 1. The method 'which further includes a specific memory operation phase „ 取 取 取 取 取 取 取 取 取 取 取 取 取 129 129 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 496 Scheduling the pending memory operation for execution. The method of monthly solution 9, further comprising a plurality of execution processes associated with a plurality of memory operations in the queue. As in the method of claim 12, further The method includes: storing and the remake, ^ lining the read - execution associated with the particular memory operation into the execution process configured to define an execution point; and the execution point begins to perform the particular memory operation. The method of storing the specific memory operation from the queue when initializing the non-volatile memory storage, and the method of the non-volatile memory storage system is The method of reading the specific memory operation, such as the method of claim 9, wherein the queue is stored in the index block. The method of claim 9, wherein the queue is stored in a write buffer block. Τ In the method of claim 9 The queue is stored in a booting block, and the queue is stored in the map block. (4) each block in the non-volatile memory storage system, indicating whether it is rubbed or not In addition to the block, the method of claim 9, wherein the queue is stored in a cache block created by a write command 2, wherein the logical region of the writer command is not terminated or crossed A physical page boundary. A method for operating a non-volatile memory storage and a non-volatile memory system having a memory controller body 70 array, package 129496-1 〇l〇6〇8.doc 1380303, comprising: storing, in a queue, a plurality of house operations issued by the memory controller and a plurality of priorities associated with the plurality of house operations, the queue being stored in one of the non-volatile memory arrays In a scratch pad block; scheduling a particular housekeeping operation stored in the queue for execution in response to the event based on the priorities associated with the house operations Reference debt test The priority for at least one of the overhead operations is assigned to the plurality of error bits of the error correction code. 22. The method of claim 21, further comprising: reading the particular housekeeping from the queue An operation and its associated priority; and the particular housekeeping operation scheduled for execution based on the read priority. 23. The method of claim 21, wherein the one of the corresponding housekeeping operations is based on Assigning at least one priority. 24. The method of claim 21, wherein at least one priority is assigned based on one of the types of events. 25. - for operating one having a memory controller and a plurality of non-volatile s A method of storing a non-volatile memory storage system of a body unit, comprising: storing, in a character string, a plurality of housekeeping operations issued by the memory controller and a plurality of priorities associated with the plurality of housekeeping operations Level, the register is stored in a cache block; a specific housekeeping operation and a priority associated with the particular housework 129496-1010608.doc 1380303 are read from the queue And the overhead operation based on the housekeeping schedules stored in the queue, wherein the first level and the plurality of error correction codes are _false&gt; (4) H (4) and other internal operations 26_ a non-volatile memory storage system comprising a non-volatile memory cell array; and a memory controller configured to: 在該非揮發性記憶體陣列 4丁列中儲存複數個纪 憶體操作:其中該等記憶體操作包含由該記憶體控;; 器所發出Μ及與兩種或多種類型的操作相關聯的操 作,該兩種或多種類型的操作與該非揮發性記憶體儲 存系統之維護相關聯,及 基於將-優先級指派至該佇列中之每一記憶體操作 而排程用於執行之該複數個記憶體操作以回應於一事Storing a plurality of memory devices in the non-volatile memory array 4: wherein the memory operations are controlled by the memory; and the operations performed by the device and operations associated with two or more types of operations The two or more types of operations are associated with maintenance of the non-volatile memory storage system and for scheduling the plurality of operations based on assigning - priority to each of the memory operations in the queue Memory operation in response to a matter 件,其中參考經谓測用於一錯誤校正碼之多個錯誤位 70而指派用於該等記憶體操作之至少一者之該優先 級。 27. 如請求項26之非揮發性記憶體儲存系統,其進一步包含 一與該記憶體控制器通信之隨機存取記憶體,該隨機存 取記憶體經組態以儲存該仔列。 28. 如請求項26之非揮發性記憶體儲存系統,其中該記憶體 控制器經進一步組態以自該佇列讀取該等記憶體操作。 29. 如請求項26之非揮發性記憶體儲存系統,其中該記憶體 129496-1010608.doc 1380303 控制器經進一步組態以: 指派每一記憶體操作之該優先級;及 將每一記憶體操作之該優先級儲存於該佇列令。 30.如請求項29之非揮發性記憶體儲存系統,其中至少一優 先級係基於該相對應之記憶體操作之一類型來指派。 31·如請求項29之非揮發性記憶體儲存系統,其中θ至少一優 先級係基於該相對應之事件之一類型來指派。 32·如請求項26之非揮發性記憶體儲存系統,其中該記憶體 控制器經進一步組態以: 儲存一執行進程於該佇列中。 33·如請求項32之非揮發性記憶體儲存系統,其中該記憶體 控制器經進一步組態以: 右元坌轨行該等 1.¾ m. ^ τ\τ 刪除該完成之特定記憶體操作;及 若部分地執行該等記憶體操作之一特定者,則儲存一 執订進程於該仵列中以用於該部份完成之特定操作。 請求項26之非揮發性記憶體儲存系統,纟中該仵列傷 存於一控制區塊中6 35. —種非揮發性記憶體儲存系統,其包含: -隨機存取記憶體,其經組態以在一仵列 個記憶體操作’該佇列中之球相紅/ 子複數 J中之該複數個記憶體操作係靼 :或多種類型的操作相關聯,該兩種或多種: 與該非揮發性記憶體儲存系統之維護相關聯;及作 一記憶體控制器,其經組態以: 129496-1010608.doc 1380303 自該佇列讀取該等記憶體操作之一特定者,及 基於用於儲存於該佇列中之該等記憶體操作之複數 個經指派優先級而排程用於執行之該特定記憶體操 作’其令參考經偵測用於-錯誤校正碼之多個錯誤位 元而指派用於該等記憶體操作之至少一者之該優先 級》 36. 如請求項35之非揮發性記憶體健存系統,其中該隨機存 取記憶體包含一非揮發性記憶體單元陣列。 37. 如請求項35之非揮發性記憶體儲存系統,其中該記憶體 控制器經進-步組態以自該仵列讀取—與該特定記憶體 操作相關聯之優先級,其中該特定記憶體操作係基於該 經讀取優先級排程以用於執行。 38·如請求項35之非揮發性記憶體儲存系統,其中在初始化 該非揮發性記憶體儲存系統時,該特定記憶體操作係自 該佇列讀取。 39.如請求項35之非揮發性記憶體儲存系統,其中在該非揮 發性記憶體儲存系統不繁忙時’該特定記憶體操作係自 該佇列讀取。 4〇.如請求項35之非揮發性記憶體儲存系統,其中該符列經 進-步組S以料與該複數個記憶體操作相關聯之複數 個執行進程’且其中該記憶體控制器經進一步組態以自 該仵列讀取-與該特定記憶體操作相關聯之執行進程。 化如請求項40之非揮發性記憶體儲存系統,其中該執行進 程經組態以定義一執行點,且其中該記憶體控制器經進 129496-1010608.doc 一步組態以自該執行點開始劼 用摊轨仃該特定記憶體操作。 42_如請求項35之非揮發性記恃體 隐镀儲存系統,其中該佇列儲 存於一索引區塊中。 43. 如請求項35之非揮發性記憶體健存系統,其中該作列錯 存於一寫入緩衝區塊中。 44. 如請求項35之非揮發性記愔驴紗—a i ^ 己隱體儲存系統,其中該佇列儲 存於一開機啟動區塊中。 A如請求項35之非揮發性記憶體儲存系統,其中該仲列儲 存於一映射區塊中。 46. 如請求項35之非揮發性記憶體儲存系統,其中該佇列儲 存於一高速暫存區塊中。 47. —種非揮發性記憶體儲存系統,其包含: 一隨機存取記憶體,其經組態以儲存複數個内務操作 及與在一佇列中之該複數個内務操作相關聯之複數個優 先級,在該佇列中之該複數個内務操作為兩種或多種類 型之内務操作;及 一記憶體控制器,其經組態以: 基於與該等内務操作相關聯之該等優先級而排程儲 存於該佇列中以用於執行之一特定内務操作以回應於 一事件,其中參考經偵測用於一錯誤校正碼之多個錯 誤位元而指派用於該等内務操作之至少一者之該優先 級0 48·如請求項47之非揮發性記憶體儲存系統,其中該記憶體 控制器經進一步組態以: 129496-10I0608.doc 1380303 自該佇列讀取該特定内務操作及其相關聯之優先級;及 基於該經讀取優先級排程用於執行之該特定内務操 作。 49. 如請求項47之非揮發性記憶體儲存系統,其中至少一優 先級係基於該相對應之内務操作之一類型來指派。 50. 如請求項47之非揮發性記憶體儲存系統,其中至少一優 先級係基於該事件之一類型來指派。 5 1. —種非揮發性記憶體儲存系統,其包含:And wherein the priority for at least one of the memory operations is assigned with reference to a plurality of error bits 70 for use in an error correction code. 27. The non-volatile memory storage system of claim 26, further comprising a random access memory in communication with the memory controller, the random access memory configured to store the queue. 28. The non-volatile memory storage system of claim 26, wherein the memory controller is further configured to read the memory operations from the queue. 29. The non-volatile memory storage system of claim 26, wherein the memory 129496-1010608.doc 1380303 controller is further configured to: assign the priority of each memory operation; and each memory The priority of the operation is stored in the queue order. 30. The non-volatile memory storage system of claim 29, wherein the at least one priority is assigned based on one of the corresponding types of memory operations. 31. The non-volatile memory storage system of claim 29, wherein at least one priority of θ is assigned based on one of the corresponding types of events. 32. The non-volatile memory storage system of claim 26, wherein the memory controller is further configured to: store an execution process in the queue. 33. The non-volatile memory storage system of claim 32, wherein the memory controller is further configured to: right-weight rails such 1.3⁄4 m. ^ τ\τ to delete the completed specific memory And if a particular one of the memory operations is performed in part, storing a binding process in the queue for the particular operation of the partial completion. The non-volatile memory storage system of claim 26, wherein the queue is stored in a control block, and the non-volatile memory storage system comprises: - a random access memory, Configuring to operate the plurality of memory operating systems in a sphere of red/sub-complex J in a queue of memory operations: or multiple types of operations associated with the two or more: The maintenance of the non-volatile memory storage system is associated with; and a memory controller configured to: 129496-1010608.doc 1380303 to read one of the memory operations from the queue, and based on a plurality of assigned priority priorities for the memory operations stored in the queue and scheduled for execution of the particular memory operation 'which causes the reference to be detected for - error correction code multiple errors The priority is assigned to at least one of the operations of the memory. 36. The non-volatile memory storage system of claim 35, wherein the random access memory comprises a non-volatile memory Cell array. 37. The non-volatile memory storage system of claim 35, wherein the memory controller is further configured to read from the queue - a priority associated with the particular memory operation, wherein the particular The memory operation is based on the read priority schedule for execution. 38. The non-volatile memory storage system of claim 35, wherein the particular memory operation is read from the queue when the non-volatile memory storage system is initialized. 39. The non-volatile memory storage system of claim 35, wherein the particular memory operation is read from the queue when the non-volatile memory storage system is not busy. 4. The non-volatile memory storage system of claim 35, wherein the symbol is further processed by the plurality of execution processes associated with the plurality of memory operations by the step group S and wherein the memory controller Further configured to read from the queue - the execution process associated with the particular memory operation. The non-volatile memory storage system of claim 40, wherein the execution process is configured to define an execution point, and wherein the memory controller is configured in one step from 129496-1010608.doc to start from the execution point Use the track rail to operate on that particular memory. 42. The non-volatile cryptographic storage system of claim 35, wherein the queue is stored in an index block. 43. The non-volatile memory storage system of claim 35, wherein the queue is erroneously stored in a write buffer block. 44. The non-volatile crepe yarn of claim 35, wherein the queue is stored in a boot-up block. A non-volatile memory storage system of claim 35, wherein the secondary column is stored in a mapping block. 46. The non-volatile memory storage system of claim 35, wherein the queue is stored in a scratch pad block. 47. A non-volatile memory storage system, comprising: a random access memory configured to store a plurality of housekeeping operations and a plurality of plurality of housekeeping operations associated with a plurality of housekeeping operations in a queue Priority, the plurality of house operations in the queue are two or more types of housekeeping operations; and a memory controller configured to: be based on the priorities associated with the house operations And scheduling is stored in the queue for performing a particular housekeeping operation in response to an event, wherein the plurality of error bits detected for an error correction code are assigned for the housekeeping operation At least one of the priority levels 0. 48. The non-volatile memory storage system of claim 47, wherein the memory controller is further configured to: 129496-10I0608.doc 1380303 to read the particular housekeeping from the queue The operation and its associated priority; and the particular housekeeping operation for execution based on the read priority schedule. 49. The non-volatile memory storage system of claim 47, wherein at least one priority is assigned based on one of the corresponding housekeeping operations. 50. The non-volatile memory storage system of claim 47, wherein at least one priority is assigned based on one of the types of events. 5 1. A non-volatile memory storage system comprising: 一非揮發性記憶體單元陣列,其經組態以儲存複數個 内務操作及與在叫宁列中之該複數個内務操作相關聯之 複數個優先級,該仵列儲存於一高速暫存區塊中;及 一記憶體控制器,其經組態以: 自該仔列讀取-特定⑽操作及—與該特定内務 作相關聯之優先級,及 ^ 基於赌存於該㈣中之料㈣操作之料優An array of non-volatile memory cells configured to store a plurality of housekeeping operations and a plurality of priorities associated with the plurality of housekeeping operations in the column, the queues being stored in a high speed temporary storage area And a memory controller configured to: read from the child-specific (10) operation and - a priority associated with the particular housekeeping, and ^ based on the material in the (4) (4) Operational materials 而排程用於執行之兮· Ajr - jj, 矾仃之該特弋内務操作,其中參考經 用於一錯誤校正碼之多個錯誤位元而指 務操作之至少-者之該優先級。 於該等内 129496-1010608.doc -9-The schedule is used to perform the 兮·Ajr-jj, which is the overhead of the at least one of the operation operations with reference to a plurality of error bits for an error correction code. Within these 129496-1010608.doc -9-
TW97108560A 2007-03-21 2008-03-11 Methods for storing memory operations in a queue TWI380303B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/726,648 US7987332B2 (en) 2007-03-21 2007-03-21 Methods for storing memory operations in a queue
US11/726,646 US20080235480A1 (en) 2007-03-21 2007-03-21 Systems for storing memory operations in a queue

Publications (2)

Publication Number Publication Date
TW200847162A TW200847162A (en) 2008-12-01
TWI380303B true TWI380303B (en) 2012-12-21

Family

ID=39619215

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97108560A TWI380303B (en) 2007-03-21 2008-03-11 Methods for storing memory operations in a queue

Country Status (2)

Country Link
TW (1) TWI380303B (en)
WO (1) WO2008115720A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987332B2 (en) 2007-03-21 2011-07-26 Sandisk Technologies Inc. Methods for storing memory operations in a queue
US8504784B2 (en) 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
TWI451435B (en) * 2010-10-08 2014-09-01 Phison Electronics Corp Non-volatile memory storage apparatus, memory controller and data storage method
US10552045B2 (en) * 2016-11-16 2020-02-04 Sandisk Technologies Llc Storage operation queue
TWI718635B (en) * 2019-03-04 2021-02-11 慧榮科技股份有限公司 Unbalanced plane management method, associated data storage device and controller thereof
CN111651371B (en) 2019-03-04 2023-06-16 慧荣科技股份有限公司 Asymmetric plane management method, data storage device and controller thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089349B2 (en) * 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
US8244958B2 (en) * 2005-05-09 2012-08-14 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system

Also Published As

Publication number Publication date
TW200847162A (en) 2008-12-01
WO2008115720A1 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
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
CN109783009B (en) Memory system and operating method thereof
US7987332B2 (en) Methods for storing memory operations in a queue
US7464216B2 (en) Method for phased garbage collection with state indicators
US7444463B2 (en) System for phased garbage collection with state indicators
JP4362549B1 (en) Gradual garbage collection
US7451265B2 (en) Non-volatile memory storage systems for phased garbage collection
US7444461B2 (en) Methods for phased garbage collection
US20080235480A1 (en) Systems for storing memory operations in a queue
KR102094334B1 (en) Non-volatile multi-level cell memory system and Method for performing adaptive data back-up in the system
JP5728672B2 (en) Hybrid memory management
TWI418980B (en) Memory controller, method for formatting a number of memory arrays and a solid state drive in a memory system, and a solid state memory system
US20080162787A1 (en) System for block relinking
TWI380303B (en) Methods for storing memory operations in a queue
US20080162612A1 (en) Method for block relinking
CN111694510B (en) Data storage device and data processing method
CN113924625A (en) Operational consistency in non-volatile memory systems
CN114063893A (en) Data storage device and data processing method
KR20210078570A (en) Handling Behavioral Conflicts in Non-Volatile Memory
WO2008042596A2 (en) Memory systems for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
CN112099731A (en) Data storage device and data processing method
US20240069750A1 (en) Storage device including nonvolatile memory device and operating method of storage device
US20240078027A1 (en) Storage device including nonvolatile memory device and operating method of storage device
CN117311599A (en) Memory system, memory controller, and method of operating memory system

Legal Events

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