CN116578243A - Solid state disk Block RAID writing model optimization method and device and computer equipment - Google Patents

Solid state disk Block RAID writing model optimization method and device and computer equipment Download PDF

Info

Publication number
CN116578243A
CN116578243A CN202310634819.2A CN202310634819A CN116578243A CN 116578243 A CN116578243 A CN 116578243A CN 202310634819 A CN202310634819 A CN 202310634819A CN 116578243 A CN116578243 A CN 116578243A
Authority
CN
China
Prior art keywords
physical blocks
writing
data
raidgroup
last group
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
CN202310634819.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 Yilian Information System Co Ltd
Original Assignee
Suzhou Yilian Information System 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 Yilian Information System Co Ltd filed Critical Suzhou Yilian Information System Co Ltd
Priority to CN202310634819.2A priority Critical patent/CN116578243A/en
Publication of CN116578243A publication Critical patent/CN116578243A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)

Abstract

The application relates to a solid state disk BlockRAID writing model optimization method, a device, computer equipment and a storage medium, wherein the method comprises the following steps: in a scene that a plurality of groups of physical blocks form an RAIDGroup, only one group of physical blocks is allocated for data writing at a time; judging whether the current writing is the last group of physical blocks in the RAIDGroup or not in the data writing process; if the physical block is not the last group of physical blocks in the RAIDGroup, generating no Parity in the data writing process; if the last group of physical blocks in the RAIDGroup is the last group of physical blocks, before the corresponding RAID stripe is written, corresponding data initialization Parity on other groups in the stripe is read; and for the last group of physical blocks in the RAIDGroup, calculating the Parity in real time when the corresponding RAID stripe is written, and writing the final physical blocks into the NAND after the stripe writing is finished. The application reduces the requirement of the system for retaining physical blocks during data writing, and improves the tolerance of bad blocks and the yield of products.

Description

Solid state disk Block RAID writing model optimization method and device and computer equipment
Technical Field
The application relates to the technical field of solid state disks, in particular to a solid state disk Block RAID writing model optimization method, a device, computer equipment and a storage medium.
Background
SSDs (solid state drives) have been widely used in a variety of applications, and currently in the PC market, have gradually replaced traditional HDDs, providing users with a better experience in terms of reliability and performance.
Due to the nature of NAND media, there is a risk of corruption of data within, and in order to ensure reliability of data, RAID is typically built inside the SSD for data protection. According to the physical composition in the SSD, RAID can build Page RAID/Block RAID/Die RAID … with different types of RAID protection intensity, which are respectively used for resisting different NAND failure scenes. Among them, block RAID is one of the more widely used models, which can tolerate the damage of a single physical Block, has a stronger data protection capability, and meanwhile, OP (OverProvision) needs/costs moderately.
However, in the typical n+1Block RAID at present, N generally has a larger value, such as 31. While the number of DIE inside a typical SSD is limited (e.g., 4/8), one RAID packet needs to contain multiple physical blocks under a single DIE. Inside SSD, when writing data, it is necessary to allocate blank physical blocks for writing, and in order to guarantee availability, it is necessary to reserve corresponding blank physical blocks when the system is running. Because of the write strategy of RAID, multiple groups of physical blocks are needed for single allocation, the number of reserved blank physical blocks is increased, and the number of tolerable reserved area-bad blocks is reduced, so that SSD yield is affected.
Disclosure of Invention
Based on this, it is necessary to provide a method, a device, a computer device and a storage medium for optimizing a solid state disk Block RAID writing model for solving the above technical problems.
A solid state disk Block RAID writing model optimization method comprises the following steps:
in a scene that a plurality of groups of physical blocks form a RAID Group, only one Group of physical blocks is allocated for data writing at a time;
judging whether the current writing is the last Group of physical blocks in the RAID Group in the data writing process;
if the physical block is not the last Group of physical blocks in the RAID Group, the Parity is not generated in the data writing process;
if the last Group of physical blocks in the RAID Group is the last Group of physical blocks, before the corresponding RAID stripe is written, corresponding data initialization Parity on other groups in the stripe is read;
and for the last Group of physical blocks in the RAID Group, calculating the Parity in real time when the corresponding RAID stripe is written, and writing the calculated Parity into the NAND after the stripe writing is finished.
In one embodiment, the step of determining whether the current write is the last physical block in the RAID Group during the data writing process further includes:
if the last Group of physical blocks in the RAID Group is, the corresponding mark is 1, otherwise, the corresponding mark is 0.
In one embodiment, the step of marking the corresponding identifier as 1 if the last Group of physical blocks in the RAID Group is set, otherwise marking the corresponding identifier as 0 further includes:
judging whether the corresponding identifier of the physical block is 1, if so, continuing to judge whether the corresponding identifier is the first writing of the corresponding strip in the current physical block;
if the write is the first time, the data in other physical blocks in the stripe are read and exclusive-ored and written in RAID Parity Buffer.
In one embodiment, after the step of continuing to determine whether the current physical block is the first write of the corresponding stripe, the method further includes:
if it is not the first write, the data currently to be written is exclusive-or' ed with the data in RAID ParityBuffer and written back into RAID Parity Buffer.
A solid state disk Block RAID write model optimization apparatus, the apparatus comprising:
the distribution module is used for distributing only one Group of physical blocks at a time to write data in a scene that a plurality of groups of physical blocks form a RAID Group;
the first judging module is used for judging whether the current writing is the last Group of physical blocks in the RAID Group or not in the data writing process;
the writing module is used for not generating the Party in the data writing process if the writing module is not the last Group of physical blocks in the RAID Group;
the initialization module is used for reading corresponding data initialization Parity on other groups in the RAID band before writing the corresponding RAID band if the last Group of physical blocks in the RAID Group;
and the calculation module is used for calculating the Party of the last Group of physical blocks in the RAID Group in real time when the corresponding RAID stripes are written, and writing the final blocks into the NAND after the stripe writing is finished.
In one embodiment, the first determining module is further configured to:
if the last Group of physical blocks in the RAID Group is, the corresponding mark is 1, otherwise, the corresponding mark is 0.
In one embodiment, the apparatus further includes a second determining module, where the second determining module is configured to:
judging whether the corresponding identifier of the physical block is 1, if so, continuing to judge whether the corresponding identifier is the first writing of the corresponding strip in the current physical block;
if the write is the first time, the data in other physical blocks in the stripe are read and exclusive-ored and written in RAID Parity Buffer.
In one embodiment, the second determining module is further configured to:
if it is not the first write, the data currently to be written is exclusive-or' ed with the data in RAID ParityBuffer and written back into RAID Parity Buffer.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of any one of the methods described above when the computer program is executed.
A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of any of the methods described above.
According to the solid state disk Block RAID writing model optimization method, the solid state disk Block RAID writing model optimization device, the computer equipment and the storage medium, for a scene that a plurality of groups of physical blocks form a RAID Group, only one Group of physical blocks is allocated for data writing at a time; for a non-last Group of physical blocks in the RAID Group, no Parity is generated in the writing process; for the last Group of physical blocks in the RAID Group, before writing the corresponding RAID stripe, reading the corresponding data initialization Parity on other groups in the stripe; for the last Group of physical blocks within the RAID Group, the Parity is calculated in real time as the corresponding RAID stripe is written and written to NAND after the stripe is over. The application reduces the requirement of the system for reserving physical blocks during data writing and improves the tolerance of bad blocks and the yield of products on the basis of ensuring the protection capability of the Block RAD.
Drawings
FIG. 1 is a schematic diagram of a conventional SSD Block RAID write model;
FIG. 2 is a schematic diagram of partitioning of physical blocks inside a conventional SSD;
FIG. 3 is a schematic flow chart of a method for optimizing a solid state disk Block RAID write model in one embodiment;
FIG. 4 is a schematic diagram of an optimized SSD Block RAID write model in one embodiment;
FIG. 5 is a schematic flow chart of a method for optimizing a solid state disk Block RAID write model in another embodiment;
FIG. 6 is a Block diagram of a solid state disk Block RAID write model optimization device in one embodiment;
FIG. 7 is a Block diagram of a solid state disk Block RAID write model optimization device in another embodiment;
fig. 8 is an internal structural diagram of a computer device in one embodiment.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
For convenience of explanation, the conventional SSD Block RAID write model shown in fig. 1 is illustrated with 4 DIE, where Block RAID is 7+1 (7 pieces of user data and 1 piece of Parity data in one RAID Stripe) as follows:
one RAID Group (physical blocks with dependencies) contains 2 groups of physical blocks, two for each DIE, denoted Block X/Y for ease of illustration. The same pages of each physical block in the RAID Group form a RAID Stripe. During writing, each Page of RAID Stripe 0 is written in sequence, then each Page of RAID Stripe 1 is written, and so on. Taking write Stripe 0 as an example, data is written into data_0_0/data_0_1 … data_0_6 sequentially, and the Parity Data (typically generated in an XOR algorithm) is generated in real time during the writing process; after the user data writing is completed, the Party_0 is written to the DIE 3Block Y Page 0 position.
In this process, the generation and Parity writing of RAID Stripe 0 need to be completed preferentially, so that the interleaved writing (Block X/Y) of RAID Group needs to be completed. To ensure that there are always empty physical blocks available in the system, 1 to multiple RAID Group physical blocks need to be reserved at run-time for data writing. The available physical blocks in the SSD are limited, the more blank physical blocks are required to be reserved, the larger occupied OP is, and further the fewer bad blocks can be born, so that when the SSD is produced, the management and control of bad block thresholds are required to be increased, and the yield is reduced; however, the tolerance for bad blocks at the running time is reduced, so that the SSD cannot be used normally too early due to the increase of the bad blocks, and the life of the SSD is affected.
Based on the scheme, the solid state disk Block RAID writing model optimizing method is provided, and aims to keep that only a single group is needed when physical blocks are distributed, so that the threshold value of a reserved area-blank Block at the running time is effectively reduced.
The partition schematic diagram of the internal physical blocks of the SSD shown in fig. 2 includes: a system data area for storing SSD system management data, such as firmware/mapping table/metadata/bad block table, etc.; a user data area for storing user data; reserved area-blank physical block for allocating write-in user data or garbage collection to release available physical block; the reserved area, namely the bad physical block, generated during delivery or operation, needs to be isolated and cannot be used for data writing.
At the time of operation, the system data area is occupied by the system data, and the bad block area cannot be used. When the disk is full, the user data area is full, and if the host writes data, the host must allocate a blank physical block from the reserved area-blank physical block to write new data. When the data of the user data area is invalid, the reserved area-blank physical block can be used for garbage collection, and the physical space occupied by the invalid data of the user data area is released.
In one embodiment, as shown in fig. 3, a method for optimizing a solid state disk Block RAID writing model is provided, and the method includes:
step 302, in a scene that a plurality of groups of physical blocks form a RAID Group, only one Group of physical blocks is allocated each time to write data;
step 304, judging whether the current writing is the last Group of physical blocks in RAID Group in the data writing process;
step 306, if it is not the last Group of physical blocks in the RAID Group, not generating Parity in the data writing process;
step 308, if the last Group of physical blocks in the RAID Group is the last Group of physical blocks, before writing the corresponding RAID stripe, reading the corresponding data initialization Parity on other groups in the stripe;
in step 310, for the last Group of physical blocks in the RAID Group, when writing the corresponding RAID stripe, the Parity is calculated in real time and written to the NAND after the stripe writing is completed.
In this embodiment, an optimization method for a solid state disk Block RAID write model is provided, specifically, referring to an optimized SSD Block RAID write model shown in fig. 4, for convenience of explanation, 4 DIE-composed 7+1block RAID are still taken as an example:
when the write data needs to be allocated with a blank physical Block, only one set of blank physical blocks (Block X) is allocated for the first time. User data is written in turn to each physical page of BlockX for each DIE. In this process, there is no need to generate the Parity data, and the above process is shown in Stage 1.
Then, when Block X is full, only one group of blank physical blocks (Block y) is allocated again. And recognizing that the block is the last Group of blank physical blocks of the current RAID Group, reading the data in the physical blocks before each stripe is written, and performing XOR to generate the Parity data.
Then, as shown in Stage 2, page 0 user data of DIE 0-3 in Block X are sequentially read, XOR is performed, and the result is stored in a strip 0ParityBuffer.
Then, as shown in Stage 3, the user Data to be written is written into the positions of data_0_4/data_0_5/data_0_6 in sequence, and in the writing process, the corresponding Data and the Data in the Stripe 0 Party Buffer are subjected to XOR, and the result is stored in the Party Buffer.
Finally, after writing all user data of the strip 0, writing the strip 0 Party Buffer data into the DIE 3Block YPHAGE 0 position: and (3) cycling the steps to finish writing other stripe data by the Party_0.
In this embodiment, for a scenario in which a plurality of groups of physical blocks form a RAID Group, only one Group of physical blocks is allocated at a time to perform data writing; for a non-last Group of physical blocks in the RAID Group, no Parity is generated in the writing process; for the last Group of physical blocks in the RAID Group, before writing the corresponding RAID stripe, reading the corresponding data initialization Parity on other groups in the stripe; for the last Group of physical blocks within the RAID Group, the Parity is calculated in real time as the corresponding RAID stripe is written and written to NAND after the stripe is over. On the basis of guaranteeing the Block RAD protection capability, the scheme reduces the requirement of a system for reserving physical blocks during data writing, and improves the tolerance of bad blocks and the product yield.
In one embodiment, a method for optimizing a solid state disk Block RAID write model is provided, where the step of determining whether the current write is a last Group of physical blocks in a RAID Group in the data writing process further includes:
if the physical block is the last Group of physical blocks in the RAID Group, the corresponding mark is 1, otherwise, the corresponding mark is 0;
judging whether the corresponding identifier of the physical block is 1, if so, continuing to judge whether the corresponding identifier is the first writing of the corresponding strip in the current physical block;
if the writing is the first writing, reading the data in other physical blocks in the stripe, performing exclusive OR, and writing the data in RAID Parity Buffer;
if it is not the first write, the data currently to be written is exclusive-or' ed with the data in RAID ParityBuffer and written back into RAID Parity Buffer.
In this embodiment, a method for optimizing a solid state disk Block RAID writing model is provided, and referring to fig. 5, specific execution steps are as follows:
and 5.1, writing data into the SSD.
Step 5.2, determine if physical block allocation is required?
If yes, continuing to step 5.3;
if not, jumping to the step 5.7.
And 5.3, distributing a group of blank physical blocks.
Step 5.4, determine whether it is the last set of physical blocks of the current RAID Group?
If yes, continuing to step 5.5;
if not, jumping to the step 5.6.
Step 5.5, marking the raid_group_last_block as 1, and jumping to step 5.7.
Step 5.6, marking raid_group_last_block as 0.
Step 5.7, judging whether raid_group_last_block is 1?
If yes, continuing to step 5.8;
if not, step 5.11 is skipped.
Step 5.8, is the first write (strip X) of the corresponding Stripe in the current physical block?
If yes, continuing to step 5.9;
if not, step 5.10 is skipped.
Step 5.9, reading the data in the other physical blocks of the strip X, and writing RAID Parity Buffer after XOR.
And 5.10, performing XOR on the data to be written currently and the data in the ParityBuffer, and writing back to the ParityBuffer.
Step 5.11, writing the user data to the NAND.
Step 5.12, determine whether it is the last piece of user data in the band?
If yes, continuing to step 5.13;
if not, jumping to the step 5.1.
Step 5.13, writing the Party data into the NAND, and jumping to step 5.1.
In this embodiment, by optimizing the write model of the Block RAID, only a single group is needed when physical blocks are allocated, so that the threshold value of the reserved area-blank Block at the running time is effectively reduced, the tolerance to the number of reserved area-bad blocks is further improved, and the SSD yield is improved.
It should be understood that, although the steps in the flowcharts of fig. 1-5 are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in fig. 1-5 may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, nor does the order in which the sub-steps or stages are performed necessarily occur in sequence, but may be performed alternately or alternately with at least a portion of the other steps or sub-steps or stages of other steps.
In one embodiment, as shown in fig. 6, there is provided a solid state disk Block RAID write model optimizing apparatus 600, including:
the allocation module 601 is configured to allocate only one Group of physical blocks at a time for writing data in a scenario where a plurality of groups of physical blocks form a RAID Group;
a first judging module 602, configured to judge whether the current writing is a last Group of physical blocks in the RAID Group in the data writing process;
a writing module 603, configured to, if the writing module is not the last Group of physical blocks in the RAID Group, not generate a Parity in the data writing process;
an initialization module 604, configured to, if the last Group of physical blocks in the RAID Group is the last Group of physical blocks, read, before writing the corresponding RAID stripe, a corresponding data initialization Parity on other groups in the stripe;
and the calculating module 605 is used for calculating the Parity in real time when the corresponding RAID stripe is written for the last Group of physical blocks in the RAID Group and writing the Parity to the NAND after the stripe writing is finished.
In one embodiment, the first determining module 602 is further configured to:
if the last Group of physical blocks in the RAID Group is, the corresponding mark is 1, otherwise, the corresponding mark is 0.
In one embodiment, as shown in fig. 7, there is provided a solid state disk Block RAID write model optimizing apparatus 600, and the apparatus further includes a second judging module 606, where the second judging module is configured to:
judging whether the corresponding identifier of the physical block is 1, if so, continuing to judge whether the corresponding identifier is the first writing of the corresponding strip in the current physical block;
if the write is the first time, the data in other physical blocks in the stripe are read and exclusive-ored and written in RAID Parity Buffer.
In one embodiment, the second determining module 606 is further configured to:
if it is not the first write, the data currently to be written is exclusive-or' ed with the data in RAID ParityBuffer and written back into RAID Parity Buffer.
For specific limitation of the solid state disk Block RAID writing model optimizing apparatus, reference may be made to the limitation of the solid state disk Block RAID writing model optimizing method hereinabove, and no further description is given here.
In one embodiment, a computer device is provided, the internal structure of which may be as shown in FIG. 8. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to realize a solid state disk Block RAID writing model optimization method.
It will be appreciated by those skilled in the art that the structure shown in FIG. 8 is merely a block diagram of some of the structures associated with the present inventive arrangements and is not limiting of the computer device to which the present inventive arrangements may be applied, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
In one embodiment, a computer device is provided that includes a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the steps in the method embodiments above when executing the computer program.
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored which, when executed by a processor, carries out the steps of the above method embodiments.
Those skilled in the art will appreciate that implementing all or part of the above described embodiment methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed may comprise the steps of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples illustrate only a few embodiments of the application, which are described in detail and are not to be construed as limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of protection of the present application is to be determined by the appended claims.

Claims (10)

1. A solid state disk BlockRAID writing model optimization method comprises the following steps:
in a scene that a plurality of groups of physical blocks form an RAIDGroup, only one group of physical blocks is allocated for data writing at a time;
judging whether the current writing is the last group of physical blocks in the RAIDGroup or not in the data writing process;
if the physical block is not the last group of physical blocks in the RAIDGroup, generating no Parity in the data writing process;
if the last group of physical blocks in the RAIDGroup is the last group of physical blocks, before the corresponding RAID stripe is written, corresponding data initialization Parity on other groups in the stripe is read;
and for the last group of physical blocks in the RAIDGroup, calculating the Parity in real time when the corresponding RAID stripe is written, and writing the final physical blocks into the NAND after the stripe writing is finished.
2. The method for optimizing a solid state disk BlockRAID write model according to claim 1, wherein the step of determining whether the current write is a last group of physical blocks in the RAIDGroup in the data writing process further includes:
if the last group of physical blocks in the RAIDGroup is, the corresponding mark is marked as 1, otherwise, the corresponding mark is marked as 0.
3. The method for optimizing a solid state disk BlockRAID write model according to claim 2, wherein the step of marking the last group of physical blocks in the RAIDGroup with a corresponding identifier of 1, and otherwise marking the last group of physical blocks with a corresponding identifier of 0 further comprises:
judging whether the corresponding identifier of the physical block is 1, if so, continuing to judge whether the corresponding identifier is the first writing of the corresponding strip in the current physical block;
if the writing is the first writing, the data in other physical blocks in the stripe are read, and then are exclusive-ored and then written into the RAIDParityBuffer.
4. The method for optimizing a solid state disk BlockRAID write model according to claim 3, further comprising, after the step of continuing to determine whether the write is the first write of the corresponding stripe in the current physical block:
and if the data to be written is not written for the first time, performing exclusive OR on the data to be written currently and the data in the RAIDParityBuffer, and writing back to the RAIDParityBuffer.
5. The utility model provides a solid state disk blockRAID write model optimizing device which characterized in that, the device includes:
the allocation module is used for allocating only one group of physical blocks at a time to write data in a scene of RAIDGroup formed by a plurality of groups of physical blocks;
the first judging module is used for judging whether the current writing is the last group of physical blocks in the RAIDGroup or not in the data writing process;
the writing module is used for not generating the Party in the data writing process if the physical blocks are not the last group of physical blocks in the RAIDGroup;
the initialization module is used for reading corresponding data initialization Parity on other groups in the corresponding RAID stripe before writing if the last group of physical blocks in the RAIDgroup;
and the calculation module is used for calculating the Parity in real time when the corresponding RAID stripe is written for the last group of physical blocks in the RAIDGroup and writing the Parity into the NAND after the stripe writing is finished.
6. The solid state disk BlockRAID write model optimization device of claim 5, wherein the first determining module is further configured to:
if the last group of physical blocks in the RAIDGroup is, the corresponding mark is marked as 1, otherwise, the corresponding mark is marked as 0.
7. The solid state disk BlockRAID write model optimization device of claim 6, further comprising a second determination module configured to:
judging whether the corresponding identifier of the physical block is 1, if so, continuing to judge whether the corresponding identifier is the first writing of the corresponding strip in the current physical block;
if the writing is the first writing, the data in other physical blocks in the stripe are read, and then are exclusive-ored and then written into the RAIDParityBuffer.
8. The solid state disk BlockRAID write model optimization device of claim 7, wherein the second determination module is further configured to:
and if the data to be written is not written for the first time, performing exclusive OR on the data to be written currently and the data in the RAIDParityBuffer, and writing back to the RAIDParityBuffer.
9. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any one of claims 1 to 4 when the computer program is executed.
10. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 4.
CN202310634819.2A 2023-05-31 2023-05-31 Solid state disk Block RAID writing model optimization method and device and computer equipment Pending CN116578243A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310634819.2A CN116578243A (en) 2023-05-31 2023-05-31 Solid state disk Block RAID writing model optimization method and device and computer equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310634819.2A CN116578243A (en) 2023-05-31 2023-05-31 Solid state disk Block RAID writing model optimization method and device and computer equipment

Publications (1)

Publication Number Publication Date
CN116578243A true CN116578243A (en) 2023-08-11

Family

ID=87535730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310634819.2A Pending CN116578243A (en) 2023-05-31 2023-05-31 Solid state disk Block RAID writing model optimization method and device and computer equipment

Country Status (1)

Country Link
CN (1) CN116578243A (en)

Similar Documents

Publication Publication Date Title
US11243706B2 (en) Fragment management method and fragment management apparatus
JP6175684B2 (en) Architecture for storage of data on NAND flash memory
US20150349805A1 (en) Method of Handling Error Correcting Code in Non-volatile Memory and Non-volatile Storage Device Using the Same
CN109358809B (en) RAID data storage system and method
EP3352071B1 (en) Data check method and storage system
CN108491290B (en) Data writing method and device
CN107562643B (en) RAID (redundant array of independent disks) management method for solid state disk
CN110287129B (en) L2P table updating and writing management method and device based on solid state disk
CN110569000A (en) Host RAID (redundant array of independent disk) management method and device based on solid state disk array
JP7146054B2 (en) System controller and system garbage collection methods
CN115237351B (en) NAND block dynamic remapping and read-write command processing method and storage device
CN116578243A (en) Solid state disk Block RAID writing model optimization method and device and computer equipment
CN114115745B (en) RAID optimization method and device for multi-Pass programming NAND and computer equipment
CN115470155A (en) L2P table caching method and device supporting solid state disk multi-scene multiplexing
CN111897495B (en) Implementation method, device, computer equipment and storage medium for improving SSD writing performance
CN110275596B (en) Solid state disk-based power-on initialization acceleration method and device and computer equipment
CN117149075A (en) RAID (redundant array of independent disks) implementation method and device based on DRAM-less solid state disk
CN110750215A (en) Method and device for improving random reading performance of solid state disk and computer equipment
CN116974485A (en) RAID (redundant array of independent disks) Party temporary storage method and device based on HMB (hidden Markov random field) and computer equipment
CN110737405A (en) Method and device for realizing word data storage based on solid state disk
CN114047880B (en) NAND write power consumption optimization method and device for multi-Pass programming and computer equipment
CN117289863A (en) RAID buffer hardware management implementation method and device and computer equipment
CN112596679B (en) RAID implementation method and device of solid state disk, computer equipment and storage medium
CN111124296B (en) Method, device, equipment and storage medium for writing data to solid state disk
CN110888823B (en) Page scanning efficiency improving method and device and computer equipment

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