CN113448518A - 一种数据处理方法、系统、设备以及介质 - Google Patents
一种数据处理方法、系统、设备以及介质 Download PDFInfo
- Publication number
- CN113448518A CN113448518A CN202110627985.0A CN202110627985A CN113448518A CN 113448518 A CN113448518 A CN 113448518A CN 202110627985 A CN202110627985 A CN 202110627985A CN 113448518 A CN113448518 A CN 113448518A
- Authority
- CN
- China
- Prior art keywords
- data
- storage area
- write
- stored
- size
- 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 10
- 230000004044 response Effects 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013500 data storage Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/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/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/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)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种数据处理方法,包括以下步骤:根据待存储数据的大小确定待存储数据的存储区的数量;响应于只需要一个存储区,获取存储区的剩余空间的大小并根据剩余空间的大小确定是否需要对存储区进行数据清除操作;响应于需要,生成并下发携带复位字段的写命令;响应于硬盘接收到携带复位字段的写命令,将存储区进行数据清除操作后再进行数据写入操作以将写命令对应的待存储数据写入存储区。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方法通过在写消息中加入复位字段,用于决定是否需要进行写前的reset操作,可以将更多的时间让给写消息的处理,不用等待复位完成,提高了写性能,降低存储区在写场景下的写延迟。
Description
技术领域
本发明涉及存储领域,具体涉及一种数据处理方法、系统、设备以及存储介质。
背景技术
ZNS SSD是一种特殊的SSD,内部可以包括多个存储区(zone),每个存储区(zone)是固定大小。每一个存储区(zone)内仅支持顺序写,不支持随机写,但是支持随机读。在现有的写流程中,如果将某个存储区(zone)写满后,必须对其下发复位(reset)命令,将存储区(zone)内数据清除,才能进行下一次的顺序写。
但是对于ZNS SSD而言,可以支持多个写命令同时处理,并进行有序存放,而对于复位操作命令,为了保证数据正确性,必须先下发某个存储区(zone)的复位操作命令并且等待复位完成后,再下发这个存储区(zone)的write操作;
这样就会带来的一个问题是,当用户需要对某些存储区(zone)反复写,需要的操作是,先下发大量的写到这个zone--zone写满--需要下发复位操作命令--复位操作命令返回--再下发大量的写操作;这样就会存在当进行复位操作命令的过程中是无法接收写命令的,那么一定程度上会影响顺序写的性能,带来性能波动。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种数据处理方法,包括以下步骤:
根据待存储数据的大小确定待存储数据的存储区的数量;
响应于只需要一个存储区,获取所述存储区的剩余空间的大小并根据所述剩余空间的大小确定是否需要对所述存储区进行数据清除操作;
响应于根据所述剩余空间的大小确定需要对所述存储区进行数据清除操作,生成并下发携带复位字段的写命令;
响应于所述硬盘接收到携带复位字段的写命令,将所述存储区进行数据清除操作后再进行数据写入操作以将写命令对应的待存储数据写入所述存储区。
在一些实施例中,还包括:
响应于根据所述剩余空间的大小确定不需要对所述存储区进行数据清除操作,生成不携带复位字段的写命令;
响应于所述硬盘接收到不携带复位字段的写命令,直接将写命令对应的待存储数据写入所述存储区。
在一些实施例中,还包括:
响应于需要多个存储区,根据所述待存储数据的大小确定待存储数据的若干个第一存储区和/或若干个第二存储区,其中,所述第一存储区需要进行数据清除操作,所述第二存储区不需要进行数据清除操作。
在一些实施例中,还包括:
将所述待存储数据分成多个与所述第一存储区的存储空间对应的第一数据块和/或多个分别与每一个所述第二存储区的剩余存储空间对应的第二数据块;
生成并下发多个与所述第一数据块对应且携带所述复位字段的第一写命令和/或多个分别与每一个第二数据块对应的且不携带所述复位字段的第二写命令。
在一些实施例中,还包括:
响应于所述硬盘接收到多个所述第一写命令,对每一个所述第一写命令对应的第一存储区进行数据清除操作后再进行数据写入操作以将对应的第一数据块写入所述第一存储区;
响应于所述硬盘接收到多个所述第二写命令,直接将每一个所述第二写命令对应的所述第二数据块写入对应的第二存储区。
在一些实施例中,还包括:
对所述存储区或第一存储区进行数据清除操作时,若是接收到其他需要将数据写入所述存储区或第一存储区的写命令,将其他写命令挂入等待队列;
响应于所述数据清除操作结束,处理所述等待队列中的写命令。
在一些实施例中,还包括:
响应于接收到数据读取命令,根据所述数据读取命令进行随机读操作或顺序读操作。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种数据处理系统,包括:
确定模块,配置为根据待存储数据的大小确定待存储数据的存储区的数量;
获取模块,配置为响应于只需要一个存储区,获取所述存储区的剩余空间的大小并根据所述剩余空间的大小确定是否需要对所述存储区进行数据清除操作;
下发模块,配置为响应于根据所述剩余空间的大小确定需要对所述存储区进行数据清除操作,生成并下发携带复位字段的写命令;
写入模块,配置为响应于所述硬盘接收到携带复位字段的写命令,将所述存储区进行数据清除操作后再进行数据写入操作以将写命令对应的待存储数据写入所述存储区。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种数据处理方法的步骤。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种数据处理方法的步骤。
本发明具有以下有益技术效果之一:本发明提出的方法通过在写消息中加入复位(reset)字段,用于决定是否需要进行写前的reset操作,可以将更多的时间让给写消息的处理,不用等待reset的完成,这种处理方式一定程度上提高了写性能,降低存储区(zone)在写场景下的写延迟。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的实施例提供的数据处理方法的流程示意图;
图2为本发明的实施例提供的数据处理系统的结构示意图;
图3为本发明的实施例提供的计算机设备的结构示意图;
图4为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在本发明的实施例中,SSD(Solid State Drive)为固态驱动器,俗称固态硬盘。ZNS(Zoned Namespace)是基于zone大小的管理空间的一种NVMe协议的新特性。zone为ZNS中的一种存储空间单位。reset是一种将ZNS SSD内部zone区域清除数据的操作命令。
根据本发明的一个方面,本发明的实施例提出一种数据处理方法,如图1所示,其可以包括步骤:
S1,根据待存储数据的大小确定待存储数据的存储区的数量;
S2,响应于只需要一个存储区,获取所述存储区的剩余空间的大小并根据所述剩余空间的大小确定是否需要对所述存储区进行数据清除操作;
S3,响应于根据所述剩余空间的大小确定需要对所述存储区进行数据清除操作,生成并下发携带复位字段的写命令;
S4,响应于所述硬盘接收到携带复位字段的写命令,将所述存储区进行数据清除操作后再进行数据写入操作以将写命令对应的待存储数据写入所述存储区。
本发明提出的方法通过在写消息中加入复位(reset)字段,用于决定是否需要进行写前的reset操作,可以将更多的时间让给写消息的处理,不用等待reset的完成,这种处理方式一定程度上提高了写性能,降低存储区(zone)在写场景下的写延迟。
在一些实施例中,在步骤S1,根据待存储数据的大小确定待存储数据的存储区的数量中,具体的,用户可以根据相关指令查询每一个zone的状态,从而根据待存储数据的大小选择相应数量的zone进行数据存储。在利用zone进行数据存储时,可以选择一个空白zone进行数据存储,也可以选择存储有部分数据但还存在剩余存储空间的zone进行数据存储,也可以选择处于full状态的zone进行数据存储。但是当选择处于full状态的zone进行数据存储时,需要对该zone进行数据清除操作,然后再进行数据存储,当然用户在选择一个处于full状态的zone进行再一次数据存储时,需要判断该zone存储的数据是否无用,也即从多个处于full状态下的zone中优先选择数据无用的zone进行再次数据存储。判断zone中的数据是否有用可以根据数据的冷热或使用频率或根据用户自身决定。
需要说明的是,zone是否处于full状态不仅仅由其存储的数据量决定,还可以人为设定其是否处于full状态。例如,当一个zone中数据已经完全将该zone的存储空间占满,则该zone自动处于full状态。而当一个zone中的数据虽然没有将该zone完全占满,但是用户将其状态设置为full,则也将该zone等同为被数据完全占满,即用户查询时其没有剩余存储空间。
在一些实施例中,若根据待存储数据的数据大小判断需要一个zone,并且选择了处于full状态下的zone,则可以在下发写命令时,直接在写命令中加入复位字段,使写命令携带有复位字段,该字段表示在进行写操作之前进行复位操作,也即实际上将两个命令合并为一个命令进行下发。这样可以掩盖掉两部分时间,一个是接收reset消息的时间和回复reset完成消息的时间。
在一些实施例中,还包括:
响应于根据所述剩余空间的大小确定不需要对所述存储区进行数据清除操作,生成不携带复位字段的写命令;
响应于所述硬盘接收到不携带复位字段的写命令,直接将写命令对应的待存储数据写入所述存储区。
具体的,若一个zone的剩余存储空间的大小完全可以存储待存储的数据,则可以直接下发不携带复位字段的写命令,当硬盘接收到不携带复位字段的写命令后,根据写命令中待写入zone的编号,直接将写命令对应的待存储数据写入对应的zone。
在一些实施例中,还包括:
响应于需要多个存储区,根据所述待存储数据的大小确定待存储数据的若干个第一存储区和/或若干个第二存储区,其中,所述第一存储区需要进行数据清除操作,所述第二存储区不需要进行数据清除操作。
具体的,若待存储的数据较大,需要多个存储区进行存储,则需要选择多个存储区进行存储,可以选择多个需要进行数据清除操作的第一存储区和多个不需要进行数据清除操作的第二存储区进行数据存储,也可以只选择多个需要进行数据清除操作的第一存储区进行数据存储,也可以只选择多个不需要进行数据清除操作的第二存储区进行数据存储。
在一些实施例中,还包括:
将所述待存储数据分成多个与所述第一存储区的存储空间对应的第一数据块和/或多个分别与每一个所述第二存储区的剩余存储空间对应的第二数据块;
生成并下发多个与所述第一数据块对应且携带所述复位字段的第一写命令和/或多个分别与每一个第二数据块对应的且不携带所述复位字段的第二写命令。
具体的,可以根据选择出的若干个第一存储区和/或若干个第二存储区将待存储数据分成多个数据块,然后分别生成多个写命令,当然若将数据块存储到第一存储区,则生成的写命令中需要携带复位指令,若将数据块存储到第二存储区,则生成的写命令中不需要携带复位命令。
在一些实施例中,还包括:
响应于所述硬盘接收到多个所述第一写命令,对每一个所述第一写命令对应的第一存储区进行数据清除操作后再进行数据写入操作以将对应的第一数据块写入所述第一存储区;
响应于所述硬盘接收到多个所述第二写命令,直接将每一个所述第二写命令对应的所述第二数据块写入对应的第二存储区。
具体的,硬盘可以根据收到的第一写命令和/或第二写命令,对相应的zone进行操作。即可以根据收到的第一写命令中的zone编号对该zone进行数据清除操作再将第一写命令对应的数据块写入该zone。还可以根据收到的第二写命令中的zone编号直接将对应的数据块写入该zone。
在一些实施例中,还包括:
对所述存储区或第一存储区进行数据清除操作时,若是接收到其他需要将数据写入所述存储区或第一存储区的写命令,将其他写命令挂入等待队列;
响应于所述数据清除操作结束,处理所述等待队列中的写命令。
具体的,当硬盘的固件收到写命令后判断写命令中包括复位字段,那么先执行当前zone的reset操作。若此时,接收到其他需要将数据写入该zone的写命令,只是将消息挂入内部的等待队列,等待复位完成后,再处理等待队列中的写命令。
例如,若一个zone处于full状态,且需要向该zone中再次写入数据,则先下发携带复位字段的写命令对该zone进行数据清除操作,如果该写命令对应的数据没有将该zone写满,则可以继续利用该zone接收数据,这样当对该zone进行数据清除操作时接收到其他需要将数据写入该zone的写命令,则将其他命令挂入等待队列,在进行完数据清除操作,直接对所述等待队列中的写命令进行处理。这样,可以省略两部分时间,一个是接收reset消息的时间和回复reset完成消息的时间。
在一些实施例中,还包括:
响应于接收到数据读取命令,根据所述数据读取命令进行随机读操作或顺序读操作。
具体的,当数据存储到zone中后,需要进行数据读取时,可以通过随机读操作或顺序读操作获取到相应的数据。
本发明提出的方法通过在写消息中加入复位(reset)字段,用于决定是否需要进行写前的reset操作,可以将更多的时间让给写消息的处理,不用等待reset的完成,这种处理方式一定程度上提高了写性能,降低存储区(zone)在写场景下的写延迟。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种数据处理系统400,如图2所示,包括:
确定模块401,配置为根据待存储数据的大小确定待存储数据的存储区的数量;
获取模块402,配置为响应于只需要一个存储区,获取所述存储区的剩余空间的大小并根据所述剩余空间的大小确定是否需要对所述存储区进行数据清除操作;
下发模块403,配置为响应于根据所述剩余空间的大小确定需要对所述存储区进行数据清除操作,生成并下发携带复位字段的写命令;
写入模块404,配置为响应于所述硬盘接收到携带复位字段的写命令,将所述存储区进行数据清除操作后再进行数据写入操作以将写命令对应的待存储数据写入所述存储区。
在一些实施例中,还包括下发模块403还配置为:
响应于根据所述剩余空间的大小确定不需要对所述存储区进行数据清除操作,生成不携带复位字段的写命令;
响应于所述硬盘接收到不携带复位字段的写命令,直接将写命令对应的待存储数据写入所述存储区。
在一些实施例中,确定模块401还配置为:
响应于需要多个存储区,根据所述待存储数据的大小确定待存储数据的若干个第一存储区和/或若干个第二存储区,其中,所述第一存储区需要进行数据清除操作,所述第二存储区不需要进行数据清除操作。
在一些实施例中,还包括分割模块,配置为:
将所述待存储数据分成多个与所述第一存储区的存储空间对应的第一数据块和/或多个分别与每一个所述第二存储区的剩余存储空间对应的第二数据块;
生成并下发多个与所述第一数据块对应且携带所述复位字段的第一写命令和/或多个分别与每一个第二数据块对应的且不携带所述复位字段的第二写命令。
在一些实施例中,还包括执行模块,配置为:
响应于所述硬盘接收到多个所述第一写命令,对每一个所述第一写命令对应的第一存储区进行数据清除操作后再进行数据写入操作以将对应的第一数据块写入所述第一存储区;
响应于所述硬盘接收到多个所述第二写命令,直接将每一个所述第二写命令对应的所述第二数据块写入对应的第二存储区。
在一些实施例中,还包括挂起模块,配置为:
对所述存储区或第一存储区进行数据清除操作时,若是接收到其他需要将数据写入所述存储区或第一存储区的写命令,将其他写命令挂入等待队列;
响应于所述数据清除操作结束,处理所述等待队列中的写命令。
在一些实施例中,还包括读模块,配置为:
响应于接收到数据读取命令,根据所述数据读取命令进行随机读操作或顺序读操作。
本发明提出的方法通过在写消息中加入复位(reset)字段,用于决定是否需要进行写前的reset操作,可以将更多的时间让给写消息的处理,不用等待reset的完成,这种处理方式一定程度上提高了写性能,降低存储区(zone)在写场景下的写延迟。
基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种计算机设备501,包括:
至少一个处理器520;以及
存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行以下步骤:
S1,根据待存储数据的大小确定待存储数据的存储区的数量;
S2,响应于只需要一个存储区,获取所述存储区的剩余空间的大小并根据所述剩余空间的大小确定是否需要对所述存储区进行数据清除操作;
S3,响应于根据所述剩余空间的大小确定需要对所述存储区进行数据清除操作,生成并下发携带复位字段的写命令;
S4,响应于所述硬盘接收到携带复位字段的写命令,将所述存储区进行数据清除操作后再进行数据写入操作以将写命令对应的待存储数据写入所述存储区。
在一些实施例中,还包括:
响应于根据所述剩余空间的大小确定不需要对所述存储区进行数据清除操作,生成不携带复位字段的写命令;
响应于所述硬盘接收到不携带复位字段的写命令,直接将写命令对应的待存储数据写入所述存储区。
在一些实施例中,还包括:
响应于需要多个存储区,根据所述待存储数据的大小确定待存储数据的若干个第一存储区和/或若干个第二存储区,其中,所述第一存储区需要进行数据清除操作,所述第二存储区不需要进行数据清除操作。
在一些实施例中,还包括:
将所述待存储数据分成多个与所述第一存储区的存储空间对应的第一数据块和/或多个分别与每一个所述第二存储区的剩余存储空间对应的第二数据块;
生成并下发多个与所述第一数据块对应且携带所述复位字段的第一写命令和/或多个分别与每一个第二数据块对应的且不携带所述复位字段的第二写命令。
在一些实施例中,还包括:
响应于所述硬盘接收到多个所述第一写命令,对每一个所述第一写命令对应的第一存储区进行数据清除操作后再进行数据写入操作以将对应的第一数据块写入所述第一存储区;
响应于所述硬盘接收到多个所述第二写命令,直接将每一个所述第二写命令对应的所述第二数据块写入对应的第二存储区。
在一些实施例中,还包括:
对所述存储区或第一存储区进行数据清除操作时,若是接收到其他需要将数据写入所述存储区或第一存储区的写命令,将其他写命令挂入等待队列;
响应于所述数据清除操作结束,处理所述等待队列中的写命令。
在一些实施例中,还包括:
响应于接收到数据读取命令,根据所述数据读取命令进行随机读操作或顺序读操作。
本发明提出的方法通过在写消息中加入复位(reset)字段,用于决定是否需要进行写前的reset操作,可以将更多的时间让给写消息的处理,不用等待reset的完成,这种处理方式一定程度上提高了写性能,降低存储区(zone)在写场景下的写延迟。
基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行以下步骤:
S1,根据待存储数据的大小确定待存储数据的存储区的数量;
S2,响应于只需要一个存储区,获取所述存储区的剩余空间的大小并根据所述剩余空间的大小确定是否需要对所述存储区进行数据清除操作;
S3,响应于根据所述剩余空间的大小确定需要对所述存储区进行数据清除操作,生成并下发携带复位字段的写命令;
S4,响应于所述硬盘接收到携带复位字段的写命令,将所述存储区进行数据清除操作后再进行数据写入操作以将写命令对应的待存储数据写入所述存储区。
在一些实施例中,还包括:
响应于根据所述剩余空间的大小确定不需要对所述存储区进行数据清除操作,生成不携带复位字段的写命令;
响应于所述硬盘接收到不携带复位字段的写命令,直接将写命令对应的待存储数据写入所述存储区。
在一些实施例中,还包括:
响应于需要多个存储区,根据所述待存储数据的大小确定待存储数据的若干个第一存储区和/或若干个第二存储区,其中,所述第一存储区需要进行数据清除操作,所述第二存储区不需要进行数据清除操作。
在一些实施例中,还包括:
将所述待存储数据分成多个与所述第一存储区的存储空间对应的第一数据块和/或多个分别与每一个所述第二存储区的剩余存储空间对应的第二数据块;
生成并下发多个与所述第一数据块对应且携带所述复位字段的第一写命令和/或多个分别与每一个第二数据块对应的且不携带所述复位字段的第二写命令。
在一些实施例中,还包括:
响应于所述硬盘接收到多个所述第一写命令,对每一个所述第一写命令对应的第一存储区进行数据清除操作后再进行数据写入操作以将对应的第一数据块写入所述第一存储区;
响应于所述硬盘接收到多个所述第二写命令,直接将每一个所述第二写命令对应的所述第二数据块写入对应的第二存储区。
在一些实施例中,还包括:
对所述存储区或第一存储区进行数据清除操作时,若是接收到其他需要将数据写入所述存储区或第一存储区的写命令,将其他写命令挂入等待队列;
响应于所述数据清除操作结束,处理所述等待队列中的写命令。
在一些实施例中,还包括:
响应于接收到数据读取命令,根据所述数据读取命令进行随机读操作或顺序读操作。
本发明提出的方法通过在写消息中加入复位(reset)字段,用于决定是否需要进行写前的reset操作,可以将更多的时间让给写消息的处理,不用等待reset的完成,这种处理方式一定程度上提高了写性能,降低存储区(zone)在写场景下的写延迟。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括以下步骤:
根据待存储数据的大小确定待存储数据的存储区的数量;
响应于只需要一个存储区,获取所述存储区的剩余空间的大小并根据所述剩余空间的大小确定是否需要对所述存储区进行数据清除操作;
响应于根据所述剩余空间的大小确定需要对所述存储区进行数据清除操作,生成并下发携带复位字段的写命令;
响应于所述硬盘接收到携带复位字段的写命令,将所述存储区进行数据清除操作后再进行数据写入操作以将所述写命令对应的待存储数据写入所述存储区。
2.如权利要求1所述的方法,其特征在于,还包括:
响应于根据所述剩余空间的大小确定不需要对所述存储区进行数据清除操作,生成不携带复位字段的写命令;
响应于所述硬盘接收到不携带复位字段的写命令,直接将写命令对应的待存储数据写入所述存储区。
3.如权利要求1所述的方法,其特征在于,还包括:
响应于需要多个存储区,根据所述待存储数据的大小确定待存储数据的若干个第一存储区和/或若干个第二存储区,其中,所述第一存储区需要进行数据清除操作,所述第二存储区不需要进行数据清除操作。
4.如权利要求3所述的方法,其特征在于,还包括:
将所述待存储数据分成多个与所述第一存储区的存储空间对应的第一数据块和/或多个分别与每一个所述第二存储区的剩余存储空间对应的第二数据块;
生成并下发多个与所述第一数据块对应且携带所述复位字段的第一写命令和/或多个分别与每一个第二数据块对应的且不携带所述复位字段的第二写命令。
5.如权利要求4所述的方法,其特征在于,还包括:
响应于所述硬盘接收到多个所述第一写命令,对每一个所述第一写命令对应的第一存储区进行数据清除操作后再进行数据写入操作以将对应的第一数据块写入所述第一存储区;
响应于所述硬盘接收到多个所述第二写命令,直接将每一个所述第二写命令对应的所述第二数据块写入对应的第二存储区。
6.如权利要求5所述的方法,其特征在于,还包括:
对所述存储区或第一存储区进行数据清除操作时,若是接收到其他需要将数据写入所述存储区或第一存储区的写命令,将其他写命令挂入等待队列;
响应于所述数据清除操作结束,处理所述等待队列中的写命令。
7.如权利要求1所述的方法,其特征在于,还包括:
响应于接收到数据读取命令,根据所述数据读取命令进行随机读操作或顺序读操作。
8.一种数据处理系统,其特征在于,包括:
确定模块,配置为根据待存储数据的大小确定待存储数据的存储区的数量;
获取模块,配置为响应于只需要一个存储区,获取所述存储区的剩余空间的大小并根据所述剩余空间的大小确定是否需要对所述存储区进行数据清除操作;
下发模块,配置为响应于根据所述剩余空间的大小确定需要对所述存储区进行数据清除操作,生成并下发携带复位字段的写命令;
写入模块,配置为响应于所述硬盘接收到携带复位字段的写命令,将所述存储区进行数据清除操作后再进行数据写入操作以将写命令对应的待存储数据写入所述存储区。
9.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-7任意一项所述的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-7任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110627985.0A CN113448518A (zh) | 2021-06-05 | 2021-06-05 | 一种数据处理方法、系统、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110627985.0A CN113448518A (zh) | 2021-06-05 | 2021-06-05 | 一种数据处理方法、系统、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113448518A true CN113448518A (zh) | 2021-09-28 |
Family
ID=77810830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110627985.0A Pending CN113448518A (zh) | 2021-06-05 | 2021-06-05 | 一种数据处理方法、系统、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448518A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102511044A (zh) * | 2011-09-06 | 2012-06-20 | 华为技术有限公司 | 一种数据删除方法及装置 |
CN103902468A (zh) * | 2012-12-27 | 2014-07-02 | 华为技术有限公司 | 存储系统的数据清除方法和装置 |
CN109256166A (zh) * | 2018-08-22 | 2019-01-22 | 长江存储科技有限责任公司 | 闪存器的擦除方法及闪存器 |
CN109582248A (zh) * | 2018-12-14 | 2019-04-05 | 深圳市硅格半导体有限公司 | 闪存数据的写入方法、装置及计算机可读存储介质 |
-
2021
- 2021-06-05 CN CN202110627985.0A patent/CN113448518A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102511044A (zh) * | 2011-09-06 | 2012-06-20 | 华为技术有限公司 | 一种数据删除方法及装置 |
CN103902468A (zh) * | 2012-12-27 | 2014-07-02 | 华为技术有限公司 | 存储系统的数据清除方法和装置 |
CN109256166A (zh) * | 2018-08-22 | 2019-01-22 | 长江存储科技有限责任公司 | 闪存器的擦除方法及闪存器 |
CN109582248A (zh) * | 2018-12-14 | 2019-04-05 | 深圳市硅格半导体有限公司 | 闪存数据的写入方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659256B (zh) | 多机房同步方法、计算设备及计算机存储介质 | |
JPH0728631A (ja) | ソフトウェアアプリケーションを可逆インストールする方法及びシステム | |
EP3933639B1 (en) | Transaction processing method, apparatus, and electronic device for blockchain | |
CN114385089B (zh) | 一种基于交叉编址的动态bank存储方法、装置及电子设备 | |
CN112860188A (zh) | 一种数据迁移方法、系统、设备以及介质 | |
CN113518187B (zh) | 视频编辑方法及设备 | |
CN115712394A (zh) | 数据读写方法、装置、计算机设备及可读存储介质 | |
CN113190241B (zh) | 数据分区的容量扩充方法、装置、电子设备、存储介质 | |
JP2023553220A (ja) | マルチインスタンスプロセスのためのプロセスマイニング | |
CN116467975B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111736825B (zh) | 一种信息展示方法、装置、设备和存储介质 | |
CN115840654B (zh) | 消息的处理方法、系统、计算设备及可读存储介质 | |
CN112433669A (zh) | 一种分布式存储卷在线迁移的方法、系统、设备及介质 | |
CN113448518A (zh) | 一种数据处理方法、系统、设备以及介质 | |
CN106648550B (zh) | 用于并发执行任务的方法与设备 | |
CN107229422B (zh) | 数据处理方法和装置 | |
CN111262727A (zh) | 服务的扩容方法、装置、设备及存储介质 | |
JP2003150321A (ja) | 仮想記憶デバイス管理装置、仮想記憶デバイス管理方法、仮想記憶デバイス管理プログラム及び仮想記憶デバイスが記録されたコンピュータ読み取り可能な記録媒体 | |
CN113434084B (zh) | 一种数据擦除方法、系统、设备以及介质 | |
CN113282329B (zh) | 一种在线定制系统固件的方法、装置、设备及存储介质 | |
US20090276603A1 (en) | Techniques for efficient dataloads into partitioned tables | |
CN110389844B (zh) | 基于Go语言的消息处理方法及装置、存储介质 | |
CN113608681B (zh) | 一种数据存储方法、系统、设备以及介质 | |
CN112540889B (zh) | 在用户态调整硬盘启动顺序的方法、装置、设备及介质 | |
CN110798491B (zh) | 一种网络访问方法及装置、代理服务器 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210928 |