CN116069239A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN116069239A CN116069239A CN202210793617.8A CN202210793617A CN116069239A CN 116069239 A CN116069239 A CN 116069239A CN 202210793617 A CN202210793617 A CN 202210793617A CN 116069239 A CN116069239 A CN 116069239A
- Authority
- CN
- China
- Prior art keywords
- zns
- block
- controller
- memory
- 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.)
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- 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
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Abstract
本公开涉及一种存储装置,该存储装置可以包括:储存器,包括多个管芯并且被配置为向主机装置提供默认ZNS(分区命名空间)大小,多个管芯中的每个管芯具有多个存储块;以及控制器,被配置为响应于包括所需ZNS大小并且由主机装置提供的ZNS生成请求信号,通过从多个管芯中选择与所需ZNS大小相对应的一个或多个存储块以将所选择的存储块分配给ZNS来生成ZNS。
Description
相关申请的交叉引用
本申请要求于2021年11月4日提交的、申请号为10-2021-0150388的韩国申请的优先权,该韩国申请通过引用整体并入本文。
技术领域
本公开的各个实施例涉及一种半导体集成装置,更具体地,涉及一种存储装置及其操作方法。
背景技术
存储装置联接到主机装置,并且根据来自主机装置的请求执行数据输入/输出操作。
随着AI(人工智能)和大数据相关产业的发展,对高性能数据中心或个人计算装置的研究正在积极进行。高性能计算装置可以被实施为通过使用表示存储装置的硬件池来驱动多个操作系统和/或应用程序。
需要一种能够在多租户计算装置中的多个应用程序之中无干扰地提供高性能的方法。
发明内容
在本公开的实施例中,一种存储装置可以包括:储存器,包括多个管芯并且被配置为向主机装置提供默认ZNS(分区命名空间,Zoned Name Space)大小,多个管芯中的每个管芯具有多个存储块;以及控制器,被配置为响应于包括所需ZNS大小并且由主机装置提供的ZNS生成请求信号,通过从多个管芯中选择与所需ZNS大小相对应的一个或多个存储块以将所选择的存储块分配给ZNS来生成ZNS。
在本公开的实施例中,一种存储装置可以包括:储存器,包括多个存储块;以及控制器,被配置为收集多个存储块以生成具有主机装置请求的大小的分区命名空间(ZNS),并且基于主机装置提供的写入数据的大小来调整所生成的ZNS的大小。
在本公开的实施例中,一种存储装置的操作方法可以包括:由控制器将默认分区命名空间(ZNS)大小传输到主机装置,控制器用于控制包括多个管芯的储存器,多个管芯中的每个管芯具有多个存储块;由控制器从主机装置接收包括所需ZNS大小的ZNS生成请求信号;并且由控制器通过从多个管芯中选择与所需ZNS大小相对应的一个或多个存储块并且将所选择的存储块分配给ZNS来生成ZNS。
在本公开的实施例中,一种控制器的操作方法可以包括:将一个或多个空存储介质分配给分区命名空间(ZNS),分区命名空间(ZNS)以存储介质为单位进行配置;并且控制存储器装置对ZNS执行操作,其中该空存储介质根据管芯交错方案和通道交错方案中的一种方案来分配,并且该操作包括待以存储介质为单位执行的擦除操作。
附图说明
图1是示出根据本公开的实施例的数据处理系统的配置示图。
图2是示出根据本公开的实施例的控制器的配置示图。
图3是用于描述根据本公开的实施例的ZNS(Zoned NameSpace,分区命名空间)管理单元的示图。
图4是示出根据本公开的实施例的储存器的配置示图。
图5是用于描述根据本公开的实施例的每个ZNS的块池的示图。
图6示出根据本公开的实施例的位图表。
图7是用于描述根据本公开的实施例的存储装置的操作方法的流程图。
图8是用于描述根据本公开的实施例的存储装置的操作方法的流程图。
图9是用于描述根据本公开的实施例的存储装置的操作方法的流程图。
图10是示出根据本公开的实施例的数据存储系统的示图。
图11和图12是示出根据本公开的实施例的数据处理系统的示图。
图13是示出包括根据本公开的实施例的数据存储装置的网络系统的示图。
图14是示出根据本公开的实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
在下文中,将参照附图更详细地描述本公开的实施例。
图1是示出根据本公开的实施例的数据处理系统的配置示图。
参照图1,数据处理系统100可以包括主机装置110和存储装置120。
主机装置110的示例包括诸如移动电话和MP3播放器的便携式电子装置,诸如膝上型计算机、台式计算机、游戏机、TV和光束投影仪的个人电子装置,或者诸如用于处理大数据的工作站或服务器的电子装置。主机装置110可以作为存储装置120的主设备。
存储装置120被配置为响应于来自主机装置110的请求而操作。存储装置120被配置为存储主机装置110访问的数据。也就是说,存储装置120可以用作主机装置110的主存储器装置或辅助存储器装置中的至少一个。存储装置120可以包括控制器130和储存器140。
控制器130可以作为储存器140的主设备。控制器130和储存器140可以以存储卡或SSD(固态驱动器)的形式集成,存储卡或SSD(固态驱动器)通过各种接口联接到主机装置110。
控制器130被配置为响应于来自主机装置110的请求,控制储存器140。例如,控制器130被配置为向主机装置110提供从储存器140读取的数据或将主机装置110提供的数据存储在储存器140中。对于这样的操作,控制器130被配置为控制储存器140的读取操作、编程操作(或写入操作)和擦除操作。
储存器140可以通过一个或多个通道CH0至CHn联接到控制器130,并且包括一个或多个非易失性存储器装置NVM00至NVM0k和NVMn0至NVMnk。在实施例中,非易失性存储器装置NVM00至NVM0k和NVMn0至NVMnk可以分别被配置为诸如以下的各种类型的非易失性存储器装置中的一个或多个:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的FRAM(铁电随机存取存储器)、使用TMR(隧穿磁阻)层的MRAM(磁性随机存取存储器)、使用硫族化物合金的PRAM(相变随机存取存储器)和使用过渡金属氧化物的ReRAM(电阻式随机存取存储器)。
非易失性存储器装置NVM00至NVM0k和NVMn0至NVMnk分别可以包括多个管芯以及多个管芯中的每一个中包括的一个或多个平面。平面中的每一个可以包括多个存储块,并且多个存储块中的每一个可以是一组页面或扇区。在下文中,存储块将被称为“块”。
构成每个页面的存储器单元可以分别作为能够在其中存储1位数据的SLC(单层单元)或能够在其中存储2位或更多位数据的MLC(多层单元)来操作。
非易失性存储器装置NVM00至NVM0k和NVMn0至NVMnk可以分别被配置为作为SLC存储器装置或MLC存储器装置操作。可选地,非易失性存储器装置NVM00至NVM0k和NVMn0至NVMnk中的一些非易失性存储器装置可以分别被配置为作为SLC存储器装置操作,而非易失性存储器装置NVM00至NVM0k和NVMn0至NVMnk中的其他非易失性存储器装置可以分别被配置为作为MLC存储器装置操作。
在实施例中,控制器130可以响应于来自主机装置的ZNS分配请求或分区分配请求,将多个块划分为多个组并且将这些组作为ZNS(分区命名空间)进行管理。可以分别针对应用程序在逻辑上和物理上划分ZNS。
ZNS可以指示在逻辑上和物理上进行划分的数据存储区域,并且多个应用可以依次将数据(文件)编程到分配的各个ZNS中。在不同的实施例中,反映与各个分区相对应的应用程序的特性的某些类型的数据可以依次存储在区域中,并且可以以与区域相等或不同的单位擦除ZNS。也就是说,可以基于ZNS或者以构成ZNS的块为单位擦除ZNS。
当ZNS被分配为具有相同大小且待存储的数据的大小大于ZNS时,需要分配两个或多个ZNS并且对其进行集中管理。
假设将删除或更正存储在一个ZNS中的任意一个文件,而大小相同或不同的两个或多个文件存储在相应的ZNS中。当数据被设置为仅基于ZNS擦除时,会消耗用于处理不被删除或更正的文件的时间/空间资源。
由于主机装置110所管理的文件的大小是多样化的,因此调整文件大小和ZNS大小之间的差异可能会产生开销并且导致空间效率低下。例如,当文件大小大于ZNS大小时,另外需要根据ZNS大小对文件进行拆分并且存储拆分后的文件的过程以及在读取操作或其他操作期间合并拆分后的文件的过程,因而会产生开销。当文件的大小小于ZNS大小时,与文件存储在ZNS中之后剩余的区域相对应的空间被浪费。为了防止空间浪费,主机装置110需要根据剩余区域的大小来对文件进行拆分。这样的附加过程需要由主机装置110承担。因此,有必要通过有效地使用支持ZNS的储存器140来将开销和空间的浪费最小化。
根据实施例的控制器130可以将默认ZNS单位(即,ZNS的默认单位)定义为储存器140的单个块或最小擦除单位,并且将默认ZNS大小(即,默认ZNS单位的大小)定义为单个块或最小擦除单位的大小。
当初始化存储装置120时,控制器130可以向主机装置110提供默认ZNS大小和构成储存器140的块之中的、可用于ZNS的空闲块的数量。空闲块的可用数量可以被称为最大分配值。空闲块表示被完全擦除从而可以立即被分配以存储数据的块,并且可以被称为空块。
当需要ZNS分配时,主机装置110可以向控制器130传输待分配的ZNS的所需大小,即,所需ZNS大小。当储存器140内的空闲块的数量即最大分配值是Q时,显然主机装置110可以将所需ZNS大小作为等于或小于Q的自然值进行传输。
因此,控制器130可以根据主机装置110请求的ZNS大小来分配ZNS。因此,主机装置110可以利用具有足以在其中存储各种大小的文件的动态可变存储容量的ZNS。
在实施例中,一个ZNS中包括的块可以被分配以通过管芯交错或通道交错方法同时被访问。为了通过管芯交错方法操作储存器140,控制器130可以以通过将管芯从下一个管芯轮换到最后分配的块所属的管芯的轮询方式(round-robin manner)分配必要数量的块。然而,本实施例不限于此。
在实施例中,当与来自主机装置110的写入请求相对应的数据的大小大于待存储数据的ZNS的剩余(空闲)空间的大小时,控制器130可以通过基于剩余ZNS的大小和与写入请求相对应的数据的大小为ZNS额外分配块来扩展ZNS。
由于储存器140的寿命增加的问题,构成ZNS的块中存储的数据可能被扰乱,或者可能出现坏块。这种块中存储的有效数据需要迁移到正常块中,并且需要刷新或读取回收。当需要在ZNS内替换坏块时,控制器130可以基于块而不是基于ZNS对ZNS执行替换操作。也就是说,控制器130可以在ZNS内替换坏块而不是替换整个ZNS。因此,可以减少开销和存储空间的浪费。
在替换操作期间,可以选择替换坏块的目标块,从而可以通过管芯交错或通道交错方法访问ZNS。
当待生成新的ZNS、待向生成的ZNS添加块或待替换块时,可以选择空闲块。
为了区分空闲块和已经分配给ZNS或正在使用的块,控制器130可以将用于存储主机装置110的数据(用户数据)的所有存储块的状态作为位图表来管理。在实施例中,控制器130可以通过将具有第一逻辑等级(例如,0)的数据分配给空闲块并且将具有第二逻辑等级(例如,1)的数据分配给坏块或使用中的块来对空闲块进行排序。
在基于ZNS的存储装置中,主机装置110提供的数据的大小可以是可变的。因此,可以根据数据大小容易且快速地分配ZNS,并且生成的ZNS的大小可以变化,这使得可以有效地使用储存器140。此外,可以基于ZNS或以构成ZNS的块为单位擦除ZNS中存储的数据。也就是说,当将擦除ZNS内的所有数据时,可以基于ZNS擦除数据,并且当将擦除ZNS内的一些数据时,可以以块为单位擦除数据。
图2是示出根据本公开的实施例的控制器的配置图。
参照图2,根据实施例的控制器130可以包括ZNS管理电路210、写入控制电路220和块替换电路230。
当数据处理系统100或存储装置120被激活或初始化时,ZNS管理电路210可以通过依次扫描构成储存器140的块来生成至少指示用于用户数据的存储块的状态的位图表。例如,ZNS管理电路210可以将具有第一逻辑电平(例如,0)的数据设置在空闲块中,并且将具有第二逻辑电平(例如,1)的数据设置在坏块或正在使用或被数据占用的块中,从而区分可分配块和不可分配块。此外,ZNS管理电路210可以向主机装置110提供存储装置120支持的默认ZNS单位的信息,即单个块大小的信息,以及储存器140中包括的空闲块的总数量。空闲块的总数量是可以分配给ZNS的最大分配值。
ZNS管理电路210可以将块的状态作为位图表来管理,从而容易且快速地对生成ZNS所需的空闲块进行排序。当生成或改变ZNS或者出现坏块时,ZNS管理电路210更新位图表。
需要ZNS的主机装置110可以将包括起始逻辑地址的ZNS分配请求传输到控制器130的ZNS管理电路210。在实施方案中,起始逻辑地址可以用作相应ZNS的标识符(ID),并且可以为每个ZNS指定单独的标识符IS。
当待分配的ZNS的大小,例如,所需ZNS大小,包括在ZNS分配请求中时,ZNS管理电路210可以将起始物理地址PBA映射到起始逻辑地址LBA,在与起始物理地址相对应的位置处访问位图表,并且选择与所需ZNS大小相对应的多个空闲块,从而构成ZNS。当待分配的ZNS的大小不包括在ZNS分配请求中时,ZNS管理电路210可以为ZNS分配与默认值相对应的预设数量的块,例如,与默认ZNS单位相对应的单个块。然而,本实施例不限于此。
在实施例中,ZNS管理电路210可以生成关于构成ZNS的物理块的信息作为每个ZNS的块列表,并且对其进行管理。
在分配ZNS之后,ZNS管理电路210可以更新位图表以反映已经用于生成ZNS的块的状态信息。
当选择块以分配ZNS时,ZNS管理电路210可以选择构成ZNS的块,使得可以通过管芯交错或通道交错方法并行访问块。例如,ZNS管理电路210可以以通过将管芯从下一个管芯轮换到最后分配的块所属的管芯的轮询方式选择必要数量的块。然而,本实施例不限于此。
在实施例中,当与来自主机装置110的写入请求相对应的数据的大小大于待存储数据的ZNS的剩余(空闲)空间的大小时,ZNS管理电路210可以基于ZNS的剩余空间的大小和与写入请求相对应的数据的大小,额外地为ZNS分配块。即使选择块以扩展ZNS时也可以考虑并行性,并且即使在扩展ZNS之后也更新位图表和每个ZNS的块列表。
由于储存器140的寿命增加,构成ZNS的块中存储的数据可能劣化,或者可能出现坏块。只有利用正常块替换劣化块或作为坏块处理的块时,才能稳定地保留数据。
当包括需要被替换的块的ZNS出现时,控制器130可以不基于ZNS替换ZNS,而基于块替换ZNS,从而减少开销和存储空间的浪费。
即使替换块时也可以考虑并行性来选择替换目标块,并且即使在替换块之后也需要更新位图表和每个ZNS的块列表。当由于出现坏块而执行块替换时,控制器130将坏块信息作为元信息进行管理,从而至少在ZNS相关的操作期间从块分配中排除坏块。
根据本技术,可以根据主机装置110的可变数据大小容易且快速地分配ZNS,并且改变生成的ZNS的大小。此外,当需要刷新或读取回收数据时,可以以ZNS的最小单位迁移数据,这使得可以有效地使用储存器140。
写入控制电路220可以响应于主机装置110的写入请求将编程命令传输到储存器140。
块替换电路230可以响应于控制器130或实质上是ZNS管理电路210的请求,利用正常块替换ZNS内的劣化块或作为坏块处理的块。
图3是用于描述根据本公开的实施例的ZNS管理电路的示图。
参照图3,ZNS管理电路210可以包括块状态设置电路211、元信息管理电路213、块分配电路215、ZNS信息管理电路217和事件检测电路219。
当数据处理系统100或存储装置120被激活或初始化时,块状态设置电路211可以通过依次扫描构成储存器140的块,生成和存储指示储存器140内至少用于用户数据的存储块的状态的位图表BTMT。在图4中示出储存器140的配置的示例。
图4是示出根据本公开的实施例的储存器的配置图。
参照图4,储存器140可以包括多个管芯DIE1至DIE3。多个管芯DIE1至DIE3可以分别包括多个平面PLANE11/21、PLANE12/22和PLANE13/23。
各个管芯DIE1到DIE3中包括的多个平面PLANE11/21、PLANE12/22和PLANE13/23可以通过多个通道CH1至CHy和多个通路WAY1至WAYm输入/输出数据。
平面PLANE11/21、PLANE12/22和PLANE13/23可以分别包括多个块BLK[],并且多个块BLK[]中的每一个可以是多个页面的组。
块状态设置电路211为图4所示的储存器140配置用于用户数据的块的位图表BTMT。
在位图表BTMT中,可以将具有第一逻辑电平(例如,0)的数据设置在空闲块中,并且将具有第二逻辑电平(例如,1)的数据设置在坏块或正在使用或被数据占用的块中,这使得可以区分可分配块和不可分配块。因此,可以将所获取的用于用户数据的空闲块的总数量No_FREE提供给元信息管理电路213。
元信息管理电路213可以存储由存储装置120支持的默认ZNS单位BASE_SIZE的信息,即,单个块大小的信息。元信息管理电路213可以从块状态设置电路211接收储存器140中包括的用于用户数据的空闲块的总数量No_FREE,并且将接收到的值作为指示可以分配给ZNS的空闲块的最大数量的最大分配值ALLOC_MAX进行存储。当数据处理系统100或存储装置120被初始化时,元信息管理电路213可以将关于默认ZNS单位BASE_SIZE和最大分配值ALLOC_MAX的信息提供给主机装置110。
需要ZNS的主机装置110可以将包括起始逻辑地址的ZNS分配请求ALLOC_ZNS传输到ZNS管理电路210的块分配电路215。
当所需ZNS大小包括在ZNS分配请求ALLOC_ZNS中时,块分配电路215可以将起始物理地址PBA映射到起始逻辑地址LBA,在与起始物理地址相对应的位置处访问位图表BTMT,并且选择与所需ZNS大小相对应的多个空闲块,从而构成ZNS。当待分配的ZNS的大小不包括在ZNS分配请求中时,块分配电路215可以为ZNS分配与默认值相对应的预设数量的块,例如,与默认ZNS单位相对应的单个块。然而,本实施例不限于此。
当选择块以分配ZNS时,块分配电路215可以选择构成ZNS的块,使得可以通过管芯交错或通道交错方法并行访问块。
块分配电路215可以将分配给ZNS的块信息BLK_No传输到块状态设置电路211和ZNS信息管理电路217。
块状态设置电路211可以基于分配的块信息BLK_No来更新位图表BTMT。
ZNS信息管理电路217可以生成每个ZNS的起始逻辑地址、每个ZNS中包括的块的物理地址、关于数据是否存储在各个块中的信息以及根据其的剩余空间的大小作为每个ZNS的块列表,并且对它们进行管理。由于从块分配电路215传输了分配给ZNS的块信息BLK_No,因此ZNS信息管理电路217可以为每个ZNS生成块列表。
图5是用于描述根据本公开的实施例的每个ZNS的块池的示图,图6示出根据本公开的实施例的位图表。
在图5中,根据主机装置110的ZNS分配请求生成了ID为X、Y和Z的三个ZNS。每个ZNS的ID可以是起始逻辑地址,但本实施例不限于此。
参照图4至图6,物理块{111、121、112、122、113}被分配给ZNS X。因此,例如,在图6所示的位图表BTMT中,与物理块相对应的位置的位图可以被设置为“1”。
此外,物理块{311、221、212、322}被分配给ZNS Y。这个情况反映在图6的位图表BTMT中。同样的情况适用于ZNS Z。
响应于主机装置110的写入请求WT,ZNS信息管理电路217可以通过参考每个ZNS的块列表,检查与写入请求相对应的数据的大小是否大于待存储数据的ZNS的剩余(空闲)空间的大小。
当剩余空间不足时,ZNS信息管理电路217可以通过将待添加的块的数量传输到块分配电路215来请求ZNS扩展(ZNS_EXT)。
如上所述,块分配电路215可以通过参考位图表BTMT,将块添加到相应的ZNS。在实施例中,块分配电路215可以以通过将管芯从下一个管芯转换到最后分配的块所属的管芯的轮询方式分配必要数量的块。在块扩展之后添加的块的块信息EXTBLK_No被提供给块状态设置电路211和ZNS信息管理电路217,以更新位图表BTMT和每个ZNS的块列表。
参照图4至图6,将描述ZNS X的写入数据的大小大于ZNS X的剩余空间的情况作为示例。
块分配电路215可以通过将物理块{123}额外分配给ZNS X来扩展ZNS X。此外,ZNS扩展可以反映在每个ZNS的块列表和位图表BTMT中。
当ZNS扩展完成时,ZNS信息管理电路217可以将包括构成ZNS的物理地址的写入请求WT传输到写入控制电路220。
写入控制电路220可以响应于写入请求WT将编程命令PGM传输到储存器140。
当数据存储在构成ZNS的块中时,ZNS信息管理电路217可以更新关于数据是否存储在各个块中的信息以及根据其的剩余空间的大小。
事件检测电路219可以请求(ALLOC_TGBLK)块分配电路215分配响应于包括指示待被替换的源块的源块信息SCBLK_No的替换命令REPLACE而待被替换的目标块TBBLK。
如上所述,块分配电路215可以通过参考位图表BTMT在空闲块之中选择目标块,并且将目标块信息TGBLK_No传输到事件检测电路219。目标块信息TGBLK_No被提供给块状态设置电路211和ZNS信息管理电路217,以更新位图表BTMT和每个ZNS的块列表。
事件检测电路219可以将包括源块信息SCBLK_No和目标块信息TGBLK_No的块替换命令REPLACE传输到块替换电路230。
参照图4至图6,将描述ZNS Y中包括的块{322}是待被替换的源块的情况。
块分配电路215可以选择块{312}作为目标块,块{312}是与源块相同的管芯DIE2中包括的空闲块中的一个。将块{322}的有效数据复制到块{312}中,并且利用ZNS Y的块列表中的块信息{312}替换块信息{322}。
此外,这个情况可以反映在位图表BTMT中。当由于源块{322}为坏块而执行块替换时,在位图表BTMT中不改变源块{322}的位信息,从而防止选择坏块{322}作为空闲块。
块替换电路230可以响应于块替换命令REPLACE将源块SCBLK的有效数据迁移(复制)到目标块TGBLK。
当源块SCBLK成为坏块时,将源块信息SCBLK_No添加到元信息管理电路213的坏块列表中,从而至少在ZNS相关操作期间从块分配排除源块SCBLK。
图7是用于描述根据本公开的实施例的存储装置的操作方法的流程图,示出ZNS生成方法。
在操作S100中,当数据处理系统100或存储装置120被激活或初始化时,存储装置120的控制器130可以通过依次扫描构成储存器140的块,生成和存储指示储存器140内至少用于用户数据的存储块的状态的位图表BTMT。
控制器130可以通过将具有第一逻辑电平(例如,0)的数据设置在空闲块中并且将具有第二逻辑电平(例如,1)的数据设置在坏块或正在使用或被数据占用的块中,来区分位图表BTMT中的可分配块和不可分配块。因此,可以获取用于用户数据的空闲块的总数量。
在操作S101,ZNS管理电路210可以向主机装置110传输元信息,该元信息包括在操作S100中获取的用于用户数据的空闲块的总数量,以及存储装置120支持的默认ZNS单位,即单个块的大小。
当主机装置110在操作S103中将包括起始逻辑地址的ZNS分配请求传输到控制器130时,控制器130可以在操作S105中将起始物理地址PBA映射到起始逻辑地址LBA。
在操作S107,当所需ZNS大小包括在主机装置110的ZNS分配请求ALLOC_ZNS中时,控制器130可以在与起始物理地址相对应的位置处访问位图表BTMT,并且选择与所需ZNS大小相对应的多个空闲块,从而构成ZNS。
当待分配的ZNS的大小不包括在主机装置110的ZNS分配请求中时,控制器130可以选择作为默认值的预设数量的块,例如,作为默认ZNS单位的单个块,并且在操作S107中配置ZNS。然而,本实施例不限于此。
在实施例中,当选择块以分配ZNS时,控制器130可以选择构成ZNS的块,使得可以通过管芯交错或通道交错方法并行访问块。
在操作S109中,当生成ZNS时,控制器130可以生成每个ZNS的块列表,块列表包括相应ZNS的起始逻辑地址、ZNS中包括的块的物理地址、关于数据是否存储在各个块中的信息以及根据其的剩余空间的大小。
此外,在操作S111,控制器130可以基于分配的块的物理地址来更新位图表BTMT。
图8是用于描述根据本公开的实施例的存储装置的操作方法的流程图,示出ZNS扩展方法。
在操作S201中,主机装置110可以将写入请求WT传输到存储装置120,写入请求WT包括写入数据和待写入数据的起始逻辑地址LBA。
在操作S203中,存储装置120的控制器130可以通过参考包括起始逻辑地址LBA的每个ZNS的块列表,检查与写入请求相对应的数据的大小是否大于待存储数据的ZNS的剩余(空闲)空间的大小。
当剩余空间不足(在操作S203中为“是”)时,控制器130可以在操作S205中扩展相应ZNS的容量。
在实施例中,控制器130可以通过参考位图表BTMT将块添加到相应ZNS。此时,控制器130可以以通过将管芯从下一个管芯转换到最后分配的块所属的管芯的轮询方式分配必要数量的块。
根据在块扩展之后添加的块的信息,在操作S207和操作S209中分别更新每个ZNS的块列表和位图表BTMT。
由于已经确保了用于存储数据的空间,因此可以在操作S211中正常执行主机装置110的写入请求,并且控制器130可以在操作S213中向主机装置110报告写入请求完成。因此,在主机装置110在操作S215响应该报告时,控制器130可以在操作S217将相应的ZNS切换到关闭状态。
当剩余空间足够(在操作S203中为“否”)时,控制器130可以执行运行写入请求的操作S211。
图9是用于描述根据本公开的实施例的存储装置的操作方法的流程图,示出用于替换ZNS内的块的方法。
在操作S301中等待时,控制器130可以,例如,在操作S303中监测是否发生块替换事件。当构成ZNS的块劣化或成为坏块时,可能会发生块替换事件。
当没有发生块替换事件(在操作S303中“否”)时,控制器130继续监测。
当发生块替换事件(在操作S303中是)时,在操作S305中,控制器130可以响应于包括关于待被替换的源块的信息的替换命令,通过参考位图表在空闲块之中选择目标块。
在实施例中,如果可以,可以在与源块相同的管芯中包括的空闲块之中选择目标块。
因此,可以在操作S307中执行将源块的数据复制到目标块的块替换过程。
然后,控制器130可以分别在操作S309和操作S311中基于源块信息和目标块信息更新每个ZNS的块列表和位图表。
当由于源块为坏块而执行块替换时,在操作S311中更新位图表的情况下,不改变位图表中源块的位信息,以防止坏块被选择作为空闲块。
控制器130可以在操作S313中将源块信息添加到坏块列表中,并且在操作S315中等待或结束该过程。
这样,控制器130可以根据主机装置110的可变数据大小容易且快速地分配ZNS,并且改变所生成的ZNS的大小。此外,当需要刷新或读取回收数据时,可以以ZNS的最小单位迁移有效数据,这使得可以有效地使用储存器140。
图10是示出根据本公开的实施例的数据存储系统1000的示图。
参照图10,数据存储系统1000可以包括主机装置1100和数据存储装置1200。在实施例中,数据存储装置1200可以被配置为固态驱动器(SSD)。
数据存储装置1200可以包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101和电源连接器1103。
控制器1210可以控制数据存储装置1200的一般操作。控制器1210可以包括主机接口单元、控制单元、用作工作存储器的随机存取存储器、错误校正码(ECC)单元和存储器接口单元。在实施例中,控制器1210可以被配置为图1至图3所示的控制器130。
主机装置1100可以通过信号连接器1101与数据存储装置1200交换信号。该信号可以包括命令、地址、数据等等。
控制器1210可以分析和处理从主机装置1100接收到的信号。控制器1210可以根据用于驱动数据存储装置1200的固件或软件来控制内部功能块的操作。
缓冲存储器装置1230可以临时存储待存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。进一步,缓冲存储器装置1230可以临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。可以根据控制器1210的控制将临时存储在缓冲存储器装置1230中的数据传输到主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。
非易失性存储器装置1220-0至1220-n可以用作数据存储装置1200的存储介质。非易失性存储器装置1220-0至1220-n可以分别通过多个通道CH0至CHn与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到每个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以向数据存储装置1200的控制器1210、非易失性存储器装置1220-0至1220-n和缓冲存储器装置1230提供通过电源连接器1103输入的电力。电源1240可以包括辅助电源。辅助电源可以供应电力以允许数据存储装置1200在发生突然断电时正常地终止。辅助电源可以包括足以存储所需电荷的大容量电容器。
根据主机装置1100与数据存储装置1200之间的接合方案,信号连接器1101可以被配置为各种类型的连接器中的一种或多种。
根据主机装置1100的供电方案,电源连接器1103可以被配置为各种类型的连接器中的一种或多种。
图11是示出根据本公开的实施例的数据处理系统3000的示图。参照图11,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以以诸如印刷电路板的板的形式配置。尽管未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括连接端子3110,诸如插座、插槽或连接器。存储器系统3200可以与连接端子3110配对。
存储器系统3200可以以诸如印刷电路板的板的形式配置。存储器系统3200可以被称为存储器模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240以及连接端子3250。
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以以与图1至图3所示的控制器130相同的方式配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。根据控制器3210的控制,可以将临时存储在缓冲存储器装置3220中的数据传输到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作存储器系统3200的存储介质。
PMIC 3240可以向存储器系统3200的内部提供通过连接端子3250输入的电力。PMIC 3240可以根据控制器3210的控制来管理存储器系统3200的电力。
连接端子3250可以联接到主机装置3100的连接端子3110。通过连接端子3250,诸如命令、地址、数据等的信号以及电力可以在主机装置3100和存储器系统3200之间传送。根据主机装置3100与存储器系统3200之间的接合方案,连接端子3250可以被配置为各种类型中的一种或多种。如图所示,连接端子3250可以设置在存储器系统3200的一侧。
图12是示出根据本公开的实施例的数据处理系统4000的示图。参照图12,数据处理系统4000可以包括主机装置4100和存储器系统4200。
主机装置4100可以以诸如印刷电路板的板的形式配置。尽管未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
存储器系统4200可以以表面安装型封装的形式配置。存储器系统4200可以通过焊球4250安装到主机装置4100。存储器系统4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制存储器系统4200的一般操作。控制器4210可以以与图1至图3所示的控制器130相同的方式配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。进一步,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。根据控制器4210的控制,可以将临时存储在缓冲存储器装置4220中的数据传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器系统4200的存储介质。
图13是示出根据本公开的实施例的包括数据存储装置的网络系统5000的示图。参照图13,网络系统5000可以包括通过网络5500联接的服务器系统5300以及多个客户端系统5410、5420和5430。
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求服务数据。例如,服务器系统5300可以存储由多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可以向多个客户端系统5410至5430提供数据。
服务器系统5300可以包括主机装置5100和存储器系统5200。存储器系统5200可以被配置为图1所示的存储装置120、图10所示的数据存储装置1200、图11所示的存储器系统3200或图12所示的存储器系统4200。
图14是示出根据本公开的实施例的诸如存储器件140的数据存储装置中包括的非易失性存储器装置300的框图。参照图14,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。
存储器单元阵列310可以包括存储器单元MC,存储器单元MC布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处。
存储器单元阵列310可以包括三维存储器阵列。例如,三维存储器阵列具有垂直于半导体衬底的平面的堆叠结构。此外,三维存储器阵列是指包括NAND串的结构,其中NAND串中包括的存储器单元垂直于半导体衬底的平面堆叠。
三维存储器阵列的结构不限于上述实施例。可以以高度集成的方式形成具有水平方向性和垂直方向性的存储器阵列结构。在实施例中,在三维存储器阵列的NAND串中存储器单元相对于半导体衬底的表面沿水平和垂直方向布置。存储器单元可以以各种方式间隔开以提供不同的集成度。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制操作。行解码器320可以对外部装置(未示出)提供的地址进行解码。行解码器320可以基于解码结果来选择并且驱动字线WL1至WLm。例如,行解码器320可以向字线WL1至WLm提供由电压生成器350提供的字线电压。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别与位线BL1到BLn相对应的读取/写入电路RW1到RWn。数据读取/写入块330可以根据控制逻辑360的控制操作。根据操作模式,数据读取/写入块330可以作为写入驱动器或读出放大器进行操作。例如,数据读取/写入块330可以作为写入驱动器进行操作,写入驱动器在写入操作中将外部装置提供的数据存储在存储器单元阵列310中。再例如,数据读取/写入块330可以作为读出放大器进行操作,读出放大器在读取操作中从存储器单元阵列310读出数据。
列解码器340可以根据控制逻辑360的控制来操作。列解码器340可以对外部装置提供的地址进行解码。列解码器340可以基于解码结果,将分别与位线BL1至BLn相对应的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器350可以生成待在非易失性存储器装置300的内部操作中使用的电压。可以将由电压生成器350生成的电压施加到存储器单元阵列310的存储器单元。例如,可以将在编程操作中生成的编程电压施加到待执行编程操作的存储器单元的字线。再例如,可以将在擦除操作中生成的擦除电压施加到待执行擦除操作的存储器单元的阱区(wellarea)。又例如,可以将在读取操作中生成的读取电压施加到待执行读取操作的存储器单元的字线。
基于外部装置提供的控制信号,控制逻辑360可以控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
尽管上面已经描述了各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,基于所描述的实施例和所附权利要求,本文所描述的存储装置和操作方法不应受到限制。此外,可以组合实施例以形成额外的实施例。
Claims (22)
1.一种存储装置,包括:
储存器,包括多个管芯并且向主机装置提供默认分区命名空间大小即默认ZNS大小,所述多个管芯中的每个管芯具有多个存储块;以及
控制器,响应于包括所需ZNS大小并且由所述主机装置提供的ZNS生成请求信号,通过从所述多个管芯中选择与所述所需ZNS大小相对应的一个或多个存储块以将所选择的存储块分配给ZNS来生成所述ZNS。
2.根据权利要求1所述的存储装置,其中所述控制器进一步将关于分配给所述ZNS的存储块的信息作为每个ZNS的块列表进行管理。
3.根据权利要求1所述的存储装置,其中所述控制器进一步将关于所述多个存储块是否分别能够分配给所述ZNS的信息作为位图表进行管理。
4.根据权利要求1所述的存储装置,其中所述控制器进一步在所述主机装置传输包括大小大于所述ZNS的剩余容量的写入数据的写入请求时,向所述ZNS额外分配另一存储块以利用所述ZNS处理所述写入请求。
5.根据权利要求1所述的存储装置,其中所述控制器进一步:
响应于针对分配给所述ZNS的至少一个源存储块的块替换命令,选择不属于所述ZNS的至少一个目标存储块,
将所选择的目标存储块分配给所述ZNS,并且
将所述源存储块的有效数据迁移到所述目标存储块。
6.根据权利要求5所述的存储装置,其中所述控制器在包括所述源存储块的管芯内选择所述目标存储块。
7.根据权利要求1所述的存储装置,其中所述默认ZNS大小对应于所述储存器的最小擦除单位。
8.根据权利要求1所述的存储装置,其中所述所需ZNS大小是待分配给所述ZNS的存储块的数量。
9.一种存储装置,包括:
储存器,包括多个存储块;以及
控制器:
收集多个存储块以生成具有主机装置请求的大小的分区命名空间即ZNS,并且
基于所述主机装置提供的写入数据的大小来调整所生成的ZNS的大小。
10.根据权利要求9所述的存储装置,其中所述控制器进一步将关于构成所述ZNS的存储块的信息作为每个ZNS的块列表进行管理。
11.根据权利要求9所述的存储装置,其中所述控制器进一步将关于所述多个存储块是否分别能够分配给所述ZNS的信息作为位图表进行管理。
12.根据权利要求9所述的存储装置,其中所述控制器进一步:
基于存储块选择所述ZNS中存储的有效数据,
将所选择的数据迁移到不属于所述ZNS的目标存储块,并且
将所述目标存储块分配给所述ZNS。
13.一种存储装置的操作方法,包括以下步骤:
由控制器将默认分区命名空间大小即默认ZNS大小传输到主机装置,所述控制器用于控制包括多个管芯的储存器,所述多个管芯中的每个管芯具有多个存储块;
由所述控制器从所述主机装置接收包括所需ZNS大小的ZNS生成请求信号;以及
由所述控制器通过从所述多个管芯中选择与所述所需ZNS大小相对应的一个或多个存储块并且将所选择的存储块分配给ZNS来生成所述ZNS。
14.根据权利要求13所述的操作方法,进一步包括:由所述控制器将关于分配给所述ZNS的存储块的信息作为每个ZNS的块列表进行管理。
15.根据权利要求13所述的操作方法,进一步包括:由所述控制器将关于所述多个存储块是否分别能够分配给所述ZNS的信息作为位图表进行管理。
16.根据权利要求13所述的操作方法,进一步包括:
由所述控制器从所述主机装置接收包括大小大于所述ZNS的剩余容量的写入数据的写入请求;
由所述控制器向所述ZNS额外分配另一存储块;以及
由所述控制器利用所述ZNS处理所述写入请求。
17.根据权利要求13所述的操作方法,进一步包括:
响应于针对分配给所述ZNS的至少一个源存储块的块替换命令,由所述控制器选择不属于所述ZNS的至少一个目标存储块;
将所选择的目标存储块分配给所述ZNS,并且
将所述源存储块的有效数据迁移到所述目标存储块。
18.根据权利要求17所述的存储装置,其中在包括所述源存储块的管芯内选择所述目标存储块。
19.根据权利要求13所述的操作方法,其中所述默认ZNS大小对应于所述储存器的最小擦除单位。
20.根据权利要求13所述的操作方法,其中所述所需ZNS大小是待分配给所述ZNS的存储块的数量。
21.一种控制器的操作方法,所述操作方法包括:
将一个或多个空存储介质分配给以存储介质为单位配置的分区命名空间即ZNS;并且
控制存储器装置对所述ZNS执行操作,其中,
所述空存储介质根据管芯交错方案和通道交错方案中的一种方案来分配,并且
所述操作包括待以存储介质为单位执行的擦除操作。
22.根据权利要求21所述的操作方法,其中所述分配包括利用所述空存储介质替换先前分配给所述ZNS的存储介质。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210150388A KR20230064849A (ko) | 2021-11-04 | 2021-11-04 | 스토리지 장치 및 그 동작 방법 |
KR10-2021-0150388 | 2021-11-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069239A true CN116069239A (zh) | 2023-05-05 |
Family
ID=85983750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210793617.8A Withdrawn CN116069239A (zh) | 2021-11-04 | 2022-07-05 | 存储装置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
KR (1) | KR20230064849A (zh) |
CN (1) | CN116069239A (zh) |
DE (1) | DE102022210372A1 (zh) |
TW (1) | TW202319915A (zh) |
-
2021
- 2021-11-04 KR KR1020210150388A patent/KR20230064849A/ko unknown
-
2022
- 2022-07-05 CN CN202210793617.8A patent/CN116069239A/zh not_active Withdrawn
- 2022-08-22 TW TW111131485A patent/TW202319915A/zh unknown
- 2022-09-30 DE DE102022210372.6A patent/DE102022210372A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230134639A1 (en) | 2023-05-04 |
KR20230064849A (ko) | 2023-05-11 |
TW202319915A (zh) | 2023-05-16 |
DE102022210372A1 (de) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110874188B (zh) | 数据存储装置、其操作方法以及具有其的存储系统 | |
EP2510447B1 (en) | Method and system for concurrent background and foreground operations in a non-volatile memory array | |
US8489806B2 (en) | Storage apparatus and method of managing data storage area | |
US9335929B2 (en) | Nonvolatile semiconductor storage system | |
CN113515231A (zh) | 数据存储装置及其操作方法 | |
CN112416242A (zh) | 数据存储设备及其操作方法 | |
CN110908594B (zh) | 存储器系统的操作方法和存储器系统 | |
KR20140003892A (ko) | 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치 | |
CN112988044A (zh) | 存储器系统及包括该存储器系统的数据处理系统 | |
CN112597068A (zh) | 主机系统及其操作方法、包括该主机系统的数据处理系统 | |
US11543990B2 (en) | Data storage apparatus with extended lifespan and operation method thereof | |
CN111949206A (zh) | 存储器系统、控制器以及控制器的操作方法 | |
JP2021033845A (ja) | メモリシステムおよび制御方法 | |
CN111258494B (zh) | 数据存储装置及操作方法、具有数据存储装置的存储系统 | |
CN110908596A (zh) | 数据存储装置、其操作方法和包括存储装置的存储系统 | |
US11409444B2 (en) | Memory system and operation method thereof | |
US20220236903A1 (en) | Data storage apparatus and operation method thereof | |
US11966610B2 (en) | Storage device capable of adjusting size of zoned namespace and operating method thereof | |
CN116069239A (zh) | 存储装置及其操作方法 | |
CN113535078B (zh) | 控制器、控制器的操作方法以及存储器系统 | |
CN115543860A (zh) | 数据处理系统及其操作方法 | |
CN115390744A (zh) | 数据存储装置及其操作方法 | |
US20220188008A1 (en) | Data storage apparatus and operation method thereof | |
US20230129727A1 (en) | Storage device and operating method thereof | |
US20240069796A1 (en) | Memory controller including memory manager for mapping buffer idnentifier to segment |
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: 20230505 |