存储器装置机器操作方法.pdf

上传人:1*** 文档编号:623151 上传时间:2018-02-26 格式:PDF 页数:16 大小:1.92MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310567981.3

申请日:

2013.11.14

公开号:

CN104102456A

公开日:

2014.10.15

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 3/06申请日:20131114|||公开

IPC分类号:

G06F3/06; G06F12/06; G06F13/16

主分类号:

G06F3/06

申请人:

旺宏电子股份有限公司

发明人:

张育铭; 李永骏; 卢星辰; 李祥邦; 王成渊; 张原豪; 郭大维

地址:

中国台湾新竹科学工业园区力行路16号

优先权:

2013.04.15 US 61/811,821; 2013.09.04 US 14/018,149

专利代理机构:

中科专利商标代理有限责任公司 11021

代理人:

任岩

PDF下载: PDF下载
内容摘要

本发明公开了一种存储器装置机器操作方法,针对一阵列的存储单元的阵列,包括在此阵列中的存储单元的可擦除区块,提供一种区块擦除操作的方法。此方法包括维持此阵列的可擦除区块的多个子区块的状态数据。状态数据表示子区块目前是否可存取的以及子区块是否失效。此方法包括,回应于一项擦除一特定可擦除区块的一选定子区块的请求,如果特定可擦除区块的其他子区块是失效的,则发布一擦除命令以擦除特定区块,否则更新状态数据以表示选定子区块是失效的。

权利要求书

1.  一种存储器的操作方法,包括:
针对一存储单元的阵列,维持多个可擦除区块的多个子区块的状态数据,该存储单元的阵列包括在该阵列中的存储单元的这些可擦除区块,该状态数据指示这些子区块目前是否可存取以及这些子区块是否失效;及
回应于擦除一特定可擦除区块的一选定子区块的一请求,基于该特定可擦除区块的另一子区块或其他子区块的该状态数据来更新该选定子区块的该状态数据。

2.
  根据权利要求1所述的方法,更包括:
如果该状态数据表示这些特定可擦除区块的另一子区块或其他子区块是失效的,则发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。

3.
  根据权利要求2所述的方法,其中在发布该擦除命令给该阵列之后,将该特定可擦除区块的这些子区块标记为闲置(free)。

4.
  根据权利要求1所述的方法,更包括:
如果该状态数据表示该特定可擦除区块的一预定数目的其他子区块是失效的,则将来自该特定可擦除区块中的任何可存取的子区块的数据复制至一不同的可擦除区块,并发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。

5.
  根据权利要求1所述的方法,其中该特定可擦除区块的该多个子区块包括一第一子区块及一第二子区块,而该请求的该子区块对象为该第一子区块,然后
如果该特定可擦除区块的该第二子区块目前是可存取的,则将该特定可擦除区块的该第一子区块标记为失效;及
如果该特定可擦除区块的该第二子区块目前被标记为失效,则发布该擦除命令以擦除该特定可擦除区块的该第一子区块与第二子区块。

6.
  根据权利要求1所述的方法,其中该状态数据表示当该特定可擦除区块的其他子区块维持使用中时,如果该特定可擦除区块的一子区块已成为一擦除请求的目标,则该特定可擦除区块的该子区块是失效的。

7.
  根据权利要求1所述的方法,其中如果一子区块是可存取的且不包括储存数据,则该子区块被标记为闲置。

8.
  根据权利要求1所述的方法,其中该阵列包括NAND闪存。

9.
  根据权利要求1所述的方法,包括产生擦除多个选定子区块的多个请求的地址转换层及磨损平均器(wear-leveler)模块。

10.
  一种存储器装置,包括:
一计算机可读取的非暂时性存储器储存软件,可执行:
针对一存储单元的阵列维持多个可擦除区块的多个子区块的状态数据,该存储单元的阵列包括在该阵列中的存储单元的这些可擦除区块,这些状态数据指示这些子区块目前是否可存取以及这些子区块是否失效;及
回应于擦除一特定可擦除区块的一选定子区块的一请求,基于该特定可擦除区块的另一子区块或其他子区块的该状态数据来更新该选定子区块的该状态数据。

11.
  根据权利要求10所述的装置,其中该软件可执行:
如果该状态数据表示这些特定可擦除区块的另一子区块或其他子区块是失效的,则发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。

12.
  根据权利要求10所述的装置,其中如果该状态数据表示该特定可擦除区块的一预定数目的其他子区块是失效的,则该软件可执行用于将来自该特定可擦除区块中的任何可存取的子区块的数据复制至一不同的可擦除区块,并发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。

13.
  根据权利要求10所述的装置,其中该特定可擦除区块的该多个子区块包括一第一子区块及一第二子区块,而该请求的该子区块对象为该第一子区块,然后;
如果该特定可擦除区块的该第二子区块目前是可存取的,则该软件将该特定可擦除区块的该第一子区块标记为失效;及
如果该特定可擦除区块的该第二子区块目前被标记为失效,则该软件发布该擦除命令以擦除该特定可擦除区块的该第一子区块与第二子区 块。

14.
  一种装置,包括:
一存储单元的阵列,包括在该阵列中的多个存储单元的多个可擦除区块;及
一处理器,耦接至该阵列,包括逻辑电路,用于:
维持这些可擦除区块的多个子区块的状态数据,该状态数据指示这些子区块目前是否可存取以及这些子区块是否失效;及
回应于擦除一特定可擦除区块的一选定子区块的一请求,基于该特定可擦除区块的另一子区块或其他子区块的该状态数据来更新该选定子区块的该状态数据。

15.
  根据权利要求14所述的装置,其中该处理器是被设计成用于:
如果该状态数据表示这些特定可擦除区块的另一子区块或其他子区块是失效的,则发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。

16.
  根据权利要求15所述的装置,包括在发布该擦除命令给该阵列之后,将该特定可擦除区块的这些子区块标记为闲置。

17.
  根据权利要求14所述的装置,其中该处理器是被设计成用于:
如果该状态数据表示该特定可擦除区块的一预定数目的其他子区块是失效的,则将来自该特定可擦除区块中的任何可存取的子区块的数据复制至一不同的可擦除区块,并发布一擦除命令以擦除该特定可擦除区块,否则更新这些状态数据以表示该选定子区块是失效的。

18.
  根据权利要求14所述的装置,其中该特定可擦除区块的该多个子区块包括一第一子区块及一第二子区块,而该请求的该子区块对象为该第一子区块,然后
如果该特定可擦除区块的该第二子区块目前是可存取的,则该逻辑电路将该特定可擦除区块的该第一子区块标记为失效;及
如果该特定可擦除区块的该第二子区块目前被标记为失效,则该逻辑电路发布该擦除命令以擦除该特定可擦除区块的该第一子区块与第二子区块。

19.
  根据权利要求14所述的装置,其中:
该状态数据表示当该特定可擦除区块的其他子区块维持使用中时,如果该特定可擦除区块的一子区块已成为一擦除请求的目标,则该特定可擦除区块的该子区块是失效的。

20.
  根据权利要求14所述的装置,其中该阵列包括NAND闪存。

说明书

存储器装置机器操作方法
技术领域
本发明是关于存储器装置机器操作方法。
背景技术
闪存为一种普遍使用的高容量、非易失性存储器(non-volatile memory)。闪存可用以进行包括区块擦除、字或字节编程、分页编程、字或字节读取及分页读取的操作。为了一区块擦除的目的,存储器的一区块的大小可以由存储器阵列的组态所决定,且譬如可能大于一分页(page)。
很多闪存技术具有有限的持久性(endurance)。亦即,可靠地储存数据的能力随着编程及擦除周期(cycle)数增加超过安全极限而降低。
提供可增加区块的利用,并减少这种型式的存储器的区块擦除次数(block-erase count)的区块擦除管理方法是有需要的。
发明内容
一种针对包括有于一阵列中的存储单元(memory cell)的可擦除区块的存储单元阵列的区块擦除操作的方法是被描述。如以下所提出的,可维持此阵列的对应的可擦除区块的多个子区块的状态数据。状态数据表示子区块目前是否可存取(例如,可利用来编程或读取)以及子区块是否失效(例如,不可利用来编程或读取)。回应于一擦除一特定可擦除区块的一选定子区块的请求,此方法包括基于特定可擦除区块的另一子区块或其他子区块的状态数据,来更新选定子区块的状态数据。又,回应于一擦除一特定可擦除区块的一选定子区块中的数据的请求,如果特定可擦除区块的其他子区块是失效的,则可发出一擦除命令以擦除特定区块,否则更新状态数据以表示选定子区块是失效的。
本发明的其他实施样态及优点可在检阅图式、详细说明以及随附的权利要求范围时获得了解。
附图说明
图1为结合一闪存的一储存系统的方块图。
图2为一种用于区块擦除管理的方法的流程图。
图3A-图3F显示譬如用于一区块擦除管理系统的子区块操作的状态改变。
图4为一种包括区块擦除管理资源的计算机系统的方块图。
【符号说明】
100:数据处理系统
110:应用程序
120:磁盘文件系统
125:快闪转换层
130:原生性文件系统
140:存储器技术装置档案
150:存储器/存储器装置
210、220、230、235、240:步骤
310、315、320、325、330、335:可擦除区块
410:计算机系统
412:总线次系统
414:处理器次系统
416:网络接口次系统
418:通讯网络/计算机网络
420:用户接口输出装置
422:用户接口输入设备
424:储存次系统
426:主机存储器次系统
428:档案储存次系统
430:主要随机存取存储器(RAM)
431:闪存
432:只读存储器(ROM)
具体实施方式
以下将参考附图提供本发明的多个实施例的详细说明。
图1为结合一存储器(例如一高容量3D NAND闪存150)的一数据处理系统100的功能层的方块图。存储器可以是其他种类的NAND闪存、NOR闪存,且在所显示的例子中,或者是具有可擦除区块的任何适当的存储器装置。存储器实体上可被设计成为多个区段(sector),以使每个实体区段成为一个用于被存储器所支持的区块擦除操作的最小单元。存储器的一可擦除区块可譬如对应至一个或多个实体区段。举例而言,存储器的每个实体区段的大小可以是16KB。存储器150的一可擦除区块可包括一个实体区段并具有与实体区段相同的16KB大小。存储器的一可擦除区块可包括4个实体区段并具有64KB的大小。存储器的一可擦除区块可包括8个实体区段并具有128KB的大小。
在用于分页(page)模式操作的存储器中,存储器的每个可擦除区块可包括多个分页,且每个分页可通过被存储器所支持的分页编程及分页读取操作而被编程或读取。举例而言,1-Gbit单层单元(single-level-cell,SLC)NAND闪存装置可包括每个大小128KB的1K可擦除区块。每个可擦除区块可包括每个大小2KB的64个分页。每个分页可包括供错误校正码(error correction code,ECC)或其他功能用的额外储存空间(例如64字节)。每个可擦除区块可用对应的额外储存空间来记录坏损分页、擦除次数或其他数据(例如4KB)。
一种闪存可用以使存储器的一分页可通过提供一分页编程或分页读取命令,以及对应于此分页的一地址给存储器,而被编程或读取。又,闪存可用以使存储器的每个区块可通过提供一区块擦除命令以及对应于此区块的一地址给存储器而被擦除。举例而言,上述例子1-Gbit SLC NAND闪存装置的每个特定分页可以是可利用一16位地址来进行编址,而16位地址的10个最高有效位为包括特定分页的区块的地址。在这个1-Gbit SLC NAND例子中,一分页可通过提供一分页读取或页面编程命令以及对应于此页面的一16位地址给1-Gbit SLC NAND闪存装置而被编程或读取。在这个1-Gbit SLC NAND例子中,一可擦除区块可通过提供一区块擦除命令与对应于可擦除区块的10个最高有效位(在16位地址格式中)给1-Gbit  SLC NAND闪存装置而被擦除。
系统100包括一个或多个文件系统,其基于来自一应用程序110的多个请求来储存、撷取并更新储存于存储器150中的数据。于此实施例中的文件系统包括磁盘文件系统120,例如文件分配表(File Allocation Table,FAT)文件系统、第三延伸文件系统(Third Extended File System,EXT3)或新技术文件系统(New Technology File System,NTFS)。于此实施例中的文件系统亦包括一种为闪存而设计的原生性(native)文件系统130,例如日志式快闪文件系统版本2(Journaling Flash File System Version2,JFFS2)、无排序区块图像文件系统(Unsorted Block Image File System,UBIFS)或又另一种快闪文件系统(Yet Another Flash File System,YAFFS)。文件系统120或130经由例如一读取驱动器(用于分页读取操作)、一程序驱动器(用于分页编程操作)以及一擦除驱动器(用于区块擦除操作)的装置驱动器来存取存储器150。例如一存储器技术装置档案(Memory Technology Device file)140的软件层可提供一个在装置驱动器与文件系统120或130之间的接口。
所述的系统100亦包括一个作为在磁盘文件系统120与装置驱动器(或存储器技术装置档案140)之间的接口的快闪转换层(Flash Translation Layer)125。快闪转换层125可执行在磁盘文件系统120的逻辑地址与存储器150的实体地址之间的地址转换。快闪转换层125包括一分配器模块,其定位存储器150中的物理存储器空间。快闪转换层125包括一清洁器模块,其回收(reclaims)存储器150中的未被使用的实体空间。快闪转换层125包括一磨损平均器(wear-leveler)模块,其在存储器150上执行磨损平均(wear leveling)程序。
系统100的多个元件可做出擦除存储器150的一可擦除区块的多个请求。举例而言,磨损平均器模块(或原生性文件系统130)可执行一磨损平均程序,其将储存于存储器150的一第一可擦除区块的分页中的数据传输至存储器150的一第二可擦除区块(例如,通过存取存储器技术装置档案140中的读取及程序驱动器)。在传输数据之后,磨损平均器模块将此数据的逻辑地址映像至储存传输数据的第二可擦除区块中的分页的实体地址,并请求存储器技术装置档案140擦除第一可擦除区块。举例而言,分配器模块可通过请求存储器技术装置档案140擦除可擦除区块(例如,腾出用于 分页写入操作的空间)来定位存储器150的一可擦除区块。举例而言,清洁器模块可在存储器150中确认具有过时数据的一可擦除区块,并通过请求存储器技术装置档案140将可擦除区块擦除来回收可擦除区块。
系统100中的其他功能可能需要要求擦除一可擦除区块以完成动作的多个操作。对针对一逻辑地址的某些写入命令而言,实体地址是被决定,并且一连串的命令是被执行,以将数据写入实体地址中。一连串的命令可包括多个区块擦除操作,以释放用于编程操作的实体地址。又,针对多种理由,一磁盘文件系统120(经由快闪转换层125)以及一原生性文件系统130可对存储器技术装置140产生擦除可擦除区块中的数据的请求。
图2为一种用于存储单元阵列的区块擦除管理的方法的流程图,此存储单元阵列包括在一阵列中多个存储单元的多个可擦除区块。举例而言,此存储单元阵列或存储器阵列可以是一NAND闪存、一相变存储器(phase change memory)或具有存储单元的可擦除区块的任何适当的存储器。
存储器阵列可以是一储存系统的一部分。举例而言,存储器阵列可以是图1所示的系统100的存储器150。一种用于区块擦除管理的方法可利用在系统100上执行的软件来实施。举例而言,此方法可利用一区块擦除管理模块作为存储器技术装置档案140的一部分来实施。这种用于区块擦除管理的方法的实行对文件系统120或130而言可以是透明的。或者,区块擦除管理的方法可实作在快闪转换层125或原生性文件系统130。用于实施区块擦除管理的方法的软件或程序代码可被储存于一个或多个非暂时性计算机可读取储存媒体中,例如一个或多个集成电路、硬式磁盘驱动器、DRAM装置、闪存装置,任何适合的计算机可读取的非暂时性储存媒体,或上述的任何适当的组合。举例而言,用于实施区块擦除管理的方法的软件或程序代码可被储存于存取存储器150的一计算装置的一硬式磁盘驱动器中。对另一例而言,用于实施区块擦除管理的方法的软件或程序代码可与存储器装置150的一个或多个驱动器一起被储存于存储器150的一储存区域中。
于所述的例子中,存储器技术装置层140的区块擦除管理模块包括支持所述的区块擦除管理程序的状态数据。状态数据指示存储器中的某些或全部可擦除区块的一区块擦除状态。逻辑上,状态数据将存储器阵列的每 个可擦除区块分割成为多个子区块。多个子区块的大小可以是相等的。举例而言,一可擦除区块可包括两个子区块,且每个子区块为可擦除区块的一半区块。对另一例而言,一可擦除区块可包括四个子区块,且每个子区块具有可擦除区块的25%的大小。
一子区块的状态数据可被组织以表示或标记子区块是否是可存取的,且子区块是否失效。在一个组态中,针对所述的区块擦除管理程序的每个可擦除区块对象,状态数据可包括「使用中」、「闲置(free)」以及「失效」状态。于此组态中,如果一子区块是可存取的并包括储存的数据(例如,通过文件系统,数据被编程入子区块中的一个或多个分页),则子区块的状态数据指示此子区块是在使用中。如果一子区块是可存取的并被擦除(例如,因为最终擦除操作被应用至包括该子区块的可擦除区块,所以该子区块中的分页尚未通过文件系统被编程),则此子区块的状态数据指示此子区块是闲置的。如果一子区块对文件系统来说是不可存取的(亦即,已经成为一擦除请求的对象,但此可擦除区块因为此请求的结果而未被擦除),则此子区块的状态数据可指示此子区块是失效的。储存于标记为失效的子区块的数据是无法由文件系统所存取的。此方法可储存并维持一表格中的状态数据。此表格可被储存于执行实施此方法的软件的一计算装置的一本地储存区(例如,DRAM、硬式磁盘驱动器、固态硬盘)中。又,此表格的副本可储存于非易失性存储器(包括譬如存储器阵列)中,用于在断电事件等等之后作为复原使用。
结合存储器阵列的系统100中的其他元件可产生擦除存储器阵列的一可擦除区块的一子区块的请求。亦即,基于实体地址产生请求的系统的其他元件可用以通过使用一子区块作为区块擦除操作的一管理单元来操作。举例而言,磨损平均器模块可将储存于存储器150的一第一可擦除区块的一子区块中的数据传输至另一可擦除区块,并请求区块擦除管理模块擦除该第一可擦除区块的该子区块。举例而言,分配器模块可通过请求区块擦除管理模块擦除存储器150的一可擦除区块的一子区块来分配(allocate)该子区块。举例而言,清洁器模块可通过请求区块擦除管理模块来擦除存储器150的一可擦除区块的一子区块,来回收该子区块。
图2为显示一区块擦除管理程序的流程图,其可在一类似图1的系统 中被实施。此程序维持存储器阵列的可擦除区块的多个子区块的状态数据(步骤210)。响应于擦除一特定可擦除区块的一选定子区块中的数据的一请求,此方法基于特定可擦除区块的另一子区块或其他子区块的状态数据来更新选定子区块的状态数据。更特别的是,回应于擦除特定可擦除区块的选定子区块中的数据的请求,此方法决定特定可擦除区块的其他子区块是否失效(步骤220)。如果特定可擦除区块的所有其他子区块目前被标记为失效,则此方法发出一擦除命令以擦除此特定可擦除区块(步骤230)。然后,可擦除区块的所有子区块可被标记为闲置(步骤235)。如果于步骤220中,发现特定可擦除区块的其他子区块的至少一者目前是可存取的,则此方法更新状态数据以指示选定子区块是失效的(步骤240),且不需执行所请求的区块擦除。
举例而言,响应于由磨损平均器模块所产生的擦除存储器150的一特定可擦除区块的一选定子区块中的数据的一请求,区块擦除管理模块决定特定可擦除区块的其他子区块是否目前是失效的(如存储器150的状态数据所指示者)。如果特定可擦除区块的其他子区块并非全部是失效的,则区块擦除管理模块更新状态数据,以将选定子区块标记为失效。如果特定可擦除区块的其他子区块全部是失效的,则区块擦除管理模块发出一擦除命令(与一对应的实体地址),以擦除特定可擦除区块。再者,在发出擦除命令给擦除驱动器以擦除特定可擦除区块之后,区块擦除管理模块更新状态数据,以将特定可擦除区块的所有子区块标记为闲置或可存取的。
图3A至图3F显示在各种操作的例子中的可擦除区块的子区块中的状态数据的改变。图3A至图3F所显示的每个可擦除区块逻辑上被分为两个子区块(子区块1及子区块2)。如图3A的左侧所示,可擦除区块310的两个子区块1及2均被标记为使用中。参考图3A,举例而言,响应于擦除可擦除区块310的子区块1的一请求,子区块1被标记为失效,而子区块2维持使用中的状态,如图3A的右侧所示。因为只有子区块1被标记为失效,所以子区块2中的数据仍然是可存取的。举例而言,一文件系统(或一地址转换层)可对可擦除区块310的子区块2中的分页发出分页读取或编程请求。
又,于图3B中,可擦除区块315的两个子区块1及2最初被标记为 使用中。回应于擦除可擦除区块315的子区块2的一请求(如图3B的左侧所示),因为子区块1目前是使用中,所以此方法将子区块2标记为失效。在其子区块2被标记为失效之后的可擦除区块315是如图3B的右侧所示。在子区块2被标记为失效之后,储存于可擦除区块315的子区块1中的数据仍然是可存取的。
于图3C中,在可擦除区块320中,第一子区块最初被标记为使用中,而第二子区块被标记为「闲置」。如图3C所显示的,响应于擦除可擦除区块320的子区块1的一请求,因为可擦除区块320的子区块2目前被标记为闲置,所以子区块1被标记为失效,如图3B的右侧所示。在子区块1被标记为失效之后,可擦除区块320的子区块2仍然是可存取的。
于图3D中,在可擦除区块325中,第二子区块最初被标记为使用中,而第一子区块被标记为「闲置」。如图3D所示,回应于擦除可擦除区块325的子区块2的一请求,因为可擦除区块325的子区块1目前被标记为闲置,所以子区块2被标记为失效,如图3D的右侧所示。在子区块2被标记失效之后,可擦除区块325的子区块1仍然是可存取的。
如图3E的左侧所示,可擦除区块330的子区块1被标记为使用中,而可擦除区块330的子区块2被标记为失效。举例而言,回应于擦除图3E的左侧所示的可擦除区块330的子区块1的一请求,因为可擦除区块的另一子区块(子区块2)目前是失效的,所以此方法会擦除可擦除区块330的两个子区块1及2。于此,被标记为失效的子区块2可以是下列情况所产生的结果:在子区块1维持在使用中时,子区块2已成为一请求的将要擦除的对象,如图3B中的可擦除区块315所示者。再者,此方法更新子区块1及2的状态数据,并将子区块1及2标记为闲置。可擦除区块330在其子区块1及2被标记为闲置之后,被显示于图3E的右侧。
如图3F的左侧所示,可擦除区块335的子区块1被标记为失效,而可擦除区块335的子区块2被标记为使用中。回应于擦除图3F的左侧所示的擦除可擦除区块335的子区块2的一请求,此方法擦除可擦除区块335的子区块1及2两者,并将子区块1及2两者标记为闲置。子区块1及2被标记为闲置之后的可擦除区块335被显示于图3F的右侧。
于其他实施例中,当其他子区块是在使用中时,如果超过一预定数目 以上的可擦除区块的子区块已成为擦除请求的目标的话,则此方法擦除一整个可擦除区块(但必须将可擦除区块上的有效数据复制到其他可闲置的区块)。举例而言,此方法可将每个可擦除区块分为四个子区块,并维持每个子区块的状态数据,如前面所讨论的。回应于擦除一特定可擦除区块的一第一子区块的一请求,如果特定可擦除区块的少于两个其他子区块目前是失效的,则此方法将第一子区块标记为失效。如果特定可擦除区块的至少两个其他子区块目前被标记为失效(成为擦除请求的目标的结果),则方法首先将具有有效数据的使用中区块中的那些子区块复制至另一个区块,然后擦除特定可擦除区块的所有子区块并将所有子区块标记为闲置。
图4为一计算机系统410的方块图,计算机系统410可包括图1所示的一区块擦除管理模块。
计算机系统410通常包括一处理器次系统414,其经由总线次系统412与一些周边装置沟通。这些周边装置可包括一储存次系统424(包括一存储器次系统426及一档案储存次系统428)、用户接口输入设备422、用户接口输出装置420以及一网络接口次系统416。输入及输出装置允许用户与计算机系统410互动。网络接口次系统416提供一接口给外部网络(包括一接口给通讯网络418),并经由通讯网络418耦接至其他计算机系统中的对应的接口装置。通讯网络418可包括许多互连的计算机系统及通信链接(link)。这些通信链接可能是有线链接、光学链接、无线链接或任何其他用以传输信息的机制,但一般其为一种IP地址对应(IP-based)的通讯网络。虽然于一实施例中,通讯网络418为因特网(Internet),但在其他实施例中,通讯网络418可以是任何适当的计算机网络。
网络接口的实体硬件元件有时被称为网络适配器(Network Interface Cards,NIC),虽然它们不需以卡的型式存在:例如它们可以以直接固接至一主板之上的集成电路(IC)及连接器的型式存在,或以构建在单一集成电路芯片与计算机系统的其他元件上的巨型细胞(macrocell)的型式存在。
用户接口输入设备422可包括一键盘、指向装置(例如一鼠标、轨迹球、触摸板或绘图板)、一扫描仪、一并入显示器的触控屏幕、音频输入设备(例如语音识别系统)、麦克风以及其他型式的输入设备。一般而言,用语「输入设备」的使用是意图包括将信息输入至计算机系统410中或至计算机网 络418上的所有可能型式的装置及方式。
用户接口输出装置420可包括一显示器次系统、一打印机、一传真机或非视觉显示器(例如音频输出装置)。显示器次系统可包括一阴极射线管(CRT)、例如为一液晶显示器(LCD)的一平板装置、一投影装置,或用以产生一可见影像的某些其他机制。显示器次系统亦可提供非视觉显示器,例如经由音频输出装置。一般而言,用语「输出装置」的使用是意图包括将信息从计算机系统410输出至用户或至另一个机器或计算机系统的所有可能型式的装置及方式。
储存次系统424储存基本程序及数据构成,其提供本发明的某些实施例的功能。举例而言,实施本发明的某些实施例的功能的各种模块可储存于储存次系统424中。举例而言,用于实施上述区块擦除管理的方法的区块擦除管理模块可被储存于储存次系统424中。这些软件模块一般是通过处理器次系统414而执行。
存储器次系统426通常包括一些存储器,包括用于在程序执行期间储存指令及数据的主随机存取存储器(RAM)430,以及储存固定指令的只读存储器(ROM)432。存储器次系统426亦可包括一闪存431。档案储存次系统428为程序及数据文件提供持久储存,并可包括一硬式磁盘驱动器、伴随相关的可移式媒体的软式磁盘驱动器、一CD ROM光驱、一光驱或可移式媒体盒(media cartridge)。实施本发明的某些实施例的功能的数据库及模块可已被设置于一计算机可读取媒体(例如一个或多个CD-ROM)上,且可由档案储存次系统428所储存。除此之外,主机存储器次系统426包括计算机指令,当其由处理器次系统414执行时,是使计算机系统操作或执行所述的功能。如同此处所使用的,叙述成在「主机」或「计算机」中或在其上执行的程序及软件,是在处理器次系统414上执行,以响应于主机存储器次系统426(包括任何其他这种指令及数据的本地或远程储存区)中的计算机指令及数据。
总线次系统412提供一种用于让计算机系统410的各种元件及次系统如预期地彼此通讯的机制。虽然总线次系统412系概要地显示为单一总线,但总线次系统的替代实施例可使用多总线。
计算机系统410本身可以是各种型式,包括一个人计算机、一便携计 算机、一工作站、一计算机终端机、一网络计算机、一电视机、一大型计算机(mainframe)、一服务器群(server farm)或任何其他数据处理系统或用户装置。由于计算机及网络的不断变化的特性,图4中所描绘的计算机系统410的说明只是为了说明本发明的较佳实施例的目的,而作为一特定例子。计算机系统410的很多其他的组态可能具有比图4中所绘示的计算机系统更多或更少的元件。
虽然本发明系参考上述的较佳实施例及例子而揭露,但吾人应理解到这些例子是意图呈现一种说明而非限制的意义。吾人考虑到熟习本项技艺者将轻易想到多种修改及组合,这些修改及组合将落在本发明的精神及随附权利要求范围的范畴之内。

存储器装置机器操作方法.pdf_第1页
第1页 / 共16页
存储器装置机器操作方法.pdf_第2页
第2页 / 共16页
存储器装置机器操作方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《存储器装置机器操作方法.pdf》由会员分享,可在线阅读,更多相关《存储器装置机器操作方法.pdf(16页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104102456A43申请公布日20141015CN104102456A21申请号201310567981322申请日2013111461/811,82120130415US14/018,14920130904USG06F3/06200601G06F12/06200601G06F13/1620060171申请人旺宏电子股份有限公司地址中国台湾新竹科学工业园区力行路16号72发明人张育铭李永骏卢星辰李祥邦王成渊张原豪郭大维74专利代理机构中科专利商标代理有限责任公司11021代理人任岩54发明名称存储器装置机器操作方法57摘要本发明公开了一种存储器装置机器操作方法,针对一阵列。

2、的存储单元的阵列,包括在此阵列中的存储单元的可擦除区块,提供一种区块擦除操作的方法。此方法包括维持此阵列的可擦除区块的多个子区块的状态数据。状态数据表示子区块目前是否可存取的以及子区块是否失效。此方法包括,回应于一项擦除一特定可擦除区块的一选定子区块的请求,如果特定可擦除区块的其他子区块是失效的,则发布一擦除命令以擦除特定区块,否则更新状态数据以表示选定子区块是失效的。30优先权数据51INTCL权利要求书3页说明书7页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书7页附图5页10申请公布号CN104102456ACN104102456A1/3页21一种存储器的操。

3、作方法,包括针对一存储单元的阵列,维持多个可擦除区块的多个子区块的状态数据,该存储单元的阵列包括在该阵列中的存储单元的这些可擦除区块,该状态数据指示这些子区块目前是否可存取以及这些子区块是否失效;及回应于擦除一特定可擦除区块的一选定子区块的一请求,基于该特定可擦除区块的另一子区块或其他子区块的该状态数据来更新该选定子区块的该状态数据。2根据权利要求1所述的方法,更包括如果该状态数据表示这些特定可擦除区块的另一子区块或其他子区块是失效的,则发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。3根据权利要求2所述的方法,其中在发布该擦除命令给该阵列之后,将该特定可擦。

4、除区块的这些子区块标记为闲置FREE。4根据权利要求1所述的方法,更包括如果该状态数据表示该特定可擦除区块的一预定数目的其他子区块是失效的,则将来自该特定可擦除区块中的任何可存取的子区块的数据复制至一不同的可擦除区块,并发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。5根据权利要求1所述的方法,其中该特定可擦除区块的该多个子区块包括一第一子区块及一第二子区块,而该请求的该子区块对象为该第一子区块,然后如果该特定可擦除区块的该第二子区块目前是可存取的,则将该特定可擦除区块的该第一子区块标记为失效;及如果该特定可擦除区块的该第二子区块目前被标记为失效,则发布该擦。

5、除命令以擦除该特定可擦除区块的该第一子区块与第二子区块。6根据权利要求1所述的方法,其中该状态数据表示当该特定可擦除区块的其他子区块维持使用中时,如果该特定可擦除区块的一子区块已成为一擦除请求的目标,则该特定可擦除区块的该子区块是失效的。7根据权利要求1所述的方法,其中如果一子区块是可存取的且不包括储存数据,则该子区块被标记为闲置。8根据权利要求1所述的方法,其中该阵列包括NAND闪存。9根据权利要求1所述的方法,包括产生擦除多个选定子区块的多个请求的地址转换层及磨损平均器WEARLEVELER模块。10一种存储器装置,包括一计算机可读取的非暂时性存储器储存软件,可执行针对一存储单元的阵列维持。

6、多个可擦除区块的多个子区块的状态数据,该存储单元的阵列包括在该阵列中的存储单元的这些可擦除区块,这些状态数据指示这些子区块目前是否可存取以及这些子区块是否失效;及回应于擦除一特定可擦除区块的一选定子区块的一请求,基于该特定可擦除区块的另一子区块或其他子区块的该状态数据来更新该选定子区块的该状态数据。11根据权利要求10所述的装置,其中该软件可执行权利要求书CN104102456A2/3页3如果该状态数据表示这些特定可擦除区块的另一子区块或其他子区块是失效的,则发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。12根据权利要求10所述的装置,其中如果该状态数据表。

7、示该特定可擦除区块的一预定数目的其他子区块是失效的,则该软件可执行用于将来自该特定可擦除区块中的任何可存取的子区块的数据复制至一不同的可擦除区块,并发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。13根据权利要求10所述的装置,其中该特定可擦除区块的该多个子区块包括一第一子区块及一第二子区块,而该请求的该子区块对象为该第一子区块,然后;如果该特定可擦除区块的该第二子区块目前是可存取的,则该软件将该特定可擦除区块的该第一子区块标记为失效;及如果该特定可擦除区块的该第二子区块目前被标记为失效,则该软件发布该擦除命令以擦除该特定可擦除区块的该第一子区块与第二子区块。

8、。14一种装置,包括一存储单元的阵列,包括在该阵列中的多个存储单元的多个可擦除区块;及一处理器,耦接至该阵列,包括逻辑电路,用于维持这些可擦除区块的多个子区块的状态数据,该状态数据指示这些子区块目前是否可存取以及这些子区块是否失效;及回应于擦除一特定可擦除区块的一选定子区块的一请求,基于该特定可擦除区块的另一子区块或其他子区块的该状态数据来更新该选定子区块的该状态数据。15根据权利要求14所述的装置,其中该处理器是被设计成用于如果该状态数据表示这些特定可擦除区块的另一子区块或其他子区块是失效的,则发布一擦除命令以擦除该特定可擦除区块,否则更新该状态数据以表示该选定子区块是失效的。16根据权利要。

9、求15所述的装置,包括在发布该擦除命令给该阵列之后,将该特定可擦除区块的这些子区块标记为闲置。17根据权利要求14所述的装置,其中该处理器是被设计成用于如果该状态数据表示该特定可擦除区块的一预定数目的其他子区块是失效的,则将来自该特定可擦除区块中的任何可存取的子区块的数据复制至一不同的可擦除区块,并发布一擦除命令以擦除该特定可擦除区块,否则更新这些状态数据以表示该选定子区块是失效的。18根据权利要求14所述的装置,其中该特定可擦除区块的该多个子区块包括一第一子区块及一第二子区块,而该请求的该子区块对象为该第一子区块,然后如果该特定可擦除区块的该第二子区块目前是可存取的,则该逻辑电路将该特定可擦。

10、除区块的该第一子区块标记为失效;及如果该特定可擦除区块的该第二子区块目前被标记为失效,则该逻辑电路发布该擦除命令以擦除该特定可擦除区块的该第一子区块与第二子区块。19根据权利要求14所述的装置,其中该状态数据表示当该特定可擦除区块的其他子区块维持使用中时,如果该特定可擦除权利要求书CN104102456A3/3页4区块的一子区块已成为一擦除请求的目标,则该特定可擦除区块的该子区块是失效的。20根据权利要求14所述的装置,其中该阵列包括NAND闪存。权利要求书CN104102456A1/7页5存储器装置机器操作方法技术领域0001本发明是关于存储器装置机器操作方法。背景技术0002闪存为一种普遍。

11、使用的高容量、非易失性存储器NONVOLATILEMEMORY。闪存可用以进行包括区块擦除、字或字节编程、分页编程、字或字节读取及分页读取的操作。为了一区块擦除的目的,存储器的一区块的大小可以由存储器阵列的组态所决定,且譬如可能大于一分页PAGE。0003很多闪存技术具有有限的持久性ENDURANCE。亦即,可靠地储存数据的能力随着编程及擦除周期CYCLE数增加超过安全极限而降低。0004提供可增加区块的利用,并减少这种型式的存储器的区块擦除次数BLOCKERASECOUNT的区块擦除管理方法是有需要的。发明内容0005一种针对包括有于一阵列中的存储单元MEMORYCELL的可擦除区块的存储单。

12、元阵列的区块擦除操作的方法是被描述。如以下所提出的,可维持此阵列的对应的可擦除区块的多个子区块的状态数据。状态数据表示子区块目前是否可存取例如,可利用来编程或读取以及子区块是否失效例如,不可利用来编程或读取。回应于一擦除一特定可擦除区块的一选定子区块的请求,此方法包括基于特定可擦除区块的另一子区块或其他子区块的状态数据,来更新选定子区块的状态数据。又,回应于一擦除一特定可擦除区块的一选定子区块中的数据的请求,如果特定可擦除区块的其他子区块是失效的,则可发出一擦除命令以擦除特定区块,否则更新状态数据以表示选定子区块是失效的。0006本发明的其他实施样态及优点可在检阅图式、详细说明以及随附的权利要。

13、求范围时获得了解。附图说明0007图1为结合一闪存的一储存系统的方块图。0008图2为一种用于区块擦除管理的方法的流程图。0009图3A图3F显示譬如用于一区块擦除管理系统的子区块操作的状态改变。0010图4为一种包括区块擦除管理资源的计算机系统的方块图。0011【符号说明】0012100数据处理系统0013110应用程序0014120磁盘文件系统0015125快闪转换层0016130原生性文件系统说明书CN104102456A2/7页60017140存储器技术装置档案0018150存储器存储器装置0019210、220、230、235、240步骤0020310、315、320、325、330。

14、、335可擦除区块0021410计算机系统0022412总线次系统0023414处理器次系统0024416网络接口次系统0025418通讯网络计算机网络0026420用户接口输出装置0027422用户接口输入设备0028424储存次系统0029426主机存储器次系统0030428档案储存次系统0031430主要随机存取存储器RAM0032431闪存0033432只读存储器ROM具体实施方式0034以下将参考附图提供本发明的多个实施例的详细说明。0035图1为结合一存储器例如一高容量3DNAND闪存150的一数据处理系统100的功能层的方块图。存储器可以是其他种类的NAND闪存、NOR闪存,且在。

15、所显示的例子中,或者是具有可擦除区块的任何适当的存储器装置。存储器实体上可被设计成为多个区段SECTOR,以使每个实体区段成为一个用于被存储器所支持的区块擦除操作的最小单元。存储器的一可擦除区块可譬如对应至一个或多个实体区段。举例而言,存储器的每个实体区段的大小可以是16KB。存储器150的一可擦除区块可包括一个实体区段并具有与实体区段相同的16KB大小。存储器的一可擦除区块可包括4个实体区段并具有64KB的大小。存储器的一可擦除区块可包括8个实体区段并具有128KB的大小。0036在用于分页PAGE模式操作的存储器中,存储器的每个可擦除区块可包括多个分页,且每个分页可通过被存储器所支持的分页。

16、编程及分页读取操作而被编程或读取。举例而言,1GBIT单层单元SINGLELEVELCELL,SLCNAND闪存装置可包括每个大小128KB的1K可擦除区块。每个可擦除区块可包括每个大小2KB的64个分页。每个分页可包括供错误校正码ERRORCORRECTIONCODE,ECC或其他功能用的额外储存空间例如64字节。每个可擦除区块可用对应的额外储存空间来记录坏损分页、擦除次数或其他数据例如4KB。0037一种闪存可用以使存储器的一分页可通过提供一分页编程或分页读取命令,以及对应于此分页的一地址给存储器,而被编程或读取。又,闪存可用以使存储器的每个区块可通过提供一区块擦除命令以及对应于此区块的一。

17、地址给存储器而被擦除。举例而言,上述例子1GBITSLCNAND闪存装置的每个特定分页可以是可利用一16位地址来进行编址,而说明书CN104102456A3/7页716位地址的10个最高有效位为包括特定分页的区块的地址。在这个1GBITSLCNAND例子中,一分页可通过提供一分页读取或页面编程命令以及对应于此页面的一16位地址给1GBITSLCNAND闪存装置而被编程或读取。在这个1GBITSLCNAND例子中,一可擦除区块可通过提供一区块擦除命令与对应于可擦除区块的10个最高有效位在16位地址格式中给1GBITSLCNAND闪存装置而被擦除。0038系统100包括一个或多个文件系统,其基于来。

18、自一应用程序110的多个请求来储存、撷取并更新储存于存储器150中的数据。于此实施例中的文件系统包括磁盘文件系统120,例如文件分配表FILEALLOCATIONTABLE,FAT文件系统、第三延伸文件系统THIRDEXTENDEDFILESYSTEM,EXT3或新技术文件系统NEWTECHNOLOGYFILESYSTEM,NTFS。于此实施例中的文件系统亦包括一种为闪存而设计的原生性NATIVE文件系统130,例如日志式快闪文件系统版本2JOURNALINGFLASHFILESYSTEMVERSION2,JFFS2、无排序区块图像文件系统UNSORTEDBLOCKIMAGEFILESYSTE。

19、M,UBIFS或又另一种快闪文件系统YETANOTHERFLASHFILESYSTEM,YAFFS。文件系统120或130经由例如一读取驱动器用于分页读取操作、一程序驱动器用于分页编程操作以及一擦除驱动器用于区块擦除操作的装置驱动器来存取存储器150。例如一存储器技术装置档案MEMORYTECHNOLOGYDEVICEFILE140的软件层可提供一个在装置驱动器与文件系统120或130之间的接口。0039所述的系统100亦包括一个作为在磁盘文件系统120与装置驱动器或存储器技术装置档案140之间的接口的快闪转换层FLASHTRANSLATIONLAYER125。快闪转换层125可执行在磁盘文件。

20、系统120的逻辑地址与存储器150的实体地址之间的地址转换。快闪转换层125包括一分配器模块,其定位存储器150中的物理存储器空间。快闪转换层125包括一清洁器模块,其回收RECLAIMS存储器150中的未被使用的实体空间。快闪转换层125包括一磨损平均器WEARLEVELER模块,其在存储器150上执行磨损平均WEARLEVELING程序。0040系统100的多个元件可做出擦除存储器150的一可擦除区块的多个请求。举例而言,磨损平均器模块或原生性文件系统130可执行一磨损平均程序,其将储存于存储器150的一第一可擦除区块的分页中的数据传输至存储器150的一第二可擦除区块例如,通过存取存储器技。

21、术装置档案140中的读取及程序驱动器。在传输数据之后,磨损平均器模块将此数据的逻辑地址映像至储存传输数据的第二可擦除区块中的分页的实体地址,并请求存储器技术装置档案140擦除第一可擦除区块。举例而言,分配器模块可通过请求存储器技术装置档案140擦除可擦除区块例如,腾出用于分页写入操作的空间来定位存储器150的一可擦除区块。举例而言,清洁器模块可在存储器150中确认具有过时数据的一可擦除区块,并通过请求存储器技术装置档案140将可擦除区块擦除来回收可擦除区块。0041系统100中的其他功能可能需要要求擦除一可擦除区块以完成动作的多个操作。对针对一逻辑地址的某些写入命令而言,实体地址是被决定,并且。

22、一连串的命令是被执行,以将数据写入实体地址中。一连串的命令可包括多个区块擦除操作,以释放用于编程操作的实体地址。又,针对多种理由,一磁盘文件系统120经由快闪转换层125以及一原生性文件系统130可对存储器技术装置140产生擦除可擦除区块中的数据的请求。0042图2为一种用于存储单元阵列的区块擦除管理的方法的流程图,此存储单元阵列说明书CN104102456A4/7页8包括在一阵列中多个存储单元的多个可擦除区块。举例而言,此存储单元阵列或存储器阵列可以是一NAND闪存、一相变存储器PHASECHANGEMEMORY或具有存储单元的可擦除区块的任何适当的存储器。0043存储器阵列可以是一储存系统。

23、的一部分。举例而言,存储器阵列可以是图1所示的系统100的存储器150。一种用于区块擦除管理的方法可利用在系统100上执行的软件来实施。举例而言,此方法可利用一区块擦除管理模块作为存储器技术装置档案140的一部分来实施。这种用于区块擦除管理的方法的实行对文件系统120或130而言可以是透明的。或者,区块擦除管理的方法可实作在快闪转换层125或原生性文件系统130。用于实施区块擦除管理的方法的软件或程序代码可被储存于一个或多个非暂时性计算机可读取储存媒体中,例如一个或多个集成电路、硬式磁盘驱动器、DRAM装置、闪存装置,任何适合的计算机可读取的非暂时性储存媒体,或上述的任何适当的组合。举例而言,。

24、用于实施区块擦除管理的方法的软件或程序代码可被储存于存取存储器150的一计算装置的一硬式磁盘驱动器中。对另一例而言,用于实施区块擦除管理的方法的软件或程序代码可与存储器装置150的一个或多个驱动器一起被储存于存储器150的一储存区域中。0044于所述的例子中,存储器技术装置层140的区块擦除管理模块包括支持所述的区块擦除管理程序的状态数据。状态数据指示存储器中的某些或全部可擦除区块的一区块擦除状态。逻辑上,状态数据将存储器阵列的每个可擦除区块分割成为多个子区块。多个子区块的大小可以是相等的。举例而言,一可擦除区块可包括两个子区块,且每个子区块为可擦除区块的一半区块。对另一例而言,一可擦除区块可。

25、包括四个子区块,且每个子区块具有可擦除区块的25的大小。0045一子区块的状态数据可被组织以表示或标记子区块是否是可存取的,且子区块是否失效。在一个组态中,针对所述的区块擦除管理程序的每个可擦除区块对象,状态数据可包括使用中、闲置FREE以及失效状态。于此组态中,如果一子区块是可存取的并包括储存的数据例如,通过文件系统,数据被编程入子区块中的一个或多个分页,则子区块的状态数据指示此子区块是在使用中。如果一子区块是可存取的并被擦除例如,因为最终擦除操作被应用至包括该子区块的可擦除区块,所以该子区块中的分页尚未通过文件系统被编程,则此子区块的状态数据指示此子区块是闲置的。如果一子区块对文件系统来说。

26、是不可存取的亦即,已经成为一擦除请求的对象,但此可擦除区块因为此请求的结果而未被擦除,则此子区块的状态数据可指示此子区块是失效的。储存于标记为失效的子区块的数据是无法由文件系统所存取的。此方法可储存并维持一表格中的状态数据。此表格可被储存于执行实施此方法的软件的一计算装置的一本地储存区例如,DRAM、硬式磁盘驱动器、固态硬盘中。又,此表格的副本可储存于非易失性存储器包括譬如存储器阵列中,用于在断电事件等等之后作为复原使用。0046结合存储器阵列的系统100中的其他元件可产生擦除存储器阵列的一可擦除区块的一子区块的请求。亦即,基于实体地址产生请求的系统的其他元件可用以通过使用一子区块作为区块擦除。

27、操作的一管理单元来操作。举例而言,磨损平均器模块可将储存于存储器150的一第一可擦除区块的一子区块中的数据传输至另一可擦除区块,并请求区块擦除管理模块擦除该第一可擦除区块的该子区块。举例而言,分配器模块可通过请求区块擦除管理模块擦除存储器150的一可擦除区块的一子区块来分配ALLOCATE该子区块。举说明书CN104102456A5/7页9例而言,清洁器模块可通过请求区块擦除管理模块来擦除存储器150的一可擦除区块的一子区块,来回收该子区块。0047图2为显示一区块擦除管理程序的流程图,其可在一类似图1的系统中被实施。此程序维持存储器阵列的可擦除区块的多个子区块的状态数据步骤210。响应于擦除。

28、一特定可擦除区块的一选定子区块中的数据的一请求,此方法基于特定可擦除区块的另一子区块或其他子区块的状态数据来更新选定子区块的状态数据。更特别的是,回应于擦除特定可擦除区块的选定子区块中的数据的请求,此方法决定特定可擦除区块的其他子区块是否失效步骤220。如果特定可擦除区块的所有其他子区块目前被标记为失效,则此方法发出一擦除命令以擦除此特定可擦除区块步骤230。然后,可擦除区块的所有子区块可被标记为闲置步骤235。如果于步骤220中,发现特定可擦除区块的其他子区块的至少一者目前是可存取的,则此方法更新状态数据以指示选定子区块是失效的步骤240,且不需执行所请求的区块擦除。0048举例而言,响应于。

29、由磨损平均器模块所产生的擦除存储器150的一特定可擦除区块的一选定子区块中的数据的一请求,区块擦除管理模块决定特定可擦除区块的其他子区块是否目前是失效的如存储器150的状态数据所指示者。如果特定可擦除区块的其他子区块并非全部是失效的,则区块擦除管理模块更新状态数据,以将选定子区块标记为失效。如果特定可擦除区块的其他子区块全部是失效的,则区块擦除管理模块发出一擦除命令与一对应的实体地址,以擦除特定可擦除区块。再者,在发出擦除命令给擦除驱动器以擦除特定可擦除区块之后,区块擦除管理模块更新状态数据,以将特定可擦除区块的所有子区块标记为闲置或可存取的。0049图3A至图3F显示在各种操作的例子中的可擦。

30、除区块的子区块中的状态数据的改变。图3A至图3F所显示的每个可擦除区块逻辑上被分为两个子区块子区块1及子区块2。如图3A的左侧所示,可擦除区块310的两个子区块1及2均被标记为使用中。参考图3A,举例而言,响应于擦除可擦除区块310的子区块1的一请求,子区块1被标记为失效,而子区块2维持使用中的状态,如图3A的右侧所示。因为只有子区块1被标记为失效,所以子区块2中的数据仍然是可存取的。举例而言,一文件系统或一地址转换层可对可擦除区块310的子区块2中的分页发出分页读取或编程请求。0050又,于图3B中,可擦除区块315的两个子区块1及2最初被标记为使用中。回应于擦除可擦除区块315的子区块2的。

31、一请求如图3B的左侧所示,因为子区块1目前是使用中,所以此方法将子区块2标记为失效。在其子区块2被标记为失效之后的可擦除区块315是如图3B的右侧所示。在子区块2被标记为失效之后,储存于可擦除区块315的子区块1中的数据仍然是可存取的。0051于图3C中,在可擦除区块320中,第一子区块最初被标记为使用中,而第二子区块被标记为闲置。如图3C所显示的,响应于擦除可擦除区块320的子区块1的一请求,因为可擦除区块320的子区块2目前被标记为闲置,所以子区块1被标记为失效,如图3B的右侧所示。在子区块1被标记为失效之后,可擦除区块320的子区块2仍然是可存取的。0052于图3D中,在可擦除区块325。

32、中,第二子区块最初被标记为使用中,而第一子区块被标记为闲置。如图3D所示,回应于擦除可擦除区块325的子区块2的一请求,因为可擦除区块325的子区块1目前被标记为闲置,所以子区块2被标记为失效,如图3D的右侧说明书CN104102456A6/7页10所示。在子区块2被标记失效之后,可擦除区块325的子区块1仍然是可存取的。0053如图3E的左侧所示,可擦除区块330的子区块1被标记为使用中,而可擦除区块330的子区块2被标记为失效。举例而言,回应于擦除图3E的左侧所示的可擦除区块330的子区块1的一请求,因为可擦除区块的另一子区块子区块2目前是失效的,所以此方法会擦除可擦除区块330的两个子区。

33、块1及2。于此,被标记为失效的子区块2可以是下列情况所产生的结果在子区块1维持在使用中时,子区块2已成为一请求的将要擦除的对象,如图3B中的可擦除区块315所示者。再者,此方法更新子区块1及2的状态数据,并将子区块1及2标记为闲置。可擦除区块330在其子区块1及2被标记为闲置之后,被显示于图3E的右侧。0054如图3F的左侧所示,可擦除区块335的子区块1被标记为失效,而可擦除区块335的子区块2被标记为使用中。回应于擦除图3F的左侧所示的擦除可擦除区块335的子区块2的一请求,此方法擦除可擦除区块335的子区块1及2两者,并将子区块1及2两者标记为闲置。子区块1及2被标记为闲置之后的可擦除区。

34、块335被显示于图3F的右侧。0055于其他实施例中,当其他子区块是在使用中时,如果超过一预定数目以上的可擦除区块的子区块已成为擦除请求的目标的话,则此方法擦除一整个可擦除区块但必须将可擦除区块上的有效数据复制到其他可闲置的区块。举例而言,此方法可将每个可擦除区块分为四个子区块,并维持每个子区块的状态数据,如前面所讨论的。回应于擦除一特定可擦除区块的一第一子区块的一请求,如果特定可擦除区块的少于两个其他子区块目前是失效的,则此方法将第一子区块标记为失效。如果特定可擦除区块的至少两个其他子区块目前被标记为失效成为擦除请求的目标的结果,则方法首先将具有有效数据的使用中区块中的那些子区块复制至另一个。

35、区块,然后擦除特定可擦除区块的所有子区块并将所有子区块标记为闲置。0056图4为一计算机系统410的方块图,计算机系统410可包括图1所示的一区块擦除管理模块。0057计算机系统410通常包括一处理器次系统414,其经由总线次系统412与一些周边装置沟通。这些周边装置可包括一储存次系统424包括一存储器次系统426及一档案储存次系统428、用户接口输入设备422、用户接口输出装置420以及一网络接口次系统416。输入及输出装置允许用户与计算机系统410互动。网络接口次系统416提供一接口给外部网络包括一接口给通讯网络418,并经由通讯网络418耦接至其他计算机系统中的对应的接口装置。通讯网络4。

36、18可包括许多互连的计算机系统及通信链接LINK。这些通信链接可能是有线链接、光学链接、无线链接或任何其他用以传输信息的机制,但一般其为一种IP地址对应IPBASED的通讯网络。虽然于一实施例中,通讯网络418为因特网INTERNET,但在其他实施例中,通讯网络418可以是任何适当的计算机网络。0058网络接口的实体硬件元件有时被称为网络适配器NETWORKINTERFACECARDS,NIC,虽然它们不需以卡的型式存在例如它们可以以直接固接至一主板之上的集成电路IC及连接器的型式存在,或以构建在单一集成电路芯片与计算机系统的其他元件上的巨型细胞MACROCELL的型式存在。0059用户接口输。

37、入设备422可包括一键盘、指向装置例如一鼠标、轨迹球、触摸板或绘图板、一扫描仪、一并入显示器的触控屏幕、音频输入设备例如语音识别系统、麦克说明书CN104102456A107/7页11风以及其他型式的输入设备。一般而言,用语输入设备的使用是意图包括将信息输入至计算机系统410中或至计算机网络418上的所有可能型式的装置及方式。0060用户接口输出装置420可包括一显示器次系统、一打印机、一传真机或非视觉显示器例如音频输出装置。显示器次系统可包括一阴极射线管CRT、例如为一液晶显示器LCD的一平板装置、一投影装置,或用以产生一可见影像的某些其他机制。显示器次系统亦可提供非视觉显示器,例如经由音频。

38、输出装置。一般而言,用语输出装置的使用是意图包括将信息从计算机系统410输出至用户或至另一个机器或计算机系统的所有可能型式的装置及方式。0061储存次系统424储存基本程序及数据构成,其提供本发明的某些实施例的功能。举例而言,实施本发明的某些实施例的功能的各种模块可储存于储存次系统424中。举例而言,用于实施上述区块擦除管理的方法的区块擦除管理模块可被储存于储存次系统424中。这些软件模块一般是通过处理器次系统414而执行。0062存储器次系统426通常包括一些存储器,包括用于在程序执行期间储存指令及数据的主随机存取存储器RAM430,以及储存固定指令的只读存储器ROM432。存储器次系统42。

39、6亦可包括一闪存431。档案储存次系统428为程序及数据文件提供持久储存,并可包括一硬式磁盘驱动器、伴随相关的可移式媒体的软式磁盘驱动器、一CDROM光驱、一光驱或可移式媒体盒MEDIACARTRIDGE。实施本发明的某些实施例的功能的数据库及模块可已被设置于一计算机可读取媒体例如一个或多个CDROM上,且可由档案储存次系统428所储存。除此之外,主机存储器次系统426包括计算机指令,当其由处理器次系统414执行时,是使计算机系统操作或执行所述的功能。如同此处所使用的,叙述成在主机或计算机中或在其上执行的程序及软件,是在处理器次系统414上执行,以响应于主机存储器次系统426包括任何其他这种指。

40、令及数据的本地或远程储存区中的计算机指令及数据。0063总线次系统412提供一种用于让计算机系统410的各种元件及次系统如预期地彼此通讯的机制。虽然总线次系统412系概要地显示为单一总线,但总线次系统的替代实施例可使用多总线。0064计算机系统410本身可以是各种型式,包括一个人计算机、一便携计算机、一工作站、一计算机终端机、一网络计算机、一电视机、一大型计算机MAINFRAME、一服务器群SERVERFARM或任何其他数据处理系统或用户装置。由于计算机及网络的不断变化的特性,图4中所描绘的计算机系统410的说明只是为了说明本发明的较佳实施例的目的,而作为一特定例子。计算机系统410的很多其他。

41、的组态可能具有比图4中所绘示的计算机系统更多或更少的元件。0065虽然本发明系参考上述的较佳实施例及例子而揭露,但吾人应理解到这些例子是意图呈现一种说明而非限制的意义。吾人考虑到熟习本项技艺者将轻易想到多种修改及组合,这些修改及组合将落在本发明的精神及随附权利要求范围的范畴之内。说明书CN104102456A111/5页12图1说明书附图CN104102456A122/5页13图2说明书附图CN104102456A133/5页14图3A图3B图3C图3D说明书附图CN104102456A144/5页15图3E图3F说明书附图CN104102456A155/5页16图4说明书附图CN104102456A16。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1