CN1703678A - 在非易失性存储器***中执行多页面写入操作的方法和设备 - Google Patents
在非易失性存储器***中执行多页面写入操作的方法和设备 Download PDFInfo
- Publication number
- CN1703678A CN1703678A CN 03825519 CN03825519A CN1703678A CN 1703678 A CN1703678 A CN 1703678A CN 03825519 CN03825519 CN 03825519 CN 03825519 A CN03825519 A CN 03825519A CN 1703678 A CN1703678 A CN 1703678A
- Authority
- CN
- China
- Prior art keywords
- page
- page number
- district
- standard
- relevant
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供数种用于促进在非易失性存储器***内进行多页面或多区块操作的方法和设备。根据本发明的一个方面,一执行一多页面命令的方法:包括获得识别与一非易失性存储器相关的一第一页面的一第一规范的一第一页面号;和将所述第一页面号映射到一第二规范的一第二页面号。类似所述第一页面号,所述第二页面号也识别所述第一页面。将所述第一页面号映射到所述第二页面号包括识别与所述非易失性存储器相关的区的总数和与区块的总数的每一区块相关的页面的总数。最后,通过使用所述第二页面和所述多页面命令来访问第一页面。
Description
相关申请案的交叉参考
本发明与2002年10月28日提交的题目为“WEAR LEVELING IN NON-VOLATILE STORAGE SYSTEMS”的共同待决的美国专利申请案第10/281,739号(代理人案号SANDP023/SDK0366.000US)、2002年10月28日提交的题目为“TRACKING THE MOST FREQUENTLY ERASED BLOCKSIN NON-VOLATILE MEMORY SYSTEMS”的共同待决的美国专利申请案第10/281,670号(代理人案号SANDP025/SDK0366.002US)、2002年10月28日提交的题目为“TRACKING THE LEAST FREQUENTLY ERASED BLOCKSIN NON-VOLATILE MEMORY SYSTEMS,”的共同待决的美国专利申请案第10/281,824号(代理人案号SANDP0267SDK0366.003)、2002年10月28日提交的题目为“METHOD AND APPARATUS FOR SPLITTING A LOGICALBLOCK,”的共同待决的美国专利申请案第10/281,631号(代理人案号SANDP028/SDK0371.000US)、2002年10月28日提交的题目为“METHODAND APPARATUS FOR GROUPING PAGES WITHIN A BLOCK,”的共同待决的美国专利申请案第10/281,855号(代理人案号SANDP029/DSK0410.000US)、2002年10月28日提交的题目为“METHODAND APPARATUS FOR RESOLVING PHYSICAL BLOCKS ASSOCIATEDWITH A COMMON LOGICAL BLOCK,”的共同待决的美国专利申请案第10/281,762号(代理人案号SANDP030/SDK0416.000US)相关,所述申请案的全文以引用的方式并入本文中。
技术领域
本发明一般涉及海量数字数据存储存储***。更具体地说,本发明涉及允许以有效方式大体同时对非易失性存储器***的多页面进行访问的***和方法。
背景技术
由于诸如快闪存储器存储***的非易失性存储器***的紧凑物理大小和非易失性存储器具有被反复再编程的能力,所以此等存储器***的使用日益增加。快闪存储器存储***的紧凑物理大小促进在日益变得流行的装置中使用此等存储***。使用快闪存储器存储***的装置包括(但不限于)数码相机、数码摄像机、数码音乐播放器、手提个人计算机和全球定位装置。可反复再编程包括在快闪存储器存储***中的非易失性存储器的能力使得能够使用并再使用快闪存储器存储***。
一般来说,快闪存储器存储***可包括快闪存储器卡和快闪存储器芯片组。快闪存储器芯片组一般包括数个快闪存储器组件和一控制器组件。通常,可排列快闪存储器芯片组以将其组装到嵌入式***中。所述组合或主机***的制造商通常获取以组件形式的快闪存储器以及其它组件,接着将快闪存储器与其它组件组装成主机***。
从快闪存储器中读取数据、在其中擦除数据和将数据写入到其中的方法可能相对耗时,尤其在数据量相对较高的时候。明确地说,当重复或大体上连续访问页面时,可证明为执行读取操作、擦除操作或写入操作,与访问快闪存储器的页面相关的访问时间相对重要。举例来说,每次访问快闪存储器内的一个页面以使数据能够写入到该页面时,访问时间可介于用于二进制快闪存储器的约250微秒(μs)与用于多级单元(MLC)快闪存储器的约一毫秒(ms)之间。当许多页面待写入时,与将数据写入许多页面相关的总访问时间可能足够高,从而显著影响整个快闪存储器***的性能。
因此,需要一种减少与非易失性存储器***中读取、擦除或写入方法相关的总访问时间的方法。即,需要一种大体上通过减少与读取、擦除或写入非易失性存储器的页面中数据相关的有效访问时间,来改进非易失性存储器***的性能的方法和***。
发明内容
本发明涉及一种促进非易失性存储器***中的多页面或多区块操作的***和方法。根据本发明的一个方面,执行多页面命令的方法包括:获得识别与非易失性存储器相关的第一页面的第一规范的第一页面号;和将第一页面号映射到第二规范的第二页面号。类似第一页面号,第二页面号也识别第一页面。将第一页面号映射到第二页面号包括识别与非易失性存储器相关的区的总数目和与区块的总数目的各个区块相关的页面的总数目。最后,使用第二页面号和多页面命令来访问第一页面。
在一实施例中,所述方法包括:获得识别第二页的第一规范的第三页面号;将第三页面号映射到也识别第二页面的第二规范的第四页面号;和使用第二页面号来访问第一页面并大体上同时使用第四页面号来访问第二页面。在此实施例中,访问第一页面并访问第二页面可包括将数据写入第一页面与第二页和从第一页与第二页擦除数据中的一个步骤。
对于多页面写入方法而言,不同区中的若干页面可被大体上立刻写入。将多页面分组,使得在快闪存储器的各个区中的一个页面可大体上被立刻写入,从而允许有效减少与总的读取与写入方法相关的时间量。通过有效地布局存储器,使得当用户试图将数据写入页面时,用户能够指定有效邻接的用户规范的页面号,使得由用户实现的对存储器的访问可有效发生。将用户规范的页面号转换或另外映射到实际页面号中允许执行多页面命令。当转换或映射有效发生时,可减少完成多页面写入方法需要的总时间量,从而增加包括快闪存储器的整个***的性能。因为以单个访问时间同时写入来自多区块的各区块的一个页面,所以通常将多页面写入操作的命令命名为″多区块编程″操作多区块。
根据本发明的另一个方面,在包括具有页面的区块的非易失性存储器内组织复数个区的方法包括:将第一规范的第一页面号分配到与第一区相关的第一页面;和将第二页面号分配到与第二区相关的第二页面。使用与包括在复数个区中的区的总数目和包括在第一区中的页面的总数目相关的信息,来排列第一页面号以将其转换成与第一页面相关的第一物理页面号,并排列第二页面号以将其转换成与第二页面相关的第二物理页面号。在一实施例中,与包括在复数个区中的区的总数目和包括在第一区中的页面的总数目相关的信息至少部分并入一数据结构中,例如一查找表。
根据本发明的另一个方面,能够使用共同命令来访问存储器元件的方法包括:使用第一规范的识别符来识别复数个存储器元件;和将第一规范的识别符转换成第二规范的识别符,其中所述存储器元件被分组成排列成区的组。第二规范的识别符对应于非易失性存储器内的存储器元件的实际位置。将第一规范的识别符转换成第二规范的识别符包括使用与区的总数目相关的信息、与包括在各个组中的存储器元件的总数目相关的信息和第一识别符。最后,所述方法包括使用共同命令来访问所述复数个存储器元件。
在一实施例中,使用与区的总数目相关的信息、与包括在各个组中的存储器元件的总数目相关的信息和第一识别符来将第一规范的识别符转换成第二规范的识别符的步骤包括将其编索引成包括与第二规范的识别符相关的信息的数据结构。在此实施例中,数据结构可为一查找表。在另一个实施例中,所述组可为区块且所述存储器元件可为物理页面。
在阅读下列详细描述并研究图式的各图后,本发明的此等和其它优点将变得显而易见。
附图说明
通过参考下列描述并结合附图可最佳理解本发明,其中:
图1a为包括一非易失性存储器的通用主机***的图解表示。
图1b为如图1a的存储器装置120的存储器装置的图解表示。
图1c为包括嵌入式非易失性存储器的主机***的图解表示。
图2a为根据本发明的一实施例的非易失性存储器内的区块的图解表示。
图2b为根据本发明的一实施例的被分组成区的如图2a的区块202的非易失性存储器内的区块的图解表示。
图3a为根据本发明的一实施例的非易失性存储器组件内的如图2b的区212的区的图解表示。
图3b为根据本发明的一实施例的被分组为多页面扇区的非易失性存储器组件内的页面的图解表示。
图4为根据本发明的一实施例的其中页面已被分配转换页面号的非易失性存储器内的区的图解表示。
图5为根据本发明的一实施例,将与非易失性存储器中的区块相关的转换页面号映射成实际物理页面号的映射的图解表示。
图6为根据本发明的一实施例的具有被分组成区和单元的转换页面号的复数个区块的图解表示。
图7为根据本发明的一实施例可用于促进多页面访问或编程操作的查找表的图解表示。
图8为说明与在诸如根据本发明的一实施例的***的非易失性存储器***内,执行多页面写入操作的一方法相关的步骤的方法流程图。
图9为说明与涉及使用根据本发明的一实施例的查找表的多页面写入方法相关的步骤的方法流程图。
图10为说明与在诸如根据本发明的一实施例的***的非易失性存储器***内,执行读取操作的一方法相关的步骤的方法流程图。
图11为说明与涉及使用根据本发明的一实施例的查找表的读取方法相关的步骤的方法流程图。
图12为根据本发明的一实施例的***架构的图解方框表示。
具体实施方式
减少诸如NAND快闪存储器的非易失性存储器中的读取、擦除或写入数据需要的开销量,能够改进包括非易失性存储器的整个***的性能。通常,可在任何给定时间(如,在对非易失性存储器的一个访问时间期间)访问非易失性存储器***中的单个页面。因为对写入一个页面的访问时间可从用于二进制快闪存储器的约250微秒(μs)到用于多级单元(MLC)快闪存储器的大于约一毫秒(ms)变化,所以多重写入方法可相对耗时,且因此不利地影响整个非易失性存储器***的性能。
为有效地减少在诸如非易失性存储器上执行操作(诸如,写入操作)所需要的时间量,即,为增加整个***内的写入速度,可在任何一个时间写入多个页面。即,可实施能够在一单一访问时间期间大体上写入一个页面以上的多页面写入操作。一般来说,能够进行多页面编程,以便可对多页面进行(诸如)写入或读取或擦除的编程,这样从而共同减少了与编程过程相关的时间量。举例来说,在大体上同时将数据写入到MLC快闪存储器中的四个页面中时,写入过程所使用的总时间量可从大于约4ms减少到约1ms。因此,写入操作可更有效地进行。
可从使用多页面命令将数据读取、擦除和写入到页面或区块中获益的快闪存储器***(或,更一般而言,非易失性存储器装置)一般包括快闪存储卡和芯片组。通常,快闪存储器***与主机***结合使用,使得主机***可将数据写入到快闪存储器***,或从其读取数据。然而,如下文关于图1c所论述,某些快闪存储器***包括嵌入式快闪存储器和在一主机上执行以大体上充当嵌入式快闪存储器的控制器的软件。参考图1a,下文将描述一包括非易失性存储器装置(例如,微型快闪存储卡)的通用主机***。主机或计算机***100一般包括一***总线104,其允许微处理器108、随机存取存储器(RAM)112和输入/输出电路116进行通信。应了解,主机***100一般可包括其它组件,例如,显示装置和连网装置,出于说明的目的而未加以图示。
一般来说,主机***100能够捕获包括(但不限于)静态图像信息、音频信息和视频图像信息在内的信息。所述信息可被实时捕获并可以无线方式传输到主机***100。虽然主机***100大体上可为任何***,但主机***100通常为诸如数码相机、摄像机、蜂窝通信装置、音频播放器或视频播放器的***。然而,应了解,通常主机***100大体上可为存储数据或信息和检索数据或信息的任何***。
主机***100也可为一仅捕获数据或仅检索数据的***。即,在一实施例中,主机***100可为一存储数据的专用***,或主机***100可为一读取数据的专用***。举例来说,主机***100可为被配置成仅读取或存储数据的存储写入器。或者,主机***100可为一诸如MP3播放器的装置,其通常被配置成读取或检索数据,且不捕获数据。
在一实施例中,非易失性存储器装置120为一可移除的非易失性存储器装置,其经配置以与总线104对接来存储信息。可选的接口块(interfaceblock)130可允许非易失性存储器装置120间接与总线104对接。如所述领域的技术人员所理解的,输入/输出电路块116(当存在时)用于减少总线104上的加载。非易失性存储器装置120包括非易失性存储器124与可选的存储器控制***128。在一实施例中,非易失性存储器装置120可在单个芯片或晶粒上实施。或者,非易失性存储器装置120可在多芯片模块或多个分立组件上实施,所述多芯片模块或多个分立组件可形成芯片组且可一起用作非易失性存储器装置120。下文将关于图1b来更详细地描述非易失性存储器装置120的一实施例。
配置非易失性存储器124(如,诸如NAND快闪存储器的快闪存储器)以存储数据,使得可按需要访问并读数据。尽管应理解非易失性存储器124中的某些数据可能不可擦除,但如果适当,存储在非易失性存储器124中的数据也可被擦除。存储数据、读取数据和擦除数据的方法一般由存储器控制***128或当不存在存储器控制***128时由微处理器108执行的软件来控制。可管理非易失性存储器124的操作,使得通过基本上使非易失性存储器124的扇区大体上被同等磨损而将非易失性存储器124的使用寿命最大化。
一般将非易失性存储器装置120描述为包括一可选的存储器控制***128,即,一控制器。通常,非易失性存储器装置120可包括用于非易失性存储器124和存储器控制***128(即,行使控制器功能)的独立芯片。举例来说,虽然包括(但不限于)PC卡、压缩快闪存储器卡、多媒体卡以及安全数字卡的非易失性存储器装置包括可在一单独芯片上实施的控制器,但其它非易失性存储器装置可以不包括在单独芯片上实施的控制器。如所述领域的技术人员将了解,在非易失性存储器装置120不包括单独的存储器和控制器芯片的一实施例中,存储器和控制器的功能可集成到一单个芯片中。或者,如上文所论述,例如,在非易失性存储器装置120不包括存储器控制器128的实施例中,存储器控制***128的功能性可由微处理器108来提供。
参看图1b,根据本发明的一实施例更详细地描述非易失性存储器装置120。如上文所述,非易失性存储器装置120包括非易失性存储器124并可包括存储器控制***128。在一实施例中,尽管当存储器124为一嵌入式NAND装置时,存储器124和控制***128(或控制器)可为非易失性存储器装置120的主组件,但(例如)非易失性装置120可不包括控制***128。存储器124可为一形成在半导体基板上的存储器单元的阵列,其中通过将电荷的两个或两个以上级中的一个存储在存储器单元的个别存储元件上存储来将一或一位以上的数据存储在个别存储器单元中。非易失性快闪存储器电可擦除可编程只读存储器(EEPROM)为用于所述***的常见类型存储器的一个实例。
当控制***128存在于非易失性存储器装置120内时,其经总线15与主机计算机或其它使用存储器***来存储数据的***进行通信。总线15一般为图1a的总线104的一部分。控制***128也控制存储器124的操作,其可包括一存储器单元阵列11以在运行存储器124时写入由主机所提供的数据、读取由主机所请求的数据并执行各种内务处理功能。控制***128一般包括一具有相关非易失性软件存储器、各种逻辑电路及其类似物的通用微处理器。还可包括一个或一个以上状态机以控制专用例行程序的性能。
在一实施例中,存储器单元阵列11可由控制***128或微处理器108经由地址解码器17来定址。在此实施例中,解码器17将合适电压施加到阵列11的门和位线,以将数据编程到由控制***128定址的存储器单元组、从其读取数据或执行擦除。额外电路19可包括编程驱动器,其根据编程到定址单元组中的数据而控制施加到阵列的元件的电压。电路19也可包括读出放大器和从定址存取器单元组读取数据所必需的其它电路。。尽管数据可替代地存储在其它缓冲存储器(未图示)中,但编程到阵列11中的数据或最近从阵列11读取的数据可存储在与控制***128相关的缓冲存储器21中。控制***128也可含有用于暂时存储命令和状态数据及其类似物的各种寄存器。
通常将阵列11通常划分成许多区块0-N存储器单元。如对于快闪EEPROM***常见的,所述区块可为最小的擦除单元。即,可配置各区块以含有待被一起擦除的最小数目的存储器单元。通常将各区块划分成许多页面。如所述领域的技术人员将了解,可认为一个页面是最小的编程单元。即,基本编程操作可将数据写入存储器单元的最小的一个页面中或从其读取数据。数据的一个或一个以上扇区可存储在各页面内。如图1b中所示,一个扇区包括用户数据和开销数据。开销数据通常包括一从所述扇区的用户数据计算得到的误差校正码(ECC)。当数据正被编程到阵列11中时,控制***15的一个部分23计算ECC,且当从阵列11读取数据时也检验ECC。或者,ECC可存储在与其附属的用户数据不同的页面或不同的区块中。
用户数据的一个扇区通常为512字节,其对应于磁盘驱动中扇区的大小。尽管应了解开销数据一般可包括任何数目的字节,但开销数据通常为额外的16字节。数据的一个扇区最常见包括于各页面中,但两个或两个以上的扇区可替代地形成一个页面。任何数目的页面一般可形成一个区块。举例来说,一个区块可由高达512、1024的八个页面或更多页面形成。通常选择区块的数目来为存储器***提供所要的数据存储容量。通常将阵列11划分成若干子阵列(未图示),各个子阵列含有所述区块的一部分,其在某种程度上彼此独立操作以增加各种存储器操作的执行中的并行度。美国专利第5,890,192号中描述了使用多个子阵列的一个实例,其全文以引用的方式并入本文中。
在一实施例中,将非易失性存储器嵌入到一***中,例如,主机***。图1c为包括嵌入式非易失性存储器的主机***的图解表示。主机或计算机***150一般包括一***总线154,其允许在主机***150的其它组件之中的微处理器158、RAM162和输入/输出电路166相通信。
非易失性存储器174(如,快闪存储器)允许信息存储在主机***150内。可在非易失性存储器174与总线154之间提供一接口180以能够从非易失性存储器174读取信息并将信息写入到其中。
非易失性存储器174可由微处理器158来管理,所述微处理器有效地执行被配置以控制非易失性存储器174的软件和固件的其中一者或两者。即,微处理器158可运行编码装置(未图示),即,软件编码装置或固件编码装置,其允许控制非易失性存储器174。所述编码装置可能够定址非易失性存储器174中的物理区块,且可能够将信息存储在物理区块中、从其读取并从其擦除,所述编码装置可为以CPU内部微处理器158封装的快闪存储器、单独快闪存储器ROM、或内部非易失性存储器174,下文将对其描述。
一般来说,当一用户写入数据时,所述用户有效地将数据写入到一媒体,例如,诸如快闪存储器卡或包括其中嵌入快闪存储器的***的非易失性存储器***。如所述领域的技术人员将了解,用户可指定其中将写入数据的区块或甚至页面。如上所述,通常将诸如图1a的非易失性存储器124或图1c的非易失性存储器174的非易失性存储器划分成区块。图2a为根据本发明的一实施例的非易失性存储器内的区块的图解表示。可将非易失性存储器划分成物理区块“0”到“N”202,其各个可与逻辑区块(未图示)相关。在所示实施例中,尽管应了解区块202可一般包括任何数目的页面(例如,六十四页),但各个区块202包括约三十二页。区块202的数目以及包括在区块202中的页面的数目一般取决于非易失性存储器的大小。
通常,区块202内的页面大体上是顺序的。即,如所示,可为非易失性存储器内的第一区块的区块“0”202a包括页0至31。非易失性存储器内的下一区块一般为区块“1”202b,其包括页面32-63。非易失性存储器内的区块202一般是顺序的,且区块202内的页面一般是顺序的。
如图2b所示,可将区块202分组成区。区块202可分组成区212的数目取决于对于读取方法、擦除方法或写入方法而言待访问的页面的数目,且因此可广泛变化。例如,区块202可分组成区的数目从当大体上同时访问两个页面的约两个区到在大体上同时访问约三十二个页面时的约三十二个区变化。
将区块202分组成四个区212。因此,每四个区块212被分组成一特定区212。举例来说,区块“0”202a和区块“4”202e包括在区“0”212a中,而区块“1”202b、区块“5”202h和区块“N-2”202k包括在区“1”212b中。更一般来说,具有四的倍数的区块数的区块202可包括在区“0”212a中,具有比四的倍数多一个的区块数的区块202可包括在区“1”212b中,具有比四的倍数多二个的区块数的区块202可包括在区“2”212c中,和具有比四的倍数少一个的区块数的区块202可包括在区“3”212d中。
图3a为根据本发明的一实施例的非易失性存储器组件内的区(如,图2b的区212)的图解表示。如所示,具有四的倍数的区块数的物理区块202在区“0”212a内有效对准,而具有比四的倍数多一个的区块数的区块202在区“1”212b内有效对准等等。应了解,区212可一般包括任何数目的区块202。通常,包括在各个区212中的区块202的数目取决于以下因素,其包括(但不限于)划分成区块202的非易失性存储器组件的整体大小、区212的数目和包括在各个块202中的页面数目。
一般可大体上同时访问各个区212中的单个页面,如作为多页面扇区,使得各个区212中的一个页面可在单个访问时间内被擦除或将其写入。即,如图3b所示,可使用诸如多区块或多页面程序命令来将具有相对于区212内的其各自区块的开始处的相同的页面偏移的物理页面302作为单元304来访问。为能够发生多页面写入,使得如多个连续页面的多页面大体上立刻全部被写入,可在单个访问时间内访问与各个区212相关的一个页面。举例来说,可大体上使用单个多区块程序命令来写入区“0”212a的页面“12”302a、区“1”212b的页面“44”302b、区“2”212c的页面“76”302c和区“3”212d的页面“108”302d。
一般来说,可通过使用多区块命令有效地访问的页面的数目可取决于将区块202分组成区212的数目。例如,如果存在四个区212,那么各个在不同区212中的四个页面可被分组成大体上同时访问的多页面扇区。或者,当存在八个区时,那么可使用多区块或多页面命令来访问与各区相关的一个页面,使得可大体上同时访问八个页面。如前所述,通过同时访问多个页面,可减少与诸如读取、擦除和写入操作的方法相关的时间量,因此增加了整体非易失性存储器***或快闪存储器***的性能。
在当立刻写入若干页面的多页面写入命令期间,通常需要对存储器的不同区中大体上连续的页面进行访问。因为待写入的页面被写入到不同区中且各个区通常具有其自身的数据高速缓冲存储器,所以用户数据的多个页面可转移到多个区的数据高速缓冲存储器。用户数据的多个页面可接着在单个访问时间内同时被编程到非易失性存储器中。
为促进用户(即,希望访问非易失性存储器***的非易失性存储器内的物理页面的个人)进行编程操作,与诸如图3b中所示的那些物理页相关的页面号可大体上转换成用户或转换页面号。页面号的转换可使得页面号以跨区的上升数字顺序来分配。图4为根据本发明的一实施例其中页面已被分配转换页面号的非易失性存储器内的区的图解表示。排列区412使得区“0”412a包括具有是区412的总数的倍数(如,四的倍数)的区块数420的区块402。类似地,区“1”412b包括具有比区412的总数的倍数多一个的区块数420的区块402,区“2”412c包括比区412的总数的倍数多两个的区块数的区块402,和区“3”412d包括具有比区412的总数的倍数多三个的区块数420的区块402。
可将区412内的区块402组织为具有单元数430的单元。单元数430有效地识别区412内的区块402的位置。例如,单元数“0”430a识别各个区412内的第一区块402。明确地说,区“0”412a的区块402a、区“1”412b的区块402b、区“2”412c的区块402c和区“3”412d的区块402d各个与单元数“0”430a相关。
如下文将相对于图5论述,虽然包括在区块402中的实际页面为具有实际页面号的物理页面,但使用用户或转换页面号能够使用户更容易地指定他或她希望访问的整体***内的页面,所述整体***支持在单个访问时间内对多于一个的页面进行访问。通常,当在多页面扇区中访问页面时,访问的页面与相同的单元数430相关。举例来说,当单元数“0”430a中的页面可通过使用多页面访问命令同时访问时。如前所述,单元数“0”430a包括各个区412的一个区块420。因此,可将来自各个区块420a-d的一个页面可作为单元数“0”430a内的多页面扇区的一部分来访问。
当用户指定他希望访问的转换页面号时,转换页面号一般被转换或另外映射成可由控制器固件或软件使用以访问适当页面的实际页面号。图5为根据本发明的一实施例的,将与非易失性存储器中的区块相关的转换页面号映射成实际物理页面号的映射的图解表示。当通过使用单个访问时间擦除或写入到多页面扇区530时,来自各个区412中的一个区块502的具有转换页面号504的一个页面一般包括在扇区530中。举例来说,当将在单个访问时间期间访问多页面扇区530时,控制器固件或软件通常将有效地访问具有转换页面号504的页面。
可将包括具有转换页面号504的多页面扇区530有效地映射成包括具有实际物理页面号504′的页面的多页面扇区530′,所述实际物理页面号504′对应于具有转换页面号504的页面。明确地说,当用户为读取、或写入的目的指定将访问的具有转换页面号504的页面时,,控制器固件或软件通常确定哪些具有实际页面号504′页面对应于具有转换页面号504的页面。举例来说,当多页面扇区530包括具有转换页面号为“8′”、“9′”、“10′”和“11′”的转换页面号504的页面时,控制器固件或软件可确定多扇区530对应于包括具有实际物理页面号分别为“2”、“34”、“66”和“98”的实际物理页面号504′的多页面扇区530′。换句话来说,将转换页面号“8”映射为实际物理页面号“2”,将转换页面号“9′”映射为实际物理页面号“34”,将转换页面号“10′”映射为实际物理页面号“66′”,并且将转换页面号“11′”映射为实际物理页面号“98”。
为将转换页面号映射成实际物理页面号,或更一般地,将第一规范的页面号映射成第二规范的页面号,可使用基于转换页面号的数学算法来确定实际物理页面号。如将参考图7所论述,在一实施例中,所述算法可包括使用查找表。一般来说,使实际物理页面号能够由给定转换页面号确定的算法或计算包括确定在包括具有所述转换页面号的页面的区块内的相关区数、相关单元数和位置或偏移。
参考图6,将根据本发明的一实施例来描述可用于通过使用转换页面号来确定实际页面号的公式。一般可将转换页面号(如,与诸如区块602a的页面604a的页面相关的转换页面号)表示为“P′”。如前所论述,非易失性存储器内的各个区块602可与表示为“Z”的区622和表示为“U”的单元630都相关。例如,包括页面616的区块602f可包括在区“1”622b和单元“1”630b中,而包括页面612的区块602d可包括在区“3”622d和单元“0”630a中。
如所示,非易失性存储器一般可包括任何数目的区622和单元630。另外,区块602的大小(即,区块602中的页面的数目)可广泛变化。为易于论述,区的总数可表达为“T_D”,且单元的总数可表达为“T_U”,而区块602中页面的总数可表达为“T_P”。通常,可认为区块602中区的总数“T_D”、单元的总数“T_U”和页面的总数“T_P”是与非易失性存储器相关的参数。
一般来说,非易失性存储器内的特定页面的转换页面号(例如,具有表示为“X”的相关转换页面号的页面616b)可如下识别:
X=(U*T_D*T_P)+(S*T_D)+Z
其中“S”表示含有与转换页面号“X”相关的页面的区块的开始处与转换页面号“X”的位置之间的偏移650或页面号。“S”的值可从约0到约“T_P-1”变化,而“Z”的值可约为“T_D-1”。即,可将大体上任何转换页面号表达为区622、单元630、偏移650、区的总数“T_D”、单元的总数“T_U”和区块602中的页面的总数“T_P”函数。对于其中区的总数“T_D”为4且各个区块602中的页面的总数为32的实施例而言,转换页面号“X”可如下识别:
X=(U*4*32)+(S*4)+Z
应理解,尽管转换页面号“X”显示为位于区块602f中的转换页面号,但转换页面号“X”一般可位于大体上任何区块中。
当转换页面号“X”已知时,可确定对应于转换页面号“X”的区“Z”622、单元“U”630和偏移“S”650。应了解,对应于转换页面号“X”的区“Z”622、单元“U”630和偏置“S”650也对应于映射到转换页面号“X”的实际物理页面号。换句话说,区“Z”622、单元“U”630和偏移“S”650对于转换页面号而言与其对于相应的实际物理页面号而言大体上相同。因而,一旦转换页面号“X”已知,且与转换页面号“X”相关的区“Z”622、单元“U”630和偏置“S”650已知,那么可确定实际页面号“P_N”。
给定转换页面号“X”,当“X”除以区的总数“T_D”时,可确定区“Z”622为余数,如通过使用诸如“MOD”运算符的余数运算符来确定。即,区“Z”622可如下表达为转换页面号“X”的函数:
Z=X%T_D
其中“%”为如所述领域的技术人员将了解的余数运算符。对应于转换页面号“X”的单元“U”630可如下表达为转换页面号“X”的函数:
U=X/(T_D*T_P)
一般来说,当单元“U”630计算为分数值时,单元“U”630的实际“值”可大体上通过下舍入到最近的整数值来确定。例如,如果区的总数“T_D”为4且页的总数“T_P”为32,如果转换页面号“X”为转换页面号“3”,那么通常将单元“U”确定为单元“0”630a。
也可通过使用下列表达式将与转换页面号“X”相关的偏移“S”确定为转换页面号“X”的函数:
S=(X/T_D)%T_P
当转换页面号“X”为转换页面号“3”时,区的总数“T_D”为4,且区块602中的页面的总数T_P为32,那么偏移“S”650可计算为零,即,转换页面号“3”为其相关区块中的第一页。类似地,当转换页面号“X”为转换页面号“8”时,区的总数“T_D”为4且区块602中的页面的总数“T_P”为32,那么偏移“S”650可计算为2,即转换页面号“8”为其相关区块中的第三页。
参考图6,对应于转换页面号“X”的实际物理页面号“P_N”可如下表达为参数与转换页面号“X”和因此区“Z”622、单元“U”630以及偏移“S”650的函数:
P_N=(U*T_D*T_P)+(Z*T_P)+S
或简化为:
P_N=S+(((U*T_D)+Z)*T_B)
在一实施例中,实际物理页面号“P_N”可大体上仅表达为转换页面号“X”和参数(即,区的总数“T_D”和区块602中的页面的总数“T_P”)的函数。即,通过替代“Z”与“S”来大体上排除“U”,实际物理页面号“P_N”也可计算为:
P_N=X+((X%T_D)*(T_P-1))-((X/T_D)%T_P)*(T_D-1)
使用以上表达式,可有效地排除对于“Z”622、单元“U”630和偏移“S”650的计算。
返回参考图5,如果非易失性存储器包括四个区412且各个区块502包括32个页面,当用户试图写入到页面504c时,即,当转换页面号为转换页面号“10”时,那么区“Z”可计算为:
Z=X%T_D=10%4=2
且单元“U”可计算为:
U=X/(T_D*T_P)=10/(4*32)=0
而偏移“S”可计算为:
S=(X/T_D)%T_B=(10/4)%32=2.5%32=2
即,如图5中所示,转换页面号“10”504c可计算为位于两个页面的偏移处的区“2”412c和单元“0”中。
当Z=2、U=0且S=2时,那么实际物理页面号“P_N”可如下确定:
P_N=S+(U*T_D+Z)*T_P=2+(0*4+2)*32=66
因而,转换页面号“10”对应于实际物理页面号“66”。或者,实际页面号“P_N”也可如下计算:
P_N=X+((X%T_D)*(T_P-1))-((X/T_D)%T_P)*(T_D-1)=10+((10%4)*(32-1))-((10/4)%32)*(4-1)=66
尽管可在大体上任何时间执行涉及关于图6的上述公式的计算,但是当认为与所述计算相关的开销过多时,用户发布一个命令以读取或写入非易失性存储器(诸如,NAND快闪存储器)中的页面,接着可以通过使用诸如查找表的数据结构来有效地简化计算。举例来说,尽管与执行识别实际物理页面的位置的页面号的计算相关的开销一般并不显著,但当存储器空间允许实施存储在控制器固件或软件中的相对较小的数据结构时,可以简化所执行的计算,并且可以进一步减少开销。因此,在许多状况下,可以进一步改进多页面写入方法的性能。应了解,当查找表太大时,例如占用多于约512字节并且认为占用了控制器固件或软件中太多的空间时,那么可如上文关于图6所论述的不使用查找表来执行将转换页面号转换成实际页面号的计算。换句话说,一般可基于适当查找表的预期大小,确定是否应执行计算来替代访问查找表。
可计算查找表并将其存储在控制器固件或软件中,使得当需执行映射以有效地将转换页面号转换成实际物理页面号时,可访问查找表以获取映射信息。图7为根据本发明的一实施例可用于促进多页面访问或程序操作的查找表的图解表示。一般来说,查找表750中输入项(entry)的数目可至少部分取决于非易失性存储器的单元中的页面的数目。举例来说,可排列各个输入项以占用一个字节,且与表相关的字节的数目可取决于单元中的页面的数目。举例来说,当非易失性存储器包括各包括三十二个页面并被分组成四个区的区块时,那么各个单元可包括四个区块。因而,与各个单元相关的页面的数目为128,且输入项的数目和因此查找表750所占用的字节可约为128。查找表输入项的数目可有效地表达为:
Number_Of_Entries=T_D*T_P
为易于论述,查找表750包括各对应于区块的第一单元内的页面的128个输入项。然而,一般来说,输入项的数目可根据区的数目T_D和因此一个单元中的区块的数目以及包括在单元中的区块的大小T_P而变化。可增加或有效地编码查找表750,使得用于通过与第一单元中的最后页面相关的转换页面号(如,转换页面号“127”)来映射转换页面号“0”的输入项可以有效地显示在查找表750中。
一般来说,可以使用下列表达式来增加查找表750:
Table_Entry_Value[P′(Z,S)]=(Z*(T_P-1))-(S*(T_D-1)
其中Table_Entry_Value是存储在查找表750中的一个输入项中的值,区“Z”是与转换页面号“P′”相关的页面所位于的区,且“S′”是在含有所述页面的一个区块内、与转换页面号“P”相关的页面所位于的偏移。接着可将Table_Entry_Value放置在由下列表达式所识别的表位置中:
Table_Entry_Value[P′]=P′%(T_D*T_P)
举例来说,在其中存在四个区且各个区块含有三十二个页面的***中,转换页面号“4′”与偏移“1”处的区“0”相关。因此,可计算转换页面号“4′”以与查找表750中的输入项值“-3”相关。接着可将输入项值“-3”存储在表输入项位置“4”754中。
可以通过使用查找表750如下确定对应于转换页面号“P′”的实际页面号:
Actual_Page_Number=P′+TABLE[P′%(T_D*T_P)]
其中表[]为对应于转换页面号“P′”的存储在表输入项中的值。因此,也可使用下列表达式来确定对应于转换页面号“P′”的实际页面号:
Actual_Page_Number=P′+(P′%T_D)*(T_P-1)-((P′/T_D)%T_P)*(T_D-1)
因而,在其中存在四个区且各个区块含有三十二个页面的***中,可将转换页面号“4′”映射到实际页面号“1”。因此,在将转换页面号“4”至“7”写入为所述***内的多页面扇区情况下,查找表750,或更明确地查找表的输入项754、756、758和760可用于确定在一个访问时间内实际的非连续物理页面“1”、“33”、“65”和“97”被分别写入为多页面扇区。
当在控制器固件或软件中实施(如,计算和存储)查找表750或大体上任何类似数据结构时,实际物理页面号的计算有效地为一具有最小计算量的相对较快的表查找。因此,可诸如多页面写如命令的多页面访问操作可相对有效地发生。
参考图8,将根据本发明的一实施例来描述与在非易失性存储器***(诸如,包括MLC快闪存储器的***)内执行多页面写入操作一方法相关的步骤。执行多页面写入操作的方法800以步骤804开始,其中用户通过使用用户页规范或转换页面号来提供将写入到非易失性存储器内的页面中的数据。在一实施例中,用户可在数据被输入到不同区中时发布一系列数据输入命令,且控制器固件可在输入仍被输入到不同区中时,发布诸如11H伪程序命令的伪程序命令大体上响应各数据输入命令,如在可从SanDisk Corporationof Sunnyvale,California购得的“512Mbit NAND Flash Product Manual”Rev.1.5,2001年8月中所述,其以引用的方式并入本文中。在步骤808中,一旦用户提供待写入的数据,那么可运行算法,或更一般地可执行计算以有效地将转换页面号映射成实际页面号。先前已经参考图6论述了可执行的适当计算。
在步骤812中,在运行映射计算后,用户页面或转换页面号被映射或另外转换成实际物理页面号。接着,在步骤816中,通过使用多页面程序命令或写入方法将待写入的数据写入到非易失性存储器***的实际物理页面或媒体中。换句话说,物理页的多页面扇区是在大约一个访问时间被写入的。多页面编程命令可包括一高速缓冲存储器程序命令,例如,15H高速缓冲存储器程序命令,其引起物理编程的发生。一旦页面被写入,那么执行多页面写入操作的方法就完成了。
如上文关于图7所论述,为替代执行复数个计算以将用户或转换页面号映射成实际物理页面号,可使用查找表以促进将转换页面号映射成实际物理页面号。图9为说明与涉及使用根据本发明的一实施例的查找表的多页面写入方法相关的步骤的方法流程图。执行多页面写操作的过程900以步骤904开始,其中用户通过使用用户或转换页面号来提供待写入的数据。接着,在步骤908中,例如控制器固件或软件使用所述转换页面号以通过访问诸如图7的查找表750的查找表来确定对应于转换页面号的实际物理页面号。在步骤912中,一旦确定转换页面号与其相应实际页面号之间的映射,那么将通过使用多页面或多区块程序命令而将数据写入到实际页面中。在数据被写入到实际页面中后,写入数据的过程完成。
如前所述,除程序或写入过程外,多页面或多区块命令可用于使多页面或多区块能够被擦除。一般来说,所发生的读取使用多页面或多区块命令而已写入的页面的读取操作可变化。参考图10,将根据本发明的一实施例来描述与一读取过程相关的步骤。执行一读取操作的过程1000以步骤1004开始,其中用户使用一用户规范或转换页面号(从其中读取数据)来规定非易失性存储器内的页面。在步骤1008中,一旦规定了从其中读取数据的已转换页面号,可运行一算法,或更一般而言,可执行计算以有效地将已转换页面号映射成实际物理页面号。例如上文已参考图6论述了可执行的适当计算。
在步骤1012中,在运行映射计算后,用户页面或已转换页面号被映射或另外转换成实际物理页面号。接着,在步骤1016中,使用一读取命令从一非易失性存储器***的实际物理页面中读取将要读取的数据。一旦数据被从所述页面中读取,执行读取操作的过程即完成。
如同执行多页面写入操作的状况,查找表可用于方便将已转换页面号映射成实际页面号作为读取操作的一部分。图11为说明与涉及使用根据本发明的一实施例的查找表的读取过程相关的步骤的流程图。执行读取操作的过程1100以步骤1004开始,其中用户提供含有用户希望读取或另外访问的用户或已转换页面号。在步骤1008中,可通过访问诸如图7的查找表750的一查找表来确定对应于已转换页面号的实际物理页面号。在步骤1012中,在对应于已转换页面号的实际页面号被确定后,从实际页获得或读取数据。一旦数据被读取,读取数据的过程即完成。
一般来说,在软件中提供与能够执行多页面编程命令并能够将已转换页面号映射成实际页面号相关的功能性,如作为程序编码装置,或作为主机***的固件。在图12中显示了与根据本发明的一实施例提供到主机***的软件或固件相关的适当***架构的一实施例。***架构700一般包括多种模块,所述模块可包括(但不限于)应用接口模块704、***管理器模块708、数据管理器模块712、数据完整性管理器716和装置管理器与接口模块720。一般来说,可使用软件编码装置或可由处理器(例如,图1a的处理器108)访问的固件来实施***架构700。
一般来说,可配置应用界面模块704以与主机、操作***或用户直接相通信。应用界面模块704页也可与***管理器模块708和数据管理器模块712相通信。当用户想要读取、写入或格式化快闪存储器时,用户向操作***发送请求,所述请求会传递到应用界面模块704。根据请求,应用界面模块704将所述请求引导到***管理器模块708或数据管理器模块712。
***管理器模块708包括一***初始化子模块724、一擦除计数区块管理子模块726、和一功率管理区块子模块730。一般配置***初始化子模块724以能够处理初始化请求,并通常与擦除计数区块管理子模块726相通信。
除与应用界面模块704相通信外,***管理器模块708也与数据管理器模块712以及装置管理器和界面模块720相通信。与***管理器模块708和应用界面模块704都通信的数据管理器模块712可包括提供页面或区块映射的功能性。数据管理器模块712也可包括与操作***和文件***界面层相关的功能性。
与***管理器模块708、数据管理器712和数据完整性管理器716相通信的装置管理器和界面模块712通常提供一快闪存储器界面,并包括与例如I/O界面的硬件抽象相关的功能性。在其它功能中,数据完整性管理器模块716提供ECC处理。
尽管仅描述了本发明的一些实施例,但应理解,可在不脱离本发明的精神或范畴的情况下以许多其它特定形式体现本发明。举例来说,一般将诸如将转换页面号映射成实际页面号的多页面写入或多区块擦除操作的多页面操作描述为适用于相对于MLC NAND快闪存储器使用。然而,应了解,可相对于大体上任何适当非易失性存储器(如,二进制NAND快闪存储器)来实施所述技术和方法以增加读取、写入和擦除方法可发生的效率,。
查找表一般可包括大体上任何数目的输入项。例如,当单元中的页面的数目很少且当非易失性存储器组件中几乎不包括单元时,查找表可包括所有值,使得需要进行大体上最小量的计算以确定对应于转换页面号的实际页面号。
快闪存储器的大小和快闪存储器内区块的大小可广泛变化。尽管区块的大小一般描述为包括约三十二个页面,但区块可包括任何数目的页面,或更一般地包括组成区块的任何数目的元件。例如,区块可包括约六十四个元件或页面。因此,***内的区块的数目可变化。在512Mb二进制NAND快闪存储器中,如果区块包括各含有约512字节的约三十二个页面,那么在快闪存储器中存在共4096个物理区块。或者,在512Mb MLC NAND快闪存储器内,如果各物理区块包括各含有约512字节的约六十四个页面,那么在快闪存储器中可存在共2048个物理区块。一般来说,页面的大小也可变化。
与本发明的各种方法相关的步骤可广泛变化。一般来说,可添加、移除、记录和改变步骤。因此,可认为所述实例是说明性的而非限制性的,且本发明不限于本文给出的细节,但可在上述权利要求的范畴内进行修改。
Claims (47)
1.一种用于执行一多页面命令的方法,所述方法包含:
获得一第一页面号,所述第一页面号为一第一规范,所述第一页面号经排列以识别一与一非易失性存储器相关的第一页面;
将所述第一页面号映射到一第二页面号,所述第二页面号为一第二规范,所述第二页面号经排列以识别所述第一页面,其中将所述第一页面号映射到所述第二页面号包括识别与所述非易失性存储器相关的区的总数和与区块的总数的每一个块相关的页面的总数;和
使用所述第二页面号和所述多页面命令来访问所述第一页面。
2.根据权利要求1所述的方法,其进一步包括:
获得一第三页面号,所述第三页面号为所述第一规范,所述第三页面号经排列以识别一与一非易失性存储器相关的第二页面;
将所述第三页面号映射到一第四页面号,所述第四页面号为所述第二规范,所述第四页面号排列以识别所述第二页面;和
使用所述第二页面号来访问所述第一页面,并大体上同时使用所述第四页面号来访问所述第二页面。
3.根据权利要求2所述的方法,其中访问所述第一页面和访问所述第二页包括将数据写入到所述第一页面和所述第二页面。
4.根据权利要求2所述的方法,其中所述第一页面包括在一第一区中,且所述第二页面包括在一第二区中。
5.根据权利要求1所述的方法,其中将所述第一页面号映射到所述第二页面号进一步包括识别一所述第一页面所位于的区。
6.根据权利要求5所述的方法,其中将所述第一页面号映射到所述第二页面号还进一步包括识别一所述第一页面所位于的区块并确定所述第一页面从所述区块的一开始处的一偏移。
7.根据权利要求1所述的方法,其中所述非易失性存储器为一NAND快闪存储器。
8.根据权利要求7所述的方法,其中所述NAND快闪存储器为一MLC NAND快闪存储器。
9.一种用于执行一多页面命令的方法,所述方法包含:
获得一第一页面号,所述第一页面号为一第一规范,所述第一页面号经排列以识别一与一非易失性存储器相关的第一页面;
将所述第一页面号映射到一第二页面号,所述第二页面号为一第二规范,所述第二页面号经排列以识别所述第一页面,其中将所述第一页面号映射到所述第二页面号包括使用一第一值将其编索引成一数据结构,所述第一值是通过使用所述第一页面号来确定的,所述数据结构将排列以含有映射信息;和
使用所述第二页面号和所述多页面命令来访问所述第一页面。
10.根据权利要求9所述的方法,其进一步包括:
获得一第三页面号,所述第三页面号为所述第一规范,所述第三页面号经排列以识别一与所述非易失性存储器相关的第二页面;
将所述第三页面号映射到一第四页面号,所述第四页面号为所述第二规范,所述第四页面号经排列以识别所述第二页面,其中将所述第三页面号映射到所述第四页面号包括使用一第二值将其编索引成所述数据结构,所述第二值是使用所述第三页面号确定的;和
使用所述第二页面号来访问所述第一页面,并大体上同时使用所述第四页面号来访问所述第二页面。
11.根据权利要求10所述的方法,其中访问所述第一页面并访问所述第二页面包括将数据写入到所述第一页面和所述第二页面。
12.根据权利要求10所述的方法,其中所述第一页面包括在一第一区中并且所述第二页包括在一第二区中。
13.根据权利要求9所述的方法,其中所述非易失性存储器为一NAND快闪存储器。
14.根据权利要求13所述的方法,其中所述NAND快闪存储器为一MLC NAND快闪存储器。
15.一种用于在一非易失性存储器内组织复数个区的方法,所述复数个区各包括至少一个区块,所述复数个区的每一个区中的所述至少一个区块包括复数个页面,所述方法包含:
将一第一页面号分配给一与所述复数个区的一第一区相关的第一页面,所述第一页面号为一第一规范;和
将一第二页面号分配给一与所述复数个区的一第二区相关的第二页面,其中使用与包括在所述复数个区中的区的总数和包括在所述第一区中页面的总数相关的信息来排列所述第一页面号以将其转换成一与所述第一页面相关的第一物理页面号,并排列所述第二页面号以将其转换成一与所述第二页面相关的第二物理页面号。
16.根据权利要求15所述的方法,其中与包括在所述复数个区中的区的所述总数和包括在所述第一区中的页面的所述总数相关的所述信息至少部分并入到一数据结构中。
17.根据权利要求15所述的方法,其中所述第二页面号大体上相对于所述第一页面号为顺序。
18.根据权利要求15所述的方法,其中排列所述第一页面和所述第二页面以通过使用一单一多页面命令来对其进行访问。
19.根据权利要求18所述的方法,其中所述单个多页面命令为一多页面写命令,其经排列以使用所述第一物理页面号和所述第二物理页面号将数据写入到所述第一页面和所述第二页面中。
20.一种***,其包含:
一非易失性存储器,所述非易失性存储器包括复数个页面,所述复数个页面被排列在复数个区块中,所述复数个区块被排列在复数个区中,所述复数个页面包括一第一页面;
用于获取一第一页面号的编码装置,所述第一页面号为一第一规范,所述第一页面号经排列以识别所述第一页面;
用于将所述第一页面号映射到一第二页面号的编码装置,所述第二页面号为一第二规范,所述第二页面号经排列以识别所述第一页面,其中用于将所述第一页面号映射到所述第二页面号的所述编码装置包括用于识别所述区的总数和与所述区块的总数的每一区块相关的所述复数个页面的总数的编码装置;
用于使用所述第二页面号来访问所述第一页面的编码装置;和
一用于存储所述编码装置的存储器。
21.根据权利要求20所述的***,其进一步包括:
用于获得一第三页面号的编码装置,所述第三页面号为所述第一规范,所述第三页面号经排列以识别所述复数个页面的一第二页面;
用于将所述第三页面号映射到一第四页面号的编码装置,所述第四页面号为所述第二规范,所述第四页面号经排列以识别所述第二页面;和
用于通过使用所述第二页面号来访问所述第一页面且大体上同时使用所述第四页面来访问所述第二页面的编码装置。
22.根据权利要求21所述的***,其中用于访问所述第一页面并访问所述第二页面的所述编码装置包括用于将数据写入到所述第一页面和所述第二页面的编码装置。
23.根据权利要求21所述的***,其中所述第一页面包括在一第一区中且所述第二页面包括在一第二区中。
24.根据权利要求20所述的***,其中用于将所述第一页面号映射到所述所述第二页面号的所述编码装置进一步包括用于识别一所述第一页面所位于的区的编码装置。
25.根据权利要求24所述的***,其中将所述第一页面号映射到所述第二页面号还进一步包括识别一所述第一页所位于的区块,并确定所述第一页面从所述区块的一开始处的一偏移。
26.根据权利要求20所述的***,其中所述非易失性存储器为一MLCNAND快闪存储器。
27.一种***,其包含:
一非易失性存储器,所述非易失性存储器包括一第一页面;
用于维持一数据结构的编码装置,所述数据结构经排列以包含映射信息;
用于获得一第一页面号的编码装置,所述第一页面号为一第一规范,所述第一页面号经排列以识别所述第一页面;
用于将所述第一页面号映射到一第二页面号的编码装置,所述第二页面号为一第二规范,所述第二页面号经排列以识别所述第一页面,其中将所述第一页面号映射到所述第二页面号包括使用一第一值将其编索引成所述数据结构,所述第一值是使用所述第一页面号确定的;
用于使用所述第二页面号来访问所述第一页面的编码装置;和
一用于存储所述编码装置和所述数据结构的区域。
28.根据权利要求27所述的***,其进一步包括:
用于获得一第三页面号的编码装置,所述第三页面号为所述第一规范,所述第三页面号经排列以识别一包括在所述非易失性存储器中的第二页面;
用于将所述第三页面号映射到一第四页面号的编码装置,所述第四页面号为所述第二规范,所述第四页面号经排列以识别所述第二页面,其中用于将所述第三页面号映射到所述第四页面号的编码装置包括使用一第二值将其编索引成所述数据结构的编码装置,所述第二值是使用所述第三页面号确定的;和
用于使用所述第二页面号来访问所述第一页面并大体上同时使用所述第四页面号来访问所述第二页面的编码装置。
29.根据权利要求28所述的***,其中用于访问所述第一页面并访问所述第二页面的所述编码装置包括用于将数据写入到所述第一页面和所述第二页面的编码装置。
30.根据权利要求28所述的***,其中所述第一页面包括在一第一区中,且所述第二页面包括在一第二区中。
31.根据权利要求27所述的***,其中所述非易失性存储器为一MLCNAND快闪存储器。
32.一种用于在一非易失性存储器内组织复数个区的***,所述复数个区各包括至少一个区块,所述复数个区的每一个区中的所述至少一个区块包括复数个页面,所述***包含:
用于将一第一页面号分配到一与所述复数个区的一第一区相关的第一页面的编码装置,所述第一页面号为一第一规范;
用于将一第二页面号分配到一与所述复数个区的一第二区相关的第二页面的编码装置,其中使用与包括在所述复数个区中的区的总数和包括在所述第一区中的页面的总数相关的信息来排列所述第一页面号以将其转换成一与所述第一页面相关的第一物理页面号,并排列所述第二页面号以将其转换成一与所述第二页面相关的第二物理页面号;和
一用于存储所述编码装置的存储器。
33.根据权利要求32所述的***,其进一步包括用于使用一单个多页面命令来促成访问所述第一页面和所述第二页面的编码装置。
34.一种用于执行一多页面命令的***,所述***包含:
用于获得一第一页面号的构件,所述第一页面号为一第一规范,所述第一页面号经排列以识别一与一非易失性存储器相关的第一页面;
用于将所述第一页面号映射到一第二页面号的构件,所述第二页面号为一第二规范,所述第二页面号经排列以识别所述第一页面,其中用于将所述第一页面号映射到所述第二页面号的所述构件包括用于识别与所述非易失性存储器相关的区的总数和与区块的总数的各区块相关的页面的总数的构件;和
用于通过使用所述第二页面号来访问所述第一页面的构件。
35.根据权利要求34所述的***,其进一步包括:
用于获得一第三页面号的构件,所述第三页面号为所述第一规范,所述第三页面号经排列以识别一与一非易失性存储器相关的第二页面;
用于将所述第三页面号映射到一第四页面号的构件,所述第四页面号为所述第二规范,所述第四页面号经排列以识别所述第二页面;和
用于使用所述第二页面号来访问所述第一页面并大体上同时使用所述第四页面号来访问所述第二页面的构件。
36.根据权利要求34所述的***,其中所述非易失性存储器为一MLCNAND快闪存储器。
37.一种用于执行一多页面命令的***,所述***包含:
用于获得一第一页面号的构件,所述第一页面号为一第一规范,所述第一页面号经排列以识别一与一非易失性存储器相关的第一页面;
用于将所述第一页面号映射到一第二页面号的构件,所述第二页面号为一第二规范,所述第二页面号经排列以识别所述第一页面,其中用于将所述第一页面号映射到所述第二页面号的所述构件包括用于使用一第一值将其编索引成一数据结构的构件,所述第一值是使用所述第一页面号确定的,所述数据结构经排列以包含映射信息;和
用于使用所述第二页面号来访问所述第一页面的构件。
38.根据权利要求37所述的***,其进一步包括:
用于获得一第三页面号的构件,所述第三页面号为所述第一规范,所述第三页面号经排列以识别一与所述非易失性存储器相关的第二页面;
用于将所述第三页面号映射到一第四页面号的构件,所述第四页面号为所述第二规范,所述第四页面号经排列以识别所述第二页面,其中用于将所述第三页面号映射到所述第四页面号的所述构件包括用于使用一第二值将其编索引成所述数据结构的构件,所述第二值是使用所述第三页面号确定的;和
用于使用所述第二页面号来访问所述第一页面并大体上同时使用所述第四页面号来访问所述第二页面的构件。
39.根据权利要求37所述的***,其中所述非易失性存储器为一MLCNAND快闪存储器。
40.一种用于使用一共同命令使得能够访问复数个存储器元件的方法,所述复数个存储器元件在一非易失性存储器内被划分成复数个组,所述复数个组被排列在复数个区中,所述方法包含:
使用一第一规范的多个识别符来识别所述复数个存储器元件;
大体上将所述第一规范的所述识别符转换成所述第二规范的多个识别符,所述第二规范的所述识别符经排列以对应于所述非易失性存储器内的所述复数个存储器元件的实际位置,其中将所述第一规范的所述识别符转换成所述第二规范的多个识别符包括使用与包括在复数个区中区的总数相关的信息、与包括在所述复数个组的各组中的存储器元件的总数相关的信息和所述第一识别符;和
使用所述共同命令来访问所述复数个存储器元件。
41.根据权利要求40所述的方法,其中排列识别包括在所述复数个区的一第一区中的所述复数个存储器元件的一第一存储器元件的所述第一规范的一第一识别符以具有一第一值,并排列识别包括在所述复数个区的一第二区中的所述复数个存储器元件的一第二存储器元件的所述第一规范的一第二识别符以具有一第二值,其中所述第二值为增加一值1的所述第一值。
42.根据权利要求41所述的方法,其中所述第一页面不直接物理连续于所述第二页面。
43.根据权利要求40所述的方法,其中使用所述共同命令访问所述复数个存储器元件包括使用大体上所述共同命令的一单个实例将数据写入到所述复数个存储器元件与使用大体上所述共同命令的所述单个实例从所述存储器元件擦除数据中的一个。
44.根据权利要求40所述的方法,其中使用与包括在所述复数个区中的区的所述总数相关的所述信息、与包括在所述复数个组的各组中存储器元件的总数相关的所述信息和所述第一识别符将所述第一规范的所述识别符转换成所述第二规范的识别符包括将其编索引成一包括与所述第二规范的所述识别符相关的信息的数据结构。
45.根据权利要求40所述的方法,其中使用与包括在所述复数个区中区的的所述总数相关的所述信息、与包括在所述复数个组的各组中的存储器元件的总数相关的所述信息和所述第一识别符来将所述第一规范的所述识别符转换成所述第二规范的识别符包括:
执行一计算,所述计算经布置以确定对应于所述第一规范的一第一识别符的所述第二规范的一第二识别符,其中所述计算使用与包括在所述复数个区中的区的所述总数相关的所述信息、与包括在所述复数个组的每一组中的存储器元件的总数相关的所述信息。
46.根据权利要求40所述的方法,其中所述复数个组为复数个区块,且所述复数个存储器元件为复数个物理页面。
47.根据权利要求40所述的方法,其中所述非易失性存储器为一NAND快闪存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28180402A | 2002-10-28 | 2002-10-28 | |
US10/281,804 | 2002-10-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1703678A true CN1703678A (zh) | 2005-11-30 |
Family
ID=32228774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03825519 Pending CN1703678A (zh) | 2002-10-28 | 2003-09-10 | 在非易失性存储器***中执行多页面写入操作的方法和设备 |
Country Status (4)
Country | Link |
---|---|
CN (1) | CN1703678A (zh) |
AU (1) | AU2003268564A1 (zh) |
TW (1) | TWI272481B (zh) |
WO (1) | WO2004040454A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010000206A1 (en) * | 2008-07-03 | 2010-01-07 | Silicon Motion, Inc. | Data storing methods and apparatus thereof |
US8065468B2 (en) | 2008-07-03 | 2011-11-22 | Silicon Motion, Inc. | Data storing methods and apparatus thereof |
CN101620513B (zh) * | 2008-07-03 | 2012-08-22 | 慧国(上海)软件科技有限公司 | 资料储存方法及其储存装置 |
CN104126177B (zh) * | 2011-12-30 | 2017-08-25 | 桑迪士克科技有限责任公司 | 预交错顺序数据的***及方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2880152B1 (fr) * | 2004-12-24 | 2007-03-02 | Trusted Logic Sa | Procede et systeme pour l'optimisation de la gestion de fichiers a enregistrements |
DE102005001038B3 (de) * | 2005-01-07 | 2006-05-04 | Hyperstone Ag | Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern |
JP4547028B2 (ja) * | 2005-08-03 | 2010-09-22 | サンディスク コーポレイション | ブロック管理を伴う不揮発性メモリ |
KR101146059B1 (ko) * | 2006-07-31 | 2012-05-14 | 가부시끼가이샤 도시바 | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템을 위한데이터 판독/기입 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3105092B2 (ja) * | 1992-10-06 | 2000-10-30 | 株式会社東芝 | 半導体メモリ装置 |
US7020739B2 (en) * | 2000-12-06 | 2006-03-28 | Tdk Corporation | Memory controller, flash memory system having memory controller and method for controlling flash memory device |
-
2003
- 2003-09-10 CN CN 03825519 patent/CN1703678A/zh active Pending
- 2003-09-10 WO PCT/US2003/028195 patent/WO2004040454A2/en not_active Application Discontinuation
- 2003-09-10 AU AU2003268564A patent/AU2003268564A1/en not_active Abandoned
- 2003-09-18 TW TW92125783A patent/TWI272481B/zh not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010000206A1 (en) * | 2008-07-03 | 2010-01-07 | Silicon Motion, Inc. | Data storing methods and apparatus thereof |
US8065468B2 (en) | 2008-07-03 | 2011-11-22 | Silicon Motion, Inc. | Data storing methods and apparatus thereof |
CN101620513B (zh) * | 2008-07-03 | 2012-08-22 | 慧国(上海)软件科技有限公司 | 资料储存方法及其储存装置 |
CN104126177B (zh) * | 2011-12-30 | 2017-08-25 | 桑迪士克科技有限责任公司 | 预交错顺序数据的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2004040454A2 (en) | 2004-05-13 |
TW200424846A (en) | 2004-11-16 |
WO2004040454A3 (en) | 2004-10-28 |
TWI272481B (en) | 2007-02-01 |
AU2003268564A8 (en) | 2004-05-25 |
AU2003268564A1 (en) | 2004-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7254668B1 (en) | Method and apparatus for grouping pages within a block | |
TWI516923B (zh) | 於一非揮發性記憶體陣列中同時進行背景及前景操作之方法及系統 | |
CN1701390A (zh) | 跟踪非易失性存储器***中最频繁擦除区块 | |
CN1701389A (zh) | 维持非易失性存储***中的平均擦除计数 | |
JP5005171B2 (ja) | 論理ブロックをスプリットする方法および装置 | |
JP4960882B2 (ja) | クラスタ自動位置合わせ | |
CN1698036A (zh) | 跟踪非易失性存储器***中最不频繁擦除区块 | |
CN1701308A (zh) | 维护非易失性存储***中的擦除计数 | |
CN1701307A (zh) | 管理擦除计数区块的方法和设备 | |
CN1918552A (zh) | 基于主机使用特性的快闪存储器地址映射的适应性模式切换 | |
CN1701309A (zh) | 非易失性存储***中的损耗平衡 | |
CN1720590A (zh) | 非易失性存储***中的自动磨损平衡 | |
CN1930635A (zh) | 对多个区块进行适应性确定群组以成为多个多区块单元 | |
CN1702776A (zh) | 存储卡、半导体装置和半导体存储器的控制方法 | |
CN1677571A (zh) | 非易失性存储设备 | |
CN1924831A (zh) | 非易失性存储器***及操作非易失性存储器***的方法 | |
JP2004164633A (ja) | 不揮発性メモリシステム内においてアウトオブシーケンス書き込みプロセスを効果的に可能にするための方法および装置 | |
CN1652253A (zh) | 存储卡和半导体器件 | |
CN1248335A (zh) | 闪速存储器*** | |
CN1873619A (zh) | 存储装置 | |
KR20090004157A (ko) | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 | |
CN101069163A (zh) | 存储器***以及写入非易失性半导体存储器中的方法 | |
CN1149487C (zh) | 一并擦除型非易失性存储器和快速存储器的控制方法 | |
CN1637724A (zh) | 用于闪速存储器的数据管理装置和方法 | |
CN1236386C (zh) | 存储器件及存储控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20051130 |