CN110413221A - 数据存储设备 - Google Patents

数据存储设备 Download PDF

Info

Publication number
CN110413221A
CN110413221A CN201910307898.XA CN201910307898A CN110413221A CN 110413221 A CN110413221 A CN 110413221A CN 201910307898 A CN201910307898 A CN 201910307898A CN 110413221 A CN110413221 A CN 110413221A
Authority
CN
China
Prior art keywords
data
storage region
controller
stored
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
CN201910307898.XA
Other languages
English (en)
Other versions
CN110413221B (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 CN110413221A publication Critical patent/CN110413221A/zh
Application granted granted Critical
Publication of CN110413221B publication Critical patent/CN110413221B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/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
    • 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/7207Details relating to flash memory management management of metadata or control data

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

Abstract

一种数据存储设备,包括:非易失性存储器,包括第一区域和与第一区域不同的第二区域;以及将第一数据和第二数据存储在非易失性存储器的第一区域中的控制器。非易失性存储器的第一区域包括第一存储区域和第二存储区域。第一数据的一部分存储在第一存储区域中,并且第一数据的另一部分存储在第二存储区域中。第二数据存储在第二存储区域中,并且第二数据开始的第二存储区域的偏移值存储在非易失性存储器的第二区域中。

Description

数据存储设备
相关申请的交叉引用
本申请要求于2018年4月26日在韩国知识产权局提交的第10-2018-0048519号韩国专利申请的优先权,其公开内容通过引用整体并入本文。
技术领域
本公开涉及数据存储设备。更具体地,本公开涉及一种使数据丢失最小化的数据存储设备。
背景技术
通常,半导体存储器设备被分成易失性存储器设备和非易失性存储器设备,在易失性存储器设备中,存储的信息随着电源的中断而中止,非易失性存储器设备即使在电源中断时也能够保持所存储的信息。NAND闪存设备被广泛用作非易失性存储器设备。由NAND闪存设备构成的数据存储介质包括例如SSD(固态驱动器)。使用上述NAND闪存设备,SSD可以实现大存储空间和高访问速度。
一般SSD设备的最小写入单元是页面(page)单元。如果SSD设备从主机接收小于页面的量(magnitude)(即,大小)的数据,则通过将数据处理成具有页面单元来存储从主机接收的数据。在这样的情况下,存在NAND闪存设备的存储空间未被致密地使用的缺点。为了克服这个缺点,引入了一种存储可变量的数据的方法。
发明内容
本公开的一方面提供了一种数据存储设备,其将数据致密地存储在非易失性存储器中。
本公开的另一方面提供了一种数据存储设备,即使在由于意外事故而未将数据存储在特定存储器中时,该数据存储设备也有效地读取预先存储的剩余数据。
根据本公开的一些实施例,一种数据存储设备包括非易失性存储器和控制器。非易失性存储器包括第一区域和与第一区域不同的第二区域。控制器将第一数据和第二数据存储在非易失性存储器的第一区域中。非易失性存储器的第一区域包括第一存储区域和第二存储区域。第一数据的一部分存储在第一存储区域中。第一数据的另一部分存储在第二存储区域中。第二数据存储在第二存储区域中,并且第二数据开始的第二存储区域的偏移值存储在非易失性存储器的第二区域中。
根据本公开的一些实施例,一种数据存储设备包括非易失性存储器和控制器。非易失性存储器包括第一存储区域和第二存储区域以及备用区域。控制器将第一数据存储在非易失性存储器中。当第一数据的量大于第一存储区域的可存储空间的量时,控制器将第一数据分成第一子数据和第二子数据、将第一子数据存储在第一存储区域中、将第二子数据存储在第二存储区域中、并将与第二子数据的量对应的第二存储区域的偏移值存储在备用区域中。当第一数据的量小于第一存储区域的量时,控制器将第一数据存储在第一存储区域中。
根据本公开的一些实施例,一种数据存储设备包括非易失性存储器和控制器。非易失性存储器包括存储数据的第一存储区域和存储与第一存储区域相关联的第一偏移的第一备用区域。控制器读取至少部分地存储在第一存储区域中的第一数据,并将第一数据发送到外部。当控制器读取第一数据时,控制器参考存储在第一备用区域中的第一偏移,并从第一偏移扫描第一存储区域以读取第一数据。
根据本公开的一些实施例,一种存储设备包括非易失性存储器和控制器。控制器将第一数据的第一部分存储在非易失性存储器的第一页面内,并且第一数据包括第一用户数据和第一元数据。控制器将第一数据的与第一部分不同的第二部分存储在非易失性存储器的与第一页面不同的第二页面内。控制器将第二数据存储在第二页面内。并且控制器在非易失性存储器的第一偏移存储区域内存储第一偏移值,该第一偏移值指示关于控制器借以寻址第二页面以访问第一数据的第二部分的第一基地址的、存储第二数据的第一界标(terminus)。
本公开的方面不限于上面提到的方面,并且本领域技术人员从以下描述中可以清楚地理解未提及的其他方面。
附图说明
图1是用于解释根据一些实施例的数据存储设备的结构的示例图。
图2、图3和图4是用于解释根据一些实施例的非易失性存储器的存储区域和备用区域的示意图。
图5是用于示意使用根据一些实施例的数据存储设备存储从主机接收的数据的方法的示例流程图。
图6是用于描述存储在根据一些实施例的非易失性存储器中的数据的示例图。
图7和图8是用于示意使用根据一些实施例的数据存储设备存储从主机接收的数据的方法的示意图。
图9是用于解释在未存储偏移(offset)的情况下当控制器读取存储在非易失性存储器中的数据时可能发生的问题的相关技术示例图。
图10是用于示意根据一些实施例的数据存储设备的控制器读取存储在非易失性存储器中的数据的方法的示例流程图。
图11和图12是用于示意根据一些实施例的数据存储设备的控制器读取存储在非易失性存储器中的数据的方法的示意图。
图13、图14、图15和图16是用于解释根据一些实施例的在非易失性存储器中存储偏移的各种方法的示意图。
图17是用于解释根据一些实施例的数据存储设备的控制器读取存储在非易失性存储器中的数据的方法的示例流程图。
图18是示意根据一些实施例的数据存储设备的控制器读取存储在非易失性存储器中的数据的方法的示例图。
具体实施方式
图1是用于解释根据一些实施例的数据存储设备的结构的示例图。
参考图1,数据存储设备100可以包括控制器110、缓冲存储器120和非易失性存储器(NVM)130。在一些实施例中,数据存储设备100可以是固态驱动器(SSD),但是实施例不限于此。
控制器110可以包括主机接口111、处理器112、高速缓冲(cache)存储器113、缓冲存储器接口114、非易失性存储器接口115(NVM接口)和总线116。
主机接口111可以是用于主机和数据存储设备100之间的命令和/或数据的传输路径。在一些实施例中,主机接口111可以被提供为但不限于SATA(串行高级技术附件)接口、SATAe(快速SATA(SATA Express))接口、SAS(串行连接小型计算机系统接口(SCSI))接口、PCIe(快速外围组件互连(peripheral component interconnect express))接口、NVMe(快速非易失性存储器(non-volatile memory express))接口、AHCI(高级主机控制器接口)接口或多媒体卡(MMC)接口。
处理器112可以是执行数据处理和/或计算的设备或程序。在一些实施例中,处理器112可以被提供为硬件,诸如微处理器或中央处理单元(CPU),但是实施例不限于此。例如,处理器112可以是将程序语言翻译成机器语言的程序处理器。虽然未在附图中示出,但是处理器112可以包括多个核。
高速缓冲存储器113可以是可以临时存储针对将来请求而准备的数据以便它可以高速访问该数据的存储器。存储在高速缓冲存储器113中的数据可以是先前执行的计算的结果。高速缓冲存储器113可以被提供为静态RAM(SRAM:静态随机存取存储器)、高速静态RAM(快速-SRAM)和/或动态RAM(DRAM:动态RAM),但是实施例不限于此。而且,即使图1示意了高速缓冲存储器113与处理器112分离的情况,但是实施例不限于此。例如,高速缓冲存储器113可以包括在处理器112内部。此外,与图1示意的情况不同,高速缓冲存储器113可以被提供为独立于控制器110的硬件模块。尽管图1示意了高速缓冲存储器113直接连接到处理器112的情况,但是实施例不限于此。例如,高速缓冲存储器113可以经由总线116连接到处理器112。
缓冲存储器接口114可以包括用于在控制器110和缓冲存储器120之间执行数据交换的协议。非易失性存储器接口115可以包括用于在控制器110和非易失性存储器130之间执行数据交换的协议。缓冲存储器接口114和非易失性存储器接口115可以被配置为经由各种接口协议与控制器110通信,所述接口协议诸如USB(通用串行总线)协议、MMC(多媒体卡)协议、PCI(外围组件互连)协议、PCI-E(快速PCI,PCI-express)协议、ATA(高级技术附件)协议、串行-ATA协议、并行-ATA协议、SCSI(小型计算机小接口)协议、ESDI(增强型小磁盘接口)协议、IDE(集成驱动电子设备)协议、NVMe(快速非易失性存储器)协议和查询请求协议。然而,上述协议是示例,并且本公开不限于此。
总线116可以连接主机接口111、处理器112、缓冲存储器接口114和非易失性存储器接口115。换言之,主机接口111、处理器112、缓冲存储器接口114和非易失性存储器接口115之间的数据和命令可以经由总线移动到相应组件。
控制器110可以控制数据存储设备100的总体操作。例如,控制器110可以从主机接收数据并且将数据缓冲在缓冲存储器120中。此外,控制器110可以根据需要生成偏移值将并将它存储在非易失性存储器130中。稍后将提供控制器110的操作的具体描述。
缓冲存储器120可以是在将数据存储在非易失性存储器130中之前临时存储数据的空间。换言之,缓冲存储器120可以是用于缓冲数据的空间。例如,当从主机接收数据时,接收的数据可以临时存储在缓冲存储器120中。存储在缓冲存储器120中的数据可以通过特定命令或请求刷写(flush)到非易失性存储器130。缓冲存储器120可以包括高速易失性存储器或非易失性存储器。例如,缓冲存储器120可以是动态RAM(DRAM)、静态RAM(SRAM)或闪存的单级单元(single level cell,SLC)区域,但是实施例不限于此。
非易失性存储器130可以临时存储接收的数据。换言之,即使提供给非易失性存储器130的电力被切断,存储在非易失性存储器130中的数据也不会被删除。非易失性存储器130可以是闪存的单级单元(SLC)或多级单元(multi-level cell,MLC),但是实施例不限于此。例如,非易失性存储器130可以包括PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑型闪存卡(CF)、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC和MMCmicro(微型MMC))、SD卡(SD、迷你SD(miniSD)、微型SD(microSD)和SDHC)、通用闪存设备(UFS)、嵌入式多媒体卡(eMMC)、NAND闪存、NOR型闪存、V-NAND型闪存等。
在一些实施例中,非易失性存储器130可以包括多个非易失性存储器芯片131_1至131_8(NVM芯片)。非易失性存储器130可以包括第一通道CH_1和第二通道CH_2,并且可以包括第一存储体(bank)Bank_1至第四存储体Bank_4。非易失性存储器130的第一通道CH_1和第二通道CH_2可以独立地交换数据。在第一通道CH_1和第二通道CH_2中,彼此相邻的非易失性存储器芯片可以包括在不同的存储体中。例如,第一通道CH_1的第一非易失性存储器芯片131_1和第二非易失性存储器芯片131_2可以分别包括在不同的存储体中,即,包括在第一存储体Bank_1和第二存储体Bank_2中。
然而,图1中示意的非易失性存储器130的结构仅是示例,并且实施例不限于此。例如,在一些实施例中,非易失性存储器130可以包括四个存储体和八个非易失性存储芯片,并且可以被提供为单个通道。另外,尽管图1的非易失性存储器130被示意为包括八个非易失性存储器芯片131_1至131_8,但是实施例不限于该数量的非易失性存储器芯片。将参考图2至图4描述非易失性存储器的存储区域和备用区域。
图2至图4是用于解释根据一些实施例的非易失性存储器的存储区域和备用区域的示意图。
参考图2,根据一些实施例的非易失性存储器130可以包括存储区域ST和备用区域SP。非易失性存储器130的存储区域ST可以是存储从主机接收的数据的区域。非易失性存储器130的备用区域SP可以是存储纠错奇偶校验ECC奇偶校验和/或偏移的区域。
可以以各种方式提供非易失性存储器130的存储区域ST和备用区域SP。参考图3,根据一些实施例的非易失性存储器芯片131_1至131_8可以分别包括存储区域ST和备用区域SP。换言之,根据一些实施例,非易失性存储器芯片131_1至131_8中的每一个可以被分成存储数据的存储区域ST和存储偏移的备用区域SP。
参考图4,根据一些实施例的非易失性存储器芯片的一些部分(131_1至131_3和131_5至131_7)可以包括在非易失性存储器130的存储区域ST中,而非易失性存储器芯片的一些其他部分(131_4和131_8)可以包括在非易失性存储器130的备用区域SP中。换言之,在一些实施例中,数据可以存储在非易失性存储器芯片的一些部分(131_1至131_3和131_5至131_7)中,而偏移可以存储在非易失性存储器芯片的一些其他部分(131_4和131_8)中。也就是说,在本公开的技术领域中具有普通知识的人员可以以各种方式将非易失性存储器130分成存储区域ST和备用区域SP。
在下文中,为了便于解释,将通过被分成存储区域ST和备用区域SP而不是被分成非易失性存储器芯片131_1至131_8来描述非易失性存储器130。
将参考图5至图8描述根据一些实施例的数据存储设备100的存储数据的方法。
图5是用于示意使用根据一些实施例的数据存储设备存储从主机接收的数据的方法的示例流程图。图6是用于描述存储在根据一些实施例的非易失性存储器中的数据的示例图。图7和图8是用于示意用于使用根据一些实施例的数据存储设备存储从主机接收的数据的方法的示意图。
参考图5,可以从主机接收要存储在非易失性存储器130中的第一数据(S510)。为了更好地理解,对图6进行参考。
参考图6,数据(600,DATA)可以包括用户数据610和元数据620。用户数据610可以是用户试图存储在非易失性存储器130中的数据。此外,用户数据610可以是用户试图从非易失性存储器130加载的数据。元数据620可以包括关于用户数据610的信息。例如,元数据620可以包括用户数据610的数据量(magnitude)(即,大小)的信息。
在一些实施例中,用户数据610可以包括键611数据和值612数据。值612数据可以是用户试图存储在非易失性存储器130中的数据值。键611数据可以是被参考以识别值612数据的值。元数据620可以包括关于键611数据的量的信息621和关于值612数据的量的信息622。在一些实施例中,用户数据610被描述为包括键611数据和值612数据,但是实施例不限于此。而且,在一些实施例中,元数据620被描述为包括关于键611数据和值612数据的量的信息621、622,但是实施例不限于此。
再次参考图5,控制器110可以将从主机接收的第一数据的量与存储第一数据的非易失性存储器130的第一页面的存储区域的可存储空间的量进行比较(S520)。
在一些实施例中,如果第一数据的量大于非易失性存储器130的第一页面的可存储空间的量,则控制器110可以将第一数据分成第一子数据和第二子数据(S530)。控制器110可以将第一子数据存储在非易失性存储器130的第一页面的存储区域中。此外,控制器110可以将第二子数据存储在第一页面的存储区域之后的非易失性存储器130的第二页面的存储区域中(S540)。此时,控制器110可以将存储第二子数据的非易失性存储器130的第二页面的存储区域的偏移存储在备用区域SP中(S550)。第二页面的存储区域的偏移可以是第二页面的存储区域中第一数据(第二子数据)之后的第二数据开始的位置。也就是说,第二页面的存储区域的偏移可以与第二子数据的量对应。在一些实施例中,第一数据从第一页面的存储区域到第二页面的存储区域的偏移被存储,并且第二数据可以存储在第二页面的存储区域的偏移之后。
在一些实施例中,如果第一数据的量小于或等于非易失性存储器130的第一页面的存储区域的可存储空间的量,则第一数据可以存储在非易失性存储器130的第一页面的存储区域中(S560)。为了更好地理解,对图7和图8进行参考。
参考图7,在一些实施例中,控制器110可以从主机接收第一数据D1至第六数据D6。控制器110可以将从主机接收的第一数据D1至第六数据D6缓冲在缓冲存储器120中。
在一些实施例中,第一数据D1至第六数据D6可以是不同量(即,大小)的数据,但是实施例不限于此。例如,第一数据D1至第六数据D6中的至少两个的量可以相同。第一数据D1可以包括第一元数据M1和第一用户数据U1。类似地,第二数据D2至第六数据D6可以分别包括第二元数据M2至第六元数据M6和第二用户数据U2至第六用户数据U6。第一元数据M1至第六元数据M6可以分别包括关于第一用户数据U1至第六用户数据U6的数据量(即,大小)信息。
在一些实施例中,非易失性存储器130可以包括第一物理页面PPN1至第四物理页面PPN4。为了便于解释,假设第一物理页面PPN1至第四物理页面PPN4中的每一个包括存储区域ST和备用区域SP,但是实施例不限于此。为了便于描述,存储在第一物理页面PPN1至第四物理页面PPN4的备用区域SP中的偏移分别由第一偏移OF1至第八偏移OF8限定。
在一些实施例中,第一物理页面PPN1至第四物理页面PPN4可以分别包括在彼此不同的非易失性存储器芯片(图1的131_1至131_8)中。例如,第一物理页面PPN1至第四物理页面PPN4可以分别包括在第一非易失性存储器芯片至第四非易失性存储器芯片(131_1至131_4)中。在一些其他实施例中,第一物理页面PPN1至第四物理页面PPN4中的至少一些部分可以包括在相同的非易失性存储器芯片(图1的131_1至131_8)中。例如,第一物理页面PPN1和第二物理页面PPN2可以包括在第一非易失性存储器芯片131_1中。另外,第三物理页面PPN3和第四物理页面PPN4可以包括在第二非易失性存储器芯片131_2中。本公开的技术领域中具有普通技术的人员可以以各种方式提供第一物理页面PPN1至第四物理页面PPN4。
控制器110可以将第一数据D1至第六数据D6连贯地存储在非易失性存储器130的存储区域ST中。换言之,第一数据D1至第六数据D6可以连贯地存储在第一物理页面PPN1至第四物理页面PPN4的存储区域ST上。这里,表述“连贯地存储”表示“空间上连贯地存储”。也就是说,表述“连贯地存储”不限于“就时间来说连贯地存储”。例如,可以在第一数据D1之前存储第二数据D2。也就是说,第一数据D1至第六数据D6在空间上并且连贯地存储在第一物理页面PPN1至第四物理页面PPN4的存储区域ST上,并且就时间来说第一数据D1至第六数据D6可以同时地、顺序地或以任意的次序存储。
参考图8,第一数据D1至第六数据D6可以连贯地存储在第一物理页面PPN1至第四物理页面PPN4的存储区域ST中。根据一些实施例,控制器110将第一数据D1的量与第一物理页面PPN1的存储区域ST的可存储空间的量进行比较。由于第一数据D1的量小于第一物理页面PPN1的存储区域ST的可存储空间的量,因此第一数据D1可以存储在第一物理页面PPN1的存储区域ST中。
控制器110将存储在第一数据D1之后的第二数据D2的量与第一物理页面PPN1的存储区域ST的可存储空间(即,剩余空间)的量进行比较。此时,第一物理页面PPN1的存储区域ST的可存储空间的量表示剩余空间的量,并且不包括第一数据D1占据的空间的量。换言之,存储区域ST的可存储空间的量小于第一物理页面PPN1的存储区域ST的完全量。由于第二数据D2的量大于第一物理页面PPN1的存储区域ST的可存储空间的量,因此控制器110可以将第二数据D2分成2_第一子数据D2_1和2_第2子数据D2_2。控制器110可以将2_第一子数据D2_1存储在第一物理页面PPN1的存储区域ST中,并且可以将2_第二子数据D2_2存储在第二物理页面PPN2的存储区域ST中。此外,控制器110可以将第二物理页面PPN2的存储区域ST的第二偏移OF2存储在第二物理页面PPN2的备用区域SP中。例如,第二偏移OF2可以是4。在一些实施例中,2_第二子数据D2_2之后的第三数据D3在第二物理页面PPN2的存储区域ST中开始的位置可以是第二偏移OF2。换言之,2_第二子数据D2_2的量可以是第二偏移OF2。
控制器110将第二数据D2(即,2_第二子数据D2_2)之后的第三数据D3的量与第二物理页面PPN2的存储区域ST的可存储空间(即,剩余空间)的量进行比较。此时,第二物理页面PPN2的存储区域ST的可存储空间的量表示剩余空间,其从第二物理页面PPN2的存储区域ST的完全量中排除2_第二子数据D2_2的量。由于第三数据D3的量小于第二物理页面PPN2的存储区域ST的可存储空间的量,所以第三数据D3在第二物理页面PPN2的存储区域ST中的第二偏移OF2处开始存储。
以类似的方式,控制器110可以将第四数据D4分成4_第一子数据D4_1和4_第二子数据D4_2。控制器110可以将4_第一子数据D4_1存储在第二物理页面PPN2的存储区域ST中,并且可以将4_第二子数据D4_2存储在第三物理页面PPN3的存储区域ST中。此外,控制器110可以将第三物理页面PPN3的存储区域ST的第三偏移OF3存储在第三物理页面PPN3的备用区域SP中。例如,第三偏移OF3可以是5。
控制器110可以将第五数据D5的量与第三物理页面PPN3的存储区域ST的可存储空间的量进行比较。由于第五数据D5的量与第三物理页面PPN3的存储区域ST的可存储空间的量相同,因此第五数据D5可以存储在第三物理页面PPN3的存储区域ST中。以类似的方式,第六数据D6可以存储在第四物理页面PPN4的存储区域ST中。将参考图9至图12描述由控制器110读取第一数据D1至第六数据D6的方法。
图9是用于解释在未存储偏移的情况下当控制器读取存储在非易失性存储器中的数据时可能发生的问题的相关技术示例图。
图9示意了当特定存储区域处于空白(clean)状态并且存储区域的偏移未存储在备用区域中时可能发生的问题。为了便于解释,假设控制器110已经从主机接收到第一数据D1至第六数据D6的读取命令。
参考图9,根据一些实施例的控制器110可以扫描第一物理页面PPN1的存储区域ST以读取第一数据D1。例如,控制器110可以访问第一物理页面PPN1的存储区域ST以读取第一元数据M1。如上所述,第一元数据M1可以包括关于第一用户数据U1的信息,例如,关于第一用户数据U1的量信息。因此,控制器110可以参考第一元数据M1获得关于第一用户数据U1的量的信息。控制器110可以基于关于第一用户数据U1的量的信息来读取第一数据D1。
以这种方式,控制器110试图通过扫描剩余的第一物理页面PPN1至第四物理页面PPN4的存储区域ST来读取第二数据至第六数据。
然而,在一些实施例中,特定存储区域可能处于不包括数据的状态,即处于空白状态。由于突然断电(SPO),可能发生特定存储区域的空白状态。换言之,如果在存储要存储在特定存储区域中的数据之前由于意外事故而阻断供应给数据存储设备100的电力,则特定存储区域可能处于不包括数据的空白状态。
如图9中所示意,当第二物理页面PPN2的存储区域ST处于空白状态时,控制器110不可以从第二物理页面PPN2的存储区域ST读取数据。因此,可能丢失需要至少部分地存储在第二物理页面PPN2的存储区域ST中的一些数据。也就是说,根据图9中示意的图,可能丢失需要至少部分地存储在第二物理页面PPN2的存储区域ST中的第二数据D2至第四数据D4。然而,尽管第五数据D5和第六数据D6存储在第三物理页面PPN3和第四物理页面PPN4中,但是控制器110不可以读取第五数据D5和第六数据D6。这是因为不能知道在第三物理页面PPN3的存储区域ST中第五数据D5开始的位置。因此,尽管实际丢失的数据是第二数据D2至第四数据D4,但是控制器110甚至可能无法读取第五数据D5和第六数据D6。
图10是用于示意根据一些实施例的数据存储设备的控制器读取存储在非易失性存储器中的数据的方法的示例流程图。图11和图12是用于示意根据一些实施例的数据存储设备的控制器读取存储在非易失性存储器中的数据的方法的示意图。
参考图10,响应于来自主机的命令,控制器110可以通过扫描存储区域来读取数据(S1010)。此时,控制器110可以确定特定存储区域是否空白(S1020)。
在一些实施例中,如果特定存储区域处于空白状态,则控制器110可以将至少部分地包括在特定存储区域中的数据的读取失败报告发送到主机(S1030)。随后,控制器110可以确定是否存在该特定存储区域的后续存储区域的偏移(S1040)。
在一些实施例中,如果存在后续存储区域的偏移,则控制器110可以从后续存储区域的偏移开始扫描以读取剩余数据(S1050)。为了具体解释,将参考图11进行描述。
参考图11,控制器110可以试图通过扫描第一物理页面PPN1至第四物理页面PPN4的存储区域ST来读取第一数据D1至第六数据D6。在扫描第二数据D2时,控制器110可以确定第二物理页面PPN2的存储区域ST处于空白状态。此时,控制器110将至少部分地存储在第二物理页面PPN2的存储区域ST中的第二数据D2至第四数据D4的读取失败报告发送至主机。控制器110可以扫描在具有空白状态的第二物理页面PPN2的存储区域ST之后的第三物理页面PPN3的存储区域ST,从而读取第五数据D5。具体地,控制器110可以通过参考存储在第三物理页面PPN3的备用区域SP中的第三偏移OF3来读取第五数据D5。也就是说,控制器110可以以第三偏移OF3作为起点来扫描第三物理页面PPN3的存储区域ST,以读取第五数据D5。随后,控制器110可以扫描第四物理页面PPN4的存储区域ST以读取第六数据D6。
再次参考图10,在一些实施例中,如果没有后续存储区域的偏移,则控制器110可以从后续存储区域的开头开始扫描以读取剩余数据(S1060)。为了具体解释,将参考图12进行描述。
参考图12,控制器110可以扫描第一物理页面PPN1至第四物理页面PPN4的存储区域ST,从而试图读取第一数据D1至第六数据D6。在扫描第四数据D4时,控制器110可能确定第三物理页面PPN3的存储区域ST处于空白状态。此时,控制器110可以将至少部分地存储在第三物理页面PPN3的存储区域ST中的第四数据D4和第五数据D5的读取失败报告发送到主机。控制器110可以扫描在具有空白状态的第三物理页面PPN3的存储区域ST之后的第四物理页面PPN4的存储区域ST以读取第六数据D6。具体地,由于没有在第四物理页面PPN4的备用区域SP中存储的偏移,所以控制器110可以扫描第四物理页面PPN4的存储区域ST的开头以读取第六数据D6。
再次参考图10,在一些实施例中,如果特定存储区域不处于空白状态,则控制器110可以如上所述通过参考第一元数据M1至第六元数据M6来读取第一数据D1至第六数据D6(S1070)。
图13至图16是用于解释在根据一些实施例的非易失性存储器中存储偏移的各种方法的示意图。为了便于解释,将省略或简要解释重复或类似的内容。
参考图13,在一些实施例中,如果两个或更多个数据存储在非易失性存储器130的特定存储区域中,则第二存储数据的开始位置可以存储在偏移中。
例如,第一数据D1和2_第一子数据D2_1可以存储在第一物理页面PPN1的存储区域ST中。作为2_第一子数据D2_1的开始位置的第一偏移OF1可以是5。第一偏移OF1可以存储在第一物理页面PPN1的备用区域SP中。2_第二子数据D2_2、第三数据D3和4_第一子数据D4_1可以存储在第二物理页面PPN2的存储区域ST中。作为第三数据D3的开始位置的第二偏移OF2可以是4。第二偏移OF2可以存储在第二物理页面PPN2的备用区域SP中。4_第二子数据D4_2和第五数据D5可以存储在第三物理页面PPN3的存储区域ST中。作为第五数据D5的开始位置的第三偏移OF3可以是5。第三偏移OF3可以存储在第三物理页面PPN3的备用区域SP中。由于仅第六数据D6存储在第四物理页面PPN4的存储区域ST中,所以可以不在第四物理页面PPN4的备用区域SP中存储偏移。
参考图14,在一些实施例中,存储在非易失性存储器130中的所有数据的开始位置可以被存储为备用区域中的偏移。
例如,第一数据D1、2_第一子数据D2_1、2_第二子数据D2_2、第三数据D3、4_第一子数据D4_1、4_第二子数据D4_2、第五数据D5和第六数据D6的开始位置可以存储在相应备用区域中。例如,第一偏移OF1可以是0和5。第二偏移OF2可以是4和7。第三偏移OF3可以是5。第四偏移OF4可以是0。
参考图15和图16,在一些实施例中,偏移可以以纠错块(ECC Chunk)的单位存储。换言之,可以将第一数据D1至第六数据D6重新排列为第一纠错块CHUNK1至第九纠错块CHUNK9,并以上述方法存储偏移值。例如,控制器110可以将第三纠错块CHUNK3分成3_第一子数据(CHUNK3_1)和3_第二子数据(CHUNK3_2),可以将第五纠错块CHUNK5分成5_第一子数据(CHUNK5_1)和5_第二子数据(CHUNK5_2),并且可以将第七纠错块CHUNK7分成7_第一子数据(CHUNK7_1)和7_第二子数据(CHUNK7_2)。结果,控制器110可以分别将第二偏移OF2至第四偏移OF4存储在第二备用区域SP2至第四备用区域SP4中。例如,第二偏移OF2可以是3。第三偏移OF3可以是2。第四偏移OF4可以是1。
图17是用于解释根据一些实施例的数据存储设备的控制器读取存储在非易失性存储器中的数据的方法的示例流程图。图18是示意根据一些实施例的数据存储设备的控制器读取存储在非易失性存储器中的数据的方法的示例图。
参考图17,控制器110可以从主机接收数据读取命令(S1710)。结果,控制器110可以基于存储在非易失性存储器130的备用区域SP中的偏移来并行地扫描和读取多个数据(S1720)。将参考图18对此进行描述。
在一些实施例中,控制器110可以从主机接收第一数据D1至第六数据D6的读取命令。此时,控制器110可以从第一物理页面PPN1的存储区域ST的开头执行第一扫描。此外,控制器110可以从第二物理页面PPN2的存储区域ST的第二偏移OF2执行第二扫描。此外,控制器110可以从第三物理页面PPN3的存储区域ST的第三偏移OF3执行第三扫描。换言之,控制器110可以通过第一扫描读取第一数据D1和第二数据D2。此外,控制器110可以通过第二扫描读取第三数据D3和第四数据D4。控制器110可以通过第三扫描读取第五数据D5和第六数据D6。
在一些实施例中,控制器110可以并行执行第一扫描至第三扫描。换言之,可以同时执行第一扫描至第三扫描的至少一部分。尽管未被示意,但是包括在控制器110中的处理器112可以包括多个核,并且每个核可以分别执行第一扫描至第三扫描。换言之,第一扫描至第三扫描可以由处理器112中包括的多个核并行执行。
如本领域中常规的,可以就执行所描述的一个或多个功能的块来描述和示意实施例。这些块(本文可称为单元或模块等)在物理上由模拟和/或数字电路(诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等)实现,并且可以可选地由固件和/或软件驱动。例如,电路可以实现在一个或多个半导体芯片中,或者实现在诸如印刷电路板等的基板支撑件上。构成块的电路可以由专用硬件实现,或者由处理器(例如,一个或多个编程的微处理器和关联电路)实现,或者由执行块的一些功能的专用硬件和执行块的其他功能的处理器的组合实现。在不脱离本公开的范围的情况下,实施例的每个块可以在物理上分成两个或更多个交互和分立的块。同样地,在不脱离本公开的范围的情况下,可以将实施例的块在物理上组合成更复杂的块。
在结束详细描述时,本领域技术人员将理解,可以对优选实施例进行许多变化和修改而基本上不脱离本公开的原理。因此,本公开的所公开的优选实施例仅以一般性和描述性的意义使用,而不是出于限制的目的。

Claims (20)

1.一种数据存储设备,包括:
非易失性存储器,所述非易失性存储器包括第一区域和与所述第一区域不同的第二区域;以及
控制器,所述控制器将第一数据和第二数据存储在所述非易失性存储器的第一区域中,其中:
所述非易失性存储器的第一区域包括第一存储区域和第二存储区域,
所述第一数据的一部分存储在所述第一存储区域中,
所述第一数据的另一部分存储在所述第二存储区域中,
所述第二数据存储在所述第二存储区域中,以及
所述第二数据开始的所述第二存储区域的偏移值存储在所述非易失性存储器的第二区域中。
2.如权利要求1所述的数据存储设备,其中:
所述第一数据包括第一用户数据和第一元数据,所述第一元数据包括所述第一用户数据的数据量信息,以及
所述第二数据包括第二用户数据和第二元数据,所述第二元数据包括所述第二用户数据的数据量信息。
3.如权利要求2所述的数据存储设备,其中,所述第一用户数据包括第一键数据和第一值数据,并且所述第二用户数据包括第二键数据和第二值数据。
4.如权利要求3所述的数据存储设备,其中:
所述第一元数据包括关于所述第一键数据的数据量信息和关于所述第一值数据的数据量信息,并且
所述第二元数据包括关于所述第二键数据的数据量信息和关于所述第二值数据的数据量信息。
5.如权利要求1所述的数据存储设备,还包括缓冲存储器,所述第一数据和第二数据被缓冲在所述缓冲存储器中。
6.如权利要求5所述的数据存储设备,其中,当所述控制器将所述第一数据存储在所述非易失性存储器的第一区域中时,在所述第一数据的量大于所述第一存储区域的空闲空间的量的情况下,所述控制器将所述第一数据分成第一子数据和第二子数据、将所述第一子数据存储在所述第一存储区域中、将所述第二子数据存储在所述第二存储区域中、并将所述第二存储区域的偏移值存储在所述非易失性存储器的第二区域中。
7.如权利要求1所述的数据存储设备,其中,当所述控制器接收所述第一数据和第二数据的读取命令时,所述控制器:
扫描所述第一存储区域以读取所述第一数据的所述一部分,
扫描所述第二存储区域以读取所述第一数据的所述另一部分,以及
从所述第二存储区域的偏移值扫描所述第二存储区域以读取所述第二数据的至少一部分。
8.如权利要求7所述的数据存储设备,其中,所述控制器并行地读取所述第一数据和第二数据。
9.如权利要求1所述的数据存储设备,其中,当所述控制器接收所述第一数据的读取命令但所述第一存储区域处于空白状态时,所述控制器将所述第一数据的读取失败消息发送到外部。
10.如权利要求9所述的数据存储设备,其中,当所述控制器接收所述第二数据的读取命令时,所述控制器从所述第二存储区域的偏移值扫描所述第二存储区域以读取所述第二数据。
11.如权利要求1所述的数据存储设备,其中,所述控制器将所述第一数据开始的所述第一存储区域的偏移值存储在所述非易失性存储器的第二区域中。
12.一种数据存储设备,包括:
非易失性存储器,所述非易失性存储器包括第一存储区域和第二存储区域及备用区域;以及
控制器,所述控制器将第一数据存储在所述非易失性存储器中,其中:
当所述第一数据的量大于所述第一存储区域的可存储空间的量时,所述控制器将所述第一数据分成第一子数据和第二子数据、将所述第一子数据存储在所述第一存储区域中、将所述第二子数据存储在所述第二存储区域中、并将与所述第二子数据的量对应的所述第二存储区域的偏移值存储在所述备用区域中,以及
当所述第一数据的量小于所述第一存储区域的可存储空间的量时,所述控制器将所述第一数据存储在所述第一存储区域中。
13.如权利要求12所述的数据存储设备,其中,当所述控制器将与所述第一数据不同的第二数据存储在所述第二存储区域中时,所述控制器将所述第二数据存储在所述第二存储区域的偏移值之后。
14.如权利要求12所述的数据存储设备,其中:
所述第二存储区域包括所述第二子数据之后的第二数据,
当所述控制器接收所述第一数据的读取命令但所述第一存储区域处于空白状态时,所述控制器将所述第一数据的读取失败消息发送到外部,以及
当所述控制器接收所述第二数据的读取命令时,所述控制器从所述第二存储区域的偏移值扫描所述第二存储区域以读取所述第二数据。
15.如权利要求12所述的数据存储设备,其中:
所述第二存储区域包括所述第二子数据之后的第二数据,以及
当所述控制器接收所述第一数据和第二数据的读取命令时,所述控制器:
从所述第一存储区域的开始位置扫描所述第一存储区域以读取所述第一数据的第一部分,
从所述第二存储区域的开始位置扫描所述第二存储区域以读取所述第一数据的第二部分,以及
从所述第二存储区域的偏移值扫描所述第二存储区域以读取所述第二数据。
16.如权利要求15所述的数据存储设备,其中,所述控制器并行地读取所述第一数据和第二数据。
17.一种数据存储设备,包括:
非易失性存储器,所述非易失性存储器包括存储数据的第一存储区域和存储与所述第一存储区域相关联的第一偏移的第一备用区域;以及
控制器,所述控制器读取至少部分地存储在所述第一存储区域中的第一数据并将所述第一数据发送到外部,其中,
当所述控制器读取所述第一数据时,所述控制器参考存储在所述第一备用区域中的所述第一偏移,并从所述第一偏移扫描所述第一存储区域以读取所述第一数据。
18.如权利要求17所述的数据存储设备,其中:
所述非易失性存储器还包括第二存储区域和第二备用区域,第二数据的至少一部分存储在所述第二存储区域中,
所述控制器读取所述第二数据并将所述第二数据发送到外部,以及
当所述控制器读取所述第二数据时,在所述第二备用区域中没有存储偏移的情况下,所述控制器从所述第二存储区域的开头扫描所述第二存储区域以读取所述第二数据。
19.如权利要求17所述的数据存储设备,其中:
所述非易失性存储器包括第二存储区域和第二备用区域,第二数据的至少一部分存储在所述第二存储区域中,与所述第二存储区域相关联的第二偏移存储在所述第二备用区域中,
所述控制器读取所述第二数据并将所述第二数据发送到外部,以及
当所述控制器读取所述第二数据时,所述控制器参考存储在所述第二备用区域中的所述第二偏移,并从所述第二偏移扫描所述第二存储区域以读取所述第二数据。
20.如权利要求19所述的数据存储设备,其中,所述控制器并行地读取所述第一数据和所述第二数据。
CN201910307898.XA 2018-04-26 2019-04-17 数据存储设备 Active CN110413221B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180048519A KR102552689B1 (ko) 2018-04-26 2018-04-26 데이터 저장 장치
KR10-2018-0048519 2018-04-26

Publications (2)

Publication Number Publication Date
CN110413221A true CN110413221A (zh) 2019-11-05
CN110413221B CN110413221B (zh) 2024-06-07

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187898A (zh) * 2006-11-20 2008-05-28 三星电子株式会社 管理非易失性存储器的设备和方法
US20080282023A1 (en) * 2007-05-09 2008-11-13 Stmicroelectronics S.R.L. Restoring storage devices based on flash memories and related circuit, system, and method
US20110320689A1 (en) * 2010-06-24 2011-12-29 Kyoung Lae Cho Data Storage Devices and Data Management Methods for Processing Mapping Tables
KR20170120738A (ko) * 2016-04-21 2017-11-01 삼성전자주식회사 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치를 액세스하는 액세스 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187898A (zh) * 2006-11-20 2008-05-28 三星电子株式会社 管理非易失性存储器的设备和方法
US20080282023A1 (en) * 2007-05-09 2008-11-13 Stmicroelectronics S.R.L. Restoring storage devices based on flash memories and related circuit, system, and method
US20110320689A1 (en) * 2010-06-24 2011-12-29 Kyoung Lae Cho Data Storage Devices and Data Management Methods for Processing Mapping Tables
KR20170120738A (ko) * 2016-04-21 2017-11-01 삼성전자주식회사 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치를 액세스하는 액세스 방법

Also Published As

Publication number Publication date
KR102552689B1 (ko) 2023-07-05
US20190332283A1 (en) 2019-10-31
KR20190124493A (ko) 2019-11-05
US11112976B2 (en) 2021-09-07

Similar Documents

Publication Publication Date Title
KR102533207B1 (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
CN107111456B (zh) 用于生成与主机命令相关联的提示信息的系统和方法
KR102233400B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN106663046A (zh) 用于刷新存储器设备中的数据的系统和方法
US10114743B2 (en) Memory erase management
US10635350B2 (en) Task tail abort for queued storage tasks
KR20200042791A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN109992202A (zh) 数据存储设备、其操作方法以及包括其的数据处理系统
CN109074318A (zh) 用于执行转换层表的自适应主机存储器缓冲区高速缓存的系统和方法
CN109992201A (zh) 数据存储设备及其操作方法
CN109407967A (zh) 存储器系统及其操作方法
KR20210147696A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20220229775A1 (en) Data storage device and operating method thereof
KR102270103B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20200120159A (ko) 데이터 저장 장치 및 이의 동작 방법
US11231997B2 (en) Storage system and method for balanced quad-level cell (QLC) coding with margin for an internal data load (IDL) read
US20200327069A1 (en) Data storage device and operation method thereof, controller using the same
US10445372B2 (en) Method and device to access auxiliary mapping data for a data structure
CN110413221A (zh) 数据存储设备
US11669470B2 (en) Storage system with capacity scalability and method of operating the same
KR20220076803A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN110413221B (zh) 数据存储设备
US20210081316A1 (en) Storage System and Method for Validation of Hints Prior to Garbage Collection
US12007884B2 (en) Method of allocating and protecting memory in computational storage device, computational storage device performing the same and method of operating storage system using the same
US11809331B1 (en) Storage system and method for avoiding header to improve parity

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