CN117435121A - 数据处理方法、ssd控制器、电子设备及可读存储介质 - Google Patents
数据处理方法、ssd控制器、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117435121A CN117435121A CN202210830277.1A CN202210830277A CN117435121A CN 117435121 A CN117435121 A CN 117435121A CN 202210830277 A CN202210830277 A CN 202210830277A CN 117435121 A CN117435121 A CN 117435121A
- Authority
- CN
- China
- Prior art keywords
- data
- operation instruction
- index
- processing
- host
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 173
- 230000001960 triggered effect Effects 0.000 claims abstract description 18
- 239000007787 solid Substances 0.000 claims abstract description 14
- 238000012423 maintenance Methods 0.000 claims description 81
- 238000000034 method Methods 0.000 claims description 50
- 238000004806 packaging method and process Methods 0.000 claims description 39
- 238000004458 analytical method Methods 0.000 claims description 31
- 238000012856 packing Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012858 packaging process Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000007723 transport mechanism 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/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
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据处理方法、固态硬盘SSD控制器、电子设备及计算机可读存储介质。数据处理方法包括:获取主机的键值存储应用被触发的情况下发送的操作指令;根据操作指令控制SSD控制器中的协处理模块进行数据调度处理。根据本申请实施例的方案,使得在SSD控制器中就能够进行数据调度处理,降低主机的运算能力消耗,并且不需要像以往那样通过主机从SSD控制器的一侧读取数据才可以进行数据调度,省去了主机与SSD控制器之间的调度数据传输过程,从而提高了数据处理的效率。
Description
技术领域
本申请实施例涉及但不限于数据处理技术领域,尤其涉及一种数据处理方法、固态硬盘SSD控制器、电子设备及计算机可读存储介质。
背景技术
键值存储系统以键值对作为最基本的存储单元,是一种非关系型数据库;现有的键值存储系统的存储架构通常采用冯诺依曼架构的计算机系统;对于基于冯诺依曼结构的计算机系统,存储与计算是分开的,中央控制处理器需要从存储介质中读取数据再处理,数据传输成为这种系统架构的瓶颈,影响了数据的处理效率。
发明内容
本申请实施例提供了一种数据处理方法、固态硬盘SSD控制器、电子设备及计算机可读存储介质,能够提高数据处理的效率。
第一方面,本申请实施例提供了一种数据方法,应用于固态硬盘SSD控制器,所述SSD控制器包括协处理模块,所述数据处理方法包括:
获取主机的键值存储应用被触发的情况下发送的操作指令;
根据所述操作指令控制所述协处理模块进行数据调度处理。
第二方面,本申请实施例还提供了另外一种数据处理方法,应用于主机,所述主机包括键值存储应用,所述数据处理方法包括:
在所述键值存储应用被触发的情况下向固态硬盘SSD控制器发送操作指令,以使得所述SSD控制器中的协处理模块进行数据调度处理。
第三方面,本申请实施例还提供了一种SSD控制器,所述SSD控制器包括协处理模块;
所述SSD控制器用于获取主机的键值存储应用被触发的情况下发送的操作指令;以及根据所述操作指令控制所述协处理模块进行数据调度处理。
第四方面,本申请实施例还提供了一种电子设备,包括如下之一:
如上所述的SSD控制器;或,
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的数据处理方法。
第五方面,本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上所述的数据处理方法。
本申请实施例包括:获取主机的键值存储应用被触发的情况下发送的操作指令;接着根据操作指令控制协处理模块进行数据调度处理,其中,协处理模块位于SSD控制器中;通过上述设定,使得在SSD控制器中就能够进行数据调度处理,降低主机的运算能力消耗,并且不需要像以往那样通过主机从SSD控制器的一侧读取数据才可以进行数据调度,省去了主机与SSD控制器之间的调度数据传输过程,从而提高了数据处理的效率。
附图说明
图1是本申请一个实施例提供的用于执行数据处理方法的系统架构的示意图;
图2是本申请另一个实施例提供的用于执行数据处理方法的系统架构的示意图;
图3是本申请一个实施例提供的数据处理方法的流程图;
图4是本申请一个实施例提供的数据处理方法中,数据调度的具体流程图;
图5是本申请一个实施例提供的数据数据处理方法中,基于指令解析信息进行数据调度的具体流程图;
图6是本申请另一个实施例提供的数据数据处理方法中,基于指令解析信息进行数据调度的具体流程图;
图7是本申请一个实施例提供的基于指令解析信息进行数据数据处理方法中,基于第一索引指令解析信息进行数据调度的具体流程图;
图8是本申请一个实施例提供的基于指令解析信息进行数据数据处理方法中,基于第二索引指令解析信息和数据打包解析信息进行数据调度的具体流程图;
图9是本申请一个实施例提供的基于第二索引指令解析信息和数据打包解析信息进行数据数据处理方法中,第一数据打包处理的具体流程图;
图10是本申请一个实施例提供的基于第二索引指令解析信息和数据打包解析信息进行数据数据处理方法中,第二数据打包处理的具体流程图;
图11是本申请另一个实施例提供的数据处理方法的流程图;
图12是本申请另一个实施例提供的数据处理方法的流程图;
图13是本申请另一个实施例提供的数据处理方法的操作指令发送流程图;
图14是本申请一个实施例提供的电子设备的构造示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请提供了一种数据处理方法、SSD控制器、电子设备及计算机可读存储介质,获取主机的键值存储应用被触发的情况下发送的操作指令;接着根据操作指令控制协处理模块进行数据调度处理,其中,协处理模块位于SSD控制器中;通过上述设定,使得在SSD控制器中就能够进行数据调度处理,降低主机的运算能力消耗,并且不需要像以往那样通过主机从SSD控制器的一侧读取数据才可以进行数据调度,省去了主机与SSD控制器之间的调度数据传输过程,从而提高了数据处理的效率。
下面结合附图,对本申请实施例作进一步阐述。
如图1所示,图1是本申请一个实施例提供的用于执行数据处理方法的系统架构的示意图。在图1的示例中,该系统架构包括主机100和固态硬盘(Solid State Disk,SSD)控制器200,主机100中包括键值存储应用101,SSD控制器200中包括协处理模块50,主机100与SSD控制器200连接,键值存储应用101可以向SSD控制器200下发操作指令,SSD控制器200中的协处理模块50可以执行键值存储应用101下发的操作指令。
如图2所示,图2是本申请另一个实施例提供的用于执行数据处理方法的系统架构的示意图。在图2的示例中,该系统架构包括主机100、固态硬盘控制器200、易失存储器300和非易失存储器400;其中,主机100中包括了键值存储应用101和底层开放通道SSD驱动102,SSD控制器200包括嵌入式中央处理器201、数据打包电路202、索引维护电路203、主机接口处理模块204、易失存储器控制器205和非易失存储器接口控制电路206;SSD控制器200、易失存储器300和非易失存储器400组成开放通道闪存存储设备。在主机100一侧的键值存储应用101能够对SSD控制器200下发相关的操作指令,示例性地,操作指令可以为读操作指令、写操作指令、擦操作指令、数据打包操作指令和索引维护操作指令;底层开放通道SSD驱动102能够将键值存储应用101下发的操作指令传输到SSD控制器200;SSD控制器200中的嵌入式中央处理器201、数据打包电路202、索引维护电路203、主机接口处理模块204、易失存储器控制器205和非易失存储器接口控制电路206通过总线的方式连接,主机接口处理模块204与底层开放通道SSD驱动102进行数据连接,易失存储器控制器205与易失存储器300进行数据连接,非易失存储器接口控制电路206与非易失存储器400进行数据连接;嵌入式中央处理器201可以对数据打包电路202、索引维护电路203、主机接口处理模块204、易失存储器控制器205和非易失存储器接口控制电路206进行控制处理;主机接口处理模块204能够对主机100一侧发送过来的操作指令进行解析,接着将解析的信息传输到嵌入式中央处理器201,接着嵌入式中央处理器201就可以控制相应的电路模块进行对应的操作处理。值得注意的是,本申请上述实施例所提及的协处理模块50包括但不限于数据打包电路202和索引维护电路203。
在本申请的一些实施例中,底层开放通道SSD驱动102配套驱动软件,驱动软件中包含闪存转换层(Flash Translation Layer,FTL);FTL是在SSD中将逻辑地址转换成实际内存中物理地址的软件层,包括垃圾回收、地址映射和磨损均衡等功能。值得注意的是,本申请的底层开放通道SSD驱动102的驱动程序需要支持协处理命令以及开放通道固态硬盘命令,其中,协处理命令可以包括数据打包命令和索引维护命令,开放通道固态硬盘命令可以包括读命令、写命令和擦命令。
在本申请的一些实施例中,易失存储器控制器205能够对易失存储器300中的数据进行调度处理;非易失存储器接口控制电路206能够对非易失存储器400中的数据进行调度处理。
本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1和图2中示出的系统架构并不构成对本申请实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述系统架构的结构,提出本申请的数据处理方法的各个实施例。
如图3所示,图3是本申请一个实施例提供的数据处理方法的流程图。该方法应用于SSD控制器,SSD控制器包括协处理模块,该方法包括但不限于有步骤S100和步骤S200:
步骤S100,获取主机的键值存储应用被触发的情况下发送的操作指令;
步骤S200,根据操作指令控制协处理模块进行数据调度处理。
本申请一实施例中,获取主机的键值存储应用被触发的情况下发送的操作指令;接着根据操作指令控制协处理模块进行数据调度处理,其中,协处理模块位于SSD控制器中;通过上述设定,使得在SSD控制器中就能够进行数据调度处理,降低主机的运算能力消耗,并且不需要像以往那样通过主机从SSD控制器的一侧读取数据才可以进行数据调度,省去了主机与SSD控制器之间的调度数据传输过程,从而提高了数据处理的效率。
值得注意的是,在键值存储应用被触发的情况下,就会下发相关的操作指令,在本申请的实施例中,操作指令主要指数据打包操作指令和索引维护操作指令。
值得注意的是,本申请实施例中的键值存储系统以键值对作为最基本的存储单元,是一种非关系型的数据库。本申请实施例中的主机负责运行键值存储应用,数据存储在支持开放通道固态硬盘的存储单元中。
在本申请的实施例中,上述方法适用于开放通道SSD的键值存储系统,其中,开放通道SSD是一种特殊的固态硬盘,它不在驱动器的固件中实现内存翻译层,而是将物理固态存储的管理任务转交到主机的一侧。
值得注意的是,协处理模块即为能够处理协处理命令的功能模块,在本申请的实施例中,协处理模块包括但不限于数据打包电路和索引维护电路。示例性地,键值存储应用需要进行索引维护操作的情况下主机一侧就会向SSD控制器发送索引维护操作指令;SSD控制器接收到索引维护操作指令就会控制其内部的索引维护电路进行相关的数据调度处理,以完成相应的索引维护操作指令。
如图4所示,SSD控制器包括嵌入式中央处理器和主机接口处理模块,上述步骤S200包括但不限于步骤S210和步骤S220:
步骤S210,基于主机接口处理模块对操作指令进行解析得到指令解析信息;
步骤S220,基于指令解析信息,利用嵌入式中央处理器控制协处理模块进行数据调度处理。
本申请一实施例中,SSD控制器还包括嵌入式中央处理器和主机接口处理模块;在SSD控制器根据操作指令进行数据调度的过程中,首先基于主机接口处理模块对操作指令进行解析就可以得到指令解析信息;接着基于指令解析信息,嵌入式中央处理器就会控制相应的协处理模块进行数据调度处理,以完成在SSD控制器的一侧就可以完成相应的操作指令,降低主机的运算能力消耗,并且不需要像以往那样通过主机从SSD控制器的一侧读取数据才可以进行数据调度,省去了主机与SSD控制器之间的调度数据传输过程,从而提高了数据处理的效率。
值得注意的是,SSD控制器中的主机接口处理模块可以对操作指令进行解析得到指令解析信息;接着将指令解析信息传输到嵌入式中央处理器,嵌入式中央处理器就可以根据指令解析信息控制相应的协处理模块进行数据调度处理。示例性地,当操作指令包括索引维护指令的时候,嵌入式中央处理器就会控制索引维护电路进行工作以完成索引维护指令。
如图5所示,协处理模块包括索引维护电路,上述步骤S220包括但不限于步骤S221:
步骤S221,在操作指令包括第一索引维护操作指令的情况下,利用嵌入式中央处理器控制索引维护电路进行数据调度处理。
本申请一实施例中,在操作指令包括第一索引维护操作指令的情况下,主机接口处理模块对第一索引维护操作指令进行解析,接着嵌入式中央处理器可以根据主机接口处理模块解析得到的信息控制索引维护电路进行数据调度处理,以完成相应的操作指令。
如图6所示,协处理模块包括索引维护电路和数据打包电路,上述步骤S220包括但不限于步骤S222:
步骤S222,在操作指令包括第二索引维护操作指令和数据打包操作指令的情况下,利用嵌入式中央处理器控制索引维护电路和数据打包电路进行数据调度处理。
本申请一实施例中,在操作指令包括第二索引维护操作指令和数据打包操作指令的情况下,主机接口处理模块对第二索引维护操作指令和数据打包操作指令进行解析,接着嵌入式中央处理器可以根据主机接口处理模块解析得到的信息控制索引维护电路和数据打包电路进行数据调度处理,以完成相应的操作指令。
如图7所示,上述步骤S221包括但不限于步骤S2211、步骤S2212和步骤S2213:
步骤S2211,基于主机接口处理模块对第一索引维护操作指令进行解析得到第一索引指令解析信息;
步骤S2212,基于第一索引指令解析信息,利用嵌入式中央处理器控制索引维护电路进行第一索引维护操作,使得存储于主机的内存中的高频键值读取到易失存储器并且根据高频键值建立得到第一索引;
步骤S2213,将第一索引写入易失存储器和非易失存储器。
本申请一实施例中,首先基于主机接口处理模块对第一索引维护操作指令进行解析就能够得到第一索引指令解析信息;接着基于第一索引指令解析信息,利用嵌入式中央处理器控制索引维护电路进行第一索引维护操作,使得存储于主机的内部中的高频键值读取到易失存储器并且根据高频键值建立得到第一索引;最后第一索引写入易失存储器和非易失存储器中。
值得注意的是,SSD控制器收到主机发来的第一索引维护操作指令。第一索引维护操作指令经过主机接口处理模块解析后进入嵌入式中央处理器;嵌入式中央处理器调度索引维护电路进行工作,此时索引维护电路发送命令给主机接口处理模块,将存储在主机的内存中的高频键值读取到易失存储器中,根据高频键值建立得到第一索引,其中,第一索引包括:值以及存储地址;操作完毕后,将新生成的第一索引写回易失存储器以及非易失存储器。
在本申请的实施例中,主机中的键值存储应用需要进行第一种索引维护操作,需要向下给底层开放通道SSD驱动提供索引维护命令,使得底层开放通道SSD驱动向SSD控制器发送第一索引维护操作指令。
如图8所示,上述步骤S222包括但不限于步骤S2221和步骤S2222:
步骤S2221,基于主机接口处理模块对第二索引维护操作指令和数据打包操作指令进行解析得到第二索引指令解析信息和数据打包解析信息;
步骤S2222,基于第二索引指令解析信息和数据打包解析信息,利用嵌入式中央处理器控制索引维护电路和数据打包电路进行数据调度处理。
本申请一实施例中,首先基于主机接口处理模块对第二索引维护操作指令和数据打包操作指令进行解析得到第二索引指令解析信息和数据打包解析信息;接着基于第二索引指令解析信息和数据打包解析信息,利用嵌入式中央处理器控制索引维护电路和数据打包电路进行数据调度处理。
值得注意的是,SSD控制器收到主机发来的第二索引维护操作指令和数据打包操作指令。第二索引维护操作指令和数据打包操作指令经过主机接口处理模块解析后进入嵌入式中央处理器;嵌入式中央处理器就可以调度索引维护电路和数据打包电路进行工作。
在本申请的实施例中,主机中的键值存储应用需要进行数据打包操作,需要向下给底层开放通道SSD驱动提供数据打包操作指令以及第二索引维护指令,使得底层开放通道SSD驱动向SSD控制器发送第二索引维护操作指令和数据打包操作指令;接着主机接口处理模块对第二索引维护操作指令和数据打包操作指令进行解析得到第二索引指令解析信息和数据打包解析信息,最后嵌入式中央处理器根据第二索引指令解析信息和数据打包解析信息控制索引维护电路和数据打包电路进行数据调度处理。
如图9所示,上述步骤S2222包括但不限于步骤S2223、步骤S2224和步骤S2225:
步骤S2223,通过嵌入式中央处理器控制数据打包电路进行第一数据打包处理,使得存储于主机的内存表中的缓存数据读取到易失存储器;
步骤S2224,根据索引维护电路对存储于易失存储器中的缓存数据进行第一索引创建处理得到第二索引,并且通过数据打包电路,将存储于易失存储器中的缓存数据搬运至非易失存储器;
步骤S2225,将缓存数据和第二索引写入非易失存储器。
本申请一实施例中,通过嵌入式中央处理器控制数据打包电路进行第一数据打包处理,使得存储于主机的内存表中的缓存数据读取到易失存储器;接着根据索引维护电路对存储于易失存储器中的缓存数据进行第一索引创建处理得到第二索引,并且通过数据打包电路,将存储于易失存储器中的缓存数据搬运至非易失存储器;最后将缓存数据和第二索引写入非易失存储器,以完成数据打包操作指令。
值得注意的是,主机内存中的内存表读取到易失存储器中,再为其分配非易失存储器中的存储空间;分配好空间后启动索引维护电路生成第二索引,该索引记录该层非易失存储器的基本存储单元中每一个页面的地址以及所存储的键值的范围,建立索引的同时数据打包电路将缓存在易失存储器中的数据搬运到非易失存储器中,操作完毕后,需要将数据与第二索引写回非易失存储器,以完成数据打包操作指令。
值得注意的是,为键值存储应用的后台打包命令设置协处理机制,使得处理单元在数据较近的位置,避免了主机与存储设备之间冗长的数据传输时间并节约了主机算力。并且为键值存储应用的索引维护命令设置协处理机制,可以在执行打包命令的同时建立维护或者专门为特定数据维护索引,节约了后台处理时间,提高了服务带宽。
可以理解的是,开放通道固态硬盘可以整合冗余的软件栈。键值存储应用已经包含了垃圾回收功能,无需底层FTL执行垃圾回收操作,同时,将存储单元管理权上移可以更加充分利用底层存储资源,避免冗余的软件栈导致连续数据的碎片化低效率存储等问题。
如图10所示,上述步骤S2222包括但不限于步骤S2226、步骤S2227、步骤S2228和步骤S2229:
步骤S2226,通过嵌入式中央处理器控制数据打包电路进行第二数据打包处理,使得存储于非易失存储器的排序字符串表中的初始存储数据读取到易失存储器;
步骤S2227,对存储于易失存储器中的初始存储数据进行合并排序得到调整数据;
步骤S2228,根据索引维护电路对存储于易失存储器中的调整数据进行第二索引创建处理得到第三索引,并且通过数据打包电路,将存储于易失存储器中的调整数据搬运至非易失存储器;
步骤S2229,将调整数据和第三索引写入非易失存储器。
本申请一实施例中,通过嵌入式中央处理器控制数据打包电路进行第二数据打包处理,使得存储于非易失存储器的排序字符串表中的初始存储数据读取到易失存储器;接着对存储于易失存储器中的初始存储数据进行合并排序得到调整数据;接着根据索引维护电路对存储于易失存储器中的调整数据进行第二索引创建处理得到第三索引,并且通过数据打包电路,将存储于易失存储器中的调整数据搬运至非易失存储器;最后将调整数据和第三索引写入非易失存储器。
值得注意的是,数据打包电路将存储在非易失存储器中的两块基本存储单元读取到易失存储器中,再为其分配非易失存储器中新的存储空间并进行合并排序操作,新生成的数据缓存在易失存储器中;合并排序完成后启动索引维护电路生成第三索引,该索引记录该层基本存储单元中每一个页面的地址以及所存储的键值的范围,建立索引的同时数据打包电路将缓存在易失存储器的调整数据搬运到非易失存储器中,操作完毕后,将调整数据与第三索引写回非易失存储器。
如图11所示,上述步骤S200之后包括但不限于步骤S300:
步骤S300,在数据调度处理完成之后,向主机发送操作完成通知信息。
本申请一实施例中,在数据调度处理完成之后,SSD控制器的一侧还会向主机发送操作完成通知信息,以告知主机已经完成相关的操作指令。
示例性地,当主机下发的是索引维护操作指令,SSD控制器的一侧在完成索引维护操作的情况下就会向主机发送操作完成通知信息,以告知主机已经完成索引维护操作;当主机下发的是数据打包操作指令,SSD控制器的一侧在完成数据打包操作的情况下就会向主机发送操作完成通知信息,以告知主机已经完成数据打包操作。
如图12所示,图12是本申请另一个实施例提供的数据处理方法的流程图。该方法应用于主机,主机包括键值存储应用,该方法包括但不限于有步骤S400:
步骤S400,在键值存储应用被触发的情况下向固态硬盘SSD控制器发送操作指令,以使得SSD控制器中的协处理模块进行数据调度处理。
本申请一实施例中,在键值存储应用被触发的情况下就会向SSD控制器发送操作指令,使得SSD控制器中的协处理模块能够进行数据调度处理,以完成相应的操作指令。
本申请一实施例中,获取主机的键值存储应用被触发的情况下发送的操作指令;接着根据操作指令控制协处理模块进行数据调度处理,其中,协处理模块位于SSD控制器中;通过上述设定,使得在SSD控制器中就能够进行数据调度处理,降低主机的运算能力消耗,并且不需要像以往那样通过主机从SSD控制器的一侧读取数据才可以进行数据调度,省去了主机与SSD控制器之间的调度数据传输过程,从而提高了数据处理的效率。
如图13所示,主机包括底层开放通道SSD驱动,上述步骤S400包括但不限于步骤S410和步骤S420。
步骤S410,触发键值存储应用生成操作指令;
步骤S420,基于底层开放通道SSD驱动将操作指令向固态硬盘SSD控制器进行发送。
本申请一实施例中,对键值存储应用进行触发就会生成操作指令,接着基于底层开放通道SSD驱动将键值存储应用生成的操作指令向SSD控制器进行发送处理,以使得SSD控制器可以完成相应的操作指令。
本申请另一个实施例提供的SSD控制器,SSD控制器包括协处理模块;
SSD控制器用于获取主机的键值存储应用被触发的情况下发送的操作指令;以及根据操作指令控制协处理模块进行数据调度处理。
值得注意的是,将协处理模块设置在SSD控制器中,使得在SSD控制器中就能够进行数据调度处理,降低主机的运算能力消耗,并且不需要像以往那样通过主机从SSD控制器的一侧读取数据才可以进行数据调度,省去了主机与SSD控制器之间的调度数据传输过程,从而提高了数据处理的效率。
另外,如图14所示,本申请的一个实施例还提供了一种电子设备700,该电子设备700包括如下之一:上述实施例中的SSD控制器;或,
存储器720、处理器710及存储在存储器720上并可在处理器710上运行的计算机程序。
处理器710和存储器720可以通过总线或者其他方式连接。
需要说明的是,本实施例中的电子设备700和上述实施例中的数据处理方法属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
实现上述实施例的数据处理方法所需的非暂态软件程序以及指令存储在存储器720中,当被处理器710执行时,执行上述实施例中的数据处理方法,例如,执行以上描述的图3中的方法步骤S100至S200、图4中的方法步骤S210至S220、图5中的方法步骤S221、图6中的方法步骤S222、图7中的方法步骤S2211至S2213、图8中的方法步骤S2221至S2222、图9中的方法步骤S2223至S2225、图10中的方法步骤S2226至S2229、图11中的方法步骤S300、图12中的方法步骤S400、图13中的方法步骤S410至S420。
此外,本申请的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器710执行,例如,被上述调度装置700实施例中的一个处理器710执行,可使得上述处理器710执行上述实施例中的数据处理方法,例如,执行以上描述的图3中的方法步骤S100至S200、图4中的方法步骤S210至S220、图5中的方法步骤S221、图6中的方法步骤S222、图7中的方法步骤S2211至S2213、图8中的方法步骤S2221至S2222、图9中的方法步骤S2223至S2225、图10中的方法步骤S2226至S2229、图11中的方法步骤S300、图12中的方法步骤S400、图13中的方法步骤S410至S420。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (14)
1.一种数据处理方法,应用于固态硬盘SSD控制器,所述SSD控制器包括协处理模块,所述数据处理方法包括:
获取主机的键值存储应用被触发的情况下发送的操作指令;
根据所述操作指令控制所述协处理模块进行数据调度处理。
2.根据权利要求1所述的数据处理方法,其特征在于,所述SSD控制器包括嵌入式中央处理器和主机接口处理模块,所述根据所述操作指令控制所述协处理模块进行数据调度处理,包括:
基于所述主机接口处理模块对所述操作指令进行解析得到指令解析信息;
基于所述指令解析信息,利用所述嵌入式中央处理器控制所述协处理模块进行数据调度处理。
3.根据权利要求2所述的数据处理方法,其特征在于,所述协处理模块包括索引维护电路,所述基于所述指令解析信息,利用所述嵌入式中央处理器控制所述协处理模块进行数据调度处理,包括:
在所述操作指令包括第一索引维护操作指令的情况下,利用所述嵌入式中央处理器控制所述索引维护电路进行数据调度处理。
4.根据权利要求2所述的数据处理方法,其特征在于,所述协处理模块包括索引维护电路和数据打包电路,所述基于所述指令解析信息,利用所述嵌入式中央处理器控制所述协处理模块进行数据调度处理,包括:
在所述操作指令包括第二索引维护操作指令和数据打包操作指令的情况下,利用所述嵌入式中央处理器控制所述索引维护电路和所述数据打包电路进行数据调度处理。
5.根据权利要求3所述的数据处理方法,其特征在于,所述在所述操作指令包括第一索引维护操作指令的情况下,利用所述嵌入式中央处理器控制所述索引维护电路进行数据调度处理,包括:
基于所述主机接口处理模块对所述第一索引维护操作指令进行解析得到第一索引指令解析信息;
基于所述第一索引指令解析信息,利用所述嵌入式中央处理器控制所述索引维护电路进行第一索引维护操作,使得存储于所述主机的内存中的高频键值读取到易失存储器并且根据所述高频键值建立得到第一索引;
将所述第一索引写入所述易失存储器和非易失存储器。
6.根据权利要求4所述的数据处理方法,其特征在于,所述在所述操作指令包括第二索引维护操作指令和数据打包操作指令的情况下,利用所述嵌入式中央处理器控制所述索引维护电路和所述数据打包电路进行数据调度处理,包括:
基于所述主机接口处理模块对所述第二索引维护操作指令和所述数据打包操作指令进行解析得到第二索引指令解析信息和数据打包解析信息;
基于所述第二索引指令解析信息和所述数据打包解析信息,利用所述嵌入式中央处理器控制所述索引维护电路和所述数据打包电路进行数据调度处理。
7.根据权利要求6所述的数据处理方法,其特征在于,所述利用所述嵌入式中央处理器控制所述索引维护电路和所述数据打包电路进行数据调度处理,包括:
通过所述嵌入式中央处理器控制所述数据打包电路进行第一数据打包处理,使得存储于所述主机的内存表中的缓存数据读取到易失存储器;
根据所述索引维护电路对存储于所述易失存储器中的所述缓存数据进行第一索引创建处理得到第二索引,并且通过所述数据打包电路,将存储于所述易失存储器中的所述缓存数据搬运至非易失存储器;
将所述缓存数据和所述第二索引写入所述非易失存储器。
8.根据权利要求6所述的数据处理方法,其特征在于,所述利用所述嵌入式中央处理器控制所述索引维护电路和所述数据打包电路进行数据调度处理,包括:
通过所述嵌入式中央处理器控制所述数据打包电路进行第二数据打包处理,使得存储于非易失存储器的排序字符串表中的初始存储数据读取到易失存储器;
对存储于所述易失存储器中的初始存储数据进行合并排序得到调整数据;
根据所述索引维护电路对存储于所述易失存储器中的所述调整数据进行第二索引创建处理得到第三索引,并且通过所述数据打包电路,将存储于所述易失存储器中的所述调整数据搬运至所述非易失存储器;
将所述调整数据和所述第三索引写入所述非易失存储器。
9.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述操作指令控制所述协处理模块进行数据调度处理之后,所述方法还包括:
在数据调度处理完成之后,向所述主机发送操作完成通知信息。
10.一种数据处理方法,其特征在于,应用于主机,所述主机包括键值存储应用,所述数据处理方法包括:
在所述键值存储应用被触发的情况下向固态硬盘SSD控制器发送操作指令,以使得所述SSD控制器中的协处理模块进行数据调度处理。
11.根据权利要求10所述的数据处理方法,其特征在于,所述主机包括底层开放通道SSD驱动,所述在键值存储应用被触发的情况下向固态硬盘SSD控制器发送操作指令,包括:
触发所述键值存储应用生成操作指令;
基于所述底层开放通道SSD驱动将所述操作指令向所述固态硬盘SSD控制器进行发送。
12.一种固态硬盘SSD控制器,其特征在于,所述SSD控制器包括协处理模块;
所述SSD控制器用于获取主机的键值存储应用被触发的情况下发送的操作指令;以及根据所述操作指令控制所述协处理模块进行数据调度处理。
13.一种电子设备,其特征在于,包括如下之一:
如权利要求12所述的SSD控制器;或,
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述的数据处理方法或者权利要求10至11任一项所述的数据处理方法。
14.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1至9任一项所述的数据处理方法或者权利要求10至11任一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210830277.1A CN117435121A (zh) | 2022-07-15 | 2022-07-15 | 数据处理方法、ssd控制器、电子设备及可读存储介质 |
PCT/CN2023/106134 WO2024012349A1 (zh) | 2022-07-15 | 2023-07-06 | 数据处理方法、ssd控制器、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210830277.1A CN117435121A (zh) | 2022-07-15 | 2022-07-15 | 数据处理方法、ssd控制器、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117435121A true CN117435121A (zh) | 2024-01-23 |
Family
ID=89535564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210830277.1A Pending CN117435121A (zh) | 2022-07-15 | 2022-07-15 | 数据处理方法、ssd控制器、电子设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117435121A (zh) |
WO (1) | WO2024012349A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9323457B2 (en) * | 2013-12-09 | 2016-04-26 | Xilinx, Inc. | Memory arrangement for implementation of high-throughput key-value stores |
US10649969B2 (en) * | 2017-06-13 | 2020-05-12 | Western Digital Technologies, Inc. | Memory efficient persistent key-value store for non-volatile memories |
US20190392047A1 (en) * | 2018-06-25 | 2019-12-26 | Amazon Technologies, Inc. | Multi-table partitions in a key-value database |
CN111309270B (zh) * | 2020-03-13 | 2021-04-27 | 清华大学 | 一种持久性内存键值存储系统 |
US11231881B2 (en) * | 2020-04-02 | 2022-01-25 | Dell Products L.P. | Raid data storage device multi-step command coordination system |
CN113687977B (zh) * | 2021-09-07 | 2024-05-28 | 天津津航计算技术研究所 | 基于raid控制器以实现计算性能提升的数据处理装置 |
-
2022
- 2022-07-15 CN CN202210830277.1A patent/CN117435121A/zh active Pending
-
2023
- 2023-07-06 WO PCT/CN2023/106134 patent/WO2024012349A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024012349A1 (zh) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669277B2 (en) | Latency-based scheduling of command processing in data storage devices | |
US8244962B2 (en) | Command processor for a data storage device | |
US20130166818A1 (en) | Memory logical defragmentation during garbage collection | |
EP2763055B1 (en) | A telecommunication method and mobile telecommunication device for providing data to a mobile application | |
EP2876541A1 (en) | Method and apparatus to reclaim free space | |
CN115421651A (zh) | 固态硬盘的数据处理方法、固态硬盘、电子设备及介质 | |
CN109086168A (zh) | 一种利用硬件备份固态硬盘写速度的方法及其系统 | |
CN103136215A (zh) | 存储系统的数据读写方法和装置 | |
CN100345129C (zh) | 指配优先权的方法、系统、和程序 | |
US20190278632A1 (en) | Information processing apparatus and information processing system | |
KR100663827B1 (ko) | 스토리지 제어 장치 및 스토리지 제어 방법 | |
CN105393236A (zh) | 快速数据读写方法和装置 | |
CN103841168A (zh) | 数据副本更新方法及元数据服务器 | |
CN117435121A (zh) | 数据处理方法、ssd控制器、电子设备及可读存储介质 | |
US10254965B2 (en) | Method and apparatus for scheduling block device input/output requests | |
CN115934579A (zh) | 固态硬盘垃圾回收方法、加速装置、设备及计算机介质 | |
CN113094349A (zh) | 一种基于虚拟机的双系统日志上报方法及系统 | |
CN113568559B (zh) | 硬盘写错误的处理方法、装置、设备和介质 | |
CN110888588B (zh) | 快闪记忆体控制器及相关的访问方法及电子装置 | |
CN111324668B (zh) | 数据库数据同步处理方法、装置及存储介质 | |
WO2021092784A1 (zh) | 一种数据写入、一致性检查和读取的方法及装置 | |
CN109445686B (zh) | 一种存储磁盘以及存取数据的方法 | |
CN112162937A (zh) | 存储芯片的数据回收方法、装置、计算机设备及存储介质 | |
CN112685438B (zh) | 数据处理系统、方法、装置及存储介质 | |
CN113609150B (zh) | 基于硬件的原子写方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |