CN110347613B - Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk - Google Patents

Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk Download PDF

Info

Publication number
CN110347613B
CN110347613B CN201910562470.XA CN201910562470A CN110347613B CN 110347613 B CN110347613 B CN 110347613B CN 201910562470 A CN201910562470 A CN 201910562470A CN 110347613 B CN110347613 B CN 110347613B
Authority
CN
China
Prior art keywords
page
raid
tenant
check
flash memory
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
CN201910562470.XA
Other languages
Chinese (zh)
Other versions
CN110347613A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201910562470.XA priority Critical patent/CN110347613B/en
Publication of CN110347613A publication Critical patent/CN110347613A/en
Application granted granted Critical
Publication of CN110347613B publication Critical patent/CN110347613B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0647Migration mechanisms
    • 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
    • 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/0688Non-volatile semiconductor memory arrays

Abstract

The invention discloses a method for realizing RAID in a multi-tenant solid-state disk, a controller and the multi-tenant solid-state disk, belonging to the technical field of storage and comprising the following steps: the flash memory pages with the same offset in each flash memory wafer form a RAID stripe, and the check information of each stripe is stored in the NVM wafer; if the tenant requests to write a new data page, writing the new data page into an idle flash memory page; if the tenant requests to update part of the data pages, reading the old data pages to merge to obtain new data pages, marking the old data pages as invalid, and updating the corresponding check pages to remove the check pages for protection; if the tenant requests to update the complete data page, writing the complete data page into an idle flash memory page, and marking an old data page as invalid; updating the corresponding check page to add protection when writing data into the idle flash memory page every time; whenever I/O is idle, the protected invalid data page is read and the corresponding check page is updated to move it out of protection. The invention can ensure the storage reliability of the multi-tenant solid-state disk and improve the service quality of tenants.

Description

Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk
Technical Field
The invention belongs to the technical field of storage, and particularly relates to a method for realizing RAID in a multi-tenant solid-state disk, a controller and the multi-tenant solid-state disk.
Background
A Solid State Disk (SSD) based on a NAND flash memory has advantages of high performance, low power consumption, small size, etc., and its storage capacity is continuously increased and cost is also continuously decreased, so that it is widely used in a data center. To provide high capacity and high throughput, the solid-state disk adopts a highly parallel storage structure, i.e. the solid-state disk comprises a plurality of flash memory wafers (a wafer is the smallest storage unit for independently executing flash memory operation commands), for example, 128 wafers of 64GB form an 8TB solid-state disk.
On the one hand, in order to improve the storage space utilization rate and the cost benefit, the scenes that a large-capacity solid-state disk is shared and used by multiple tenants are continuously increased. The scope of the tenant includes applications, containers, virtual machines, database instances, and the like. Therefore, achieving performance isolation between tenants and ensuring their quality of service becomes a key requirement for solid state disk system design. The existing method allocates independent flash memory wafers to each tenant according to the storage capacity requirement and bandwidth requirement of each tenant, so that I/O interference between tenants is eliminated, which is called hardware isolation, as shown in fig. 1.
On the other hand, the solid-state disk usually constructs raid (redundant Array of Independent disks) stripes between flash memory wafers, and adds check information to data to improve storage reliability. Currently, methods for implementing RAID in solid state disk are generally divided into two categories: one is that a plurality of continuous logical data pages and check pages thereof are combined into RAID-5 strips and are dispersedly stored in a plurality of flash memory wafers; the other type is to group flash pages at the same offset location within multiple wafers into RAID-4 stripes, where the check pages of each stripe are collectively stored in one flash wafer.
When a data page is written into the flash memory or data on a certain flash memory block is erased, the corresponding check page needs to be updated. For the RAID-5 method, when data writing or erasing occurs in the flash memory wafer of one tenant, the update of verification information can be generated on the flash memory wafers of other tenants, so that I/O interference exists among the tenants; for the RAID-4 method, each tenant independently writes or erases data in its own flash memory wafer, and frequent verification update operations are generated on the wafer where the verification information is located, so that it becomes a performance bottleneck. Therefore, the existing RAID method is not suitable for multi-tenant solid-state disks based on hardware isolation.
Disclosure of Invention
Aiming at the defects and improvement requirements of the prior art, the invention provides a method for realizing RAID in a multi-tenant solid-state disk, a controller and the multi-tenant solid-state disk, and aims to improve the service quality of tenants while ensuring the storage reliability of the multi-tenant solid-state disk.
To achieve the above object, according to a first aspect of the present invention, there is provided a method for implementing RAID in a multi-tenant solid-state disk, where the multi-tenant solid-state disk includes a plurality of flash memory wafers and a plurality of NVM wafers, and each flash memory wafer is independently allocated to a tenant, and the method for implementing RAID in the multi-tenant solid-state disk includes: a stripe construction step and a write request processing step;
the strip construction step comprises: storing data information of a RAID stripe by using flash memory pages at the same offset position in each flash memory wafer, and respectively storing the check information of each stripe into a check page in the NVM wafer;
the write request processing step includes:
(S1) determining the type of tenant write request, and if a new data page is requested to be written, proceeding to step (S2); if the partial data page is requested to be updated, the procedure proceeds to step (S3); if the complete data page is requested to be updated, the step (S5) is carried out;
(S2) allocating a spare flash page in the tenant' S flash wafer, and writing a data page; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection; proceeding to step (S6);
(S3) reading the old data page from the flash memory wafer, and combining the old data page with the data to be written to obtain a complete data page; meanwhile, updating the check page of the RAID stripe to which the old data page belongs, so as to remove the old data page from RAID check protection;
(S4) allocating spare flash pages in the tenant' S flash memory wafer, writing merged data pages and marking old data pages as invalid data pages; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection; proceeding to step (S6);
(S5) allocating free flash pages within the tenant' S flash memory wafer, writing data pages and marking old data pages as invalid data pages; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection; proceeding to step (S6);
(S6) the write request processing ends.
The RAID is realized in the multi-tenant solid-state disk, and the storage reliability of the multi-tenant solid-state disk is ensured; according to the invention, the check pages of each RAID strip are stored in the NVM wafer, so that the access characteristic of the NVM can be utilized to avoid the check update becoming a performance bottleneck, thereby improving the service quality of tenants; in the process of processing partial data page updating requests, the invention moves the old data page out of RAID protection while reading the old data page, thereby being capable of moving invalid data pages out of RAID protection in advance under the condition of not blocking tenant I/O request processing, thereby reducing the verification updating overhead in subsequent garbage recovery operation and improving the service quality of tenants. In general, the method and the device ensure the storage reliability of the multi-tenant solid-state disk and improve the service quality of the tenant.
Further, for a data page that needs to be added with RAID check protection or needs to be removed with RAID check protection, updating a check page of a RAID stripe to which the data page belongs includes:
and reading the check page of the RAID strip to which the data page belongs from the NVM wafer, calculating new check information by using the data page and the read check page, and updating the new check information back to the NVM wafer, thereby completing the updating of the check page.
Further, when the check page is updated, only the part of the corresponding check page in the NVM wafer that needs to be updated is updated.
According to the method, the characteristic that the NVM supports byte addressing is utilized, when the check page is updated, only the part needing to be updated in the corresponding check page in the NVM wafer is updated instead of the complete check page, so that the writing amount of the NVM wafer in the check updating process can be reduced, and the RAID check updating efficiency is further improved.
Further, the method for implementing RAID in the multi-tenant solid-state disk provided in the first aspect of the present invention further includes: and maintaining a state table, and respectively maintaining an entry for each RAID stripe in the state table, wherein the entry is used for recording whether each flash memory page in each RAID stripe is protected by RAID check in real time.
Further, the method for implementing RAID in the multi-tenant solid-state disk provided in the first aspect of the present invention further includes: an idle check updating step;
the idle check updating step comprises the following steps: continuously monitoring the I/O state of each tenant, judging that any tenant is in the I/O idle state if the I/O idle time of the tenant exceeds a preset idle threshold, and updating the RAID check information of the tenant according to the following steps:
(T1) acquiring an invalid data page protected by RAID verification from the flash memory wafer of the tenant, and if the acquisition is successful, turning to the step (T2); otherwise, go to step (T4);
(T2) reading the invalid data page from the flash memory wafer and updating the parity page of the RAID stripe to which the invalid data page belongs, thereby removing the invalid data page from RAID parity protection;
(T3) if a new I/O request arrives, proceeding to step (T4); otherwise, go to step (T1);
(T4) ends the operation of the current I/O idle period, and in turn processes the I/O request of the tenant.
According to the invention, by utilizing the idle period existing in the I/O load, the invalid data page is moved out of RAID verification protection in advance under the condition of not blocking the I/O request processing of the tenant, so that the verification and updating overhead in the subsequent garbage recovery operation can be further reduced, and the service quality of the tenant is improved.
Further, the method for implementing RAID in the multi-tenant solid-state disk provided in the first aspect of the present invention further includes: a step of garbage recovery;
the garbage recycling step comprises:
(W1) when a tenant triggers a garbage collection operation, selecting one or more flash memory blocks in the tenant's wafer as collection target blocks;
(W2) finding and reading all valid data pages and invalid data pages protected by RAID verification in the recovery target block, and updating the verification pages of the RAID stripes to which the data pages belong, so that all the data pages protected by RAID in the target recovery block are moved out of RAID verification protection;
(W3) allocating free flash pages in the tenant's flash die and migrating the read valid data pages into the allocated flash pages; meanwhile, updating the check pages of the RAID stripes to which the allocated flash memory pages belong, so as to add the migrated effective data pages into RAID check protection;
(W4) the reclamation target block is erased and the erase operation is ended.
When the garbage collection operation is executed, all data pages (including valid data pages and invalid data pages) protected by RAID verification are read firstly, the data pages are moved out of RAID verification protection through verification updating, and then subsequent data migration and erasing operations are executed, so that the garbage collection function is ensured, and meanwhile, the RAID function in the multi-tenant solid-state disk is ensured.
According to a second aspect of the present invention, a controller is provided for implementing RAID in a multi-tenant solid-state disk, where the multi-tenant solid-state disk includes a plurality of flash memory wafers and a plurality of NVM wafers, each flash memory wafer is independently allocated to a tenant, and the controller provided in the second aspect of the present invention is configured to maintain a RAID stripe information and a RAID management module that updates check information;
the RAID management module comprises: the device comprises a stripe building unit, a write request receiving unit, a new data page writing unit, a partial data page updating unit and a complete data page updating unit;
the system comprises a stripe construction unit, a data storage unit and a data processing unit, wherein the stripe construction unit is used for storing data information of one RAID stripe by using flash memory pages at the same offset position in each flash memory wafer and respectively storing the check information of each stripe into one check page in the NVM wafer;
the writing request receiving unit is used for receiving and judging the type of the tenant writing request;
the new data page writing unit is used for distributing idle flash memory pages in the flash memory wafer of the tenant and writing the data pages when the writing request receiving unit judges that the tenant requests to write new data pages; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection;
the partial data page updating unit is used for reading an old data page from the flash memory wafer and combining the old data page with data to be written to obtain a complete data page when the writing request receiving unit judges that the tenant requests to update the partial data page; when reading the old data page and merging the data, updating the check page of the RAID stripe to which the old data page belongs so as to remove the old data page from RAID check protection; the partial data page updating unit is also used for distributing idle flash memory pages in the flash memory wafer of the tenant, writing the combined data pages and marking the old data pages as invalid data pages; while distributing the idle page and writing in the data page, updating the check page of the RAID stripe to which the distributed flash memory page belongs, thereby adding the newly written data page into RAID check protection;
the complete data page updating unit is used for distributing idle flash memory pages in a flash memory wafer of a tenant, writing data pages and marking old data pages as invalid data pages when the writing request receiving unit judges that the tenant requests to update the complete data pages; and while distributing the idle page and writing the data page, updating the check page of the RAID stripe to which the distributed flash memory page belongs, thereby adding the newly written data page into RAID check protection.
Further, the RAID management module further comprises: the device comprises an I/O state monitoring unit, a data page scanning unit and a first verification updating unit;
the I/O state monitoring unit is used for continuously monitoring the I/O state of each tenant, and if the I/O idle time of any tenant exceeds a preset idle threshold, the tenant is judged to be in the I/O idle state;
the data page scanning unit is used for acquiring an invalid data page protected by RAID verification from a flash memory wafer of an idle tenant;
the first check updating unit is used for reading an invalid data page from the flash memory wafer and updating a check page of a RAID stripe to which the invalid data page belongs when the data page scanning unit successfully acquires the invalid data page protected by RAID check, so that the invalid data page is moved out of the RAID check protection;
and the I/O state monitoring unit is also used for finishing the operation of the current I/O idle period when a new I/O request comes, and enabling the data page scanning unit to continuously acquire the next invalid data page protected by the RAID when no new I/O request comes.
Further, the controller provided by the second aspect of the present invention further includes: the garbage recycling module is used for recycling the space occupied by the invalid data pages in the flash memory wafer;
the rubbish recovery module includes: the system comprises a target selection unit, a second check updating unit, an effective page migration unit and an erasing unit;
the target selecting unit is used for selecting one or more flash memory blocks in a wafer of a tenant as a recovery target block when the tenant triggers garbage recovery operation;
the second check updating unit is used for finding and reading all valid data pages and invalid data pages protected by RAID check in the recovery target block, and updating check pages of RAID stripes to which the data pages belong, so that all data pages protected by RAID in the target recovery block are moved out of the RAID check protection;
the effective page migration unit is used for allocating idle flash memory pages in the flash memory wafer of the tenant and migrating the read effective data pages to the allocated flash memory pages; while distributing the idle page and writing data, updating the check page of the RAID stripe to which the distributed flash memory page belongs, thereby adding the migrated effective data page into RAID check protection;
and the erasing unit is used for erasing the recovery target block after the second check updating unit and the effective page migration unit execute corresponding operations.
According to a third aspect of the present invention, there is provided a multi-tenant solid-state disk, comprising: the second aspect of the present invention provides a controller, a plurality of flash memory wafers, and a plurality of NVM wafers, each flash memory wafer being independently allocated to a tenant.
Generally, by the above technical solution conceived by the present invention, the following beneficial effects can be obtained:
(1) according to the method for realizing RAID in the multi-tenant solid-state disk, the controller and the multi-tenant solid-state disk, RAID is realized in the multi-tenant solid-state disk, and the storage reliability of the multi-tenant solid-state disk is ensured; by storing the check pages of each RAID stripe in the NVM wafer, the access characteristic of the NVM can be utilized to avoid the check update becoming a performance bottleneck, thereby improving the service quality for tenants; in the process of processing the partial data page updating request, the old data page is read and is moved out of RAID protection at the same time, so that the invalid data page can be moved out of RAID protection in advance under the condition of not blocking the processing of tenant I/O request, thereby reducing the verification updating overhead in the subsequent garbage recovery operation and improving the service quality to tenants. In general, the method and the device ensure the storage reliability of the multi-tenant solid-state disk and improve the service quality of the tenant.
(2) According to the method for realizing RAID in the multi-tenant solid-state disk, the controller and the multi-tenant solid-state disk, provided by the invention, the invalid data page is moved out of RAID check protection in advance under the condition of not blocking tenant I/O request processing by utilizing the idle period existing in the I/O load, so that the inspection and updating overhead in the subsequent garbage recovery operation can be further reduced, and the service quality of tenants is improved.
(3) According to the method for realizing RAID in the multi-tenant solid-state disk, the controller and the multi-tenant solid-state disk provided by the invention, in the preferred scheme, only the part needing to be updated in the corresponding check page in the NVM wafer is updated when the check page is updated, so that the characteristic that the NVM supports byte addressing can be utilized, the writing amount of the NVM wafer in the check updating process is reduced, and the efficiency of RAID check updating is further improved.
Drawings
Fig. 1 is a schematic diagram of a conventional multi-tenant solid-state disk system;
fig. 2 is a schematic diagram of a multi-tenant solid-state disk system implementing RAID according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
The terms "first," "second," and the like (if any) in the description of the invention and the figures above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
Before explaining the technical scheme of the invention in detail, a brief introduction is made to the conventional multi-tenant solid-state disk system. As shown in fig. 1, a conventional multi-tenant solid-state disk system includes:
(1) a storage module: for storing data; the storage module comprises a plurality of flash memory wafers, and each tenant independently uses different flash memory wafers;
(2) a controller: the system specifically comprises a multi-tenant management module, an address mapping module and a garbage recycling module; the multi-tenant management module is responsible for allocating and managing flash memory storage resources for each tenant; the address mapping module is responsible for maintaining the dynamic mapping from the host logical address to the flash memory physical address; the garbage recovery submodule is responsible for recovering the space occupied by invalid data in the flash memory block, and comprises valid data page migration and flash memory block erasing operation;
(3) the host interface module is responsible for communication with the host, and comprises receiving an I/O request issued by a host tenant, processing data transmission and the like.
In the multi-tenant solid-state disk, a storage medium for storing data is a NAND flash memory, and the NAND flash memory has unique operating characteristics: (1) the flash memory takes pages as a reading and writing unit and blocks as an erasing unit, each block consists of a plurality of pages, and each wafer consists of a plurality of blocks; (2) the flash memory must be erased before being written, so the solid state disk controller adopts a write mode of remote update, namely, data is written into a new free flash memory page, and an old data page is set to be invalid.
In the present invention, a multi-tenant solid-state disk storage system is shown in fig. 2, wherein a storage module includes two parts, namely a flash storage and a non-volatile memory (NVM), where the NVM has a high-speed access characteristic and a characteristic of supporting byte addressing. The flash memory is composed of a plurality of flash memory wafers, and the NVM is composed of a plurality of flash memory wafers.
Aiming at the problem that the existing RAID method is not suitable for a multi-tenant solid-state disk based on hardware isolation, the invention provides a method for realizing RAID in the multi-tenant solid-state disk, which comprises the following steps: a stripe construction step and a write request processing step;
the strip construction step comprises: storing data information of a RAID stripe by using flash memory pages at the same offset position in each flash memory wafer, and respectively storing the check information of each stripe into a check page in the NVM wafer; as shown in fig. 2, in this embodiment, the constructed RAID stripe is specifically a RAID-4 stripe, and the check page of each stripe is obtained by performing xor operation on the data page protected by RAID check;
in an optional embodiment, a small number of NVM wafers may also be set as redundant NVM wafers according to a preset ratio to prevent the NVM wafers storing the verification pages from failing, thereby further improving the storage reliability of the multi-tenant solid-state disk;
the write request processing step includes:
(S1) determining the type of tenant write request, and if a new data page is requested to be written, proceeding to step (S2); if the partial data page is requested to be updated, the procedure proceeds to step (S3); if the complete data page is requested to be updated, the step (S5) is carried out;
(S2) allocating a spare flash page in the tenant' S flash wafer, and writing a data page; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection; proceeding to step (S6);
(S3) reading the old data page from the flash memory wafer, and combining the old data page with the data to be written to obtain a complete data page; meanwhile, updating the check page of the RAID stripe to which the old data page belongs, so as to remove the old data page from RAID check protection;
(S4) allocating spare flash pages in the tenant' S flash memory wafer, writing merged data pages and marking old data pages as invalid data pages; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection; proceeding to step (S6);
(S5) allocating free flash pages within the tenant' S flash memory wafer, writing data pages and marking old data pages as invalid data pages; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection; proceeding to step (S6);
(S6) the write request processing ends;
in this embodiment, for a data page that needs to be added with RAID check protection or needs to be removed with RAID check protection, updating a check page of a RAID stripe to which the data page belongs includes:
reading the check page of the RAID strip to which the data page belongs from the NVM wafer, calculating new check information by using the data page and the read check page, and updating the new check information back to the NVM wafer, thereby completing the updating of the check page;
specifically, the new parity information is calculated by using the data page and the read parity page, and the calculation formula is as follows:
P’=P XOR D,
wherein, P represents the read check page, D represents the content of the data page needing to be added or removed with RAID protection, XOR represents XOR operation, and P' represents the calculated new check information;
as a preferred scheme, when updating the verification page, only updating the part of the corresponding verification page in the NVM wafer, which needs to be updated;
therefore, the characteristic that the NVM supports byte addressing can be utilized, the writing amount of the NVM wafer in the verification updating process is reduced, and the RAID verification updating efficiency is further improved;
it should be noted that the above method for updating the check page is only a preferred embodiment of the present invention, and should not be construed as the only limitation of the present invention.
According to the method for realizing RAID in the multi-tenant solid-state disk, a RAID-4 mode is adopted, data of each strip is stored in a plurality of flash memory wafers in a scattered mode, and the verification information is stored in the NVM wafers with the characteristics of high-speed access, byte addressing support and the like. However, RAID parity update operations introduce additional overhead during garbage collection, i.e., reading invalid data pages and moving them out of RAID protection, which can interfere with tenant I/O request processing, resulting in performance degradation. In order to solve the problem, in the method for realizing the RAID in the multi-tenant solid-state disk, in the process of processing a part of data page updating requests, the old data page is read and is moved out of RAID protection at the same time, so that invalid data pages can be moved out of RAID protection in advance under the condition of not blocking tenant I/O request processing, thereby reducing the verification updating overhead in subsequent garbage recovery operation and improving the service quality of tenants. In summary, the method for implementing RAID in the multi-tenant solid-state disk improves the quality of service to tenants while ensuring the storage reliability of the multi-tenant solid-state disk.
In order to facilitate obtaining whether each flash memory page in each RAID stripe is protected by RAID check in real time, the method for implementing RAID in the multi-tenant solid-state disk may further include: maintaining a state table, and respectively maintaining an entry for each RAID stripe in the state table, wherein the entry is used for recording whether each flash memory page in each RAID stripe is protected by RAID verification in real time; in this embodiment, the status table is specifically a bit table, a bit table entry is maintained in the bit table for each RAID stripe, the number of bits of the bit table entry is equal to the number of flash memory pages on the stripe, each bit records whether a corresponding flash memory page is in RAID check protection, for example, bit 0 indicates that the corresponding flash memory page is not protected by RAID check, and bit 1 indicates that the corresponding flash memory page is protected by RAID check.
In order to further improve the quality of service to tenants, the method for implementing RAID in the multi-tenant solid-state disk may further include: an idle check updating step;
the idle check updating step comprises the following steps: continuously monitoring the I/O state of each tenant, judging that any tenant is in the I/O idle state if the I/O idle time of the tenant exceeds a preset idle threshold, and updating the RAID check information of the tenant according to the following steps:
(T1) acquiring an invalid data page protected by RAID verification from the flash memory wafer of the tenant, and if the acquisition is successful, turning to the step (T2); otherwise, go to step (T4);
(T2) reading the invalid data page from the flash memory wafer and updating the parity page of the RAID stripe to which the invalid data page belongs, thereby removing the invalid data page from RAID parity protection;
(T3) if a new I/O request arrives, proceeding to step (T4); otherwise, go to step (T1);
(T4) ends the operation of the current I/O idle period, and in turn processes the I/O request of the tenant.
According to the method, the idle period existing in the I/O load is utilized, the invalid data page is moved out of RAID verification protection in advance under the condition that the processing of tenant I/O requests is not blocked, the verification and updating overhead in the subsequent garbage recovery operation can be further reduced, and the service quality of tenants is improved.
The method for implementing RAID in the multi-tenant solid-state disk may further include: a step of garbage recovery;
the garbage recycling step comprises:
(W1) when a tenant triggers a garbage collection operation, selecting one or more flash memory blocks in the tenant's wafer as collection target blocks;
(W2) finding and reading all valid data pages (i.e. data pages not marked as invalid data pages) and invalid data pages protected by RAID check in the recovery target block, and updating check pages of RAID stripes to which the data pages belong, thereby removing all data pages protected by RAID in the target recovery block from RAID check protection;
(W3) finding and reading all valid data pages in the recycle target block, allocating free flash memory pages in the tenant's flash memory wafer, and migrating the read valid data pages to the allocated flash memory pages; meanwhile, updating the check pages of the RAID stripes to which the allocated flash memory pages belong, so as to add the migrated effective data pages into RAID check protection;
(W4) the reclamation target block is erased and the erase operation is ended.
When the garbage collection operation is executed, all data pages (including valid data pages and invalid data pages) protected by RAID verification are read firstly, the data pages are moved out of RAID verification protection through verification updating, and then subsequent data migration and erasing operations are executed, so that the garbage collection function is ensured, and meanwhile, the RAID function in the multi-tenant solid-state disk is ensured.
The invention also provides a controller, which is used for executing the steps of the method for realizing the RAID in the multi-tenant solid-state disk so as to realize the RAID in the multi-tenant solid-state disk, and the controller comprises a RAID management module used for maintaining RAID stripe information and updating check information;
the RAID management module comprises: the device comprises a stripe building unit, a write request receiving unit, a new data page writing unit, a partial data page updating unit and a complete data page updating unit;
the system comprises a stripe construction unit, a data storage unit and a data processing unit, wherein the stripe construction unit is used for storing data information of one RAID stripe by using flash memory pages at the same offset position in each flash memory wafer and respectively storing the check information of each stripe into one check page in the NVM wafer;
the writing request receiving unit is used for receiving and judging the type of the tenant writing request;
the new data page writing unit is used for distributing idle flash memory pages in the flash memory wafer of the tenant and writing the data pages when the writing request receiving unit judges that the tenant requests to write new data pages; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection;
the partial data page updating unit is used for reading an old data page from the flash memory wafer and combining the old data page with data to be written to obtain a complete data page when the writing request receiving unit judges that the tenant requests to update the partial data page; when reading the old data page and merging the data, updating the check page of the RAID stripe to which the old data page belongs so as to remove the old data page from RAID check protection; the partial data page updating unit is also used for distributing idle flash memory pages in the flash memory wafer of the tenant, writing the combined data pages and marking the old data pages as invalid data pages; while distributing the idle page and writing in the data page, updating the check page of the RAID stripe to which the distributed flash memory page belongs, thereby adding the newly written data page into RAID check protection;
the complete data page updating unit is used for distributing idle flash memory pages in a flash memory wafer of a tenant, writing data pages and marking old data pages as invalid data pages when the writing request receiving unit judges that the tenant requests to update the complete data pages; while distributing the idle page and writing in the data page, updating the check page of the RAID stripe to which the distributed flash memory page belongs, thereby adding the newly written data page into RAID check protection;
in order to utilize the idle period of the I/O load to move the invalid data page protected by RAID check out of RAID check protection in advance, the RAID management module in the controller may further include: the device comprises an I/O state monitoring unit, a data page scanning unit and a first verification updating unit;
the I/O state monitoring unit is used for continuously monitoring the I/O state of each tenant, and if the I/O idle time of any tenant exceeds a preset idle threshold, the tenant is judged to be in the I/O idle state;
the data page scanning unit is used for acquiring an invalid data page protected by RAID verification from a flash memory wafer of an idle tenant;
the first check updating unit is used for reading an invalid data page from the flash memory wafer and updating a check page of a RAID stripe to which the invalid data page belongs when the data page scanning unit successfully acquires the invalid data page protected by RAID check, so that the invalid data page is moved out of the RAID check protection;
the I/O state monitoring unit is also used for finishing the operation of the current I/O idle period when a new I/O request comes, and enabling the data page scanning unit to continuously acquire the next invalid data page protected by the RAID when no new I/O request comes;
to complete the erase operation, the controller may further include: the garbage recycling module is used for recycling the space occupied by the invalid data pages in the flash memory wafer;
the rubbish recovery module includes: the system comprises a target selection unit, a second check updating unit, an effective page migration unit and an erasing unit;
the target selecting unit is used for selecting one or more flash memory blocks in a wafer of a tenant as a recovery target block when the tenant triggers garbage recovery operation;
the second check updating unit is used for finding and reading all effective pages and invalid data pages protected by RAID check in the recovery target block, and updating check pages of RAID stripes to which the data pages belong, so that all data pages protected by RAID in the target recovery block are moved out of RAID check protection;
the effective page migration unit is used for allocating idle flash memory pages in the flash memory wafer of the tenant and migrating the read effective data pages to the allocated flash memory pages; while distributing the idle page and writing data, updating the check page of the RAID stripe to which the distributed flash memory page belongs, thereby adding the migrated effective data page into RAID check protection;
the erasing unit is used for erasing the recovery target block after the second check updating unit and the effective page migration unit execute corresponding operations;
in the embodiments of the present invention, the detailed implementation of each functional unit may refer to the description in the above method embodiments, and will not be repeated here.
The present invention also provides a multi-tenant solid-state disk, as shown in fig. 2, including: the controller, the plurality of flash memory wafers and the plurality of NVM wafers provided by the invention are independently distributed to tenants;
in order to implement the conventional functions, as shown in fig. 2, the multi-tenant solid-state disk provided by the present invention further includes an interface module, and the controller further includes a multi-tenant management module and an address mapping module, and the functions and specific implementation of these modules are similar to those of the conventional multi-tenant solid-state disk and will not be repeated here.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (10)

1. A method for implementing RAID in a multi-tenant solid-state disk, the multi-tenant solid-state disk comprising a plurality of flash memory wafers and a plurality of NVM wafers, each flash memory wafer being independently allocated to a tenant, the method for implementing RAID in the multi-tenant solid-state disk comprising: a stripe construction step and a write request processing step;
the band constructing step includes: storing data information of a RAID stripe by using flash memory pages at the same offset position in each flash memory wafer, and respectively storing the check information of each stripe into a check page in the NVM wafer;
the write request processing step includes:
(S1) determining the type of tenant write request, and if a new data page is requested to be written, proceeding to step (S2); if the partial data page is requested to be updated, the procedure proceeds to step (S3); if the complete data page is requested to be updated, the step (S5) is carried out;
(S2) allocating a spare flash page in the tenant' S flash wafer, and writing a data page; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection; proceeding to step (S6);
(S3) reading the old data page from the flash memory wafer, and combining the old data page with the data to be written to obtain a complete data page; meanwhile, updating the check page of the RAID stripe to which the old data page belongs, so as to remove the old data page from RAID check protection;
(S4) allocating spare flash pages in the tenant' S flash memory wafer, writing merged data pages and marking old data pages as invalid data pages; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection; proceeding to step (S6);
(S5) allocating free flash pages within the tenant' S flash memory wafer, writing data pages and marking old data pages as invalid data pages; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection; proceeding to step (S6);
(S6) the write request processing ends.
2. The method for implementing RAID in the multi-tenant solid-state disk of claim 1, wherein for a data page that needs to add RAID check protection or needs to remove RAID check protection, updating a check page of a RAID stripe to which the data page belongs includes:
and reading the check page of the RAID strip to which the data page belongs from the NVM wafer, calculating new check information by using the data page and the read check page, and updating the new check information back to the NVM wafer, thereby completing the updating of the check page.
3. The method for implementing RAID in the multi-tenant solid-state disk of claim 1, wherein when the check page is updated, only a portion of the corresponding check page in the NVM wafer that needs to be updated is updated.
4. The method of implementing RAID in a multi-tenant solid state disk of claim 1, further comprising: and maintaining a state table, and respectively maintaining an entry for each RAID stripe in the state table, wherein the entry is used for recording whether each flash memory page in each RAID stripe is protected by RAID verification in real time.
5. The method of implementing RAID in a multi-tenant solid state disk of any of claims 1-4, further comprising: an idle check updating step;
the idle check update step includes: continuously monitoring the I/O state of each tenant, judging that any tenant is in the I/O idle state if the I/O idle time of the tenant exceeds a preset idle threshold, and updating the RAID check information of the tenant according to the following steps:
(T1) acquiring an invalid data page protected by RAID verification from the flash memory wafer of the tenant, and if the acquisition is successful, turning to the step (T2); otherwise, go to step (T4);
(T2) reading the invalid data page from the flash memory wafer and updating the parity page of the RAID stripe to which the invalid data page belongs, thereby removing the invalid data page from RAID parity protection;
(T3) if a new I/O request arrives, proceeding to step (T4); otherwise, go to step (T1);
(T4) ends the operation of the current I/O idle period, and in turn processes the I/O request of the tenant.
6. The method of implementing RAID in a multi-tenant solid state disk of any of claims 1-4, further comprising: a step of garbage recovery;
the garbage recycling step comprises the following steps:
(W1) when a tenant triggers a garbage collection operation, selecting one or more flash memory blocks in the tenant's wafer as collection target blocks;
(W2) finding and reading all valid data pages and invalid data pages protected by RAID verification in the recovery target block, and updating the verification pages of the RAID stripes to which the data pages belong, so that all the data pages protected by RAID in the target recovery block are moved out of RAID verification protection;
(W3) allocating free flash pages in the tenant's flash die and migrating the read valid data pages into the allocated flash pages; meanwhile, updating the check pages of the RAID stripes to which the allocated flash memory pages belong, so as to add the migrated effective data pages into RAID check protection;
(W4) the reclamation target block is erased and the erase operation is ended.
7. A controller for implementing RAID in a multi-tenant solid state disk comprising a plurality of flash memory wafers and a plurality of NVM wafers, each flash memory wafer being independently allocated to a tenant, the controller comprising a RAID management module for maintaining RAID stripe information and updating check information;
the RAID management module comprises: the device comprises a stripe building unit, a write request receiving unit, a new data page writing unit, a partial data page updating unit and a complete data page updating unit;
the stripe construction unit is used for storing data information of one RAID stripe by using flash memory pages at the same offset position in each flash memory wafer, and storing the check information of each stripe into one check page in the NVM wafer respectively;
the writing request receiving unit is used for receiving and judging the type of the tenant writing request;
the new data page writing unit is used for distributing idle flash memory pages in the flash memory wafer of the tenant and writing the data pages when the writing request receiving unit judges that the tenant requests to write new data pages; meanwhile, updating the check page of the RAID stripe to which the allocated flash memory page belongs, thereby adding the newly written data page into RAID check protection;
the partial data page updating unit is used for reading an old data page from the flash memory wafer and combining the old data page with data to be written to obtain a complete data page when the writing request receiving unit judges that the tenant requests to update the partial data page; when reading the old data page and merging the data, updating the check page of the RAID stripe to which the old data page belongs so as to remove the old data page from RAID check protection; the partial data page updating unit is also used for distributing idle flash memory pages in the flash memory wafer of the tenant, writing the combined data pages and marking the old data pages as invalid data pages; while distributing the idle page and writing in the data page, updating the check page of the RAID stripe to which the distributed flash memory page belongs, thereby adding the newly written data page into RAID check protection;
the complete data page updating unit is used for distributing idle flash memory pages in a flash memory wafer of a tenant, writing data pages and marking old data pages as invalid data pages when the writing request receiving unit judges that the tenant requests to update the complete data pages; and while distributing the idle page and writing the data page, updating the check page of the RAID stripe to which the distributed flash memory page belongs, thereby adding the newly written data page into RAID check protection.
8. The controller of claim 7, wherein the RAID management module further comprises: the device comprises an I/O state monitoring unit, a data page scanning unit and a first verification updating unit;
the I/O state monitoring unit is used for continuously monitoring the I/O state of each tenant, and if the I/O idle time of any tenant exceeds a preset idle threshold, the tenant is judged to be in the I/O idle state;
the data page scanning unit is used for acquiring an invalid data page protected by RAID verification from a flash memory wafer of an idle tenant;
the first verification updating unit is used for reading an invalid data page from a flash memory wafer when the data page scanning unit successfully acquires the invalid data page protected by RAID verification, and updating a verification page of an RAID stripe to which the invalid data page belongs, so that the invalid data page is moved out of RAID verification protection;
the I/O status monitoring unit is further configured to end the operation of the current I/O idle period when a new I/O request comes, and enable the data page scanning unit to continue to acquire a next invalid data page protected by RAID when no new I/O request comes.
9. The controller of claim 7, further comprising: the garbage recycling module is used for recycling the space occupied by the invalid data pages in the flash memory wafer;
the garbage recycling module comprises: the system comprises a target selection unit, a second check updating unit, an effective page migration unit and an erasing unit;
the target selecting unit is used for selecting one or more flash memory blocks in a wafer of a tenant as a recovery target block when the tenant triggers garbage recovery operation;
the second check updating unit is used for finding and reading all valid data pages and invalid data pages protected by RAID check in the recovery target block, and updating check pages of RAID stripes to which the data pages belong, so that all data pages protected by RAID in the target recovery block are moved out of RAID check protection;
the effective page migration unit is used for allocating an idle flash memory page in the flash memory wafer of the tenant and migrating the read effective data page to the allocated flash memory page; while distributing the idle page and writing data, updating the check page of the RAID stripe to which the distributed flash memory page belongs, thereby adding the migrated effective data page into RAID check protection;
and the erasing unit is used for erasing the recovery target block after the second check updating unit and the effective page migration unit execute corresponding operations.
10. A multi-tenant solid-state disk, comprising: the controller of any of claims 7-9, a plurality of flash memory wafers, and a plurality of NVM wafers, each flash memory wafer being independently assigned to a tenant.
CN201910562470.XA 2019-06-26 2019-06-26 Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk Active CN110347613B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910562470.XA CN110347613B (en) 2019-06-26 2019-06-26 Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910562470.XA CN110347613B (en) 2019-06-26 2019-06-26 Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk

Publications (2)

Publication Number Publication Date
CN110347613A CN110347613A (en) 2019-10-18
CN110347613B true CN110347613B (en) 2021-06-11

Family

ID=68183266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910562470.XA Active CN110347613B (en) 2019-06-26 2019-06-26 Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk

Country Status (1)

Country Link
CN (1) CN110347613B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131140B (en) * 2020-09-24 2023-07-14 北京计算机技术及应用研究所 SSD-based key value separation storage method supporting efficient storage space management
US11556270B2 (en) * 2021-01-07 2023-01-17 EMC IP Holding Company LLC Leveraging garbage collection for raid transformation
CN114253478B (en) * 2021-12-17 2024-02-09 山东云海国创云计算装备产业创新中心有限公司 Method and device for calculating RAID check disk position
CN114168572A (en) * 2022-02-10 2022-03-11 北京奥星贝斯科技有限公司 Method and device for managing database
CN117472295B (en) * 2023-12-28 2024-03-22 合肥康芯威存储技术有限公司 Memory, data processing method, device and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976175A (en) * 2010-08-19 2011-02-16 北京同有飞骥科技有限公司 Method for constructing disk array by horizontal grouping parallel concentrated verification
CN103176752A (en) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 Super-endurance solid-state drive with Endurance Translation Layer (ETL) and diversion of temp files for reduced Flash wear
CN103488583A (en) * 2013-09-09 2014-01-01 华中科技大学 High-performance reliable solid-state disk realizing method
CN103631536A (en) * 2013-11-26 2014-03-12 华中科技大学 Method for optimizing RAID5/6 writing performance by means of invalid data of SSD
US9195530B1 (en) * 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402890B (en) * 2017-07-24 2020-10-02 华中科技大学 Data processing method and system based on solid-state disk array and cache

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976175A (en) * 2010-08-19 2011-02-16 北京同有飞骥科技有限公司 Method for constructing disk array by horizontal grouping parallel concentrated verification
US9195530B1 (en) * 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
CN103176752A (en) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 Super-endurance solid-state drive with Endurance Translation Layer (ETL) and diversion of temp files for reduced Flash wear
CN103488583A (en) * 2013-09-09 2014-01-01 华中科技大学 High-performance reliable solid-state disk realizing method
CN103631536A (en) * 2013-11-26 2014-03-12 华中科技大学 Method for optimizing RAID5/6 writing performance by means of invalid data of SSD

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Reliability and Performance Enhancement Technique;Kwanghee Park等;《Communications and Information Technology, 2009》;20091231;全文 *

Also Published As

Publication number Publication date
CN110347613A (en) 2019-10-18

Similar Documents

Publication Publication Date Title
CN110347613B (en) Method for realizing RAID in multi-tenant solid-state disk, controller and multi-tenant solid-state disk
US8219776B2 (en) Logical-to-physical address translation for solid state disks
JP6518191B2 (en) Memory segment remapping to address fragmentation
CN105573681B (en) Method and system for establishing RAID in SSD
KR101678868B1 (en) Apparatus for flash address translation apparatus and method thereof
US20130290613A1 (en) Storage system and storage apparatus
US10503424B2 (en) Storage system
TWI484334B (en) Method for region-based management of non-volatile memory
CN109426622B (en) Method for prolonging service life of flash memory solid-state disk and long-service-life flash memory solid-state disk
CN106528438A (en) Segmented junk recovery method for solid-state storage device
CN101288054A (en) Virtual-to-physical address translation in a flash file system
CN101923448A (en) Method for reading and writing conversion layer of NAND flash memory
DE112020002792B4 (en) WEAR-ORIENTED BLOCK MODE CONVERSION IN NON-VOLATILE MEMORIES
CN109471594B (en) M L C flash memory read-write method
CN104641419A (en) Solid state drive controller, solid state drive, data processing method of solid state drive, multi-channel solid state drive, raid controller and computer-readable recording medium having recorded therein computer program for providing sequence information to solid state drive
CN103902475B (en) Solid state disk concurrent access method and device based on queue management mechanism
CN112860594B (en) Solid-state disk address remapping method and device and solid-state disk
CN110309077B (en) Method and device for constructing flash translation layer of cooperative work of host and equipment
KR20160106240A (en) Semiconductor device and operating method thereof
CN108563586B (en) Method for separating garbage recovery data and user data in solid-state disk
CN112130749A (en) Data storage device and non-volatile memory control method
CN112835534B (en) Garbage recycling optimization method and device based on storage array data access
US20140047161A1 (en) System Employing MRAM and Physically Addressed Solid State Disk
CN116364148A (en) Wear balancing method and system for distributed full flash memory system
CN110633056B (en) Page management method and storage device of Flash chip at operating system level

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