CN108304139B - Method and device for realizing space release in solid-state disk array - Google Patents

Method and device for realizing space release in solid-state disk array Download PDF

Info

Publication number
CN108304139B
CN108304139B CN201710017320.1A CN201710017320A CN108304139B CN 108304139 B CN108304139 B CN 108304139B CN 201710017320 A CN201710017320 A CN 201710017320A CN 108304139 B CN108304139 B CN 108304139B
Authority
CN
China
Prior art keywords
released
space
solid
release
raid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710017320.1A
Other languages
Chinese (zh)
Other versions
CN108304139A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201710017320.1A priority Critical patent/CN108304139B/en
Publication of CN108304139A publication Critical patent/CN108304139A/en
Application granted granted Critical
Publication of CN108304139B publication Critical patent/CN108304139B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/0608Saving storage space on storage systems
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a method and a device for realizing space release in a solid-state disk array, which relate to the technical field of storage, and the method comprises the following steps: the solid-state disk array acquires the volume of the space to be released and the release interval information by analyzing the space release command sent by the host; the solid-state disk array searches a to-be-released strip of the volume in a RAID virtual disk formed by a plurality of solid-state disks according to the acquired volume information of the space to be released; and the solid-state disk array releases the storage space occupied by the strip according to the searched strip to be released and the release interval information. In the solid state disk array configured with RAID, the consistency of RAID stripes in unmap operation is ensured, and simultaneously the fragments in release can be merged.

Description

Method and device for realizing space release in solid-state disk array
Technical Field
The present invention relates to the field of storage technologies, and in particular, to a method and an apparatus for implementing space release in a solid-state disk array.
Background
The SSD (Solid State Drives, solid State disk) is a new type of hard disk based on nand flash memory, and is composed of a control unit and a storage unit (flash chip). The solid-state disk is far superior to the mechanical hard disk in the aspects of speed, shock resistance, power consumption, weight and the like.
Solid state disks use flash memory chips that are made up of multiple planes, each of which is divided into thousands of blocks, each block typically made up of 64-128 pages. Flash memory supports three main operations: read, write, erase. Read and write operations are performed in pages, erase operations are performed to clear all pages in a block, must be performed in the block, and erase operations must be performed prior to writing. A block is worn out after a certain number of erasures (typically 10000-100000 times). Since flash memory has a limited number of erasures, the lifespan of SSDs is also typically limited. The writing times of each block of the solid-state disk are equalized as much as possible through a wear leveling algorithm in the solid-state disk.
The solid-state disk Array is a Redundant Array of Independent Disks (RAID) Array composed of solid-state Disks, and is used for performing redundancy protection on data. The RAID stripe includes a data portion and a parity portion, and when one of the disks has data corruption, the corrupted data can be recovered from the data of the other disks. The RAID types are RAID1, RAID5, RAID6, and the like according to the redundancy level.
When we delete a file at the host, the file system marks the addresses occupied by these data as 'empty'. But this is only an operation at the file system level and the hard disk itself does not know that the data at those addresses has been 'invalidated'. The host informs the solid-state disk array to release the invalid space through the unmap command. This increases the free space of the solid state disc and improves the wear leveling effect.
When the host informs the solid state disk array to free up invalid space, the freed address space may not be a complete stripe, but a portion of the stripe. If only a portion of the space of a stripe is freed, the data in the freed space may be reinitialized, resulting in RAID stripe checksums inconsistencies.
In the "System and Method to Keep part relationship in an Array of Solid State drive Data Blocks are De-Allocated" patent (patent No. 8,938,584), a scheme is proposed to recalculate the checksum of a strip when a partial space of the strip is released, after the release operation returns. This solution has the following drawbacks: 1) After checksum recalculation, a checksum writing process of the solid-state disk needs to be added once. For solid state disks, the total number of uses is one less for more writes. 2) The checksum recalculation depends on the initialized value of the release interval, the initial values assumed in the scheme are all 0 s. The initial values of solid state disks from different manufacturers may vary, which does not guarantee uniformity.
In other schemes, when the space is released, only the complete strip is released, and the strip fragments are not processed. Thus if the release space is part of the strip, this part of the space cannot be released, resulting in a build up of debris.
Disclosure of Invention
The technical problem solved by the scheme provided by the embodiment of the invention is that in the solid state disk array configured with RAID, the consistency of RAID stripes during unmap operation cannot be ensured.
According to the method for realizing space release in the solid-state disk array provided by the embodiment of the invention, the method comprises the following steps:
the solid-state disk array obtains the volume of the space to be released and the release interval information by analyzing the space release command sent by the host;
the solid-state disk array searches a to-be-released strip of the volume in a RAID virtual disk formed by a plurality of solid-state disks according to the acquired volume information of the space to be released;
and the solid-state disk array releases the storage space occupied by the strip according to the searched strip to be released and the release interval information.
Preferably, the RAID virtual disk has a mapping relationship with the solid state disk array, and a plurality of volumes are created on the RAID virtual disk, and each volume is provided with a plurality of stripes.
Preferably, the acquiring, by the solid state disk array through analyzing the space release command sent by the host, the volume of the space to be released and the release interval information includes:
a front-end Interface of the solid-state disk array receives a space release command sent by a host and sends the space release command to a Small Computer System Interface (SCSI) target module;
and the SCSI target module of the solid-state disk array receives and analyzes the space command, acquires the volume of the space to be released and the release interval information, and sends the acquired volume of the space to be released and the release interval information to the vol module.
Preferably, the searching, by the solid state disk array, for the to-be-released stripe of the volume in a RAID virtual disk formed by a plurality of solid state disks according to the acquired volume information of the to-be-released space includes:
a vol module of the solid-state disk array receives the volume of the space to be released and the release interval information sent by the SCSI target module;
the vol module of the solid-state disk array determines the volume of the space to be released in the RAID virtual disk formed by the solid-state disks according to the volume information of the space to be released;
after determining the volume of the space to be released, the vol module of the solid-state disk array searches the stripe to be released of the determined volume according to the release interval information, and sends the stripe to be released to the RAID module.
Preferably, the releasing, by the solid-state disk array according to the searched to-be-released stripe and the release interval information, the storage space occupied by the stripe includes:
determining whether the release interval is all the to-be-released strips or not by the RAID module of the solid-state disk array according to the searched to-be-released strips and the release interval information;
if the release interval is determined to be the whole of the to-be-released stripe, the RAID module releases the storage space occupied by the stripe and informs the RAID member disks of releasing the space of the corresponding solid-state disk;
and if the release interval is not all the to-be-released stripes, the RAID module marks the released stripes in the released sector bitmap, and records the released fragment information in the stripes.
According to an embodiment of the present invention, an apparatus for implementing space release in a solid state disk array includes:
the acquisition module is used for acquiring the volume of the space to be released and the release interval information by analyzing the space release command sent by the host;
the searching module is used for searching a to-be-released strip of the volume in a RAID virtual disk formed by a plurality of solid-state disks according to the acquired volume information of the to-be-released space;
and the release module is used for releasing the storage space occupied by the strip according to the searched strip to be released and the release interval information.
Preferably, the RAID virtual disk has a mapping relationship with the solid state disk array, and a plurality of volumes are created on the RAID virtual disk, and a plurality of stripes are provided in each volume.
Preferably, the obtaining module includes:
the front-end interface is used for receiving a space release command sent by a host and sending the space release command to the SCSI target unit;
and the SCSI target unit is used for receiving and analyzing the space command, acquiring the volume of the space to be released and the release interval information, and sending the acquired volume of the space to be released and the release interval information to the vol unit.
Preferably, the search module comprises:
and the Vol unit is used for receiving the volume of the space to be released and the release interval information sent by the SCSI target unit, determining the volume of the space to be released in the RAID virtual disk formed by a plurality of solid-state disks according to the volume information of the space to be released, searching a strip to be released of the determined volume according to the release interval information, and sending the strip to be released to the RAID unit.
Preferably, the release module comprises:
and the RAID unit is used for determining whether the release interval is the whole of the to-be-released stripe or not according to the searched to-be-released stripe and the release interval information, releasing the storage space occupied by the stripe and informing RAID member disks of releasing the space of the corresponding solid-state disk when the release interval is determined to be the whole of the to-be-released stripe, and marking the released section in a released sector bitmap and recording the released fragment information in the stripe when the release interval is determined not to be the whole of the to-be-released stripe.
According to the scheme provided by the embodiment of the invention, the consistency of the RAID stripes is ensured when the solid-state disk array carries out unmap operation, and the stripe fragments generated during unmap operation are reduced. When the release space is smaller than the length of the strip, the release rate of the invalid space of the solid-state disk array can be improved, the free space of the solid-state disk is increased, and the wear leveling effect of the solid-state disk is improved.
Drawings
FIG. 1 is a flow chart of a method for implementing space release in a solid state disk array according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of an apparatus for implementing space release in a solid state disk array according to an embodiment of the present invention;
FIG. 3 is a block diagram of a solid state disk array provided by an embodiment of the present invention;
FIG. 4 is a diagram of a RAID management architecture provided by an embodiment of the present invention;
fig. 5 is a flowchart of processing performed when a RAID module receives an unmap command according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a fragmentation merging process during space release according to an embodiment of the present invention;
FIG. 7 is a flowchart illustrating a process for receiving a write command by a RAID module according to an embodiment of the present invention.
Detailed Description
The preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings, and it should be understood that the preferred embodiments described below are only for the purpose of illustrating and explaining the present invention, and are not to be construed as limiting the present invention.
Fig. 1 is a flowchart of a method for implementing space release in a solid-state disk array according to an embodiment of the present invention, as shown in fig. 1, including:
step S101: the solid-state disk array obtains the volume of the space to be released and the release interval information by analyzing the space release command sent by the host;
step S102: the solid-state disk array searches a to-be-released strip of the volume in a RAID virtual disk formed by a plurality of solid-state disks according to the acquired volume information of the space to be released;
step S103: and the solid-state disk array releases the storage space occupied by the strip according to the searched strip to be released and the release interval information.
The RAID virtual disk and the solid state disk array have a mapping relation, a plurality of volumes are created on the RAID virtual disk, and a plurality of strips are arranged in each volume.
The method for acquiring the volume of the space to be released and the information of the release interval by the solid-state disk array through analyzing the space release command sent by the host comprises the following steps: the front-end interface of the solid-state disk array receives a space release command sent by a host and sends the space release command to an SCSI target module; and the SCSI target module of the solid-state disk array receives and analyzes the space command, acquires the volume of the space to be released and the release interval information, and sends the acquired volume of the space to be released and the release interval information to the vol module.
The searching, by the solid state disk array, for the to-be-released stripe of the volume in the RAID virtual disk formed by a plurality of solid state disks according to the acquired volume information of the to-be-released space includes: a vol module of the solid-state disk array receives the volume of the space to be released and the release interval information sent by the SCSI target module; the vol module of the solid-state disk array determines the volume of the space to be released in the RAID virtual disk formed by the solid-state disks according to the volume information of the space to be released; after determining the volume of the space to be released, the vol module of the solid-state disk array searches the stripe to be released of the determined volume according to the release interval information, and sends the stripe to be released to the RAID module.
The solid-state disk array releases the storage space occupied by the strip according to the searched strip to be released and the release interval information, and the release processing comprises the following steps: determining whether the release interval is all the to-be-released strips or not by the RAID module of the solid-state disk array according to the searched to-be-released strips and the release interval information; if the release interval is determined to be the whole of the to-be-released stripe, the RAID module releases the storage space occupied by the stripe and informs the RAID member disks of releasing the space of the corresponding solid-state disk; and if the release interval is not all the to-be-released stripes, the RAID module marks the released stripes in the released sector bitmap, and records the released fragment information in the stripes.
Fig. 2 is a schematic diagram of an apparatus for implementing space release in a solid-state disk array according to an embodiment of the present invention, as shown in fig. 2, including: an obtaining module 201, configured to obtain a volume of a space to be released and information of a release interval by analyzing a space release command sent by a host; the searching module 202 is configured to search, according to the acquired volume information of the space to be released, a to-be-released stripe of the volume in a RAID virtual disk formed by a plurality of solid state disks; and the releasing module 203 is configured to release the storage space occupied by the stripe according to the searched stripe to be released and the release interval information.
The RAID virtual disk and the solid state disk array have a mapping relation, a plurality of volumes are created on the RAID virtual disk, and a plurality of strips are arranged in each volume.
Wherein, the obtaining module 201 includes: the front-end interface is used for receiving a space release command sent by a host and sending the space release command to the SCSI target unit; and the SCSI target unit is used for receiving and analyzing the space command, acquiring the volume of the space to be released and the release interval information, and sending the acquired volume of the space to be released and the release interval information to the vol unit.
Wherein the searching module 202 comprises: and the Vol unit is used for receiving the volume of the space to be released and the release interval information sent by the SCSI target unit, determining the volume of the space to be released in the RAID virtual disk formed by a plurality of solid-state disks according to the volume information of the space to be released, searching the strip to be released of the determined volume according to the release interval information, and sending the strip to be released to the RAID unit.
Wherein the releasing module 203 comprises: and the RAID unit is used for determining whether the release interval is the whole of the to-be-released stripe or not according to the searched to-be-released stripe and the release interval information, releasing the storage space occupied by the stripe and informing RAID member disks of releasing the space of the corresponding solid-state disk when the release interval is determined to be the whole of the to-be-released stripe, and marking the released section in a released sector bitmap and recording the released fragment information in the stripe when the release interval is determined not to be the whole of the to-be-released stripe.
Fig. 3 is a block diagram of a solid-state disk array according to an embodiment of the present invention, and as shown in fig. 3, the solid-state disk array includes components such as a controller, a memory, a front-end interface, a back-end interface, and a solid-state disk, where the front-end interface is connected to a host, and the back-end interface is connected to the solid-state disk. The modules run in the controller comprise a SCSI target module, a VOL module, a RAID module and the like. The SCSI target module is responsible for analyzing the SCSI protocol sent by the host. The VOL module is responsible for volume management and data read-write processing on the volume. The RAID module is responsible for management of RAID, data reading and writing of stripes, stripe release and other processing. The solid state disks constitute RAID virtual disks, and volumes are created on the virtual disks and mapped for use by the host.
When the host releases the storage space on the reel (for example, a file is deleted), the host sends an unmap command to notify the solid-state disk array to release the corresponding storage space, and after the solid-state disk array receives the unmap command sent by the host, the unmap command is analyzed to obtain the reel to be released and the release interval information, and then the RAID module is notified to release. And adding release bitmap information in the RAID management structure, and recording the released fragment information in the stripe if the release interval is a part of the stripe. When all the data space in the stripe is marked as released, the space occupied by the stripe is released, and the RAID member disk is informed to release the space of the corresponding solid state disk.
Fig. 4 is a management structure diagram of a RAID module according to an embodiment of the present invention, and as shown in fig. 4, the management structure of the RAID module includes information such as RAID configuration, stripe index, stripe chunk size, and release bitmap. The RAID configuration describes the type of RAID, the list of member disks, etc. The stripe index describes the sequence number of the stripe in the RAID virtual disk for stripe lookup. The stripe chunk is a basic unit constituting a stripe, and includes a data block and a check block. The stripe chunk size describes the data length of chunk. The release bitmap describes sector release information in the stripe, which is used for the fragment release of the stripe when the unmap is recorded, and each sector is represented by one bit.
Fig. 5 is a flowchart of processing performed by the RAID module according to the embodiment of the present invention when receiving an unmap command, and as shown in fig. 5, the processing includes: and when the RAID module receives the unmap command, searching the appointed stripe according to the volume and the release interval information, and if the release interval is one part of the stripe, recording the released fragment information in the stripe. When all the data space in the stripe is marked as released, the space occupied by the stripe is released, and the RAID member disk is informed to release the space of the corresponding solid state disk. The process flow is described as follows:
step 1, dividing a release space according to stripes, and calculating an address interval falling into a first stripe;
step 2, judging whether the strip is full;
a) If yes, releasing the stripe and informing the member disk to release the corresponding storage space;
b) If not, the released sector bitmap is marked as released.
Step 3, judging whether the data sectors in the stripe are all marked as released or not;
a) If so, the stripe is released and the member disk is notified to release the corresponding storage space.
Step 4, judging whether all the spaces are processed;
a) If yes, turning to step 5;
b) If not, taking out the next strip, and turning to the step 2 for processing.
And 5, finishing the processing.
Fig. 6 is a schematic diagram of a defragmentation process during space releasing according to an embodiment of the present invention, as shown in fig. 6, taking RAID5 composed of 3 disks as an example, where 3 solid-state disks constitute a RAID5 virtual disk, and a stripe a includes 2 pieces of data D0 and D1 and one piece of check P1. D0 is stored on solid state disk 1, D1 is stored on solid state disk 2, and P1 is stored on solid state disk 3. At 1 st time, the host frees D0 space, which in a RAID stripe, is marked as freed. At 2, the host frees D1 space, which in a RAID stripe, is marked as freed. Then, the RAID module determines that both the data spaces D0 and D1 of the stripe are marked as released, starts to release the storage space of the stripe a, and notifies the solid state disks 1, 2, and 3 to release the storage spaces of D0, D1, and P1, respectively. After releasing, the spaces corresponding to the D0, the D1 and the P1 on the solid-state disk are free, and the available space of the solid-state disk is increased.
Fig. 7 is a flowchart of a process of receiving a write command by a RAID module according to an embodiment of the present invention, and as shown in fig. 7, when the RAID module receives the write command, it searches for a specified stripe according to volume and release interval information, first writes data to the stripe, and then marks a written sector as unreleased. The processing flow is as follows:
step 1, dividing a writing area according to stripes, and calculating an address interval falling into a first stripe;
step 2, writing data into the stripe;
step 3, marking the written sector as unreleased;
and 4, judging whether all the areas are processed.
a) If yes, go to step 5;
b) If not, taking out the next strip, and turning to the step 2 for processing.
Step 5, the process is ended
According to the scheme provided by the embodiment of the invention, in the solid state disk array configured with RAID, the consistency of RAID stripes is ensured during unmap operation, and simultaneously the fragments can be merged during release.
Although the present invention has been described in detail, the present invention is not limited thereto, and those skilled in the art can make various modifications according to the principle of the present invention. Thus, modifications made in accordance with the principles of the present invention should be understood to fall within the scope of the present invention.

Claims (8)

1. A method of implementing space freeing in a solid state disk array, comprising:
the solid-state disk array obtains volume information and release interval information of a space to be released by analyzing a space release command sent by a host;
the solid-state disk array searches a to-be-released strip of the volume in a RAID virtual disk formed by a plurality of solid-state disks according to the acquired volume information of the space to be released;
according to the searched stripe to be released and the release interval information, releasing the storage space occupied by the stripes;
the RAID refers to a redundant array of independent disks;
the solid-state disk array releases the storage space occupied by the strip according to the searched strip to be released and the release interval information, and the release processing comprises the following steps:
determining whether the release interval is all the to-be-released strips or not by the RAID module of the solid-state disk array according to the searched to-be-released strips and the release interval information;
if the release interval is determined to be the whole of the to-be-released stripe, the RAID module releases the storage space occupied by the stripe and informs the RAID member disks of releasing the space of the corresponding solid-state disk;
and if the releasing interval is not all the stripes to be released, the RAID module marks the released sectors in the released sector bitmap and records the released fragment information in the stripes.
2. The method of claim 1, the RAID virtual disk having a mapping relationship with the array of solid state disks, and a plurality of volumes being created on the RAID virtual disk, a plurality of stripes being provided within each volume.
3. The method according to claim 1, wherein the acquiring, by the solid-state disk array through analyzing the space release command sent by the host, the volume information and the release interval information of the space to be released includes:
the front-end interface of the solid-state disk array receives a space release command sent by a host and sends the space release command to an SCSI target module;
the SCSI target module of the solid-state disk array receives and analyzes the space release command, acquires volume information and release interval information of a space to be released, and sends the acquired volume information and release interval information of the space to be released to the vol module;
wherein, the SCSI refers to a small computer system interface.
4. The method of claim 3, wherein the searching, by the solid-state disk array according to the acquired volume information of the space to be released, for the to-be-released stripe of the volume in a RAID virtual disk composed of a plurality of solid-state disks comprises:
a vol module of the solid-state disk array receives volume information and release interval information of a space to be released, which are sent by the SCSI target module;
the vol module of the solid-state disk array determines volume information of the space to be released in a RAID virtual disk formed by a plurality of solid-state disks according to the volume information of the space to be released;
after determining the volume information of the space to be released, the vol module of the solid-state disk array searches the stripe to be released of the determined volume according to the release interval information, and sends the stripe to be released to the RAID module.
5. An apparatus for implementing space freeing in a solid state disk array, comprising:
the acquisition module is used for acquiring volume information and release interval information of a space to be released by analyzing a space release command sent by the host;
the searching module is used for searching a to-be-released strip of the volume in a RAID virtual disk formed by a plurality of solid-state disks according to the acquired volume information of the to-be-released space;
the release module is used for releasing the storage space occupied by the strip according to the searched strip to be released and the release interval information;
the release module includes:
a RAID unit, configured to determine whether the release interval is all of the to-be-released stripes according to the searched to-be-released stripes and the release interval information, and release the storage space occupied by the stripes when it is determined that the release interval is all of the to-be-released stripes, and informing the RAID member disk to release the space of the corresponding solid-state disk, and marking the released section in the released sector bitmap when the release section is determined not to be the whole of the to-be-released stripe, and recording the released fragment information in the stripe.
6. The apparatus of claim 5, the RAID virtual disk having a mapping relationship with the array of solid state disks, and a plurality of volumes created on the RAID virtual disk, each volume having a plurality of stripes disposed therein.
7. The apparatus of claim 5, the obtaining means comprising:
the front-end interface is used for receiving a space release command sent by a host and sending the space release command to the SCSI target unit;
and the SCSI target unit is used for receiving and analyzing the space release command, acquiring the volume information and the release interval information of the space to be released, and sending the acquired volume information and the release interval information of the space to be released to the vol unit.
8. The apparatus of claim 7, the lookup module comprising:
and the Vol unit is used for receiving the volume information and the release interval information of the space to be released, which are sent by the SCSI target unit, determining the volume information of the space to be released in the RAID virtual disk formed by a plurality of solid-state disks according to the volume information of the space to be released, searching the strip to be released of the determined volume according to the release interval information, and sending the strip to be released to the RAID unit.
CN201710017320.1A 2017-01-11 2017-01-11 Method and device for realizing space release in solid-state disk array Active CN108304139B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710017320.1A CN108304139B (en) 2017-01-11 2017-01-11 Method and device for realizing space release in solid-state disk array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710017320.1A CN108304139B (en) 2017-01-11 2017-01-11 Method and device for realizing space release in solid-state disk array

Publications (2)

Publication Number Publication Date
CN108304139A CN108304139A (en) 2018-07-20
CN108304139B true CN108304139B (en) 2023-02-21

Family

ID=62871470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710017320.1A Active CN108304139B (en) 2017-01-11 2017-01-11 Method and device for realizing space release in solid-state disk array

Country Status (1)

Country Link
CN (1) CN108304139B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020007030A1 (en) 2018-07-06 2020-01-09 华为技术有限公司 System controller and system garbage recovery method
CN111124257B (en) * 2018-10-31 2023-09-26 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for managing redundant arrays of independent disks
WO2022040914A1 (en) * 2020-08-25 2022-03-03 Micron Technology, Inc. Unmap backlog in a memory system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782872A (en) * 2009-01-16 2010-07-21 马维尔国际贸易有限公司 Caching systems and methods using a solid state disk
CN102122235A (en) * 2011-01-24 2011-07-13 武汉固捷联讯科技有限公司 RAID4 (redundant array of independent disks) system and data reading and writing method thereof
CN105045540A (en) * 2015-08-28 2015-11-11 厦门大学 Data layout method of solid-state disk array
CN105589812A (en) * 2015-12-16 2016-05-18 成都华为技术有限公司 Disk defragmentation method, disk defragmentation device and host

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244769B2 (en) * 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782872A (en) * 2009-01-16 2010-07-21 马维尔国际贸易有限公司 Caching systems and methods using a solid state disk
CN102122235A (en) * 2011-01-24 2011-07-13 武汉固捷联讯科技有限公司 RAID4 (redundant array of independent disks) system and data reading and writing method thereof
CN105045540A (en) * 2015-08-28 2015-11-11 厦门大学 Data layout method of solid-state disk array
CN105589812A (en) * 2015-12-16 2016-05-18 成都华为技术有限公司 Disk defragmentation method, disk defragmentation device and host

Also Published As

Publication number Publication date
CN108304139A (en) 2018-07-20

Similar Documents

Publication Publication Date Title
CN107391027B (en) Redundant array of inexpensive disks storage device and management method thereof
KR101874290B1 (en) Memory stripe mapping
US9946616B2 (en) Storage apparatus
JP5841056B2 (en) Stripe-based memory operation
EP2942713B1 (en) Storage system and storage apparatus
US10372481B2 (en) Information processing device and system capable of preventing loss of user data
US9304685B2 (en) Storage array system and non-transitory recording medium storing control program
US20130019057A1 (en) Flash disk array and controller
KR20130088173A (en) Transaction log recovery
KR20150070448A (en) Memory controller, method, and solid state memory system for formatting solid state memory
US11321229B2 (en) System controller and system garbage collection method
CN112463647A (en) Reducing the size of the forward mapping table using hashing
JP2019074897A (en) Storage control device, and program
US20190243758A1 (en) Storage control device and storage control method
CN108304139B (en) Method and device for realizing space release in solid-state disk array
EP3798852A1 (en) System controller and system garbage recovery method
US20050138318A1 (en) Apparatus and method to initialize information disposed in an information storage and retrieval system
KR20210099784A (en) Data Storage Apparatus and Operation Method Thereof
US10901866B2 (en) Failure detection and data recovery in a storage system
CN114730247A (en) Storage device with minimum write size of data
CN117785026B (en) Cache method based on SSD RAID-5 system high-efficiency writing
CN117785026A (en) Cache method based on SSD RAID-5 system high-efficiency writing
KR20110089975A (en) Memory apparatus and method for initialization

Legal Events

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