[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN111949208B - 数据存储装置的存储器的虚拟物理擦除 - Google Patents

数据存储装置的存储器的虚拟物理擦除 Download PDF

Info

Publication number
CN111949208B
CN111949208B CN202010227287.7A CN202010227287A CN111949208B CN 111949208 B CN111949208 B CN 111949208B CN 202010227287 A CN202010227287 A CN 202010227287A CN 111949208 B CN111949208 B CN 111949208B
Authority
CN
China
Prior art keywords
data
memory
flash memory
block
electronic processor
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
Application number
CN202010227287.7A
Other languages
English (en)
Other versions
CN111949208A (zh
Inventor
R.穆西亚
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
Western Digital Technologies Inc
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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN111949208A publication Critical patent/CN111949208A/zh
Application granted granted Critical
Publication of CN111949208B publication Critical patent/CN111949208B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/061Improving I/O performance
    • 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/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)

Abstract

数据存储装置的存储器的虚拟物理擦除。一个示例数据存储装置可以包含闪速存储器。所述数据存储装置可以进一步包含电子处理器,所述电子处理器可以配置成将第一数据部分存储在所述闪速存储器中,并且从存取装置接收物理擦除请求。所述电子处理器可以进一步配置成识别所述闪速存储器的第一块和所述第一块中所述第一数据部分存储在所述闪速存储器中的存储器片段。所述电子处理器可以进一步配置成响应于接收到所述物理擦除请求,将与所述存储器片段相对应的一个或多个单元编程为升高的电压状态,以使存储在所述闪速存储器中的所述第一数据部分模糊。

Description

数据存储装置的存储器的虚拟物理擦除
技术领域
本申请大体上涉及安全地擦除数据存储装置的存储器。
背景技术
例如闪速存储器之类的存储器可以由许多应用程序存取,其中一些应用程序存储高度敏感的数据,而另一些应用程序不存储高度敏感的数据。因此,存储器可以为应用程序提供“安全写入”和“安全读取”接口,以确保存储在存储器中的数据的安全性。类似地,存取存储器的一些应用程序可能要求从存储器中删除的数据具有较高的安全性。擦除存储器的常规方法包含“逻辑擦除”,其中从控制表中删除要擦除的存储器部分的闪速过渡层(FTL)映射,从而避免对存储器的所述部分的任何存取。然而,通过使用“逻辑擦除”,存储器部分中的数据仍物理地存在于存储器中,因此有可能被存取。虽然在一些情况下可以物理地擦除存储器,但是对存储器(例如,闪速存储器)的物理擦除已经限于擦除存储器的整个块。然而,当要物理地擦除的数据部分少于整个块时,物理地擦除存储器的整个块需要许多附加步骤(例如,压缩不被擦除而是存储于要擦除的块中的大量数据)。
发明内容
如说明书中所述,各个方面涉及当要擦除的数据部分少于存储器的整个块时,用于安全地擦除存储在存储器中的数据的一部分而不物理地擦除存储器的整个块的装置和方法。在一些实施例中,所公开的装置和方法在安全擦除过程期间能提高存储器的性能和NAND耐久性,并且能减少存储器的功耗、处理时间以及写入放大。
在说明书中阐述的一个示例方面,提供了一种数据存储装置,所述数据存储装置可以包含闪速存储器,所述闪速存储器包含具有多个字线的多个块。所述数据存储装置可以进一步包含电子处理器,所述电子处理器可以配置成将第一数据部分存储在闪速存储器中,并且从存取装置接收物理擦除请求。物理擦除请求可以指示要从闪速存储器中物理地擦除第一数据部分。电子处理器可以进一步配置成识别闪速存储器的第一块和第一块中第一数据部分存储在闪速存储器中的存储器片段。电子处理器可以进一步配置成响应于接收到物理擦除请求,将与存储器片段相对应的一个或多个单元编程为升高的电压状态,以使存储在闪速存储器中的第一数据部分模糊。
在上述数据存储装置的一些实施例中,电子处理器配置成通过响应于接收到物理擦除请求而将与存储器片段相对应的一个或多个单元编程为最高可编程电压状态以使存储在闪速存储器中的第一数据部分模糊来将与存储器片段相对应的一个或多个单元编程为升高的电压状态。在上述数据存储装置的一些实施例中,电子处理器配置成通过响应于接收到物理擦除请求而基于随机密钥将与存储器片段相对应的一个或多个单元随机地编程为随机升高的电压状态以使存储在闪速存储器中的第一数据部分模糊来将与存储器片段相对应的一个或多个单元编程为升高的电压状态。
在说明书中阐述的另一示例方面,提供了一种执行数据存储装置的虚拟物理擦除的方法。所述方法可以包含用电子处理器将第一数据部分存储在数据存储装置的闪速存储器中。闪速存储器可以包含具有多个字线的多个块。所述方法可以进一步包含用电子处理器从存取装置接收物理擦除请求。物理擦除请求可以指示要从闪速存储器中物理地擦除第一数据部分。所述方法可以进一步包含用电子处理器识别闪速存储器的第一块和第一块中第一数据部分存储在闪速存储器中的存储器片段。所述方法可以进一步包含响应于接收到物理擦除请求,用电子处理器将与存储器片段相对应的一个或多个单元编程为升高的电压状态,以使存储在闪速存储器中的第一数据部分模糊。
在上述示例方法的一些实施例中,将一个或多个单元编程为升高的电压状态包含:响应于接收到物理擦除请求,将与存储器片段相对应的一个或多个单元编程为最高可编程电压状态,以使存储在闪速存储器中的第一数据部分模糊。在上述示例方法的一些实施例中,将一个或多个单元编程为升高的电压状态包含:响应于接收到物理擦除请求,基于随机密钥将与存储器片段相对应的一个或多个单元随机地编程为随机升高的电压状态,以使存储在闪速存储器中的第一数据部分模糊。
以这种方式,本说明书中阐述的各个方面至少在存储装置的技术领域及其设计和架构上提供了改进。
本说明书中阐述的各个方面可以以各种形式来体现,包含通过计算机实现的方法控制的硬件或电路、计算机程序产品、计算机系统和网络、用户界面和应用程序编程界面;以及硬件实现的方法、信号处理电路、存储器阵列、专用集成电路、现场可编程门阵列等。前述发明内容仅旨在给出本说明书中阐述的各个方面的一般构思,而不以任何方式限制本说明书的范围。
附图说明
在以下描述中更全面地公开了各种实施例的这些和其它更详细和具体的特征,其中参考了附图,附图中:
图1是包含存取装置和数据存储装置的系统的实例的框图,所述数据存储装置配置成执行数据存储装置的存储装置的一部分存储器的虚拟物理擦除。
图2示出图1的存储器装置的存储器的单元的四个可能状态的示例图。
图3示出执行图1的存储器的一部分的虚拟物理擦除(即安全擦除)的方法的示例流程图。
图4示出图1的存储器的示例块。
具体实施方式
下文参考附图描述说明书中阐述的特定方面。在说明书中,共同的特征由共同的附图标记表示。虽然本文参考数据存储装置描述了某些实例,但是应理解,本文描述的技术可应用于其它实施方案。此外,应理解,可以提供某些序数术语(例如,“第一”或“第二”)以便于参考,而不一定暗示物理特性或顺序。因此,如本文所使用,用于修饰例如结构、组件、操作等元件的序数词(例如“第一”、“第二”、“第三”等)未必指示所述元件相对于另一元件的优先级或次序,而是仅仅区别所述元件与具有相同名称(但所用序数词不同)的另一元件。如本文所使用,“示例性”可指示实例、实施方案和/或方面,且不应理解为限制或指示偏好或优选实例、实施方案和/或方面。
如上所述,存取例如闪速存储器之类的存储器的一些应用程序对于从存储器中擦除的数据可能需要高级别的安全性(例如,确保已擦除的数据在被擦除之后不能被存取)。虽然在一些情况下可以物理地擦除存储器以确保无法存取已擦除的数据,但对存储器的物理擦除仅限于擦除存储器的整个块。然而,当要物理擦除的数据部分少于存储器的整个块时(通常是这种情况),对存储器的整个块的物理擦除需要许多附加步骤。换句话说,与在例如字线粒度或单元粒度之类的更精细级别物理地擦除数据相反,仅在块粒度上才可能进行存储器的一部分的物理擦除。因此,为了物理地擦除数据的小部分(例如12MB块的4KB帧存储器单元),存储器将识别存储数据的小部分的块,并将存储在所述块中的所有其它数据重定位到存储器的一个或多个其它块(即执行压缩),然后通过将块中的所有单元重置为其最低电压状态来物理地擦除整个块。在许多情况下,此过程可能很繁琐,因为通过擦除数据的一小部分所在的整个块以物理地擦除数据的一小部分之前,比要擦除的数据量(例如4KB)大得多的数据量(例如,超过11MB)经过压缩以重定位到存储器中的其它块。
这种高压缩量通过消耗额外的功率、花费额外处理时间来执行、增加写入放大以及降低NAND耐久性而降低了存储器的性能。例如,在不再使用存储器之前,存储器可能具有有限数量的“编程/擦除”(P/E)周期。对于频繁执行存储器部分物理擦除的高安全性应用程序,由于在物理擦除存储器块之前的压缩,常规存储器可能会经历许多额外的P/E周期。因此,除其它优点外,使用本文描述的装置和方法减少压缩可以通过减少当存储器正执行对所存储数据的物理擦除时在压缩期间经历的P/E周期的数量来提高存储器的NAND耐久性。
如说明书中所阐述的各个方面描述了当要擦除的数据部分少于整个块时,用于安全地擦除存储在存储器中的数据的一部分而不物理地擦除存储器的整个块的装置和方法。在一些实施例中,所公开的装置和方法通过减少或消除在配置成仅通过物理块擦除方法安全地擦除所存储数据的常规存储器中发生的压缩来提高存储器的性能和NAND耐久性,并减少存储器的功耗、处理时间以及写入放大。
图1描绘了包含数据存储装置102和存取装置160的系统100的说明性实例。数据存储装置102包含电子处理器130(例如,存储器控制器)和耦合到电子处理器130的存储器装置103(例如,一个或多个存储器裸片)。在一些实施例中,电子处理器130包含微处理器或其它电子装置,并且包含输入和输出接口以耦合到存取装置160的组件和/或数据存储装置102的其它组件(例如,存储器装置103)。在一些实施例中,存储器装置103包含存储器104,如下文更详细地解释。
在一些实施例中,电子处理器130包含编码器140、解码器144和存储器148。电子处理器130可以接收或生成要存储在存储器装置103处的输入数据163。输入数据163可以提供给编码器140。编码器140配置成变换输入数据163以生成存储在存储器装置103中的编码数据(即,写入数据168)。例如,编码器140可以包含编码映射器142,所述编码映射器配置成使用编码映射表143将输入数据163映射到对应写入数据168。在一些实施例中,在将输入数据163存储在存储器装置103中以生成写入数据168之前,通过一个或多个写入缓冲器(未示出)从编码器140传送输入数据163。可以执行写入操作以基于从编码器140和/或一个或多个写入缓冲器接收到的写入数据168将存储器装置103的存储器104的存储元件编程为电压状态。
在将写入数据168存储到存储器装置103之后,可以在存储元件上执行读取操作以生成读取数据170。读取数据170可以对应于存储器装置103的存储元件的电压状态。读取数据170可以提供给解码器144,所述解码器配置成变换读取数据170以生成解码数据(例如,输出数据174)。例如,解码器144可以包含解码映射器146,所述解码映射器配置成初始化变换表(例如,解码映射表147),所述变换表配置成指示(读取数据170的)位组到(输出数据174的)解码位组的映射。转换表可以是静态表或动态表。在一些实施例中,在提供给解码器144之前,读取数据170可以存储在一个或多个读取缓冲器(未示出)中。
存储器148可以耦合到编码器140和解码器144。存储器148可以包含非易失性存储器、随机存取存储器(RAM)、只读存储器(ROM)、其它非暂时性存储器计算机可读介质,或其组合。存储器148可以包含映射表151和字线元数据152。映射表151可以包含一个或多个映射表,例如编码映射表143或解码映射表147。
字线元数据152可以包含与存储器104相关联的一个或多个条目。例如,一个或多个条目中的每个条目可以对应于存储器104的不同字线。每个条目可以包含频率表初始化数据,所述频率表初始化数据可以包含应用于映射表以初始化(例如,随机化)映射表的密钥值。例如,可以将字线106的密钥值应用于编码映射表143,以初始化编码映射表143以用于对要存储在字线106处的输入数据163进行编码。作为另一实例,字线的密钥值可以应用于解码映射表147,以初始化(例如,随机化)解码映射表147以用于对读取数据170进行解码并生成输出数据174。在一些实施例中,字线元数据152包含与存储器104中存储了写入数据168以允许在稍后的时间存取所述数据的特定地址相对应的闪速过渡层(FTL)映射信息。每当电子处理器130将数据写入存储器104和/或从存储器104擦除数据时,电子处理器130可以更新FTL映射信息,以便跟踪存储器104中已经存储了数据的特定地址以及存储器中可用于存储数据的地址。
在一些实施例中,映射表151、字线元数据152或两者可以存储在存储器104中。在其它实施方案中,电子处理器130可以包含或可以耦合到特定的例如随机存取存储器(RAM)之类的存储器,所述存储器配置成存储映射表151、字线元数据152或两者。在一些实施方案中,特定存储器可以包含存储器148。替代地或另外,电子处理器130可以包含或可以耦合到另一存储器(未示出),例如非易失性存储器、RAM或只读存储器(ROM)。其它存储器可以配置成存储映射表151、字线元数据152或两者。另一存储器可以是单个存储器组件、多个不同的存储器组件,和/或可以包含多个不同类型(例如,易失性存储器和/或非易失性)的存储器组件。在一些实施方案中,另一存储器可以被包含在存取装置160中。
数据存储装置102和存取装置160可以经由例如总线或无线连接之类的连接(例如,通信路径179)耦合。数据存储装置102可以包含第一接口(例如,存取装置接口),所述第一接口使得能够经由通信路径179在数据存储装置102与存取装置160之间进行通信。
存取装置160可以包含存储器接口(未示出),并且可以配置成经由存储器接口与数据存储装置102通信以从数据存储装置102的存储器装置103读取数据和向所述存储器装置写入数据。例如,存取装置160可以遵照联合电子装置工程委员会(JEDEC)行业规范,例如通用闪速存储装置(UFS)存取控制器接口规范来操作。作为其它实例,存取装置160可以遵照一个或多个其它规范进行操作,作为说明性的非限制性实例,例如遵照安全数字(SD)存取控制器规范进行操作。在一些实施方案中,数据存储装置102和存取装置160可以配置成使用一个或多个协议进行通信,作为说明性的非限制性实例,例如使用eMMC协议、通用闪速存储装置(UFS)协议、通用串行总线(USB)协议、串行高级技术附件(SATA)协议、外围组件互连Express(PCIe)、非易失性存储器Express(NVMe)和/或另一协议进行通信。存取装置160可以根据任何其它合适的通信协议与存储器装置103通信。
在一些实施方案中,数据存储装置102可以附接到或嵌入于一个或多个存取装置中,例如在存取装置160的外壳内。例如,例如根据联合电子装置工程委员会(JEDEC)固态技术协会通用闪速存储装置(UFS)配置,数据存储装置102可以嵌入于存取装置160内。例如,作为说明性实例,数据存储装置102可以配置成作为嵌入式存储器耦合到存取装置160,例如(JEDEC固态技术协会的商标,弗吉尼亚州阿灵顿)和eSD。为了说明,数据存储装置102可以对应于eMMC(嵌入式多媒体卡)装置。作为另一实例,数据存储装置102可以对应于存储卡,例如安全数字/>卡、/>卡、迷你SDTM卡(SD-3C LLC的商标,特拉华州威尔明顿)、MultiMediaCardTM(MMCTM)卡(JEDEC固态技术协会的商标,弗吉尼亚州阿灵顿市)或/>(CF)卡(SanDisk公司的商标,加利福尼亚州米尔皮塔斯市)。为了进一步说明,数据存储装置102可以集成在设备(例如,存取装置160或另一装置)内,例如移动电话、计算机(例如,笔记本电脑、平板电脑或笔记本计算机)、音乐播放器、视频播放器、游戏装置或控制台、电子书阅读器、个人数字助理(PDA)、便携式导航装置或其它使用非易失性存储器的装置。
在其它实施方案中,数据存储装置102可以在配置成选择性地耦合到一个或多个外部存取装置的便携式装置中实施。例如,数据存储装置102可以从存取装置160移除(即,“可移除地”耦合到存取装置160)。作为实例,数据存储装置102可以根据可移除通用串行总线(USB)配置可移除地耦合到存取装置160。在又其它实施方案中,数据存储装置102可以是例如企业数据系统、网络附加存储系统、云数据存储系统等网络可存取数据存储系统的组件(例如,固态驱动器(SSD))。在一些实施方案中,数据存储装置102例如经由网络间接地耦合到存取装置160。例如,网络可以包含数据中心存储系统网络、企业存储系统网络、存储区域网络、云存储网络、局域网(LAN)、广域网(WAN)、互联网和/或其它网络。在一些实施方案中,数据存储装置102可以是网络附加存储(NAS)装置或数据中心存储系统、企业存储系统或存储区域网络的组件(例如,固态驱动器(SSD)装置)。
存取装置160可以包含电子处理器和可以类似于上文关于数据存储装置102描述的电子处理器130和存储器148的存储器。存取装置160的存储器可以配置成存储可以由存取装置160的电子处理器执行的数据和/或指令。存取装置160的存储器可以是单个存储器或可以包含多个存储器,例如一个或多个非易失性存储器、一个或多个易失性存储器,或其组合。存取装置160可以向数据存储装置102发出一个或多个命令,例如从数据存储装置102的存储器装置103擦除数据、读取数据或向其写入数据的一个或多个请求。例如,存取装置160可以配置成提供要存储在存储器装置103处的数据,例如数据162,或者请求要从存储器装置103读取的数据。作为另一示例,存取装置160可以提供不同类型的擦除数据的请求,例如逻辑擦除请求和物理擦除请求(响应于此,数据存储装置102可以对存储器104的块的一部分执行物理块擦除或虚拟物理擦除),如下文中更详细地解释。
数据存储装置102的存储器装置103可以包含一个或多个存储器裸片,例如一个存储器裸片、两个存储器裸片、八个存储器裸片或另一数量的存储器裸片。存储器装置103包含存储器104,例如包含在存储器装置103的存储器裸片中的存储元件的非易失性存储器。例如,作为说明性的非限制性实例,存储器104可以包含例如NAND闪速存储器的闪速存储器,或例如电阻式随机存取存储器(ReRAM)的电阻式存储器。在一些实施方案中,存储器104可以包含或对应于存储器装置103的存储器裸片。存储器104可以具有三维(3D)存储器配置。作为实例,存储器104可以具有3D竖直位线(VBL)配置。在特定实施方案中,存储器104是具有3D存储器配置的非易失性存储器,所述3D存储器配置整体地形成在具有设置于硅衬底上方的有源区域的存储器单元阵列的一个或多个物理层级中。替代地,存储器104可以具有另一配置,例如二维(2D)存储器配置或非整体3D存储器配置(例如,堆叠裸片3D存储器配置)。
存储器104可以包含多个存储元件(例如,在本文中也称为存储器单元),例如一个或多个存储元件的代表性块107。例如,块107中的每一个可以是NAND闪速擦除块。存储器104的每个存储元件(即,单元)可以被编程为指示一个或多个值(例如一个或多个位值(见图2))的状态(例如,闪速配置中的阈值电压或电阻式存储器配置中的电阻状态)。在一些实施例中,存储器104是包含多个块107的闪速存储器。存储器104的每个块107可以包含一个或多个字线,例如代表性字线(WL)106。图1仅示出了每个块107中的四个代表性字线,但在其它实施方案中,存储器104可以包含任意数量的字线,并且每个块107可以包含任意数量的字线。例如,存储器104的每个块107可以包含96个字线。同样,虽然图1仅示出了两个代表性块107,但在其它实施方案中,存储器104可以包含任意数量的块107。每个字线可以包含一个或多个存储元件(即,单元)。例如,代表性字线106包含代表性存储元件,例如第一存储元件109和第二存储元件110以及其它存储元件(即,单元109)。作为说明性的非限制性实例,字线可配置成操作为单级单元(SLC)字线、多级单元(MLC)字线或三级单元(TLC)字线。为了说明,可以将特定字线的每个存储元件配置为被编程为表示单个位值或例如两位值、三位值、四位值等(见图2)多位值的对应阈值电压(例如,电压状态)。在例如存储器104包含3D存储器配置的实施例的一些实施例中,每个字线106可以包含多个字符串(例如,四个字符串)。在此类实施例中,每个字符串包含可以在其中存储数据的存储元件109(即,单元109)。贯穿本说明书,术语“字线”描述上述字线106以及3D存储器的字线内的字符串。换句话说,术语“字线”表示存储器104的块107的单元或单独寻址部分,其中所述单元或单独寻址部分包含配置成存储数据的多个单元109。
存储器装置103可以包含例如读取/写入(R/W)电路105之类的支持电路,以支持存储器装置103的一个或多个存储器裸片的操作。读取/写入电路105可以被划分为存储器装置103的单独的组件,例如读取电路和写入电路。写入电路可以配置成将多个存储元件中的每一个编程为对应的电压状态。读取电路可以配置成对多个存储元件执行读取操作,以针对每个存储元件确定与所述存储元件的编程电压状态相对应的读取位组。R/W电路105可以在存储器装置103的一个或多个裸片的外部。替代地,存储器装置103的一个或多个单独的存储器裸片可以包含对应读取/写入电路,其可用于从单独的存储器裸片内的存储元件读取数据和/或向其写入数据,而与任何其它存储器裸片上的任何其它读取和/或写入操作无关。
存储器装置103可以经由总线120耦合到电子处理器130。例如,总线120可以包含一个或多个通道,以使得电子处理器130能够与存储器装置103的单个存储器裸片通信。作为另一实例,总线120可以包含多个不同的通道,以使电子处理器130能够与存储器装置103的每个存储器裸片通信,此通信和与存储器装置103的其它存储器裸片的通信并行且独立。电子处理器130配置成从存取装置160接收数据和指令,并且将数据发送到存取装置160。例如,电子处理器130可以经由通信路径179将数据发送到存取装置160,并且电子处理器130可以经由通信路径179从存取装置160接收数据。
电子处理器130配置成向存储器104发送数据和命令并从存储器104接收数据。例如,电子处理器130配置成向存储器104的地址发送写入数据168和使存储器104存储写入数据168的写入命令。写入命令可以指定要存储数据的存储器104的一部分的物理地址(例如,存储器104的字线的物理地址)。作为说明性的非限制性实例,电子处理器130还可以配置成向与后台扫描操作、垃圾收集操作和/或损耗均衡操作等相关联的存储器104发送数据和命令。电子处理器130配置成向存储器104发送读取命令,以从存储器104的指定地址存取数据。读取命令可以指定存储器104的一部分的物理地址(例如,存储器104的字线的物理地址)。电子处理器130还配置成向存储器104发送擦除命令以从存储器104的指定地址擦除数据(例如,存储器104的块的一部分的物理块擦除和虚拟物理擦除),如下文中更详细地解释。
虽然已经关于电子处理器130描述了数据存储装置102的一个或多个组件,但在其它实施方案中,某些组件可以包含在存储器装置103(例如,存储器104)中。例如,编码器140、解码器144或两者可以包含在存储器装置103中。替代地或另外,可以在存储器装置103处或由存储器装置103执行如上文参考电子处理器130描述的一个或多个功能。例如,编码器140、解码器144或两者的一个或多个功能可以由存储器装置103中包含的组件和/或电路来执行。
替代地或另外,数据存储装置102的一个或多个组件可以包含在存取装置160中。例如,编码器140、解码器144或两者中的一个或多个可以包含在存取装置160中。替代地或另外,可以在存取装置160处或由存取装置160执行如上文参考电子处理器130描述的一个或多个功能。作为说明性的非限制性实例,存取装置160可以配置成对数据进行编码(如参考编码器140所述),并将编码后的数据作为数据162提供给数据存储装置102。
在一些实施例中,当存储器104是某种类型的存储器(例如,NAND闪速存储器)时,只能通过升高单元104的电压状态来编程(即,写入)存储器104的单元。例如,图2示出配置成两位单元的存储器104的单元的四个可能状态的图200。图2举例示出两位单元,并且在其它实施例中,存储器104的每个单元的位数可以大于或小于两个。如图2所示,存储器104的每个单元最初可以处于包含四个可能状态中的最低电压的擦除状态“11”。通过将一个或多个单元的电压升高到较高电压状态“10”、“00”或“01”中的一个,可以将数据写入存储器104以进行存储。当将数据写入单元以使所述单元处于中间电压状态“10”或“00”中的一个时,通过将单元的电压升高到较高的电压状态(例如,最高电压状态“01”),附加数据可以覆写同一单元中的现有数据(即,可以对单元进行重编程)。然而,在单元被物理地擦除之前,无论电压状态如何,都不能将单元重编程为较低的电压状态。换句话说,只能通过升高其电压状态来对单元进行编程和/或重编程。
如本文先前所解释,存储器104中的单元的物理擦除已限于执行压缩以重定位不打算被擦除的数据,然后擦除存储器104的整个块107。换句话说,在常规存储器中,在不执行潜在大量压缩和物理擦除数据的这些较少部分位于其中的整个块107的情况下,不能物理地擦除少于整个块107的存储器104的数据部分(例如,一个或多个字线106和/或一个或多个单元109)。
与其中单元被重置为其最低电压状态(即,擦除状态)“11”的物理擦除不同,存储器104的单元的逻辑擦除可以在更细粒度的水平上,例如基于特定字线或基于特定单元进行。如本文先前所解释,逻辑上擦除存储器104的单元包含删除存储器104的要擦除的数据部分的闪速过渡层(FTL)映射信息,从而避免对存储器104的所述数据部分的任何存取。例如,响应于从存取装置160接收到指示要从存储器104逻辑地擦除数据的一部分的逻辑擦除请求,电子处理器130配置成识别存储器104的块、块的字线,以及字线中存储所述数据部分的存储器片段。电子处理器130可以配置成通过存取FTL映射信息来识别将被擦除的所述数据的部分的此地址信息。同样响应于逻辑擦除请求,电子处理器130配置成从FTL映射信息中删除与存储器片段相对应的地址信息,使得不可以再通过使用FTL映射信息来存取所述数据部分。然而,在逻辑上擦除存储器104的所述数据部分之后,所述数据部分仍物理地存在于存储器104中,并且因此潜在地可存取(即,尚未安全地擦除数据,使得数据是永久不可存取的)。
因此,常规存储器尚未配置为以比块粒度更精细的粒度级别物理地擦除存储在存储器104中的数据,并且存储器104的物理块擦除可能会降低存储器104的性能,如本文先前所述。因此,关于安全地擦除先前已经存储在存储器(例如,NAND闪速存储器)中的数据存在技术问题。
为了解决此技术问题,在一个例子中,电子处理器130执行图3所示的方法300。在一些实施例中,方法300由电子处理器130执行以执行存储器104的虚拟物理擦除,所述虚拟物理擦除安全地擦除存储在存储器104的小于整个块的一部分中的数据,而不是物理地擦除其中存储数据部分的整个块。因此,方法300允许安全地擦除存储器104中的数据部分,同时执行比物理地擦除其中存储数据部分的整个块所需的更少的压缩(或完全不进行压缩)。方法300通过减少或消除在配置成仅以块粒度物理地擦除所存储数据的常规存储器中发生的压缩,从而提高存储器104的性能和NAND耐久性并减少存储器104的功耗、处理时间和写入放大来解决上述技术问题。换句话说,与仅配置成以块粒度安全地擦除存储器的部分的常规存储器相比,方法300允许以字线粒度或单元粒度来安全地擦除存储器104的部分。
图3示出由电子处理器130执行以执行存储器104的一部分的虚拟物理擦除(即,安全擦除)的方法300的流程图。虽然作为实例,在图3中示出了特定的处理步骤顺序,但是可以在适当的情况下改变这些步骤的时间和顺序,而不会否定在整个本公开的其余部分中详细阐述的实例的目的和优点。
在框305,电子处理器130将第一数据部分存储在存储器104(下文称为闪速存储器104)中。例如,电子处理器130如本文先前所解释那样将写入数据168存储在闪速存储器104中。在一些情况下,第一数据部分小于闪速存储器104的整个块。在一些情况下,第一数据部分小于闪速存储器104的字线。换句话说,第一数据部分可以存储在闪速存储器104的块407的字线410内的多个单元中(见图4)。
在框310,电子处理器130从存取装置160接收物理擦除请求。在一些实施例中,物理擦除请求指示要从闪速存储器104物理地擦除第一数据部分(即,安全擦除,以便永久无法存取第一数据部分)。在一些情况下,物理擦除请求指示可以根据图3的方法300的其余块虚拟地物理擦除第一数据部分。在其它情况下,物理擦除请求可以指示通过执行压缩且物理地擦除存储第一数据部分的整个块407,以常规方式从闪速存储器104物理地擦除第一数据部分。在这种情况下,电子处理器130以常规方式执行压缩并且物理地擦除存储器104的整个块407,并且可不执行图3的方法300的其余块。
在框315,响应于从存取装置160接收到物理擦除请求,电子处理器130识别闪速存储器104的第一块407和第一块407中第一数据部分存储在闪速存储器104中的存储器片段420(见图4)。在一些实施例中,电子处理器130还识别包含存储器片段420的第一块407的第一字线410。换句话说,存储器片段420对应于其中第一数据部分存储在闪速存储器104中的单元的地址。如本文先前所解释的,电子处理器130可以配置成通过存取包含在字线元数据152中的闪速过渡层(FTL)映射信息来识别这些单元(即,第一块407、第一块407的第一字线410,以及第一字线410的存储器片段420的地址。
在框320,响应于接收到物理擦除请求,电子处理器130将与存储器片段420相对应的一个或多个单元编程为升高的电压状态,以使存储在闪速存储器104中的第一数据部分模糊(即,电子处理器130对与存储器片段420相对应的单元执行NAND绘制)。在一些实施例中,响应于接收到物理擦除请求,电子处理器130配置成将与存储器片段420相对应的单元编程为最高可编程电压状态(例如,图2中的“01”),以使存储在闪速存储器104中的第一数据部分模糊。在一些闪速存储器中,可能不可能将与存储器片段420相对应的所有单元编程为最高可编程电压状态。因此,在替代实施例中,响应于接收到物理擦除请求,电子处理器130配置成基于随机密钥将与存储器片段420相对应的一个或多个单元随机地编程为随机升高的电压状态,以使存储在闪速存储器104中的第一数据部分模糊。在这种实施例中,存储器片段420的不同单元被随机地编程以增加例如零、一、二或三个电压状态(见图2)。
在框320的每个以上实施例中,电子处理器130使存储在存储器片段420中的第一数据部分模糊,使得第一数据部分是永久不可存取的(即,被安全地擦除)。例如,在其中存储器片段420的单元被编程为其最高可编程电压状态(例如,图2中的“01”)的实施例中,如果存储器片段420随后由电子处理器130或另一装置读取,则存储器片段420将不提供任何可理解的数据。换句话说,模糊的存储器片段420包含全部具有相同的电压状态(即,最高可编程电压状态)的单元,这与物理擦除单元时都具有相同的电压状态(即,最低电压状态,也称为擦除状态)类似。类似地,在其中基于随机密钥将存储器片段420的单元编程为随机升高的电压状态的实施例中,如果存储器片段420由电子处理器130或另一装置读取,则存储器片段420也将不提供任何可理解的数据。另外,因为如本文先前所述,只能通过升高单元的电压状态来对单元进行重编程,所以直到将单元物理地擦除才能将单元重编程为较低电压状态。因此,不能恢复模糊之前存储在存储器片段420中的数据。因此,当电子处理器130将存储器片段420的单元编程为其最高可编程电压状态或随机升高的电压状态时(在框320),电子处理器130虚拟地物理擦除存储器片段420(即,执行安全擦除)而无需物理地擦除存储器片段420所位于的整个块407。换句话说,其中存储器片段420所在的块407包含至少一个先前已被编程为电压状态以存储将不被物理擦除的其它数据的单元(例如,除了字线410之外的块407的字线的单元)。在电子处理器130将与存储器片段420相对应的一个或多个单元编程为升高的电压状态以使存储在闪速存储器104中的第一数据部分模糊之后,此至少一个单元保持处于先前编程的电压状态。
在一些实施例中,电子处理器130可以配置成基于应用特性和NAND裸片质量以及用于不同闪速存储器的参数来实施框320的不同实施例(即,最高可编程电压状态重编程或随机升高的电压状态重编程)。例如,对于一些闪速存储器,用最高可编程电压状态对许多连续的单元进行编程可能会影响相邻的单元,因此可以选择由电子处理器130实施随机升高的电压状态重编程。作为另一实例,当安全性比对相邻单元的可能影响更重要时,可以选择由电子处理器130实施最高可编程电压状态重编程,因为最高可编程电压状态重编程不使用随机密钥因此可更加安全。
在上述实施例中的任一个中,电子处理器130可以配置成通过单次编程和增量编程中的至少一个将与存储器片段420相对应的单元编程为处于升高的电压状态。在一些实施例中,单元的单次编程使得电子处理器130在单个编程周期中将单元编程为升高的电压状态(例如,其最高可编程电压状态)。另一方面,对单元的增量编程使得电子处理器130在多个编程周期中将单元编程为升高的电压(例如,其最高可编程电压状态),使得单元被增量地重编程为升高的电压。类似于上文解释的在使电子处理器130实施最高可编程电压状态重编程或随机升高的电压状态重编程之间进行选择,电子处理器130可以配置成取决于应用特性以及NAND裸片质量和参数来实施单次编程和/或增量编程。
在一些实施例中,电子处理器130可以配置成在最高可编程电压状态重编程或随机升高的电压状态重编程之间;和/或(ii)在单次编程或增量编程之间动态地选择。在一些实施例中,电子处理器130可以基于存储器类型(例如,2D或3D)、闪速存储器104的使用年限、闪速存储器104的块的质量、其它因素和/或组合来做出此类选择。例如,响应于确定闪速存储器104的使用年限超过预定阈值,电子处理器130可以在方法300的执行期间从使用最高可编程电压状态重编程切换为使用随机升高的电压状态重编程以尝试延长闪速存储器104的使用寿命。作为另一实例,电子处理器130可以基于要擦除数据的安全级别(例如,最高可编程电压状态重编程可以提供更高级别的安全性,因为它不涉及随机密钥)来确定是使用最高可编程电压状态重编程还是使用随机升高的电压状态重编程。作为另一实例,当闪速存储器104的块的质量较高时,电子处理器130可以使用单次编程,以减少由增量编程引起的增加的时延。然而,响应于确定闪速存储器104的块的质量已经降低到预定质量阈值以下,电子处理器130可以切换为使用增量编程来减慢和/或防止块质量/存储器健康的进一步降低。
在一些实施例中,在框320,电子处理器130配置成将存储器片段420位于其中的整个字线410的单元编程为其最高可编程电压状态或随机升高的电压状态。在这种实施例中,电子处理器130配置成通过将包含在存储器片段420所位于的字线410中的其它数据重定位到闪速存储器104中的第二块来压缩所述其它数据,因为所述其它数据不包含在要从闪速存储器104中物理地擦除的第一数据部分中。然后,响应于接收到物理擦除请求,电子处理器130将存储器片段420所位于的字线410的单元编程为升高的电压状态,以使存储在闪速存储器104中的第一数据部分模糊。虽然此实施例涉及对一些数据的压缩,但是在一个或多个字线410中压缩的数据量明显少于在闪速存储器104的整个块107的常规物理擦除期间压缩的数据量。因此,此实施例还解决了常规物理擦除闪速存储器的整个块的上述技术问题。类似于上述两个实施例中关于最高可编程电压状态重编程或随机升高的电压状态重编程之间的选择,电子处理器130可以配置成以如此实施例中描述的字线粒度或以上文基于例如应用特性以及NAND裸片质量和参数描述的单元粒度来实施虚拟物理擦除。图4的以下描述进一步解释了以字线粒度和单元粒度进行虚拟物理擦除的细节以及它们之间的区别。
图4示出闪速存储器104的示例块407。块407的每一行表示字线。块407所示的字线的数量仅是实例。在其它实施例中,字线的数量可以多于或少于图4所示的字线的量。块407包含代表性字线410,其包含被编程为不同电压状态以存储数据的多个单元。根据上文对方法300的描述,字线410中的不同符号表示数据的不同部分。由“$”符号表示的数据415指示将不被擦除的数据。另一方面,由“%”符号表示的数据指示其中存储第一数据部分的存储器片段420,所述第一数据部分将基于在图3的框310处接收到的物理擦除请求来安全擦除。虽然图4仅示出了包含数据的一个代表性字线410,但此图仅出于说明性目的,并且块407的其它字线可以包含在此实例中将由“$”表示的数据,因为在此实例中仅要擦除存储器片段420。
返回参考其中电子处理器130配置成以单元粒度实施虚拟物理擦除的实施例,电子处理器130可以将与存储器片段420相对应的单元编程为升高的电压状态,以使存储在存储器片段420内的第一数据部分模糊。在此实施例中,电子处理器130可以不执行任何压缩以将数据415重定位到闪速存储器104的其它字线或块。相反,电子处理器130可以重编程字线410,使得使用擦除状态电压“11”(见图2)对与数据415相对应的单元进行重编程,因为使用擦除状态电压对这些单元进行重编程不会影响单元的当前电压状态。如本文先前所解释,在一些实施例中,仅可通过将单元的电压升高到较高电压状态来对单元进行编程,并且直到通过物理地擦除整个块407来物理地擦除单元才能将单元重编程为较低电压状态。因此,使用擦除状态电压对与数据415相对应的单元进行重编程能保持这些单元的状态,使得数据415不受影响。因此,在电子处理器130配置成以单元粒度实施虚拟物理擦除的实施例中,电子处理器130使用擦除状态电压对与数据415相对应的单元进行重编程,并且将存储器片段420的单元重编程为其最高可编程电压状态或随机升高的电压状态以使存储在存储器片段420中的数据模糊。由于电子处理器130在此过程中仅对字线410进行重编程,因此块407的其余字线不受影响并保留任何先前存储的数据,类似于与数据415相对应的单元。
替代地,返回参考其中电子处理器130配置成以字线粒度实施虚拟物理擦除的实施例,电子处理器130可以将存储器片段420所位于的字线410的所有单元编程为升高的电压状态,以使存储在存储器片段420中的第一数据部分模糊。在此实施例中,在将存储器片段420的单元重编程为其最高可编程电压状态或随机升高的电压状态以使存储在存储器片段420中的数据模糊之前,电子处理器130通过将数据415重定位到闪速存储器104中的其它字线或其它块来压缩数据415。类似于包含以单元粒度进行虚拟擦除的实施例,因为电子处理器130仅在此过程期间对字线410重编程,因此块407的其余字线不受影响并保留任何先前存储的数据,类似于通过执行压缩而重定位的数据415。
在一些实施例中,响应于将与存储器片段420相对应的一个或多个单元编程为升高的电压状态以使存储在闪速存储器104中的第一数据部分模糊,电子处理器130配置成从字线元数据152中包含的FTL映射信息中删除与存储器片段420相对应的地址信息。换句话说,电子处理器130配置成在每次电子处理器130将一个或多个单元编程为升高的电压状态以使存储在闪速存储器104中的数据模糊时更新FTL映射信息。此类更新允许电子处理器130跟踪由虚拟物理擦除引起的闪速存储器104中的“空穴”。已被虚拟地物理擦除(和/或逻辑地擦除)的闪速存储器104的单元可以被称为空穴,因为直到执行了常规物理块擦除,这些单元才可用于重编程以存储附加数据。因此,电子处理器130配置成通过更新FTL映射信息来标记已被虚拟地物理擦除的单元,以确保这些单元直到已通过物理块擦除返回到擦除状态才会被重编程。
在一些实施例中,电子处理器130配置成监视闪速存储器104的一个或多个块中的空穴的量,以确定是否应当执行物理块擦除。例如,电子处理器130配置成确定第一块407的预定百分比(例如,25%、40%、60%等)的字线包含已被编程为升高的电压状态以使存储在闪速存储器104中的数据模糊的单元。换句话说,电子处理器130配置成确定已被编程为升高的模糊电压状态的字线的百分比超过预定阈值。响应于确定第一块407的预定百分比的字线已被编程为升高的电压状态以使存储在闪速存储器104中的数据模糊,电子处理器130可以配置成执行第一块407的常规物理块擦除。换句话说,电子处理器130可以配置成通过将包含在第一块407中的其它数据重定位到闪速存储器104中的第二块来压缩所述其它数据,并通过将第一块407的单元编程为最低可编程电压状态(即,如图2所示的擦除状态“11”)来执行第一块407的物理块擦除。在一些实施例中,电子处理器130配置成通过存取FTL映射信息来确定第一块407的预定百分比的字线包含已被编程为升高的模糊电压状态的单元。在一些实施例中,当电子处理器130监视闪速存储器104的一个或多个块中的空穴的量时,电子处理器130还考虑已从闪速存储器104逻辑地擦除的数据(例如,通过存取FTL映射信息,所述信息可以跟踪闪速存储器104的哪些部分已被逻辑地擦除)。
在一些实施例中,在执行方法300的框315之后但在执行方法300的框320之前,电子处理器130配置成确定(在框315)所识别的第一块407的预定百分比的字线是否包含已被编程为升高的电压状态以使存储在闪速存储器104中的数据模糊的单元。在此类实施例中,当已被编程为升高的模糊电压状态的字线的百分比超过预定阈值时,电子处理器130可以执行对所识别的第一块407的常规物理块擦除。替代地,当已被编程为升高的模糊电压状态的字线的百分比不超过预定阈值时,电子处理器130可以执行框320,以如本文先前所解释的执行所识别的存储器片段420的虚拟物理擦除。
在一些实施例中,如上文所描述的包含空穴的字线的预定百分比是可以由电子处理器130调节的动态阈值。例如,因为执行物理块擦除(即,垃圾收集)具有附接的时延,所以如果闪速存储器104的其它块具有足够的空间来存储新数据,则电子处理器130可以增加预定百分比以延迟物理块擦除从而避免在将新数据写入闪速存储器104时的时延。
通常相关联电路用于存储器元件的操作以及用于与存储器元件的通信。作为非限制性实例,存储器装置可以具有用于控制和驱动存储器元件以实现例如编程和读取等功能的电路。此相关联电路可在与存储器元件相同的衬底上和/或单独的衬底上。例如,用于存储器读写操作的控制器可以位于单独的控制器芯片上和/或与存储器元件相同的衬底上。
关于本文中所述的过程、系统、方法等,应理解,尽管所述过程等的步骤已被描述为根据某一排序的顺序进行,但所述过程可以按所述步骤以除本文中所述的次序以外的次序进行的方式来实践。此外应理解,某些步骤可以同时进行,可以添加其它步骤,或可以省略本文中所述的某些步骤。换句话说,本文中对过程的描述是出于说明某些实施方案的目的而提供的,并且绝不应理解为限制权利要求。
因此,应理解,以上描述旨在是说明性而非限制性的。在阅读以上描述后,将清楚除所提供的实例以外的许多实施例和应用。本发明的范围不应参考以上描述来确定,而是实际上应参考所附权利要求以及所述权利要求所授权的等效物的全部范围来确定。预期并且打算,未来的开发将对于本文讨论的技术进行,并且所公开的系统和方法将并入所述未来的实施例中。总之,应理解,本申请能够进行修改和变化。
除非本文中相反地明确指示,否则权利要求书中所用的所有术语旨在被赋予如本文所述的技术领域的技术人员所理解的其最广泛的合理构造和其普通含义。具体地,除非权利要求相反地叙述了明确限制,否则例如“一”、“所述(the)”、“所述(said)”等单数冠词的使用应理解为列举一个或多个所表示的要素。
提供本公开的摘要以允许读者快速确定技术公开内容的性质。提交本文档时,应理解为不会将其用于解释或限制权利要求的范围或含义。另外,在前述详细描述中,可以看出在各种实施例中,出于精简本发明的目的将各种特征分组在一起。不应将本公开的方法解释为反映以下意图:所要求保护的实施例需要比每个权利要求中明确叙述的特征更多的特征。相反,如所附权利要求书所反映,发明主题在于少于单个公开实施例的所有特征。因此,所附权利要求据此并入具体实施方式中,其中每项权利要求独立地作为单独要求保护的主题。

Claims (20)

1.一种数据存储装置,其包括:
快闪存储器,其中所述快闪存储器包含具有多个字线的多个块;
电子处理器,所述电子处理器配置成
将第一数据部分存储在所述快闪存储器中,
从存取装置接收物理擦除请求,所述物理擦除请求指示要从所述快闪存储器中物理地擦除所述第一数据部分,
识别所述快闪存储器的第一块和所述第一块中所述第一数据部分存储在所述快闪存储器中的存储器片段,以及
响应于接收到所述物理擦除请求,将所述存储器片段的所识别的一个或多个单元编程为升高的电压状态,以使存储在所述快闪存储器中的所述第一数据部分永久模糊,
其中,所述存储器片段小于字线。
2.根据权利要求1所述的数据存储装置,其中所述电子处理器配置成响应于接收到所述物理擦除请求,将与所述存储器片段相对应的所述一个或多个单元编程为最高可编程电压状态,以使存储在所述快闪存储器中的所述第一数据部分模糊。
3.根据权利要求1所述的数据存储装置,其中所述电子处理器配置成响应于接收到所述物理擦除请求,基于随机密钥将与所述存储器片段相对应的所述一个或多个单元随机地编程为随机升高的电压状态,以使存储在所述快闪存储器中的所述第一数据部分模糊。
4.根据权利要求1所述的数据存储装置,其中所述电子处理器进一步配置成:
识别所述第一块的第一字线,所述第一字线包含其中所述第一数据部分存储在所述快闪存储器中的所述存储器片段;
通过将包含在所述第一字线中的其它数据重定位到所述快闪存储器中的第二块来压缩所述其它数据,其中所述其它数据不包含在要从所述快闪存储器物理擦除的所述第一数据部分中;以及
响应于接收到所述物理擦除请求,将所述第一字线的单元编程为所述升高的电压状态,以使存储在所述快闪存储器中的所述第一数据部分模糊。
5.根据权利要求1所述的数据存储装置,其中所述电子处理器配置成通过单次编程和增量编程中的至少一种将与所述存储器片段相对应的所述一个或多个单元编程为所述升高的电压状态。
6.根据权利要求1所述的数据存储装置,其中所述电子处理器进一步配置成:
确定所述第一块的预定百分比的字线包含已被编程为所述升高的电压状态以使存储在所述快闪存储器中的数据模糊的单元;以及
响应于确定所述第一块的所述预定百分比的字线已被编程为所述升高的电压状态以使存储在所述快闪存储器中的所述数据模糊,
通过将包含在所述第一块中的其它数据重定位到所述快闪存储器中的第二块来压缩所述其它数据,以及
通过将所述第一块的所述单元编程为最低可编程电压状态来执行所述第一块的物理块擦除。
7.根据权利要求6所述的数据存储装置,其中所述电子处理器配置成通过每当所述电子处理器将单元编程为所述升高的电压状态以使存储在所述快闪存储器中的所述数据模糊时存取由所述电子处理器更新的快闪过渡层(FTL)映射信息,来确定所述第一块的所述预定百分比的字线包含已被编程为所述升高的电压状态以使存储在所述快闪存储器中的所述数据模糊的单元。
8.根据权利要求1所述的数据存储装置,其中所述电子处理器配置成通过存取快闪过渡层(FTL)映射信息来识别所述快闪存储器的所述第一块和所述第一块的所述存储器片段;
其中所述电子处理器配置成响应于将与所述存储器片段相对应的所述一个或多个单元编程为所述升高的电压状态以使存储在所述快闪存储器中的所述第一数据部分模糊而从所述FTL映射信息中删除与所述存储器片段相对应的地址信息。
9.根据权利要求1所述的数据存储装置,其中所述电子处理器进一步配置成:
将第二数据部分存储在所述快闪存储器中;
从所述存取装置接收逻辑擦除请求,所述逻辑擦除请求指示要从所述快闪存储器中逻辑地擦除所述第二数据部分;
通过存取快闪过渡层(FTL)映射信息,识别所述快闪存储器的第二块和所述第二块中所述第二数据部分存储在所述快闪存储器中的第二存储器片段;以及
响应于接收到所述逻辑擦除请求,从所述FTL映射信息中删除与所述第二存储器片段相对应的地址信息,使得所述第二数据部分不可再通过使用所述FTL映射信息来存取,而是仍然物理地存在于所述快闪存储器中。
10.根据权利要求1所述的数据存储装置,其中所述第一块包含先前已被编程为电压状态以存储将不被物理地擦除的其它数据的至少一个单元;并且
其中在所述电子处理器将与所述存储器片段相对应的所述一个或多个单元编程为所述升高的电压状态以使存储在所述快闪存储器中的所述第一数据部分模糊之后,所述至少一个单元保持处于先前编程的电压状态。
11.一种执行数据存储装置的虚拟物理擦除的方法,所述方法包括:
用电子处理器将第一数据部分存储在所述数据存储装置的快闪存储器中,所述快闪存储器包含具有多个字线的多个块;
用所述电子处理器从存取装置接收物理擦除请求,所述物理擦除请求指示要从所述快闪存储器中物理地擦除所述第一数据部分;
用所述电子处理器识别所述快闪存储器的第一块和所述第一块中所述第一数据部分存储在所述快闪存储器中的存储器片段;以及
响应于接收到所述物理擦除请求,用所述电子处理器将所述存储器片段的所识别的一个或多个单元编程为升高的电压状态,以使存储在所述快闪存储器中的所述第一数据部分永久模糊,
其中,所述存储器片段小于字线。
12.根据权利要求11所述的方法,其进一步包括:
用所述电子处理器并基于所述快闪存储器的存储器类型、所述快闪存储器的使用年限和所述快闪存储器的块质量中的至少一项在以下之间进行选择:(i)通过响应于接收到所述物理擦除请求而将与所述存储器片段相对应的所述一个或多个单元编程为最高可编程电压状态以使存储在所述快闪存储器中的所述第一数据部分模糊来将所述一个或多个单元编程为所述升高的电压状态,与(ii)通过响应于接收到所述物理擦除请求而基于随机密钥将与所述存储器片段相对应的所述一个或多个单元随机地编程为随机升高的电压状态以使存储在所述快闪存储器中的所述第一数据部分模糊来将所述一个或多个单元编程为所述升高的电压状态。
13.根据权利要求11所述的方法,其中将所述一个或多个单元编程为所述升高的电压状态包含:响应于接收到所述物理擦除请求,将与所述存储器片段相对应的所述一个或多个单元编程为最高可编程电压状态,以使存储在所述快闪存储器中的所述第一数据部分模糊。
14.根据权利要求11所述的方法,其中将所述一个或多个单元编程为所述升高的电压状态包含:响应于接收到所述物理擦除请求,基于随机密钥将与所述存储器片段相对应的所述一个或多个单元随机地编程为随机升高的电压状态,以使存储在所述快闪存储器中的所述第一数据部分模糊。
15.根据权利要求11所述的方法,其进一步包括:
用所述电子处理器识别所述第一块的第一字线,所述第一字线包含其中所述第一数据部分存储在所述快闪存储器中的所述存储器片段;
用所述电子处理器通过将包含在所述第一字线中的其它数据重定位到所述快闪存储器中的第二块来压缩所述其它数据,其中所述其它数据不包含在要从所述快闪存储器物理擦除的所述第一数据部分中;以及
响应于接收到所述物理擦除请求,将所述第一字线的单元编程为所述升高的电压状态,以使存储在所述快闪存储器中的所述第一数据部分模糊。
16.根据权利要求11所述的方法,其中将与所述存储器片段相对应的所述一个或多个单元编程为所述升高的电压状态包含:用所述电子处理器通过单次编程和增量编程中的至少一种来编程所述一个或多个单元。
17.根据权利要求11所述的方法,其进一步包括:
用所述电子处理器确定所述第一块的预定百分比的字线包含已被编程为所述升高的电压状态以使存储在所述快闪存储器中的数据模糊的单元;以及
响应于确定所述第一块的所述预定百分比的字线已被编程为所述升高的电压状态以使存储在所述快闪存储器中的所述数据模糊,
用所述电子处理器通过将包含在所述第一块中的其它数据重定位到所述快闪存储器中的第二块来压缩所述其它数据,以及
用所述电子处理器通过将所述第一块的所述单元编程为最低可编程电压状态来执行所述第一块的物理块擦除。
18.根据权利要求17所述的方法,其中确定所述第一块的所述预定百分比的字线包含已被编程为所述升高的电压状态的单元包含:通过每当所述电子处理器将单元编程为所述升高的电压状态以使存储在所述快闪存储器中的所述数据模糊时存取由所述电子处理器更新的快闪过渡层(FTL)映射信息,来确定所述第一块的所述预定百分比的字线包含已被编程为所述升高的电压状态的单元。
19.根据权利要求11所述的方法,其进一步包括:
用所述电子处理器将第二数据部分存储在所述快闪存储器中;
用所述电子处理器从所述存取装置接收逻辑擦除请求,所述逻辑擦除请求指示要从所述快闪存储器中逻辑地擦除所述第二数据部分;
用所述电子处理器通过存取快闪过渡层(FTL)映射信息来识别所述快闪存储器的第二块和所述第二块中所述第二数据部分存储在所述快闪存储器中的第二存储器片段;以及
响应于接收到所述逻辑擦除请求,用所述电子处理器从所述FTL映射信息中删除与所述第二存储器片段相对应的地址信息,使得所述第二数据部分不可再通过使用所述FTL映射信息来存取,而是仍然物理地存在于所述快闪存储器中。
20.根据权利要求11所述的方法,其中所述第一块包含先前已被编程为电压状态以存储将不被物理地擦除的其它数据的至少一个单元;并且
其中在用所述电子处理器将与所述存储器片段相对应的所述一个或多个单元编程为所述升高的电压状态以使存储在所述快闪存储器中的所述第一数据部分模糊之后,所述至少一个单元保持处于先前编程的电压状态。
CN202010227287.7A 2019-05-16 2020-03-27 数据存储装置的存储器的虚拟物理擦除 Active CN111949208B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/414,450 US11288007B2 (en) 2019-05-16 2019-05-16 Virtual physical erase of a memory of a data storage device
US16/414,450 2019-05-16

Publications (2)

Publication Number Publication Date
CN111949208A CN111949208A (zh) 2020-11-17
CN111949208B true CN111949208B (zh) 2024-06-07

Family

ID=73228641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010227287.7A Active CN111949208B (zh) 2019-05-16 2020-03-27 数据存储装置的存储器的虚拟物理擦除

Country Status (2)

Country Link
US (1) US11288007B2 (zh)
CN (1) CN111949208B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103946923A (zh) * 2011-09-23 2014-07-23 莫塞德技术公司 闪存系统
CN104916321A (zh) * 2014-03-14 2015-09-16 恩智浦有限公司 可再编程存储器中的一次编程
US9361024B1 (en) * 2014-12-12 2016-06-07 Phison Electronics Corp. Memory cell programming method, memory control circuit unit and memory storage apparatus

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999031592A1 (fr) * 1997-12-16 1999-06-24 Tdk Corporation Systeme de memoire flash
CN1255733C (zh) * 2001-07-25 2006-05-10 索尼株式会社 非易失性存储器和非易失性存储器的数据改写方法
DE10341618A1 (de) * 2003-09-10 2005-05-04 Hyperstone Ag Verwaltung gelöschter Blöcke in Flash-Speichern
US6958936B2 (en) * 2003-09-25 2005-10-25 Sandisk Corporation Erase inhibit in non-volatile memories
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US7509474B2 (en) * 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
US7398524B2 (en) * 2005-12-22 2008-07-08 Alan Joshua Shapiro Apparatus and method for subtractive installation
JP4452261B2 (ja) * 2006-09-12 2010-04-21 株式会社日立製作所 ストレージシステムの論理ボリューム管理方法、論理ボリューム管理プログラム、及びストレージシステム
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
JP2010026933A (ja) * 2008-07-23 2010-02-04 Toshiba Corp メモリシステム、ホスト装置
US8004888B2 (en) * 2008-09-22 2011-08-23 Spansion Llc Flash mirror bit architecture using single program and erase entity as logical cell
US7791954B2 (en) * 2008-09-22 2010-09-07 Spansion Llc Dynamic erase state in flash device
US7804713B2 (en) * 2008-09-22 2010-09-28 Spansion Llc EEPROM emulation in flash device
US7881105B2 (en) * 2008-09-22 2011-02-01 Spansion Llc Quad+bit storage in trap based flash design using single program and erase entity as logical cell
US7907455B2 (en) * 2008-09-22 2011-03-15 Spansion Llc High VT state used as erase condition in trap based nor flash cell design
JP4632180B2 (ja) * 2008-10-15 2011-02-16 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
TWI385527B (zh) * 2009-02-10 2013-02-11 Phison Electronics Corp Mlc nand型快閃記憶體儲存系統及其控制器與存取方法
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
US20110161560A1 (en) * 2009-12-31 2011-06-30 Hutchison Neil D Erase command caching to improve erase performance on flash memory
JP2012203443A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
JP5595965B2 (ja) * 2011-04-08 2014-09-24 株式会社東芝 記憶装置、保護方法及び電子機器
JP5959958B2 (ja) * 2012-06-27 2016-08-02 株式会社バッファローメモリ 記憶装置及び記憶装置におけるデータ消去方法
US20140075094A1 (en) * 2012-09-12 2014-03-13 GM Global Technology Operations LLC Method to implement a binary flag in flash memory
US20170017406A1 (en) * 2015-07-14 2017-01-19 HGST Netherlands B.V. Systems and methods for improving flash-oriented file system garbage collection
JP2015001908A (ja) * 2013-06-17 2015-01-05 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
JP2015001909A (ja) * 2013-06-17 2015-01-05 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
CN105260325A (zh) * 2014-07-17 2016-01-20 广明光电股份有限公司 固态硬盘搜集垃圾区块的方法
US9836239B2 (en) * 2015-03-27 2017-12-05 Panasonic Intellectual Property Management Co., Ltd. Recording device and information processing device
KR102291806B1 (ko) * 2015-04-20 2021-08-24 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US10552058B1 (en) * 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
US9734912B2 (en) * 2015-11-25 2017-08-15 Macronix International Co., Ltd. Reprogramming single bit memory cells without intervening erasure
CN106845251A (zh) * 2015-12-07 2017-06-13 四川效率源信息安全技术股份有限公司 闪存芯片物理镜像后的数据解密方法
US10216575B2 (en) 2016-03-17 2019-02-26 Sandisk Technologies Llc Data coding
US10055159B2 (en) * 2016-06-20 2018-08-21 Samsung Electronics Co., Ltd. Morphic storage device
US10489076B2 (en) * 2016-06-20 2019-11-26 Samsung Electronics Co., Ltd. Morphic storage device
KR20180051706A (ko) * 2016-11-07 2018-05-17 삼성전자주식회사 어드레스 맵핑 테이블의 에러 정정을 수행하는 메모리 시스템
KR102351649B1 (ko) * 2017-06-07 2022-01-17 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US10649969B2 (en) * 2017-06-13 2020-05-12 Western Digital Technologies, Inc. Memory efficient persistent key-value store for non-volatile memories
US10522229B2 (en) * 2017-08-30 2019-12-31 Micron Technology, Inc. Secure erase for data corruption
US11469909B2 (en) * 2018-12-28 2022-10-11 Micron Technology, Inc. Physical unclonable function with NAND memory array

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103946923A (zh) * 2011-09-23 2014-07-23 莫塞德技术公司 闪存系统
CN104916321A (zh) * 2014-03-14 2015-09-16 恩智浦有限公司 可再编程存储器中的一次编程
US9361024B1 (en) * 2014-12-12 2016-06-07 Phison Electronics Corp. Memory cell programming method, memory control circuit unit and memory storage apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
新型自动气象站NAND Flash存储系统的设计与实现;黄宏智;周钦强;黄飞龙;;电子测量技术;20161215(12);全文 *
胡绍刚 ; 张兴尧 ; 顾野.基于HfO2的阻变存储器抗辐照特性研究.2013年全国博士生学术论坛-电子薄膜与集成器件.2013,全文. *

Also Published As

Publication number Publication date
US20200363980A1 (en) 2020-11-19
CN111949208A (zh) 2020-11-17
US11288007B2 (en) 2022-03-29

Similar Documents

Publication Publication Date Title
US9645896B2 (en) Data storage device and flash memory control method
CN110603532B (zh) 存储器管理
US8281061B2 (en) Data conditioning to improve flash memory reliability
US8984373B2 (en) Method for accessing flash memory and associated flash memory controller
CN110998543B (zh) 用于磨损平整的方法和存储器设备
US11157399B2 (en) Data storage devices and data processing methods with dynamic programming scheme
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
CN112306902A (zh) 存储器控制器及操作其的方法
CN112542201B (zh) 存储设备及操作该存储设备的方法
US20210141722A1 (en) Storage device and operating method thereof
CN111105832A (zh) 存储装置和操作存储装置的方法
CN111338978B (zh) 存储装置以及操作存储装置的方法
CN114546252B (zh) 存储设备及其操作方法
CN113010096A (zh) 存储装置及其操作方法
CN112445420B (zh) 存储控制器、存储装置以及操作该存储装置的方法
CN112015588B (zh) 存储控制器以及操作该存储控制器的方法
CN112783435A (zh) 存储设备和操作存储设备的方法
US12164784B2 (en) Memory controller for performing wear-leveling and memory system including the same
US10248594B2 (en) Programming interruption management
US12013778B2 (en) Storage device configured to update hotnesses of received logical addresses and a method of operating the storage device
CN111949208B (zh) 数据存储装置的存储器的虚拟物理擦除
CN111309642B (zh) 一种存储器及其控制方法与存储系统
US20180039429A1 (en) Apparatus and method for programming non-volatile memory using a multi-cell storage cell group
CN115469798A (zh) 存储装置及操作存储装置的方法
CN115732003A (zh) 存储器子系统清理

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240914

Address after: Delaware, USA

Patentee after: SANDISK TECHNOLOGIES Inc.

Country or region after: U.S.A.

Address before: California, USA

Patentee before: Western Digital Technologies, Inc.

Country or region before: U.S.A.

TR01 Transfer of patent right