CN1701300B - 用于分解与一共用逻辑块相关联的物理块的方法和设备 - Google Patents

用于分解与一共用逻辑块相关联的物理块的方法和设备 Download PDF

Info

Publication number
CN1701300B
CN1701300B CN038247836A CN03824783A CN1701300B CN 1701300 B CN1701300 B CN 1701300B CN 038247836 A CN038247836 A CN 038247836A CN 03824783 A CN03824783 A CN 03824783A CN 1701300 B CN1701300 B CN 1701300B
Authority
CN
China
Prior art keywords
physical block
index
block
data
physical
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN038247836A
Other languages
English (en)
Other versions
CN1701300A (zh
Inventor
罗伯特·C·张
巴赫曼·卡瓦迈
法施德·萨伯特-沙吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
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
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN1701300A publication Critical patent/CN1701300A/zh
Application granted granted Critical
Publication of CN1701300B publication Critical patent/CN1701300B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • 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/064Management of blocks
    • 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]

Abstract

本发明揭示用于一种确定与一逻辑块相关联的复数个物理块中的哪一个物理块新与所述逻辑块发生关联的方法和设备。根据本发明的一个方面,一种用于分解一第一物理块和一第二物理块与一与一非易失性存储器系统相关联的逻辑块的关联关系的方法包括:获取与所述第一物理块相关联的一第一识别符和获取与所述第二物理块相关联的一第二识别符。对所述识别符加以比较,以确定所述第一识别符是否指示所述第一物理块新与所述逻辑块发生关联。所述方法也包括在确定所述第一识别符指示所述第一物理块新与所述逻辑块发生关联时,完成一被布置用于将与所述逻辑块相关联的内容提供至所述第一物理块的操作。

Description

用于分解与一共用逻辑块相关联的物理块的方法和设备
相关申请交叉引用
本发明与下列专利申请有关:于2002年10月28日提交的标题为“非易失性存储系统的损耗平衡”(″WEAR LEVELING IN NONVOLATILE STORAGESYSTEMS″)的第10/281,739号(代理人案号SANDP023/SDK0366.000US)共同待决美国专利申请;于2002年10月28日提交的标题为“跟踪非易失性存储器系统中最频繁擦除的存储块”(″TRACKING THE MOST FREQUENTLYERASED BLOCKS IN NON-VOLATILE MEMORY SYSTEMS″)的第10/281,670号(代理人案号SANDP025/SDK0366.002US)共同待决美国专利申请;于2002年10月28日提交的标题为“跟踪非易失性存储器系统中最不频繁擦除的存储块”(″TRACKING THE LEAST FREQUENTLY ERASED BLOCKS INNON-VOLATILE MEMORY SYSTEMS″)的第10/281,824号(代理人案号SANDP026/SDK0366.003US)共同待决美国专利申请;于2002年10月28日提交的标题为“用于分割一逻辑块的方法和设备”(″METHOD AND APPARATUSFOR SPLITTING A LOGICAL BLOCK″)的第10/281,631号(代理人案号SANDP028/SDK0371.000US)共同待决美国专利申请;于2002年10月28日提交的标题为“用于在一块内划分页面的方法及设备”(″METHOD ANDAPPARATUS FOR GROUPING PAGES WITHIN A BLOCK″)的第10/281,855号(代理人案号SANDP029/SDK0410.000US)共同待决美国专利申请;于2002年10月28日提交的标题为“在非易失性存储装系统保持擦除计数”(″MAINTAINING ERASE COUNTS IN NON-VOLATILE STORAGESYSTEMS″)的第10/281,696号(代理人案号SANDP031/SDK0420.000US)共同待决美国专利申请;于2002年10月28日提交的标题为“用于管理一擦除计数块的方法及设备”(″METHOD AND APPARATUS FOR MANAGING ANERASE COUNT BLOCK″)的第10/281,626号(代理人案号SANDP032/SDK0420.001US)共同待决美国专利申请;以及于2002年10月28日提交的标题为“用于在一非易失性存储器中执行多页面读和写操作的方法和设备”(″METHOD AND APPARATUS FOR PERFORMING MULTI-PAGE READAND WRITE OPERATIONS IN A NON-VOLATILE MEMORY″)的第10/281,804号(代理人案号SANDP033/SDK0426.000US)共同待决美国专利申请。上述专利申请的全文皆以引用方式并入本文中。
技术领域
本发明总体上是关于大容量数字数据存储系统。更具体而言,本发明是关于用于有效地使与一共用逻辑块相关联的复数个物理块基本上能够被分解为一单个物理块的系统和方法。
背景技术
由于诸如闪存存储器存储系统等非易失性存储系统的实体尺寸紧凑且非易失性存储器具有可重复编程的能力,所以此类存储系统的使用正在迅速增加.闪存存储器存储系统紧凑的实体尺寸有利于此种存储系统用于各种日益流行的装置内.使用此类闪存存储器存储系统的装置包括(但不限于):数字照相机、数字摄像机、数字音乐播放机、便携式个人计算机及全球定位装置.闪存存储器存储系统内包含的可对非易失性存储器重复编程的能力使得闪存存储器存储系统可使用和重复使用.
总而言之,闪存存储器存储系统可以包括闪存存储器卡和闪存存储器芯片组。闪存存储器芯片组一般包括闪存存储器组件和一控制器组件。通常,可将一存储器布置组装在一嵌入式系统内。此种组合件或主机系统的制造商一般会以组件形式购得闪存存储器以及其它组件,然后将所述闪存存储器以及所述其它组件组装进一主机系统。
在与一闪存存储器系统相关联的一文件系统内,存储器被有效地划分为一系统或目录区以及一数据区。所述系统区一般包括根目录和文件分配表(FAT),而数据文件通常被包括在数据区内。一文件系统可(例如)一次一个页面地将数据分扇区写入与所述系统区相关联的物理块内,而且可(例如)一次多个页面地将数据分簇写入所述数据区。
与一逻辑块或一文件系统的块相关联的任何更新均被有效地传播至一被映射至所述逻辑块的物理块。当被映射至所述逻辑块的所述物理块已满,或因其它原因不能接受一更新时,一般会获取一备用物理块,而与所述逻辑块相关联的最新数据或者被拷贝(例如直接从当前的物理块拷贝)在所述备用物理块内,或者被归并(例如与所述更新一起拷贝)在所述备用物理块内。
图1是一示意代表图,其显示一逻辑块、一与所述逻辑块相关联的当前物理块和用以替换所述当前物理块的一备用物理块。一逻辑块200被映射至一物理块210。具体而言,与逻辑块200内的页面202相关联的内容被作为内容214存储在物理块210中由页面212构成的一数据区。当物理块210内的页面212已满(如图中所示)时,或因其它原因不能接受与逻辑块200相关联的一更新时,可以获取一包括页面222的新的或备用物理块220,例如从一组备用块中获取。存储在物理块210中的最新内容214可连同未存储在物理块210内的与逻辑块200相关联的任何更新一起被拷贝在物理块220内,从而使物理块220有效地成为逻辑块200的一最新物理代表。
有时,在将内容214从物理块210或拷贝或归并至物理块220内的过程中会发生中断,导致所述拷贝或归并过程被中止,其结果是拷贝或归并没有完成。作为举例,包含物理块210和220的一非易失性存储器装置的电力可能会在一拷贝或归并过程结束之前失去。当在一拷贝或归并过程结束之前断电时,与内容210相关联的一部分数据可能会丢失。
为使因拷贝或归并过程中断而可能丢失的数据量减至最少,可对物理块210和物理块220进行研究,以确定物理块210和220中哪一个是一旧物理块,以及哪一个是一新的未完成的物理块。如所属领域的技术人员所知,在一拷贝或归并过程被中断时,要确定将物理块210或物理块220中哪一个作为包含最新内容的所述新物理块并与逻辑块200相关联,是耗时而且困难的。
为便于确定两个物理块中哪一个可被当作与一给定逻辑块相关联的所述新物理块,通常设置供用于所述物理块的旗标。第6/115,785号美国专利描述了设置供用于物理块的旗标的一种方法,所述专利的全文以引用方式并入本文中。尽管旗标的使用有助于识别处于一拷贝或一归并过程中的物理块,但通常难于确定两个物理块中哪一个是一较新的物理块,而哪一个是一较旧的物理块。此外,在识别物理块是处于一拷贝或是一归并过程时,使用旗标通常需要一部分写入过程。
因此,所需要的是在对物理块执行的一拷贝或一归并过程未完成前被中断时可使数据得到有效恢复的一过程和一系统.也就是说,所需要的是一种用于有效地确定复数个物理块中哪一个是一欲对应于一具体逻辑块的新物理块及用于使与所述逻辑块相关联的最新数据能够被提供至所述新物理块的方法和设备.
发明内容
本发明是关于用于确定与一逻辑块相关联的复数个物理块中哪一个新与所述逻辑块发生关联。根据本发明的一个方面,一种用于分解一第一物理块和一第二物理块对于一与一非易失性存储器系统相关联的一逻辑块的关联关系的方法包括获取与所述第一物理块相关联的一第一识别符和与所述第二物理块相关联的一第二识别符。对所述识别符进行比较,以确定所述第一识别符是否指示所述物理块新与所述逻辑块发生关联。所述方法也包括在确定所述第一识别符指示所述第一物理块新与所述逻辑块发生关联时,完成被布置用于将与所述逻辑块相关联的内容提供至所述第一物理块的一操作。
在一实施例中,获取所述第一识别符包括从与所述第一物理块相关联的一开销区获取所述第一识别符,及获取所述第二识别符包括从与所述第二物理块相关联的一开销区获取所述第二识别符。在另一实施例中,将所述第一识别符与所述第二识别符加以比较以确定何时所述第一识别符显示所述第一物理块新与所述逻辑块发生关联包括确定何时所述第一指示符具有一高于所述第二识别符的值。
在一物理块正被拷贝至另一物理块内,且包含所述物理块的一系统被关闭或因其它原因断电时,一般会有两个物理块同时对应于同一个逻辑块。通过在每一物理块中保持一识别符(例如一升级索引)并对所述识别符加以比较,可以容易而高效地确定两个物理块中哪一个当时正被拷贝至或归并至另一个中。这样,可对两个块的内容进行研究,并可有效地恢复一拷贝或一归并操作,从而使与一相应逻辑块相关联的信息能够被提供至欲接收另一块的至少一部分内容的块。这样,可有效地将因一系统关闭或断电所导致的数据丢失减至最小。
根据本发明的另一个方面,一种用于使一第二物理块与已经具有一第一物理块且所述第一物理块包含与所述逻辑块相关联的内容的一逻辑块相关联的方法包括获取所述第二物理块,以及将与所述第二物理块相关联的一第二指示符设置为不同于与所述第一物理块相关联的一第一指示符的一值的一个值。一旦设置所述第二指示符,即可启动一操作,以将所述第一物理块的至少一部分内容提供至所述第二物理块。在一实施例中,所述方法也包括从所述第一物理块检索所述第一指示符,并确定所述第一指示符的值。
在另一实施例中,所述方法也包括将所述第二指示符存储在所述第二物理块内。在此一实施例中,将所述第二指示符存储在所述第二物理块内可包括将所述第二指示符存储在与所述物理块相关联的一冗余区内。
根据本发明的再一实施例,一非易失性存储器包括一第一物理块和一第二物理块。所述第一物理块包括至少一第一页面,所述第一页面具有一其中存有一第一组比特的第一开销区。所述第二物理块包括至少一第二页面,所述第二页面具有一其中存有一第二组比特的第二开销区。所述第一物理块和所述第二物理块均与一逻辑块相关联。所述第一组比特和所述第二组比特被布置为彼此比较,以确定所述第一物理块与所述逻辑块的关联是否比所述第二物理块新。
在阅读以下详细说明并研究图纸中的各附图后,本发明的这些及其它优点即显而易见。
附图说明
结合附图并参阅下文说明,可最佳地了解本发明,附图如下:
图1是一示意代表图,其显示一逻辑块、一与所述逻辑块相关联的当前物理块以及用以替代所述当前物理块的一备用物理块。
图2是一示意代表图,其显示一包含一非易失性存储器的通用主机系统。
图3是一示意代表图,其显示一存储器装置,例如图2的存储器装置120。
图4是一示意代表图,其显示包含一嵌入式非易失性存储器的一主机系统。
图5是一示意代表图,其显示根据本发明的一个实施例一包含逻辑块的文件系统和一包含物理块的媒体。
图6是一示意代表图,其显示根据本发明的一个实施例与一个以上物理块相关联的具有一更新索引的一逻辑块。
图7是一流程图,其图解说明根据本发明的一个实施例启动一更新、一拷贝或一归并过程的步骤。
图8是一流程图,其图解说明根据本发明的一个实施例分解一旧块和一新块的步骤,例如图7的步骤616。
图9是一框图,其显示根据本发明的一实施例的一个系统架构。
具体实施方式
一存储器系统断电一般会导致所述存储器系统内发生多种问题。所述问题包括(但不限于)在将一物理块的内容拷贝至另一物理块内的过程中断电时数据会丢失。为防止一拷贝过程被中断时的数据丢失,在物理块中可包括旗标,用以指示物理块的内容是否正处于被拷贝过程中。但是,使用旗标经常被证实为不够高效。
为便于确定响应于一特定逻辑块的两个物理块中哪一个物理块是用来替代一旧的或当前物理块的一未完成的或新的物理块,可在所述物理块中设置更新索引。可存储在与一物理块相关联的至少一冗余区内的一更新索引可被布置用以指示一拷贝或归并过程所涉及的两个物理块中哪一个是所述新物理块或是其中正被拷贝内容的物理块。例如,所述新物理块的所述更新索引可以设置为其更新索引值高于所述旧物理块的更新索引值。从而,在检查所述物理块的更新索引以确定哪个物理块是所述新物理块时,可以确定具有较高更新索引值的那个物理块就是所述新物理块。
更新索引的使用一般仅采用一个增量,或写步骤,因为在一拷贝或一归并过程即将发生时,基本上仅有一新物理块的所述更新索引会递增或以其他方式更新。此外,当所述拷贝或归并过程完成时,所述更新索引通常不会被更新。因此,采用更新索引所耗用的开销通常会低于旗标。
更新索引一般用在限定不允许发生部分写入的系统中。换言之,可在不允许部分写入的系统中设置更新索引。但是,应当了解,也可在允许部分写入的系统中设置更新索引。
可获益于在一物理块内使用更新索引的闪存存储器系统(或更广泛而言,非易失性存储器装置)包括闪存存储器卡和芯片组。通常,闪存存储器系统与一主机系统配合使用,以使所述主机系统可以将数据写入所述闪存存储系统或从所述闪存存储系统中读取数据。但是,一部分闪存存储器系统包括嵌入式闪存存储器和在一主机上执行以基本上担当所述嵌入式闪存存储器的一控制器的软件,具体将在下文中参照图4加以讨论。在图2中,将介绍一包括一非易失性存储器装置(例如一紧凑闪存存储器卡)的通用主机系统。一主机或计算机系统100一般包括一系统总线104,所述系统总线104允许一微处理器108、一随机存取存储器(RAM)112和输入/输出电路116之间进行通信。应了解,主机系统100通常还包括其它组件,例如,图中出于图解说明目的而未显示的显示装置和网络装置。
通常,主机系统100能够捕获信息,包括(但不限于):静态图像信息、音频信息、和视频信息。此类信息既可实时捕获,也可以一无线方式传输至主机系统100。尽管主机系统100基本上可为任一系统,但是主机系统100通常为一诸如数字照相机、视频摄像机、蜂窝通讯装置、一音频播放器或视频播放器等系统。但是,应了解,主机系统100,一般而言,可以是基本上任何存储数据或信息,并检索数据或信息的系统。
主机系统100也可以是一仅捕获数据或仅检索数据的系统。也就是说,在一实施例中,主机系统100可以是一存储数据的专用系统,或者主机系统100也可以是一读取数据的专用系统。作为举例,主机系统100可以是仅被布置用于写入或存储数据的一存储器写入器。或者,主机系统100可以是一诸如MP3播放器等通常布置用于读取或检索数据而非捕获数据的装置。
在一实施例中是一可拆卸式非易失性存储器装置的一非易失性存储器装置120被布置为通过接口与总线104连接,以存储信息。一任选接口块130可使非易失性存储器装置120通过接口与总线104间接连接。如所属领域的技术人员所知,当存在时,输入/输出电路块116用于降低总线104上的负载。非易失性存储器装置120包括非易失性存储器124和一任选的存储器控制系统128。在一实施例中,非易失性存储器装置120可被设置在一单芯片或一电路小片上。或者,非易失性存储器装置120可被设置在一多芯片模块或可构成一芯片组并可联合用作非易失性存储器装置120的复数个离散组件上。下文中将根据图3更详细地介绍非易失性存储器装置120的一实施例。
非易失性存储器124,例如诸如NAND闪存存储器等闪存存储器,被布置用于存储数据,以便可根据需要访问和读取数据。存储在非易失性存储器124内的数据也可被适当地擦除,但应当了解,非易失性存储器124中的一部分数据是不可擦除的。存储数据、读取数据和擦除数据的过程一般由存储器控制系统128控制,或者,在没有存储器控制系统128时,所述过程由微处理器108所执行的软件控制。可对非易失性存储器124的运行实施管理,以通过基本上使非易失性存储器124的各个部分基本上均匀磨损而使非易失性存储器124的寿命最大化。
非易失性存储器装置120一般被描述为包括一任选的存储器控制系统128,即一控制器。通常,非易失性存储装置120可包括分别用于非易失性存储器124和存储器控制系统128(即控制器)功能的单独芯片。举例而言,包括(但不限于)PC卡、小型闪存(CompactFlash)卡、多媒体(MultiMedia)卡及安全数字(secure digital)卡的非易失性存储装置均包括设置在一单独芯片上的控制器,其它非易失性存储装置可不包括设置在一单独芯片上的控制器.在非易失性存储器装置120不包括单独的存储器和控制器芯片的一实施例中,如所属领域的技术人员所知,所述存储器和控制器功能被集成在一单个芯片中.或者,存储器控制系统128的功能可由微处理器108提供,例如在一上文所述非易失性存储器装置120不包括存储器控制器128的实施例中.
参照图3,下文将根据本发明的一实施例更详细地阐述非易失性存储装置120。如上所述,非易失性存储装置120包括非易失性存储器124并可包括存储器控制系统128。存储器124和控制系统128,或控制器,可以是非易失性存储器装置120的主要组件,然而举例而言,当存储器124是一嵌入式NAND装置时,非易失性存储器装置120可以不包括控制系统128。存储器124可为一形成于一半导体基板上的存储单元阵列,其中通过将2个或更复数个电荷电平之一存储在存储单元的单独存储元件上而将一个或复数个数据位存储在单独的存储单元内。一非易失性闪存电可擦除可编程只读存储器(EEPROM)是用于此种系统的一通用类型存储器的实例。
当存在时,控制系统128通过一总线15与一主机计算机或正使用所述存储器系统存储数据的其它系统进行通信。总线15一般为图2中总线104的一部分。控制系统128还控制存储器124的操作,存储器124也可包括一存储单元阵列11,用于写所述主机提供的数据、读取所述主机请求的数据以及执行存储器124运行时所需的各种内务管理功能。控制系统128一般包括一具有相关非易失性软件存储器、各种逻辑电路及类似元件的通用微处理器。通常,控制系统128也包括一个或更多个状态机用于控制专用例程的性能。
存储单元阵列11通常由控制系统128或微处理器108通过地址译码器17进行寻址。译码器17给阵列11的门和位线施加恰当的电压,以便在一控制系统128正寻址的一组存储单元中编程数据、读取数据或擦除该组存储单元。附加电路19包括编程驱动器,所述编程驱动器控制根据正被编程入一被寻址单元组内的数据而施加到该阵列的元件上的电压。电路19还包括读出放大器及其它从被寻址存储单元组中读取数据所需的电路。将要编程到阵列11内的数据,或新近从阵列11读取的数据通常都存储在控制系统128中的一缓冲存储器21内。控制系统128通常还包含用于临时存储命令和状态数据等的各种寄存器。
阵列11被划分为大量的存储单元块BLOCKS 0-N。如同闪速EEPROM系统中所常见的,块通常是最小的擦除单位。换言之,每个块均包含可一起擦除的最小数量的存储单元。每个块通常被划分为数个页面。所属领域的技术人员将了解,页面可以是最小的编程单位。也就是说,一基本编程操作将数据写入存储单元的最少一个页面内,或从其中读取数据。每一页面内通常存储有一个或更多的数据扇区。如图3中所示,一个扇区包括用户数据和开销数据。开销数据通常包括一依据所述扇区的用户数据计算得出的纠错码(ECC)。控制系统128的一部分23在数据被编程至阵列11内时计算ECC,且其还在数据从阵列11被读取时校验所述ECC。或者,将ECC存储到与其所从属的用户数据不同的页面或不同的块中。
一用户数据扇区通常为512个字节,相当于磁盘驱动器内一扇区的大小.开销数据或冗余数据一般为另外的16个字节.最常见的是,每个页面中包含一个数据扇区,但两个或更多的扇区也可以构成一个页面.一般而言,任何数目的页面均可构成一个块.举例来说,一个块可由8个页面至多达512个、1024个甚至更多个页面构成.块的数量的选择旨在为存储系统提供一个所期望的数据存储容量.阵列11通常被划分为若干个子阵列(未图示),其中每一子阵列皆包含一部分所述块,这些子阵列在一定程度上彼此独立的运行,以提高在各存储作业执行中的平行度.美国专利第5,890,192号中阐述了使用复数个子阵列的一个实例,该专利的全文以引用的方式并入本文中.
在一实施例中,非易失性存储器被嵌入一系统中,例如一主机系统中。图4是一示意代表图,其显示一包含一嵌入式非易失性存储器的主机系统。一主机或计算机系统150一般包括一系统总线154,所述系统总线154允许一微处理器158、一随机存取存储器(RAM)162、和输入/输出电路166以及主机系统150的其它组件(未显示)进行通信。一非易失性存储器174,例如一闪存存储器,允许信息被存储在主机系统150内。在非易失性存储器174与总线154之间可以提供一接口180,以可从非易失性存储器174取读信息并向其中写入信息。
非易失性存储器174可由微处理器158管理,所述微处理器158可以有效地执行布置用于控制非易失性存储器174的软件和/或固件。也就是说,微处理器158可以运行代码装置(未显示),即软件代码装置或固件代码装置,其可使非易失性存储器174受到控制。如下文中所描述的那样,此类代码装置可以是一与CPU一起封装在微处理器158内的闪存存储器、一单独的闪存只读存储器(ROM)或可位于非易失性存储器174内,其可使非易失性存储器174内的物理块能够被寻址,并可使信息能够被存储在所述物理块内、从中读取信息和擦除信息。
总而言之,在一用户写数据时,所述用户使用一文件系统有效地写所述数据。所述文件系统使所述数据与一逻辑块相关联,或更具体而言,与一逻辑块的页面相关联,所述逻辑块被映射至与一存储媒体相关联的物理块。图5是一示意代表图,其显示根据本发明的一个实施例具有逻辑块的一文件系统以及具有物理块的一媒体。一文件系统514的逻辑块510包括任何数目的页面518。一逻辑块(例如逻辑块510a)内包含的页面518的数量取决于一擦除单元的大小。例如,如图所示,当所述最小擦除单元包含约32个页面时,一逻辑块510a内可包含大约32个页面。
一媒体534(例如一嵌入式闪存存储器)的物理块530包含数个页面538。如所属领域的技术人员所知,物理块530所包含的页面538的数量通常与逻辑块530内所包含的页面518的数量通常是相同的。但是,逻辑块510内包含的页面518的数量未必与物理块530内包含的页面538的数量相等。
图6是一示意代表图,其显示根据本发明的一个实施例具有一更新索引且与一个以上物理块相关联的一逻辑块.一逻辑块550被映射至一物理块560,其可被称作一“当前”或“旧”物理块.具体而言,与逻辑块550内页面552相关联的内容作为内容564被存储在物理块560的页面562的一数据区568内.当物理块560内的页面562已满(如图所示)时,或当物理块560因其它原因而不能接收与逻辑块550相关联的一更新时,可以获取一包括页面572的新的或备用物理块570,例如从一整体非易失性存储器系统中所保持的一组备用块中获取.在大多数情况下,可通过使用一拷贝操作或一归并操作将物理块560内所存储的至少一部分内容564连同与未存储在物理块560的逻辑块550相关联的任何更新提供至物理块570.具体而言,可将未被与逻辑块550相关联的更新有效侵占的任何内容连同所述更新一起提供至物理块570.在一实施例中,当基本上所有内容564均被与逻辑块550相关联的更新有效侵占时,实际上没有内容存储在物理块570内.如所属领域的技术人员所知,当没有未包含在物理块560的新数据将被提供至物理块570时,一拷贝操作可能是合适的;而当有未包含在物理块560的新数据或更新数据将被包含在物理块570内时,一归并操作可能是合适的.
物理块560内的每个页面562均包含一冗余或开销区566。同样,物理块570内的每个页面572也均包含一冗余或开销区576。在所述实施例中,与物理块560的一第一页面562a相关联的冗余区566a包括构成一更新索引568的一组比特。但是,应当了解,物理块560内任何数目的冗余区566可包括一更新索引,例如冗余区566b可包括与更新索引568具有相同值的更新索引588。
例如,在通过识别与物理块570相关联的至少一个冗余区576内设置的比特使物理块570与逻辑块550相关联之前,物理块570一般是空的。但是,一旦物理块570与逻辑块550相关联,一更新索引578即被存储在对应于物理块570的一第一页面572a的冗余区576a内。应当了解,另外的更新索引,例如存储在冗余区576b内并与更新索引578具有相同值的更新索引598,可被存储在物理块570内。
更新索引578一般被设置为具有一值,所述值与更新索引568相比时,可识别出物理块570是新与物理块560相关联的。使用更新索引578和更新索引568可在包含物理块560,570的一整体系统断电后,确定是否物理块560的至少一部分内容564当时正处于被提供给物理块570的过程中。如图中所示,物理块560的一部分内容564a,564b已分别作为内容564a’、564b’被提供给物理块570,而其它将被提供的内容(例如564d)尚未被提供。此外,在合适的时候,例如当内容574将被用于替代内容564c时,与逻辑块550相关联的更新可作为内容574被存储在物理块570内。
当断电后物理块560和570均与逻辑块550相关联时,则指示可能是:将物理块560的一部分内容564提供至物理块570的一操作尚未成功完成。在所述实施例中,当更新索引578具有一被理解为比更新索引568新(例如高)的值时,则指示是:将提供至物理块570的物理块560的任何内容564可能尚未成功地全部提供至物理块570。
在与逻辑块550相关联的更新内容(例如新内容或修改的内容)有效地全部侵占了物理块560的内容564的情况下,则内容564的任何部分均不会被存储在物理块570内。其结果是,如果物理块560、570需被分解(例如在断电后恢复供电过程中),则可以确定实际上内容564的任何部分均不被归并在物理块570内。
总而言之,为了将因物理块560和570之间的更新、拷贝或归并过程中断而可能丢失的数据量基本上降至最低,可对物理块560的更新索引568和物理块570的更新索引578进行研究,从而将物理块570识别为新物理块。这样,在获取物理块570,例如在针对物理块560实施一更新、拷贝或归并过程时,更新索引578通常被存储在物理块570内。
参阅图7,下文将根据本发明的一个实施例介绍与一种将一个物理块的内容更新、拷贝或归并入另一物理块内的方法相关的步骤.一用于拷贝或归并块的过程600开始于步骤602,在所述步骤602中获取一新物理块或备用物理块.具体而言,获取一备用物理块作为与一逻辑块相关联或以其它方式对应于一逻辑块的一新物理块.一旦获取所述新物理块或备用物理块,在步骤604中检索一“旧”物理块或当前与所述物理块(所述新物理块将要与之相关联)相关联的所述物理块的更新索引.在所述实施例中,一更新索引以比特(例如4个比特)的形式被存储在一物理块的冗余区中.这样,检索所述旧物理块的更新索引一般包括从与所述旧物理块相关联的一冗余区或一开销区中获取其更新索引.应当了解,一物理块的更新索引可被存储在所述物理块的基本上仅一个页面(例如一第一页面)的冗余区内,或可被存储在所述物理块的基本上每个页面的冗余区内.
在检索所述旧物理块的更新索引后,在步骤606中确定所述旧物理块的更新索引是否实际上相等于可能的最高更新索引值。在一更新索引包括四个比特的实施例中,可能的最高更新索引值可以是15,但所述的可能最高值可以有很大的变化。如果确定所述旧物理块的更新索引基本上不等于可能的最高值,则流程从步骤606移至步骤608,在此步骤中将所述新物理块的更新索引设置为一个高于所述旧物理块的更新索引的值。通常,将所述新物理块的更新索引值设置为一个高于所述旧物理块的更新索引的值涉及到将所述新物理块的更新索引值设置为一个比所述旧物理块的更新索引值高出1的值。应当了解,设置所述新物理块的更新索引值一般还包括将所述更新索引存储在与所述新物理块相关联的一冗余区内。总而言之,不是确定何时将所述新物理块的更新索引设置为一个高于所述旧物理块的更新索引的值,而是确定何时将所述新物理块的更新索引设置为一个比所述旧物理块的更新索引值新的值。
在设置所述新物理块的更新索引后,在步骤610中启动一合适的更新、拷贝或归并过程,以将数据从一组新用户数据和/或所述旧物理块分别更新、拷贝或归并至所述新物理块内。然后,在步骤612中确定所述更新、拷贝或归并过程是否已成功完成。此一确定可以依据所有当前页面是否均已在新的物理块中得到考虑。在确定所述拷贝或归并过程已经成功完成后,则表示与对应于所述旧物理块的所述逻辑块相关联的最新数据已被放置在所述新物理块内。由此,所述新物理块即成为与所述逻辑块相对应的物理块,而所述旧物理块的内容在614步骤中被擦除。一旦所述旧物理块的内容被擦除,所述更新、拷贝或归并过程即告结束。
或者,如果在步骤612中确定用于将数据归并在所述新物理块内的一更新、拷贝或归并过程未能成功完成,则指示所述更新、拷贝或归并过程已(例如)因包含所述旧物理块和所述新物理块的非易失性存储器断电而被中断。其结果是,所述旧物理块和新物理块均对应于同一逻辑块。例如,所述旧物理块和新物理块可能在其冗余区内均包括一个或复数个标识同一个逻辑块的比特。在所述实施例中,在确定一逻辑块具有两个相应的物理块时,所述两个相应物理块可在下一恢复供电过程步骤616中得到有效分解。也就是说,所述旧物理块和所述新物理块的内容可被分解,以使与对应于旧物理块和新物理块的所述逻辑块相关联的最新内容可被拷贝或归并,从而将所述最新内容放置在所述新物理块内。下文将参考图8介绍一种用于分解一旧物理块和一新物理块的方法。一旦所述旧物理块和所述新物理块被分解,所述更新、拷贝或归并过程即告结束。
返回步骤606,如果确定所述旧物理块的更新索引基本上等于可能的最高更新索引值,则可在步骤618中将所述新物理块的更新索引设置为一零值。当所述旧物理块的更新索引在基本上等于可能的最高更新索引值而且所述新物理块的更新索引被设置为零时,则表示:所述新物理块比所述旧物理块新。在设置新物理块的更新索引之后,流程前进至步骤610,在此步骤中启动将数据从旧物理块拷贝或归并在新物理块内的过程。
图8是一流程图,其根据本发明的一个实施例图解说明与分解一旧块和一新块相关的步骤,例如图7的步骤616.一用于分解对应于同一逻辑块的两个物理块的流程616开始于步骤640,在此步骤中获取其中包含有所述逻辑块的对应数据的一第一物理块.应当了解,所述第一物理块既可是一旧物理块也可是一新物理块.在获取所述第一物理块后,在步骤642中获取其中包含有对应于所述逻辑块的数据的一第二物理块.
在步骤644中,检索所述第一物理块的更新索引,即第一更新索引。所述更新索引一般存储在与所述第一物理块相关联的冗余区的至少一个内。通常,从所述第一物理块的第一页面的冗余区中检索所述更新索引。在步骤646中检索或以其它方式获取所述第二物理块的更新索引,即所述第二更新索引。
在获取所述第一更新索引和所述第二更新索引后,可对所述第一更新索引和所述第二更新索引加以比较。相应地,在步骤648中确定所述第一更新索引的值是否大于所述第二更新索引的值。应当了解,即使所述第一更新索引具有一零值,如果所述第二更新索引所具有的值为更新索引的最大值,所述第一更新索引仍可大于第二更新索引,反之亦然。如果确定所述第一更新索引不大于所述第二更新索引,则指示指示所述第二物理块是一新物理块。换言之,其指示在所述拷贝或归并过程被中断时,所述第一物理块的内容正被更新、拷贝或归并在所述第二物理块内。故而,流程自步骤648移至步骤650,在此步骤中完成一合适的拷贝或归并过程,以完成与所述第一物理块相关联的内容在所述第二物理块内的所述更新、拷贝或归并。完成一更新、拷贝或归并过程可包括识别具有所述第一物理块内的内容但没有所述第二物理块内的内容的页面,及将此类内容提供至所述第二物理块。
一旦完成将内容拷贝或归并在所述第二物理块内的过程,所述第一物理块在步骤652中即被擦除。擦除所述第一物理块一般包括擦除所述第一物理块的更新索引,以及基本上解除所述第一物理块与当前与所述第二物理块相关联的所述逻辑块的关联。一旦所述第一物理块被擦除,分解块的过程即告完成。
返回步骤648,如果确定所述第一更新索引大于所述第二更新索引,则指示所述第一物理块是新的物理块,而所述第二物理块是旧的物理块。由此,在步骤654中,完成先前没有完成的更新、拷贝或归并过程,以将所述第二物理块的内容适当地拷贝或归并在所述第一物理块内。一旦所述第一物理块包含与第一物理块相关联的所述逻辑块——例如在所述第一物理块的至少一个冗余区内识别的逻辑块——的最新或新内容,则所述第二物理块在步骤656中被擦除,且分解块的过程即告完成。
一般而言,与保持更新索引和通过使用更新索引来分解块相关联的功能是以软件形式提供的,例如,作为程序代码装置,或作为主机系统的固件。图9显示与提供给一主机系统用于启用损耗平衡的软件或固件相关联的合适的系统架构的一个实施例。一系统架构700一般包括多种模块,所述模块可包括(但不限于):一应用接口模块704、一系统管理器模块708、一数据管理器模块712、一数据完整性管理器716以及一装置管理器和接口模块720。一般而言,可使用可由一处理器(例如图2的处理器108)访问的软件代码装置或固件来构建系统架构700。
一般而言,应用接口模块704可被布置用于与主机、操作系统或用户直接通信。应用接口模块704还与系统管理器模块708和数据管理器模块712通信。当用户希望读、写或格式化闪存存储器时,用户向操作系统发送请求,所述请求被传送到所述应用接口模块704。应用接口模块704视所述请求而定将所述请求送往系统管理器模块708或数据管理器模块712。
系统管理器模块708包括一系统初始化子模块724、一擦除计数块管理子模块726以及一功率管理块子模块730。系统初始化子模块724一般被布置用于使一初始化请求能得到处理,并通常与擦除计数块管理子模块726通信。擦除计数块管理子模块726的功能包括:使块的擦除计数能被存储,以及使用个别擦除计数来计算平均擦除计数并予以更新。擦除计数的使用在2002年10月28日提交的第10/281,739号(代理案号SANDP023)共同待决美国专利申请中作了描述,所述专利的全文以引用的方式并入本文中。系统初始化模块724也被布置用于分解一对多的逻辑对物理块指配,因而,可以利用更新索引。
除与应用接口模块704通信外,系统管理器模块708还与数据管理器模块712以及设备管理器和接口模块720通信。与系统管理器模块708和应用接口模块704通信的数据管理器模块712可以包括提供扇区映射的功能,所述扇区映射功能有效地将逻辑扇区转换成物理扇区。也就是说,数据管理器模块712被布置用于将逻辑块映射至物理块。数据管理器模块712还可包括与操作系统和文件系统接口层相关的功能,并使块内的组得到管理,此一内容描述在2002年10月28日提交的第10/281,855号(代理人案号:SANDP029)共同待决美国专利申请中。所述专利申请的全文以引用方式并入本文中。
与系统管理器模块708、数据管理器712和数据集成管理器716通信的设备管理器和接口模块720通常提供一闪存存储器接口,并包括与硬件抽象(例如一I/O接口)相关的功能。数据完整性管理器模块716提供纠错码(ECC)处理以及其它功能。
尽管本文仅阐述了本发明的几个实施例,应了解,在不脱离本发明的精神或范围的条件下,可采用许多其它具体形式实施本发明。举例来说,尽管将逻辑块内的逻辑组和相应的物理块内的物理组描述为具有基本上相同的大小,但逻辑组和物理组一般可具有不同的大小。换言之,一逻辑组内所包含的页面数量以及与所述逻辑组相应的一物理组内所包含的页面数量未必相同。
尽管一更新索引被描述为包括4个比特,应当了解,所述更新索引一般可以占用任何数量的比特。例如,一更新索引可以包括少于4个比特,或者所述更新索引可以包括多于4个比特,例如多至约一个字节或更多字节。可以基于任何数量的理由来选择比特的数量,所述理由包括但不限于,整体系统要求以及所述整体系统内物理块的冗余区内可用的比特数量。
一般而言,基本上可以利用物理块更新索引之间的任何差别来确定复数个物理块中哪一个是一未完成的块,或是可将当前数据更新、拷贝或归并至其中的块。尽管文中将一具有一较高更新索引的物理块描述为是较新的块(例如未完成的块),但具有一较低更新索引的物理块也可以是较新的块,例如,在获取一备用物理块时,将所述备用物理块的一更新索引值设置为小于一当前物理块的更新索引的情形。同样,也可旋转或以其它方式移位所述更新索引内的比特,以给可用来确定哪个更新索引与一较新块相关联的更新索引提供不同的“值”。
在使用更新索引确定复数个物理块中哪个块是一较新块或备用物理块以及复数个物理块中哪个块是一旧物理块后,可以有效地重新开始一拷贝或一归并操作,以完成将信息提供(例如更新、拷贝或归并)至所述备用物理块的过程.在一个实施例中,在重新开始所述的更新、拷贝或归并操作之前,可擦除所述备用物理块的内容,并可将所述物理块的更新索引重设为一个比所述旧物理块的更新索引值新(例如较高)的值,此并不偏离本发明的精神和范围.擦除所述备用物理块尽管是耗时的,但可以减少下列需要,即确定所述旧物理块中哪些内容已被提供至所述备用物理块,以及所述旧物理块中哪些内容尚未被提供至所述备用物理块.
与本发明的各种方法相关的步骤可能有很大的差异。一般而言,步骤可以被增加、删除、重新排序和改变。例如,在一分解物理块的过程中,可在获取一物理块后基本上立即从所述物理块中检索一更新索引。
在一实施例中,由于在完成一拷贝或一归并过程后,基本上始终要擦除一旧物理块,如果断掉包含所述旧物理块和一相应的新物理块的系统的电源,则所述旧物理块和所述新物理块一般仍将与一单个逻辑块相关联。由此,应当了解,确定一拷贝或一归并过程是否已经成功完成可包括确定是否仍有两个物理块与一单个逻辑块相关联,此并不偏离本发明的精神和范围。因此,仅应将本发明实例视为举例说明性而非限制性,并且本发明不仅限于本文所给出的详细阐述,而是可在随附权利要求范围内进行修改。

Claims (22)

1.一种操作一非易失性存储器系统的方法,其中所述非易失性存储器系统包括一NAND闪存存储器阵列,所述NAND闪存存储器阵列具有复数个物理块,每一物理块由复数个存储器单元组成,所述复数个存储器单元布置在复数个页面中,每个存储器单元能够存储多于一位的数据,因此不允许在所述物理块中部分写入页面,所述方法包括以下步骤:
将在所述闪存存储器阵列中的第一物理块与一逻辑块相关联;
将与所述逻辑块相关联的数据,以及一第一更新索引写入所述第一物理块的至少一页面;
然后将一第二物理块与所述逻辑块相关联;及
将与所述逻辑块相关联的数据,以及一第二更新索引写入所述第二物理块的至少一页面中,所述第二更新索引指示所述第二物理块比所述第一物理块新与所述逻辑块发生关联。
2.根据权利要求1所述的方法,进一步包括:
从所述第一物理块获取所述第一更新索引;
从所述第二物理块获取所述第二更新索引;
将所述第一更新索引与所述第二更新索引加以比较,以确定所述第一更新索引和所述第二更新索引中哪一个的物理块新与所述逻辑块发生关联;及
响应于确定所述第二更新索引指示所述第二物理块比所述第一物理块新与所述逻辑块发生关联的所述比较步骤,将与所述逻辑块相关联的剩余数据写入所述第二物理块。
3.根据权利要求2所述的方法,其中获取所述第一更新索引包括从与所述第一物理块相关联的一开销区中获取所述第一更新索引,而获取所述第二更新索引包括从与所述第二物理块相关联的一开销区中获取所述第二更新索引。
4.根据权利要求2所述的方法,其中所述将数据和所述第二索引写入所述第二物理块的步骤包括:
从所述第一物理块检索数据;
将所述检索到的数据写入所述第二物理块;及
将所述第二更新索引写入所述检索到的数据被写入的至少一页面。
5.根据权利要求2所述的方法,其进一步包括:
识别所述第一物理块与所述逻辑块相关联;及
识别所述第二物理块与所述逻辑块相关联。
6.根据权利要求2所述的方法,其进一步包括:
在将与所述逻辑块相关联的剩余数据写入所述第二物理块的所述步骤之后擦除所述第一物理块,其中擦除所述第一物理块包括擦除所述第一更新索引。
7.根据权利要求2所述的方法,其中所述第二更新索引被进一步布置用于指示所述第二物理块的页面全部比所述第一物理块的页面新与所述逻辑块发生关联。
8.根据权利要求1所述的方法,其中所述第一更新索引具有一小于一个字节的长度,且所述第二更新索引具有一小于一个字节的长度。
9.根据权利要求1所述的方法,其进一步包括:在将数据和所述第二更新索引写入的步骤之前,
从所述第一物理块中检索所述第一更新索引;及
确定所述第二更新索引与所述第一更新索引相关。
10.根据权利要求9所述的方法,其中将所述第一更新索引写入所述第一物理块的一冗余区且从其中检索出。
11.根据权利要求1所述的方法,其进一步包括:
在所述将数据和所述第一索引写入所述第一物理块的步骤之后,接收与所述逻辑块相关联的数据。
12.根据权利要求11所述的方法,其中写入所述第二更新索引的步骤包括写入所述第二物理块的一冗余区内。
13.根据权利要求12所述的方法,其中所述第二更新索引最多占据所述冗余区内的一个字节。
14.根据权利要求1所述的方法,其中将数据和所述第二索引写入所述第二物理块的步骤包括:
从所述第一物理块检索数据;
将所述检索到的数据写入所述第二物理块;及
将所述第二更新索引写入所述检索到的数据被写入的至少一页面。
15.根据权利要求1所述的方法,其进一步包括:
接收与所述逻辑块相关联的新数据,所述接收的数据中的至少一部分对应于之前写入所述第一物理块的页但与那些页的内容不同;
将所述接收的数据写入所述第二物理块。
16.一种非易失性存储器系统,其包括:
一非易失性存储器,所述非易失性存储器包括一NAND布置中的复数个存储器单元,所述复数个存储器单元安排在复数个物理块的每一者的复数个页中,每个存储器单元能够存储多于一位的数据,因此不允许部分写入;
用于将物理块与逻辑块相关联的构件;
用于将从一逻辑区块的信息和一更新索引写入到与所述逻辑块相关联的物理块的至少一页面的构件;
其中所述写入构件将第一更新索引写入到与所述逻辑块相关联的第一物理块的至少一页面,以及在第一物理块与所属逻辑块相关联之后,将第二更新索引写入到与所述逻辑块相关联的第二物理块的至少一页面,以使与所述第二物理块相关联的所述第二更新索引指示所述第二物理块比所述第一物理块新与所述逻辑块发生关联。
17.根据权利要求16所述的系统,其进一步包括:
用于比较所述第一更新索引与所述第二更新索引以确定哪个物理块新与所述逻辑块发生关联的构件;
且其中响应于确定所述第二更新索引指示所述第二物理块比所述第一物理块新与所述逻辑块发生关联的所述比较构件,所述写入构件将与所述逻辑块相关联的信息写入所述第二物理块。
18.根据权利要求17所述的系统,其中所述第一物理块包括一存储所述第一更新索引的第一开销区,且所述第二物理块包括一存储所述第二更新索引的第二开销区。
19.根据权利要求17所述的系统,其进一步包括:
用于擦除所述第一物理块的构件,所述擦除包括擦除所述第一更新索引。
20.根据权利要求16所述的系统,其进一步包括:
用于从所述第一物理块擦除所述信息和所述第一更新索引的构件。
21.根据权利要求16所述的系统,其中所述第二更新索引存储在所述第二物理块的一冗余区内。
22.根据权利要求16所述的系统,其进一步包括:
用于接收与所述逻辑块相关联的新数据的构件,所述新数据对应于之前写入所述第一物理块的页但与那些页的内容不同;
用于将所述新数据写入所述第二物理块的构件。
CN038247836A 2002-10-28 2003-09-10 用于分解与一共用逻辑块相关联的物理块的方法和设备 Expired - Fee Related CN1701300B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/281,762 US7234036B1 (en) 2002-10-28 2002-10-28 Method and apparatus for resolving physical blocks associated with a common logical block
US10/281,762 2002-10-28
PCT/US2003/028430 WO2004040431A2 (en) 2002-10-28 2003-09-10 Method and apparatus for resolving physical blocks associated with a common logical block

Publications (2)

Publication Number Publication Date
CN1701300A CN1701300A (zh) 2005-11-23
CN1701300B true CN1701300B (zh) 2010-05-12

Family

ID=32228773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN038247836A Expired - Fee Related CN1701300B (zh) 2002-10-28 2003-09-10 用于分解与一共用逻辑块相关联的物理块的方法和设备

Country Status (8)

Country Link
US (1) US7234036B1 (zh)
EP (1) EP1558989A2 (zh)
JP (2) JP2006504200A (zh)
KR (1) KR20050062638A (zh)
CN (1) CN1701300B (zh)
AU (1) AU2003270530A1 (zh)
TW (1) TWI246649B (zh)
WO (1) WO2004040431A2 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040586A1 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Automated wear leveling in non-volatile storage systems
EP1630657A1 (en) * 2004-08-30 2006-03-01 STMicroelectronics S.r.l. Embedded storage device with integrated data-management functions and storage system incorporating it
US8122193B2 (en) * 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100684887B1 (ko) * 2005-02-04 2007-02-20 삼성전자주식회사 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
US20090172269A1 (en) * 2005-02-04 2009-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device and associated data merge method
CN100573476C (zh) 2005-09-25 2009-12-23 深圳市朗科科技股份有限公司 闪存介质数据管理方法
KR100771519B1 (ko) * 2006-10-23 2007-10-30 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US7694091B2 (en) * 2006-10-23 2010-04-06 Hewlett-Packard Development Company, L.P. Non-volatile storage for backing up volatile storage
TWI421869B (zh) * 2009-10-14 2014-01-01 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
JP5707695B2 (ja) * 2009-12-08 2015-04-30 沖電気工業株式会社 フラッシュディスク装置
US9262096B2 (en) * 2013-07-15 2016-02-16 Seagate Technology Llc Dynamic address mapping for finish in the field

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544312A (en) * 1994-04-29 1996-08-06 Intel Corporation Method of detecting loss of power during block erasure and while writing sector data to a solid state disk
US6151247A (en) * 1997-03-31 2000-11-21 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
EP1197868B1 (en) * 2000-10-11 2006-07-26 Samsung Electronics Co., Ltd. Method of driving remapping in flash memory and flash memory architecture suitable therefor

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07109717B2 (ja) 1986-05-31 1995-11-22 キヤノン株式会社 メモリ書き込み制御方法
JP2685173B2 (ja) 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
DE69034191T2 (de) 1989-04-13 2005-11-24 Sandisk Corp., Sunnyvale EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
US5166939A (en) * 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5222109A (en) 1990-12-28 1993-06-22 Ibm Corporation Endurance management for solid state files
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5388083A (en) 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5860082A (en) 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
JP3070539B2 (ja) * 1997-09-30 2000-07-31 ソニー株式会社 外部記憶装置、データ処理装置及びデータ処理方法
KR100297986B1 (ko) 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
US6260156B1 (en) 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP2003532222A (ja) 2000-05-04 2003-10-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 記憶媒体上のデータ管理のための方法、システム、及びコンピュータプログラム
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP3631463B2 (ja) * 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544312A (en) * 1994-04-29 1996-08-06 Intel Corporation Method of detecting loss of power during block erasure and while writing sector data to a solid state disk
US6151247A (en) * 1997-03-31 2000-11-21 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
EP1197868B1 (en) * 2000-10-11 2006-07-26 Samsung Electronics Co., Ltd. Method of driving remapping in flash memory and flash memory architecture suitable therefor

Also Published As

Publication number Publication date
WO2004040431A3 (en) 2005-01-06
CN1701300A (zh) 2005-11-23
TWI246649B (en) 2006-01-01
WO2004040431A2 (en) 2004-05-13
AU2003270530A1 (en) 2004-05-25
JP2010267290A (ja) 2010-11-25
KR20050062638A (ko) 2005-06-23
JP2006504200A (ja) 2006-02-02
US7234036B1 (en) 2007-06-19
EP1558989A2 (en) 2005-08-03
TW200413918A (en) 2004-08-01

Similar Documents

Publication Publication Date Title
CN100487672C (zh) 用于分割一逻辑块的方法及设备
CN100454273C (zh) 用于块内页面分组的方法及设备
CN102576332B (zh) 用于电力中断管理的方法和包含电力中断管理的存储器系统
US7472251B2 (en) Data storage apparatus detachably mounted to a host apparatus
JP5162535B2 (ja) メモリシステムを利用する方法及びメモリシステム
US7039754B2 (en) Detachably mounted removable data storage device
CN102549554B (zh) 基于条带的存储器操作
CN100385415C (zh) 用于维护擦除计数的非易失性存储器系统、数据结构和区块
KR100987241B1 (ko) 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치
US7681008B2 (en) Systems for managing file allocation table information
US20110231597A1 (en) Data access method, memory controller and memory storage system
CN103270500A (zh) 事务日志恢复
WO2000002126A1 (en) Method and apparatus for performing erase operations transparent to a solid state storage system
TW201040719A (en) Solid state memory formatting
CN109144899B (zh) 用于管理表恢复的方法
WO1999030239A1 (fr) Memoire et procede d'acces
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
JP2009503740A (ja) データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け
US10877853B2 (en) Data storage device and operation method optimized for recovery performance, and storage system having the same
EP2264602A1 (en) Memory device for managing the recovery of a non volatile memory
CN110597454B (zh) 数据储存装置以及非挥发式存储器控制方法
JP2007018528A (ja) メモリ装置、ファイル管理方法及び記録再生装置
WO2006093304A1 (en) Storage device, memory block managing method, and program

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120322

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120322

Address after: Texas, USA

Patentee after: Sanindisco Technology Co.,Ltd.

Address before: California, USA

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SANDISK TECHNOLOGIES, INC.

CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: Sandy Technology Corp.

Address before: Texas, USA

Patentee before: Sanindisco Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: SANDISK TECHNOLOGIES LLC

Address before: Texas, USA

Patentee before: Sandy Technology Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100512