CN115543860A - 数据处理系统及其操作方法 - Google Patents

数据处理系统及其操作方法 Download PDF

Info

Publication number
CN115543860A
CN115543860A CN202210404324.6A CN202210404324A CN115543860A CN 115543860 A CN115543860 A CN 115543860A CN 202210404324 A CN202210404324 A CN 202210404324A CN 115543860 A CN115543860 A CN 115543860A
Authority
CN
China
Prior art keywords
memory
host
partition
garbage collection
controller
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
Application number
CN202210404324.6A
Other languages
English (en)
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 CN115543860A publication Critical patent/CN115543860A/zh
Withdrawn legal-status Critical Current

Links

Images

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
    • 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/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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced 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/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

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

数据处理系统及其操作方法
相关申请的交叉引用
本申请要求于2021年6月30日提交的、申请号为10-2021-0085878的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例涉及一种数据处理系统及其操作方法,并且更具体地,涉及一种数据处理系统及其操作方法,在该数据处理系统中,在由于分区命名空间所配置的系统中的主机所引起的负载而导致主机难以自行执行垃圾收集的情况下,主机向存储器系统请求垃圾收集,使得存储器系统执行垃圾收集。
背景技术
近来,计算机环境的范例已经转变为可以随时随地使用计算机系统的普适计算。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用迅速增加。通常,这些便携式电子装置使用一种存储器系统,该存储器系统使用存储器装置,即,数据存储装置。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。
使用非易失性存储器装置的数据存储装置的优点在于,由于与硬盘不同,该数据存储装置没有机械驱动部件,因此稳定性和耐久性优异,并且信息访问速度高且功耗小。具有这些优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
本公开的各个实施例针对一种数据处理系统及其操作方法,在该数据处理系统中,在由于分区命名空间所配置的系统中的主机所引起的负载而导致主机难以自行执行垃圾收集的情况下,主机可以将垃圾收集委托给存储器系统,使得存储器系统可以执行垃圾收集。
此外,本公开的各个实施例针对一种能够确定主机的负载水平以便决定是否将垃圾收集委托给存储器系统的数据处理系统及其操作方法。
在本公开的实施例中,一种数据处理系统可以包括:主机,包括处理器和易失性存储器,并且被配置为将数据顺序地分配给分区命名空间的多个分区;以及存储器系统,包括存储器装置和控制器,存储器装置包括多个存储块,控制器被配置为将多个存储块分配给分区命名空间的各个分区,并且根据与数据输入/输出请求一起从主机输入的分区的地址来访问分配给多个分区中的一个的存储块,其中主机进一步被配置为根据主机的负载水平向控制器请求垃圾收集或执行基于主机的垃圾收集。
在本公开的实施例中,一种用于操作数据处理系统的方法可以包括:由包括处理器和易失性存储器的主机将数据顺序地分配给分区命名空间的多个分区;由控制器将存储器装置的多个存储块分配给分区命名空间的各个分区;由控制器根据与数据输入/输出请求一起从主机输入的分区的地址来访问分配给多个分区之中的一个的存储块;并且根据主机的负载水平,由主机向控制器请求垃圾收集或执行基于主机的垃圾收集。
在本公开的实施例中,一种存储器系统可以包括:存储器装置,包括多个存储块;以及控制器,被配置为将多个存储块分配给分区命名空间的各个分区,根据与数据输入/输出请求一起输入的分区的地址来访问分配给多个分区中的一个的存储块,并且响应于来自主机的垃圾收集请求而执行垃圾收集操作。
在本公开的实施例中,一种数据处理系统的操作方法,该操作方法可以包括:由处于处理器绑定状态的主机通过向控制器提供用于操作的信息来请求垃圾收集操作;以及由控制器根据该信息控制存储器装置来对存储器装置中包括的牺牲存储单元和目标存储单元执行垃圾收集操作。
在根据本公开实施例的数据处理系统及其操作方法中,在由于分区命名空间所配置的系统中的主机所引起的负载而导致主机难以自行执行垃圾收集的情况下,主机可以将垃圾收集委托给存储器系统,使得存储器系统可以执行垃圾收集。
此外,根据本公开实施例的数据处理系统及其操作方法可以确定主机的负载水平以便决定是否将垃圾收集委托给存储器系统。
附图说明
图1是示意性地示出根据本公开实施例的包括存储器系统的数据处理系统的示例的示图。
图2是示意性地示出根据本公开实施例的存储器装置的示例的示图。
图3是示意性地示出根据本公开实施例的存储器装置中的存储块的存储器单元阵列电路的示图。
图4是示意性地示出根据本公开实施例的存储器系统中的存储器装置的结构的示图。
图5是示意性地示出根据本公开实施例的在存储器系统中执行与多个命令相对应的多个命令操作的情况的示例的示图。
图6是示出根据本公开实施例的在存储器系统中使用的超级存储块的概念的示图。
图7是示出根据本公开实施例的实施了分区命名空间技术的数据处理系统的示图。
图8是示出根据本公开实施例的包括支持划分为分区单元的命名空间的非易失性存储器装置的存储器系统的示图。
图9是示出根据本公开实施例的主机使用分区命名空间执行垃圾收集的方法的示图。
图10是示出根据本公开实施例的应用了分区命名空间技术的数据处理系统中的垃圾收集方法的示图。
图11是示出根据本公开实施例的应用了分区命名空间技术的数据处理系统中的垃圾收集方法的流程图。
图12是示出根据本公开实施例的用于决定执行垃圾收集的主题(subject)的方法的流程图。
图13是示出根据本公开实施例的用于决定执行垃圾收集的主题的方法的流程图。
图14是示出根据本公开实施例的主机将垃圾收集请求传输到存储器系统的控制器的过程的流程图。
图15是示出根据本公开实施例的执行向存储器系统请求的垃圾收集的过程的示例的示图。
具体实施方式
以下将参照附图更详细地描述本公开的各个实施例。然而,本公开可以以不同的形式实现,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例是为了使得本公开将是透彻和完整的,并且将向本领域技术人员充分传达本公开的范围。在整个公开中,相同的附图标记在本公开的各个附图和实施例中指代相同的部件。
图1是示意性地示出根据本公开实施例的包括存储器系统的数据处理系统的示例的示图。
参照图1,数据处理系统100可以包括主机102和存储器系统110。
主机102包括电子装置,例如诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置,或者诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置,即无线和有线电子装置。
主机102可以包括处理器105和存储器106。跟与主机102互操作的存储器系统110相比,主机102可以包括具有更高性能的处理器105和具有更大容量的存储器106。与存储器系统110不同,主机102中的处理器105与存储器106具有空间限制小、操作速度快并且处理器105和存储器106可以进行硬件升级的优点。为了使用与存储器系统110相比具有更高性能的主机102,可以利用分区命名空间系统,稍后将对其进行描述。
主机102包括至少一个操作系统(OS)。操作系统通常管理和控制主机102的功能和操作,并提供主机102与使用数据处理系统100或存储器系统110的用户之间的互操作性。操作系统支持与用户的使用目的和操作系统的使用相对应的功能和操作。例如,根据主机102的移动性,操作系统可以分类为通用操作系统和移动操作系统。此外,根据用户的使用环境,作为操作系统的通用操作系统可以分类为个人操作系统和企业操作系统。例如,个人操作系统是以支持为一般用户提供服务的功能为特征的系统,并且可以包括windows和chrome,企业操作系统是以确保和支持高性能为特征的系统,并且可以包括Windowsserver、Linux和Unix。另外,作为操作系统的移动操作系统是以支持向用户提供移动服务功能和系统省电功能为特征的系统,并且可以包括Android、iOS、Windows mobile等。主机102可以包括多个操作系统,并且响应于用户请求来运行操作系统以对存储器系统110执行操作。主机102将与用户请求相对应的多个命令传输到存储器系统110,因此,存储器系统110执行与命令相对应的操作,即与用户请求相对应的操作。
存储器系统110响应于主机102的请求而操作,并且具体地,存储待由主机102访问的数据。存储器系统110可以用作主机102的主存储器装置或辅助存储器装置。根据与主机102耦合的主机接口协议,存储器系统110可以被实施为各种存储装置中的任何一种。例如,存储器系统110可以被实施为诸如以下的各种存储装置中的任何一种:固态驱动器(SSD),MMC、eMMC(嵌入式MMC)、RS-MMC(尺寸减小的MMC)和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,紧凑型闪存(CF)卡,智能媒体卡,记忆棒等。
实施存储器系统110的存储装置可以由诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置来实施,或者由诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置来实施。
存储器系统110包括存储待由主机102访问的数据的存储器装置150,以及控制存储器装置150中的数据存储的控制器130。
控制器130和存储器装置150可以被集成到一个半导体装置中。例如,控制器130和存储器装置150可以被集成到一个半导体装置中,从而配置SSD。在存储器系统110用作SSD的情况下,耦合到存储器系统110的主机102的操作速度可以有所提高。进一步地,控制器130和存储器装置150可以被集成到一个半导体装置中并且配置存储卡。例如,控制器130和存储器装置150可以配置诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑型闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC和微型MMC)、SD卡(SD、迷你SD、微型SD和SDHC)和通用闪存(UFS)。
再例如,存储器系统110可以配置计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下发送和接收信息的装置、配置家庭网络的各种电子装置中的一种、配置计算机网络的各种电子装置中的一种、配置远程信息处理网络的各种电子装置中的一种、RFID(射频识别)装置或配置计算系统的各种组件元件中的一种。
即使没有供电,存储器系统110中的存储器装置150也可以保持所存储的数据。特别地,存储器系统110中的存储器装置150通过写入操作存储从主机102提供的数据,并且通过读取操作将所存储的数据提供到主机102。存储器装置150包括多个存储块152、154和156。存储块152、154和156中的每一个包括多个页面。页面中的每一个包括多个存储器单元,多个字线(WL)耦合到这些存储器单元。此外,存储器装置150包括多个平面,每个平面包括多个存储块152、154和156。特别地,存储器装置150可以包括多个存储器管芯,每个存储器管芯包括多个平面。存储器装置150可以是非易失性存储器装置,例如闪速存储器,该闪速存储器可以具有三维堆叠结构。
由于下面将参照图2至图4对存储器装置150的结构和存储器装置150的三维堆叠结构进行详细描述,并且下面将参照图6对各自包括多个存储块152、154和156的多个平面、各自包括多个平面的多个存储器管芯和包括多个存储器管芯的存储器装置150进行详细描述,因此将省略对其的进一步描述。
存储器系统110中的控制器130响应于来自主机102的请求而控制存储器装置150。例如,控制器130将从存储器装置150读取的数据提供到主机102,并将从主机102提供的数据存储在存储器装置150中。为此,控制器130控制存储器装置150的操作,诸如读取操作、写入操作、编程操作和擦除操作。
具体地,控制器130包括主机接口单元(Host I/F)132、处理器(Processor)134、错误校正码(ECC)单元138、电源管理单元(PMU)140、存储器接口单元(Memory I/F)142和存储器144。
主机接口单元132处理主机102的命令和数据,并且可以被配置为通过诸如以下的各种通信标准或接口中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)和MIPI(移动工业处理器接口)。主机接口单元132可以通过被称为主机接口层(HIL)的固件驱动,并且是与主机102交换数据的区域。
ECC单元138可以校正存储器装置150中处理的数据的错误位,并且可以包括ECC编码器和ECC解码器。ECC编码器可以对待编程到存储器装置150的数据进行错误校正编码并生成添加有奇偶校验位的数据。添加有奇偶校验位的数据可以被存储在存储器装置150中。在读取存储在存储器装置150中的数据的情况下,ECC解码器检测并校正从存储器装置150读取的数据中包括的错误。也就是说,在对从存储器装置150读取的数据执行错误校正解码之后,ECC单元138可以确定错误校正解码是否成功,可以根据确定结果输出指示信号,例如,错误校正成功/失败信号,并且可以通过使用在ECC编码过程中生成的奇偶校验位来校正读取数据的错误位。当发生的错误位的数量等于或大于可校正错误位限制时,ECC单元138无法校正错误位,并且可以输出与无法校正错误位相对应的错误校正失败信号。
ECC单元138可以通过使用但不限于LDPC(低密度奇偶校验)码、博斯-查德胡里-霍坤格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、RSC(递归系统码)或编码调制(例如,格状编码调制(trellis-coded modulation,TCM)或块编码调制(block coded modulation,BCM))来执行错误校正。ECC单元138可以包括用于错误校正的电路、模块、系统或装置。
PMU 140为控制器130提供和管理电力,即,为控制器130中包括的组件提供电力。
存储器接口单元142用作存储器/存储装置接口,其执行控制器130和存储器装置150之间的接口,以允许控制器130响应于来自主机102的请求而控制存储器装置150。在存储器装置150是闪速存储器的情况下,特别是在存储器装置150是NAND闪速存储器的情况下,存储器接口单元142作为NAND闪存控制器(NFC)生成针对存储器装置150的控制信号,并根据处理器134的控制来处理数据。存储器接口单元142可以支持在控制器130和存储器装置150之间处理命令和数据的接口(例如,NAND闪存接口)的操作,特别是控制器130和存储器装置150之间的数据输入/输出,并且可以通过被称为闪存接口层(FIL)的固件来驱动,FIL为与存储器装置150交换数据的区域。
存储器144作为存储器系统110和控制器130的工作存储器,存储用于驱动存储器系统110和控制器130的数据。具体地,在控制器130响应于来自主机102的请求而控制存储器装置150的情况下,例如,在控制器130将从存储器装置150读取的数据提供到主机102并将从主机102提供的数据存储在存储器装置150中的情况下,并且为此在控制器130控制存储器装置150的操作(例如读取操作、写入操作、编程操作和擦除操作)的情况下,存储器144存储允许存储器系统110(即,在控制器130和存储器装置150之间)执行这些操作所需的数据。
存储器144可以由易失性存储器实施。例如,存储器1441可以由静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)实施。此外,存储器144可以存在于控制器130内部,如图1所示。可选地,存储器144可以存在于控制器130外部,并且就此而言,可以被实施为外部易失性存储器,数据通过存储器接口从该外部易失性存储器输入到控制器130以及从控制器130输出到该外部易失性存储器。
如上所述,存储器144存储执行主机102和存储器装置150之间的数据读取和写入操作所需的数据以及执行数据读取和写入操作时的数据。为了存储这些数据,存储器144包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
处理器134响应于来自主机102的写入请求或读取请求,控制存储器系统110的一般操作,并且具体地,控制存储器装置150的编程操作或读取操作。处理器134驱动被称为闪存转换层(FTL)的固件,以控制存储器系统110的一般操作。处理器134可以由微处理器或中央处理单元(CPU)来实施。
例如,控制器130通过由微处理器或中央处理单元(CPU)实施的处理器134,在存储器装置150中执行从主机102请求的操作,即,在存储器装置150中执行与从主机102接收的命令相对应的命令操作。控制器130可以将前台操作作为诸如以下的与从主机102接收的命令相对应的命令操作来执行:与写入命令相对应的编程操作、与读取命令相对应的读取操作、与擦除命令相对应的擦除操作或者与作为设置命令的设置参数命令或设置特征命令相对应的参数设置操作。
控制器130还可以通过由微处理器或中央处理单元(CPU)实施的处理器134来执行存储器装置150的后台操作。存储器装置150的后台操作包括将存储在存储器装置150的存储块152、154和156之中的特定存储块中的数据复制到另一个特定存储块的操作(例如,垃圾收集(GC)操作)、交换存储器装置150的存储块152、154和156或存储在存储块152、154和156中的数据的操作(例如,损耗均衡(WL)操作)、将存储在控制器130中的映射数据存储在存储器装置150的存储块152、154和156中的操作(例如,映射清除操作)或者对存储器装置150执行坏块管理的操作(例如,检查和处理存储器装置150中包括的多个存储块152、154和156中的坏块的坏块管理操作)。
此外,在根据本公开实施例的存储器系统中,例如,在控制器130在存储器装置150中执行与从主机102接收的多个命令相对应的多个命令操作(例如,与多个写入命令相对应的多个编程操作、与多个读取命令相对应的多个读取操作和与多个擦除命令相对应的多个擦除操作)的情况下,在与存储器装置150中包括的多个存储器管芯耦合的多个通道(或通路)之中决定最佳通道(或通路),通过最佳通道(或通路)将从主机102接收的命令传输到相应的存储器管芯,通过最佳通道(或通路)从执行与命令相对应的命令操作的存储器管芯接收命令操作的执行结果,并且将命令操作的执行结果提供到主机102。具体地,在根据本公开实施例的存储器系统中,在从主机102接收到多个命令的情况下,在检查与存储器装置150的存储器管芯耦合的多个通道(或通路)的状态之后,决定对应于通道(或通路)的状态的最佳传输通道(或传输通路),并且通过最佳传输通道(或传输通路)将从主机102接收的多个命令传输到相应的存储器管芯。此外,在根据本公开实施例的存储器系统中,在执行与从主机102接收的多个命令相对应的命令操作之后,在存储器装置150的存储器管芯中,通过与存储器装置150的存储器管芯耦合的多个通道(或通路)之中的、与通道(或通路)的状态相对应的最佳接收通道(或接收通路),从存储器装置150的存储器管芯接收命令操作的执行结果。将从存储器装置150的存储器管芯接收的执行结果作为对从主机102接收的多个命令的响应提供到主机102。
在检查与存储器装置150中包括的多个存储器管芯耦合的多个通道(或通路)的状态(例如,通道(或通路)的忙碌状态、就绪状态、活动状态、空闲状态、正常状态或异常状态)之后,控制器130根据通道(或通路)的状态,通过最佳通道(或通路)将从主机102接收的多个命令传输到相应的存储器管芯,即,通过最佳传输通道(或传输通路)将执行与从主机102接收的多个命令相对应的命令操作的请求传输到相应的存储器管芯。响应于通过最佳传输通道(或传输通路)执行命令操作的请求,控制器130从相应的存储器管芯接收命令操作的执行结果。就此而言,控制器130根据通道(或通路)的状态,通过最佳通道(或通路),即,最佳接收通道(或接收通路),接收命令操作的执行结果。控制器130将通过最佳发送通道(或发送通路)发送的命令的描述符与通过最佳接收通道(或接收通路)接收的执行结果描述符进行匹配,然后将与从主机102接收的命令相对应的命令操作的执行结果提供到主机102。
在命令的描述符中,可以包括与命令相对应的数据信息或位置信息,例如,与写入命令或读取命令相对应的数据的地址(例如,数据的逻辑页面编号)或者数据存储的位置的地址(例如,存储器装置150的物理页面信息)等,并且可以包括命令通过哪些传输通道(或传输通路)进行传输的指示信息,例如,(传输通道(或传输通路)的标识符(例如,通道编号(或通路编号))等。在执行结果的描述符中,可以包括与执行结果相对应的数据信息或位置信息,例如,与写入命令相对应的编程操作的数据或者与读取命令相对应的读取操作的数据的地址(例如,数据的逻辑页面编号),或者执行编程操作或读取操作的位置的地址(例如,存储器装置150的物理页面信息)等,并且可以包括命令操作通过哪些通道(或通路)请求的指示信息,即,命令通过哪些传输通道(或传输通路)进行传输,例如,(例如,传输通道(或传输通路)的标识符(例如,通道编号(或通路编号))等。命令的描述符和执行结果的描述符中包括的信息,例如,数据信息、位置信息或通道(或通路)的指示信息,可以以上下文或标签的形式被包括在描述符中。
也就是说,在根据本公开实施例的存储器系统110中,从主机102接收的多个命令以及与这些命令相对应的多个命令操作的执行结果通过与存储器装置150的存储器管芯耦合的多个通道(或通路)之中的最佳通道(或通路)进行发送和接收。具体地,在根据本公开实施例的存储器系统110中,根据与存储器装置150的存储器管芯耦合的多个通道(或通路)的状态,命令待通过其传输到存储器装置150的存储器管芯的发送通道(或发送通路)与待通过其从存储器装置150的存储器管芯接收命令操作的执行结果的接收通道(或接收通路)是彼此独立地管理的。例如,根据多个通道(或通路)的状态,存储器系统110中的控制器130决定发送第一命令的发送通道(或发送通路)与接收与第一命令相对应的第一命令操作的执行结果的接收通道(或接收通路)作为多个通道(或通路)之中的最佳通道(或通路),这些最佳通道(或通路)是彼此独立的。例如,将发送通道(或发送通路)决定为第一最佳通道(或通路),将接收通道(或接收通路)决定为第一最佳通道(或通路)或次佳通道(或通路),然后通过彼此独立的最佳通道(或通路)分别执行第一命令的传输与第一命令操作的执行结果的接收。
因此,在根据本公开实施例的存储器系统110中,可以有效地使用与存储器装置150的多个存储器管芯耦合的多个通道(或通路)。具体地,由于从主机102接收的多个命令和与这些命令相对应的命令操作的执行结果是分别通过彼此独立的最佳通道(或通路)进行发送和接收的,因此可以提高存储器系统110的操作性能。虽然为了描述方便起见,在本公开的实施例中将从主机102接收的多个命令和与这些命令相对应的命令操作的执行结果是通过存储器装置150中的存储器管芯进行发送和接收的作为示例进行描述,但需要注意的是,即使在分别包括控制器130和存储器装置150的多个存储器系统中,也可以应用相同的原理,即,从主机102接收的多个命令与在各自的存储器系统中在执行与命令相对应的命令操作之后的执行结果通过各自的存储器系统的多个通道(或通路)进行发送和接收。
在下文中,将参照图2至图4详细描述根据本公开实施例的存储器系统中的存储器装置。
图2是示意性地示出根据本公开实施例的存储器装置的示例的示图,图3是示意性地示出根据本公开实施例的存储器装置中的存储块的存储器单元阵列电路的示图,图4是示意性地示出根据本公开实施例的存储器系统中的存储器装置的结构的示图。图4是示意性地示出存储器装置被实施为3维非易失性存储器装置的情况下的结构的示图。
首先,参照图2,存储器装置150包括多个存储块,例如,第零块(BLOCK0)210、第一块(BLOCK1)220、第二块(BLOCK2)230和第(N-1)块(BLOCKN-1)240。块210、220、230和240中的每一个包括多个页面,例如,2M个页面(2M PAGES)。虽然为了描述方便而描述了多个存储块中的每一个包括2M个页面,但需要注意的是,多个存储块中的每一个可以包括M个页面。页面中的每一个包括多个存储器单元,多个字线(WL)耦合到这些存储器单元。
此外,根据能够在一个存储器单元中存储或表示多个存储块的位数,存储器装置150可以包括具有由每个存储1位数据的存储器单元实施的多个页面的单层单元(SLC)存储块、具有由每个能够存储2位数据的存储器单元实施的多个页面的多层单元(MLC)存储块、具有由每个能够存储3位数据的存储器单元实施的多个页面的三层单元(TLC)存储块、具有由每个能够存储4位数据的存储器单元实施的多个页面的四层单元(QLC)存储块、具有由每个能够存储5位或更多位数据的存储器单元实施的多个页面的多层单元存储块等。
存储器装置150可以在多层单元存储块中存储比在单层单元存储块中存储更大量的数据。然而,存储器装置150通过使用单层单元存储块可以比通过使用多层单元存储块更快地处理数据。也就是说,单层单元存储块和多层单元存储块具有彼此不同的优点和缺点。由于这个事实,当需要快速数据处理时,处理器134可以控制存储器装置150,使得存储器装置150将数据编程到单层单元存储块。另一方面,当需要大量存储空间时,处理器134可以控制存储器装置150,使得存储器装置150将数据编程到多层单元存储块。因此,根据情况,处理器134可以决定待存储数据的存储块的类型。
虽然下面为了描述方便将存储器装置150由诸如闪速存储器的非易失性存储器(例如,NAND闪速存储器)来实施作为示例进行描述,但需要注意的是,存储器装置150可以被实施为诸如以下的存储器之中的任何存储器:相变存储器或相变随机存取存储器(PCRAM)、电阻式存储器或电阻式随机存取存储器(RRAM或ReRAM)、铁电存储器或铁电随机存取存储器(FRAM)和自旋转移力矩磁性存储器或自旋转移力矩磁性随机存取存储器(STT-RAM或STT-MRAM)。
存储块210、220、230和240中的每一个通过编程操作存储从主机装置102提供的数据,并且通过读取操作将所存储的数据提供到主机102。
参照图3,存储器系统110的存储器装置150中包括的多个存储块可以被实施为存储器单元阵列330,从而可以包括多个单元串340,这些单元串340分别耦合到位线BL0至BLm-1。每一列的单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联耦合在选择晶体管DST和SST之间。各个存储器单元MC0至MCn-1可以由多层单元(MLC)配置,每个多层单元存储多位的数据信息。单元串340可以分别电耦合到相应的位线BL0至BLm-1。
虽然图3示出了分别由NAND闪速存储器单元配置的存储器单元阵列330作为示例,但需要注意的是,根据本公开实施例的存储器装置150中包括的多个存储块不限于NAND闪速存储器,而是可以由NOR闪速存储器、组合至少两种类型的存储器单元的混合闪速存储器或者控制器内置到存储器芯片中的单NAND闪速存储器来实施。
存储器装置150的电压源310可以根据操作模式和待供应到形成存储器单元的块体(例如,阱区)的电压来提供待供应到各个字线的字线电压(例如,编程电压、读取电压和通过电压)。电压源310的电压生成操作可以在控制电路(未示出)的控制下执行。电压源310可以生成多个可变读取电压以生成多个读取数据,响应于控制电路的控制而选择存储器单元阵列的存储块(或扇区)之中的一个,选择所选择的存储块的字线之中的一个,并将字线电压提供到所选择的字线和未选择的字线。
存储器装置150的读取/写入电路320由控制电路控制,并且可以根据操作模式作为读出放大器或写入驱动器操作。例如,在验证/正常读取操作的情况下,读取/写入电路320可以作为读出放大器进行操作,以从存储器单元阵列读取数据。此外,在编程操作的情况下,读取/写入电路320可以根据待存储在存储器单元阵列中的数据而作为驱动位线的写入驱动器进行操作。在编程操作中,读取/写入电路320可以从缓冲器(未示出)接收待写入存储器单元阵列的数据,并且可以根据所输入的数据驱动位线。为此,读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器(PB)322、324和326,并且页面缓冲器322、324和326中的每一个中可以包括多个锁存器(未示出)。
此外,存储器装置150可以被实施为二维或三维存储器装置。具体地,如图4所示,存储器装置150可以被实施为具有三维堆叠结构的非易失性存储器装置。在存储器装置150被实施为三维结构的情况下,存储器装置150可以包括多个存储块BLK0至BLKN-1。图4是示出图1所示的存储器装置150的存储块的框图,并且存储块中的每一个可以被实施为三维结构(或垂直结构)。例如,各个存储块可以通过包括沿第一方向至第三方向(例如,x轴方向、y轴方向和z轴方向)延伸的结构而被实施为三维结构。
存储器装置150中包括的每个存储器单元阵列330可以包括沿第二方向延伸的多个NAND串NS。多个NAND串NS可以沿第一方向和第三方向设置。每个NAND串NS可以耦合到位线BL、至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚设字线DWL和公共源极线CSL,并且可以包括多个晶体管结构TS。
也就是,在存储器装置150的多个存储块之中,每个存储器单元阵列330可以耦合到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚设字线DWL和多个公共源极线CSL,并且因此可以包括多个NAND串NS。此外,在每个存储器单元阵列330中,多个NAND串NS可以耦合到一个位线BL,从而可以在一个NAND串NS中实现多个晶体管。每个NAND串NS的串选择晶体管SST可以与相应的位线BL耦合,并且每个NAND串NS的接地选择晶体管GST可以与公共源极线CSL耦合。存储器单元MC可以设置在每个NAND串NS的串选择晶体管SST和接地选择晶体管GST之间。也就是,在存储器装置150的多个存储块的每个存储器单元阵列330中,可以实现多个存储器单元。
图5是示意性地示出根据本公开实施例的在存储器系统中执行与多个命令相对应的多个命令操作的情况的示例的示图。
参照图5,存储器装置150包括多个存储器管芯,例如,存储器管芯0 610、存储器管芯1 630、存储器管芯2 650和存储器管芯3 670。存储器管芯610、630、650和670中的每一个包括多个平面。例如,存储器管芯0 610包括平面0 612、平面1 616、平面2 620和平面3624,存储器管芯1 630包括平面0 632、平面1 636、平面2 640和平面3 644,存储器管芯2650包括平面0 652、平面1 656、平面2 660和平面3 664,存储器管芯3 670包括平面0 672、平面1 676、平面2 680和平面3 684。存储器装置150中包括的存储器管芯610、630、650和670中的各个平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684包括多个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686,例如,N个块Block0、Block1、……和BlockN-1,每个块包括多个页面,例如,2M个页面,如上面参照图2所述。此外,存储器装置150包括对应于各个存储器管芯610、630、650和670的多个缓冲器,例如,对应于存储器管芯0 610的缓冲器0 628、对应于存储器管芯1 630的缓冲器1 648、对应于存储器管芯2 650的缓冲器2 668和对应于存储器管芯3 670的缓冲器3 688。
在执行与从主机102接收的多个命令相对应的命令操作的情况下,对应于命令操作的数据被存储在存储器装置150中包括的缓冲器628、648、668和688中。例如,在执行编程操作的情况下,对应于编程操作的数据被存储在缓冲器628、648、668和688中,然后被存储在存储器管芯610、630、650和670的存储块中包括的页面中。在执行读取操作的情况下,对应于读取操作的数据从存储器管芯610、630、650和670的存储块中包括的页面中读取,被存储在缓冲器628、648、668和688中,然后通过控制器130提供到主机102。
在本公开的实施例中,虽然下面为了描述方便将存储器装置150中包括的缓冲器628、648、668和688存在于各自相应的存储器管芯610、630、650和670外部作为示例进行描述,但需要注意的是,缓冲器628、648、668和688可以存在于各自相应的存储器管芯610、630、650和670内部,并且需要注意的是,缓冲器628、648、668和688可以对应于各自的存储器管芯610、630、650和670中的各个平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684,或者各个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686。进一步地,在本公开的实施例中,虽然下面为了描述方便描述了存储器装置150中包括的缓冲器628、648、668和688是如上面参照图3所描述的存储器装置150中包括的多个页面缓冲器322、324和326的示例,但需要注意的是,缓冲器628、648、668和688可以是存储器装置150中包括的多个高速缓存或多个寄存器。
图6是示出根据本公开实施例的在存储器系统中使用的超级存储块的概念的示图。
参照图6,可以看出,详细示出了根据图1所示的实施例的存储器系统110的组件之中的、存储器装置150中包括的组件。
存储器装置150包括多个存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N。
存储器装置150包括能够通过第零通道CH0输入/输出数据的第零存储器管芯DIE0以及能够通过第一通道CH1输入/输出数据的第一存储器管芯DIE1。第零通道CH0和第一通道CH1可以以交错方案输入/输出数据。
第零存储器管芯DIE0包括多个平面PLANE00和PLANE01,它们分别对应于能够通过共享第零通道CH0以交错方案输入/输出数据的多个通路WAY0和WAY1。
第一存储器管芯DIE1包括多个平面PLANE10和PLANE11,它们分别对应于能够通过共享第一通道CH1以交错方案输入/输出数据的多个通路WAY2和WAY3。
第零存储器管芯DIE0的第一平面PLANE00包括多个存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N之中的、预定数量的存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N。
第零存储器管芯DIE0的第二平面PLANE01包括多个存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N之中的、预定数量的存储块BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N。
第一存储器管芯DIE1的第一平面PLANE10包括多个存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N之中的、预定数量的存储块BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N。
第一存储器管芯DIE1的第二平面PLANE11包括多个存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N之中的、预定数量的存储块BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N。
以这种方式,存储器装置150中包括的多个存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N可以根据例如使用相同通路或相同通道的物理位置进行划分。
作为参考,虽然在图6中示出了存储器装置150中包括两个存储器管芯DIE0和DIE1,存储器管芯DIE0和DIE1中的每一个中包括两个平面PLANE00和PLANE01/PLANE10和PLANE11,以及平面PLANE00、PLANE01、PLANE10和PLANE11中的每一个中包括预定数量的存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N,但需要注意的是,这仅仅是示例。根据设计者的选择,存储器装置150中可以包括数量大于或小于两个的存储器管芯,并且每个存储器管芯中可以包括数量大于或小于两个的平面。当然,每个平面中包括的存储块的数量即预定数量可以根据设计者的选择进行不同的调整。
此外,与根据例如多个存储器管芯DIE0和DIE1或多个平面PLANE00、PLANE01、PLANE10和PLANE11的物理位置划分多个存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N的方案不同,控制器130可以使用根据存储块的同时选择和操作来划分多个存储块的方案。也就是说,控制器130可以通过对能够在多个存储块之中被同时选择的存储块进行分组从而将多个存储块划分为超级存储块,来管理通过根据物理位置进行的划分方案而被划分为不同管芯或不同平面的多个存储块。就此而言,“同时选择”可以意味着“并行选择”。
以这种方式,控制器130将多个存储块BLOCK000、BLOCK001、BLOCK002、......和BLOCK00N,BLOCK010、BLOCK011、BLOCK012、......和BLOCK01N,BLOCK100、BLOCK101、BLOCK102、......和BLOCK10N,以及BLOCK110、BLOCK111、BLOCK112、......和BLOCK11N分组为超级块的方案可以根据设计者的选择而被划分为多种方案,这里将描述三种方案。
第一种方案是通过控制器130对存储器装置150中包括的多个存储器管芯DIE0和DIE1之中的第零存储器管芯DIE0的第一平面PLANE00中的一个可选存储块BLOCK000和第二平面PLANE01中的一个可选存储块BLOCK010进行分组,来管理一个超级存储块A1。当将第一种方案应用于存储器装置150中包括的多个存储器管芯DIE0和DIE1之中的第一存储器管芯DIE1时,控制器130可以通过对第一存储器管芯DIE1的第一平面PLANE10中的一个可选存储块BLOCK100和第二平面PLANE11中的一个可选存储块BLOCK110进行分组,来管理一个超级存储块A2。
第二种方案是通过控制器130对存储器装置150中包括的多个存储器管芯DIE0和DIE1之中的第零存储器管芯DIE0的第一平面PLANE00中包括的一个可选存储块BLOCK002和第一存储器管芯DIE1的第一平面PLANE10中包括的一个可选存储块BLOCK102进行分组,来管理一个超级存储块B1。当再次应用第二种方案时,控制器130可以通过对存储器装置150中包括的多个存储器管芯DIE0和DIE1之中的第零存储器管芯DIE0的第二平面PLANE01中包括的一个可选存储块BLOCK012和第一存储器管芯DIE1的第二平面PLANE11中包括的一个可选存储块BLOCK112进行分组,来管理一个超级存储块B2。
第三种方案是通过控制器130对存储器装置150中包括的多个存储器管芯DIE0和DIE1之中的第零存储器管芯DIE0的第一平面PLANE00中包括的一个可选存储块BLOCK001、第零存储器管芯DIE0的第二平面PLANE01中包括的一个可选存储块BLOCK011、第一存储器管芯DIE1的第一平面PLANE10中包括的一个可选存储块BLOCK101以及第一存储器管芯DIE1的第二平面PLANE11中包括的一个可选存储块BLOCK111进行分组,来管理一个超级存储块C。
作为参考,能够通过被包括在超级存储块中而被同时选择的存储块可以通过交错方案,例如,通道交错方案、存储器管芯交错方案、存储器芯片交错方案或通路交错方案,而基本上被同时选择。
图7是示出根据本公开实施例的实施了分区命名空间技术的数据处理系统的示图。参照图7,数据处理系统100包括主机102和存储器系统110。由于主机102和存储器系统110中包括的组件与上述相同,因此这里将省略对其的描述。
存储器装置150中包括的多个存储块中的至少一些可以被分配作为划分为分区单元的命名空间(在下文中被称为分区命名空间(ZNS))。
分区命名空间(ZNS)是指划分为分区单元的命名空间的使用。命名空间可以表示可以被格式化为逻辑块的非易失性存储器的量(存储空间)。在应用了分区命名空间技术的存储器系统中,数据输入/输出操作的执行方式可以与一般的非易失性存储器系统不同。
例如,如图所示,主机102中运行多个应用程序APPL1、APPL2和APPL3,并且加载在存储器106中的多个应用程序APPL1、APPL2和APPL3生成数据并将所生成的数据存储在存储器系统110中。存储器106可以包括命令队列107,命令队列107将待由处理器105处理的命令排队。命令队列107可以包括控制存储器装置150的命令。例如,命令队列107可以包括诸如读取命令、编程命令、擦除命令和状态检查命令的命令。
一般的非易失性存储器系统将从耦合到存储器系统的主机102输入的数据顺序地存储在存储器装置150中。多个应用程序APPL1、APPL2和APPL3所生成的数据可以根据数据从主机102传送到存储器系统110的顺序而没有区别地存储在存储器装置150中。多个应用程序APPL1、APPL2和APPL3所生成的数据可以混合存储在用于编程数据的开放存储块中。在该过程中,控制器130生成能够链接从主机102输入的逻辑地址和指示数据在存储器装置150中存储的位置的物理地址的映射数据。此后,当主机102的多个应用程序APPL1、APPL2和APPL3请求存储器系统110中存储的数据时,控制器130可以基于映射数据将多个应用程序APPL1、APPL2和APPL3所请求的数据输出到主机。
在一般的非易失性存储器系统中,各种类型的数据或各种应用程序所生成的数据可以混合存储在一个存储块中。在这种情况下,存储在存储块中的数据的有效性(新近度(recentness))可能彼此不同并且可能难以预测。因此,在执行垃圾收集时,可能会在识别有效数据或检查数据是否有效时消耗大量资源。此外,由于可能存在与一个存储块相关联的多个应用程序,因此当对相应的存储块执行垃圾收集时,多个相应的应用程序所请求的数据输入/输出操作可能会延迟。然而,分区命名空间(ZNS)技术可以解决上述一般的非易失性存储器系统中的问题。
在分区命名空间(ZNS)技术中,在主机102中运行的多个应用程序APPL1、APPL2和APPL3可以将数据顺序地存储在分别指定给它们的区域中。每个分区可以包括主机102使用的逻辑地址系统中的预定空间以及存储器装置150中包括的多个存储块中的一些。参照图7,存储器装置150可以包括与多个应用程序(APPL1、APPL2和APPL3)312、314和316相对应的多个分区命名空间(ZNS1、ZNS2和ZNS3)322、324和326。第一应用程序(APPL1)312可以将数据存储在第一分区命名空间(ZNS1)322中,第二应用程序(APPL2)314可以将数据存储在第二分区命名空间(ZNS2)324中,第三应用程序(APPL3)316可以将数据存储在第三分区命名空间(ZNS3)326中。在这种情况下,由于第一应用程序APPL1所生成的数据顺序存储在第一分区命名空间ZNS1中包括的存储块中,因此不需要检查其他分区命名空间ZNS2和ZNS3中包括的存储块以检查有效数据。另外,在分配给第一应用程序APPL1的第一分区命名空间ZNS1的存储空间不足之前,不需要对分配给第一分区命名空间ZNS1的存储块执行垃圾收集。由此,可以提高存储器装置150的垃圾收集效率,并且可以降低存储器装置150的垃圾收集频率。这可以使指示存储器装置150中的写入量被放大的程度的写入放大因子(WAF)减小,并且可以增加存储器装置150的寿命。在应用了分区命名空间(ZNS)技术的存储器系统110中,可以减少存储器装置150中的媒介过度供应(media over-provisioning),并且可以降低易失性存储器144(参见图1)的使用率。此外,随着数据处理量和数据传输/接收量的减少,可以减少存储器系统110中发生的开销。由此,可以提高存储器系统110的数据输入/输出操作的性能。
根据实施例,在主机102中运行的多个应用程序APPL1、APPL2和APPL3可以分别被分配有不同的分区命名空间(ZNS)。在另一实施例中,在主机102中运行的多个相应的应用程序APPL1、APPL2和APPL3可以一起使用特定的分区命名空间(ZNS)。在又一实施例中,在主机102中运行的多个应用程序APPL1、APPL2和APPL3中的每一个可以被分配有多个分区命名空间(ZNS),从而可以使用与待存储在存储器系统110中的数据的特性相对应的多个分配的分区命名空间(ZNS)。例如,当第一应用程序APPL1被分配有第一分区命名空间ZNS1和第二分区命名空间ZNS2时,第一应用程序APPL1可以将热数据(例如,访问频繁或有效周期(更新周期)较短的数据)存储在第一分区命名空间ZNS1中,可以将冷数据(例如,访问不频繁或有效周期(更新周期)较长的数据)存储在第二分区命名空间ZNS2中。
根据实施例,控制器130可以将存储器装置150中包括的所有存储块均等地分配给多个分区命名空间。在这种情况下,分配给分区命名空间的多个存储块可以包括存储数据的存储块和未存储数据的空闲存储块。
此外,根据实施例,控制器130可以仅分配存储器装置150中包括的所有存储块之中、与每个分区命名空间所需的存储空间相对应的一些存储块。当根据垃圾收集释放存储块的分配时,存储器装置150中包括的一些存储块可以保持它们没有被分配给任何分区命名空间的状态。如果需要,控制器130可以根据外部装置的请求或者在执行输入/输出操作的过程中将未分配的存储块另外分配给分区命名空间。
图8是示出根据本公开实施例的包括支持划分为分区单元的命名空间的非易失性存储器装置的存储器系统的示图。
参照图8,在主机102(参见图1)中运行的多个应用程序312、314和316可以请求控制器130使用分区命名空间(ZNS)执行数据输入/输出操作。根据主机102根据分区命名空间进行存储器分配的请求,控制器130可以将存储器装置150中包括的多个存储块分配给三个分区命名空间322、324和326,其方式是在每个分区命名空间中识别的分区对应于存储器装置150的擦除单元。
分区命名空间可以包括一个或多个分区。主机102所识别的每个分区可以对应于存储器装置150的每个擦除单元,并且擦除单元可以是图6的超级块。
例如,在描述分配给第一分区命名空间322的存储块322_1时,存储块322_1可以是擦除单元,并且可以对应于第一分区命名空间322的第一分区zone#0。应用程序(APPL1)312可以使用第一分区命名空间322的第一分区zone#0,并且与第一应用程序(APPL1)312相关联的数据可以顺序地存储在第一分区zone#0中。通过将分区命名空间划分为多个分区并将数据顺序地存储在多个分区中的每一个中,可以更快、更有效地使用存储器装置150,并且减小主机102所使用的逻辑地址系统与存储器装置150中的物理地址系统之间的差异。第一应用程序(APPL1)312可以分配设置在第一分区命名空间322中的第一分区zone#0的逻辑地址,以在逻辑地址系统中生成数据。这种数据可以顺序地存储在分配给第一应用程序(APPL1)312的存储块322_1中。
多个应用程序312、314和316可以使用分配给它们的各自的分区zone#0、zone#1、zone#2、......和zone#n。如上参照图7所述,根据实施例,可以将多个分区分配给一个应用程序,或者多个应用程序可以共享一个分区。此外,在分区命名空间322、324和326中的每一个中,可以预先分配逻辑地址系统中的、多个应用程序312、314和316所请求的分区。多个应用程序312、314和316中的每一个都可以不使用未分配给它们的分区zone#0、zone#1、zone#2、......和zone#n。也就是,预先分配给特定分区的逻辑地址可以不被使用另一个分区的另一个应用程序使用。通过这种方式,可以防止各种应用程序所生成的数据混杂地存储在传统的非易失性存储器装置的存储块中。
当使用分区命名空间技术时,在逻辑地址系统和物理地址系统中,可以将逻辑地址和物理地址顺序地分配给应用程序所生成的数据,并且可以以分区为单位执行垃圾收集,从而可以容易地执行垃圾收集。根据实施例,主机102可以改变分配给分区zone#0、zone#1、zone#2、......和zone#n的存储空间,并且可以另外分配存储器装置150中未分配给分区命名空间322、324和326的存储块。
图9是示出根据本公开实施例的主机使用分区命名空间执行垃圾收集的方法的示图。如上所述,主机102可以以分区为单位执行垃圾收集。参照图9,与第一应用程序(APPL1)312相对应的数据被分配给第一分区命名空间322的第一分区332,与第二应用程序(APPL2)314相对应的数据被分配给第一分区命名空间322的第二分区334,并且数据尚未被分配给第一分区命名空间322的第三分区335。
当主机102使用分区命名空间执行垃圾收集时,可以以分区为单位执行垃圾收集。例如,可以选择第一分区332作为牺牲分区,并且可以选择待从牺牲分区332移动到目标分区的有效数据。当选择第三分区335作为待将数据从牺牲分区移动到的目标分区时,控制器130可以从第一分区332读取数据,将读取数据存储在存储器144中,然后将所存储的数据传输到主机102,主机102可以将所传输的数据存储在存储器106中。
接收到待移动到目标分区的数据的主机102可以向控制器130传输写入命令以及待移动到目标分区的数据,并且还可以传输关于第三分区335或数据待移动到的目标分区的信息。接收到待移动到目标分区的数据的控制器130可以将接收到的数据存储在存储器144中,可以将数据编程到第三分区335或目标分区,可以擦除存储在第一分区332中的数据,从而可以选择第一分区332作为空闲分区。
如上所述,在主机102执行的基于主机的垃圾收集的情况下,由于数据被传输到主机102,然后从主机102传输到存储器系统110,因此需要数据传输时间。此外,当主机102正在执行另一操作时,可分配给垃圾收集的时间减少,因此可能需要大量时间来执行垃圾收集。
图10是示出根据本公开实施例的应用了分区命名空间技术的数据处理系统100中的垃圾收集方法的示图。
当主机102正在执行另一操作时,可能会分配较少的时间给垃圾收集,因此,主机102可以首先确定是否可以执行垃圾收集。为了确定主机102的负载,主机102可以检查在命令队列107中排队的、用于控制存储器系统110的命令的数量,或者可以将占用时间量和输入/输出(IO)待机时间量进行比较,从而可以决定是由主机102执行基于主机的垃圾收集还是向存储器系统110请求垃圾收集。占用时间量是主机102的进程占用处理器105的时间量。IO待机时间量是主机102等待(stand by)向/从存储器系统110输入/输出的时间量。
例如,当在命令队列107中排队的用于控制存储器系统110的命令(例如,读取命令、编程命令和擦除命令)的数量超过阈值时,主机102可以确定存储器系统110不适合执行垃圾收集并且可以决定主机102自行执行垃圾收集。当用于控制存储器系统110的命令的数量等于或小于阈值时,主机102可以决定存储器系统110而不是主机102应该执行垃圾收集。根据本公开的实施例,主机102可以以预定时间间隔比较占用时间量和IO待机时间量。当占用时间量与IO待机时间量之间的差超过阈值时,主机102可以不执行垃圾收集,而是可以向存储器系统110请求垃圾收集。
当主机102决定不执行垃圾收集时,主机102可以选择牺牲分区和目标分区。再次以上述参照图9的情况作为示例,主机102可以选择第一分区命名空间322的第一分区332作为牺牲分区,并且可以选择第三分区335作为目标分区。
主机102可以收集关于待从牺牲分区332移动到目标分区335的有效数据的逻辑块地址的信息,并且可以向存储器系统110传输垃圾收集请求,该垃圾收集请求包括关于牺牲分区332和目标分区335的信息以及关于作为垃圾收集的目标的有效数据的逻辑块地址的信息。
存储器系统110可以接收垃圾收集请求,可以通过使用关于有效数据的逻辑块地址的信息从牺牲分区332收集有效数据,可以将相应的数据移动到目标分区335,可以擦除牺牲分区332的数据,然后可以通知主机102垃圾收集完成。由于作为垃圾收集的目标的有效数据顺序地移动到目标分区335并且地址由主机102计算,因此完成通知可以不包括垃圾收集完成报告之外的信息。
根据以上参照图10描述的方法,主机102可以通过确定主机102的负载来决定主机102将直接执行垃圾收集还是存储器系统110将执行垃圾收集。当主机102的负载较大时,主机102可以请求存储器系统110执行垃圾收集,从而减少垃圾收集所需的时间。另外,由于存储器系统110不将作为垃圾收集的目标的数据传输到主机102,因此数据传输所需的时间也可以减少。
图11是示出根据本公开实施例的应用了分区命名空间技术的数据处理系统100中的垃圾收集方法的流程图。参照图11,在操作S1110,主机102可以确定主机102的状态以获得分区命名空间中的空闲分区。由于主机102可能没有空闲分区或空闲分区不足,或者可能处于需要预先获得空闲分区的情况,根据主机102的状态,主机102可以决定主机102是将直接执行垃圾收集还是将向存储器系统110请求垃圾收集。主机102可以决定主机102的当前状态是处理器绑定状态(processor-bound status)还是输入/输出(IO)绑定状态,并且可以根据决定结果执行垃圾收集。处理器绑定状态是指以下状态:主机102为处理器105的进程分配的资源多于为去往/来自存储器系统110输入/输出分配的资源,并且占用处理器105的时间量多于占用去往/来自存储器系统110输入/输出的时间量。IO绑定状态是指以下状态:主机102为去往/来自存储器系统110的输入/输出分配的资源多于为处理器105的进程分配的资源,并且针对去往/来自存储器系统105输入/输出占用的时间量多于针对处理器105的进程占用的时间量。
当确定主机102的状态是处理器绑定状态时,主机102可以进行到操作S1120,并且当确定主机102的状态是IO绑定状态时,主机102可以进行到操作S1160。在实施例中,主机102可以利用在命令队列107中排队的命令的数量来确定主机102的状态。例如,当命令队列107中包括的用于控制存储器系统110的命令的数量超过阈值时,主机102可以确定主机102的状态是IO绑定状态。在另一实施例中,主机102可以通过比较占用时间量和IO待机时间量来确定主机102的状态。也就是说,主机102可以在占用时间量与IO待机时间量之间的差超过预设阈值时将主机102的状态确定为处理器绑定状态,并且可以在差未超过预设阈值时将主机102的状态确定为IO绑定状态。
在操作S1120,主机102可以选择用于垃圾收集的牺牲分区和数据待从牺牲分区移动到的目标分区。牺牲分区可以是指存储待执行垃圾收集的有效数据的分区,目标分区可以是指有效数据待从牺牲分区移动到的分区。
在操作S1130,主机102可以收集关于存储在牺牲分区中的有效数据的信息。在实施例中,关于有效数据的信息可以是逻辑块地址(LBA)。
在操作S1140,主机102可以向控制器130传输垃圾收集请求,并且可以请求控制器130执行垃圾收集,该垃圾收集请求包括关于牺牲分区的信息、关于作为垃圾收集的目标的有效数据的信息以及关于有效数据待移动到的目标分区的信息。也就是说,主机102可以通过向存储器系统110请求垃圾收集来减少主机102的处理器105的负载。
在操作S1150,控制器130可以从主机102接收垃圾收集请求,并且可以通过使用垃圾收集请求中包括的关于牺牲分区的信息、关于有效数据的信息和关于目标分区的信息将有效数据移动到目标分区。当垃圾收集操作执行完成时,控制器130可以通知主机102垃圾收集完成。
当在操作S1110主机102确定主机102的状态是IO绑定状态时,在操作S1160,主机102可以执行待由图10的主机102执行的基于主机的垃圾收集。
图12是示出根据本公开实施例的用于决定执行垃圾收集的主题的方法的流程图,并且是详细示出图11的操作S1110的示图。
参照图12,在操作S1111,主机102可以检查在命令队列107中排队的用于控制存储器系统110的命令的数量。
在操作S1112,主机102可以确定在操作S1111检查的命令的数量是否等于或小于阈值。当命令的数量等于或小于阈值(操作S1112的“是”)时,主机102可以向存储器系统110请求垃圾收集(操作S1113)。
当检查的命令数量超过阈值(操作S1112的“否”)时,主机102可以决定执行基于主机的垃圾收集(操作S1114)。
尽管在本流程图中未示出,但是根据本公开的实施例,主机102可以在操作S1111检查在命令队列107中排队的用于控制存储器系统110的命令之外的命令的数量,并且在操作S1112,主机102可以确定在操作S1111检查的命令的数量是否等于或小于阈值,并且可以在命令的数量等于或小于阈值时决定执行基于主机的垃圾收集。当检查的命令数量超过阈值时,主机102可以决定向存储器装置150请求垃圾收集。
图13是示出根据本公开实施例的用于决定执行垃圾收集的主题的方法的流程图。类似于图12,图13是详细示出图11的操作S1110的示图。
参照图13,在操作S1111,主机102可以检查占用时间量和IO待机时间量。当通过从占用时间量中减去IO待机时间量而获得的值超过阈值(操作S1112的“是”)时,主机102可以向存储器系统110请求垃圾收集(操作S1113),而当该值等于或小于阈值(操作S1112的“否”)时,主机102可以决定执行基于主机的垃圾收集并且可以直接执行垃圾收集(操作S1114)。
图14是示出根据本公开实施例的主机102将垃圾收集请求传输到存储器系统110的控制器130的过程的流程图。
在操作S1410,主机102可以选择用于垃圾收集的牺牲分区和作为垃圾收集目标的有效数据待移动到的分区的目标分区,并且在操作S1420,主机102可以收集关于存储在牺牲分区中的、作为垃圾收集目标的有效数据的信息。在实施例中,关于有效数据的信息可以是逻辑块地址。
当收集到关于有效数据的信息时,主机102可以将关于作为垃圾收集数据待移动到的位置的目标分区的信息、关于牺牲分区的信息和关于有效数据的信息传输到控制器130,并且可以传输垃圾收集请求,该垃圾收集请求指示使用所传输的信息来执行垃圾收集(操作S1430)。
接收到垃圾收集请求以及伴随垃圾收集请求的关于牺牲分区的信息、关于目标分区的信息和关于有效数据的信息的控制器130可以通过使用关于牺牲分区的信息和关于有效数据的信息来读取牺牲分区中的有效数据,然后可以将所读取的有效数据移动到目标分区(操作S1440)。例如,控制器130可以使用从主机102传输的关于逻辑块地址(LBA)的信息来读取牺牲分区的数据,并且可以将所读取的数据移动到目标分区。
当垃圾收集操作完成时,控制器130可以通知主机102垃圾收集完成(操作S1450)。
图15是示出根据本公开实施例的执行向存储器系统110请求的垃圾收集的过程的示例的示图。参照图15,主机102可以决定第二分区zone#1作为牺牲分区,可以选择待从牺牲分区移动的有效数据,并且可以收集有效数据的逻辑块地址(LBA)。主机102可以决定第十分区zone#9作为有效数据待移动到的目标分区,并且可以将包括关于牺牲分区、目标分区和有效数据的信息的垃圾收集请求传送到存储器系统110。
接收到垃圾收集请求的控制器130可以通过使用从主机102接收的关于牺牲分区、目标分区和有效数据的信息,读取与被决定为牺牲分区的第二分区zone#1相对应的擦除单元中的作为垃圾收集目标的有效数据,并且可以将在擦除单元中读取的有效数据移动到作为目标分区的第十分区zone#9。
尽管已经出于说明的目的描述了各个实施例,但对于本领域技术人员显而易见的是,在不脱离所附权利要求书所定义的本公开的精神和范围的情况下,可以进行各种改变和修改。此外,可以对实施例进行组合,以形成另外的实施例。

Claims (20)

1.一种数据处理系统,包括:
主机,包括处理器和易失性存储器,并且将数据顺序地分配给分区命名空间的多个分区;以及
存储器系统,包括:
存储器装置,包括多个存储块;以及
控制器,将所述多个存储块分配给所述分区命名空间的各个分区,并且根据与数据输入/输出请求一起从所述主机输入的分区的地址来访问分配给所述多个分区中的一个分区的存储块,
其中所述主机进一步根据所述主机的负载水平,向所述控制器请求垃圾收集或执行基于主机的垃圾收集。
2.根据权利要求1所述的数据处理系统,其中所述主机进一步基于存储器系统控制命令的数量或所述主机的进程占用所述处理器的占用时间量来确定所述负载水平。
3.根据权利要求2所述的数据处理系统,
其中所述易失性存储器包括命令队列,并且
其中所述主机在所述命令队列中包括的存储器系统控制命令的数量等于或小于阈值时向所述控制器请求垃圾收集,并且在所述存储器系统控制命令的数量超过所述阈值时执行所述基于主机的垃圾收集。
4.根据权利要求2所述的数据处理系统,
其中所述主机进一步将所述占用时间量与所述处理器对于所述存储器系统的输入/输出待机时间量即IO待机时间量进行比较,并且
其中所述主机在所述占用时间量与所述IO待机时间量之间的差超过阈值时向所述控制器请求所述垃圾收集,并且在所述差等于或小于所述阈值时执行所述基于主机的垃圾收集。
5.根据权利要求1所述的数据处理系统,其中所述主机通过向所述控制器提供关于牺牲分区、目标分区以及待从所述牺牲分区移动到所述目标分区的有效数据的信息来向所述控制器请求所述垃圾收集。
6.根据权利要求5所述的数据处理系统,其中响应于所述请求,所述控制器进一步根据所述信息针对所述有效数据来对所述牺牲分区和所述目标分区执行垃圾收集操作。
7.根据权利要求6所述的数据处理系统,其中被分配为对应于所述牺牲分区的存储块以擦除单元来配置。
8.根据权利要求7所述的数据处理系统,其中所述擦除单元是超级块。
9.根据权利要求7所述的数据处理系统,其中所述分区命名空间包括多个分区,所述多个分区对应于多个擦除单元并包括所述牺牲分区和所述目标分区,并且所述控制器针对对应于所述牺牲分区和所述目标分区的擦除单元来执行垃圾收集。
10.一种操作数据处理系统的方法,包括:
由包括处理器和易失性存储器的主机将数据顺序地分配给分区命名空间的多个分区;
由控制器将存储器装置的多个存储块分配给所述分区命名空间的各个分区;
由所述控制器根据与数据输入/输出请求一起从所述主机输入的分区的地址来访问分配给所述多个分区之中的一个分区的存储块;并且
根据所述主机的负载水平,由所述主机向所述控制器请求垃圾收集或执行基于主机的垃圾收集。
11.根据权利要求10所述的方法,进一步包括:由所述主机基于存储器系统控制命令的数量或所述主机的进程占用所述处理器的占用时间量来确定所述负载水平。
12.根据权利要求11所述的方法,
其中当所述主机内的命令队列中包括的存储器系统控制命令的数量等于或小于阈值时,向所述控制器请求所述垃圾收集,并且
其中当所述存储器系统控制命令的数量超过所述阈值时,执行所述基于主机的垃圾收集。
13.根据权利要求11所述的方法,
进一步包括:由主机将所述占用时间量与所述处理器对于所述存储器系统的输入/输出待机时间量即IO待机时间量进行比较,
其中当所述占用时间量与所述IO待机时间量之间的差超过阈值时,向所述控制器请求所述垃圾收集,并且
其中当所述差等于或小于所述阈值时,执行所述基于主机的垃圾收集。
14.根据权利要求10所述的方法,其中请求所述垃圾收集包括向所述控制器提供关于牺牲分区、目标分区以及待从所述牺牲分区移动到所述目标分区的有效数据的信息。
15.根据权利要求14所述的方法,进一步包括:由所述控制器响应于所述请求,根据所述信息,针对所述有效数据来对所述牺牲分区和所述目标分区执行垃圾收集操作。
16.根据权利要求15所述的方法,其中被分配为对应于所述牺牲分区的存储块以擦除单元来配置。
17.根据权利要求16所述的方法,其中所述擦除单元是超级块。
18.根据权利要求16所述的方法,其中所述分区命名空间包括多个分区,所述多个分区对应于多个擦除单元并包括所述牺牲分区和所述目标分区,并且所述控制器针对对应于所述牺牲分区和所述目标分区的擦除单元来执行垃圾收集。
19.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
控制器:
将所述多个存储块分配给分区命名空间的各个分区,
根据与数据输入/输出请求一起输入的分区的地址来访问分配给所述多个分区中的一个分区的存储块,并且
响应于来自主机的垃圾收集请求而执行垃圾收集操作。
20.根据权利要求19所述的存储器系统,
其中所述请求包括关于牺牲分区、目标分区以及待从所述牺牲分区移动到所述目标分区的有效数据的信息,并且
其中所述控制器进一步响应于所述请求,根据所述信息针对所述有效数据来对所述牺牲分区和所述目标分区执行垃圾收集操作。
CN202210404324.6A 2021-06-30 2022-04-18 数据处理系统及其操作方法 Withdrawn CN115543860A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210085878A KR20230004075A (ko) 2021-06-30 2021-06-30 데이터 처리 시스템 및 그 동작 방법
KR10-2021-0085878 2021-06-30

Publications (1)

Publication Number Publication Date
CN115543860A true CN115543860A (zh) 2022-12-30

Family

ID=84723500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210404324.6A Withdrawn CN115543860A (zh) 2021-06-30 2022-04-18 数据处理系统及其操作方法

Country Status (3)

Country Link
US (1) US20230004325A1 (zh)
KR (1) KR20230004075A (zh)
CN (1) CN115543860A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681706B2 (en) * 2021-07-13 2023-06-20 SK Hynix Inc. System and method for accelerated data search of database storage system
WO2024191737A1 (en) * 2023-03-16 2024-09-19 Micron Technology, Inc. Configuring erase blocks coupled to a same string as zones

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10445229B1 (en) * 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
KR102053865B1 (ko) * 2013-03-15 2019-12-09 삼성전자주식회사 호스트-주도 가비지 컬렉션 방법과 상기 방법을 수행할 수 있는 시스템
US11669272B2 (en) * 2019-05-31 2023-06-06 Micron Technology, Inc. Predictive data transfer based on availability of media units in memory sub-systems
US10824339B1 (en) * 2019-06-25 2020-11-03 Amazon Technologies, Inc. Snapshot-based garbage collection in an on-demand code execution system
US11550711B2 (en) * 2019-09-09 2023-01-10 Micron Technology, Inc. Dynamically adjusted garbage collection workload
KR20210108107A (ko) * 2020-02-25 2021-09-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US20220300195A1 (en) * 2021-03-22 2022-09-22 Micron Technology, Inc. Supporting multiple active regions in memory devices
US20210216239A1 (en) * 2021-03-27 2021-07-15 Intel Corporation Host controlled garbage collection in a solid state drive
US11543993B1 (en) * 2021-06-17 2023-01-03 Western Digital Technologies, Inc. Fast garbage collection in zoned namespaces SSDs

Also Published As

Publication number Publication date
KR20230004075A (ko) 2023-01-06
US20230004325A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
CN111240586B (zh) 存储器系统及其操作方法
CN110858180B (zh) 数据处理系统及其操作方法
KR102533072B1 (ko) 블록의 상태에 따라 사용 여부를 결정하는 메모리 시스템 및 메모리 시스템의 동작 방법
US10073622B2 (en) Memory system and operation method thereof
CN109426449B (zh) 存储器系统及其操作方法
KR102524432B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US11675543B2 (en) Apparatus and method for processing data in memory system
KR20190106228A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR102559528B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR102517681B1 (ko) 메모리 시스템 및 그것의 동작방법
KR20200011831A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR102495539B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR102571629B1 (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR20190040614A (ko) 메모리 시스템 및 그의 동작방법
KR102692901B1 (ko) 메모리 시스템에서의 비휘발성 메모리 블록 내 데이터를 삭제하는 방법 및 장치
CN110928805B (zh) 存储器系统及其操作方法
KR102559549B1 (ko) 메모리 시스템에서의 블록 상태를 관리하는 방법 및 장치
KR20200074647A (ko) 메모리 시스템 및 그것의 동작방법
CN115543860A (zh) 数据处理系统及其操作方法
KR20200068944A (ko) 메모리 시스템 및 그것의 동작방법
KR20180094724A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR20190083862A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR20190083517A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
KR102422032B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20200064567A (ko) 데이터 처리 시스템 및 그것의 동작방법

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20221230