CN117055816A - 配置zns ssd的区域的方法和装置 - Google Patents
配置zns ssd的区域的方法和装置 Download PDFInfo
- Publication number
- CN117055816A CN117055816A CN202311062771.9A CN202311062771A CN117055816A CN 117055816 A CN117055816 A CN 117055816A CN 202311062771 A CN202311062771 A CN 202311062771A CN 117055816 A CN117055816 A CN 117055816A
- Authority
- CN
- China
- Prior art keywords
- size
- zns
- ssd
- region
- regions
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000007787 solid Substances 0.000 claims abstract description 17
- 230000015654 memory Effects 0.000 claims description 83
- 230000005540 biological transmission Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 16
- 230000014509 gene expression Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 238000012005 ligant binding assay Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101150104728 GPR88 gene Proteins 0.000 description 1
- 102100038404 Probable G-protein coupled receptor 88 Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect 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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on 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/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/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]
Abstract
提供了一种配置区域命名空间(ZNS)固态驱动器(SSD)的区域的方法和装置,所述方法包括:确定所述ZNS SSD的存储空间将被划分为的区域的尺寸以及具有每种尺寸的区域的数量;以及将指示所述区域的尺寸以及所述数量的信息发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有不同尺寸的区域。
Description
技术领域
本申请涉及数据存储技术领域,更具体地,涉及一种配置区域命名空间(ZonedNamespace,ZNS)固态驱动器(Solid State Driver,SSD)的区域的方法和装置。
背景技术
ZNS SSD的存储空间可被划分为多个分区或区域(Zone),ZNS SSD将其Zone暴露给主机,从而使得主机可将数据写入特定的Zone。现有的ZNS SSD的区域的尺寸是固定的,例如,三星ZNS SSD的区域可具有固定的较小尺寸,西数ZNS SSD的区域可具有固定的较大尺寸。
当ZNS SSD的区域的尺寸较小时,区域跨越较少的晶粒(die),因此,针对区域的数据传输带宽较小;当ZNS SSD的区域的尺寸较大时,区域跨越较多的晶粒(die),因此,可以提高针对区域的数据传输带宽。当区域的尺寸较大时,该区域可能存储具有不同寿命的文件,因此该区域存储的文件可能无法被同时无效,从而导致该区域无法被及时重置回收,在这种情况下,ZNS SSD的存储空间利用率低。
因此,如何平衡ZNS SSD的数据传输带宽和存储空间利用率是是亟需解决的问题。
发明内容
本发明的目的在于提供一种配置ZNS SSD的区域(Zone)的方法和装置。所述实现方法和装置能够平衡ZNS SSD的区域的数据传输带宽和存储空间利用率。
根据本公开的示例性实施例的一方面,提供了一种配置ZNS SSD的区域的方法,包括:确定所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型尺寸的区域的数量;将指示所述区域的尺寸的类型以及所述数量的信息发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有不同尺寸的区域。
根据本公开的实施例,主机端可以根据具体需要更灵活地配置区域的尺寸的类型和各类型的尺寸的区域的数量,从而充分发挥大区域带宽高、小区域空间利用率高的各自优势。
可选地,确定所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量的步骤包括:确定具有第一尺寸区域的第一数量以及具有第二尺寸的区域的第二数量;以及将指示所述区域的尺寸的类型以及所述数量的信息发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有不同尺寸的区域的步骤包括:将第一尺寸、第一数量、第二尺寸以及第二数量发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有第一尺寸的第一数量的区域和具有第二尺寸的第二数量的区域。
可选地,每个具有第一尺寸的区域跨越所述ZNS SSD的第三数量的NAND晶粒die,每个具有第二尺寸的区域跨越所述ZNS SSD的第四数量的NAND die,其中,第三数量小于第四数量且第一尺寸小于第二尺寸。
可选地,所述第三数量为1。
可选地,所述方法还包括:接收用户输入,其中,所述用户输入包括第一尺寸、第一数量以及第二尺寸;或者第一尺寸、第二尺寸以及第二数量,以及所述确定步骤包括:基于所述用户输入确定具有第一尺寸区域的第一数量和具有第二尺寸的区域的第二数量。
可选地,所述用户输入与NVMe规范中的特征标识符19h至77h中的之一相应。
根据本公开的另一方面,提供了一种配置ZNS SSD的区域的方法,所述方法包括:从主机接收指示所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量的信息;基于所述信息将所述ZNS SSD的存储空间划分为具有不同尺寸的区域。
根据本公开的示例性实施例的另一方面,提供了一种配置ZNS SSD的区域的装置,包括:确定单元,被配置为确定所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量;发送单元,被配置为将指示所述区域的尺寸的类型以及所述数量的信息发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有不同尺寸的区域。
可选地,所述确定单元被配置为:确定具有第一尺寸的区域的第一数量以及具有第二尺寸区域的第二数量;以及所述发送单元被配置为:将第一尺寸、第一数量、第二尺寸以及第二数量发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分具有第一尺寸的第一数量的区域以及具有第二尺寸的第二数量的区域。
可选地,每个具有第一尺寸的区域跨越所述ZNS SSD的第三数量的NAND晶粒die,每个具有第二尺寸的区域跨越所述ZNS SSD的第四数量的NAND die,其中,第三数量小于第四数量且第一尺寸小于第二尺寸。
可选地,所述第三数量为1。
可选地,所述装置还包括:接收单元,被配置为:接收用户输入,其中,所述用户输入包括第一尺寸、第一数量以及第二尺寸;或者第一尺寸、第二尺寸以及第二数量,以及其中,所述确定单元被配置为:基于所述用户输入确定具有第一尺寸的区域的第一数量和具有第二尺寸的区域的数量。
可选地,所述用户输入与NVMe规范中的特征标识符19h至77h中的之一相应。
根据本公开的示例性实施例的另一方面,提供了一种ZNS SSD,包括:接收单元,被配置为从主机接收指示所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量的信息;划分单元,被配置为:基于所述信息将所述ZNS SSD的存储空间划分为具有不同尺寸的区域。
根据本公开的示例性实施例的另一方面,提供了一种电子装置,包括:存储器,被配置为存储一个或更多个指令;存储装置,被配置为执行如本文所述的由ZNS SSD执行的配置ZNS SSD的区域的方法;以及主处理器,被配置为执行所述一个或更多个指令以使得所述主处理器执行如本所述的由主机执行的配置ZNS SSD的区域的方法。
根据本公开的示例性实施例的另一方面,提供了一种主机存储系统,包括:主机,包括主机存储器和主机控制器;以及存储装置,被配置为执行如本文所述的由ZNS SSD执行的配置ZNS SSD的区域的方法,其中,所述主机控制器被配置为执行如本文所述的由主机执行的配置ZNS SSD的区域的方法。
根据本公开的示例性实施例的另一方面,提供了一种数据中心系统,包括:多个应用服务器;以及多个存储服务器,其中,所述多个应用服务器中的每一个被配置为执行如本文所述的由应用服务器执行的配置ZNS SSD的区域的方法和/或所述多个存储服务器中的每一个被配置为执行如本文所述的由存储服务器执行的配置ZNS SSD的区域的方法。
根据本公开的示例性实施例的另一方面,提供了一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时使得所述处理器实现如本文所述的配置ZNS SSD的区域的方法。
附图说明
通过下面结合示例性地示出实施例的附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1示出了针对ZNS SSD的区域的数据传输带宽与区域的尺寸的关系的示意图。
图2示出了ZNS SSD的区域的空间利用率与区域的尺寸的关系的示意图;
图3示出了根据本公开的实施例的配置ZNS SSD的区域的方法流程图;
图4示出了根据本公开的实施例配置ZNS SSD的区域Zone的方法的流程图;
图5是示出示出Zone与逻辑块地址(Logic Block Address,LBA)之间的映射关系的示图;
图6示出了根据本公开的实施例的配置ZNS SSD的区域的装置的结构的框图;
图7示出了根据本公开的实施例的ZNS SSD的结构的框图;
图8为根据本公开的实施例的电子装置的示意图;
图9是根据本公开实施例的主机存储系统的框图;以及
图10为根据本公开的实施例的应用了存储装置的数据中心的示图
具体实施方式
在下文中,参照附图对本公开的各种示例性实施例进行描述,其中,相同的标号用于表示相同或相似的元件、特征和结构。然而,不旨在由本文所述的各种实施例将本公开限制于具体实施例,并且旨在于:本公开覆盖本公开的所有修改、等同物和/或替代物,只要它们在所附权利要求及其等同物的范围内。在以下说明书和权利要求书中使用的术语和词语不限于它们的词典含义,而是仅被用于使得能够清楚和一致地理解本公开。因此,对于本领域技术人员应显而易见的是:提供本公开的各种实施例的以下描述仅用于说明的目的,而不是为了限制由所附权利要求和它们的等同物限定的本公开的目的。
应理解,除非上下文另外明确指出,否则单数形式包括复数形式。本文使用的术语“包括”、“包含”和“具有”指示公开的功能、操作或元件的存在,但不排除其它功能、操作或元件。
例如,表述“A或B”、或“A和/或B中的至少一个”可指示A和B、A或者B。例如,表述“A或B”或“A和/或B中的至少一个”可指示(1)A、(2)B或(3)A和B两者。
在本公开的各种实施例中,意图是:当组件(例如,第一组件)被称为与另一组件(例如,第二组件)“耦接”或“连接”或者被“耦接”或者“连接”到另一组件(例如,第二组件)时,所述组件可被直接连接到所述另一组件,或者可通过另一组件(例如,第三组件)被连接。相比之下,当组件(例如,第一组件)被称为与另一组件(例如,第二组件)“直接耦接”或“直接连接”或者被直接耦接到或直接连接到另一组件(例如,第二组件)时,在所述组件和所述另一组件之间不存在另一组件(例如,第三组件)。
在描述本公开的各种实施例中使用的表述“被配置为”可以例如根据情况与诸如“适用于”、“具有…的能力”、“被设计为”、“适合于”、“被制造为”和“能够”的表述互换使用。术语“被配置为”可不一定指示按照硬件“被专门设计为”。相反,在一些情况下的表述“被配置为...的装置”可指示所述装置和另一装置或者部分“能够…”。例如,表述“被配置为执行A、B和C的处理器”可指示用于执行相应操作的专用处理器(例如,嵌入式处理器)或用于通过执行存储在存储器装置中的至少一个软件程序来执行相应的操作的通用处理器(例如,中央处理单元CPU或应用处理器(AP))。
本文使用的术语在于描述本公开的某些实施例,但并不旨在限制其它实施例的范围。除非本文另外指出,否则本文使用的所有术语(包括技术或科学术语)可具有与本领域技术人员通常理解的含义相同含义。通常,词典中定义的术语应被视为具有与相关领域中的上下文含义相同的含义,并且,除非本文明确地定义,否则不应被不同地理解或被理解为具有过于正式的含义。在任何情况下,本公开中定义的术语也不旨在被解释为排除本公开的实施例。
图1示出了针对ZNS SSD的区域(Zone)的数据传输带宽与区域的尺寸的关系的示意图。
参照图1中的a),当ZNS SSD的区域的尺寸较大时,其可以跨越多个晶粒,这样能够保证较高的数据传输带宽。参照图1中的b),当区域的尺寸较小时,其仅跨越单个晶粒,这样针对区域的数据传输带宽小,从而降低数据传输性能。
图2示出了ZNS SSD的区域的空间利用率与区域的尺寸的关系的示意图。
参照图2中的a),当ZNS SSD的区域的尺寸较大时,其可能存储具有不同寿命的文件(File),这样存储的文件无法被同时删除,这导致区域无法被及时回收。例如,区域0中的文件D因其寿命到期而被删除,但是文件A、文件B和文件C的寿命未到期,这样即便文件D是无用文件,由于区域0无法被回收,因此,文件D仍然占用存储空间。参照图2中的b),当区域的尺寸较小时,区域存储的文件可能具有相同的寿命,因此,区域中的文件可被同时删除,从而提高区域的空间利用率。例如,区域3中的文件D因其寿命到期而被删除,因此区域3可被重置,从而保证区域3能够被及时回收利用。
如上所述,区域的尺寸较大,会导致较多文件碎片,从而降低存储空间利用率,区域的尺寸较小,其跨越较少的晶粒,从而导致数据传输带宽较低,现有的ZNS SSD无法有效平衡数据传输带宽与空间利用率。
本公开的配置ZNS SSD的区域的方法和装置能够至少解决上述问题。
图3示出了根据本公开的实施例的配置ZNS SSD的区域的方法流程图。
参照图3,在步骤S301,确定所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量。
在步骤S302,将指示所述区域的尺寸的类型以及所述数量的信息发送到所述ZNSSSD以使得所述ZNS SSD的存储空间被划分为具有不同尺寸的区域。也就是说,所述信息被ZNS SSD用于将其存储空间划分为具有不同类型的尺寸的区域。
本领域技术人员应当理解,这里的划分指的是物理上的划分,而非逻辑上的划分。例如,对任何一个具有特定尺寸的区域,仅当该区域上的数据均无效时,才能被回收,而当该区域上的部分数据为有效时,该区域无法被部分回收。本领域技术人员应当理解,所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型可以是两种或更多种类型。为了便于描述,下文中以所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型为两种类型为例进行说明。
作为示例,步骤S301可包括:确定具有第一尺寸的区域的第一数量以及具有第二尺寸的区域的第二数量;步骤S302可包括:将第一尺寸、第一数量、第二尺寸以及第二数量发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分具有第一尺寸的第一数量的区域和具有第二尺寸的第二数量的区域。
作为示例,每个具有第一尺寸的区域跨越所述ZNS SSD的第三数量的NAND晶粒(die),每个具有第二尺寸的区域跨越所述ZNS SSD的第四数量的NAND die,其中,第三数量小于第四数量且第一尺寸小于第二尺寸。
作为示例,所述第三数量为1。
作为示例,所述方法还可包括:接收用户输入,其中,所述用户输入包括第一尺寸、第一数量以及第二尺寸;或者第一尺寸、、第二尺寸以及第二数量,以及所述确定具有第一尺寸的区域的第一数量以及具有第二尺寸的区域的第二数量的步骤可包括:基于所述用户输入确定具有第一尺寸的区域的第一数量以及具有第二尺寸的区域的第二数量。
具体地,当用户输入包括第一尺寸、第一数量以及第二尺寸时,计算的第二数量可能不是整数,此时,将数量取整,这样,当ZNS SSD的空间被划分后,除了具有第一尺寸的区域和具有第二尺寸的区域,还存在预留空间。例如,基于所述ZNS SSD的存储空间、第一尺寸、第一数量以及第二尺寸计算出第二数量为100.5,则将第二数量可被确定为100,这样,ZNS SSD将会存在0.5m的预留空间,其中,m表示第二尺寸。
同样地,当用户输入包括第一尺寸、第二尺寸以及第二数量时,计算的第一数量可能不是整数,此时,将数量取整,这样,当ZNS SSD的空间被划分后,除了具有第一尺寸的区域和具有第二尺寸的第二区域,还存在预留空间。
作为示例,可在NVMe规范中增加了一条命令用于设置划分ZNS SSD的存储空间的信息,例如,小区域的尺寸(例如,第一尺寸)、大区域的尺寸(例如,第二尺寸)和小区域的数量(例如,第一数量);或者小区域的尺寸(例如,第一尺寸)、大区域的尺寸(例如,第二尺寸)和大区域的数量(例如,第二数量)。
作为示例,所述用户输入可与NVMe规范中的特征标识符19h至77h中的之一相应。
由于特征标识符19h至77h是预留的特征标识符,这样的扩展几乎不会增加很多成本和复杂性,从而保留了ZNS SSD的精简特性。
作为示例,可设置NVMe规范中的特征标识符19h为用于设置划分ZNS SSD的存储空间的信息的特征标识符,表1示出了该特征标识符19h的属性信息。
表1
参照表1,小区域的数量可由标识符19h的31-12位表示,大区域的尺寸可由标识符19h的11-08位表示,小区域的尺寸可由标识符19h的07-00位表示。
例如,当标识符19h用作设置ZNS SSD的区域划分信息的标识符时,可通过例如主机来输入与上述三个字段对应的数值,从而来设置标识符19h(即设置用于配置ZNS SSD的区域的信息)。
例如,可基于命令:nvme set-feature/dev/nvme0-Ox19/dev/nvme0n1-v0xXX来设置标识符19h的属性。例如,若小区域尺寸为32MB(0x20)、大区域尺寸为2GB(0x02),小区域数量为10240(0x2800),则那么–v=0x2800220。
基于该命令信息以及ZNS SSD的存储空间的大小,主机可确定大区域数量。本领域技术人员应当理解,也可基于特征标识符19h设置大区域数量而不设置小区域数量,这样主机可基于特征标识符19h的属性信息以及ZNS SSD的存储空间的大小确定小区域数量。
图4示出了根据本公开的实施例配置ZNS SSD的区域Zone的方法的流程图。
参照图4,在步骤S401,从主机接收指示所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量的信息。
在步骤S402,基于所述信息将所述ZNS SSD的存储空间划分为具有不同尺寸的区域。
上文中已经描述了主机如何确定所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量,因此,ZNS SSD可基于指示所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量的信息来划分ZNS SSD的存储空间。
图5示出了Zone与LBA之间的映射关系。参照图5,根据从主机接收的配置信息,ZNSSSD可通过区域闪存转换层(Flash Translation Layer,FTL)将M个小区域和N个大区域与LBA进行映射以将ZNS SSD的存储空间划分为M个小区域和N个大区域,此外,由于计算的大区域数量可能不是整数,因此,ZNS SSD还可具有预留空间。
根据本公开的实施例,主机端可以根据具体需要更灵活地配置区域的大小的类型和各类型的尺寸的区域的数量以充分发挥大区域带宽高、小区域空间利用率高的各自优势。
以上参照图1至图5对根据本公开的实施例的配置ZNS SSD的区域的方法进行了描述,下面参照图6至图10对根据本公开的实施例的配置ZNS SSD的区域的装置、ZNS SSD、电子装置、存储系统以及数据中心进行描述。
图6示出了根据本公开的实施例的配置ZNS SSD的区域的装置600的结构的框图。
参照图6,配置ZNS SSD的区域的装置600可包括确定单元601和发送单元602。本领域技术人员应当理解,配置ZNS SSD的区域的装置600可另外包括其它组件,并且配置ZNSSSD的区域的装置600包括的组件中的至少一个可被组合或者拆分。
作为示例,确定单元601可被配置为确定所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量。
作为示例,发送单元602可被配置为将指示所述区域的尺寸的类型以及所述数量的信息发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有不同尺寸的区域。
作为示例,所述确定单元601可被配置为:确定具有第一尺寸的区域的第一数量以及具有第二尺寸区域的第二数量。
作为示例,所述发送单元602可被配置为:将第一尺寸、第一数量、第二尺寸以及第二数量发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分具有第一尺寸的第一数量的区域以及具有第二尺寸的第二数量的区域。
作为示例,每个具有第一尺寸的区域跨越所述ZNS SSD的第三数量的NAND晶粒die,每个具有第二尺寸的区域跨越所述ZNS SSD的第四数量的NAND die,其中,第三数量小于第四数量且第一尺寸小于第二尺寸。
作为示例,所述第三数量为1。
作为示例,所述配置ZNS SSD的区域的装置600还可包括:接收单元(未示出),被配置为:接收用户输入,其中,所述用户输入包括第一尺寸、第一数量以及第二尺寸;或者第一尺寸、第二尺寸以及第二数量。
作为示例,所述确定单元601可被配置为:基于所述用户输入确定具有第一尺寸的区域的第一数量和具有第二尺寸的区域的数量。
作为示例,所述用户输入与NVMe规范中的特征标识符19h至77h中的之一相应。
图7示出了根据本公开的实施例的ZNS SSD 700的结构的框图。
参照图7,ZNS SSD 700可包括:接收单元701和划分单元702。本领域技术人员应当理解,ZNS SSD 700可另外包括其它组件,并且ZNS SSD 700包括的组件中的至少一个可被组合或者拆分。
作为示例,接收单元701被配置为从主机接收指示所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量的信息。
作为示例,划分单元702被被配置为:基于所述信息将所述ZNS SSD的存储空间划分为具有不同尺寸的区域。
根据本公开的实施例,提供了一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时使得所述处理器实现如本文所述的配置ZNS SSD的区域的方法。
图8为根据本公开的实施例的电子装置1000的示意图。
图8的电子装置1000基本上可以是移动系统,例如便携式通信终端(例如,移动电话)、智能手机、平板个人计算机(PC)、可穿戴装置、医疗保健装置或物联网(IOT)装置。但是,图8的电子装置1000不必限于移动系统,其可以是PC、膝上型计算机、服务器、媒体播放器或汽车装置(例如,导航装置)。
参照图8,电子装置1000可以包括主处理器1100、存储器(例如,1200a和1200b)以及存储装置(例如,1300a和1300b)。并且,电子装置1000可以包括图像捕获装置1410、用户输入装置1420、传感器1430、通信装置1440、显示器1450、扬声器1460、供电装置1470以及连接接口1480中的至少一个。
主处理器1100可以控制电子装置1000的所有操作,更具体地,可以控制电子装置1000中包括的其他组件的操作。主处理器1100可以被实现为通用处理器、专用处理器或应用程序处理器等。
主处理器1100可以包括至少一个中央处理器(CPU)核1110,并且还包括控制器1120,其用于控制存储器1200a和1200b和/或存储装置1300a和1300b。在一些实施例中,主处理器1100可以进一步包括加速器1130,其是用于诸如人工智能(AI)数据操作等的高速数据操作的专用电路。加速器1130可以包括图形处理单元(GPU)、神经处理单元(NPU)和/或数据处理单元(DPU)等,并且被实现为与主处理器1100的其他组件物理上分离的芯片。
存储器1200a和1200b可以用作电子装置1000的主存储装置。尽管存储器1200a和1200b可以分别包括易失性存储器,例如静态随机存取存储器(SRAM)和/或动态随机存取存储器(DRAM)等,但是存储器1200a和1200b可以分别包括非易失性存储器,例如闪存、相变随机存取存储器(PRAM)和/或电阻式随机存取存储器(RRAM)等。存储器1200a和1200b可以在与主处理器1100相同的封装中实现。
存储装置1300a和1300b可以用作非易失性存储装置,其被配置为不管是否被供电都存储数据,并且具有比存储器1200a和1200b更大的存储容量。存储装置1300a和1300b可以分别包括存储器控制器(STRG CTRL)1310a和1310b以及非易失性存储器(NVM)1320a和1320b,其被配置为经由存储器控制器1310a和1310b的控制来存储数据。尽管NVM 1320a和1320b可以包括具有二维(2D)或三维(3D)结构的V-NAND闪存,但是NVM 1320a和1320b可以包括其他类型的NVM,例如PRAM和/或RRAM等。
存储装置1300a和1300b可以与主处理器1100物理上分离并且包括在电子装置1000中,或者可以在与主处理器1100相同的封装中实现。另外,存储装置1300a和1300b可以具有固态装置(SSDs)或存储卡的类型,并且可以通过诸如稍后将描述的连接接口1480之类的接口与系统100的其他组件可移除地结合。存储装置1300a和1300b可以是应用了诸如通用闪存(UFS)、嵌入式多媒体卡(eMMC)或NVMe之类的标准协议的装置,但不限于此。
图像捕获装置1410可以拍摄静止图像或运动图像。图像捕获装置1410可以包括照相机、便携式摄像机和/或网络摄像头等。
用户输入装置1420可以接收由电子装置1000的用户输入的各种类型的数据,并且包括触摸板、键区、键盘、鼠标和麦克风等。
传感器1430可以检测可以从电子装置1000的外部获得的各种类型的物理量,并将所检测的物理量转换成电信号。传感器1430可以包括温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪传感器等。
通信装置1440可以根据各种通信协议在电子装置1000外部的其他装置之间发送和接收信号。通信装置1440可以包括天线、收发器或调制解调器等。
显示器1450和扬声器1460可以用作输出装置,其被配置为分别向电子装置1000的用户输出视觉信息和听觉信息。
供电装置1470可以适当地转换从嵌入在电子装置1000中的电池(未示出)和/或外部电源供应的电力,并且将所转换的电力供应给电子装置1000的每个组件。
连接接口1480可以提供电子装置1000和外部装置之间的连接,该外部装置连接到电子装置1000并且能够向电子装置1000发送数据和从电子装置1000接收数据。连接接口1480可以通过使用各种接口方案来实现,例如,高级技术附件(ATA)、串行ATA(SATA)、外部串行ATA(e-SATA)、小型计算机系统接口(SCSI)、串行SCSI(SAS)、外部设备互连(PCI)、PCIexpress(PCIe)、NVMe、IEEE 1394、通用串行总线(USB)接口、安全数码(SD)卡接口、多媒体卡(MMC)接口、嵌入式多媒体卡(eMMC)接口、UFS接口、嵌入式UFS(eUFS)接口和紧凑式闪存(CF)卡接口等。
根据本公开的实施例,提供了一种电子装置,包括:存储器(例如,图8中的1200a和1200b),存储一个或更多个指令;存储装置(例如,图8中的1300a和1300b),被配置为执行如本文所述由ZNS SSD执行的配置ZNS SSD的区域的方法;以及主处理器(例如,图8中的1100),被配置为执行所述一个或更多个指令以使得所述主处理执行如本文所述的由例如主机执行的配置ZNS SSD的区域的方法。
图9是根据本公开实施例的主机存储系统10的框图。
主机存储系统10可以包括主机100和存储装置200。此外,存储装置200可以包括存储器控制器210和NVM 220。根据本发明的示例性实施例,主机100可以包括主机控制器110和主机存储器120。主机存储器120可以用作缓冲存储器,其被配置为临时存储要发送到存储装置200的数据或从存储装置200接收的数据。
存储装置200可以包括存储介质,其被配置为响应于来自主机100的请求而存储数据。作为示例,存储装置200可以包括SSD、嵌入式存储器和可装卸的外部存储器中的至少一个。当存储装置200是SSD时,存储装置200可以是符合NVMe标准的装置。当存储装置200是嵌入式存储器或外部存储器时,存储装置200可以是符合UFS标准或eMMC标准的装置。主机100和存储装置200均可以根据采用的标准协议来生成包(packet)并发送该包。
当存储装置200的NVM 220包括闪存时,所述闪存可以包括2D NAND存储阵列或3D(或垂直)NAND(VNAND)存储阵列。作为另一示例,存储装置200可以包括各种其他种类的NVM。例如,存储装置200可以包括磁性随机存取存储器(MRAM)、自旋转移扭矩MRAM、导电桥式RAM(CBRAM)、铁电RAM(FRAM)、PRAM、RRAM以及各种其他类型的存储器。
根据一实施例,主机控制器110和主机存储器120可以实现为单独的半导体芯片。或者,在一些实施例中,主机控制器110和主机存储器120可以集成在同一半导体芯片中。作为示例,主机控制器110可以是包括在应用处理器(AP)中的多个模块中的任何一个。所述AP可以实现为片上系统(SoC)。此外,主机存储器120可以是所述AP中包括的嵌入式存储器或所述AP外部的存储器模块。
主机控制器110可以管理将主机存储器120的缓冲区域的数据(例如,写入数据)存储在NVM 220中的操作或将NVM 220的数据(例如,读取数据)存储在缓冲区域中的操作。
存储器控制器210可以包括主机接口211、存储器接口212和CPU 213。另外,存储器控制器210还可以包括闪存转换层(FTL)、包管理器215、缓冲存储器216、纠错码(ECC)引擎217和高级加密标准(AES)引擎218。存储器控制器210可以进一步包括其中装载有FTL 214的工作存储器(未示出)。CPU 213可以执行FTL 214来控制NVM 220上的数据写入和读取操作。
主机接口211可以向主机100发送包和从主机100接收包。从主机100发送到主机接口211的包可以包括命令或要被写入NVM 220的数据等。从主机接口211发送到主机100的包可以包括对命令的响应或从NVM 220读取的数据等。存储器接口212可以将要被写入NVM220的数据发送到NVM 220或接收从NVM 220读取的数据。存储器接口212可以被配置为符合诸如切换(Toggle)或开放NAND闪存接口(ONFI)的标准协议。
FTL 214可以执行各种功能,例如地址映射操作、磨损均衡操作以及垃圾收集操作。地址映射操作可以是将从主机100接收的逻辑地址转换为用于在NVM 220中实际存储数据的物理地址的操作。磨损均衡操作可以是通过允许均匀地使用NVM 220的块来防止特定块的过度退化的技术。作为示例,磨损均衡操作可以通过使用平衡物理块的擦写计数的固件技术来实现。垃圾收集操作可以是通过在将现有块的有效数据复制到新块之后擦除现有块来确保NVM 220中的可用容量的技术。
包管理器215可以根据同意主机100的接口的协议生成包,或者从从主机100接收到的包中解析各种类型的信息。另外,缓冲存储器216可以临时存储要写入NVM 220的数据或要从NVM 220读取的数据。尽管缓冲存储器216可以是包括在存储器控制器210中的组件,但是缓冲存储器216可以在存储器控制器210的外部。
ECC引擎217可以对从NVM 220读取的读取数据执行错误检测和校正操作。更具体地,ECC引擎217可以生成用于要写入到NVM 220的写入数据的奇偶校验位,并且所生成的奇偶校验位可以与写入数据一起存储在NVM 220中。在从NVM 220读取数据期间,ECC引擎217可以通过使用读取数据以及从NVM 220读取的奇偶校验位来校正读取数据中的错误,并输出错误校正后的读取数据。
AES引擎218可以通过使用对称密钥算法对输入到存储器控制器210的数据执行加密操作和解密操作中的至少一个。
根据本公开的实施例,提供了一种主机存储系统,包括:主机(例如图9中的100),包括主机存储器(例如,图9中的110)和主机控制器(例如,图9中的120);以及存储装置(例如,图9中的200),被配置为执行如本文所述的由ZNS SSD执行的配置ZNS SSD的区域的方法,其中,所述主机控制器被配置为执行如本文所述的由例如主机执行的配置ZNS SSD的区域的方法。
图10为根据本公开的一实施例的应用了存储装置的数据中心3000的示图。
参照图10,数据中心3000可以是收集各种类型的数据并提供服务的设施,并且被称为数据存储中心。数据中心3000可以是用于操作搜索引擎和数据库的系统,并且可以是公司(诸如,银行)或政府机构所使用的计算系统。数据中心3000可以包括应用服务器3100至3100n和存储服务器3200至3200m。根据实施例,可以不同地选择应用3100至3100n的数量和存储服务器3200至3200m的数量。应用服务器3100至3100n的数量和存储服务器3200至3200m的数量可以彼此不同。
应用服务器3100或存储服务器3200可以包括处理器3110和3210以及存储器3120和3220中的至少一个。现在将以存储服务器3200为例进行描述。处理器3210可以控制存储服务器3200的所有操作,访问存储器3220,并且执行加载到存储器3220的指令和/或数据。存储器3220可以是双数据率同步DRAM(DDR SDRAM)、高带宽存储器(HBM)、混合内存立方体(HMC)、双列直插式内存模块(DIMM)、傲腾DIMM(Optane DIMM)或非易失性DIMM(NVMDIMM)。在一些实施例中,存储服务器3200中包括的处理器3210和存储器3220的数量可以被不同地选择。在一实施例中,处理器3210和存储器3220可以提供处理器-存储器对。在一实施例中,处理器3210的数量与存储器3220的数量可以彼此不同。处理器3210可以包括单核处理器或多核处理器。对于存储服务器3200的以上描述可以类似地应用于应用服务器3100。在一些实施例中,应用服务器3100可以不包括存储装置3150。存储服务器3200可以包括至少一个存储装置3250。根据实施例,存储服务器3200中包括的存储装置3250的数量可以被不同地选择。
应用程序服务器3100至3100n可以通过网络3300与存储服务器3200至3200m通信。网络3300可以通过使用光纤信道(FC)或以太网来实现。在这种情况下,FC可以是用于相对高速的数据传输的介质,并且可以使用具有高性能和高可用性的光开关。根据网络3300的访问方法,可以将存储服务器3200至3200m设置为文件存储、块存储或对象存储。
在一实施例中,网络3300可以是专用于存储的网络,例如存储区域网络(SAN)。例如,SAN可以是FC-SAN,其使用FC网络并且根据FC协议(FCP)实现。作为另一示例,SAN可以是因特网协议(IP)-SAN,其使用传输控制协议(TCP)/IP网络并且根据TCP/IP上的SCSI或因特网SCSI(iSCSI)协议来实现。在另一实施例中,网络3300可以是通用网络,例如TCP/IP网络。例如,可以根据诸如以太网上的FC(FCoE)、网络附加存储(NAS)和结构上的NVMe(N VMe-oF)之类的协议来实现网络3300。
在下文中,将主要描述应用服务器3100和存储服务器3200。应用服务器3100的描述可以应用于另一应用服务器3100n,并且存储服务器3200的描述可以应用于另一存储服务器3200m。
应用服务器3100可以通过网络3300将用户或客户端请求存储的数据存储在存储服务器3200至3200m中的一个。此外,应用服务器3100可以通过网络3300从存储服务器3200至3200m中的一个获得由用户或客户端请求读取的数据。例如,应用程序服务器3100可以被实现为网络服务器或数据库管理系统(DB MS)。
应用服务器3100可以通过网络3300访问包括在另一应用服务器3100n中的存储器3120n或存储装置3150n。或者,应用服务器3100可以通过网络3300访问包括在存储服务器3200至3200m中的存储器3220至3220m或存储装置3250至3250m。因此,应用服务器3100可以对存储在应用服务器3100至3100n和/或存储服务器3200至3200m中的数据执行各种操作。例如,应用服务器3100可以执行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或复制数据的指令。在这种情况下,可以将数据从存储服务器3200至3200m的存储装置3250至3250m通过存储服务器3200至3200m的存储器3220至322 0m或直接移动到应用服务器3100至3100n的存储器3120至3120n。通过网络3300移动的数据可以是为了安全或隐私而加密的数据。
现在将以存储服务器3200为例进行描述。接口3254可以提供处理器3210和控制器3251之间的物理连接以及网络接口卡(NIC)3240和控制器3251之间的物理连接。例如,可以使用直接附加存储(DAS)方案来实现接口3254,其中存储装置3250直接与专用电缆连接。例如,接口3254可以通过使用各种接口方案来实现,例如ATA、SATA、e-SATA、SCSI、SAS、PCI、PCIe、NVMe、I EEE 1394、USB接口、SD卡接口、MMC接口、eMMC接口、UFS接口、eUFS接口和CF卡接口。
存储服务器3200可以进一步包括开关3230和网络互连(NIC)3240。开关3230可以经由处理器3210的控制来选择性地将处理器3210连接到存储装置3250,或者选择性地将NIC 3240连接到存储装置3250。
在一实施例中,NIC 3240可以包括网络接口卡和网络适配器。NIC 3240可以通过有线接口、无线接口、蓝牙接口或光接口连接到网络3300。NIC 3240可以包括内部存储器、数字信号处理器(DSP)和主机总线接口,并且通过主机总线接口连接到处理器3210和/或开关3230。主机总线接口可以被实现为接口3254的上述示例之一。在一实施例中,NIC 3240可以与处理器3210、开关3230和存储装置3250中的至少一个集成。
在存储服务器3200至3200m或应用服务器3100至3100n中,处理器可将命令发送到存储装置3150至3150n和3250至3250m或存储器3120至3120n和3220至3220m并编程或读取数据。在这种情况下,数据可以是通过ECC引擎校正了错误的数据。数据可以是对其执行数据总线倒置(DBI)操作或数据掩蔽(D M)操作的数据,并且可以包括循环冗余编码(CRC)信息。数据可以是为了安全或隐私而加密的数据。
存储装置3150至3150n和3250至3250m可以响应于从处理器接收到的读取命令向NAND闪存装置3252至3252m发送控制信号和命令/地址信号。因此,当从NAND闪存装置3252至3252m读取数据时,可以输入读取使能(RE)信号作为数据输出控制信号,因此,可以将数据输出至DQ总线。可以使用RE信号产生数据选通信号DQS。取决于写入使能(WE)信号的上升沿或下降沿,命令和地址信号可以锁存在页面缓冲器中。
控制器3251可以控制存储装置3250的所有操作。在一实施例中,控制器3251可以包括SRAM。控制器3251可以响应于写入命令将数据写入到NAND闪存装置3252,或者响应于读取命令从NAND闪存装置3252读取数据。例如,可以从存储服务器3200的处理器3210、另一存储服务器3200m的处理器3210m或应用服务器3100和3100n的处理器3110和3110n提供写入命令和/或读取命令。DRA M 3253可以临时存储(或缓冲)要写入到NAND闪存装置3252的数据或从NAND闪存装置3252读取的数据。并且,DRAM 3253可以存储元数据。这里,元数据可以是用户数据或由控制器3251生成的用于管理NAND闪存装置3252的数据。存储装置3250可以包括用于安全性或隐私性的安全元件(SE)。
根据本公开的实施例,提供了一种数据中心系统,包括:多个应用服务器(例如,应用服务器3100至3100n);以及多个存储服务器(例如,存储服务器3200至3200m),其中,多个应用服务器中的每一个被配置为执行如本所述的由例如主机执行的配置ZNS SSD的区域的方法和/或所述多个存储服务器中的每一个被配置为执行如本文所述的由ZNS SSD执行的配置ZNS SSD的区域的方法。
根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,实现根据本公开的实施例的配置ZNS SSD的区域的方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成本文所述的配置ZNS SSD的区域的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
Claims (13)
1.一种配置区域命名空间ZNS固态驱动器SSD的区域的方法,包括:
确定所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量;以及
将指示所述区域的尺寸的类型以及所述数量的信息发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有不同尺寸的区域。
2.如权利要求1所述的方法,确定所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量的步骤包括:
确定具有第一尺寸的区域的第一数量以及具有第二尺寸的区域的第二数量;以及
其中,将指示所述区域的尺寸的类型以及所述数量的信息发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有不同尺寸的区域的步骤包括:将第一尺寸、第一数量、第二尺寸以及第二数量发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有第一尺寸的第一数量的区域和具有第二尺寸的第二数量的区域。
3.如权利要求2所述的方法,其中,每个具有第一尺寸的区域跨越所述ZNS SSD的第三数量的NAND晶粒die,每个具有第二尺寸的区域跨越所述ZNS SSD的第四数量的NAND die,以及其中,第三数量小于第四数量且第一尺寸小于第二尺寸。
4.如权利要求3所述的方法,所述第三数量为1。
5.如权利要求2所述的方法,其中,所述方法还包括:
接收用户输入,其中,所述用户输入包括第一尺寸、第一数量以及第二尺寸;或者第一尺寸、、第二尺寸以及第二数量,以及
其中,确定具有第一尺寸的区域的第一数量以及具有第二尺寸的区域的第二数量的步骤包括:基于所述用户输入确定具有第一尺寸区域的第一数量和具有第二尺寸的区域的第二数量。
6.如权利要求5所述的方法,其中,所述用户输入与NVMe规范中的特征标识符19h至77h中的之一相应。
7.一种配置区域命名空间ZNS固态驱动器SSD的区的方法,包括:
从主机接收指示所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量的信息;以及
基于所述信息将所述ZNS SSD的存储空间划分为具有不同尺寸的区域。
8.一种配置区域命名空间ZNS固态驱动器SSD的区域的装置,包括:
确定单元,被配置为确定所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量;以及
发送单元,被配置为将指示所述区域的尺寸以及所述数量的信息发送到所述ZNS SSD以使得所述ZNS SSD的存储空间被划分为具有不同尺寸的区域。
9.一种区域命名空间ZNS固态驱动器SSD,包括:
接收单元,被配置为从主机接收指示所述ZNS SSD的存储空间将被划分为的区域的尺寸的类型以及具有每种类型的尺寸的区域的数量的信息;以及
划分单元,被配置为:基于所述信息将所述ZNS SSD的存储空间划分为具有不同尺寸的区域。
10.一种电子装置,包括:
存储器,被配置为存储一个或更多个指令;
存储装置,被配置为执行如权利要求7所述的配置区域命名空间ZNS固态驱动器SSD的区域的方法;以及
主处理器,被配置为执行所述一个或更多个指令以使得所述主处理器执行如权利要求1-6中的任一项所述的配置区域命名空间ZNS固态驱动器SSD的区域的方法。
11.一种主机存储系统,包括:
主机,包括主机存储器和主机控制器;以及
存储装置,被配置为执行如权利要求7所述的配置区域命名空间ZNS固态驱动器SSD的区域Zone的方法,
其中,所述主机控制器被配置为执行如权利要求1-6中的任一项所述的配置区域命名空间ZNS固态驱动器SSD的区域Zone的方法。
12.一种数据中心系统,包括:
多个应用服务器;以及
多个存储服务器,
其中,所述多个应用服务器中的每一个被配置为执行如权利要求1-6中的任一项所述的配置区域命名空间ZNS固态驱动器SSD的区域Zone的方法,以及所述多个存储服务器中的每一个被配置为执行如权利要求7所述的配置区域命名空间ZNS固态驱动器SSD的区域Zone的方法。
13.一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时使得所述处理器实现如权利要求1-7中的任一项所述的配置区域命名空间ZNS固态驱动器SSD的区域Zone的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311062771.9A CN117055816A (zh) | 2023-08-22 | 2023-08-22 | 配置zns ssd的区域的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311062771.9A CN117055816A (zh) | 2023-08-22 | 2023-08-22 | 配置zns ssd的区域的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117055816A true CN117055816A (zh) | 2023-11-14 |
Family
ID=88668973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311062771.9A Pending CN117055816A (zh) | 2023-08-22 | 2023-08-22 | 配置zns ssd的区域的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117055816A (zh) |
-
2023
- 2023-08-22 CN CN202311062771.9A patent/CN117055816A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11921629B1 (en) | Method and device for data storage | |
CN116755620A (zh) | 基于独立磁盘冗余阵列的数据存储的方法和装置 | |
CN117112219A (zh) | 主机内存数据访问的方法和装置 | |
EP4325367A1 (en) | Method and device for data caching | |
US20230153006A1 (en) | Data processing method and data processing device | |
US20220179724A1 (en) | Method for operating storage device and host device, and storage device | |
CN114968949A (zh) | 缓存数据的方法、主机设备和存储系统 | |
CN114281245A (zh) | 同步写方法及装置、存储系统、电子设备 | |
CN117055816A (zh) | 配置zns ssd的区域的方法和装置 | |
KR20220067282A (ko) | 스토리지 장치, 스토리지 장치를 포함하는 서버 장치 및 스토리지 장치의 구동 방법 | |
US20220129383A1 (en) | Electronic device, automotive device, and data center | |
US11914879B2 (en) | Storage controller and storage system comprising the same | |
EP4148572B1 (en) | Computational storage device and storage system including the computational storage device | |
US20230409200A1 (en) | Method and device for data storage | |
US20230153237A1 (en) | Method and device for storing data | |
KR102435910B1 (ko) | 스토리지 장치 및 그것의 동작 방법 | |
US20240160511A1 (en) | Failure prediction apparatus and method for storage devices | |
US20230393749A1 (en) | Method and device of storage data | |
CN117130551A (zh) | 存储装置及其数据访问方法 | |
CN117008826A (zh) | 数据压缩方法和装置 | |
US20230141936A1 (en) | Secure processor, operating method thereof, and storage device including same | |
EP4177758A1 (en) | A storage device and an operating method of a storage controller thereof | |
CN117149723A (zh) | 有序字符串表文件的压缩方法和装置 | |
CN116756106A (zh) | 有序字符串表文件的压缩方法和装置 | |
CN115774848A (zh) | 存储装置的故障预测方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |