CN105528180A - Data storage method, apparatus and device - Google Patents

Data storage method, apparatus and device Download PDF

Info

Publication number
CN105528180A
CN105528180A CN201510882662.0A CN201510882662A CN105528180A CN 105528180 A CN105528180 A CN 105528180A CN 201510882662 A CN201510882662 A CN 201510882662A CN 105528180 A CN105528180 A CN 105528180A
Authority
CN
China
Prior art keywords
write
raid
buffer memory
management module
write order
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
CN201510882662.0A
Other languages
Chinese (zh)
Other versions
CN105528180B (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.)
Zhejiang Uniview Technologies Co Ltd
Original Assignee
Zhejiang Uniview 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 Zhejiang Uniview Technologies Co Ltd filed Critical Zhejiang Uniview Technologies Co Ltd
Priority to CN201510882662.0A priority Critical patent/CN105528180B/en
Publication of CN105528180A publication Critical patent/CN105528180A/en
Application granted granted Critical
Publication of CN105528180B publication Critical patent/CN105528180B/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/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
    • G06F3/0656Data buffering arrangements
    • 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
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The present invention provides a data storage method, apparatus and device. The method comprises that a cache management module receives a write command which is transmitted from an upper layer and used for writing data into a cache, wherein the cache is a cache corresponding to a redundant array of independent disks (Raid); the cache management module determines whether the write command can be issued according to stripe status of the Raid; and if the write command cannot be issued, the cache management module transmits write failure error information to the upper layer. According to the method, after the cache management module receives the write command, the cache management module determines whether the write command can be issued according to the stripe status of the Raid, and feeds back the error cache error information to the upper layer if the write command cannot be issued, and the problem that the entire Raid is disabled due to errors of a few of stripes of the Raid is avoided. Due to the fact that the cache management module determines whether the write command can be issued strictly according to the status of each stripe, the write cache corresponding to the Raid cannot be frozen and generation of a lot of disabled write cache blocks can be prevented, and use ratio of the entire write cache is increased.

Description

A kind of date storage method, device and equipment
Technical field
The application relates to technical field of data storage, particularly a kind of date storage method, device and equipment.
Background technology
In storage products general at present, the write performance that cache memory (Cache) administration module uses buffer memory to improve Redundant Array of Independent Disks (RAID) (Raid) is practices well.For Raid5, after business datum writes buffer memory, if the data in buffer memory can gather into whole piece band, data then write in Raid by Cache administration module, to improve the performance of product.But, if when there is mistake in Raid band, such as, when a band of Raid makes a mistake, then this Raid can enter unsuccessfully (Failed) state, and now, Cache administration module can by the buffer setting of this Raid for freezing (Frozen) state, cause the buffer memory of whole Raid unavailable, reduce the utilization factor in Raid space and the serious forgiveness of Raid.
Therefore, in prior art, as long as when having a band to make a mistake in Raid, when Raid just enters status of fail, Cache also can be frozen, causes normal band in Raid unavailable, also reduce the utilization factor of Cache.
Summary of the invention
In view of this, the application provides a kind of date storage method, device and equipment, to solve because the bar tape error of in Raid causes whole Raid unavailable in prior art, and writes the problem of Buffer Utilization reduction.
Particularly, the application is achieved by the following technical solution:
According to the first aspect of the embodiment of the present application, a kind of date storage method is provided, comprises:
Institute's caching management module receives write order data being write buffer memory that upper strata sends, and described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
Described caching management module judges whether to issue described write order according to the band state of described Raid;
If can not issue described write order, then described caching management module sends error message to described upper strata, and described error message comprises the information that the buffer memory corresponding with described write order can not be write.
According to the second aspect of the embodiment of the present application, a kind of data storage device is provided, comprises:
Receiving element, for receiving write order data being write buffer memory that upper strata sends, described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
First judging unit, for judging whether to issue described write order according to the band state of described Raid;
First transmitting element, for when described first judging unit judges to issue described write order, send error message to described upper strata, described error message comprises the information that the buffer memory corresponding with described write order can not be write.
According to the third aspect of the embodiment of the present application, a kind of number memory device is provided, comprises:
Processor, and for storing the storer of described processor executable;
Wherein, described processor is configured to:
Receive write order data being write buffer memory that upper strata sends, described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
Judge whether to issue described write order according to the band state of described Raid;
If can not issue described write order, then send error message to described upper strata, described error message comprises the information that the buffer memory corresponding with described write order can not be write.
In the embodiment of the present application, Cache administration module is when receiving write order, first judge whether to issue write order according to the band state of Raid, and when described write order can not be issued, write unsuccessfully error message to upper strata feedback, now can not freeze this buffer memory (such as, when subsequently received read command, the data in this buffer memory can be read), avoid Raid and cause the disabled problem of whole Raid because of a small amount of bar tape error.Further, because according to each band situation, caching management module strictly judges whether write order issues, what Raid was corresponding write buffer memory can not be frozen and produce disabled cache blocks of writing in a large number, improves the whole utilization factor writing buffer memory.
Should be understood that, it is only exemplary and explanatory that above general description and details hereinafter describe, and can not limit the application.
Accompanying drawing explanation
Fig. 1 is the process flow diagram of a kind of date storage method that the embodiment of the present application provides;
Fig. 2 judges the process flow diagram whether write order can issue in a kind of date storage method of providing of the embodiment of the present application;
Fig. 3 judges another process flow diagram whether write order can issue in a kind of date storage method of providing of the embodiment of the present application;
Fig. 4 is another process flow diagram of a kind of date storage method that the embodiment of the present application provides;
Fig. 5 is a kind of hardware structure diagram of a kind of data storage device place equipment that the embodiment of the present application provides;
Fig. 6 is the structural representation that the embodiment of the present application provides a kind of data storage device;
Fig. 7 is another structural representation that the embodiment of the present application provides a kind of data storage device;
Fig. 8 is another structural representation that the embodiment of the present application provides a kind of data storage device.
Embodiment
Here will be described exemplary embodiment in detail, its sample table shows in the accompanying drawings.When description below relates to accompanying drawing, unless otherwise indicated, the same numbers in different accompanying drawing represents same or analogous key element.Embodiment described in following exemplary embodiment does not represent all embodiments consistent with the application.On the contrary, they only with as in appended claims describe in detail, the example of apparatus and method that some aspects of the application are consistent.
Only for describing the object of specific embodiment at term used in this application, and not intended to be limiting the application." one ", " described " and " being somebody's turn to do " of the singulative used in the application and appended claims is also intended to comprise most form, unless context clearly represents other implications.It is also understood that term "and/or" used herein refer to and comprise one or more project of listing be associated any or all may combine.
Term first, second, third, etc. may be adopted although should be appreciated that to describe various information in the application, these information should not be limited to these terms.These terms are only used for the information of same type to be distinguished from each other out.Such as, when not departing from the application's scope, the first information also can be called as the second information, and similarly, the second information also can be called as the first information.Depend on linguistic context, word as used in this " if " can be construed as into " ... time " or " when ... time " or " in response to determining ".
Refer to Fig. 1, Fig. 1 is the process flow diagram of a kind of date storage method that the embodiment of the present application provides.Described method comprises:
Step 101: caching management module receives write order data being write buffer memory that upper strata sends, and described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
In the present embodiment, caching management module (also can be called Cache caching management module or cache management equipment etc.) receives the write order that upper strata sends, wherein, upper strata can be main frame, processor, also can be small computer system interface (SCSI, SmallComputerSystemInterface), or Internet Small Computer Systems Interface (iSCSI, InternetSmallComputerSystemInterface), target (TARGET) driver module; Certainly, also can be application program or user etc.
In this embodiment, caching management module can distribute a block cache for each Redundant Array of Independent Disks (RAID) (Raid).
Step 102: caching management module judges whether to issue described write order according to the band state of described Raid;
Caching management module is after receiving this write order, first judge whether this write order can issue according to the band state of described Raid, its objective is and prevent when write order can not issue, caching management module causes this Raid to be write buffer setting for freezing (Frozen) state, thus causes the band of whole Raid unavailable.Certainly, cause writing buffer memory frozen state and be not limited to this situation of bar tape error, can also be other situations, such as disk be not in place.
Wherein, in the embodiment of the present application, issue the object of write order, can be buffer memory, also can be idle buffer memory, certainly, also can be Raid, need the object determining according to specific circumstances to issue during concrete enforcement, such as, when writing buffer memory according to write order hit correspondence, write order is handed down to and writes buffer memory, so that buffer memory stores data according to write order, that is, if can hit and write buffer memory, then data are stored in the buffer memory corresponding with this write order by caching management module; If that does not hit correspondence writes buffer memory, then need first to obtain and idle write buffer memory (or writing cache blocks etc.), if what can get the free time writes buffer memory, what this write order is sent to this free time writes buffer memory, so that the free time write these data of buffer memory, that is, idle write buffer memory if can get, then data are stored in the free buffer of acquisition by caching management module; If that does not order the free time writes buffer memory, then this write order is handed down to Raid, by Raid, this write order is processed accordingly.
Wherein, the free time writing buffer memory and acquisition of hit writes being distinguished as between buffer memory: writing in buffer memory of hit stores data, and the free time write in buffer memory, do not store data.
It should be noted that, caching management module can write buffer memory for each Raid distributes one piece, and the position that write order is write across several bands of Raid continuous print, specifically will may may calculate according to the stripe size of write order start address and length and Raid in of a Raid band, also.The stripe size that the start address that such as write order is write is 64KB, length is 300KB, Raid is 128KB, and so the position write of this write order is just across Raid continuous print 3 bands: band 1, band 2, band 3.
The state of the upper different band of Raid may be different, and the band 1 that such as above-mentioned write order is corresponding, band 3 all normally can be write, and band 2 mistake can not be write.
In addition, start address, the length of different write order are all different, and the stripe size of different Raid is also different, and therefore, caching management module needs to judge whether a write order can issue according to such as following step, and its detailed process judged is illustrated in fig. 2 shown below.
Step 103: if can not issue described write order, then caching management module sends error message to described upper layer device, and described error message comprises the information that the buffer memory corresponding with described write order can not be write.
In this step, if write order cannot issue, write order is returned to upper strata by caching management module, and returns corresponding error message, and illustrates that band corresponding in Raid is unavailable.And prior art freezes buffer memory, all write orders all to return Raid unavailable; And adopt in the embodiment of the application, except individual strips in Raid is unavailable, other band still can, that is, when receiving the write order of other bands, still data can be write RAID's.
It should be noted that, the wrong band number of Raid can arrange tolerable value by user according to concrete business model.
In the embodiment of the present application, caching management module is when receiving write order, first judge whether to issue write order according to the band state of Raid, and when described write order can not be issued, write the error message of failure to upper strata feedback, avoid Raid and cause the disabled problem of whole Raid because of a small amount of bar tape error.Further, because according to each band situation, caching management module strictly judges whether write order issues, what Raid was corresponding write buffer memory can not be frozen and produce disabled cache blocks of writing in a large number, improves the whole utilization factor writing buffer memory.
Also refer to Fig. 2, the process flow diagram that whether can issue according to Raid band condition adjudgement write order in a kind of date storage method that Fig. 2 provides for the embodiment of the present application, comprising:
Step 201: described write order splits into according to Raid stripe size and multiplely writes subcommand by caching management module, eachly writes the corresponding band of subcommand;
Step 202: described caching management module traversal is each writes subcommand;
Step 203: described caching management module judges whether described each band corresponding to subcommand of writing can be write; If all bands all can be write, perform step 204; If have one to write band corresponding to subcommand can not write, perform step 205;
That is, described caching management module judges whether each band corresponding to subcommand of writing normally can be write.
Step 204: described caching management module is determined to issue described write order;
Step 205: described caching management module is determined to issue described write order.
That is, as long as the band having to write subcommand corresponding is abnormal, then this write order just can not issue.
Also refer to Fig. 3, judge another process flow diagram whether write order can issue in the date storage method that Fig. 3 provides for the embodiment of the present application, described method comprises:
Step 301: described write order splits into according to Raid stripe size and multiplely writes subcommand by caching management module, eachly writes the corresponding band of subcommand;
Step 302: described caching management module traversal is each writes subcommand;
Step 303: described caching management module judges whether described each band corresponding to subcommand of writing can be write; If have one to write band corresponding to subcommand can not write, perform step 304; If when the band corresponding to all subcommands all can be write, perform step 305:
Step 304: described caching management module is determined to issue described write order;
Step 305: described caching management module judges whether to have traveled through all writes subcommand; All subcommand is write, then step 306 if traveled through, otherwise, return step 302;
Step 306: described caching management module is determined to issue described write order.
In the embodiment of the present application, because according to each band situation, caching management module can judge whether write order issues, what Raid was corresponding write buffer memory can not be frozen and produce disabled cache blocks of writing in a large number, improves the whole utilization factor writing buffer memory.It should be noted that, the wrong band number of Raid can arrange tolerable value by user according to concrete business model.
Also refer to Fig. 4, another process flow diagram of a kind of date storage method that Fig. 4 provides for the embodiment of the present application, the difference of this embodiment and Fig. 1 embodiment is, caching management module is after receiving write order, and whether this write order can issue to need the state of Raid band corresponding to write order to judge.If write order can issue, caching management module still processes write order according to following process; If write order cannot issue, write order is returned to upper strata by caching management module, and the band returning corresponding error information declaration Raid is unavailable, specifically as above shown in Fig. 1 embodiment.Described method comprises:
Step 401: caching management module receives write order data being write buffer memory that upper strata sends, and described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
Step 402: described caching management module judges whether to issue described write order according to the band state of described Raid; If can not issue, perform step 403; If can issue, perform step 404;
Wherein, corresponding to described write order, the state of the band of Raid judges whether that the process that can issue described write order refers to above-described embodiment, does not repeat them here.
Step 403: described caching management module sends error message to described upper strata, and described error message comprises the information that the buffer memory corresponding with described write order can not be write;
Step 404: described caching management module continues to judge whether to hit to write buffer memory; If so, step 405 and step 406 is performed; Otherwise, perform step 407 and subsequent step;
Step 405: described caching management module is write in buffer memory described in described data write hit;
Step 406: described caching management module, when the described data write in buffer memory meet flush condition, writes Refresh Data in buffer memory in Raid by described;
Wherein, flush condition can be artificial setting, such as, can be set to, when writing the data in buffer memory and meeting a whole strip data, perform refresh operation; Also can remain idle write buffer memory less time, perform refresh operation etc.
Step 407: what described caching management module acquisition was idle writes cache blocks;
Step 408: described caching management module judges whether to get idle writes cache blocks, if can, perform step 409; Otherwise, perform step 411;
Step 409: described caching management module the write of described data is obtained described in write in cache blocks;
Step 410: when the described data write in cache blocks meet flush condition, described caching management module writes Refresh Data in cache blocks in described Raid by described;
Wherein, flush condition refers to above-mentioned, does not repeat them here.
Step 411: described write order is handed down to described Raid process by described caching management module.
In the embodiment of the present application, write order is handed down to described Raid process, the processing procedure of its Raid has been know technology for those skilled in the art, does not repeat them here.
Corresponding with the embodiment of aforementioned data storage means, present invention also provides the embodiment of data storage device.
The embodiment of the application's data storage device can be applied on a variety of computing devices.Device embodiment can pass through software simulating, also can be realized by the mode of hardware or software and hardware combining.For software simulating, as the device on a logical meaning, be by the processor of its place equipment, computer program instructions corresponding in nonvolatile memory is read operation in internal memory to be formed.Say from hardware view, as shown in Figure 5, for a kind of hardware structure diagram of the data storage device place equipment that the embodiment of the present application provides, except the processor shown in Fig. 5, internal memory, network interface and nonvolatile memory, in embodiment, the equipment at device place is usually according to the actual functional capability of this equipment, other hardware can also be comprised, this is repeated no more.
As shown in Figure 5, described processor is configured to:
Receive write order data being write buffer memory that upper strata sends, described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
Judge whether to issue described write order;
If can not issue described write order, then send error message to described upper strata, described error message comprises the information that the buffer memory corresponding with described write order can not be write.
In another embodiment, processor judges whether to issue described write order in the following manner:
According to described write order judge whether to issue described write order to the band state of described Raid.
In another embodiment, processor state of the band of Redundant Array of Independent Disks (RAID) Raid corresponding to described write order judges whether to issue described write order, comprising:
Described write order is split into according to Raid stripe size and multiplely writes subcommand, eachly write the corresponding band of subcommand;
Travel through and eachly write subcommand;
Judge whether described each band corresponding to subcommand of writing can be write;
If have one to write band corresponding to subcommand can not write, then determine to issue described write order;
If when the band corresponding to all subcommands all can be write, then determine to issue described write order.
In another embodiment, processor before determining to issue described write order, also for:
Judge whether to have traveled through and all write subcommand, if so, determine to issue described write order; Otherwise, travel through and eachly write subcommand.
In another embodiment, processor, also for when issuing described write order, judges whether to hit and writes buffer memory;
If can hit and write buffer memory, to write in buffer memory described in described data write hit, and when the described data write in buffer memory meet flush condition, write Refresh Data in buffer memory in Raid by described.
In another embodiment, processor also for can not hit write buffer memory time, obtain and idle write cache blocks;
Judge whether to get and idle write cache blocks, if can get, then the write of described data is obtained idle described in write in cache blocks, and when the described data write in cache blocks meet flush condition, write Refresh Data in cache blocks in described Raid by described;
If can not get, then described write order is handed down to described Raid process.
Also refer to Fig. 6, be the structural representation of a kind of data storage device that the embodiment of the present application provides, described device comprises: receiving element 61, the first judging unit 62 and the first transmitting element 63, wherein,
Receiving element 61, for receiving write order data being write buffer memory that upper strata sends, described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
First judging unit 62, for judging whether to issue described write order according to the band state of described Raid;
First transmitting element 63, for when described first judging unit 62 judges to issue described write order, send error message to described upper strata, described error message comprises the information that the buffer memory corresponding with described write order can not be write.
Optionally, in another embodiment, described first judging unit 62, judges whether to issue described write order specifically for the band state of Redundant Array of Independent Disks (RAID) Raid corresponding to described write order.
Optionally, in another embodiment, described first judging unit 62 comprises: split cells, Traversal Unit, the first judgment sub-unit and the second determining unit (not shown),
Split cells, multiplely writes subcommand for being split into according to Raid stripe size by described write order, eachly writes the corresponding band of subcommand;
Traversal Unit, for travel through described split cells split after eachly write subcommand;
First judgment sub-unit, for judging whether described each band corresponding to subcommand of writing can be write;
First determining unit, for described first judgment sub-unit judge have one write band corresponding to subcommand can not write time, determine to issue described write order;
Second determining unit, when the band for judging corresponding to all subcommands in described first judgment sub-unit all can be write, determines to issue described write order.
Wherein, the first determining unit and the second determining unit can integrate, and also can independently dispose, the present embodiment does not limit.
Optionally, in another embodiment, described first judging unit 62 also comprises: the second judgment sub-unit (not shown),
Second judgment sub-unit, when the band for judging in described first judgment sub-unit corresponding to all subcommands all can be write, judging whether to have traveled through and all writing subcommand;
Described second determining unit, also for judge in described second judgment sub-unit to have traveled through all write subcommand time, determine to issue described write order;
Described Traversal Unit, also for judge in described second judgment sub-unit not traveled through all write subcommand time, continue that traversal is each writes subcommand.
Optionally, in another embodiment, described device can also comprise: the second judging unit 71 and the first writing unit 72, phase structural representation as shown in Figure 7, wherein,
Second judging unit 71, for when described first judging unit 62 judges to issue described write order, judges whether to hit and writes buffer memory;
First writing unit 72, when writing buffer memory for judging to hit at described second judging unit 71, to write in buffer memory described in described data write hit, and when the described data write in buffer memory meet flush condition, write Refresh Data in buffer memory in Raid by described.
Optionally, in another embodiment, described device can also comprise: acquiring unit 81, the 3rd judging unit 82, second writing unit 83 and the second transmitting element 84, its structural representation as shown in Figure 8, wherein,
Acquiring unit 81, when writing buffer memory for judging to hit at described second judging unit 71, what obtain the free time writes cache blocks;
3rd judging unit 82, idle writes cache blocks for judging whether to get;
Second writing unit 83, for judge at described 3rd judging unit 82 to get idle write buffer memory time, the write of described data is obtained described in write in cache blocks, and when the described data write in cache blocks meet flush condition, write Refresh Data in cache blocks in described Raid by described.
Second transmitting element 84, for judge at described 3rd judging unit 82 to get idle write cache blocks time, described write order is handed down to described Raid process.
In said apparatus, the implementation procedure of the function and efficacy of unit specifically refers to the implementation procedure of corresponding step in said method, does not repeat them here.
In the embodiment of the present application, data storage device is when receiving write order, first judge whether to issue write order according to the band state of Raid, and when described write order can not be issued, write unsuccessfully error message to upper strata feedback, avoid Raid and cause the disabled problem of whole Raid because of a small amount of bar tape error.Further, because according to each band situation, caching management module strictly judges whether write order issues, what Raid was corresponding write buffer memory can not be frozen and produce disabled cache blocks of writing in a large number, improves the whole utilization factor writing buffer memory.
It should be noted that the unit in the present embodiment device can integrate, also can independently dispose, the present embodiment does not limit.
For device embodiment, because it corresponds essentially to embodiment of the method, so relevant part illustrates see the part of embodiment of the method.Device embodiment described above is only schematic, the wherein said unit illustrated as separating component or can may not be and physically separates, parts as unit display can be or may not be physical location, namely can be positioned at a place, or also can be distributed in multiple network element.Some or all of module wherein can be selected according to the actual needs to realize the object of the application's scheme.Those of ordinary skill in the art, when not paying creative work, are namely appreciated that and implement.
The foregoing is only the preferred embodiment of the application, not in order to limit the application, within all spirit in the application and principle, any amendment made, equivalent replacements, improvement etc., all should be included within scope that the application protects.

Claims (10)

1. a date storage method, is characterized in that, comprising:
Caching management module receives write order data being write buffer memory that upper strata sends, and described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
Described caching management module judges whether to issue described write order according to the band state of described Raid;
If can not issue described write order, then described caching management module sends error message to described upper strata, and described error message comprises the information that the buffer memory corresponding with described write order can not be write.
2. method according to claim 1, is characterized in that, described caching management module judges whether to issue described write order according to the band state of described Raid, comprising:
Described write order splits into according to Raid stripe size and multiplely writes subcommand by described caching management module, eachly writes the corresponding band of subcommand;
Described caching management module traversal is each writes subcommand;
Described caching management module judges whether described each band corresponding to subcommand of writing can be write;
If have one to write band corresponding to subcommand can not write, then described caching management module is determined to issue described write order;
If when the band corresponding to all subcommands all can be write, then described caching management module is determined to issue described write order.
3. method according to claim 1 and 2, is characterized in that, also comprises:
If can issue described write order, then described caching management module judges whether to hit and writes buffer memory;
If can hit and write buffer memory, described caching management module is write in buffer memory described in described data write hit, and when the described data write in buffer memory meet flush condition, writes Refresh Data in buffer memory in Raid by described.
4. method according to claim 3, is characterized in that, also comprises:
If can not hit and write buffer memory, then what described caching management module acquisition was idle writes cache blocks;
Described caching management module judges whether to get idle writes cache blocks, if can get, then described data write being obtained writes in cache blocks described in the free time, and when the described data write in cache blocks meet flush condition, write Refresh Data in cache blocks in described Raid by described;
If can not get, then described write order is handed down to described Raid process by described caching management module.
5. a data storage device, is characterized in that, comprising:
Receiving element, for receiving write order data being write buffer memory that upper strata sends, described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
First judging unit, for judging whether to issue described write order according to the band state of described Raid;
First transmitting element, for when described first judging unit judges to issue described write order, send error message to described upper strata, described error message comprises the information that the buffer memory corresponding with described write order can not be write.
6. device according to claim 5, is characterized in that, described first judging unit comprises:
Split cells, multiplely writes subcommand for being split into according to Raid stripe size by described write order, eachly writes the corresponding band of subcommand;
Traversal Unit, for travel through described split cells split after eachly write subcommand;
First judgment sub-unit, for judging whether described each band corresponding to subcommand of writing can be write;
First determining unit, for described first judgment sub-unit judge have one write band corresponding to subcommand can not write time, determine to issue described write order;
Second determining unit, when the band for judging corresponding to all subcommands in described first judgment sub-unit all can be write, determines to issue described write order.
7. device according to claim 6, is characterized in that, described first judging unit also comprises:
Second judgment sub-unit, when the band for judging in described first judgment sub-unit corresponding to all subcommands all can be write, judging whether to have traveled through and all writing subcommand;
Described second determining unit, also for judge in described second judgment sub-unit to have traveled through all write subcommand time, determine to issue described write order;
Described Traversal Unit, also for judge in described second judgment sub-unit not traveled through all write subcommand time, continue that traversal is each writes subcommand.
8. the device according to any one of claim 5 to 7, is characterized in that, also comprises:
Second judging unit, for when described first judging unit judges to issue described write order, judges whether to hit and writes buffer memory;
Described data, when writing buffer memory for judging hit at described second judging unit, being write described in hitting and writing in buffer memory by the first writing unit, and when the described data write in buffer memory are met flush condition, write Refresh Data in buffer memory in Raid by described.
9. device according to claim 8, is characterized in that, also comprises:
Acquiring unit, when writing buffer memory for judging to hit at described second judging unit, what obtain the free time writes cache blocks;
3rd judging unit, idle writes cache blocks for judging whether to get;
Second writing unit, for judge at described 3rd judging unit to get idle write buffer memory time, to write in cache blocks described in the write of described data is got, and when the described data write in cache blocks meet flush condition, write Refresh Data in cache blocks in described Raid by described.
Second transmitting element, for judge at described 3rd judging unit to get idle write cache blocks time, described write order is handed down to described Raid process.
10. a number memory device, is characterized in that, comprising:
Processor, and for storing the storer of described processor executable;
Wherein, described processor is configured to:
Receive write order data being write buffer memory that upper strata sends, described buffer memory is the buffer memory corresponding with Redundant Array of Independent Disks (RAID) Raid;
Judge whether to issue described write order according to the band state of described Raid;
If can not issue described write order, then send error message to described upper strata, described error message comprises the information that the buffer memory corresponding with described write order can not be write.
CN201510882662.0A 2015-12-03 2015-12-03 A kind of date storage method, device and equipment Active CN105528180B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510882662.0A CN105528180B (en) 2015-12-03 2015-12-03 A kind of date storage method, device and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510882662.0A CN105528180B (en) 2015-12-03 2015-12-03 A kind of date storage method, device and equipment

Publications (2)

Publication Number Publication Date
CN105528180A true CN105528180A (en) 2016-04-27
CN105528180B CN105528180B (en) 2018-12-07

Family

ID=55770434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510882662.0A Active CN105528180B (en) 2015-12-03 2015-12-03 A kind of date storage method, device and equipment

Country Status (1)

Country Link
CN (1) CN105528180B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664212A (en) * 2017-03-31 2018-10-16 北京忆恒创源科技有限公司 The distributed caching of solid storage device
CN109164976A (en) * 2016-12-21 2019-01-08 北京忆恒创源科技有限公司 Optimize storage device performance using write buffer
WO2019127212A1 (en) * 2017-12-28 2019-07-04 华为技术有限公司 Data write-in method and solid-state drive array
CN111352865A (en) * 2018-12-24 2020-06-30 北京忆芯科技有限公司 Write caching for memory controllers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236482A (en) * 2008-02-26 2008-08-06 杭州华三通信技术有限公司 Method for processing data under degrading state and independent redundancy magnetic disc array system
US20080235454A1 (en) * 2007-03-22 2008-09-25 Ibm Corporation Method and Apparatus for Repairing a Processor Core During Run Time in a Multi-Processor Data Processing System
CN102681794A (en) * 2012-04-23 2012-09-19 浪潮(北京)电子信息产业有限公司 Method and system for realizing redundant array protection of a disk based on double controllers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235454A1 (en) * 2007-03-22 2008-09-25 Ibm Corporation Method and Apparatus for Repairing a Processor Core During Run Time in a Multi-Processor Data Processing System
CN101236482A (en) * 2008-02-26 2008-08-06 杭州华三通信技术有限公司 Method for processing data under degrading state and independent redundancy magnetic disc array system
CN102681794A (en) * 2012-04-23 2012-09-19 浪潮(北京)电子信息产业有限公司 Method and system for realizing redundant array protection of a disk based on double controllers

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109164976A (en) * 2016-12-21 2019-01-08 北京忆恒创源科技有限公司 Optimize storage device performance using write buffer
CN109164976B (en) * 2016-12-21 2021-12-31 北京忆恒创源科技股份有限公司 Optimizing storage device performance using write caching
CN108664212A (en) * 2017-03-31 2018-10-16 北京忆恒创源科技有限公司 The distributed caching of solid storage device
CN108664212B (en) * 2017-03-31 2024-01-19 北京忆恒创源科技股份有限公司 Distributed caching for solid state storage devices
WO2019127212A1 (en) * 2017-12-28 2019-07-04 华为技术有限公司 Data write-in method and solid-state drive array
CN110462577A (en) * 2017-12-28 2019-11-15 华为技术有限公司 A kind of method and solid state hard disk array of data write-in
US11243701B2 (en) 2017-12-28 2022-02-08 Huawei Technologies Co., Ltd. Data write method and solid-state drive array
CN111352865A (en) * 2018-12-24 2020-06-30 北京忆芯科技有限公司 Write caching for memory controllers

Also Published As

Publication number Publication date
CN105528180B (en) 2018-12-07

Similar Documents

Publication Publication Date Title
JP6294518B2 (en) Synchronous mirroring in non-volatile memory systems
US10001947B1 (en) Systems, methods and devices for performing efficient patrol read operations in a storage system
US9372743B1 (en) System and method for storage management
US9747198B2 (en) Processing a point-in-time copy establish command to copy data
US8176247B2 (en) Method and system for protecting against multiple failures in a RAID system
US7653836B1 (en) Logging metadata modifications in a data storage system
US9836231B2 (en) Managing updates and copying data in a point-in-time copy relationship expressed as source logical addresses and target logical addresses
US9740634B2 (en) Establishing a point-in-time copy relationship between source logical addresses and target logical addresses
US8099554B1 (en) System and method for flash-based data caching
US9292228B2 (en) Selective raid protection for cache memory
US7689890B2 (en) System and method for handling write commands to prevent corrupted parity information in a storage array
US7363451B2 (en) Load balancing of disk drives
US8615678B1 (en) Auto-adapting multi-tier cache
US8838890B2 (en) Stride based free space management on compressed volumes
CN104035830A (en) Method and device for recovering data
CN105528180A (en) Data storage method, apparatus and device
CN103534688A (en) Data recovery method, storage equipment and storage system
CN107729536A (en) A kind of date storage method and device
CN103608784A (en) Method for creating network volumes, data storage method, storage device and storage system
CN108874312A (en) Date storage method and storage equipment
CN106919339B (en) Hard disk array and method for processing operation request by hard disk array
US10229014B1 (en) Systems, methods and devices for performing fast RAID re-synchronization using a RAID sandwich architecture
US9418100B1 (en) System and method for storage management
CN107577551A (en) A kind of solid state disk write fail processing method and system
US8713254B1 (en) System and method for improving cache efficiency

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