TW200915072A - Managing housekeeping operations in flash memory - Google Patents

Managing housekeeping operations in flash memory Download PDF

Info

Publication number
TW200915072A
TW200915072A TW97119213A TW97119213A TW200915072A TW 200915072 A TW200915072 A TW 200915072A TW 97119213 A TW97119213 A TW 97119213A TW 97119213 A TW97119213 A TW 97119213A TW 200915072 A TW200915072 A TW 200915072A
Authority
TW
Taiwan
Prior art keywords
host
data
memory
command
memory system
Prior art date
Application number
TW97119213A
Other languages
Chinese (zh)
Inventor
Sergey Anatolievich Gorobets
Original Assignee
Sandisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/753,463 external-priority patent/US20080294813A1/en
Priority claimed from US11/753,491 external-priority patent/US20080294814A1/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200915072A publication Critical patent/TW200915072A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

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

Abstract

A flash re-programmable, non-volatile memory system is operated to disable foreground execution of housekeeping operations, such as wear leveling and data scrub, in the when operation of the host would be excessively slowed as a result. One or more characteristics of patterns of activity of the host are monitored by the memory system in order to determine when housekeeping operations may be performed without significantly degrading the performance of the memory system, particularly during writing of data from the host into the memory.

Description

200915072 九、發明說明: 【發明所屬之技術領域】 本發明大體而言係關於非揮發性快閃記憶系統之操作, 且更具體言之係關於在此等記憶系統中進行例行操作(諸 如磨損調平及資料清除)之技術。 【先前技術】 存在當今正使用的許多商業上成功之非揮發性記憶體產 品(尤其係呈較小形狀因數之可移除式卡或嵌入式模組的 形式),其使用形成於一或多個積體電路晶片上之快閃電 可抹可程式化唯讀記憶體(EEPR0M)單元之陣列。一記憶 體控制器(通常(但不必)位於一獨立之積體電路晶片上)被 包括於該記憶系統中以與該系統所連接至之一主機介接且 控制該卡内之記憶體陣列的操作。此控制器通常包括—微 處理器、某一非揮發性唯讀記憶體(ROM)、一揮發性隨機 存取s己憶體(RAM)及一或多個專用電路(諸如當資料在資料 之程式化及讀取期間通過控制器時自資料計算一錯誤校正 碼(ECC)的專用電路)。其他記憶卡及嵌入式模組並不包括 此控制器,而是其所連接至之主機包括提供控制器功能之 軟體。呈卡之形式的記憶系統包括一與一位於主機外部之 插孔配合的連接器。另—方面,並不意欲移除嵌入於主機 内之記憶系統。 包括控制器之一些市售記憶卡以以下商標來出售: CompactFlash(CF) > MultiMedia(MMC) ' Secure Digital(SD) ^ MmiSD、Mlcr〇SD及TransFlash。不包括控制器之記憶系 131567.doc 200915072 統之一實例係SmartMedia卡。所有此等卡皆可自SanDisk Corporation(其受讓者)獲得。此等卡令之每一者與其可移 除地連接至之主機設備具有一機械及電介面。另一類小 型、手持式快閃記憶設備包括經由標準通用串列匯流排 (USB)連接器而與主機介接的快閃驅動器。 Corporation在其Cruzer商標下提供此等設備。用於記憶卡 之主機包括個人電腦、筆記型電腦、個人數位助理 《 (PE>A)、各種資料通信設備、數位相機、蜂巢式電話、攜 帶型音訊播放器、汽車音響系統及類似類型之裝備。快閃 驅動器與具有USB插孔之任何主機(諸如個人電腦及筆記型 電腦)一起工作。 兩種通用記憶體單元陣列架構(反或(N〇R)及反及 (NAND))具有商業應用。在一典型N〇R陣列中,記憶體單 元連接於在行方向上延伸之鄰近位元線源極擴散區與汲極 擴散區之間,其中控制閘極連接至沿單元之列延伸之字 〇 線。一記憶體單元包括至少一儲存元件,其定位於處於源 極與汲極之間的單元通道區域之至少一部分上。該等儲存 兀件上之電荷的程式化位準因此控制該等單元之操作特 . 性,可接著藉由將適當電壓施加至定址之記憶體單元來讀 • 取該操作特性。在美國專利第5,070,032號、第5,095,344 號、第 5,313,421號、第 5,315,541號、第 5,343,〇63號、第 5,661,053號及第6,222,762號中給出了此等單元之實例、其 在記憶系統中之使用及其製造方法。 NAND陣列利用具有兩個以上記憶體單元(諸如,16個或 131567.doc 200915072 32個)的串聯串,言玄等記憶體單元與一或多個選擇電晶體 起連接於個別位元線與一參考電位之間以形成單元之 行子、線延伸跨越大量此等行内之單元。在程式化期間, 订内之個別單%藉由使該串巾之剩餘單元穩定接通以使 得流經—串之電流視儲存妓址之單S中之電荷的位準而 被讀取並驗證。可在美國專利第5,57〇,315號、第5,774,397 號第 6,046,935 號、第 6,373,746號、第 6,456,528號、第200915072 IX. INSTRUCTIONS: TECHNICAL FIELD OF THE INVENTION The present invention relates generally to the operation of non-volatile flash memory systems, and more particularly to routine operations (such as wear and tear) in such memory systems. The technique of leveling and data removal). [Prior Art] There are many commercially successful non-volatile memory products in use today (especially in the form of removable cards or embedded modules of smaller form factor), the use of which is formed in one or more Fast lightning on an integrated circuit chip can erase an array of programmable read only memory (EEPR0M) cells. A memory controller (usually (but not necessarily) located on a separate integrated circuit chip) is included in the memory system to interface with a host to which the system is coupled and to control the memory array within the card operating. The controller typically includes a microprocessor, a non-volatile read-only memory (ROM), a volatile random access memory (RAM), and one or more dedicated circuits (such as when the data is in the data) A special circuit for calculating an error correction code (ECC) from the data when stylizing and reading through the controller. Other memory cards and embedded modules do not include this controller, but the host to which it is connected includes software that provides controller functionality. The memory system in the form of a card includes a connector that mates with a receptacle external to the host. On the other hand, it is not intended to remove the memory system embedded in the host. Some commercially available memory cards, including controllers, are sold under the following trademarks: CompactFlash(CF) > MultiMedia(MMC) 'Secure Digital(SD)^ MmiSD, Mlcr〇SD and TransFlash. Does not include the memory system of the controller 131567.doc 200915072 One example is a SmartMedia card. All such cards are available from SanDisk Corporation (the transferee). Each of these cards has a mechanical and electrical interface with the host device to which it is removably connected. Another type of small, handheld flash memory device includes a flash drive that interfaces to a host via a standard universal serial bus (USB) connector. Corporation provides such equipment under its Cruzer trademark. Hosts for memory cards include personal computers, notebook computers, personal digital assistants (PE>A), various data communication devices, digital cameras, cellular phones, portable audio players, car audio systems, and similar types of equipment. . The flash drive works with any host that has a USB jack, such as a personal computer and a notebook. Two general purpose memory cell array architectures (reverse (N〇R) and inverse (NAND)) have commercial applications. In a typical N〇R array, the memory cell is connected between the adjacent bit line source diffusion region and the drain diffusion region extending in the row direction, wherein the control gate is connected to the word line extending along the column of cells . A memory cell includes at least one storage element positioned on at least a portion of the cell channel region between the source and the drain. The stylized levels of the charge on the memory elements thus control the operational characteristics of the cells, which can then be read by applying an appropriate voltage to the addressed memory cells. Examples of such units, which are in a memory system, are given in U.S. Patent Nos. 5,070,032, 5,095,344, 5,313,421, 5,315,541, 5,343, 〇63, 5,661, 053, and 6,222,762. Use and its manufacturing method. The NAND array utilizes a series string having two or more memory cells (such as 16 or 131567.doc 200915072 32), and the memory cells and one or more selection transistors are connected to the individual bit lines and one The reference potentials form a row of cells, and the lines extend across a large number of cells within the rows. During the stylization, the individual orders in the order are read and verified by causing the remaining cells of the string to be stably turned on so that the current flowing through the string is read according to the level of the charge in the single S of the storage address. . U.S. Patent Nos. 5,57,315, 5,774,397, 6,046,935, 6,373,746, 6,456,528,

6’522,580唬、第 6,771,536號及第 6,781,877號中找到 架構陣列之實例及其作為記憶系統之部分的操作。 如在先4參考之專利中所論述,冑前快閃EEpR〇M陣列 之電荷儲存元件係最常用之導電性浮動閘極,其通常由導 電掺雜之夕晶石夕材料形成。可用於快閃eepr〇m系統中之 #代類型的6己憶體單元利用一非導電性介電材料來代替 導電性浮動閘極以便以非揮發之方式來儲存電荷…由氧 化石夕、氮切及氧切(咖)形成之三層式介電質夹於一 導電性控制閘極與位於記憶體單元通道上方的半導電性基 板之表面之間。該單元藉由將電子自單元通道注入氮㈣ (電子被截獲於該氮化物中並儲存於—有限區域中)中而被 程式化並藉由將熱電洞注入氮化物中而被抹除。在美國專 利第6’925’0G7號中描述了使用介電儲存元件之若干特定 元結構及陣列。 如在歲乎所有積體電路應用中,快間EEPROM記憶體單 凡陣列亦存在縮小實施某—積體f路功能所需切基板面 積的壓力。持續需要增加可儲存於⑯基板之給定區域中之 131567.doc 200915072Examples of architectural arrays and their operation as part of a memory system are found in 6'522, 580, 6, 771, 536, and 6,781, 877. As discussed in the prior referenced patent, the charge storage element of the flash front EEpR(R) M array is the most commonly used conductive floating gate, which is typically formed of a conductively doped smectite material. The 6-replica unit of the #代型 type that can be used in the flashing eepr〇m system uses a non-conductive dielectric material instead of the conductive floating gate to store the charge in a non-volatile manner...from oxidized oxide, nitrogen The three-layer dielectric formed by cutting and oxygen cutting is sandwiched between a conductive control gate and a surface of the semiconductive substrate located above the memory cell channel. The cell is programmed by injecting electrons from the cell channel into the nitrogen (tetra) (the electrons are trapped in the nitride and stored in a finite region) and is erased by injecting a thermoelectric hole into the nitride. Several specific element structures and arrays using dielectric storage elements are described in U.S. Patent No. 6,925,0G7. For example, in all integrated circuit applications, the fast EEPROM memory array also has the pressure to reduce the area of the substrate required to implement the function of the integrated body. Continued need to increase the storage area that can be stored in a given area of 16 substrates.

數位資料的量,以便增加給定大小之記憶卡及其他類型之 封裝的儲存容量或增加容量及降低大小。一種用以增加資 料之儲存密度的方式係每記憶體單元及/或每儲存單元或 元件儲存一個以上貧料位元。此係藉由將儲存元件電荷位 準電壓範圍窗劃分為兩個以上之狀態來實現。使用四個此 等狀態允許每―單元儲存兩個資料位元,a個狀態允許每 儲存元件儲存三個資料位元,等等。在美國專利第 5,〇43,9峨及第5,172,338號巾描述了使料動閘極之多狀 態快閃EEPR〇M結構及其操作,且在上文所提及之美國專 利第M25,G()7號中描述了使用介電浮動間極之結構。亦可 出於各種原因而以美國專利第5,93〇,167號及第M56,528號 :所描述之方式以兩個狀態(二元)來操作一多狀態記憶: 單元陣列之所選部分。 將一典型快閃EEPR0M陣列之記憶料元畫彳分為一同抹 除之單元的離散區塊。亦即,該區塊係抹除單位、可同時 抹除之最小數目之單元。每—區塊通常儲存—或多個資料 頁’頁係程式化及讀取之最小單位,但可在+同子陣列或 平面中並行程式化或讀取一個以上之頁。每一頁 -或多個資料區段,其中區段之大小由主機系統來界定。 -實例區段包括512個使用者資料位元組(遵循由磁碟機建 立之標準)加上某-數目之關於使用者f料及/或健存其之 區塊的附加資訊位元組。此等記憶體通常在每一區塊内缸 態有16個、32個或更多頁,且每―頁儲存一個或僅一些主 機資料區段。 131567.doc 200915072 為增加在將使用者資料程式化至記憶體陣列中及自其讀 取使用者資料期間的並行性程度,通常將該陣列劃分為若 干子陣列(通常稱作平面),該等子陣列含有其自身之資料 暫存器及其他電路以允許並行操作,使得可將若干資料區 段同時程式化至若干或所有平面中之每一者或自若干或所 有平面中t每一者同時讀取若干資料區1。可冑單個積體 電路上之一陣列實體劃分為若干平面,或每一平面可由獨 立之一或多個積體電路晶片形成。在美國專利第5,798,968 號及第5,890,192號中描述了此記憶體實施之實例。 為進一步有效地管理記憶體,可將區塊鏈接在一起以形 成虛擬區塊或元區塊(metablock)。亦即,界定每一元區塊 以包括來自每一平面之一個區塊。在美國專利第6 763,424 號中描述了元區塊之使用。藉由自一邏輯區塊位址之轉譯 而將一元區塊之實體位址確定為一用於程式化及讀取資料 之目的地。類似地,可一同抹除一元區塊之所有區塊。藉 由此等大的區塊及/或元區塊來操作之記憶系統中的控制 器執行許多功能,包括在自主機接收之邏輯區塊位址 (LBA)與記憶體單元陣列内之實體區塊號碼(PBn)之間轉 譯。通常藉由區塊位址内之偏移來識別區塊内之個別頁。 位址轉譯通常涉及使用邏輯區塊號碼(LBN)及邏輯頁之中 間術語。 操作大區塊或元區塊系統而使一些額外區塊維持於—已 抹除區塊集區中係普遍的。當更新小於一區塊之容量的― 或多個資料頁時,典型做法係將該等經更新之頁寫人至__ 131567.doc 200915072 來自集區之已抹除區塊,且接著自原始區塊複製未改變頁 的資料以抹除集區區塊。在上文所提及之美國專利第 6,763,424號中描述了此技術之變化。隨著時間推移,由於 主機資料檔案被重寫並更新,所以許多區塊可最終具有其 相對較小數目之含有有效資料之頁及含有不再為當前資料 之資料的剩餘頁。為能夠有效地使用陣列之資料儲存容 量,有效資料之邏輯相關頁自多個區塊中之片段而不時地The amount of digital data is used to increase the storage capacity or increase the capacity and size of memory cards of other sizes and other types of packages. One way to increase the storage density of the data is to store more than one poor bit per memory unit and/or per storage unit or component. This is achieved by dividing the storage element charge level voltage range window into two or more states. Using four of these states allows two data bits to be stored per unit, one state allows three data bits to be stored per storage element, and so on. U.S. Patent No. 5, pp. 43, 9 and 5, 172, 338 describes a multi-state flash EEPR 〇M structure for operation of a feed gate and its operation, and the above-mentioned U.S. Patent No. M25 The structure using a dielectric floating interpole is described in G()7. A multi-state memory can also be operated in two states (binary) in the manner described in U.S. Patent Nos. 5,93,167 and M56,528 for various reasons: Selected portions of the cell array . The memory cell of a typical flash EEPR0M array is divided into discrete blocks of the same erased cell. That is, the block is the smallest number of units that can be erased at the same time. Each block is usually stored—or multiple pages. The page is the smallest unit of stylization and reading, but can be programmed or read more than one page in parallel in the same subarray or plane. Each page - or multiple data sections, where the size of the section is defined by the host system. - The instance section includes 512 user data bytes (following the standards established by the disk drive) plus a certain number of additional information bytes for the user's material and/or the block in which it is stored. These memories typically have 16, 32 or more pages in each block, and each page stores one or only a few host data segments. 131567.doc 200915072 To increase the degree of parallelism during the programming of user data into and from the memory array, the array is typically divided into sub-arrays (often referred to as planes), which The subarray contains its own data register and other circuitry to allow parallel operation such that several data sections can be simultaneously programmed into each of several or all planes or from each of several or all planes simultaneously Read several data areas 1. One of the array entities on a single integrated circuit can be divided into planes, or each plane can be formed by one or more integrated circuit wafers. An example of the implementation of this memory is described in U.S. Patent Nos. 5,798,968 and 5,890,192. To further efficiently manage memory, blocks can be linked together to form a virtual block or a metablock. That is, each metablock is defined to include one block from each plane. The use of metablocks is described in U.S. Patent No. 6,763,424. The physical address of the unary block is determined as a destination for stylizing and reading data by translation from a logical block address. Similarly, all blocks of a unitary block can be erased together. The controller in the memory system operated by such large blocks and/or metablocks performs a number of functions, including a logical block address (LBA) received from the host and a physical area within the memory cell array. Translation between block numbers (PBn). Individual pages within a block are typically identified by an offset within the block address. Address translation typically involves the use of logical block numbers (LBNs) and logical page inter-term terms. Operating a large block or metablock system while maintaining some extra blocks is common in the erased block set. When updating "or multiple pages" that are smaller than the capacity of a block, the typical practice is to write the updated page to __ 131567.doc 200915072 from the erased block of the pool, and then from the original The block copy does not change the data of the page to erase the block. Variations of this technique are described in U.S. Patent No. 6,763,424, incorporated herein by reference. Over time, as the host profile is rewritten and updated, many of the blocks may eventually have a relatively small number of pages containing valid data and the remaining pages containing material that is no longer current. In order to be able to effectively use the data storage capacity of the array, the logically relevant pages of valid data are from time to time in segments of multiple blocks.

聚集在一起’並被一同合併至更少數目之區塊中。通常將 此過程稱為"廢料收集"。 當一單個區塊或元區塊中之顯著量的資料變得過時時, 亦可壓縮該區塊内之資料。此涉及將區塊之剩餘有效資料 複製至一空白已抹除區塊中且接著抹除原始區塊。複製區 塊既而含有來自原始區塊之有效資料加上先前由過時資料 所佔據之已抹除儲存容量。亦通常以邏輯次序將有效資料 配置於該複製區塊内,藉此使資料之讀取更容易。 通常將用於記憶系統之操作的控制資料儲存於一或多個 保留區塊或元區塊t。此等控制資料包括操作 程式化及抹除電壓、檔案目錄資訊及區塊配置資訊)。與 在給定時間使控制器操作記憶系統所需之資訊一樣多的資 訊亦儲存於RAM中,且接著在更新時被寫回至㈣記憶Gather together' and are merged together into a smaller number of blocks. This process is often referred to as "waste collection". When a significant amount of data in a single block or metablock becomes obsolete, the data within the block can also be compressed. This involves copying the remaining valid data of the block into a blank erased block and then erasing the original block. The copy block contains valid data from the original block plus the erased storage capacity previously occupied by the obsolete data. It is also common to arrange valid data in the logical block in a logical order, thereby making data reading easier. Control data for the operation of the memory system is typically stored in one or more reserved blocks or metablocks t. Such control information includes operational stylization and erase voltage, file directory information and block configuration information). As much information as is required to have the controller operate the memory system at a given time is also stored in RAM and then written back to (4) memory during the update.

體。控制資料之頻繁更新導致伴留F 人啊等蚁保留&塊之頻繁壓縮及/或 廢料收集。若存在多個保留區塊,則 瓜⑴』Μ時觸發兩個或兩 個以上保留區塊之廢料收隼。Α _ 又杲马避免此耗時操作,在必要 之4及在保留區塊可由主機容納時時 娜今硐岈常地起始該等保留區 131567.doc -10· 200915072 塊之自主廢料收集。在美國專利申請公開案第 2005/0144365 A1號中描述了此等先占式資料再定位技 術。亦可在使用者資料更新區塊變得幾乎滿載時對其執行 廢料收# #等待直至其變冑完全滿載並藉此觸發—必 須在可將由主機提供之資料寫入至記憶體中之前立即實扩 之廢料收集操作。 & 在一些記憶系統中’實體記憶體單元亦被分組為兩個或 兩個以上之區。一區可為邏輯區塊位址之規定範圍所映射 至之實體記憶體或記憶系統的任何分割子集。舉例而言, 可將-能夠儲存64兆位元組之資料之記憶系統分割為二個 區,每個區儲存㈣位元組的資料。接著亦將邏輯區塊位 址之範圍劃分為四個群組,一個群組被指派給四個區中之 每-者的實體區塊。在一典型實施中,限制邏輯區塊位body. Frequent updates of control data result in frequent compression and/or waste collection of ant retention & If there are multiple reserved blocks, then the melon (1) Μ triggers the scrap collection of two or more reserved blocks. Α _ 杲 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免 避免Such preemptive data relocation techniques are described in U.S. Patent Application Publication No. 2005/0144365 A1. It can also be executed when the user data update block becomes almost full and waits until its change is fully loaded and triggered. It must be immediately before the data provided by the host can be written to the memory. Expanded waste collection operations. & In some memory systems, 'physical memory cells are also grouped into two or more regions. A region may be any partitioned subset of physical memory or memory system to which the specified range of logical block addresses is mapped. For example, a memory system capable of storing 64 megabytes of data can be divided into two regions, each of which stores (four) bytes of data. The range of logical block addresses is then also divided into four groups, one group being assigned to the physical block of each of the four areas. In a typical implementation, limiting the logic block bits

址,使得每一者之資料不會被寫入至該等邏輯區塊位址所 映射至之一單個實體區的外部。在一劃分為若干平面(子 陣列)(其中每一者具有其自身之定址、程式化及讀取電路) 之記憶體單元陣列中,每-區較佳包括來自多個平面之區 塊《常包括來自平面中之每一者的相同數目的區塊)。區 主要用於簡化位址管理(諸如邏輯至實體轉譯),從而產生 更小之轉譯表、保存此等表所需之更少ram記憶體及用以 定址記憶體之當前活動區域的更快存取時間,<旦由於其限 制性性質’所以其可導致不及最佳之磨損調平。 個別快間EEPROM單元將表示一或多個資料位元之一定 量的電荷儲存於-電荷儲存㈣或單元中。儲存元件之電 13I567.doc 200915072 荷位準控制其愔 „ _ 己隐體早兀之臨限電壓 ㈣*被用作讀取該單一狀態的基:為:;^ 臨限電壓窗劃分為耸夕加_ 逋常將一 之兩一個範圍用於記憶體單元 護帶來二離固=之儲存狀態中的每一者。此等範圍由保 態的《感測ΓΓ呆護帶包括允許判定個別翠元之儲存狀 直 …’立>。此等儲存位準由於電荷干擾在鄰近或 2目δ己憶體單元、頁或區塊中執行之程式化 抹除操作而移位。因卜 取次 rEcr、* 因此通f由控制器來計算錯誤校正碼 冑其與主機資料一起儲存’該主機資料經程式 1在讀取_心魏㈣純行某難度 i (若有必要)。 Ο 快閃記憶體單元之回應性通常根據單元被抹除及重新程 式化的次數而隨著時間推移而改變。此被認為係在每一抹 :及/或重新程式化操作期間少量電荷被截獲於一儲存元 層中的結果’該電荷隨時間推移而累積。此通常導 Γ己憶體單元變得較不可靠,且隨著記憶體單元老化而可 2要更高電壓用於抹除及程式化。可程式化記憶體狀態 有效臨限電壓窗亦可由於電荷保留而減小。例如 國專利第5,26M7G號中描述了此情形。結果係記憶體單元 :有限之有效使用壽命;亦即’記憶體單元區塊在被映射 —系統之前僅經受-預設數目之抹除及重新程式化循環。 一,閃記憶體區塊需要經受之循環的數目視記憶體單元之 =結構、用於儲存狀態之臨限窗的量、通常隨著增加每 早兀之儲存狀態的數目而增加之臨限窗的範圍而定。視 131567.doc -12- 200915072 此等及其他因素而定,使用壽命循環之數目可低達l〇,〇〇〇 及高達100,000或甚至幾十萬。 fThe address is such that each of the data is not written to the outside of the single physical area to which the logical block address is mapped. In a memory cell array divided into planes (sub-arrays), each of which has its own addressing, stylization and reading circuitry, each zone preferably includes blocks from multiple planes. Includes the same number of blocks from each of the planes). The area is primarily used to simplify address management (such as logical-to-entity translation), resulting in smaller translation tables, less ram memory required to hold these tables, and faster storage of the current active area of the addressed memory. Taking time, <den because of its restrictive nature' can result in less than optimal wear leveling. The individual fast EEPROM cells store a certain amount of charge representing one or more data bits in a charge store (four) or cell. The storage element is electrically 13I567.doc 200915072 The level control is 愔 _ _ The hidden voltage of the hidden body (4)* is used as the base for reading the single state: as: ;^ The threshold voltage window is divided into the eve Plus _ 将 often use one or two ranges for each of the storage units of the memory unit to protect the two units. These ranges are protected by the sensational sensation The storage of the element is straight... '立>. These storage levels are shifted due to charge disturbing stylized erase operations performed in adjacent or 2 mesh delta memory cells, pages or blocks. Therefore, the controller f is used to calculate the error correction code, which is stored together with the host data. The host data is read by the program 1 in the reading _ heart Wei (four) pure line difficulty i (if necessary). 快 flash memory The responsiveness of a unit typically changes over time based on the number of times the unit is erased and reprogrammed. This is considered to be a small amount of charge trapped in a storage element layer during each wipe: and/or reprogramming operation. The result 'this charge accumulates over time. This Usually, the memory cell becomes less reliable, and as the memory cell ages, a higher voltage can be used for erasing and programming. The programmable memory state can also be used to limit the voltage window. This is the case, as described in National Patent No. 5, 26M7G. The result is a memory unit: a limited effective service life; that is, the 'memory unit block is only subjected to the pre-set before being mapped-system The number of erase and reprogramming cycles. First, the number of cycles that the flash memory block needs to undergo depends on the memory cell = structure, the amount of threshold window used to store the state, usually with increasing every morning The number of storage states is increased by the range of the threshold window. Depending on the factors such as 131567.doc -12- 200915072, the number of life cycles can be as low as 100,000 or even up to 100,000 or even Hundreds of thousands. f

L 若認為需要追蹤由個別區塊之記憶體單元所經歷之循環 的數目,則可針對每一區塊或針對一區塊群組中之每一者 而保持在每次抹除區塊時遞增之計數,如在上文所提及之 美國專利第5,268,87G號巾所描述。可將料㈣存於每一 區塊中(如彼處所描述),或將此計數連同其他附加資訊而 儲存於-獨立區塊中,如美國專利第6,426,893號中所描 述。除其用於在-區塊達到一最大使用壽命循環計數時將 其映射出系統的用途之外,可更早地將該計數用於隨記憶 體單兀區塊老化而控制抹除及程式化參數。且美國專利第 6,345,0(^號描述了—種在發生—隨機或偽隨機事件時更新 循環數目之-壓縮計數的技術’而非保持循環數目之確切 先前:術描述了若干種選擇待將資料讀出之區塊及 待先占地複製資料之區塊以使得可調平區塊之磨 (I如區由塊之㈣可基於抹除料數或可僅隨機或判定性地 二…循:…)來挑選。另一週期性例行操作係讀 取h除知描,其由掃描在正常主機命令 之眘料細占B . 執订期間未被讀取 之資科組成,且存在可能之資料退化的風 達到不可能藉由ECC演算法方法來校正 險在/、 讀取的程度之前原本不能被偵測到。/不㈣限進行 【發明内容】 通常需要根據某一時間表來番益 必要之-或多個例行操作表::::1行特定命令所不 维持—快閃記憶系統之有 131567.doc 200915072 效操作從而在-較長壽命中準確儲存及掏取資料。此等例 行操作之實例包括磨損調平、資料再新(清除)、廢料收集 及育料合併。較佳在背景中進行此等操作(亦即,當預測 2或已知主機將處於間置歷時足夠時間時)。當主機發送 二置命令時可獲知此情形,且當主機已處於不活動歷時 時間(諸如一毫秒)時可預見此情形。在背景中執行例 Γ 險係將僅部分地完成該例行操作,或在記憶系 ,為於完成背景操作之前自主機接收到—命令之情況下需要 2全中止該例行操作。終止進行中之例行操作會花費一此 時間’且因此延遲新的主機命令之執行。 若^背景中不能足夠頻繁地執行足夠數目之例行操作以 m 系統維持恰當操作,則接著在前台中進行該等例行 機立传繁即虽主機可預備發送一命令但記憶系統告訴主 機其係繁忙的直至6 > , 且主几成所執仃之例行操作時)。當一 命令之接收及/或執杆 飞執仃以此方式而被延遲時,記憶系統之 效月匕因此受到不利影聲。, 憶系統中或將資料自 減慢將資料轉移至記 貝枓自S己憶系統中轉移出來的速率。 在許多命令告& - Θ,實例主機命令包括將資料寫入至記憶 體Τ、自έ己憶<§§读 背5中勃— 卜-\冑料及抹除記憶體單元之區塊。在於 厅、订》订操作期間,記憶系統對此命令之接收將 斷彼操作,1中—& 卩7 I接收將打 作。在前台中心少量延遲用以終止或推遲該操 仃例行操作可避免主機發送此命令直至& 成該操作或至少逵钊甘 < C ρ 7置至几 -完成階段。4完成將被推遲而不必重新開始之某 131567.doc -14- 200915072 為最小化此等不利影響,記憶系統較佳藉由監視主機之 呆作模式來決定是在背景中還是在前台中賤能例行操作之 執行。若主機處於藉由記憶體來快速轉移大量連續資料 (堵如發纽音訊或視訊資料之串流資料寫人或讀取幻的 過程中,則去能或推遲一確定之例行操作。類似地,若主 f #作之間具有非常短的時間延遲間隙的情況下來 發送命令或資料,則此展示主機正以_快速模 因此指示需要推邏或去能任何確定之例行操作。若:; 遲’則將在猶後當資料係非連續或以更少之量轉移時或當 主機延遲間隙增加時賦能該例行操作。 乂此方式,允許s己憶系統以一高速率轉移資料或另外以 :快速模式操作(當使用者料其如此做時)。在 =避免由-例行操作引起之中斷。由於小的 :料轉移操作對執行-些例行操作之需求更高,所以在! 二:二資料轉移期間不允許進行該等例行操作存在报小 的相失(penalty)。 當主機模式允許時,首先賦能在f景中執行例行摔作 ί不允^)’因為此通常對系統效能具有最小不利影響。、作 有上文所論述之限制的背景中足夠快速地完成 摔:讀作,則在處於類似限制下的前台 =乍。此接著提供競爭性利益(亦即執行例行操作之』 間的=操系統以寫入及讀取-些資料的需要)之 -門題之慮因素係可用功率之量。在節省功率係 問通之系統或應用中,出於此原因,可顯著限制或甚至 I31567.doc 200915072 不允許執行例行操作。 以下描述:額外怨樣、優勢及特徵包括於其例示性實例之 田’L ,該描述應結合隨附圖式來理解。 規範、1斤參考之所有專利、專利巾請案、論文、書籍、 ”他公開案、文獻等出於所有目的而以全文引用之 方式併入本文中。就術語之定義或使用在所併入之公開 案、文獻等中之任—者與本文獻之文字之間的任何不一致 f. %L. If it is deemed necessary to track the number of cycles experienced by the memory cells of an individual block, it may be incremented each time the block is erased for each block or for each of a block group The counts are as described in U.S. Patent No. 5,268,87, the disclosure of which is incorporated herein by reference. Material (4) may be stored in each block (as described elsewhere), or this count may be stored in a separate block along with other additional information, as described in U.S. Patent No. 6,426,893. In addition to its use to map a block out of the system when it reaches a maximum lifetime cycle count, the count can be used earlier to control erasure and stylization as the memory block ages. parameter. And U.S. Patent No. 6,345,0 (the number describes the technique of updating the number of cycles in the occurrence of random or pseudo-random events - the technique of compressing counts) rather than the exact previous number of cycles: the description describes several options to be The block of data readout and the block of data to be copied beforehand to make the adjustable block block (I can be based on the number of erased materials (4) or can be only random or decisive. ...) to select. Another periodic routine operation is to read h except for the description, which is composed of the assets that are scanned in the normal host command and are not read during the binding period, and there is a possibility. The wind of data degradation cannot be corrected by the ECC algorithm method. The risk cannot be detected before / or the degree of reading. / No (four) limit [invention content] Usually need to rely on a certain schedule to benefit Necessary - or multiple routine operation tables: ::: 1 line specific commands are not maintained - the flash memory system has 131567.doc 200915072 effective operation to accurately store and retrieve data during a longer life. Examples of line operations include wear leveling, capital Renew (clear), waste collection, and nurturing. It is better to do this in the background (ie, when predicting 2 or the known host will be in sufficient time for the interval). When the host sends a two-set command This situation can be known, and this situation can be foreseen when the host has been inactive for a duration of time, such as one millisecond. In the background, the execution system will only partially complete the routine, or in the memory system, In the case of receiving a command from the host before completing the background operation, 2 needs to abort the routine operation. It will take a while to terminate the ongoing routine operation' and thus delay the execution of the new host command. Performing a sufficient number of routine operations sufficiently frequently to maintain proper operation of the m system, then proceeding to the routine in the foreground, that is, although the host can prepare to send a command but the memory system tells the host that it is busy until 6 > , and the main operation of the master is executed.) When the receipt of a command and/or the execution of the fly is delayed in this way, the effect of the memory system is therefore adversely affected. Recall that the system has slowed down the data and transferred the data to the rate at which it was transferred from the S. In many commands & - 实例, the instance host command includes writing data to the memory, self-reporting < § § reading the back of the 5 - Bu - \ 胄 抹 and erasing the memory unit block. During the operation of the hall and the subscription, the memory system will interrupt the operation of this command, and the 1 -& 7 I reception will be performed. A small delay in the foreground center to terminate or postpone the operation can prevent the host from sending this command until & into the operation or at least & & C C C 。 。 4 completion will be postponed without having to start again 131567.doc -14- 200915072 To minimize these adverse effects, the memory system preferably monitors the host's mode of stay to determine whether it is in the background or in the foreground Execution of routine operations. If the host is in the process of quickly transferring a large amount of continuous data through the memory (such as blocking the streaming data of the audio or video data to write or read the illusion, then it can defer or postpone a certain routine operation. Similarly If the main f# is sent with a very short time delay gap to send a command or data, then the display host is using _ fast mode to indicate that it needs to push or go to any determined routine operation. Late 'will enable the routine operation when the data is non-continuous or in a smaller amount when the data is transferred or when the host delay gap increases. 乂 This way, allows the system to transfer data at a high rate or In addition: fast mode operation (when the user expects to do so). = avoid interruption caused by - routine operation. Because of the small: material transfer operation is more demanding for execution - some routine operations, so in ! Two: Two data transfer is not allowed during these routine operations, there is a small penalty (penalty). When the host mode allows, first enable the routine to perform in the f scene ί 不 不 ^) ' because This is usually effective for the system Can have minimal adverse effects. In the context of the limitations discussed above, the fall is completed quickly enough: read, then at the front desk under similar restrictions = 乍. This in turn provides a competitive advantage (that is, the need to perform a routine operation to write and read - some data) - the consideration factor is the amount of available power. In systems or applications that save power, for this reason, significant restrictions or even I31567.doc 200915072 are not allowed to perform routine operations. The following description: Additional grievances, advantages, and characteristics are included in the field of its illustrative examples, which should be understood in conjunction with the accompanying drawings. All patents, patents, patents, papers, books, etc., which are referenced in the specification, are incorporated herein by reference in its entirety for all purposes. The definition or use of the terms is incorporated Any inconsistency between the disclosure, the literature, etc. and the text of this document f. %

!·生或衝犬的程度而言’該術語在本文獻中之定義或使用應 佔優勢。 【實施方式】 記憶體架構及其操作 起初參看圖1A,一快閃記憶體包括一記憶體單元陣列及 一控制器。在所示之實例中,兩個積體電路設備(晶片 及13包括一記憶體單元陣列15及各種邏輯電路17。邏輯電 路17經由資料、命令及狀態電路而與一獨立晶片上之控制 器1 9介接,且亦將定址、資料轉移及感測以及其他支援提 供至陣列13。記憶體陣列晶片之數目視所提供之儲存容量 而可為自一個晶片至許多晶片。可替代地將控制器及部分 或整個陣列組合至單個積體電路晶片上,但此在當前並非 為經濟之替代方式。一依賴於主機來提供控制器功能的快 閃記憶設備僅僅含有記憶體積體電路設備11及13。 一典型控制器19包括一微處理器21、一主要用以儲存勒 體之唯讀記憶體(ROM)23及一主要用於臨時儲存寫入至記 憶體晶片11及13或自記憶體晶片11及13讀取之使用者資料 131567.doc -16 - 200915072 的緩衝記憶體(RAM)25。電路27與該(等)記憶體陣列晶片 介接,且電路29經由連接31而與—主機介接。在此實例 中,藉由使用專用於計算ECC之電路33來計算該碼而判定 2科之完整性。當將使用者資料自主機轉移至快閃記憶體 陣列以進行儲存時,該電路自資料計算Ecc且將該碼儲存 於錢體中。當稍後自記憶體讀取彼使用者資料時,再次 使其通過電路33 ’該電路33藉由相同演算法來計算咖, 並將彼碼與所計算且與該資料一起儲存之碼相比較。若立 相2,則證實資料之完整性。若其不同,則可視所利用之 特定ECC演算法而定來識別並校正彼等錯誤位元(可達由該 演算法支援之數目)。 圖1A之記憶體的連接31與—主機系統(圖ib中給出其一 實⑷之連接3Γ配合。圖1A之主機與記憶體之間的資料轉 移係經由介面電路35來進行的。一典型主機亦包括-微處 理器37、一用於儲存勒體碼之ROM 39ΜΑΜ 41。並他電 路及子系統43通常視特定主機系統而包括一高容量磁性資 料儲存磁碟驅動器、用於鍵盤之介面電路、一監視器及其 類似物。此等主機之-些實例包括桌上型電腦、膝上型電 腦、手持式電腦、掌上型電腦、個人數位助理(PDA)、 MP3及其他音訊播放器、數位相機、視訊相機、電子遊戲 機、無線及有線電話設備、答錄機、語音記錄器、網路路 由器及其他。 可將圖1A之記憶體實施盔3 & _ ' 貰施為呈可與圖1B之主機可移除地 連接之形式的含有控制器及所有其記憶體陣列電路設備的 131567.doc 200915072 广型封閉記憶卡或快閃驅動器。亦即,配合連接31及31,允 許該卡斷開連接並移至另—主機,或藉由將另—卡連接至 主機來代替。或者,可將記憶體陣列設備u及㈣閉於可 ” 3有控制器及連接31之另一卡電及機械連接之獨立卡 中。作為另一替代,可將圖以之記憶體嵌入於圖m之主 機内’其中永久地形成連接31及31,。在此狀況下,記憶體 通常連同其他組件而含於主機之外殼内。 可在具有各種特定組態之系統中實施本文中之發明性技 術,在圖2至圖6中給出其實例。圖2說明一記憶體陣列之 σΡ刀其中5己憶體單元被分組為若干區塊,每一區塊中 之單元可作為單個抹除操作之部分而通常同時一同抹除。 區塊係最小抹除單位。 圖2之個別記憶體單元區塊之大小可變化,但一種商業 實踐形式在個別區塊中包括單個資料區段。圖3中說明此 ^料Q #又之内谷。使用者資料5 1通常為5 12個位元組。除 使用者資料5 1之外的係附加資料,其包括自使用者資料計 真之ECC 53、與區段資料及/或於其中程式化該區段之區 塊相關的參數55及一自參數55計算之ECC 57以及可能包括 之任何其他附加資料。或者,可自所有使用者資料5丨及參 數55來計算一單個ECC。 參數55可包括一與由區塊經歷之程式化/抹除循環之數 目相關的量’此量在每一循環或某一數目之循環之後更 新。當在一磨損調平演算法中使用此經歷量時,邏輯區塊 位址被規則地重新映射至不同實體區瑰位址以便使所有區 131567.doc -18- 200915072 塊之使用(磨損)均衡。該經歷量之另一用途係根據由不同 區段經歷之循環之數目來改變程式化、讀取及/或抹除之 電壓及其他參數。 參數55亦可包括指派給記憶體單元之儲存狀態中之每一 者的位元值之一指示(通常稱作其,,旋轉,,)。此在磨損調平 中亦具有一有益效應。參數55中亦可包括—或多個指示狀 態之«。亦可將待用於程式化及/或抹除區塊之電壓位 準的指示儲存於參數55内,此等電壓在由區塊經歷之循環 之數目及其他因素改變時被更新。參數55之其他實例包括 區塊内之任何有缺陷單元之識別、映射至此實體區塊中之 區塊的邏輯位址及在主區塊有缺陷之狀況下任一替代性區 塊之位址。用於任-記憶系統中之參數55之特定組合將: 據設計而變化。又’可將一些或全部附加資料健存於專用 於此功能之區塊中,而非儲存於含有使用者資料或附加資 料與之相關之區塊中。 圖4之多區段區塊不同於圖2之單資料區段區塊。一實例 區塊59(仍為最小抹除單位)含有四個頁,該等頁㈡中 之每-者係最小程式化單位。一或多個主機資料區段通常 與至少包括自區段之資料計算之ECC的附加資料一起儲存 於每一頁中,且可呈圖3之資料區段的形式。 重寫整個區塊之資料通常涉及將新資料程式化至已抹除 區塊集區之已抹除區塊中’接著抹除原始區塊及將其置放 於抹除集區中。當更新—區塊之少於所有頁之資料時,通 常將經更新資料儲存於-來自已抹除區塊集區之已抹除區 I31567.doc 19 200915072• The extent to which the dog is born or washed. The definition or use of this term in this document should prevail. [Embodiment] Memory Architecture and Operation First, referring to Fig. 1A, a flash memory includes a memory cell array and a controller. In the illustrated example, two integrated circuit devices (wafer and 13 include a memory cell array 15 and various logic circuits 17. The logic circuit 17 is coupled to the controller 1 on a separate wafer via data, command and status circuits. 9 interface, and also provides addressing, data transfer and sensing, and other support to the array 13. The number of memory array chips can range from one wafer to many wafers depending on the storage capacity provided. Alternatively, the controller And a portion or the entire array is combined onto a single integrated circuit die, but this is not currently an economical alternative. A flash memory device that relies on the host to provide controller functionality contains only memory volume circuit devices 11 and 13. A typical controller 19 includes a microprocessor 21, a read only memory (ROM) 23 for storing a memory, and a main memory for temporarily storing writes to the memory chips 11 and 13 or from the memory chip 11. And 13 read the user data 131567.doc -16 - 200915072 buffer memory (RAM) 25. The circuit 27 is interfaced with the (etc.) memory array chip, and the circuit 29 is connected 31. Interfacing with the host. In this example, the integrity of the 2 families is determined by computing the code using circuit 33 dedicated to calculating the ECC. When the user data is transferred from the host to the flash memory array When storing, the circuit calculates Ecc from the data and stores the code in the money body. When the user data is read from the memory later, it is again passed through the circuit 33 'the circuit 33 by the same algorithm Calculate the coffee, and compare the code to the code calculated and stored with the data. If the phase is 2, the integrity of the data is confirmed. If it is different, it can be identified by the specific ECC algorithm used. And correct their error bits (up to the number supported by the algorithm). The connection 31 of the memory of Figure 1A is coordinated with the host system (the connection of the real (4) is given in Figure ib. The host of Figure 1A The transfer of data to and from the memory is performed via interface circuitry 35. A typical host also includes a microprocessor 37, a ROM 39 for storing the Lexon code, and its circuitry and subsystem 43 are typically Host system and including a high Capacity magnetic data storage disk drive, interface circuit for keyboard, a monitor and the like. Some examples of such hosts include desktop computers, laptop computers, handheld computers, palmtop computers, personal computers. Digital Assistant (PDA), MP3 and other audio players, digital cameras, video cameras, electronic game consoles, wireless and wired telephone devices, answering machines, voice recorders, network routers and others. Memory of Figure 1A The implementation of the helmet 3 & _ ' is a 131567.doc 200915072 wide-type closed memory card or flash drive containing the controller and all of its memory array circuit devices in a form removably connectable to the host of FIG. 1B . That is, with the connections 31 and 31, the card is allowed to be disconnected and moved to another host, or by connecting another card to the host. Alternatively, the memory array device u and (4) can be closed in a separate card that can be electrically connected and mechanically connected to the controller and the connection 31. As another alternative, the memory of the figure can be embedded in the figure. In the host of m, the connections 31 and 31 are permanently formed. In this case, the memory is usually contained in the casing of the host together with other components. The inventive concept can be implemented in a system having various specific configurations. Techniques, examples of which are given in Figures 2 to 6. Figure 2 illustrates a σ Ρ 记忆 of a memory array in which 5 hex elements are grouped into blocks, and the cells in each block can be used as a single erase operation. The parts are usually erased together at the same time. The block is the minimum erase unit. The size of the individual memory unit blocks of Figure 2 can vary, but a commercial practice form includes a single data section in individual blocks. Explain that this material Q #又之谷. User data 5 1 is usually 5 12 bytes. The additional information except the user data 5 1 includes the ECC 53 from the user data. And section data and/or stylized in it The block-related parameters 55 of the segment and an ECC 57 calculated from parameter 55 and any other additional information that may be included. Alternatively, a single ECC may be calculated from all user data 5 and parameter 55. Including an amount associated with the number of stylized/erase cycles experienced by the block 'this amount is updated after each cycle or a certain number of cycles. When this amount of experience is used in a wear leveling algorithm, Logical block addresses are regularly remapped to different physical location addresses to equalize the use (wear) of all blocks 131567.doc -18- 200915072. Another use of this experience is based on experience by different segments The number of cycles to change the voltage and other parameters of stylization, reading, and/or erasing. Parameter 55 may also include an indication of one of the bit values assigned to each of the storage states of the memory unit (usually called For this, there is also a beneficial effect in the wear leveling. The parameter 55 can also include - or a plurality of indication states «. It can also be used for stylized and / or erased areas Block voltage level The indication is stored in parameter 55, which is updated as the number of cycles experienced by the block and other factors change. Other examples of parameter 55 include identification of any defective cells within the block, mapping to the physical block The logical address of the block in the middle and the address of any alternative block in the case where the main block is defective. The specific combination of parameters 55 used in the any-memory system will: vary according to design. Some or all of the additional data may be stored in a block dedicated to this function, rather than being stored in a block containing user data or additional data associated with it. The multi-section block of Figure 4 is different from Figure 2 The single data sector block. An instance block 59 (still the minimum erase unit) has four pages, and each of the pages (2) is the smallest stylized unit. One or more host data segments are typically stored in each page along with additional material including at least the ECC calculated from the segment data, and may be in the form of a data segment of FIG. Rewriting the entire block usually involves programming the new data into the erased block of the erased block pool. Then the original block is erased and placed in the erased set. When updating - less than all pages of the block, the updated data is usually stored in the erased area from the erased block I31567.doc 19 200915072

塊的頁中’且將剩餘未改變之頁中的資料自原始區塊複製 至新區塊中。接著抹除原始區塊。或者,可將新資料寫入 至與 > 料被更新之區塊相關聯的更新區塊,且使該更新 區塊儘可能長時間地保持開放以接收任何對該區塊之進一 步更新。當必須關閉該更新區塊時,在一廢料收集操作中 將位於該更新區塊及原始區塊中之有效資料複製至一單個 複本區塊中。此等大區塊管理技術通常涉及將經更新資料 寫入至另一區塊之頁中而不自原始區塊移動資料或抹除該 區塊。此導致多個資料頁具有相同邏輯位址。可藉由某種 方便技術(諸如記錄為區段中之欄位或頁附加資料的程式 化時間)來識別最近資料頁。 圑3甲說明另一多 〜. w絕m體單 元陣列實體劃分為兩個或兩個以上平面(其中說明四個平 面〇3)每一平面係記憶體單元之一子陣列,其具有其自 身之資料暫存器、感測放大器、定址解碼器及其類勿 便能夠復大程度上獨立於其他平面來操作。可將所有平面 k供於早個積體電路設備上或提供於多個設備上。圖5之 實例系統中之每一區塊含有16個頁p〇_pi5,每一頁具有— ::或兩個以上之主機資料區段及某附加資;;的: 里〇 、該等平面形成於-單個積體電路 ::晶片上。若形成於多個晶片上,則心SC 者形成於-個晶片上且將另外兩個平面形成於另 或者,一個晶片上之記憶體單元可 憶體平面中之—者…同使用四個此等日日日片。〜等記 131567.doc -20- 200915072 圖6中說明又一記憶體單元配置。每一平面含有大量單 元區塊°為了增加操作之並行性程度,邏輯鏈接不同平面 内之區塊以形成元區塊。圖6中將一個此元區塊說明為由 平面0之區塊3、平面1之區塊1、平面2之區塊1及平面3之 區塊2形成。每一元區塊係邏輯可定址的,且記憶體控制 1§指派並追蹤形成個別元區塊之區塊。主機系統較佳以與 個別元區塊之容量相等的資料單元來與記憶系統介接。圖 6之此邏輯資料區塊61 (例如)係由邏輯區塊位址a)來識 別,該等LBA由控制器映射至構成元區塊之區塊的實體區 塊就碼(PBN)中。該元區塊之所有區塊可一同抹除,且較 佳同時程式化及讀取來自每一區塊之頁。 存在s午多可用以實施上文關於圖2至圖6所描述之記憶體 的不同記憶體陣列架構、組態及特定單元結構。圖7中展 示NAND類型之記憶體陣列的一個區塊。具有串聯連接之 圯憶體單元的大量行定向串連接於電壓vss之共同源“與 =元線BL0-BLN中之一者之間,該等位元線bl〇_bln又與 含有位址解碼器、驅動器、讀取感測放大器及其類似物之 電路67連接。具體言之,一個此串含有串聯連接於位於該 等串之相對末端處之選擇電晶體77與79之間的電荷儲存電 晶體7〇、71·.·...72及74。在此實例中,每—串含有16_ 存電日日體’但其他數目係可能的。字線wlq_wli5延伸跨 越每一串之一個儲存電晶體且連接至含有位址解碼器及^ 線之電壓源驅動器之電路81。線83及84上之電壓一同控制 區塊中之所有串經由其選擇電晶體至電壓源6 5及/或 131567.doc 200915072 線blo-bln的連接。資料及位址來自記憶體控制器。 區塊之電荷儲存電晶體(記憶體單元)之每一列含有一或 夕個頁,每一頁之資料被一同程式化及讀取。將一適當4 ,施加至字線(WL)以用於沿彼字線來程式化或讀取記憶體 單元之資料。亦將恰當之電壓施加至與所關心單元連接之 其位元線(BL)。圖7之電路展示沿一列之所有單元被一同 程式化及讀取,但作為一單位沿一列來程式化及讀取每一 其他單元係普遍的。在此狀況下,使用兩組選擇電晶體 (未圖示)以同時與每一其他單元可操作地連接,每一其他 單元形成一個頁。選擇施加至剩餘字線之電壓以使其各別 儲存電晶體為導電性的。在程式化或讀取一列中之記憶體 單元的過程中,未選擇之列上之先前儲存的電荷位準可受 到干擾,因為施加至位元線之電壓可影響連接至其之串中 的所有單元。 上文所描述之記憶系統類型的一特定架構及其操作大體 說明於圖8令。一記憶體單元陣列213(為易於解釋而大大 簡化)視架構而含有區塊或元區塊(PBN)pi _Pm。將由記憶 系統自主機接收之資料的邏輯位址一同分組至具有個別邏 輯區塊位址(LBA)之邏輯群組或區塊Li-Ln中。亦即,記憶 系統之整個連續邏輯位址空間被劃分為若干位址群組。由 邏輯群組Ll-Ln中之每一者定址之資料的量與每一實體區 塊或元區塊之儲存容量相同。記憶系統控制器包括函數 215,該函數215將群組Li-Ln中之每一者之邏輯位址映射 至實體區塊P1 -Pm中之一不同者中。 131567.doc -22- 200915072 (In the page of the block' and copy the data from the remaining unchanged pages from the original block to the new block. Then erase the original block. Alternatively, new material can be written to the update block associated with the > updated block and the update block kept open for as long as possible to receive any further updates to the block. When the update block has to be closed, the valid data located in the update block and the original block is copied into a single copy block in a garbage collection operation. Such large block management techniques typically involve writing updated data to pages of another block without moving data from the original block or erasing the block. This results in multiple data pages having the same logical address. The most recent material page can be identified by some convenient technique, such as stylized time recorded as a field or page attachment in a section.圑3甲 illustrates another more ~. w m m body unit array entity is divided into two or more planes (where four planes 说明 3 are illustrated) one sub-array of each plane memory unit, which has its own The data registers, sense amplifiers, address decoders, and the like are not capable of operating largely independently of other planes. All planes k can be supplied to an earlier integrated circuit device or to multiple devices. Each block in the example system of Figure 5 contains 16 pages p〇_pi5, each page having -: or more than two host data segments and some additional resources;;: 〇, the planes Formed on a single integrated circuit:: on the wafer. If formed on a plurality of wafers, the core SC is formed on one wafer and the other two planes are formed on the other or the memory cells on one wafer can be recalled in the plane of the body... Wait for the day and day. ~等记 131567.doc -20- 200915072 Another memory unit configuration is illustrated in FIG. Each plane contains a large number of unit blocks. To increase the degree of parallelism of operations, blocks in different planes are logically linked to form metablocks. One of the metablocks is illustrated in Fig. 6 as being formed by block 3 of plane 0, block 1 of plane 1, block 1 of plane 2, and block 2 of plane 3. Each metablock is logically addressable, and the memory control 1 § assigns and tracks blocks that form individual metablocks. Preferably, the host system interfaces with the memory system in units of data equal to the capacity of the individual metablocks. The logical data block 61 of Fig. 6 is identified, for example, by a logical block address a) which is mapped by the controller to the physical block code (PBN) of the block constituting the metablock. All blocks of the metablock can be erased together, and at the same time, the pages from each block are preferably programmed and read. There are many different memory array architectures, configurations, and specific cell structures that can be used to implement the memory described above with respect to Figures 2-6. A block of a NAND type memory array is shown in FIG. A plurality of row-oriented strings having serially connected memory cells are connected between a common source of voltage vss "with one of = element lines BL0-BLN, which in turn is decoded with address bits" A circuit 67 of a driver, driver, sense sense amplifier, and the like is coupled. Specifically, one such string contains charge storage cells connected in series between select transistors 77 and 79 at opposite ends of the strings. The crystals are 7〇, 71·.... 72 and 74. In this example, each string contains 16_ storage days, but other numbers are possible. The word line wlq_wli5 extends across one of each string. The crystal is coupled to a circuit 81 having a voltage source driver for the address decoder and the line. The voltages on lines 83 and 84 together control all of the strings in the control block via the transistor to the voltage source 65 and/or 131567. Doc 200915072 Line blo-bln connection. The data and address are from the memory controller. Each column of the charge storage transistor (memory unit) of the block contains one or one page, and the data of each page is programmed together. And read. Apply an appropriate 4 to the word line ( WL) is used to program or read the memory cells along the word line. Appropriate voltage is also applied to the bit lines (BL) connected to the cell of interest. The circuit of Figure 7 shows along a column. All units are programmed and read together, but are programmed as a unit along a column to program and read each of the other units. In this case, two sets of selection transistors (not shown) are used simultaneously and each One other unit is operatively coupled, and each of the other units forms a page. The voltage applied to the remaining word lines is selected such that their respective storage transistors are electrically conductive. In the stylized or read memory cells of a column During the process, the previously stored charge level on the unselected column can be disturbed because the voltage applied to the bit line can affect all cells in the string connected thereto. A specific type of memory system described above The architecture and its operation are generally illustrated in Figure 8. A memory cell array 213 (which is greatly simplified for ease of explanation) contains a block or metablock (PBN) pi _Pm depending on the architecture. It will be received by the memory system from the host. The logical addresses of the material are grouped together into a logical group or block Li-Ln having an individual logical block address (LBA). That is, the entire contiguous logical address space of the memory system is divided into a number of address groups. The amount of material addressed by each of the logical groups L1-Ln is the same as the storage capacity of each physical block or metablock. The memory system controller includes a function 215 that will group Li-Ln The logical address of each of them is mapped to one of the different physical blocks P1 - Pm. 131567.doc -22- 200915072 (

可包括比記憶系統位址㈣中所存在之邏輯群組多的士己 憶體之實體區塊。在圖8之實例巾,包括四個此等額外實 體區塊。出於經提供以說明本發明之應用的此簡化播述之 目的’在資料之“㈣將額外區塊中之兩者用作資料更 新區塊,且另外兩個額外區塊構成一抹除區塊集區。通常 可出於各種目的而包括其他額外區塊,在一區塊變得有缺 陷的狀況下’一個額外區塊作為一冗餘區塊。州吏用一 或多個其他區塊來健存由記憶系統控制器用以操作記憶體 之控制資料。通常無特定區塊被指定用於任何特定目的。 實情為,映射215在區塊P1_Pm中之任一者之間規則地改變 個別邏輯群組之資料所映射至之實體區塊。充當更新及抹 除集區區塊之彼等實體區塊亦在記憶系統之操作期間貫穿 實體區塊Pl-pm而遷移。當前指定為更新及抹除集區區塊 之彼等實體區塊的識別碼由控制器來保持。 現將描述由圖8表示之新資料至記憶系統中之寫入。假 定邏輯群組L4之資料映射至實體區塊p(m_2)中。亦假定將 區塊P2指定為更新區塊且被完全抹除並可自由使用。在此 狀況下,當主機命令將資料寫入至群組"内之邏輯位址或 多個連續邏輯位址時,將彼資料寫入至更新區塊p2。此後 使得儲存於區塊P(m_2)中之具有與新資料相同之邏輯位址 的貧料為過時,並由儲存於更新區塊L4中之新資料來代 替。 在一稍後之時間,可將此等資料自P(m_2)及?2區塊合併 (廢料收集)至一單個實體區塊中。此藉由將來自區塊p(m_ 131567.doc •23· 200915072 2)之剩餘有效資料及來自更新區塊p2之新資料寫入至已抹 除£塊集&中之另一區塊(諸如區塊P5)中來實現。接著抹 除區塊P(m-2)及P2以便此後使其充當更新或抹除集區區 塊。或者,可將原始區塊P(m_2)中之剩餘有效資料連同新 資料寫入至區塊P2中(若此係可能的),且接著抹除區塊 P(m-2)。 為最小化對於給定資料儲存容量而言所必要之記憶體陣 列的大小,將額外區塊之數目保持至一最小值。記憶系統 控制器通常允許同時存在一有限數目(在此實例中為兩個) 之更新區塊。此外,通常儘可能地推遲將來自一更新區塊 之資料與來自原始實體區塊之剩餘有效資料合併的廢料收 集,因為梢後可由主機將其他新資料寫入至更新區塊與之 關聯之實體區塊。同一更新區塊接著接收額外資料。由於 廢料收集花費時間且在另一操作因此而被延遲的情況下可 不利地影響記憶系統之效能,所以並非在每次可執行廢料 收集的時候執行廢料收集。將資料自兩個區塊複製至另一 區塊中可花費顯著量之時間,尤其當個別區塊之資料儲存 谷ΐ非常大時(此係趨勢)。因此,當主機命令寫入資料 時,通常發生不存在可用以接收其之自由或空白更新區 塊。接著對一現有更新區塊進行廢料收集(回應於寫入命 々且對於其執行而^係需要的),以便此後能夠自主機接 收新資料。在此狀況下已達到可將廢料收集延遲多久的極 限。 例行操作 131567.doc -24- 200915072 記憶系統之操作大部分係執行其自其所連接至之 統所接收之命令的直接結果。自一 、 ^ 目主機所接收之寫入命令 (例如)含有某些指令,包括伴隨 ^ 7心貝科將被寫入至 =輯位址⑽8之遍则m機所接收之讀取命令 =憶系統將讀取並發送至主機之資料的邏輯位址。另 外存在一典型主機發送至一並 a外^ 一 ,、生屺隐系統之許多其他命 ▽,该“令存在於—快閃記憶系統之操作中。 地1 旦為了能夠執行自主機接收之各種指令或為了能夠有效 广丁該等指令’記憶系統執行包括例行操作之其他功 二;例二喿作係直接回應於一特定主機命令而執行以 技二 令。一實例係回應於資料寫入命令而在- =集區中存在數目不足之用以儲存待回應於該命令而被 寫二之資料的抹除區塊時所起始的廢料收集操作。對於執 IL-命令而言不需要其他例行操作’但時常執行該等 效=、以便在無資料錯誤的情況下維持記憶系統之良好 '月b °此類型之例行操作的實例包括磨損調平、資料再斩 =先占式廢料收集與資料合併。當利用時= 常以規則之時間間隔、以隨機之時間間隔或以 時間間隔起始以調平記憶雜單元之區塊的使用 /凡以便避务_如士 η 1 個或一些區塊在大多數區塊達到壽命終止之 :到其壽命之終止。此延長具有其滿載資料儲存容量之 5己憶體之壽命。It may include more physical blocks than the logical group present in the memory system address (4). In the example of Figure 8, there are four such additional physical blocks. For the purpose of this simplified description provided to illustrate the application of the present invention, 'in the data' (4), both of the additional blocks are used as data update blocks, and the other two additional blocks constitute an erase block. A cluster. Usually, other extra blocks may be included for various purposes. In the case where a block becomes defective, an extra block is used as a redundant block. The state uses one or more other blocks. The memory is used by the memory system controller to manipulate the control data of the memory. Usually no specific block is specified for any particular purpose. In fact, the mapping 215 regularly changes the individual logical group between any of the blocks P1_Pm. The physical blocks to which the group's data are mapped. The physical blocks that serve as the update and erase block blocks are also migrated throughout the physical block Pl-pm during the operation of the memory system. Currently specified as update and erase sets The identification code of the physical blocks of the block is maintained by the controller. The writing of the new data represented by Figure 8 into the memory system will now be described. It is assumed that the data of the logical group L4 is mapped to the physical block p (m_2) ). Also Block P2 is designated as an update block and is completely erased and freely usable. In this case, when the host command writes data to the logical address or multiple consecutive logical addresses in the group " And writing the data to the update block p2. Thereafter, the poor material stored in the block P(m_2) having the same logical address as the new data is obsolete, and is newly stored in the update block L4. The data is replaced. At a later time, the data can be merged (waste collected) from the P(m_2) and ?2 blocks into a single physical block. This will be from the block p(m_131567). .doc •23· 200915072 2) The remaining valid data and the new data from the update block p2 are written to another block in the erased block set & (such as block P5). In addition to the block P(m-2) and P2, it is thereafter used to update or erase the block. Alternatively, the remaining valid data in the original block P(m_2) can be written into the block P2 along with the new data. (if this is possible), and then erase block P(m-2). To minimize the need for a given data storage capacity The size of the memory array keeps the number of extra blocks to a minimum. Memory system controllers typically allow for a limited number of (in this example, two) update blocks to exist simultaneously. Collecting the data from an update block with the remaining valid data from the original physical block, because the new data can be written by the host to the physical block associated with the update block. The same update block Additional data is then received. Since the waste collection takes time and the delay in other operations can adversely affect the performance of the memory system, waste collection is not performed each time waste collection can be performed. It takes a significant amount of time for a block to be copied into another block, especially when the data storage of individual blocks is very large (this trend). Therefore, when a host command writes data, it usually happens that there are no free or blank update blocks available to receive it. The existing update block is then garbage collected (required for the write command and executed for it) so that new data can be received from the host thereafter. In this case, the limit to how long the waste collection can be delayed has been reached. Routine Operations 131567.doc -24- 200915072 Most of the operation of the memory system is the direct result of executing the commands it receives from the system to which it is connected. The write command received by the host computer (for example) contains some instructions, including the read command received by the m machine after the ^7 heartbeak will be written to the address address (10)8. The logical address of the data that the system will read and send to the host. In addition, there is a typical host sent to the other, and many other fate of the system, which is present in the operation of the flash memory system. In order to be able to perform various kinds of receiving from the host The instructions or in order to be able to effectively suffice the instructions 'memory system to perform other functions including routine operations; the second example is to directly respond to a specific host command and execute the second command. One instance responds to the data write. The command does not have an insufficient number of garbage collection operations in the -= pool to store the erase block of the data to be written in response to the command. No other is required for the IL-command. Routine operation 'but often perform this equivalent = to maintain a good memory system without data errors' month b ° Examples of routine operations of this type include wear leveling, data re-sampling = preemptive waste collection Merging with data. When utilized = often at regular time intervals, at random time intervals or at time intervals to level the use of blocks of memory cells to avoid _ _ η 1 Some or most of the blocks of the block reached the end of life: a termination of the life of this extended life having its full storage capacity of the data memory 5 has the body.

?尤貝料清除操作而言,通常掃描記憶體(以某一確定 之排鞋一次播 甘 A 评掏某一數目之區塊)以讀取及檢查自彼等區 131567.doc -25- 200915072 塊讀取之資料的品質。若發 個£塊中之資料的品質不 t 則通常藉由將_個區塊之警祖舌仓 调L观之資料重寫至來自抹除集區之 另一區塊中來再新彼資料。亦 I 了在正常之主機命令的資料 邊取操作期間發現需要此資料 新’其辛注意到讀取資料 f之錯誤數目係高的。 在需要執行一主機寫入命令 ^ ^ M /v , 之月』先占地執行一廢料收集 成資枓合併操作。舉例而言, 的數目降低至苹一數目以下 _之已抹除區塊 或資料合併操=到需要廢料收集 操作以將-或多個已抹除區塊:=收集或資料合併 通常在背景與 而丄“ ,者中進行對於執行-特定主機命令 某-時間内處於閒置時,在背:::憶系峨為可能在 隨後自主機接收之命中發生此等例行操作’但 並改為執行該主機命令==作之執行接著被中止 背景中進行例行操作而使得;置命令’則可在 之付筏中斷之機會減小。 可藉由記憶系統向主機發 執行例行操作。主機藉而“台中 送任何其他命令來作出’e、'=g㈣被移除之前不發 可預備發送之寫人、讀,、、此則台操作因此由於使主機 憶系統之效能’:因此s及其他命令之執行延遲而影響記 景中執行例行操作,除=當主機未預備發送命令時在背 夠時間内變成閒置以進行此:^何時或是否主機將在足 行對於執行-自主機接收之此在前台中頻繁地執 之特疋命令而言並不需要之例行 131567.doc -26- 200915072 操作以便確保足夠頻繁地執行該等例行操作。有時,亦雨 要儘可能快地執行此例行操作,諸如當藉由對儲存於^ 體區塊中之資料進行常規清除讀取掃描或由於在執行主機 讀取命令時讀取不良品質之資料而發現存在不良品質之資 料時之狀況。因為不良品質之資料可由於繼續操作記情系 、统而進-步被降級’所以等待在背景中執行對該不良品質 之資料的再新較佳不為一所考慮之選項。 、 ,在纟©專利第6,230,233號、第6,985,992號、第 L 6,973,531 號、帛 7,〇35,967 號、帛 7,〇96,313 號及第 7,120’729號中描述了使用個別記憶體單元區塊循環計數的 若干不同磨損調平技術。磨損調平之主要優勢係防止在其 他區塊幾乎未被使用時一些區塊達到其最大循環計數且藉 此不得不被映射出系統。藉由將循環之數目合理均勻地擴 展遍及系統之所有區塊,可以良好效能特性在延長之週期 中維持記憶體之滿載容量。亦可在不維持記憶體區塊循環 , 汁數的情況下執行磨損調平,如美國專利申請公開案第 ^ 2006/〇1〇6972 A1 號中所描述。 在另一種用以磨損調平之方法中,藉由將邏輯至實體區 塊位址轉譯一次遞增一個或一些區塊而跨越記憶體單元陣 列來逐漸遷移區塊之實體區之間的邊界。此描述於美國專 利第7,120,729號中。 記憶體單元之一些區塊比記憶系統之其他區塊經受數目 大得多的抹除及重新程式化循環的主要原因係主機在相對 較少之邏輯區塊位址中連續重寫資料區段。可在記憶系統 I31567.doc -27- 200915072 之許多應用尹發生此情形,其中主機連續更新储存於記憶 體甲之例订資料&某些邏輯區段(諸如槽案配置表㈣丁)及 其類似物)°主機之特定使用亦可導致-些邏輯區塊被重 寫的頻率比具有使用者資料之其他邏輯區塊大得多。回應 於自主機接收—用以將資料寫人至-規定之邏輯區塊位址 的命令,將資料寫入至抹除區塊集區之一些區塊中之一 者。亦即,將邏輯區塊位址重新映射至抹除區塊集區之一 區塊中’而非將資料重寫至相同邏輯區塊位址之原始資料 常駐於其中之相同實體區塊中。含有原始且現在無效之資 料的區塊接著才皮立即#除或作為稍後廢料收集操作之部分 而被抹除,且接著被置放至抹除區塊集區中。當僅一些邏 輯區塊位址中之資料被更新的頻率比其他區塊大得多時, 結果係系統之相對較少之實體區塊以更高之速率循環。出 於上文所給出之原因,當然需要在記憶系統内提供用以在 遇到此非常不均勻之邏輯區塊存取時使實體區塊上之磨損 均衡的能力。 田自'己隐體讀取之資料單元含有一些錯誤時,通常可藉 由使用彼資料單元所攜帶之ECC來校正此等錯誤。但此所 展不的係儲存於該資料單元中之電荷的位準已移出其最初 被程式化至之所界定狀態。因此需要藉由將校正資料重寫 至記憶系統中之他處來清除或再新此等資料。因此可重寫 該等資料而使其電荷位準定位於針對其儲存狀態所界定之 離散電荷位準範圍的中間附近。 ‘在執行主機讀取命令的過程中讀取資料時,且通常由 131567.doc -28- 200915072 於同時*規掃描儲存於一些記憶體區塊中之資料(清除掃 描)(尤-係相對於其他資料而在長時間週期中未由主機讀 取^彼等資料),可谓測到此等不良品質之資料。亦可執 ”:于、掃%則貞測所儲存之電荷位準,該等電荷位準已自 ::⑼、、之中間移位但未足以導致自其錯誤地讀取資 1 —入等移位之電荷位準可在進—步之電荷干擾操作導致 ί 八 移出其所界定範圍且因此導致讀取錯誤資料之前不 時地恢復回至其狀態範圍之中心。 、 在2〇07年3月28日申請之美國專利第5,532,962號、第 1’1/69^49途及第Μ2,835號中以及在美國專利中請案第 ’ 40號及第11/692,829號中進—步描述了清除過程。 _ =以對記I系統之效能影響最小的方式來排程對於執 令而言不需要之前台例行操作。在美國專利 t;::7 006/0161724 A1^^^〇〇6/〇161728 Am 些=行主機命令期間排程此等將執行之操作的某 對賦能例行操作的控制 由於在背景或前台中執行例行操作可影響資料轉移之 統效能,所以此等執行在其對系統效能之 非常大的資:L 例而言,在將檔案之數s 并㊉大的貝枓單疋連續寫 檔案之數目非常大的或!記憶體連續讀取 作而產生之中斷可^早疋0、☆在别台中執行例行操 %資料〜 響效能(尤其當資料係視訊或音 ”tf要或期待高效能時)。不需要在記憶系 131567.doc •29· 200915072 統執行對於記憶體執行當前寫入或讀取命令而言並不需要 的例行操作時導致主機在此過程期間中斷轉移。在延遲過 ,之狀況下’資科緩衝器可能超限運轉且來自流之資料可 匕丢失τ月匕之延遲愈長,則需要配置以提供資料流之無 損耗轉移的資料緩衝器愈大(即使平均讀取或寫入速率足、 ,)。視訊或音訊資料串流在即時進行時尤其不應被中 此中斷可導致中斷人類使用者對該視訊或音訊内容 之欣賞。 《 奋 參看圖9,展示—種操作記憶系統以避免此等中斷 亦適當地執行此等例行操作的例示性方法。⑶處之將執 1 于;:例行操作之註釋開始該過程。此例行操作可為(例如) 磨知调平、資祠·清降、& & ) .,先占式貝料廢料收集或合併中之— 5此等操作中之—者以上, _ ^ ^ ^ 令而言並益必要。由^ 〃對於執仃任何特定主機命 以可注意到例行操作之確定。舉例而古被觸發,所 上次執行磨損調平以來 。17 4 ‘It系統自 發磨損調平操作。類似地,:==塊抹除之後觸 取掃描。接著回應於發始資料清除讀 水平以下的資料之清&至一可接受 me除讀取掃描或正常 始一資料再新操作。或者,當被觸發時,可二 =起 出所有此等例行操作, 1 了在^丁列中列In the case of the Uber material removal operation, the memory is usually scanned (a certain number of blocks are evaluated by a certain row of shoes) to read and check from their respective areas 131567.doc -25- 200915072 The quality of the data read by the block. If the quality of the information in the block is not t, then the data of the Guardian of the block is rewritten to another block from the erased area. . Also I found that the data was needed during the normal host command data. The new 'its Xin noticed that the number of errors in the read data f was high. In the need to execute a host write command ^ ^ M / v, the month of the first to perform a waste collection into a merger and merger operations. For example, the number is reduced to less than the number of _ _ erased block or data merge operation = to the need for waste collection operations to - or multiple erased blocks: = collection or data merge usually in the background and And 丄" , in the execution - specific host command some time - when idle, in the back ::: memory system is likely to occur in subsequent hits from the host to receive these routine operations 'but but instead executed The execution of the host command == is then aborted in the background to perform the routine operation; the command 'can be reduced by the chance of the interrupt. The routine can be performed by the memory system to the host. And "Taiwan sends any other commands to make 'e, '= g (four) is removed before the sender can be sent to read, read,,, this station operation therefore makes the host remember the performance of the system': therefore s and other The execution delay of the command affects the execution of the routine operation in the scene, except when the host is not ready to send the command, it becomes idle for the rest of the time to do this: ^When or if the host will be in the line for the execution - from the host this Cloth special command in the foreground enforcement of the terms frequently does not require the routine 131567.doc -26- 200915072 routine operations in order to ensure the implementation of these operations frequently enough. Sometimes, it is also necessary to perform this routine operation as quickly as possible, such as by performing a regular clear read scan of the data stored in the block or by reading a bad quality when executing the host read command. Information on the condition of the presence of information on poor quality. Since the data of the bad quality can be downgraded due to the continued operation of the ticker system, it is not an option to wait for the re-sale of the information of the bad quality in the background. The use of individual memory cell blocks is described in 纟© Patent Nos. 6,230,233, 6,985,992, L,973,531, 帛7, 〇35,967, 帛7, 〇96,313, and 7,120'729. Several different wear leveling techniques for cycle counting. The main advantage of wear leveling is to prevent some blocks from reaching their maximum cycle count when other blocks are almost unused and thus have to be mapped out of the system. By reasonably evenly spreading the number of cycles throughout all blocks of the system, good performance characteristics can be maintained throughout the extended period of memory. The wear leveling can also be performed without maintaining the memory block circulation and the number of juices, as described in U.S. Patent Application Publication No. 2004/J1, 697, A1. In another method for wear leveling, the boundary between the physical regions of the block is gradually migrated across the array of memory cells by incrementing the logical-to-physical block address by one or more blocks. This is described in U.S. Patent No. 7,120,729. The main reason that some blocks of memory cells are subjected to a much larger number of erase and reprogramming cycles than other blocks of the memory system is that the host continuously rewrites the data sectors in relatively few logical block addresses. This can happen in many applications of memory system I31567.doc -27- 200915072, where the host continuously updates the instance data stored in memory A & some logical sections (such as the slot configuration table (four) D) and Analogs) The specific use of the host can also cause some of the logical blocks to be rewritten much more frequently than other logical blocks with user data. In response to receiving from the host - a command to write the data to the specified logical block address, the data is written to one of the blocks of the erase block set. That is, the logical block address is remapped into one of the erase block chunks instead of rewriting the data to the same physical block in which the original data of the same logical block address resides. The block containing the original and now invalid material is then erased immediately or as part of a later garbage collection operation and then placed in the erase block pool. When only the data in some logical block addresses are updated much more frequently than the other blocks, the result is that relatively few physical blocks of the system cycle at a higher rate. For the reasons given above, it is of course necessary to provide within the memory system the ability to equalize wear on the physical block in the event of this very non-uniform logical block access. When Tian Zi's data unit read by the hidden body contains some errors, the error can usually be corrected by using the ECC carried by the data unit. However, the level of charge stored in the data unit has been removed from the state it was originally programmed to. Therefore, it is necessary to clear or renew the data by rewriting the correction data to other places in the memory system. The data can therefore be overwritten with its charge level positioned near the middle of the discrete charge level range defined by its storage state. 'When the data is read during the execution of the host read command, and usually scanned by 131567.doc -28- 200915072 in some memory blocks (clear scan) (especially relative to Other data and not read by the host during the long period of time ^ their data), can be said to detect such bad quality information. It can also be executed as follows: 于, 扫% 贞 所 所 所 所 所 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , The charge level of the bit can be restored back to the center of its state range from time to time before the charge-interference operation of the step causes the ί 八 to move out of its defined range and thus cause the reading of the erroneous data. In March, 2007 U.S. Patent Nos. 5,532,962, 1 '1/69^49, and 2,835, the disclosures of which are incorporated by reference in the U.S. Patent No. 4, and No. 11/692,829. Process. _ = Scheduling in a way that minimizes the impact on the performance of the I system does not require prior routine operations for the order. In US Patent t;::7 006/0161724 A1^^^〇〇6/ 〇 161728 Am some = row host command period scheduling control of a pair of enabling routine operations of the operations that will be performed. Because routine operations in the background or foreground can affect the performance of data transfer, such execution is Its very large amount of system performance: in the case of L, the number of files in the s The number of consecutive top ten 枓 写 写 写 非常 非常 ! ! ! ! ! ! ! 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆Is the video or audio "tf wants or expects high performance). It is not necessary to perform a routine operation that is not required for the memory to perform the current write or read command in the memory system. This causes the host to interrupt the transfer during this process. In the case of a delay, the longer the delay of the resource buffer may be exceeded and the data from the stream may be lost, the longer the data buffer needs to be configured to provide a lossless transfer of the data stream ( Even the average read or write rate is sufficient, ,). Video or audio data streams should not be interrupted in particular when they are in progress, which can interrupt the human user's appreciation of the video or audio content. Referring to Figure 9, an illustrative method of operating a memory system to avoid such interruptions and performing such routine operations as appropriate is shown. (3) The section will be executed; the annotation of the routine operation begins the process. This routine operation can be, for example, abrading, leveling, skimming, &&<>, preemptive bedding waste collection or merging - 5 of these operations - above, _ ^ ^ ^ The order is both necessary and beneficial. The determination of routine operations can be noted by ^ 〃 for any particular host. For example, the ancient was triggered, since the last execution of wear leveling. 17 4 ‘It system spontaneous wear leveling operation. Similarly, the :== block is erased and the scan is taken. Then, in response to the clearing of the data below the level of the read data clearing & to an acceptable me, except for the read scan or the normal start of the new data. Or, when triggered, can be two = all of these routine operations, 1 in the ^ column

中之且古异古過程接者在221處進行佇列 中之具有取馬優先權的例行操…J 如何觸發或確定例行操作並不重、輕而言, 操作之特定演算法來判定的 ,係、由用於個別例行 131567.doc -30· 200915072 〜在223^4 ’判定此時是否正執行主機命令。圖9之過程判 =應在前台中(在執行主機命令期間)還是應在背景中(當記 =糸統未執行主機命令或根本無主機命令時)執行221處所 :別之例行操作。在被賦能之後是否或何時實際上執行例 订呆作將通常視用於該例行操作之演算法而定且 關於圖9所描述之賦能過程之部分。 ίThe middle and the ancient process picker performs the routine operation of taking the horse priority in the queue at 221... How to trigger or determine the routine operation is not heavy or light, the specific algorithm of operation determines The system is used by the individual routines 131567.doc -30· 200915072 ~ at 223^4 ' to determine whether the host command is being executed at this time. The process of Figure 9 = 221 should be performed in the foreground (during the execution of the host command) or in the background (when the system command is not executed or no host command at all): other routine operations. Whether or not the actual execution of the stipulation after being enabled will generally depend on the algorithm used for the routine operation and is part of the enabling process described with respect to FIG. ί

U =子在當前正執行之主機命令,則在225處判定是否存 =導致所確定之㈣操作被去能或推遲(根肋7)而非被 K根據235)的主機㈣之特定模式。通常,在前台中將 不賦能對於執行當前主機命令而 ⑥要之例行操作的執 (進订此將可能不利地影響該命令之執行,諸如導致 二良資料流至或自主機之轉移)。例行操作之前台 仃疋否將具有此效應視主機活動模式的特性而定。 2較佳實施例中,使用主機活動模式之三 二參數以在225處作出決定。第-標準為在執行該命令時 記憶體或自記憶體讀取之資料的長度。許多主機 h之仏頭包括含有藉由該命令而被轉移之資料之長 :::將此數目與一預設臨限值相比較。若高於臨限:: =:!料ΓΓ長的資料轉移,且可能為視訊及,或 二:科流。在此狀況下,不賦能例行操作。若該命令並 時:其:長ΪΓ料,則在接收資料區段或其他資料單元 夺對其進以數以查看總數是否超過㈣臨限值 在主機可藉由單個命令轉移的資料區段之—… 將預設臨限值設定為此數目或大於(例如)此=二 131567.doc 200915072 某數目。 =於在圖9之225處作出決定的第二標準係當前命令令所 A 初始LBA與先則命令(其通常為相同類型之緊接在 j面的命d貝料寫入、資料讀取等”中所規定之結尾LBA 的關係若此等兩個LBA之間不存在間隙,則此指示 該兩個命令正轉移單個長資料流或大檔案。在彼狀況下, 不賦月"*例仃操作之執行。即使當在此等兩個LBA之間存在 某·1間隙:時,此仍可指示存在正轉移之連續長資料流。 在225中,判定此等兩個LBA之間的間隙是否小於 預又數目之LB A。若小於,則去能或推遲例行操作。若並 不小於’則可賦能例行操作。 —通常藉由兩個或兩個以上之更新區塊來操作記憶系統, 資料自兩個或兩個以上之各別標案或資料流被寫入至該兩 個或兩個以上更新區塊中。資料至此等兩個或兩個以上更 :區:的寫入通常係交錯的。在此狀況下,在相同檔案或 ^料/’IL之寫入命令之間而非在用以將不同檔案之資料寫入 至不同更新區塊之命令之間比較Lba。 供在225處使用之第三標準涉及主機之操作速度。此可 以一或多種方式來㈣。與速度相關之一個參數係當記憶 系統否$其繁忙狀態信號時與當主機開始發送另一命令或 資料單元時之間的時間延遲。若該延遲長,則此指示主機 正執行某種減緩其操作之處理。可在此狀況下賦能一例行 操作’因為其執行將可能不減緩主機之操作,或至少將僅 最低程度地減緩主機之操作。但若此延遲短,則此指示主 131567.doc •32. 200915072 機&速如作,且應去能或推遲任何未決之例行操作。因 此可設定一時間臨限值。若實際時間延遲小於該臨限值, 則不賦能例行操作。 “另與速度相關之參數係主機選擇使用之資料轉移速 率。並非所有主機皆以不同資料轉移速率來操作。但對於 彼等以不同資料轉移速率來操作之主機而言,當資料轉移 速率高於-預設臨限值時,不賦能例行操作,因為此指示 主機正快速操作。可將主機時間延遲或資料轉移速度之任 何臨限值設定於伊被极 能夠操作)之間的某處。…又極&(主機在該等極端下 處決定可賦能例行操作,則接著在加處考慮是 子決之具有更高優先權的附加操作。舉例而古,可 能::執行允許執行當前命令所必要之某一附加操二諸 資料合併。在此狀況下,將去能或至少推遲 3亥例仃刼作,直至完成牯w 損調my 另一實例係已確定磨 " 仃、,但依據讀取清除掃描或其他資料讀取來 複製資料變得有必要之情況。當進行讀取清除資 (再新)時,將去能或推遲磨損調平操作。 若在233處判定衫在當前正執行之主機命令,則 :顧主機活動之特性’以判定是否可在背景中在 =主機命令之間執行所確定之例行操作二 ΓΓ可能不同,但其類似於上文所描…二 節,除了將該等標準應用於最近執行之命 广 存在當前正執行之主機命令 (因為不 )右最近命令(例如)指示正轉 131567.doc •33- 200915072 移連續資料流或主機正 在-處作出不應在彼時賦::::=模式操作,則 225處對前台操作之效應。另—標二=在其類似於 係單獨戋妹人, 千1再並不存在於223處) 于早獨次—其他主機模式標準 兔) =非活動之時間量以作出決定。舉例而 操作除非主機之前剛好以極端快速模式操作。U = the child is currently executing the host command, then it is determined at 225 whether there is a specific mode that causes the determined (d) operation to be de-energized or deferred (root rib 7) instead of the host (four) according to 235). In general, the execution of the routine operation required to execute the current host command will not be granted in the foreground (subscribing to this may adversely affect the execution of the command, such as causing the transfer of Erliang data to or from the host) . Before the routine operation, the effect of this mode depends on the characteristics of the host activity mode. In the preferred embodiment, the three parameters of the host activity mode are used to make a decision at 225. The first criterion is the length of the data read from the memory or from the memory when the command is executed. Many host h headers include the length of the data that is transferred by the command ::: Compare this number to a preset threshold. If it is higher than the threshold:: =:! The data is long, and may be video and, or two: branch. In this case, no routine operation is allowed. If the order is concurrent: it: long data, in the receiving data section or other data unit to count the number of them to see if the total exceeds (four) threshold in the data section of the host can be transferred by a single command —... Set the preset threshold to this number or to a number greater than (for example) this = two 131567.doc 200915072. = The second standard that makes the decision at 225 of Figure 9 is the current command order A initial LBA and the pre-order command (which is usually the same type of d-material write, data read, etc. If there is no gap between the two LBAs specified in the paragraph, this indicates that the two commands are transferring a single long stream or a large file. In the case of the case, the month is not assigned.执行 Execution of the operation. Even when there is a certain gap between the two LBAs: this can indicate that there is a continuous long data stream with a positive transition. In 225, the gap between the two LBAs is determined. Whether it is less than the pre-numbered LB A. If it is less than, it can defer or postpone the routine operation. If it is not less than ', it can be routinely operated. - Usually operated by two or more update blocks Memory system, data from two or more separate standards or data streams are written to the two or more update blocks. Data to two or more more: zone: write Into the usual interlaced. In this case, in the same file or ^ / IL write command The Lba is compared between commands used to write data of different files to different update blocks. The third standard for use at 225 relates to the operating speed of the host. This can be done in one or more ways (4). One parameter related to speed is the time delay between when the memory system fails its busy state signal and when the host begins to send another command or data unit. If the delay is long, this indicates that the host is performing some kind of slowing down Handling of operations. A row operation can be enabled in this situation 'because its execution will not slow down the operation of the host, or at least will only slow down the operation of the host to a minimum. However, if this delay is short, this indicates the main 131567 .doc •32. 200915072 Machine & speed and should be able to defer or postpone any pending routine operations. Therefore, a time threshold can be set. If the actual time delay is less than the threshold, no power is applied. Line operation. “The other speed-related parameter is the data transfer rate selected by the host. Not all hosts operate at different data transfer rates. However, they are transferred to different data. For a host operating at a rate, when the data transfer rate is higher than the preset threshold, the routine operation is not enabled because it indicates that the host is operating quickly. Any delay of the host time or data transfer speed can be imposed. The value is set somewhere between the Iraqi poles can be operated). ...and the extreme & (the host decides that the routine operation can be enabled at these extremes, and then considers the additional operation with higher priority in the addition. For example, the old one may: execute the execution In the current situation, one of the additional operations required by the current order is merged. Under this circumstance, it will be able to delay or at least postpone the operation of 3 hai, until the completion of the 牯w loss adjustment my other instance has been determined to grind " However, it is necessary to copy the data according to the read-and-clear scan or other data read. When the read-and-removal (renew) is performed, the wear leveling operation will be deferred or delayed. If the shirt is judged at 233 In the host command currently being executed, then: the characteristics of the host activity 'to determine whether the determined routine operation can be performed between the = host commands in the background may be different, but it is similar to the above... Section 2, except that the criteria are applied to the most recent execution of the host command currently being executed (because no) the rightmost command (for example) indicates a forward rotation 131567.doc • 33- 200915072 Move continuous data stream or host positive - The place should not be assigned at the time::::= mode operation, then the effect of 225 on the foreground operation. The other - the second two = in its similarity to the individual sister, the thousand does not exist at 223 ) Early in the morning - other host mode standard rabbits) = amount of inactivity to make a decision. For example, operate unless the host was just operating in extreme fast mode.

除了在237處去能或推遲前台中之例行操作之外 :地=所確定之操作以展開系統效能上之負擔。舉例而 二=行資料寫入命令期間,可在將每一叢集或其他資 早疋寫入至記憶系統中之後賦能全部或-部分操作。可 將此決定為225之過程的部分。舉例而言,可使用主機回 應於由記憶系統對其繁忙狀態信號之否定的時間延遲來決 定應同時賦能所確定之例行操作的量以供執行。此執行通 常涉及將多個資料頁自一個記憶體單元區塊轉移至另一記 憶體單元區塊或在兩個區塊之間交換頁,因此可以連續時 間來轉移該等頁之小於所有之頁,直至所有頁得以轉移。 隨著主機之延遲減小,經賦能以同時執行之部分例行操作 減少直至達到操作根本未被賦能之點。 用於在237處推遲或去能例行操作之確定的特定技術之 實例係主要關於上文所提及之美國專利申請公開案第 2006/0161724 A1號之圖14A、圖14B及圖14C以及上文所提 及之美國專利申請公開案第2006/016 1728 A1號之圖13A、 圖13B及圖13C來描述的。 131567.doc -34· 200915072 在圖9中所說明之 -定意謂該操作之執行 例仃刼作在235處之賦能不 過度影響記憶之後立㈣始。當可在不 之過程所進行之摔作❹執行—例行操作時,射 能例行操作之執行,"::間間隔。在此等週期期間賦 關於在例行操作之執==將執行哪-操作。此外, 何時將執行所識別之::::Γ何特定時間期間叫 決定。 !仃刼作由該所識別之例行操作自身 2 3 1:在上Λ所广述之標準中的任-者的基礎上作出2 2 5及 处之、疋(是否賦能例行操作)而不考慮其他標準。舉例 料导声I藉由僅分別查看當前命令或緊接之先前命令的資 广或僅查看一先前命令之其開始lba與最後ΜΑ之間 的間隙來作出衫。“,較佳利用上文所描述之標準中 之兩者或兩者以上來作出決定。在彼狀況下,若該兩個或 兩個^上標準中之任_者認可主機操作中之指示不應賦能 例仃#作的模式’則較佳使得該例行操作被去能或推遲。 圖10中給出使用多個標準用於作出225之決定之一實 例。在241處,以上文所描述之方式,將當前命令之第一 先前命令之最後LBA相比較。若此比較展示兩個命 7之貝料係連續的,則處理進行至圖9之237,其中去能或 推遲所確定之例行操作。 但右在24 1處並未判定該等資料係連續的,則量測回應 於虽毗主機命令而被轉移之資料的長度,並將其與一臨限 值N相比較。在圖1〇之243處,自主機命令讀取資料之長 131567.doc •35· 200915072 度,且在247處將此長度與臨限值N相比較。若長度超過 二,則此指示長或連續之資料轉移,因此去能或推遲例行 操作(圖9之237)。但若該命令並未識別到該長度之資料, 則在245處對所轉移之資料單元進行計數直至達到臨限資 料長度N,在此狀況下,去能或推遲例行操作。 /旦若資料之長度由243、245及247判定為N或更小’則執 行-第三測試’如圖1()之249處所指示。在249處檢查主機In addition to being able to or delay the routine operations in the foreground at 237: Ground = the determined operation to unfold the burden on the system. For example, during the two-line data write command, all or part of the operation can be enabled after each cluster or other resource is written to the memory system. This can be determined as part of the 225 process. For example, the host can be responsive to the time delay of the memory system's negative state of its busy state signal to determine the amount of routine operation that should be simultaneously enabled for execution. This execution typically involves transferring multiple data pages from one memory unit block to another or exchanging pages between two blocks, so that less than all pages of the pages can be transferred in a continuous time. Until all pages are transferred. As the latency of the host decreases, some of the routine operations that are enabled to perform simultaneously are reduced until the point at which the operation is not energized at all is reached. Examples of specific techniques for deferring or de-determining routine operations at 237 are primarily related to Figures 14A, 14B and 14C of the above-referenced U.S. Patent Application Publication No. 2006/0161724 A1 and above. The descriptions of Figures 13A, 13B and 13C of U.S. Patent Application Publication No. 2006/016 1728 A1 are incorporated herein by reference. 131567.doc -34· 200915072 Illustrated in Figure 9 - Defining the execution of the operation Example 赋 The empowerment at 235 does not overly affect the memory (4). When it is possible to perform a routine operation in a non-process, the execution of the routine operation, ":: interval. During these periods, the assignment is performed on the routine operation == which operation will be performed. In addition, when the identified:::: will be called for a specific time period. !例 例 识别 识别 识别 识别 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: 1: No other criteria are considered. The sample guide I makes the shirt by viewing only the current command or the immediately preceding command, or only the gap between the start of the previous command and the last command. "It is preferred to make a decision using either or both of the criteria described above. In this case, if the two or two of the above criteria are approved, the indication in the host operation is not It should be better to make the routine operation de-energized or postponed. Figure 10 shows an example of the decision to use multiple criteria for making 225. At 241, the above text In the manner described, the last LBA of the first previous command of the current command is compared. If the comparison shows that the two lifespans are consecutive, the process proceeds to 237 of Figure 9, where the determination can be made or delayed. Routine operation. However, if the right does not determine that the data is continuous at 24 1 , then the measurement responds to the length of the data transferred by the host command and compares it with a threshold N. At 243 in Figure 1, the length of the data read from the host command is 131567.doc • 35· 200915072 degrees, and this length is compared with the threshold N at 247. If the length exceeds two, the indication is long or continuous. The transfer of data, so can go or delay the routine operation (237 of Figure 9). If the order does not identify the length of the data, then the transferred data unit is counted at 245 until the threshold data length N is reached. Under this condition, the routine operation can be deferred or postponed. Determined by 243, 245, and 247 as N or less 'Execute - Third Test' as indicated at 249 of Figure 1(). Check host at 249

之延遲或操作速度的-或多個態樣,並將其與-或多個各 別臨限值相比較,如上文所描述。若主機正以高速率來操 作,則該過程進行至237(圖9μχ去能或推朗確定之例行 刼作’但若主機正以低速率來操作,則該過程進行至出 以賦能該操作之執行。 儘官圖10中展示了二個、、目丨丨4 m 丁了 一個測5式之使用’但可消除該等測試 任—者且仍提供良好之系統管理。此外,可添加額外 =特定言之,在249處,可獨立檢查兩個或兩個以上 主機疋時參數以查看是否^ 疋否而要去“推遲例行操作。若該 寺疋時參數中之任一者指 p ^ #知主機朝一可能範圍之快速跬 則去能或推遲例行操作。"當在上文論述中提及 ;:命令之特性時之外,可進行-類似過程以在圖9之231 處作出改為使用腎拉力兑 之31 用緊接在則面之命令的特性的決定。 圖11及圖12中展示主機及記 a ^〇己隐系統執行主機資料窝入今 7之操作的實料序圖以 β ,.„ 入0抱述之一些内交〇固 11展示由記憶系統自主機接 圖 > 钱收之弟一命令259,技基* / 接收並被寫入至主機之緩接者為經 α Κ體中的兩個資料單元% 1 131567.doc -36 - 200915072 及263。在緊接在接收到該等資料單元中之每一者之後的 時間t4及t7確定一記憶體繁忙狀態信號265,且維持該信號 265直至分別在時間267及269期間將該等資料單元中之每 一者寫入至非揮發性記憶體中。當確定繁忙狀態信號時, 主機並不傳輸任何資料或命令。緊接在資料寫入267之 後’在時間t5否定繁忙狀態信號265以使得主機能夠將更 多資料或另一命令傳輸至記憶系統。賦能例行操作以用於 在時間271(在此說明性實例中,該時間271緊接在資料寫 入週期269之後)期間在前台中執行’因此在時間t9之前並 未否定記憶體繁忙狀態信號265。 圖Π之曲線2 7 3指示何時已判定去能或推遲(低曲線)一例 行操作之賦能(圖9之237)或賦能(高曲線)此操作(圖9之 235)。在此狀況下,當記憶系統自主機接收到命令時,將 例行操作展示為在時間1丨被賦能。若可應用對於此命令而 言較早之可應用以作出彼選擇的標準,則將為此狀況。若 該命令含有伴隨該命令之該長度的資料’且此實例之僅兩 個資料單元降低至設定臨限值以下,則彼測試(圖1〇之241) 導致不去能或推遲該操作。亦可在此較早階段將開始lba 與此時之前的先前資料寫入命令的最後LBa相比較,以便 應用彼標準(圖10之243、245及247)。但時間tl過早以致於 在執行命令259時不能量測主機之回應中的任何延遲(圖1〇 之249) ’因此在圖u之此實例中,不使用主機定時標準。 已自圖10之24!及243/245/247的標準作出圖"之時間"處 之可賦能一例行操作的決定。 131567.doc -37- 200915072 此當在圖10之243處自命令自身讀取資料長度時,對於一 些主機而言存在該命令可在轉移資料之彼長度之前被中止 的可此性。可藉由檢查在該命令之執行快結束時所轉移之 :資料的實際長度來考慮此可能性。若已由於特定命令之長 貧科長度而去能或推遲一例行操作,則此添加之檢查可在 偵測到該命令之較早終止的情況下使得撤銷該決定。在完 成該主機命令之執行之前,可接著改為賦能該例行操作。 县卜纟j狀況τ’主機發送—具有—可擴充或非常 時2 =度的命令,且接著在稍後當所有資料已被轉移 標準,因為其並不可=可不將資料長度用作- 的卜古 +了罪5戈者’可推遲是否賦能例行操作 ,、疋直至接收到停止命令,日^ ^ ^ ^ ^ ^ ^ 料的實際量係已知I若彼資料:藉由該命令所轉移之貧 右彼貝科罝小於設定臨限值,則可 賦此例行操作,使得可在主機 例行操作。 之執仃結束之如執行該 t二自:ΓΓΓ意到,儘管例行操作之執行係在時間 被H但直至時間财執行例行操作。此係 。令259所接收之最後:## 之後但在已接收到新命令275之/非揮發性記憶體中 操作一先將藉由當前Si命例行 冩入至非揮發性記憶體中 負付 之執行。但可替代地更早執能快地完成主機命令 寫入時間間隔267之後執行一第二^操作。又’可緊接在 效能要求准許該第二例行操作)。緊:操作(若記憶系統之 贫接在一記憶體寫入之 131567.doc •38· 200915072 y執行f列行操作通常最有效,但此亦非一 中所描述之操作技術所完成之主要事情传界:要求。本文 行操作之時 界疋可執行-例 〈吁間由’但管理此等界定窗内之 由:行操作自身或其他系統勃體來決定。$序的細節 當將主機定時用作標準(圖1G之249)中之—“ 量測日容或多者時, 推遲於圖11中)並將其用於決定是否去能或 ^該時=1 疋否賦能例行操作。—個此時間間隔係〜 否定之省n °糸主機在&己憶體繁忙狀態信號在時間t5被 之後開始發送資料單元263所花費的時間 間隔短(在某一設定臨限值以下),則 此㈣ 速率操作以將資料轉移至記:、機係以-高 間將不執行例行操作。伸料門 ^速度之轉移期 該打間間隔比臨限值長,則可 1 =並不操作得特別快,因此無需推遲或去能例行操作 以相方式使用之另—時間間隔係時間間隔队训。 〜、主:在繁忙狀態信號265於時間t9被否定之後、在執 ^先别命令之後發送另—命令所花費的時間。當在—可 :耗圍之短端(在一設定臨限值以下)時,此展示主機正以 快速模式操作’因此不執行例行操作。 I使用之另—定時參數係由主機選擇之資料轉移速率。 較南速率指示^應賦能例行操作,因為此將可能減慢資料 :移。可在圖10之處理249中單獨使用此等定時參數中之 者或可獨立地分析兩個或兩個以上定時參數。 圖12係展示―不同實例操作之時序圖。在此狀況下,貫 I31567.doc -39- 200915072 穿一第一主機命令277之執行而去能或推遲例行操作在前 台中之執行,因為主機模式滿足圖9之奶的不執行例行操 作的標準。但在時間t7(當完点勃a八 ’、 ^ (几成執仃命令277時)與時間t9(此The delay or the - or multiple aspects of the operating speed are compared to - or a plurality of respective thresholds, as described above. If the host is operating at a high rate, then the process proceeds to 237 (Fig. 9 χ 能 推 推 推 推 推 确定 ' ' 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但 但Execution of the operation. The two figures shown in Figure 10 are shown in Figure 4, but the use of a test type 5 is 'but the test can be eliminated' and still provides good system management. In addition, you can add Extra = In particular, at 249, you can independently check two or more host time parameters to see if ^ 疋 no and you want to "delay the routine operation. If the temple parameter is any of the parameters p ^ # know the host to a possible range of speeds can go or delay the routine operation. "When mentioned in the above discussion;: the characteristics of the command, can be carried out - similar process to Figure 231 The decision was made to use the characteristics of the command to use the kidney pull to match the command in the face. Figure 11 and Figure 12 show the host and the operation of the host system. The sequence diagram is shown in Fig. β,. From the host connection diagram> The money received by the brother one command 259, the base* / the receiver that is received and written to the host is the two data units in the alpha body. % 1 131567.doc -36 - 200915072 And 263. determining a memory busy state signal 265 at times t4 and t7 immediately after receiving each of the data units, and maintaining the signal 265 until the data is available during times 267 and 269, respectively. Each of the cells is written to the non-volatile memory. When determining the busy state signal, the host does not transmit any data or commands. Immediately after the data write 267, the busy state signal 265 is denied at time t5. Enabling the host to transfer more data or another command to the memory system. The routine operation is enabled for use at time 271 (in this illustrative example, the time 271 is immediately after the data write period 269) Execution in the foreground' therefore does not negate the memory busy status signal 265 before time t9. Figure 2's curve 2 7 3 indicates when it has been determined to de-energize or postpone (low curve) the enabling of a row operation (237 of Figure 9) ) or empowerment Line) This operation (235 of Figure 9). In this case, when the memory system receives a command from the host, the routine operation is shown as being enabled at time 1. If it is applicable earlier for this command If it is applicable to make the criteria for the selection, then this will be the case. If the order contains the data accompanying the length of the command' and only two data units of this instance fall below the set threshold, then the test ( Figure 241) causes the operation to be disabled or delayed. It is also possible to compare the starting lba with the last LBa of the previous data write command before this time in order to apply the standard (Fig. 10, 243). , 245 and 247). However, time t1 is too early to cause any delay in the response of the host when executing command 259 (249 of Figure 1). Thus, in this example of Figure u, the host timing criteria are not used. The decision to make a row operation has been made from the standard of Fig. 10 and the standard of 243/245/247. 131567.doc -37- 200915072 When reading the data length from the command itself at 243 of Figure 10, for some hosts there is a possibility that the command can be aborted before the length of the data is transferred. This possibility can be considered by examining the actual length of the data transferred at the end of the execution of the command. If a row operation has been deferred or delayed due to the length of the particular command, the added check may cause the decision to be revoked if an earlier termination of the command is detected. The routine operation can then be enabled instead of completing the execution of the host command. County 状况 状况 状况 主机 'host send - has - expandable or very time 2 = degree command, and then later when all data has been transferred standard, because it can not = can not use the length of the data - The ancient + sin 5 Ge' can delay the routine operation, and until the stop command is received, the actual amount of the ^ ^ ^ ^ ^ ^ ^ material is known as I if the data: by the order If the transferred poor right-shelled 罝 is less than the set threshold, this routine operation can be assigned so that it can be routinely operated on the host. The end of the execution is as follows: arbitrarily, although the execution of the routine operation is performed by H but until time. This is the system. Let 259 receive the last: ## but after receiving the new command 275/non-volatile memory, the operation will be performed by the current Si routine to the non-volatile memory. . However, it is alternatively possible to perform the second command operation after the host command write interval 267 is completed earlier. Also, the second routine operation can be permitted immediately following the performance requirement. Tight: operation (if the memory system is poorly connected in a memory write 131567.doc •38· 200915072 y, the implementation of the f column operation is usually the most effective, but this is not the main thing done by the operation technology described in one Boundary: Requirement. The timeline of the operation of this article is executable - the case is called by 'but manages the definition of the window: the operation itself or other system is determined. The details of the sequence are when the host is timed. Used as a standard (249 of Figure 1G) - "when measuring the day or more, deferred in Figure 11" and used to determine whether to go or ^ then 疋 赋 No enable routine operation - This time interval is ~ Negative province n ° 糸 The time interval between the host's busy state signal and the start of the transmission of the data unit 263 after the time t5 is short (below a certain threshold) , (4) Rate operation to transfer data to the record:, the machine will not perform routine operations in the -high interval. The transition period of the extension door ^ speed is longer than the threshold, then 1 = and Not working very fast, so there is no need to postpone or go to routine operations to the side The other time interval is the time interval team training. ~, the main: after the busy state signal 265 is denied at time t9, after the execution of the first command, the time taken to send another command. When the short end of the circumference (below a set threshold), the display host is operating in fast mode 'so no routine operation is performed. I use the other - the timing parameter is the data transfer rate selected by the host. The indication ^ should be enabled for routine operation as this would potentially slow down the data: shift. Any of these timing parameters can be used alone in process 249 of Figure 10 or two or more timing parameters can be analyzed independently. Figure 12 is a timing diagram showing the operation of different instances. In this case, I31567.doc -39- 200915072 wears a first host command 277 to perform or delay the execution of the routine operation in the foreground because the host The pattern satisfies the criteria for the routine operation of the milk of Figure 9. However, at time t7 (when the point is ab', ^ (several 277 commands) and time t9 (this)

後之預设時間)之間的主播X 機不錢之過長延遲(諸如-毫秒) 係圖9中之231中的標準中之一 者,其可用以決定可賦能一 例行操作以在背”執行(即使用以執行命令277之主機活 動的特性可另外決定不應賦 ' 唧此具之執仃)。一例行賦能作 號接著在時間t9變得具有活動 ° I王五在已執仃例行掉作 283之後的111返回至非活知 m%統發送之繁忙 信號285在於時間t7完成執 ’、 ^ ^ , ^ f 7 277之後的某一時間内保 1 時間週期期間,記憶系統實際上選擇賦能 =中而非在前"執行例行操作。此意 订操作283期間自主機接收—命令,在此狀 不終止其執行,以使得可執行該主機命令。將不仔 結束語 儘管已描述了若+ 干特疋實施例及其可能變化,但將理 ,本發明享有在附加申$ 的權利。 甲-專利乾圍之完整料内受保護 【圖式簡單說明】 圓1A及圖1B分別係— 系統的方_ ; ⑽作之非揮發性記憶體及主機 =說明圖1A之記憶體陣列之第—實例組織; 記恃體I::實例主W料區段,其具有如儲存於圖1A之 隐體陣列中的附加資料; 131567.doc •40- 200915072 圖4說明圖i a之記憶體陣列 第—實例組織,· 圖5說明圓〗a之記憶體陣列 一 禾一貫例組織; 圖6展示圖1 a之記憶體陣列之笼= 弟二實例組織的擴展;After the preset time), the anchor X machine does not have a long delay (such as - milliseconds). One of the criteria in 231 of Figure 9 can be used to determine that a row operation can be enabled to Back" execution (even if the characteristics of the host activity used to execute command 277 can additionally determine that it should not be assigned to the 仃 唧 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 The busy signal 285 that has been executed after the routine is dropped to 283 and returned to the non-active m% system is stored during the time period of the period 1 after the completion of the operation of ', ^ ^, ^ f 7 277. The memory system actually selects the enable = medium rather than the previous "execute routine operation. This is intended to be received from the host during the operation 283. The command does not terminate its execution so that the host command can be executed. Abridged Although the embodiment has been described and its possible variations, it is reasonable to understand that the present invention enjoys the right to attach an additional claim. A - The patent is protected within the complete material [Simplified illustration] 1A and Figure 1B are respectively - the system of the system _; (10) Emissive memory and host = description of the first embodiment of the memory array of FIG. 1A - example organization; record body I:: instance main W material section with additional data as stored in the hidden body array of FIG. 1A; .doc •40- 200915072 Figure 4 illustrates the memory array of the Figure ia - example organization, Figure 5 illustrates the memory array of the circle a - consistent example organization; Figure 6 shows the cage of the memory array of Figure 1 a = Extension of the second instance organization;

圖7係在一特定組態中圖1A 之陣列之一記憶體單元群 的電路圖; 圖8說明圖1A之記憶體陣列之—實例組織及使用,· 圖9係一操作流程圖,其說明先前所說明之記憶系統之 操作,該操作將賦能例行操作之執行; 圖10係一操作流程圖,其提供在圖9之步驟中之—者内 的處理之一實例; 圖11係先前所說明之記憶系統之第/實例操作的時序 圖,其說明圖9之過程;及 圖12係先前所說明之記憶系統之第二實例操作的時序 圖,其說明圖9之過程。 【主要元件符號說明】 1 記憶體晶片/記憶體積體電路設備/記憶 體陣列設備 3 記憶體晶片/記憶體積體電路設備/記憶 體陣列設備 5 記憶體單元陣列 7 邏輯電路 9 控制器 1 微處理器 3 唯讀記憶體(ROM) 131567.doc -41 - 200915072 25 緩衝記憶體(RAM) 27 電路 29 電路 31 連接 31' 連接 33 電路 35 介面電路 37 微處理器 39 ROM 41 RAM 43 其他電路及子系統 51 使用者資料 53 ECC 55 參數 57 ECC 59 區塊 61 邏輯資料區塊 65 共同源 67 電路 70 電荷儲存電晶體 71 電荷儲存電晶體 72 電荷儲存電晶體 74 電荷儲存電晶體 77 選擇電晶體 131567.doc -42- 200915072 79 選擇電晶體 81 電路 83 線 84 線 213 記憶體單元陣列 215 函數 259 第一命令 261 資料單元 263 資料單元 265 記憶體繁忙狀態信號 267 時間 269 時間 271 時間 273 曲線 275 命令 277 第一主機命令 283 例行操作 285 繁忙信號 BLO-BLN 位元線 Ll-Ln 邏輯群組 PO-Pm 實體區塊 P1-P15 頁 WL0-WL15 字線 131567.doc -43 -Figure 7 is a circuit diagram of a memory cell group of the array of Figure 1A in a particular configuration; Figure 8 illustrates an example organization and use of the memory array of Figure 1A, and Figure 9 is an operational flow diagram illustrating the prior The operation of the illustrated memory system, which will enable the execution of routine operations; Figure 10 is an operational flow diagram that provides an example of the processing within the steps of Figure 9; Figure 11 is the previous A timing diagram illustrating the first/example operation of the memory system, which illustrates the process of FIG. 9; and FIG. 12 is a timing diagram of a second example operation of the memory system previously described, illustrating the process of FIG. [Main component symbol description] 1 Memory chip/memory volume circuit device/memory array device 3 Memory chip/memory volume circuit device/memory array device 5 Memory cell array 7 Logic circuit 9 Controller 1 Micro processing Device 3 Read-only memory (ROM) 131567.doc -41 - 200915072 25 Buffer memory (RAM) 27 Circuit 29 Circuit 31 Connection 31' Connection 33 Circuit 35 Interface circuit 37 Microprocessor 39 ROM 41 RAM 43 Other circuits and sub- System 51 User Data 53 ECC 55 Parameter 57 ECC 59 Block 61 Logical Data Block 65 Common Source 67 Circuit 70 Charge Storage Silicone 71 Charge Storage Silicone 72 Charge Storage Silicone 74 Charge Storage Silicone 77 Selects the transistor 131567. Doc -42- 200915072 79 Select transistor 81 Circuit 83 Line 84 Line 213 Memory cell array 215 Function 259 First command 261 Data unit 263 Data unit 265 Memory busy status signal 267 Time 269 Time 271 Time 273 Curve 275 Command 277 One host command 283 routine operation 285 busy signal BLO -BLN Bit Line Ll-Ln Logical Group PO-Pm Physical Block P1-P15 Page WL0-WL15 Word Line 131567.doc -43 -

Claims (1)

200915072 十、申請專利範圍·· 化之非揮發性記憶系統之方法, L 種操作—可重新程式 其包含: 自-主機接收命令並執行該等所接收之命令, 至少關於該等所接收之命令來監視該主機之活動模 工、及 -硪別一第一主機活動模式時,賦能執行一例行200915072 X. Patent application scope · Method of non-volatile memory system, L operations - reprogrammable includes: The self-host receives commands and executes the received commands, at least with respect to the received commands To monitor the active mode of the host, and to identify a first host active mode, enable a row of execution 該例行操作係對於執行自該主機接收之該等命a 中之一者而言不需要的類型,或 7 不賦能該例行操作之執行 當識別-不同於該第-模式之第二主機活動模式時, 2. 如w求項丨之方法’其另外包含回應於該第—主機活動 核式被識別,執行該經賦能之例行操作之至少一部分。 3. 如請求項2之方法’其中執行該經賦能之例行操作包括 自該記憶系統之-位置讀取一資料區塊,且此後將該所 讀取之資料寫入至該記憶系統之另一位置中。 4’如請求項!之方法’其t自—主機接收命令並執行該等 所接收之命令包括接收並執行(1) 一寫入命令,以將藉由 該命令而自該主機接收之資料寫入至由該寫入命令所規 定之該記憶體之邏輯位址中;或(2)一讀取命令,以自由 該讀取命令所規定之該記憶體之邏輯位址讀取資料並將 該所讀取之資料發送至該主機。 5· ^請求項4之方法,其中該第二主機活動模式包括由該 等命令中之一者所規定之超過一預設數目之資料單元的 131567.doc 200915072 一定數目之資料單元,且其中該第一主機活動模式包括 數目小於該預設數目之此等資料單元。 6·如請求項4之方法’其中該第一主機活動模式包括在由 該等命令中之一當前命令所規定之資料之一開始邏輯位 址與由一先前命令所規定之資料之一結束邏輯位址之間 的一差異之一範圍’其超過邏輯位址之一預設數目,且 其中該第二主機活動模式包括小於該預設數目之該差 異。The routine operation is a type that is not required for execution of one of the equals a received from the host, or 7 is not authorized to perform the routine operation when identifying - different from the second of the first mode In the active mode of the host, 2. The method of requesting the item 'is additionally included in response to the first-host activity nucleus being identified, performing at least a portion of the energized routine operation. 3. The method of claim 2, wherein performing the energized routine operation comprises reading a data block from a location of the memory system, and thereafter writing the read data to the memory system In another location. 4' as requested! The method of 'receiving a command from the host and executing the received command includes receiving and executing (1) a write command to write data received from the host by the command to be written by the host The logical address of the memory specified by the command; or (2) a read command to read the data from the logical address of the memory specified by the read command and send the read data To the host. 5. The method of claim 4, wherein the second host activity mode comprises a number of data units of 131567.doc 200915072 specified by one of the commands over a predetermined number of data units, and wherein The first host activity mode includes the number of such data units that are less than the preset number. 6. The method of claim 4, wherein the first host activity mode comprises starting logic at one of the data specified by one of the commands, and ending the logic with one of the data specified by a previous command One of the differences between the addresses is a range that exceeds a predetermined number of logical addresses, and wherein the second host active mode includes the difference less than the preset number. 7. 如清求項1之方法’其中該第一主機活動模式包括在該 記憶系統向該主機指示該記憶系統不繁忙之後由該主機 作出回應所花費的一持續時間,其超過一預設持續時 間’且其中該第二主機活動模式包括小於該預設持續時 間之該持續時間。 8. 如请求項丨至7中任一項之方法,其中當一繁忙狀態訊息 由"玄。己憶系統發送至該主機時,識別該第一主機活動模 式或s亥第二主機活動模式。 9. 如π求項1至7中任一項之方法,其中當無繁忙狀態訊息 由4圯憶系統發送至該主機時,識別該第一主機活動模 式或該第二主機活動模式。 1 〇 .〆種操作一可會無叙斗. 室新程式化之非揮發性記憶系統之方法, 其包含: / “可時已確定對於執行一自一主機接收之命令 不需要的一例行操作; 判定該主機之活動的至少一參數;及 131567.doc 200915072 右違判定至少一參數滿足至少—預定條 該例行操作之執行,但 〃 丨不賦能 若該匈定至少_ i奴 /數滿足該預定條件,則賦能哕例 盯#作以供執行。 此孩例 11 ·如請求項〗0夕古 行時„ ,/、另外包含當賦能該例行操作之執 執行該例行操作,同時該記憶系統 才曰示發送至該主機,# ,、k狀態 △如請求項1G之方》^ 執行該例行操作。 、另外包含當賦㈣例行操作之執 執行該例行操作,同時該記憶“不將 ",如請求項!。之方At 中執行該例行操作。 員之方法,其中該例行操作包括將資料自該記 統中之-位置重寫至該記憶系統中之另一位置。 月长項13之方,i: ’其中該例行操作資料重寫係'作為— 磨損調平或清除例行操作之部分來執行的。 15·如請求項1()之方法,其中㈣該主機之活動之至少一參 數包括在由該記憶系統執行自該主機接收之該等命令中 之一者期間監視該至少一參數。 16.如請求们〇之方法,其中該至少—參數係由於執行一單 個主機命令而被轉移至該記憶體中或自該記憶體中轉移 出來的資料之邏輯單元之—數目的—計數,該至少一預 定條件包括資料單S之-臨限數目,其中當該計數小於 該臨限數目時,該-參數滿足該一條件,且當計數大於 該臨限數目時,該一參數不滿足該一條件。 17.如請求項10之方法,其中該至少一參數係回應於自該主 131567.doc 200915072 機接收之該命令而被轉移之資料之一開始與在執行一自 該主機接收之先前命令期間所轉移之資料之一結束之間 的一邏輯位址差異,該至少一預定條件包括一預定位址 差異,其中當該邏輯位址差異大於該預定位址差異時, 該一參數滿足該一條件,且當該邏輯位址差異大於該預 疋位址差異時,該一參數不滿足該一條件。 18· U項15之方法’其中該至少一參數包括在該記憶系 統向该主機指示該記憶系統不繁忙之後由該主機回應於 °玄δ己憶系統之-持續時間’該至少-預定條件包括一預 疋夺間祛量,其中當該持續時間小於該預定時間增量 夺該參數滿足5亥一預定條件,且當該持續時間大於 該預定時間增量時,該—參數不滿足該—預定條件。 19 · 士 Μ求項丨i之方法,其中該例行操作包括磨損調平。 20. 如凊求項丨丨之方法,其中該例行操作包括清除。 21. 士 μ求項丨2之方法,其中該例行操作包括磨損調平。 22. 如凊求項12之方法,其中該例行操作包括清除。 23_如明求項1〇之方法,其中該當前接收之命令係個別地包 括資料讀取及資料寫入之一命令群組中的一者。 24.如„月求項23之方法,其中該命令群組另外包括抹除該記 憶體之界定區塊。 種°己系統,其經調適以與—主機系統可移除地連 接’其包含: 可重新程式化之非揮發性記憶體單元之一陣列,該等 非揮發性記憶體單元被組織為記憶體單元區塊,其中該 131567.doc 200915072 等個別區塊之該等記憶體單元可同時抹除, -包括-微處理器之控制器,其操作以: 而5不需要的例行操作; 時已確定-對於執行-自-主機接收之命令 不需尊66么丨仁· 4a a . 判定該主機之活動的至少一參數;及 右㈣定至少—參數滿足至少—預定條件,則 月b 4例行操作之執行,但 賦 右邊判定至少一參數不滿足該預 例行操作以供執行。 該 記⑽統’其中當賦能該例行操作之執行 干發^制&另外操作以在該記憶系統將—繁忙狀態指 ==機時執行該例行操作之至少-部分,藉此 在引〇中執行該例行操作。 時,月記㈣統,其中當賦能該例行操作之執行 浐干發:制器另外%作以在該記憶系統不將-繁忙狀態 ==至該主機時執行該例行操作,藉此在背景中執 订4例仃操作。 28.:=項25之記憶系統,其中該例行操作包括將資料自 置。 重寫至該記憶系統中之另一位 2Τ:Γ7之記憶系統’其中該例行操作資料重寫係作 3〇士2 或清除例行操作之部分來執行的。 .=:25之記憶系統,其中判定該主機之活動之至少 包括在由該記憶系統執行自該主機接收之該等命 131567.doc 200915072 令:之—者期間監視該至少一參數。 3 1 ·如凊求項25之記怜系 丨心' 系統,其中該至少—夂赵後 -單個主機命令而祜⑭ 心纟數係由於執行 ^ 破轉移至該記憶體中或自該記恃體φ 轉移出來的資料之遇 隐體中 乙邏輯早兀之一數目的一計數, 一預定條件包括資料置—^ 故 μ至少 、、+早7〇之一 限數目,其中當 小於該臨限數目時 大於該臨限數目時,該一參數不滿足該一條件。數 32·如請求項25之記憶系統’其中該至少—參數係回應於自 該主機接收之該命令而被轉移之資料之—開始與在執行 一自該主機接收之先前命令期間所轉移之資料之一結束 之間的—邏輯位址差異,該至少-職條件包括-預定 位址差異’其中當該邏輯位址差異大於該敎位址差異 時,該一參數滿足該一條件,且當該邏輯位址差異大於 該預定位址差異時’該一參數不滿足該一條件。 33.如請求項30之記憶系統,其中該至少一參數包括在該記 憶系統向該主機指示該§己憶糸統不繁忙之後由該主機回 應於該記憶系統之一持續時間’該至少一預定條件包括 一預定時間增量,其中當該持續時間小於該預定時間增 量時,該一參數滿足該一預定條件,且當該持續時間大 於該預定時間增量時,該一參數不滿足該一預定條件。 34.如請求項26之記憶系統,其中該例行操作包括磨損調 平。 3 5 ·如請求項26之記憶系統’其中該例行操作包括清除。 3 6.如請求項27之記憶系統’其中該例行操作包括磨損調 131567.doc 200915072 平。 3 7.如請求項27之記憶系統,其中該例行操作包括清除。 38. 如請求項25之記憶系統,其中該當前接收之命令係個別 地包括資料讀取及資料寫入之一命令群組中的一者。 39. 如請求項38之記憶系統,其中該命令群組另外包括抹除 該記憶體之界定區塊。 f 131567.doc7. The method of claim 1, wherein the first host activity mode includes a duration that is exceeded by the host after the memory system indicates to the host that the memory system is not busy, which exceeds a predetermined duration Time 'and wherein the second host activity mode includes the duration less than the preset duration. 8. The method of any one of clauses 7 to 7, wherein when a busy status message is " When the system is sent to the host, the first host activity mode or the second host activity mode is identified. 9. The method of any of clauses 1 to 7, wherein the first host activity mode or the second host activity mode is identified when no busy status message is sent to the host by the memory system. 1 〇 〆 〆 操作 操作 〆 . . . . . 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新 新Operation; determining at least one parameter of the activity of the host; and 131567.doc 200915072 Right violation determines that at least one parameter satisfies at least - the execution of the routine operation of the predetermined rule, but 〃 丨 does not enable if the Hungarian at least _ i slave / If the number satisfies the predetermined condition, it can be used for execution. This child 11 • If the request item is 0, the old time is „ , /, and the execution of the routine is performed when the routine operation is enabled. Line operation, at the same time the memory system only sends the message to the host, #,, k state △ such as the request item 1G "^" to perform the routine operation. In addition, when the routine operation of the assignment (4) is performed, the memory operation "does not ", such as the request item!", the execution of the routine operation in the At. The method of the member, wherein the routine operation This includes rewriting the data from the location in the memory to another location in the memory system. The side of the month length item 13, i: 'where the routine operation data is rewritten as' - wear leveling or clearing The method of claim 1 wherein: (4) at least one parameter of the activity of the host is included in one of the commands received by the memory system from the host Monitoring the at least one parameter. 16. The method of claiming, wherein the at least parameter is a logical unit of data transferred to or from the memory due to execution of a single host command. The number-count, the at least one predetermined condition includes a number of data sheets S, wherein the - parameter satisfies the condition when the count is less than the threshold number, and when the count is greater than the threshold number, One 17. The method of claim 10, wherein the method of claim 10, wherein the at least one parameter is in response to the command being received by the master 131567.doc 200915072, the one of the transferred data begins and is executed from the host Receiving a logical address difference between the end of one of the transferred data during the previous command, the at least one predetermined condition including a predetermined address difference, wherein when the logical address difference is greater than the predetermined address difference, the one The parameter satisfies the condition, and when the logical address difference is greater than the pre-event address difference, the parameter does not satisfy the condition. 18. The method of U item 15 wherein the at least one parameter is included in the memory system The host indicates that the memory system is not busy after being responded by the host to the duration - the duration - the at least - predetermined condition includes a pre-capture amount, wherein the duration is less than the predetermined time increment The parameter satisfies the predetermined condition of 5 hai, and when the duration is greater than the predetermined time increment, the parameter does not satisfy the predetermined condition. 19 · 士Μ求丨i The method, wherein the routine operation comprises wear leveling. 20. The method of claiming, wherein the routine operation comprises clearing. 21. The method of determining the item ,2, wherein the routine operation comprises a wear adjustment 22. The method of claim 12, wherein the routine operation comprises clearing. 23_ The method of claim 1, wherein the currently received command individually includes one of data reading and data writing One of the command groups. 24. The method of claim 23, wherein the command group additionally includes erasing the defined block of the memory. a system adapted to be removably coupled to a host system comprising: an array of reprogrammable non-volatile memory cells organized as memory a unit block in which the memory cells of the individual blocks such as 131567.doc 200915072 can be erased at the same time, including - a controller of the microprocessor, operating with: 5 unnecessary routine operations; Determining - for the execution-slave-host receiving command, there is no need to respect the commander. 4a a. Determine at least one parameter of the activity of the host; and right (four) set at least - the parameter satisfies at least - the predetermined condition, then the month b is 4 cases Execution of the row operation, but assigning the right side determines that at least one parameter does not satisfy the pre-routine operation for execution. The record (10) is in which the execution of the routine operation is performed and the other operation is performed to perform at least a part of the routine operation when the memory system is in a busy state == machine, thereby This routine operation is performed in the argument. At the time, the monthly (four) system, in which the execution of the routine operation is performed: the other % of the controller performs the routine operation when the memory system does not - busy state == to the host, thereby In the background, 4 cases were executed. 28.: = The memory system of item 25, wherein the routine operation comprises setting the data. Rewrite to another memory in the memory system: Γ7's memory system' where the routine operation data rewriting is performed as part of 3 gentlemen 2 or clear routine operations. A memory system of == 25, wherein determining at least the activity of the host comprises monitoring the at least one parameter during execution of the first command received by the memory system from the host. 3 1 · If you want to ask for the item 25, the system is pity, the system, where the at least - 夂 Zhao after - a single host command and 祜 14 heart rate system due to execution ^ break into the memory or from the memory A count of one of the numbers of the early logical errors of the data transferred from the body φ, a predetermined condition including the data set-^, so μ is at least, and + is 7 早, which is less than the threshold. When the number is greater than the threshold number, the one parameter does not satisfy the one condition. Number 32. The memory system of claim 25, wherein the at least the parameter is in response to the data transferred from the host receiving the command, begins with data transferred during execution of a previous command received from the host a logical address difference between one of the ends, the at least one condition includes a predetermined address difference, wherein the one parameter satisfies the condition when the logical address difference is greater than the 敎 address difference, and when When the logical address difference is greater than the predetermined address difference, the one parameter does not satisfy the one condition. 33. The memory system of claim 30, wherein the at least one parameter comprises a response to the one of the memory systems by the host after the memory system indicates to the host that the § memory system is not busy 'the at least one predetermined The condition includes a predetermined time increment, wherein the parameter satisfies the predetermined condition when the duration is less than the predetermined time increment, and the parameter does not satisfy the one when the duration is greater than the predetermined time increment Predetermined conditions. 34. The memory system of claim 26, wherein the routine operation comprises wear leveling. 3 5 • The memory system of claim 26 wherein the routine operation includes clearing. 3 6. The memory system of claim 27 wherein the routine operation comprises a wear level of 131567.doc 200915072. 3. The memory system of claim 27, wherein the routine operation comprises clearing. 38. The memory system of claim 25, wherein the currently received command individually comprises one of a group of command data read and data write commands. 39. The memory system of claim 38, wherein the group of commands additionally comprises erasing the defined block of the memory. f 131567.doc
TW97119213A 2007-05-24 2008-05-23 Managing housekeeping operations in flash memory TW200915072A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/753,463 US20080294813A1 (en) 2007-05-24 2007-05-24 Managing Housekeeping Operations in Flash Memory
US11/753,491 US20080294814A1 (en) 2007-05-24 2007-05-24 Flash Memory System with Management of Housekeeping Operations

Publications (1)

Publication Number Publication Date
TW200915072A true TW200915072A (en) 2009-04-01

Family

ID=39831949

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97119213A TW200915072A (en) 2007-05-24 2008-05-23 Managing housekeeping operations in flash memory

Country Status (2)

Country Link
TW (1) TW200915072A (en)
WO (1) WO2008147752A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI403897B (en) * 2009-07-30 2013-08-01 Silicon Motion Inc Memory device and data management method thereof
TWI421764B (en) * 2010-10-15 2014-01-01 Inventec Corp Method for displaying frame under interrupt management mode
TWI459197B (en) * 2011-04-21 2014-11-01 Phison Electronics Corp Data writing and reading method, memory controller and memory storage apparatus
TWI561988B (en) * 2012-09-20 2016-12-11 Silicon Motion Inc Data storage device and flash memory control method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287217A1 (en) * 2009-04-08 2010-11-11 Google Inc. Host control of background garbage collection in a data storage device
US8578084B2 (en) 2009-04-08 2013-11-05 Google Inc. Data storage device having multiple removable memory boards
US8595572B2 (en) 2009-04-08 2013-11-26 Google Inc. Data storage device with metadata command
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
JP2016522513A (en) * 2013-06-25 2016-07-28 マイクロン テクノロジー, インク. On-demand block management
US10019352B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for adaptive reserve storage

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2005029311A1 (en) * 2003-09-18 2006-11-30 松下電器産業株式会社 Semiconductor memory card, semiconductor memory control device, and semiconductor memory control method
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
KR100706808B1 (en) * 2006-02-03 2007-04-12 삼성전자주식회사 Data storage apparatus with non-volatile memory operating as write buffer and its block reclaim method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI403897B (en) * 2009-07-30 2013-08-01 Silicon Motion Inc Memory device and data management method thereof
TWI421764B (en) * 2010-10-15 2014-01-01 Inventec Corp Method for displaying frame under interrupt management mode
TWI459197B (en) * 2011-04-21 2014-11-01 Phison Electronics Corp Data writing and reading method, memory controller and memory storage apparatus
TWI561988B (en) * 2012-09-20 2016-12-11 Silicon Motion Inc Data storage device and flash memory control method
US9690695B2 (en) 2012-09-20 2017-06-27 Silicon Motion, Inc. Data storage device and flash memory control method thereof

Also Published As

Publication number Publication date
WO2008147752A1 (en) 2008-12-04

Similar Documents

Publication Publication Date Title
US11243878B2 (en) Simultaneous garbage collection of multiple source blocks
TW200915072A (en) Managing housekeeping operations in flash memory
US20080294813A1 (en) Managing Housekeeping Operations in Flash Memory
US20080294814A1 (en) Flash Memory System with Management of Housekeeping Operations
KR101304254B1 (en) Scheduling of housekeeping operations in flash memory systems
JP4643711B2 (en) Context-sensitive memory performance
TWI597605B (en) Method of wear leveling for data storage device
US8117380B2 (en) Management of non-volatile memory systems having large erase blocks
TWI393140B (en) Methods of storing data in a non-volatile memory
JP4834676B2 (en) System and method using on-chip non-volatile memory write cache
US20060161724A1 (en) Scheduling of housekeeping operations in flash memory systems
JP4977703B2 (en) Non-volatile memory with scheduled playback operation
TW201216059A (en) Pre-emptive garbage collection of memory blocks
TW201216058A (en) Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems
TW200907965A (en) Flash memory refresh techniques triggered by controlled scrub data reads
TWI718710B (en) Data storage device and non-volatile memory control method
US20230195324A1 (en) Storage device
US20200097215A1 (en) Adaptive solid state device management based on data expiration time
US11036414B2 (en) Data storage device and control method for non-volatile memory with high-efficiency garbage collection
KR20230071005A (en) Storage device