CN109725850B - 存储器系统和存储设备 - Google Patents
存储器系统和存储设备 Download PDFInfo
- Publication number
- CN109725850B CN109725850B CN201811255820.XA CN201811255820A CN109725850B CN 109725850 B CN109725850 B CN 109725850B CN 201811255820 A CN201811255820 A CN 201811255820A CN 109725850 B CN109725850 B CN 109725850B
- Authority
- CN
- China
- Prior art keywords
- time
- block
- data write
- data
- memory
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 176
- 238000012986 modification Methods 0.000 claims abstract description 53
- 230000004048 modification Effects 0.000 claims abstract description 53
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 238000000034 method Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 15
- 238000013507 mapping Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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
- 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
- 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/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
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)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种存储设备,包括非易失性存储器,该非易失性存储器包括第一块、第二块和块管理区域,块管理区域存储第一块和第二块中的每一个的初始数据写入时间和最终数据写入时间。存储设备还包括存储器控制器,该存储器控制器响应于标识第一数据的永久删除命令来确定第一数据的创建时间和修改时间、通过将第一块和第二块中的每一个的初始数据写入时间和最终数据写入时间与创建时间和修改时间相比较,选择要永久删除的第一块和第二块中的至少一个,并永久地删除所选择的第一块和第二块中的至少一个。
Description
相关申请的交叉引用
本申请要求于2017年10月31日在韩国知识产权局递交的韩国专利申请No.10-2017-0143420的优先权,其全部内容通过引用合并于此。
技术领域
本公开涉及存储器系统、能够合并在存储器系统中的存储设备以及能够永久地删除存储在存储设备的非易失性存储器中的数据的存储器系统和存储设备。
背景技术
闪存作为一种特定形式的非易失性存储器,因为它能够电擦除并整体擦除所存储的数据,而被广泛用于计算机、存储器卡等中。随着诸如移动电话和数码相机之类的便携式信息设备的使用增加,闪存已被广泛用作基本上取代了硬盘驱动器的存储设备。移动设备逐渐需要大容量存储设备以提供各种功能(例如,视频回放、高质量音乐回放等)。
闪存是一种类型的非易失性存储器,因此在许多应用中是优选的,因为它能够在没有施加电力的情况下保留存储的数据。然而,使用软件删除的数据仍然可以物理地保留在闪存中。这可以产生安全风险。因此,需要完全或永久地删除先前存储在非易失性存储器中但现在应该被删除的数据。
发明内容
本发明构思的某些实施例提供了一种方法,从而可以以安全、永久的方式快速有效地删除存储在非易失性存储器(例如,闪存)中的数据。
在一个实施例中,本发明构思提供了一种存储设备,包括:非易失性存储器,包括第一块、第二块和块管理区域,该块管理区域存储第一块和第二块中的每一个的初始数据写入时间和最终数据写入时间,以及存储器控制器,该存储器控制器响应于标识第一数据的永久删除命令确定第一数据的创建时间和修改时间、通过将第一块和第二块中的每一个的初始数据写入时间和最终数据写入时间与创建时间和修改时间相比较,选择要永久删除的第一块和第二块中的至少一个,并永久地删除所选择的第一块和第二块中的至少一个。
在另一个实施例中,本发明构思提供了一种存储设备,包括:非易失性存储器,包括多个块和块管理区域,所述多个块包括第一块,该块管理区域存储多个块中的每一个块的初始数据写入时间和最终数据写入时间,以及控制器,在接收到将数据写入第一块的页的命令时或者在响应于所述命令而将数据写入第一块的页时,更新块管理区域中存储的第一块的初始数据写入时间和最终数据写入时间中的至少一个。
在另一个实施例中,本发明构思提供了一种存储器系统,包括:存储设备,包括设备计时器和控制器,所述设备计时器生成与存储设备相关联的设备时间;处理器,包括生成与存储器系统相关联的存储器系统时间的系统计时器;以及易失性存储器,存储设备时间和存储器系统时间之间的差值,其中处理器在存储器系统接通或存储器系统时间改变时从设备计时器接收设备时间,计算存储器系统时间和设备时间之间的差值并在易失性存储器中存储差值,在创建或修改第一数据时基于差值计算设备时间,并将设备时间作为第一数据的创建时间或修改时间存储在第一数据的元信息中。
附图说明
通过参考附图详细描述本公开的实施例,本公开的以上和其他方面和特征将变得更显而易见,在附图中:
图1是示出根据一些实施例的存储器系统的示例的框图;
图2是示出根据一些实施例的存储器控制器的示例的框图;
图3是示出根据一些实施例的在存储器系统中永久删除数据的方法的示例的流程图;
图4是解释根据一些实施例的更新非易失性存储器中包括的多个块中的每个块的初始数据写入时间和最后数据写入时间的方法的示例的图;
图5是解释根据一些实施例的更新非易失性存储器中包括的多个块中的每个块的初始数据写入时间和最后数据写入时间的方法的示例的图;
图6是解释根据一些实施例的更新非易失性存储器中包括的多个块中的每个块的初始数据写入时间和最后数据写入时间的方法的示例的图;
图7是解释根据一些实施例的存储数据的创建时间和修改时间的方法的示例的图;
图8是解释根据一些实施例的将数据的创建时间和修改时间存储为元信息的方法的示例的图;
图9是解释根据一些实施例的将数据的创建时间和修改时间存储为元信息的方法的示例的图;
图10是解释根据一些实施例的在存储设备中执行永久删除的方法的示例的图;以及
图11、图12、图13和图14是解释根据一些实施例的在存储设备中执行永久删除的方法的另一示例的图。
具体实施方式
图1是示出根据本发明构思的实施例的存储器系统1的框图。存储器系统1通常包括处理器100、易失性存储器200、存储设备300和总线250。
存储器系统1可以被实现为以下中的一种:TV、数字TV(DTV)、内部协议TV(IPTV)、个人计算机(PC)、台式计算机、膝上型计算机、计算机工作站、平板PC、视频游戏平台(或视频游戏机)、服务器和移动计算设备。这里,移动计算设备可以被实现为移动电话、智能电话、企业数字助理(EDA)、数字照相机、数字摄像机、便携式多媒体播放器(PMP)、个人导航设备或便携式导航设备(PND)、移动互联网设备(MID)、可穿戴计算机、物联网(IOT)设备、物联网(IOE)设备或电子书。
在图1的存储器系统1内,处理器100、易失性存储器200和存储设备300被配置为使用总线250分别地以及选择性地交换数据。
总线250可以使用一个或多个规范来实现,诸如由用于例如外围组件互连(PCI)总线、PCI快速(PCIe)总线、高级微控制器总线架构(AMBA)、高级高性能总线(AHB)、高级外设总线(APB)、高级可扩展接口(AXI)之类的所描述的那些规范。
处理器100可以被实现为控制存储器系统1的整体操作,包括由存储器系统1执行的从一个或多个组成存储器读取(检索)、写入(存储)和/或擦除(删除)数据的各种操作。在这方面,处理器100可以控制执行(“驱动”)一个或多个操作系统(OS)、应用和/或相对于存储器系统1操作的数据库管理器。
处理器100可以是中央处理单元(CPU)、协处理器、算术处理单元(APU)、图形处理单元(GPU)、数字信号处理器(DSP)等。
在图1示出的实施例中,处理器100包括:系统计时器110,被配置为生成和/或维持一个或多个系统时间,包括(例如)窗口时间。系统计时器110可以以硬件和/或软件实现,并且在某些实施例中可以由用户改变。
图1的存储设备300包括存储器控制器310和非易失性存储器320。因此,处理器100可以与存储设备300中包括的存储器控制器310通信,以读取非易失性存储器320中存储的数据、将数据写入非易失性存储器320和/或擦除非易失性存储器320中存储的数据。
即使在没有施加电力的情况下,非易失性存储器320也能够一致地保留所存储的数据。在这方面,可以使用NAND闪存来实现非易失性存储器320。并且如本领域技术人员将理解的那样,NAND闪存通常基于页执行数据写入和读取操作,同时基于块执行数据擦除操作,其中每个块包括多个页。
识别到NAND闪存的性能特征,当由对应的地址指定并存储在非易失性存储器320中的数据改变时,处理器100可以擦除存储数据的块然后(重新)写入包括改变的数据的块。此外,由于非易失性存储器320的特征,处理器100必须通过存储器控制器310间接地与非易失性存储器320通信。
由于在非易失性存储器320中执行的擦除操作需要相对较长的执行时间,所以存储设备300中包括的存储器控制器310可以在临时存储器空间(例如,非易失性存储器320当前未用于存储有效数据的另一个块)中写入(或编程)要改变的新数据,而不是擦除要存储改变的数据的块之后存储标识临时存储空间的地址。
还应当注意的是,由处理器100识别的数据的第一地址(例如,逻辑地址)和标识非易失性存储器320中存储的数据的第二地址(例如,物理地址)可以彼此不同。因此,存储器控制器310可以管理指示各个数据的逻辑地址和对应的物理地址之间的关系的“映射信息”。例如,存储器控制器310可以存储与非易失性存储器320相关联的逻辑到物理地址映射信息(即,“L2P映射信息”,或更简单地,“映射信息”)322。
假设使用这种方法,逻辑地址是处理器100识别的数据的地址,由此处理器100可以通过指定逻辑地址来请求读取、写入或删除数据,而不是非易失性存储器320实际用于存储数据的对应的物理地址。物理地址是与数据存储在非易失性存储器320中的存储器位置直接相关联的地址。因此,存储器控制器310可以经由总线250从处理器100接收包括指定数据的逻辑地址的访问命令,并且响应于命令和地址,使用与逻辑地址相对应的物理地址来对非易失性存储器320存储器空间中的数据执行读取、写入或擦除操作。
存储器控制器310可以从处理器100接收各种命令,并响应于该命令而对非易失性存储器320执行必要的操作。例如,处理器100可以将数据的逻辑地址发送到存储设备300,存储设备300的存储器控制器310可以通过依据映射信息322提取与逻辑地址相对应的物理地址来响应处理器100的命令,并在由物理地址指定的存储器位置处写入或读取数据。
非易失性存储器可以被实现为电可擦除可编程只读存储器(EEPR0M)、闪存、磁RAM(MRAM)、自旋转移力矩MRAM、铁电RAM(FeRAM)、相变RAM(PRAM)或电阻RAM(RRAM)。
易失性存储器200可以存储与存储设备300相关联的“设备时间”与由处理器100的系统计时器110识别或维持的“系统时间”之间的差值。例如,当存储器系统1接通时,处理器100可以计算与设备时间和存储器系统时间相关联的设备时间之间的差值,并将计算的差值存储在易失性存储器200中。此后,计算的差值可以存储在非易失性存储器320中。这里,易失性存储器200可以是随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM),晶闸管RAM(T-RAM)、零电容RAM(Z-RAM)、双晶体管RAM(TTRAM)或其各种组合。
在非易失性存储器320中建立的块管理区域321中,可以为非易失性存储器320中包括的多个块中的每个块存储初始数据写入时间和最终数据写入时间(这里,假设NAND用于非易失性存储器320的闪存实现示例)。初始数据写入时间是将数据写入块的最早时间,最终数据写入时间是将数据写入块的最晚时间。
在这方面,块管理区域321可以是与非易失性存储器320中可以写入数据和/或从其中读取数据的其他块分离的非易失性存储器320中不同的存储器块。
图2是进一步示出图1的存储器控制器310的一个示例的框图。
参考图1和图2,存储器控制器310可以响应于从处理器100接收的请求来控制非易失性存储器320的读取、写入和擦除操作等的执行。
图1中示出的存储器控制器310包括主机接口311、控制器312、存储器接口313、存储器314、纠错码(ECC)电路315、设备计时器316和总线317,其中主机接口311、控制器312、存储器接口313、存储器314和ECC电路315被配置为经由总线317彼此交换数据。
存储器控制器310可以经由主机接口311与主机(例如,图1的处理器100)和/或经由存储器接口313与非易失性存储器320交换数据和/或关联信息。主机接口311可以通过并行AT连接总线(PATA总线)、串行AT连接总线(SATA总线)、SCSI、USB、PCIe等连接到主机。
控制器312可以用于控制非易失性存储器320的整体操作(例如,读取、写入、擦除、文件数据管理、多块管理等)。控制器312可以包括中央处理单元(CPU)、处理器等。
在图2中示出的实施例中,假设存储器314在控制器312的控制下操作,并且可以用作工作存储器、缓存存储器、高速缓存存储器等。当存储器314用作工作存储器时,控制器312处理的数据可以临时存储在存储器314中。当存储器314用作缓存存储器时,存储器314可以用于缓存在主机(例如,处理器100)与非易失性存储器320之间正在传送的数据。当存储器314用作高速缓存存储器时,相对低速的非易失性存储器320可以以较高的速度高效地操作。
ECC电路315可以用于标识(或检测)从非易失性存储器320接收的读/写数据中的一个或多个失效位和/或生成随后可以用于校正失效位的纠错码(ECC)。另外,ECC电路315可以用于(例如)对从非易失性存储器320接收的读数据执行某些纠错解码。例如,ECC电路315可以用于使用编码调制来纠错,例如低密度奇偶校验(LDPC)码、BCH码、turbo码、里德所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC),网格编码调制(TCM)和块编码调制(BCM)。
参考图1和图2,设备计时器316可以用于生成(例如,计数)与存储设备300相关联的一个或多个设备时间。作为一个示例,设备计时器316可以用于通过对应用于存储设备300的时钟的上升沿和/或下降沿的数量进行计数来对设备时间进行计数。作为另一示例,设备计时器316可以通过对应用于存储设备300的时钟的转换的数量进行计数来生成设备时间。然而,可以将特别生成的设备时间从设备计时器传送(例如,传输)到主机(例如,处理器100)。
例如,在从处理器100接收到写入命令时,或者当响应于写入命令而将数据写入块中包括的页时,也可以将与设备计时器316生成的当前设备时间相关联的信息发送到主机。这里,术语“当前”用于进一步指定与(例如)命令、命令的执行,响应于命令的操作或与命令或操作有关的数据的提供相关联的特定设备时间。
因此,当从处理器100接收特定命令(例如,发送设备时间的命令)时,控制器312可以发送与由设备计时器316生成的与当前设备时间相对应的信息。此外,在从处理器100接收到写入命令时,或者在基于所接收的写入命令而将数据写入块中包括的页时,控制器312可以更新非易失性存储器320中包括的多个块中的每一个的初始数据写入时间或最终数据写入时间。可以使用设备计时器316生成的当前设备时间直接执行对非易失性存储器320中包括的多个块中的每一个的初始数据写入时间和/或最终数据写入时间的这种“更新”。
因此,可以依据设备时间来定义每个块的初始数据写入时间和/或最终数据写入时间。这是有利的,因为与例如与存储器系统0S相关联的存储器系统时间不同,设备时间不能(例如,由用户)任意改变。
当删除非易失性存储器320中存储的数据时,控制器312可以简单地删除对应的映射信息322。在这种情况下,存在的问题是,尽管已经使用前述方法进行了“删除”,但是想要永久删除的数据仍然存储在非易失性存储器320的物理地址处。因此,可以在将来恢复被认为是要删除的数据。
鉴于潜在的问题,在下文中给出了永久且快速地删除数据的操作存储器系统和/或存储器设备的某些方法。在下文中参考图3、图4、图5、图6、图7、图8、图9、图10、图11和图12描述示例实施例。
图3是概述根据本发明构思的实施例的能够从存储器系统永久删除数据的操作方法的一个示例的流程图。在这方面,术语“永久删除”指代操作方法步骤和对应的结果,其中先前存储在非易失性存储器中的数据被物理地改变,使得随后不能从非易失性存储器读取数据。因此,与仅仅“除名”或“去参考”物理存储器位置(或逻辑/物理地址关系)的传统方法不同,本发明构思的实施例以永久方式物理地移除所标识的数据。图4、图5和图6是进一步示出根据本发明构思的某些实施例的更新非易失性存储器中包括的块的初始数据写入时间和最终数据写入时间的方法的示例的概念图。图7是进一步示出根据某些实施例的存储数据的创建时间和修改时间的方法的示例的框图。图8和图9是进一步概述根据某些实施例的将数据的创建时间和修改时间存储为元信息的方法的示例的流程图。
参考图1、图2和图3,假设存储器控制器310中包括的控制器312从处理器100接收命令(S310)。作为响应,控制器312确定所接收的命令是否包括写入命令(S320)。如果是(320为是),则控制器312使用块管理区域321更新写入命令标识的块的时间信息(例如,初始数据写入时间和/或最终数据写入时间)(S330)。然后,控制器312执行与写入命令相对应的一个或多个操作(S340)。
例如,现在参考图4,在前面的上下文中,处理器100可以在第一时间t1在创建第一数据A时将针对第一数据A的写入命令发送到控制器312。在接收到针对第一数据A的写入命令时,控制器312可以将第一数据A写入非易失性存储器320中包括的多个块中的一个(例如,第一块400)中包括的页(例如,第二页402)。这里,第一块400中的第一页401和第三页403可以是空闲页(例如,没有存储有效数据的页)。
当将第一数据A写入第一块400中包括的第二页402时,控制器312可以更新第一块400的初始数据写入时间和最终数据写入时间。这里,可以将初始数据写入时间和最终数据写入时间存储为设备计时器316生成的没备时间。
例如,当假设设备时间为“100”的情况下将第一数据A写入第一块400的第二页402时,控制器312可以用初始数据写入时间和最终数据写入时间均为“100”的信息更新第一块400的块管理区321。这里,由于首先将第一数据A写入第一块400,所以可以将信息“100”存储为初始数据写入时间和最终数据写入时间。
继续上述示例,现在参考图5,当在第一时间t1之后的第二时间t2处将第一数据A改变为第二数据A’时,处理器100可以删除与第一数据A相关联的逻辑地址和物理地址的映射信息,并向控制器312发送写入第二数据A’的命令。当接收到命令时,控制器312可以删除第二页402的物理地址与第一数据A的逻辑地址之间的映射信息,从而使第二页402无效。在这一点上应该注意,尽管事实是第二页402已经变无效,但是块管理区321中存储的初始数据写时间和最终数据写时间保持为被写入的值。
控制器312还接收写入第二数据A’的命令,控制器312可以将第二数据A’写入另一页(例如,第一块400的第三页403)。当将第二数据A’写入第一块400中包括的第三页403时,控制器312可以更新第一块400的最终数据写入时间。这里,最终数据写入时间可以是设备计时器316生成的设备时间。
例如,当在设备时间为“200”的情况下将第二数据A’写入第一块400的第三页403时,控制器312可以用最终数据写入时间为“200”的信息来更新块管理区域321。在这种情况下,由于初始数据写入时间是“100”并且仅最终数据写入时间改变或更新为“200”,所以初始数据写入时间保持在100。
现在参考前面的内容和图6,当在第一时间t1和第二时间t2之后的第三时间t3处创建不同于第一数据A和第二数据A’的第三数据B时,处理器100可以向控制器312发送针对第三数据B的写入命令。
当接收到针对第三数据B的写入命令时,控制器312可以将第三数据B写入非易失性存储器320中包括的多个块中的任何一个块中包括的页。例如,控制器312可以将第三数据B写入第一块400中包括的第一页401。
在这种情况下,可以使用当前设备时间将第一块400的最终数据写入时间更新到块管理区域321,以(更新)为“300”。由于初始数据写入时间为“100”并且仅最终数据写入时间已改变,所以可以仅基于实际写入时间而不是数据的时间,将最终数据写入时间更新为“300”,而初始数据写入时间保持为“100”。
返回参考图3,控制器312可以在先前确定所接收的命令不是写入命令时(S320为否)确定所接收的命令是否是永久删除命令(S350)。
如果接收的命令不是永久删除命令(S350为否),则控制器312可以执行与命令相对应的操作(S340)。
作为一个示例,当接收的命令是读取命令时,可以将与该命令相对应的数据发送到处理器100。
作为另一示例,当接收的命令是擦除命令时,控制器312可以执行与命令相对应的擦除操作。然而,即使执行了擦除操作,与该命令相对应的数据还是存储在物理地址中,并且仅从映射信息322中删除了物理地址与逻辑地址的映射。
然而,如果接收的命令是永久删除命令(S350为是),则控制器312可以确定要删除的数据的元信息以及相关的时间信息(例如,多个块中的每个块的初始数据写入时间和最终数据写入时间)(S360)。这里,可以在数据的创建时间和/或修改时间处存储(或更新)要删除的数据的元信息。
作为一个示例,参考图7,存储在非易失性存储器320中的文件500可以包括元信息510和数据520。这里,元信息510可以包括数据520的创建时间511和修改时间512。数据520的创建时间511和修改时间512可以被存储为设备计时器316生成的存储设备300的设备时间。
包括在元信息510中的修改时间512可以仅包括数据520的最终修改时间512。因此,可以最小化元信息510中存储的信息量。
根据一些实施例,处理器100可以在创建或修改数据时,使用存储器系统时间和设备时间之间的差值来计算数据创建时间或数据修改时间作为设备时间,并且此后将其存储为元信息。将参考图8以一些附加的细节描述该方法。
参考图1、图2和图8,当系统接通(例如,0S开始运行)时,处理器100可以从存储设备300接收当前设备时间(S610)。
然后,处理器100可以计算设备时间和存储器系统时间之间的差值,并将差值存储在易失性存储器200中(S620)。
此时,处理器100可以在将差值存储在易失性存储器200中之后确定存储器系统时间是否已经改变(S630)。如果处理器100确定存储器系统时间已经改变(S630为是),则可以在易失性存储器200中重新计算和更新设备时间和存储器系统时间之间的差值(S640)。
在步骤S640中,如果在易失性存储器200中更新差值的状态下未接收到创建或修改数据的命令(S650为否),则处理器100可以继续确定存储器系统时间是否已经改变或者数据是否已经修改或创建。
然后,在步骤S640中,当在易失性存储器200中更新差值的状态下接收到创建或修改数据的命令时(S650为是),或者在没有通过步骤S630改变(S630为否)存储器系统时间的状态下,处理器100可以使用易失性存储器200中存储的差值来计算存储设备的设备时间(S660)。
作为一个示例,处理器100可以在创建或修改数据时确定存储器系统时间,并且通过在确定的系统时间处减去或添加存储器314中存储的差值来计算存储设备的设备时间。
在步骤S660中,当创建或修改数据时,当计算存储设备的设备时间时,处理器100可以将计算的设备时间存储为数据的元信息(例如,数据创建时间或数据修改时间)(S670)。
根据本发明构思的其他实施例,处理器100可以在数据创建时间或数据修改时间处从存储设备接收设备时间,并且将接收的设备时间存储为与数据创建时间或数据修改时间一致的元信息。将参考图9以一些附加的细节描述该方法。
参考图9,当修改或创建数据时,处理器100可以从存储设备300接收设备时间(S710)。处理器100可以将在步骤S710中接收的设备时间存储在元信息中,作为数据创建时间或数据修改时间(S720)。
现在参考图1、图2、图3和图9,控制器312可以在步骤S360中确定多个块的时间信息和删除的数据的元数据,然后选择要永久删除的块(S370)。当在步骤S370中选择了要永久删除的块时,控制器312可以执行对选择的块的永久删除(S380)。将参考图10、图11、图12、图13和图14以一些附加细节描述该方法。
图10是作为示例列出根据本发明构思的实施例的在存储设备中执行永久删除的方法的某些结果的表。
参考图7和图10,在接收到删除文件500的命令时,控制器312可以确定元信息510a中的数据创建时间511和修改时间512。例如,在接收到文件500中包括的数据520的永久删除命令时,控制器312可以确定数据520的创建时间511的信息是“100”,数据520的修改时间511的信息是“300”。也就是说,在接收到数据520的永久删除命令时,控制器312可以确定块管理区域321中多个块中的每个块的初始数据写入时间和最终数据写入时间。
这里,控制器312可以选择以下块作为要永久删除的块的块:初始数据写入时间或最终数据写入时间在数据520的创建时间511和修改时间512之间的块,以及数据520的创建时间511或数据520的修改时间512在初始数据写入时间和最终数据写入时间之间的块。
在图7和图10所示出的实施例的上下文中,由于作为数据520的创建时间511的“100”在作为第一块400的初始数据写入时间的“100”与作为第一块400的最终数据写入时间的“200”之间,所以控制器312可以选择第一块400作为要永久删除的块。此外,由于作为第一块400的初始数据写入时间的“100”和作为第一块400的最终数据写入时间的“200”在作为数据520的创建时间511的“100”于作为数据520的修改时间511的“300”之间,所以控制器312可以选择第一块400作为要永久删除的块。
由于作为数据520的创建时间511的“100”和作为数据520的修改时间512的“300在作为第二块410的初始数据写入时间的“90”与作为第二块410的最终数据写入时间的“400”之间,所以控制器312可以选择第二块410作为要永久删除的块。
由于作为第三块420的初始数据写入时间的“20”和作为第三块420的最终数据写入时间的“30”在作为在数据520的创建时间511的“100”于作为数据520的修改时间512的“300”之前(参见图7),所以控制器312可以不选择第三块420作为要永久删除的块。
由于作为第四块430的初始数据写入时间的“400”和作为第四块430的最终数据写入时间的“500”在作为在数据520的创建时间511的“100”与作为数据520的修改时间512的“300”之后,所以控制器312可以不选择第四块430作为要永久删除的块。
由于作为第五块440的初始数据写入时间的“110”和作为第五块440的最终数据写入时间的“130”在作为在数据520的创建时间511的“100”与作为数据520的修改时间512的“300”之间,所以控制器312可以选择第五块430作为要永久删除的块。
由于作为第六块450的初始数据写入时间的“200”在作为数据520的创建时间511的“100”与作为数据520的修改时间512的“300”之间,所以控制器312可以选择第六块450作为永久删除的块。此外,由于作为数据的修改时间512的“300”在作为第六块450的初始数据写入时间的“200”与作为第六块450的最终数据写入时间的“500”之间,所以控制器312可以选择第六块450作为要永久删除的块。
作为前述示例的结果,控制器312可以选择第一块400、第二块410、第五块440和/或第六块450作为要永久删除的块,并且可以不选择第三块420和第四块430作为要永久删除的块。
图11、图12、图13和图14是分别示出根据本发明构思的实施例的在存储设备中执行永久删除的方法的示例的概念图。
参考图11,包括在第一块400中的第二页402和第三页403是通过改变第一数据A而变无效的页,并且包括在第三块420中的第三页423可以是通过改变或删除与第一数据A不同的数据而变无效的页。
当接收到永久删除第一数据A的命令时,控制器312应该首先从第二块410中的第一页411中删除第一数据A。此外,由于控制器312不能确定在无效页中包括什么数据,所以为了永久删除第一数据A,还必须永久删除不包括第一数据A的第三块420以及第一块400,和包括第一数据A的第二块410。在这种情况下,由于要永久删除的块的数量增加,所以引起可能花费相对较长的时间来完成这些操作的问题。
然而,根据某些实施例,控制器312可以限制要永久删除的块的数量。例如,当接收到永久删除第一数据A的命令时,控制器312可以确定第一数据A的元信息510中的第一数据A的创建时间511是“100”,修改时间512是“300”。
此外,参考图12,当接收到永久删除第一数据A的命令时,控制器312可以确定块管理区域321中的多个块中的每个块的初始数据写入时间和最终数据写入时间。
控制器312可以选择第一块400和第二块410作为要永久删除的块,第一块400和第二块410的最终数据写入时间在作为第一数据A的创建时间511的“100”与作为第一数据A的修改时间512的“300”之间。此外,控制器312可以不选择初始数据写入时间和最终数据写入时间在第一数据A的创建时间511和修改时间512之前的第三块420作为要永久删除的块。
当通过上述方法选择要删除的块时,可以排除包括不要永久删除的数据的页的块,并且可以减少要永久删除的块的数量,从而减少执行永久删除的时间。
然而,再次参考图11,与要删除的第一数据A不同的第四数据D可以包括在要永久删除的块中。在这种情况下,控制器312必须将第四数据D写入未被选择作为要永久删除的块的另一个块。
例如,当被选择作为要被永久删除的块的第一块400包括与要删除的第一数据A不同的第四数据D时,控制器312可以将第四数据D写入未选择的第三块420。
当将第一块400中包括的第四数据D写入第三块420时,控制器312可以确定存储第四数据D的第一块400的初始数据写入时间和最终数据写入时间。控制器312可以通过将第一块400的初始数据写入时间和最终数据写入时间与第三块420的初始数据写入时间和最终数据写入进行比较来更新第三块420的初始数据写入时间和最终数据写入时间。
具体地,仅当存储第四数据D的第一块400的初始数据写入时间比要移动和写入数据D的第三块420的最终数据写入时间早时,控制器312才可以将第三块420的初始数据写入时间改变为第一块400的初始数据写入时间。此外,仅当第一块400的最终数据写入时间比第三块420的最终数据写入时间更晚时,控制器312才可以将第三块420的最终数据写入时间改变为第一块400的最终数据写入时间。
例如,参考图12,控制器312可以确定存储第四数据D的第一块400的初始数据写入时间是40,并且要移动和写入第四数据D的第三块420的初始数据写入时间是20。在这种情况下,由于第一块400的初始数据写入时间比第三块420的初始数据写入时间更晚,所以控制器312可以维持其为第三块420的初始数据写入时间,如图14所示。
此外,控制器312可以确定存储第四数据的第一块400的最终数据写入时间是“200”,并且要移动和写入第四数据D的第三块420的最终数据写入时间是“30”。在这种情况下,由于第一块400的最终数据写入时间比第三块420的最终数据写入时间晚,所以控制器312可以将第三块420的最终数据写入时间更新为200,“200”为第一块400的最终数据写入时间,如图14所示。
同时,当第三块420的初始数据写入时间和最终数据写入时间没有存储在块管理区域321中时,因为要移动和写入第四数据D的第三块420的整个页是空的(例如,在空闲状态下),所以控制器312可以将第三块420的初始数据写入时间和最终数据写入时间更新为第一块400的初始数据写入时间和最终数据写入时间。
尽管未在附图中示出,但是即使在执行垃圾收集时,也可以以相同的方式更新块的初始数据写入时间和最终数据写入时间。
现在参考图2和图13,控制器312可以执行第一块400和第二块410的永久删除,第一块400和第二块410是要被永久删除的块。也就是说,控制器312可以清空它们,使得包括在第一块400和第二块410中的所有页处于空闲状态。
此外,再次参考图2和图14,控制器312可以从块管理区域321删除已经被执行了永久删除的第一块400和第二块410的初始数据写入时间和最终数据写入时间。因此,可以初始化第一块400和第二块410的初始数据写入时间和最终数据写入时间。
当如在上述实施例中那样通过选择要永久删除的块来执行永久删除时,还可以在硬件上永久地快速删除在软件上删除的数据。
尽管为了说明目的公开了本发明构思的一些实施例,然而本领域技术人员应认识到,在不脱离如所附权利要求所公开的本发明构思的范围和精神的情况下,各种修改、添加和替代是有可能的。
Claims (18)
1.一种存储设备,包括:
非易失性存储器,包括第一块、第二块和块管理区域,所述块管理区域存储所述第一块的第一初始数据写入时间和第一最终数据写入时间以及所述第二块的第二初始数据写入时间和第二最终数据写入时间;以及
存储器控制器,所述存储器控制器:
响应于标识第一数据的永久删除命令,确定所述第一数据的创建时间和修改时间,
通过将所述第一初始数据写入时间和所述第二初始数据写入时间以及所述第一最终数据写入时间和所述第二最终数据写入时间与所述创建时间和所述修改时间进行比较,选择要永久删除的所述第一块和所述第二块中的至少一个,以及
永久删除所选择的所述第一块和所述第二块中的至少一个。
2.根据权利要求1所述的存储设备,其中,所述存储器控制器通过确定所述第一数据的元信息来确定所述第一数据的创建时间和修改时间。
3.根据权利要求1所述的存储设备,还包括:设备计时器,被配置为生成与所述存储设备相关联的设备时间。
4.根据权利要求3所述的存储设备,其中,根据所述设备时间存储所述创建时间、所述修改时间、所述第一初始数据写入时间以及所述第二初始数据写入时间、和所述第一最终数据写入时间以及所述第二最终数据写入时间。
5.根据权利要求1所述的存储设备,其中,所述存储器控制器在接收到将数据写入所述第一块的命令时,或在响应于将数据写入的命令将数据写入所述第一块时,更新所述第一初始数据写入时间和所述第一最终数据写入时间中的至少一个。
6.根据权利要求1所述的存储设备,其中,所述块管理区域是与包括在所述非易失性存储器中的所述第一块和所述第二块不同的第三块。
7.根据权利要求1所述的存储设备,其中,当所述创建时间或所述修改时间在所述第一块的第一初始数据写入时间与所述第一块的第一最终数据写入时间之间时,所述存储器控制器选择所述第一块作为要永久删除的块。
8.根据权利要求1所述的存储设备,其中,当所述第一块的第一初始数据写入时间或所述第一块的第一最终数据写入时间在所述创建时间与所述修改时间之间时,所述存储器控制器选择所述第一块作为要永久删除的块。
9.根据权利要求1所述的存储设备,其中,当所述第二块的所述第二初始数据写入时间和所述第二最终数据写入时间在所述创建时间之前时,所述存储器控制器不选择所述第二块作为要永久删除的块。
10.根据权利要求1所述的存储设备,其中,当所述第二块的所述第二初始数据写入时间和所述第二最终数据写入时间在所述修改时间之后时,所述存储器控制器不选择所述第二块作为要永久删除的块。
11.一种存储设备,包括:
非易失性存储器,包括多个块,所述多个块包括第一块和包括块管理区域的块,所述块管理区域存储所述多个块中的每一个块的初始数据写入时间和最终数据写入时间;以及
控制器,
其中所述控制器:
在接收到将数据写入所述第一块的页的命令时,或者在响应于所述命令将数据写入所述第一块的页时,更新存储在所述块管理区域中的所述第一块的第一初始数据写入时间和第一最终数据写入时间中的至少一个,
响应于标识第一数据的永久删除命令,确定所述第一数据的创建时间和修改时间,并且
通过将所述多个块中的每一个的初始数据写入时间和最终数据写入时间与所述创建时间和所述修改时间进行比较来选择所述多个块中要永久删除的块。
12.根据权利要求11所述的存储设备,其中,所述控制器选择如下块作为要永久删除的块:其初始数据写入时间或最终数据写入时间在所述创建时间和所述修改时间之间的块,以及创建时间或修改时间在其初始数据写入时间与最终数据写入时间之间的另一块。
13.根据权利要求11所述的存储设备,其中,所述控制器不选择初始数据写入时间和最终数据写入时间在所述创建时间之前的块作为所述多个块中要永久删除的块。
14.根据权利要求11所述的存储设备,其中,所述控制器不选择初始数据写入时间和最终数据写入时间在所述修改时间之后的块作为所述多个块中要永久删除的块。
15.一种存储器系统,包括:
存储设备,包括控制器和设备计时器,所述设备计时器生成与所述存储设备相关联的设备时间;
处理器,包括系统计时器,所述系统计时器生成与所述存储器系统相关联的存储器系统时间;以及
易失性存储器,存储所述设备时间和所述存储器系统时间之间的差值,
其中,当所述存储器系统接通或所述存储器系统时间改变时,所述处理器从所述设备计时器接收设备时间,计算所述存储器系统时间和所述设备时间之间的差值,并将所述差值存储在所述易失性存储器中,当创建或修改第一数据时,基于所述差值计算当前设备时间,并将所述当前设备时间作为所述第一数据的创建时间或修改时间存储在所述第一数据的元信息中,以及
其中,所述存储设备还包括:非易失性存储器,所述非易失性存储器包括多个块和块管理区域,所述块管理区域存储所述多个块中的每一个块的初始数据写入时间和最终数据写入时间,以及
所述控制器响应于标识所述第一数据的永久删除命令,确定所述第一数据的创建时间和修改时间,并通过将所述多个块中的每一个的初始数据写入时间和最终数据写入时间与所述创建时间和所述修改时间进行比较来选择所述多个块中要永久删除的块。
16.根据权利要求15所述的存储器系统,其中,所述控制器选择如下块作为要永久删除的块:其初始数据写入时间或最终数据写入时间在所述创建时间与所述修改时间之间的块,以及创建时间或修改时间在其初始数据写入时间与最终数据写入时间之间的另一块。
17.根据权利要求15所述的存储器系统,其中,所述控制器不选择初始数据写入时间和最终数据写入时间在所述创建时间之前的块作为所述多个块中要永久删除的块。
18.根据权利要求15所述的存储器系统,其中,所述控制器不选择初始数据写入时间和最终数据写入时间在所述修改时间之后的块作为所述多个块中要永久删除的块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0143420 | 2017-10-31 | ||
KR1020170143420A KR102530583B1 (ko) | 2017-10-31 | 2017-10-31 | 저장 장치 및 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109725850A CN109725850A (zh) | 2019-05-07 |
CN109725850B true CN109725850B (zh) | 2023-12-22 |
Family
ID=66243960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811255820.XA Active CN109725850B (zh) | 2017-10-31 | 2018-10-25 | 存储器系统和存储设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10817624B2 (zh) |
KR (1) | KR102530583B1 (zh) |
CN (1) | CN109725850B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10740026B2 (en) * | 2018-05-18 | 2020-08-11 | Micron Technology, Inc. | Time indicator of super block operations |
US11574305B1 (en) * | 2019-05-20 | 2023-02-07 | Wells Fargo Bank, N.A. | Extensible electronic payment schema |
US11681965B2 (en) * | 2019-10-25 | 2023-06-20 | Georgetown University | Specialized computing environment for co-analysis of proprietary data |
CA3219455A1 (en) * | 2021-10-22 | 2023-04-27 | Lutron Technology Company Llc | Method for communication between components of an electrical device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354681A (zh) * | 2008-09-23 | 2009-01-28 | 美商威睿电通公司 | 存储器系统、非易失性存储器的磨损均衡方法及装置 |
CN106205707A (zh) * | 2014-12-29 | 2016-12-07 | 株式会社东芝 | 存储器装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002025473A1 (en) | 2000-09-21 | 2002-03-28 | Integrity Pc Innovations, Inc. | An automatic real-time file management method and apparatus |
US8261136B2 (en) | 2009-06-29 | 2012-09-04 | Sandisk Technologies Inc. | Method and device for selectively refreshing a region of a memory of a data storage device |
EP2542985A1 (en) | 2010-03-01 | 2013-01-09 | Hitachi, Ltd. | File level hierarchical storage management system, method, and apparatus |
US20120110343A1 (en) * | 2010-10-29 | 2012-05-03 | Bandic Zvonimir Z | Trustworthy timestamps on data storage devices |
CN103270487B (zh) * | 2011-02-02 | 2016-06-22 | 株式会社日立制作所 | 存储系统及其数据控制方法 |
US8892847B2 (en) * | 2011-04-05 | 2014-11-18 | Hitachi, Ltd. | Volume management and page allocation method |
US8909888B2 (en) * | 2011-04-29 | 2014-12-09 | Seagate Technology Llc | Secure erasure of data from a non-volatile memory |
US9317422B1 (en) * | 2011-10-03 | 2016-04-19 | Foremay, Inc. | Secure erase of data in electronic device |
KR101392174B1 (ko) | 2011-11-09 | 2014-05-09 | 한양대학교 산학협력단 | 소거 대상 블록의 매핑 테이블을 저장하는 플래시 메모리 제어장치 및 방법 |
US9442955B1 (en) | 2012-12-28 | 2016-09-13 | Emc Corporation | Managing delete operations in files of file systems |
JP2016506585A (ja) * | 2013-01-08 | 2016-03-03 | ヴァイオリン メモリー インコーポレイテッド | データストレージのための方法及びシステム |
JP2015035020A (ja) | 2013-08-07 | 2015-02-19 | 富士通株式会社 | ストレージシステム、ストレージ制御装置及び制御プログラム |
KR101539617B1 (ko) | 2014-04-24 | 2015-08-06 | 서강대학교산학협력단 | 모바일 기기에서 파일구조 유형에 따른 파일 삭제 방법 및 이를 이용한 장치 |
JP5991699B2 (ja) | 2014-08-08 | 2016-09-14 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理装置、情報処理システム、バックアップ方法、およびプログラム |
US9798657B2 (en) * | 2014-10-15 | 2017-10-24 | Samsung Electronics Co., Ltd. | Data storage device including nonvolatile memory device and operating method thereof |
JP5991701B2 (ja) | 2014-10-28 | 2016-09-14 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ストレージ管理方法、ストレージ管理システム、コンピュータ・システムおよびプログラム |
US10409526B2 (en) * | 2014-12-17 | 2019-09-10 | Violin Systems Llc | Adaptive garbage collection |
US10922011B2 (en) * | 2018-04-12 | 2021-02-16 | Samsung Electronics Co., Ltd. | Controllers configured to perform secure deletion, key-value storage devices including said controllers, and methods of operation thereof |
-
2017
- 2017-10-31 KR KR1020170143420A patent/KR102530583B1/ko active IP Right Grant
-
2018
- 2018-05-09 US US15/975,008 patent/US10817624B2/en active Active
- 2018-10-25 CN CN201811255820.XA patent/CN109725850B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354681A (zh) * | 2008-09-23 | 2009-01-28 | 美商威睿电通公司 | 存储器系统、非易失性存储器的磨损均衡方法及装置 |
CN106205707A (zh) * | 2014-12-29 | 2016-12-07 | 株式会社东芝 | 存储器装置 |
Also Published As
Publication number | Publication date |
---|---|
US10817624B2 (en) | 2020-10-27 |
KR20190048453A (ko) | 2019-05-09 |
KR102530583B1 (ko) | 2023-05-09 |
US20190130135A1 (en) | 2019-05-02 |
CN109725850A (zh) | 2019-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657041B2 (en) | Data management method and storage device performing the same | |
US10318414B2 (en) | Memory system and memory management method thereof | |
US9996297B2 (en) | Hot-cold data separation method in flash translation layer | |
CN109725850B (zh) | 存储器系统和存储设备 | |
KR101813786B1 (ko) | Ssd 상의 기록-시-복사를 위한 시스템 및 방법 | |
US11544157B2 (en) | Apparatus and method for storing data in an MLC area of a memory system | |
US10120606B2 (en) | Data storage devices including storage controller circuits to select data streams based on application tags and computing systems including the same | |
US20200089619A1 (en) | Data storage device and method of deleting namespace thereof | |
WO2015077186A1 (en) | Method and system for forward reference logging in a persistent datastore | |
KR20170095524A (ko) | 메모리 시스템 및 그의 동작 방법 | |
US11354250B2 (en) | Apparatus for transmitting map information in memory system | |
KR20200100955A (ko) | 메모리 시스템의 맵 데이터 관리 방법 및 장치 | |
KR20200043676A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
US20140325168A1 (en) | Management of stored data based on corresponding attribute data | |
KR20210038096A (ko) | 메모리 시스템, 데이터 시스템 및 그 동작방법 | |
KR20210012641A (ko) | 메모리 시스템, 데이터 시스템 및 그 동작방법 | |
US10642531B2 (en) | Atomic write method for multi-transaction | |
US11709781B2 (en) | Method of managing data in storage device based on variable size mapping, method of operating storage device using the same and storage device performing the same | |
KR20220005832A (ko) | 메타 데이터 관리를 위한 메모리 시스템 및 메모리 시스템의 동작방법 | |
KR20210051803A (ko) | 메모리 시스템 및 컨트롤러 | |
KR20200125262A (ko) | 메모리 시스템, 데이터 시스템 및 그 동작방법 | |
KR20200113991A (ko) | 컨트롤러 및 메모리 시스템 | |
US11663139B2 (en) | Apparatus for transmitting map information in memory system | |
US11366611B2 (en) | Apparatus for transmitting map information in a memory system | |
US11657000B2 (en) | Controller and memory system including the same |
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 |