CN113515231A - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN113515231A CN113515231A CN202011100724.5A CN202011100724A CN113515231A CN 113515231 A CN113515231 A CN 113515231A CN 202011100724 A CN202011100724 A CN 202011100724A CN 113515231 A CN113515231 A CN 113515231A
- Authority
- CN
- China
- Prior art keywords
- data
- storage device
- sub
- buffer
- zns
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
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
本申请公开一种数据存储装置,包括:存储装置,包括缓冲分区和数据分区;以及控制器,被配置成通过在存储装置的数据分区中分配至少一个分区命名空间(ZNS)来与存储装置交换数据,ZNS是在物理上和逻辑上进行划分并分配到在主机中驱动的多个应用程序中的每一个的数据存储区域。该控制器被配置成:开放存储装置的缓冲分区中的一个或多个子缓冲分区;将从主机传输的写入数据划分成分别对应于一个或多个子缓冲分区的大小的一个或多个段;将写入数据的一个或多个段中的每一个缓冲在一个或多个子缓冲分区中的相应一个中;开放存储装置的数据分区中与写入数据的长度相对应的ZNS;并且将缓冲在一个或多个子缓冲分区中的一个或多个段中的每一个迁移到所开放的ZNS。
Description
相关申请的交叉引用
本申请要求于2020年4月9日向韩国知识产权局提交的、申请号为10-2020-0043401的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例涉及一种半导体集成装置,并且更特别地,涉及一种数据存储装置及其操作方法。
背景技术
数据存储装置联接到主机,以响应于主机的请求而执行数据输入和输出操作。
可以通过垃圾收集来收集在将数据存储在数据存储装置中或从数据存储装置中删除数据时不可避免地浪费的垃圾。垃圾收集可能导致数据存储装置的内部写入操作。
随着与人工智能(AI)和大数据相关的工业的发展,已经积极进行对高性能数据中心的研究。数据中心可以被实施为使用由数据存储装置表示的硬件池来驱动大量的操作系统和/或应用程序。
已经引入了分区命名空间(ZNS)概念以提供高性能,而不会在多租户数据中心中的多个操作系统之间以及多个应用程序之间产生干扰。
根据ZNS概念,多个应用程序将数据顺序地存储在分别为其分配的分区中。分区可以是在物理上和逻辑上所划分的空间,并且可以收集类似的数据并将其顺序地存储在分区的每一个中,并以分区为单位对其进行擦除。因此,可以避免由于垃圾收集导致的性能劣化。
在ZNS型数据存储装置中,由主机提供的数据的大小即分区数据的大小可能是不同的。因此,需要一种能够根据主机的工作负载来灵活地写入数据的方法。
发明内容
在本公开的实施例中,一种数据存储装置可以包括:存储装置,包括缓冲分区和数据分区;以及控制器,被配置成通过在存储装置的数据分区中分配至少一个分区命名空间(ZNS)来与存储装置交换数据,ZNS是在物理上和逻辑上进行划分并分配到主机中驱动的多个应用程序中的每一个的数据存储区域,其中该控制器被配置成:开放存储装置的缓冲分区中的一个或多个子缓冲分区;将从主机传输的写入数据划分成分别对应于一个或多个子缓冲分区的大小的一个或多个段;将写入数据的一个或多个段中的每一个缓冲在一个或多个子缓冲分区中的相应一个中;开放存储装置的数据分区中与写入数据的长度相对应的ZNS;并且将缓冲在一个或多个子缓冲分区中的一个或多个段的每一个迁移到开放的ZNS。
在本公开的实施例中,一种数据存储装置的操作方法,该数据存储装置包括控制器以及包括缓冲分区和数据分区的存储装置,该控制器被配置成通过在存储装置中分配至少一个分区命名空间(ZNS)来与存储装置交换数据,ZNS是在物理上和逻辑上进行划分并分配到主机中驱动的多个应用程序中的每一个的数据存储区域,该方法包括:从主机接收包括应用程序的写入数据的写入请求;响应于写入请求,开放存储装置的缓冲分区中的一个或多个子缓冲分区;将写入数据划分成分别对应于一个或多个子缓冲分区的大小的一个或多个段;将写入数据的一个或多个段缓冲在一个或多个子缓冲分区中;开放存储装置的数据分区中与写入数据的长度相对应的ZNS;并且将缓冲在一个或多个子缓冲分区中的一个或多个段迁移到所开放的ZNS。
下面更详细地描述这些和其它特征、方面和实施例。
附图说明
从以下结合附图的详细描述中,将更清楚地理解本公开的主题的上述和其它方面、特征和优点,其中:
图1是示出根据本公开的实施例的数据存储装置的示图;
图2是示出根据本公开的实施例的存储装置的示图;
图3是示出根据本公开的实施例的控制器的示图;
图4是示出根据本公开的实施例的ZNS管理器的示图;
图5是说明根据本公开的实施例的分配缓冲分区的方法的概念示图;
图6是描述根据本公开的实施例的数据存储装置的操作方法的流程图;
图7是示出根据实施例的数据存储系统的示图;
图8是示出根据实施例的数据处理系统的示图;
图9是示出根据实施例的数据处理系统的示图;
图10是示出根据实施例的包括数据存储装置的网络系统的示图;并且
图11是示出根据实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
下面参照附图更详细地描述本发明的各个实施例。然而,本发明的特征和方面可以与本文所公开的不同地配置或布置。因此,本发明不限于所公开的实施例。相反,本发明涵盖落入权利要求范围内的任何所公开实施例的所有修改和变型。并且,在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
图1是示出根据实施例的数据存储装置10的示图。
参照图1,数据存储装置10可以包括控制器110和存储装置120。
控制器110可以响应于驱动多个应用程序的主机(未示出)的请求来控制存储装置120。例如,控制器110可以根据响应于主机的写入请求而提供其自己的写入数据的多个应用程序中的每一个,通过将分区命名空间(ZNS)分配到存储装置120中,来控制待存储在存储装置120中的数据。控制器110可以响应于主机的读取请求来将写入在存储装置120中的数据提供到主机。在实施例中,控制器110可以包括ZNS管理器20。
ZNS可以是在物理上和逻辑上被划分为根据在主机中驱动的多个应用程序中的每一个来存储数据的区域。多个应用程序中的每一个可以将数据顺序地存储在为其分配的ZNS中。
存储装置120可以在控制器110的控制下存储数据或输出所存储的数据。存储装置120可以由易失性存储器装置或非易失性存储器装置配置。在实施例中,存储装置120可以使用从诸如以下的各种非易失性存储器装置之中选择的存储器装置来实施:电可擦除可编程只读存储器(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变随机存取存储器(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)等。
存储装置120可以包括多个非易失性存储器装置(NVM)121至12N,非易失性存储器装置121至12N中的每一个可以包括多个管芯、多个芯片或多个封装,N是正整数。存储装置120可以具有根据编程方法而被配置成将1位数据存储在一个存储器单元中的单层单元(SLC)结构,或被配置成将多位数据存储在一个存储器单元中的多层单元(XLC)结构。
图2是示出根据实施例的图1的非易失性存储器装置12n的示图。图1的存储装置120中的其它非易失性存储器装置中的每一个可以具有与图2所示的非易失性存储装置12n相同的配置。
参照图2,非易失性存储器装置12n可以包括多个管芯Die-1至Die-z,z是正整数。多个管芯Die-1至Die-z中的每一个可以包括多个平面P-1至P-x,x是正整数。
多个管芯Die-1至Die-z的每一个中包括的多个平面P-1至P-x可以通过y个通道CH1至CHy和m个路径WAY1至WAYm输入和输出数据,y和m是正整数。图2示出了m(=z/y)个路径共享一个通道CH,并且x个平面共享一个路径WAY。
多个平面P-1至P-x中的每一个可以包括多个存储块,并且存储块中的每一个可以包括多个页面。
图1的控制器110可以基于设定的标准将多个存储块分组为多个存储块组,并且响应于主机的写入请求将存储块组作为ZNS来管理。可以将在逻辑上和物理上划分的ZNS分配到提供写入数据的多个应用程序中的每一个,多个应用程序在主机中驱动。可以响应于主机的写入请求而生成根据多个应用程序而具有彼此相同的大小或具有彼此不同的大小的多个ZNS。
在实施例中,一个ZNS中包括的存储块可以以管芯交错方式或通道交错方式来同时访问。为了以管芯交错方式来操作存储装置120,控制器110可以通过选择在管芯Die-1至Die-z中的每一个的平面P-1至P-x中位于彼此相同的位置或地址偏移处或位于彼此不同的位置或地址偏移处的存储块来构成ZNS。
非易失性存储器装置12n可以被划分为从主机提供的写入数据待临时存储的缓冲分区1201和临时存储在缓冲分区1201中的写入数据待迁移到的数据分区1203。非易失性存储器装置12n可以包括用于诸如损耗均衡的内务操作的预留空间(OP)区域。在实施例中,缓冲分区1201可以是非易失性存储器装置12n中的OP区域的一部分。如图2所示,管芯Die-1至Die-z中的每一个包括缓冲分区1201的相应部分和数据分区1203的相应部分。
在实施例中,可以根据将1位数据存储在一个存储器单元中的SLC方法或将例如2位或更多位数据的多位数据存储在一个存储器单元中的XLC方法来对缓冲分区1201进行编程。
在实施例中,可以根据将例如2位或更多位数据的多位数据存储在一个存储器单元中的XLC方法来对数据分区1203进行编程。
图3是示出根据实施例的图1的控制器110的示图。
参照图3,控制器110可以包括处理器111、主机接口(IF)113、ROM 1151、RAM 1153、存储器接口(IF)119和ZNS管理器20。
处理器111可以被配置为将对存储装置120执行读取操作或写入操作所需的各种控制信息传输到主机接口113、RAM 1153、存储器接口119和ZNS管理器20。在实施例中,处理器111可以根据为执行数据存储装置10的各种操作提供的固件而操作。在实施例中,处理器111可以执行用于执行垃圾收集、地址映射、损耗均衡等以便管理存储装置120的闪存转换层(FTL)的功能,对从存储装置120读取的数据执行错误检查和校正(ECC)操作的功能,等等。
当从主机接收到写入命令和逻辑地址时,处理器111可以控制分配与逻辑地址相对应的物理地址并将写入数据写入对应于该物理地址的存储装置120的存储区域中的写入操作。
当从主机接收到读取命令和逻辑地址时,处理器111可以控制搜索与逻辑地址相对应的物理地址并从对应于该物理地址的存储装置120的存储区域中读出数据的读取操作。
主机接口113可以从主机接收请求和时钟信号,并且提供用于执行数据输入和输出的通信通道。特别地,主机接口113可以提供主机和数据存储装置10之间的物理连接。主机接口113可以根据主机的总线格式来提供数据存储装置10和主机之间的接口连接。主机的总线格式可以包括诸如以下的标准接口协议之中的至少一种:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串列SCSI(SAS)协议、外围组件互连(PCI)协议、高速PCI(PCI-E)协议、通用闪存(UFS)协议等。
执行控制器110的操作所需的程序代码,例如固件或软件,可以存储在ROM 1151中,并且程序代码使用的代码数据等可以存储在ROM1151中。
执行控制器110的操作所需的数据可以存储在RAM 1153中,并且通过控制器110的操作而生成的数据可以存储在RAM 1153中。
存储器接口119可以提供用于在控制器110和存储装置120之间的信号传输和接收的通信通道。存储器接口119可以在处理器111的控制下将数据写入存储装置120中。存储器接口119可以将从存储装置120读出的数据提供到主机。
ZNS管理器20可以响应于主机的写入请求而将(缓冲)写入数据临时存储在被分配为图2的缓冲分区1201的一部分的至少一个子缓冲分区中。在实施例中,可以将写入数据划分为一个或多个段,并且可以以写入数据段大小为单位分配缓冲分区1201的一个或多个子缓冲分区。例如,可以以段大小为单位将写入数据缓冲在一个或多个子缓冲分区中。当用于缓冲写入数据的一个或多个子缓冲分区关闭时,ZNS管理器20可以开放数据分区1203中与写入数据的大小相对应的ZNS,将缓冲分区1201的一个或多个子缓冲分区中存储的写入数据的一个或多个段迁移到数据分区1203中开放的ZNS。
此处,“开放的”存储器区域可以是指预充电有用于编程数据的操作电压的存储器区域,并且“关闭的”存储器区域可以是指从其释放操作电压的存储器区域。在另一方面,“开放的”存储器区域可以是指包括未经编程的页面的存储器区域,而“关闭的”存储器区域可以是指所有页面都被编程的存储器区域。
因此,当用于缓冲写入数据的一个或多个子缓冲分区关闭时,用写入数据对一个或多个子缓冲分区的所有页面进行编程。当与写入数据的大小相对应的ZNS开放时,ZNS的所有页面都是空的,以便在其中对写入数据进行编程。
在实施例中,ZNS管理器20可以由处理器111或不同于处理器111的处理器来实施。
图4是示出根据实施例的图3的ZNS管理器20的示图。
参照图4,ZNS管理器20可以包括工作负载分析器201、缓冲分区管理器203和迁移器205。
工作负载分析器201可以响应于主机的写入请求来确定主机的写入请求是随机数据写入请求还是顺序数据写入请求。主机的写入请求可以包括写入命令、起始逻辑地址、偏移量和写入数据。工作负载分析器201可以根据基于起始逻辑地址和偏移量而确定的写入数据的长度(大小)来确定写入请求的工作负载,但是实施例并不限于此。
缓冲分区管理器203可以基于工作负载分析器201的工作负载确定结果,在缓冲分区1201中分配至少一个子缓冲分区。在实施例中,当写入请求被确定为随机数据写入请求作为工作负载确定结果时,缓冲分区管理器203可以将缓冲分区1201的一部分分配为至少一个子缓冲分区,以便根据第一写入(或编程)方法来写入写入数据。当写入请求被确定为顺序数据写入请求作为工作负载确定结果时,缓冲分区管理器203可以将缓冲分区1201的一部分分配为至少一个子缓冲分区,以便根据第二写入(或编程)方法来写入写入数据。
在实施例中,第一写入(或编程)方法可以是将1位数据存储在一个存储器单元中的SLC方法,并且第二写入(或编程)方法可以是将例如2位或更多位数据的多位数据存储在一个存储器单元中的XLC方法,但是实施例并不限于此。
缓冲具有相同大小的写入数据所需的至少一个子缓冲分区的大小可以根据写入数据是根据第一写入方法还是第二写入方法写入而改变。
在实施例中,由于非易失性存储器装置12n的一部分被分配为如图2所示的缓冲分区1201,因此以管芯交错方式分配待访问的至少一个子缓冲分区是有效。也就是说,可以将至少一个子缓冲分区设置在非易失性存储器装置12n中的至少一个管芯中。分配用于缓冲写入数据的子缓冲分区的数量可以对应于写入数据段的数量。
图5是说明根据实施例的在缓冲分区中分配子缓冲分区的方法的概念示图。图5所示的缓冲分区可以对应于图2所示的缓冲分区1201。
如图2所示,包括缓冲分区1201的非易失性存储器装置12n可以包括多个管芯Die-1至Die-z。管芯Die-1至Die-z中的每一个可以包括多个平面P-1至P-x。多个管芯Die-1至Die-z可以通过y个通道输入和输出数据。多个平面P-1至P-x中的每一个可以包括多个存储块,并且存储块中的每一个可以包括多个页面。
图4的缓冲分区管理器203可以响应于主机的写入请求,基于写入数据的属性,例如,根据基于写入数据的长度而确定的写入数据是随机数据还是顺序数据,在设置在多个管芯Die-1至Die-z中的缓冲分区1201中分配子缓冲分区SUB BZ-M和SUB BZ-S。在实施例中,缓冲分区管理器203可以以管芯交错方式分配待访问的子缓冲分区SUB BZ-M和SUB BZ-S。子缓冲分区SUB BZ-S是将一位数据存储在一个存储器单元中的单个位子缓冲分区,并且子缓冲分区SUB BZ-M是将多位数据存储在一个存储器单元中的多位子缓冲分区。子缓冲分区SUB BZ-S和子缓冲分区SUB BZ-M中的每一个可以包括位于管芯Die-1至Die-z中的每一个的平面P-1至P-x中的相同位置或不同位置的存储块。
在实施例中,当写入数据被确定为随机数据时,缓冲分区管理器203可以将缓冲分区1201的一个区域分配为单个位子缓冲分区SUB BZ-S,以便以第一写入方法即将1位数据存储在一个存储器单元中的SLC方法来写入写入数据。当写入数据被确定为顺序数据时,缓冲分区管理器203可以将缓冲分区1201的一个区域分配为多位子缓冲分区SUB BZ-M,以便以第二写入方法即将多位数据存储在一个存储器单元中的XLC方法来写入写入数据。
重新参照图4,当写入数据的所有段都缓冲在所分配的子缓冲分区中并且因此关闭所分配的子缓冲分区时,迁移器205可以分配或开放图2所示的数据分区1203中的与写入数据的长度相对应的ZNS。然后,迁移器205可以将已经缓冲在关闭的子缓冲分区中的写入数据段迁移到ZNS。当写入数据以段为单位完全迁移到ZNS时,迁移器205可以将ZNS切换为关闭状态。
在本技术中,根据主机的应用程序分配的ZNS可以不具有固定的大小,并且可以具有基于写入数据的长度而适应性地改变的大小。
当大量具有大容量的ZNS处于开放状态时,电源效率可能会劣化,并且在突然断电(SPO)时数据也可能丢失。在本技术中,写入数据可以被缓冲在SLC缓冲器(例如,子缓冲分区SUB BZ-S)或XLC缓冲器(例如,子缓冲分区SUB BZ-M)中,并且可以开放数据分区1203中的ZNS,并且可以在数据缓冲完成之后将所缓冲的数据迁移到ZNS。因此,只有对实际执行编程操作的ZNS才可开放和进行操作。
因此,根据本公开的实施例,可以分配具有与具有不同长度的分区数据相对应的容量的ZNS,从而可以提高数据存储装置的性能。
图6是说明根据实施例的数据存储装置的操作方法的流程图。图6的数据存储装置可以对应于图1的数据存储装置10,因此将参照图1、图2和图4来描述该操作方法。
参照图6,在S101,控制器110从驱动多个应用程序的主机接收写入请求。在S103,控制器110响应于写入请求来分析写入请求的工作负载。在实施例中,写入请求可以包括写入命令、起始逻辑地址、偏移量和写入数据。控制器110可以基于根据写入请求中包括的起始逻辑地址和偏移量而确定的写入数据的长度(大小),确定写入请求的工作负载,但是实施例并不限于此。
在S105,控制器110可以基于工作负载确定结果,在缓冲分区1201中分配一个或多个子缓冲分区。在实施例中,当写入请求被确定为随机数据写入请求作为工作负载确定结果时,控制器110可以在缓冲分区1201中分配子缓冲分区SUB BZ-S,以便以第一写入方法即SLC方法来写入写入数据。当写入请求被确定为顺序数据写入请求作为工作负载确定结果时,控制器110可以在缓冲分区1201中分配子缓冲区SUB BZ-M,以便以第二写入方法即XLC方法来写入写入数据。子缓冲分区SUB BZ-S和子缓冲分区SUB BZ-M中的每一个可以包括一个或多个子缓冲分区。
在实施例中,控制器110可以以管芯交错方式分配待访问的一个或多个子缓冲分区。
当在缓冲分区1201中分配一个或多个子缓冲分区时,在S107,控制器110可以将写入数据划分为分别与一个或多个子缓冲分区的大小相对应的一个或多个段,并且将写入数据的一个或多个段中的每一个缓冲在一个或多个子缓冲分区中的相应一个中。
此后,在S109,控制器110可以确定相应的子缓冲分区是否关闭。例如,控制器110可以确定在编程完成之后是否用写入数据的相应段来对相应的子缓冲分区的所有页面进行编程。当在S109确定相应的子缓冲分区没有关闭时,进程返回到S107,并且控制器110可以连续地执行缓冲写入数据的过程。当在S109确定相应的子缓冲分区关闭时,在S111,控制器110可以在数据分区1203中分配与写入数据的大小相对应的ZNS。也就是说,控制器110可以开放数据分区1203中的ZNS。
在实施例中,当一个或多个子缓冲分区的第一个关闭时,控制器110可以开放ZNS。在另一实施例中,在缓冲在一个或多个子缓冲分区中的所有一个或多个段的缓冲完成之后,控制器110可以开放ZNS。
在开放ZNS之后,控制器110可以在S113将缓冲在相应的子缓冲分区中的写入数据段迁移到ZNS,并且在S115对相应的子缓冲分区执行擦除操作。在实施例中,当将缓冲在相应的子缓冲分区中的写入数据段迁移到ZNS时,控制器110缓冲与一个或多个子缓冲分区中的另一个相对应的下一段。
在S117,控制器110可以确定写入数据的所有段是否存储在ZNS中。当在S117中确定写入数据的写入未完成时,进程返回到S107,使得控制器110将写入数据段中的另一个连续地缓冲在一个或多个子缓冲分区中的相应一个中。当在S117确定写入数据的写入完成时,控制器110可以在S119关闭所开放的ZNS,并且等待下一请求。
根据本技术,在以分区为单位来存储从主机提供的写入数据(分区数据)的数据存储装置10中,控制器110可以根据分区数据的大小来改变ZNS的大小。
因此,控制器110可以灵活地管理ZNS,而不考虑主机中采用的数据存储装置10的容量如何。
控制器110可以基于待写入存储装置120中的分区数据的大小来分配ZNS,以防止在存储装置120中驱动或开放非期望的数据存储区域。因此,可以提高数据存储装置10的电源效率。
图7是示出根据实施例的数据存储系统1000的示图。
参照图7,数据存储系统1000可以包括主机装置1100和数据存储装置1200。在实施例中,数据存储装置1200可以被配置为固态驱动器(SSD)。
数据存储装置1200可以包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101以及电源连接器1103。
控制器1210可以控制数据存储装置1200的一般操作。尽管未示出,但控制器1210可以包括主机接口单元、控制单元、用作工作存储器的随机存取存储器、错误校正码(ECC)单元以及存储器接口单元。在实施例中,控制器1210可以被配置为图1、图3和图4所示的控制器110。
主机装置1100可以通过信号连接器1101与数据存储装置1200交换信号。信号可以包括命令、地址、数据等。
控制器1210可以分析和处理从主机装置1100接收的信号。控制器1210可以根据数据存储装置1200中驱动的固件或软件来控制内部功能块的操作。
缓冲存储器装置1230可以临时存储待存储在非易失性存储器装置1220-0至1220-n的至少一个中的数据。进一步地,缓冲存储器装置1230可以临时存储从非易失性存储器装置1220-0至1220-n的至少一个中读取的数据。临时存储在缓冲存储器装置1230中的数据可以在控制器1210的控制下被传输到主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。
非易失性存储器装置1220-0至1220-n可以用作数据存储装置1200的存储介质。非易失性存储器装置1220-0至1220-n可以分别通过多个通道CH0至CHn与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到每个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1103输入的电力提供到数据存储装置1200的控制器1210、非易失性存储器装置1220-0至1220-n以及缓冲存储器装置1230。电源1240可以包括辅助电源。辅助电源可以供应电力,以允许数据存储装置1200在发生突然断电时正常终止。辅助电源可以包括足以存储所需电荷的大容量电容器。
根据主机装置1100和数据存储装置1200之间的接口方案,信号连接器1101可以被配置为各种类型的连接器中的一种或多种。
根据主机装置1100的电源方案,电源连接器1103可以被配置为各种类型的连接器中的一种或多种。
图8是示出根据实施例的数据处理系统3000的示图。参照图8,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以以诸如印刷电路板的板的形式配置。尽管未示出,但是主机装置3100可以包括用于执行主机装置3100的功能的内部功能块。
主机装置3100可以进一步包括诸如插座、插槽、连接器等的连接端子3110。存储器系统3200可以与连接端子3110配合。
存储器系统3200可以以诸如印刷电路板的板的形式配置。存储器系统3200可以被称为存储器模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240以及连接端子3250。
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以以与图1、图3和图4所示的控制器110相同的方式配置。
缓冲存储器装置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。通过连接端子3110和连接端子3250,诸如命令、地址、数据等的信号以及电力可以在主机装置3100和存储器系统3200之间传送。根据主机装置3100和存储器系统3200之间的接口方案,连接端子3250可以被配置为各种类型连接器中的一种或多种。如图8所示,连接端子3250可以设置在存储器系统3200的一侧。
图9是示出根据实施例的数据处理系统4000的示图。参照图9,数据处理系统4000可以包括主机装置4100和存储器系统4200。
主机装置4100可以以诸如印刷电路板的板的形式配置。尽管未示出,但是主机装置4100可以包括用于执行主机装置4100的功能的内部功能块。
存储器系统4200可以以表面安装类型封装的形式来配置。存储器系统4200可以通过焊球4250安装到主机装置4100。存储器系统4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制存储器系统4200的一般操作。控制器4210可以以与图1、图3和图4所示的控制器110相同的方式配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。进一步地,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230中读取的数据。临时存储在缓冲存储器装置4220中的数据可以在控制器4210的控制下被传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器系统4200的存储介质。
图10是示出根据实施例的网络系统5000的示图。参照图10,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410、5420和5430。
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储由多个客户端系统5410至5430提供的数据。又例如,服务器系统5300可以将数据提供到多个客户端系统5410至5430。
服务器系统5300可以包括主机装置5100和存储器系统5200。存储器系统5200可以被配置为图1所示的数据存储装置10、图7所示的数据存储装置1200、图8所示的存储器系统3200或图9所示的存储器系统4200。
图11是示出根据实施例的非易失性存储器装置300的框图。非易失性存储器装置300可以包括在诸如图1的数据存储装置10的数据存储装置中。
参照图11,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
存储器单元阵列310可以包括三维存储器阵列。三维存储器阵列可以具有在垂直于半导体衬底的平坦表面的方向上的堆叠结构。此外,三维存储器阵列可以包括NAND串,其中存储器单元垂直于半导体衬底的平坦表面堆叠。
三维存储器阵列的结构不限于上述实施例。可以以具有水平方向性和垂直方向性的高度集成方式来形成存储器阵列结构。在实施例中,在三维存储器阵列的NAND串中,在相对于半导体衬底的平坦表面的水平方向和垂直方向上布置存储器单元。存储器单元可以被不同地间隔以提供不同的集成度。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以在控制逻辑360的控制下来操作。行解码器320可以对由外部装置(未示出)提供的地址进行解码。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm中的一条。例如,行解码器320可以将由电压生成器350提供的字线电压提供到字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别与位线BL1至BLn相对应的读取/写入电路RW1至RWn。数据读取/写入块330可以在控制逻辑360的控制下操作。根据操作模式,数据读取/写入块330可以操作为写入驱动器或读出放大器。例如,在写入操作中,数据读取/写入块330可以作为写入驱动器来操作,以将由外部装置提供的数据存储在存储器单元阵列310中。又例如,在读取操作中,数据读取/写入块330可以作为读出放大器来操作,以感测从存储器单元阵列310读出的数据。
列解码器340可以在控制逻辑360的控制下操作。列解码器340可以对由外部装置提供的地址进行解码。列解码器340可以基于解码结果,将数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器350可以生成待在非易失性存储器装置300的内部操作中使用的电压。由电压生成器350生成的电压可以被施加到存储器单元阵列310的存储器单元。例如,可以将在编程操作中生成的编程电压施加到待执行编程操作的存储器单元的字线。又例如,可以将在擦除操作中生成的擦除电压施加到待执行擦除操作的存储器单元的阱区。再例如,可以将在读取操作中生成的读取电压施加到待执行读取操作的存储器单元的字线。
控制逻辑360可以基于由外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的读取操作、写入操作和擦除操作。
本公开的上述实施例旨在示出而非限制本发明。其各种替代方案和等效方案是可能的。本发明不受本文描述的实施例的限制。本发明也不限于任何特定类型的半导体装置。鉴于本公开的其它增加、减少或修改是显而易见的,并且旨在落入所附权利要求的范围内。
Claims (18)
1.一种数据存储装置,包括:
存储装置,包括缓冲分区和数据分区;以及
控制器,通过在所述存储装置的所述数据分区中分配至少一个分区命名空间即ZNS来与所述存储装置交换数据,ZNS是在物理上和逻辑上进行划分并分配到主机中驱动的多个应用程序中的每个应用程序的数据存储区域,
其中所述控制器:
开放所述存储装置的所述缓冲分区中的一个或多个子缓冲分区;
将从所述主机传输的写入数据划分成分别对应于所述一个或多个子缓冲分区的大小的一个或多个段;
将所述写入数据的所述一个或多个段中的每个段缓冲在所述一个或多个子缓冲分区中的相应一个中;
开放所述存储装置的所述数据分区中与所述写入数据的长度相对应的ZNS;并且
将缓冲在所述一个或多个子缓冲分区中的所述一个或多个段中的每个段迁移到所开放的ZNS。
2.根据权利要求1所述的数据存储装置,其中所述控制器基于所述写入数据的属性来确定所述一个或多个子缓冲分区的编程方法,并且
所述编程方法基于所述一个或多个子缓冲分区中包括的存储器单元中的每个存储器单元中存储的数据位的数量来确定。
3.根据权利要求2所述的数据存储装置,其中所述控制器根据所述写入数据是随机数据还是顺序数据来确定所述写入数据的属性。
4.根据权利要求3所述的数据存储装置,其中当所述写入数据是随机数据时,所述控制器分配所述一个或多个子缓冲分区,使得所述存储器单元中的每个存储器单元存储1位数据。
5.根据权利要求3所述的数据存储装置,其中当所述写入数据是顺序数据时,所述控制器分配所述一个或多个子缓冲分区,使得所述存储器单元中的每个存储器单元存储多位数据。
6.根据权利要求1所述的数据存储装置,其中所述数据分区使得所述数据分区中包括的每个存储器单元存储多位数据。
7.根据权利要求1所述的数据存储装置,其中所述存储装置包括多个管芯,并且
所述控制器以交错方式访问所述存储装置。
8.根据权利要求1所述的数据存储装置,其中所述控制器进一步:在缓冲在所述一个或多个子缓冲分区的每个子缓冲分区中的写入数据的相应段被迁移到所开放的ZNS之后,对所述一个或多个子缓冲分区中的所述每个子缓冲分区执行擦除操作,然后缓冲与下一个写入数据相对应的下一个段。
9.根据权利要求1所述的数据存储装置,其中在所述一个或多个子缓冲分区中的所有一个或多个段的缓冲完成之后,所述控制器开放ZNS。
10.一种数据存储装置的操作方法,所述数据存储装置包括控制器以及包括缓冲分区和数据分区的存储装置,所述控制器通过在所述存储装置中分配至少一个分区命名空间即ZNS来与所述存储装置交换数据,ZNS是在物理上和逻辑上进行划分并分配到主机中驱动的多个应用程序中的每个应用程序的数据存储区域,所述方法包括:
从所述主机接收包括应用程序的写入数据的写入请求;
响应于所述写入请求,开放所述存储装置的所述缓冲分区中一个或多个子缓冲分区;
将所述写入数据划分成分别对应于所述一个或多个子缓冲分区的大小的一个或多个段;
将所述写入数据的所述一个或多个段缓冲在所述一个或多个子缓冲分区中;
开放所述存储装置的所述数据分区中与所述写入数据的长度相对应的ZNS;并且
将缓冲在所述一个或多个子缓冲分区中的所述一个或多个段迁移到所开放的ZNS。
11.根据权利要求10所述的方法,进一步包括:
确定所述写入数据的属性;并且
基于所述属性,确定所述一个或多个子缓冲分区的编程方法,
其中所述编程方法基于所述一个或多个子缓冲分区中包括的存储器单元中的每个存储器单元中存储的数据位的数量来确定。
12.根据权利要求11所述的方法,其中确定所述属性包括确定所述写入数据是随机数据还是顺序数据。
13.根据权利要求12所述的方法,其中确定所述编程方法包括:当所述写入数据是随机数据时,分配所述一个或多个子缓冲分区,使得所述存储器单元中的每个存储器单元存储1位数据。
14.根据权利要求12所述的方法,其中确定所述编程方法包括:当所述写入数据是顺序数据时,分配所述一个或多个子缓冲分区,使得所述存储器单元中的每个存储器单元存储多位数据。
15.根据权利要求10所述的方法,其中所述数据分区使得所述数据分区中包括的每个存储器单元存储多位数据。
16.根据权利要求10所述的方法,其中所述存储装置包括多个管芯,并且
所述控制器以交错方式访问所述存储装置。
17.根据权利要求10所述的方法,进一步包括:在缓冲在所述一个或多个子缓冲分区的每个子缓冲分区中的写入数据的相应段被迁移到所开放的ZNS之后,对所述一个或多个子缓冲分区中的所述每个子缓冲分区执行擦除操作,然后缓冲与下一个写入数据相对应的下一个段。
18.根据权利要求10所述的方法,其中开放所述ZNS包括:在所述一个或多个子缓冲分区中的所有一个或多个段的缓冲完成之后,开放所述ZNS。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0043401 | 2020-04-09 | ||
KR1020200043401A KR102691862B1 (ko) | 2020-04-09 | 2020-04-09 | 데이터 저장 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113515231A true CN113515231A (zh) | 2021-10-19 |
Family
ID=78006497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011100724.5A Withdrawn CN113515231A (zh) | 2020-04-09 | 2020-10-15 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11520504B2 (zh) |
KR (1) | KR102691862B1 (zh) |
CN (1) | CN113515231A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546295A (zh) * | 2022-04-25 | 2022-05-27 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的智能写分配方法和装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11550481B2 (en) * | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11797433B2 (en) | 2019-12-20 | 2023-10-24 | Sk Hynix Nand Product Solutions Corp. | Zoned namespace with zone grouping |
US20220147279A1 (en) * | 2020-11-06 | 2022-05-12 | Seagate Technology Llc | Heat management solid-state data storage system |
US11816345B2 (en) * | 2021-03-29 | 2023-11-14 | Micron Technology, Inc. | Zone block staging component for a memory subsystem with zoned namespace |
US12039195B2 (en) * | 2021-03-30 | 2024-07-16 | EMC IP Holding Company LLC | Provisioning zoned storage devices to sequential workloads |
US11537303B1 (en) * | 2021-06-03 | 2022-12-27 | Western Digital Technologies, Inc. | Dissimilar write prioritization in ZNS devices |
US11537305B1 (en) | 2021-06-03 | 2022-12-27 | Western Digital Technologies, Inc. | Dissimilar write prioritization in ZNS devices |
CN114625321A (zh) * | 2022-03-25 | 2022-06-14 | 阿里巴巴(中国)有限公司 | 数据写入方法以及装置 |
US11875061B2 (en) * | 2022-04-22 | 2024-01-16 | Micron Technology, Inc. | Enhanced write performance utilizing program interleave |
US11954367B2 (en) * | 2022-06-15 | 2024-04-09 | Western Digital Technologies, Inc. | Active time-based command prioritization in data storage devices |
US11853203B1 (en) | 2022-06-23 | 2023-12-26 | Western Digital Technologies, Inc. | Systems and methods with variable size super blocks in zoned namespace devices |
KR20240058637A (ko) * | 2022-10-26 | 2024-05-03 | 에스케이하이닉스 주식회사 | 데이터 및 대응되는 맵을 선택적으로 저장하는 메모리 시스템 및 그 동작 방법 |
CN115686372B (zh) * | 2022-11-07 | 2023-07-25 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘zrwa功能的数据管理的方法 |
CN116126239B (zh) * | 2022-12-30 | 2024-01-23 | 武汉麓谷科技有限公司 | 一种提高zns固态硬盘nor flash写入性能的方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101456370B1 (ko) | 2012-04-04 | 2014-11-03 | 홍익대학교 산학협력단 | 스토리지 관리 방법 및 장치 |
US9098400B2 (en) * | 2012-10-31 | 2015-08-04 | International Business Machines Corporation | Dynamic tuning of internal parameters for solid-state disk based on workload access patterns |
KR102094336B1 (ko) * | 2013-02-13 | 2020-04-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 구동 방법 |
US9697134B2 (en) * | 2015-06-10 | 2017-07-04 | Micron Technology, Inc. | Memory having a static cache and a dynamic cache |
US11550481B2 (en) * | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US10761750B2 (en) * | 2017-03-09 | 2020-09-01 | Netapp Inc. | Selectively storing data into allocation areas using streams |
KR102503177B1 (ko) | 2018-03-05 | 2023-02-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10691358B2 (en) * | 2018-06-14 | 2020-06-23 | Silicon Motion, Inc. | Memory controller and method capable of using different storing modes to store data units having different data sizes |
KR20200032404A (ko) * | 2018-09-18 | 2020-03-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
US10895997B2 (en) * | 2019-02-20 | 2021-01-19 | Nutanix, Inc. | Durable client-side caching for distributed storage |
US11416161B2 (en) * | 2019-06-28 | 2022-08-16 | Western Digital Technologies, Inc. | Zone formation for zoned namespaces |
US11593258B2 (en) * | 2019-11-26 | 2023-02-28 | Micron Technology, Inc. | Enhanced filesystem support for zone namespace memory |
US20210182166A1 (en) * | 2019-12-12 | 2021-06-17 | Western Digital Technologies, Inc. | Zoned namespace management of non-volatile storage devices |
JP7366795B2 (ja) * | 2020-02-14 | 2023-10-23 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11435914B2 (en) * | 2020-03-30 | 2022-09-06 | Western Digital Technologies, Inc. | Dynamic ZNS open zone active limit |
-
2020
- 2020-04-09 KR KR1020200043401A patent/KR102691862B1/ko active IP Right Grant
- 2020-09-21 US US17/027,598 patent/US11520504B2/en active Active
- 2020-10-15 CN CN202011100724.5A patent/CN113515231A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546295A (zh) * | 2022-04-25 | 2022-05-27 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的智能写分配方法和装置 |
CN114546295B (zh) * | 2022-04-25 | 2022-07-01 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的智能写分配方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR102691862B1 (ko) | 2024-08-06 |
KR20210125774A (ko) | 2021-10-19 |
US20210318820A1 (en) | 2021-10-14 |
US11520504B2 (en) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11520504B2 (en) | Data storage device and operating method thereof | |
CN110727394B (zh) | 数据存储装置、该数据存储装置的操作方法以及存储系统 | |
CN110858126B (zh) | 数据存储设备及其操作方法和具有该设备的存储系统 | |
KR20200025521A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN111177031B (zh) | 数据存储装置及操作方法和具有数据存储装置的存储系统 | |
US11543990B2 (en) | Data storage apparatus with extended lifespan and operation method thereof | |
US20200089421A1 (en) | Data storage device, operation method thereof, and storage system including the same | |
CN111414131B (zh) | 数据存储装置、其操作方法和包括其的存储系统 | |
US20200152274A1 (en) | Data storage apparatus, operating method thereof, and storage system including data storage apparatus | |
US11635896B2 (en) | Method and data storage apparatus for replacement of invalid data blocks due to data migration | |
US20200081649A1 (en) | Data storage device, operation method thereof and storage system including the same | |
CN111258494B (zh) | 数据存储装置及操作方法、具有数据存储装置的存储系统 | |
US20200327069A1 (en) | Data storage device and operation method thereof, controller using the same | |
CN110727393B (zh) | 数据存储装置及其操作方法、存储系统 | |
CN111708480A (zh) | 数据存储装置及其操作方法和控制器 | |
CN111414314B (zh) | 数据存储装置、其操作方法及其控制器 | |
CN113467708A (zh) | 电子装置、数据存储装置及其操作方法 | |
CN113010092A (zh) | 数据存储设备及其操作方法 | |
US20220188008A1 (en) | Data storage apparatus and operation method thereof | |
US11593006B2 (en) | Data storage apparatus and method for managing valid data based on bitmap table | |
US20220188026A1 (en) | Data storage apparatus and operation method thereof | |
CN116774917A (zh) | 存储器系统及操作存储器系统的方法 | |
CN114968832A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211019 |
|
WW01 | Invention patent application withdrawn after publication |