CN111414313B - 数据存储装置及数据存储装置的操作方法 - Google Patents

数据存储装置及数据存储装置的操作方法 Download PDF

Info

Publication number
CN111414313B
CN111414313B CN201910989510.9A CN201910989510A CN111414313B CN 111414313 B CN111414313 B CN 111414313B CN 201910989510 A CN201910989510 A CN 201910989510A CN 111414313 B CN111414313 B CN 111414313B
Authority
CN
China
Prior art keywords
descriptor
command
host
write
data 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.)
Active
Application number
CN201910989510.9A
Other languages
English (en)
Other versions
CN111414313A (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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN111414313A publication Critical patent/CN111414313A/zh
Application granted granted Critical
Publication of CN111414313B publication Critical patent/CN111414313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • 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
    • 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/0656Data buffering arrangements
    • 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/0658Controller construction arrangements
    • 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
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请提供一种数据存储装置。该数据存储装置可以包括:非易失性存储器装置;以及控制器,被配置成控制非易失性存储器装置的操作。响应于从主机接收的取消映射命令,控制器可以生成包括待修整的逻辑块地址的取消映射描述符,存储所生成的取消映射描述符,并且将响应信号传送至主机。响应信号指示对应于取消映射命令的取消映射高速缓存操作完成。

Description

数据存储装置及数据存储装置的操作方法
相关申请的交叉引用
本申请要求于2019年1月7日向韩国知识产权局提交的申请号为10-2019-0001715的韩国申请的优先权,该韩国申请通过引用整体并入本文。
技术领域
各个实施例总体涉及一种电子装置,并且更特别地,涉及一种数据存储装置以及数据存储装置的操作方法。
背景技术
近来,计算范例已经变成可以随时随地使用计算机系统的普适计算环境。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这种便携式电子装置通常使用利用存储器装置的数据存储装置。数据存储装置用于存储与便携式电子装置相关联的数据。
由于利用存储器装置的数据存储装置没有机械驱动器,因此这种数据存储装置具有优异的稳定性和耐用性、高信息访问速度以及低功耗。具有这些优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够减小取消映射命令的延迟的数据存储装置以及数据存储装置的操作方法。
在实施例中,数据存储装置可以包括:非易失性存储器装置;以及控制器,被配置成控制非易失性存储器装置的操作。响应于从主机接收的取消映射命令,控制器可以生成包括待修整的逻辑块地址的取消映射描述符,存储所生成的取消映射描述符,并且将响应信号传送至主机。响应信号指示对应于取消映射命令的取消映射高速缓存操作完成。
在实施例中,提供一种数据存储装置的操作方法,该数据存储装置包括:非易失性存储器装置;以及控制器,被配置成控制非易失性存储器装置。该操作方法可以包括:响应于从主机接收的取消映射命令,生成包括待修整的逻辑块地址的取消映射描述符;并且将响应信号传送至主机。响应信号指示对应于取消映射命令的取消映射高速缓存操作完成。
在实施例中,提供一种用于控制存储器装置的控制器的操作方法。该操作方法可以包括:将取消映射命令排队;生成对应于取消映射命令的取消映射描述符;响应取消映射命令;并且在响应之后,根据所排队的取消映射命令修整由取消映射描述符指示的逻辑地址。该逻辑地址是表示逻辑地址和物理地址之间的映射关系的映射信息的一部分,该物理地址指示存储器装置内的存储位置。
附图说明
图1是示出根据实施例的包括数据存储装置的数据处理系统的示图。
图2是示出存储器,诸如图1的存储器的示图。
图3是示出第一内核生成并存储针对从主机接收的命令的描述符,并且将对取消映射命令的响应传送至主机的示图。
图4是示出由第一内核生成的描述符的格式的示图。
图5A是示出第二内核基于写入描述符执行写入操作的示图。
图5B是示出第二内核基于取消映射描述符执行取消映射高速缓存操作的示图。
图6A是示出当包括与对应于读取请求的逻辑块地址相同的逻辑块地址的写入描述符最近已被存储时的读取操作的示图。
图6B是示出当包括与对应于读取请求的逻辑块地址相同的逻辑块地址的取消映射描述符最近已被存储时的读取操作的示图。
图7是示出根据实施例的数据存储装置的操作方法的流程图。
图8示出根据实施例的包括固态驱动器(SSD)的数据处理系统。
图9示出控制器,诸如图8中所示的控制器。
图10示出根据实施例的包括数据存储设备的数据处理系统。
图11示出根据实施例的包括数据存储设备的数据处理系统。
图12示出根据实施例的包括数据存储设备的网络系统。
图13示出根据实施例的包括在数据存储设备中的非易失性存储器装置。
具体实施方式
下面参照附图描述根据本发明的实施例的数据存储装置以及数据存储装置的操作方法。在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
除非上下文另有清楚指示,否则如本文使用的,单数形式也可以包括复数形式,且反之亦然。除非另有说明或从上下文清楚地指向单数形式,否则本申请和所附权利要求中使用的冠词“一”和“一个”通常应被解释为意味着“一个或多个”。
图1是示出根据实施例的包括数据存储装置200的数据处理系统10的示图。
参照图1,数据处理系统10可以包括主机100和数据存储装置200。主机100可以将命令CMD传送至数据存储装置200。数据存储装置200可以执行对应于所接收的命令CMD的操作,并且将包括执行结果的响应RES传送至主机100。主机100和数据存储装置200可以传送并接收数据DATA。
主机100可以包括移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、车载信息娱乐系统等,但是本发明不限于此。主机100可以是任何合适的电子装置。
数据存储装置200可以存储由主机100访问的数据。根据联接至主机的接口协议,数据存储装置200可以被配置为各种存储装置中的任意一种。例如,数据存储装置200可以被配置为下列中的任意一种:固态驱动器(SSD),诸如eMMC、RS-MMC或微型MMC的多媒体卡(MMC),诸如迷你SD或微型SD的安全数字(SD)卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
数据存储装置200可以被制造为各种封装类型中的任意一种。例如,数据存储装置200可以被制造为下列中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
数据存储装置200可以包括非易失性存储器装置210和控制器250。
非易失性存储器装置210可以作为数据存储装置200的存储介质而操作。根据存储器单元的类型,非易失性存储器装置210可以被配置为诸如下列的各种类型的非易失性存储器装置中的任意一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫属化物合金的相变随机存取存储器(PRAM)以及使用过渡金属氧化物的电阻式随机存取存储器(ReRAM)。
为了清楚起见,图1示出非易失性存储器装置210为一个块,但是非易失性存储器装置210可以包括多个存储器芯片。本发明可以以相同的方式应用于包括由多个存储器芯片构成的非易失性存储器装置210的数据存储装置200。
非易失性存储器装置210可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个位线(未示出)和多个字线(未示出)之间的各个交叉点处的多个存储器单元。存储器单元阵列可以包括多个存储块,多个存储块中的每一个可以包括多个页面。
例如,存储器单元阵列的每个存储器单元可以被实施为用于存储1位数据的单层单元(SLC)、用于存储2位数据的多层单元(MLC)、用于存储3位数据的三层单元(TLC)或用于存储4位数据的四层单元(QLC)。存储器单元阵列可以包括SLC、MLC、TLC和QLC中的一种或多种。存储器单元阵列可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。
控制器250可以控制数据存储装置200的全部操作。控制器250可以处理从主机接收的命令CMD。控制器250可以基于从主机接收的命令CMD来生成用于控制非易失性存储器装置210的操作的控制信号,并且将所生成的控制信号提供至非易失性存储器装置210。控制器250可以包括第一内核220、存储器230和第二内核240。
第一内核220可以被配置成响应于主机100的协议,接口连接主机和数据存储装置200。因此,第一内核220可以被称为协议内核。例如,第一内核220可以通过诸如下列的各种协议中的任意一种与主机通信:USB(通用串行总线)、UFS(通用闪存)、MMC(多媒体卡)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机系统接口)、SAS(串列SCSI)、PCI(外围组件互连)和/或PCI-E(高速PCI)。
第一内核220可以包括微控制单元(MCU)和中央处理单元(CPU)。第一内核220可以接收从主机100传送的命令CMD,并且将所接收的命令CMD提供至第二内核240。
第一内核220可以将从主机100接收的数据(例如,写入数据)存储在存储器230的写入缓冲器中。对于该操作,控制器250可以进一步包括用于将从主机100接收的写入数据传送至存储器230的写入缓冲器的数据传送块225(在图3中示出)。例如,数据传送块225可以被配置成根据从第一内核220接收的控制信号Ctrl_dt将从主机100接收的写入数据存储在存储器230的写入缓冲器中。
第一内核220可以使用数据传送块225将存储在存储器230的读取缓冲器中的数据(例如,读取数据)传送至主机100。例如,数据传送块225可以被配置成根据从第一内核220接收的控制信号Ctrl_dt将来自存储器230的读取缓冲器的读取数据传送至主机100。
第一内核220可以基于从主机100接收的命令CMD来生成描述符,并且将所生成的描述符提供至第二内核240。描述符可以指示工作说明,该工作说明包括第二内核240处理从主机100接收的命令CMD所需的信息。在本实施例中,第一内核220可以生成分别针对从主机100接收的写入命令和取消映射命令的写入描述符和取消映射描述符。写入描述符和取消映射描述符可以具有相同的格式。
存储器230可以被配置成诸如静态RAM(SRAM)的RAM,但是不限于此。存储器230可以物理联接和电联接至第一内核220和第二内核240。存储器230可以存储由第二内核240驱动的软件,即固件。此外,存储器230可以存储用于驱动固件所需的数据,例如元数据。也就是说,存储器230可以作为第二内核240的工作存储器而操作。
存储器230可以包括缓冲器,该缓冲器用于临时存储待从主机100传送至非易失性存储器装置210的写入数据,或者待从非易失性存储器装置210传送至主机100的读取数据。也就是说,存储器230可以作为缓冲存储器而操作。下面参照图2详细地描述存储器230的内部配置。
第二内核240可以通过驱动被加载至存储器230的固件来控制数据存储装置200的全部操作。第二内核240可以解码并驱动基于代码的指令或算法,诸如固件或软件。因此,第二内核240也可以被称为FTL(闪存转换层)内核。第二内核240可以包括微控制单元(MCU)和中央处理单元(CPU)。
第二内核240可以基于通过第一内核220提供的命令来生成用于控制非易失性存储器装置210的操作的控制信号,并且将所生成的控制信号提供至非易失性存储器装置210。控制信号可以包括用于控制非易失性存储器装置210的命令、地址和操作控制信号。第二内核240可以将写入数据提供至非易失性存储器装置210,或者接收来自非易失性存储器装置210的读取数据。
第二内核240可以包括ECC电路,该ECC电路被配置成执行通过对从主机100提供的写入数据进行ECC编码生成奇偶校验数据的ECC(错误校正码)编码操作以及使用奇偶校验数据检测并校正从非易失性存储器装置210读取的数据中包含的错误的ECC解码操作。
图2是示出图1的存储器230的示图。
参照图2,根据实施例的存储器230通常可以被划分为第一区域和第二区域,但是不限于此。存储器230的第一区域可以包括被配置成存储由第一内核220生成的描述符的描述符缓冲器。存储器230的第一区域可以存储由第二内核240分析和驱动的固件以及第二内核240执行计算和处理操作所需的元数据。存储器230的第二区域可以包括用于临时存储写入数据、读取数据、映射数据等的缓冲器,但是不限于此。
存储器230的第一区域与第一内核220和第二内核240中的每一个之间的物理距离可以小于存储器230的第二区域与第一内核220和第二内核240中的每一个之间的距离,但是本发明不限于此。由于存储器230的第一区域物理上位置靠近第一内核220和第二内核240,因此第一内核220和第二内核240可以快速访问必要的数据。
例如,存储器230的第一区域可以存储FTL。FTL可以指示由第二内核240驱动的软件,第二内核240可以驱动FTL以控制非易失性存储器装置210的独有操作,并且提供与主机100的装置兼容性。当驱动FTL时,主机100可以识别数据存储装置200并且将数据存储装置200用作诸如硬盘的通用数据存储装置。
FTL可以包括用于执行各个功能的模块。例如,FTL可以包括读取模块、写入模块、垃圾收集模块、损耗均衡模块、坏块管理模块、映射模块等。FTL可以存储在非易失性存储器装置210的系统区域(未示出)中。当数据存储装置200被通电时,FTL可以从非易失性存储器装置210的系统区域被读取并且被加载至存储器230的第一区域。加载到存储器230的第一区域的FTL可以被加载到第二内核240专用并且被单独设置在第二内核240内部或外部的存储器(未示出)。
存储器230的第一区域可以包括用于存储驱动FTL中包括的各个模块所需的元数据的元区域。此外,P2L(物理到逻辑)表可以存储在元区域中。
存储器230的第二区域可以包括写入缓冲器、读取缓冲器、映射更新缓冲器等。
写入缓冲器可以被配置成临时存储待从主机100传送至非易失性存储器装置210的写入数据。读取缓冲器可以被配置成临时存储从非易失性存储器装置210读取并且将被传送至主机100的读取数据。映射更新缓冲器可以被配置成临时存储映射信息待被更新的映射段。
图3是示出第一内核220生成并存储针对从主机100接收的命令CMD的描述符,并且将对取消映射命令CMD_U的响应传送至主机100的示图。
当从主机100接收到写入命令CMD_W和写入数据WD时(①),第一内核220可以将所接收的写入命令CMD_W排队在邮箱250的命令队列251中(②)。同时,第一内核220可以基于写入命令CMD_W生成写入描述符DESW,并且将所生成的写入描述符DESW存储在存储器230的描述符缓冲器中(②)。此外,数据传送块225可以根据从第一内核220接收的控制信号Ctrl_dt,将从主机100接收的写入数据WD存储在存储器230的写入缓冲器中(②)。
然后,当从主机100接收到取消映射命令CDM_U时(③),第一内核220可以将所接收的取消映射命令CMD_U排队在邮箱250的命令队列251中(④),并且基于取消映射命令CMD_U生成取消映射描述符DESU,并将所生成的取消映射描述符DESU存储在存储器230的描述符缓冲器中(④)。此外,第一内核220可以在将取消映射描述符DESU存储在存储器230的描述符缓冲器中之后,将对取消映射命令CMD_U的响应信号RES_U传送至主机100(⑤)。
这样,第一内核220一旦将取消映射描述符DESU存储在存储器230的描述符缓冲器中就可以将对取消映射命令CMD_U的响应信号RES_U传送至主机100,而不管取消映射处理是否完成。因此,在主机100处测量的取消映射延迟可以减少。
主机100可以以异步方式将命令CMD传送至数据存储装置200,也就是说,不管是否从数据存储装置200接收到响应先前命令的响应信号。因此,当前取消映射命令的延迟以及在当前取消映射命令之前传送的一个或多个命令的延迟都可以被视为取消映射命令的累积延迟。此外,当在处理这些先前命令的同时在数据存储装置200中执行后台操作(例如,垃圾收集)时,取消映射命令的延迟可能进一步增加。
在本实施例中,如图3所示,对应于取消映射命令的响应信号可以在不是由第二内核240而是由第一内核220生成取消映射描述符之后立即被传送至主机100,这可以解决由主机100测量的取消映射命令的延迟增加的问题。
图4是示出由第一内核220生成的描述符的格式的示图。
如上所述,第一内核220可以生成分别针对从主机100接收的写入命令和取消映射命令的描述符。第一内核220可以以相同的格式生成针对写入命令的描述符,即写入描述符,以及针对取消映射命令的描述符,即取消映射描述符。参照图4,由第一内核220生成的描述符DES可以包括地址字段、索引字段和命令属性字段。
描述符DES的地址字段可以存储指示命令的起始逻辑块地址Start LBA和长度信息Length的值。索引字段可以存储指示存储写入数据的写入缓冲器的索引的值。命令属性字段可以存储指示命令的类型的值,即指示命令是写入命令还是取消映射命令的值。
在写入描述符中,相应值可以分别存储在地址字段、索引字段和命令属性字段中。在取消映射描述符中,相应值可以分别存储在地址字段和命令属性字段中,而在索引字段中可以不存储值。
图5A示出第二内核240基于写入描述符DESW执行写入操作,并且图5B示出第二内核240基于取消映射描述符DESU执行取消映射高速缓存操作。通过示例的方式,假设写入命令的逻辑块地址与取消映射命令的逻辑块地址相同。此外,假设在执行写入操作之后执行取消映射高速缓存操作。
第二内核240可以周期性地轮询邮箱250的命令队列251。如图3所示,当假设第一内核220将写入命令CMD_W和取消映射命令CMD_U顺序地排队在邮箱250的命令队列251中时,第二内核240可以首先使写入命令CMD_W从命令队列251出列(①)。
第二内核240可以检查从邮箱250的命令队列251出列的命令是写入命令,并且访问存储器230的描述符缓冲器以读取写入描述符DESW(②)。第二内核240可以分析所读取的写入描述符DESW以检查存储写入数据WD的写入缓冲器的索引,并且访问写入缓冲器的对应于该索引的位置以读取写入数据WD(③)。
例如,当如图5A所示存储在写入描述符DESW的索引字段中的值是“1”时,第二内核240可以访问写入缓冲器的对应于索引“1”的位置,并且读取写入数据WD。
第二内核240可以将逻辑块地址转换成物理块地址(③)。例如,当存储在写入描述符DESW的地址字段中的起始逻辑块地址和长度信息是“LBA1”和“6”时,第二内核240可以通过将逻辑块地址“LBA1”至“LBA6”顺序地存储在存储器230的P2L表中来将逻辑块地址“LBA1”至“LBA6”转换成相应的物理块地址PBA。然后,第二内核240可以向非易失性存储器装置210提供包括所转换的物理块地址PBA的写入命令WCMD和所读取的写入数据WD(④)。
非易失性存储器装置210可以基于从第二内核240接收的写入命令WCMD来存储写入数据WD,并且将包括写入操作执行结果的响应信号RES_W提供至第二内核240(⑤)。第二内核240可以将从非易失性存储器装置210接收的响应信号RES_W排队在邮箱250的响应信号队列253中(⑥)。
然后,参照图5B,第二内核240可以使取消映射命令CMD_U从命令队列251出列(①)。第二内核240可以检查从邮箱250的命令队列251出列的命令是取消映射命令,并且访问存储器230的描述符缓冲器以读取取消映射描述符DESU(②)。第二内核240可以分析所读取的取消映射描述符DESU以检查待修整的逻辑块地址,然后执行将取消映射信息存储在存储器230的P2L表中的取消映射高速缓存操作(③)。
例如,当如图5B中所示存储在取消映射描述符DESU的地址字段中的起始逻辑块地址和长度信息是“LBA1”和“6”时,第二内核240可以确定逻辑块地址“LBA1”至“LBA6”是待修整的逻辑块地址。因此,第二内核240可以将逻辑块地址“LBA1”至“LBA6”的修整位改变成设置状态,并且将修整位已经改变的逻辑块地址“LBA1T”至“LBA6T”顺序存储在存储器230的P2L表中。然后,当触发映射更新操作时,可以首先将逻辑块地址“LBA1”至“LBA6”的映射信息改变成相应的物理块地址PBA,然后进行修整。
图6A示出当包括在写入描述符中的逻辑块地址与对应于读取请求的逻辑块地址相同时的读取操作,并且图6B示出当包括在取消映射描述符中的逻辑块地址与对应于读取请求的逻辑块地址相同时的读取操作。通过示例的方式,假设在从主机100接收到读取命令CMD_R之后,接收到多个写入命令和取消映射命令。
首先,参照图6A,第二内核240可以使读取命令CMD_R从命令队列251出列(①)。读取命令CMD_R可以包括待读取的逻辑块地址。第二内核240可以通过参考存储器230的描述符缓冲器来检查是否存在具有与待读取的逻辑块地址相同的逻辑块地址的描述符(②)。第二内核240可以从最近已存储的描述符检查存储在描述符缓冲器中的描述符。
例如,当取消映射描述符DESU和第三写入描述符DESW3包括与待读取的逻辑块地址相同的逻辑块地址时,第二内核240可以分析第三写入描述符DESW3,然后确定待读取的数据存储在写入缓冲器中。第二内核240可以将控制信号Ctrl_dt提供至单独设置的数据传送块245(③)。
数据传送块245可以根据从第二内核240接收的控制信号Ctrl_dt从写入缓冲器读取第三写入数据WD3(④),并且将所读取的第三写入数据WD3作为读取数据RD存储在读取缓冲器中(⑤)。然后,第二内核240可以将响应信号RES_R排队在邮箱250的响应信号队列253中(⑥),该响应信号RES_R包括读取命令CMDR的读取操作执行结果。
第一内核220可以使在响应信号队列253中排队的响应信号RES_R出列(⑦),并且基于响应信号RES_R(⑧)将控制信号Ctrl_dt提供至数据传送块225。数据传送块225可以根据从第一内核220接收的控制信号Ctrl_dt读取存储在读取缓冲器中的数据(⑨),并且将所读取的数据传送至主机100(⑩)。
然后,参照图6B,第二内核240可以使读取命令CMD_R从命令队列251出列(①)。读取命令CMD_R可以包括待读取的逻辑块地址。第二内核240可以通过参考存储器230的描述符缓冲器来检查是否存在具有与待读取的逻辑块地址相同的逻辑块地址的描述符(②)。
当最近存储在描述符缓冲器中的描述符是取消映射描述符DESU,并且取消映射描述符DESU包括与待读取的逻辑块地址相同的逻辑块地址时,第二内核240可以将响应信号RES_IVL排队在响应信号队列253中(③),响应信号RES_IVL包括指示待读取的逻辑块地址是无效逻辑块地址的信息。
第一内核220可以使在响应信号队列253中排队的响应信号RES_IVL出列(④),并且基于响应信号RES_IVL将信号传送至主机100(⑤),该信号指示读取命令CMD_R的逻辑块地址是无效逻辑块地址。
图7是示出根据实施例的数据存储装置的操作方法的流程图。虽然主要参照图7描述这种操作方法,但是在描述中参照的各个组件可以在图1至图6B的一个或多个中找到。
在步骤S710中,数据存储装置200的控制器250可以从主机100接收取消映射命令。
在步骤S720中,控制器250的第一内核220可以基于从主机100接收的取消映射命令来生成包括待修整的逻辑块地址的取消映射描述符,并且将所生成的取消映射描述符存储在存储器230的描述符缓冲器中。
在步骤S730中,第一内核220可以将响应信号传送至主机100,该响应信号指示针对取消映射命令的取消映射高速缓存操作完成。
虽然未在图7中示出,但是在响应信号被传送至主机100之后,第二内核240可以使取消映射命令从邮箱250的命令队列251出列,从存储器230的描述符缓冲器读取与出列的取消映射命令相对应的取消映射描述符,分析所读取的取消映射描述符,并且对待修整的逻辑块地址执行取消映射高速缓存操作。
根据各个实施例,数据存储装置及其操作方法可以将针对取消映射命令的响应信号传送至主机,而不管与从主机接收的取消映射命令相对应的取消映射高速缓存操作是否完成,从而减少在主机处测量的取消映射命令的延迟。
图8示出根据实施例的包括固态驱动器(SSD)的数据处理系统。参照图8,数据处理系统2000可以包括主机设备2100和SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2200的全部操作。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231至223n中的数据。缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输至主机设备2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道CH1至CHn联接至控制器2210。一个或多个非易失性存储器装置可以联接至相同的通道。联接至相同的通道的非易失性存储器装置可以联接至相同的信号总线和相同的数据总线。
电源2240可以将通过电源连接器2260输入的电力PWR提供至SSD 2200的内部。电源2240可以包括辅助电源2241,辅助电源2241可以供应电力使得即使在发生突然断电时SSD 2200也正确终止。辅助电源2241可以包括能够充电电力PWR的大容量电容器。
控制器2210可以通过信号连接器2250与主机设备2100交换信号SGL。信号SGL可包括命令、地址、数据等。根据主机设备2100和SSD 2200之间的接口方法,信号连接器2250可以被配置为各种类型的连接器中的任意一种。
图9示出图8的控制器2210。参照图9,控制器2210可以包括主机接口2211、控制组件2212、随机存取存储器(RAM)2213、错误校正码(ECC)组件2214和存储器接口2215。
主机接口2211可以根据主机设备2100的协议,执行主机设备2100和SSD 2200之间的接口连接。例如,主机接口2211可以通过以下中的任意一种与主机设备2100通信:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串列SCSI(SAS)协议、外围组件互连(PCI)协议、高速PCI(PCI-E)协议和通用闪存(UFS)协议。主机接口2211可以执行磁盘仿真功能,即主机设备2100将SSD 2200识别为通用数据存储装置,例如硬盘驱动器(HDD)。
控制组件2212可以分析并处理从主机设备2100输入的信号SGL。控制组件2212可以根据用于驱动SSD 2200的固件和/或软件来控制内部功能块的操作。RAM 2213可以作为用于驱动该固件或软件的工作存储器而操作。
ECC组件2214可以生成待传送至非易失性存储器装置2231至223n的数据的奇偶校验数据。所生成的奇偶校验数据可以与该数据一起存储在非易失性存储器装置2231至223n中。ECC组件2214可以基于奇偶校验数据检测从非易失性存储器装置2231至223n读取的数据的错误。当检测到的错误在可校正范围内时,ECC组件2214可以校正检测到的错误。
存储器接口2215可以根据控制组件2212的控制将诸如命令和地址的控制信号提供至非易失性存储器装置2231至223n。存储器接口2215可以根据控制组件2212的控制与非易失性存储器装置2231至223n交换数据。例如,存储器接口2215可以将存储在缓冲存储器装置2220中的数据提供至非易失性存储器装置2231至223n,或将从非易失性存储器装置2231至223n读取的数据提供至缓冲存储器装置2220。
图10示出根据实施例的包括数据存储设备的数据处理系统。参照图10,数据处理系统3000可以包括主机设备3100和数据存储设备3200。
主机设备3100可以以诸如印刷电路板(PCB)的板的形式来配置。虽然未图10中示出,但是主机设备3100可以包括被配置成执行主机设备3100的功能的内部功能块。
主机设备3100可以包括连接端子3110,诸如插座、插槽或连接器。数据存储设备3200可以安装在连接端子3110上。
数据存储设备3200可以以诸如PCB的板的形式来配置。数据存储设备3200也可称为存储器模块或存储卡。数据存储设备3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储设备3200的全部操作。控制器3210可以被配置成具有与图9中所示的控制器2210相同的配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输至主机设备3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作数据存储设备3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供至数据存储设备3200的内部。PMIC 3240可以根据控制器3210的控制来管理数据存储设备3200的电力。
连接端子3250可以联接至主机设备3100的连接端子3110。诸如命令、地址、数据的信号和电力可以通过连接端子3250在主机设备3100和数据存储设备3200之间传输。根据主机设备3100和数据存储设备3200之间的接口连接方法,连接端子3250可以以各种形式来配置。可以将连接端子3250布置在数据存储设备3200中或数据存储设备3200的任意一侧上。
图11示出根据实施例的包括数据存储设备的数据处理系统。参照图11,数据处理系统4000可以包括主机设备4100和数据存储设备4200。
主机设备4100可以以诸如PCB的板的形式来配置。虽然未图11中示出,但是主机设备4100可以包括被配置成执行主机设备4100的功能的内部功能块。
数据存储设备4200可以以表面安装封装的形式来配置。数据存储设备4200可以通过焊球4250安装在主机设备4100上。数据存储设备4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储设备4200的全部操作。控制器4210可以被配置成具有与图9中所示的控制器2210相同的配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以通过控制器4210的控制被传输至主机设备4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储设备4200的存储介质。
图12示出根据实施例的包括数据存储设备的网络系统5000。参照图12,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可以响应于多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储从多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可以将数据提供至多个客户端系统5410至5430。
服务器系统5300可以包括主机设备5100和数据存储设备5200。数据存储设备5200可以由图1的数据存储装置200、图8的SSD 2200、图10的数据存储设备3200或图11的数据存储设备4200来配置。
图13示出根据实施例的包括在数据存储设备中的非易失性存储器装置。参照图13,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、列解码器140、数据读取/写入块130、电压发生器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域中的存储器单元MC。
行解码器120可以通过字线WL1至WLm联接至存储器单元阵列110。行解码器120可以通过控制逻辑160的控制进行操作。行解码器120可以解码从外部设备(未示出)提供的地址。行解码器120可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压发生器150提供的字线电压提供至字线WL1至WLm。
数据读取/写入块130可以通过位线BL1至BLn联接至存储器单元阵列110。数据读取/写入块130可以包括与位线BL1至BLn相对应的读取/写入电路RW1至RWn。数据读取/写入块130可以根据控制逻辑160的控制进行操作。数据读取/写入块130可以根据操作模式作为写入驱动器或读出放大器而操作。例如,在写入操作中,数据读取/写入块130可以作为被配置成将从外部设备提供的数据存储在存储器单元阵列110中的写入驱动器而操作。再例如,在读取操作中,数据读取/写入块130可以作为被配置成从存储器单元阵列110读取数据的读出放大器而操作。
列解码器140可以通过控制逻辑160的控制进行操作。行解码器140可以对从外部设备(未示出)提供的地址进行解码。列解码器140可以基于解码结果将数据读取/写入块130的、对应于位线BL1至BLn的读取/写入电路RW1至RWn与数据输入/输出(I/O)线(或数据I/O缓冲器)联接。
电压发生器150可以生成用于非易失性存储器装置100的内部操作的电压。通过电压发生器150生成的电压可以被施加到存储器单元阵列110的存储器单元。例如,在编程操作中生成的编程电压可被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。又例如,在读取操作中生成的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部设备提供的控制信号来控制非易失性存储器装置100的全部操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作、擦除操作。
虽然已经示出并描述各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,本发明不限于所描述的实施例或不受所描述的实施例限制。相反,本发明涵盖所公开的实施例中的任意一个实施例的所有变型和修改,只要它们落入权利要求及其等同方案的范围内。

Claims (13)

1.一种数据存储装置,包括:
非易失性存储器装置;以及
控制器,控制所述非易失性存储器装置的操作,
其中,响应于从主机接收的取消映射命令,所述控制器生成包括待修整的逻辑块地址的取消映射描述符,存储所生成的取消映射描述符,并且将响应信号传送至所述主机,并且
其中所述响应信号指示对应于所述取消映射命令的取消映射高速缓存操作完成,
其中所述控制器包括:
第一内核,基于所述取消映射命令生成所述取消映射描述符,并且将所述响应信号传送至所述主机;以及
存储器,包括存储所述取消映射描述符的描述符缓冲器,
其中所述取消映射描述符包括地址字段、索引字段和命令属性字段,
写入描述符的索引字段用于存储所述存储器的写入缓冲器的索引,
在所述取消映射描述符的索引字段中不存储所述索引。
2.根据权利要求1所述的数据存储装置,其中所述第一内核基于从所述主机接收的写入命令来生成写入描述符,并且将所生成的写入描述符存储在所述存储器的所述描述符缓冲器中。
3.根据权利要求2所述的数据存储装置,其中所述第一内核以相同的格式生成所述取消映射描述符和所述写入描述符。
4.根据权利要求3所述的数据存储装置,其中所述写入描述符包括地址字段、索引字段和命令属性字段。
5.根据权利要求4所述的数据存储装置,其中所述地址字段用于存储起始逻辑块地址和长度信息,并且所述命令属性字段用于存储指示命令的类型的值。
6.根据权利要求1所述的数据存储装置,其中所述控制器进一步包括邮箱,所述邮箱包括:命令队列,将从所述主机接收的命令顺序地排队;以及响应信号队列,将指示所述命令的处理结果的响应信号顺序地排队。
7.根据权利要求6所述的数据存储装置,其中所述第一内核将从所述主机接收的命令顺序地排队在所述邮箱的所述命令队列中。
8.根据权利要求7所述的数据存储装置,其中所述控制器进一步包括第二内核,所述第二内核通过周期性地轮询所述邮箱的所述命令队列来顺序地处理在所述命令队列中排队的所述命令,并且将所述处理结果作为响应信号排队在所述邮箱的所述响应信号队列中。
9.根据权利要求8所述的数据存储装置,其中当处理在所述命令队列中排队的所述取消映射命令时,所述第二内核从所述存储器的所述描述符缓冲器读取相应的取消映射描述符并分析所读取的取消映射描述符,并且执行所述取消映射高速缓存操作。
10.一种数据存储装置的操作方法,所述数据存储装置包括非易失性存储器装置和控制器,所述控制器控制所述非易失性存储器装置,所述操作方法包括以下步骤:
响应于从主机接收的取消映射命令,生成包括待修整的逻辑块地址的取消映射描述符;并且
将响应信号传送至主机,
其中所述响应信号指示对应于所述取消映射命令的取消映射高速缓存操作完成,
其中所述取消映射描述符包括地址字段、索引字段和命令属性字段,
写入描述符的索引字段用于存储缓冲写入数据的写入缓冲器的索引,
在所述取消映射描述符的索引字段中不存储所述索引。
11.根据权利要求10所述的操作方法,在将所述响应信号传送至所述主机的步骤之后,进一步包括以下步骤:
使在命令队列中排队的所述取消映射命令出列;
读取并分析对应于所述取消映射命令的所述取消映射描述符;并且
对所述待修整的逻辑块地址执行所述取消映射高速缓存操作。
12.根据权利要求10所述的操作方法,其中所述地址字段用于存储起始逻辑块地址和长度信息,并且所述命令属性字段用于存储指示命令的类型的值。
13.一种控制存储器装置的控制器的操作方法,所述操作方法包括:
将取消映射命令排队;
生成对应于所述取消映射命令的取消映射描述符;
响应所述取消映射命令;以及
在所述响应,根据所排队的取消映射命令修整由所述取消映射描述符指示的逻辑地址,
其中所述逻辑地址是表示逻辑地址和物理地址之间的映射关系的映射信息的一部分,所述物理地址指示所述存储器装置内的存储位置,
其中所述取消映射描述符包括地址字段、索引字段和命令属性字段,
写入描述符的索引字段用于存储缓冲写入数据的写入缓冲器的索引,
在所述取消映射描述符的索引字段中不存储所述索引。
CN201910989510.9A 2019-01-07 2019-10-17 数据存储装置及数据存储装置的操作方法 Active CN111414313B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190001715A KR20200085966A (ko) 2019-01-07 2019-01-07 데이터 저장 장치 및 그 동작 방법
KR10-2019-0001715 2019-01-07

Publications (2)

Publication Number Publication Date
CN111414313A CN111414313A (zh) 2020-07-14
CN111414313B true CN111414313B (zh) 2023-09-15

Family

ID=71404302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910989510.9A Active CN111414313B (zh) 2019-01-07 2019-10-17 数据存储装置及数据存储装置的操作方法

Country Status (3)

Country Link
US (1) US10990287B2 (zh)
KR (1) KR20200085966A (zh)
CN (1) CN111414313B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI710905B (zh) * 2019-05-06 2020-11-21 慧榮科技股份有限公司 資料儲存裝置及邏輯至物理位址映射表之載入方法
US11474885B2 (en) * 2020-04-07 2022-10-18 Micron Technology, Inc. Method for an internal command of a first processing core with memory sub-system that caching identifiers for access commands
CN116157782A (zh) * 2020-08-25 2023-05-23 美光科技公司 存储器系统中的取消映射积压工作
KR20220049842A (ko) * 2020-10-15 2022-04-22 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
JP2022114726A (ja) * 2021-01-27 2022-08-08 キオクシア株式会社 メモリシステムおよび制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018779A (en) * 1997-12-15 2000-01-25 Emc Corporation System for encapsulating a plurality of selected commands within a single command and transmitting the single command to a remote device over a communication link therewith
CN101189575A (zh) * 2005-04-05 2008-05-28 英特尔公司 定序器地址管理
CN104375890A (zh) * 2008-12-31 2015-02-25 英特尔公司 用于执行安全嵌入式容器的处理器扩展
KR20150081635A (ko) * 2014-01-06 2015-07-15 삼성전자주식회사 불휘발성 반도체 메모리를 포함하는 저장 장치 및 그것의 관리 방법
CN107111581A (zh) * 2015-01-19 2017-08-29 微软技术许可有限责任公司 存储器描述符列表高速缓存和管道处理
CN108804023A (zh) * 2017-04-28 2018-11-13 爱思开海力士有限公司 数据存储装置及其操作方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101600951B1 (ko) * 2009-05-18 2016-03-08 삼성전자주식회사 고체 상태 드라이브 장치
WO2013119775A1 (en) * 2012-02-10 2013-08-15 Johnson & Johnson Vision Care, Inc. Method and apparatus for determining a thickness profile of an ophthalmic lens using a single point thickness and refractive index measurements
JP6069962B2 (ja) 2012-08-30 2017-02-01 富士通株式会社 情報処理装置、領域解放制御プログラム、および領域解放制御方法
TWI514142B (zh) * 2013-11-26 2015-12-21 Synology Inc 儲存系統及其控制方法
US10089235B1 (en) * 2017-07-28 2018-10-02 Citrix Systems, Inc. Dynamic trim processing with disk caching
KR102423278B1 (ko) 2017-11-28 2022-07-21 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102523327B1 (ko) * 2018-03-19 2023-04-20 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018779A (en) * 1997-12-15 2000-01-25 Emc Corporation System for encapsulating a plurality of selected commands within a single command and transmitting the single command to a remote device over a communication link therewith
CN101189575A (zh) * 2005-04-05 2008-05-28 英特尔公司 定序器地址管理
CN104375890A (zh) * 2008-12-31 2015-02-25 英特尔公司 用于执行安全嵌入式容器的处理器扩展
KR20150081635A (ko) * 2014-01-06 2015-07-15 삼성전자주식회사 불휘발성 반도체 메모리를 포함하는 저장 장치 및 그것의 관리 방법
CN107111581A (zh) * 2015-01-19 2017-08-29 微软技术许可有限责任公司 存储器描述符列表高速缓存和管道处理
CN108804023A (zh) * 2017-04-28 2018-11-13 爱思开海力士有限公司 数据存储装置及其操作方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A federated architecture for information management;Heimbigner D;《ACM Transactions on Information Systems (TOIS)》;19851231;253-278 *
基于虚拟存储的容灾数据备份关键技术研究;康潇文;《中国优秀硕士学位论文全文数据库信息科技辑》;20100715(第07期);I138-35 *

Also Published As

Publication number Publication date
US10990287B2 (en) 2021-04-27
CN111414313A (zh) 2020-07-14
US20200218455A1 (en) 2020-07-09
KR20200085966A (ko) 2020-07-16

Similar Documents

Publication Publication Date Title
US11216362B2 (en) Data storage device and operating method thereof
CN111506516B (zh) 数据存储装置及数据存储装置的操作方法
US10877887B2 (en) Data storage device and operating method thereof
CN111414312B (zh) 数据存储装置及其操作方法
CN111414313B (zh) 数据存储装置及数据存储装置的操作方法
US10769066B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
CN112445421A (zh) 数据存储装置及其操作方法
CN109407966B (zh) 数据存储装置及其操作方法
CN111831579A (zh) 控制器及其操作方法和包括控制器的存储器系统
US11782638B2 (en) Storage device with improved read latency and operating method thereof
US20210397364A1 (en) Storage device and operating method thereof
US11074006B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
US20210397558A1 (en) Storage device and operating method thereof
CN112286444B (zh) 控制器以及包括控制器的存储器系统
US11281590B2 (en) Controller, operating method thereof and storage device including the same
CN110795366B (zh) 数据存储装置及数据存储装置的操作方法
CN112445714A (zh) 半导体存储器设备的地址搜索电路和方法及其控制器
US11314461B2 (en) Data storage device and operating method of checking success of garbage collection operation
CN111752472A (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