CN113253939B - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113253939B CN113253939B CN202110657396.7A CN202110657396A CN113253939B CN 113253939 B CN113253939 B CN 113253939B CN 202110657396 A CN202110657396 A CN 202110657396A CN 113253939 B CN113253939 B CN 113253939B
- Authority
- CN
- China
- Prior art keywords
- data
- storage medium
- read request
- logic block
- reading
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000013507 mapping Methods 0.000 claims description 90
- 230000015654 memory Effects 0.000 claims description 23
- 238000013500 data storage Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- YGPZYYDTPXVBRA-RTDBHSBRSA-N [(2r,3s,4r,5r,6s)-2-[[(2r,3r,4r,5s,6r)-3-[[(3r)-3-dodecanoyloxytetradecanoyl]amino]-6-(hydroxymethyl)-5-phosphonooxy-4-[(3r)-3-tetradecanoyloxytetradecanoyl]oxyoxan-2-yl]oxymethyl]-3,6-dihydroxy-5-[[(3r)-3-hydroxytetradecanoyl]amino]oxan-4-yl] (3r)-3-hydr Chemical compound O1[C@H](CO)[C@@H](OP(O)(O)=O)[C@H](OC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCCCC)[C@@H](NC(=O)C[C@@H](CCCCCCCCCCC)OC(=O)CCCCCCCCCCC)[C@@H]1OC[C@@H]1[C@@H](O)[C@H](OC(=O)C[C@H](O)CCCCCCCCCCC)[C@@H](NC(=O)C[C@H](O)CCCCCCCCCCC)[C@@H](O)O1 YGPZYYDTPXVBRA-RTDBHSBRSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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]
-
- 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)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据处理方法、装置、电子设备及存储介质。方法包括:接收用于请求从电子硬盘的第一逻辑块中读取第一数据的数据读请求;在第一数据存储于第一存储介质时,则将数据读请求添加至第一存储介质的读请求队列中;利用与第一存储介质的读请求队列绑定的处理器第一内核,采用轮询的方式,从读请求队列中执行至数据读请求时,从第一逻辑块对应的第一物理块中读取第一数据;输出第一数据。其中,第一存储介质的数据读取速度大于第二存储介质的数据读取速度。本申请提高了从电子硬盘中读取数据的效率。
Description
技术领域
本申请涉及数据存储技术,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
在数据存储领域,以集成电路芯片作为存储介质的电子硬盘,应用越来越广泛。用户可以通过使用该电子硬盘进行数据存储的电子设备向该电子硬盘中写入数据,或者,读取该电子硬盘中的数据。作为数据存储设备,电子硬盘的存储介质的数据存储容量和数据读取速度是电子硬盘的重要性能指标。
然而,目前应用较广泛的存储介质通常存在数据存储容量越大,数据读取速度越慢的缺陷。例如,基于逻辑门(NOT-AND,NAND)技术的存储介质的数据存储容量较大,可以存储较多的数据,但是从NAND存储介质中读取数据的速度较慢。也就是说,目前从数据存储容量较大的电子硬盘中读取数据的效率较低。
发明内容
本申请提供一种数据处理方法、装置、电子设备及存储介质,以克服从数据存储容量较大的电子硬盘中读取数据的效率较低的问题。
第一方面,本申请提供一种数据处理方法,所述方法应用于使用电子硬盘进行数据存储的电子设备,所述电子硬盘包括第一存储介质和第二存储介质,所述第一存储介质的数据读取速度大于所述第二存储介质的数据读取速度,所述方法包括:
接收数据读请求;所述数据读请求用于请求从所述电子硬盘的第一逻辑块中读取第一数据;
根据所述第一逻辑块的标识,以及,所述电子硬盘的映射表,确定所述第一数据是否存储于所述第一存储介质;所述映射表包括:逻辑块、第一物理块、所属存储介质的映射关系;
若所述第一数据存储于所述第一存储介质,则将所述数据读请求添加至所述第一存储介质的读请求队列中;
利用与所述第一存储介质的读请求队列绑定的处理器第一内核,采用轮询的方式,从所述读请求队列中执行至所述数据读请求时,从所述第一逻辑块对应的第一物理块中读取所述第一数据;
输出所述第一数据。
可选的,所述根据所述第一逻辑块的标识,以及,所述电子硬盘的逻辑块、物理块、所属存储介质的映射关系,确定所述第一数据是否存储于所述第一存储介质之后,所述方法还包括:
若所述第一数据中的至少部分数据存储于所述第二存储介质,则将所述数据读请求添加至所述第二存储介质的读请求队列中;
利用与所述第二存储介质的读请求队列绑定的处理器第二内核,采用中断的方式,从所述读请求队列中执行至所述数据读请求时,从所述第一逻辑块对应的第一物理块中读取所述第一数据。
可选的,所述映射表还包括:逻辑块的累计读次数;
所述读取所述第一数据之后,所述方法还包括:
将所述第一逻辑块的累计读次数加1,得到更新后的所述第一逻辑块的累计读次数;
若所述数据读请求属于所述第二存储介质的读请求队列、且更新后的所述第一逻辑块的累计读次数大于或等于第一预设阈值,则采用轮询的方式,将所述第一数据存储至所述第一存储介质的第二物理块中;
更新所述映射表中所述第一逻辑块所在的映射关系。
可选的,所述将所述第一数据存储至所述第一存储介质的第二物理块中,包括:
若所述第一存储介质的可用物理块的数量小于或等于第二预设阈值,则按照预设策略,从所述第一存储介质中确定待迁移至所述第二存储介质的第二逻辑块;
根据所述第二逻辑块的标识,以及,所述映射表,确定与所述第二逻辑块对应所述第二物理块;
将所述第二逻辑块对应的第二物理块中存储的第二数据迁移至所述第二存储介质中,并更新所述映射表中所述第二逻辑块所在的映射关系;
将所述第一数据写入所述第二物理块中。
可选的,所述将所述第一数据存储至所述第一存储介质的第二物理块中之后,所述方法还包括:
从所述第二存储介质中删除所述第一数据。
可选的,所述方法还包括:
接收数据写请求;所述数据写请求用于请求向所述电子硬盘的第三逻辑块写入第三数据;
采用中断的方式,将所述第三数据写入所述第二存储介质的第三物理块中;
更新所述映射表中所述第三逻辑块所在的映射关系。
可选的,所述采用中断的方式,将所述第三数据写入所述第二存储介质的第三物理块中之前,所述方法还包括:
根据所述第三逻辑块的标识,以及,所述映射表,确定所述第三逻辑块对应的存储介质是否为所述第一存储介质;
若所述第三逻辑块对应的存储介质为所述第一存储介质,则将所述第三逻辑块对应的存储介质修改为所述第二存储介质。
第二方面,本申请提供一种数据处理装置,所述装置应用于使用电子硬盘进行数据存储的电子设备,所述电子硬盘包括第一存储介质和第二存储介质,所述第一存储介质的数据读取速度大于所述第二存储介质的数据读取速度,所述装置包括:
接收模块,用于接收数据读请求;所述数据读请求用于请求从所述电子硬盘的第一逻辑块中读取第一数据;
确定模块,用于根据所述第一逻辑块的标识,以及,所述电子硬盘的映射表,确定所述第一数据是否存储于所述第一存储介质;所述映射表包括:逻辑块、第一物理块、所属存储介质的映射关系;
添加模块,用于在所述第一数据存储于所述第一存储介质时,将所述数据读请求添加至所述第一存储介质的读请求队列中;
读取模块,用于利用与所述第一存储介质的读请求队列绑定的处理器第一内核,采用轮询的方式,从所述读请求队列中执行至所述数据读请求时,从所述第一逻辑块对应的第一物理块中读取所述第一数据;
输出模块,用于输出所述第一数据。
第三方面,本申请提供一种电子设备,包括:至少一个处理器、存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行第一方面任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现第一方面任一项所述的方法。
本申请数据处理方法、装置、电子设备及存储介质,在接收到用于请求从电子硬盘的第一逻辑块中读取第一数据的数据读请求之后,对第一数据是否存储于第一存储介质进行判断,并在第一数据存储于第一存储介质时,将数据读请求添加至第一存储介质的读请求队列中。然后,利用处理器第一内核,采用轮询的方式读取第一数据。通过将第一存储介质的读请求队列与处理器第一内核绑定,使得电子设备可以仅使用该第一内核来执行第一存储介质的读请求队列中的数据读请求,提高了电子设备执行数据读请求的效率。此外,通过轮询的方式读取第一数据,电子设备可以及时确定是否读取到第一数据,进而可以及时的将该第一数据输出,提高了用户获取第一数据的效率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为电子硬盘的一种应用场景示意图;
图2为本申请提供的一种数据处理方法的流程示意图;
图3为本申请提供的另一种数据处理方法的流程示意图;
图4为本申请提供的一种数据写请求响应方法的流程示意图;
图5为本申请提供的又一种数据处理方法的流程示意图;
图6为本申请提供的又一种数据处理方法的流程示意图;
图7为本申请提供的一种数据处理装置的结构示意图;
图8为本申请提供的一种电子设备结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请涉及的一些概念进行介绍和说明:
电子硬盘:以集成电路芯片作为存储介质的硬盘。若无特殊说明,在本申请中,硬盘均指电子硬盘。其中,此处所说的电子硬盘例如可以是固态硬盘(Solid State Disk,SSD)、移动硬盘等。此处所说的存储介质例如可以是非易失存储器(Non-volatile memory,NVM)中基于NAND技术的存储介质,和基于3D Xpoint(一种存储芯片技术名称)技术的存储介质等。示例性的,基于NAND技术的存储介质例如可以包括单层单元(Single Level Cell,SLC)存储介质、多层单元(Multilevel Cell,MLC)存储介质、三层单元(Triple LevelCell,TLC)存储介质,以及,四层单元(Quad-Level Cell,QLC)存储介质等。
逻辑块:电子硬盘中的数据存储在电子硬盘的存储介质的各逻辑块中。
逻辑块地址(logical block address,LBA):上述各逻辑块在存储介质中的地址信息。
物理块:不同的逻辑块对应不同的物理块。LBA在电子硬盘的存储介质中的具体位置可以由物理块地址(physical block address,PBA)表示。
异构SSD:包括至少两种存储介质的SSD。
用户可以通过“使用电子硬盘进行数据存储的”电子设备,向电子硬盘中写入数据,或者,读取该电子硬盘中的数据。上述电子设备可以是用户终端(例如台式电脑、笔记本电脑、手机、平板电脑等),或者,服务器等可以使用电子硬盘进行数据存储的电子设备。
示例性的,以电子设备为服务器为例,图1为电子硬盘的一种应用场景示意图。如图1所示,用户可以通过用户终端,向服务器发送数据读取请求,或者数据写入请求。
以用户终端向服务器发送用于请求读取目标数据的数据读请求为例,该数据读取请求中包括用于指示目标数据所在的逻辑块的LBA的指示信息。
服务器在接收到该数据读请求之后,可以将该数据读请求中指示的LBA发送给电子硬盘。电子硬盘在获取该LBA之后,还需要定位该LBA在存储介质中的具体位置。电子硬盘可以根据该LBA,以及,LBA与PBA的映射关系,获取该LBA对应的PBA。
在获取上述PBA之后,电子硬盘可以根据该PBA定位逻辑块所在物理位置,进而读取该目标数据,并传输给服务器。
应理解,图1仅是电子硬盘的应用场景的示例。本申请对一个电子设备可以使用的电子硬盘的数量不进行限定。也就是说,一个电子设备可以使用至少一个电子硬盘进行数据存储。此外,应理解,图1仅是以电子硬盘设置在电子设备外,与电子设备连接为例进行的示例。具体实现时,电子硬盘还可以是集成在电子设备中的存储设备。
作为数据存储设备,电子硬盘的存储介质的数据存储容量和数据读取速度是电子硬盘的重要性能指标。然而,目前应用较广泛的存储介质通常存在数据存储容量越大,数据读取速度越慢的缺陷。
示例性的,以NVM中基于NAND技术的存储介质,和基于3D Xpoint技术的存储介质为例,表1为各种类型存储介质数据存储容量由小到大的排序,以及,数据读取速度由慢到快的排序。
表1
如表1所示,对于数据存储容量较大的存储介质,虽然可以存储较多的数据,但是从该存储介质中读取数据的速度较慢。对于可以实现较快的数据读取速度的存储介质,该存储介质的数据存储容量较小,能够存储的数据较少。也就是说,目前从数据存储容量较大的电子硬盘中读取数据的效率较低。
考虑到不同的存储介质具有不同的读取效率,综合电子硬盘对大存储容量的需求,以及,读取效率的需求,本申请提出一种可以利用包括两种不同存储介质(即第一存储介质和第二存储介质)的电子硬盘进行数据的存储,从而可以在满足大存储容量的需求的同时,又能够提高其读取效率。其中,该电子硬盘例如可以是异构SSD。
其中,第一存储介质的数据读取速度大于第二存储介质数据读取的速度。本申请对第一存储介质与第二存储介质的类型,以及,第一存储介质与第二存储介质的存储容量不进行限定。
示例性的,上述电子硬盘包括的两种存储介质例如可以如下表2所示:
表2
序号 | 第一存储介质 | 第二存储介质 |
1 | 3D Xpoint | QLC |
2 | 3D Xpoint | TLC |
3 | SLC | QLC |
… | … | … |
第一存储介质可以作为第二存储介质的缓存,此时,第一存储介质中存储的数据也会存储于第二存储介质中。或者,第一存储介质和第二存储介质均为电子硬盘的存储空间,此时,第一存储介质与第二存储介质中存储的数据不重复。
具体实现时,上述方法的执行主体即为使用该电子硬盘的进行数据存储的电子设备。下面结合具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请提供的一种数据处理方法的流程示意图。如图2所示,该方法包括以下步骤:
S101、接收数据读请求。
其中,该数据读请求用于请求从电子硬盘的第一逻辑块中读取第一数据。其中,该第一数据可以是存储在第一存储介质,或者,存储在第二存储介质。再或者,该第一数据还可以是部分存储在第一存储介质,剩余部分存储在第二存储介质。
以电子设备为用户终端为例,该电子设备例如可以通过应用程序接口(application program interface,API)或者图形用户界面(graphical user interface,GUI)接收用户输入的数据读请求。
以电子设备为服务器为例,该电子设备可以接收用户终端发送的数据读请求。应理解,本申请对该电子设备接收用户终端发送的数据读请求所采用的通信方式不进行限定。示例性的,上述用户终端可以通过Wi-Fi或者移动通信网络等向该电子设备发送数据读请求。
S102、根据第一逻辑块的标识,以及,电子硬盘的映射表,确定第一数据是否存储于第一存储介质。
其中,一个第一逻辑块可以包括至少一个标识。该第一逻辑块的标识例如可以是该第一逻辑块的LBA等。
上述电子硬盘的映射表包括:逻辑块、第一物理块,以及,所属存储介质的映射关系。根据第一逻辑块的标识,以及,该逻辑块与所属存储介质的映射关系,电子设备可以确定第一数据是否存储于第一存储介质。
其中,若上述第一数据是通过该电子设备写入到电子硬盘中的,则上述电子硬盘的映射表可以是该电子设备将第一数据写入该电子硬盘时,根据写入的存储介质建立的。或者,若上述第一数据是除了该电子设备以外的电子设备写入到该电子硬盘的,则上述电子设备可以与该电子硬盘连接之后,获取该电子硬盘中存储的该电子硬盘的映射表,并存储在该电子设备中。
示例性的,上述逻辑块与所属存储介质的映射关系例如可以如下表3所示:
表3
以表3所示的映射关系为例,假设第一逻辑块的标识包括:逻辑块标识1和逻辑块标识2,根据该映射关系,逻辑块标识1和逻辑块标识2所属的存储介质均为第一存储介质。因此,电子设备可以确定第一数据存储于第一存储介质。若第一逻辑块的标识包括:逻辑块标识1、逻辑块标识2,以及,逻辑块标识3,根据该映射关系,逻辑块标识1和逻辑块标识2所属的存储介质为第一存储介质,逻辑块标识3所属的存储介质为第二存储介质。因此,电子设备可以确定第一数据不是存储于第一存储介质。
若第一数据存储于第一存储介质,则电子设备可以执行步骤S103。
若第一数据不是存储于第一存储介质,则该第一数据可能存储于第二存储介质,或者,第一数据的部分数据存储于第一存储介质、另外部分数据存储于第二存储介质。可选的,电子设备可以执行步骤S106。
S103、将数据读请求添加至第一存储介质的读请求队列中。
将上述数据读请求添加至第一存储介质的读请求队列中的方式,与该读请求队列处理数据读请求的方式有关。示例性的,若该读请求队列采用先进先出的方式处理数据读请求,则电子设备可以将数据读请求添加至第一存储介质的读请求队列的队尾。
S104、利用与第一存储介质的读请求队列绑定的处理器第一内核,采用轮询的方式,从读请求队列中执行至该数据读请求时,从第一逻辑块对应的第一物理块中读取第一数据。
电子设备的处理器可以包括至少一个内核。当该处理器仅包括一个内核时,该内核即为上述第一存储介质的读请求队列绑定的处理器第一内核。
当该处理器包括多个内核时,可选的,电子设备可以将当前执行任务数量最少(或者剩余计算资源最多)的内核作为该处理器第一内核。或者,电子设备还可以接收用户输入的用于确定第一内核的指令,并根据该指令确定处理器第一内核。再或者,电子设备还可以随机选取一个处理器的内核作为处理器第一内核。
若不固定处理第一存储介质的读请求队列中的数据读请求的内核,则在处理第一存储介质的读请求队列中的数据读请求时,可能会出现因当前处理器内核执行的任务数较多时,需要由其他内核来处理读请求队列中的数据读请求的情况。由于处理器不同的内核对应的电子设备的本地内存的地址不同,先后使用不同的内核来处理一个读请求队列中的数据读请求,可能会导致该读请求队列中的数据读请求执行速度较慢。
因此,本申请将第一存储介质的读请求队列与处理器第一内核绑定,以使电子设备可以仅使用该第一内核来执行第一存储介质的读请求队列中的数据读请求。通过上述方法,避免了在执行上述读请求队列中的数据读请求过程中,先后使用多个不同的内核来处理一个读请求队列中的数据读请求,提高了电子设备执行数据读请求的效率。
上述轮询的方式指的是电子设备在将数据读请求添加至第一存储介质的读请求队列中之后,持续按照预设频率轮询该电子硬盘,以确定该第一数据是否读取完成。通过采用轮询的方式读取第一数据,电子设备可以及时确定是否读取到第一数据,进而可以及时的将该第一数据输出,提高了用户获取第一数据的效率。
如前述所说,上述电子硬盘的映射表包括逻辑块与第一物理块的映射关系。在获取第一逻辑块的标识之后,电子设备可以根据第一逻辑块的标识,以及逻辑块与第一物理块的映射关系,获取该第一逻辑块对应的第一物理块的标识。
然后,电子设备可以根据该第一物理块的标识,从第一逻辑块对应的第一物理块中读取第一数据。其中,该第一物理块的标识例如可以是该第一物理块的PBA,或者,第一物理块的编号等。
示例性的,上述逻辑块与第一物理块的映射关系例如可以如下表4所示:
表4
序号 | 逻辑块 | 第一物理块 |
1 | 逻辑块标识1 | 物理块标识1 |
2 | 逻辑块标识2 | 物理块标识2 |
3 | 逻辑块标识3 | 物理块标识3 |
… | … | … |
n | 逻辑块标识n | 物理块标识n |
以表4所示的映射关系为例,假设第一逻辑块的标识包括:逻辑块标识1、逻辑块标识2,以及,逻辑块标识3。根据该映射关系,电子设备可以确定第一物理块的标识包括物理块标识1和物理块标识2,以及,物理块标识3。然后电子设备可以根据物理块标识1和物理块标识2,以及,物理块标识3,读取第一数据。
S105、输出第一数据。
以电子设备为用户终端为例,可选的,电子设备例如可以通过API或者GUI等输出该第一数据。
以电子设备为服务器为例,在读取第一数据之后,可选的,电子设备可以将该第一数据发送给请求获取该第一数据的用户终端。
S106、将数据读请求添加至第二存储介质的读请求队列中。
将上述数据读请求添加至第二存储介质的读请求队列中的方式,与该第二存储介质的读请求队列处理数据读请求的方式有关。示例性的,若该读请求队列采用先进先出的方式处理数据读请求,则电子设备可以将该数据读请求添加至该第二存储介质的读请求队列的队尾。
S107、利用与第二存储介质的读请求队列绑定的处理器第二内核,采用中断的方式,从读请求队列中执行至该数据读请求时,从第一逻辑块的第一物理块中读取第一数据。
其中,当该处理器仅包括一个内核时,该内核即为第二存储介质的读请求队列绑定的处理器第二内核。也就是说,当该处理器仅包括一个内核时,该处理器第二内核与处理器第一内核指的是同一个内核。
当该处理器包括多个内核时,该处理器第二内核可以是除了处理器第一内核之外的处理器的其中一个内核。将第二存储介质的读请求队列与处理器第二内核绑定,以使电子设备可以仅使用该第二内核来执行第二存储介质的读请求队列中的数据读请求。此外,使用不同的内核分别执行第一存储介质的读请求队列中的数据读请求和第二存储介质的读请求队列中的数据读请求,使得当电子设备读取数据的压力较大时(例如读取数据的数据量较大,或者,待执行的数据读请求较多等),电子设备可以使用不同的内核,进行数据读取,避免了一个内核执行较多任务导致数据读取效率下降的情况,提高了读取第一数据的效率。
上述中断的方式指的是电子设备在将数据读请求添加至第一存储介质的读请求队列中之后,在从读请求队列中执行至该数据读请求时,该处理器第二内核控制执行读取第一数据的线程休眠。然后可以用该执行读取第一数据的线程的计算资源执行其他事务。直到第一数据读取完成,电子设备激活该执行读取第一数据的线程,以使电子设备可以获取该第一数据。通过中断的方式读取第一数据,使得电子设备在读取第一数据过程中,还可以使用执行读取第一数据的线程的计算资源执行其他事务,节约了计算资源。
在执行完步骤S107之后,电子设备可以继续执行上述步骤S105。
在本实施例中,在接收到用于请求从电子硬盘的第一逻辑块中读取第一数据的数据读请求之后,对第一数据是否存储于第一存储介质进行判断,并在第一数据存储于第一存储介质时,将数据读请求添加至第一存储介质的读请求队列中。然后,利用处理器第一内核,采用轮询的方式读取第一数据。通过将第一存储介质的读请求队列与处理器第一内核绑定,使得电子设备可以仅使用该第一内核来执行第一存储介质的读请求队列中的数据读请求,提高了电子设备执行数据读请求的效率。此外,通过轮询的方式读取第一数据,电子设备可以及时确定是否读取到第一数据,进而可以及时的将该第一数据输出,提高了用户获取第一数据的效率。
作为一种可能的实现方式,在读取第一数据之后,电子设备还可以更新第一数据的累计读次数,该累计读次数可以反映出第一数据的读的频次,即,第一数据是否为热数据。
具体的,图3为本申请提供的另一种数据处理方法的流程示意图。如图3所示,在上述读取第一数据之后,该方法包括以下步骤:
S201、将第一逻辑块的累计读次数加1,得到更新后的第一逻辑块的累计读次数。
其中,前述电子硬盘的映射表中还可以包括逻辑块与逻辑块的累计读次数的映射关系。电子设备可以从该映射表中获取第一逻辑块的累计读次数。然后在读取第一数据之后,将第一逻辑块的累计读次数加1,得到更新后的第一逻辑块的累计读次数。
示例性的,上述逻辑块与逻辑块的累计读次数的映射关系例如可以如下表5所示:
表5
序号 | 逻辑块 | 累计读次数 |
1 | 逻辑块标识1 | 次数1 |
2 | 逻辑块标识2 | 次数2 |
3 | 逻辑块标识3 | 次数3 |
… | … | … |
n | 逻辑块标识n | 次数n |
假设第一逻辑块的标识包括:逻辑块标识1和逻辑块标识2,则读取第一数据之后,电子设备将逻辑块标识1对应的次数1加1,电子设备将逻辑块标识2对应的次数2加1,得到的更新后的第一逻辑块的累计读次数。
示例性的,更新后的逻辑块与逻辑块的累计读次数的映射关系可以如下表6所示:
表6
序号 | 逻辑块 | 累计读次数 |
1 | 逻辑块标识1 | (次数1)+1 |
2 | 逻辑块标识2 | (次数2)+1 |
3 | 逻辑块标识3 | 次数3 |
… | … | … |
n | 逻辑块标识n | 次数n |
S202、判断数据读请求是否属于第二存储介质的读请求队列,以及,更新后的第一逻辑块的累计读次数是否大于或等于第一预设阈值。
若数据读请求属于第二存储介质的读请求队列,说明第一数据至少部分位于读取速度较慢的第二存储介质中,且更新后的第一逻辑块的累计读次数大于或等于第一预设阈值,说明用户对第一数据的读取请求较多,为了能够进一步提升数据的读取速度,电子设备可以执行步骤S203,以将第一数据存储至第一存储介质的第二物理块中。
若数据读请求属于第二存储介质的读请求队列,且更新后的第一逻辑块的累计读次数小于第一预设阈值,说明虽然第一数据至少部分位于读取速度较慢的第二存储介质中,但是用户对第一数据的读取请求不多,即,第一数据为冷数据。此时,为了能够节省第一存储介质的存储空间,可以不对第一数据的存储位置做调整,则电子设备可以不做任何处理,流程结束。
若数据读请求不属于第二存储介质的读请求队列,说明第一数据均已位于读取速度较快的第一存储介质中。此时,无论更新后的第一逻辑块的累计读次数是否大于或等于第一预设阈值,均无需再对第一数据的存储位置做调整,则电子设备可以不做任何处理,流程结束。
其中,上述第一预设阈值例如可以是用户预先设定并存储在电子设备中的。
S203、采用轮询的方式,将第一数据存储至第一存储介质的第二物理块中。
其中,上述第二物理块可以是第一存储介质中任意一个空闲的的物理块。
S204、更新映射表中第一逻辑块所在的映射关系。
在将第一数据存储至第一存储介质的第二物理块中之后,电子设备需要更新映射表中第一逻辑块所在的映射关系,以获取正确的电子硬盘的映射表。
进一步的,以第一存储介质作为第二存储介质的缓存为例,在将第一数据存储至第一存储介质的第二物理块中之后,电子设备可以继续保留第二存储介质中的第一数据。以第一存储介质和第二存储介质均为电子硬盘的存储空间为例,在将第一数据存储至第一存储介质的第二物理块中之后。电子设备还可以删除第二存储介质中的第一数据,以节约第二存储介质的存储空间。在本实施例中,当数据读请求属于第二存储介质的读请求队列时,将累计读次数大于或等于第一预设阈值的第一逻辑块对应的第一数据存储至第一存储介质的第二物理块中。因为第一存储介质的数据读取速度大于第二存储介质的数据读取速度,将第一数据添加至第一存储介质之后,电子设备读取第一数据的速度更快,进而提高了用户获取第一数据的效率。而此处的第一数据是用户访问频次较高的数据,也就是说,通过上述方法,提高了读取用户访问频次较高的数据的效率,进而提高了用户体验。
作为一种可能的实现方式,在将第一数据存储至第一存储介质的第二物理块中之前,电子设备还可以判断第一存储介质的可用物理块的数量是否小于或等于第二预设阈值,以判断第一存储介质是否可以存储第一数据。
若第一存储介质的可用物理块的数量小于或等于第二预设阈值,说明第一存储介质剩余的数据存储空间较少,可能无法存储第一数据。则,电子设备可以按照预设策略,从第一存储介质中确定待迁移至第二存储介质的第二逻辑块。
其中,上述预设策略可以是用户预先存储在电子设备中的。示例性的,该预设策略例如可以是下述策略中的其中一种:1、将最先存储在第一存储介质中的逻辑块作为第二逻辑块,迁移至第二存储介质。2、将累计读次数最少(或者累计读次数小于预设次数阈值)的物理块对应的逻辑块作为第二逻辑块,迁移至第二存储介质。
然后,电子设备可以根据第二逻辑块的标识,以及,前述电子硬盘的映射表,确定与第二逻辑块对应第二物理块。然后将该第二物理块中存储的第二数据迁移至第二存储介质中,并更新映射表中第二逻辑块所在的映射关系。具体的,可以更新第二逻辑块对应的物理块,以及,第二逻辑块所属存储介质。在将第二物理块中存储的第二数据迁移至第二存储介质中之后,电子设备可以将第一数据写入第二物理块中。
若第一存储介质的可用物理块的数量大于第二预设阈值,说明第一存储介质剩余的数据存储空间较大,可以存储第一数据,则电子设备可以将第一数据存储至第一存储介质的第二物理块中。
作为一种可能的实现方式,电子设备还可以接收用于请求向电子硬盘的第三逻辑块写入第三数据的数据写请求,以实现向该电子硬盘中存储数据。图4为本申请提供的一种数据写请求响应方法的流程示意图。如图4所示,该方法包括以下步骤:
S301、接收数据写请求。
其中,该数据写请求用于请求向电子硬盘的第三逻辑块写入第三数据。
可选的,上述第三逻辑块所属存储介质可以是第一存储介质,或者,第二存储介质,或者,第一存储介质和第二存储介质。
具体的,电子设备可以如何接收该数据写请求,可以参照前述接收数据读请求的方法,本申请在此不再赘述。
S302、采用中断的方式,将第三数据写入第二存储介质的第三物理块中。
在接受到该数据写请求之后,电子设备可以采用中断的方式,将第三数据写入第二存储介质的第三物理块中,以节约第一存储介质的存储资源。通过中断的方式将第三数据写入第二存储介质的第三物理块中,使得数据写入过程中,电子设备可以使用该写入线程的计算资源执行其他任务,节约了电子设备的计算资源。
以第一存储介质作为第二存储介质的缓存为例,在将第三数据写入第二存储介质的第三物理块中之前,电子设备还可以对第三逻辑块对应的存储介质是否为第一存储介质进行判断。
若第三逻辑块对应的存储介质为第一存储介质,则电子设备可以将第三逻辑块对应的存储介质修改为第二存储介质。通过该方法,可以将第三数据存储于第二存储介质,以节约第一存储介质的存储资源。
具体的,电子设备可以根据第三逻辑块的标识,以及,前述电子硬盘的映射表,确定第三逻辑块对应的存储介质是否为第一存储介质。具体的,可以参照前述实施例所述的方法,本申请在此不再赘述。
若第三逻辑块对应的存储介质为第二存储介质,则电子设备可以直接将第三数据写入第二存储介质的第三物理块中。
以第一存储介质与第二存储介质共同构成电子硬盘的存储空间为例,电子设备在将第三数据写入第二存储介质的第三物理块中之前,还可以判断第二存储介质的第三物理块对应的存储空间是否能够存储第三数据。若第三物理块对应的存储空间能够存储第三数据,则可以将第三数据写入第二存储介质的第三物理块中。若第三物理块对应的存储空间不能存储第三数据,可选的,电子设备可以将该第三数据写入第一存储介质中。
S303、更新电子硬盘映射表中第三逻辑块所在的映射关系。
更新后的第三逻辑块对应的物理块为第三物理块,第三逻辑块所属存储介质为第二存储介质。可选的,当该映射表还包括逻辑块的累计读次数时,第三逻辑块对应的累计读次数为0。
在本实施例中,通过将第三数据写入到第二存储介质的第三物理块中,节约了第一存储介质的存储资源,使得第一存储介质能够有更多的存储空间用于存储的访问次数较多的数据,提高了数据读取整体的效率。
基于前述各实施例,以第一存储介质作为第二存储介质的缓存为例,图5为本申请提供的又一种数据处理方法的流程示意图。如图5所示,其中,高速NVM即为上述第一存储介质,低速NVM即为上述第二存储介质。热数据即为累计读次数大于或等于第一预设阈值的第一逻辑块中存储的数据。该方法包括以下步骤:
S401、接收用于请求从电子硬盘的第一逻辑块中读取第一数据的数据读请求。
S402、根据第一逻辑块的标识,以及,电子硬盘的映射表,确定第一数据是否存储于高速NVM。若是,则执行步骤S403。若否,则执行步骤S405。
S403、将数据读请求添加至高速NVM的读请求队列中。
S404、利用与高速NVM的读请求队列绑定的处理器第一内核,采用轮询的方式,从该读请求队列中执行至该数据读请求时,从第一逻辑块对应的第一物理块中读取第一数据。
在执行完步骤S404之后,电子设备执行步骤S407。
S405、将数据读请求添加至低速NVM的读请求队列中。
S406、利用与低速NVM的读请求队列绑定的处理器第二内核,采用中断的方式,从读请求队列中执行至该数据读请求时,从第一逻辑块的第一物理块中读取第一数据。
在执行完步骤S406之后,电子设备执行步骤S407。
S407、输出第一数据。
S408、更新后第一逻辑块的累计读次数。
本申请不限定S407与S408的执行顺序。可选的,电子设备可以先执行步骤S407,在执行步骤S408。或者,先执行步骤S408,再执行步骤S407。再或者,电子设备还可以同时执行步骤S407以及步骤S408。
S409、判断数据读请求是否属于低速NVM的读请求队列、且更新后的第一逻辑块的累计读次数是否大于或等于第一预设阈值。若是,执行S410,若否,则结束流程。
S410、判断高速NVM的可用物理块的数量是否小于或等于第二预设阈值。若是,则执行S411-S412之后,再执行步骤S414。若否,则直接执行S414。
S411、按照预设策略,从高速NVM中确定待迁移至低速NVM的第二逻辑块。
其中,步骤S409-S411在图5中未示出。
S412、将该第二逻辑块对应的第二物理块中存储的第二数据迁移至低速NVM中。
S413、更新映射表中第二逻辑块所在的映射关系。
S414、将第一数据存储至高速NVM的第二物理块中。
S415、更新映射表中第一逻辑块所在的映射关系。
进一步的,如图5所示,电子设备还可以接收用于请求向电子硬盘的第三逻辑块写入第三数据的数据写请求,即电子设备可以执行步骤S501-S504。
S501、接收数据写请求。
S502、将该数据写请求加入低速NVM的写请求队列中。
S503、利用与低速NVM的读请求队列绑定的处理器第二内核,采用中断的方式,从写请求队列中执行至该数据写请求时,将第三数据写入低速NVM的第三物理块中。
S504、更新电子硬盘映射表中第三逻辑块所在的映射关系。
基于前述各实施例,以第一存储介质和第二存储介质均为电子硬盘的存储空间为例,图6为本申请提供的又一种数据处理方法的流程示意图。如图6所示,其中,高速NVM即为上述第一存储介质,低速NVM即为上述第二存储介质。热数据即为累计读次数大于或等于第一预设阈值的第一逻辑块中存储的数据。该方法包括以下步骤:
S601-S615与前述S401-S415步骤相同,在此不再赘述。
S616、从低速NVM中删除该第一数据。
在将第一数据存储至第一存储介质的第二物理块中之后,电子设备还可以从第二存储介质中删除该第一数据,以节约该第二存储介质的存储空间。
进一步的,如图6所示,电子设备还可以接收用于请求向电子硬盘的第三逻辑块写入第三数据的数据写请求,即电子设备可以执行步骤S701-S704。
S701、接收数据写请求。
S702、将该数据写请求加入低速NVM的写请求队列中。
S703、判断第二存储介质的第三物理块对应的存储空间是否能够存储第三数据。(该步骤在图6中未示出)
若是,则执行步骤S704。若否,则执行步骤S705。
S704、利用与低速NVM的读请求队列绑定的处理器第二内核,采用中断的方式,从写请求队列中执行至该数据写请求时,将第三数据写入低速NVM的第三物理块中。
在执行完步骤S704之后,电子设备执行步骤S706。
S705、采用轮询的方式,将该第三数据写入高速NVM中。
在执行完步骤S705之后,电子设备执行步骤S706。
S706、更新电子硬盘映射表中第三逻辑块所在的映射关系。
图7为本申请提供的一种数据处理装置的结构示意图。该装置应用于使用电子硬盘进行数据存储的电子设备,所述电子硬盘包括第一存储介质和第二存储介质,所述第一存储介质的数据读取速度大于所述第二存储介质的数据读取速度。如图7所示,该装置包括:接收模块81,确定模块82,添加模块83,读取模块84,输出模块85。其中,
接收模块81,用于接收数据读请求。其中,所述数据读请求用于请求从所述电子硬盘的第一逻辑块中读取第一数据。
确定模块82,用于根据所述第一逻辑块的标识,以及,所述电子硬盘的映射表,确定所述第一数据是否存储于所述第一存储介质。其中,所述映射表包括:逻辑块、第一物理块、所属存储介质的映射关系。
添加模块83,用于在所述第一数据存储于所述第一存储介质时,将所述数据读请求添加至所述第一存储介质的读请求队列中。
读取模块84,用于利用与所述第一存储介质的读请求队列绑定的处理器第一内核,采用轮询的方式,从所述读请求队列中执行至所述数据读请求时,从所述第一逻辑块对应的第一物理块中读取所述第一数据。
输出模块85,用于输出所述第一数据。
可选的,添加模块83还用于在所述第一数据中的至少部分数据存储于所述第二存储介质时,将所述数据读请求添加至所述第二存储介质的读请求队列中。在该实现方式下,读取模块84还用于利用与所述第二存储介质的读请求队列绑定的处理器第二内核,采用中断的方式,从所述读请求队列中执行至所述数据读请求时,从所述第一逻辑块对应的第一物理块中读取所述第一数据。
可选的,所述映射表还包括:逻辑块的累计读次数。在该实现方式下,该数据处理装置还可以包括获取模块、存储模块,以及,更新模块。其中,
获取模块,用于在读取所述第一数据之后,将所述第一逻辑块的累计读次数加1,得到更新后的所述第一逻辑块的累计读次数。
存储模块,用于在所述数据读请求属于所述第二存储介质的读请求队列、且更新后的所述第一逻辑块的累计读次数大于或等于第一预设阈值时,采用轮询的方式,将所述第一数据存储至所述第一存储介质的第二物理块中。
更新模块,用于更新所述映射表中所述第一逻辑块所在的映射关系。
可选的,存储模块,具体用于在所述第一存储介质的可用物理块的数量小于或等于第二预设阈值时,按照预设策略,从所述第一存储介质中确定待迁移至所述第二存储介质的第二逻辑块;根据所述第一逻辑块的标识,以及,所述映射表,确定与所述第二逻辑块对应所述第二物理块;将所述第二逻辑块对应的第二物理块中存储的第二数据迁移至所述第二存储介质中,并更新所述映射表中所述第二逻辑块所在的映射关系;将所述第一数据写入所述第二物理块中。
可选的,存储模块,还用于在将所述第一数据存储至所述第一存储介质的第二物理块中之后,从所述第二存储介质中删除所述第一数据。
可选的,接收模块81,还用于接收数据写请求。其中,所述数据读请求用于请求向所述电子硬盘的第三逻辑块写入第三数据。在该实现方式下,该数据处理装置还可以包括写入模块,用于采用中断的方式,将所述第三数据写入所述第二存储介质的第三物理块中;更新所述映射表中所述第三逻辑块所在的映射关系。
可选的,确定模块82,还用于在所述采用中断的方式,将所述第三数据写入所述第二存储介质的第三物理块中之前,根据所述第三逻辑块的标识,以及,所述映射表,确定所述第三逻辑块对应的存储介质是否为所述第一存储介质;若所述第三逻辑块对应的存储介质为所述第一存储介质,则将所述第三逻辑块对应的存储介质修改为所述第二存储介质。
本申请提供的数据处理装置,用于执行前述数据处理方法实施例,其实现原理与技术效果类似,对此不再赘述。
图8为本申请提供的一种电子设备结构示意图。如图8所示,该电子设备900可以包括:至少一个处理器901和存储器902。
存储器902,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。
存储器902可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器901用于执行存储器902存储的计算机执行指令,以实现前述方法实施例所描述的数据处理方法。其中,处理器901可能是一个中央处理器(Central ProcessingUnit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,该电子设备900还可以包括通信接口903。在具体实现上,如果通信接口903、存储器902和处理器901独立实现,则通信接口903、存储器902和处理器901可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口903、存储器902和处理器901集成在一块芯片上实现,则通信接口903、存储器902和处理器901可以通过内部接口完成通信。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的数据处理方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (8)
1.一种数据处理方法,其特征在于,所述方法应用于使用电子硬盘进行数据存储的电子设备,所述电子硬盘包括第一存储介质和第二存储介质,所述第一存储介质的数据读取速度大于所述第二存储介质的数据读取速度,所述方法包括:
接收数据读请求;所述数据读请求用于请求从所述电子硬盘的第一逻辑块中读取第一数据;
根据所述第一逻辑块的标识,以及,所述电子硬盘的映射表,确定所述第一数据是否存储于所述第一存储介质;所述映射表包括:逻辑块、第一物理块、所属存储介质的映射关系;
若所述第一数据存储于所述第一存储介质,则将所述数据读请求添加至所述第一存储介质的读请求队列中;
利用与所述第一存储介质的读请求队列绑定的处理器第一内核,采用轮询的方式,从所述读请求队列中执行至所述数据读请求时,从所述第一逻辑块对应的第一物理块中读取所述第一数据;
若所述第一数据中的至少部分数据存储于所述第二存储介质,则将所述数据读请求添加至所述第二存储介质的读请求队列中;
利用与所述第二存储介质的读请求队列绑定的处理器第二内核,采用中断的方式,从所述读请求队列中执行至所述数据读请求时,从所述第一逻辑块对应的第一物理块中读取所述第一数据;
输出所述第一数据;
所述映射表还包括:逻辑块的累计读次数;
所述读取所述第一数据之后,所述方法还包括:
将所述第一逻辑块的累计读次数加1,得到更新后的所述第一逻辑块的累计读次数;
若所述数据读请求属于所述第二存储介质的读请求队列、且更新后的所述第一逻辑块的累计读次数大于或等于第一预设阈值,则采用轮询的方式,将所述第一数据存储至所述第一存储介质的第二物理块中;
更新所述映射表中所述第一逻辑块所在的映射关系。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一数据存储至所述第一存储介质的第二物理块中,包括:
若所述第一存储介质的可用物理块的数量小于或等于第二预设阈值,则按照预设策略,从所述第一存储介质中确定待迁移至所述第二存储介质的第二逻辑块;
根据所述第二逻辑块的标识,以及,所述映射表,确定与所述第二逻辑块对应所述第二物理块;
将所述第二逻辑块对应的第二物理块中存储的第二数据迁移至所述第二存储介质中,并更新所述映射表中所述第二逻辑块所在的映射关系;
将所述第一数据写入所述第二物理块中。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述第一数据存储至所述第一存储介质的第二物理块中之后,所述方法还包括:
从所述第二存储介质中删除所述第一数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收数据写请求;所述数据写请求用于请求向所述电子硬盘的第三逻辑块写入第三数据;
采用中断的方式,将所述第三数据写入所述第二存储介质的第三物理块中;
更新所述映射表中所述第三逻辑块所在的映射关系。
5.根据权利要求4所述的方法,其特征在于,所述采用中断的方式,将所述第三数据写入所述第二存储介质的第三物理块中之前,所述方法还包括:
根据所述第三逻辑块的标识,以及,所述映射表,确定所述第三逻辑块对应的存储介质是否为所述第一存储介质;
若所述第三逻辑块对应的存储介质为所述第一存储介质,则将所述第三逻辑块对应的存储介质修改为所述第二存储介质。
6.一种数据处理装置,其特征在于,所述装置应用于使用电子硬盘进行数据存储的电子设备,所述电子硬盘包括第一存储介质和第二存储介质,所述第一存储介质的数据读取速度大于所述第二存储介质的数据读取速度,所述装置包括:
接收模块,用于接收数据读请求;所述数据读请求用于请求从所述电子硬盘的第一逻辑块中读取第一数据;
确定模块,用于根据所述第一逻辑块的标识,以及,所述电子硬盘的映射表,确定所述第一数据是否存储于所述第一存储介质;所述映射表包括:逻辑块、第一物理块、所属存储介质的映射关系;
添加模块,用于在所述第一数据存储于所述第一存储介质时,将所述数据读请求添加至所述第一存储介质的读请求队列中;
读取模块,用于利用与所述第一存储介质的读请求队列绑定的处理器第一内核,采用轮询的方式,从所述读请求队列中执行至所述数据读请求时,从所述第一逻辑块对应的第一物理块中读取所述第一数据;
所述添加模块还用于在所述第一数据中的至少部分数据存储于所述第二存储介质时,将所述数据读请求添加至所述第二存储介质的读请求队列中;所述读取模块还用于利用与所述第二存储介质的读请求队列绑定的处理器第二内核,采用中断的方式,从所述读请求队列中执行至所述数据读请求时,从所述第一逻辑块对应的第一物理块中读取所述第一数据;
输出模块,用于输出所述第一数据;
所述映射表还包括:逻辑块的累计读次数,所述装置还包括:
获取模块,用于在读取所述第一数据之后,将所述第一逻辑块的累计读次数加1,得到更新后的所述第一逻辑块的累计读次数;
存储模块,用于在所述数据读请求属于所述第二存储介质的读请求队列、且更新后的所述第一逻辑块的累计读次数大于或等于第一预设阈值时,采用轮询的方式,将所述第一数据存储至所述第一存储介质的第二物理块中;
更新模块,用于更新所述映射表中所述第一逻辑块所在的映射关系。
7.一种电子设备,其特征在于,包括:至少一个处理器、存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110657396.7A CN113253939B (zh) | 2021-06-11 | 2021-06-11 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110657396.7A CN113253939B (zh) | 2021-06-11 | 2021-06-11 | 数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113253939A CN113253939A (zh) | 2021-08-13 |
CN113253939B true CN113253939B (zh) | 2023-05-16 |
Family
ID=77187853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110657396.7A Active CN113253939B (zh) | 2021-06-11 | 2021-06-11 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113253939B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895846A (zh) * | 2022-04-28 | 2022-08-12 | 阿里巴巴(中国)有限公司 | 一种数据处理方法、装置及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101861170B1 (ko) * | 2011-08-17 | 2018-05-25 | 삼성전자주식회사 | 마이그레이션 관리자를 포함하는 메모리 시스템 |
US9348747B2 (en) * | 2013-10-29 | 2016-05-24 | Seagate Technology Llc | Solid state memory command queue in hybrid device |
US10277258B2 (en) * | 2016-09-09 | 2019-04-30 | Toshiba Memory Corporation | Information processing device and host device |
CN111984407B (zh) * | 2020-08-07 | 2022-12-23 | 苏州浪潮智能科技有限公司 | 一种数据块读写性能优化方法、系统、终端及存储介质 |
-
2021
- 2021-06-11 CN CN202110657396.7A patent/CN113253939B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113253939A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110730945B (zh) | 可扩展的低时延存储接口 | |
US9972375B2 (en) | Sanitize-aware DRAM controller | |
US9110786B2 (en) | Read operation prior to retrieval of scatter gather list | |
US10866736B2 (en) | Memory controller and data processing circuit with improved system efficiency | |
US20180059987A1 (en) | Method for reducing read buffer size requirements in nvme based solid state drives | |
EP3657337B1 (en) | Method, apparatus, device and storage medium for accessing static random access memory | |
US11435952B2 (en) | Memory system and control method controlling nonvolatile memory in accordance with command issued by processor | |
CN111563052A (zh) | 降低读延时的缓存方法、装置、计算机设备及存储介质 | |
US20190332540A1 (en) | Storage management method, electronic device and computer readable medium | |
CN113253939B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116400852A (zh) | 固态硬盘写性能的优化方法、装置、计算机设备及存储介质 | |
CN111625197A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN111124314A (zh) | 映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质 | |
CN111597127B (zh) | 混合slc缓存的方法、装置、计算机设备及存储介质 | |
CN108717395B (zh) | 一种降低动态块映射信息占用内存的方法及装置 | |
US20150212759A1 (en) | Storage device with multiple processing units and data processing method | |
CN115576863A (zh) | 一种数据读写方法、存储设备及存储介质 | |
CN111522504B (zh) | 存储器控制器以及包括存储器控制器的存储器系统 | |
US10719461B2 (en) | Solid state device with distributed bit buckets | |
CN109388593B (zh) | 进行动态资源管理的方法、记忆装置及记忆装置的控制器 | |
CN114625307A (zh) | 计算机可读存储介质、闪存芯片的数据读取方法及装置 | |
CN109213424B (zh) | 并发io命令的无锁处理方法 | |
US10671322B1 (en) | Method for performing storage space management, associated data storage device, and controller thereof | |
JP2024103198A (ja) | メモリシステム | |
CN118585141A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |