TW200847162A - Methods for storing memory operations in a queue - Google Patents
Methods for storing memory operations in a queue Download PDFInfo
- Publication number
- TW200847162A TW200847162A TW97108560A TW97108560A TW200847162A TW 200847162 A TW200847162 A TW 200847162A TW 97108560 A TW97108560 A TW 97108560A TW 97108560 A TW97108560 A TW 97108560A TW 200847162 A TW200847162 A TW 200847162A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- queue
- storage system
- volatile memory
- priority
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
200847162 九、發明說明: 【發明所屬之技術領域】 本發明大體上係關於記憶體操作,且更㈣言之,係關 於儲存記憶體操作於佇列中之方法及系統。 , 【先前技術】 • 非揮發性記憶體儲存系統可接收、傳輸或發出與記憶體 之操作相關聯的操作或指令。由非揮發性記憶體儲存系統 #收或發出之多數記憶體操作經立即執行'然而,歸因於 • $同定時限制(例如,初始化逾時、寫入命令逾時限制, :其他定時限制)’可能未分配足夠時間以完全地執行記 憶體操作。結果,在下一可用時槽之前可使記憶體操作之 卜遲或在下_人觸發s己憶體操作之前可忽視記憶體操 作之執行。 、 二削’記憶體操作臨時儲存於非揮發性記憶體儲存系統 之隨機存取記憶體(RAM)中。然而,RAM經組態以餘存每 •—類型之延遲記憶體操作中之僅-者。舉例而言,若非揮 ^ "己匕體儲存系統需要再新一區塊且結果觸發一廢棄項 收木操作’則該廢棄項目收集操作可儲存於RAM中且經 ^遲用於在稍後時間執行。另一方面,^非揮發性記憶體 、冑存糸統需要再新兩個區塊,則與該等再新相關聯之兩個 廢棄項目收集操作不儲存於RAM中。此外,一旦功率損失 ^ ^,則儲存於RAM中之資訊丢失,且在下次觸發此記憶 體钿作之前將不執行記憶體操作。此資訊損失可導致存取 錯决且降低非揮發性記憶體儲存系統之可靠性。結果,正 129496.doc 200847162 繼續努力改良記憶體操作於非揮發性記憶體儲存系統中之 儲存。 【發明内容】 本發明之各種實施例提供用於儲存記憶體操作於仔列中 之方法及系統。應瞭解’可以眾多方式來實施該等實施 例’包括以方法、電路、系統或器件之形式。在下文中描 述本發明之若干實施例。 在一貫施例中200847162 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 storing memory in a queue. [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 immediately executed 'however, due to • $ same timing limit (eg, initialization timeout, write command timeout limit, other timing restrictions) 'There may not be enough time allocated to fully perform the memory operation. As a result, the execution of the memory gymnastics can be ignored before the next available time slot can be delayed by the memory operation or before the next _ person triggers the suffix operation. The two-cut memory operation is temporarily stored in random access memory (RAM) of the non-volatile memory storage system. However, the RAM is configured to survive only one of every type of delay memory operation. For example, if the non-volume storage system needs a new block and the result triggers an obsolete item, the waste collection operation can be stored in RAM and later used later. Time execution. On the other hand, if the non-volatile memory and the storage system need to re-create two new blocks, the two discarded project collection operations associated with the new ones are not stored in the RAM. In addition, once the power loss ^ ^, the information stored in the RAM is lost, and the memory operation will not be performed until the next time the memory is triggered. This loss of information can result in incorrect access and reduce the reliability of the non-volatile memory storage system. As a result, positive 129496.doc 200847162 continued efforts to improve the storage of memory 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 row. 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. Several embodiments of the invention are described below. In consistent practice
'· π μ丨山❸呢,脰屬仔糸統 之方法。在此方法中’ 一佇列經組態以儲存與兩種或兩種 以上類型的記憶體操作相關聯的記憶體操作。此處,記情'· π μ丨山❸, 脰 is a method of 糸 。. In this method, a column is configured to store memory operations associated with two or more types of memory operations. Here, remember
體操作與非揮發性記憶體儲存系統之維護相關聯。排程I 呂己憶體操作使其回應於一事株而拥— 爭件而執订,且該記憶體操作儲 存於該佇列中。 結合附圖’借助於實例說明本發明之原理,由以下詳細 描述顯見本發明之其他實施例及優點。 、 【實施方式】 結合附圖 參考數字指 在下文中 述。詳細描 特定實施例 代、修改及 提供詳盡理 無此等特定 ,將易於由以下詳細描述理解本發明,且相似 定相似結構元件。 連同附圖-起提供對—或多個實施例之詳細描 述係、、Ό 5此等實施例來提供,但其不限於任何 。範嘴僅受中請專利範圍限制,且涵蓋眾多替 等效物在以下描述中陳述眾多特定細節以便 解提仏此等細節以達成舉例之目的,且可在 、、田節中之~些或全部的情況下根據申請專利範 129496.doc 200847162 圍來實施所描述之實施例。為 马達成清楚之目的,未詳細地 描述在與該等實施例有 、 關之技術領域中已知的技術材料以 避免不必要地使描述晦溫難懂。Body operations are associated with maintenance of a non-volatile memory storage system. Scheduling I's the operation of the memory, in response to a continuation, and the memory operation is stored in the queue. Other embodiments and advantages of the present invention will be apparent from the description and appended claims. [Embodiment] Referring to the drawings, reference numerals are described below. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be understood from the following detailed description, and similar structural elements are similar. The detailed description of the embodiments, or the embodiments, are provided in conjunction with the accompanying drawings, but are not limited to any. The scope of the patent is limited only by the scope of the patent application, and the numerous equivalents are recited in the following description in order to clarify the details for the purpose of example, and may be in the The described embodiments are implemented in all cases in accordance with the patent application 129496.doc 200847162. For the purpose of achieving clarity for the horse, the technical materials known in the technical fields related to the embodiments are not described in detail to avoid unnecessarily obscuring the description.
本文所描述之實施例提供儲存記憶體操作於—符列中之 方法及/或系統。該仔列儲存於非揮發性記憶體儲存系统 t,且如下文更詳細地解釋’該仔列經組態以儲存記憶體 細作。6己憶體#作可由非揮發性記憶體健存系統讀取且經 排程以詩執行。在—實_巾,非揮發性記憶體儲存系 統亦將優先級指派給記憶體操作且儲存該等優先級於同一 佇列中。 圖1為根據本發明之一實施例的非揮發性記憶體儲存系 統之一實例的簡化方塊圖。一主機系統(例如,桌上型電 腦、音訊播放機、數位相機及其他計算器件)可將資料寫 入至非揮發性記憶體儲存系統102或自非揮發性記憶體儲 存系統102讀取資料。非揮發性記憶體儲存系統1〇2可嵌入 於該主機内或可移式地連接至該主機。如圖1中所示,非 揮發性記憶體儲存系統1 02包括與記憶體11 8通信之記憶體 控制姦110。大體上,記憶體控制器11 〇控制記憶體丨1 8之 操作。記憶體控制器11 0包括經由主機介面i 〇4與系統匯流 排126介面連接之匯流排124。記憶體控制器11〇進一步經 由3己憶體介面10 8與記憶體11 8介面連接。主機介面1 〇 4、 處理器106(例如,微處理器、微控制器及其他處理器)、記 憶體介面108、隨機存取記憶體(RAM)l 12、錯誤校正碼 (ECC)電路114及唯讀記憶體(R〇M)l 16係借助於匯流排124 129496.doc 200847162 來通h。ROM 116可儲存包括用於控制記憶體118之操作 的私式指令的儲存系統韌體。處理器1 〇6經組態以執行自 ROM 116或自非揮發性記憶體單元陣列122載入之程式指 令。可將儲存系統韌體臨時地載入於RAM 112中,且另 外,該RAM可用於緩衝在主機與記憶體丨丨8之間傳送的資 料。此外,RAM 112可經組態以儲存記憶體操作之佇列 131。ECC電路114可檢查在主機與記憶體118之間經過記 憶體控制器110的錯誤。若發現錯誤,則ECC電路114可校 正多個錯誤位元,數目視所利用之ECC演算法而定。 記憶體118可包括陣列邏輯12〇及非揮發性記憶體單元陣 列122。非揮發性記憶體單元陣列ι22可包括非揮發性記憶 體結構與技術之多種組合或一組合。非揮發性記憶體技術 之實例包括快閃記憶體(例如,NAND、NOR、單層式單元 (SLC/BIN)、多層式單元(MLC)、分割位元線nor(din〇r)、 AND、高電容耦合率(HiCR)、非對稱不接觸電晶體(AcT) 及其他快閃記憶體)、可擦可程式化唯讀記憶體 (EPROM)、電可擦可程式化唯讀記憶體(EEPROM)、唯讀 記憶體(ROM)、一次性可程式化記憶體(οτρ)及其他記情 體技術。除RAM 112外,記憶體操作之佇列13〇亦可儲存 於非揮發性記憶體單元陣列122中。 此外’陣列邏輯120使記憶體控制器Π0與非揮發性記情、 體單元陣列122介面連接且可向非揮發性記憶體單元陣列 提供(例如)定址、資料傳送及感測,及其他支援。為支援 非揮發性記憶體單元陣列122,陣列邏輯120可包括列解碼 129496.doc 200847162 為、仃解碼器、電荷泵、字線電壓產。 入/輸出缕备抑, 貝较衝裔、輪 J出緩衝益、位址緩衝器及其他電路。 = 為根據本發明之—實施例的儲存記憶體操 =的總體概觀之流程圖。開始於27〇處 = =:存系統中提供,,列可包括經組態! ΓΓ操作之多種f料結構。資料結構之實例包括 表、陣列及其他資料結構。此處, 可儲在盥_斗、# α t 口茨4 丁列 〜或夕種類型之記憶體操作相關聯的 刼作。在另一實施例中,該 匕體 储存與兩種或兩種以上 員1之記憶體操作相關聯的記憶體操作。舉例而言,奸 1 可儲存對兩個不同區塊操作之兩個廢棄項目彳:集;二 :-廢棄項目收集操作為一類型或單一類型之記憶體摔 卞)。另外,該仔列可儲存對五個不同區塊操作之五個讀 取淨化處理(serub)操似-讀取淨化處理操作為—類型^ 單-類型之記憶體操作)。該传列可儲存於非揮發性記憶 體儲存系統内之多種記憶體中。在_實施例中該仔列儲 存於該非揮發性記憶體儲存系、統内之非揮發性記憶體單元 陣列中。在另—實施例中’該符列儲存於該非揮發性記憶 體儲存系統内之隨機存取記憶體中。在又一實施例中,該 佇列儲存於該非揮發性記憶體儲存系統内之隨機存取記憶 體及非揮發性記憶體單元陣列兩者中。 一記憶體操作為一指導非揮發性記憶體儲存系統執行任 務的指令。在一實施例中,記憶體操作可與非揮發性記憶 體儲存系統之維護相關聯。此等記憶體操作可被稱作内務 129496.doc 200847162 (house keeping)操作。内務操作包括不傳輸至主機或 主機請求的記憶體操作。因此,舉例而言,内務操二 括除由主機請求或發起之擦除操作、寫入操作及讀取Z包 外的所有記憶體操作。内務操作之實例包括廢棄項目呆2 集、磨損均勻化(wear leveling)、讀取淨化處理、收 衝區塊清除、寫入緩衝區塊壓縮、程式錯誤復原、寫入 止復原及其他記憶體操作。請注意,在廢棄項目收集= 中,將來自一區塊之有效資料複製至另一區塊。在:送該 有效資料後,擦除原始區塊以提供儲存容量。對儲存= 憶體中之資料的區塊週期性地進行廢棄項目收集(意即$ 壓縮或合併)以再生記憶體之儲存容量。在磨損玉"化 中週期性地重定位儲存於非揮發性記憶體單元陣列中之 邏輯貝料’使得資料在非揮發性記憶體單元陣列之整個 體工間中遷移’且所有區塊被均—地磨損。亦應瞭解,在 使用非揮發性記憶體儲存系統時,記憶體單元之臨限位準 可能損失邊限’藉此產生不易於㈣到之軟錯誤。可連續 地淨化處理非揮發性記憶體單元陣列以使記憶體單元維持 ;’、田邊限内。在_取淨化處理操作中,測試記憶體單 疋:':定,持其邊限,且若非如此,則以適當邊限重 寫。L體單兀。在寫入緩衝區塊清除中,將儲存於寫入缓 :區塊中之資料複製至另一區塊。在寫入緩衝區塊壓縮 :,壓縮儲存於寫人緩衝區塊中之有效資料。亦應瞭解, 如 •” 卜揮卷性記憶體單元陣列之一區域(例 如’-區塊)時,寫入操作可能失敗。在程式錯誤復原 129496.doc 200847162 中,將在失敗之宜λ 4W ^ 複製至另一位¥呆作之前儲存於此區域中之有效資料 類似地,若在至非揮發性記憶體單元陣 列之一區域的寫入操作期間功率損失發生,則在寫入中止 復原令將在功率損失之前寫入的有效資料複製至另一位 置。 在272處’排程—記憶體操作以使其回應於—事件 行。在非揮發性記憶體儲存系統中之一事件可觸發一記憶 體操作。一事件可為非揮發性記憶體健存系統内的一㈣ 之積測二-條件之滿足,或一準則之滿足。或者,一料 可為執仃-記憶體操作之命令的接收。事件之實例包括 主機接收觸發—更新區塊之閉合的資料、在-更新區塊中 偵測一程式化失敗、侦測觸發在一區塊中之寫入中止復原 的寫入中止條件、滿足再新樓案系統區塊之準則、滿足對 品鬼之磨才貝均勻化的準則、滿足觸發控制區塊(例如, 寫入緩衝區塊、映射區塊、索引區塊、寫入緩衝區塊索引 區塊’及其他控制區塊)之塵縮的準則(例如,控制區塊中 剩餘之空間量),及其他事件。視觸發記憶體操作之事件 及非揮發性記憶體儲存系統之狀態而定,記憶體操作可經 排程以用於立即執行或經排程以用於在稍後時間執行。舉 例而言,若非揮發性記憶體儲存系統目前正寫入資料,則 非揮發性記憶體儲存系統可排程所觸發之記憶體操作以用 於在寫入資料後執行。在另-實例中,若非揮發性記憶體 儲存糸統不繁忙,則可排程接收到之記憶體操作以用於立 即執行。 129496.doc 200847162 體操作以用於執行,在274處將該記 儲存Μ内 列中。該仔列可儲存於非揮發性記憶體 :存糸統内之多種記憶體區域中。舉例而言,如下文中更 评細地解釋’可跨一或多個區段、頁或 列。若該佇列儲存於非揮、Ί =子以丁 开评知丨王圯『思體早兀陣列中,則 純非揮發性記憶體儲存系統之情況下心丟失儲存於該 士 2* U體操作。在初始化非揮發性記憶體儲存系統Embodiments described herein provide methods and/or systems for storing memory operations in a -. The train is stored in a non-volatile memory storage system t and is explained in more detail below. The train is configured to store memory. The 6 memory can be read by the non-volatile memory storage system and scheduled to be executed in poetry. In the case of a non-volatile memory storage system, the priority is also assigned to the memory operation and the priorities are stored in the same queue. 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 (e.g., a desktop computer, audio player, digital camera, and other computing device) can write data to or read data from the non-volatile memory storage system 102. 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 control 110 in communication with the memory 118. In general, the memory controller 11 controls the operation of the memory port 18. The memory controller 110 includes a bus bar 124 that is interfaced with the system bus 126 via a host interface i 〇4. The memory controller 11 is further interfaced with the memory 11 8 via the 3 memory interface 108. a host interface 1 〇 4, a processor 106 (eg, a microprocessor, a microcontroller, and other processors), a memory interface 108, a random access memory (RAM) 12, an error correction code (ECC) circuit 114, and The read-only memory (R〇M) 16 is connected to h by means of busbars 124 129496.doc 200847162. The ROM 116 can store a storage system firmware including private instructions for controlling the operation of the memory 118. Processor 1 〇 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 112, and in addition, the RAM can be used to buffer information transferred between the host and the memory port 8. Additionally, RAM 112 can be configured to store a bank 131 of memory operations. The ECC circuit 114 can check for errors that pass through the memory controller 110 between the host and the memory 118. If an error is found, the ECC circuit 114 can correct a plurality of error bits, the number 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 ι 22 may comprise 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 nor(din〇r), AND, High capacitance coupling ratio (HiCR), asymmetric contactless transistor (AcT) and other flash memory), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM) ), read-only memory (ROM), one-time programmable memory (οτρ) and other notation techniques. 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, the array logic 120 interfaces the memory controller 与0 with the non-volatile cryptographic, body cell array 122 and provides, for example, addressing, data transfer and sensing, and other support to the non-volatile memory cell array. To support the non-volatile memory cell array 122, the array logic 120 can include column decoding 129496.doc 200847162, 仃 decoder, charge pump, word line voltage production. Input/output 缕 抑 , 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝 贝= is a flow chart of a general overview of stored memory gymnastics = according to an embodiment of the invention. Starting at 27〇 = =: Provided in the storage system, the columns can be configured!多种 Operation of a variety of f material structure. Examples of data structures include tables, arrays, and other data structures. Here, it can be stored in the memory operation of the 盥_斗, #α t口茨4丁列~~ or the type of memory operation. In another embodiment, the cartridge stores memory operations associated with memory operations of two or more members. For example, trait 1 can store two obsolete items that operate on two different blocks: set; two: - the waste collection operation is a type or a single type of memory wrestling). In addition, the trainer can store five read-and-clean processing (serub) operations for five different block operations - read clean processing operations as - type ^ single-type memory operations). The hash can be stored in a variety of memories in a non-volatile memory storage system. In the embodiment, the array is stored in the non-volatile memory storage system, the non-volatile memory unit array. In another embodiment, the register is stored in random access memory in the non-volatile memory storage system. In yet another embodiment, the array is stored in both the random access memory and the non-volatile memory cell array within the non-volatile memory storage system. A memory gymnastic is an instruction to direct the non-volatile memory storage system to perform tasks. 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 200847162 (house keeping) operations. Housekeeping operations include memory operations that are not transmitted to the host or host request. Thus, for example, the housekeeping operation includes all memory operations other than the erase operation, the write operation, and the read Z packet requested or initiated by the host. Examples of housekeeping operations include 2 sets of discarded items, wear leveling, read cleanup, block clearing, write buffer block compression, program error recovery, write recovery, and other memory operations. . Please note that in the Waste Project Collection =, valid data from one block is copied to another block. After the valid data is sent, the original block is erased to provide the storage capacity. The blocks of the data stored in the memory are periodically discarded (ie, compressed or merged) to reproduce the storage capacity of the memory. Periodically relocating the logic material stored in the non-volatile memory cell array in the wear jade " makes the data migrate throughout the entire physical memory of the non-volatile memory cell array' and all blocks are All-ground wear. It should also be appreciated that when using a non-volatile memory storage system, the threshold level of the memory unit may lose margins' thereby creating soft errors that are not easily (four). The non-volatile memory cell array can be continuously cleaned to maintain the memory cell; ', within the field margin. In the _take cleanup operation, the test memory is 疋: ': fixed, with its margin, and if not, it is overwritten with the appropriate margin. L body single sputum. In the write buffer block clear, the data stored in the write buffer: block is copied to another block. In the write buffer block compression:, compress the valid data stored in the write buffer block. It should also be understood that a write operation may fail when one of the areas of the array of memory cells (such as '-blocks) is lost. In the program error recovery 129496.doc 200847162, the failure will be λ 4W ^ Copy to another valid data stored in this area before staying. Similarly, if the power loss occurs during a write operation to an area of the non-volatile memory cell array, the write resume command is written. Copy the valid data written before the power loss to another location. At 272, 'schedule-memory operates to respond to the event line. One event in the non-volatile memory storage system can trigger one Memory operation. An event may be the satisfaction of one (four) of the two-conditions in the non-volatile memory storage system, or a criterion, or one of the commands for the operation of the memory-memory operation. Examples of the event include the host receiving the trigger—the data of the closed block of the update block, the detection of a stylized failure in the update block, and the detection of the write abort of the write abort recovery in a block. , meet the criteria of the re-new building system block, meet the criteria for homogenization of the product, meet the trigger control block (for example, write buffer block, map block, index block, write The criteria for dust shrinking of buffer block index blocks 'and other control blocks' (for example, the amount of space remaining in the control block), and other events. Events that trigger memory operations and non-volatile memory storage systems Depending on the state, 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, it is non-volatile. The memory storage system can schedule the memory operation triggered by the data to be executed after the data is written. In another example, if the non-volatile memory storage system is not busy, the memory can be scheduled to be received. Operation for immediate execution. 129496.doc 200847162 Body operation for execution, stored in the column at 274. The column can be stored in non-volatile memory: multiple memory in the system In the area For example, as explained in more detail below, 'can be spanned by one or more sections, pages or columns. If the queue is stored in non-wing, Ί = sub-indicated by Ding Kai, 丨王圯In the case of a pure non-volatile memory storage system, the heart is lost and stored in the 2* U body operation. Initializing the non-volatile memory storage system
%,將非揮發性記憶體儲存系統設為—初始狀態。在非揮 们生記憶體儲存系統與主機分離且㈣重新連接至主機 時:或在非揮發性記憶體儲存系統自該主機接收—重設命 令時’在功率循環之情況下,可發生非揮發性記憶體儲存 糸統之初始化。 圖3為記憶體單元陣列成為平面之組織的簡化方塊圖。 如上所述,該仵列可儲存於非揮發性記憶體儲存系統内之 夕種圮fe體區域中。請注意,可將一或多個記憶體單元陣 列刀成夕個平面或子陣列。在圖3之實例中,㉟一記憶體 單元陣列分成四個平面2〇2至2〇5。其他數目之平面(諸 4 $、16或更多)可存在於一非揮發性記憶體 儲存系統中。可將每一平面2〇2、2〇3、2〇4或2〇5分成記憶 體單元之區塊’諸如,位於各別平面2〇2至205中之區塊 210至213及220至223。記憶體單元之一區塊為實體上可一 起擦除之最小數目的記憶體單元。為增加並行性,可在較 大兀區塊單元中操作區塊,其中將來自每一平面2〇2、 203、204或205之一區塊邏輯上鏈接在一起以形成一元區 129496.doc •12- 200847162 A牛例而ϋ ,可將四個區塊21〇至213邏輯 以形成一元區璜。士从^ 斗上鍵接在起 各別 J =,用於形成元區塊之區塊可來自其 言,可將來白 至2〇5)内之各個位置。舉例而 、自各別平面202至205内之各個位置的 220至223邏輯上錄技乂 ^ 罝妁四個&塊 可延展越過非揮發性 品 面2〇2 皁^生5己丨思體儲存糸統内之所有四個邏輯平 $至205,或非揮發性記憶體儲存系統可由一或多個不 5平面中之—或多個區塊動態地形成元區塊。%, set the non-volatile memory storage system to the initial state. When the non-volatile memory storage system is separated from the host and (4) reconnected to the host: or when the non-volatile memory storage system receives from the host - reset command 'in the case of power cycling, non-volatile Initialization of the memory storage system. Figure 3 is a simplified block diagram of the organization of the memory cell array as a plane. As noted above, the array can be stored in the area of the femoral body within the non-volatile memory storage system. Note that one or more memory cell arrays can be spliced into a single plane or sub-array. In the example of Fig. 3, the 35-memory cell array is divided into four planes 2〇2 to 2〇5. Other numbers of planes (4, 16, or more) may be present in a non-volatile memory storage system. Each plane 2〇2, 2〇3, 2〇4 or 2〇5 can be divided into blocks of memory cells such as blocks 210 to 213 and 220 to 223 located in respective planes 2〇2 to 205. . 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 block units, where blocks from each plane 2〇2, 203, 204, or 205 are logically linked together to form a unitary area 129496.doc • 12- 200847162 A cattle case, you can turn the four blocks 21 to 213 logic to form a one-dimensional zone. From the ^ bucket button to the respective J =, the block used to form the metablock can come from its words, and can be white to 2〇5). For example, 220 to 223 logically recorded from each position in the respective planes 202 to 205. The four & blocks can be extended over the non-volatile surface 2〇2 Soap 5 丨 丨 丨 储存 储存All four logic levels in the system are $ to 205, or the non-volatile memory storage system can dynamically form metablocks from one or more of the non-5 planes.
山工、幻中°亥4丁列儲存於一或多個區塊中。舉例而 ;。该仔列可儲存於-控制區塊(諸如,寫入緩衝區塊) 。该寫入緩衝區塊維持於非揮發性記憶體單元陣列中。 ’該寫人緩衝區塊將所接收到之資料緩衝於非揮發 叫己U體儲存系統中。該寫入緩衝區塊充當一臨時緩衝 口為寫入至寫入緩衝區塊之資料稍後被複製至另一區 塊。遠寫入緩衝區塊可橫跨多個邏輯位址。舉例而言,該 寫入緩衝區塊可橫跨整個邏輯位址空間。藉由橫跨整個邏 輯位址空間’該寫入緩衝區塊可儲存將要寫入至遍及非揮 t丨生。己fe體儲存系統的所有邏輯位址及邏輯位址之所有群 "即,所有邏輯群)的資料。換言之,與不同邏輯群相關 、資料了儲存於該寫入緩衝區塊中。請注意,一邏輯群 為具有可等於一元區塊之大小的大小的一群邏輯位址。控 制區塊之第二實例為索引區塊。大體上,索引區塊儲存用 於存取非揮發性記憶體儲存系統内之各個區塊的索引資 兮私 0 — ° °京弓丨資訊可(例如)包括關於各種類型之區塊之有效複 129496.doc -13- 200847162 本的位置的資訊。控制區塊之第三實例為映射區塊。映射 區塊儲存非揮發性記憶體儲存系統中之區塊的映射及指示 疋否擦除每一區塊的資訊。舉例而言,映射區塊可儲存已 擦除區塊之一列位址。控制區塊之第四實例為開機啟動 (boot)區塊。開機啟動區塊儲存映射區塊之當前位址。換 言之,開機啟動區塊儲存對映射區塊之指標。因此,在重 定位映射區塊時,更新儲存於開機啟動區塊中之映射區塊 的當前位址。開機啟動區塊可位於第一可用元區塊中。控 制區塊之第五實例為高速暫存區塊。應瞭解,高速暫存區 塊為資料更新區塊之一形式,其中可以隨機次序及以任何 量之重複來更新邏輯區段。高速暫存區塊藉由寫入命令來 建立,其中所欲邏輯區段不端接或越過一實體頁邊界。由 於非揮發性記憶體儲存系統可能不能夠程式化部分頁,所 以一頁之區段可臨時儲存於高速暫存區塊中。非揮發性記 憶體儲存系統將該頁之區段聚積於高速暫存區塊中,直至 該頁之所有區段填充有來自各種寫入命令之新資料為止。 非揮發性記憶體儲存系統接著在一程式操作中將來自高速 暫存區塊之整個頁(例如,八個區段之新資料)複製至另一 區塊(諸如,更新區塊)。 圖4為記憶體單元之頁的簡化方塊圖。可將每一區塊(諸 如,區塊210至213)進一步分成記憶體單元之頁。結果, 符列可覆蓋記憶體單元之一或多個頁。如圖4所示,將每 區塊210、211、212或213分成八個頁p〇至p7。或者,在 母一區塊210、211、212或213内可存在16個、32個,或更 129496.doc -14 - 200847162 夕的口己L體單元之頁。為增加非揮發性記憶體儲存系統之 操作並α性’可將兩個或兩個以上區塊内的頁邏輯上鍵接 成元頁。例如,一元頁可由一頁(諸如,P1)形成、由四個 區塊21G至213中之每-者形成。—元頁可延展越過非揮發 性§己憶體儲存系绩內> %i I 〇·、 , 死内之所有千面,或非揮發性記憶體儲存 系統可由-或多個不同平面中之一或多個獨立區塊中之一 或多個頁動態地形成元頁。 圖5為記憶體單元之區段的簡化方塊圖。可將一頁進一 v刀成4夕個區段。結果’佇列可覆蓋記憶體單元之一 或多個區段。每一頁中之資料量可為整數個一或多個區段 資料/、中母區段可儲存512個位元組之資料。圖5展 示分成兩個區段502及504之頁5CU。每-區段5〇2或50恃 有大小可為512個位元組之資料5〇6及與該資料相關聯之附 加項資料奶。附加項資料奶之大小可為立元組且可 儲存(例如)在程式化期間由資料506計算出之ECC、盘該資 料相關聯之邏輯位址、已擦除及重新程式化區塊之次數的 計數、控制旗標、操作電|位準,及與該㈣相關聯之其 他資訊。 圖6為根據本發明之—實施例的儲存記憶體操作及與記 憶體操作相關聯之優先級於仔列中的操作之總體概觀的流 程圖。開始於602處,提供一广列 0 致供仔列,且该佇列經組態以儲 存記憶體操作及與該等記憶體操作相關聯之優先級。回應 於一事件,排程-記憶體操作以用於在6〇4處執行,且在 6〇6處將-優先級指派給該記憶體操作。藉由將—優先級 129496.doc -15- 200847162 指派給每一記憶體操作’可排程某些記憶體操作以用於在 其他記憶體操作之前執行。可為不同記憶體操作指派不同 優先級。舉例而言’該等優先級可為兩級高或低優先級。 在另一實例中,該等優先級可包括下表A所示之多個級 _ 另 *J 〇 描述 優先級 Μ〇〇,' ,Ό2” "05, 3或擦除操作麟或在後台操作(在主機閒置週期期間=記j尨 1青除寫入緩衝區塊項。 ~— ----- β除來自寫入緩衝區--- 記憶體 作。排 清注意,在表Α中,具有低優先級 記憶體操作將經排程以用於在具有 ,」、,)< ”〇6”)之記憶體操作之前執行。 '•及數子(例如, 可基於-或多個參數來預定或計算 若非揮發性記憶體儲存系統可校正 元^4 ’ (ECC)且存在七個位元之錯誤 %之錯誤校正瑪 正錯誤之記憶體操作。缺而,若存將向優先級指派给技 個以之錯誤 129496.doc -16· 200847162 可將低優先級指派給校正錯誤之記憶錢作實施例 :’可基於記憶體操作之類型(例如,磨損均句化、讀取 处里廢棄項目收集及其他類型之記憶體操作)來將 優先級指派給記憶體操作。換言之,優先級可表示成 優先級==/(記憶體操作之類型)The mountain work and the illusion are 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. The writer buffer block buffers the received data in a non-volatile U-body storage system. The write buffer block acts as a temporary buffer for the data written to the write buffer block to be later copied to another block. A far write buffer block can span multiple logical addresses. For example, the write buffer block can span the entire logical address space. By writing across the entire logical address space, the write buffer block can be stored to be written to the non-sweep. All the logical addresses of the system and all the groups of the logical addresses "that is, all logical groups). In other words, data associated with different logical groups is 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 second instance of the control block is an index block. In general, the index block stores index information for accessing various blocks in the non-volatile memory storage system. The information may, for example, include an effective complex for various types of blocks. 129496.doc -13- 200847162 Information about the location of this location. 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 the information of each block is erased. 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. In other words, the boot-up block stores the metrics for the mapped block. Therefore, when the mapping block is relocated, the current address of the mapping block stored in the booting block is updated. 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 a partial page, a section of a page may be temporarily stored in the scratch pad block. The non-volatile memory storage system accumulates the segments of the page in the scratch pad block until all segments of the page are populated 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 213) can be further divided into pages of memory cells. As a result, the array 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 p to p7. Alternatively, there may be a page of 16, 32, or 129496.doc -14 - 200847162 in the parent block 210, 211, 212 or 213. To increase the operation of the non-volatile memory storage system and alphaness, pages within two or more blocks can be logically keyed into a metapage. For example, a unitary page may be formed by one page (such as P1) and formed by each of the four blocks 21G to 213. - The metapage can be extended beyond the non-volatile § memory storage system > %i I 〇·, , all the thousands of faces in the dead, or the non-volatile memory storage system can be - or in multiple different planes One or more of the one or more independent blocks dynamically form a metapage. Figure 5 is a simplified block diagram of a section of a memory cell. You can put a page into a v-cut into a 4th-segment section. The result '伫 column 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 sections of data /, the middle section can store 512 bytes of data. Figure 5 shows a page 5CU divided into two sections 502 and 504. Each section is 5〇2 or 50恃 There are information on the size of 512 bytes, 5〇6, and additional information related to this data. The size of the additional item milk can be a triad and can store, for example, the ECC calculated from the data 506 during the stylization, the logical address associated with the data, the number of erased and reprogrammed blocks. Count, control flag, operating power | level, and other information associated with the (d). Figure 6 is a flow diagram of a general overview of memory memory operations and operations associated with memory cell operations in accordance with an embodiment of the present invention. Beginning at 602, a wide list is provided, and the queue is configured to store memory operations and priorities associated with the memory operations. In response to an event, the schedule-memory operation is performed at 6〇4, and the priority is assigned to the memory operation at 6〇6. Some memory operations can be scheduled for execution by other memory operations by assigning - priority 129496.doc -15-200847162 to each memory operation. Different memory operations can be assigned different priorities. For example, the priorities may be two levels of high or low priority. In another example, the priorities may include multiple levels as shown in Table A below. _ Another *J 〇 describes the priority Μ〇〇, ', Ό 2" "05, 3 or erase operation lin or in the background Operation (during the idle period of the host = remember to write the buffer block item. ~— ----- β except from the write buffer --- memory. Clear the note, in the table The operation with low priority memory will be scheduled for execution before the memory operation with ",,,) < "〇6"). '• and a number (for example, a non-volatile memory storage system correctable element ^4 ' (ECC) can be predetermined or calculated based on - or more parameters and there is an error correction error of seven bits. The memory operation. In the absence, if the priority will be assigned to the priority of the error 129496.doc -16· 200847162 can assign the low priority to the memory of the correction error as an example: 'can be based on memory operation The type (eg, wear-and-sequence, obsolete item collection at the read location, and other types of memory operations) to assign priorities to memory operations. In other words, priority can be expressed as priority ==/ (memory Type of operation)
其中優先級為記憶體操作之類型的函數。舉例而言,一磨 化記憶麟作可指派有或指定成—低優先級。在另 只施例巾’可基於觸發記憶輯作之事件的類型來將優 先級指派給記憶體操作。換言之,優线可表示成 優先級=/(事件之類型) 其中優先級為觸發記憶體操作之事件的類型之函數。一實 J Ί 括將中度優先級指派給由更新區塊中之失敗觸發 的記憶體操作。另一方面,彳向由寫入中止復原觸發之記 憶體操作指派-高優先級。在又一實施例中H級可基 於a fe體操作之類型與觸發記憶體操作之事件之類型的組 合。換言之,優先級可表示成 優先級=/(記憶體操作之類型,事件之類型) 其中優先級為記憶體操作之類型及觸發記憶體操作之事件 之類型的函數。 在將優先級指派給記憶體操作後,在608處將記憶體操 作及優先級儲存於佇列中。此處,該佇列可包括用於記憶 體操作之項、與記憶體操作相關聯之優先級,及與記憶體 操作相關聯之其他資訊,諸如,區塊數目、區段位置、頁 129496.doc -17、 200847162 位置、计數、一區塊内之特定區段,及其他資訊。 仍多看圖6 ’接著在61 〇處執行記憶體操作。應瞭解,可 月b不;^全執行記憶體操作,因為(例如)未分配足夠時間以 凡王地執行記憶體操作。因此,可使記憶體操作之執行延 遲。在一實施例中,如612處所示,執行進程可儲存於佇 列中。執行進程指示已完成之記憶體操作的量。執行進程 ^括與C憶體操作之執行的進度有關的多種資訊。此資訊 可包括執行之點、狀態或階段。舉例而言,所複製之區 ,頁及/或區段的數目,在執行可定相至預定級(例如, 韌體升級之第一、第二或第三級)時記憶體操作之各個級 或階段,及其他資訊。根據儲存於佇列中之執行進程,可 部分地執行記憶體操作。在稍後時間,即使在記憶體操作 段的執行之間發生功率循環’亦可在完成之前再 繼續記憶體操作之執行。 ❿The function whose priority is the type of memory operation. For example, a grinding memory can be assigned or assigned to - low priority. In the other embodiment, the priority can be assigned to the memory operation based on the type of event that triggers the memory compilation. In other words, the priority line can be expressed as priority = / (type of event) where priority is a function of the type of event that triggers the memory operation. A real J assigns a medium priority to a memory operation triggered by a failure in the update block. On the other hand, it is assigned to the high-priority of the memory operation triggered by the write abort recovery. In yet another embodiment, the H level can be based on a combination of the type of a fe operation and the type of event that triggers the memory operation. In other words, the priority can be expressed as priority = / (type of memory operation, type of event) where priority is a function of 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 -17, 200847162 Location, count, specific sections within a block, and other information. Still look at Figure 6' and then perform the memory operation at 61 。. It should be understood that the memory operation may be performed in full, because (for example) no sufficient time is allocated to perform the memory operation. Therefore, the execution of the memory operation can be delayed. In an embodiment, as shown at 612, the execution process can be stored in a queue. The execution process indicates the amount of memory operations that have been completed. The execution process includes a variety of information related to the progress of the execution of the C memory operation. This information can include the point, status, or stage of execution. For example, the number of replicated regions, pages, and/or segments, at various levels of memory operations when performing phasing to a predetermined level (eg, the first, second, or third level of firmware upgrade) Or stage, 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 the execution of the memory segment, the execution of the memory operation can be resumed before completion. ❿
=為根據本發明之—實施例的自㈣讀取記憶體操作 之刼作之總體概觀的流程圖。開始於7〇2處,提供一 列。如上所述,經排程以待執行之記憶體操作相丁 之優先級及/或執行進程館存於該传列中。在7〇6處;= ❹讀取記憶體操作。在初始切揮發性㈣ I 知,可自該仔列讀取非揮發性記憶體儲存系統 = 性記憶體系統不忙於執行其他記憶體操作時,亦可自二! 列讀取非揮發性記憶體料系統。舉例而言,主機允= :定量之時間:意即,—逾時週期)來執行'寫: 例而言,安全數位協定將該時間量限於25〇毫 料 129496.doc 18- 200847162 於該逾時週期。此過剩之時間量(竟 寫入操作之時間量之間的差)可由非 於執行儲存於該佇列中之記憶體操 , 、 卜,在708處自該佇列讀取盥記f咅俨握你 相關聯之優先級 …取,、礼體刼作 ,α 牡Μϋ處’亦可自該佇列讀取與記恃夢 刼作相關聯之執杆推妒如 /…己^體 . 桎。在712處,接著排程一特定記_= is a flow chart of a general overview of the operation of the (four) read memory operation in accordance with an embodiment of the present invention. Start at 7〇2 and provide a column. As described above, the priority of the memory operation to be executed and/or the execution process are scheduled in the hash. At 7〇6; = ❹ read memory operation. In the initial cut volatility (4) I know that the non-volatile memory storage system can be read from the list. = The sexual memory system is not busy performing other memory operations, but also from the second! The column reads the non-volatile memory material system. For example, the host allows =: Quantitative time: meaning, - timeout period to perform 'write: For example, the secure digital agreement limits the amount of time to 25 〇 129496.doc 18- 200847162 Time period. The excess amount of time (the difference between the amount of time written into the operation) may be performed by the memory gymnastics stored in the queue, and at 708, the reading is performed from the queue. Your associated priority...take, ritual, alpha oysters can also be read from the 伫 与 与 与 恃 恃 恃 相关 相关 相关 相关 相关 相关 相关 相关 相关 相关 相关 相关 相关 ... ... ... ... .... At 712, then schedule a specific record _
體刼作以用於執杆。户^ 竹疋忑 在一貝施例中,可基於優先級來排程 。己〖思體細作以用於執行。 丁視執仃進轾而疋,記憶體操 古,仃可為自較早時間開始之執行的再繼續。舉例而 在Λ〜例中,執行進程經組態以定義-執行點。該 執行點為記情强IU ^ νΛ ⑶呆作之别-執行結束時。可自該執行點開 :執仃記憶體操作。換言之,可自該執行點㈣再繼續吃 ^操作之執行。可部分地執行或完全地執行記憶體摔The body is used for the stick. Household ^ Bamboo 疋忑 In a case, it can be scheduled based on priority. It has been carefully designed for execution. Ding Shi insisted on entering and smashing, memory gymnastics, ancient, can be continued since the beginning of the implementation of the earlier. For example, in the example ~, the execution process is configured to define the - execution point. The execution point is a strong IU ^ ν Λ (3) and the end of the execution. It can be opened from this point of execution: the memory operation is performed. In other words, the execution of the operation can be continued from the execution point (4). Partially executed or completely executed memory
入操作之時間量可小 即,逾時週期與執行 揮發性記憶體系統用 作。 。右Ζ分地執行記憶體射,則將執行進程儲存於仔列 中,使侍在稍後時間可再繼續記憶體操作之執行。然而, 若^完全地執行記憶體操作,則可Μ宁列移除或刪:記憶 體操作。#著可根據優先級排帛來自肖列之下—記憶體操 作以用於執行。 雖然已為達成理解之清楚的目的而稍詳細地描述前述實 施例,但該等實施例不限於所提供之細節。存在實施該等 實施例之許多替代方式。因此,所揭示之實施例將被視為 說明性且非限制性的,且該等實施例不限於本文所提供之 細節,而是可在所附申請專利範圍之範疇及等效物内進行 1294%. dOC -19- 200847162 修改。在申請專利範圍中, 宏 _ 、 叫專利範圍中明確地規 & H件及/或操作不暗示任何 【圖式簡單說明】 、呆作-人序。 圖1為根據本發明之一實 ^ %例的非揮發性記憶體儲存系 統之一實例的簡化方塊圖。 圖2為根據本發明之一 由々貝施例的儲存記憶體操作於佇列 甲之刼作的總體概觀之流程圖。The amount of time to enter the operation can be small, that is, the timeout period is used to execute the volatile memory system. . The right side performs the memory shot, and the execution process is stored in the queue so that the waiter can resume the execution of the memory operation at a later time. However, if the memory operation is completely performed, the column can be removed or deleted: the memory operation. #着可排根据 According to the priority level, it is from Xiao Lie - Memory Gymnastics for execution. Although the foregoing embodiments have been described in some detail for the purpose of clarity of understanding, the embodiments are not limited to the details provided. There are many alternative ways of implementing these embodiments. Therefore, the disclosed embodiments are to be considered as illustrative and not limiting, and the embodiments are not limited to the details provided herein %. dOC -19- 200847162 Modified. In the scope of patent application, the macro _, the scope of the patent, and the H and/or operation do not imply any [simplified description], stay-person order. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a simplified block diagram of one example of a non-volatile memory storage system in accordance with one embodiment of the present invention. Figure 2 is a flow diagram of a general overview of the operation of a memory memory operated by a mussel in accordance with one embodiment of the present invention.
圖3為記憶體單元陣列成為平面之組織的簡化方塊圖。 圖4為記憶體單元之頁的簡化方塊圖。 圖5為記憶體單元之區段的簡化方塊圖。 二。為根據本發明之一實施例的儲存記憶體操作及與記 —桑作相關聯之優先級於符列中的操作之總體概 程圖。 :為根據本發明之一實施例的自佇列讀取記憶體操作 操作之總體概觀的流程圖。 【主要元件符號說明】 102 104 106 108 110 112 114 116 非揮發性記憶體儲存系統 主機介面 處理器 έ己憶體介面 記憶體控制器 隨機存取記憶體(RAM) 錯誤校正碼(ECC)電路 唯讀記憶體(ROM) ^9496.d〇c -20- 200847162Figure 3 is a simplified block diagram of the organization of the memory cell array as a plane. 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. two. A general overview of the operation of storing memory and the operations associated with the recording in accordance with an embodiment of the present invention. : Flowchart for a general overview of a self-aligned read memory operation operation in accordance with an embodiment of the present invention. [Major component symbol description] 102 104 106 108 110 112 114 116 Non-volatile memory storage system host interface processor έ memory interface controller random access memory (RAM) error correction code (ECC) circuit only Read Memory (ROM) ^9496.d〇c -20- 200847162
118 記憶體 120 陣列邏輯 122 非揮發性記憶體單元陣列 124 匯流排 126 系統匯流排 130 佇列 131 符列 202 平面 203 平面 204 平面 205 平面 210 區塊 211 區塊 212 區塊 213 區塊 220 區塊 221 區塊 222 區塊 223 區塊 501 頁 502 區段 504 區段 505 附加項資料 506 資料P0頁 129496.doc -21 - 200847162 P1 頁 P2 頁 P3 頁 P4 頁 - P5 頁 , P6 頁 P7 頁 129496.doc -22118 Memory 120 Array Logic 122 Non-volatile Memory Cell Array 124 Bus Bar 126 System Bus 130 伫 131 131 Array 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 129496.doc -21 - 200847162 P1 Page P2 Page P3 Page P4 Page - P5 Page, P6 Page P7 Page 129496. Doc -22
Claims (1)
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 true TW200847162A (en) | 2008-12-01 |
TWI380303B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI451435B (en) * | 2010-10-08 | 2014-09-01 | Phison Electronics Corp | Non-volatile memory storage apparatus, memory controller and data storage method |
TWI718635B (en) * | 2019-03-04 | 2021-02-11 | 慧榮科技股份有限公司 | Unbalanced plane management method, associated data storage device and controller thereof |
US11210005B2 (en) | 2019-03-04 | 2021-12-28 | Silicon Motion, Inc. | Unbalanced plane management method, associated data storage device and controller thereof |
Families Citing this family (4)
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 |
US10552045B2 (en) | 2016-11-16 | 2020-02-04 | Sandisk Technologies Llc | Storage operation queue |
CN111708495A (en) * | 2020-06-19 | 2020-09-25 | 深圳前海微众银行股份有限公司 | Annular queue storage method and device, computing equipment and storage medium |
Family Cites Families (2)
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 |
-
2008
- 2008-03-10 WO PCT/US2008/056418 patent/WO2008115720A1/en active Application Filing
- 2008-03-11 TW TW97108560A patent/TWI380303B/en not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI451435B (en) * | 2010-10-08 | 2014-09-01 | Phison Electronics Corp | Non-volatile memory storage apparatus, memory controller and data storage method |
TWI718635B (en) * | 2019-03-04 | 2021-02-11 | 慧榮科技股份有限公司 | Unbalanced plane management method, associated data storage device and controller thereof |
US11210005B2 (en) | 2019-03-04 | 2021-12-28 | Silicon Motion, Inc. | Unbalanced plane management method, associated data storage device and controller thereof |
TWI752784B (en) * | 2019-03-04 | 2022-01-11 | 慧榮科技股份有限公司 | Unbalanced plane management method, associated data storage device and controller thereof |
US11809723B2 (en) | 2019-03-04 | 2023-11-07 | Silicon Motion, Inc. | Unbalanced plane management method, associated data storage device and controller thereof |
Also Published As
Publication number | Publication date |
---|---|
TWI380303B (en) | 2012-12-21 |
WO2008115720A1 (en) | 2008-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI653533B (en) | Data storage device and method of operation thereof | |
US7441071B2 (en) | Memory systems for phased garbage collection using phased garbage collection block or scratch pad block as a buffer | |
US7444462B2 (en) | Methods for phased garbage collection using phased garbage collection block or scratch pad block as a buffer | |
US7987332B2 (en) | Methods for storing memory operations in a queue | |
US10802733B2 (en) | Methods and apparatus for configuring storage tiers within SSDs | |
TWI503822B (en) | Efficient buffering for a system having non-volatile memory | |
US7464216B2 (en) | Method for phased garbage collection with state indicators | |
US7444463B2 (en) | System for phased garbage collection with state indicators | |
TWI409633B (en) | Flash memory storage device, controller thereof, and method for programming data | |
JP4362549B1 (en) | Gradual garbage collection | |
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 | |
TWI399643B (en) | Flash memory storage system and controller and data writing method thereof | |
US20080235480A1 (en) | Systems for storing memory operations in a queue | |
JP7353934B2 (en) | Memory system and control method | |
TW200847162A (en) | Methods for storing memory operations in a queue | |
TW201227506A (en) | Controller and method for performing background operations | |
TW200928736A (en) | A controller for one type of NAND flash memory for emulating another type of NAND flash memory | |
TWI446349B (en) | Non-volatile memory access method and system, and non-volatile memory controller | |
JP2008524705A (en) | Scratch pad block | |
US20080162787A1 (en) | System for block relinking | |
TW201706848A (en) | Valid data merging method, memory controller and memory storage apparatus | |
TW201111987A (en) | Memory system | |
US8914587B2 (en) | Multi-threaded memory operation using block write interruption after a number or threshold of pages have been written in order to service another request | |
CN114063893A (en) | Data storage device and data processing method | |
TWI540428B (en) | Data writing method, memory controller and memory storage apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |