CN113868149A - Data storage method, device and equipment and readable storage medium - Google Patents

Data storage method, device and equipment and readable storage medium Download PDF

Info

Publication number
CN113868149A
CN113868149A CN202110987969.2A CN202110987969A CN113868149A CN 113868149 A CN113868149 A CN 113868149A CN 202110987969 A CN202110987969 A CN 202110987969A CN 113868149 A CN113868149 A CN 113868149A
Authority
CN
China
Prior art keywords
data
disk
read
disk array
stripe
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110987969.2A
Other languages
Chinese (zh)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202110987969.2A priority Critical patent/CN113868149A/en
Publication of CN113868149A publication Critical patent/CN113868149A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Digital Magnetic Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

The application discloses a data storage method, a device, equipment and a readable storage medium, wherein the method comprises the following steps: receiving a write data access request of a disk array, and determining target data to be written; judging whether a tile recording disk in the disk array is in garbage recovery; if yes, writing the target data into a hard disk stripe in the disk array; if not, the target data is written to a shingle recording disk stripe within the disk array. The tile recording disk is combined with the hard disk in the disk array, and target data is written into different strips based on whether the tile recording disk is subjected to garbage collection or not, so that the problem of write amplification of the tile recording disk is avoided, and the overall performance of the disk is not influenced.

Description

Data storage method, device and equipment and readable storage medium
Technical Field
The present application relates to the field of storage technologies, and in particular, to a data storage method, apparatus, device, and readable storage medium.
Background
The advent of large data presents a significant challenge to the growth of storage capacity. The disk storage has the advantages of large capacity and low cost, and therefore, the disk storage plays an important role in a storage system. Under the influence of the SuperparaMagnetic Effect (Superpara magnetic Effect), the areal density of a hard disk is about to reach a limit, and the Shingled Magnetic Recording (SMR) technology can realize the increase of the areal density of the magnetic disk with lower cost on the basis of the hard disk, thereby ensuring the increase of the capacity of the magnetic disk.
However, since the shingle recording technique has a write amplification problem: when the free space of the tile record disk is lower than the set threshold, a garbage collection operation is started, for example, valid data of the tile record partition A and the tile record partition B are merged into the tile record partition C, and then the tile record partition A and the tile record partition B become free partitions and can be reused. Frequent garbage collection operations can result in severe degradation of the performance of the shingled recording disks.
In summary, how to effectively solve the problem of performance degradation of the shingle recording disk caused by write amplification is a technical problem that needs to be solved by those skilled in the art.
Disclosure of Invention
The application aims to provide a data storage method, a data storage device, data storage equipment and a readable storage medium, which can enable garbage collection operation of a shingled recording disk to be carried out without influencing the performance of the disk.
In order to solve the technical problem, the application provides the following technical scheme:
a method of data storage, comprising:
receiving a write data access request of a disk array, and determining target data to be written;
judging whether the tile recording disk in the disk array is in garbage recovery;
if yes, writing the target data into a hard disk stripe in the disk array;
and if not, writing the target data into a tile recording disk strip in the disk array.
Preferably, the method further comprises the following steps:
monitoring the state of the disk array;
and under the condition that the disk array is in an idle state, moving the data stored in the hard disk strip to the tile recording disk strip.
Preferably, writing the target data to a shingled recording disk stripe within the disk array comprises:
and sequentially writing the target data into the watt recording disk strip, and writing verification data into a verification data area in the hard disk strip.
Preferably, the method further comprises the following steps:
obtaining the size of the used space in each tile recording disk;
judging whether the size of the used space exceeds a threshold value;
if so, a global garbage collection operation is started.
Preferably, the method further comprises the following steps:
receiving a read data access request of the disk array, and determining a logical block address and a data length of data to be read;
inquiring the storage position of the data to be read by utilizing the logical block address and the data length;
and reading the data to be read from the storage position.
Preferably, reading the data to be read from the storage location includes:
and if the storage position belongs to the hard disk stripe, sending the read data access request to the hard disk stripe, and reading the data to be read from the hard disk stripe.
Preferably, reading the data to be read from the storage location includes:
and if the storage position belongs to the shingle recording disk strip, sending the read data access request to the shingle recording disk strip, finding the storage position in the shingle recording disk strip through address conversion, and reading the data to be read.
A data storage device comprising:
the request receiving unit is used for receiving a write data access request of the disk array and determining target data to be written;
the recovery judging unit is used for judging whether the tile recording disk in the disk array is subjected to garbage recovery;
a hard disk writing unit, configured to write the target data into a hard disk stripe in the disk array if a tile recording disk in the disk array performs garbage collection;
and the disk writing unit is used for writing the target data into a tile recording disk strip in the disk array if the tile recording disk in the disk array does not carry out garbage collection.
An electronic device, comprising:
a memory for storing a computer program;
and the processor is used for realizing the steps of the data storage method when executing the computer program.
A readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the above-mentioned data storage method.
By applying the method provided by the embodiment of the application, a write data access request of the disk array is received, and target data to be written is determined; judging whether a tile recording disk in the disk array is in garbage recovery; if yes, writing the target data into a hard disk stripe in the disk array; if not, the target data is written to a shingle recording disk stripe within the disk array.
The disk array comprises a tile recording disk strip and a hard disk strip. When the disk array receives a write data access request, target data to be written is determined first, and then whether the shingled recording disk is performing garbage collection or not is determined. If the tile recording disk is in garbage collection, the target data is written into a hard disk strip, so that the garbage collection of the tile recording disk is prevented from being interfered, and the problem of write amplification is avoided; if the shingle recording disk is not garbage collected, the target data is written directly into the shingle recording disk stripe. The target data is written into different strips based on whether the shingle recording disk is garbage-recycled or not, so that the problem of write amplification of the shingle recording disk is avoided, and the overall performance of the disk is not influenced.
Accordingly, embodiments of the present application further provide a data storage device, an apparatus, and a readable storage medium corresponding to the data storage method, which have the above technical effects and are not described herein again.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments or related technologies of the present application, the drawings needed to be used in the description of the embodiments or related technologies are briefly introduced below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
FIG. 1 is a flowchart illustrating an implementation of a data storage method according to an embodiment of the present application;
FIG. 2 is a schematic diagram illustrating an implementation of a data storage method according to an embodiment of the present application;
FIG. 3 is a schematic structural diagram of a data storage device according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an electronic device in an embodiment of the present application;
fig. 5 is a schematic structural diagram of an electronic device in an embodiment of the present application.
Detailed Description
In order that those skilled in the art will better understand the disclosure, the following detailed description will be given with reference to the accompanying drawings. It is to be understood that the embodiments described are only a few embodiments of the present application and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Referring to fig. 1, fig. 1 is a flowchart illustrating a data storage method according to an embodiment of the present application, where the method includes the following steps:
s101, receiving a write data access request of the disk array, and determining target data to be written.
The disk array comprises a tile recording disk strip and a hard disk strip. A shingle recording disk stripe refers to a stripe made up of shingle recording disks, and a hard disk stripe refers to a stripe made up of hard disks.
For example, the following steps are carried out: the disk array may specifically include a plurality of HM-SMR drives and a plurality of HDDs (hard disk drives, which are conventional disks and hard disks for short herein), where the plurality of HM-SMR drives (host managed shifted magnetic recording drives, which are managed by a host) form RAID0(Stripe or Striping, which has no parity Stripe, and is herein referred to as a Stripe for short), and the plurality of HDDs also form RAID 0. To facilitate distinguishing between different RAIDs 0, a stripe of shingled recording disks is referred to herein as a shingled recording disk stripe and a stripe of hard disks is referred to herein as a hard disk stripe.
The write data access request may be specifically a request initiated by a user to write target data into the disk array, where the target data is correspondingly user data. Of course, the write data access request may be initiated by the upper layer application, that is, the write data access request is initiated when data storage is required, and the corresponding target data is data to be stored by the upper layer application, such as monitoring data, log data, or other data. The following takes the target data as the user data as an example, the storage process thereof is described in detail, and reference may be made to the storage method of other data types, which is not repeated herein
After receiving a write data access request, first determining that the request corresponds to target data to be written. Specifically, the logical block address and the data length of the data to be written may also be determined, so that after the data is explicitly written into which stripe, a corresponding storage address and a corresponding storage space size are allocated to the data, and for how the data is written into the storage space inside the stripe after being allocated to a specific stripe, a data storage flow of the specific stripe may be referred to.
S102, judging whether the tile recording disk in the disk array is subjected to garbage collection.
Considering that when the shingled recording disk is garbage collected, the data is moved and written in the shingled recording disk, and the shingled recording partitions are merged and the state is changed, if new data is continuously written in the shingled recording disk at the moment, the problem of write amplification is caused, so that the data writing efficiency is low, and the problem of disordered storage space can be caused when the data writing efficiency is serious. Therefore, when the target data needs to be written, it can be known whether the garbage collection operation is performed in the current time-tile recording disk.
Whether garbage collection operation is performed in the watt recording disk at the current moment can be determined by monitoring whether data movement exists between different watt recording partitions of the watt recording disk. Specifically, if data transfer exists between different tile record partitions, if valid data of the tile record partition a and the tile record partition B are transferred to the tile record partition C, it indicates that the tile record disk performs garbage collection operation at the current time, and otherwise, it may be determined that the garbage collection operation is not performed at present.
In a specific embodiment of the present application, the garbage recycling process specifically includes:
step one, obtaining the size of a used space in each tile recording disk;
step two, judging whether the size of the used space exceeds a threshold value;
and step three, if so, starting the global garbage recycling operation.
That is, when there is at least one tile recording disk, the size of the used space exceeds the preset threshold corresponding to garbage collection, the global garbage collection operation will be performed. In practical application, a garbage collection module can be arranged, the garbage collection module can record the used space in each HM-SMR drive, judge whether the used space in at least 1 HM-SMR drive exceeds a specified threshold value, if not, indicate that garbage collection is not needed, if yes, start the global garbage collection operation, namely, each HM-SMR drive executes the tile record partition merging operation.
If the shingled recording disk is garbage collected, in order to avoid the problem of write amplification, new data (i.e. target data) is not continuously written into the shingled recording disk stripe, but is written into the hard disk stripe, i.e. the operation of step S103 is executed, otherwise, the operation of step S104 is executed.
S103, writing the target data into a hard disk stripe in the disk array.
Specifically, the target data may be written in RAID0 based on a hard disk, and the write position of the target data may be marked with 1 (of course, the write position may be marked with another value, as long as the write position is different from the position where the disk condition is recorded in the shingle recording disk). And recording the writing position of the target data for subsequently inquiring the belonged stripe type of the target data.
And S104, writing the target data into the tile recording disk strips in the disk array.
Specifically, when the shingle recording disk does not perform the garbage collection operation, the new data written into the shingle recording disk stripe does not cause the write amplification problem, and thus the target data can be normally written into the shingle recording disk stripe.
Preferably, when the shingle recording disk stripe is specifically RAID0 composed of HM-SMR drive, step S104 writes the target data to the shingle recording disk stripe, which includes: target data is sequentially written into the shingled recording disk stripe, and parity data is written into a parity data area in the hard disk stripe. The target data is distributed to RAID0, which consists of HM-SMR drive, and the data write location is marked as 0. For target data distributed to HM-SMR drive, it can be converted to sequential write data; for parity data generated by RAID0 consisting of HM-SMR drive, it may be distributed to the parity data area of RAID0 consisting of HDDs.
Accordingly, since the corresponding target data is written in the hard disk stripe when the shingled recording disk performs garbage collection, that is, the user data may exist in the shingled recording disk or the hard disk. Based on this, in an embodiment of the present application, the reading process of the data specifically includes:
receiving a read data access request of a disk array, and determining a logical block address and a data length of data to be read;
step two, inquiring the storage position of the data to be read by utilizing the address of the logic block and the data length;
and thirdly, reading the data to be read from the storage position.
Reading data to be read from the storage location in the third step, which specifically comprises:
case 1: and if the storage position belongs to the hard disk stripe, sending a read data access request to the hard disk stripe, and reading the data to be read from the hard disk stripe.
Case 2: and if the storage position belongs to the shingle recording disk strip, sending a read data access request to the shingle recording disk strip, finding the storage position in the shingle recording disk strip through address conversion, and reading the data to be read.
That is, when a user requests to access the disk array, the user can query the position of the requested data according to the LBA (local block address) and the requested data length of the read request (i.e., read data access request), and if the requested data (i.e., data to be read) is in RAID0 formed based on the HM-SMR drive, send a read request to RAID0 (i.e., a shingled recording disk stripe) based on the HM-SMR drive, find the storage position in the HM-SMR drive through the address conversion module, and return the read data to the user; if the requested data is in RAID0 composed of hard disks (namely, a hard disk stripe), a read request is sent to RAID0 based on hard disks, and the data is returned to the user after being read.
Preferably, for convenience of management, the data stored in the hard disk stripe can be moved to the tile recording disk stripe in the idle state of the disk array. The specific implementation process comprises the following steps:
monitoring the state of a disk array;
and step two, under the condition that the disk array is in an idle state, moving the data stored in the hard disk strip to the tile recording disk strip.
Specifically, by monitoring the I/O (Input/Output) of the disk array, the data stored in the hard disk stripe can be moved to the shingled recording disk stripe when the Input and Output are in an idle state. The idle state may be set based on a related threshold, for example, the input is within an input threshold, the output is within an output threshold, and the setting of the corresponding threshold may be set and adjusted according to actual requirements, which are not listed one by one.
Or, the read requests and write requests of the disk array may be supervised, and when no pending read requests or pending write requests are found, or the number of pending read requests or pending write requests is lower than a preset number threshold, it is determined that the disk array is in an idle state.
It should be noted that the data moved from the hard disk stripe to the shingled recording disk stripe herein refers to the user data stored during shingled recording disk garbage collection, rather than moving all the data in the hard disk stripe to the shingled recording disk stripe.
By applying the method provided by the embodiment of the application, a write data access request of the disk array is received, and target data to be written is determined; judging whether a tile recording disk in the disk array is in garbage recovery; if yes, writing the target data into a hard disk stripe in the disk array; if not, the target data is written to a shingle recording disk stripe within the disk array.
The disk array comprises a tile recording disk strip and a hard disk strip. When the disk array receives a write data access request, target data to be written is determined first, and then whether the shingled recording disk is performing garbage collection or not is determined. If the tile recording disk is in garbage collection, the target data is written into a hard disk strip, so that the garbage collection of the tile recording disk is prevented from being interfered, and the problem of write amplification is avoided; if the shingle recording disk is not garbage collected, the target data is written directly into the shingle recording disk stripe. The target data is written into different strips based on whether the shingle recording disk is garbage-recycled or not, so that the problem of write amplification of the shingle recording disk is avoided, and the overall performance of the disk is not influenced.
In order to facilitate those skilled in the art to better understand and apply the data storage method provided in the present application, the following description will be made in detail with reference to a specific application scenario as an example.
Referring to fig. 2, fig. 2 is a schematic diagram illustrating an implementation of a data storage method according to an embodiment of the present application.
As shown in fig. 2, the disk array may include a plurality of HM-SMR drives and a plurality of HDDs, wherein the plurality of HM-SMR drives form a RAID0 for storing user data, and the plurality of HDDs also form a RAID0, the RAID0 may be further divided into a check data area for storing check data generated according to the user data and a user data scratch area (corresponding to the scratch area shown in the figure) for temporarily storing the user data when the HM-SMR drives are garbage collected.
In practical use, a data distribution module can be arranged to realize the relevant steps corresponding to data writing and data reading of the method embodiment, and a garbage recovery module is arranged to realize garbage recovery processing; an address translation module is provided to implement address translation.
In the disk array, the write flow mainly includes the following steps:
the method comprises the following steps: accessing the disk array by user write data, recording the LBA address and the data length of the user write data by the data distribution module, if the RAID0 formed by the HM-SMR drive executes garbage collection operation, turning to the step seven, and if the garbage collection operation is not executed, turning to the step two;
step two: the data distribution module distributes user write data to RAID0 composed of HM-SMR drive and marks the data write position as 0;
step three: for user data distributed to the HM-SMR drive, the address conversion module can convert the user data into sequential write data, so that RAID0 composed of the HM-SMR drive can rapidly perform sequential write operation;
step four: for parity data generated by RAID0 consisting of HM-SMR drive, the data distribution module may distribute it to the parity data area of RAID0 consisting of HDDs;
step five: the garbage recycling module records the used space in each HM-SMR drive, judges whether the used space in a certain HM-SMR drive exceeds a specified threshold value or not, if not, turns to the first step, and if so, turns to the sixth step;
step six: starting global garbage recycling operation, namely executing tile record partition merging operation by each HM-SMR drive;
step seven: the data distribution module writes user data into a user data temporary storage area in the RAID0 based on the hard disk, and marks the data writing position as 1;
step eight: when the storage system is idle, the user data in the user data temporary storage area is migrated to RAID0 composed of HM-SMR drive, and the space occupied by the migrated user data in the user data temporary storage area is marked as idle space.
Accordingly, in the disk array, the read process mainly includes the following steps:
the method comprises the following steps: a user reads and requests to access the disk array, the data distribution module inquires the position of the requested data according to the LBA of the read request and the length of the requested data, if the requested data is in the RAID0 formed based on the HM-SMR drive, the step II is carried out, and if the requested data is in the cache region of the RAID0 formed based on the hard disk, the step III is carried out;
step two: the data distribution module sends a read request to RAID0 based on the HM-SMR drive, the storage position in the HM-SMR drive is found through the address conversion module, and the data is returned to the user after being read;
step three: the data distribution module sends a read request to the hard disk based RAID0, and returns the read data to the user.
Therefore, the advantages of low cost, large capacity and better sequential writing performance of the HM-SMR drive and the traditional disk can be fully exerted.
Corresponding to the above method embodiments, the present application further provides a data storage device, and the data storage device described below and the data storage method described above may be referred to in correspondence with each other.
Referring to fig. 3, the apparatus includes a data distribution module, which specifically includes the following units:
a request receiving unit 101, configured to receive a write data access request of a disk array, and determine target data to be written;
a recovery judging unit 102, configured to judge whether a shingle recording disk in the disk array is performing garbage recovery;
a hard disk writing unit 103, configured to write target data into a hard disk stripe in the disk array if a tile recording disk in the disk array performs garbage collection;
and the disk writing unit 104 is configured to write the target data into a tile recording disk stripe in the disk array if the tile recording disk in the disk array is not garbage-recovered.
The device provided by the embodiment of the application is used for receiving a write data access request of a disk array and determining target data to be written; judging whether a tile recording disk in the disk array is in garbage recovery; if yes, writing the target data into a hard disk stripe in the disk array; if not, the target data is written to a shingle recording disk stripe within the disk array.
The disk array comprises a tile recording disk strip and a hard disk strip. When the disk array receives a write data access request, target data to be written is determined first, and then whether the shingled recording disk is performing garbage collection or not is determined. If the tile recording disk is in garbage collection, the target data is written into a hard disk strip, so that the garbage collection of the tile recording disk is prevented from being interfered, and the problem of write amplification is avoided; if the shingle recording disk is not garbage collected, the target data is written directly into the shingle recording disk stripe. The target data is written into different strips based on whether the shingle recording disk is garbage-recycled or not, so that the problem of write amplification of the shingle recording disk is avoided, and the overall performance of the disk is not influenced.
In a specific embodiment of the present application, the data distribution module further includes:
the data migration unit is used for monitoring the state of the disk array; and under the condition that the disk array is in an idle state, moving the data stored in the hard disk strip to the tile recording disk strip.
In an embodiment of the present application, the disk writing unit 104 is specifically configured to sequentially write the target data into the shingled recording disk stripe and write the verification data into the verification data area in the hard disk stripe.
In one embodiment of the present application, the apparatus further comprises:
the garbage recycling module is used for acquiring the size of the used space in each tile recording disk; judging whether the size of the used space exceeds a threshold value; if so, a global garbage collection operation is started.
In a specific embodiment of the present application, the request receiving unit 101 is further configured to receive a read data access request of a disk array, and determine a logical block address and a data length of data to be read;
the address query unit is used for querying the storage position of the data to be read by utilizing the logical block address and the data length;
and the data reading unit is used for reading the data to be read from the storage position.
In an embodiment of the present application, the data reading unit is specifically configured to send a read data access request to the hard disk stripe if the storage location belongs to the hard disk stripe, and read data to be read from the hard disk stripe.
In an embodiment of the present application, the data reading unit is specifically configured to send a read data access request to the shingled recording disk stripe if the storage location belongs to the shingled recording disk stripe, find the storage location in the shingled recording disk stripe through address translation, and read data to be read.
Corresponding to the above method embodiment, the present application further provides an electronic device, and the electronic device described below and the data storage method described above may be referred to in correspondence with each other.
Referring to fig. 4, the electronic device includes:
a memory 332 for storing a computer program;
processor 322, configured to implement the steps of the data storage method of the above-described method embodiments when executing the computer program.
Specifically, referring to fig. 5, fig. 5 is a schematic structural diagram of an electronic device provided in this embodiment, which may generate relatively large differences due to different configurations or performances, and may include one or more processors (CPUs) 322 (e.g., one or more processors) and a memory 332, where the memory 332 stores one or more computer applications 342 or data 344. Memory 332 may be, among other things, transient or persistent storage. The program stored in memory 332 may include one or more modules (not shown), each of which may include a sequence of instructions operating on a data processing device. Still further, the central processor 322 may be configured to communicate with the memory 332 to execute a series of instruction operations in the memory 332 on the electronic device 301.
The electronic device 301 may also include one or more power sources 326, one or more wired or wireless network interfaces 350, one or more input-output interfaces 358, and/or one or more operating systems 341.
The steps in the data storage method described above may be implemented by the structure of an electronic device.
Corresponding to the above method embodiment, the present application embodiment further provides a readable storage medium, and a readable storage medium described below and a data storage method described above may be referred to in correspondence with each other.
A readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the data storage method of the above-mentioned method embodiments.
The readable storage medium may be a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and various other readable storage media capable of storing program codes.
Those of skill would further appreciate that the various illustrative components and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.

Claims (10)

1. A method of storing data, comprising:
receiving a write data access request of a disk array, and determining target data to be written;
judging whether the tile recording disk in the disk array is in garbage recovery;
if yes, writing the target data into a hard disk stripe in the disk array;
and if not, writing the target data into a tile recording disk strip in the disk array.
2. The data storage method of claim 1, further comprising:
monitoring the state of the disk array;
and under the condition that the disk array is in an idle state, moving the data stored in the hard disk strip to the tile recording disk strip.
3. The data storage method of claim 1, wherein writing the target data to a stripe of shingled recording disks within the disk array comprises:
and sequentially writing the target data into the watt recording disk strip, and writing verification data into a verification data area in the hard disk strip.
4. The data storage method of claim 1, further comprising:
obtaining the size of the used space in each tile recording disk;
judging whether the size of the used space exceeds a threshold value;
if so, a global garbage collection operation is started.
5. The data storage method of any of claims 1 to 4, further comprising:
receiving a read data access request of the disk array, and determining a logical block address and a data length of data to be read;
inquiring the storage position of the data to be read by utilizing the logical block address and the data length;
and reading the data to be read from the storage position.
6. The data storage method of claim 5, wherein reading the data to be read from the storage location comprises:
and if the storage position belongs to the hard disk stripe, sending the read data access request to the hard disk stripe, and reading the data to be read from the hard disk stripe.
7. The data storage method of claim 5, wherein reading the data to be read from the storage location comprises:
and if the storage position belongs to the shingle recording disk strip, sending the read data access request to the shingle recording disk strip, finding the storage position in the shingle recording disk strip through address conversion, and reading the data to be read.
8. A data storage device, comprising:
the request receiving unit is used for receiving a write data access request of the disk array and determining target data to be written;
the recovery judging unit is used for judging whether the tile recording disk in the disk array is subjected to garbage recovery;
a hard disk writing unit, configured to write the target data into a hard disk stripe in the disk array if a tile recording disk in the disk array performs garbage collection;
and the disk writing unit is used for writing the target data into a tile recording disk strip in the disk array if the tile recording disk in the disk array does not carry out garbage collection.
9. An electronic device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the data storage method of any one of claims 1 to 7 when executing said computer program.
10. A readable storage medium, characterized in that the readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of the data storage method according to any one of claims 1 to 7.
CN202110987969.2A 2021-08-26 2021-08-26 Data storage method, device and equipment and readable storage medium Pending CN113868149A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110987969.2A CN113868149A (en) 2021-08-26 2021-08-26 Data storage method, device and equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110987969.2A CN113868149A (en) 2021-08-26 2021-08-26 Data storage method, device and equipment and readable storage medium

Publications (1)

Publication Number Publication Date
CN113868149A true CN113868149A (en) 2021-12-31

Family

ID=78988297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110987969.2A Pending CN113868149A (en) 2021-08-26 2021-08-26 Data storage method, device and equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN113868149A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802344A (en) * 1995-11-03 1998-09-01 International Business Machines Corporation Method and apparatus for dynamic segment allocation in log structured arrays
US20070174582A1 (en) * 2006-01-25 2007-07-26 Seagate Technology Llc Mutable association of a set of logical block addresses to a band of physical storage blocks
CN106095342A (en) * 2016-06-15 2016-11-09 华中科技大学 Watt recording disc array construction method and the system of a kind of dynamically changeable long strip

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802344A (en) * 1995-11-03 1998-09-01 International Business Machines Corporation Method and apparatus for dynamic segment allocation in log structured arrays
US20070174582A1 (en) * 2006-01-25 2007-07-26 Seagate Technology Llc Mutable association of a set of logical block addresses to a band of physical storage blocks
CN106095342A (en) * 2016-06-15 2016-11-09 华中科技大学 Watt recording disc array construction method and the system of a kind of dynamically changeable long strip

Similar Documents

Publication Publication Date Title
US10303600B2 (en) Method and storage device for collecting garbage data
US6647460B2 (en) Storage device with I/O counter for partial data reallocation
US6000009A (en) Method and apparatus for allocation of disk memory space for compressed data records
CN103761053B (en) A kind of data processing method and device
US9612758B1 (en) Performing a pre-warm-up procedure via intelligently forecasting as to when a host computer will access certain host data
KR101678868B1 (en) Apparatus for flash address translation apparatus and method thereof
US11321229B2 (en) System controller and system garbage collection method
CN111026329B (en) Key value storage system based on host management tile record disk and data processing method
CN1934530A (en) Dynamic loading of virtual volume data in a virtual tape server
US20110231611A1 (en) Storage apparatus and cache control method
US10365845B1 (en) Mapped raid restripe for improved drive utilization
US20180253252A1 (en) Storage system
CN102722340A (en) Data processing method, apparatus and system
CN110347613B (en) Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk
CN103530237A (en) Solid-state disc array garbage collecting method
CN113490922B (en) Write amplification optimization method for solid state disk
US20190243758A1 (en) Storage control device and storage control method
US11379326B2 (en) Data access method, apparatus and computer program product
US11341010B2 (en) Dynamic reclamation of storage stripes
CN114356246B (en) Storage management method and device for SSD internal data, storage medium and SSD device
EP3798852B1 (en) System controller and system garbage recovery method
CN111949222B (en) Method for data migration in garbage recovery in full-flash disk array
CN108334457B (en) IO processing method and device
CN113868149A (en) Data storage method, device and equipment and readable storage medium
US11556270B2 (en) Leveraging garbage collection for raid transformation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination