CN107957959B - 具有文件级安全擦除的存储器系统及其操作方法 - Google Patents
具有文件级安全擦除的存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN107957959B CN107957959B CN201710977470.7A CN201710977470A CN107957959B CN 107957959 B CN107957959 B CN 107957959B CN 201710977470 A CN201710977470 A CN 201710977470A CN 107957959 B CN107957959 B CN 107957959B
- Authority
- CN
- China
- Prior art keywords
- file
- page
- overhead
- memory
- pages
- 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
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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
- G11C11/5635—Erasing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/3445—Circuits or methods to verify correct erasure of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
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)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开一种存储器系统的设备及其操作方法,其包括:多个存储器装置,其中多个存储器装置中的每一个包括多个块,多个块中的每一个具有分别对应于多个字线的多个页面;以及存储器控制器,其与多个存储器装置联接,其中存储器控制器被配置成确定删除文件位于其中的擦除块的开销,至少根据开销对擦除块执行文件级安全擦除操作,以及在逻辑块地址(LBA)表中将对应于删除文件的目标页面标记为“修整的”。
Description
相关申请的交叉引用
本申请要求于2016年10月17日提交的标题为SSD中的文件级安全擦除、申请号为62/409,205的美国临时专利申请的优先权,其通过引用并入本文以用于所有目的。
技术领域
本发明的示例性实施例涉及一种半导体存储器存储系统的设备,并且更特别地涉及NAND中的文件安全性及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有存储器装置,即数据存储装置的存储器系统。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。因此,诸如存储器系统的数字数据存储器的可靠性和安全性至关重要。
因为使用存储器装置的数据存储装置不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
SSD可以包括各种闪速存储器部件。闪速存储器部件的两种主要类型以NAND和NOR逻辑门命名。各个闪速存储器单元呈现与相应门类似的内部特性。NAND型闪速存储器可以在通常比整个装置小得多的块(或页面)中写入和读取。NAND型主要在存储卡、USB闪存驱动器、固态驱动器和类似的产品中操作以用于数据的一般存储和传输。
文件安全性总是任何存储解决方案中非常重要的组成部分。磁盘的安全擦除尤其重要并且需要遵循用于待被视为安全擦除的磁盘的已发布标准。
因此,仍然需要一种具有安全擦除机制的半导体存储器系统及其操作方法。鉴于对提高性能和安全性的需求不断增加,找到这些问题的答案越来越重要。虽然一直在寻求这些问题的解决方案,但是先前的发展尚未教导或提出任何解决方案,因此长期以来,这些问题的解决方案已经难倒本领域的技术人员。
发明内容
本公开的实施例涉及一种能够提高存储器系统的性能和可靠性的半导体存储器系统及其操作方法。
根据本公开的实施例,提供一种存储器系统的设备,其包括:多个存储器装置,其中多个存储器装置中的每一个包括多个块,多个块中的每一个具有分别对应于多个字线的多个页面;以及存储器控制器,其与多个存储器装置联接,其中存储器控制器被配置成确定删除文件位于其中的擦除块的开销,至少根据开销对擦除块执行文件级安全擦除操作,以及在逻辑块地址(LBA)表中将对应于删除文件的目标页面标记为“修整的(trimmed)”。
根据本公开的实施例,提供一种半导体存储器系统的操作方法,其包括:确定删除文件位于其中的擦除块的开销;至少根据开销对擦除块执行文件级安全擦除操作;以及在逻辑块地址(LBA)表中将对应于删除文件的目标页面标记为“修整的”。
根据本公开的实施例,提供一种存储器系统,其包括:处理器;非暂时性计算机可读存储介质,其联接到处理器、嵌入由处理器执行的计算机程序产品,包括计算机指令,其被配置成:确定删除文件位于其中的擦除块的开销,至少根据开销对擦除块执行文件级安全擦除操作,以及在逻辑块地址(LBA)表中将对应于删除文件的目标页面标记为“修整的”。
附图说明
图1是示意性地示出根据本发明的实施例的半导体存储器系统的顶层框图。
图2是示出根据本发明的实施例的半导体存储器系统的详细框图。
图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。
图4是示意性地示出根据本发明的实施例的双重编程或页面擦除方案的简图。
图5是示出根据本发明的实施例的安全擦除命令方案的流程图。
图6是示出根据本发明的实施例的存储器系统的操作方法的流程图。
具体实施方式
以下将参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本领域技术人员完全传达本发明的范围。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
本发明可以以多种方式实施,其包括作为进程;设备;系统;物质的组成;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如适于执行存储在和/或由联接到处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采取的任何其它形式可以被称为技术。通常,公开的进程的步骤的顺序可以在本发明的范围内改变。除非另有说明,否则诸如被描述为适于执行任务的处理器或存储器的部件可以被实现为暂时适于在给定时间执行任务的一般部件或被制造为执行任务的特定部件。如本文使用的,术语“处理器”是指适于处理诸如计算机程序指令的数据的一个或多个装置、电路和/或处理核。
以下提供对本发明的一个或多个实施例的详细描述以及说明本发明的原理的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限定,并且本发明包括许多替代方案、变型和等同物。为了提供对本发明的透彻理解,在以下描述中阐述许多具体细节。为了示例的目的提供这些细节,并且在没有这些具体细节中的一些或全部的情况下,根据权利要求可以实现本发明。为了清楚的目的,与本发明相关的技术领域中的已知技术材料尚未详细描述,使得本发明不会被不必要地模糊。
安全性总是任何存储解决方案中非常重要的组成部分。磁盘的安全擦除尤其重要,可能需要遵循待被视为安全擦除的磁盘的已发布标准。在SSD中,通过改变用于加密整个驱动器的高级加密标准(AES) 密钥,整体驱动器安全擦除可以是相对容易的。类似地,可以通过具有加密擦除设置的非易失性存储器(NVM)命令的非易失性存储器协议(NVMe)格式来安全地擦除诸如整个逻辑块地址(LBA)的范围的命名空间,该非易失性存储器协议(NVMe)格式基本上改变命名空间的AES密钥。然而,当只有少数文件被删除时,相比块/驱动器级,以文件级安全擦除困难得多。
一个可能的解决方案可以是修整删除文件的LBA,并且然后强制执行(force)被删除文件所在的整个单个块或多个块的垃圾收集。然而,当删除文件所在的块的多数页面是有效的并且需要被重新定位到不同的块时,开销是巨大的。
现在参照图1,其中示出示意性地说明根据本发明的实施例的存储器系统的顶层框图。存储器系统可以包括包含存储器控制器100以及诸如闪速存储器装置的半导体存储器装置200的多种部件。存储器控制器 100可以包括用于执行存储在存储器系统中的程序和指令的处理器102 以用于操作存储器系统。处理器102可以包括ECC引擎或ECC控制器104。可选地,ECC控制器104可以位于处理器102内部。
存储器控制器100可以经由通信输入/输出(I/O)总线来控制半导体存储器装置200的总体操作,包括命令CMD、地址ADDR、数据DATA、电源PWR和控制信号CTRL。控制信号CTRL可以包括命令锁存使能 (CLE)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号、读取使能(RE)信号等。
半导体存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除操作、编程操作、写入操作和读取操作。半导体存储器装置200可以通过输入/输出线路从存储器控制器100接收命令、地址和数据。半导体存储器装置200可以通过电源线路接收电源PWR并且通过控制线路接收控制信号CTRL。
存储器控制器100和半导体存储器装置200可以被集成到诸如SSD 或存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可以被集成到单个半导体装置中以配置诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)的PC卡、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、尺寸减小的多媒体卡(RSMMC)、微型尺寸的MMC(微型MMC)卡、安全数字(SD) 卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字高容量(SDHC)卡和通用闪速存储器(UFS)。
又例如,存储器系统可以被设置为包括诸如以下的电子装置的各种元件中的一种:计算机、超移动PC(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB) 播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境下接收和传输信息的装置、家庭网络的电子装置中的一个、计算机网络的电子装置中的一个、远程信息处理网络的电子装置中的一个、射频识别(RFID)装置或计算系统的元件装置。
现在参照图2,图2中示出说明根据本发明实施例的存储器系统的详细框图。例如,图2的存储器系统可以描绘图1所示的存储器系统。存储器系统可以包括存储器控制器100和半导体存储器装置200。存储器系统可以响应于来自主机装置的请求而操作,并且特别地,存储待由主机装置访问的数据。
主机装置可以利用各种电子装置中的任意一种来实现。在一些实施例中,主机装置可以包括诸如以下的电子装置:台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器和数字视频播放器。在一些实施例中,主机装置可以包括诸如以下的便携式电子装置:移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP) 和便携式游戏机。
半导体存储器装置200可以存储待由主机装置访问的数据。
半导体存储器装置200可以利用诸如动态随机存取存储器 (DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM (MRAM)和电阻式RAM(RRAM)来实现。
存储器控制器100可以控制数据在半导体存储器装置200中的存储。例如,存储器控制器100可以响应于来自主机装置的请求来控制半导体存储器装置200。存储器控制器100可以将从半导体存储器装置200 读取的数据提供给主机装置,并且将从主机装置提供的数据存储到半导体存储器装置200中。
存储器控制器100可以包括通过总线160联接的存储单元110、控制单元120、错误校正码(ECC)单元130、主机接口140和存储器接口150。
存储单元110可以用作存储器系统和存储器控制器100的工作存储器,并且存储用于驱动存储器系统和存储器控制器100的数据。当存储器控制器100控制半导体存储器装置200的操作时,存储单元110可以存储由存储器控制器100和半导体存储器装置200用于诸如读取操作、写入操作、编程操作和擦除操作的数据。
存储单元110可以利用易失性存储器来实现。存储单元110可以利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM) 来实现。如上所述,存储单元110可以将由主机装置使用的数据存储在半导体存储器装置200中以用于读取操作和写入操作。为了存储数据,存储单元110可以包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
控制单元120可以控制存储器系统的一般操作,并且可以响应于来自主机装置的写入请求或读取请求来控制半导体存储器装置200的写入操作或读取操作。控制单元120可以驱动被称为闪存转换层(FTL) 的固件来控制存储器系统的一般操作。例如,FTL可以执行诸如逻辑到物理(L2P)映射、磨损均衡、垃圾收集和坏块处理的操作。L2P映射被称为逻辑块寻址(LBA)。
ECC单元130可以检测并校正在读取操作期间从半导体存储器装置200读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC单元130可以不校正错误位,并且可以输出表示校正错误位失败的错误校正失败信号。
在一些实施例中,ECC单元130可以基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、涡轮乘积码 (TPC)、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等。ECC 单元130可以包括用于错误校正操作的所有电路、系统或装置。
主机接口140可以通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和集成驱动电路(IDE)。
存储器接口150可以在存储器控制器100和半导体存储器装置200 之间提供接口以允许存储器控制器100响应于来自主机装置的请求来控制半导体存储器装置200。存储器接口150可以在CPU 120的控制下生成用于半导体存储器装置200的控制信号并且处理数据。当半导体存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150 可以在CPU 120的控制下生成用于存储器的控制信号并且处理数据。
半导体存储器装置200可以包括存储器单元阵列210、控制电路 220、电压生成电路230、行解码器240、页面缓冲器250、列解码器260 和输入/输出电路270。存储器单元阵列210可以包括多个存储块211,并且可以在其中存储数据。电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270形成用于存储器单元阵列 210的外围电路。外围电路可以执行存储器单元阵列210的编程操作、读取操作或擦除操作。控制电路220可以控制外围电路。
电压生成电路230可以生成具有各种电平的操作电压。例如,在擦除操作中,电压生成电路230可以生成具有各种电平的操作电压,诸如擦除电压和通过电压。
行解码器240可以连接到电压生成电路230和多个存储块211。行解码器240可以响应于由控制电路220生成的行地址RADD在多个存储块 211中选择至少一个存储块,并且将从电压生成电路230供给的操作电压传输到在多个存储块211中选择的存储块。
页面缓冲器250通过位线BL(未示出)连接到存储器单元阵列210。响应于由控制电路220生成的页面缓冲器控制信号,页面缓冲器250可以利用正电压对位线BL预充电,在编程操作和读取操作中将数据传输到选择的存储块/从选择的存储块接收数据,或临时存储传输的数据。
列解码器260可以将数据传输到页面缓冲器250/从页面缓冲器250 接收数据,或将数据传输到输入/输出电路270/从输入/输出电路270接收数据。
输入/输出电路270可以将从外部装置(例如,存储器控制器100) 传输的命令和地址传输到控制电路220,通过输入/输出电路270将数据从外部装置传输到列解码器260,或将数据从列解码器260输出到外部装置。
控制电路220可以响应于命令和地址来控制外围电路。
现在参照图3,图3示出根据本发明的实施例的半导体存储器装置 200的存储块的电路图。例如,图3的存储块可以是图2所示的半导体存储器装置200的存储器单元阵列的存储块211。
存储块211可以包括分别联接到位线BL0至BLm-1的多个单元串 221。每个列的单元串可以包括一个或多个漏极选择晶体管(DST)和一个或多个源极选择晶体管(SST)。多个存储器单元或存储器单元晶体管可以串联联接在DST和SST之间。存储器单元MC0至MCn-1的每个可以由在每个单元中存储多位数据信息的多层单元(MLC)形成。单元串221可以分别电联接到相应的位线BL0至BLm-1。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于NAND闪速存储器,而是可以包括NOR型闪速存储器、其中组合两种或更多种类型的存储器单元的混合闪速存储器,以及其中控制器被内置于存储器芯片的1-NAND闪速存储器。
现在参照图4,图4示意性地示出根据本发明的实施例的双重编程或页面擦除方案的简图。
对于正常的SSD操作,NAND闪存仅可以在块内被顺序地编程,并且每个页面仅可以被编程一次。为了将新内容写入页面,必须首先擦除整个块。为了安全地擦除页面的目的,故意地损坏页面使得页面不能被读回,可能是足够好的。可以存在损坏块内的页面的各种方式。一种可能的方式可以是不止一次的编程页面,诸如双重编程,并且另一种可能的方式可以是在页面级擦除。
当页面被不止一次编程时,页面的内容可能被损坏并且不能被恢复。一些NAND闪存可能自动地拒绝双重编程,特别是当最高有效位 (MSB)页面已经被编程时。为了双重编程这种装置中的页面,可能需要一些内部测试模式命令。
在NAND闪存中双重编程页面可能违反这种装置的基本要求。如果诸如目标页面的待擦除的页面不是块中编程的最后页面,则页面可以不按顺序编程。因此,目标页面的相邻字线也可能被损坏。该问题需要被解决以用于双重编程方案工作。对于多层单元(MLC)或三层单元(TLC)装置,与目标页面位于相同字线上的页面也可能被损坏并且需要被重新定位。
可能需要测试模式内部命令以用于在页面级擦除,在页面级擦除可能不是对于NAND闪存的支持操作。与目标页面及其相邻页面共享相同字线的页面还可能受到页面级擦除操作的影响。在执行页面级擦除之前,必须重新定位这些页面,以防止数据被损坏。
如图4所示,目标修整页面402需要从存储装置删除。目标修整页面402位于字线N处,其中N是大于0的整数。如果对目标修整页面402 执行双重编程或页面级擦除,则相邻字线N-1、N-2或N+1的页面404可能被损坏。为了保护数据不被损坏,在对目标页面402执行双重编程操作或页面级擦除操作之前,页面404可以被重新定位到目标块 (destinationblock)406。
相邻字线的哪些页面可能被破坏并且需要重新定位可以通过存储器系统的制造预先确定。例如,在本发明的实施例中,与字线N的目标页面相邻的字线N+1、N-1和N-2被配置为损坏页面并且需要被重新定位。
可选地,可以遵循特定的页面或特定的多个页面的页面级擦除的上述相同原则来执行诸如四分之一块擦除、半块擦除或子块擦除的部分块的擦除。
现在参照图5,图5示出根据本发明的实施例的安全擦除命令方案的流程图。
文件级安全擦除算法被提出,其被命名为安全TRIM(Secure TRIM)。安全TRIM命令可以由主机驱动器调用以作为使用与常规 TRIM命令相同的参数的供应商独特(VU)命令,诸如NVMe中数据集管理命令的释放操作。
如果对目标块的垃圾收集的开销较小,则安全TRIM命令的安全 TRIM算法可以使用常规的TRIM处理算法。当对目标块的垃圾收集的开销不小时,可以使用NAND的双重编程页面或页面级擦除的内部 NAND命令。在执行安全TRIM操作之前,可能受到安全TRIM操作影响的相邻页面可能被重新定位。可以根据存储器系统配置预定阈值以确定对目标块的垃圾收集的开销是否较小。可以根据安全TRIM操作来调整预定阈值。
当主机删除文件并且想要保证删除的文件的内容不能被读回时,主机可以发出安全TRIM命令,其中安全TRIM命令可以包括多个参数。当主机装置接收命令时,如图5所示,可以执行安全TRIM命令的以下过程。
1.在步骤502中,确定开销,诸如修整页面或删除页面所属的物理块内的有效页面的数量。存储器系统可以利用各种参数作为用于评估和确定可以执行擦除操作的开销。在本发明的实施例中,有效页面的数量可以被用作开销。
2.如果有效页面的数量低于预定阈值,则在步骤506中强制执行块的垃圾收集操作。
3.如果有效页面的数量高于预定阈值,则在步骤508中将可能被损坏的页面重新定位到其它块。可能被损坏并需要重新定位的页面可以包括相同字线上的页面和相邻字线上的页面作为目标页面。可能受影响的页面的细节可以由NAND闪存制造商提供,并且可以被调整。
4.在步骤510中对待修整的目标页面执行双重编程操作,或者在步骤512中对待修整的目标页面执行页面级擦除操作,如上所述。根据存储器系统配置,可以使用各种方法来确定可以执行双重编程操作还是页面级擦除操作。
5.在LBA表中将目标页面标记为“修整的”。
已经公开的是,文件级安全擦除可以优化存储器系统的性能。选择诸如垃圾收集、双重编程或页面/文件级擦除的适当的擦除操作以用于根据存储器的开销以存储器的页面级安全地删除可以减少操作时间,导致存储器系统的性能的最大化。
现在参照图6,图6示出根据本发明的实施例的存储器系统的操作方法的流程图。一种半导体存储器系统的操作方法,其包括:在块602 中确定删除文件位于其中的擦除块的开销;在块604中至少根据开销对擦除块执行文件级安全擦除操作;以及在块606中在逻辑块地址(LBA) 表中将对应于删除文件的目标页面标记为“修整的”。
本发明的另一个重要方面是它有价值地支持和服务于降低成本、简化系统和提高性能的历史趋势。因此,本发明的这些和其它有价值的方面将技术的状态进一步提高到至少下一个级别。
虽然已经结合具体的最佳模式描述了本发明,但是应当理解的是,根据前面的描述,许多可选方案、变型和变化对于本领域技术人员将是显而易见的。因此,旨在涵盖落在所附权利要求的范围内的所有这样的可选方案、变型和变化。迄今为止在本文中阐述或在附图中示出的所有事项将以说明性和非限制性的意义来解释。
Claims (17)
1.一种存储器系统的设备,其包括:
多个存储器装置,其中所述多个存储器装置中的每一个包括多个块,所述多个块中的每一个具有分别对应于多个字线的多个页面;以及
存储器控制器,其与所述多个存储器装置联接,其中所述存储器控制器被配置成:
确定删除文件位于其中的擦除块的开销,其中所述开销包括在所述删除文件的删除页面所属的物理块内的有效页面的数量,
至少根据所述开销对所述擦除块执行多种类型的文件级安全擦除操作中的一种,以及
在逻辑块地址表,即LBA表中将对应于所述删除文件的目标页面标记为“修整的”。
2.根据权利要求1所述的设备,其中所述文件级安全擦除操作包括当所述开销小于预定阈值时,对所述擦除块强制执行垃圾收集操作。
3.根据权利要求1所述的设备,其中所述存储器控制器进一步被配置成在执行所述文件级安全擦除操作之前,当所述开销大于预定阈值时,将受影响的页面重新定位到所述擦除块以外的块。
4.根据权利要求3所述的设备,其中当执行所述文件级安全擦除操作时,所述受影响的页面包括可能被损坏的页面。
5.根据权利要求3所述的设备,其中所述受影响的页面包括所述目标页面的相同字线上的页面以及相邻字线上的页面。
6.根据权利要求3所述的设备,其中所述受影响的页面根据所述存储器系统被预先确定。
7.根据权利要求3所述的设备,其中所述文件级安全擦除操作包括双重编程操作。
8.根据权利要求3所述的设备,其中所述文件级安全擦除操作包括页面级擦除操作。
9.一种存储器系统的操作方法,其包括:
确定删除文件位于其中的擦除块的开销,其中确定所述开销包括确定在所述删除文件的删除页面所属的物理块内的有效页面的数量;
至少根据所述开销对所述擦除块执行多种类型的文件级安全擦除操作中的一种;以及
在逻辑块地址表,即LBA表中将对应于所述删除文件的目标页面标记为“修整的”。
10.根据权利要求9所述的方法,其中执行所述文件级安全擦除操作包括当所述开销小于预定阈值时,对所述擦除块强制执行垃圾收集操作。
11.根据权利要求9所述的方法,其中执行所述文件级安全擦除操作包括在执行所述文件级安全擦除操作之前,当所述开销大于预定阈值时,将受影响的页面重新定位到所述擦除块以外的块。
12.根据权利要求11所述的方法,其中重新定位所述受影响的页面包括当执行所述文件级安全擦除操作时,重新定位可能被损坏的页面。
13.根据权利要求11所述的方法,其中重新定位所述受影响的页面包括重新定位所述目标页面的相同字线上的页面以及相邻字线上的页面。
14.根据权利要求11所述的方法,其中重新定位所述受影响的页面包括重新定位根据所述存储器系统被预先确定的页面。
15.根据权利要求11所述的方法,其中执行所述文件级安全擦除操作包括执行双重编程操作。
16.根据权利要求11所述的方法,其中执行所述文件级安全擦除操作包括执行页面级擦除操作。
17.一种存储器系统,其包括:
处理器;
非暂时性计算机可读存储介质,其联接到所述处理器,嵌入由所述处理器执行的计算机程序产品,包括计算机指令,所述计算机指令被配置成:
确定删除文件位于其中的擦除块的开销,其中所述开销包括在所述删除文件的删除页面所属的物理块内的有效页面的数量,
至少根据所述开销对所述擦除块执行多种类型的文件级安全擦除操作中的一种,以及
在逻辑块地址表,即LBA表中将对应于所述删除文件的目标页面标记为“修整的”。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662409205P | 2016-10-17 | 2016-10-17 | |
US62/409,205 | 2016-10-17 | ||
US15/727,085 | 2017-10-06 | ||
US15/727,085 US10403369B2 (en) | 2016-10-17 | 2017-10-06 | Memory system with file level secure erase and operating method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107957959A CN107957959A (zh) | 2018-04-24 |
CN107957959B true CN107957959B (zh) | 2021-09-07 |
Family
ID=61902878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710977470.7A Active CN107957959B (zh) | 2016-10-17 | 2017-10-17 | 具有文件级安全擦除的存储器系统及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10403369B2 (zh) |
CN (1) | CN107957959B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102532563B1 (ko) * | 2018-03-28 | 2023-05-17 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그것의 동작방법 |
KR102611345B1 (ko) * | 2018-07-31 | 2023-12-08 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR102593757B1 (ko) * | 2018-09-10 | 2023-10-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200076403A (ko) * | 2018-12-19 | 2020-06-29 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치, 컨트롤러, 이들을 포함하는 저장 장치 및 그들의 동작 방법 |
US10915444B2 (en) * | 2018-12-27 | 2021-02-09 | Micron Technology, Inc. | Garbage collection candidate selection using block overwrite rate |
CN109902033B (zh) * | 2019-02-13 | 2023-03-14 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
US10665303B1 (en) * | 2019-05-10 | 2020-05-26 | Macronix International Co., Ltd. | Erasing blocks with few programmed pages |
CN110286820A (zh) * | 2019-06-25 | 2019-09-27 | 掌阅科技股份有限公司 | 电子书内容的关联标记方法、电子设备、存储介质 |
US10978097B1 (en) | 2020-01-16 | 2021-04-13 | International Business Machines Corporation | Indicating tracks as erased without deleting data for the tracks |
JP7475989B2 (ja) | 2020-06-26 | 2024-04-30 | キオクシア株式会社 | メモリシステムおよび制御方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740162A (zh) * | 2015-12-31 | 2016-07-06 | 上海盈方微电子有限公司 | 应用于nand存储器的nftl数据存储系统及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933847A (en) * | 1995-09-28 | 1999-08-03 | Canon Kabushiki Kaisha | Selecting erase method based on type of power supply for flash EEPROM |
US7551492B2 (en) | 2006-03-29 | 2009-06-23 | Mosaid Technologies, Inc. | Non-volatile semiconductor memory with page erase |
US8745315B2 (en) * | 2006-11-06 | 2014-06-03 | Rambus Inc. | Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory |
US20090024810A1 (en) * | 2007-07-19 | 2009-01-22 | Hitachi, Ltd. | Memory area management method |
JP2011128998A (ja) * | 2009-12-18 | 2011-06-30 | Toshiba Corp | 半導体記憶装置 |
US9009547B2 (en) * | 2011-01-27 | 2015-04-14 | Apple Inc. | Advanced programming verification schemes for analog memory cells |
KR101988434B1 (ko) * | 2012-08-31 | 2019-06-12 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 서브-블록 관리 방법 |
KR102321501B1 (ko) * | 2014-05-14 | 2021-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것을 포함하는 스토리지 장치의 동작 방법 |
TWI611408B (zh) * | 2015-11-25 | 2018-01-11 | 旺宏電子股份有限公司 | 記憶體裝置的抹除方法 |
US10185657B2 (en) * | 2016-04-13 | 2019-01-22 | Nanjing University | Method and system for optimizing deterministic garbage collection in NAND flash storage systems |
-
2017
- 2017-10-06 US US15/727,085 patent/US10403369B2/en active Active
- 2017-10-17 CN CN201710977470.7A patent/CN107957959B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740162A (zh) * | 2015-12-31 | 2016-07-06 | 上海盈方微电子有限公司 | 应用于nand存储器的nftl数据存储系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107957959A (zh) | 2018-04-24 |
US10403369B2 (en) | 2019-09-03 |
US20180108419A1 (en) | 2018-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107957959B (zh) | 具有文件级安全擦除的存储器系统及其操作方法 | |
US10180805B2 (en) | Memory system and operating method thereof | |
CN108121669B (zh) | 存储器系统及其操作方法 | |
CN109671465B (zh) | 具有自适应读取阈值方案的存储器系统及其操作方法 | |
US10102146B2 (en) | Memory system and operating method for improving rebuild efficiency | |
CN109284202B (zh) | 控制器及其操作方法 | |
US10482038B2 (en) | Programmable protocol independent bar memory for SSD controller | |
US10007451B2 (en) | Scalable SPOR algorithm for flash memories | |
KR20190123502A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN108694138B (zh) | 控制器及其操作方法 | |
CN110096385B (zh) | 存储器系统及其操作方法 | |
CN108108308B (zh) | 存储器系统及其操作方法 | |
CN107346214B (zh) | 存储器系统及其操作方法 | |
KR102564774B1 (ko) | 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법 | |
KR102684047B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN109390003B (zh) | 存储器系统及其操作方法 | |
KR20190017550A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN107544925B (zh) | 存储器系统及加速引导时间的方法 | |
KR102553170B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US10552048B2 (en) | Reduction of maximum latency using dynamic self-tuning for redundant array of independent disks | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN110781095A (zh) | 控制器及其操作方法 | |
KR102593552B1 (ko) | 컨트롤러, 메모리 시스템 및 그의 동작 방법 | |
US9946644B2 (en) | Memory system and operating method thereof | |
KR20200012494A (ko) | 컨트롤러 및 컨트롤러의 동작방법 |
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 | ||
GR01 | Patent grant |