TWI336856B - Method and system of logically-addressed file storage - Google Patents

Method and system of logically-addressed file storage Download PDF

Info

Publication number
TWI336856B
TWI336856B TW95146712A TW95146712A TWI336856B TW I336856 B TWI336856 B TW I336856B TW 95146712 A TW95146712 A TW 95146712A TW 95146712 A TW95146712 A TW 95146712A TW I336856 B TWI336856 B TW I336856B
Authority
TW
Taiwan
Prior art keywords
host
file
data
segments
logical address
Prior art date
Application number
TW95146712A
Other languages
Chinese (zh)
Other versions
TW200809594A (en
Inventor
Alan Welsh Sinclair
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/300,568 external-priority patent/US20070136553A1/en
Priority claimed from US11/302,764 external-priority patent/US7877540B2/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200809594A publication Critical patent/TW200809594A/en
Application granted granted Critical
Publication of TWI336856B publication Critical patent/TWI336856B/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

1336856 九、發明說明: 【發明所屬之技術領域】 此申請案係關於可再程式化非揮發性記憶體系統之操 作,例如半導趙快閃記憶體,且更明確而言係關於此類記 憶體内之資料管理。本文所參考的全部專利案、專利申請 案、論文及其他公告案、文件及事物皆出於各種目的而全 部以引用方式併入本文。 【先前技術】1336856 IX. Description of the Invention: [Technical Field of the Invention] This application relates to the operation of a reprogrammable non-volatile memory system, such as a semi-guided flash memory, and more specifically to such memory. Data management in the body. All patents, patent applications, papers, and other publications, documents, and objects referred to herein are hereby incorporated by reference in their entirety for all purposes. [Prior Art]

早期一代商業快閃記憶體系鲚φ 姐乐、,死中,將—記憶體單元矩形 陣列分成大量單元群组,久啟左 4» ,住 矸 各儲存一標準磁碟驅動器區段之 資料數量,即5 12位元組。一額外杳祖叔θ , 頻外貪枓數量(例如丨6個位元 組)係亦通常包含在每個群紐φ w ~ + a你可卿砰組肀以儲存一錯誤校正碼 及可能的與使用者資料及/或立φ性灰技 令只π汉/ :¾再甲儲存資料的記憶體單元 群組相關的其他管理資料。每個此類群組中的記憶體單元 係可-起抹除之最小數目的記憶體單元^ g卩,抹除單位係 儲存-個資料區段及所包含的任何管理資料之記憶體單元 之有效數目。此類型記憶體系統之範例係說明於美國專利 第5,602,987號與第6,426,893號中。快閃記憶體之—特徵 為’在使用資料對其進行再程式化之前需要抹除該等記憶 體單元。 快閃記憶體系統係最普遍採用可移除連接各種主機(例 如一個人電腦、一相機或類似物)之一記憶卡或快閃驅動 器形式而提供,但也可嵌入於此類主機系統内。在將資料 寫入該記憶體時,主機一般指派唯一的邏輯位址給在該記 117059.doc J-3〇«56 憶體系統之連續虛擬位址空間内的區段、叢集或其他資料 單位。類似於一磁碟作業系統(D〇s),主機將資料寫入在 該c憶體系統之邏輯位址空間内的位址並從其讀取資料。 在該記憶體系統内的一控制器將從主機所接收的邏輯位址 轉譯為該記憶體陣列内實際儲存資料之實體位址,並然後 追蹤該等位址轉譯。該記憶體系統之資料儲存容量係至少 與可在針對該記憶體系統所界定之整個邏輯位址空間内可 定址之資料數量一樣大。 在後來一代的快閃記憶體系統中,該抹除單位之大小係 增加至一足以儲存多個資料區段之一記憶體單元區塊。即 使記憶體系統所連接之主機系統可以最小單位(例如區段) 程式化並讀取資料,但是大量區段仍儲存於該快閃記憶體 之單一抹除單位内。在一區塊内的某些資料區段通常由 於主機更新或替換邏輯資料區段而變成過期。由於在可以 覆寫儲存於區塊内的任何資料之前必須抹除整個區塊,因 此新或更新的資料一般係儲存於已抹除並具有用於該資料 之剩餘容量之另一區塊内。此程序使原始區塊具有在記憶 體内佔據寶貴空間之過期資料◊但是若該區塊内仍保留任 何有效資料的話,則無法抹除該區塊。 因此,為更好地利用記憶體之儲存容量,通常藉由將有 效的部分區塊數量的資料複製到一已抹除區塊來合併或收 集該等資料,以便然後可抹除從其複製該等資料的該(等) 區塊並重新使用其整個資料容量。還需要以一區塊内的資 料區段之邏輯位址的次序複製資料來以便集合該等資料區 117059.doc 1336856 段’由於此舉會增加讀取資料並將讀取資料傳送至主機之 速度。若此類資料複製過頻繁地發生,則可能會劣化記憶 體系統之操作效能。在記憶體之儲存容量係略大於主機透 過該系統之邏輯位址空間可定址之資料之數量(即一典塑 情況)之情況下,此尤其會影響記憶體系統之操作。^此 情況下,在可執行主機程式化命令之前,可能需要進行資 料合併或收集。這樣會增加程式化時間。 區塊之大小在後一代記憶體系統中正不斷增加以便增 加可儲存於一給定半導體區域内之資料之位元數目。儲存 256個資料區段及更多資料區段的區塊正變得普遍。此 外,不同陣列或子陣列的二、四或更多個區塊係時常一起 邏輯地連結成元區塊,以便增加資料程式化與讀取的平行 度。伴隨此類大容量操作單位而來的挑戰係如何有效率地 操作其。 在一主機與一記憶體系統之間的一共用先前介面使用一 邏輯定址方案用於該記憶體所儲存之資料區段。然而,當 主機播案係映射至一邏輯位址空間時,主機棺案時常變得 邏輯地片斷化,由此其可能廣泛分佈於整個記憶體陣列。 此點可使管理記憶體陣列更加困難,因為在記憶體陣列中 的區塊包3許夕檔案之部分並因此時常包含有效資料盘過 期資料之一混雜。為了回收過期資料所佔據之空間,可能 必需複製大量的有效資料。 【發明内容】 依據本發明之-具體實施例之記憶體系統從使用一邏輯 117059.doc 1336856 定址方案的一主機接收資料。該主機先映射主機標案至— 邏輯位址空間。然後’該主機給記憶體系統提供信號,該 等信號指示一特定主機資料區段所配置之檔案,後,當 該记憶:系統接收到該主機資料區段時’該記憶體系統使 用其先前所接收之配置資訊來決定儲存該主機資料區段之 ^置。明確而言’該記憶體系統將來自相同主機檔案之區 段放置於該記憶體陣列之相同元區塊内。依此方式,—稽 案:能佔據多個元區塊。該主機還發信已發送一主機^ 之結束之時間,使得該記憶體系統可關閉該標案並執行操 作以更有效率地儲存該檔案。 一主機用於通知一記憶體系統關於資料區段之配置之一 通知方案使用目錄與FAT區段,使得該通知方案之該等严 $與先前邏輯介面相容。特定言之,一新樓案之開始係藉 目錄區段來識別,該目錄區段指示該檔案之第一叢 集:然後,當發送該叢集之區段時,該等區段係储存於一 新兀區塊内。可假定與先前接收叢集邏輯地連續之任何叢 集來自與該先前叢集相同的標案。當一主機發送不來自與 二前叢集相同槽案之一新叢集時,該主機會指示此變 右該新叢集係來自一新主機播案(先前未曾發送來自 、之任何區段’因此沒有任何元區塊開啟用於該檔 ^則該主機發送_目錄區段以指示—新標案之開始。 =、叢集係來自—開啟槽案(先前發送過來自此播案之 送° ^儲存於一或多個元區塊用於該檔案),則該主機發 、一FAT項目之— fat區段用於該開啟檔案之先前叢 117059.doc 1336856 集(其包括指向該新叢集之—指標)。除了發送信號以指示 «配ϊ資訊之外’該主機可發送—FAT以指示一檐案之 結束。此類FAT區段包含用於該檔案之最後叢集的—項 目’其指不-案結束。不同於將FAT與目錄資訊儲存於 非揮發性記憶體内之线方案,本方案在發送配置資訊所 參考之主機資料之前發送配置資訊。而且,大多數先前方 案不提供s己憶體系統使用主機所發送之配置資訊作為fat 與目錄區段。 6己憶體系統可使用主機所提供之檔案配置資訊來將一 特定主機之資料保持在一起。即便當該主機檔案係由主機 映射至一邏輯位址範圍時其可能邏輯地片斷化,但該記憶 體系統可使用關於此映射之資訊用於將一樓案之資料儲存 於一專用區塊内。因而,當主機指示-新稽案之開始時, 會開啟一新區塊。隨後,將指示為來自該區塊之任何資料 儲存於該相同元區塊内。必要時,開啟額外的元區塊用於 該檔案。最後,該主機指示該檔案之結束,或該記憶體系 統出於某些其他原因而關閉該檔案。在此刻,若存在一元 區塊,其僅部分地填充來自該主機檔案之資料’則該殘留 資料可組合來自一共用區塊内的其他檔案之類似殘留資 料隨後,若該主機刪除該檔案(由一目錄區段或由另外 方式指示),可容易地還原該檔案所佔據之空間而極少複 製有效資料,因為該檔案之大多數均於於一專用元區塊 内。一通知方案還可允許一主機通知一記憶體系統即將移 除功率之時間,使得該記憶體系統可為功率損失作準備 H7059.doc ^36856 ⑼如藉由將揮發性記憶體内的任何t料儲存至非揮發性 記憶體)。一通知方案還可允許一主機通知一記憶體“ 將維持功率之時間,使得該記憶體系統可執行内務管理操 作’例如回收操作。 【實施方式】 快閃記憶體概述 ' 參考圖1至7說明一當前快閃記憶體系統與同主機裝置的 • —典型操作。即在此系統中可實施本發明之各種方面。圖 1之一主機系統丨將資料儲存於一快閃記憶體2内並從其擷 取資料《儘管該快閃記憶體可嵌入該主機 係說明為採用-卡之更流行形式,該卡係透過= 械 性連接器之匹配部分3及4而可移除地連接至該主機。當前 存在許多不同的商用快閃記憶卡,範例有c〇mpactFiash (CF)、多媒體卡(MMC)、安全數位(SD)、、記憶 棒、智慧媒體及TransFlash卡。儘管該些卡之每種卡依據 • 其標準化規格具有一唯一機械及/或電性介面,但每種卡 中所包括之快閃記憶體非常相似。該些卡均可購自 • SanDisk CorPoration公司(即本發明之受讓者)。8抓以4還 … 商標提供U快閃驅動器,料驅動器係採 ‘ 帛小型封裝的手持記憶體系統,該等封裝具有-通用串列 匯流排(USB)插塞,用以藉由插入主機的usb插座而與主 機連接。該些記憶卡及快閃驅動器之每個均包含介接主機 並控制其内的快閃記憶體之操作的控制器。 使用此類記憶卡及快閃驅動器的主機系統係多❹樣。 117059.doc 丄336856 其包括個人電腦(pc)'膝上型電腦及其他可攜式電腦、蜂 巢式電話、個人數位助理(PDA)、數位靜態相機、數位攝 影機及可攜式音頻播放器。主機一般包含用於一或多種類 型6己憶卡或快閃驅動器之一内建插座,但某些插座需要一 記憶卡可得以插入的配接器。 * 只要涉及到記憶體2,圖1之主機系統1可視為具有兩個 * 主要部分,其係由電路與軟體之組合組成。其係一應用程 φ 式部分5與介接記憶體2之一驅動器部分6。例如,在一個 人電腦内,應用程式部分5可包括一處理器,其運行字元 處理、圖形、控制或其他流行應用程式軟體。在相機、蜂 巢式電話或主要專用以執行單一功能集的其他主機系統 中,應用程式部分5包含操作相機以拍攝並儲存照片、操 作蜂巢式電話以撥打並接收電話及類似等之軟體。 圖1之記憶體系統2包括快閃記憶體7及電路8,二者均介 接該卡所連接之主機用於來回傳遞資料並控制記憶體7。 • 控制器8—般在資料程式化及讀取期間於主機丨所使用之資 料之邏輯位址與記憶體7之實體位址間轉換。 參考圖2,說明可用作圖丨之非揮發性記憶體2之一典型 ' 快閃S己憶體系統之電路。該系統控制器係通常實施於一單The early generation of commercial flash memory system 鲚 姐 姐 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 That is 5 12 bytes. An extra ancestor θ, the number of extra-greedy greedy (for example, 丨6 bytes) is also usually included in each group φ w ~ + a you can edit the group to store an error correction code and possible Other management data related to the memory unit group of the user data and/or the virgin gray technique that only π han / : 3⁄4 re-stored data. The memory unit in each such group can be the smallest number of memory cells to be erased, and the memory unit of the data unit and any management data contained in the unit is erased. The effective number. Examples of this type of memory system are described in U.S. Patent Nos. 5,602,987 and 6,426,893. Flash Memory - Features 'The memory cells need to be erased before using the data to reprogram them. Flash memory systems are most commonly provided in the form of a memory card or flash drive that can be removably connected to various hosts (e.g., a personal computer, a camera, or the like), but can also be embedded in such a host system. When writing data to the memory, the host typically assigns a unique logical address to the segment, cluster, or other data unit within the continuous virtual address space of the 117059.doc J-3〇«56 memory system. . Similar to a disk operating system (D〇s), the host writes data to and reads data from the address in the logical address space of the memory system. A controller within the memory system translates the logical address received from the host into the physical address of the actual stored data in the memory array and then tracks the address translation. The data storage capacity of the memory system is at least as large as the amount of data that can be addressed within the entire logical address space defined for the memory system. In a later generation of flash memory systems, the size of the erase unit is increased to a memory cell block sufficient to store one of the plurality of data sectors. Even if the host system to which the memory system is connected can be programmed and read in a minimum unit (e.g., a segment), a large number of segments are still stored in a single erase unit of the flash memory. Certain data segments within a block typically become expired due to host updates or replacement of logical data segments. Since the entire block must be erased before any material stored in the block can be overwritten, the new or updated data is typically stored in another block that has been erased and has the remaining capacity for that data. This program causes the original block to have expired data that occupies valuable space in the memory, but if any valid data remains in the block, the block cannot be erased. Therefore, in order to make better use of the storage capacity of the memory, the data is usually merged or collected by copying the data of the effective partial block number to an erased block, so that the data can be erased therefrom. Wait for the (etc.) block of the data and re-use its entire data capacity. It is also necessary to copy the data in the order of the logical addresses of the data sections in a block in order to aggregate the data areas 117059.doc 1336856 segment. This will increase the speed of reading data and transferring the read data to the host. . If such data replication occurs frequently, it may degrade the operational performance of the memory system. This particularly affects the operation of the memory system in the case where the storage capacity of the memory is slightly larger than the amount of data that can be addressed by the host through the logical address space of the system (i.e., a typical case). ^ In this case, data consolidation or collection may be required before the host stylized command can be executed. This will increase the stylization time. The size of the block is increasing in the latter generation of memory systems to increase the number of bits of data that can be stored in a given semiconductor region. Blocks storing 256 data segments and more data segments are becoming commonplace. In addition, two, four or more blocks of different arrays or sub-arrays are often logically linked together into meta-blocks to increase the parallelism of data stylization and reading. The challenge with such large capacity units of operation is how to operate it efficiently. A common prior interface between a host and a memory system uses a logical addressing scheme for the data segments stored by the memory. However, when the host broadcast is mapped to a logical address space, the host file often becomes logically fragmented, whereby it may be widely distributed throughout the memory array. This makes it more difficult to manage the memory array because the block in the memory array is part of the archive and therefore often contains one of the valid data disk expiration data. In order to recover the space occupied by expired data, it may be necessary to copy a large amount of valid data. SUMMARY OF THE INVENTION A memory system in accordance with an embodiment of the present invention receives data from a host using a logical 117059.doc 1336856 addressing scheme. The host first maps the host to the logical address space. Then the host provides a signal to the memory system that indicates the profile configured for a particular host data segment, and then, when the memory: the system receives the host data segment, the memory system uses its previous The received configuration information determines the storage of the host data section. Specifically, the memory system places segments from the same host file in the same metablock of the memory array. In this way, the audit: can occupy multiple metablocks. The host also sends a time when the end of a host ^ has been sent so that the memory system can close the reference and perform an operation to store the file more efficiently. A host is used to notify a memory system of the configuration of the data section. The notification scheme uses the directory and the FAT section so that the strictness of the notification scheme is compatible with the previous logical interface. In particular, the beginning of a new building is identified by a directory section that indicates the first cluster of files: then, when the section of the cluster is sent, the sections are stored in a new Inside the block. Any cluster that is logically contiguous with the previous receive cluster can be assumed to be from the same scale as the previous cluster. When a host sends a new cluster that does not come from the same slot as the second pre-cluster, the host will indicate that the new cluster is from a new host (not previously sent from any of the sections) so there is no The metablock is opened for the file, then the host sends a _ directory section to indicate - the beginning of the new standard. =, the cluster is from - the slot is opened (previously sent from this broadcast) ^ ^ stored in one Or a plurality of metablocks are used for the file), then the host sends a FAT item - the fat section is used for the previous bundle 117059.doc 1336856 set of the open file (which includes the indicator pointing to the new cluster). In addition to sending a signal to indicate "in addition to the information" the host can send - FAT to indicate the end of a file. Such a FAT section contains the item "for the last cluster of the file" which refers to the end of the case. Different from the line scheme of storing FAT and directory information in non-volatile memory, this scheme sends configuration information before sending the host data referenced by the configuration information. Moreover, most of the previous schemes do not provide the main memory system. The configuration information sent by the machine is used as the fat and directory section. 6 The system can use the file configuration information provided by the host to keep the data of a specific host together. Even when the host file is mapped to a logic by the host. The address range may be logically fragmented, but the memory system may use information about the mapping to store the data of the first floor in a dedicated block. Thus, when the host indicates - the beginning of the new case A new block will be opened. Any data from the block will then be stored in the same metablock. If necessary, additional metablocks will be opened for the file. Finally, the host indicates the file. At the end, or the memory system closes the file for some other reason. At this point, if there is a metablock that only partially fills the data from the host file, then the residual data can be combined from a shared area. Similar residual data for other files in the block. If the host deletes the file (indicated by a directory section or by another means), the file can be easily restored. The occupied space rarely copies valid data, because most of the files are in a dedicated metablock. A notification scheme can also allow a host to notify a memory system that the power is about to be removed, so that the memory The system can be prepared for power loss. H7059.doc ^36856 (9) by storing any material in volatile memory to non-volatile memory). A notification scheme may also allow a host to notify a memory that "the time when the power will be maintained, so that the memory system can perform housekeeping operations, such as a recycling operation." [Embodiment] Flash Memory Overview 'Refer to Figures 1 to 7 A typical operation of a current flash memory system and a host device. That is, various aspects of the present invention can be implemented in the system. One of the host systems of FIG. 1 stores data in a flash memory 2 and from The data is "despite the fact that the flash memory can be embedded in the host system as a more popular form of adopting - the card is removably connected to the host through the matching portions 3 and 4 of the mechanical connector. There are many different commercial flash memory cards currently available, examples are c〇mpactFiash (CF), MultiMediaCard (MMC), Secure Digital (SD), Memory Stick, Smart Media and TransFlash cards, although each of these cards Card Base • Its standardized specifications have a unique mechanical and/or electrical interface, but the flash memory included in each card is very similar. These cards are available from • SanDisk CorPoration (ie, the transferee of the present invention). 8 grabs 4 also... The trademark provides a U flash drive, and the material drive is a small-sized hand-held memory system with a universal serial bus (USB). The plug is connected to the host by being plugged into the USB socket of the host. Each of the memory card and the flash drive includes a controller that interfaces with the host and controls the operation of the flash memory therein. The host system of memory cards and flash drives is quite different. 117059.doc 丄336856 It includes personal computer (pc) laptops and other portable computers, cellular phones, personal digital assistants (PDAs), Digital still camera, digital camera and portable audio player. The host computer usually contains one built-in socket for one or more types of 6 memory cards or flash drives, but some sockets require a memory card to be inserted. As long as the memory 2 is involved, the host system 1 of Figure 1 can be considered to have two * main parts, which are composed of a combination of circuit and software. It is an application φ part 5 and interface memory 2 The drive portion 6. For example, in a personal computer, the application portion 5 can include a processor that runs character processing, graphics, control, or other popular application software. In a camera, a cellular phone, or primarily dedicated to perform a single function. In other host systems of the set, the application part 5 includes software for operating a camera to take and store photos, operating a cellular phone to make and receive calls, and the like. The memory system 2 of FIG. 1 includes a flash memory 7 and a circuit. 8. Both are connected to the host to which the card is connected for transferring data back and forth and controlling the memory 7. • The controller 8 generally logically addresses the data used by the host during data programming and reading. The physical address between the memory 7 is converted. Referring to Fig. 2, a circuit of a typical 'flash" memory system which can be used as one of the non-volatile memory 2 of the figure 2 will be described. The system controller is usually implemented in a single

或多個積體電路記憶體晶片,一單一此類記憶體晶 一積體電路晶片11上, 聯一或多個籍艚雷故f; 15如圖2所示。所示之特定匯流排13包括用於載送資料之 一分離導體組1 7、用 狀態信號之一組2 1。 用於記憶體位址之一組19及用於控制與 °或者’一單一導體組可在該些三個功 117059.doc 1336856 能之間分時。此外,可㈣其㈣統匯流排組態,例如 2004年8月9曰申請的標題為,,環形匯流排結構及其於快閃 »己憶體系統中的使用"之美國專利申請案第1〇/915,〇39號中 所說明之環形匯流排。 一典型控制器晶片11具有其自身的内部匯流排23,其透 過w面電路2 5而介接系統匯流排13 ^通常連接至該匯流排 之該等主要功能係一處理器27(例如一微處理器或微控制 器)、一唯讀記憶體(ROM)29,其包含程式碼以初始化("啟 動)系統、唯讀記憶體(RAM)3 1,其主要用於緩衝正在該 δ己憶體與一主機之間傳送的資料、及電路33,其計算並檢 查一錯誤校正碼(ECC)用於正在透過在該記憶體與該主機 之間控制器所傳遞的資料。控制器匯流排23透過電路35介 接一主機系統,在圖2之系統係包含於一記憶體内之情況 下,此舉透過作為連接器4之部分的該卡之外部接點37來 完成。一時脈39係連接控制器丨丨之其他組件之各組件並供 其使用。 記憶體晶片15以及與系統匯流排13連接的任何其他組件 一般包含一記憶體單元陣列,其係組織成多個子陣列或平 面’為簡單起見說明兩個此類平面4丨及43,但可替代性使 用諸如四個或八個之更多此類平面。或者,可以不將晶片 15之記憶體單元陣列劃分為平面。然而在如此進行劃分 時,每個平面具有其自己的行控制電路45及47,其可彼此 獨立操作。該等電路45及47從系統匯流排13之位址部分i 9 接收其個別記憶體單元陣列之位址,並將其解碼以定址個 117059.doc -12- 1336856 別位元線49及51之特定的一或多個者。回應在‘,址匯流排 1 9上所接收之位址,该等字元線5 3係透過列控制電路$ 5來 定址。源極電壓控制電路57及59還連接該等個別平面,p 井電壓控制電路61及63亦如此。若記憶體晶片15具有一記 憶體單元之單一陣列且若二或多個此類晶片存在於該系統 内則可類似於上述多平面晶片内的一平面或子陣列來操 作各晶片之陣列。 資料係透過連接系統匯流排13之資料部分17之個別資料 輸入/輸出電路65及67來進出該等平面41及43而傳送。該 等電路65及67提供用於透過個別行控制電路45及47而連接 至該等平面之線69及71,同時將資料程式化於該等記憶體 單元内並從其個別平面之記憶體單元讀取資料。 雖然控制器11控制記憶體晶片15之操作以程式化資料、 讀取資料、抹除以及參予各種内務處理事務,但是每個記 憶體晶片亦包含某控制電路,其執行來自控制器1丨之命令 以執行此類功能。介面電路73係連接至系統匯流排13之控 制及狀態部分21。來自該控制器之命令係提供至一狀態機 75,然後該狀態機75提供其他電路之特定控制,以便執行 該些命令。控制線77至81使用該些其他電路連接狀態機 75 ’如圖2所示。來自狀態機75之狀態資訊係透過線83傳 達至介面73用於透過匯流排部分21而傳送至控制器11。 當前較佳的係使用記憶體單元陣列41及43之一 NAND架 構,儘管也可以替代使用其他架構,例如NOR架構。參考 美國專利案第5,570,315號、第5,774,397號、第6,046,935 •13· 117059.docOr a plurality of integrated circuit memory chips, a single such memory crystal on the integrated circuit chip 11, connected to one or more of the devices f; 15 as shown in FIG. The particular bus bar 13 shown includes a separate conductor set 17 for carrying data, and a set 21 of state signals. A group 19 for memory addresses and for controlling and or a single conductor set can be time-divided between the three functions 117059.doc 1336856. In addition, (iv) its (iv) unified bus configuration, for example, the title of the application filed on August 9, 2004, the ring bus structure and its use in the flash memory system (US Patent Application No.) Ring busbar as described in 1〇/915,〇39. A typical controller die 11 has its own internal bus bar 23 that interfaces through the w-plane circuit 25 to the system bus bar 13 ^ which is typically connected to the main function of the bus bar - a processor 27 (eg, a micro a processor or microcontroller), a read only memory (ROM) 29 containing code to initialize ("boot) the system, read only memory (RAM) 3 1, which is mainly used to buffer the δ The data transmitted between the body and a host, and circuitry 33, which calculates and checks an error correction code (ECC) for data being passed through the controller between the memory and the host. The controller bus bar 23 is coupled to a host system via circuit 35. This is accomplished by the external contacts 37 of the card as part of the connector 4, in the case where the system of Fig. 2 is included in a memory. One clock 39 is connected to and used by the components of the other components of the controller. The memory chip 15 and any other components connected to the system bus 13 generally comprise a memory cell array organized into a plurality of sub-arrays or planes 'two such planes 4 and 43 for simplicity, but may be Alternative such planes such as four or eight are used instead. Alternatively, the memory cell array of the wafer 15 may not be divided into planes. However, when such division is made, each plane has its own row control circuits 45 and 47 which are independently operable with each other. The circuits 45 and 47 receive the addresses of their individual memory cell arrays from the address portion i9 of the system bus 13 and decode them to address the 117059.doc -12- 1336856 bit lines 49 and 51. Specific one or more. In response to the address received at the address pool 9, the word line 5 3 is addressed by the column control circuit $5. Source voltage control circuits 57 and 59 are also coupled to the individual planes, as are p well voltage control circuits 61 and 63. If the memory chip 15 has a single array of memory cells and if two or more such wafers are present in the system, an array of wafers can be operated similar to a plane or sub-array within the multi-planar wafer. The data is transmitted by entering and exiting the planes 41 and 43 through the individual data input/output circuits 65 and 67 of the data portion 17 of the connection system bus 13. The circuits 65 and 67 provide lines 69 and 71 for connecting to the planes through the individual row control circuits 45 and 47, while staging the data into the memory cells and memory cells from their individual planes. Read the data. Although the controller 11 controls the operation of the memory chip 15 to program data, read data, erase, and participate in various housekeeping transactions, each memory chip also includes a certain control circuit that is executed from the controller 1 Command to perform such a function. The interface circuit 73 is connected to the control and status portion 21 of the system bus. Commands from the controller are provided to a state machine 75, which then provides specific control of other circuits to execute the commands. Control lines 77 through 81 use these other circuits to connect state machine 75' as shown in FIG. The status information from the state machine 75 is transmitted through the line 83 to the interface 73 for transmission to the controller 11 through the bus bar portion 21. It is currently preferred to use one of the NAND architectures of the memory cell arrays 41 and 43, although other architectures such as the NOR architecture may be used instead. References US Patent Nos. 5,570,315, 5,774,397, 6,046,935 •13·117059.doc

1336856 號、第 6,373,746號、第 ό,456,528 號、第 6,522,580號、第 6,771,536號及第6,781,877號與美國專利申請公告案第 2003/0147278號可獲悉NAND快閃記憶體範例及其作為一 吞己憶體系統之部分之操作。NAND flash memory examples and their actions are known in U.S. Patent Nos. 1,336,856, 6, 373, 746, issued to s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s The operation of a part of the system.

圖3之電路圖說明一範例性nanD陣列,其係圖2之記憶 體系統之記憶體單元陣列41之一部分《提供大量全局位元 線’出於解釋簡單,在圖2中僅顯示四個此類線91至94。 許多串列連接的&己憶體早元串97至104係連接於該等位元 線之一者與一參考電位之間。使用記憶體單元串99作為代 表,複數個電荷儲存記憶體單元107至丨1〇係在該串之任一 端處串聯連接於選擇電晶體111及112。在致使一串之選擇 電晶體導電時,該串係連接於其位元線與該參考電位之 間。因此一次程式化或讀取該串内的一個記憶體單元。 圖3之字元線115至11 8個別地橫跨許多記憶體單元串之 各串内的一記憶體單元之電荷儲存元件而延伸,而閘極 119及120控制該等串之各端處的選擇電晶體之狀態。使共 享共用字元及控制閘極線115至120之該等記憶體單元串形 成一起抹除之一記憶體單元區塊123。此單元區塊包含— 次實體可抹除之最小數目的單元。一次程式化一列記憶體 單元,即沿著字元線11 5至11 8之一者的該等記憶體單元。 一般而言,以一預規定次序程式化一 NAND陣列之該等 列,在此情況下,從沿最接近於連接至接地或另一共用電 位之該等串之末端的字元線118之列開始。接著程式化沿 子元線117之記憶體單元之列’如此等等,遍及區塊123。 -14· 117059.doc3 is a circuit diagram illustrating an exemplary nanD array, which is part of the memory cell array 41 of the memory system of FIG. 2, "providing a large number of global bit lines". For simplicity of explanation, only four such devices are shown in FIG. Lines 91 to 94. A plurality of serially connected & early memory strings 97 to 104 are connected between one of the bit lines and a reference potential. Using the memory cell string 99 as a representative, a plurality of charge storage memory cells 107 to 〇1 are connected in series to the selection transistors 111 and 112 at either end of the string. When a string of selected transistors is rendered conductive, the string is connected between its bit line and the reference potential. Therefore, one memory unit is programmed or read at a time. The word lines 115 to 117 of FIG. 3 individually extend across the charge storage elements of a memory cell within each of the plurality of memory cell strings, and the gates 119 and 120 control the ends of the strings. Select the state of the transistor. The memory cell strings of the shared common character and the control gate lines 115 to 120 are erased together to erase one of the memory cell blocks 123. This unit block contains the minimum number of units that can be erased by the secondary entity. A list of memory cells, i.e., those memory cells along one of the word lines 11 5 to 11 8 , is programmed once. In general, the columns of a NAND array are programmed in a predetermined order, in this case from a list of word lines 118 that are closest to the end of the string connected to ground or another common potential. Start. The sequence of memory cells along sub-line 117 is then programmed to do so and throughout block 123. -14· 117059.doc

1336856 最後程式化沿字元線丨丨5之列。 一第二區塊125係類似,其記憶體單元串係連接與第— 區塊123中的該等串相同的全局位元線但里一1336856 Finally stylized along the word line 丨丨5 column. A second block 125 is similar, and its memory cell string is connected to the same global bit line as the strings in the first block 123.

組的字it及控制閘極線4等字元及控制閘極線係藉由^ 控制電路55而驅動至其適當操作電壓。若在該系統存在多 個平面或子陣列(例如圖2之平面⑷),則一記憶體架構使 用在其之間延伸的共用字元線。或者可以存在共享共用字 元線的兩個以上之平面或子陣列。在其他記憶體架構中, 分離地驅動個別平面或子陣列之字元線。 如以上參考的NAND專利案之若干專利案及公佈的申請 案中所述,可操作記憶體系統以在每個電荷儲存元件或: 域中儲存兩個以上的可㈣電荷位準,藉此在每個元件中 儲存多個資料位元。記憶體單元之電荷儲存元件係最普遍 的導電浮動㈣,但可替代性地係非導電介電質電荷二獲 材料,如美國專利申請公告案第2003/〇1〇9〇93號内所述广The characters of the group it and the control gate line 4 and the control gate lines are driven to their proper operating voltage by the control circuit 55. If there are multiple planes or sub-arrays in the system (e.g., plane (4) of Figure 2), then a memory architecture uses a common word line extending between them. Or there may be more than two planes or sub-arrays that share a common word line. In other memory architectures, the word lines of individual planes or sub-arrays are driven separately. The memory system is operable to store more than two (four) charge levels in each charge storage element or domain, as described in several patents and published applications of the above-referenced NAND patents, whereby Multiple data bits are stored in each component. The charge storage element of the memory cell is the most common conductive floating (four), but is alternatively a non-conductive dielectric charge-acquisition material, as described in US Patent Application Publication No. 2003/〇1〇9〇93 wide

圖4從概念上說明在以下進一步說明令用作一範例之快 閃記憶體單元陣列7(圖1}之一組織。記憶體單元之四個平 面或子陣列13 1至丨3 4可位於一單一積體記憶體單元晶片 上、位於兩個晶片上(每一晶片上有該等平面之兩個平面) 或位於四個分離晶片上。特定配置對以下論述並不重要。 當然,其他數目的平面(例如i、2、8、16或更多)可存在於 一系統中。該等平面係各別地劃分成位於個別平面Hi至 13 4内的夕個5己憶單元區塊(如圖4中矩形所示),例如區塊 137 I38、I39及140。在每個平面内可存在數十或數百個 117059.doc 15 1336856 區塊。如上所述,記憶體單元之區塊係抹除單位,即可一 起實體抹除之最小數目的記憶體單元。然而,為增加平行 度,在更大元區塊單位中操作該等區塊。來自每個平面的 一個區塊係邏輯地連結在一起以形成一元區塊。顯示四個 區塊137至140形成一元區塊141。一元區塊内的全部單元 一般在一起抹除。用於形成一元區塊之該等區塊不需限制 於在其個別平面内的相同相對位置,如由區塊145至148所 構成之一第二元區塊143内所示。儘管通常較佳的係橫跨 所有平面來延伸該等元區塊,但為獲得更高系統效能,可 操作記憶體系統,使其能夠由在不同平面内 的'' 二或二 個區塊之任一者或全部動態地形成元區塊。此使得在一程 式化操作中元區塊之大小可更緊密匹配用於儲存之資料之 數量。 該等個別區塊係針對操作目的而依次劃分成記憶單元之 多個頁’如圖5所示。例如,該等區塊131至134之各區塊 之該等記憶單元係各分成八個頁p〇至P7 ^或者,在每個區 塊内可存在記憶體單元之16、32或更多頁。頁係區塊内資 料程式化及讀取之單位,其包含一次程式化之最小數量的 資料。在圖3之NAND架構中,一頁係由沿一區塊内的一字 元線之記憶體單元而形成。然而,為增加記憶體系統之操 作平行度,可將二或更多個區塊内的此類頁邏輯地連結成 元頁。圖5顯示一元頁151,其係由來自四個區塊131至134 之各區塊之一實體頁所形成。例如,元頁151包括在該等 四個區塊之各區塊内的頁P2,但一元頁之該等頁不必在該 117059.doc •16- 1336856 等區塊之各區塊内具有相同相對位置。雖然較佳的係橫跨 所有四個平面而並列地程式化並讀取最大數量的資料,為 獲得較高系統效能,也可操作記憶體系統以由在不同平面 内的分離區塊中的一、二或三頁之任何或全部形成元頁。 此點使程式化及讀取操作可適應性地匹配可便於並列處理 之資料數量並減少一元頁之部分保持使用資料未程式化之 機會。 如圖5所示’由多個平面之實體頁所形成的一元頁包含 沿該等多個平面之字元線列之記憶體單元。並非同時程式 化一字元線列中的全部單元’而是更普遍地採用二或更多 個交錯群組來交替程式化’每個群組儲存一資料頁(在— 單一區塊内)或一資料元頁(橫跨多個區塊)。藉由一次程式 化交替的記憶體單元,不需要為每條位元元線提供包含資 料暫存器與一感應放大器之一周邊電路單元而係在鄰近位 元線之間分時。此點節省周邊電路所需之基板空間數量並 允許沿該等列以一增加密度來封裝記憶體單元。另外,較 佳的係沿一列同時程式化每個單元,以便最大化從—給定 記憶體系統可獲得之平行度。 參考圖3,藉由沿該等NAND串之至少一端提供兩列選擇 電晶體(未顯示)而非所示的單一列,可極方便地完成將資 料同時程式化於沿一列的每隔一記憶體單元中。一列之該 等選擇電晶體錢回應-控制信號將—區塊内的每隔—串 連接至其個別位元線,並且另—列之該等選擇電晶體回應 另外控制信號將中間每隔—串連接至其個別位元線。因: 117059.docFigure 4 conceptually illustrates the organization of one of the flash memory cell arrays 7 (Figure 1) used as an example. The four planes or sub-arrays 13 1 to 丨 3 4 of the memory cells may be located in one A single integrated memory cell is placed on two wafers (two planes of the planes on each wafer) or on four separate wafers. The specific configuration is not critical to the following discussion. Of course, other numbers A plane (e.g., i, 2, 8, 16 or more) may be present in a system. The planes are each divided into quarters of the 5th memory unit located in the individual planes Hi to 13 4 (as shown in the figure). 4 rectangles are shown), such as blocks 137 I38, I39, and 140. There may be tens or hundreds of 117059.doc 15 1336856 blocks in each plane. As described above, the blocks of the memory cells are wiped. In addition to the unit, the smallest number of memory cells can be physically erased together. However, to increase the parallelism, the blocks are operated in a larger metablock unit. One block from each plane is logically linked. Together to form a one-dimensional block. Show four areas Blocks 137 through 140 form a metablock 141. All of the cells within the unary block are typically erased together. The blocks used to form the unary block need not be limited to the same relative position within their individual planes, as Blocks 145 through 148 are shown in one of the second metablocks 143. Although it is generally preferred to extend the metablocks across all planes, in order to achieve higher system performance, the operational memory system , enabling it to dynamically form metablocks from any or all of the ''two or two blocks in different planes. This allows the size of the metablocks to be more closely matched in a stylized operation for The number of stored data. The individual blocks are sequentially divided into a plurality of pages of memory cells for operational purposes as shown in FIG. 5. For example, the memory cells of each of the blocks 131 to 134 Each page is divided into eight pages p〇 to P7 ^ or there may be 16, 32 or more pages of memory cells in each block. The unit of stylized and read data in the page block contains one time. Stylized minimum amount of data. NAND architecture in Figure 3. a page is formed by a memory cell along a word line within a block. However, to increase the operational parallelism of the memory system, such pages within two or more blocks can be logically The linked page is shown in Fig. 5. Fig. 5 shows a metapage 151 formed by physical pages from one of the four blocks 131 to 134. For example, the metapage 151 is included in each of the four blocks. Page P2 within the block, but the pages of the unary page do not have to have the same relative position within each block of the block 117059.doc • 16-1336856, although preferably across all four planes side by side To program and read the maximum amount of data, to achieve higher system performance, the memory system can also be operated to form a metapage from any or all of one, two or three pages in separate blocks in different planes. This allows the stylization and read operations to adaptively match the amount of data that can be easily processed in parallel and reduce the chance that the portion of the unary page will remain unprogrammed. As shown in Fig. 5, a unitary page formed by a plurality of planar physical pages includes memory cells along the plurality of planar word line columns. Rather than stylizing all cells in a word line column at the same time', it is more common to use two or more interlaced groups to alternately program 'each group stores a data page (in a single block) or A data element page (across multiple blocks). By programming the alternate memory cells once, it is not necessary to provide each bit line with a peripheral circuit unit including a data register and a sense amplifier for time division between adjacent bit lines. This saves the amount of substrate space required for the peripheral circuitry and allows the memory cells to be packaged at an increased density along the columns. In addition, the preferred system simultaneously programs each unit along a column to maximize the parallelism that can be obtained from a given memory system. Referring to FIG. 3, by providing two columns of select transistors (not shown) along at least one end of the NAND strings instead of the single column shown, it is extremely convenient to simultaneously program the data into every other memory along a column. In the body unit. A column of the selected transistor money response-control signals will be connected to each individual bit line within the block, and the other selected transistors will respond to the additional control signal to be in the middle of each string. Connect to its individual bit line. Because: 117059.doc

1336856 將兩個資料頁寫入5己憶體單元之每一列。 每個邏輯頁内的資料數量一般為一或多個資料區段之一 整數數目,按慣例,每個區段包含512個位元組的資料。 圖6顯示一頁或元頁之二資料區段153及155之一邏輯資料 頁。每個區段通常包含512個位元組的所儲存使用者或系 • 統資料之一部分157及與部分157中資料或其所儲存實體頁 1 * 或區塊相關的管理資料之另外數目的位元組1 5 9。管理資 I 料之位元組數目一般為16個位元組,其形成總共528個位 元組用於該等區段153及155之各區段。管理部分ι59可能 包含:一 ECC,其係在程式化期問根據資料部分ι57來計 算、其邏輯位址、已抹除及再程式化區塊之次數的一經歷 計數、一或多個控制旗標、操作電壓位準及/或類似等, 加上從此類管理資料159所計算的一 ECC。或者,管理資 料159或其一部分可儲存於其他區塊中的不同頁内。 隨著記憶體之平行度增加,元區塊之資料儲存容量增加 # 並且資料頁及元頁之大小亦隨之增加。由此資料頁可包含 兩個以上的資料區段。一1336856 Writes two data pages to each column of the 5 memory cells. The amount of material in each logical page is typically an integer number of one or more data segments. By convention, each segment contains 512 bytes of data. Figure 6 shows a logical page of one of the data sections 153 and 155 of one page or metapage. Each section typically contains 512 bytes of stored user or system data portion 157 and a different number of bits of management data associated with the data in section 157 or its stored physical page 1* or block. Tuple 1 5 9 . The number of bytes of the management resource is typically 16 bytes, which form a total of 528 bytes for each of the segments 153 and 155. The management part ι59 may include: an ECC, which is an experience count, one or more control flags calculated according to the data portion ι57 during the stylization period, its logical address, the number of erased and reprogrammed blocks, and the number of times of control. The standard, operating voltage level and/or the like, plus an ECC calculated from such management data 159. Alternatively, the management data 159 or a portion thereof may be stored in different pages in other blocks. As the parallelism of the memory increases, the data storage capacity of the metablock increases # and the size of the data page and the metapage also increases. This data page can contain more than two data sections. One

料區段。一資料頁中兩個區段,而每元頁兩 一元頁中存在四個區段。每個元頁因而儲存 的資料。此係一較高程度的平行度,並且隨 記憶體單元之數目增加而進一步增加。為此 ’隐體之寬度係延伸以便增加一頁及一元頁中 I管本申請案中所述許多範例分別使用元區 *及程式化單位,但所述技術之大多數係 區塊與頁作為抹除及程式化單位之情況。類 117059.doc 1336856 似地’應用於使用區塊及頁之記憶體系統之技術一般適用 於元區塊與元頁。 以上識別的實體上較小可再程式化非揮發性記憶卡及快 閃驅動器之商用資料儲存容量達512百萬位元組(MB)、i + 億位元組(GB)、2 GB及4 GB及可能更高。圖7說明在一主 機與此類大容量記憶體系統之間的最普通介面。該主機處 理由藉由該主機所執行之應用軟體或韌體程式產生或使用 的資料檔案。一字元處理資料檔案係一範例,並且電腦辅 助設計(CAD)軟體之一繪圖檔案係另一範例,其主要見諸 於通用電腦主機,例如PC、膝上型電腦及類似等。一採用 Pdf格式之文件亦係此類檔案。一靜態數位視訊相機為儲 存在一記憶卡上的每個照片產生一資料檔案。一蜂巢式電 話利用來自一内部記憶卡上之檔案之資料,例如一電話目 錄 —PDA儲存並使用若干不同的檔案,例如一位址檔 案、曰曆檔案及類似等。在任何此類應用程式中,記憶卡 還可包含操作主機之軟體。 s己憶體系統,特別係具體化於可移除卡内之記憶體系 ~T、’良由一標準介面與不同主機進行通信。不同主機可 不同"面來與記憶體系統通信。二介面分類係使用具 有共用邏輯位址空間之一邏輯定址系統^該等介面與使 、槽案為主之定址系統之該等介面。 邏輯定址 圖 7 Φ ss - ρ、不在主機與s己憶體系統之間的一普通邏輯介 面。一連續邏輯位址空間161係足夠大以提供位址用於可 117059.doc 1336856 能儲存於該記憶體系統内的全部資料。主機位址空間通常 化分成資料叢集之增量,在一給定主機系統中將每個 叢集設計成包含若干資料區段,某些情況下在4至64個區 •k之間較典型。一標準區段包含5 12個位元組資料與某些 管理資料。 在圖7之範例中顯示已建立三個檔案丨、2及3。在主機系 統上運行的一應用程式將每個檔案建立為一有序資料集並 藉由一唯一名稱或其他參考來識别該應用程式。未曾配置 給其他檔案的足夠可用邏輯位址空間係由主機指派給檔案 1。檔案1係顯不已指派一連續可用邏輯位址範圍。一般還 針對特定目的來配置位址範圍,例如用於主機作業軟體之 特定範圍,由此避免將該等位址範圍用以儲存資料,即 便在主機指派邏輯位址給資料時仍未利用該些位址。 如圖7所示,當該主機梢後建立檔案2時,該主機類似地 指派在邏輯位址空間161内的兩個不同連續位址範圍。一 檔案不必指派連續邏輯位址,而可以係處於已配置給其他 檔案之位址範圍之間的位址片斷。此範例然後顯示將該主 機所建立之另一檔案3係配置先前未配置給檔案丨及2及其 他資料之主機位址空間之其他部分。此範例中,將檔案 1、檔案2及檔案3全部指派給一共用邏輯位址空間(邏輯位 址空間16 1)之部分。 該主機藉由維持一檔案配置表(FAT)與一目錄來追蹤該 記憶體邏輯位址空間,在該表與目錄中維持該主機指派給 各種主機檔案之邏輯位址。該目錄與FAT 一般係儲存於非 117059.docMaterial section. There are two sections in a data page, and there are four sections in each of the two metapages. The material thus stored for each metapage. This is a relatively high degree of parallelism and is further increased as the number of memory cells increases. To this end, the width of the hidden body is extended to add one page and one dollar page. The many examples described in this application use meta-regions* and stylized units, respectively, but most of the techniques are block and page. Wipe and program the unit. Class 117059.doc 1336856 The technique applied to a memory system using blocks and pages is generally applicable to metablocks and metapages. The above identified entities are smaller re-programmable non-volatile memory cards and flash drives with commercial data storage capacity of 512 million bytes (MB), i + 100 million bytes (GB), 2 GB and 4 GB and possibly higher. Figure 7 illustrates the most common interface between a host and such a mass storage system. The host is a data file generated or used by the application software or firmware executed by the host. One character processing data file is an example, and one of the computer aided design (CAD) software drawing files is another example, which is mainly found in general computer mainframes such as PCs, laptops, and the like. A file in the Pdf format is also such a file. A static digital video camera produces a data file for each photo stored on a memory card. A cellular phone uses information from a file on an internal memory card, such as a telephone directory, which stores and uses a number of different files, such as an address file, a calendar file, and the like. In any such application, the memory card can also contain software for operating the host. s memory system, especially the memory system embodied in the removable card ~T, 'good by a standard interface to communicate with different hosts. Different hosts can communicate differently with the memory system. The second interface class uses such interfaces as one of the logical addressing systems of the shared logical address space and the addressing systems based on the interface and the slot. Logical Addressing Figure 7 Φ ss - ρ, a common logic interface between the host and the semester system. A contiguous logical address space 161 is large enough to provide an address for all data that can be stored in the memory system. The host address space is typically divided into data cluster increments, each cluster being designed to contain several data segments in a given host system, and in some cases between 4 and 64 regions • k. A standard section contains 5 12 bytes of data and some management data. In the example of Figure 7, it is shown that three files 丨, 2 and 3 have been created. An application running on the host system creates each file as an ordered data set and identifies the application by a unique name or other reference. Sufficient available logical address space not allocated to other files is assigned to file 1 by the host. File 1 shows that a continuous range of available logical addresses has been assigned. Address ranges are also typically configured for specific purposes, such as for a particular range of host operating software, thereby avoiding the use of such address ranges for storing data, even if the host assigns logical addresses to the data. Address. As shown in Figure 7, when file 2 is created behind the host, the host similarly assigns two different consecutive address ranges within logical address space 161. A file does not have to be assigned a contiguous logical address, but can be an address fragment that is placed between the address ranges of other files. This example then displays another portion of the host's address space that was previously not configured for the file and other data for the other file created by the host. In this example, File 1, File 2, and File 3 are all assigned to a portion of a shared logical address space (logical address space 16 1). The host keeps track of the memory logical address space by maintaining a file configuration table (FAT) with a directory in which the logical addresses assigned by the host to various host files are maintained. This directory is generally stored with FAT in non-117059.doc

1336856 揮發性記憶體及-主機記憶體内,並隨著儲存新權案、删 除其他檔案、修改檔案及類似等而藉由主機來頻繁地更 新。例如,當刪除-主機標案時,主機可藉由更新目錄與 FAT表來取消配置先前配置給該刪除檔案的邏輯位址,以 顯示其現在可用於其他資料標案。在某些情況下,當刪除 一檔案時僅更新該目錄而FAT項目仍保持用於過期資料叢 、 集。用於該FAT内之一邏輯位址可稱為一邏輯區塊位址 φ (LBA),因此在—般用於來自不同槽案之資料的-邏輯位 址空間上使用此類邏輯定址之一介面可稱為lba介面。 主機不關心記憶體系統控制器選擇儲存檔案之實體位 置。典型主機僅瞭解其邏輯位址空間與已配置給其各種檔 案之邏輯位址。另一方面,記憶體系統透過一典型主機/ 卡介面僅瞭解邏輯位址空間已寫入資料之部分,但不瞭解 配置給特定主機檔案之邏輯位址,甚至不瞭解主機擋案之 數目。記憶體系統控制器將主機提供用於儲存或擷取資料 φ 之邏輯位址轉換成在儲存主機資料之快閃記憶體單元陣列 内的唯一實體位址。一區塊163代表該等邏輯至實體位址 ^ 轉換之一工作表,其係由記憶體系統控制器來維持。 ‘· 記憶體系統控制器係程式化成用以採用一方式在一記憶 • 體陣列I65之區塊及元區塊内儲存資料檔案’以將系統效 月b維持在一較尚位準。在此說明中使用四個平面或子陣 列。較佳採用系統所允許的最大平行度橫跨由來自該等平 面之每個平面的一區塊所形成之一整個元區塊來程式化並 讀取資料。通常將至少一個元區塊167配置為一保留區 117059.doc1336856 Volatile memory and host memory, and frequently updated by the host with the storage of new rights, deletion of other files, modification of files and the like. For example, when deleting a host file, the host can unconfigure the logical address previously configured for the deleted file by updating the directory and FAT table to show that it is now available for other data references. In some cases, only the directory is updated when a file is deleted and the FAT project remains for the expired data bundle, set. One of the logical addresses used within the FAT can be referred to as a logical block address φ (LBA), so one of such logical addressing is used in the logical address space that is typically used for data from different slots. The interface can be referred to as the lba interface. The host does not care about the physical location of the memory system controller to choose to store the file. A typical host only knows its logical address space and the logical addresses that have been configured for its various files. On the other hand, the memory system only knows the part of the logical address space that has been written to the data through a typical host/card interface, but does not know the logical address configured for a particular host file, or even the number of host files. The memory system controller converts the logical address provided by the host for storing or capturing data φ into a unique physical address within the array of flash memory cells storing the host data. A block 163 represents one of the logical to physical address ^ conversion worksheets maintained by the memory system controller. ‘· The memory system controller is programmed to store the data file in a block and metablock of the memory array I65 in a manner to maintain the system efficiency b at a higher level. Four planes or subarrays are used in this description. Preferably, the maximum parallelism allowed by the system is used to program and read data across one of the entire metablocks formed by a block from each of the planes. At least one metablock 167 is typically configured as a reserved area 117059.doc

A -21- 塊’其用於儲存藉由記憶體控制器使用的作業勃體及資 料。可配置另一元區塊169或多個元區塊以儲存主機操作 軟體、主機FAT表及類似等❶大部分實體儲存空間會保留 用於儲存資料檔案。然而,記憶體控制器一般不瞭解在主 機在其各檔案物件當中已配置接收資料之方式。所有記憶 體控制器一般從與主機交互瞭解,主機寫入特定邏輯位址 之資料係儲存於控制器之邏輯至實體位址表163所維持之 對應實體位址内。 在一典型記憶體系統中,除在位址空間161内儲存資料 數量所必需的儲存容量外,提供某些額外區塊的儲存容 量。該些額外區塊之一或多個區塊用作冗餘區塊,其用於 取代在記憶體使用壽命期間可能變損壞的其他區塊。通常 可能因各種原因而改變包含於個別元區塊内的區塊之邏輯 刀組’包括用一冗餘區塊替代最初指派給元區塊的一損壞 區塊。通常將一或多個額外區塊(例如元區塊171)維持在一 抹除區塊池内。當主機向記憶體系統寫入資料時,控制器 將主機所指派之邏輯位址轉換成在該抹除區塊池内一元區 塊内的實體位址。然後抹除未用於儲存邏輯位址空間I" 内資料之其他元區塊並將其指定為抹除池區塊用於在一後 續資料寫入操作期間使用。 隨著原始儲存的資料變為過期,新資料頻繁地覆寫儲存 於特疋主機邏輯位址處的資料。作為回應’記憶體系統控 制器在一抹除區塊中寫入新資料,然後針對該等邏輯位址 改變邏輯至實體位址表以識別該等邏輯位址處t資料所儲 117059.doc 1336856 存的新實體區塊。然後抹除包含該等邏輯位址處之原始資 料之該等區塊並使其可用於儲存新㈣。若在寫人開始= 在來自抹除區塊池之預抹除區塊内不存在足肖的儲存容 1,則此類抹除經常必須在完成當前資料寫入操作之前發 ^。此可以利地影㈣㈣料程式化速^記憶體控制 器一般僅在主機向一給定邏輯位址的相同邏輯位址寫入新 資料時,了解該資料在該給定邏輯位址4已由主機描述為 過期。該記憶體之許多區塊因此可以暫時儲存此類無效資 料。 區塊及元區塊之大小正在不斷增加以便有效率地使用積 體電路記憶體晶片之區域。此點導致一較大比例的個別資 料寫入儲存低於一元區塊之儲存容量並且在許多情況下甚 至少於一區塊之儲存容量之一資料數量。由於記憶體系統 控制器通常將新資料引導至一抹除池元區塊,因此此點可 以導致元區塊之多個部分未填滿。若新資料係儲存於另一 元區塊中的某些資料之更新,則亦需要以邏輯位址次序將 具有鄰近該等新資料元頁之該等邏輯位址之邏輯位址的來 自該其他元區塊之剩餘有效資料元頁複製於新元區塊内。 舊元區塊可保留其他有效資料元頁。此點隨時間導致一個 別元區塊之特定元頁之資料係描述為過期且無效,並藉由 寫入一不同元區塊之具有相同邏輯位址之新資料所取代。 為了維持足夠的實體記憶體空間以在整個邏輯位址空間 161上儲存資料’會週期性地壓縮或合併此類資料(垃圾收 集)°還需要盡可能按實際地將在元區塊内的資料區段按 117059.doc -23- 1336856 與其邏輯位址相同的次序來維持,由於此使讀取鄰近邏輯 位址中的資料更有效率。因此一般在此額外目標下執行資 料壓縮與⑽收集°美國專利案第6,763,424號中說明在接 收部分區塊資料更新時管理一記憶體及元區塊之使用的某 些方面。 資料壓縮-般涉及從一元區塊讀取所有有效資料元頁並 將其寫入至一新兀區塊’在該程序中忽略具有無效資料之A - 21 - Block ' is used to store the work and materials used by the memory controller. Another metablock 169 or a plurality of metablocks can be configured to store host operating software, host FAT tables, and the like. Most of the physical storage space is reserved for storing data files. However, memory controllers generally do not understand how the host has configured receiving data in its various archives. All memory controllers generally learn from interaction with the host, and the data written by the host to a specific logical address is stored in the corresponding physical address maintained by the logical-to-physical address table 163 of the controller. In a typical memory system, in addition to the storage capacity necessary to store the amount of data in the address space 161, the storage capacity of some additional blocks is provided. One or more of the additional blocks are used as redundant blocks for replacing other blocks that may become corrupted during the life of the memory. A logical tool set that typically changes a block contained within an individual metablock for various reasons includes replacing a corrupt block originally assigned to the metablock with a redundant block. One or more additional blocks (e.g., metablock 171) are typically maintained in an erase block pool. When the host writes data to the memory system, the controller translates the logical address assigned by the host into a physical address within the unary block in the erased block pool. Other metablocks that are not used to store the logical address space I" are then erased and designated as erase pool blocks for use during subsequent data write operations. As the original stored data becomes out of date, the new data frequently overwrites the data stored at the logical address of the special host. In response, the 'memory system controller writes new data in an erase block, and then changes the logic to the physical address table for the logical address to identify the logical address at which the data is stored. 117059.doc 1336856 New physical block. The blocks containing the original data at the logical addresses are then erased and made available for storage (4). If at the start of the writer = there is no storage capacity in the pre-erase block from the erase block pool, then such erase must often be sent before the current data write operation is completed. This can be used to facilitate the shadow (4) (four) material programming speed ^ memory controller generally only when the host writes new data to the same logical address of a given logical address, know that the data has been The host is described as expired. Many of the blocks of this memory can therefore temporarily store such invalid information. The size of the block and metablock is increasing to efficiently use the area of the integrated circuit memory chip. This results in a larger proportion of individual data being written to store the storage capacity below one dollar block and in many cases even at least one of the storage capacity of one block. Since the memory system controller typically directs new data to a wiper block, this can cause portions of the metablock to be unfilled. If the new data is an update of certain data stored in another metablock, then the logical addresses of the logical addresses adjacent to the new data element pages are also required to be logical addresses from the other elements. The remaining valid data element pages of the block are copied in the Xinyuan block. The old metablock can retain other valid material metapages. This point over time causes the data of a particular metapage of a unique metablock to be described as expired and invalid, and replaced by new data with the same logical address written to a different metablock. In order to maintain sufficient physical memory space to store data on the entire logical address space 161 'this data will be compressed or merged periodically (garbage collection) ° also need to actually put the data in the metablock as much as possible Sections are maintained in the same order as their logical addresses, 117059.doc -23- 1336856, since this makes reading data in adjacent logical addresses more efficient. Therefore, generally, data compression is performed under this additional objective and (10) collection. U.S. Patent No. 6,763,424 describes certain aspects of managing the use of a memory and metablock when receiving partial block data updates. Data compression - generally involves reading all valid data element pages from a single block and writing them to a new block. 'Ignore invalid data in this program.

元頁。具有有效資料之料元頁亦較佳的係採用—實體位 址-人序來配置’該實體位址匹配儲存於該等元頁中之資料 之邏輯位址次序。在新元區塊中所佔據之元頁數目將會小 於在舊元區塊中佔據的元頁之數目,因為並未將包含無效 資料之70頁複製到新元區塊内。然後抹除舊區塊並使其可 用於儲存新資料。然後藉由合併得到的額外元頁容量;用 於儲存其他資料。 在垃圾收集期間,從二或更多個元區塊收集具有鄰近或Meta page. The metadata page with valid data is also preferably configured with - physical address - human order - the physical address matches the logical address order of the data stored in the meta pages. The number of metapages occupied in the new metablock will be less than the number of metapages occupied in the old metablock, since 70 pages containing invalid data are not copied into the new metablock. Then erase the old block and make it available for storing new data. The additional metapage capacity obtained by the combination is then used to store other data. Collecting from two or more metablocks with proximity or during garbage collection

幾乎鄰近邏輯位址之有效資料之元頁,並將其重寫於另一 ^區塊内’通常係抹除區塊池内的-元區塊。在從原始二 或更多70區塊複製所有有效資料元頁肖,可抹除該等元 以供將來使用。 資料合併與垃圾收#需花f時間並可影響記憶體系統之 效能,尤其在資料合併或垃圾收集需要發生在可以執行來 自主機之命令之前的情況下。此類操作通常由記憶體系統 控制器來排程以盡可能在該背景下發生,但是執行該等操 作之需求可引起控制器須向主機提供—忙碌狀態指示器, 117059.doc -24- 1336856 直至完成此類操作。可延遲一主機命令之執行之範例係以 下情形1中在抹除區塊池内無足夠預抹除元區塊來储存 主機欲寫入記憶體之全部資料,且首先需要資料合併或垃 圾收集來清除一或多個有效資料元區塊,然後可將其抹 除。因此已將注意力引向管理記憶體之控制以便最小化此 類中斷。以下美國專利申請案中說明許多此類技術:序列 號1〇/749,831 ’ 2003年12月3()日申請,標題為"具有較大抹 除區塊之非揮發性記憶體系統之管理";序列號10/ 750,155’ 2003年12月30曰申請,標題為"具有區塊管理系 統之非揮發性記憶體及方法";序號1〇/917,888,2〇〇4年8 月13日申請,標題為"具有記憶體平面對齊之非揮發性記 憶體及方法";序號10/917,867,2004年8月13日申請;序 號10/917,889,2004年8月13日申請,標題為"具有定相程 式失效處理之非揮發性記憶體及方法";以及序號1〇/ 9i7,725 ’ 2004年8月13日申請,標題為"具有控制資料管理 之非揮發性記憶體及方法"。 有效率地控制具有極大抹除區塊之記憶體陣列之操作的 一挑戰係使在一給定寫入操作期間正在儲存的資料區段之 數目與記憶體之區塊的容量及邊界匹配並對齊。—種方法 係在必需儲存小於填充一整個元區塊之數量的一資料數量 時,為用以儲存來自主機之新資料之一元區塊配置小於一 最大數目的區塊。2003年12月30日申請的美國專利申請案 序列號1 0/749,1 89中說明適應性元區塊之使用,其標題為 ••適應性元區塊"。2004年5月7曰申請的專利申請案序列號 117059.doc -25- 1336856 10/841,118 以及 2004 年 12 月 16 日 6’27 1私題為資料運行程式化”,說明資料區塊間 的邊界與元區塊間的實體邊界之間的適配。 記憶體控制器還可使用來自,表之㈣,該資料係藉 由主機而儲存於非揮發性記憶體内,以更有效率地操作記A metapage of valid data that is almost adjacent to a logical address and rewritten in another ^block' is usually a metablock in the erased pool. Copying all valid material pages from the original two or more 70 blocks can be erased for future use. Data merging and garbage collection # can take f time and can affect the performance of the memory system, especially if data merging or garbage collection needs to occur before the command from the host can be executed. Such operations are typically scheduled by the memory system controller to occur as much as possible in the context, but the need to perform such operations may cause the controller to provide the host with a busy status indicator, 117059.doc -24- 1336856 Until such an operation is completed. An example of delaying the execution of a host command is that in the following scenario 1, there is not enough pre-erased metablock in the erase block pool to store all the data that the host wants to write into the memory, and firstly needs data merge or garbage collection to clear One or more valid data element blocks can then be erased. Therefore, attention has been directed to the control of management memory to minimize such interruptions. A number of such techniques are described in the following U.S. Patent Application: Serial No. 1 〇 / 749, 831 'December 3 (2003) application, titled "Management of Non-Volatile Memory Systems with Large Erase Blocks";; Serial No. 10/ 750, 155' December 30, 2003 application, titled "Non-volatile memory and method with block management system"; No. 1〇/917,888,2〇〇4年8 Application on March 13th, titled "Non-volatile memory and method with memory plane alignment"; No. 10/917,867, August 13, 2004 application; Serial number 10/917,889, August 13, 2004 , titled "Non-volatile memory and method with phasing program invalidation"; and serial number 1〇/ 9i7,725 'Application dated August 13, 2004, titled " Non-volatile with control data management Sexual memory and methods". A challenge to efficiently control the operation of a memory array having a significant erase block is to match and align the number of data sectors being stored during a given write operation with the capacity and boundaries of the memory blocks. . A method is to allocate less than a maximum number of blocks for storing one of the new data from the host when it is necessary to store a quantity less than the number of blocks filled with an entire metablock. U.S. Patent Application Serial No. 10/749, filed on Dec. 30, 2003, the disclosure of which is incorporated herein by reference. May 7th, 2004, the patent application serial number 117059.doc -25- 1336856 10/841,118 and December 16, 2004 6'27 1 private title for the stylization of data operation, indicating the boundary between data blocks Adaptation between physical boundaries with metablocks. The memory controller can also be used from (4), which is stored in non-volatile memory by the host to operate more efficiently.

憶體系統。此類使用用於瞭解主機藉由取消f料之邏輯位 址將資料識別為過期之時間。瞭解此點使記憶體控制器在 其通常藉由主機將新資料寫入該等邏輯位址來瞭解包含此 類無效資料的區塊之抹除之前,排程該抹除。此點在2〇〇4 年7月21日申請的美國專利申請序列號10/897,049内予以說 明,標題為"在非揮發性記憶體系統上維持資料之方法及 裝置"。其他技術包括監視向記憶體寫入新資料之主機圓 案,以便推斷一給定寫入操作是否係一單一檔案,或是否 係該等檔案之間邊界所處之多個擋案。2〇〇4年12月23曰申Recall system. This type of use is used to understand when the host recognizes the data as expired by canceling the logical address of the f material. Knowing this allows the memory controller to schedule the erase before it is normally written to the logical address by the host to understand the block containing the invalid data. This is described in U.S. Patent Application Serial No. 10/897,049, filed on Jul. 21, the entire disclosure of which is entitled "<RTIID=0.0>> Other techniques include monitoring a host file that writes new data to memory to infer whether a given write operation is a single file, or whether it is a multiple file at the boundary between the files. 2, 4, December 23

申請的專利申請案序號 請的美國專利申請案序列號丨1/〇22,369,標題為"用於最佳 化連續叢集管理之FAT分析",說明此類型技術之使用。 為有效率地操作記憶體系統,控制器需要盡可能多地瞭 解主機指派給其個別檔案之資料的邏輯位址。但是在主 機/記憶體介面包括邏輯位址空間161(圖7)時,記憶體控制 器難以較多地瞭解主機資料檔案結構,如以上所述。 以播案為主的定址 在一主機與記憶體系統之間用於大量資料儲存的一替代 性介面排除邏輯位址空間之使用。相反,主機藉由一唯— 檔案ID(或其他唯一參考)及在檔案内的資料單位(例如位元 117059.doc -26- 組)之偏移位址邏輯地定址各於宏 合棕累。此檔案位址係直接提 供給記憶體系統控制H,記憶體线控制器然後保持其實 體儲存各主機檔案之資料之位置的表。可使用上面相對於 圖2至6所述之相同記憶體系統來實施此新介面。與上述的 主要差別在於記憶體系統與一主機系統之通信方式。 圖8中說明在匕以標案為主介自,應將其與圖7之邏輯位址 介面進行比較。直接將檔案卜2及3之各標案之一識別及 圖8之該等播案之資料偏移傳遞給記憶體控制_。然後此 邏輯位址資訊係藉由一記憶體控制器功能173轉譯成記憶 體165之元區塊及元頁之實體位址。 由於記憶體系統瞭解組成每個檔案之資料之位置,因此 可在一主機刪除檔案後不久便立即抹除該些資料^對於一 典型邏輯位址介面而言,情況一般並非如此。此外,藉由 利用檔案物件而非使用邏輯位址來識別主機資料,記憶體 系統控制器可以採用減小頻繁資料合併與收集之需要之一 方式來儲存資料。因此明顯減小資料複製操作頻率及複製 資料之數量’藉此增加記憶體系統之資料程式化及讀取效 能。 以權案為主介面之範例包括使用直接資料檔案儲存之該 等介面°在以下待審美國專利申請案中說明直接資料檔案 儲存記憶體系統:序列號11/060,174、11/060,248及11/ 060’249 ’所有申請案單獨在Alan W. Sinclair或與Peter J. Smith —起名義下於2005年2月16日申請、及Alan W. Sinclair與Barry Wright申請的臨時申請案第60/705,388 117059.doc •27- 1336856 號,標題為"快閃記憶體中的直接資料檔案儲存"(以下統稱 為”直接資料檔案儲存申請案")。 由於該些直接資料檔案儲存申請案的直接資料檔案介面 (如圖8所示)係比上述邏輯位址空間介面(如圖7所述)更簡 單,並且允許記憶體系統更佳地執行,因此直接資料檔案 儲存係較佳地諸許多應卜但是目前主要將主機系統配 置成用以使用邏輯位址空間介面來操作,故具有一直接資 料檔案介面之記憶體系統與大多數主機不相容。因此需要 k供此夠採用任一介面操作的記憶艘系統。 邏輯至虛擬檔案映射 2005年8月3曰申請的美國專利申請案第1 1/196 869號, 標題為"透過邏輯位址空間及以直接資料檔案為基礎操作 之介接系統",說明使一記憶體系統能夠使用一邏輯定址 介面或一以檔案為主介面介接主機之系統。圖9說明此類 系統。此範例組合圖7之主機操作與圖8之以檔案為主記憶 體操作’加上在該記憶體系統内的一添加位址轉換丨72。 位址轉換172橫跨記憶體空間161將多組邏輯位址映射成橫 跨修改位址空間16Γ所示之個別邏輯檔案&至」。較佳的係 將整個邏輯位址空間161劃分成該些邏輯檔案,故邏輯檔 案之數目取決於邏輯位址空間及個別邏輯檔案之大小。該 等邏輯標案之各邏輯檔案包含一組橫跨空間161之連續邏 輯位址之資料。較佳的係使在該等邏輯檔案之各邏輯檔案 内的資料數量相同,且該數量等於在記憶體165内的一元 區塊之資料儲存容量。該耸邏輯檔案之不相等大小及/或 117059.doc • 28 - 1^6856 不同於6亥δ己憶體之一區塊或元區塊之儲存容量之大小當然 可行但並非較佳。 藉由該等個別檔案&至〗之各檔案内的資料係藉由該等檔 案内的邏輯偏移位址來表示。該等邏輯檔案之檔案識別符 . 及資料偏移係在173轉換成記憶體165内的實體位址。該等 邏輯檔案a至j係藉由直接資料檔案儲存申請案中所述之相 同私序及協定而直接儲存於記憶體165内。特別在該數量 • 等於記憶體之一區塊或元區塊之容量之情況下,該程序與 用於在s己憶體165内儲存圖9之資料檔案丨至〗的程序相同, 除了各邏輯檔案内已知資料數量可使此更簡單外。在圖9 中顯示該等邏輯檔案3至〗之各邏輯檔案係映射至記憶體 165之該等元區塊之一不同元區塊。還需要以檔案為主的 储存器採用與已設計主機介接之當前邏輯位址記憶體系統 相同或—等同以與主機進行互動。藉由將個別邏輯槽案 映射成對應的個別記憶體元區塊,使用直接資料檔案介面 ♦ 5己憶體系統實現與在使用邏輯位址空間介面時本質上相同 的效能與時序特徵。 ^ 圖9之以資料檔案為主的後端儲存系統,其設計成用以 透過一傳統邏輯位址空間介面協同一主機工作,還可具有 . —附加的直接資料檔案介面。來自檔案介面之主機資料檔 案與來自邏輯介面之邏輯播案均係轉譯成記憶體元區塊: 址。然後藉由執行-直接資料槽案協定將該等資料储存於 記憶體之該等位址内。此協定包含先前列舉的直接資料槽 案儲存申請案之直接資料檔案儲存技術。 田 117059.doc -29· 1336856 邏輯地定址檔案儲存 如上所述,將資料維持在儲存於一記憶體陣列之連續區 域内並採用一以檔案為主方式管理的一記憶體系統做為檔 案有多個優點。然而,許多主機採用具有邏輯位址之資料 區段形式向記憶體系統提供資料。在此類系統中主機檔案 • 可能邏輯地片斷化,使得一主機檔案佔據多個邏輯位址範 圍而其他資料佔據中間邏輯位址範圍。儘管採用一預定義 _ 方式來映射邏輯位址空間至虛擬擋案允許一以擋案為主後 端來處理邏輯地定址資料,但虛擬檔案仍保持邏輯位址空 間之邏輯地片斷化圖案,使得包含一單一虛擬檔案之一元 區塊可能包含來自許乡主機播案之資料。一記憶體系統需 要接收來自一主機之邏輯地定址資料並採用將來自一單一 主機檔案之資料保持於不包含來自許多或任何其他檔案的 資料之一或多個區塊内之一方式來儲存該資料。依此方 式即便使用從所有檔案共用的一邏輯位址空間來發送採 • 用具有邏輯位址之區段形式之資料之一主機,仍可實現以 標案為主的儲存之該等優點之某些優點。 在一具體實施例中,一主機在發送資料區段之前向一記 ’ ’ 憶、體系統發送關於-資料區段之資訊。該記憶體系統可使 . 用此資訊用於儲存該區段與相同檔案之其他區段。依此方 式,來自相同權案之區段係一起保持在可專用於僅儲存該 標案之特定區段内(儘管某些區塊可能储存來自多個擋案 之資料)。該主機所發送之資訊可採用FAT及目錄區段之形 式,FAT及目錄區段提供關於即將發送之區段之配置資 117059.doc I336856 訊。此序列係通常序列之反向次序’在通常序列中主機發 送資料區段,隨後發送採用FAT及目錄區段形式之配置資 訊而且’在先剛系統中’該s己憶體系統一般不使用fat 及目錄區段之内容來修改其操作。The number of patent applications filed is US Patent Application Serial No. 1/〇22,369, entitled "FAT Analysis for Optimizing Continuous Cluster Management", indicating the use of this type of technology. In order to operate the memory system efficiently, the controller needs to know as much as possible the logical addresses of the data that the host assigns to its individual files. However, when the host/memory interface includes the logical address space 161 (Fig. 7), it is difficult for the memory controller to know more about the host data file structure, as described above. Addressing based on broadcasts An alternative interface for bulk data storage between a host and a memory system eliminates the use of logical address spaces. Instead, the host is logically addressed to each other by a unique file ID (or other unique reference) and an offset address in the data unit (eg, bit 117059.doc -26-group) within the file. This file address is directly supplied to the memory system control H, and the memory line controller then maintains a table of the location of the data stored in each host file. This new interface can be implemented using the same memory system as described above with respect to Figures 2-6. The main difference from the above is the way the memory system communicates with a host system. In Figure 8, the description is based on the standard case, which should be compared with the logical address interface of Figure 7. The identification of one of the files of the files 2 and 3 and the data offset of the broadcasts of FIG. 8 are directly transmitted to the memory control_. The logical address information is then translated into a physical block of the memory 165 and a physical address of the meta page by a memory controller function 173. Since the memory system knows the location of the data that makes up each file, it can be erased as soon as the host deletes the file. This is generally not the case for a typical logical address interface. In addition, by using archival objects instead of logical addresses to identify host data, the memory system controller can store data in one way that reduces the need for frequent data merging and collection. Therefore, the frequency of data copying operations and the amount of copying data are significantly reduced, thereby increasing the stylized and read performance of the memory system. Examples of rights-based interfaces include such interfaces that use direct data file storage. The direct data file storage memory system is described in the following pending US patent applications: Serial Numbers 11/060, 174, 11/060, 248, and 11/060 '249 'All applications were filed on February 16, 2005, in the name of Alan W. Sinclair or with Peter J. Smith, and in provisional applications filed by Alan W. Sinclair and Barry Wright, 60/705, 388 117059. Doc • 27- 1336856, titled "Direct Data File Storage in Flash Memory" (collectively referred to as "Direct Data File Storage Application"). Due to direct data storage applications The file interface (shown in Figure 8) is simpler than the logical address space interface described above (as described in Figure 7) and allows the memory system to perform better, so the direct data file storage system preferably has many However, at present, the host system is mainly configured to operate using a logical address space interface, so a memory system having a direct data file interface is incompatible with most hosts. Therefore, it is necessary to provide a memory system for any interface operation. Logic to Virtual File Mapping, US Patent Application No. 1 1/196 869, filed August 3, 2005, entitled " And the interface system based on the direct data file operation, describes a system that enables a memory system to use a logical addressing interface or a file-based interface to interface with the host. Figure 9 illustrates such a system. The host operation of Figure 7 and the file-based memory operation of Figure 8 plus an added address translation 丨 72 within the memory system. Address translation 172 sets multiple sets of logical addresses across the memory space 161. Map to individual logical files & to " across the modified address space 16". Preferably, the entire logical address space 161 is divided into the logical files, so the number of logical files depends on the logical address space and the size of the individual logical files. Each logical file of the logical references contains a set of data that contiguously contiguous logical addresses across space 161. Preferably, the amount of data in each logical file of the logical files is the same and the amount is equal to the data storage capacity of the unary blocks in the memory 165. The unequal size of the logical file and/or 117059.doc • 28 - 1^6856 is different from the storage capacity of one of the blocks or metablocks of the 6th δ recall. The data in each of the files in the individual files & to are represented by logical offset addresses within the files. The file identifiers and data offsets of the logical files are converted to physical addresses within the memory 165 at 173. The logical files a to j are stored directly in the memory 165 by the same private order and agreement as described in the direct data file storage application. Especially in the case where the number is equal to the capacity of one block or metablock of the memory, the program is the same as the program for storing the data file of FIG. 9 in the suffix 165, except for the logic. The amount of known data in the file makes this simpler. The logical files of the logical files 3 through 〖 are shown in Figure 9 as being mapped to one of the metablocks of the memory block 165. It is also necessary for the file-based storage to be the same or-equivalent to interact with the host as the current logical address memory system that the host is designed to interface with. By mapping individual logical troughs into corresponding individual memory metablocks, the direct data archive interface is used to achieve essentially the same performance and timing characteristics as when using logical address space interfaces. ^ Figure 9 is a data file-based back-end storage system designed to work with a host through a traditional logical address space interface. It can also have an additional direct data file interface. The host data files from the file interface and the logical broadcasts from the logical interface are translated into memory metablocks: address. The data is then stored in the address of the memory by an execution-direct data slot protocol. This agreement contains the direct data archive storage technology of the previously listed direct data storage application. Field 117059.doc -29· 1336856 Logical Addressing File Storage As described above, the data is maintained in a contiguous area of a memory array and uses a memory system managed by a file as a file. Advantages. However, many hosts provide data to the memory system in the form of data segments with logical addresses. Host files in such systems • may be logically fragmented such that one host file occupies multiple logical address ranges while other data occupy an intermediate logical address range. Although mapping a logical address space to a virtual file using a predefined _ mode allows a filed primary back end to handle logically addressed data, the virtual file maintains a logically fragmented pattern of logical address spaces, such that A metablock containing a single virtual file may contain material from a Xuxiang host broadcast. A memory system needs to receive logically addressed data from a host and store the data from a single host file in one or more blocks that do not contain data from many or any other files. data. In this way, even if a host using a logical address space shared by all files is used to transmit one of the data in the form of a segment having a logical address, the advantage of the standard-based storage can still be realized. Some advantages. In one embodiment, a host sends information about a data section to a memory system prior to transmitting the data section. The memory system can use this information to store the segment and other segments of the same file. In this manner, segments from the same rights are held together in a particular segment that can be dedicated to storing only the standard (although some blocks may store data from multiple files). The information sent by the host can be in the form of FAT and directory sections, and the FAT and directory sections provide configuration information about the section to be sent 117059.doc I336856. This sequence is the reverse order of the usual sequence 'in the normal sequence, the host sends the data section, then sends the configuration information in the form of FAT and directory sections and the 'in the first system', the simon system generally does not use fat And the contents of the directory section to modify its operation.

一邏輯地定址檔案儲存方案之一目標係接收來自一主機 之邏輯地片斷化資料並將該檔案儲存於比該邏輯片斷更少 片斷化的一實體配置内。因而,將映射至不連續之邏輯位 址空間之二或更多部分(在該等二部分之間存在其他邏輯 位址)之一檔案連續地儲存於該實體記憶體陣列内。採用One of the goals of a logically addressed file storage scheme is to receive logically fragmented material from a host and store the file in a physical configuration that is less fragmented than the logical segment. Thus, one of the files mapped to two or more portions of the discontinuous logical address space (with other logical addresses between the two portions) is continuously stored in the physical memory array. use

—實體連續方式儲存檔案可能意味著一檔案之所有資料係 儲存於一單一區塊内,或當在該檔案内的資料超過一區塊 之容量時,來自該標案之資料排他地佔據—或多個區塊且 僅一區塊包含來自該檔案之資料及不來自該檔案之其他資 ,。儲存來自案之資料之該等區塊不需要採用任何特 定配置。因而,在此背景下的"連續"不意味著一起定位包 含該稽案之該等區塊,而係指在個另,】^塊内配置資料。 圖10顯示依據本發明之一具體實施例的一邏輯地定址檔 案儲存方案。-主機發送檔案i、播案2及槽案3用於健存 於記憶體陣列18G内。棺案至邏輯位址轉換16㈣藉由該主 機採用類㈣圖7所示之方式的—方式 樓 Μ及獅至-共用邏輯位址空間161。播案 此映射(如資料檔案2所示)而變得邏輯地片斷化,資料檔案 2佔據邏輯位址空間161之二部分,諸之資料未佔:的 -中間部分分離該等二部分。類似地,資料棺案3係分割 117059.doc -31 · 1336856 成二部分。在某些記憶體系統中,檔案可能變得更多片斷 化’標案佔據邏輯位址空間之許多分離部分。當資料檔宰 1、2及3係藉由檔案至邏輯位址轉換16〇而映射至邏輯位址 空間時,產生檔案至邏輯位址轉換資訊丨82。將檔案至邏 輯位址轉換資訊18 2傳遞給該記憶體。然而,不同於許多 先前系統,在此情況下,檔案至邏輯轉換資訊182係在其 所參考之資料之前發送至該記憶體。因而,在發送該等邏 輯位址範圍之資料區段之前’向該記憶體發送反映將檔案 2映射至邏輯位址空間161之二不同邏輯位址範圍之資訊。 槽案至邏輯位址轉換資訊182允許採用使用檔案至邏輯位 址轉換資訊182來決定儲存個別區段之實體位址之一方式 來完成邏輯至實體位址轉譯184。 圖1〇顯示配置為一保留區塊之元區塊丨67、配置用於儲 存主機作業軟體之元區塊169、主機fat表及類似物、及如 先前維持於一抹除區塊池内的元區塊171。圖1〇還顯示儲 存於一元區塊内的檔案1、在另一元區塊内的檔案2及佔據 兩個其他元區塊之檔案3。即便檔案2係映射至邏輯位址空 間161之二分離部分’由於邏輯至實體位址轉譯184而將檔 案2之二部分儲存在一起。類似地,檔案3係邏輯地片斷化 成二部分’該等二部分佔據相互分離的邏輯位址空間16 i 之二部分。並非擋案3之部分的額外資料係映射至邏輯位 址空間之中間部分。然而,檔案3之邏輯地分離部分係一 起儲存於不包含其他檔案之資料之二元區塊内。在元區塊 内之此檔案配置於僅包含一單一檔案之資料較為有利,因 117〇59.do, • 32- 為當一檔案變成過期時,一整個元區塊變成過期且不需要 如在垃圾收集期間一般所完成的複製有效資料。讓所有元 區塊僅儲存一檔案之資料可能不太有效率,因為檔案可能 無法填充一整數數目的元區塊且維持元區塊之未用部分會 減小記憶體容量。然而,比較先前系統(即使其中某些元 區塊包含來自多個檔案之資料),仍可減小在記憶體陣列 中的檔案片斷化。 的資料可稍後組合來自其他檔案之資料 使得不浪費在該- Entity continuous storage of files may mean that all data in a file is stored in a single block, or when the data in the file exceeds the capacity of a block, the data from the file exclusively occupies - or Multiple blocks and only one block contains information from the file and other resources not from the file. The blocks that store the data from the case do not need to be configured in any particular way. Thus, "continuous" in this context does not mean that the blocks containing the instance are located together, but that the data is configured in the other block. Figure 10 shows a logically addressed file storage scheme in accordance with an embodiment of the present invention. - The host sends the file i, the broadcast 2 and the slot 3 for storage in the memory array 18G. From the file to the logical address conversion 16 (4), the host adopts the mode of the class (4) shown in FIG. 7 and the lion to share logical address space 161. The broadcast file is logically fragmented as shown in data file 2, and the data file 2 occupies two parts of the logical address space 161, and the data is not occupied: the middle portion separates the two parts. Similarly, the data file 3 is divided into 117059.doc -31 · 1336856 into two parts. In some memory systems, the file may become more fragmented. The standard takes up many separate parts of the logical address space. When the data files 1, 2, and 3 are mapped to the logical address space by the file-to-logical address conversion 16 ,, the file-to-logic address conversion information 产生 82 is generated. The file-to-logic address translation information 18 2 is passed to the memory. However, unlike many prior systems, in this case, the file-to-logic conversion information 182 is sent to the memory prior to the material it references. Thus, information reflecting the mapping of file 2 to two different logical address ranges of logical address space 161 is sent to the memory prior to transmitting the data segments of the logical address ranges. The trough-to-logical address translation information 182 allows the logical-to-physical address translation 184 to be accomplished using a file-to-logical address translation information 182 to determine one of the physical addresses of the individual segments to be stored. 1A shows a metablock 配置67 configured as a reserved block, a metablock 169 configured to store host operating software, a host fat table and the like, and a meta-region previously maintained in an erased block pool. Block 171. Figure 1〇 also shows the archives stored in the unary block, the archive 2 in the other metablock, and the archive 3 occupying the other metablocks. Even if the file 2 is mapped to the logical address space 161, the second separated portion 'stores the two parts of the file 2 together due to the logical-to-physical address translation 184. Similarly, file 3 is logically fragmented into two parts' which occupy two portions of logical address spaces 16i that are separated from each other. Additional information that is not part of Block 3 is mapped to the middle of the logical address space. However, the logically separated portions of File 3 are stored together in a binary block that does not contain data for other files. It is advantageous to configure this file in the metablock to contain only a single file, because 117〇59.do, • 32- is when an archive becomes expired, an entire metablock becomes out of date and does not need to be Copying of valid data generally done during garbage collection. It may not be efficient to have all of the metablocks store only one file of data, as the file may not be able to fill an integer number of metablocks and maintaining unused portions of the metablock will reduce memory capacity. However, comparing previous systems (even if some of the metablocks contain data from multiple archives) can reduce file fragmentation in the memory array. The information can be combined later from other files so that it is not wasted

來自多個檔案之殘餘檔案資料係採用一有效率方 圖11顯示檔案A之一範例,檔案A係映射至邏輯位址空 間161並藉由此映射而邏輯地片斷化成四個部分。在將資 料發送至該記憶體之前,向該記憶體發送關於此映射之檔 案至邏輯位址轉換資訊182。因而,檔案A之部分所映射之 邏輯位址係由於檔案A而藉由檔案至邏輯位址資訊182來識 別然後,當將檔案A之資料發送至記憶體時,儲存檔案 A之資料之位置係藉由檔案a之識別來決定。圖η顯示在 記憶體内發生的邏輯至實體轉譯184。映射至邏輯位址空 門1 6 1之刀離部分的檔案A之部分係映射至實體記憶體陣列 180之連續部分。在此範例中,元區塊4填滿來自檔案八之 資料而元區塊7部分填滿來自檔案A之資料。在元區塊7内 117059.doc 1336856 式而組合於一單一共用區塊内。 通知方案 各種通知方案可用於從主機向記憶體發送檔案至邏輯位 址轉換資訊。在一範例中,所使用之通知方案遵照與—般 在記憶體内儲存控制資訊時所使用之格式相同的格式。此 方案使用FAT區段及目錄區段來更新非揮發性記憶體内的 FAT及目錄資訊’使得其可用於稍後還原。_顯示可儲 存配置資訊之方法。槽案八及0係儲存於一記憶體内。— 目錄包括用於槽案Α及播案Β二者之項目。一目錄項目包 含各種關於一檔案之資訊’包括該檔案之第一叢集之位 因而,對於檔案A,目錄項目指示叢集2係第一叢集, 故用於播案A之第一 FAT項目係用於叢集2之項目。對於權 案B’目錄項目指示第一叢集係叢集〇。該膽包含指示用 於指示該檔案之下一叢集的叢集項目。因@,當用於一檔 案之第-FAT項目之位置係從該目錄獲得時用於配置給 該稽案之先前叢集之FAT項目指示後續腹項目。可認為 FAT項目鍵鎖",因&對於一特定槽案一勝項目指向下— 之位置之方式。對於稽案a ’叢集2係由目錄指示 ^ 一蓄隹#用於叢集2之項目指示叢集3係用於標案A的 一:隹〃。用於叢集3之項目指*叢集4係用於槽案A的下 叢隹4在用於叢集4之項目指示—棺案結束(E°F)。因而, 叢集二:給槽案A之最後叢集。對於構案B,目錄指示 宰B、的ΐ —叢集。用於叢集0之項目指示叢集1係用於檔 粟Β的下—叢隼。 〇用於叢集1之項目指示叢集5係用於檔案 117059.doc -34- 1336856 B的下一叢集。用於叢集5之項目指示叢集6係用於檔案b 之下—叢集而用於叢集6之項目指示一檔案結束。因而, 叢集6係檔案B之最後叢集。一般藉由一主機來維持FAT及 目錄資訊並藉由發送FAT區段及目錄區段定期將其儲存非 揮發性記憶體内。 • 先前方案已使用目錄及FAT結構來儲存檔案至邏輯位址 ,一 資訊。然而,不同於先前方案,依據本發明之一具體實施 φ 例之一方案在將資料發送至該記憶體之前發送檔案至邏輯 位址資訊。在一典型先前系統中,FAT及目錄區段僅在發 送其所參考之資料之後發送並儲存於記憶體内。延遲發送 FAT及目錄區段之一原因係在寫入資料之前功率損失之情 況下,避免將不正確的資訊記錄於非揮發性記憶體内。在 一具體實施例中,一方案藉由在儲存用於一檔案之FAT所 參考之檔案之前僅針對一檔案寫入該FAT之部分以避免此 問題。依此方式,若發生功率損失,則部分FAT指示寫入 塌| 樓案未完成且無法使用該檔案。 ^ 在—範例性通知方案中,FAT及目錄區段係由主機發送 以通知記憶體關於主機將要發送之資料區段之檔案配置。 =般不必發送用於所發送主機資料之各叢集之檔案配置資 訊 般而s,在一主機發送連續區段叢集之情況下,記 憶體假定該等叢集屬於相同檔案。因而,在將一單一檔案 作為一連續叢集流發送之情況下,該主機可僅在發送第一 叢集之前識別該標案並在最後區段之後發送-檔案結束指 不器。圖u顯示主機向記憶體發送圖12之檔案a之一範 117059.doc -35- 丄336856Residual archives from multiple archives use an efficient approach. Figure 11 shows an example of archive A, which is mapped to logical address space 161 and logically fragmented into four sections by this mapping. The file for this mapping to logical address translation information 182 is sent to the memory before the data is sent to the memory. Therefore, the logical address mapped by the portion of the file A is identified by the file to logical address information 182 due to the file A. Then, when the data of the file A is sent to the memory, the location of the data of the file A is stored. Determined by the identification of the file a. Figure η shows the logical to physical translation 184 that occurs in memory. The portion of file A mapped to the logical address space 1 > 1 1 is mapped to the contiguous portion of the physical memory array 180. In this example, metablock 4 fills up the data from archive eight and metablock 7 fills the data from archive A. In metablock 7, 117059.doc 1336856 is combined into a single shared block. Notification Schemes Various notification schemes can be used to send files from the host to the memory to logical address translation information. In one example, the notification scheme used follows the same format as that used when storing control information in memory. This scheme uses the FAT section and the directory section to update the FAT and directory information in the non-volatile memory so that it can be used for later restoration. _Displays the method by which configuration information can be stored. Slots 8 and 0 are stored in a memory. — The catalogue includes items for both the case and the broadcast. A directory item contains various information about a file 'including the first cluster of the file. Thus, for file A, the directory item indicates the first cluster of cluster 2, so the first FAT project for broadcast A is used. Cluster 2 project. The first cluster system cluster is indicated for the rights B' directory item. The courage contains a cluster item indicating the cluster under which the file is indicated. Because @, when the location of the first-FAT project for a profile is obtained from the catalog, the FAT project for the previous cluster configured for the profile indicates the follow-up belly project. It can be considered that the FAT project key lock ", because & for a particular slot case, a win item points to the next - position. For the audit file a 'cluster 2 is indicated by the directory ^一隹隹# The project for cluster 2 indicates that cluster 3 is used for one of the documents A: 隹〃. The item for cluster 3 refers to * cluster 4 is used for the lower cluster of slot A. 4 is used for the project indication of cluster 4 - the end of the file (E °F). Thus, cluster two: give the last cluster of slot A. For the case B, the directory indicates the ΐ-cluster of the B. The item for cluster 0 indicates that cluster 1 is used for the lower cluster of the file.项目 The item indicated for cluster 1 is cluster 5 for the next cluster of archives 117059.doc -34- 1336856 B. The item for cluster 5 indicates cluster 6 is used under archive b - cluster and the item for cluster 6 indicates the end of a file. Thus, cluster 6 is the last cluster of archives B. The FAT and directory information is typically maintained by a host and periodically stored in non-volatile memory by sending FAT segments and directory segments. • The previous scheme has used the directory and FAT structure to store files to logical addresses, a message. However, unlike the prior scheme, one of the φ examples according to one embodiment of the present invention transmits the file to the logical address information before transmitting the data to the memory. In a typical prior system, the FAT and directory segments are sent and stored in memory only after the data to which they are referenced. One reason for delaying the transmission of FAT and directory segments is to avoid recording incorrect information in non-volatile memory in the event of power loss prior to writing data. In one embodiment, a solution avoids this problem by writing only the portion of the FAT for a file before storing the file referenced by the FAT for a file. In this way, if a power loss occurs, part of the FAT indicates that the write is collapsed | the project is not completed and the file cannot be used. ^ In the exemplary notification scheme, the FAT and directory segments are sent by the host to inform the memory about the file configuration of the data segment that the host is about to send. In general, it is not necessary to send the file configuration information for each cluster of the transmitted host data. In the case where a host transmits a continuous sector cluster, the memory assumes that the clusters belong to the same file. Thus, in the case of transmitting a single file as a continuous cluster stream, the host can identify the table only before sending the first cluster and send the file end pointer after the last segment. Figure u shows that the host sends a file of Figure 12 to the memory. 117059.doc -35- 丄336856

例。首先,發送一目錄區段301,其指示叢集2係檔案八之 第—叢集。然後發送叢集2之該等區段並由記憶體將其儲 存於記憶體陣列之一新區塊302内,因為此叢集係一新主 機檔案之開始。隨後,連續地接收叢集3及4之區段並將其 儲存於與叢集2之區段相同的區塊内。在接收叢集4之後, 主機發送具有用於叢集4之一檔案結束目錄之_ FAT區段 303,該檔案結束目錄指示其係檔案A内的最後叢集。還可 在此時發送用於檔案A之全部FAT資訊,因為已儲存整個 檔案A。在此時,記憶體可關閉檔案A並在需要時可執行 回收操作。此點顯示採用一邏輯地連續方式發送而無任何 至其他檔案之中間寫入之一檔案之一範例。 圖14顯示圖12之一主機發送檔案B之範例。首先,發送 一目錄區段410,其指示檔案B之第一叢集係叢集〇。然 後,發送叢集〇之區段並將其儲存於一新區塊412内因為 。然後,接收叢集1之區 該些區段係一新檔案之第一區段example. First, a directory section 301 is sent which indicates that cluster 2 is the first cluster of files. The segments of cluster 2 are then sent and stored by the memory in a new block 302 of the memory array because this cluster is the beginning of a new host file. Subsequently, the segments of clusters 3 and 4 are successively received and stored in the same block as the segment of cluster 2. After receiving cluster 4, the host sends a _FAT section 303 with a file end directory for cluster 4, which indicates the last cluster within file A. It is also possible to send all FAT information for file A at this time because the entire file A has been stored. At this point, the memory can close file A and perform a reclamation operation when needed. This point shows an example of a file that is sent in a logically continuous manner without any intermediate writes to other files. Figure 14 shows an example of a host of Figure 12 transmitting a file B. First, a directory section 410 is sent which indicates the first cluster of clusters of archive B. The cluster is then sent and stored in a new block 412 because. Then, receive the area of cluster 1 and the sections are the first section of a new file.

段,並因為該些區段與叢集〇之該等區段連續假定其也 來自播案B,故其也儲存於區塊412内。接著,接收一附 區¥又414’其包含用於叢集!之_ FAT項目且用於此項目之 指標指示叢集5係檔案B内的下一叢集。ρΑΤ區段414在此 時可不包含用於叢集5之-項目,因為主機還未發送叢集 5。FAT區段414通知記憶體控㈣器,儘管從叢集i至叢集5 在邏輯位址存在一跳躍,但叢集5之區段包含叢#1之後的 來自㈣B之下H然後’當接收到叢集5之該等區段 時’將其與叢集1之該等區段一起儲存於區塊412内。然 117059.doc -36 - 1336856 後,接收叢集6並還將其儲存於區塊412内,因為其與叢集 5連續。隨後,接收一FAT區段416,其包含用於叢集6之_ 檔案結束項目。然後可關閉檔案可在必要時在包含檔 案B之區塊上執行回收操作。在某些情況下,記憶體可假 定當在邏輯位址存在一跳躍時主機將繼續寫入相同檔案之 下一叢集。在此類記憶體系統中,當主機使用在邏輯位址 之跳躍繼續寫入來自相同檔案之資料時,不需要任何特 疋通知。圖14可視為一檔案之一邏輯地不連續寫入而無至 其他檔案之中間寫入之一範例,因為儘管在叢集丨之區段 與叢集5之區段之間在邏輯位址存在一跳躍,但主機在專 用於發送檔案B之一時間週期中發送擋案B(即在此時間内 不發送任何來自其他檔案之資料)。 圖15A顯示一主機映射至一邏輯位址空間之部分的二檔 案C及D ^在此情況下,二檔案C&D不僅在邏輯位址空間 上片斷化,而且採用一臨時片斷化方式來發送。主機採用 邏輯次序發送檔案C及D之該等叢集,因此先發送叢集 10,然後發送叢集Π,然後發送叢集12以及等等。即便該 等叢集係採用邏輯地連續次序發送,但此舉仍涉及檔案相 互間的某些變化。主機通知記憶體檔案之間的該些變化。 圖15B顯示當主機開始寫入一不同檔案時主機通知記憶 體之方法。首先,發送一目錄區段52〇,其指示叢集丨❶係 檔案C之第一叢集。然後,主機發送叢集1〇之區段並將其 儲存於一新區塊522内的記憶體陣列内,因為該些區段係 一新檔案之第一區段。接著,主機發送另一目錄區段 117059.doc •37-The segments are also stored in block 412 because they continue to assume that they are also from broadcast B because of the segments and the segments of the cluster. Next, receive a coupon ¥ 414' which is included for the cluster! The indicator of the FAT project and used for this project indicates the next cluster in the Cluster 5 Series File B. The ρΑΤ section 414 may not contain the item for cluster 5 at this time because the host has not yet sent the cluster 5. The FAT section 414 notifies the memory controller (four) that although there is a hop at the logical address from cluster i to cluster 5, the section of cluster 5 contains plexes #1 from (four) B under H and then 'when cluster 5 is received The segments are then stored in block 412 along with the segments of cluster 1. After 117059.doc -36 - 1336856, cluster 6 is received and stored in block 412 because it is contiguous with cluster 5. Subsequently, a FAT section 416 is received which contains the _ file end entry for cluster 6. You can then close the file and perform a reclamation operation on the block containing file B if necessary. In some cases, the memory can assume that the host will continue to write to the next cluster of the same file when there is a jump in the logical address. In such a memory system, no special notification is required when the host continues to write data from the same file using a jump in the logical address. Figure 14 can be viewed as an example of logically discontinuous writing of one file without intermediate writing to other files, because there is a jump in the logical address between the segment of the cluster and the segment of cluster 5. , but the host sends the file B in a time period dedicated to sending the file B (ie, no data from other files is sent during this time). Figure 15A shows two files C and D mapped to a portion of a logical address space. In this case, the two files C&D are not only fragmented in the logical address space, but also sent in a temporary fragmentation manner. . The host sends the clusters of files C and D in a logical order, so the cluster 10 is sent first, then the cluster 发送 is sent, then the cluster 12 is sent, and so on. Even though the clusters are sent in a logically sequential order, the move still involves some changes between the files. The host notifies the changes between the memory files. Figure 15B shows the method by which the host notifies the memory when the host begins writing to a different file. First, a directory section 52 is sent which indicates the first cluster of the cluster file C. The host then sends the clustered chunks and stores them in a memory array within a new chunk 522 because the sections are the first section of a new archive. Then, the host sends another directory section 117059.doc •37-

524 ’其指不叢集u係棺案D之第一叢集。隨後,發送叢集 11並將其儲存於另一新區塊526内。然後,接收叢集12並 /、叢集11 一起儲存於區塊526内。記憶體系統假定,因為 叢集12與叢集Ui|_續且主機未另外指示,故叢集12屬於與 叢集11相同的檔案。接著,主機發送- FAT區段,其具有 用於叢集10之-項目。用於叢集1〇之項目包括一指標其 :於叢集10之檔案(檔案c)之下一叢集。在此情況下,該 指標指示檔案C之下-叢集係叢集13。然後,接收叢集 13即便其與所接收的最後叢集(叢集12)邏輯地連續,但 記憶體系統仍瞭解叢集13係配置給檔案c,故將叢集13之 區&與叢集1〇之區段一起儲存於區塊522。524 ' refers to the first cluster of clusters that do not cluster u. The cluster 11 is then sent and stored in another new block 526. Receive clusters 12 and /, clusters 11 are then stored together in block 526. The memory system assumes that cluster 12 belongs to the same archive as cluster 11 because cluster 12 and cluster Ui|_ continue and the host does not otherwise indicate. Next, the host sends a - FAT section with the item for cluster 10. The project for cluster 1 includes an indicator of it: a cluster under the archive of cluster 10 (file c). In this case, the indicator indicates under the file C - cluster cluster 13 . Then, the receiving cluster 13 is logically continuous even though it is received with the last cluster (cluster 12), but the memory system still knows that the cluster 13 system is configured for the archive c, so the region of the cluster 13 & Stored together in block 522.

下表概述用於識別上述範例之資料之檔案配置之通知方 案。The following table summarizes the notification schemes for identifying the file configuration for the above examples.

連續 不同檔案 向下一叢集之用於最後檔案叢集 之項目 跳躍 跳躍 不同檔案 機發送新FAT區段,其:^'^'^_ 向下一叢集或無之用於最後檔牵 叢集之項目 _ 1機發if指示薪檔案之第二 之目錄區段_ x、 ^機發送新FAf區段,其 向下一叢集之用於最後檔案叢隼 之項目 ^ 叢集之權案之信號外,主機可藉由 117059.doc -38 - 1336856 包括用於一叢集之一檔案項目結束之一FAT區段來發送一 指示,即該叢集係一特定檔案之最後叢集。此點允許關閉 檔案並允許記憶體系統在包含該檔案之區塊上實施回收操 作,如下所述。 記憶體操作 在一犯例中,當一主機關閉一檔案時,然後可標記包含 該檔案資料之元區塊為準備用於回收操作。用於使用本發 明之技術在一記憶體系統中回收記憶體空間之技術類似於 直接資料檔案儲存申請案所述之該等技術。特定言之,當 關閉-檔案時’可能存在一或多個元區塊充滿來自該檔案 之資料,但ϋ常存在一a區塊僅部分地填充來自該檔案之 資料。為了更有效率地儲存該些殘留檔案資料,主機可從 一檔案複製殘留檔案資料至一包含來自另一檔案之殘留檔 案資料之兀區塊。選擇移除哪個殘留檔案資料及移動其之 目的地以保持未用記憶體之數量較小。因而,若關閉一檔 案而使殘留檔案資料佔據一元區塊之3〇%,則記憶體系統 將尋找包含佔據一元區塊70%(或接近7〇%)之殘留檔案資 料之一元區塊。包含來自多個檔案之資料之部分之—元區 塊可視為一共用區塊。儘管直接資料檔案儲存技術可組合 本申請案之技術,但本發明之具體實施例一般使用邏輯位 址來管理記憶體陣列内的資料,不使用直接資料擋案儲存 中所使用的檔案識別符。 在另一範例中,依據本發明之一具體實施例之—記憶體 系統在記憶體陣列中的一或多個專用元區塊及一共用區塊 I17059.docContinuously different files to the next cluster of items for the last file cluster jump jump different file machine to send a new FAT section, which: ^'^'^_ next cluster or no project for the last file bundle _ 1 machine sends if indicates the second directory section of the salary file _ x, ^ machine sends a new FAf section, and the next cluster of signals for the last file of the project ^ cluster of rights, the host can An indication is sent by 117059.doc -38 - 1336856 including one of the FAT sections for the end of one of the cluster files, ie the cluster is the last cluster of a particular file. This allows the file to be closed and allows the memory system to perform a reclamation operation on the block containing the file, as described below. Memory Operation In an example, when a host closes a file, the metablock containing the file data can then be marked for preparation for recycling operations. Techniques for recovering memory space in a memory system using the techniques of the present invention are similar to those described in the Direct Data Archives Application. In particular, when the file is closed - there may be one or more metablocks filled with data from the file, but there is often a block of a that only partially fills in the data from the file. In order to store the residual file data more efficiently, the host can copy the residual file from one file to a block containing the residual file data from another file. Choose which residual profile to remove and move its destination to keep the amount of unused memory small. Thus, if a file is closed and the residual file data occupies 3% of the unary block, the memory system will look for a metablock containing 70% (or close to 7〇%) of the remaining file data occupying the unary block. The meta-block containing the portion of the data from multiple files can be considered a shared block. Although direct data archive storage techniques can be combined with the techniques of this application, embodiments of the present invention generally use logical addresses to manage data within a memory array without the use of file identifiers used in direct data file storage. In another example, in accordance with an embodiment of the present invention, one or more dedicated metablocks and a shared block of the memory system in the memory array are I17059.doc

A -39- 儲存檔案,使得當該槽案不再為主機所需要時,可立即 抹除4等專用S區塊用於重新使用並可排程該共用區塊用 於垃圾收集°主機所發送之目錄及FAT資訊-般指示主機 已藉由移除用於一檔案之目錄項目來刪除該檔案之時間。 在某些情況下,FAT項目可反映此刪除。一記憶體系統可 根據目錄決定主機已刪除—檔案,因此可抹除僅包含來自 4¼案之資料之任何元區塊。此時可將此類元區塊添加至 要抹除元區塊佇列作為進行中的回收操作之部分。類似 地’可將包含纟自該肖案之資料之一共用區塊添加至一要 垃圾回收之兀區塊佇列,使得可回收過期資料所佔據之空 間。當δ己憶體系統具有關於主機刪除檔案之資訊且該等檔 案係採用一連續方式與許多包含來自僅一檔案之資料的元 區塊一起儲存於元區塊内時,可採用一有效率方式排程回 收操作。在2005年1 〇月25日申請的標題為"非揮發性記憶 體内回收操作之排程"之美國專利申請案第〗1/259,423號中 說明此類排程範例。 基於一 FAT及目錄區段之一通知方案之一優點在於其使 用一般已用於一 LBA介面之信號。比較許多先前系統,在 不Π時間發送該等FAT及目錄區段,但其包含有效的資訊 且一般與先前LBA介面相容。因而,使用依據本發明之一 具體實施例之一通知方案之主機將與一不使用此類通知方 案之s己憶體系統相容。此類記憶體系統將儲存FAT及目錄 區段而不使用其來決定儲存主機資料區段之位置。採用此 方式所儲存之FAT區段係有效,因為其包含用於已儲存之 117059.doc •40- 資料之叢集之項目。因而,在一意外功率損失情況下,儲 存於非揮發性記憶體中的FAT資料將不會有錯誤。用於一 播案的FAT資訊之不完整性質可指示記憶體系統在功率損 失時針對該檔案未完成儲存資料。 儘管上述提供的範例使用控制資料區段(FAT及目錄)來 發送配置資m,但還可藉由使用與現有邏輯纟面相容之信 號之主機來發送其他資訊。發送二或更多相同FAT區段 可向一 S己憶體系統指示後續的主機行為。在一範例中,一 機可向。己憶體系統指示該主機不需要立即存取該記憶 體系統並將維持功率。此點可藉由連續地發送重複的fat 區段來指示。記憶體系統僅可寫入該些區段之一者,或可 寫入二者。回應接收到的重複FAT區段,記憶體系統決定 將維持功率且主機不需要任何立即存取,故記憶體系統可 進入-閒置狀態。在一閒置狀態下,記憶體系統可執行内 務操作(例如回收操作)以垃圾收集包含過期資料之元區塊 併合並包含未寫人部分之元區塊。藉由接收另—主機命令 來終止一閒置狀態。該記憶體系統可向主機指示一忙碌狀 態’同時在閒置模式下實施内務操作。一忙石彔狀態指示器 通知主機記憶體系統正在實施内務操作,但不阻止主機發 送一命令終止内務操作並開始執行新命令。在另一範例 中,一主機可藉由發送一相同FAT區段三次來指示一即將 來臨之電源切斷。I己憶H统可藉由進入一關機狀態來對 此信號進行反應。在此情況下,記憶體系統向主機指示一 忙碌狀態,直至其在非揮發性記憶體内儲存仍未儲存之任 117059.doc 41 何資料並執行任何其他操作使其不受電源切斷損害。在移 除功率之前’主機等待直至記憶體系統不再忙碌。還可藉 由主機發送多個相同FAT或目錄區段來指示其他的主機行 為。一主機還可使用重複的控制資訊區段來識別一特定槽 案用於刪除。當一記憶體系統從一主機接收一指示,即應 刪除一特定檔案時,將該檔案放置於一用於垃圾收集之件 列内。類似地,一主機還可使用重複的控制資訊區段來識 別一特定檔案用於抹除。當一記憶體系統從一主機接收一 指示,即應抹除一特定檔案時,該記憶體系統將該檔案放 置於一用於垃圾收集之佇列内並立即繼續執行垃圾收集以 從非揮發性記憶體陣列移除該檔案之所有資料。 在一記憶體系統能夠使用通知信號,但連接不提供此類 通知信號之一主機之情況下,記憶體系統決定該主機不提 供通知信號’然後採用不需要此類信號之一方式來儲存資 料。當記憶體系統先從一主機接收通信時,記憶體系統可 作此決定。例如,若記憶體系統接收要寫入的資料區段而 沒有任何先前fat或目錄區段,則該記憶體可決定主機不 會由於此類信號而致動並可選擇一資料儲存方案,該方案 在選擇儲存區段之位置時忽略區段之檔案配置。在一範例 中’來自主機之一"識別驅動"命令允許主機決定一記憶體 系統是否能夠使用通知信號。記憶體系統回應一"識別驅 動命令返回資訊’其包括其是否有此能力。連接至不支 援通知信號之一主機的一記憶體系統所使用之一預設資料 储存方案可如圖7所示儲存資料而與一特定區段之檔案配 117059.doc •42- 1336856 置無關。此類儲存方案之範例係提供於2003年12月30日申 請的美國專利申請案第10/750,155號、第1〇/917,888號、第 10/917,867號、在2004年8月13日申請的第10/917,889號及 第 10/917,725 號。 在另一具體實施例中’一通知方案可不侷限於依據一現 有介面進行通信。可定義不相容一現有介面之額外命令用 於從一主機向一記憶體系統提供配置資訊。當首次連接 時,使用額外命令之主機及卡一般需要一交握路由,使得 其可識別使用此類額外命令可行。一般而言,能夠使用此 類額外命令之主機及卡在連接至無法使用該等額外命令之 一主機或卡時還將能夠不帶額外命令地操作。因而,針對 使用任何此類新命令之記憶體系統及主機維持向後相容。 還可提供額外命令,其與傳遞檔案配置資訊無關0例如, 可定義一明確命令用於一主機抹除或刪除一特定檔案。 雖然已就本發明之範範性具體實施例說明本發明之各方 面,但是應瞭解,本發明有權在所附申請專利範圍之全部 範疇内受到保護。 【圖式簡單說明】 圖1示意性地說明一主機與如當前所實施之一連接非揮 發性記憶體系統; 圖2係用作圖1之非揮發性記憶體之一範例性快閃記憶體 系統之一方塊圖; 圖3係可用於圖2之系統的一記憶體單元陣列之代表性電 路圖; 117059.doc •43· 1336856 圖4說明圖2之系統之一範例性實體記憶體組織; 圖5顯示圖4之實體記憶體之一部分之一展開圖; 圖6顯示圖4及5之實體記憶體之一部分的另一展開圖; 圖7說明一主機與一可再程式化記憶體系統之間的一共 用邏輯位址介面; 圖8說明在一主機與一可再程式化記憶體系統之間的一 檔案介面;A -39- Save the file so that when the slot is no longer needed by the host, you can immediately erase the 4 dedicated S block for reuse and can schedule the shared block for garbage collection. The directory and FAT information generally indicate when the host has deleted the file by removing the directory item for a file. In some cases, FAT items can reflect this deletion. A memory system can determine that the host has been deleted - the file based on the directory, so any metablock containing only the data from the 41⁄4 case can be erased. This type of metablock can now be added to the section where the metablock is to be erased as part of the ongoing reclamation operation. Similarly, a shared block containing one of the materials from the Xiao case can be added to a block of garbage collection, so that the space occupied by the expired data can be recovered. An efficient method can be used when the δ mnemonic system has information about the host deleting files and the files are stored in the metablock together with a plurality of metablocks containing data from only one file in a continuous manner. Schedule recycling operations. An example of such scheduling is described in U.S. Patent Application Serial No. 1/259,423, filed on Jan. 25, 2005, entitled "Scheduled Non-Volatile Memory Recycling Operations". One advantage of one of the notification schemes based on a FAT and directory section is that it uses signals that are typically used for an LBA interface. Many prior systems are compared, and these FAT and directory segments are sent at a time, but they contain valid information and are generally compatible with previous LBA interfaces. Thus, a host using a notification scheme in accordance with one embodiment of the present invention will be compatible with a suffix system that does not use such notification schemes. Such a memory system will store the FAT and directory segments without using it to determine where to store the host data segments. The FAT segment stored in this manner is valid because it contains items for the stored 117059.doc • 40-data cluster. Thus, in the event of an unexpected power loss, the FAT data stored in the non-volatile memory will not be erroneous. The incomplete nature of the FAT information used for the broadcast may indicate that the memory system has not completed storing the data for the file in the event of a power loss. Although the example provided above uses the Control Data section (FAT and Directory) to send configuration resources, other information can also be sent by using a host that is compatible with the existing logic. Sending two or more identical FAT segments can indicate subsequent host behavior to a S-repeated system. In one example, one machine is available. The memory system indicates that the host does not need immediate access to the memory system and will maintain power. This point can be indicated by continuously transmitting repeated fat segments. The memory system can only write to one of the segments, or both can be written. In response to the received duplicate FAT segment, the memory system determines that power will be maintained and the host does not require any immediate access, so the memory system can enter-idle. In an idle state, the memory system can perform a transaction (e.g., a recycle operation) to garbage collect metablocks containing expired data and merge metablocks containing unwritten portions. An idle state is terminated by receiving another host command. The memory system can indicate a busy status to the host while performing housekeeping operations in the idle mode. A busy stone status indicator informs the host that the memory system is performing housekeeping operations, but does not prevent the host from sending a command to terminate the housekeeping operation and begin executing the new command. In another example, a host can indicate an upcoming power cut by transmitting an identical FAT segment three times. I have recalled that this signal can be reacted by entering a shutdown state. In this case, the memory system indicates to the host that it is busy until it stores the data in the non-volatile memory and does not perform any other operations to protect it from power cut-off. The host waits until the memory system is no longer busy before removing power. Multiple host FAT or directory segments can also be sent by the host to indicate other host behavior. A host can also use a duplicate control information section to identify a particular slot for deletion. When a memory system receives an indication from a host that a particular file should be deleted, the file is placed in a column for garbage collection. Similarly, a host can also use a duplicate control information section to identify a particular file for erasing. When a memory system receives an indication from a host that a particular file should be erased, the memory system places the file in a queue for garbage collection and immediately proceeds to perform garbage collection from non-volatile The memory array removes all the data from the file. In the case where a memory system is capable of using a notification signal, but the connection does not provide a host for such a notification signal, the memory system determines that the host does not provide a notification signal' and then stores the data in a manner that does not require such a signal. The memory system can make this decision when the memory system first receives communications from a host. For example, if the memory system receives a data segment to be written without any previous fat or directory segments, the memory may determine that the host will not be actuated by such signals and may select a data storage scheme. Ignore the file configuration of the section when selecting the location of the storage section. In one example, the 'from the host' "recognition drive" command allows the host to determine if a memory system can use the notification signal. The memory system responds with a "identification drive command returning information' which includes whether it has this capability. One of the preset data storage schemes used by a memory system connected to one of the unsupported notification signals can store the data as shown in Figure 7 regardless of the profile of a particular sector 117059.doc • 42-13638856. An example of such a storage solution is provided in U.S. Patent Application Serial No. 10/750,155, the disclosure of which is incorporated herein by reference in its entirety in its entirety in its entirety in 10/917,889 and 10/917,725. In another embodiment, a notification scheme may not be limited to communicating in accordance with an existing interface. Additional commands that define an incompatible one existing interface are used to provide configuration information from a host to a memory system. When first connected, hosts and cards that use additional commands typically require a handshake route that makes it possible to recognize the use of such additional commands. In general, hosts and cards that can use such additional commands will also be able to operate without additional commands when connected to a host or card that cannot use these additional commands. Thus, backwards compatibility is maintained for memory systems and hosts that use any such new commands. Additional commands may also be provided that are independent of the delivery profile configuration information. For example, an explicit command may be defined for a host to erase or delete a particular profile. While the invention has been described with respect to the specific embodiments of the present invention, it is understood that the invention is intended to be protected within the scope of the appended claims. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram showing a host connected to a non-volatile memory system as one of the currently implemented ones; FIG. 2 is an exemplary flash memory used as one of the non-volatile memories of FIG. Figure 3 is a block diagram of a memory cell array that can be used in the system of Figure 2; 117059.doc • 43· 1336856 Figure 4 illustrates an exemplary physical memory organization of the system of Figure 2; 5 shows an expanded view of one of the physical memories of FIG. 4; FIG. 6 shows another expanded view of one of the physical memories of FIGS. 4 and 5; FIG. 7 illustrates a host and a reprogrammable memory system. a shared logical address interface; Figure 8 illustrates a file interface between a host and a reprogrammable memory system;

圖9說明一記憶體系統使用邏輯位址至邏輯檔案轉換所 使用的一邏輯位址介面; 圖10說明在一主機與—記憶體系統之間的一邏輯介面, 在該記憶體系統内的邏輯至實體位址轉譯取決於從該主機 所接收之棺案至邏輯位址資訊; 圖11說明圖10之邏輯介面,一檔案係藉由一主機邏輯地 片斷化並隨後在儲存其時藉由該記憶體系統來去片斷化; « 圖12說明使用一目錄及檔案配置表(FAT)將用於檔案a及 B之檔案配置資訊儲存於一記憶體系統内; 圖13說明用於作為邏輯地連續主機資料叢集發送之主機 檔案A之一通知方案之操作; "、丨P句巴枯在邏輯位 叢集而發送之主機槽幸B_ , 例;怕系ϋ之一通知方案之操作; 圖15Α說明將包括—日拉一 〒匕栝目錄及檔案配置表(FAT)用於槽幸(: 及D之樓案配置眘邙辟六# 育訊儲存於一記憶體系統内; 圖15B說明用於作為尤#Figure 9 illustrates a logical address interface used by a memory system to use logical address to logical file conversion; Figure 10 illustrates a logical interface between a host and a memory system, logic within the memory system The translation to the physical address depends on the file received from the host to the logical address information; Figure 11 illustrates the logical interface of Figure 10, a file is logically fragmented by a host and subsequently stored by the host The memory system is to be fragmented; « Figure 12 illustrates the use of a directory and file configuration table (FAT) to store file configuration information for files a and B in a memory system; Figure 13 illustrates the use as a logically continuous host One of the host files A sent by the data cluster informs the operation of the scheme; ", 丨P sentence is sent in the logical bit cluster and sent to the host slot B_, for example; one of the systems is notified of the operation of the scheme; Figure 15 Including the 拉 〒匕栝 〒匕栝 directory and file configuration table (FAT) for slot lucky (: and D's case configuration carefully 邙 六 6 # 育 育 储存 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育 育#

為在槽案C及檔案D之區段叢隼之M 替之邏輯地連續叢隼而I 8交 ,最集而發送的主機檔案之一通知方 117059.doc -44- 1336856 案 【主要元件符號說明】 1 主機系統 2 快閃記憶體 3 匹配部分 4 匹配部分 5 應用程式部分 6 驅動器部分 7 記憶體 8 控制器 10 叢集 11 積體電路晶片/控制器晶片/叢集 12 叢集 13 系統匯流排/叢集 15 記憶體晶片 17 導體組/資料部分 19 導體組/位址部分/位址匯流排 21 導體組/控制及狀態部分/ 23 内部匯流排/控制器匯流排 25 介面電路 27 處理器 29 唯讀記憶體(ROM) 31 唯讀記憶體(RAM) 33 電路 117059.doc 45 - 1336856 35 電路 37 外部接點 39 時脈 41 平面 43 平面 '* 45 行控制電路 、 47 行控制電路 49 位元線 • 51 位元線 53 字元線 55 列控制電路 57 源極電壓控制電路 59 源極電壓控制電路 61 P井電壓控制電路 63 P井電壓控制電路 • 65 資料輸入/輸出電路 67 資料輸入/輸出電路 . 69 線 ,* 71 線 , 73 介面電路 75 狀態機 77 控制線 78 控制線 79 控制線 117059.doc -46- 1336856 79 控制線 80 控制線 81 控制線 83 線 91 全局位元線 92 全局位元線 93 全局位元線 94 全局位元線 97 記憶體單元串 98 記憶體單元串 99 記憶體单元串 100 記憶體單元串 101 記憶體單元串 102 記憶體早元串 103 記憶體單元串 104 記憶體單元串 107 電荷儲存記憶體單元 108 電荷儲存記憶體單元 109 電荷儲存記憶體單元 110 電荷儲存記憶體單元 111 選擇電晶體 112 選擇電晶體 115 字元線 116 字元線 117059.doc -47- 1336856 117 字元線 118 字元線 119 閘極 120 閘極 123 第一區塊 125 第二區塊 131 平面或子陣列 132 平面或子陣列 133 平面或子陣列 134 平面或子陣列 137 區塊 138 區塊 139 區塊 140 區塊 141 元區塊 143 第二元區塊 145 區塊 146 區塊 147 區塊 148 區塊 151 元頁 153 資料區段 155 資料區段 157 資料部分 117059.doc .48· 1336856 159 管理部分 160 檔案至邏輯位址轉換 161 共用邏輯位址空間 161' 位址空間 163 區塊/邏輯至實體位址表 165 記憶體陣列/記憶體 167 元區塊 169 元區塊 171 元區塊 172 位址轉換 173 記憶體控制器功能 180 記憶體陣列 182 檔案至邏輯位址轉換資訊 184 邏輯至實體位址轉譯 301 目錄區段 302 新區塊 303 FAT區段 410 目錄區段 412 新區塊 414 FAT區段 416 FAT區段 520 目錄區段 522 新區塊 524 目錄區段 117059.doc •49, 1336856 526 新區塊 528 文中未說明 P0 頁 PI 頁 P2 頁 P3 頁 P4 頁 P5 頁 P6 頁 P7 頁 117059.doc -50-For the logical segment of the cluster C and the file D, the logical cluster is continuously contiguous and I 8 is handed over, and one of the host files sent by the most episode is notified to the party 117059.doc -44- 1336856 [main component symbol Description] 1 Host system 2 Flash memory 3 Matching part 4 Matching part 5 Application part 6 Driver part 7 Memory 8 Controller 10 Cluster 11 Integrated circuit chip/controller chip/cluster 12 Cluster 13 System bus/cluster 15 Memory Chip 17 Conductor Group / Data Section 19 Conductor Group / Address Section / Address Busbar 21 Conductor Group / Control and Status Section / 23 Internal Busbar / Controller Bus 25 Interface Circuit 27 Processor 29 Read Only Memory Body (ROM) 31 Read Only Memory (RAM) 33 Circuitry 117059.doc 45 - 1336856 35 Circuit 37 External Contact 39 Clock 41 Plane 43 Plane '* 45 Line Control Circuit, 47 Line Control Circuit 49 Bit Line • 51 Bit line 53 word line 55 column control circuit 57 source voltage control circuit 59 source voltage control circuit 61 P well voltage control circuit 63 P well voltage control circuit • 65 Input/Output Circuit 67 Data Input/Output Circuit. 69 Line, * 71 Line, 73 Interface Circuit 75 State Machine 77 Control Line 78 Control Line 79 Control Line 117059.doc -46- 1336856 79 Control Line 80 Control Line 81 Control Line 83 line 91 global bit line 92 global bit line 93 global bit line 94 global bit line 97 memory unit string 98 memory unit string 99 memory unit string 100 memory unit string 101 memory unit string 102 memory Early element string 103 memory cell string 104 memory cell string 107 charge storage memory cell 108 charge storage memory cell 109 charge storage memory cell 110 charge storage memory cell 111 selection transistor 112 selection transistor 115 word line 116 Word line 117059.doc -47- 1336856 117 word line 118 word line 119 gate 120 gate 123 first block 125 second block 131 plane or sub-array 132 plane or sub-array 133 plane or sub-array 134 Plane or Sub-Array 137 Block 138 Block 139 Block 140 Block 141 Meta Block 143 Second Element Block 145 Area 146 Block 147 Block 148 Block 151 Metapage 153 Data Section 155 Data Section 157 Data Section 117059.doc .48· 1336856 159 Management Section 160 File-to-Logical Address Translation 161 Shared Logical Address Space 161' Address Space 163 Block/Logical to Physical Address Table 165 Memory Array/Memory 167 Metablock 169 Metablock 171 Metablock 172 Address Translation 173 Memory Controller Function 180 Memory Array 182 File to Logic Address Conversion Information 184 Logical to Physical Address Translation 301 Directory Section 302 New Block 303 FAT Section 410 Directory Section 412 New Block 414 FAT Section 416 FAT Section 520 Directory Section 522 New Block 524 Directory Section 117059.doc • 49, 1336856 526 New Block 528 Not described in the text P0 Page PI Page P2 Page P3 Page P4 Page P5 Page P6 Page P7 Page 117059.doc -50-

Claims (1)

13368561336856 第095146712號專利申請案 - 中文申請專利範圍替換本(99年9月) 十、申請專利範圍: 1· 一種將來自複數個檔案之資料區段儲存於一非揮發性記 憶體陣列之方法,該複數個檔案之各檔案之區段藉由— 主機而映射至一共用邏輯位址,該方法包含: 從該主機接收稽案配置資訊,其指示一主機資料區段 所配置之一檔案; 隨後從該主機接收該主機資料區段用於儲存於該非揮 發性記憶體陣列内;以及 隨後在依據該檔案所決定之一實體位址内在該非揮發 性記憶體陣列内儲存該主機f料區段,該實體位址係依 據來自該主機之檔案配置資訊而配置給該檔案。 2·如清求項1之方法,其中來自該主機之該檔案配置資訊 包括一檔案配置表資訊區段。 3.如請求項2之方法,其中該主機資料區段係在一區段叢 集内而該檔案配置表資訊區段包括指向該叢集之一檔案 配置表項目。 月长項1之方法,其中來自該主機之該擋案配置資訊 。括目錄資訊區段,其包含用於該檔案的一項目。 5·如二求項1之方法,其中該區段係儲存於一抹除區塊内 °亥抹除區塊係專用於儲存來自該檔案之區段。 6.=印求項5之方法,其中在儲存該主機資料區段之後, ::亥主機接收額外的資訊,其指示該區段係該檔案中的 取後區段且作為回應關閉該檔案並排程用於回收。 如明求項1之方法’其進—步包含從該主機接收二或更 n7059-990902.doc 8. 多相同控制資料區段並作盔 Λ 作為回應貫施回收操作,同時向 該主機提供一狀態指示器。 月求項1之方法’其進一步包含接收二或更多相同控 制貝料區並作為回應為—功率損失而準備該記憶體陣 列。 9. -種在.具有—元區塊作為最小抹除單位之—非揮發性記 憶體陣列内儲存來自一主機檔案之主機資料區段之方法 ’來自該主機檔案及其他檔案之區段映射至一共用邏輯 位址空間,該方法包含: 接收該主機檔案之一第一複數個資料區段,該第—複 數個區段佔據該邏輯位址空間之一第一部分; 隨後接收非該主機檔案的一第二複數個資料區段,該 第一複數個區段佔據該邏輯位址空間之一第二部分; 隨後接收該主機檔案之—第三複數個區段,該第三複 數個區段佔據該邏輯位址空間之—第三部分,該邏輯位 址空間之該第—部分與該邏輯位址空間之該第三部份相 回應將該邏輯位址空間之該等第一及第三部分之資— 識別為西己置給言亥主機㈣,在該記憶體陣列之—第= 區塊内儲存該第一複數個區段與該第三複數個區 以及 °。又; 區^。亥錢體陣列之_第二元區塊内儲存該第二複數個 10. 如請求項9之方法,其中該第一元區塊係專用 於儲存 該 I17059-990902.doc 1336856 主機檔案之資料。 如请求項9之方法,其中該邏輯位址空間之該等第一及 第三部分係由於該主機所發送之目錄及檔案配置表區段 而識別為已配置給該主機檔案。Patent Application No. 095146712 - Chinese Patent Application Substitution (September 99) X. Patent Application Range: 1. A method for storing data segments from a plurality of files in a non-volatile memory array, A section of each of the plurality of files is mapped to a shared logical address by a host, the method comprising: receiving, from the host, an audit configuration information indicating one of the profiles of a host data section; Receiving, by the host, the host data segment for storage in the non-volatile memory array; and subsequently storing the host f-segment segment in the non-volatile memory array in a physical address determined according to the file, The physical address is assigned to the file based on file configuration information from the host. 2. The method of claim 1, wherein the file configuration information from the host comprises a file configuration table information section. 3. The method of claim 2, wherein the host data segment is within a segment cluster and the file configuration table information segment includes an archive configuration table entry pointing to the cluster. The method of month length item 1, wherein the profile configuration information from the host. A directory information section containing an item for the file. 5. The method of claim 1, wherein the segment is stored in a erase block. The erase block is dedicated to storing segments from the file. 6. The method of claim 5, wherein after storing the host data section, the ::Hui host receives additional information indicating that the section is a post-segment section in the file and closes the file side by side in response The process is used for recycling. The method of claim 1 includes the step of receiving two or more n7059-990902.doc 8. from the host 8. The same control data section and the helmet are used as a response to the recovery operation, and the host is provided with a Status indicator. The method of claim 1 further includes receiving two or more identical control batting zones and preparing the memory array in response to a power loss. 9. - The method of storing the host data section from a host file in the non-volatile memory array as the minimum erasing unit - the section from the host file and other files is mapped to a shared logical address space, the method comprising: receiving a first plurality of data sectors of the host file, the first plurality of sectors occupying a first portion of the logical address space; and subsequently receiving the non-host file a second plurality of data segments, the first plurality of segments occupying a second portion of the logical address space; subsequently receiving a third plurality of segments of the host file, the third plurality of segments occupying a third portion of the logical address space, the first portion of the logical address space and the third portion of the logical address space responsive to the first and third portions of the logical address space The capital is identified as being set to the host (4), and the first plurality of segments and the third plurality of regions and ° are stored in the -= block of the memory array. Also; area ^. The second plurality of blocks are stored in the second element block. 10. The method of claim 9, wherein the first element block is dedicated to storing the data of the I17059-990902.doc 1336856 host file. The method of claim 9, wherein the first and third portions of the logical address space are identified as being configured for the host file due to the directory and file configuration table segments sent by the host. 如請求項9之方法,其中該邏輯位址空間之該第二部分 從該邏輯位址空間之該第一部分延伸至該邏輯位址空間 之該第三部分,該方法進一步包含:在接收該第二複數 個區段之前,接收一目錄區段,其指示該第二複數個區 段之一第一叢集未配置給該主機檔案。 13. 如請求項12之方法,其進一步包含:在接收該第三複數 個區段之前,接收一檔案配置表區段,其指示該第三複 數個區段之一第一叢集未配置給該主機檔案。 14. 一種在具有一元區塊作為最小抹除單位之非揮發性記憶 體陣列内儲存一主機資料檔案之方法,其包含: 接收該主機資料檔案之一第一複數個資料區段,該第 一複數個區段之各區段具有來自針對該記憶體陣列所定 義之一邏輯位址空間之一邏輯位址,該複數個區段具有 邏輯位址,其佔據該邏輯位址空間之二或更多不連續部 分; 接收非該主機資料檔案的一第二複數個資料區段,該 第二複數個區段之各區段具有來自該邏輯位址空間之— 邏輯位址,點綴該第一複數個區段之接收而接收該第二 複數個區段; 在僅包含來自該主機資料檔案之一元區塊内儲存來自 117059-990902.doc 1336856 該邏輯位址空間之二或更多不連續部分之資料;以及 在接收該第一複數個區段之該等區段之前接收關於該 第一複數個區段之區段之樓案配置資訊,該檔案配置資 訊將該第一複數個區段之該等區段識別為屬於該主機資 料檔案。 15·如請求項14之方法,其中該檔案配置資訊係採用檔案配 置表及目錄區段之形式。 16. 如請求項14之方法,其進一步包含接收檔案結束資訊, ' 其指示該主機資料檔案之結束之邏輯位址,並作為回應鲁 關閉該主機資料檔案並排程該主機資料檔案用於垃圾收 集。 17. 種介接一記憶體系統與配置主機資料檔案區段給一共 用邏輯位址空間之一主機之方法,該方法包含: 該記憶體系統從該主機接收複數個主機資料區段,該 複數個區段配置給一主機檔案,該複數個主機資料區段 具有該主機所指派但不連續之邏輯位址;以及 δ玄圮憶體系統決定該複數個區段是否係配置給該主機 ® 槽案’並作為回應決定該複數個區段係配置給該主機檔 -案’该§己憶體系統將該複數個區段儲存於該記憶體陣列 ’ 之一部分内’使得連績地定位該複數個區段; 其中該記憶體系統使用從該主機所接收之檔案配置資 Λ來決定該複數個區段之區段是否係配置給該主機檔 案。 1 8.如4求項17之方法,其中從該主機所接收之該檔案配置 117059-990902.doc 19. 20. 21. 22. 23. 24. 資。札包括一或多個檔案配置表資訊區段。 如叫求項1 7之方法’其中從該主機所拉|A_ 次“ 機所接收之該檔案配置 貨訊包括一或多個目錄區段。 如請求項丨7之方法,其中該記惟體 /、T X心丨心蒞糸統進一步決定已接 收到該主機檔案之結束並作為 A q w您關閉该檔案並排程該 檔案用於垃圾收集。 :種用於介接配置主機資料稽案區段给一共用邏輯位址 空間之一主機之非揮發性記憶體系統,其包含: -記憶體介面,其接收配置給—主機檔案之複數個主 機資料區段,該複數個主機資料區段具有該主機所指派 的不連續邏輯位址;以及 —記憶體控制器,其決;t該複數個區段是否係配置給 該主機檔案,並作為回應決定該複數個區段係配置給該 主機擋將該複數個區段儲存於該記憶冑陣列之—部 分内’使得連續地定位該複數個區段; 其中該記憶體控制器使用從該主機所接收之樸案配置 資訊來決定該複數個區段之區段是否係配置給該主機槽 案。 田 如請求項21之非揮發性記憶體系統,其中從該主機所接 收之該棺案配置資訊包括-或多個棺案配置表區段。 如請求項2!之非揮發性記憶體系統,其中從該主機所接 收之該檔案配置資訊包括一或多個目錄區段。 如請求項21之非揮發性記憶體系統,其中該記憶體控制 器進-步決定已接收到該主機檔案之結束並作為回應關 H7059-990902.doc 25.1336856 閉該權案並排程該檔案用於垃圾收集β 一種用於在一揮發性記憶體陣 蟎存攸一主機所接收 之貢料之非揮發性記憶體系統,其包含: 一介面’其接收複數個主機權案作為資料區段,該資 料區段具有從針對該記憶體系統所定義之—邏輯位址空 間而配置的邏輯健,該介面還接收關於配置該複數個 主機檔案給該邏輯位址空間之配置資訊;以及 邏輯至實體轉譯電&,其決定具有_邏輯位址之一資 料區段所儲存之—位置,依據該複數個主機檔案之哪個 稽案係配置給如配置資訊所指示之邏輯位址來決定該位 置。 26. 27. 28. 29. 30. 士 β长員2 5之非揮發性記憶體系統,其中該邏輯至實體 轉譯電路非一記憶體控制器之部分。 如請求項25之非揮發性記憶體系統,其中該介面在接收 該區段之前接收關於該區段之配置資訊。 如請求項25之非揮發性記憶體系統,其中該邏輯至實體 轉譯電路將該區段儲存於與該主機檔案之另一區段所儲 存之一位置實體相鄰的一位置。 如清求項25之非揮發性記憶體系統,其中該等邏輯至實 體轉譯電路將該複數個主機檔案之不同檔案儲存於該非 揮發性s己憶體陣列之不同區塊内,使得一個別區塊僅包 括該主機檔案之區段。 如請求項25之非揮發性記憶體系統,其中該配置資訊係 在不用於儲存該複數個主機檔案之區段之一區塊内而儲 117059-990902.doc 1336856 存於該非揮發性記憶體陣列内。 31.如請求項25之非揮發性記憶體系 予、、先’其中該介面還接收 一主機擋案結束之—指示,並作為回應將儲存於該記憶 之區段 體陣列内的主機樓案之區段儲存於相同的區塊内作為另 一主機檔案The method of claim 9, wherein the second portion of the logical address space extends from the first portion of the logical address space to the third portion of the logical address space, the method further comprising: receiving the first Before the second plurality of segments, a directory segment is received indicating that the first cluster of one of the second plurality of segments is not configured to the host archive. 13. The method of claim 12, further comprising: prior to receiving the third plurality of segments, receiving a profile configuration table section indicating that the first cluster of the third plurality of segments is not configured for the Host file. 14. A method of storing a host data file in a non-volatile memory array having a unitary block as a minimum erase unit, comprising: receiving a first plurality of data sectors of the host data file, the first Each of the plurality of sectors has a logical address from one of the logical address spaces defined for the memory array, the plurality of sectors having logical addresses occupying two or more of the logical address spaces a plurality of discontinuous portions; receiving a second plurality of data sectors not belonging to the host data file, each of the second plurality of segments having a logical address from the logical address space, and embedding the first plurality Receiving the second plurality of segments by receiving the segments; storing two or more discontinuities from the logical address space of 117059-990902.doc 1336856 in a metablock containing only one of the host data files Data; and receiving configuration information about the segment of the first plurality of segments prior to receiving the segments of the first plurality of segments, the file configuration information Identifying a plurality of such segments as belonging to that section of the host material resource files. 15. The method of claim 14, wherein the file configuration information is in the form of an archive configuration table and a directory section. 16. The method of claim 14, further comprising receiving a file end message, 'which indicates a logical address of the end of the host data file, and in response, closing the host data file and scheduling the host data file for garbage collection . 17. A method of interfacing a memory system and configuring a host data file sector to a host of a shared logical address space, the method comprising: the memory system receiving a plurality of host data segments from the host, the plurality The segments are configured to a host file, the plurality of host data segments having logical addresses assigned by the host but not consecutive; and the δ 圮 圮 system determining whether the plurality of segments are configured for the host® slot And in response to determining that the plurality of segments are configured for the host file - the case where the § memory system stores the plurality of segments in a portion of the memory array 'to enable the location to be consecutively located And the memory system uses the file configuration resource received from the host to determine whether the segment of the plurality of segments is configured for the host file. 1 8. The method of claim 17, wherein the file configuration received from the host is 117059-990902.doc 19. 20. 21. 22. 23. 24. The map includes one or more file configuration table information sections. The method of claim 1 wherein the file configuration received from the host is included in the file includes one or more directory segments. For example, the method of requesting item 7, wherein the record is /, TX heart and mind to further determine the end of the host file has been received and as A qw you close the file and schedule the file for garbage collection. : Used to interface configuration host data audit section A non-volatile memory system of one of the shared logical address spaces, comprising: - a memory interface, which receives a plurality of host data sections configured to the host file, the plurality of host data sections having the host Assigned discontinuous logical address; and - the memory controller, determines; t whether the plurality of segments are configured for the host file, and in response determines that the plurality of segments are configured to the host Storing a plurality of segments in a portion of the memory array to continuously locate the plurality of segments; wherein the memory controller uses the configuration information received from the host to determine Whether the segment of the plurality of segments is configured for the host slot. The non-volatile memory system of claim 21, wherein the file configuration information received from the host includes - or a plurality of file configurations The non-volatile memory system of claim 2, wherein the file configuration information received from the host includes one or more directory segments, such as the non-volatile memory system of claim 21, wherein The memory controller further determines that the end of the host file has been received and responds as H7059-990902.doc 25.1336856 closes the rights and schedules the file for garbage collection β one for use in a volatile memory array A non-volatile memory system for receiving a tribute received by a host, comprising: an interface 'receiving a plurality of host rights as a data section, the data section having a definition defined for the memory system a logical address configured by a logical address space, the interface further receiving configuration information about configuring the plurality of host files for the logical address space; and logic to entity translation & The decision has the location stored in the data section of one of the logical addresses, and the location of the plurality of host files is determined according to the logical address indicated by the configuration information to determine the location. 26. 27. 28 29. 30. A non-volatile memory system of a beta-sector 2, wherein the logic-to-physical translation circuit is not part of a memory controller. The non-volatile memory system of claim 25, wherein the interface Receiving configuration information about the segment prior to receiving the segment. The non-volatile memory system of claim 25, wherein the logical-to-physical translation circuit stores the segment in another segment of the host file Storing a location adjacent to a location entity. The non-volatile memory system of claim 25, wherein the logic-to-physical translation circuitry stores different files of the plurality of host files in the non-volatile memory. Within a different block of the array, a single block includes only the section of the host file. The non-volatile memory system of claim 25, wherein the configuration information is stored in the non-volatile memory array in a block of a section that is not used to store the plurality of host files, and 117059-990902.doc 1336856 is stored. Inside. 31. The non-volatile memory system of claim 25, wherein the interface further receives an indication of the end of the host file, and in response, the host building file stored in the memory segment array Sections are stored in the same block as another host file 117059-990902.doc117059-990902.doc
TW95146712A 2005-12-13 2006-12-13 Method and system of logically-addressed file storage TWI336856B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/300,568 US20070136553A1 (en) 2005-12-13 2005-12-13 Logically-addressed file storage systems
US11/302,764 US7877540B2 (en) 2005-12-13 2005-12-13 Logically-addressed file storage methods

Publications (2)

Publication Number Publication Date
TW200809594A TW200809594A (en) 2008-02-16
TWI336856B true TWI336856B (en) 2011-02-01

Family

ID=38163589

Family Applications (1)

Application Number Title Priority Date Filing Date
TW95146712A TWI336856B (en) 2005-12-13 2006-12-13 Method and system of logically-addressed file storage

Country Status (4)

Country Link
EP (1) EP1960863A2 (en)
JP (1) JP2009519555A (en)
TW (1) TWI336856B (en)
WO (1) WO2007070763A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI503664B (en) * 2011-06-03 2015-10-11 Apple Inc Mount-time unmapping of unused logical addresses in non-volatile memory systems

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI385520B (en) * 2008-02-29 2013-02-11 Via Tech Inc Management methods and systems for storage units
JP2009211234A (en) * 2008-03-01 2009-09-17 Toshiba Corp Memory system
TWI492050B (en) * 2010-04-12 2015-07-11 Phison Electronics Corp Storage device, memory controller, and data protection method
TWI489272B (en) 2012-04-03 2015-06-21 Phison Electronics Corp Data protecting method, and memory controller and memory storage device using the same
CN103377149B (en) * 2012-04-16 2016-05-11 群联电子股份有限公司 Method, Memory Controller and the memorizer memory devices of protected data
KR101993704B1 (en) 2012-08-24 2019-06-27 삼성전자주식회사 Storage device based on a flash memory and method for allocatting write memory block of memory controller controlling a flash memory
US10120573B2 (en) 2015-09-14 2018-11-06 Microsoft Technology Licensing, Llc. Modular sequential writing of data to data storage devices
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
US10261876B2 (en) 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1069420A (en) * 1996-08-29 1998-03-10 Sony Corp Information recording and reproducing device and information recording and reproducing method
US7035949B2 (en) * 2002-07-29 2006-04-25 M-System Flash Dist Pioneers Ltd. Multipurpose processor, system and method
EP1729218A4 (en) * 2004-04-20 2007-07-18 Matsushita Electric Ind Co Ltd Nonvolatile storage system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI503664B (en) * 2011-06-03 2015-10-11 Apple Inc Mount-time unmapping of unused logical addresses in non-volatile memory systems

Also Published As

Publication number Publication date
WO2007070763A3 (en) 2007-09-13
EP1960863A2 (en) 2008-08-27
TW200809594A (en) 2008-02-16
JP2009519555A (en) 2009-05-14
WO2007070763A2 (en) 2007-06-21

Similar Documents

Publication Publication Date Title
TWI336856B (en) Method and system of logically-addressed file storage
TWI400608B (en) A method of transferring data between a host system and a re-programmable non-volatile semiconductor mass storage system, a method for operating a controller in a flash memory system, and a mass storage memory system
TWI421684B (en) Reprogrammable non-volatile memory system and method of operating a non-volatile memory system
US7877540B2 (en) Logically-addressed file storage methods
TWI464584B (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
US7814262B2 (en) Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) Method of storing transformed units of data in a memory system having fixed sized storage blocks
KR101272642B1 (en) Reclaiming data storage capacity in flash memory systems
US20070143561A1 (en) Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
US20070143567A1 (en) Methods for data alignment in non-volatile memories with a directly mapped file storage system
US20100146197A1 (en) Non-Volatile Memory And Method With Memory Allocation For A Directly Mapped File Storage System
US20070143566A1 (en) Non-volatile memories with data alignment in a directly mapped file storage system
US20070143378A1 (en) Non-volatile memories with adaptive file handling in a directly mapped file storage system
US20070143560A1 (en) Non-volatile memories with memory allocation for a directly mapped file storage system
US20070136553A1 (en) Logically-addressed file storage systems
KR101378031B1 (en) Management of memory blocks that directly store data files
JP4441577B2 (en) Conversion data unit storage in memory system with fixed size storage block
KR101055324B1 (en) Enhanced Host Interface
WO2007081638A2 (en) Non-volatile memories and methods with adaptive file handling in a directly mapped file storage system
KR20090108694A (en) Use of a direct data file system with a continuous logical address space interface
WO2007073538A2 (en) Non-volatile memories and methods with data alignment in a directly mapped file storage system
KR20090108695A (en) Managing a lba interface in a direct data file memory system
JP2009503740A (en) Indexing file data in reprogrammable non-volatile memory that directly stores data files
WO2007073536A2 (en) Non-volatile memories and methods with memory allocation for a directly mapped file storage system

Legal Events

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