CN109697026A - 包括主机设备和用于执行清除操作的存储设备的存储系统 - Google Patents

包括主机设备和用于执行清除操作的存储设备的存储系统 Download PDF

Info

Publication number
CN109697026A
CN109697026A CN201811151452.4A CN201811151452A CN109697026A CN 109697026 A CN109697026 A CN 109697026A CN 201811151452 A CN201811151452 A CN 201811151452A CN 109697026 A CN109697026 A CN 109697026A
Authority
CN
China
Prior art keywords
upiu
selective clearing
data
equipment
storage
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.)
Granted
Application number
CN201811151452.4A
Other languages
English (en)
Other versions
CN109697026B (zh
Inventor
金东民
尹松虎
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN109697026A publication Critical patent/CN109697026A/zh
Application granted granted Critical
Publication of CN109697026B publication Critical patent/CN109697026B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into 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/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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0608Saving storage space on 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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
    • 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/7207Details relating to flash memory management management of metadata or control data
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及包括主机设备和用于执行清除操作的存储设备的存储系统。所述主机设备生成写命令、与所述写命令对应的写数据的逻辑地址、指示所述写数据是选择性清除的目标的选择性清除标签。所述存储设备接收所述写命令、所述逻辑地址和所述选择性清除标签,存储所述写数据,并在从所述主机设备接收到擦除命令时逻辑地擦除所存储的写数据。另外,所述存储设备在从所述主机设备接收到选择性清除请求时物理地擦除所存储的写数据。

Description

包括主机设备和用于执行清除操作的存储设备的存储系统
相关申请的交叉引用
本专利申请要求于2017年10月24日在韩国知识产权局提交的第10-2017-0138568号韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并入本文。
技术领域
本公开涉及半导体存储器。更具体地,本公开涉及被配置为选择性地执行清除操作的存储设备和包括该存储设备的存储系统。
背景技术
近年来,诸如智能手机、台式计算机、膝上型计算机、平板个人计算机(PC)和可穿戴设备的电子设备已经被做成广泛可用的并且被广泛地使用。这些电子设备中的每个都包括存储设备以便存储数据,并且这些电子设备已趋向于更高的存储容量和更高的处理(和通信)速度。特别地,已经做了很多努力来增加存储容量并提高存储设备的速度。作为示例,已经提出并采用了多种不同的协议用于电子设备的主机设备和存储设备之间的接口。
电子设备中包括的存储设备可以包括非易失性存储设备,即使在电源中断时该非易失性存储设备也保留在其中存储的数据。非易失性存储设备的示例包括闪存、相变随机存取存储器(RAM)、阻变RAM(ReRAM)、铁电RAM(FRAM)等。然而,上述非易失性存储设备是不可盖写的,并且可以使用清除操作来物理地擦除现有数据以便存储新数据。例如,由于例如存储空间不足或安全原因,可以执行清除操作。
然而,由于一般的清除方案导致对存储设备中存储的所有无效数据的物理擦除,因此存储设备的速度可能降低。因此,需要开发能够在满足最近提出的用于主机设备和存储设备之间的接口的各种协议的同时提高存储设备的速度的清除方案。
发明内容
本公开的实施例提供了一种选择性清除方案,用于防止在对存储设备执行清除操作时所述存储设备的操作速度降低。
根据示例性实施例,一种存储系统包括主机设备和存储设备。所述主机设备被配置为生成写命令、与所述写命令对应的写数据的逻辑地址以及选择性清除标签,所述选择性清除标签指示所述写数据是选择性清除的目标。所述存储设备被配置为接收所述写命令、所述逻辑地址和所述选择性清除标签,存储所述写数据,并在从所述主机设备接收到擦除命令时逻辑地擦除所存储的写数据。所述存储设备可以被配置为在从所述主机设备接收到选择性清除请求时物理地擦除所存储的写数据。
根据示例性实施例,一种存储系统的操作方法包括:接收第一包,所述第一包基于写命令、与所述写命令对应的写数据的逻辑地址、指示所述写数据是选择性清除的目标的选择性清除标签。所述操作方法还包括接收基于所述写数据的第二包。所述第一包和所述第二包由主机设备生成。所述操作方法还包括:解析所述第一包,以在选择性清除组中管理所述逻辑地址;存储来自所述第二包的所述写数据;基于从所述主机设备接收到的擦除命令,从存储设备中逻辑地擦除所存储的写数据;以及基于第三包从所述存储设备中物理地擦除所存储的写数据,所述第三包取决于来自所述主机设备的选择性清除请求。
根据示例性实施例,一种存储系统包括主机设备和存储设备。所述主机设备被配置为生成命令unix文件系统(UFS)协议信息单元(UPIU)和数据UPIU,所述命令UPIU包括写命令和选择性清除标签,所述选择性清除标签指示与所述写命令对应的写数据是选择性清除的目标,所述数据UPIU包括所述写数据。所述存储设备被配置为接收所述命令UPIU和所述数据UPIU,在选择性清除组中管理所述写数据,并且在从所述主机设备接收到解除映射UPIU时逻辑地擦除所述写数据。所述主机设备可以被配置为还生成查询请求UPIU,所述查询请求UPIU包括用于物理地擦除属于所述选择性清除组的所述写数据的选择性清除请求。所述存储设备可以被配置为接收所述查询请求UPIU,并基于所述选择性清除请求来物理地擦除属于所述选择性清除组的所述写数据。
附图说明
通过参照附图详细描述本公开的示例性实施例,本公开的上述和其他目的和特征将变得显而易见。
图1是例示了根据本公开的实施例的被配置为选择性地执行清除操作的存储系统的框图。
图2是例示了在图1的存储系统中可采用的示例性接口协议的层结构的框图。
图3是例示了图1中所例示的存储系统的存储设备的配置的框图。
图4是分层地例示了根据本公开的实施例的在执行选择性清除操作时生成文件的过程的框图。
图5和图6是例示了图4中所例示的存储系统的存储设备的配置的框图。
图7和图8是例示了根据本公开的实施例的由主机设备输出的包的格式的视图。
图9是分层地例示了根据本公开的实施例的在执行选择性清除操作时执行擦除操作的过程的框图。
图10是例示了图9中所例示的存储系统的存储设备的配置的框图。
图11是分层地例示了根据本公开的实施例的在执行选择性清除操作时执行选择性清除操作的过程的框图。
图12是例示了图10中所例示的存储系统的存储设备的配置的框图。
图13和图14是例示了根据本公开的实施例的由主机设备输出的包的格式的视图。
图15是例示了根据本公开的实施例的在存储系统中执行的选择性清除操作的流程图。
图16是分层地例示了根据本公开的另一实施例的在执行选择性清除操作时生成文件的过程的框图。
图17是例示了图16中所例示的存储系统的存储设备的配置的框图。
图18和图19是例示了根据本公开的实施例的由主机设备输出的包的格式的视图。
图20是例示了图1中所例示的非易失性存储设备中的任一个的框图。
图21是例示了在图20中的存储单元阵列的单元阵列中包括的存储块中的一个的电路图。
具体实施方式
下面,可以详细地并且清楚地描述本公开的实施例,使得本领域普通技术人员容易地实现本文描述的发明构思。
图1是例示了根据本公开的实施例的被配置为选择性地执行清除操作的存储系统1000的框图。图1中的存储系统1000包括主机设备1100和存储设备1200。下面,在本说明书中,清除操作是指物理地擦除在存储设备1200中存储的所有无效数据,而选择性清除操作是指物理地擦除在存储设备1200中存储的无效数据的一部分。也就是说,选择性清除操作是指选择性地物理擦除可能比存储设备1200中存储的所有无效数据少的无效数据。如本文所述的物理擦除数据可以被用来表示实际擦除数据(诸如通过施加比存储单元中的现有电荷高的电荷)。如本文所述的逻辑擦除数据可以被用来表示与实际擦除存储单元中的数据不同的事物(诸如通过使存储单元的先前相关的逻辑地址和物理地址不相关)。
此外,如本文使用的术语“无效数据”可以指已经被识别为出于任何原因(诸如数据是旧的和未使用的、被指定要由用户擦除的、低优先级的、被损坏的或有被损坏的嫌疑等等)在物理上和/或逻辑上可擦除的数据。因此,无效数据可以是存储单元中在被指定要物理擦除和/或逻辑擦除的物理地址和/或逻辑地址的数据。
主机设备1100可以管理和处理存储系统1000的总体操作。主机设备1100可以执行各种算术运算/逻辑运算。例如,主机设备1100可以包括一个或更多个处理器核心。主机设备1100可以被实现为包括专用电路(例如,现场可编程门阵列(FPGA)和专用集成电路(ASIC)),或者可以用片上系统(SoC)来实现。例如,主机设备1100可以包括通用处理器、专用处理器或应用处理器。主机设备1100可以是处理器本身或包括处理器的电子设备或系统。
主机设备1100可以生成与对存储设备1200的写请求对应的写命令和写数据。此外,主机设备1100可以生成与擦除请求对应的解除映射(unmap)命令、清除请求等。例如,写命令、写数据、解除映射命令、清除请求等可以被转换/处理为包括用于(依照)JEDEC提出的接口协议的命令unix文件系统(UFS)协议信息单元(UPIU)的包(例如,CMDw UPIU和DATAUPIU)。
在继续之前,在物理地址和逻辑地址的上下文中解释上述的解除映射命令。物理地址是存储器地址和/或用于存储器地址的永久地址,该存储器地址可以是用于集成系统的所有存储器地址的综合地址方案的一部分。另一方面,逻辑地址是方便的存储器地址,例如便于逻辑地组织一组可能不相关的物理存储器地址。例如,逻辑存储器地址可以被分配给一组物理存储器地址,该组物理存储器地址不相邻,中间插入有物理存储器地址。逻辑存储器地址可以被分配用于存储一组数据,对于该组数据,相邻的物理存储器地址的块不可用作内聚存储单元。当分配逻辑存储器地址时,可以存储逻辑存储器地址与对应的物理存储器地址之间的关系。可以使用解除映射命令来消除物理存储器地址和逻辑存储器地址之间的关系/对应。
当生成写命令时,主机设备1100可以生成标签,该标签指示要传送的写数据是选择性清除的目标。要存储在存储设备1200中的写数据和与其相关联的逻辑/物理地址可以作为选择性清除组来单独管理。如果向存储设备1200提供选择性清除请求,则可以仅对选择性清除组中管理的无效数据而不是对存储设备1200的所有无效数据执行清除操作。
存储设备1200可以包括控制器1210和非易失性存储设备(NVM)1220,该非易失性存储设备1220在图1中由单个非易失性存储设备表示,但是在不同的实施例中,它可以是一个或更多个非易失性存储设备。控制器1210可以管理映射表以规定在非易失性存储设备1220中存储(或将要存储)的数据的逻辑地址和物理地址之间的对应关系。此外,控制器1210可以管理在选择性清除组中所管理的无效数据。控制器1210可以响应于来自主机设备1100的选择性清除请求,物理地擦除属于选择性清除组的无效数据。
根据上述配置,在存储设备1200的存储空间不足的情况下,在作为逻辑擦除操作的解除映射操作被执行之后,可以对解除映射后的数据选择性地执行清除操作,以选择性地物理擦除解除映射后的数据。也就是说,并非所有无效数据都被物理擦除,而只有属于选择性清除组的无效数据被物理擦除。因此,可以改善存储系统1000的操作性能。
图2是例示了用于(依照)在图1的存储系统1000中可采用的示例性接口协议的层结构的框图。例如,主机设备1100和存储设备1200可以根据JEDEC提出的unix文件系统(UFS)协议来实现,以便彼此通信。
主机设备1100可以包括应用/HCI(主机控制器接口)层L11(以下称为“应用层”)、文件系统L12、设备驱动器L13、传送管理器L14和PHY层L15。主机设备1100的层L11、L12、L13、L14和L15中的每个可以包括程序代码,该程序代码可由物理硬件电路和/或处理器执行,以便执行独特的功能。
存储设备1200可以包括存储管理器L21、地址(ADDR)映射器L22、命令(CMD)解析器L23、传送管理器L24和PHY层L25。存储设备1200的层L21、L22、L23、L24和L25中的每个可以包括程序代码,该程序代码可由物理硬件电路和/或处理器核心执行,以便执行独特的功能。
应用层L11是上层,可以处理来自存储系统1000的用户的请求。应用层L11可以处理用于读操作和写操作的正常命令。应用层L11可以提供设备级的控制,诸如查询请求。另外,应用层L11可以处理设备级的控制,例如设备休眠、设备断电和设备电源管理。
文件系统L12可以组织要存储在存储设备1200中的数据(文件)。文件系统L12可以生成与存储设备1200相关联(用于存储设备1200)的访问请求(例如,写请求等)对应的逻辑地址。在实施例中,文件系统L12可以包括FAT(文件分配表)、FAT32、NTFS(NT文件系统)、HFS(分层文件系统)、JFS2(日志文件系统2)、XFS、ODS-5(磁盘上结构-5)、UDF、ZFS、UFS(Unix文件系统)、ext2、ext3、ext4、ReiserFS、Reiser4、ISO 9660、Gnome VFS、BFS、WinFS等。
设备驱动器L13在本文中也可以被称为设备管理器,并且可以控制主机设备1100中包括的设备和/或层(例如,传送管理器L14)。设备驱动器L13可以将由文件系统L12生成的对存储设备1200的请求(例如,写请求等)转换为能够由存储设备1200识别的命令。例如,文件系统L12和设备驱动器L13可以被包括在操作系统(OS)中,并且应用层L11可以被安装在OS中。
传送管理器L14和传送管理器L24中的每个可以生成包括用于(依照)JEDEC提出的接口协议的UPIU的包。传送管理器L14和传送管理器L24中的每个可以包括传输层、网络层、数据链路层和PHY适配器层。传输层可以检测并恢复数据错误。网络层可以管理通信路径或者可以处理通信定时。数据链路层可以管理数据的物理传输和合成。PHY适配器层可以分别管理PHY层L15和PHY层L25的通信环境。例如,对于各自的PHY层,PHY适配器层可以处理数据符号或者可以控制功率。
因此,传送管理器L14和传送管理器L24(每个都包括传输层、网络层、数据链路层和PHY适配器层)可以传送和转换通过PHY层L15和PHY层L25交换的包。例如,可以依照JEDEC提出的协议来实现作为链路层的传输层、网络层、数据链路层和PHY适配器层。
PHY层L15和PHY层L25中的每个可以包括通信电路(例如,发送器/接收器、调制器/解调器、编码器/译码器和振荡器)以发送和接收包。主机设备1100的PHY层L15可以与存储设备1200的PHY层L25交换包。例如,PHY层L15和PHY层L25(每个都是物理层)可以按照MIPI联盟提出的PHY协议来实现。
命令解析器L23可以解析包中包括的命令,该包包括从主机设备1100接收到的各种类型的UPIU。例如,可以基于在命令解析器L23处解析包括UPIU的包的结果来执行写操作、解除映射操作、清除操作等。
地址映射器L22可以允许由主机设备1100生成的逻辑地址与存储(或将要存储)数据的空间(例如,图1的存储设备1200)的物理地址相对应。例如,地址映射器L22可以是闪存转换层(FTL)以将由文件系统L12生成的逻辑地址转换为存储设备1200的物理地址。
存储管理器L21可以执行设备级的功能。例如,存储管理器L21可以管理存储在存储设备1200中的数据,或者可以管理存储设备1200的电源。
在下面要描述的实施例中,可以假设存储系统1000采用unix文件系统(UFS)协议。然而,提供该假设是为了更好地理解,并且本公开的实施例可以不限于此。基于以下描述,除了unix文件系统(UFS)协议之外,本领域普通技术人员还可以将本公开的实施例应用于其他接口协议。
图3是例示了图1中所示的存储系统1000的存储设备1200的配置的框图。与分层地示出了各层的图2不同,图3例示了根据存储设备1200的功能/操作分类的多个块。为了更好地理解,将参照图2的特征一起描述图3。
存储设备1200可以包括控制器1210、多个非易失性存储设备1220和缓冲存储器1230。控制器1210可以包括处理器1212,其代表一个或更多个处理器。另外,控制器1210还可以包括存储器接口(I/F)1214、主机接口1216和缓冲管理器1218。存储器接口1214可以与非易失性存储设备1220进行对接。主机接口1216可以按照unix文件系统(UFS)协议与主机设备1100进行对接。缓冲管理器1218可以管理缓冲存储器1230。
处理器1212可以控制控制器1210的总体操作。处理器1212可以驱动为了驱动控制器1210或控制非易失性存储设备1220而需要的各种类型的固件/软件。例如,处理器1212可以驱动命令解析器L23以解析包中包括的命令,该包包括UPIU并且是从主机设备1100接收的,或者处理器1212可以用作命令解析器L23。可替代地或另外地,处理器1212可以驱动用于管理映射表的地址映射器L22。
非易失性存储设备1220可以包括用于存储数据的存储区域。例如,在非易失性存储设备包括NAND闪存的情况下,每个非易失性存储设备1220可以包括沿多条字线和多条位线形成的存储单元阵列。
然而,以上示例可以不限制本公开的教导。非易失性存储设备1220可以包括各种非易失性存储设备中的一个或更多个,诸如电可擦除可编程ROM(EEPROM)、NOR闪存、相变RAM(PRAM)、阻变RAM(ReRAM)、铁电RAM(FRAM)、自旋转矩磁RAM(ST-MRAM)等。为了更好地理解,在以下描述中,可以假设非易失性存储设备包括NAND闪存。然而,非易失性存储设备1220的配置可以被不同地改变或修改。
缓冲存储器1230可以存储要用于存储设备1200的操作的数据。缓冲存储器1230可以临时存储处理器1212已处理或将要处理的数据。例如,缓冲存储器1230可以临时存储包,该包包括UPIU并且是从主机设备1100接收的。例如,为管理地址映射器L22所需的映射表可以被加载到缓冲存储器1230上。例如,缓冲存储器1230可以包括易失性存储器(诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)等)和/或非易失性存储器(诸如PRAM、磁阻RAM(MRAM)、ReRAM、FRAM等)。
图4是分层地例示了根据本公开的实施例的在执行选择性清除操作时生成文件的过程的框图。为了更好地理解,将参照图3的特征一起描述图4。
应用层L11可以响应于用户的请求,生成一个或更多个文件。可以根据用户请求来生成具有各种扩展名的文件。然而,在实施例中,假设生成了具有扩展名“key”的文件(下文中称为“密钥文件”)。例如,密钥文件可以包括为了对要存储在存储设备1200中的文件进行加密所需的信息。
文件系统L12可以生成与密钥文件对应的逻辑地址LA4。逻辑地址LA4可以由地址映射器L22转换为物理地址,转换后的物理地址可以指示存储设备1200的非易失性存储设备1220中将存储该密钥文件的空间。
文件系统L12可以检查根据与存储设备1200相关联的写请求而生成的密钥文件的类型(即,扩展名)。文件系统L12可以考虑到应用的类型、文件的类型等,确定是否需要对所生成的密钥文件执行选择性清除操作。如果确定需要通过选择性清除操作来物理地删除该密钥文件,则文件系统L12可以生成选择性清除标签SP。
传送管理器L14可以在操作系统(OS)上驱动的设备驱动器L13的控制下生成UPIU。例如,传送管理器L14可以基于用户的写请求、逻辑地址LA4和选择性清除标签SP来生成写命令UPIU即CMDw UPIU。传送管理器L14可以基于密钥文件来生成数据UPIU即DATA UPIU。所生成的UPIU即CMDw UPIU和DATA UPIU可以通过PHY层L15和PHY层L25被提供给存储设备1200。
命令解析器L23可以解析写命令UPIU即CMDw UPIU中包括的命令。例如,命令解析器L23可以解析命令的类型(例如,写命令),并且可以解析写命令UPIU即CMDw UPIU是否包括选择性清除标签SP。当命令解析器L23解析出写命令UPIU即CMDw UPIU包括选择性清除标签SP时,这将被认为意味着,从主机设备1100接收到的数据UPIU即DATA UPIU包括稍后要通过选择性清除操作来物理地擦除的写数据。
地址映射器L22可以将逻辑地址LA4转换为物理地址。另外,地址映射器L22可以在单独的选择性清除组SPG中管理逻辑地址LA4。与在选择性清除组SPG中管理的逻辑地址相对应的物理地址指示存储了要被选择性地和物理地擦除的无效数据的存储空间。
图5和图6是例示了图4中所示的存储系统1000的存储设备1200的配置的框图。与分层地例示了各层的图4不同,图5和图6例示了根据存储设备1200的功能/操作分类的多个块。为了更好地理解,将参照图3和图4的组合特征一起描述图5和图6。
图5和图6例示了已经在清除组PG中管理逻辑地址LA1和LA2和/或与其分别对应的物理地址PA1和PA2,以及已经在选择性清除组SPG中管理逻辑地址LA3和/或与其对应的物理地址PA3。另外,各个数据DATA1、DATA2和DATA3可以分别由物理地址PA1、PA2和PA3指示。
参照图5,从主机设备1100接收的写命令UPIU即CMDw UPIU可以被存储在缓冲存储器1230中(操作①)。处理器1212可以取出被存储在缓冲存储器1230中的写命令UPIU即CMDwUPIU(操作②)。
当处理器1212直接解析写命令UPIU即CMDw UPIU或由处理器1212驱动的命令解析器L23解析写命令UPIU即CMDw UPIU时,所接收的命令可以被识别为与写请求相对应的命令。另外,当选择性清除标签SP与写命令UPIU即CMDw UPIU一起被接收时,可以识别出在写命令UPIU即CMDw UPIU之后所接收的数据UPIU即DATA UPIU包括要通过选择性清除操作来物理擦除的数据。
由处理器1212驱动的地址映射器L22可以将逻辑地址LA4转换为物理地址PA4。另外,地址映射器L22可以在选择性清除组SPG中管理逻辑地址LA4和/或物理地址PA4(操作③)。清除组PG和选择性清除组SPG被例示为被分开管理。然而,选择性清除组SPG可以作为清除组PG的一部分被管理。
之后,数据UPIU即DATA UPIU可以被接收并且可以被处理为具有适合于非易失性存储设备1220的格式。可以将写命令CMDw和处理后的写数据DATA4提供给非易失性存储设备1220,并且写数据DATA4可以被存储在由物理地址PA4指示的空间中。
此外,根据与说明书中描述的选择性清除操作相关联的方案,从主机设备1100接收的数据UPIU即DATA UPIU可能在所分配的资源方面是不合适的。例如,在所接收的数据UPIU即DATA UPIU的大小超过所分配的资源(例如,选择性清除组的大小或容量)的情况下,不可能对选择性清除组进行管理。处理这种情况的示例在图6中示出。
参照图6,如果接收到写命令UPIU即CMDw UPIU(操作①),则处理器1212或由处理器1212驱动的命令解析器L23可以取出并解析写命令UPIU即CMDw UPIU(操作②)。如果关于要接收的数据UPIU即DATA UPIU的大小的信息(被包括在写命令UPIU即CMDw UPIU中)超过所分配的资源(例如,选择性清除组的大小或容量),则处理器1212可以将来自主机设备1100的写请求处理为写失败(操作③)。如果发生写失败,则逻辑地址LA4可以不被转换为物理地址,并且可以不在选择性清除组SPG中被管理。当然,与写命令UPIU即CMDw UPIU对应的数据UPIU即DATA UPIU可以不被接收(操作④),或者可以被接收并被丢弃。
图7和图8是例示了根据本公开的实施例的主机设备1100输出的包的格式的视图。例如,主机设备1100输出的包可以包括用于(依照)JEDEC提出的接口协议的unix文件系统(UFS)协议信息单元(UPIU)。
参照图7,主机设备1100可以输出命令UPIU。命令UPIU可以包括多个字段。可以通过使用图中标记的号码来引用命令UPIU的每个字段。命令UPIU的每个字段可以包括一个字节的数据。
命令UPIU的第0字段可以包括关于事务类型的信息。例如,分配给命令UPIU的事务代码可以是“000001b”。
命令UPIU的第1字段可以包括关于标志的信息。命令UPIU的第1字段可以包括指示需要主机设备1100进行数据读操作的标志、指示需要主机设备1100进行数据写操作的标志等。
命令UPIU的第2字段可以包括关于存储设备1200的逻辑单元号LUN的信息。
命令UPIU的第3字段可以包括关于任务标签的信息。
命令UPIU的第4字段的一部分(例如,4位)可以包括关于命令集类型的信息。例如,命令集类型可以包括小型计算机系统接口(SCSI)命令集、unix文件系统(UFS)特定命令集、供应商特定命令集等。
命令UPIU的第8字段可以包括关于额外头部段(EHS)的总长度的信息。
在命令UPIU中,第10字段和第11字段可以包括关于数据段的有效字节数的信息。
在命令UPIU中,第12至第15字段可以包括关于预期数据传送长度的信息。
在命令UPIU中,第16至第31字段可以被分配给写命令描述符块。将参照图8对此进行描述。
可以在命令UPIU的第31字段之后可选地添加头部的端到端循环冗余校验(CRC)码(头部E2ECRC)。例如,在第0字段的第一位是“0”的情况下,可以省略端到端CRC码。
参照图8,写命令描述符块可以包括多个字段。可以通过使用图中标记的号码来引用写命令描述符块的每个字段。
在应用了unix文件系统(UFS)协议的系统中,写保护字段WPROTECT可以被设置为“0”。
禁止页输出(DPO)字段可以包括与保留优先级相关联的信息。例如,在禁止页输出字段被设置为“0”的情况下,保留优先级可以由高速缓存模式页中存在的保留优先级字段值来确定。例如,在禁止页输出字段被设置为“1”的情况下,存储设备1200(参照图4)可以将最低保留优先级分配给由命令访问的逻辑块。
强制单元访问(FUA)可以包括关于记录在存储介质中的逻辑块的信息。例如,在强制单元访问被设置为“0”的情况下,存储设备1200可以将逻辑块记录在高速缓存和/或存储介质中。例如,在强制单元访问被设置为“1”的情况下,存储设备1200可以将逻辑块记录在存储介质中,并且在所有逻辑块被无错误地记录在存储介质中之前,不能完成命令到GOOD状态。
可以以SCSI块命令为单位规定FUA_NV。但是,在应用了unix文件系统(UFS)协议的系统中可以不考虑FUA_NV的值。
逻辑块地址指示块的逻辑地址。
选择性清除标签SP可以包括关于要向存储设备1200传送的写数据是否为选择性清除操作的目标的信息。例如,在选择性清除标签SP的值被设置为“0”的情况下,要存储在存储设备1200中的写数据可以是正常清除操作的目标。也就是说,可以在执行清除操作时物理地擦除存储设备1200中的所有无效数据。
相反地,在选择性清除标签SP的值被设置为“1”的情况下,可以在单独的选择性清除组中管理与命令UPIU一起传送的写数据。之后,可以根据来自主机设备1100的擦除请求,将该写数据逻辑地删除(即,或者例如,解除映射)。在由于例如存储空间不足或安全原因而需要物理地擦除该写数据的情况下,可以根据来自主机设备1100的选择性清除请求,物理地擦除在选择性清除组中管理的数据。
组号可以包括关于系统数据特性或连接的上下文ID即ContextID的信息。
传送长度可以指示被传送到存储设备1200以便记录的数据的连续逻辑块的数量。
图9是分层地例示了根据本公开的实施例的在执行选择性清除操作时执行擦除操作的过程的框图。为了更好地理解,将参照图3的特征一起描述图9。
当用户请求删除文件时,文件系统L12可以生成解除映射命令即UNMAP命令以及要删除的文件的逻辑地址LA1、LA2、LA3和LA4。传送管理器L14可以在设备驱动器L13的控制下生成解除映射UPIU即UNMAP UPIU。该解除映射UPIU可以通过PHY层L15和PHY层L25被传送到存储设备1200。命令解析器L23可以解析该解除映射UPIU,以检查是否接收到根据擦除命令的对存储设备1200的解除映射请求。
地址映射器L22可以根据映射表来解除映射逻辑地址LA1、LA2、LA3和LA4。例如,地址映射器L22可以解除逻辑地址LA1、LA2、LA3和LA4和与其分别对应的物理地址之间的对应关系。这样,与逻辑地址LA1、LA2、LA3和LA4对应并且被存储在存储设备1200中的数据可以被设置为无效数据。然而,即使逻辑地址LA1、LA2、LA3和LA4被地址映射器L22解除映射,属于选择性清除组的逻辑地址LA3和LA4也可以与不属于选择性清除组的逻辑地址LA1和LA2分开管理。
图10是例示了图9中所示的存储系统1000的存储设备1200的配置的框图。与分层地例示了各层的图9不同,图10例示了根据存储设备1200的功能/操作分类的多个块。为了更好地理解,将参照图9的特征一起描述图10。
图10例示了在清除组PG中管理逻辑地址LA1和LA2和/或与其分别对应的物理地址PA1和PA2,并且在选择性清除组SPG中管理逻辑地址LA3和LA4和/或与其分别对应的物理地址PA3和PA4。另外,各个数据DATA1、DATA2、DATA3和DATA4可以分别由物理地址PA1、PA2、PA3和PA4指示。
从主机设备1100接收的解除映射UPIU可以被存储在缓冲存储器1230中(操作①)。处理器1212可以取出存储在缓冲存储器1230中的解除映射UPIU(操作②)。
当处理器1212直接解析该解除映射UPIU或由处理器1212驱动的命令解析器L23解析该解除映射UPIU时,所接收的命令可以被识别为与擦除请求相对应的命令。
由处理器1212驱动的地址映射器L22可以根据映射表来解除映射逻辑地址LA1、LA2、LA3和LA4(操作③)。清除组PG和选择性清除组SPG被例示为被分开管理。然而,可以将选择性清除组SPG作为清除组PG的一部分被管理。通过解除映射操作,由与逻辑地址LA1、LA2、LA3和LA4分别对应的物理地址PA1、PA2、PA3和PA4分别指示的各个数据DATA1、DATA2、DATA3和DATA4可以被设置为无效数据。
然而,与作为正常清除操作的目标的逻辑地址LA1和LA2和/或物理地址PA1和PA2不同,作为选择性清除操作的目标的逻辑地址LA3和LA4和/或物理地址PA3和PA4可以由地址映射器L22仍然在单独的组中管理。因此,在由于例如存储空间不足或安全原因而需要物理地擦除存储在存储设备1200中的数据的情况下,与属于选择性清除组的逻辑地址LA3和LA4和/或物理地址PA3和PA4分别对应的各个数据DATA3和DATA4可以被选择性地并物理地擦除。
图11是分层地例示了根据本公开的实施例的在执行选择性清除操作时执行选择性清除操作的过程的框图。为了更好地理解,将参照图3的特征一起描述图11。
主机设备1100的文件系统L12可以生成与存储设备1200中的无效数据中的数据相关联的选择性清除标签SP,该数据属于选择性清除组并且被确定为需要被物理地并选择性地擦除。传送管理器L14可以在设备驱动器L13的控制下生成查询请求unix文件系统(UFS)协议信息单元(UPIU)。该查询请求UPIU可以包括对选择性清除操作的请求。也就是说,说明书中描述的查询请求UPIU可以是选择性清除请求。该查询请求UPIU可以通过PHY层L15和PHY层L25被传送到存储设备1200。
命令解析器L23可以解析该查询请求UPIU以检查是否接收到对选择性清除操作的请求。存储设备1200可以响应于该查询请求UPIU而对无效数据执行清除操作。然而,由于该查询请求UPIU包括选择性清除标签SP,因此可以仅对与在选择性清除组SPG中管理的逻辑地址和/或物理地址对应的无效数据进行物理地并选择性地擦除。
图12是例示了图10中所示的存储系统1000的存储设备1200的配置的框图。与分层地例示了各层的图11不同,图12例示了根据存储设备1200的功能/操作分类的多个块。为了更好地理解,将参照图11的特征一起描述图12。
从主机设备1100接收的查询请求UPIU可以被存储在缓冲存储器1230中(操作①)。处理器1212可以取出存储在缓冲存储器1230中的查询请求UPIU(操作②)。如果在处理器1212直接解析该查询请求UPIU或者由处理器1212驱动的命令解析器L23解析该查询请求UPIU时,检查到选择性清除标签SP,则只有属于选择性清除组的各无效数据可以被物理地擦除。
图13和图14是例示了根据本公开的实施例的主机设备1100输出的包的格式的视图。例如,主机设备1100输出的包可以包括用于(依照)JEDEC提出的接口协议的UPIU。
参照图13,主机设备1100可以输出查询请求UPIU。该查询请求UPIU可以包括多个字段。可以通过使用图中标记的号码来引用该查询请求UPIU的每个字段。该查询请求UPIU的每个字段可以包括一个字节的数据。
查询请求UPIU的第0字段可以包括关于事务类型的信息。例如,分配给查询请求UPIU的事务代码可以是“010110b”。
查询请求UPIU的第1字段可以包括关于标志的信息。查询请求UPIU的第1字段可以包括指示需要主机设备1100进行数据读操作的标志、指示需要主机设备1100进行数据写操作的标志等。
查询请求UPIU的第3字段可以包括关于任务标签的信息。
查询请求UPIU的第5字段可以包括关于查询功能的信息。查询功能通常可以用于读或写描述符、属性和标志。
查询请求UPIU的第8字段可以包括关于额外头部段(EHS)的总长度的信息。
在查询请求UPIU中,第10字段和第11字段可以包括关于数据段的有效字节数的信息。
在查询请求UPIU中,第12字段至第27字段可以包括事务特定字段。
可以在查询请求UPIU的第27字段之后可选地添加头部的端到端CRC码。
在端到端CRC码之后的第k字段到第(k+长度-1)字段可以包括数据段区域。数据段区域可以是取决于查询功能的值的可选区域。
可以在查询请求UPIU的第(k+长度-1)字段之后可选地添加数据的端到端CRC码。
图14例示了图13的查询请求UPIU的事务特定字段。例如,事务特定字段可以包括与选择性清除请求相关联的设置标志。
查询请求UPIU的第12字段可以包括关于设置标志的OP码OPCDE的信息。该OP码指示要执行的操作。例如,设置标志的OP码可以是“06h”。
查询请求UPIU的第13字段可以包括用来标识用于设置存储设备的特定标志的值。例如,标志标识值Flag IDN被设置为“1”的情况可以指示对存储设备执行清除操作。
查询请求UPIU的第14字段可以包括与选择性清除操作相关联的信息。例如,索引(INDEX)值被设置为“0”的情况可以指示执行正常清除操作。也就是说,存储在存储设备中的所有无效数据都可以被物理地擦除。相反地,索引(INDEX)值被设置为“1”的情况可以指示执行选择性清除操作。也就是说,只有与分类到选择性清除组中的逻辑地址和/或物理地址对应的无效数据可以被物理地擦除。
查询请求UPIU的第15字段可以不被考虑,并且可以被设置为作为默认值的“0”。
图15是用于例示根据本公开的实施例的在存储系统中执行的选择性清除操作的流程图。
在操作S105中,可以生成包括选择性清除标签SP的写命令UPIU即CMDw UPIU。在通过用户的写请求来生成文件的情况下,主机设备1100的文件系统可以确定该文件是否稍后需要选择性清除操作,并且可以基于确定结果来生成该文件。例如,在操作S110中,写命令UPIU即CMDw UPIU可以被传送到存储设备1200。
在操作S115中,可以解析写命令UPIU即CMDw UPIU。存储设备1200(详细地,图5中所例示的处理器1212和/或命令解析器L23)可以检查写命令UPIU即CMDw UPIU是否与写请求相对应。存储设备1200可以检查写命令UPIU即CMDw UPIU中包括的选择性清除标签,以确定在写命令UPIU即CMDw UPIU之后所接收的数据UPIU包括要在选择性清除组中管理的数据。
在操作S120中,可以基于对写命令UPIU即CMDw UPIU进行解析的结果,确定数据的大小是否在容许大小以内。例如,可以基于被作为选择性清除组管理的资源的大小来设置该容许大小。可以根据确定结果来确定是否接收数据UPIU。
如果所接收的数据的大小超过容许大小(S120中为“否”),则在操作S125中存储设备1200可以向主机设备1100传送指示写失败的信号。接收到写失败的主机设备1100可以再次向存储设备1200传送写命令UPIU即CMDw UPIU,或者可以生成不包括选择性清除标签的另一个写命令UPIU即CMDw UPIU。
相反地,如果所接收的数据的大小在容许大小以内(S120中为“是”),则在操作S130中存储设备1200可以向主机设备1100传送响应。例如,该响应可以是包括该UPIU的包。在操作S135中,接收到该响应的主机设备1100可以将数据UPIU即DATA UPIU传送到存储设备1200。
在操作S140中,与在选择性清除组SPG中管理的逻辑地址对应的数据可以被存储在存储设备1200中。由处理器1212(参照图5)驱动的地址映射器L22(参照图5)可以单独管理在选择性清除组SPG中管理的逻辑地址。
在操作S145中,可以根据用户的文件删除请求来生成解除映射UPIU。该解除映射UPIU可以包括用来逻辑地擦除存储设备1200中存储的数据的命令。在操作S150中,所生成的解除映射UPIU可以被传送到存储设备1200。
在操作S155中,可以解析该解除映射UPIU。存储设备1200(详细地,图10中例示的处理器1212和/或命令解析器L23)可以检查该解除映射UPIU是否与擦除请求相对应。存储设备1200(详细地,图10中例示的处理器1212和/或地址映射器L22)可以通过解除在该解除映射UPIU中包括的逻辑地址和与其对应的物理地址之间的对应关系,逻辑地擦除存储设备1200中存储的数据。被逻辑擦除的数据可以被设置为无效数据。在操作S160中,指示逻辑擦除操作完成的响应可以被传送到主机设备1100。
之后,在由于例如存储空间不足或安全原因而需要物理地删除存储设备1200中的无效数据的情况下,主机设备1100可以生成选择性清除请求(操作S165)。例如,主机设备1100可以基于选择性清除请求来生成查询请求UPIU。例如,该查询请求UPIU可以包括如参照图14描述的标志识别Flag IDN和索引“INDEX”。在操作S170中,该查询请求UPIU可以被传送到存储设备1200。
在操作S175中,可以对查询请求UPIU进行解析。如果解析结果指示接收到选择性清除请求,则存储设备1200可以选择性地和物理地擦除与被单独管理的选择性清除组SPG中包括的逻辑地址和/或物理地址对应的无效数据(操作S180)。如果选择性清除操作被完成了,则存储设备1200可以向主机设备1100传送查询响应(操作S185)。
根据上述命令UPIU和数据UPIU,可以根据生成写数据的操作来设置、确定或指示写数据是否为选择性清除操作的目标。在与选择性清除组中管理的数据相关联的写操作和擦除操作之后,可以仅对选择性清除组中管理的数据执行清除操作,从而防止由于不必要或过度的清除操作而导致存储系统的速度降低。
图16是分层地例示了根据本公开的另一实施例的在执行选择性清除操作时生成文件的过程的框图。存储系统2000可以包括主机设备2100和存储设备2200。与上述实施例不同,在图16的实施例中,生成多个选择性清除组。为了更好地理解,将参照图3的特征一起描述图16,并且这里将不再重复与上述实施例的内容重合的内容。
可以根据用户的请求来生成密钥文件、与密钥文件对应的逻辑地址LA6、选择性清除标签SP和选择性清除组标识符SPG ID。选择性清除组标识符SPG ID可以指示多个选择性清除组中请求写的密钥文件所属的组。在本实施例中,与密钥文件相对应的逻辑地址LA6可以属于第二选择性清除组SPG2。
或者,选择性清除组标识符SPG ID可以指示多个选择性清除组中根据文件格式或扩展名来管理的任何一组。在这种情况下,具有相同扩展名或格式的文件可以被管理为属于相同的选择性清除组。例如,第二选择性清除组SPG2可以管理与具有扩展名“key”的文件对应的逻辑地址和/或物理地址。
或者,选择性清除组标识符SPG ID可以包括诸如inode(索引节点)的独特信息。在这种情况下,属于同一目录的文件可以被管理为属于相同的选择性清除组。例如,第二选择性清除组SPG2可以包括存储密钥文件的文件夹和存储该密钥文件的文件夹的子文件夹二者。
然而,取决于上述文件扩展名或索引节点的分类可以仅是示例性的,并且可以基于与各种因素(诸如用户的请求、应用的类型、属性等)对应的各种标准,将文件分类到选择性清除组。
图17是例示了图16中所示的存储系统2000的存储设备2200的配置的框图。与分层地示出了各层的图16不同,图17例示了根据存储设备2200的功能/操作分类的多个块。为了帮助理解,将参照图16的特征一起描述图17。
图17例示了在清除组PG中管理逻辑地址LA1和LA2和/或与其分别对应的物理地址PA1和PA2,在第一选择性清除组SPG1中管理逻辑地址LA3和LA4和/或与其分别对应的物理地址PA3和PA4,以及在第二选择性清除组SPG2中管理逻辑地址LA5和/或与其对应的物理地址PA5。另外,各个数据DATA1、DATA2、DATA3、DATA4和DATA5可以分别由物理地址PA1、PA2、PA3、PA4和PA5来指示。
从主机设备2100接收的写命令UPIU即CMDw UPIU可以被存储在缓冲存储器2230中(操作①)。处理器2212可以取出存储在缓冲存储器2230中的写命令UPIU即CMDw UPIU(操作②)。当处理器2212或命令解析器L23解析写命令UPIU即CMDw UPIU时,可以将所接收的命令识别为与写请求相对应的命令。另外,可以检查接下来要接收的数据UPIU即DATA UPIU是否为选择性清除的目标。还可以根据选择性清除组ID即SPG ID和选择性清除标签SP来检查该数据UPIU所属的选择性清除组。
由处理器2212驱动的地址映射器L22可以将逻辑地址LA6转换为物理地址PA6。另外,地址映射器L22可以在第二选择性清除组SPG2中管理逻辑地址LA6和/或物理地址PA6(操作③)。清除组PG、选择性清除组SPG1和选择性清除组SPG2被例示为被分开管理。然而,选择性清除组SPG1和选择性清除组SPG2可以作为清除组PG的一部分被管理。之后,数据UPIU即DATA UPIU可以被接收并且可以被处理为具有适合于非易失性存储设备2220的格式。可以将写命令CMDw和处理后的写数据DATA6提供给非易失性存储设备2220,并且写数据DATA6可以被存储在由物理地址PA6指示的空间中。
参照图16和图17描述的实施例类似于参照图4至图15描述的实施例,只是管理多个选择性清除组。因此,并未单独提供类似于被例示以描述擦除操作的图9和图10的附图以及类似于被例示以描述清除操作的图11和图12的附图。下面,将参照图16和图17简要描述擦除操作和选择性清除操作。
首先,如果从主机设备2100接收到用于删除与逻辑地址LA1、LA2、LA3、LA4、LA5和LA6相对应的数据的解除映射UPIU,则地址映射器L22可以解除映射逻辑地址LA1、LA2、LA3、LA4、LA5和LA6。因此,可以将各个数据DATA1、DATA2、DATA3、DATA4、DATA5和DATA6设置为无效数据。之后,如果从主机设备2100接收到查询请求UPIU,则处理器2212或命令解析器L23可以解析该查询请求UPIU。如果选择性清除组的ID指示第二选择性清除组SPG2,则只有与第二选择性清除组SPG2相对应的各个数据DATA5和DATA6可以被物理地擦除。
之后,根据主机设备2100的请求或当存储设备2200的存储空间不足时,还可以物理地擦除与第一选择性清除组SPG1对应的各个数据DATA3和DATA4。之后,可以物理地擦除与正常清除组PG对应的各个数据DATA1和DATA2。
图18和图19是例示了根据本公开的实施例的主机设备2100输出的包的格式的视图。例如,主机设备2100输出的包可以包括用于(依照)JEDEC提出的接口协议的UPIU。图18和图19中例示的UPIU类似于参照图8和图14描述的UPIU。下面,主要描述不同之处。
参照图18,除了正常字段之外,写命令描述符块还可以包括选择性清除标签SP和选择性清除组ID即SPG ID。
选择性清除标签SP可以包括关于要向存储设备2200传送的写数据是否为选择性清除操作的目标的信息。例如,在选择性清除标签SP的值被设置为“0”的情况下,要存储在存储设备2200中的写数据可以是正常清除操作的目标。也就是说,可以在执行清除操作时物理地擦除存储设备2200中的所有无效数据。
相反地,在选择性清除标签SP的值被设置为“1”的情况下,可以在单独的选择性清除组中管理与命令UPIU一起传送的写数据。之后,可以根据来自主机设备2100的擦除请求,将该写数据逻辑地删除(即,或者例如,解除映射)。在由于例如存储空间不足或安全原因而需要物理地擦除该写数据的情况下,可以根据来自主机设备2100的选择性清除请求来物理地擦除在选择性清除组中管理的数据。
选择性清除组标识符SPG ID可以指示作为选择性清除操作的目标的写数据所属的组。或者,选择性清除组标识符SPG ID可以指示多个选择性清除组中根据文件格式或扩展名管理的任何一组。或者,选择性清除组标识符SPG ID可以包括诸如索引节点的独特信息。然而,上述分类可以仅是示例性的,并且可以基于与各种因素(例如用户的请求、应用的类型、属性等)对应的各种标准,将文件分类到选择性清除组。
参照图19,查询请求UPIU可以包括多个字段。可以通过使用图中标记的号码来引用该查询请求UPIU的每个字段。该查询请求UPIU的每个字段可以包括一个字节的数据。
查询请求UPIU的第13字段可以包括用来标识用于设置存储设备的特定标志的值。例如,被设置为“1”的标志标识值Flag IDN可以指示对存储设备执行清除操作。
查询请求UPIU的第14字段可以包括与选择性清除操作相关联的信息。例如,被设置为“0”的索引“INDEX”可以指示执行正常清除操作,被设置为“1”的索引“INDEX”可以指示执行选择性清除操作。
查询请求UPIU的第16字段可以包括擦除操作要被选择性地并物理地执行的选择性清除组的ID。例如,该选择性清除组ID即SPG ID可以包括各种信息,诸如组号、关于要被物理地擦除的文件的扩展名的信息、索引节点等。
图20是例示了最初在图1中示出的任何一个非易失性存储设备1220的框图。参照图20,非易失性存储设备1220可以包括存储单元阵列1221、地址译码器1222、页缓冲器1223、输入/输出电路1224以及控制逻辑和电压生成电路1225。
存储单元阵列1221可以包括多个存储块。每个存储块可以包括多个单元串。每个单元串可以包括多个存储单元。这些存储单元可以与多条字线WL连接。每个存储单元可以是存储一位的单层单元(SLC)或存储至少两位的多层单元(MLC)。
地址译码器1222可以通过字线WL、串选择线SSL和接地选择线GSL与存储单元阵列1221连接。地址译码器1222可以从外部接收逻辑地址,并且可以对接收到的逻辑地址进行译码以驱动字线WL。例如,地址ADDR可以是从该逻辑地址转换的非易失性存储设备1220的物理地址。根据本公开的一方面,上述地址转换操作可以由控制器(例如,图1的1210)驱动的闪存转换层FTL来执行。
页缓冲器1223通过多条位线BL连接到存储单元阵列1221。在控制逻辑和电压生成电路1225的控制下,页缓冲器1223可以控制位线BL,使得从输入/输出电路1224提供的数据“DATA”被存储在存储单元阵列1221中。在控制逻辑和电压生成电路1225的控制下,页缓冲器1223可以读取存储单元阵列1221中存储的数据,并且可以将所读取的数据提供给输入/输出电路1224。在实施例中,页缓冲器1223可以以页为单位从输入/输出电路1224接收数据,或者可以以页为单位从存储单元阵列1221读取数据。
输入/输出电路1224可以从外部设备接收数据,并且可以将所接收的数据提供给页缓冲器1223。
控制逻辑和电压生成电路1225可以响应于来自外部的命令CMD和控制信号CTRL,控制地址译码器1222、页缓冲器1223和输入/输出电路1224。例如,控制逻辑和电压生成电路1225可以响应于信号CMD和CTRL来控制其他组件,使得数据被存储在存储单元阵列1221中。或者,控制逻辑和电压生成电路1225可以响应于信号CMD和CTRL来控制其他组件,使得存储在存储单元阵列1221中的数据被传送到外部设备。控制信号CTRL可以是控制器1210提供的用于控制非易失性存储设备1220的信号。
控制逻辑和电压生成电路1225可以生成非易失性存储设备1220操作所需的各种电压。例如,控制逻辑和电压生成电路1225可以生成多个编程电压、多个通过电压、多个验证电压、多个选择读取电压、多个非选择读取电压、多个擦除电压等。控制逻辑和电压生成电路1225可以将所生成的电压提供给地址译码器1222或存储单元阵列1221的基板。
图21是例示了图20中的存储单元阵列的单元阵列中包括的存储块中的一个的电路图。在实施例中,将参考图21描述三维结构的存储块BLK。
参照图21,存储块BLK可以包括多个单元串CS11、CS12、CS21和CS22。单元串CS11、CS12、CS21和CS22可以沿行方向和列方向布置,以形成行和列。
例如,单元串CS11和CS12可以连接到串选择线SSL1a和SSL1b,以构成第一行。单元串CS21和CS22可以连接到串选择线SSL2a和SSL2b,以构成第二行。例如,单元串CS11和CS21可以连接到第一位线BL1,以构成第一列。单元串CS12和CS22可以连接到第二位线BL2,以构成第二列。
单元串CS11、CS12、CS21和CS22中的每个可以包括多个单元晶体管。单元串CS11、CS12、CS21和CS22中的每个可以包括串选择晶体管SSTa和SSTb、多个存储单元MC1到MC8、接地选择晶体管GSTa和GSTb以及伪存储单元DMC1和DMC2。在实施例中,单元串CS11、CS12、CS21和CS22中包括的每个存储单元可以是电荷捕获闪存(CTF)存储单元。
在每个单元串中,存储单元MC1至MC8可以串联连接,并且可以沿高度方向堆叠,该高度方向是与由行方向和列方向限定的平面垂直的方向。在每个单元串中,串选择晶体管SSTa和SSTb可以串联连接,并且可以被布置在存储单元MC1至MC8与位线BL1或BL2之间。在每个单元串中,接地选择晶体管GSTa和GSTb可以串联连接,并且可以被布置在存储单元MC1至MC8与公共源极线CSL之间。
在实施例中,在每个单元串中,第一伪存储单元DMC1可以布置在存储单元MC1至MC8与接地选择晶体管GSTa和GSTb之间。在实施例中,在每个单元串中,第二伪存储单元DMC2可以布置在存储单元MC1至MC8与串选择晶体管SSTa和SSTb之间。
单元串CS11、CS12、CS21和CS22的接地选择晶体管GSTa和GSTb可以共同连接到接地选择线GSL。在实施例中,同一行中的接地选择晶体管可以连接到同一接地选择线。不同行中的接地选择晶体管可以连接到不同的接地选择线。例如,第一行中的单元串CS11和CS12的第一接地选择晶体管GSTa可以连接到第一接地选择线。第二行中的单元串CS21和CS22的第一接地选择晶体管GSTa可以连接到第二接地选择线。
在实施例中,即使未在图21中示出,设置在离基板(未示出)相同高度处的接地选择晶体管可以连接到同一接地选择线。设置在不同高度处的接地选择晶体管可以连接到不同的接地选择线。例如,在单元串CS11、CS12、CS21和CS22中,第一接地选择晶体管GSTa可以连接到第一接地选择线,而第二接地选择晶体管GSTb可以连接到第二接地选择线。
布置在离基板(或接地选择晶体管GSTa和GSTb)相同高度处的存储单元可以共同连接到同一字线。布置在离基板不同高度处的存储单元可以连接到不同的字线。例如,单元串CS11、CS12、CS21和CS22的存储单元MC1至MC8可以分别连接到第一字线WL1至第八字线WL8。
在相同高度处布置的第一串选择晶体管SSTa中属于相同行的串选择晶体管可以连接到同一串选择线。第一串选择晶体管SSTa中属于不同行的串选择晶体管可以连接到不同的串选择线。例如,第一行中的单元串CS11和CS12的第一串选择晶体管SSTa可以共同连接到串选择线SSL1a,而第二行中的单元串CS21和CS22的第一串选择晶体管SSTa可以共同连接到串选择线SSL2a。
在相同高度处布置的第二串选择晶体管SSTb中属于相同行的串选择晶体管可以连接到同一串选择线。第二串选择晶体管SSTb中属于不同行的串选择晶体管可以连接到不同的串选择线。例如,第一行中的单元串CS11和CS12的第二串选择晶体管SSTb可以共同连接到串选择线SSL1b,而第二行中的单元串CS21和CS22的第二串选择晶体管SSTb可以共同连接到串选择线SSL2b。
尽管未示出,但是同一行中的单元串的串选择晶体管可以共同连接到同一串选择线。例如,第一行中的单元串CS11和CS12的第一串选择晶体管SSTa和第二串选择晶体管SSTb可以共同连接到同一串选择线。第二行中的单元串CS21和CS22的第一串选择晶体管SSTa和第二串选择晶体管SSTb可以共同连接到同一串选择线。
在实施例中,相同高度处的伪存储单元可以与同一伪字线连接。不同高度处的伪存储单元可以与不同的伪字线连接。例如,第一伪存储单元DMC1可以连接到第一伪字线DWL1,第二伪存储单元DMC2可以连接到第二伪字线DWL2。
在存储块BLK中,可以以行为单位执行读操作和写操作。例如,可以通过串选择线SSL1a、SSL1b、SSL2a和SSL2b来选择第一存储块BLK中的一行。
例如,当向串选择线SSL1a和SSL1b提供接通电压并且向串选择线SSL2a和SSL2b提供关断电压时,第一行中的单元串CS11和CS12可以分别连接到位线BL1和BL2。当向串选择线SSL2a和SSL2b提供接通电压并且向串选择线SSL1a和SSL1b提供关断电压时,第二行中的单元串CS21和CS22可以分别连接到位线BL1和BL2。通过驱动字线,可以选择在单元串中的存储单元中被布置在相同高度处并与所驱动的字线连接的存储单元。可以对所选择的存储单元执行读操作和写操作。所选择的存储单元可以构成物理页单元。
在第一存储块BLK中,可以以存储块或子块为单位来擦除存储单元。当以存储块为单位执行擦除操作时,可以根据擦除请求同时擦除存储块BLK中的所有存储单元MC。当以子块为单位执行擦除操作时,可以根据擦除请求同时擦除存储块BLK中的一些存储单元MC,同时其剩余的存储单元可以是禁止擦除的。可以将低电压(例如,接地电压)提供给与被擦除的存储单元连接的字线,并且连接到禁止擦除的存储单元MC的字线可以是浮动的(floated)。
在实施例中,图21中所例示的存储块BLK仅为示例。单元串的数量可以增加或减少,并且单元串的行数和单元串的列数可以根据单元串的数量而增加或减少。在存储块BLK中,单元晶体管(GST、MC、DMC、SST等)的数量可以增加或减少,并且存储块BLK的高度可以根据单元晶体管(GST、MC、DMC、SST等)的数量而增大或减小。而且,与晶体管连接的线(GSL、WL、DWL、SSL等)的数量可以依据晶体管的数量而增加或减少。
根据本公开的实施例,可以不物理地擦除存储在存储设备中的所有无效数据。例如,可以在执行写操作时在选择性清除组中管理传送到存储设备的写数据,并且可以在执行选择性清除操作时仅将在选择性清除组中管理的无效数据物理地擦除。因此,可以提高清除操作的速度。
尽管已经参考本文描述的发明构思的示例性实施例描述了发明构思,但是对于本领域普通技术人员显而易见的是,在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下,可以对其进行各种改变和修改。

Claims (20)

1.一种存储系统,包括:
主机设备,所述主机设备被配置为生成写命令、与所述写命令对应的写数据的逻辑地址、指示所述写数据是选择性清除的目标的选择性清除标签;以及
存储设备,所述存储设备被配置为接收所述写命令、所述逻辑地址和所述选择性清除标签,存储所述写数据,并在从所述主机设备接收到擦除命令时逻辑地擦除所存储的写数据,
其中,所述存储设备还被配置为在从所述主机设备接收到选择性清除请求时物理地擦除所存储的写数据。
2.根据权利要求1所述的存储系统,其中,所述主机设备还被配置为生成:
第一包,所述第一包是基于所述写命令、所述逻辑地址和所述选择性清除标签的,并且包括命令unix文件系统UFS协议信息单元UPIU;以及
第二包,所述第二包是基于所述写数据的,并且包括数据UPIU。
3.根据权利要求2所述的存储系统,其中,所述选择性清除标签被包括在所述命令unix文件系统UFS协议信息单元UPIU的第16字段至第31字段中的至少一个字段中。
4.根据权利要求2所述的存储系统,其中,与所述选择性清除请求相关联的信息被包括在查询请求UPIU的第14字段中。
5.根据权利要求1所述的存储系统,其中,所述存储设备在单独的选择性清除组中管理所述逻辑地址,并且
其中,考虑到所述存储设备的资源而设置所述选择性清除组的大小。
6.根据权利要求5所述的存储系统,其中,如果所述写数据的大小超过所述选择性清除组的大小,则所述存储设备将所述写命令处理为失败。
7.根据权利要求1所述的存储系统,其中,所述主机设备还被配置为:
生成所述存储设备管理的多个选择性清除组中所述逻辑地址或所述写数据所属的选择性清除组的标识符。
8.根据权利要求7所述的存储系统,其中,所述主机设备还被配置为生成:
第一包,所述第一包是基于所述写命令、所述逻辑地址、所述选择性清除标签和所述标识符的,并且包括命令unix文件系统UFS协议信息单元UPIU;以及
第二包,所述第二包是基于所述写数据的,并且包括数据UPIU。
9.根据权利要求8所述的存储系统,其中,所述选择性清除标签和所述标识符被包括在所述命令UPIU的第16字段至第31字段中的至少一个字段中。
10.根据权利要求8所述的存储系统,其中,与所述选择性清除请求相关联的信息被包括在查询请求UPIU的第14字段中,以及
其中,所述标识符被包括在所述查询请求UPIU的第16字段中。
11.一种操作存储系统的方法,所述方法包括:
接收第一包,所述第一包基于写命令、与所述写命令对应的写数据的逻辑地址、指示所述写数据是选择性清除的目标的选择性清除标签,其中,所述第一包由主机设备生成;
接收基于所述写数据的第二包,其中,所述第二包由所述主机设备生成;
解析所述第一包,以在选择性清除组中管理所述逻辑地址;
存储来自所述第二包的所述写数据;
基于从所述主机设备接收的擦除命令,从存储设备中逻辑地擦除所存储的写数据;以及
基于与来自所述主机设备的选择性清除请求相对应的第三包,从所述存储设备中物理地擦除所存储的写数据。
12.根据权利要求11所述的方法,其中,如果解析所述第一包的结果指示所述写数据的大小超过所述选择性清除组的大小,则不接收所述第二包。
13.根据权利要求11所述的方法,其中,所述选择性清除标签被包括在命令unix文件系统UFS协议信息单元UPIU的第16字段至第31字段中的至少一个字段中。
14.根据权利要求11所述的方法,其中,与所述选择性清除请求相关联的信息被包括在查询请求unix文件系统UFS协议信息单元UPIU的第14字段中。
15.根据权利要求11所述的方法,其中,所述第一包和所述第三包中的每个还包括:所述存储设备管理的多个选择性清除组中所述逻辑地址或所述写数据所属的选择性清除组的标识符。
16.根据权利要求15所述的方法,其中,所述选择性清除标签和所述标识符被包括在命令unix文件系统UFS协议信息单元UPIU的第16字段至第31字段中的至少一个字段中。
17.根据权利要求15所述的方法,其中,与所述选择性清除请求相关联的信息被包括在查询请求unix文件系统UFS协议信息单元UPIU的第14字段中,并且
其中,所述标识符被包括在所述查询请求unix文件系统UFS协议信息单元UPIU的第16字段中。
18.一种存储系统,包括:
主机设备,所述主机设备被配置为生成命令unix文件系统UFS协议信息单元UPIU和数据UPIU,所述命令UPIU包括写命令和选择性清除标签,所述选择性清除标签指示与所述写命令对应的写数据是选择性清除的目标,所述数据UPIU包括所述写数据;以及
存储设备,所述存储设备被配置为接收所述命令UPIU和所述数据UPIU,将所述写数据作为选择性清除组来管理,并在从所述主机设备接收到解除映射UPIU时逻辑地擦除所述写数据,
其中,所述主机设备还被配置为:
生成包括选择性清除请求的查询请求UPIU,所述选择性清除请求用于物理地擦除属于所述选择性清除组的所述写数据,以及
其中,所述存储设备还被配置为:
接收所述查询请求UPIU;以及
基于所述选择性清除请求,物理地擦除属于所述选择性清除组的所述写数据。
19.根据权利要求18所述的存储系统,其中,所述选择性清除标签被包括在所述命令UPIU的第16字段至第31字段中的至少一个字段中。
20.根据权利要求18所述的存储系统,其中,与所述选择性清除请求相关联的信息被包括在所述查询请求UPIU的第14字段中。
CN201811151452.4A 2017-10-24 2018-09-29 包括主机设备和用于执行清除操作的存储设备的存储系统 Active CN109697026B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170138568A KR102411290B1 (ko) 2017-10-24 2017-10-24 선택적으로 퍼지 동작을 수행하도록 구성되는 호스트 장치 및 스토리지 장치를 포함하는 스토리지 시스템
KR10-2017-0138568 2017-10-24

Publications (2)

Publication Number Publication Date
CN109697026A true CN109697026A (zh) 2019-04-30
CN109697026B CN109697026B (zh) 2022-08-19

Family

ID=66170554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811151452.4A Active CN109697026B (zh) 2017-10-24 2018-09-29 包括主机设备和用于执行清除操作的存储设备的存储系统

Country Status (3)

Country Link
US (1) US10996883B2 (zh)
KR (1) KR102411290B1 (zh)
CN (1) CN109697026B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306396A (zh) * 2019-08-01 2021-02-02 三星电子株式会社 储存设备及储存设备的操作方法
WO2023142114A1 (zh) * 2022-01-30 2023-08-03 华为技术有限公司 数据处理方法、装置以及电子设备
US12067296B2 (en) 2019-08-01 2024-08-20 Samsung Electronics Co., Ltd. Storage device and method for accelerating storage device write and read speed using a turbo-write buffer

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437476B2 (en) 2017-10-23 2019-10-08 Micron Technology, Inc. Namespaces allocation in non-volatile memory devices
US10678703B2 (en) 2017-11-16 2020-06-09 Micron Technology, Inc. Namespace mapping structual adjustment in non-volatile memory devices
US11580034B2 (en) * 2017-11-16 2023-02-14 Micron Technology, Inc. Namespace encryption in non-volatile memory devices
KR20200076531A (ko) * 2018-12-19 2020-06-29 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10901903B2 (en) * 2018-12-21 2021-01-26 Micron Technology, Inc. Flash memory persistent cache techniques
KR20200099882A (ko) * 2019-02-15 2020-08-25 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11275527B1 (en) * 2019-06-11 2022-03-15 Western Digital Technologies, Inc. Execution condition embedded in a command or a request to storage device
KR20200143871A (ko) * 2019-06-17 2020-12-28 삼성전자주식회사 스토리지를 포함하는 전자 장치 및 그의 스토리지 이용 방법
US11544182B2 (en) * 2020-06-30 2023-01-03 Micron Technology, Inc. Smart factory reset procedure using one or more commands at least on user data and system data
US20220075523A1 (en) * 2020-09-08 2022-03-10 Qualcomm Incorporated Flash memory local purge
US11797210B2 (en) 2020-09-14 2023-10-24 Samsung Electronics Co., Ltd. Method of operating memory device and host device, and memory system including partitioning purge region responsive to purge information
US11468948B2 (en) * 2021-01-20 2022-10-11 Micron Technology, Inc. Cleaning memory blocks using multiple types of write operations
US11941253B2 (en) * 2021-04-22 2024-03-26 EMC IP Holding Company, LLC Storage system and method using persistent memory
CN115938455A (zh) * 2021-08-16 2023-04-07 长鑫存储技术有限公司 一种存储器测试方法、设备及装置
US11861212B2 (en) 2022-02-24 2024-01-02 Silicon Motion, Inc. Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence
US11977776B2 (en) 2022-02-24 2024-05-07 Silicon Motion, Inc. Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes
US11972146B2 (en) * 2022-02-24 2024-04-30 Silicon Motion, Inc. Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes
US11935595B2 (en) 2022-02-24 2024-03-19 Silicon Motion, Inc. Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence
US11977752B2 (en) 2022-02-24 2024-05-07 Silicon Motion, Inc. Flash memory controller and method capable of sending data toggle set-feature signal to enable, disable, or configure data toggle operation of flash memory device
KR20230166803A (ko) 2022-05-30 2023-12-07 삼성전자주식회사 높은 퍼지 성능을 제공하는 스토리지 장치 및 그것의 메모리 블록 관리 방법
US20230384957A1 (en) * 2022-05-30 2023-11-30 Samsung Electronics Co., Ltd. Storage device providing high purge performance and memory block management method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354715A (zh) * 2007-02-13 2009-01-28 三星电子株式会社 用于操作数据处理系统的系统、方法和计算机程序产品
CN102622310A (zh) * 2011-01-30 2012-08-01 成都市华为赛门铁克科技有限公司 无效数据擦除方法、装置及系统
US20140244907A1 (en) * 2013-02-27 2014-08-28 Kabushiki Kaisha Toshiba Memory device
CN105740162A (zh) * 2015-12-31 2016-07-06 上海盈方微电子有限公司 应用于nand存储器的nftl数据存储系统及方法
CN106648443A (zh) * 2015-10-30 2017-05-10 群联电子股份有限公司 有效数据合并方法、存储器控制器与存储器存储装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4042359B2 (ja) 2001-07-10 2008-02-06 日本電気株式会社 キャッシュ制御方法及びキャッシュ装置
JP2004038422A (ja) 2002-07-02 2004-02-05 Matsushita Electric Ind Co Ltd 半導体装置
CN100426256C (zh) * 2003-02-20 2008-10-15 松下电器产业株式会社 信息记录介质以及其区域管理方法
CN1332319C (zh) 2003-12-22 2007-08-15 松下电器产业株式会社 存储系统控制方法
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7502256B2 (en) 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
US7783845B2 (en) * 2005-11-14 2010-08-24 Sandisk Corporation Structures for the management of erase operations in non-volatile memories
US8380948B2 (en) 2007-09-04 2013-02-19 Apple Inc. Managing purgeable memory objects using purge groups
US8341314B2 (en) * 2009-06-30 2012-12-25 Hewlett-Packard Development Company, L.P. Managing I/O request in storage system
US9286204B2 (en) 2011-01-31 2016-03-15 Mitsubishi Electric Corporation Memory controller
US9015401B2 (en) 2011-04-28 2015-04-21 Seagate Technology Llc Selective purge of confidential data from a non-volatile memory
WO2013098463A1 (en) 2011-12-29 2013-07-04 Nokia Corporation Method for erasing data entity in memory module
US9575977B1 (en) 2012-10-29 2017-02-21 John H. Bergman Data management system
KR20150112075A (ko) * 2014-03-26 2015-10-07 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9430405B2 (en) 2014-06-18 2016-08-30 Fastly, Inc. Encrypted purging of data from content node storage
KR20170081118A (ko) * 2015-12-30 2017-07-11 삼성전자주식회사 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 액세스하는 액세스 방법
US10282097B2 (en) * 2017-01-05 2019-05-07 Western Digital Technologies, Inc. Storage system and method for thin provisioning
KR20180093153A (ko) * 2017-02-09 2018-08-21 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
US10579288B2 (en) * 2017-08-31 2020-03-03 Micron Technology, Inc. Prioritized security

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354715A (zh) * 2007-02-13 2009-01-28 三星电子株式会社 用于操作数据处理系统的系统、方法和计算机程序产品
CN102622310A (zh) * 2011-01-30 2012-08-01 成都市华为赛门铁克科技有限公司 无效数据擦除方法、装置及系统
US20140244907A1 (en) * 2013-02-27 2014-08-28 Kabushiki Kaisha Toshiba Memory device
CN106648443A (zh) * 2015-10-30 2017-05-10 群联电子股份有限公司 有效数据合并方法、存储器控制器与存储器存储装置
CN105740162A (zh) * 2015-12-31 2016-07-06 上海盈方微电子有限公司 应用于nand存储器的nftl数据存储系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CANIM M: "SSD bufferpool extensions for database systems", 《PROCEEDINGS OF THE VLDB ENDOWMENT》 *
白振中: "数据在混合存储系统中的放置", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306396A (zh) * 2019-08-01 2021-02-02 三星电子株式会社 储存设备及储存设备的操作方法
US12067296B2 (en) 2019-08-01 2024-08-20 Samsung Electronics Co., Ltd. Storage device and method for accelerating storage device write and read speed using a turbo-write buffer
WO2023142114A1 (zh) * 2022-01-30 2023-08-03 华为技术有限公司 数据处理方法、装置以及电子设备

Also Published As

Publication number Publication date
US20190121570A1 (en) 2019-04-25
US10996883B2 (en) 2021-05-04
KR20190045697A (ko) 2019-05-03
CN109697026B (zh) 2022-08-19
KR102411290B1 (ko) 2022-06-22

Similar Documents

Publication Publication Date Title
CN109697026A (zh) 包括主机设备和用于执行清除操作的存储设备的存储系统
US8239639B2 (en) Method and apparatus for providing data type and host file information to a mass storage system
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7949845B2 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7450420B2 (en) Reclaiming data storage capacity in flash memories
US20170160942A1 (en) Data storage device and flash memory control method
CN109840215A (zh) 未对齐写入的处理
CN108694128A (zh) 存储器系统中的使用单次地址更新的折叠操作
US8205063B2 (en) Dynamic mapping of logical ranges to write blocks
CN103106149B (zh) 半导体器件
US20130151759A1 (en) Storage device and operating method eliminating duplicate data storage
CN109901794A (zh) 使用主机空闲来操作垃圾收集的设备和方法
CN109542675A (zh) 存储器系统及其操作方法
US20150186259A1 (en) Method and apparatus for storing data in non-volatile memory
CN102915274A (zh) 存储装置
CN109388594A (zh) 存储器系统及其操作方法
CN109947361A (zh) 存储器系统及其操作方法
CN106598479A (zh) 闪速存储器的故障安全擦除的方法和装置
CN109032501A (zh) 存储器系统及其操作方法
CN108108308A (zh) 存储器系统及其操作方法
CN110347330A (zh) 存储器系统及其操作方法
CN109390003A (zh) 存储器系统及其操作方法
CN110175133A (zh) 存储装置及其操作方法
US11726921B2 (en) Combined page footer for parallel metadata storage
CN109284067A (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
GR01 Patent grant