CN114415974B - Ssd操作逻辑空间的方法、装置、存储介质及ssd设备 - Google Patents
Ssd操作逻辑空间的方法、装置、存储介质及ssd设备 Download PDFInfo
- Publication number
- CN114415974B CN114415974B CN202210312338.5A CN202210312338A CN114415974B CN 114415974 B CN114415974 B CN 114415974B CN 202210312338 A CN202210312338 A CN 202210312338A CN 114415974 B CN114415974 B CN 114415974B
- Authority
- CN
- China
- Prior art keywords
- configuration information
- host
- operated
- command
- ssd
- 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.)
- Active
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/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)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据存储技术领域,提供了一种SSD操作逻辑空间的方法、装置、存储介质及SSD设备,该方法包括:接收主机发送的用于操作逻辑空间NS的Vendor命令,Vendor命令中的主机数据缓存地址设置为待操作的NS的配置信息的缓存地址,Vendor命令中的功能自定义字段设置为待操作的NS的操作类型和个数;根据待操作的NS的个数确定需要从主机读取的配置信息的数据长度;按照数据长度从待操作的NS的配置信息的缓存地址进行配置信息读取;根据待操作的NS的操作类型和读取到的配置信息进行NS的创建或删除。本发明可以大幅削减创建和删除NS过程中主机和设备的交互过程,节省配置NS的时间。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种SSD操作逻辑空间的方法、装置、存储介质及SSD设备。
背景技术
一个NVMe(Non-Volatile Memory Express) SSD主要由SSD控制器、闪存空间和PCIe接口组成。NVMe协议支持主机使用若干独立的逻辑空间经由SSD控制器来管理闪存空间,这样划分出来的每一个逻辑空间称为NS(namespace)。
随着NVMe SSD硬盘的普及,由于用户对SSD需求和使用场景的多样性,越来越多的SSD支持多种类型的NS。在NVMe SSD的协议中也定义了NS的管理命令来实现NS的创建、删除和使用。在创建和删除NS时会要求SSD设备和主机做多次交互,通常要发至少两条命令才能实现一个NS的创建或删除操作。在一些定制场景或测试场景中,由于NS的种类繁多,创建几十个NS就需要大量的主机驱动和SSD设备交互时间。而且主机驱动需要支持NS管理命令,如果主机驱动不支持需要增加额外的开发成本。
目前,在多NS环境中,现有的创建、删除NS方法都使用了NVMe SSD协议中定义的两个NS管理命令,分别是NS management和NS attach。NS management用来创建或删除NS,这时创建的NS不能使用,还需要使用NS attach命令将NS和控制器做绑定才能使用,创建NS的过程如图1所示。删除NS时需要主机先发送NS attach命令解除NS和控制器的绑定,然后再发送NS management命令删除NS。当有多个NS创建或删除时,需要多次进行上面的操作。
由于一次只能创建或删除一个NS,都不可避免的在SSD内部需要实现数据映射和管理逻辑。随着创建NS数量的增加,管理节点会不断增多,每次建立映射的时间会延长,管理复杂度也会提高,导致创建或删除NS时间延长。而且,每次NS的创建和删除操作都会涉及到SSD设备内部的空间管理和数据管理,在多NS环境下使用上述操作增加了SSD对数据和空间管理的复杂度。因此在需要经常改变NS配置的场景下,现有实现方式会大大增加NS配置的时间,同时增加SSD设备的开发成本。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的SSD操作逻辑空间的方法、装置、存储介质及SSD设备。
本发明的一个方面,提供了一种SSD操作逻辑空间的方法,所述方法包括:
接收主机发送的用于操作逻辑空间NS的Vendor命令,其中,所述Vendor命令中的主机数据缓存地址设置为待操作的NS的配置信息的缓存地址,所述Vendor命令中的功能自定义字段设置为待操作的NS的控制信息,所述控制信息包括操作类型和个数;
根据待操作的NS的个数确定需要从主机读取的配置信息的数据长度;
按照所述数据长度从待操作的NS的配置信息的缓存地址进行配置信息读取;
根据待操作的NS的操作类型和读取到的所述配置信息进行NS的创建或删除。
进一步地,每一待操作的NS的配置信息的数据长度固定。
进一步地,多个待操作的NS的配置信息在主机的数据缓存中连续排布。
进一步地,所述接收主机发送的用于操作逻辑空间NS的Vendor命令包括:
通过驱动程序的管理命令透传接口接收主机发送的Vendor命令。
进一步地,所述按照所述数据长度从待操作的NS的配置信息的缓存地址进行配置信息读取包括:
通过驱动程序的管理命令透传接口从主机缓存中读取所述配置信息。
进一步地,当控制信息中的操作类型为创建NS时,所述配置信息包括待创建的NS的属性配置;
所述根据待操作的NS的操作类型和读取到的所述配置信息进行NS的创建包括:
解析出所述配置信息中的属性配置,根据待创建的NS的个数统计要创建的所有NS的容量,并根据统计结果对内部空间进行规划;
根据每一待创建的NS的属性配置确定各个待创建的NS的类型,并进行NS创建。
进一步地,当控制信息中的操作类型为删除NS时,所述配置信息为待删除的NS的ID;
所述根据待操作的NS的操作类型和读取到的所述配置信息进行NS的删除包括:
解析出所述配置信息中的待删除的NS的ID,根据待删除的NS的个数统计待回收的NS容量,并根据待删除的NS的ID进行NS删除;
根据回收的NS容量对内部空间进行规划。
进一步地,所述配置信息还包括扩展数据,所述扩展数据用于SSD内部实现的保密属性的配置。
第二方面,本发明还提供了一种SSD操作逻辑空间的装置,所述装置包括:
命令接收模块,用于接收主机发送的用于操作逻辑空间NS的Vendor命令,其中,所述Vendor命令中的主机数据缓存地址设置为待操作的NS的配置信息的缓存地址,所述Vendor命令中的功能自定义字段设置为待操作的NS的控制信息,所述控制信息包括操作类型和个数;
计算模块,用于根据待操作的NS的个数确定需要从主机读取的配置信息的数据长度;
获取模块,用于按照所述数据长度从待操作的NS的配置信息的缓存地址进行配置信息读取;
执行模块,用于根据待操作的NS的操作类型和读取到的所述配置信息进行NS的创建或删除。
第三方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上SSD操作逻辑空间的方法的步骤。
第四方面,本发明还提供了一种SSD设备,包括存储控制器,所述存储控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上SSD操作逻辑空间的方法的步骤。
本发明实施例提供的SSD操作逻辑空间的方法、装置、存储介质及SSD设备,通过在Vendor命令中进行多个NS的配置,可以全局统筹内部空间的使用和分配,并实现一条命令同时创建或删除多个NS,进而大幅削减创建和删除NS过程中主机和设备的交互过程,节省配置NS的时间。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有技术中基于NVMe SSD协议实现逻辑空间操作的方法流程图;
图2为本发明实施例提供的SSD操作逻辑空间的方法流程图;
图3为本发明实施例提供的SSD操作逻辑空间的装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
为了适应不同客户对SSD存储数据的需求,SSD设备需要同时支持多种NS格式,包括不同的LBA size、meta size、PI(Protection Information)类型等等,这些组合往往多达几十甚至上百种。在SSD的产品开发测试过程中,需要对产品所能支持的所有NS格式全部进行验证,而且需要验证多种NS格式并存且并行访问的大压力场景。如果采用协议定义的NS创建和删除方法,就需要频繁的创建删除NS,不仅增加了测试用例的复杂度,还需要了大量的主机交互时间。为此,本发明提出一种SSD操作逻辑空间的方法,能够快速高效创建、删除NS。
图1示意性示出了本发明一个实施例的SSD操作逻辑空间的方法的流程图。参照图1,本发明实施例的SSD操作逻辑空间的方法具体包括以下步骤:
S11、接收主机发送的用于操作逻辑空间NS的Vendor命令。其中,所述Vendor命令中的主机数据缓存地址设置为待操作的NS的配置信息的缓存地址,所述Vendor命令中的功能自定义字段设置为待操作的NS的控制信息,所述控制信息包括操作类型和个数。
在NVMe SSD协议中供应商(Vendor)可以自定义一些命令,本发明通过添加Vendor命令,在Vendor命令中增加创建和删除NS两个操作逻辑空间的命令实现。
具体的, NVMe协议定义的Vendor命令包含了当前命令的操作码(Op Code),主机数据缓存的地址和一些可以自定义功能的字段。SSD设备端通过以下设置实现Vendor命令支持创建NS和删除NS两个操作,具体包括:利用Vendor命令中自定义字段传递一些控制信息,用来指示本次操作的操作类型是创建NS还是删除NS,以及操作的NS个数;将Vendor命令中的主机数据缓存地址设置为待操作的NS的配置信息的缓存地址。
SSD设备可通过驱动程序的admin passthrough接口接收主机发送的Vendor命令。
S12、根据待操作的NS的个数确定需要从主机读取的配置信息的数据长度。
S13、按照所述数据长度从待操作的NS的配置信息的缓存地址进行配置信息读取。具体的,SSD设备可通过驱动程序的管理命令透传接口即admin passthrough接口从主机缓存中读取所述配置信息。其中,每一待操作的NS的配置信息的数据长度固定。进一步地,多个待操作的NS的配置信息在主机的数据缓存中连续排布。其中,管理命令透传接口是指驱动提供的,由用户层指定命令内容,驱动不对命令内容做检查的一个接口,主要用来发用户自定义的驱动不支持的命令。
本实施例中,在创建或删除NS时,主机将要操作的NS的配置信息写入数据缓存,并通过驱动程序的管理命令透传接口将Vendor命令和数据发给SSD设备。
具体的,在数据中,使用固定长度表示一个NS的配置信息,多个NS的配置信息在数据缓存中连续排布。SSD设备内部可以根据命令的中需要创建的NS个数和每一NS配置信息的长度计算需要传输的数据大小,通过Vendor命令中的主机数据缓存地址将全部配置信息读取到SSD设备内部,实现同时传递多个NS配置的目的。
S14、根据待操作的NS的操作类型和读取到的所述配置信息进行NS的创建或删除。
本发明实施例提供的SSD操作逻辑空间的方法,通过在Vendor命令中进行多个NS的配置,可以全局统筹内部空间的使用和分配,并实现一条命令同时创建或删除多个NS,进而大幅削减创建和删除NS过程中主机和设备的交互过程,节省配置NS的时间。
在本发明实施例中,当控制信息中的操作类型为创建NS时,所述配置信息包括待创建的NS的属性配置。
进一步地,根据待操作的NS的操作类型和读取到的所述配置信息进行NS的创建的具体实现方式如下:解析出所述配置信息中的属性配置,根据待创建的NS的个数统计要创建的所有NS的容量,并根据统计结果对内部空间进行规划;根据每一待创建的NS的属性配置确定各个待创建的NS的类型,并进行NS创建。
具体的,在创建NS时,每个NS的配置信息包含NS size,命令集和LBA格式,控制器ID,LBSTM,NVM set ID和Endurance Group ID等属性配置。除NS的属性配置之外,配置信息中还包括扩展数据。扩展数据用于NS其他属性的定义,可用于涉及SSD内部实现方法的保密属性的定义。
本实施例中,SSD设备通过Vendor命令中多个NS的配置可以全局统筹内部空间的使用和分配,并实现一条命令同时创建多个NS的方法。在Vendor命令中传输的数据结构,其中扩展数据用于NS其它属性的配置,可用于涉及SSD内部实现的保密属性的定义。
在本发明实施例中,当控制信息中的操作类型为删除NS时,所述配置信息为待删除的NS的ID。
进一步地,根据待操作的NS的操作类型和读取到的所述配置信息进行NS的删除的具体实现方式如下:解析出所述配置信息中的待删除的NS的ID,根据待删除的NS的个数统计待回收的NS容量,并根据待删除的NS的ID进行NS删除;根据回收的NS容量对内部空间进行规划。
具体的,在删除NS时,数据缓存中的每个NS的配置信息只需要给出需要删除的NS的ID,多个NS的ID连续存放,剩余的字节用预设的已知数据序列填充即可,例如在一个具体示例中可以用0填充。
本实施例中,SSD设备接收到命令后根据创建或删除NS操作,以及NS的个数确定从主机读取的数据长度,在接收到数据后解析数据,统计要创建或删除的所有NS的大小及格式,对内部空间进行重新规划,然后根据数据中的NS配置创建或删除NS。最后SSD设备返回命令执行结果给主机。
与协议定义的NS创建删除方法相比,本发明实施例提供的SSD操作逻辑空间的方法,在创建或删除NS时,NS的配置通过Vendor命令的数据通知SSD设备。在Vendor命令中给出本次操作要创建还是删除NS,同时给出要创建或删除的NS个数,还在Vendor命令的数据中给出要创建的NS的配置,或者要删除的NS的ID,可以大大减少设备与主机的交互次数,缩减创建和删除NS的时间。
另外,协议定义的方法一次只能创建或删除一个NS,由于不确定下一次的操作,在NS创建或删除时可能会造成空间碎片,或触发数据搬移,而多次创建或删除NS,就会多出触发SSD内部空间管理的操作。本发明实施例提供的SSD操作逻辑空间的方法,SSD设备在一次接收到所有需要操作的NS信息后,可以根据这些NS的配置统一规划内部空间与数据,不需要在每次创建NS时查找合适的剩余空间,删除NS时回收空间并进行碎片整理,从而降低SSD对内部空间和数据管理的复杂度,避免频繁创建删除NS带来的空间碎片和数据搬移等问题。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
图3示意性示出了本发明一个实施例的SSD操作逻辑空间的装置的结构示意图。参照图3,本发明实施例的SSD操作逻辑空间的装置具体包括命令接收模块201、计算模块202、获取模块203以及执行模块204,其中:
命令接收模块201,用于接收主机发送的用于操作逻辑空间NS的Vendor命令,其中,所述Vendor命令中的主机数据缓存地址设置为待操作的NS的配置信息的缓存地址,所述Vendor命令中的功能自定义字段设置为待操作的NS的控制信息,所述控制信息包括操作类型和个数;
计算模块202,用于根据待操作的NS的个数确定需要从主机读取的配置信息的数据长度;
获取模块203,用于按照所述数据长度从待操作的NS的配置信息的缓存地址进行配置信息读取;
执行模块204,用于根据待操作的NS的操作类型和读取到的所述配置信息进行NS的创建或删除。
在本发明实施例中,命令接收模块201具体通过驱动程序的管理命令透传接口接收主机发送的Vendor命令。
在本发明实施例中,获取模块203具体通过驱动程序的管理命令透传接口从主机缓存中读取所述配置信息。
在本发明实施例中,当控制信息中的操作类型为创建NS时,所述配置信息包括待创建的NS的属性配置。进一步地,执行模块204,具体用于解析出所述配置信息中的属性配置,根据待创建的NS的个数统计要创建的所有NS的容量,并根据统计结果对内部空间进行规划;根据每一待创建的NS的属性配置确定各个待创建的NS的类型,并进行NS创建。
在本发明实施例中,当控制信息中的操作类型为删除NS时,所述配置信息为待删除的NS的ID。进一步地,执行模块204,具体用于解析出所述配置信息中的待删除的NS的ID,根据待删除的NS的个数统计待回收的NS容量,并根据待删除的NS的ID进行NS删除;根据回收的NS容量对内部空间进行规划。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述SSD操作逻辑空间的方法的步骤。
本实施例中,所述SSD操作逻辑空间的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
此外,本发明实施例还提供了一种SSD设备,包括存储控制器,所述存储控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上SSD操作逻辑空间的方法的步骤。例如图2所示的步骤S11~S14。或者,所述处理器执行所述计算机程序时实现上述SSD操作逻辑空间的装置实施例中各模块/单元的功能,例如图3所示的命令接收模块201、计算模块202、获取模块203以及执行模块204。
本发明实施例提供的SSD操作逻辑空间的方法、装置、存储介质及SSD设备,通过在Vendor命令中进行多个NS的配置,可以全局统筹内部空间的使用和分配,并实现一条命令同时创建或删除多个NS,进而大幅削减创建和删除NS过程中主机和设备的交互过程,节省配置NS的时间,同时本发明提出的方法在创建NS时可以帮助SSD设备更好的规划其内部空间和数据,防止每次创建和删除NS时产生空间碎片,降低内部空间和LBA映射管理的复杂度,降低SSD设备的开发成本。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种SSD操作逻辑空间的方法,其特征在于,所述方法包括:
接收主机发送的用于操作逻辑空间NS的Vendor命令,其中,所述Vendor命令中的主机数据缓存地址设置为待操作的NS的配置信息的缓存地址,所述Vendor命令中的功能自定义字段设置为待操作的NS的控制信息,所述控制信息包括操作类型和个数;
根据待操作的NS的个数确定需要从主机读取的配置信息的数据长度;
按照所述数据长度从待操作的NS的配置信息的缓存地址进行配置信息读取;
根据待操作的NS的操作类型和读取到的所述配置信息进行NS的创建或删除。
2.根据权利要求1所述的方法,其特征在于,每一待操作的NS的配置信息的数据长度固定,各个待操作的NS的配置信息在主机的数据缓存中连续排布。
3.根据权利要求1所述的方法,其特征在于,所述接收主机发送的用于操作逻辑空间NS的Vendor命令包括:
通过驱动程序的管理命令透传接口接收主机发送的Vendor命令。
4.根据权利要求1所述的方法,其特征在于,所述按照所述数据长度从待操作的NS的配置信息的缓存地址进行配置信息读取包括:
通过驱动程序的管理命令透传接口从主机缓存中读取所述配置信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,当控制信息中的操作类型为创建NS时,所述配置信息包括待创建的NS的属性配置;
所述根据待操作的NS的操作类型和读取到的所述配置信息进行NS的创建包括:
解析出所述配置信息中的属性配置,根据待创建的NS的个数统计要创建的所有NS的容量,并根据统计结果对内部空间进行规划;
根据每一待创建的NS的属性配置确定各个待创建的NS的类型,并进行NS创建。
6.根据权利要求1-4任一项所述的方法,其特征在于,当控制信息中的操作类型为删除NS时,所述配置信息为待删除的NS的ID;
所述根据待操作的NS的操作类型和读取到的所述配置信息进行NS的删除包括:
解析出所述配置信息中的待删除的NS的ID,根据待删除的NS的个数统计待回收的NS容量,并根据待删除的NS的ID进行NS删除;
根据回收的NS容量对内部空间进行规划。
7.根据权利要求6所述的方法,其特征在于,所述配置信息还包括扩展数据,所述扩展数据用于SSD内部实现的保密属性的配置。
8.一种SSD操作逻辑空间的装置,其特征在于,所述装置包括:
命令接收模块,用于接收主机发送的用于操作逻辑空间NS的Vendor命令,其中,所述Vendor命令中的主机数据缓存地址设置为待操作的NS的配置信息的缓存地址,所述Vendor命令中的功能自定义字段设置为待操作的NS的控制信息,所述控制信息包括操作类型和个数;
计算模块,用于根据待操作的NS的个数确定需要从主机读取的配置信息的数据长度;
获取模块,用于按照所述数据长度从待操作的NS的配置信息的缓存地址进行配置信息读取;
执行模块,用于根据待操作的NS的操作类型和读取到的所述配置信息进行NS的创建或删除。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7任一项所述方法的步骤。
10.一种SSD设备,其特征在于,包括存储控制器,所述存储控制器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210312338.5A CN114415974B (zh) | 2022-03-28 | 2022-03-28 | Ssd操作逻辑空间的方法、装置、存储介质及ssd设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210312338.5A CN114415974B (zh) | 2022-03-28 | 2022-03-28 | Ssd操作逻辑空间的方法、装置、存储介质及ssd设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114415974A CN114415974A (zh) | 2022-04-29 |
CN114415974B true CN114415974B (zh) | 2022-06-03 |
Family
ID=81263465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210312338.5A Active CN114415974B (zh) | 2022-03-28 | 2022-03-28 | Ssd操作逻辑空间的方法、装置、存储介质及ssd设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114415974B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996172B (zh) * | 2022-08-01 | 2022-11-01 | 北京得瑞领新科技有限公司 | 基于ssd访问主机内存的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095329A (zh) * | 2016-05-27 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种基于NVME接口的Intel SSD硬盘的管理方法 |
CN110770710A (zh) * | 2017-05-03 | 2020-02-07 | 艾德蒂克通信公司 | 用于控制数据加速的装置和方法 |
CN111722786A (zh) * | 2019-03-21 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 基于NVMe设备的存储系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10509698B2 (en) * | 2018-02-27 | 2019-12-17 | Goke Us Research Laboratory | Method and apparatus for data encoding and decoding using a standardized data storage and retrieval protocol |
-
2022
- 2022-03-28 CN CN202210312338.5A patent/CN114415974B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095329A (zh) * | 2016-05-27 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种基于NVME接口的Intel SSD硬盘的管理方法 |
CN110770710A (zh) * | 2017-05-03 | 2020-02-07 | 艾德蒂克通信公司 | 用于控制数据加速的装置和方法 |
CN111722786A (zh) * | 2019-03-21 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 基于NVMe设备的存储系统 |
Non-Patent Citations (1)
Title |
---|
Bruce J. Nikkel.NVM Express Drives and Digital Forensics.《Digital Investigation》.2016, * |
Also Published As
Publication number | Publication date |
---|---|
CN114415974A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8239648B2 (en) | Reclamation of thin provisioned disk storage | |
US8521949B2 (en) | Data deleting method and apparatus | |
US9880759B2 (en) | Metadata for data storage array | |
US8595456B1 (en) | Techniques for integrating backup modules with virtualized storage | |
US11604599B2 (en) | Methods and apparatus for use in sanitizing a network of non-volatile memory express devices | |
EP2511814A1 (en) | Method of implementing array of disk and method and device of reading/writing data | |
US8285749B2 (en) | Computer system and recording medium | |
CN107947799B (zh) | 一种数据压缩方法及装置 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
US8131743B1 (en) | Object searching in data storage systems | |
CN114691020A (zh) | 基于zns标准提供数据压缩存储设备及其方法 | |
CN115543224B (zh) | 基于zns ssd的文件系统控制方法、装置及设备 | |
CN114415974B (zh) | Ssd操作逻辑空间的方法、装置、存储介质及ssd设备 | |
CN107526533B (zh) | 存储管理方法及设备 | |
CN111949287B (zh) | 软件升级方法和装置 | |
CN116257460B (zh) | 基于固态硬盘的Trim命令处理方法及固态硬盘 | |
CN114385069B (zh) | 存储管理的方法、设备和计算机程序产品 | |
US10235089B2 (en) | Storage control device, method and storage system to backup data using allocation information | |
WO2024119760A1 (zh) | 一种卷创建方法及装置、卷读写方法及装置、电子设备 | |
US11157187B2 (en) | Method, device, and computer program product for overwriting data | |
CN111190549A (zh) | 一种共享卷可用容量获取方法、装置、设备及介质 | |
US20240385830A1 (en) | Operation methods, memory systems, system and readable storage media | |
CN111159119A (zh) | 一种san存储系统的日志管理方法、系统及相关组件 | |
CN113485641B (zh) | 处理io命令的方法及其控制部件 | |
CN114546888B (zh) | 一种主机构建ssd ftl映射表的方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |