CN114579051B - 识别硬盘读模式的方法以及装置 - Google Patents
识别硬盘读模式的方法以及装置 Download PDFInfo
- Publication number
- CN114579051B CN114579051B CN202210182258.2A CN202210182258A CN114579051B CN 114579051 B CN114579051 B CN 114579051B CN 202210182258 A CN202210182258 A CN 202210182258A CN 114579051 B CN114579051 B CN 114579051B
- Authority
- CN
- China
- Prior art keywords
- partition
- hard disk
- partitions
- read
- identifying
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005192 partition Methods 0.000 claims abstract description 183
- 230000004044 response Effects 0.000 claims abstract description 12
- 239000007787 solid Substances 0.000 claims description 12
- 239000000872 buffer Substances 0.000 claims description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000013403 standard screening design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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
本说明书实施例提供识别硬盘读模式的方法以及装置,其中所述识别硬盘读模式的方法包括:响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在硬盘中所属的分区,其中,所述硬盘为支持多个分区并发操作的硬盘;记录所述读操作的逻辑地址与分区之间的对应关系;利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种识别硬盘读模式的方法以及装置。
背景技术
固态硬盘(Solid State Disk或Solid State Drive,简称SSD),又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘。随着固态硬盘技术的发展,现在出现了一种将SSD里的命名空间按照分区进行划分的一种固态硬盘,这种技术称为ZNS,即Zoned namespace(分区命名空间)。ZNS盘是一种新的SSD盘形式,读写方式同传统的SSD盘有一定区别,因此,传统的一些算法在ZNS盘上有时会失效,导致无法发挥这些算法的优势。
发明内容
有鉴于此,本说明书实施例提供了一种识别硬盘读模式的方法。本说明书一个或者多个实施例同时涉及一种识别硬盘读模式的装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种识别硬盘读模式的方法,包括:响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在硬盘中所属的分区,其中,所述硬盘为支持多个分区并发操作的硬盘;记录所述读操作的逻辑地址与分区之间的对应关系;利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别。
可选地,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,包括:利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行是否为顺序读模式的识别。
可选地,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,包括:预先为所述硬盘的多个分区各自配置对应的读模式的识别引擎,分区与识别引擎是一一对应的关系;利用各个分区各自对应的逻辑地址,调用各个分区分别对应的识别引擎执行读模式的识别。
可选地,所述记录所述读操作的逻辑地址与分区之间的对应关系,包括:预先为所述硬盘的各个分区各自配置对应的地址存储池;将所述读操作的逻辑地址写入所述分区对应的地址存储池中。
可选地,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,包括:响应于所述地址存储池已写满,利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别。
可选地,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行是否为顺序读模式的识别,包括:利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别执行预读算法,其中,所述预读算法中包括是否为顺序读模式的识别逻辑。
可选地,还包括:预先为所述硬盘的各个分区各自配置对应的数据缓冲区;在各个分区分别执行预读算法时,如果根据所述预读算法确定所述分区处于顺序读的模式,则将存储区的数据预读入所述分区对应的数据缓冲区。
根据本说明书实施例的第二方面,提供了一种识别硬盘读模式的装置,包括:分区确定模块,被配置为响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在硬盘中所属的分区,其中,所述硬盘为支持多个分区并发操作的硬盘。对应记录模块,被配置为记录所述读操作的逻辑地址与分区之间的对应关系。识别执行模块,被配置为利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述识别硬盘读模式的方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述识别硬盘读模式的方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述识别硬盘读模式的方法的步骤。
本说明书一个实施例实现了识别硬盘读模式的方法,该方法针对的硬盘为支持多个分区并发操作的硬盘,由于该方法响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在所述硬盘中所属的分区,记录所述读操作的逻辑地址与分区之间的对应关系,利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,因此,该方法适配ZNS盘的特点,在发生多个分区的读操作的情况下,可以通过每个分区各自对应的读操作的逻辑地址执行读模式的识别,避免ZNS盘多个分区并发的读操作的交织导致读模式的识别逻辑不成立,以便在ZNS盘中能利用例如预读算法等算法基于读模式的识别结果有效地执行,发挥算法优势,提高硬盘的性能。
附图说明
图1是本说明书一个实施例提供的一种识别硬盘读模式的方法的流程图;
图2是本说明书一个实施例提供的记录窗示意图;
图3是本说明书一个实施例提供的一种识别硬盘读模式的装置的结构示意图;
图4是本说明书另一个实施例提供的一种识别硬盘读模式的装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
预读算法(read ahead),是在用户访问连续多个逻辑地址的时候,一次性将多个连续的页从存储区读取到内存中,从而避免多次与存储区交互,降低性能。
逻辑地址(logic block address,LBA),逻辑块地址,存储软件看到的存储地址。
ZNS,Zoned namespace(分区空间),将固态硬盘里面的namespace(命名空间)按照zone(分区)进行划分的一种固态硬盘。
在本说明书中,提供了一种识别硬盘读模式的方法,本说明书同时涉及一种识别硬盘读模式的装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种识别硬盘读模式的方法的流程图。例如,该方法可以应用于硬盘的控制器,所述硬盘为支持多个分区并发操作的硬盘,例如ZNS盘。其中,所述硬盘可以是固态硬盘等具有控制器,且可在控制器应用本说明书实施例提供的方法的任意类型的硬盘。该方法具体包括以下步骤。
步骤102:响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在所述硬盘中所属的分区。
步骤104:记录所述读操作的逻辑地址与分区之间的对应关系。
本说明书实施例提供的方法对于如何记录所述读操作的逻辑地址与分区之间的对应关系并不进行限制,根据该对应关系能够确定各个分区各自对应的读操作的逻辑地址即可。例如,可以一个分区对应一个地址存储池以记录对应的读操作的逻辑地址,再例如,可以建立映射关系表来记录对应关系等等。
例如,可以预先为所述硬盘的各个分区各自配置对应的地址存储池,将所述读操作的逻辑地址写入所述分区对应的地址存储池中,从而达到记录所述读操作的逻辑地址与分区之间的对应关系的目的。在该实施例中,能够基于各个分区的地址存储池快捷地确定各个分区各自的逻辑地址。
步骤106:利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别。
其中,所述读模式例如可以包括顺序读、随机读等等。例如,本说明书一个或多个实施例中,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,可以包括:利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行是否为顺序读模式的识别。
可以理解的是,在实际应用中,可以根据应用场景需要,设置一种或多种与识别出的读模式相适应的处理读的算法来提高硬盘的性能,本说明书实施例对于读模式识别的结果的使用方式并不进行限制。例如,预读算法中,根据识别出的读模式为顺序读,可以一次性将多个连续的页从存储区读取到内存中,从而避免多次与存储区交互,提高性能。因此,一个或多个实施例中,可以利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别执行预读算法,其中,所述预读算法中包括是否为顺序读模式的识别逻辑。
由于该方法响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在所述硬盘中所属的分区,记录所述读操作的逻辑地址与分区之间的对应关系,而且读模式的识别主要是根据读操作的逻辑地址所展示的规律来进行识别,同一分区内的读操作通常具有一定的模式、规律,因此,利用所述对应关系中各个分区各自对应的逻辑地址,可以针对各个分区分别进行读模式的识别。可见,该方法适配ZNS盘的特点,在发生多个分区的读操作的情况下,可以通过每个分区各自对应的读操作的逻辑地址执行读模式的识别,避免ZNS盘多个分区的读操作的交织导致读模式的识别逻辑不成立,以便在ZNS盘中能有效利用基于识别模式的这些算法提高性能。
例如,根据本说明书实施例提供的识别硬盘读模式的方法,可以在每个分区基于读模式的识别结果各自执行分区自己的预读算法,通过预读算法降低顺序读情况下的延迟,提高ZNS应用下的顺序读性能,显著降低ZNS应用下的顺序读延时和QoS。
为了便于触发执行读模式的识别,本说明书一个或多个实施例中,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,包括:响应于所述地址存储池已写满,利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别。例如,在该实施例中,可以根据预读算法中,将数据预读入缓存所要求的连续多个逻辑地址的数量设置地址存储池的大小,以便在地址存储池写满的情况下,触发预读算法将数据预读入缓存。其中,针对不同分区执行的预读算法可以根据实际应用场景按需设置相同或不同的参数。例如,所述地址存储池的大小也即触发预读数据入缓存的连续读逻辑地址数量N,N可以设置为128或者1024等;再例如,预读算法是否去除最大最小的噪声,是否要求步径一致等等,本说明书实施例提供的方法对此并不进行限制。
为了便于多个分区并发读操作时,及时对各个分区分别执行读模式的识别,本说明书一个或多个实施例中,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,包括:预先为所述硬盘的多个分区各自配置对应的读模式的识别引擎,其中,分区与识别引擎是一一对应的关系,从而可以利用各个分区各自对应的逻辑地址,调用各个分区分别对应的识别引擎执行读模式的识别。例如,可以响应于所述地址存储池已写满,调用该存储池已写满的分区对应的识别引擎执行读模式的识别。
以预读算法为例,可以预先为所述硬盘的多个分区各自配置对应的基于预读算法的识别引擎,所述预读算法中包括是否为顺序读模式的识别逻辑,进而可以利用各个分区各自对应的逻辑地址,调用各个分区分别对应的识别引擎执行预读算法。
为了提高数据读取速度,本说明书一个或多个实施例中,对预读算法预读入的数据采用了分区缓存的方式,这样在该分区后续接收到新的读操作时,可以直接从分区对应的缓存中读取出数据。具体地,所述方法还可以包括:预先为所述硬盘的各个分区各自配置对应的数据缓冲区,在所述针对各个分区分别执行预读算法时,如果根据所述预读算法确定所述分区处于顺序读的模式,则将数据预读入所述分区对应的数据缓冲区。
下述结合附图2所示的记录窗示意图,根据本说明书提供的识别硬盘读模式的方法在预读算法的应用为例,对所述识别硬盘读模式的方法进行进一步说明。在该实施例中,SSD盘片中设置多个记录窗,如图2所示的“记录窗#1”、“记录窗#2”及“记录窗#3”。记录窗即对应于上述实施例中的地址存储池。硬盘的多个分区分别对应不同的逻辑地址范围,一个记录窗对应一个逻辑地址范围,利用多个记录窗可以分别对每个分区进行独立的、是否为顺序读的判断。如图2所示,接收到读操作之后,可以先确定读操作读取的用户数据的逻辑地址所属的逻辑地址范围。例如,用户数据“LBA#3-1”所属的逻辑地址范围对应的记录窗为“记录窗#3”,用户数据“LBA#2-1”所属的逻辑地址范围对应的记录窗为“记录窗#2”,用户数据“LBA#1-2”和“LBA#1-1”所属的逻辑地址范围对应的记录窗为“记录窗#1”。根据用户数据的逻辑地址所属的逻辑地址范围,将逻辑地址存储在对应的记录窗里。可以理解的是,如果是并发的多个读操作,则多个读操作针对的逻辑地址分别存储在对应的一个或多个记录窗里。当某个记录窗满时,例如,已写入逻辑地址数量N=128时,对该记录窗执行预读算法,基于预读算法进行记录窗里的逻辑地址是否递增的判断,从而输出该窗口是否为顺序读的判断结果。如果是,则根据预读算法从存储区获取数据以将数据预读入所述分区对应的数据缓冲区。
通过上述实施例可见,ZNS盘同SSD盘不同,ZNS盘可以同时对多个Zone进行操作、每个Zone都是一个LBA区段,本说明书实施例提供的方法利用每个Zone的LBA区段可能是顺序读操作的特点,对每个Zone各自安排一个识别引擎以进行顺序读的识别。例如,常用的ZNS盘片最大支持的活动zone个数为4或8的时候,可以安排4或8个基于预读算法的识别引擎。每个识别引擎内部可以按照预读算法的顺序读模式判断逻辑。这样,就可以适配ZNS盘的特点,多个Zone并发读操作的时候仍然可以精确判断每个Zone是否处于顺序读的模式,从而能够在ZNS盘的场景中根据预读算法将顺序读的延迟大幅降低。
与上述方法实施例相对应,本说明书还提供了识别硬盘读模式的装置实施例,图3示出了本说明书一个实施例提供的一种识别硬盘读模式的装置的结构示意图。如图3所示,该装置包括:
分区确定模块302,可以被配置为响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在硬盘中所属的分区,其中,所述硬盘为支持多个分区并发操作的硬盘。
对应记录模块304,可以被配置为记录所述读操作的逻辑地址与分区之间的对应关系。
识别执行模块306,可以被配置为利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别。
该装置针对的硬盘为基于分区命名空间技术划分多个分区的硬盘,由于该方法响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在所述硬盘中所属的分区,记录所述读操作的逻辑地址与分区之间的对应关系,利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,因此,该装置适配ZNS盘的特点,在发生多个分区的读操作的情况下,可以通过每个分区各自对应的读操作的逻辑地址执行读模式的识别,避免ZNS盘多个分区的读操作的交织导致读模式的识别逻辑不成立,以便在ZNS盘中能利用例如预读算法等算法基于读模式的识别结果有效地执行,发挥算法优势,提高硬盘的性能。
其中,所述读模式例如可以包括顺序读、随机读等等。例如,所述识别执行模块306,可以被配置为利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行是否为顺序读模式的识别。
图4示出了本说明书另一个实施例提供的一种识别硬盘读模式的装置的结构示意图。如图4所示,为了便于多个分区并发读操作时,及时对各个分区分别执行读模式的识别,本说明书一个或多个实施例中,所述识别执行模块306,可以包括:
识别引擎配置子模块3062,可以被配置为预先为所述硬盘的多个分区各自配置对应的读模式的识别引擎,分区与识别引擎是一一对应的关系。
识别引擎调用子模块3064,可以被配置为利用各个分区各自对应的逻辑地址,调用各个分区分别对应的识别引擎执行读模式的识别。
本说明书实施例提供的装置对于如何记录所述读操作的逻辑地址与分区之间的对应关系并不进行限制,根据该对应关系能够确定各个分区各自对应的读操作的逻辑地址即可。例如,如图4所示,所述对应记录模块304,可以包括:
地址池配置子模块3042,可以被配置为预先为所述硬盘的各个分区各自配置对应的地址存储池。
地址记录子模块3044,可以被配置为将所述读操作的逻辑地址写入所述分区对应的地址存储池中。
为了便于触发执行读模式的识别,本说明书一个或多个实施例中,所述识别执行模块306,可以被配置为响应于所述地址存储池已写满,利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别。例如,在该实施例中,可以根据预读算法中,将数据预读入缓存所要求的连续多个逻辑地址的数量设置地址存储池的大小,以便在地址存储池写满的情况下,触发预读算法将数据预读入缓存。
可以理解的是,在实际应用中,可以根据应用场景需要,设置一种或多种与识别出的读模式相适应的处理读的算法来提高硬盘的性能,本说明书实施例对于读模式识别的结果的使用方式并不进行限制。例如,预读算法中,根据识别出的读模式为顺序读,可以一次性将多个连续的页从存储区读取到内存中,从而避免多次与存储区交互,提高性能。因此,一个或多个实施例中,所述识别执行模块306,可以被配置为利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别执行预读算法,其中,所述预读算法中包括是否为顺序读模式的识别逻辑。
本说明书一个或多个实施例中,对预读算法预读入的数据采用了分区缓存的方式,这样在该分区后续接收到新的读操作时,可以直接从分区对应的缓存中读取出数据。具体地,如图4所示,所述装置还可以包括:
缓存配置模块308,可以被配置为预先为所述硬盘的各个分区各自配置对应的数据缓冲区。
数据预读模块310,可以被配置为在各个分区分别执行预读算法时,如果根据所述预读算法确定所述分区处于顺序读的模式,则将存储区的数据预读入所述分区对应的数据缓冲区。
上述为本实施例的一种识别硬盘读模式的装置的示意性方案。需要说明的是,该识别硬盘读模式的装置的技术方案与上述的识别硬盘读模式的方法的技术方案属于同一构思,识别硬盘读模式的装置的技术方案未详细描述的细节内容,均可以参见上述识别硬盘读模式的方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述识别硬盘读模式的方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的识别硬盘读模式的方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述识别硬盘读模式的方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述识别硬盘读模式的方法的步骤。
需要说明的是,该存储介质的技术方案与上述的识别硬盘读模式的方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述识别硬盘读模式的方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述识别硬盘读模式的方法的步骤。
需要说明的是,该计算机程序的技术方案与上述的识别硬盘读模式的方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述识别硬盘读模式的方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (9)
1.一种识别硬盘读模式的方法,应用于硬盘的控制器,所述方法包括:
响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在硬盘中所属的分区,其中,所述硬盘为支持多个分区并发操作的固态硬盘;
在所述控制器中,为所述多个分区记录所述读操作的逻辑地址与分区之间的对应关系;
利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别;
所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,包括:
在所述控制器中,预先为所述硬盘的多个分区各自配置对应的读模式的识别引擎,分区与识别引擎是一一对应的关系;
利用各个分区各自对应的逻辑地址,调用各个分区分别对应的识别引擎执行读模式的识别。
2.根据权利要求1所述的方法,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,包括:
利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行是否为顺序读模式的识别。
3.根据权利要求1所述的方法,所述记录所述读操作的逻辑地址与分区之间的对应关系,包括:
预先为所述硬盘的各个分区各自配置对应的地址存储池;
将所述读操作的逻辑地址写入所述分区对应的地址存储池中。
4.根据权利要求3所述的方法,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,包括:
响应于所述地址存储池已写满,利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别。
5.根据权利要求2所述的方法,所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行是否为顺序读模式的识别,包括:
利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别执行预读算法,其中,所述预读算法中包括是否为顺序读模式的识别逻辑。
6.根据权利要求5所述的方法,还包括:
预先为所述硬盘的各个分区各自配置对应的数据缓冲区;
在各个分区分别执行预读算法时,如果根据所述预读算法确定所述分区处于顺序读的模式,则将存储区的数据预读入所述分区对应的数据缓冲区。
7.一种识别硬盘读模式的装置,配置于硬盘的控制器,所述装置包括:
分区确定模块,被配置为响应于接收到读操作,确定所述读操作的逻辑地址以及所述逻辑地址在硬盘中所属的分区,其中,所述硬盘为支持多个分区并发操作的固态硬盘;
对应记录模块,被配置为在所述控制器中,为所述多个分区记录所述读操作的逻辑地址与分区之间的对应关系;
识别执行模块,被配置为利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别;
所述利用所述对应关系中各个分区各自对应的逻辑地址,针对各个分区分别进行读模式的识别,包括:
在所述控制器中,预先为所述硬盘的多个分区各自配置对应的读模式的识别引擎,分区与识别引擎是一一对应的关系;
利用各个分区各自对应的逻辑地址,调用各个分区分别对应的识别引擎执行读模式的识别。
8.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至6任意一项所述识别硬盘读模式的方法的步骤。
9.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至6任意一项所述识别硬盘读模式的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210182258.2A CN114579051B (zh) | 2022-02-25 | 2022-02-25 | 识别硬盘读模式的方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210182258.2A CN114579051B (zh) | 2022-02-25 | 2022-02-25 | 识别硬盘读模式的方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114579051A CN114579051A (zh) | 2022-06-03 |
CN114579051B true CN114579051B (zh) | 2024-04-23 |
Family
ID=81773537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210182258.2A Active CN114579051B (zh) | 2022-02-25 | 2022-02-25 | 识别硬盘读模式的方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579051B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827699A (zh) * | 2023-12-27 | 2024-04-05 | 中电云计算技术有限公司 | 并行读cache持久化方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004206394A (ja) * | 2002-12-25 | 2004-07-22 | Nippon Yunishisu Kk | ネットワークセキュリティ装置のオペレーティングシステムの起動方法、および、ネットワークセキュリティ装置 |
CN106339326A (zh) * | 2016-08-26 | 2017-01-18 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘顺序读性能的方法 |
CN110674056A (zh) * | 2019-09-02 | 2020-01-10 | 新华三大数据技术有限公司 | 一种垃圾回收方法及装置 |
CN112328185A (zh) * | 2020-12-28 | 2021-02-05 | 烽火通信科技股份有限公司 | 一种基于分布式存储的智能预读方法 |
CN114077547A (zh) * | 2020-08-17 | 2022-02-22 | 西部数据技术公司 | 具有分区命名空间的主机管理的硬件压缩 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203815B2 (en) * | 2004-07-30 | 2007-04-10 | International Business Machines Corporation | Multi-level page cache for enhanced file system performance via read ahead |
KR20120082218A (ko) * | 2011-01-13 | 2012-07-23 | (주)인디링스 | 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
CN106164898B (zh) * | 2014-10-11 | 2018-06-26 | 华为技术有限公司 | 数据处理方法和装置 |
US11200179B2 (en) * | 2020-02-26 | 2021-12-14 | Micron Technology, Inc. | Facilitating sequential reads in memory sub-systems |
US11379360B2 (en) * | 2020-06-25 | 2022-07-05 | Netapp, Inc. | Methods for managing storage operations for multiple hosts coupled to dual-port solid-state disks and devices thereof |
-
2022
- 2022-02-25 CN CN202210182258.2A patent/CN114579051B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004206394A (ja) * | 2002-12-25 | 2004-07-22 | Nippon Yunishisu Kk | ネットワークセキュリティ装置のオペレーティングシステムの起動方法、および、ネットワークセキュリティ装置 |
CN106339326A (zh) * | 2016-08-26 | 2017-01-18 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘顺序读性能的方法 |
CN110674056A (zh) * | 2019-09-02 | 2020-01-10 | 新华三大数据技术有限公司 | 一种垃圾回收方法及装置 |
CN114077547A (zh) * | 2020-08-17 | 2022-02-22 | 西部数据技术公司 | 具有分区命名空间的主机管理的硬件压缩 |
CN112328185A (zh) * | 2020-12-28 | 2021-02-05 | 烽火通信科技股份有限公司 | 一种基于分布式存储的智能预读方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114579051A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11307769B2 (en) | Data storage method, apparatus and storage medium | |
US20220129189A1 (en) | Data Storage Method in Flash Device and Flash Device | |
US20220057940A1 (en) | Method and Apparatus for SSD Storage Access | |
US10282128B2 (en) | Data deduplication | |
US20230120862A1 (en) | Storage System, File Storage and Reading Method, and Terminal Device | |
US9053019B2 (en) | Non-volatile memory device, a data processing device using the same, and a swapping method used by the data processing and non-volatile memory devices | |
US11360705B2 (en) | Method and device for queuing and executing operation commands on a hard disk | |
CN110287152B (zh) | 一种数据管理的方法以及相关装置 | |
CN106951521B (zh) | 日志文件的读写方法、装置及*** | |
CN113296696A (zh) | 一种数据的访问方法、计算设备及存储介质 | |
US12038908B2 (en) | Blockchain data storage method, system, device, and readable storage medium | |
CN109582598B (zh) | 一种基于外部存储实现高效查找哈希表的预处理方法 | |
CN114579051B (zh) | 识别硬盘读模式的方法以及装置 | |
CN114579404A (zh) | 冷热页统计方法以及装置 | |
CN111796759A (zh) | 多平面上的片段数据读取的计算机可读取存储介质及方法 | |
CN112506823A (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
CN114676072A (zh) | 数据处理方法以及装置 | |
CN115249057A (zh) | 用于图形节点采样的***和由计算机实现的方法 | |
WO2023235040A1 (en) | File system improvements for zoned storage device operations | |
CN112463041B (zh) | 一种主机读写数据的处理方法及相关装置 | |
CN114625695A (zh) | 数据处理方法以及装置 | |
CN107870736B (zh) | 支持大于4gb非线性闪存的方法及装置 | |
CN103246611A (zh) | 一种文件处理方法及*** | |
KR20210085674A (ko) | 다중-스트림을 지원하도록 구성된 스토리지 장치 및 그것의 동작 방법 | |
CN110727405A (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 |