CN116501243A - 存储控制器及其操作方法、存储装置的操作方法 - Google Patents
存储控制器及其操作方法、存储装置的操作方法 Download PDFInfo
- Publication number
- CN116501243A CN116501243A CN202310055420.9A CN202310055420A CN116501243A CN 116501243 A CN116501243 A CN 116501243A CN 202310055420 A CN202310055420 A CN 202310055420A CN 116501243 A CN116501243 A CN 116501243A
- Authority
- CN
- China
- Prior art keywords
- partition
- memory block
- memory
- state
- block
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 370
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000005192 partition Methods 0.000 claims abstract description 323
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 10
- 230000007704 transition Effects 0.000 claims description 7
- 239000010410 layer Substances 0.000 claims description 5
- 239000002356 single layer Substances 0.000 claims description 3
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 37
- 238000010586 diagram Methods 0.000 description 21
- 230000008859 change Effects 0.000 description 6
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 4
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
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/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/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and 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/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/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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
公开了一种与主机和非易失性存储器装置通信的存储控制器的操作方法、存储控制器、以及存储装置的操作方法。存储控制器的操作方法包括:从主机接收指示多个分区中的第一分区的第一请求;响应于第一请求,将第一分区的状态设置为活动状态;向更新为活动状态的第一分区分配非易失性存储器装置的多个存储器块中的第一存储器块;以及将与第一请求相对应的用户数据存储在第一存储器块中。第一存储器块的可靠性高于分配给多个分区中具有非活动状态的第二分区的第二存储器块的可靠性,并且存储控制器支持非易失性存储器快速的分区命名空间标准。
Description
相关申请的交叉引用
本申请要求在韩国知识产权局于2022年1月26日提交的韩国专利申请No.10-2022-0011494和于2022年5月26日提交的韩国专利申请No.10-2022-0064866的优先权,所述申请的公开内容以引用方式全文并入本文中。
技术领域
本文所述的发明构思的示例实施例涉及一种存储控制器,更具体地,涉及一种管理不同类型的块的存储控制器。
背景技术
存储器装置响应于写请求而存储数据,并且响应于读请求而输出存储在其中的数据。例如,将存储器装置分类为当电源中断时失去存储在其中的数据的易失性存储器装置(诸如动态随机存取存储器(DRAM)装置和静态RAM(SRAM)装置),或者即使当电源中断时仍保留存储在其中的数据的非易失性存储器装置(诸如闪速存储器装置、相变RAM(PRAM)、磁性RAM(MRAM)、或电阻式RAM(RRAM))。
通常来说,非易失性存储器装置可以根据随机存取来存储数据。随机存取伴随着对整个区域的频繁的垃圾收集操作,从而造成存储装置的寿命的减少。由于为频繁的垃圾收集、损耗均衡、以及坏块管理分配了大预留空间(OP)区域,因此存储装置的可用存储容量可能会减少。为了减少或防止上述问题,可以有一种用于将非易失性存储器装置的存储器块划分为分区,并且在分区中顺序地存储相关数据的技术。
发明内容
本发明构思的实施例提供了一种管理各种类型的块的存储控制器、其操作方法、以及包括存储控制器的存储装置的操作方法。
根据一些示例实施例,与主机和非易失性存储器装置通信的存储控制器的操作方法包括:从主机接收指示多个分区中的第一分区的第一请求;响应于第一请求,将第一分区的状态设置为活动状态;向更新为活动状态的第一分区分配非易失性存储器装置的多个存储器块中的第一存储器块;以及将与第一请求相对应的用户数据存储在第一存储器块中。第一存储器块的可靠性高于分配给多个分区中具有非活动状态的第二分区的第二存储器块的可靠性,并且存储控制器支持NVM快速的分区命名空间(ZNS)标准。
根据一些示例实施例,存储控制器包括:处理电路,其被配置为根据主机的请求而改变多个分区中的目标分区的状态,响应于目标分区的改变后的状态是活动状态,向目标分区分配非易失性存储器装置中的多个存储器块中的第一存储器块;以及缓冲器存储器,其被配置为将与主机的请求相对应的目标数据存储在第一存储器块中。存储控制器支持NVM快速的分区命名空间(ZNS)标准,并且第一存储器块的可靠性高于分配给多个分区中具有非活动状态的第二分区的第二存储器块的可靠性。
根据一些示例实施例,与主机通信的存储装置的操作方法包括:从主机接收指示多个分区中的第一分区的第一请求;响应于第一请求,将第一分区的状态设置为活动状态;向更新为活动状态的第一分区分配非易失性存储器装置的多个存储器块中的第一存储器块;以及将与第一请求相对应的用户数据存储在第一存储器块中。第一存储器块的可靠性高于分配给多个分区中具有非活动状态的第二分区的第二存储器块的可靠性,并且存储控制器支持NVM快速的分区命名空间(ZNS)标准。
附图说明
通过参照附图对本发明构思的一些示例实施例进行详细描述,本发明构思的上述和其它目的和特征将变得明显。
图1是根据本发明构思的一些示例实施例的存储系统的框图。
图2是根据本发明构思的一些示例实施例的详细示出图1的存储控制器的框图。
图3是根据本发明构思的一些示例实施例的描述顺序写操作的示图。
图4是根据本发明构思的一些示例实施例的描述分区的状态的示图。
图5是根据本发明构思的一些示例实施例的描述图1的存储装置的操作方法的示图。
图6是根据本发明构思的一些示例实施例的示出向分区分配第一类型存储器块的操作的示图。
图7是根据本发明构思的一些示例实施例的示出向分区分配第一类型存储器块的操作的流程图。
图8是根据本发明构思的一些示例实施例的描述图1的存储装置的操作方法的示图。
图9是根据本发明构思的一些示例实施例的示出向分区分配第二类型存储器块的操作的示图。
图10是根据本发明构思的一些示例实施例的示出向分区分配第二类型存储器块的操作的流程图。
图11是根据本发明构思的一些示例实施例的描述图1的存储装置的操作方法的示图。
图12是根据本发明构思的一些示例实施例的描述取消分配向分区分配的存储器块的操作的示图。
图13是根据本发明构思的一些示例实施例的描述取消分配向分区分配的存储器块的操作的流程图。
图14是示出应用了根据本发明构思的一些示例实施例的存储装置的数据中心的框图。
具体实施方式
在下文中,将详细并且清楚地描述本发明构思的示例实施例,以达到本领域技术人员轻松地实施本发明构思的程度。关于本发明构思的描述,为了使总体理解变得简单,在附图中,相似的组件由相似的参考符号/数字标记,并且因此,将省略额外的描述以避免冗余。
图1是根据本发明构思的一些示例实施例的存储系统的框图。参照图1,存储系统10可以包括主机11和/或存储装置100。在一些示例实施例中,存储系统10可以是被配置为处理各种信息的计算系统,诸如个人电脑(PC)、笔记本电脑、膝上型电脑、服务器、工作站、平板电脑、智能手机、数码相机、和/或黑匣子。
主机11可以控制存储系统10的整体操作。例如,主机11可以将数据存储在存储装置100中和/或可以读取存储在存储装置100中的数据。例如,主机11可以向存储装置100提供写数据,和/或主机11可以请求存储在存储装置100中的读数据。
存储装置100可以包括存储控制器110和/或非易失性存储器装置120。非易失性存储器装置120可以存储数据。存储控制器110可以将数据存储在非易失性存储器装置120中和/或可以读取存储在非易失性存储器装置120中的数据。非易失性存储器装置120可以在存储控制器110的控制下操作。例如,基于指示操作的命令CMD和指示数据的位置的地址ADD,存储控制器110可以将数据存储在非易失性存储器装置120中和/或可以读取存储在非易失性存储器装置120中的数据。
在一些示例实施例中,存储装置100可以根据主机11的请求而向分区分配相应的存储器块,并且可以将数据顺序地存储在分配的存储器块中。分区可概念性地指多个存储器块中物理上相互连续的一些存储器块。例如,存储控制器110和/或非易失性存储器装置120可以支持非易失性存储器快速(NVMe)的分区命名空间(ZNS)标准。将参照图4更全面地描述ZNS标准。
在一些示例实施例中,非易失性存储器装置120可以是NAND闪速存储器装置,但本发明构思不限于此。例如,非易失性存储器装置120可以是即使电源被关闭,也可以保持存储在其中的数据的各种存储装置中的一种,诸如相变随机存取存储器(PRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)、和/或铁电随机存取存储器(FRAM)。
非易失性存储器装置120可以包括第一类型存储器块和/或第二类型存储器块。在一些示例实施例中,第一类型存储器块的每个单元存储的比特的数量可以是1。第一类型存储器块的每个单元存储的比特的数量可以小于第二类型存储器块的每个单元存储的比特的数量。针对第一类型存储器块的写操作的速度可以高。第一类型存储器块可以是具有高可靠性的存储器块。
在一些示例实施例中,第二类型存储器块的每个单元存储的比特的数量可以是2或更多。针对第二类型存储器块的写操作的速度可以低。第二类型存储器块可以是能够高效地存储大量的数据的块。
例如,第一类型存储器块可以由存储一比特的单层单元(SLC)实现。第二类型存储器块可以由存储多个比特的单元(诸如存储2比特的多层单元(MLC)、存储3比特的三层单元、和/或存储4比特的四层单元(QLC))中的一个实现。
存储控制器110可以包括ZNS表111、分区状态管理器112、和/或块分配单元113。
ZNS表111可以管理指示多个分区中的每一个或者一个或多个的状态的状态信息,和/或指示分配给多个分区中的每一个或者一个或多个的存储器块的块分配信息。例如,分区状态管理器112和/或块分配单元113可以管理ZNS表111。
在分区状态管理器112的控制下,ZNS表111可以管理指示多个分区中的每一个或者一个或多个的状态的多个状态信息。当分区的状态根据主机请求而转换时,分区状态管理器112可以基于分区状态的转换来更新ZNS表111。
在块分配单元113的控制下,ZNS表111可以管理各自指示分配给多个分区中的每一个或者一个或多个的存储器块的多个块分配信息。在向分区分配新的存储器块和/或当从分区释放先前分配的存储器块时的事件中,块分配单元113可以基于事件来更新ZNS表111。
当关闭存储装置100时,ZNS表111可以将多个状态信息和/或多个块分配信息存储在非易失性存储器装置120中。
分区状态管理器112可以从主机11接收符合ZNS标准的请求,并且可以处理符合ZNS标准的请求。根据从主机11接收到的请求,分区状态管理器112可以改变多个分区中的每一个或者一个或多个的状态,和/或可以更新存储在分区状态管理器112中的每一个或者一个或多个分区的状态信息。
块分配单元113可以管理指示分配给分区的存储器块的块分配信息。在分区状态管理器112的控制下,块分配单元113可以管理各自指示分配给多个分区中的每一个或者一个或多个的存储器块的多个块分配信息。
例如,根据分区状态管理器112的请求,块分配单元113可以向分区分配存储器块和/或可以释放存储器块的分配,并且可以更新存储在ZNS表111中的每一个或者一个或多个分区的块分配信息。
图2是根据本发明构思的一些示例实施例的详细示出图1的存储控制器的框图。参照图1和图2,存储控制器110可以与主机11和非易失性存储器装置120通信。
存储控制器110可以包括ZNS表111、分区状态管理器112、块分配单元113、易失性存储器装置114、只读存储器(ROM)115、处理器116、主机接口电路117、和/或非易失性存储器接口电路118。ZNS表111、分区状态管理器112、以及块分配单元113可以分别与图1的ZNS表111、分区状态管理器112、以及块分配单元113相对应。
在一些示例实施例中,ZNS表111、分区状态管理器112、和/或块分配单元113可以通过固件实现。例如,非易失性存储器装置120可以存储与ZNS表111、分区状态管理器112、和/或块分配单元113相对应的指令。处理器116可以将非易失性存储器装置120的指令加载到易失性存储器装置114上。处理器116可以执行被加载的指令以操作ZNS表111、分区状态管理器112、和/或块分配单元113。
易失性存储器装置114可以包括缓冲器存储器114a。除了缓冲器存储器114a,易失性存储器装置114还可以被用作存储控制器110的主存储器、高速缓冲存储器、和/或工作存储器。例如,易失性存储器装置114可以由静态随机存取存储器(SRAM)和/或动态随机存取存储器(DRAM)实现。
ROM 115可以被用作存储存储控制器110操作所需的或者足够存储控制器110操作的信息的只读存储器。处理器116可以控制存储控制器110的整体操作。
存储控制器110可以通过主机接口电路117与主机11通信。在一些示例实施例中,主机接口电路117可以基于各种接口(诸如串行ATA(SATA)接口、外围组件互连快速(PCIe)接口、串行连接SCSI(SAS)接口、非易失性存储器快速(NVMe)接口、和/或通用闪速存储(UFS)接口)中的至少一种来实现。此外,主机接口电路117可以支持NVMe的ZNS标准。
存储控制器110可以通过非易失性存储器接口电路118与非易失性存储器装置120通信。在一些示例实施例中,非易失性存储器接口电路118可以基于NAND接口来实现。此外,非易失性存储器接口电路118可以支持符合NVMe的ZNS标准的顺序写操作。
图3是根据本发明构思的一些示例实施例的描述顺序写操作的示图。将参照图1和图3描述存储控制器将数据顺序写入非易失性存储器装置120中的操作。
传统的存储控制器可以基于随机存取而存储数据。例如,在根据随机存取来存储数据的情况下,与在逻辑上顺序的地址块相对应的存储器块可能被随机分布在非易失性存储器装置中。非易失性存储器装置在结构上可能无法被覆盖。在执行擦除操作的情况下,可以执行垃圾收集操作以单独管理存储器块中的有效数据和无效数据,在垃圾收集操作中数据被读取然后被复制到另一个存储器块中。
传统的存储控制器可以在非易失性存储器装置的整个区域上频繁地执行垃圾收集操作,从而减少非易失性存储器装置的寿命(例如,增加编程/擦除(P/E)周期的数量)。此外,由于为频繁的垃圾收集、损耗均衡、和/或坏块管理分配了大的预留空间(OP)区域,因此非易失性存储器装置的可用存储容量可减少。
根据本发明构思的一些示例实施例,存储控制器110可以执行顺序写操作。为了更好地理解本发明构思,一同示出第一分区至第N分区的逻辑区域和第一分区至第N分区的物理区域。在这里,“N”是任意自然数。逻辑区域可以包括能够被主机11识别的地址。物理区域可以包括非易失性存储器装置120中的存储器块的位置和/或地址。逻辑区域和物理区域可以具有映射关系。
参照逻辑区域,存储控制器110可以管理第一分区至第N分区。第一分区至第N分区可以被彼此独立地管理。例如,主机11可以执行第一应用和/或第二应用。第一应用可以管理在第一分区中包括的数据。第二应用可以管理在第二分区中包括的数据。也就是说,被相同的应用管理的数据中具有类似目的和/或使用周期的数据可以在相同分区内被管理。
第一分区至第N分区中的每一个或者一个或多个可以包括多个逻辑块地址。例如,第一分区可以包括第一逻辑块地址LBA1至第m逻辑块地址LBAm。在本文中,“m”是任意自然数。第一逻辑块地址LBA1至第m逻辑块地址LBAm在逻辑上可以是顺序的。
存储控制器110可以使用写指针将数据顺序地存储在非易失性存储器装置120中。例如,在将与第一逻辑块地址LBA1和第二逻辑块地址LBA2相对应的数据顺序编程至非易失性存储器装置120中,并且存储控制器110的缓冲器存储器114a存储与第三逻辑块地址LBA3相对应的数据的情况下,写指针可以指示第三逻辑块地址LBA3。
参照物理区域,非易失性存储器装置120可以包括多个块T1_BLK。多个块T1_BLK可以被分为第一分区至第N分区。第一分区的多个块T1_BLK可以是在物理上顺序的第一块T1_BLK1至第m块T1_BLKm。第一分区的第一块T1_BLK1至第m块T1_BLKm可以分别对应于第一分区的第一逻辑块地址LBA1至第m逻辑块地址LBAm。存储控制器110可以允许与来自主机11的写请求相对应的数据在逻辑上和在物理上顺序地存储在非易失性存储器装置120中。也就是说,存储控制器110可以支持顺序写操作。
为了更好地理解本发明构思,给出了逻辑块地址与一个块相对应的描述,但本发明构思不限于此。逻辑块地址可以分别对应于一个块中的顺序子块和/或顺序编程单元(例如,通过其对存储器单元编程的单元),同时保持逻辑可串行性。逻辑块地址和存储器块的对应关系可以通过本领域技术人员进行各种改变和实施。
如上所述,根据本发明构思的一些示例实施例,存储控制器110可以以分区为单位管理数据,而不是管理关于非易失性存储器装置120的整个区域的数据。由于数据管理是以分区为单位进行的,因此可以减少由于垃圾收集(GC)而导致的I/O负载和额外的读操作和写操作。因此,可以改善存储装置100的数据处理速度,并且可以减少存储装置100的功耗。此外,由于垃圾收集导致的负载减少,可以减少预留空间(OP)区域。这可以意味着非易失性存储器装置120的可用存储容量增加。
图4是根据本发明构思的一些示例实施例的描述分区的状态的示图。将参照图1和图4描述与根据ZNS标准的存储装置100的分区相关联的状态机。
根据本发明构思的一些示例实施例,通过存储装置100管理的分区可以具有分区空间空(ZSE)状态、分区空间隐式开放(ZSIO)状态、分区空间显式开放(ZSEO)状态、分区空间关闭(ZSC)状态、以及分区空间满(ZSF)状态中的一种。当存储装置100处理从主机11接收的请求时,分区的状态可以转换。
ZSE状态和ZSF状态可以被分类为非活动状态。ZSIO状态、ZSEO状态、以及ZSC状态可以被分类为活动状态。活动状态的分区可以被最大活动资源字段限制。ZSIO状态和ZSEO状态可以被归类为开放状态。开放状态的分区可以被最大开放资源字段限制。
ZSE状态可以指示空状态。在ZSE状态下,数据可能尚未被存储在存储器块中,并且写指针可以指示最低逻辑块地址(例如,通过分区管理的逻辑块地址中具有最低号码的逻辑块地址)。ZSE状态的写指针可以是有效的。ZSE状态可以转换为ZSIO状态、ZSEO状态、ZSC状态、以及ZSF状态中的一种。
ZSIO状态可以指示隐式开放状态。ZSIO状态可以是通过执行从主机11接收的写命令而隐式开放的状态。在ZSIO状态下,存储器块可以存储与写命令相对应的数据。ZSIO状态可以转换为ZSE状态、ZSEO状态、ZSC状态、以及ZSF状态中的一种。当开放资源饱和时,即使没有关闭命令,ZSIO状态也可以转换为ZSC状态。
ZSEO状态可以指示显式开放状态。ZSEO状态可以是通过执行从主机11接收的开放命令而显式开放的状态。在ZSEO状态下,存储器块可以存储与随后接收到的写命令相对应的数据。ZSEO状态可以转换为ZSE状态、ZSC状态、以及ZSF状态中的一种。对于开放资源,ZSEO状态可以具有比ZSIO状态更高的优先级。ZSEO状态只能通过关闭命令来转换到ZSC状态。
ZSC状态可以指示关闭状态。在以下三种情况下可以转换到ZSC状态:(1)当在ZSE状态下,存在可用的活动资源,并且接收到设置分区描述符扩展命令时、(2)当在ZSIO状态下,接收到关闭命令或开放资源已经饱和时、或(3)当在ZSEO状态下,接收到关闭命令时。在ZSC状态下,存储器块无法存储与写命令相对应的数据。ZSC状态可以转换为ZSE状态、ZSIO状态、ZSEO状态、以及ZSF状态中的一种。
ZSF状态可以表示满(full)状态。在ZSF状态下,存储器块可以被存储在其中的数据填充,并且写指针可以指示最高逻辑块地址(例如,通过分区管理的逻辑块地址中具有最高号码的逻辑块地址)。ZSF状态的写指针可以是无效的。ZSF状态可以通过复位分区命令转换至ZSE状态。
图5是根据本发明构思的一些示例实施例的描述图1的存储装置的操作方法的示图。图5中示出了向存储装置100的目标分区分配第一类型存储器块T1_BLK的操作,即,存储器块分配操作,将参照图1和图5描述存储器块分配操作。存储控制器110和非易失性存储器装置120可以分别与图1的存储控制器110和非易失性存储器装置120相对应。
存储控制器110可以包括ZNS表111、分区状态管理器112、和/或块分配单元113。ZNS表111、分区状态管理器112、以及块分配单元113可以分别与图1的ZNS表111、分区状态管理器112、以及块分配单元113相对应。
参照图5所示的ZNS表111的状态信息,第一分区Z1至第四分区Z4中的每一个或者一个或多个分区可以处于满状态。此外,参照ZNS表111的块分配信息,可以向第一分区Z1分配第六块BLK6,可以向第二分区Z2分配第七块BLK7,可以向第三分区Z3分配第八块BLK8,以及/或者可以向第四分区Z4分配第九块BLK9。
参照图5所示的非易失性存储器装置120,示出了第一块BLK1至第十块BLK10。第一块BLK1至第五块BLK5中的每一个或者一个或多个可以是第一类型存储器块T1_BLK。第六块BLK6至第十块BLK10中的每一个或者一个或多个可以是第二类型存储器块T2_BLK。
根据本发明构思的一些示例实施例,在下文中将描述存储装置100向目标分区分配第一类型存储器块T1_BLK的操作方法。
在第一操作①中,分区状态管理器112可以从主机11接收第一请求RQ1。第一请求RQ1可以包括命令CMD和地址ADD。命令CMD可以是用于将目标分区的状态设置为第一状态的指令。第一状态可以是在图4中所示的活动状态。例如,命令CMD可以是用于允许目标分区的状态从ZSE状态转换到ZSIO状态、ZSEO状态、以及ZSC状态中的一种的指令。
分区状态管理器112可以基于地址ADD来确定多个分区中的目标分区。例如,分区状态管理器112可以基于地址ADD来确定第五分区Z5是目标分区。因此,第一请求RQ1可以被称为指示目标分区。
在第二操作②中,分区状态管理器112可以基于第一请求RQ1来更新目标分区的状态。分区状态管理器112可以基于更新后的状态来更新ZNS表111的状态信息。例如,基于第一请求RQ1,分区状态管理器112可以将第五分区Z5的状态从空状态更新为活动状态。
在第三操作③中,分区状态管理器112可以从块分配单元113请求块分配操作。当目标分区的更新后的状态是活动状态时,分区状态管理器112可以请求块分配单元113向目标分区分配第一类型存储器块T1_BLK。
在第四操作④中,块分配单元113可以向更新为活动状态的目标分区分配第一类型存储器块T1_BLK。块分配单元113可以更新目标分区的块分配信息。
例如,块分配单元113可以向第五分区Z5分配作为第一类型存储器块T1_BLK的第一块BLK1。块分配单元113可以更新ZNS表111的第五分区Z5的块分配信息,以使得“无”改变为“BLK1”。
在第五操作⑤中,块分配单元113可以请求缓冲器存储器114a执行第一请求RQ1。在第六操作⑥中,缓冲器存储器114a可以将与第一请求RQ1相对应的目标数据存储在分配给第五分区Z5的第一块BLK1中。
图6是根据本发明构思的一些示例实施例的示出向分区分配第一类型存储器块的操作的示图。在图6中,示出了当分区更新为活动状态时的逻辑区域和物理区域。
参照逻辑区域,示出了第一分区Z1至第五分区Z5;参照物理区域,示出了第一块BLK1至第十块BLK10。第一块BLK1至第五块BLK5中的每一个或者一个或多个可以是第一类型存储器块T1_BLK。第六块BLK6至第十块BLK10中的每一个或者一个或多个可以是第二类型存储器块T2_BLK。
在一些示例实施例中,分配给一个分区的存储器块的数量可以根据存储器块的类型而改变。例如,当存储器块是SLC存储器块时,可以向一个分区分配4个SLC存储器块。当存储器块是MLC存储器块时,可以向一个分区分配2个MLC存储器块。当存储器块是QLC存储器块时,可以向一个分区分配一个QLC存储器块。
在一些示例实施例中,当第一类型存储器块T1_BLK是SLC存储器块时,可以向一个分区分配4个第一类型存储器块T1_BLK。也就是说,可以向第五分区分配第一块BLK1至第四块BLK4。存储控制器的写操作可以顺序地在第一块BLK1至第四块BLK4上执行。
当第二类型存储器块T2_BLK是QLC存储器块时,可以向一个分区分配一个第二类型存储器块T2_BLK。也就是说,可以向第一分区Z1分配第六块BLK6,可以向第二分区分配第七块BLK7,可以向第三分区Z3分配第八块BLK8,以及/或者可以向第四分区Z4分配第九块BLK9。
图7是根据本发明构思的一些示例实施例的示出向分区分配第一类型存储器块的操作的流程图。将参照图5和图7描述存储控制器110向更新为活动状态的分区分配存储器块的操作。存储控制器110可以与图5的存储控制器110相对应。
在操作S110,存储控制器110可以从主机接收第一请求RQ1。第一请求RQ1可以包括命令CMD和地址ADD。存储控制器110可以基于地址ADD来确定用于分配操作的目标的分区(在下文中,将其称为“目标分区”)。因此,第一请求RQ1可以被称为指示目标分区。
在操作S120中,基于第一请求RQ1,存储控制器110可以将目标分区的状态从空状态更新为活动状态。
在操作S130中,存储控制器110可以向更新为活动状态的目标分区分配第一类型存储器块T1_BLK。存储控制器110可以向目标分区分配作为第一类型存储器块T1_BLK的第一块BLK1。例如,第一类型存储器块T1_BLK可以是SLC存储器块。
在一些示例实施例中,操作S130还可以包括在存储控制器110处向目标分区分配作为第一类型存储器块T1_BLK的第二块BLK2至第四块BLK4。存储控制器110可以向目标分区分配第一块BLK1至第四块BLK4。
在操作S140中,存储控制器110可以将目标数据存储在如此分配的第一类型存储器块T1_BLK中。例如,存储控制器110可以将目标数据存储在作为第一类型存储器块T1_BLK的第一块BLK1中。
在一些示例实施例中,当存储控制器110顺序地向目标分区分配作为第一类型存储器块T1_BLK的第一块BLK1至第四块BLK4时,操作S140可以包括将目标数据顺序地存储在第一块BLK1至第四块BLK4中。
图8是根据本发明构思的一些示例实施例的描述图1的存储装置的操作方法的示图。图8中示出了向存储装置100的目标分区分配第二类型存储器块T2_BLK的操作,即,存储器块分配操作,将参照图1和图8描述存储器块分配操作。
存储控制器110和非易失性存储器装置120可以分别与图1的存储控制器110和非易失性存储器装置120相对应。
存储控制器110可以包括:ZNS表111、分区状态管理器112、和/或块分配单元113。ZNS表111、分区状态管理器112、以及块分配单元113可以分别与图1的ZNS表111、分区状态管理器112和块分配单元113相对应。
在一些示例实施例中,在图8中示出的存储装置100的操作方法可以在图5中示出的存储装置100的操作方法之后执行。也就是说,根据第一请求RQ1,存储控制器110可以向目标分区分配第一类型存储器块T1_BLK,并且可以将目标数据存储在如此分配的第一类型存储器块T1_BLK中;然后,存储控制器110可以从主机11接收第二请求RQ2。
根据本发明构思的一些示例实施例,下面将描述向目标分区分配第一类型存储器块T1_BLK之后存储装置100向目标分区分配第二类型存储器块T2_BLK的操作方法。
在第一操作①中,分区状态管理器112可以从主机11接收第二请求RQ2。第二请求RQ2可以包括命令CMD和地址ADD。命令CMD可以是用于将目标分区的状态从活动状态更新为满状态的指令。所述满状态可以是在图4中示出的满状态。例如,命令CMD可以是用于允许ZSIO状态、ZSEO状态、以及ZSC状态中的至少一个转换到ZSF状态的指令。
分区状态管理器112可以基于地址ADD来确定多个分区中的目标分区。例如,分区状态管理器112可以基于地址ADD来确定第五分区Z5是目标分区。因此,第二请求RQ2可以被称为指示目标分区。
在第二操作②中,分区状态管理器112可以基于第二请求RQ2来更新目标分区的状态。分区状态管理器112可以基于更新后的状态来更新ZNS表111的状态信息。例如,分区状态管理器112可以基于第二请求RQ2将第五分区Z5的状态从活动状态改变为满状态。
在第三操作③中,分区状态管理器112可以从块分配单元113请求块分配操作。当目标分区的更新后的状态是满状态时,分区状态管理器112可以请求块分配单元113向目标分区分配第二类型存储器块T2_BLK。
在第四操作④中,块分配单元113可以向更新为满状态的目标分区分配第二类型存储器块T2_BLK。在一些示例实施例中,块分配单元113可以参照ZNS表111从作为第二类型存储器块T2_BLK的多个存储器块中确定将要分配给目标分区的存储器块。
例如,块分配单元113可以参照ZNS表111来检查第一分区Z1至第四分区Z4的块分配信息。基于第六块BLK6至第九块BLK9被分别分配给第一分区Z1至第四分区Z4,块分配单元113可以向第五分区Z5分配在物理上与第九块BLK9顺序的第十块BLK10。
块分配单元113可以更新ZNS表111中的目标分区的块分配信息。
例如,块分配单元113可以向第五分区Z5分配作为第二类型存储器块T2_BLK的第十块BLK10。块分配单元113可以更新ZNS表111中的第五分区Z5的块分配信息,以使得“BLK1”改变为“BLK10”。
在第五操作⑤中,块分配单元113可以请求缓冲器存储器114a执行第二请求RQ2。在第六操作⑥中,缓冲器存储器114a可以将存储在第一块BLK1中的目标数据移动至第十块BLK10中。在一些示例实施例中,缓冲器存储器114a可以将存储在第一块BLK1中的目标数据复制到第十块BLK10。在将存储在第一块BLK1中的目标数据复制到第十块BLK10后,块分配单元113可以丢弃第一块BLK1。
如上所述,通过在作为高容量存储器块的第二类型存储器块T2_BLK中管理写完的数据以及在作为高可靠性存储器块的第一类型存储器块T1_BLK中管理正在写处理的数据,可以保证或提高存储装置100的写操作的可靠性。此外,存储装置100可以高效地管理大量的数据。
参照图8描述了一些示例实施例,在其中,存储控制器110根据第一请求RQ1将目标数据存储在分配给目标分区的第一类型存储器块T1_BLK中,然后基于存储控制器110从主机11接收第二请求RQ2而将目标分区的状态更新为满状态,但本发明构思不限于此。
在一些示例实施例中,当缓冲器存储器114a根据第一请求RQ1将目标数据存储在分配给目标分区的第一类型存储器块T1_BLK中时,块分配单元113可以确定分配给目标分区的第一类型存储器块T1_BLK中是否存在可用容量。
当确定分配给目标分区的第一类型存储器块T1_BLK中没有可用容量时,块分配单元113可以向目标分区分配第二类型存储器块T2_BLK。块分配单元113可以请求缓冲器存储器114a将存储在第一类型存储器块T1_BLK中的目标数据移动到第二类型存储器块T2_BLK中。
例如,当缓冲器存储器114a根据第一请求RQ1将目标数据存储在分配给目标分区的第一块BLK1至第四块BLK4中时,块分配单元113可以确定在第一块BLK1至第四块BLK4中是否存在可用容量。当确定第一块BLK1至第四块BLK4中没有可用容量时,块分配单元113可以向目标分区分配第十块BLK10。块分配单元113可以请求缓冲器存储器114a将存储在第一块BLK1至第四块BLK4中的目标数据移动至第十块BLK10。
如上所述,在完成写操作后,存储装置100可以将存储在高可靠性的第一类型存储器块T1_BLK中的数据移动至低可靠性的第二类型存储器块T2_BLK中。也就是说,由于存储装置100在高可靠性的存储器块中确保写操作,即使发生断电,也可以使用少量的资源执行恢复操作。由于存储装置100高效地使用资源,存储装置100的性能可以得到提升。
图9是根据本发明构思的一些示例实施例的示出向分区分配第二类型存储器块的操作的示图。在图9中示出了当分区处于满状态时的物理区域。
参照在存储控制器110根据第二请求RQ2执行块分配操作前的物理区域,可以向第五分区Z5分配第一块BLK1至第四块BLK4,可以向第一分区Z1分配第六块BLK6,可以向第二分区Z2分配第七块BLK7,可以向第三分区Z3分配第八块BLK8,和/或可以向第四分区Z4分配第九块BLK9。
参照在存储控制器110根据第二请求RQ2执行块分配操作后的物理区域,可以向第五分区Z5分配BLK10。在一些示例实施例中,当第一类型存储器块T1_BLK是SLC存储器块,并且第二类型存储器块T2_BLK是QLC存储器块时,存储在第一块BLK1至第四块BLK4中的目标数据可以被顺序地移动到第十块BLK10。
图10是根据本发明构思的一些示例实施例的示出向分区分配第二类型存储器块的操作的流程图。将参照图8和图10描述存储控制器110向更新为满状态的分区分配存储器块的操作。存储控制器110可以与图8的存储控制器110相对应。
在操作S210中,存储控制器110可以从主机接收第二请求RQ2。第二请求RQ2可以包括命令CMD和地址ADD。存储控制器110可以基于地址ADD来确定用于分配操作的目标的分区(在下文中将其称为“目标分区”)。因此第二请求RQ2可以被称为指示目标分区。
在操作S220中,基于第二请求RQ2,存储控制器110可以将目标分区的状态从活动状态更新为满状态。
在操作S230中,存储控制器110可以向更新为满状态的目标分区分配第二类型存储器块T2_BLK。存储控制器110可以向目标分区分配作为第二类型存储器块T2_BLK的第十块BLK10。例如,第二类型存储器块T2_BLK可以是QLC存储器块。
在操作S240中,存储控制器110可以将存储在第一类型存储器块T1_BLK中的目标数据移动到如此分配的第二类型存储器块T2_BLK中。存储控制器110可以将存储在第一块BLK1中的目标数据移动到第十块BLK10。
在一些示例实施例中,操作S240可以包括在存储控制器110处,在将存储在第一类型存储器块T1_BLK中的目标数据移动到第二类型存储器块T2_BLK后,丢弃第一类型存储器块T1_BLK。例如,在存储控制器110将存储在第一块BLK1中的目标数据移动到第十块BLK10后,存储控制器110可以丢弃第一块BLK1。
图11是根据本发明构思的一些示例实施例的描述图1的存储装置的操作方法的示图。将参照图1和图11描述存储装置的存储器块取消分配操作。存储控制器110和非易失性存储器装置120可以分别与图1的存储控制器110和非易失性存储器装置120相对应。
存储控制器110可以包括ZNS表111、分区状态管理器112、和/或块分配单元113。ZNS表111、分区状态管理器112、以及块分配单元113可以分别与图1的ZNS表111、分区状态管理器112、以及块分配单元113相对应。
在一些示例实施例中,在图11中示出的存储装置100的操作方法可以在图5中示出的存储装置100的操作方法之后执行。也就是说,根据第一请求RQ1,存储控制器110可以向目标分区分配第一类型存储器块T1_BLK,并且可以将目标数据存储在如此分配的第一类型存储器块T1_BLK中;然后,存储控制器110可以从主机11接收第三请求RQ3。
根据本发明构思的一些示例实施例,将在下文中描述存储装置100向目标分区分配第一类型存储器块T1_BLK,然后取消分配向目标分区分配的第一类型存储器块T1_BLK的操作。
在第一操作①中,分区状态管理器112可以从主机11接收第三请求RQ3。第三请求RQ3可以包括命令CMD和地址ADD。命令CMD可以是用于允许目标分区的状态转换为空状态的指令。空状态可以是在图4中示出的空状态。例如,命令CMD可以是用于允许ZSIO状态、ZSEO状态、以及ZSC状态中的至少一个转换为ZSE状态的指令。
分区状态管理器112可以基于地址ADD来确定多个分区中的目标分区。例如,分区状态管理器112可以基于地址ADD来确定第五分区Z5是目标分区。因此,第三请求RQ3可以被称为指示目标分区。
在第二操作②中,分区状态管理器112可以基于第三请求RQ3来更新目标分区的状态。分区状态管理器112可以基于更新后的状态来更新ZNS表111的状态信息。例如,分区状态管理器112可以基于第三请求RQ3将第五分区Z5的状态从活动状态更新为空状态。
在第三操作③中,分区状态管理器112可以从块分配单元113请求块分配操作。当目标分区的更新后的状态是空状态时,分区状态管理器112可以请求块分配单元113取消分配向目标分区分配的第一类型存储器块T1_BLK。
在第四操作④中,块分配单元113可以取消分配向更新为空状态的目标分区分配的第一类型存储器块T1_BLK。块分配单元113可以更新目标分区的块分配信息。
例如,块分配单元113可以取消分配向第五分区Z5分配的第一块BLK1。块分配单元113可以更新ZNS表111中的第五分区Z5的块分配信息,以使得从第一块BLK1改变为“无”。
在第五操作⑤中,块分配单元113可以请求缓冲器存储器114a执行第三请求RQ3。在第六操作⑥中,缓冲器存储器114a可以删除存储在第一块BLK1中的数据。
图12是根据本发明构思的一些示例实施例的描述取消分配向分区分配的存储器块的操作的示图。在图12中示出了当分区处于空状态时的物理区域。
参照在存储控制器110根据第三请求RQ3而执行块取消分配操作前的物理区域,可以向第五分区Z5分配第一块BLK1至第四块BLK4,可以向第一分区Z1分配第六块BLK6,可以向第二分区Z2分配第七块BLK7,可以向第三分区Z3分配第八块BLK8,以及/或者可以向第四分区Z4分配第九块BLK9。
参照在存储控制器110根据第三请求RQ3而执行块取消分配操作后的物理区域,存储控制器110可以从第五分区Z5释放第一块BLK1至第四块BLK4的分配。在从第五分区Z5释放第一块BLK1至第四块BLK4的分配后,存储控制器110可以删除存储在第一块BLK1至第四块BLK4中的数据。
图13是根据本发明构思的一些示例实施例的描述取消分配向分区分配的存储器块的操作的流程图。将参照图11和图13描述存储控制器110取消分配向更新为空状态的分区分配的存储器块的操作。存储控制器110可以与图11的存储控制器110相对应。
在操作S310中,存储控制器110可以从主机接收第三请求RQ3。第三请求RQ3可以包括命令CMD和地址ADD。存储控制器110可以基于地址ADD来确定用于分配操作的目标的分区(在下文中将其称为“目标分区”)。因此第三请求RQ3可以被称为指示目标分区。
在操作S320中,基于第三请求RQ3,存储控制器110可以将目标分区的状态从活动状态更新为空状态。
在操作S330中,存储控制器110可以取消分配向目标分区分配的第一类型存储器块T1_BLK。例如,存储控制器110可以取消分配向第五分区Z5分配的第一块BLK1。
在操作S340中,存储控制器110可以删除存储在如此取消分配的第一类型存储器块T1_BLK中的目标数据。例如,存储控制器110可以删除存储在第一块BLK1中的目标数据。
参照图14,数据中心1000可以是收集各种类型的多条数据并且提供服务的设施。数据中心1000可以被称为数据存储中心。数据中心1000可以是用于操作搜索引擎和/或数据库的系统,并且可以是公司(诸如银行)和/或政府机构使用的计算系统。数据中心1000包括应用服务器1100_1至1100_n和/或存储服务器1200_1至1200_m。应用服务器1100_1至1100_n的数量和/或存储服务器1200_1至1200_m的数量可以根据一些示例实施例进行不同地选择。应用服务器1100_1至1100_n的数量可以与存储服务器1200_1至1200_m的数量不同。
在下文中,为了方便描述,描述了存储服务器1200_1的示例。剩余的存储服务器1200_2至1200_m中的每一个或者一个或多个以及/或者多个应用服务器1100_1至1100_n中的每一个或者一个或多个具有与存储服务器1200_1的结构类似的结构。
存储服务器1200_1可以包括处理器1210_1、存储器1220_1、开关1230_1、网络接口连接器(NIC)1240_1、和/或存储装置1250_1。处理器1210_1可以控制存储服务器1200_1的全部或者一个或多个操作,访问存储器1220_1,以及/或者执行在存储器1220_1中加载的指令和/或数据。存储器1220_1可以是双倍数据速率同步DRAM(DDR SDRAM)、高带宽存储器(HBM)、混合存储器立方体(HMC)、双列直插式存储器模块(DIMM)、傲腾DIMM、和/或非易失性DIMM(NVMDIMM)。
在一些示例实施例中,在存储服务器1200_1中包括的处理器1210_1的数量和/或存储器1220_1的数量可以被不同地选择。在一些示例实施例中,处理器1210_1和存储器1220_1可提供处理器-存储器对。在一些示例实施例中,处理器1210_1的数量可以与存储器1220_1的数量不同。处理器1210_1可以包括单核处理器或多核处理器。
开关1230_1可以经由处理器1210_1的控制选择性地将处理器1210_1连接到存储装置1250_1和/或选择性地将NIC 1240_1连接到存储装置1250_1。
在一些示例实施例中,NIC 1240_1可以包括网络接口卡和/或网络适配器。NIC1240_1可以通过有线接口、无线接口、蓝牙接口、和/或光接口连接到网络NT。NIC 1240_1可以包括内部存储器、数字信号处理器(DSP)、和/或主机总线接口,并且可以通过主机总线接口连接到处理器1210_1和/或开关1230_1。主机总线接口可以通过使用各种接口方案实现,诸如ATA、SATA、e-SATA、SCSI、SAS、PCI、PCIe、NVMe、IEEE 1394、USB接口、SD卡接口、MMC接口、eMMC接口、UFS接口、eUFS接口、和/或CF卡接口。在一些示例实施例中,NIC 1240_1可以与处理器1210_1、开关1230_1、和/或存储装置1250_1中的至少一个集成。
存储装置1250_1可以在处理器1210_1的控制下存储数据和/或输出存储的数据。存储装置1250_1可以包括控制器(CTRL)1251_1、非易失性存储器1252_1、DRAM 1253_1、和/或接口(I/F)1254_1。在一些示例实施例中,存储装置1250_1可以被实现为ZNS SSD。
控制器1251_1可以控制存储装置1250_1的常规操作。在一些示例实施例中,根据目标分区的更新后的状态,控制器1251_1向目标分区分配非易失性存储器1252_1的第一类型存储器块或第二类型存储器块,或取消分配向目标分区分配的存储器块。
DRAM 1253_1可以临时存储(或缓冲)将要写至非易失性存储器1252_1的数据和/或从非易失性存储器1252_1读取的数据。DRAM1253_1可以被配置为存储控制器1251_1操作所需的或足够控制器1251_1操作的各种数据(例如,元数据、映射数据等)。接口1254_1可以提供处理器1210_1、开关1230_1、和/或NIC 1240_1与控制器1251_1之间的物理连接。在一些示例实施例中,接口1254_1可以通过DAS(直连存储)方法实现,以使用专用电缆直接连接存储装置1250_1。在一些示例实施例中,接口1254_1可以基于以上针对主机总线接口所描述的各种接口中的至少一种来进行配置。
提供了上述存储服务器1200_1的配置作为示例,本发明构思的范围不限于此。上述存储服务器1200_1的配置可以应用于其它的存储服务器或者多个应用服务器中的每一个或者一个或多个。在一些示例实施例中,在多个应用服务器1100_1至1100_n中的每一个或者一个或多个中,可以选择性地省略存储装置1150_1至1150_n中的每一个或者一个或多个。
应用服务器1100_1至1100_n可以通过网络NT与存储服务器1200_1至1200_m通信。网络NT可以通过使用光纤通道(FC)和/或以太网实现。在这种情况下,FC可以是用于相对高速数据传输的介质,并且其使用高性能和高可用性的光开关。根据网络NT的访问方法,可以提供存储服务器1200_1至1200_m作为文件存储、块存储和/或对象存储。
在一些示例实施例中,网络NT可以是存储专用网络,诸如存储区域网络(SAN)。例如,SAN可以是使用FC网络并且根据FC协议(FCP)实现的FC-SAN。又例如,SAN可以是使用传输控制协议(TCP)/因特网协议(IP)网络并且根据TCP/IP上SCSI(SCSI over TCP/IP)或因特网SCSI(iSCSI)协议实现的IP-SAN。在一些示例实施例中,网络NT可以是通用网络,诸如TCP/IP网络。例如,网络NT可以根据诸如以太网FC(FC over Ethernet,FCoE)、网络附加存储(NAS)、和/或基于网络结构的NVMe(NVMe over Fabrics,NVMe-oF)的协议实现。
在一些示例实施例中,多个应用服务器1100_1至1100_n中的至少一个可以被配置为通过网络NT访问多个应用服务器1100_1至1100_n中的至少另一个和/或多个存储服务器1200_1至1200_m中的至少一个。
应用服务器1100_1可以通过网络NT将由用户或客户要求存储的数据存储在存储服务器1200_1至1200_m中的一个中。此外,应用服务器1100_1可以通过网络NT从存储服务器1200_1至1200_m中的一个获得由用户或客户要求读取的数据。例如,应用服务器1100_1可以被实现为网页服务器和/或数据库管理系统(DBMS)。
应用服务器1100_1可以通过网络NT访问另一个应用服务器1100_n中包括的存储器1120_n和/或存储装置1150_n。可替换地,应用服务器1100_1的处理器1110_1可以通过网络NT访问存储服务器1200_1的存储器1220_1和/或存储装置1250_1。因此,应用服务器1100_1可以对在应用服务器1100_1至1100_n中存储的数据和/或在存储服务器1200_1至1200_m中存储的数据执行各种操作。例如,应用服务器1100_1可以执行用于在应用服务器1100_1至1100_n和/或存储服务器1200_1至1200_m之间移动和/或复制数据的指令。在这种情况下,可以将数据从存储服务器1200_1至1200_m的存储装置1250_1至1250_m直接或通过存储服务器1200_1至1200_m的存储器1220_1至1220_m移动到应用服务器1100_1至1100_n的存储器1120_1至1120_n。通过网络NT移动的数据可以是为了安全和/或隐私而加密的数据。
在一些示例实施例中,存储装置1150_1至1150_n和存储装置1250_1至1250_m中的每一个或者一个或多个可以是参照图1至图13所述的存储装置,并且可以被配置为执行各种块分配操作和各种块取消分配操作。如上所述,根据目标分区的更新后的状态,存储装置1150_1至1150_n和存储装置1250_1至1250_m可以向目标分区分配第一类型存储器块或第二类型存储器块,或可以取消分配向目标分区分配的存储器块。
在上文中公开的一个或多个元件可以包括一个或多个处理电路或在一个或多个处理电路中实现,所述一个或多个处理电路诸如为:包括逻辑电路的硬件;硬件/软件组合,诸如执行软件的处理器;或者它们的组合。例如,更具体地,处理电路可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微型处理器、专用集成电路(ASIC)等。
根据本发明构思的一些示例实施例,提供了一种管理不同类型的块的存储控制器、所述存储控制器的操作方法、以及包括所述存储控制器的存储装置的操作方法。
此外,由于存储控制器在大容量存储器块中管理写完的数据,并且在高可靠性存储器块中管理正在写处理的数据,因此存储控制器保证或增加写操作的可靠性,并且高效地管理大量的数据。
尽管已经参照本发明构思的一些示例实施例描述了本发明构思,但是对于本领域的普通技术人员来说显而易见的是,可以在不脱离所附权利要求中阐述的本发明构思的精神和范围的情况下对其进行各种改变和修改。
Claims (20)
1.一种存储控制器的操作方法,所述存储控制器与主机和非易失性存储器装置通信,所述方法包括:
从所述主机接收指示多个分区中的第一分区的第一请求;
响应于所述第一请求,将所述第一分区的状态设置为活动状态;
向更新为所述活动状态的所述第一分区分配所述非易失性存储器装置的多个存储器块中的第一存储器块;以及
将与所述第一请求相对应的用户数据存储在所述第一存储器块中,
其中,所述第一存储器块的可靠性高于分配给所述多个分区中具有非活动状态的第二分区的第二存储器块的可靠性,并且
其中,所述存储控制器支持非易失性存储器快速的分区命名空间标准。
2.根据权利要求1所述的方法,还包括:
将所述用户数据存储在所述第一存储器块后,从所述主机接收指示所述第一分区的第二请求;
响应于所述第二请求,将所述第一分区的所述状态设置为满状态;
向更新为所述满状态的所述第一分区分配所述第二存储器块;以及
将存储在所述第一存储器块中的所述用户数据复制到所述第二存储器块。
3.根据权利要求2所述的方法,还包括:
响应于将所述第一分区中的所述第一存储器块的所述用户数据复制到所述第二存储器块,丢弃所述第一存储器块。
4.根据权利要求1所述的方法,还包括:
将所述用户数据存储在所述第一存储器块中后,从所述主机接收指示所述第一分区的第三请求;
响应于所述第三请求,将所述第一分区的所述状态设置为空状态;
取消分配向所述第一分区分配的所述第一存储器块;以及
删除存储在所述第一存储器块中的所述用户数据。
5.根据权利要求1所述的方法,其中,分配所述第一存储器块包括:
向所述第一分区分配所述多个存储器块中的第三存储器块、第四存储器块、以及第五存储器块。
6.根据权利要求5所述的方法,其中,所述第一存储器块、所述第三存储器块、所述第四存储器块、以及所述第五存储器块中的每一个的每个单元存储的数据比特的数量小于所述第二存储器块的每个单元存储的数据比特的数量。
7.根据权利要求6所述的方法,其中,所述第一存储器块、所述第三存储器块、所述第四存储器块、以及所述第五存储器块中的每一个是单层单元存储器块,并且所述第二存储器块是四层单元存储器块。
8.根据权利要求5所述的方法,其中,存储所述用户数据包括:
将所述用户数据顺序地存储在所述第一存储器块、所述第三存储器块、所述第四存储器块、以及所述第五存储器块中。
9.根据权利要求7所述的方法,还包括:
将所述用户数据顺序地存储在所述第一存储器块、所述第三存储器块、所述第四存储器块、以及所述第五存储器块中后,确定所述第一存储器块、所述第三存储器块、所述第四存储器块、以及所述第五存储器块中是否存在可用容量;
响应于确定所述第一存储器块、所述第三存储器块、所述第四存储器块、以及所述第五存储器块中不存在所述可用容量,向所述第一分区分配所述第二存储器块;以及
将存储在所述第一存储器块、所述第三存储器块、所述第四存储器块、以及所述第五存储器块中的所述用户数据顺序地复制到所述第二存储器块。
10.根据权利要求1所述的方法,其中,所述第一请求指示转换到所述分区命名空间标准的分区空间隐式开放状态或分区空间显式开放状态,并且
其中,所述活动状态包括:所述分区空间隐式开放状态、所述分区空间显式开放状态、或所述分区命名空间标准的分区空间关闭状态,并且
其中,所述非活动状态指示所述分区命名空间标准的分区空间空状态。
11.一种存储控制器,包括:
处理电路,其被配置为:
根据主机的请求,改变多个分区中的目标分区的状态,
响应于所述目标分区的改变后的状态是活动状态,向所述目标分区分配非易失性存储器装置中的多个存储器块中的第一存储器块;以及
缓冲器存储器,其被配置为将与所述主机的所述请求相对应的目标数据存储在所述第一存储器块中,
其中,所述存储控制器支持非易失性存储器快速的分区命名空间标准,并且
其中,所述第一存储器块的可靠性高于分配给所述多个分区中具有非活动状态的分区的第二存储器块的可靠性。
12.根据权利要求11所述的存储控制器,其中,所述处理电路还被配置为:
响应于所述目标分区的所述改变后的状态是满状态,向所述目标分区分配所述第二存储器块,并且
其中,所述缓冲器存储器还被配置为:
将存储在所述第一存储器块中的目标数据复制到所述第二存储器块。
13.根据权利要求11所述的存储控制器,其中,所述处理电路还被配置为:
响应于所述目标分区的所述改变后的状态是空状态,取消分配向所述目标分区分配的所述第一存储器块,并且
其中,所述缓冲器存储器还被配置为:
删除存储在所述第一存储器块中的所述目标数据。
14.根据权利要求11所述的存储控制器,其中,所述处理电路还被配置为:
响应于所述目标分区的所述改变后的状态是活动状态,向所述目标分区分配所述多个存储器块中的第三存储器块、第四存储器块、以及第五存储器块。
15.根据权利要求14所述的存储控制器,其中,所述第一存储器块、所述第三存储器块、所述第四存储器块、以及所述第五存储器块中的每一个的每个单元存储的数据比特的数量小于所述第二存储器块的每个单元存储的数据比特的数量。
16.根据权利要求15所述的存储控制器,其中,所述第一存储器块、所述第三存储器块、所述第四存储器块、以及所述第五存储器块中的每一个是单层单元存储器块,并且所述第二存储器块是四层单元存储器块。
17.根据权利要求11所述的存储控制器,其中,所述处理电路还被配置为:
经由分区命名空间表管理所述多个分区中的每一个的状态信息和各自指示分配给所述多个分区中的每一个的块的多个块分配信息。
18.一种存储装置的操作方法,所述存储装置与主机通信,所述方法包括,
从所述主机接收指示多个分区中的第一分区的第一请求;
响应于所述第一请求,将所述第一分区的状态设置为活动状态;
向更新为所述活动状态的所述第一分区分配非易失性存储器装置的多个存储器块中的第一存储器块;以及
将与所述第一请求相对应的用户数据存储在所述第一存储器块中,
其中,所述第一存储器块的可靠性高于分配给所述多个分区中具有非活动状态的第二分区的第二存储器块的可靠性,并且
其中,所述存储控制器支持非易失性存储器快速的分区命名空间标准。
19.根据权利要求18所述的方法,还包括:
将所述用户数据存储在所述第一存储器块中后,从所述主机接收指示所述第一分区的第二请求;
响应于所述第二请求,将所述第一分区的所述状态设置为满状态;
向更新为所述满状态的所述第一分区分配所述第二存储器块;以及
将存储在所述第一存储器块中的所述用户数据复制到所述第二存储器块。
20.根据权利要求18所述的方法,还包括:
将所述用户数据存储在所述第一存储器块中后,从所述主机接收指示所述第一分区的第三请求;
响应于所述第三请求,将所述第一分区的所述状态设置为空状态;
取消分配向所述第一分区分配的所述第一存储器块;以及
删除存储在所述第一存储器块中的所述用户数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0011494 | 2022-01-26 | ||
KR1020220064866A KR20230115197A (ko) | 2022-01-26 | 2022-05-26 | 다른 타입의 블록들을 관리하는 스토리지 컨트롤러, 이의 동작 방법, 및 이를 포함하는 스토리지 장치의 동작하는 방법 |
KR10-2022-0064866 | 2022-05-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501243A true CN116501243A (zh) | 2023-07-28 |
Family
ID=87327273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310055420.9A Pending CN116501243A (zh) | 2022-01-26 | 2023-01-19 | 存储控制器及其操作方法、存储装置的操作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501243A (zh) |
-
2023
- 2023-01-19 CN CN202310055420.9A patent/CN116501243A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11467955B2 (en) | Memory system and method for controlling nonvolatile memory | |
US11669444B2 (en) | Computing system and method for controlling storage device | |
US11029853B2 (en) | Dynamic segment allocation for write requests by a storage system | |
CN108509480B (zh) | 配置为执行非阻塞控制更新操作的数据存储设备 | |
US10782903B2 (en) | Memory system and method for controlling nonvolatile memory | |
US10235069B2 (en) | Load balancing by dynamically transferring memory range assignments | |
US12093172B2 (en) | Memory system and method of controlling nonvolatile memory | |
US20240264776A1 (en) | Memory system and method of controlling nonvolatile memory and for reducing a buffer size | |
US20230273750A1 (en) | Memory system and method of controlling nonvolatile memory with checking a total size indicative of a sum of data length specified by a write command | |
US20130173855A1 (en) | Method of operating storage device including volatile memory and nonvolatile memory | |
CN115458013A (zh) | 存储装置及其操作方法 | |
US20240053917A1 (en) | Storage device, operation method of storage device, and storage system using the same | |
US20230350832A1 (en) | Storage device, memory device, and system including storage device and memory device | |
KR102589609B1 (ko) | 분할된 저장장치에서의 스냅샷 관리 | |
US20230084539A1 (en) | Computational storage device and storage system including the computational storage device | |
US11182329B2 (en) | Data processing system and operating method thereof | |
EP4220414A1 (en) | Storage controller managing different types of blocks, operating method thereof, and operating method of storage device including the same | |
CN116501243A (zh) | 存储控制器及其操作方法、存储装置的操作方法 | |
US20230236737A1 (en) | Storage Controller Managing Different Types Of Blocks, Operating Method Thereof, And Operating Method Of Storage Device Including The Same | |
KR20230115197A (ko) | 다른 타입의 블록들을 관리하는 스토리지 컨트롤러, 이의 동작 방법, 및 이를 포함하는 스토리지 장치의 동작하는 방법 | |
US20230376238A1 (en) | Computing system for managing distributed storage devices, and method of operating the same | |
US11663128B1 (en) | Techniques for performing metadata updates for cache consistency | |
US20230359379A1 (en) | Computing system generating map data, and method of operating the same | |
US20230359389A1 (en) | Operation method of host configured to communicate with storage devices and memory devices, and system including storage devices and memory devices | |
US20230359567A1 (en) | Storage device, computing device including storage device and memory device, and operating method of computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |