CN104102456B - 存储器装置机器操作方法 - Google Patents
存储器装置机器操作方法 Download PDFInfo
- Publication number
- CN104102456B CN104102456B CN201310567981.3A CN201310567981A CN104102456B CN 104102456 B CN104102456 B CN 104102456B CN 201310567981 A CN201310567981 A CN 201310567981A CN 104102456 B CN104102456 B CN 104102456B
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- erasable
- blocks
- specific
- 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.)
- Active
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种存储器装置机器操作方法,针对一阵列的存储单元的阵列,包括在此阵列中的存储单元的可擦除区块,提供一种区块擦除操作的方法。此方法包括维持此阵列的可擦除区块的多个子区块的状态数据。状态数据表示子区块目前是否可存取的以及子区块是否失效。此方法包括,回应于一项擦除一特定可擦除区块的一选定子区块的请求,如果特定可擦除区块的其他子区块是失效的,则发布一擦除命令以擦除特定区块,否则更新状态数据以表示选定子区块是失效的。
Description
技术领域
本发明是关于存储器装置机器操作方法。
背景技术
闪存为一种普遍使用的高容量、非易失性存储器(non-volatile memory)。闪存可用以进行包括区块擦除、字或字节编程、分页编程、字或字节读取及分页读取的操作。为了一区块擦除的目的,存储器的一区块的大小可以由存储器阵列的组态所决定,且譬如可能大于一分页(page)。
很多闪存技术具有有限的持久性(endurance)。亦即,可靠地储存数据的能力随着编程及擦除周期(cycle)数增加超过安全极限而降低。
提供可增加区块的利用,并减少这种型式的存储器的区块擦除次数(block-erasecount)的区块擦除管理方法是有需要的。
发明内容
一种针对包括有于一阵列中的存储单元(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)文件系统、第三延伸文件系统(ThirdExtended 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 TechnologyDevice 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中所绘示的计算机系统更多或更少的元件。
虽然本发明系参考上述的较佳实施例及例子而揭露,但吾人应理解到这些例子是意图呈现一种说明而非限制的意义。吾人考虑到熟习本项技艺者将轻易想到多种修改及组合,这些修改及组合将落在本发明的精神及随附权利要求范围的范畴之内。
Claims (20)
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闪存。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361811821P | 2013-04-15 | 2013-04-15 | |
US61/811,821 | 2013-04-15 | ||
US14/018,149 US9558108B2 (en) | 2013-04-15 | 2013-09-04 | Half block management for flash storage devices |
US14/018,149 | 2013-09-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104102456A CN104102456A (zh) | 2014-10-15 |
CN104102456B true CN104102456B (zh) | 2017-08-25 |
Family
ID=51670638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310567981.3A Active CN104102456B (zh) | 2013-04-15 | 2013-11-14 | 存储器装置机器操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104102456B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI611408B (zh) * | 2015-11-25 | 2018-01-11 | 旺宏電子股份有限公司 | 記憶體裝置的抹除方法 |
US10275156B2 (en) * | 2016-09-29 | 2019-04-30 | Intel Corporation | Managing solid state drive defect redundancies at sub-block granularity |
KR102596407B1 (ko) | 2018-03-13 | 2023-11-01 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN111324287A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
US10916310B2 (en) * | 2019-05-10 | 2021-02-09 | Macronix International Co., Ltd. | Memory system, memory controller, and memory control method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100876084B1 (ko) * | 2007-02-13 | 2008-12-26 | 삼성전자주식회사 | 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템 |
EP2441004B8 (en) * | 2009-06-12 | 2020-02-19 | Violin Systems LLC | Memory system having persistent garbage collection |
JP2011192260A (ja) * | 2010-02-16 | 2011-09-29 | Toshiba Corp | 半導体記憶装置 |
WO2012051600A2 (en) * | 2010-10-15 | 2012-04-19 | Kyquang Son | File system-aware solid-state storage management system |
-
2013
- 2013-11-14 CN CN201310567981.3A patent/CN104102456B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104102456A (zh) | 2014-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102017124079B4 (de) | Speichervorrichtung zum Verarbeiten von beschädigten Metadaten und Verfahren zum Betreiben derselben | |
JP6759459B2 (ja) | 物理メディアアウェア空間的結合ジャーナル処理及びリプレイ | |
US7409492B2 (en) | Storage system using flash memory modules logically grouped for wear-leveling and RAID | |
TWI502594B (zh) | 用於快閃儲存裝置之半區塊管理 | |
CN104102456B (zh) | 存储器装置机器操作方法 | |
CN109783017B (zh) | 一种存储设备坏块的处理方法、装置及存储设备 | |
CN101840380B (zh) | 保护元数据免受意外断电影响的装置和方法 | |
CN112596667B (zh) | 在固态驱动器中组织nand块并放置数据以便于随机写入的高吞吐量的方法和系统 | |
CN108228396B (zh) | 用于处理驱动器的错误的方法和设备 | |
JP2016506585A (ja) | データストレージのための方法及びシステム | |
TW201324154A (zh) | 記憶體儲存系統及其中控裝置、管理方法與斷電復原方法 | |
CN102667739A (zh) | 存储装置管理装置及用于管理存储装置的方法 | |
CN110032521A (zh) | 用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和系统 | |
CN111274061B (zh) | 处理大容量存储器中的不可纠正的数据错误的系统和方法 | |
CN101681307A (zh) | 存储器系统 | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
CN104854554A (zh) | 储存转换层 | |
JP4460967B2 (ja) | メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法 | |
CN105335220A (zh) | 一种存储设备的事务恢复方法,及装置 | |
CN109727630A (zh) | 存储系统及其操作方法 | |
US8966161B2 (en) | Memory storage device and restoring method thereof | |
CN113204315B (zh) | 一种固态硬盘读写方法和装置 | |
CN104103309B (zh) | Nand阵列的操作方法及计算机可读取的非暂时性储存媒体 | |
CN108536619A (zh) | 快速恢复ftl表的方法与装置 | |
CN107544866A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |