CN117311647A - Method for realizing Raid based on ZNS solid state disk - Google Patents

Method for realizing Raid based on ZNS solid state disk Download PDF

Info

Publication number
CN117311647A
CN117311647A CN202311624298.9A CN202311624298A CN117311647A CN 117311647 A CN117311647 A CN 117311647A CN 202311624298 A CN202311624298 A CN 202311624298A CN 117311647 A CN117311647 A CN 117311647A
Authority
CN
China
Prior art keywords
raid
zone
data
zns
die
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311624298.9A
Other languages
Chinese (zh)
Other versions
CN117311647B (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.)
Wuhan Lugu Technology Co ltd
Original Assignee
Wuhan Lugu Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Lugu Technology Co ltd filed Critical Wuhan Lugu Technology Co ltd
Priority to CN202311624298.9A priority Critical patent/CN117311647B/en
Publication of CN117311647A publication Critical patent/CN117311647A/en
Application granted granted Critical
Publication of CN117311647B publication Critical patent/CN117311647B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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

Abstract

The implementation method based on the ZNS solid state disk Raid can flexibly set the mapping mode and the space size of a Zone according to user attributes, and can selectively utilize the ZNS solid state disk to realize the creation of the Raid according to different user attributes, so that the defect that a plurality of hard disks must be adopted in the existing scheme is overcome. Meanwhile, the Raid can be selectively started for all data or key data, the data stability and the flexibility of data protection are improved, and the influence on the I/O performance of the ZNS SSD is reduced. The key data buffer area and the general data buffer area are further transferred and configured to a volatile memory of the system, so that the calculation speed and the write amplification caused by frequent writing and overwriting are improved.

Description

Method for realizing Raid based on ZNS solid state disk
Technical Field
The invention relates to the field of solid state disk storage, in particular to a method for realizing the Raid of a ZNS solid state disk, which comprises the steps of constructing a Raid stripe, generating and writing Raid verification data.
Background
The solid state disk (Solid State Drive, SSD) is a hard disk made of an array of solid state electronic memory chips, and the SSD is composed of a control unit and a memory unit (FLASH chip, DRAM chip) or the like. Unlike traditional mechanical hard disk, the solid state hard disk has no movable parts inside, and rotation and seek are not needed, so that the solid state hard disk has the advantages of relatively low access delay, low power consumption, vibration resistance and the like. With the advent of the database age, individual solid state disks have failed to meet the demands for data storage and access. The Raid (Redundant Arrays of Independent Disks) technology can form a disk array by a plurality of cheaper hard disks, so that the performance of the system is effectively improved, namely, the Raid combines a plurality of disks together in a cluster mode to form a virtual hard disk, and an operating system can use the virtual hard disk as a hard disk. When writing in the file, the data of the file is split into small data blocks with equal size, and the small data blocks are sequentially stored in the hard disk according to a certain sequence. The method can meet the new requirements of large access quantity, high storage capacity requirement, high parallel access performance and the like of the current database through the Raid.
In the conventional Raid, a scheme combines a plurality of solid state disks together according to a manner of a conventional mechanical hard disk, which requires more additional solid state disks, and a conventional Raid technology is designed for the mechanical hard disk, and the conventional SSD currently causes problems due to unmatched characteristics of a Block (Block) interface and a storage medium, such as: the reserved space occupies a large amount of effective capacity, the mapping table occupies a large amount of DRAM space, and GC (garbage collection) causes a large amount of expenditure and the like; the other scheme is that the inside of the solid state disk is divided into a plurality of partitions, and each partition is managed according to flash characteristics, so that the complexity of the Raid inside the solid state disk is increased, and the compatibility is poor.
Further, the Raid stripes of the conventional SSD are created simultaneously when the raids are created, and the depth of each stripe is uniform in the same Raid. In general, stripe depth (stripe size) is set to be equal to the size of an upper application I/O block, so that stripe data can be uniformly distributed to all hard disks during I/O reading and writing, and data transmission efficiency is improved. But the optimal stripe depth required for different applications is different. For example, video class applications are applicable to stripe depths of 1M and above, but database class data is applicable to stripe depths of 8-16KB or 16-64 k. Therefore, the fixed stripe depth cannot meet the optimal conditions of the whole application scene in practical application.
ZNS (Zone command space) appears in the public view as a new interface, and Zones are a fixed-size subinterval within Namespace, each Zone has a continuous LBA (logical address space) interval, which can only be written sequentially. To overwrite, a Reset operation must be performed. In the working mode of the interface, the ZNS SSD is different from the conventional SSD, the interface and the existing Raid interface are not matched in a mutually adapting way, so that the performance of the ZNS SSD cannot be fully exerted, the Raid is realized aiming at the ZNS SSD, the actual requirement cannot be met by the existing scheme, and the characteristics of the ZNS SSD cannot be fully exerted and utilized.
Disclosure of Invention
The implementation method based on the ZNS solid state disk Raid can flexibly configure a mapping mode and the space size of a Zone region according to user characteristics, and the establishment of the ZNS solid state disk Raid is realized in a targeted manner. Meanwhile, the Raid can be selectively started on the data, the data stability is improved, the influence on the performance of the ZNS SSD is reduced, the key data cache area and the universal data cache area are further transferred and configured into a volatile memory of the system, and the calculation speed and the write amplification caused by frequent writing and covering are improved.
The application provides a realization method based on ZNS solid state disk Raid, which comprises the following steps:
1) Initializing: acquiring ZNS SSD information, selecting and setting user attributes, initializing the ZNS SSD according to the user attributes, and determining a Raid calculation threshold;
2) Configuring a Zone mapping manner, wherein the Zone mapping manner consists of a transverse mapping and a longitudinal mapping, and the transverse mapping is defined as: one Zone is used as a Raid stripe and is used as a ROW Zone; the longitudinal mapping is defined as: one Zone maps one Die, and a plurality of zones are built as a Raid stripe to be used as a ROW Zone; the Raid controller creates a ROW Zone according to the mapping mode, the ROW Zone at least comprises information of First Die, raid Die and Bad Die, a target Zone is opened, a Raid id is allocated, and Raid data writing is started; the Raid controller compares and judges the accumulated written data quantity in the Zone with a Raid calculation threshold;
3) When the data volume written in the Zone reaches the Raid calculation threshold, a Raid module is started to write the check data in the Raidbuff to the Raid Die, and meanwhile the occupied raidID is released.
Further, the initializing operation step of the ZNS SSD according to the user attribute at least comprises dividing the LBA into a plurality of Zone areas with the same size or different sizes according to the information and the user attribute, wherein the information at least comprises the number N of Die, the number M of plane and the capacity of the hard disk.
Further, the user attributes include a general user and a database user.
Further, the First Die, bad Die and Raid Die are recorded in the ROW Zone through the FTL conversion layer, and Bad Die is skipped when the ROW Zone writes data.
Further, when the user attribute is a common user, the mapping mode is configured into transverse mapping, and the number of Zone is configured according to the requirement; when the user attribute is a database user, the mapping mode is configured as longitudinal mapping, and the number of Zone is configured as integer multiple of N.
Further, the Raid calculation threshold calculation formula is: raid calculation threshold = N x M-1.
Further, the step of starting the Raid data writing further includes backing up the same backup data to the Raidbuff when the target Zone is written into the physical page of the user data, performing exclusive-or calculation on the backup data and the previous data, and then storing the exclusive-or calculation in the Raidbuff.
Further, the initializing step further includes setting a system memory area as a buffer area, where the buffer area includes at least a first buffer area and a second buffer area.
Further, the first buffer zone is used for storing data verification of key data, and the second buffer zone is used for storing data verification of general data.
Further, the initializing step 1) further includes: the initializing step includes configuring the ZNS SSD to be composed of a number of 2 k Zones with Kb, wherein k is a positive integer, and when the user attribute is a common user, 7 is less than or equal tok is less than or equal to 10; when the user attribute is a database user, k is more than or equal to 2 and less than or equal to 6.
The invention has the beneficial effects that:
1. aiming at the characteristics of users, the method for flexibly configuring the transverse or longitudinal mapping mode to realize the creation of the Raid of the ZNS solid state disk can meet the requirements of high read-write rate and multiple concurrent requests of the Raid.
2. The Raid can be selectively started for the key data, so that the Raid overhead of the system is avoided while the stability of the key data is improved, and the influence on the performance is reduced.
3. And presetting the strip depth according to the user characteristics, so that the application scene and the strip depth can be matched with each other. In the same Raid, the stripe depth can be configured to be different under different practical applications, so that the flexibility and adaptability of the Raid are improved, and the stripe depth is adapted to the optimal conditions of an application scene.
4. The characteristic that each Zone of the ZNS SSD is sequentially written in and the writing among different zones is not mutually interfered is fully utilized, a plurality of zones and ROW zones are arranged in the ZNS SSD, the zones can be written in parallel, the strip width is dynamically adjusted according to the I/O width of the system, the writing execution efficiency of the system is improved, and the constraint of the strip width by the number of physical hard disks in the Raid is avoided.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the related art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is apparent that the drawings in the following description are only embodiments of the present application, and other drawings may be obtained according to the provided drawings without inventive effort to those skilled in the art.
The structures, proportions, sizes, etc. shown in the drawings are shown only in connection with the present disclosure, and should not be construed as limiting the scope of the invention, since any modification, variation in proportions, or adjustment of the size, which would otherwise be used by those skilled in the art, would not have the essential significance of the present disclosure, would not affect the efficacy or otherwise be achieved, and would still fall within the scope of the present disclosure.
FIG. 1 is a physical organization chart of NAND Flash shown in an embodiment of the present application.
Fig. 2 is a schematic view of a ROW Block abstraction according to an embodiment of the present application.
Fig. 3 is a schematic view of a ROW Page abstract according to an embodiment of the disclosure.
FIG. 4 is a schematic diagram of a Raid verification data writing process according to one embodiment of the present disclosure.
Fig. 5 is a schematic diagram of a Zone transverse mapping manner according to an embodiment of the present application.
Fig. 6 is a schematic diagram of a Zone longitudinal mapping manner according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will now be described more fully hereinafter with reference to the accompanying drawings, in which it is shown, and in which it is evident that the embodiments described are exemplary only some, and not all embodiments of the application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
FIG. 1 is a physical structure of NAND Flash. At present, when a Raid is built by a traditional SSD, a physical Block with the same serial number on a channel in the SSD is abstracted into a ROW Block (shown in fig. 2), a Page with the same serial number on the ROW Block is abstracted into a ROW Page (shown in fig. 3), and finally the ROW Page is used as a Raid stripe, so that the building of a Raid system is realized on the ROW Page. When user data transmission is carried out, the user data is divided into a plurality of parts which are the same as the ROW blocks in number and equal to the pages in size, the parts are assembled into strips, and the strips are stored in the corresponding pages of different blocks after being started.
In the ROW Block, FTL (Flash Translation Layer ) records First Die (First data location where Raid starts) and Bad Die therein, the Bad Die will be skipped in the Raid creation process, when all user data on the Raid stripe is written, the automatically calculated parity data in the Raid module is written into the Raid Die, the Raid parity data will temporarily exist in the Raidbuff, and the Raidbuff can be divided into a plurality of buffer areas with fixed sizes by the Raidbuff. Because of the limited size of the Raidbuff space, the writing of data is constrained by the size of the buffer. Meanwhile, when user data is cut into strips, the priority levels of processing objects are the same, and key data and general common data cannot be selected and distinguished.
In contrast to traditional SSDs, ZNS SSDs put forward the concept of Zone. And the ZNS SSD uses the ROW Zone as a Raid stripe to carry out Raid system creation. The size of the Zone varies according to the mapping scheme. As shown in fig. 5, the lateral mapping manner is that one Zone spans all Die, and is defined as a ROW Zone; as shown in fig. 6, the longitudinal mapping mode is that one Zone shares one Die, and a plurality of zones can be flexibly configured to be mapped into one ROW Zone according to requirements.
For each ROW Zone, the FTL translation layer records the First Die, the Bad Die and the Raid Die therein, and skips the Bad Die when the Raid stripe writes data. After all user data in the ROW Zone are written, final Raid check data are determined and written on the Raid Die. For a ZNS SSD, the Raid organization follows the following principle: during writing operation, the Zone is taken as a unit, and data writing is sequentially carried out on each physical page in the Zone from small to large according to Die. Because ZNS SSD can control the position that different data write in, can only open the Raid to key data, promote data stability and can not exert a great influence to its performance.
Based on the above characteristics of the ZNS SSD, the application provides a realization method based on the ZNS solid state disk Raid, which specifically comprises the following steps, see fig. 4:
1) Obtaining ZNS SSD information, wherein the information comprises the number of Die and plane; initializing the ZNS SSD hard disk according to the user attribute to obtain N Zones, and determining a Raid calculation threshold; and configures a Zone mapping manner.
2) And configuring different Raid strips according to different mapping modes, and starting Raid data writing. The arrangement of the Zone in the ZNS SSD is defined as ROW Zone. Wherein the mapping modes comprise a horizontal mapping mode and a vertical mapping mode. The transverse mapping mode is defined as a Zone as a Raid stripe; the longitudinal mapping manner is defined as: one Zone maps one Die. In the transverse mapping mode, one Zone spans all Die, and the Zone has higher bandwidth during continuous writing; in the longitudinal mapping mode, one Zone exclusively uses one Die, physical isolation can be realized between data, higher security is achieved, concurrent operation of multiple zones can be supported, and good Qos is achieved.
When one user data physical page is written in each Zone of the ZNS SSD, the Raid controller backs up the same data to the Raidbuff, and the Raid control module automatically performs exclusive-or processing on the data and the previous data and then stores the data into the Raidbuff. The write operation among the Zones of the ZNS SSD is independent and noninterference, and the ZNS SSD can open a plurality of Zones in parallel and write in simultaneously.
In order to ensure the independence of the check data, for the Zones which are written simultaneously, different RaidIDs are allocated to each Zone so as to ensure that the check data are not interfered with each other. After the writing is completed, the accumulated writing data quantity in the Zone is compared with the size of the Raid calculation threshold. The number of Active Zone is limited by a number of factors, including system I/O capability limitations, raidbuff size, etc. The larger the Raidbuff is, the more concurrent writing is supported at the same time, and the number of Active Zone is generally 8-32.
In one embodiment, the size of the Zone is configured according to user attributes. Specifically, the ZNS SSD is configured to be composed of a plurality of 2 k Zones with Kb, wherein k is a positive integer, and when the user attribute is a common user, k is more than or equal to 7 and less than or equal to 10; when the user attribute is a database user, k is more than or equal to 2 and less than or equal to 6.
In one embodiment, the Raid control system may request the system configuration to request space from the volatile memory as a buffer, where the buffer is divided into a first buffer and a second buffer, which are respectively used as temporary storage areas for data verification of critical data and data verification of general data. When one user data physical page is written in each Zone of the ZNS SSD, the same data is backed up to a first buffer area and a second buffer area respectively, wherein the first buffer area is configured as a data check area when key data is written in; the second buffer is configured as a data check area when general data is written. The Raid control module automatically performs exclusive-or processing on the data and the check data stored in the buffer zone before storing the data in the corresponding storage zone. And after the data transmission and the verification are completed, the final data and the verification data are transmitted and stored in the Raidbuff according to the format.
And storing the data of the stripes in the RAM, and performing verification calculation. And refreshing the data in the RAM to the Raidbuffer after the data processing is completed. In one embodiment, the method at least comprises the following steps:
step 2-1: the ZNS SSD controller requests RAM memory space,
step 2-2: after the RAM storage space configuration is successful, dividing the received write I/O request into at least one stripe command according to the stripe size of the Raid, wherein the stripe size of the Raid is a ROW Zone size;
reading all user data on the stripes of each stripe command to a first cache area or a second cache area, and performing Raid verification calculation in the cache area so as to obtain new verification data of the stripe command; and writing all user data and check data on the stripes where each stripe command is located into the physical pages of the same Zone of the memory chip at one time respectively.
The system volatile memory is used as a buffer area in the data processing process, so that write amplification caused by repeated erasing and writing of the Raidbuff area of the ZNS SSD is avoided, the integral failure rate of the ZNS SSD is reduced, and the service life of the ZNS SSD is prolonged.
3) When the data volume written in the Zone reaches the Raid calculation threshold, the Raid module is started to write the check data in the Raidbuff to the Raid Die, and meanwhile the occupied raidID is released.
According to the method for setting the Raid of the Zone, the ROW Zone can be flexibly set according to requirements, the ZNS SSD uses the ROW Zone as a Raid stripe for data writing and checking, final Raid checking data are determined and written on the Raid Die, and the efficiency and stability of data writing are improved; meanwhile, the Raid is started aiming at key data, so that the safety is improved, and meanwhile, the performance and space losses are avoided.
In order to facilitate understanding of the technical solutions of the present application, the present application will further explain the technical solutions by referring to examples.
Example 1
1) Obtaining ZNS SSD information, wherein the information comprises the number of Die and plane; initializing a ZNS SSD hard disk according to user attributes to obtain a plurality of Zones, and determining a Raid calculation threshold; and configures a Zone mapping manner.
As shown in fig. 5, specifically, the user attribute is a common user, and in this embodiment, a Zone transverse mapping manner is adopted. The total number of Die included in the ZNS SSD is 32, each Zone is 1M in size, wherein each Die includes 2 planes, and when one Zone is used as one ROW Zone (corresponding to a Raid stripe), one Raid stripe includes 32 Die, plane 0 of Die0 is the First Die, plane 1 of Die31 is the Raid Die, and then the amount of data needed to be collected by one Raid stripe is: 32 x 2-1, is the Raid calculation threshold.
2) And configuring different Raid strips according to different mapping modes, and starting Raid data writing.
Firstly, starting a blank ROW Zone, and recording a First Die, a Raid Die and a Bad Die in a state table corresponding to the Zone;
then, when the ZNS SSD executes a write command issued by host, storing the received data in a user data cache area, when the user data amount received by one cache area reaches the maximum user data amount which can be stored in a physical page, writing the data in the cache area into a ROW Zone 0 Die0, simultaneously writing the data into a RaidBuff (RaidID 0) through a Raid module, and judging whether the data reaches a Raid calculation threshold; it is apparent at this point that the number of calculations within Raidbuff does not reach the Raid calculation threshold.
And then, continuously receiving a write command issued by host, further finishing writing user data of Die1, die 2 and Die3 of the ROW Zone, carrying out exclusive OR processing on the current data and the last data in the Raidbuff according to the Page, storing the data in the Raidbuff again, and judging whether the data amount written in the Zone reaches a Raid calculation threshold.
3) After the data writing of the plane 0 of the Die31 is completed, the Count number of the Raid stripe aggregation reaches the Raid calculation threshold value at this time, so that the Raid module is started to store the check data in the Raidbuff into the Raid Die of the current ROW Zone, and meanwhile the occupied raidID is released.
Example 2
As shown in fig. 6, similarly to example 1, the difference is that: the characteristic users of the embodiment are database users, and the embodiment adopts a Zone longitudinal mapping mode. The total number of Die included in the ZNS SSD is 32, each Zone is 16k in size, and each Die has 2 planes. One Zone maps one Die, and the Raid stripe can be configured according to actual requirements, in this embodiment, 8 zones (i.e. 8 dies) are used as a set of ROW zones, and 4 sets of Raid stripes are configured in one ROW Page, so that plane 0 of Die0 of the 1 st set of Raid stripes (ROW Zone 0) is First Die, plane 1 of Die7 is a Raid Die, plane 0 of Die 8 of the 2 nd set of Raid stripes (ROW Zone 1) is First Die, plane 1 of Die 15 is a Raid Die, plane 0 of Die 16 of the 3 rd set of Raid stripes (ROW Zone 2) is First Die, plane 1 of Die 23 is a Raid Die, plane 0 of Die 24 of the 4 th set of Raid stripes (ROW Zone 3) is a First Die, plane 1 of Die31 is a Raid Die, and a number of Die stripes that need to be polymerized is a number of Die: 8*2-1 (Raid calculation threshold).
The difference from embodiment 1 is that the size of one ROW Zone is different, and for one ROW Zone, the ZNS SSD receives the write command issued by host, and then completes the user data of Die0, die1, die 2. After the data writing of the plane 0 of Die7 is completed, the Count of the Raid stripe aggregation reaches the Raid calculation threshold, so that the Raid module is started to store the check data in the Raidbuff into the Raid Die of the current ROWZone. Namely, die0 and Die1 … Die31 are respectively constructed into 4 groups of raid strips, which are respectively ROW Zone 0,ROW Zone 1,ROW Zone 2,ROW Zone 3, and in the process of executing the write-in of ROW Zone 0, other ROW zones can be written in parallel, namely, the ZNS SSD can complete the data transmission of 4 groups of strips at the same time, so that the data transmission efficiency is greatly improved, and the number of the ROW zones written in parallel is configured according to actual conditions, such as system I/O bandwidth, supportable Raidbuff space and the like.
According to the implementation method based on the ZNS solid state disk Raid, the ROW Zone is mapped longitudinally and matched, a plurality of ROW Zone can be configured simultaneously according to the bandwidth supported by the system under the condition that hardware configuration is not changed, write operation of the plurality of ROW Zone is realized simultaneously, flexibility and compatibility of the system are improved, and the method and the device are applicable to more and more complex application scenes. The defect that a plurality of strips can not be written at one time in the Raid is overcome.
According to the method and the device, the characteristics of the ZNS SSD are utilized, meanwhile, the selective opening or closing of the Raid and the concurrent operation of data are realized by defining the ROW Zone for different users, so that the flexibility of the Raid system is improved, and the requirement on hardware resources is reduced. Meanwhile, in order to reduce the write amplification of the ZNS SSD, the RAM is adopted to complete part of the functions of the buffer area, so that the write loss is reduced, and the service life of the ZNS SSD is further prolonged.
In the present specification, each embodiment is described in a progressive manner, or a parallel manner, or a combination of progressive and parallel manners, and each embodiment is mainly described as a difference from other embodiments, and identical and similar parts between the embodiments are all enough to refer to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant points refer to the description of the method section.
It should be noted that, in the description of the present application, it should be understood that the directions or positional relationships indicated by the terms "upper", "lower", "top", "bottom", "inner", "outer", etc. are based on the directions or positional relationships shown in the drawings, are merely for convenience of describing the present application and simplifying the description, and do not indicate or imply that the apparatus or element to be referred to must have a specific direction, be configured and operated in the specific direction, and thus should not be construed as limiting the present application. When an element is referred to as being "connected" to another element, it can be directly connected to the other element or intervening elements may also be present.
It is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that an article or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such article or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in an article or apparatus that comprises such element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A realization method based on ZNS solid state disk Raid comprises the following steps:
1) Initializing: acquiring ZNS SSD information, selecting and setting user attributes, initializing the ZNS SSD according to the user attributes, and determining a Raid calculation threshold;
2) Configuring a Zone mapping manner, wherein the Zone mapping manner consists of a transverse mapping and a longitudinal mapping, and the transverse mapping is defined as: one Zone is used as a Raid stripe and is used as a ROW Zone; the longitudinal mapping is defined as: one Zone maps one Die, and a plurality of zones are built as a Raid stripe to be used as a ROW Zone; the Raid controller creates a ROW Zone according to the Zone mapping mode, wherein the ROW Zone at least comprises information of First Die, raid Die and Bad Die, opens a target Zone, distributes a Raid ID, and starts Raid data writing; the Raid controller compares and judges the accumulated written data quantity in the Zone with a Raid calculation threshold; the ROW Zone has different sizes under different Zone mapping modes;
3) When the data volume written in the Zone reaches the Raid calculation threshold, a Raid module is started to write the check data in the Raidbuff to the Raid Die, and meanwhile the occupied raidID is released.
2. The method for implementing the solid state disk Raid based on the ZNS according to claim 1, wherein the initializing operation step of the ZNS SSD according to the user attribute includes dividing the LBA into a plurality of Zone areas with the same size or different sizes according to the information and the user attribute, where the information includes at least Die number N, plane number M and hard disk capacity.
3. The implementation method based on the solid state disk Raid of claim 2 wherein the user attribute comprises a general user or a database user.
4. The implementation method based on the ZNS solid state disk Raid of claim 3 is characterized in that the First Die, the Bad Die and the Raid Die are recorded in the ROW Zone through the FTL conversion layer, and the Bad Die is skipped when writing data.
5. The implementation method based on the solid state disk Raid of claim 4 wherein when the user attribute is a normal user, the mapping mode is configured to be a horizontal mapping, and the number of Zone is configured according to the need; when the user attribute is a database user, the mapping mode is configured as longitudinal mapping, and the number of Zone is configured as integer multiple of N.
6. The implementation method based on the ZNS solid state disk Raid is characterized in that the Raid calculation threshold value calculation formula is: raid calculation threshold = N x M-1.
7. The implementation method based on the solid state disk Raid of claim 1 wherein the step of starting Raid data writing further includes backing up the same backup data to Raidbuff when the target Zone is written into the physical page of user data, and storing the backup data in Raidbuff after exclusive-or calculation with the previous data.
8. The method for implementing the solid state disk Raid based on the ZNS of claim 1 wherein said initializing step further comprises setting a system memory region as a buffer, said buffer comprising at least a first buffer and a second buffer.
9. The implementation method based on the ZNS solid state disk Raid of claim 8 wherein the first buffer is used for data verification of storing critical data and the second buffer is used for data verification of storing general data.
10. The implementation method based on the ZNS solid state disk Raid according to claim 1, wherein the initializing step 1) further includes: the initializing step includes configuring the ZNS SSD to be composed of a number of 2 k Zones with Kb, wherein k is a positive integer, and when the user attribute is a common user, k is more than or equal to 7 and less than or equal to 10; when the user attribute is a database user, k is more than or equal to 2 and less than or equal to 6.
CN202311624298.9A 2023-11-30 2023-11-30 Method for realizing Raid based on ZNS solid state disk Active CN117311647B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311624298.9A CN117311647B (en) 2023-11-30 2023-11-30 Method for realizing Raid based on ZNS solid state disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311624298.9A CN117311647B (en) 2023-11-30 2023-11-30 Method for realizing Raid based on ZNS solid state disk

Publications (2)

Publication Number Publication Date
CN117311647A true CN117311647A (en) 2023-12-29
CN117311647B CN117311647B (en) 2024-03-15

Family

ID=89288849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311624298.9A Active CN117311647B (en) 2023-11-30 2023-11-30 Method for realizing Raid based on ZNS solid state disk

Country Status (1)

Country Link
CN (1) CN117311647B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819408A (en) * 2012-08-24 2012-12-12 记忆科技(深圳)有限公司 RAID0 realization method and realization system capable of dynamically adjusting stripe depth
US20130019057A1 (en) * 2011-07-15 2013-01-17 Violin Memory, Inc. Flash disk array and controller
CN107678690A (en) * 2017-09-29 2018-02-09 山东超越数控电子有限公司 A kind of implementation method of solid state hard disc and its RAID array
US20200341844A1 (en) * 2019-04-23 2020-10-29 Samsung Electronics Co., Ltd. Method for Controlling Operations of RAID System Comprising Host Device and Plurality of SSDs
CN113467706A (en) * 2020-03-30 2021-10-01 华为技术有限公司 Solid state disk management method and solid state disk
US11340987B1 (en) * 2021-03-04 2022-05-24 Netapp, Inc. Methods and systems for raid protection in zoned solid-state drives
US20220229722A1 (en) * 2022-04-08 2022-07-21 Intel Corporation Method and apparatus to improve performance of a redundant array of independent disks that includes zoned namespaces drives
US20220300201A1 (en) * 2021-03-21 2022-09-22 Vast Data Ltd. Striping in a storage system
US20220357857A1 (en) * 2020-04-24 2022-11-10 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US20230161500A1 (en) * 2021-11-22 2023-05-25 Netapp, Inc. Methods and Systems for Processing Write Requests in a Storage System
WO2023140940A1 (en) * 2022-01-21 2023-07-27 Pure Storage, Inc. Dynamic data segment sizing
CN116991322A (en) * 2023-08-03 2023-11-03 武汉汇迪森信息技术有限公司 ZNS-based monitoring video storage management method and system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130019057A1 (en) * 2011-07-15 2013-01-17 Violin Memory, Inc. Flash disk array and controller
CN102819408A (en) * 2012-08-24 2012-12-12 记忆科技(深圳)有限公司 RAID0 realization method and realization system capable of dynamically adjusting stripe depth
CN107678690A (en) * 2017-09-29 2018-02-09 山东超越数控电子有限公司 A kind of implementation method of solid state hard disc and its RAID array
US20200341844A1 (en) * 2019-04-23 2020-10-29 Samsung Electronics Co., Ltd. Method for Controlling Operations of RAID System Comprising Host Device and Plurality of SSDs
CN113467706A (en) * 2020-03-30 2021-10-01 华为技术有限公司 Solid state disk management method and solid state disk
US20220357857A1 (en) * 2020-04-24 2022-11-10 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11340987B1 (en) * 2021-03-04 2022-05-24 Netapp, Inc. Methods and systems for raid protection in zoned solid-state drives
US20220300201A1 (en) * 2021-03-21 2022-09-22 Vast Data Ltd. Striping in a storage system
US20230161500A1 (en) * 2021-11-22 2023-05-25 Netapp, Inc. Methods and Systems for Processing Write Requests in a Storage System
WO2023140940A1 (en) * 2022-01-21 2023-07-27 Pure Storage, Inc. Dynamic data segment sizing
US20220229722A1 (en) * 2022-04-08 2022-07-21 Intel Corporation Method and apparatus to improve performance of a redundant array of independent disks that includes zoned namespaces drives
CN116991322A (en) * 2023-08-03 2023-11-03 武汉汇迪森信息技术有限公司 ZNS-based monitoring video storage management method and system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
QIUPING WANG: "ZapRAID: Toward High-Performance RAID for ZNS SSDs via Zone Append", SEMANTIC SCHOLAR *
存储前沿技术评论: "ZNS SSD的优势、缺陷、优化:深入解读 eZNS SSD (OSDI 2023)", Retrieved from the Internet <URL:https://blog.csdn.net/pumawave/article/details/134685175> *
浪潮企业级解决方案: "浪潮新一代ZNS SSD固态盘解码:如何将性能提升210%", Retrieved from the Internet <URL:https://baijiahao.baidu.com/s?id=1693001393321739646&wfr=spider&for=pc> *

Also Published As

Publication number Publication date
CN117311647B (en) 2024-03-15

Similar Documents

Publication Publication Date Title
US11797191B2 (en) Systems and methods for storing data in SSD
JP3942807B2 (en) Semiconductor memory device with block alignment function
US8626987B2 (en) Flash memory system and defragmentation method
JP3753461B2 (en) Data writing method and data storage system by redundancy parity method
CN107273058B (en) Logical address offset
US8607016B2 (en) FAT analysis for optimized sequential cluster management
KR102170539B1 (en) Method for storing data by storage device and storage device
US9122629B2 (en) Elastic cache with single parity
US11928053B2 (en) System garbage collection method and method for garbage collection in solid state disk
US20050163014A1 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US11321229B2 (en) System controller and system garbage collection method
WO2013097618A1 (en) Storage virtualization device, storage system and data storage method and system
US10866743B2 (en) Storage control device using index indicating order of additional writing of data, storage control method using index indicating order of additional writing of data, and recording medium recording program using index indicating order of additional writing of data
KR20100139149A (en) Method and system for storage address re-mapping for a multi-bank memory device
KR20110093035A (en) Apparatus for flash address translation apparatus and method thereof
CN105573681A (en) Method and system for establishing RAID in SSD
CN108089825B (en) Storage system based on distributed cluster
CN110569002A (en) Flash memory device variable capacity device and method based on mixed mode
CN107066202B (en) Storage device with multiple solid state disks
KR20210122726A (en) Memory management apparatus and control method thereof
CN107678685B (en) Key value storage management method based on flash memory storage path optimization
CN107092443B (en) Data migration method and device
CN111949222B (en) Method for data migration in garbage recovery in full-flash disk array
CN117311647B (en) Method for realizing Raid based on ZNS solid state disk
CN114625318A (en) Data writing method, device and equipment applied to solid state disk

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