CN104134027A - Sequence flow recognition method and sequence flow recognition device - Google Patents

Sequence flow recognition method and sequence flow recognition device Download PDF

Info

Publication number
CN104134027A
CN104134027A CN201410352520.9A CN201410352520A CN104134027A CN 104134027 A CN104134027 A CN 104134027A CN 201410352520 A CN201410352520 A CN 201410352520A CN 104134027 A CN104134027 A CN 104134027A
Authority
CN
China
Prior art keywords
storage block
sequential flow
access
access characteristic
metadata
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.)
Granted
Application number
CN201410352520.9A
Other languages
Chinese (zh)
Other versions
CN104134027B (en
Inventor
王明迪
覃伟峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410352520.9A priority Critical patent/CN104134027B/en
Publication of CN104134027A publication Critical patent/CN104134027A/en
Application granted granted Critical
Publication of CN104134027B publication Critical patent/CN104134027B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices

Abstract

The embodiment of the invention discloses a sequence flow recognition method and a sequence flow recognition device, wherein the method comprises the following steps that: a located target storage block of data accessed by a current I/O request is found; an I/O access feature of the target storage block is found out from a feature bit map, wherein the feature bit map is used for marking the I/O access feature of the target storage block; and when the condition that the I/O access feature of the target storage block is a sequence access feature is found out, the initial position of the data accessed by the current I/O request is recognized to be used as a sequence flow head, and a sequence flow tail is found according to the current I/O request. When the method and the device provided by the invention are adopted, the sequence flow can be fast recognized, and in addition, the prefetching waste can be reduced.

Description

A kind of sequential flow is known method for distinguishing and device
Technical field
The present invention relates to field of computer technology, relate in particular to a kind of sequential flow and know method for distinguishing and device.
Background technology
Sequential flow identification of the prior art is generally that the distance of asking by front and back judges, and each request judges, although this method reality is simple, but easily there is mistake identification, and not prompt enough to sequential flow identification, cannot find fast sequential flow head, thereby cause more disk access load; Meanwhile, storage system of the prior art also cannot identify sequential flow tail timely, thereby easily causes the phenomenon of the waste of looking ahead.
Summary of the invention
Embodiment of the present invention technical matters to be solved is, provides a kind of sequential flow to know method for distinguishing and device, can identify sequential flow fast, and can reduce the waste of looking ahead.
First aspect present invention provides a kind of sequential flow to know method for distinguishing, comprising:
Search current I/O and ask the residing target storage block of data of accessing;
In feature bitmap, find out the I/O access characteristic of described target storage block, described feature bitmap is for identifying the I/O access characteristic of described target storage block;
In the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, and according to described current I/O request looked-up sequence stream tail.
In the possible implementation of the first, described in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, and according to described current I/O request looked-up sequence stream tail, comprising:
In the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head;
The data length of asking to access according to described current I/O adds that default prefetch searches initial order stream tail;
In the time detecting that described initial order stream tail is not in described target storage block, judge that whether the present storage block of described initial order stream tail is serial relation with described target storage block;
If be judged as YES, determine that described initial order stream tail is the sequential flow tail in current sequential flow;
Otherwise, described initial order stream tail is repositioned to the afterbody address of described target storage block, and determines that the initial order stream tail after reorientating is the sequential flow tail in current sequential flow.
In conjunction with first aspect, or the possible implementation of the first of first aspect, in the possible implementation of the second, also comprise:
Carry out order and look ahead including the current sequential flow of described sequential flow head and described sequential flow tail;
Wherein, describedly carry out order and look ahead including the current sequential flow of described sequential flow head and described sequential flow tail, specifically comprise:
Start to look ahead from described sequential flow head, and the described sequential flow tail of current sequential flow is designated to pre-read flag, described current sequential flow comprises described sequential flow head and described sequential flow tail;
In the time hitting described pre-read flag, judge add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail;
If be judged as YES, determine new current sequential flow according to described new sequential flow tail, and described new current sequential flow is carried out to order and look ahead;
If be judged as NO, stop that described current sequential flow is carried out to order and look ahead.
In conjunction with first aspect, or the possible implementation of the first of first aspect, or the possible implementation of the second of first aspect, in the third possible implementation, search before current I/O asks the step of the residing target storage block of data of accessing described, also comprise:
The I/O access characteristic of identification storage block;
The I/O access characteristic of the described storage block identifying is added or is updated in feature bitmap.
In conjunction with the third possible implementation of first aspect, in the 4th kind of possible implementation, the I/O access characteristic of described identification storage block, comprising:
When reaching timing statistics window threshold value, and the historical I/O request number of judging in described storage block is more than or equal to the first default amount threshold, and when the spacing described in each between historical I/O request is less than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
When reaching timing statistics window threshold value, and the described historical I/O request number of judging in described storage block is less than the second default amount threshold, and when the spacing described in each between historical I/O request is greater than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is random access feature;
When reaching timing statistics window threshold value, and the described historical I/O request number of judging in described storage block is more than or equal to the second default amount threshold, and while being less than the first default amount threshold, indicates the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first amount threshold is greater than described the second amount threshold.
In conjunction with the 4th kind of possible implementation of first aspect, in the 5th kind of possible implementation, also comprise:
When reaching timing statistics window threshold value, and when judging described historical I/O and asking coverage rate in described storage block to be more than or equal to the first default coverage rate threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
When reaching timing statistics window threshold value, and when judging described historical I/O and asking coverage rate in described storage block to be less than or equal to the second default coverage rate threshold value, the I/O access characteristic that identifies described storage block is random access feature;
When reaching timing statistics window threshold value, and judge described historical I/O and ask the coverage rate in described storage block to be greater than the second default coverage rate threshold value, and while being less than the first default coverage rate threshold value, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first coverage rate threshold value is greater than described the second coverage rate threshold value.
In conjunction with the 4th kind of possible implementation of first aspect, or the 5th kind of possible implementation of first aspect, in the 6th kind of possible implementation, also comprise:
Identifying after the I/O access characteristic of described storage block, recording the up-to-date access time stamp of header addresses of described storage block and the up-to-date access time stamp of the afterbody address of described storage block;
In the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value;
If be judged as YES, determine that between described two adjacent storage blocks be serial relation;
If be judged as NO, determine that between described two adjacent storage blocks be discontinuous relation.
In conjunction with the third possible implementation of first aspect, or the 4th kind of possible implementation of first aspect, or the 5th kind of possible implementation of first aspect, or the 6th kind of possible implementation of first aspect, in the 7th kind of possible implementation, before the step of the I/O of described identification storage block access characteristic, also comprise:
Judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory, described metadata at least comprises the coverage rate of historical I/O request number described in described storage block and described historical I/O request;
If be judged as in described local internal memory, upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
The corresponding described storage block of metadata after upgrading meets while starting condition for identification, carries out the I/O access characteristic of described identification storage block.
In conjunction with the 7th kind of possible implementation of first aspect, in the 8th kind of possible implementation, also comprise:
During not at local internal memory, further judge whether the number of the described metadata in described local internal memory reaches default metadata threshold value for the metadata of identifying I/O access characteristic when what judge that described historical I/O asks the residing storage block of data of accessing;
Do not reach default metadata threshold value if be judged as, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory so that upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Reach default metadata threshold value during if be judged as, from described local internal memory, delete and start the most forward metadata of recognition time stamp so that in described local internal memory, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Calculate the I/O access characteristic of the deleted corresponding storage block of metadata, so that the described I/O access characteristic calculating is added or to be updated in feature bitmap.
Second aspect present invention provides a kind of device of sequential flow identification, comprising:
Storage block is searched module, asks the residing target storage block of data of accessing for searching current I/O;
Access characteristic is searched module, and for find out the I/O access characteristic of described target storage block at feature bitmap, described feature bitmap is for identifying the I/O access characteristic of described target storage block;
Module is searched in identification, and in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O ask the data of accessing is sequential flow head, and asks looked-up sequence to flow tail according to described current I/O.
In the possible implementation of the first, described identification is searched module and is comprised:
A sequential flow recognition unit, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head;
Sequential flow tail is searched unit, adds that for the data length of asking to access according to described current I/O default prefetch searches initial order stream tail;
Sequential flow tail judging unit, in the time described initial order stream tail being detected not in described target storage block, judges that whether the present storage block of described initial order stream tail is serial relation with described target storage block;
The first determining unit, if be judged as YES for described sequential flow tail judging unit, determines that described initial order stream tail is the sequential flow tail in current sequential flow;
The second determining unit, if be judged as NO for described sequential flow tail judging unit, is repositioned to the afterbody address of described target storage block by described initial order stream tail, and determines that the initial order stream tail after reorientating is the sequential flow tail in current sequential flow.
In conjunction with second aspect, or the possible implementation of the first of second aspect, in the possible implementation of the second, also comprise:
Prefetch module, looks ahead for the current sequential flow that includes described sequential flow head and described sequential flow tail is carried out to order;
Wherein, described prefetch module comprises:
Pre-read identify unit, for starting to look ahead from described sequential flow head, and the described sequential flow tail of current sequential flow is designated to pre-read flag, described current sequential flow comprises described sequential flow head and described sequential flow tail;
Upgrade judging unit, in the time hitting described pre-read flag, judge add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail;
Sequential flow updating block, if be judged as YES for described renewal judging unit, determines new current sequential flow according to described new sequential flow tail, and described new current sequential flow is carried out to order and look ahead;
Stop element, if be judged as NO for described renewal judging unit, stop that described current sequential flow is carried out to order and looks ahead.
In conjunction with second aspect, or the possible implementation of the first of second aspect, or the possible implementation of the second of second aspect, in the third possible implementation, also comprise:
Access characteristic identification module, for identifying the I/O access characteristic of storage block;
Add update module, for the I/O access characteristic of the described storage block identifying being added or being updated to feature bitmap.
In conjunction with the third possible implementation of second aspect, in the 4th kind of possible implementation, described access characteristic identification module comprises:
Feature identification unit, reach timing statistics window threshold value for working as, and the historical I/O request number of judging in described storage block is more than or equal to the first default amount threshold, and when the spacing described in each between historical I/O request is less than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
Described feature identification unit, also reach timing statistics window threshold value for working as, and the described historical I/O request number of judging in described storage block is less than the second default amount threshold, and when the spacing described in each between historical I/O request is greater than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is random access feature;
Feature indication unit, reach timing statistics window threshold value for working as, and the described historical I/O request number of judging in described storage block is more than or equal to the second default amount threshold, and while being less than the first default amount threshold, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first amount threshold is greater than described the second amount threshold.
In conjunction with the 4th kind of possible implementation of second aspect, in the 5th kind of possible implementation,
Described feature identification unit, also reach timing statistics window threshold value for working as, and when judging described historical I/O and asking coverage rate in described storage block to be more than or equal to the first default coverage rate threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
Described feature identification unit, also reach timing statistics window threshold value for working as, and when judging described historical I/O and asking coverage rate in described storage block to be less than or equal to the second default coverage rate threshold value, the I/O access characteristic that identifies described storage block is random access feature;
Described feature indication unit, also reach timing statistics window threshold value for working as, and judging described historical I/O asks the coverage rate in described storage block to be greater than the second default coverage rate threshold value, and while being less than the first default coverage rate threshold value, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first coverage rate threshold value is greater than described the second coverage rate threshold value.
In conjunction with the 4th kind of possible implementation of second aspect, or the 5th kind of possible implementation of second aspect, in the 6th kind of possible implementation, also comprise:
Logging modle, for identifying after the I/O access characteristic of described storage block, records the up-to-date access time stamp of header addresses of described storage block and the up-to-date access time stamp of the afterbody address of described storage block;
Duration judge module, for in the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value;
Be related to determination module, if be judged as YES for described duration judge module, determine that between described two adjacent storage blocks be serial relation;
The described determination module that is related to, if be also judged as NO for described duration judge module, determines that between described two adjacent storage blocks be discontinuous relation.
In conjunction with the third possible implementation of second aspect, or the 4th kind of possible implementation of second aspect, or the 5th kind of possible implementation of second aspect, or the 6th kind of possible implementation of second aspect, in the 7th kind of possible implementation, also comprise:
Metadata judge module, for judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory, described metadata at least comprises the coverage rate that historical I/O request number described in described storage block and described historical I/O ask;
Metadata updates module, if be judged as at described local internal memory for described metadata judge module, upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Notification module, while meeting startup condition for identification, notifies the I/O access characteristic of described access characteristic identification module identification storage block for the corresponding described storage block of metadata after described metadata updates module is upgraded.
In conjunction with the 7th kind of possible implementation of second aspect, in the 8th kind of possible implementation, also comprise:
Number judge module, during not at local internal memory, further judge whether the number of the described metadata in described local internal memory reaches default metadata threshold value for the metadata of identifying I/O access characteristic for what judge when described metadata judge module that described historical I/O asks the residing storage block of data of accessing;
Generate memory module, if be judged as for described number judge module the metadata threshold value that does not reach default, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory so that upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Removing module, if while being judged as for described number judge module the metadata threshold value that reaches default, from described local internal memory, delete and start the most forward metadata of recognition time stamp so that in described local internal memory, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Feature calculation module, for calculating the I/O access characteristic of the deleted corresponding storage block of metadata, so that the described I/O access characteristic calculating is added or to be updated in feature bitmap.
Therefore, the embodiment of the present invention is in the time that the I/O access characteristic that finds out current I/O and ask the residing target storage block of data of accessing is sequential access feature, can identify fast the reference position that described current I/O asks the data of accessing is sequential flow head, and can be according to described current I/O request looked-up sequence stream tail, get final product the end of sensed in advance sequential flow, to reduce the waste of looking ahead.
Brief description of the drawings
In order to be illustrated more clearly in the technical scheme in the embodiment of the present invention, to the accompanying drawing of required use in embodiment or description of the Prior Art be briefly described below, apparently, accompanying drawing in the following describes is only some embodiments of the present invention, for those of ordinary skill in the art, do not paying under the prerequisite of creative work, can also obtain according to these accompanying drawings other accompanying drawing.
Fig. 1 is the schematic flow sheet that a kind of sequential flow that the embodiment of the present invention provides is known method for distinguishing;
Fig. 2 is the schematic flow sheet that another kind of sequential flow that the embodiment of the present invention provides is known method for distinguishing;
Fig. 3 is the schematic flow sheet of wherein a kind of recognition methods of providing of the embodiment of the present invention;
Fig. 4 is the schematic flow sheet of a kind of method that wherein order is looked ahead that provides of the embodiment of the present invention;
Fig. 5 is wherein a kind of schematic flow sheet of the disposal route to metadata that the embodiment of the present invention provides;
Fig. 6 is the structural representation of the device of a kind of sequential flow identification that provides of the embodiment of the present invention;
Fig. 7 is the structural representation of the device of the another kind of sequential flow identification that provides of the embodiment of the present invention;
Fig. 8 is that the structural representation of module is searched in a kind of identification that the embodiment of the present invention provides;
Fig. 9 is the structural representation of a kind of prefetch module of providing of the embodiment of the present invention;
Figure 10 is the structural representation of a kind of access characteristic identification module of providing of the embodiment of the present invention;
Figure 11 is the structural representation of the device of another sequential flow identification of providing of the embodiment of the present invention.
Embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is clearly and completely described, obviously, described embodiment is only the present invention's part embodiment, instead of whole embodiment.Based on the embodiment in the present invention, those of ordinary skill in the art, not making the every other embodiment obtaining under creative work prerequisite, belong to the scope of protection of the invention.
Referring to Fig. 1, is the schematic flow sheet that a kind of sequential flow that the embodiment of the present invention provides is known method for distinguishing, and described method comprises:
S101, searches current I/O and asks the residing target storage block of data of accessing;
Concrete, described storage block is to obtain by advance impartial capacity division being carried out in LUN space, for example, the LUN spatial division of a 40M size is become to the storage block of 10 4M sizes, from the initial position in LUN space, the corresponding storage block of the continuous space of every 4M.Carry request access address and request access length because main frame is dealt in the I/O request of storage system, ask the data of accessing in which storage block so described current I/O is determined in the current I that storage system can send according to host computer side/O request.Finding after the residing storage block of data that current I/O asks to access, can also be using this storage block as target storage block.
S102 finds out the I/O access characteristic of described target storage block in feature bitmap, and described feature bitmap is for identifying the I/O access characteristic of described target storage block;
Concrete, the I/O access characteristic that described feature bitmap comprises each storage block, so described feature bitmap can be used for identifying the I/O access characteristic of described target storage block, described I/O access characteristic at least comprises sequential access feature and random access feature.Can identify the I/O access characteristic of storage block according to multiple historical I/O requests, for example, in 1ms, exceed 200 if count the number of the historical I/O request in one of them storage block, and the spacing between historical I/O request is all less than 8 sector-size, and the I/O access characteristic that can identify this storage block is sequential access feature; Be less than 10 if count the number of the historical I/O request in another storage block, and spacing between historical I/O request is all greater than 8 sector-size, the I/O access characteristic that can identify this storage block is random access feature.Identifying after the I/O access characteristic of each storage block, the I/O access characteristic of the described storage block identifying can added or is updated in feature bitmap.Setting after described feature bitmap, can in described feature bitmap, find out the I/O access characteristic of described target storage block.For example, refer to feature bitmap as shown in table 1 below:
0M~4M 4M~8M 8M~12M 12M~16M 16M~20M
0 1 0 0 0
Table 1
In table 1, that the LUN space of 20M size is divided into 5 storage blocks, each storage block is 4M size, wherein, 0 order of representation access characteristic, 1 represents random access feature, if storage block corresponding to 8M~12M is target storage block, the I/O access characteristic that can find out this target storage block in feature bitmap as shown in table 1 is sequential access feature; If the storage block that 4M~8M is corresponding is target storage block, the I/O access characteristic that can find out this target storage block in feature bitmap as shown in table 1 is random access feature.Wherein, described feature bitmap can be kept in internal memory, and the corresponding feature bitmap in each LUN space, can also use a chained list to preserve the pointer of all feature bitmaps.
S103, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, and according to described current I/O request looked-up sequence stream tail;
Concrete, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, determine that described current I/O request belongs to certain sequential flow, and boot sequence is looked ahead.In the time that boot sequence is looked ahead, can, first according to described current I/O request looked-up sequence stream tail, for example, find out the position of sequential flow tail according to the prefetch of the request access length in described current I/O request and systemic presupposition.
In addition, after determining sequential flow head and sequential flow tail, can start to carry out order from sequential flow head looks ahead, be taken in advance the position of described sequential flow tail always, carry out order and look ahead including the current sequential flow of described sequential flow head and described sequential flow tail, in the time that the described sequential flow tail of pre-taking-up is again accessed, can proceeds next step and look ahead.
Therefore, the embodiment of the present invention is in the time that the I/O access characteristic that finds out current I/O and ask the residing target storage block of data of accessing is sequential access feature, can identify fast the reference position that described current I/O asks the data of accessing is sequential flow head, look ahead thereby can start in time execution sequence, to avoid causing more disk access load; Meanwhile, can also, according to described current I/O request looked-up sequence stream tail, get final product the end of sensed in advance sequential flow, to reduce the waste of looking ahead.
Referring to Fig. 2, is the schematic flow sheet that another kind of sequential flow that the embodiment of the present invention provides is known method for distinguishing again, and described method can comprise:
S201, the I/O access characteristic of identification storage block;
Concrete, record described historical I/O according to the reference address of historical I/O request and ask the residing storage block of data of accessing; Wherein, described historical I/O request refers to the multiple I/O requests in history access record, can determine described historical I/O according to the reference address of historical I/O request and ask the residing storage block of data of accessing, and record the information such as number that the historical I/O in each storage block asks, spacing, coverage rate.
When reaching timing statistics window threshold value, and the described historical I/O request number of judging in described storage block is more than or equal to the first default amount threshold, and when the spacing described in each between historical I/O request is less than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is sequential access feature; When reaching timing statistics window threshold value, and the described historical I/O request number of judging in described storage block is less than the second default amount threshold, and when the spacing described in each between historical I/O request is greater than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is random access feature; When reaching timing statistics window threshold value, and the described historical I/O request number of judging in described storage block is more than or equal to the second default amount threshold, and while being less than the first default amount threshold, indicates the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first amount threshold is greater than described the second amount threshold;
For example, timing statistics window threshold value is 1ms, the first amount threshold is 200, the second amount threshold is 10, and number of sectors threshold value is 8, in the time reaching 1ms, the described historical I/O adding up in described storage block asks number and the spacing between historical I/O request described in each, if the described historical I/O request number counting is more than or equal to 200, and described in each, spacing between historical I/O request is less than 8 sector-size, the I/O access characteristic that can identify this storage block is sequential access feature; If the described historical I/O request number counting is less than 10, and described in each, spacing between historical I/O request is greater than 8 sector-size, the I/O access characteristic that can identify this storage block is random access feature; If the described historical I/O request number counting is more than or equal to 10, and is less than 200, indicate the I/O access characteristic of this storage block for unidentified temporarily.
In addition, also can work as and reach timing statistics window threshold value, and when judging described historical I/O and asking coverage rate in described storage block to be more than or equal to the first default coverage rate threshold value, the I/O access characteristic that identifies described storage block is sequential access feature; When reaching timing statistics window threshold value, and when judging described historical I/O and asking coverage rate in described storage block to be less than or equal to the second default coverage rate threshold value, the I/O access characteristic that identifies described storage block is random access feature; When reaching timing statistics window threshold value, and judge described historical I/O and ask the coverage rate in described storage block to be greater than the second default coverage rate threshold value, and while being less than the first default coverage rate threshold value, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first coverage rate threshold value is greater than described the second coverage rate threshold value;
For example, timing statistics window threshold value is 1ms, the first coverage rate threshold value is 50%, the second coverage rate threshold value is 6%, in the time reaching 1ms, add up described historical I/O and ask the coverage rate in described storage block, ask the coverage rate in described storage block to be more than or equal to 50% if count described historical I/O, the I/O access characteristic that can identify described storage block is sequential access feature; Ask the coverage rate in described storage block to be less than or equal to 6% if count described historical I/O, the I/O access characteristic that can identify described storage block is random access feature; Ask the coverage rate in described storage block to be greater than 6% if count described historical I/O, and be less than 50%, indicate the I/O access characteristic of described storage block for unidentified temporarily.
In addition, the embodiment of the present invention is identifying after the I/O access characteristic of described storage block, can record the up-to-date access time stamp of header addresses of described storage block and the up-to-date access time stamp of the afterbody address of described storage block;
Wherein, the up-to-date access time stamp of the header addresses of described storage block refers to the access time point of the header addresses the last time to described storage block; The up-to-date access time stamp of the afterbody address of described storage block refers to the access time point of the afterbody address the last time to described storage block.
In the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value;
If be judged as YES, determine that between described two adjacent storage blocks be serial relation;
If be judged as NO, determine that between described two adjacent storage blocks be discontinuous relation;
For example, have A storage block and B storage block, and A storage block being the adjacent memory blocks before B storage block, if the I/O access characteristic of A storage block and B storage block is not sequential access feature, is discontinuous relation between A storage block and B storage block; If the I/O access characteristic of A storage block and B storage block is sequential access feature, can further judge whether the duration between the up-to-date access time stamp of afterbody address of A storage block and the up-to-date access time stamp of the header addresses of B storage block is less than default duration threshold value, if be judged as YES, determine that between A storage block and B storage block be serial relation, otherwise, determine between A storage block and B storage block to be discontinuous relation.
S202, adds the I/O access characteristic of the described storage block identifying or be updated in feature bitmap;
Concrete, after identifying the I/O access characteristic of certain storage block, the I/O access characteristic of the described storage block identifying can be added or is updated in feature bitmap, so that the follow-up I/O access characteristic of searching target storage block in described feature bitmap.Because being carries out circle statistics taking timing statistics window threshold value as the cycle, so can constantly update the I/O access characteristic of each storage block, make the I/O access characteristic of identified described storage block can be more accurate.For example, refer to feature bitmap as shown in table 2 below:
0M~4M 4M~8M 8M~12M 12M~16M 16M~20M
0 1 0 0 1
Table 2
In table 2, be that the LUN space of 20M size is divided into 5 storage blocks, each storage block is 4M size, wherein, and 0 order of representation access characteristic, 1 represents random access feature.From table 2, in the time that the I/O access characteristic of storage block that identifies 0M~4M is sequential access feature, the I/O access characteristic of this storage block can be added or be updated in feature bitmap as shown in table 2, be designated 0 by the I/O access characteristic of the storage block of 0M~4M; Same, in the time that the I/O access characteristic of storage block that identifies 4M~8M is random access feature, the I/O access characteristic of this storage block can be added or be updated in feature bitmap as shown in table 2, be designated 1 by the I/O access characteristic of the storage block of 4M~8M.Wherein, described feature bitmap can be kept in internal memory, and the corresponding feature bitmap in each LUN space, can also use a chained list to preserve the pointer of all feature bitmaps.Wherein, owing to preserving, the resource that the I/O access characteristic of each storage block consumes is less, so it is also less to preserve the resource that the I/O access characteristic in whole LUN space consumes.
S203, searches current I/O and asks the residing target storage block of data of accessing;
Concrete, described storage block is to obtain by advance impartial capacity division being carried out in LUN space, for example, the LUN spatial division of a 40M size is become to the storage block of 10 4M sizes, from the initial position in LUN space, the corresponding storage block of the continuous space of every 4M.Carry request access address and request access length because main frame is dealt in the I/O request of storage system, ask the data of accessing in which storage block so described current I/O is determined in the current I that storage system can send according to host computer side/O request.Finding after the residing storage block of data that current I/O asks to access, can also be using this storage block as target storage block.
S204 finds out the I/O access characteristic of described target storage block in feature bitmap, and described feature bitmap is for identifying the I/O access characteristic of described target storage block;
Concrete, setting after described feature bitmap, can in described feature bitmap, find out the I/O access characteristic of described target storage block.For example, refer to feature bitmap as shown in table 2 below:
0M~4M 4M~8M 8M~12M 12M~16M 16M~20M
0 1 0 0 1
Table 2
In table 2, that the LUN space of 20M size is divided into 5 storage blocks, each storage block is 4M size, wherein, 0 order of representation access characteristic, 1 represents random access feature, if storage block corresponding to 8M~12M is target storage block, the I/O access characteristic that can find out this target storage block in feature bitmap as shown in table 2 is sequential access feature; If the storage block that 4M~8M is corresponding is target storage block, the I/O access characteristic that can find out this target storage block in feature bitmap as shown in table 2 is random access feature.Wherein, described feature bitmap can be kept in internal memory, and the corresponding feature bitmap in each LUN space, can also use a chained list to preserve the pointer of all feature bitmaps.
S205, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, and according to described current I/O request looked-up sequence stream tail;
Concrete, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, determine that described current I/O request belongs to certain sequential flow, and boot sequence is looked ahead.In the time that boot sequence is looked ahead, can, first according to described current I/O request looked-up sequence stream tail, for example, find out the position of sequential flow tail according to the prefetch of the request access length in described current I/O request and systemic presupposition.
S206, carries out order and looks ahead including the current sequential flow of described sequential flow head and described sequential flow tail;
Concrete, after determining sequential flow head and sequential flow tail, can start to carry out order from sequential flow head looks ahead, be taken in advance the position of described sequential flow tail always, carry out order and look ahead including the current sequential flow of described sequential flow head and described sequential flow tail, in the time that the described sequential flow tail of pre-taking-up is again accessed, can proceeds next step and look ahead.
Therefore, the embodiment of the present invention is in the time that the I/O access characteristic that finds out current I/O and ask the residing target storage block of data of accessing is sequential access feature, can identify fast the reference position that described current I/O asks the data of accessing is sequential flow head, look ahead thereby can start in time execution sequence, to avoid causing more disk access load; Meanwhile, can also, according to described current I/O request looked-up sequence stream tail, get final product the end of sensed in advance sequential flow, to reduce the waste of looking ahead.
Further, refer to again Fig. 3, the schematic flow sheet of wherein a kind of recognition methods of providing of the embodiment of the present invention, the S103 of the method that the embodiment of the present invention provides in can the corresponding embodiment of corresponding above-mentioned Fig. 1, or S205 in the corresponding embodiment of corresponding above-mentioned Fig. 2.Described method can comprise:
S301, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head;
Concrete, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, can identify the reference position that described current I/O asks the data of accessing is sequential flow head, i.e. described current I/O request is the start address of certain sequential flow, and boot sequence is looked ahead.Be random access feature or temporary when unidentified when finding out the I/O access characteristic of described target storage block, boot sequence is not looked ahead.
S302, the data length of asking to access according to described current I/O adds that default prefetch searches initial order stream tail;
Concrete, after definite described current I/O request is for sequential flow head, the data length that can ask to access according to described current I/O adds that default prefetch searches initial order stream tail, the reference position of asking the data of accessing from described current I/O, search through described current I/O and ask the data length of accessing to add the position after default prefetch, and be initial order stream tail by the location recognition finding.Wherein, described prefetch can be predefined by system, for example, described prefetch is set to 1M size, in the process of looking ahead in order, will look ahead taking 1M as unit, take in advance after 1M data at every turn, will judge whether to proceed next step order and look ahead.
S303, in the time detecting that described initial order stream tail is not in described target storage block, judges that whether the present storage block of described initial order stream tail is serial relation with described target storage block;
Concrete, in the time detecting that described initial order stream tail is not in described target storage block, can judge that whether the present storage block of described initial order stream tail is serial relation with described target storage block.Wherein, described serial relation can be referring to the S201 in the corresponding embodiment of above-mentioned Fig. 2, in the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value; If be judged as YES, determine that between described two adjacent storage blocks be serial relation; If be judged as NO, determine that between described two adjacent storage blocks be discontinuous relation.
S304, determines that described initial order stream tail is the sequential flow tail in current sequential flow;
Concrete, if S303 step is judged as YES, can determine that described initial order stream tail is the sequential flow tail in current sequential flow.In addition, in the time detecting that described initial order stream tail is in described target storage block, also can directly determine that described initial order stream tail is the sequential flow tail in current sequential flow.
S305, is repositioned to the afterbody address of described target storage block by described initial order stream tail, and determines that the initial order stream tail after reorientating is the sequential flow tail in current sequential flow;
Concrete, if S303 step is judged as NO, described initial order stream tail is repositioned to the afterbody address of described target storage block, the part that exceeds described target storage block is not looked ahead, and determine that the initial order stream tail after reorientating is the sequential flow tail in current sequential flow.
The embodiment of the present invention is by the time that the I/O access characteristic that finds out current I/O and ask the residing target storage block of data of accessing is sequential access feature, can identify fast the reference position that described current I/O asks the data of accessing is sequential flow head, look ahead thereby can start in time execution sequence, to avoid causing more disk access load; Meanwhile, by searching and adjust the position of sequential flow tail, can shift to an earlier date and the end of perception sequential flow exactly, to reduce the waste of looking ahead.
Referring to Fig. 4, is the schematic flow sheet of a kind of method that wherein order is looked ahead that provides of the embodiment of the present invention again, the S206 of the method that the embodiment of the present invention provides in can the corresponding embodiment of corresponding above-mentioned Fig. 2.Described method can comprise:
S401, starts to look ahead from described sequential flow head, and the described sequential flow tail of current sequential flow is designated to pre-read flag;
Concrete, described current sequential flow comprises described sequential flow head and described sequential flow tail.After identifying described sequential flow head and described sequential flow tail, can start to look ahead from described sequential flow head, be prefetched to described sequential flow tail always, meanwhile, the described sequential flow tail of current sequential flow can also be designated to pre-read flag.
S402, in the time hitting described pre-read flag, judges add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail;
Concrete, in the time hitting described pre-read flag, the data of the pre-described sequential flow tail taking out of explanation are again accessed, now, can judge add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail, look ahead to carry out next step.
S403, determines new current sequential flow according to described new sequential flow tail, and described new current sequential flow is carried out to order and look ahead;
Concrete, in the time that step S402 is judged as YES, the still storage block at the sequential flow tail place in previously having found out of new sequential flow tail is described, or the new present storage block of sequential flow tail is serial relation with the present storage block of sequential flow tail previously finding out, now, can determine new current sequential flow according to described new sequential flow tail, the sequential flow head that is described new current sequential flow is the sequential flow tail previously having found out, and the sequential flow tail of described new current sequential flow is the described new sequential flow tail finding.The process that described new current sequential flow is carried out sequentially looking ahead can be referring to step S401 and S402, in the time that the pre-read flag of new sequential flow tail is hit, can continue to carry out according to described prefetch next step order looks ahead, until while not hitting, stopping order, the pre-read flag of certain sequential flow tail looks ahead.The process of wherein, searching new sequential flow tail can, referring to the S303 to S305 in the corresponding embodiment of above-mentioned Fig. 3, no longer repeat here.
S404, stops that described current sequential flow is carried out to order and looks ahead;
Concrete, in the time that step S402 is judged as NO, illustrate that the sequential flow tail previously having found out is the afterbody address in storage block, and the storage block adjacent with the present storage block of sequential flow tail previously finding out is random access feature, or unidentified temporarily, now, will not there is not new sequential flow tail, the order that cannot continue next step is looked ahead, and therefore can stop that described current sequential flow is carried out to order and look ahead.
Visible, the process that order is looked ahead is to adopt exploratory looking ahead, for example, the data that each current sequential flow is 1M take 1M data at every turn in advance, and after 1M data all hit, can carry out order to the data of next section of 1M and look ahead, wherein, described pre-read flag also moves gradually backward.
It is sequential flow head that the embodiment of the present invention can identify the reference position that described current I/O asks the data of accessing fast, looks ahead, to avoid causing more disk access load thereby can start in time execution sequence; Meanwhile, by searching and adjust the position of sequential flow tail, can shift to an earlier date and the end of perception sequential flow exactly, to reduce the waste of looking ahead.
Further, then referring to Fig. 5, is wherein a kind of schematic flow sheet of the disposal route to metadata that the embodiment of the present invention provides, and described method can be carried out before the S201 step in the corresponding embodiment of above-mentioned Fig. 2, and described method can comprise:
S501, judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory;
Concrete, described metadata at least comprises the coverage rate of historical I/O request number described in described storage block and described historical I/O request.Before the I/O access characteristic of identification storage block, can first judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory.
S502, upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Concrete, if S501 is judged as in described local internal memory, can upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, in the time that certain storage block has newly-increased historical I/O request, renewal is asked coverage rate with described historical I/O request number and described historical I/O in this storage block metadata, so that in the time of the I/O of follow-up identification storage block access characteristic, can carry out the identification of I/O access characteristic to storage block by described historical I/O request number or described historical I/O request coverage rate.
S503, the corresponding described storage block of metadata after upgrading meets while starting condition for identification, carries out the I/O access characteristic of described identification storage block;
Concrete, described startup condition for identification can reach timing statistics window threshold value for timing statistics length, in the time that described storage block meets startup condition for identification, illustrate the timing statistics length of described storage block is reached to timing statistics window threshold value, for example, if timing statistics window threshold value is 1ms, in the time that the timing statistics length to certain storage block reaches 1ms, can carry out the step of the I/O access characteristic of described identification storage block.Described startup condition for identification also can reach startup recognition threshold for historical I/O request number or historical I/O request coverage rate in storage block, in the time that described storage block meets startup condition for identification, illustrate that historical I/O request number or historical I/O request coverage rate in described storage block reach startup recognition threshold, now, can carry out the step of the I/O access characteristic of described identification storage block.
S504, judges whether the number of the described metadata in described local internal memory reaches default metadata threshold value;
Concrete, during not at local internal memory, further judge whether the number of the described metadata in described local internal memory reaches default metadata threshold value for the metadata of identifying I/O access characteristic when what S501 judged that described historical I/O asks the residing storage block of data of accessing.
S505, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory so that upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Concrete, in the time that S504 is judged as the metadata threshold value that does not reach default, explanation can continue to increase new metadata in described local internal memory, therefore, can generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory, and carry out the described historical I/O of renewal in S502 step ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and the corresponding described storage block of metadata after upgrading in S503 step meets and starts when condition for identification, carry out the I/O access characteristic of described identification storage block.Wherein, in described local internal memory, can preserve the metadata of fixed number, use to control internal memory.
S506 deletes and starts the most forward metadata of recognition time stamp from described local internal memory so that in described local internal memory, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Concrete, in the time that S504 is judged as the metadata threshold value that reaches default, can from described local internal memory, delete and start the most forward metadata of recognition time stamp, the most forward metadata of described startup recognition time stamp refers to that in described local internal memory, first starts the corresponding metadata of storage block of I/O access characteristic identification, because stored metadata number in described local internal memory is limited, start the most forward metadata of recognition time stamp so can delete in the time reaching metadata threshold value, make in described local internal memory, to generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, after generation Preservation Metadata, can carry out the described historical I/O of renewal in S502 step ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and the corresponding described storage block of metadata after upgrading in S503 step meets and starts when condition for identification, carry out the I/O access characteristic of described identification storage block.
S507, calculates the I/O access characteristic of the deleted corresponding storage block of metadata, so that the described I/O access characteristic calculating is added or to be updated in feature bitmap;
Concrete, after deleting the most forward metadata of startup recognition time stamp, can calculate the I/O access characteristic of the deleted corresponding storage block of metadata, so that the described I/O access characteristic calculating is added or to be updated in feature bitmap.Its computation process is identical with the S201 in the corresponding embodiment of above-mentioned Fig. 2, no longer repeats here.
Therefore, the embodiment of the present invention is by judging metadata and processing, control store system that can be orderly is identified the I/O access characteristic of each storage block, to obtain feature bitmap, thereby can in follow-up identifying, identify exactly sequential flow head by feature bitmap.
Referring to Fig. 6, is the structural representation of the device 1 of a kind of sequential flow identification that provides of the embodiment of the present invention, and the device 1 of described sequential flow identification can comprise: storage block searches that module 10, access characteristic are searched module 20, module 30 is searched in identification;
Described storage block is searched module 10, asks the residing target storage block of data of accessing for searching current I/O;
Concrete, described storage block is searched module 10 and can be arranged in storage system, described storage block is to obtain by advance impartial capacity division being carried out in LUN space, for example, the LUN spatial division of a 40M size is become to the storage block of 10 4M sizes, from the initial position in LUN space, the corresponding storage block of the continuous space of every 4M.Carry request access address and request access length because main frame is dealt in the I/O request of storage system, determine described current I/O and ask the data of accessing in which storage block so described storage block is searched current I/O request that module 10 can send according to host computer side.Described storage block is searched module 10 and is being found after the present storage block of data that current I/O asks to access, can also be using this storage block as target storage block.
Described access characteristic is searched module 20, and for find out the I/O access characteristic of described target storage block at feature bitmap, described feature bitmap is for identifying the I/O access characteristic of described target storage block;
Concrete, the I/O access characteristic that described feature bitmap comprises each storage block, so described feature bitmap can be used for identifying the I/O access characteristic of described target storage block, described I/O access characteristic at least comprises sequential access feature and random access feature.Can identify the I/O access characteristic of storage block according to multiple historical I/O requests, for example, in 1ms, exceed 200 if count the number of the historical I/O request in one of them storage block, and the spacing between historical I/O request is all less than 8 sector-size, and the I/O access characteristic that can identify this storage block is sequential access feature; Be less than 10 if count the number of the historical I/O request in another storage block, and spacing between historical I/O request is all greater than 8 sector-size, the I/O access characteristic that can identify this storage block is random access feature.Identifying after the I/O access characteristic of each storage block, the I/O access characteristic of the described storage block identifying can added or is updated in feature bitmap.Setting after described feature bitmap, described access characteristic is searched module 20 and can in described feature bitmap, find out the I/O access characteristic of described target storage block.For example, refer to feature bitmap as shown in table 3 below:
0M~4M 4M~8M 8M~12M 12M~16M 16M~20M
0 1 0 0 0
Table 3
In table 3, that the LUN space of 20M size is divided into 5 storage blocks, each storage block is 4M size, wherein, 0 order of representation access characteristic, 1 represents random access feature, if storage block corresponding to 8M~12M is target storage block, to search the I/O access characteristic that module 20 can find out this target storage block in feature bitmap as shown in table 3 be sequential access feature to described access characteristic; If the storage block that 4M~8M is corresponding is target storage block, to search the I/O access characteristic that module 20 can find out this target storage block in feature bitmap as shown in table 3 be random access feature to described access characteristic.Wherein, described feature bitmap can be kept in internal memory, and the corresponding feature bitmap in each LUN space, can also use a chained list to preserve the pointer of all feature bitmaps.
Module 30 is searched in described identification, for in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, and according to described current I/O request looked-up sequence stream tail;
Concrete, in the time that described access characteristic is searched I/O access characteristic that module 20 finds out described target storage block and is sequential access feature, module 30 is searched in described identification, and can to identify the reference position that described current I/O asks the data of accessing be sequential flow head, determine that described current I/O request belongs to certain sequential flow, and boot sequence is looked ahead.In the time that boot sequence is looked ahead, module 30 is searched in described identification can be first according to described current I/O request looked-up sequence stream tail, for example, the position of sequential flow tail is searched module 30 and is found out according to the prefetch of the request access length in the request of described current I/O and systemic presupposition in described identification.
Therefore, the embodiment of the present invention is in the time that the I/O access characteristic that finds out current I/O and ask the residing target storage block of data of accessing is sequential access feature, can identify fast the reference position that described current I/O asks the data of accessing is sequential flow head, look ahead thereby can start in time execution sequence, to avoid causing more disk access load; Meanwhile, can also, according to described current I/O request looked-up sequence stream tail, get final product the end of sensed in advance sequential flow, to reduce the waste of looking ahead.
Refer to again Fig. 7, it is the structural representation of the device 1 of the another kind of sequential flow identification that provides of the embodiment of the present invention, the device 1 of described sequential flow identification can comprise that the storage block in the corresponding embodiment of above-mentioned Fig. 6 searches module 10, access characteristic is searched module 20, module 30 is searched in identification, further, the device 1 of described sequential flow identification can also comprise: prefetch module 40, access characteristic identification module 50, add update module 60, logging modle 70, duration judge module 80, be related to determination module 90, metadata judge module 100, metadata updates module 110, notification module 120, number judge module 130, generate memory module 140, removing module 150, feature calculation module 160,
Described prefetch module 40, looks ahead for the current sequential flow that includes described sequential flow head and described sequential flow tail is carried out to order;
Concrete, after determining sequential flow head and sequential flow tail, described prefetch module 40 can start to carry out order from sequential flow head and look ahead, be taken in advance the position of described sequential flow tail always, carry out order and look ahead including the current sequential flow of described sequential flow head and described sequential flow tail, in the time that the described sequential flow tail of pre-taking-up is again accessed, can proceeds next step and look ahead.
Described access characteristic identification module 50, for identifying the I/O access characteristic of storage block;
Concrete, described access characteristic identification module 50 can, by information such as the number of the historical I/O request in each storage block, spacing, coverage rates, identify the I/O access characteristic of storage block.
Described interpolation update module 60, for adding the I/O access characteristic of the described storage block identifying or being updated to feature bitmap;
Concrete, after identifying the I/O access characteristic of certain storage block, described interpolation update module 60 can be added the I/O access characteristic of the described storage block identifying or be updated in feature bitmap, so that the follow-up I/O access characteristic of searching target storage block in described feature bitmap.
Described logging modle 70, for identifying after the I/O access characteristic of described storage block, records the up-to-date access time stamp of header addresses of described storage block and the up-to-date access time stamp of the afterbody address of described storage block;
Wherein, the up-to-date access time stamp of the header addresses of described storage block refers to the access time point of the header addresses the last time to described storage block; The up-to-date access time stamp of the afterbody address of described storage block refers to the access time point of the afterbody address the last time to described storage block.
Described duration judge module 80, for in the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value;
The described determination module 90 that is related to, if be judged as YES for described duration judge module 80, determines that between described two adjacent storage blocks be serial relation;
Describedly be related to determination module 90, if be also judged as NO for described duration judge module 80, determine that between described two adjacent storage blocks be discontinuous relation;
Concrete, suppose to exist A storage block and B storage block, and A storage block is the adjacent memory blocks before B storage block, if the I/O access characteristic of A storage block and B storage block is not sequential access feature, be describedly related to that it is discontinuous relation that determination module 90 is determined between A storage block and B storage block; If the I/O access characteristic of A storage block and B storage block is sequential access feature, described duration judge module 80 can further judge whether the duration between the up-to-date access time stamp of afterbody address of A storage block and the up-to-date access time stamp of the header addresses of B storage block is less than default duration threshold value, if described duration judge module 80 is judged as YES, describedly be related to that it is serial relation that determination module 90 is determined between A storage block and B storage block, otherwise, be describedly related to that it is discontinuous relation that determination module 90 is determined between A storage block and B storage block.
Described metadata judge module 100, for judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory, described metadata at least comprises the coverage rate that historical I/O request number described in described storage block and described historical I/O ask;
Concrete, described metadata at least comprises the coverage rate of historical I/O request number described in described storage block and described historical I/O request.Before the I/O access characteristic of identification storage block, described metadata judge module 100 can first judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory.
Described metadata updates module 110, if be judged as at described local internal memory for described metadata judge module 100, upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Concrete, if described metadata judge module 100 is judged as in described local internal memory, described metadata updates module 110 can upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, in the time that certain storage block has newly-increased historical I/O request, described metadata updates module 110 renewals are asked coverage rate with described historical I/O request number and described historical I/O in this storage block metadata, so that in the time of the I/O of follow-up identification storage block access characteristic, can carry out the identification of I/O access characteristic to storage block by described historical I/O request number or described historical I/O request coverage rate.
Described notification module 120, while meeting startup condition for identification, notifies described access characteristic identification module 50 to identify the I/O access characteristic of storage block for the corresponding described storage block of metadata after described metadata updates module 110 is upgraded;
Concrete, described startup condition for identification can reach timing statistics window threshold value for timing statistics length, in the time that described storage block meets startup condition for identification, illustrate the timing statistics length of described storage block is reached to timing statistics window threshold value, for example, if timing statistics window threshold value is 1ms, in the time that the timing statistics length to certain storage block reaches 1ms, described notification module 120 can notify described access characteristic identification module 50 to identify the I/O access characteristic of storage block.Described startup condition for identification also can reach startup recognition threshold for historical I/O request number or historical I/O request coverage rate in storage block, in the time that described storage block meets startup condition for identification, illustrate that historical I/O request number or historical I/O request coverage rate in described storage block reach startup recognition threshold, now, described notification module 120 can notify described access characteristic identification module 50 to identify the I/O access characteristic of storage block.
Described number judge module 130, during not at local internal memory, further judge whether the number of the described metadata in described local internal memory reaches default metadata threshold value for the metadata of identifying I/O access characteristic for what judge when described metadata judge module 100 that described historical I/O asks the residing storage block of data of accessing;
Described generation memory module 140, if be judged as for described number judge module 130 the metadata threshold value that does not reach default, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory so that upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Concrete, in the time that described number judge module 130 is judged as the metadata threshold value that does not reach default, explanation can continue to increase new metadata in described local internal memory, therefore, described generation memory module 140 can generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory, and notify described metadata updates module 110 upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and notify described notification module 120 to carry out corresponding operating.Wherein, in described local internal memory, can preserve the metadata of fixed number, use to control internal memory.
Described removing module 150, if while being judged as for described number judge module 130 the metadata threshold value that reaches default, from described local internal memory, delete and start the most forward metadata of recognition time stamp so that in described local internal memory, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Concrete, in the time that described number judge module 130 is judged as the metadata threshold value that reaches default, described removing module 150 can be deleted and start the most forward metadata of recognition time stamp from described local internal memory, the most forward metadata of described startup recognition time stamp refers to that in described local internal memory, first starts the corresponding metadata of storage block of I/O access characteristic identification, because stored metadata number in described local internal memory is limited, start the most forward metadata of recognition time stamp so can delete in the time reaching metadata threshold value, make in described local internal memory, to generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, after generation Preservation Metadata, can notify described metadata updates module 110 upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and notify described notification module 120 to carry out corresponding operating.
Described feature calculation module 160, for calculating the I/O access characteristic of the deleted corresponding storage block of metadata, so that the described I/O access characteristic calculating is added or to be updated in feature bitmap.
Concrete, after described removing module 150 is deleted the most forward metadata of startup recognition time stamp, described feature calculation module 160 can be calculated the I/O access characteristic of the deleted corresponding storage block of metadata, so that the described I/O access characteristic calculating is added or to be updated in feature bitmap.Its computation process is identical with the S201 in the corresponding embodiment of above-mentioned Fig. 2, no longer repeats here.
Further, refer to again Fig. 8, be that the structural representation of module 30 is searched in a kind of identification that the embodiment of the present invention provides, described identification is searched module 30 and can be comprised: a sequential flow recognition unit 301, sequential flow tail are searched unit 302, sequential flow tail judging unit 303, the first determining unit 304, the second determining unit 305;
A described sequential flow recognition unit 301, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head;
Concrete, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, it is sequential flow head that a described sequential flow recognition unit 301 can identify the reference position that described current I/O asks the data of accessing, be that described current I/O request is the start address of certain sequential flow, and boot sequence is looked ahead.Be random access feature or temporary when unidentified when finding out the I/O access characteristic of described target storage block, boot sequence is not looked ahead.
Described sequential flow tail is searched unit 302, adds that for the data length of asking to access according to described current I/O default prefetch searches initial order stream tail;
Concrete, after definite described current I/O asks the reference position of the data of accessing to be sequential flow head, described sequential flow tail is searched the data length that can ask to access according to described current I/O in unit 302 and is added that default prefetch searches initial order stream tail, the reference position of asking the data of accessing from described current I/O, search through described current I/O and ask the data length of accessing to add the position after default prefetch, and be initial order stream tail by the location recognition finding.Wherein, described prefetch can be predefined by system, for example, described prefetch is set to 1M size, in the process of looking ahead in order, will look ahead taking 1M as unit, take in advance after 1M data at every turn, will judge whether to proceed next step order and look ahead.
Described sequential flow tail judging unit 303, in the time described initial order stream tail being detected not in described target storage block, judges that whether the present storage block of described initial order stream tail is serial relation with described target storage block;
Concrete, in the time detecting that described initial order stream tail is not in described target storage block, described sequential flow tail judging unit 303 can judge that whether the present storage block of described initial order stream tail is serial relation with described target storage block.Wherein, described serial relation can and be related to determination module 90 referring to logging modle 70, duration judge module 80 in the corresponding embodiment of above-mentioned Fig. 7, in the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, described duration judge module 80 can further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value; If described duration judge module 80 is judged as YES, be describedly related to that it is serial relation that determination module 90 is determined between described two adjacent storage blocks; If described duration judge module 80 is judged as NO, be describedly related to that it is discontinuous relation that determination module 90 is determined between described two adjacent storage blocks.
Described the first determining unit 304, if be judged as YES for described sequential flow tail judging unit 303, determines that described initial order stream tail is the sequential flow tail in current sequential flow;
Concrete, if described sequential flow tail judging unit 303 is judged as YES, described the first determining unit 304 can determine that described initial order stream tail is the sequential flow tail in current sequential flow.In addition, in the time detecting that described initial order stream tail is in described target storage block, described the first determining unit 304 also can directly determine that described initial order stream tail is the sequential flow tail in current sequential flow.
Described the second determining unit 305, if be judged as NO for described sequential flow tail judging unit 303, described initial order stream tail is repositioned to the afterbody address of described target storage block, and determines that the initial order stream tail after reorientating is the sequential flow tail in current sequential flow;
Concrete, if described sequential flow tail judging unit 303 is judged as NO, described the second determining unit 305 can be repositioned to described initial order stream tail the afterbody address of described target storage block, the part that exceeds described target storage block is not looked ahead, and determine that the initial order stream tail after reorientating is the sequential flow tail in current sequential flow.
Further, then referring to Fig. 9, is the structural representation of a kind of prefetch module 40 of providing of the embodiment of the present invention, and described prefetch module 40 can comprise: pre-read identify unit 401, upgrade judging unit 402, sequential flow updating block 403, stop element 404;
The described identify unit 401 that pre-reads, for starting to look ahead from described sequential flow head, and is designated pre-read flag by the described sequential flow tail of current sequential flow, and described current sequential flow comprises described sequential flow head and described sequential flow tail;
Concrete, described current sequential flow comprises described sequential flow head and described sequential flow tail.After identifying described sequential flow head and described sequential flow tail, the described identify unit 401 that pre-reads can start to look ahead from described sequential flow head, be prefetched to described sequential flow tail always, meanwhile, described in, pre-read identify unit 401 and the described sequential flow tail of current sequential flow can also be designated to pre-read flag.
Described renewal judging unit 402, in the time hitting described pre-read flag, judges add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail;
Concrete, in the time hitting described pre-read flag, the data of the pre-described sequential flow tail taking out of explanation are again accessed, now, described renewal judging unit 402 can judge add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail, looks ahead to carry out next step.
Described sequential flow updating block 403, if be judged as YES for described renewal judging unit 402, determines new current sequential flow according to described new sequential flow tail, and described new current sequential flow is carried out to order and look ahead;
Concrete, in the time that described renewal judging unit 402 is judged as YES, the still storage block at the sequential flow tail place in previously having found out of new sequential flow tail is described, or the new present storage block of sequential flow tail is serial relation with the present storage block of sequential flow tail previously finding out, now, described sequential flow updating block 403 can be determined new current sequential flow according to described new sequential flow tail, the sequential flow head that is described new current sequential flow is the sequential flow tail previously having found out, the sequential flow tail of described new current sequential flow is the described new sequential flow tail finding.The process that described sequential flow updating block 403 carries out sequentially looking ahead to described new current sequential flow can be: described in described sequential flow updating block 403 notices, pre-read identify unit 401 and start to look ahead from described new sequential flow head, and the described new sequential flow tail of described new current sequential flow is designated to pre-read flag, in the time that the pre-read flag of new sequential flow tail is hit, can continue to carry out according to described prefetch next step order looks ahead, until while not hitting, stopping order, the pre-read flag of certain sequential flow tail looks ahead.The implementation procedure of wherein, searching new sequential flow tail can, referring to sequential flow tail judging unit 303, the first determining unit 304 and the second determining unit 305 in the corresponding embodiment of above-mentioned Fig. 8, no longer repeat here.
Described stop element 404, if be judged as NO for described renewal judging unit 402, stop that described current sequential flow is carried out to order and looks ahead;
Concrete, in the time that described renewal judging unit 402 is judged as NO, illustrate that the sequential flow tail previously having found out is the afterbody address in storage block, and the storage block adjacent with the present storage block of sequential flow tail previously finding out is random access feature, or unidentified temporarily, now, will not there is not new sequential flow tail, the order that cannot continue next step is looked ahead, and therefore described stop element 404 can stop that described current sequential flow is carried out to order and looks ahead.
Further, then referring to Figure 10, is the structural representation of a kind of access characteristic identification module 50 of providing of the embodiment of the present invention, and described access characteristic identification module 50 can comprise: feature identification unit 501, feature indication unit 502;
Described feature identification unit 501, reach timing statistics window threshold value for working as, and the historical I/O request number of judging in described storage block is more than or equal to the first default amount threshold, and when the spacing described in each between historical I/O request is less than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
Described feature identification unit 501, also reach timing statistics window threshold value for working as, and the described historical I/O request number of judging in described storage block is less than the second default amount threshold, and when the spacing described in each between historical I/O request is greater than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is random access feature;
Described feature indication unit 502, reach timing statistics window threshold value for working as, and the described historical I/O request number of judging in described storage block is more than or equal to the second default amount threshold, and while being less than the first default amount threshold, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first amount threshold is greater than described the second amount threshold;
For example, timing statistics window threshold value is 1ms, the first amount threshold is 200, the second amount threshold is 10, number of sectors threshold value is 8, in the time reaching 1ms, the described historical I/O adding up in described storage block asks number and the spacing between historical I/O request described in each, if the described historical I/O request number counting is more than or equal to 200, and the spacing described in each between historical I/O request is less than 8 sector-size, can to identify the I/O access characteristic of this storage block be sequential access feature to described feature identification unit 501; If the described historical I/O counting request number is less than 10, and described in each, spacing between historical I/O request is greater than 8 sector-size, and can to identify the I/O access characteristic of this storage block be random access feature to described feature identification unit 501; If the described historical I/O request number counting is more than or equal to 10, and is less than 200, the I/O access characteristic that described feature indication unit 502 can indicate this storage block is for unidentified temporarily.
Described feature identification unit 501, also reach timing statistics window threshold value for working as, and when judging described historical I/O and asking coverage rate in described storage block to be more than or equal to the first default coverage rate threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
Described feature identification unit 501, also reach timing statistics window threshold value for working as, and when judging described historical I/O and asking coverage rate in described storage block to be less than or equal to the second default coverage rate threshold value, the I/O access characteristic that identifies described storage block is random access feature;
Described feature indication unit 502, also reach timing statistics window threshold value for working as, and judging described historical I/O asks the coverage rate in described storage block to be greater than the second default coverage rate threshold value, and while being less than the first default coverage rate threshold value, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first coverage rate threshold value is greater than described the second coverage rate threshold value;
For example, timing statistics window threshold value is 1ms, the first coverage rate threshold value is 50%, the second coverage rate threshold value is 6%, in the time reaching 1ms, add up described historical I/O and ask the coverage rate in described storage block, ask the coverage rate in described storage block to be more than or equal to 50% if count described historical I/O, can to identify the I/O access characteristic of described storage block be sequential access feature to described feature identification unit 501; Ask the coverage rate in described storage block to be less than or equal to 6% if count described historical I/O, can to identify the I/O access characteristic of described storage block be random access feature to described feature identification unit 501; Ask the coverage rate in described storage block to be greater than 6% if count described historical I/O, and be less than 50%, the I/O access characteristic that described feature indication unit 502 can indicate described storage block is for unidentified temporarily.
Therefore, the embodiment of the present invention is by judging metadata and processing, control store system that can be orderly is identified the I/O access characteristic of each storage block, to obtain feature bitmap, thereby can in looking ahead flow process, follow-up order identify fast sequential flow head, make to start in time execution sequence and look ahead, to avoid causing more disk access load; Meanwhile, can also, according to described current I/O request looked-up sequence stream tail, get final product the end of sensed in advance sequential flow, to reduce the waste of looking ahead.
Refer to Figure 11, it is the structural representation of the device 1 of another sequential flow identification of providing of the embodiment of the present invention, the device 1 of described sequential flow identification can comprise processor 1001, communication interface 1002 and storer 1003 (quantity of the processor 1001 in the device 1 of sequential flow identification can be for one or more, in Figure 11 taking a processor 1001 as example).In some embodiments of the present invention, processor 1001, communication interface 1002 and storer 1003 can be connected by communication bus or other modes, and wherein, Figure 11 is to be connected to example by communication bus.
Wherein, described communication interface 1002, for communicating with main frame;
Described storer 1003 is for storage program;
Described processor 1001 is for carrying out described program, to realize
Search current I/O and ask the residing target storage block of data of accessing;
In feature bitmap, find out the I/O access characteristic of described target storage block, described feature bitmap is for identifying the I/O access characteristic of described target storage block;
In the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, and according to described current I/O request looked-up sequence stream tail.
Concrete, described storage block is to obtain by advance impartial capacity division being carried out in LUN space, for example, the LUN spatial division of a 40M size is become to the storage block of 10 4M sizes, from the initial position in LUN space, the corresponding storage block of the continuous space of every 4M.Carry request access address and request access length because main frame is dealt in the I/O request of storage system, ask the data of accessing in which storage block so described current I/O is determined in the current I that storage system can send according to host computer side/O request.Finding after the residing storage block of data that current I/O asks to access, can also be using this storage block as target storage block.
The I/O access characteristic that described feature bitmap comprises each storage block, so described feature bitmap can be used for identifying the I/O access characteristic of described target storage block, described I/O access characteristic at least comprises sequential access feature and random access feature.Can identify the I/O access characteristic of storage block according to multiple historical I/O requests, for example, in 1ms, exceed 200 if count the number of the historical I/O request in one of them storage block, and the spacing between historical I/O request is all less than 8 sector-size, and the I/O access characteristic that can identify this storage block is sequential access feature; Be less than 10 if count the number of the historical I/O request in another storage block, and spacing between historical I/O request is all greater than 8 sector-size, the I/O access characteristic that can identify this storage block is random access feature.Identifying after the I/O access characteristic of each storage block, the I/O access characteristic of the described storage block identifying can added or is updated in feature bitmap.Setting after described feature bitmap, can in described feature bitmap, find out the I/O access characteristic of described target storage block.
In the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, determine that described current I/O request belongs to certain sequential flow, and boot sequence is looked ahead.In the time that boot sequence is looked ahead, can, first according to described current I/O request looked-up sequence stream tail, for example, find out the position of sequential flow tail according to the prefetch of the request access length in described current I/O request and systemic presupposition.
In addition, after determining sequential flow head and sequential flow tail, can start to carry out order from sequential flow head looks ahead, be taken in advance the position of described sequential flow tail always, carry out order and look ahead including the current sequential flow of described sequential flow head and described sequential flow tail, in the time that the described sequential flow tail of pre-taking-up is again accessed, can proceeds next step and look ahead.
Wherein, described processor 1001 specifically for:
In the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head;
The data length of asking to access according to described current I/O adds that default prefetch searches initial order stream tail;
In the time detecting that described initial order stream tail is not in described target storage block, judge that whether the present storage block of described initial order stream tail is serial relation with described target storage block;
If be judged as YES, determine that described initial order stream tail is the sequential flow tail in current sequential flow;
Otherwise, described initial order stream tail is repositioned to the afterbody address of described target storage block, and determines that the initial order stream tail after reorientating is the sequential flow tail in current sequential flow.
Concrete, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, can identify the reference position that described current I/O asks the data of accessing is sequential flow head, i.e. described current I/O request is the start address of certain sequential flow, and boot sequence is looked ahead.Be random access feature or temporary when unidentified when finding out the I/O access characteristic of described target storage block, boot sequence is not looked ahead.
After definite described current I/O request is for sequential flow head, the data length that can ask to access according to described current I/O adds that default prefetch searches initial order stream tail, the reference position of asking the data of accessing from described current I/O, search through described current I/O and ask the data length of accessing to add the position after default prefetch, and be initial order stream tail by the location recognition finding.Wherein, described prefetch can be predefined by system, for example, described prefetch is set to 1M size, in the process of looking ahead in order, will look ahead taking 1M as unit, take in advance after 1M data at every turn, will judge whether to proceed next step order and look ahead.
In the time detecting that described initial order stream tail is not in described target storage block, can judge that whether the present storage block of described initial order stream tail is serial relation with described target storage block.Wherein, described serial relation can be referring to the S201 in the corresponding embodiment of above-mentioned Fig. 2, in the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value; If be judged as YES, determine that between described two adjacent storage blocks be serial relation; If be judged as NO, determine that between described two adjacent storage blocks be discontinuous relation.
Wherein, described processor 1001 specifically for:
Carry out order and look ahead including the current sequential flow of described sequential flow head and described sequential flow tail;
Described processor 1001 describedly carries out order while looking ahead to including the current sequential flow of described sequential flow head and described sequential flow tail carrying out, specifically for:
Start to look ahead from described sequential flow head, and the described sequential flow tail of current sequential flow is designated to pre-read flag, described current sequential flow comprises described sequential flow head and described sequential flow tail;
In the time hitting described pre-read flag, judge add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail;
If be judged as YES, determine new current sequential flow according to described new sequential flow tail, and described new current sequential flow is carried out to order and look ahead;
If be judged as NO, stop that described current sequential flow is carried out to order and look ahead.
Concrete, described current sequential flow comprises described sequential flow head and described sequential flow tail.After identifying described sequential flow head and described sequential flow tail, can start to look ahead from described sequential flow head, be prefetched to described sequential flow tail always, meanwhile, the described sequential flow tail of current sequential flow can also be designated to pre-read flag.In the time hitting described pre-read flag, the data of the pre-described sequential flow tail taking out of explanation are again accessed, now, can judge add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail, look ahead to carry out next step.When judging while there is new sequential flow tail add the above default prefetch on the position of described sequential flow tail after, the still storage block at the sequential flow tail place in previously having found out of new sequential flow tail is described, or the new present storage block of sequential flow tail is serial relation with the present storage block of sequential flow tail previously finding out, now, can determine new current sequential flow according to described new sequential flow tail, the sequential flow head that is described new current sequential flow is the sequential flow tail previously having found out, the sequential flow tail of described new current sequential flow is the described new sequential flow tail finding.In the time that the pre-read flag of new sequential flow tail is hit, can continues to carry out according to described prefetch next step order and look ahead, until the pre-read flag of certain sequential flow tail while not hitting, stops order and looks ahead.When judging while there is not new sequential flow tail add the above default prefetch on the position of described sequential flow tail after, illustrate that the sequential flow tail previously having found out is the afterbody address in storage block, and the storage block adjacent with the present storage block of sequential flow tail previously finding out is random access feature, or unidentified temporarily, now, to not there is not new sequential flow tail, cannot continue next step order and look ahead, therefore can stop that described current sequential flow is carried out to order and look ahead.
Wherein, described processor 1001 also for:
The I/O access characteristic of identification storage block;
The I/O access characteristic of the described storage block identifying is added or is updated in feature bitmap.
Wherein, described processor 1001 specifically for:
When reaching timing statistics window threshold value, and the historical I/O request number of judging in described storage block is more than or equal to the first default amount threshold, and when the spacing described in each between historical I/O request is less than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
When reaching timing statistics window threshold value, and the described historical I/O request number of judging in described storage block is less than the second default amount threshold, and when the spacing described in each between historical I/O request is greater than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is random access feature;
When reaching timing statistics window threshold value, and the described historical I/O request number of judging in described storage block is more than or equal to the second default amount threshold, and while being less than the first default amount threshold, indicates the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first amount threshold is greater than described the second amount threshold.
For example, timing statistics window threshold value is 1ms, the first amount threshold is 200, the second amount threshold is 10, and number of sectors threshold value is 8, in the time reaching 1ms, the described historical I/O adding up in described storage block asks number and the spacing between historical I/O request described in each, if the described historical I/O request number counting is more than or equal to 200, and described in each, spacing between historical I/O request is less than 8 sector-size, the I/O access characteristic that can identify this storage block is sequential access feature; If the described historical I/O request number counting is less than 10, and described in each, spacing between historical I/O request is greater than 8 sector-size, the I/O access characteristic that can identify this storage block is random access feature; If the described historical I/O request number counting is more than or equal to 10, and is less than 200, indicate the I/O access characteristic of this storage block for unidentified temporarily.
Wherein, described processor 1001 also for:
When reaching timing statistics window threshold value, and when judging described historical I/O and asking coverage rate in described storage block to be more than or equal to the first default coverage rate threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
When reaching timing statistics window threshold value, and when judging described historical I/O and asking coverage rate in described storage block to be less than or equal to the second default coverage rate threshold value, the I/O access characteristic that identifies described storage block is random access feature;
When reaching timing statistics window threshold value, and judge described historical I/O and ask the coverage rate in described storage block to be greater than the second default coverage rate threshold value, and while being less than the first default coverage rate threshold value, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first coverage rate threshold value is greater than described the second coverage rate threshold value.
For example, timing statistics window threshold value is 1ms, the first coverage rate threshold value is 50%, the second coverage rate threshold value is 6%, in the time reaching 1ms, add up described historical I/O and ask the coverage rate in described storage block, ask the coverage rate in described storage block to be more than or equal to 50% if count described historical I/O, the I/O access characteristic that can identify described storage block is sequential access feature; Ask the coverage rate in described storage block to be less than or equal to 6% if count described historical I/O, the I/O access characteristic that can identify described storage block is random access feature; Ask the coverage rate in described storage block to be greater than 6% if count described historical I/O, and be less than 50%, indicate the I/O access characteristic of described storage block for unidentified temporarily.
Wherein, described processor 1001 also for:
Identifying after the I/O access characteristic of described storage block, recording the up-to-date access time stamp of header addresses of described storage block and the up-to-date access time stamp of the afterbody address of described storage block;
In the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value;
If be judged as YES, determine that between described two adjacent storage blocks be serial relation;
If be judged as NO, determine that between described two adjacent storage blocks be discontinuous relation.
Wherein, described processor 1001 also for:
Judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory, described metadata at least comprises the coverage rate of historical I/O request number described in described storage block and described historical I/O request;
If be judged as in described local internal memory, upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
The corresponding described storage block of metadata after upgrading meets while starting condition for identification, carries out the I/O access characteristic of described identification storage block.
Concrete, described metadata at least comprises the coverage rate of historical I/O request number described in described storage block and described historical I/O request.Before the I/O access characteristic of identification storage block, can first judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory.If judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic at local internal memory, can upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, in the time that certain storage block has newly-increased historical I/O request, renewal is asked coverage rate with described historical I/O request number and described historical I/O in this storage block metadata, so that in the time of the I/O of follow-up identification storage block access characteristic, can carry out the identification of I/O access characteristic to storage block by described historical I/O request number or described historical I/O request coverage rate.
Described startup condition for identification can reach timing statistics window threshold value for timing statistics length, in the time that described storage block meets startup condition for identification, illustrate the timing statistics length of described storage block is reached to timing statistics window threshold value, for example, if timing statistics window threshold value is 1ms, in the time that the timing statistics length to certain storage block reaches 1ms, can carry out the step of the I/O access characteristic of described identification storage block.Described startup condition for identification also can reach startup recognition threshold for historical I/O request number or historical I/O request coverage rate in storage block, in the time that described storage block meets startup condition for identification, illustrate that historical I/O request number or historical I/O request coverage rate in described storage block reach startup recognition threshold, now, can carry out the step of the I/O access characteristic of described identification storage block.
Wherein, described processor 1001 also for:
During not at local internal memory, further judge whether the number of the described metadata in described local internal memory reaches default metadata threshold value for the metadata of identifying I/O access characteristic when what judge that described historical I/O asks the residing storage block of data of accessing;
Do not reach default metadata threshold value if be judged as, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory so that upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Reach default metadata threshold value during if be judged as, from described local internal memory, delete and start the most forward metadata of recognition time stamp so that in described local internal memory, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Calculate the I/O access characteristic of the deleted corresponding storage block of metadata, so that the described I/O access characteristic calculating is added or to be updated in feature bitmap.
Concrete, during not at local internal memory, further judge whether the number of the described metadata in described local internal memory reaches default metadata threshold value for the metadata of identifying I/O access characteristic when what judge that described historical I/O asks the residing storage block of data of accessing.In the time being judged as the metadata threshold value that does not reach default, explanation can continue to increase new metadata in described local internal memory, therefore, can generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory, and carry out upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic.Wherein, in described local internal memory, can preserve the metadata of fixed number, use to control internal memory.In the time being judged as the metadata threshold value that reaches default, can from described local internal memory, delete and start the most forward metadata of recognition time stamp, the most forward metadata of described startup recognition time stamp refers to that in described local internal memory, first starts the corresponding metadata of storage block of I/O access characteristic identification, because stored metadata number in described local internal memory is limited, start the most forward metadata of recognition time stamp so can delete in the time reaching metadata threshold value, make in described local internal memory, to generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, after generation Preservation Metadata, can carry out upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic.
Therefore, the embodiment of the present invention is in the time that the I/O access characteristic that finds out current I/O and ask the residing target storage block of data of accessing is sequential access feature, can identify fast the reference position that described current I/O asks the data of accessing is sequential flow head, and can be according to described current I/O request looked-up sequence stream tail, get final product the end of sensed in advance sequential flow, to reduce the waste of looking ahead.
One of ordinary skill in the art will appreciate that all or part of flow process realizing in above-described embodiment method, can carry out the hardware that instruction is relevant by computer program to complete, described program can be stored in a computer read/write memory medium, this program, in the time carrying out, can comprise as the flow process of the embodiment of above-mentioned each side method.Wherein, described storage medium can be magnetic disc, CD, read-only store-memory body (Read-Only Memory, ROM) or random store-memory body (Random Access Memory, RAM) etc.
Above disclosed is only preferred embodiment of the present invention, certainly can not limit with this interest field of the present invention, and the equivalent variations of therefore doing according to the claims in the present invention, still belongs to the scope that the present invention is contained.

Claims (18)

1. sequential flow is known a method for distinguishing, it is characterized in that, comprising:
Search current I/O and ask the residing target storage block of data of accessing;
In feature bitmap, find out the I/O access characteristic of described target storage block, described feature bitmap is for identifying the I/O access characteristic of described target storage block;
In the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, and according to described current I/O request looked-up sequence stream tail.
2. the method for claim 1, it is characterized in that, described in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head, and according to described current I/O request looked-up sequence stream tail, comprising:
In the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head;
The data length of asking to access according to described current I/O adds that default prefetch searches initial order stream tail;
In the time detecting that described initial order stream tail is not in described target storage block, judge that whether the present storage block of described initial order stream tail is serial relation with described target storage block;
If be judged as YES, determine that described initial order stream tail is the sequential flow tail in current sequential flow;
Otherwise, described initial order stream tail is repositioned to the afterbody address of described target storage block, and determines that the initial order stream tail after reorientating is the sequential flow tail in current sequential flow.
3. method as claimed in claim 1 or 2, is characterized in that, also comprises:
Carry out order and look ahead including the current sequential flow of described sequential flow head and described sequential flow tail;
Wherein, describedly carry out order and look ahead including the current sequential flow of described sequential flow head and described sequential flow tail, specifically comprise:
Start to look ahead from described sequential flow head, and the described sequential flow tail of current sequential flow is designated to pre-read flag, described current sequential flow comprises described sequential flow head and described sequential flow tail;
In the time hitting described pre-read flag, judge add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail;
If be judged as YES, determine new current sequential flow according to described new sequential flow tail, and described new current sequential flow is carried out to order and look ahead;
If be judged as NO, stop that described current sequential flow is carried out to order and look ahead.
4. the method as described in claims 1 to 3 any one, is characterized in that, searches before current I/O asks the step of the residing target storage block of data of accessing described, also comprises:
The I/O access characteristic of identification storage block;
The I/O access characteristic of the described storage block identifying is added or is updated in feature bitmap.
5. method as claimed in claim 4, is characterized in that, the I/O access characteristic of described identification storage block, comprising:
When reaching timing statistics window threshold value, and the historical I/O request number of judging in described storage block is more than or equal to the first default amount threshold, and when the spacing described in each between historical I/O request is less than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
When reaching timing statistics window threshold value, and the described historical I/O request number of judging in described storage block is less than the second default amount threshold, and when the spacing described in each between historical I/O request is greater than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is random access feature;
When reaching timing statistics window threshold value, and the described historical I/O request number of judging in described storage block is more than or equal to the second default amount threshold, and while being less than the first default amount threshold, indicates the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first amount threshold is greater than described the second amount threshold.
6. method as claimed in claim 5, is characterized in that, also comprises:
When reaching timing statistics window threshold value, and when judging described historical I/O and asking coverage rate in described storage block to be more than or equal to the first default coverage rate threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
When reaching timing statistics window threshold value, and when judging described historical I/O and asking coverage rate in described storage block to be less than or equal to the second default coverage rate threshold value, the I/O access characteristic that identifies described storage block is random access feature;
When reaching timing statistics window threshold value, and judge described historical I/O and ask the coverage rate in described storage block to be greater than the second default coverage rate threshold value, and while being less than the first default coverage rate threshold value, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first coverage rate threshold value is greater than described the second coverage rate threshold value.
7. the method as described in claim 5 or 6, is characterized in that, also comprises:
Identifying after the I/O access characteristic of described storage block, recording the up-to-date access time stamp of header addresses of described storage block and the up-to-date access time stamp of the afterbody address of described storage block;
In the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value;
If be judged as YES, determine that between described two adjacent storage blocks be serial relation;
If be judged as NO, determine that between described two adjacent storage blocks be discontinuous relation.
8. the method as described in claim 4 to 7 any one, is characterized in that, before the step of the I/O of described identification storage block access characteristic, also comprises:
Judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory, described metadata at least comprises the coverage rate of historical I/O request number described in described storage block and described historical I/O request;
If be judged as in described local internal memory, upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
The corresponding described storage block of metadata after upgrading meets while starting condition for identification, carries out the I/O access characteristic of described identification storage block.
9. method as claimed in claim 8, is characterized in that, also comprises:
During not at local internal memory, further judge whether the number of the described metadata in described local internal memory reaches default metadata threshold value for the metadata of identifying I/O access characteristic when what judge that described historical I/O asks the residing storage block of data of accessing;
Do not reach default metadata threshold value if be judged as, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory so that upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Reach default metadata threshold value during if be judged as, from described local internal memory, delete and start the most forward metadata of recognition time stamp so that in described local internal memory, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Calculate the I/O access characteristic of the deleted corresponding storage block of metadata, so that the described I/O access characteristic calculating is added or to be updated in feature bitmap.
10. a device for sequential flow identification, is characterized in that, comprising:
Storage block is searched module, asks the residing target storage block of data of accessing for searching current I/O;
Access characteristic is searched module, and for find out the I/O access characteristic of described target storage block at feature bitmap, described feature bitmap is for identifying the I/O access characteristic of described target storage block;
Module is searched in identification, and in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O ask the data of accessing is sequential flow head, and asks looked-up sequence to flow tail according to described current I/O.
11. devices as claimed in claim 10, is characterized in that, described identification is searched module and comprised:
A sequential flow recognition unit, in the time finding out the I/O access characteristic of described target storage block and be sequential access feature, identifying the reference position that described current I/O asks the data of accessing is sequential flow head;
Sequential flow tail is searched unit, adds that for the data length of asking to access according to described current I/O default prefetch searches initial order stream tail;
Sequential flow tail judging unit, in the time described initial order stream tail being detected not in described target storage block, judges that whether the present storage block of described initial order stream tail is serial relation with described target storage block;
The first determining unit, if be judged as YES for described sequential flow tail judging unit, determines that described initial order stream tail is the sequential flow tail in current sequential flow;
The second determining unit, if be judged as NO for described sequential flow tail judging unit, is repositioned to the afterbody address of described target storage block by described initial order stream tail, and determines that the initial order stream tail after reorientating is the sequential flow tail in current sequential flow.
12. devices as described in claim 10 or 11, is characterized in that, also comprise:
Prefetch module, looks ahead for the current sequential flow that includes described sequential flow head and described sequential flow tail is carried out to order;
Wherein, described prefetch module comprises:
Pre-read identify unit, for starting to look ahead from described sequential flow head, and the described sequential flow tail of current sequential flow is designated to pre-read flag, described current sequential flow comprises described sequential flow head and described sequential flow tail;
Upgrade judging unit, in the time hitting described pre-read flag, judge add the above default prefetch on the position of described sequential flow tail after whether have new sequential flow tail;
Sequential flow updating block, if be judged as YES for described renewal judging unit, determines new current sequential flow according to described new sequential flow tail, and described new current sequential flow is carried out to order and look ahead;
Stop element, if be judged as NO for described renewal judging unit, stop that described current sequential flow is carried out to order and looks ahead.
13. devices as described in claim 10 to 12 any one, is characterized in that, also comprise:
Access characteristic identification module, for identifying the I/O access characteristic of storage block;
Add update module, for the I/O access characteristic of the described storage block identifying being added or being updated to feature bitmap.
14. devices as claimed in claim 13, is characterized in that, described access characteristic identification module comprises:
Feature identification unit, reach timing statistics window threshold value for working as, and the historical I/O request number of judging in described storage block is more than or equal to the first default amount threshold, and when the spacing described in each between historical I/O request is less than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
Described feature identification unit, also reach timing statistics window threshold value for working as, and the described historical I/O request number of judging in described storage block is less than the second default amount threshold, and when the spacing described in each between historical I/O request is greater than default number of sectors threshold value, the I/O access characteristic that identifies described storage block is random access feature;
Feature indication unit, reach timing statistics window threshold value for working as, and the described historical I/O request number of judging in described storage block is more than or equal to the second default amount threshold, and while being less than the first default amount threshold, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first amount threshold is greater than described the second amount threshold.
15. devices as claimed in claim 14, is characterized in that,
Described feature identification unit, also reach timing statistics window threshold value for working as, and when judging described historical I/O and asking coverage rate in described storage block to be more than or equal to the first default coverage rate threshold value, the I/O access characteristic that identifies described storage block is sequential access feature;
Described feature identification unit, also reach timing statistics window threshold value for working as, and when judging described historical I/O and asking coverage rate in described storage block to be less than or equal to the second default coverage rate threshold value, the I/O access characteristic that identifies described storage block is random access feature;
Described feature indication unit, also reach timing statistics window threshold value for working as, and judging described historical I/O asks the coverage rate in described storage block to be greater than the second default coverage rate threshold value, and while being less than the first default coverage rate threshold value, indicate the I/O access characteristic of described storage block for unidentified temporarily; Wherein, described the first coverage rate threshold value is greater than described the second coverage rate threshold value.
16. devices as described in claims 14 or 15, is characterized in that, also comprise:
Logging modle, for identifying after the I/O access characteristic of described storage block, records the up-to-date access time stamp of header addresses of described storage block and the up-to-date access time stamp of the afterbody address of described storage block;
Duration judge module, for in the time detecting that the I/O access characteristic of two adjacent storage blocks is sequential access feature, further judge whether the duration between the up-to-date access time stamp of afterbody address of first accessed storage block and the up-to-date access time stamp of the header addresses of rear accessed storage block is less than default duration threshold value;
Be related to determination module, if be judged as YES for described duration judge module, determine that between described two adjacent storage blocks be serial relation;
The described determination module that is related to, if be also judged as NO for described duration judge module, determines that between described two adjacent storage blocks be discontinuous relation.
17. devices as described in claim 13 to 16 any one, is characterized in that, also comprise:
Metadata judge module, for judge described historical I/O ask the residing storage block of data of accessing for the metadata of identifying I/O access characteristic whether at local internal memory, described metadata at least comprises the coverage rate that historical I/O request number described in described storage block and described historical I/O ask;
Metadata updates module, if be judged as at described local internal memory for described metadata judge module, upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Notification module, while meeting startup condition for identification, notifies the I/O access characteristic of described access characteristic identification module identification storage block for the corresponding described storage block of metadata after described metadata updates module is upgraded.
18. devices as claimed in claim 17, is characterized in that, also comprise:
Number judge module, during not at local internal memory, further judge whether the number of the described metadata in described local internal memory reaches default metadata threshold value for the metadata of identifying I/O access characteristic for what judge when described metadata judge module that described historical I/O asks the residing storage block of data of accessing;
Generate memory module, if be judged as for described number judge module the metadata threshold value that does not reach default, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic, and by generated metadata store in described local internal memory so that upgrade described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Removing module, if while being judged as for described number judge module the metadata threshold value that reaches default, from described local internal memory, delete and start the most forward metadata of recognition time stamp so that in described local internal memory, generate described historical I/O ask the residing storage block of data of accessing for identifying the metadata of I/O access characteristic;
Feature calculation module, for calculating the I/O access characteristic of the deleted corresponding storage block of metadata, so that the described I/O access characteristic calculating is added or to be updated in feature bitmap.
CN201410352520.9A 2014-07-23 2014-07-23 A kind of sequential flow knows method for distinguishing and device Active CN104134027B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410352520.9A CN104134027B (en) 2014-07-23 2014-07-23 A kind of sequential flow knows method for distinguishing and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410352520.9A CN104134027B (en) 2014-07-23 2014-07-23 A kind of sequential flow knows method for distinguishing and device

Publications (2)

Publication Number Publication Date
CN104134027A true CN104134027A (en) 2014-11-05
CN104134027B CN104134027B (en) 2017-10-10

Family

ID=51806702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410352520.9A Active CN104134027B (en) 2014-07-23 2014-07-23 A kind of sequential flow knows method for distinguishing and device

Country Status (1)

Country Link
CN (1) CN104134027B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294211A (en) * 2016-08-08 2017-01-04 浪潮(北京)电子信息产业有限公司 The detection method of a kind of multichannel sequential flow and device
CN106557435A (en) * 2016-11-16 2017-04-05 郑州云海信息技术有限公司 A kind of cache mode knows method for distinguishing, cache module and storage system
CN107515724A (en) * 2016-06-16 2017-12-26 伊姆西公司 For the method and apparatus for the input and output for reproducing storage system
CN110389709A (en) * 2018-04-19 2019-10-29 北京忆恒创源科技有限公司 Sequential stream detection and data pre-head
CN112988040A (en) * 2019-12-18 2021-06-18 深圳大普微电子科技有限公司 Data storage method, device and equipment and readable storage medium
CN113194118A (en) * 2021-03-29 2021-07-30 新华三大数据技术有限公司 Sequential flow identification method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073463A (en) * 2010-12-28 2011-05-25 创新科存储技术有限公司 Flow prediction method and device, and prereading control method and device
CN102298556A (en) * 2011-08-26 2011-12-28 成都市华为赛门铁克科技有限公司 Data stream recognition method and device
CN103034586A (en) * 2012-11-30 2013-04-10 记忆科技(深圳)有限公司 Method and system for recognizing upper-layer application by flash memory transfer layer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073463A (en) * 2010-12-28 2011-05-25 创新科存储技术有限公司 Flow prediction method and device, and prereading control method and device
CN102298556A (en) * 2011-08-26 2011-12-28 成都市华为赛门铁克科技有限公司 Data stream recognition method and device
CN103034586A (en) * 2012-11-30 2013-04-10 记忆科技(深圳)有限公司 Method and system for recognizing upper-layer application by flash memory transfer layer

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107515724A (en) * 2016-06-16 2017-12-26 伊姆西公司 For the method and apparatus for the input and output for reproducing storage system
CN107515724B (en) * 2016-06-16 2021-04-02 伊姆西Ip控股有限责任公司 Method and apparatus for reproducing input and output of storage system
CN106294211A (en) * 2016-08-08 2017-01-04 浪潮(北京)电子信息产业有限公司 The detection method of a kind of multichannel sequential flow and device
CN106294211B (en) * 2016-08-08 2019-05-28 浪潮(北京)电子信息产业有限公司 A kind of detection method and device of multichannel sequential flow
CN106557435A (en) * 2016-11-16 2017-04-05 郑州云海信息技术有限公司 A kind of cache mode knows method for distinguishing, cache module and storage system
CN106557435B (en) * 2016-11-16 2020-03-06 苏州浪潮智能科技有限公司 Cache mode identification method, cache module and storage system
CN110389709A (en) * 2018-04-19 2019-10-29 北京忆恒创源科技有限公司 Sequential stream detection and data pre-head
CN112988040A (en) * 2019-12-18 2021-06-18 深圳大普微电子科技有限公司 Data storage method, device and equipment and readable storage medium
CN112988040B (en) * 2019-12-18 2023-02-24 深圳大普微电子科技有限公司 Data storage method, device and equipment and readable storage medium
CN113194118A (en) * 2021-03-29 2021-07-30 新华三大数据技术有限公司 Sequential flow identification method and device
CN113194118B (en) * 2021-03-29 2022-05-27 新华三大数据技术有限公司 Sequential flow identification method and device

Also Published As

Publication number Publication date
CN104134027B (en) 2017-10-10

Similar Documents

Publication Publication Date Title
CN104134027A (en) Sequence flow recognition method and sequence flow recognition device
EP3229142B1 (en) Read cache management method and device based on solid state drive
CN104156321A (en) Data pre-fetching method and device
US8572309B2 (en) Apparatus and method to protect metadata against unexpected power down
CN105242871A (en) Data writing method and apparatus
CN105094686A (en) Data caching method, cache and computer system
CN105917303B (en) Controller, method for identifying stability of data block and storage system
CN107430551B (en) Data caching method, storage control device and storage equipment
EP3346387B1 (en) Storage system and system garbage collection method
CN110673789B (en) Metadata storage management method, device, equipment and storage medium of solid state disk
CN110765076A (en) Data storage method and device, electronic equipment and storage medium
CN105138481A (en) Stored data processing method and apparatus and system
US9524236B1 (en) Systems and methods for performing memory management based on data access properties
KR20170010810A (en) Method, device and user equipment for reading/writing data in nand flash
CN106095332A (en) A kind of data heavily delete method and device
CN107273306B (en) Data reading and writing method for solid state disk and solid state disk
KR101626218B1 (en) Block based page mapping method
CN111061429B (en) Data access method, device, equipment and medium
CN111190835B (en) Data writing method, device, equipment and medium
US9632950B2 (en) Storage control device controlling access to a storage device and access controlling method of a storage device
CN111552438A (en) Object writing method, device, server and storage medium
CN103176753A (en) Storage device and data management method of storage device
CN109478163B (en) System and method for identifying a pending memory access request at a cache entry
US20220147446A1 (en) Offloading memory maintenance for a log-structured file system
CN111459848B (en) File fragment sorting method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211222

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.