CN117075810A - ZNS solid state disk-based data management method - Google Patents

ZNS solid state disk-based data management method Download PDF

Info

Publication number
CN117075810A
CN117075810A CN202311057163.9A CN202311057163A CN117075810A CN 117075810 A CN117075810 A CN 117075810A CN 202311057163 A CN202311057163 A CN 202311057163A CN 117075810 A CN117075810 A CN 117075810A
Authority
CN
China
Prior art keywords
data
zone
information
internal data
flush
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311057163.9A
Other languages
Chinese (zh)
Inventor
张仡
刘兴斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 CN202311057163.9A priority Critical patent/CN117075810A/en
Publication of CN117075810A publication Critical patent/CN117075810A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/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/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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

The application provides a ZNS solid state disk internal data storage method, which comprises a solid state disk conforming to the ZNS protocol, an internal data area, relevant information of a Zone, a user Trim table and various Host command records, wherein the internal data area is provided with a user Trim table; the encoding and decoding compression and reduction module uses a Huffman algorithm; and the data checking module performs redundancy check by using the CRC. The application provides an internal data storage method of a ZNS solid state disk, which can effectively encode internal data of a ZNS SSD and then store the internal data into Nand, or read the data from Nand, decode and restore the data and then load the data into Dram, and support redundancy check.

Description

ZNS solid state disk-based data management method
Technical Field
The application belongs to the technical field of solid state disk application, and particularly relates to a ZNS protocol-based internal data storage method and a Flush mechanism of a solid state disk.
Background
The traditional SSD has core FTL algorithm, which comprises functions of LBA address mapping, wear balance web scaling, garbage collection GC, data maintenance and the like. The algorithm occupies CPU time when running, and can certainly influence the IO performance of the solid state disk to a certain extent, especially the GC operation related to erasure Nand has more remarkable influence.
In addition to IO performance, conventional SSD disks often use LBA-PPA mapping methods when mapping, that is, using a LBA with a size of 4Byte to represent a PPA physical address with a size of 4KB, and storing these mapping relationships in memory requires a very large space, for example, an 8T disk requires 8GB of memory to store a projection table, which is very costly in hardware.
To address the pain points of the above conventional SSDs, the ZNS protocol provides for the operation of the SSD, e.g. writing inside the Zone only sequentially, etc. It is the provision in these protocols that simplifies the usage scenario of SSDs so that the FTL algorithm is no longer necessary. The SSD based on ZNS no longer needs internal GC, nor does it need a mapping table of LBA-PPA one-to-one correspondence, thereby improving IO performance and saving hardware cost.
But in addition to the address mapping table, there is a Trim table in the SSD that marks the validity of the user data, each bit of the table indicating whether a 4KB user area data is valid, and the same 8T requires a Trim table of 8TB/4 KB/8=256 MB size. The Trim table with the size is completely written into Nand to occupy a plurality of pages, so that the efficiency of table brushing is reduced and the complexity of software design is increased.
Therefore, the ZNS SSD with the encoding and decoding compression reduction algorithm saves the cost of DDR on hardware, reduces the internal data volume, reduces the complexity of software design and improves Flush efficiency.
Disclosure of Invention
The application aims to provide a ZNS solid state disk internal data storage method with a coding and decoding compression and restoration module and a data verification module, and a Flush mechanism of the ZNS solid state disk internal data.
Specifically, the internal data storage method of the ZNS solid state disk is characterized by comprising the following steps of: the solid state disk conforming to the ZNS protocol comprises an internal data area; wherein, the internal data area contains the relevant management information of Zone, user Trim information and various Host command records; the encoding and decoding reduction module uses a Huffman algorithm; the data checking module performs CRC calculation on the internal data to be stored in the Nand, and writes the internal data into the Nand Page together with the CRC value; the CRC algorithm can be a pure software acceleration or a hardware acceleration such as an FPGA.
Further, the internal data area contains Zone information, user Trim information and Host command operation information; the Zone information comprises Zone Open Source information, active Source information, zone state information, zone capacity information, zone starting LBA information and Zone wp information as described in the ZNS protocol; wherein the status of the Zone includes EMPTY, IMPLICITLY _ OPEN, EXPLICITLY _ OPEN, CLOSE, READ _ ONLY, FULL, OFFLINE; wherein Host command operations include Zone application, zone Receive, zone Send, etc. as described in the Zone ns protocol.
Furthermore, the data encoding and decoding compression and restoration module carries out Huffman encoding and decoding compression or restoration on the internal data, and the decoding compression or restoration mode is hardware acceleration such as pure software acceleration or FPGA.
Further, the encoding and decoding compression and restoration module compresses the data quantity of the data to be stored in the Nand through a Huffman coding algorithm of the module; the data to be read from Nand is restored by block huffman decoding.
Further, the data checking module calculates CRC value when the data flow goes from SSD to Dram, and transmits the data to the encoding and decoding compression reduction module for data compression after filling; when the data flow goes from Dram to SSD, the data checking module obtains the restored data from the encoding and decoding compression restoration module, and performs CRC check to check the correctness of the data.
The internal data Flush method of the ZNS solid state disk is triggered after responding to an NVMe related command from a Host, and is characterized in that:
s1, when the received command includes but is not limited to a Zone Apend, a Zone Send, a Zone Receive and other commands, the running state and information of the relevant Zone are modified according to the parameters attached to the command, the data are stored in DDR or Dtcm and other Sram to accelerate CPU access when running, and the data are stored in the Nand when the Flush Segment is needed;
s2, in view of the fact that the ZNS SSD also needs to support Trim commands, designing a user data Trim table to mark whether a user data unit is Trim; a user data Trim table, using a single bit to represent Trim states for a user data unit, typically 4 KB;
s3, commands and Trim commands related to the Zone are required to be recorded, and after the basic command processing of S1 and S2 is completed, the commands and parameters thereof are required to be sequentially filled into a writing cache of Segment;
the Segment write cache is a block of DDR area, comprising three parts of data: zone information, trim information, command information is each Host Command recorded.
Further, the user data validity information is stored in the DDR area in the running process, and a specific bit is found in the corresponding DDR area to set when a Trim command is received from a Host.
Further, after the basic command processing of S1 and S2 is completed, these commands and parameters thereof need to be sequentially filled into the Segment write cache, and the Flush condition is designed such that the number of Host commands recorded in the Segment write cache reaches a threshold.
Further, during operation, bit data in DDR or DTCM is modified first, after Flush conditions are met, the data is written into the management data area, and Flush operation is performed on the writing cache area of Segment.
Further, S4, when the number of fills in the Command area reaches a threshold, the method indicates that a Segment can be flushed to Nand; when the threshold value is not reached, no Flush operation is performed;
s5, copying the Zone runtime information and Trim runtime information from the runtime storage address to the current write cache;
s6, writing the cached data Flush to the Nand Page, and the initial address of the Flush is next to the Nand Page address of the last Flush, and pointing to the next Page address.
The application provides an internal data storage method of a ZNS solid state disk, which can effectively encode internal data of a ZNS SSD and then store the internal data into Nand, or read the data from Nand, decode and restore the data and then load the data into Dram, and support redundancy check. Various global and real-time dynamic information of the Flush can be efficiently transmitted to the Nand, various key data of the SSD based on the ZNS protocol can be efficiently managed and stored, and various runtime information can be recorded. The memory consumption is reduced, and the storage efficiency and the operation efficiency of the solid state disk are improved. Meanwhile, the data storage method can efficiently store relevant information of the ZNS SSD disk Zone, save Dram hardware resources in running and reduce cost.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the related art, the drawings required for the description of the embodiments or 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 are not intended to limit the scope of the application, since any modification, variation in proportions, or adjustment of the size, etc. of the structures, proportions, etc. should be considered as falling within the spirit and scope of the application, without affecting the effect or achievement of the objective.
FIG. 1 is a block diagram of a ZNS SSD module;
FIG. 2Dram and SSD data flow diagram;
FIG. 3 is a ZNS SSD data storage block diagram;
FIG. 4 is a flow chart of Host command key data;
FIG. 5 is a flow chart of Flush.
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, however, in which some, but not all embodiments of the application are shown. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The application provides an internal data storage method in a ZNS solid state disk, which comprises a solid state disk conforming to a ZNS protocol, an internal data area, a user Trim information and various Host command records, wherein the internal data area comprises relevant management information of a Zone; the encoding and decoding compression and reduction module uses a Huffman algorithm; and the data checking module performs redundancy check by using the CRC. The embodiment of the application provides an internal data storage method and a Flush mechanism of a ZNS solid state disk, which can efficiently trigger a Flush flow in real time to store the internal data of the ZNS SSD and support redundancy check.
In order that the above-recited objects, features and advantages of the present application will become more apparent, a more particular description of the application will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings.
Example 1
As shown in fig. 1, the SSD is divided into five main modules: the system comprises a DRAM, a control module, a data verification module, a coding and decoding compression reduction module and a NAND storage module.
The internal data in operation is stored in DRAM, and the NAND memory module stores the data after encoding and decoding and CRC processing. The encoding and decoding compression reduction module and the data verification module respectively provide a Huffman encoding and decoding function and a CRC verification generation and comparison function.
Example 2
As shown in fig. 2, the internal data flow of the SSD may be from DRAM to NAND, or from NAND to DRAM.
S1, when the NAND memory is carried out, the control module needs to prepare Segment data in the DRAM, and fill the data in the DRAM or the DTCM into a Segment cache.
When loading into DRAM, the data in Segment write cache is assigned to the variable of the operation time, or is located in Dram or DTCM.
S2, when the NAND memory is carried out, the control module sends Segment cache data to the data checking module for CRC calculation, and the CRC value is stuffed into the Segment cache.
When loading the data into the DRAM, the control module performs redundancy check according to CRC in Segment, and if the data is correct, the control module continues to process Segment cache data.
S3, sending the data stream subjected to CRC processing to a coding and decoding module for coding compression; or the data stream after decompression is taken from the encoding and decoding module to be subjected to CRC processing.
S4, storing the data compressed by the encoding and decoding module into the NAND or reading the data from the NAND to prepare for the encoding and decoding module to decompress.
Example 3
As shown in fig. 3, the data storage structure of the ZNS SSD physically divides the data on the SSD into two major parts: the internal Management Data area Management Data and the User Data area User Data each occupy a plurality of Block spaces. For the management data area, the key data stored in the SSD during running includes Zone information, user data validity information, namely Trim data, host Command record information and the like.
And the user data area and the management data area are divided into a plurality of segments, and all the segments are sequentially stored on the Nand Page according to the serial number sequence.
The data space is stored according to Zone division, and each Zone is written in sequence according to the ZNS protocol. For the user data area, the data written by the user based on the ZNS protocol is stored.
The user data area and the management data area sequentially occupy a plurality of Nand Die blocks; the Nand Die Block is a row of Die blocks which are formed by arranging Nand Die in parallel according to a plurality of Nand channels and a plurality of CEs so as to achieve the aim of concurrency.
The internal data area contains the information of Zone, the Trim table of user data, the Host orders the operation record; the Zone information comprises Zone Open Source information, active Source information, zone state information, zone capacity information, zone starting LBA information and Zone wp information in a Zone protocol; wherein the status of the Zone includes EMPTY, IMPLICITLY _ OPEN, EXPLICITLY _ OPEN, CLOSE, READ _ ONLY, FULL, OFFLINE. The Host command operation includes, for example, zone application, zone receiver, zone Send, etc. in the ZNS protocol; when the user data validity information is used, 1bit is used for indicating whether the data in the 4KB size area of the user data area is valid or not, and the whole user data area can be divided into a plurality of 4KB data units, so that a plurality of corresponding bit data are stored in the management data area to form the user data validity information.
User data and management data information are divided into a plurality of segments, and the data in the segments are sequentially and sequentially stored on a Nand Page according to a proportion.
The storage ratio of Segment to Nand Page defaults to 1, i.e. one Nand Page stores one Segment of data. Wherein the ratio is not limited to 1, only that different segments cannot be on one Nand Page.
The reason is that when in storage, each Segment starts from a new Nand Page, namely, the same Nand Page can not store the data content belonging to two segments; because Nand has the nature of bad blocks, some Die may not be able to write to bad blocks when segments are written to these side-by-side Die Trim, so the 4KB memory cells of these bad blocks should be skipped. In view of the above two factors, the size of Segment should be redundant in design, and should not be too large.
Segment sequence stores multi-layer meaning:
1. in the Flush process, flush is sequentially carried out according to Segment numbers;
2. after all segments have been stored in Nand, the loop starts to store from the first Segment again, similar to a ring buffer;
3. the segments are stored in the Trim according to the Nand Page in sequence, and if the current Block is full, the current Block is switched to a new Block to be stored in sequence.
It should be noted that: page is the minimum read-write unit of NandFlash, and one Page contains a plurality of bytes; block is the minimum erasure unit of NandFlash, and one Block contains several pages.
Fig. 3 illustrates only one possible Zone layout, and other Zone layout situations are not limited to the arrangement of this example. For the user data area, the ZNS protocol space is divided into a plurality of Zone spaces. Each Zone may occupy a plurality of blocks in the longitudinal direction and a plurality of Die in the transverse direction.
Example 4
A flow chart of Host command key data as shown in fig. 4. The ZNS SSD is based on NVMe protocol and responds to NVMe commands from Host as with conventional SSDs, except that the ZNS SSD has its special Zone related commands. In view of this, if the Host's command is associated with a Zone, for example, it changes the Zone's status, changes the Zone's writing location, or changes the user data validity to the previously valid data unit Trim, etc. These commands change the environment of the current run and require special handling and record keeping.
The flow chart of critical data when accepting and determining Host command execution is as follows:
s1, when the received command includes but is not limited to a Zone Apend, a Zone Send, a Zone Receive and the like, the running state and information of the relevant Zone are modified according to the accompanying parameters of the command, the data are stored in DDR or Dtcm and other Sram to accelerate CPU access during running, and the data are stored in the Nand when Flush Segment is needed.
S2, in view of the fact that the ZNS SSD also needs to support Trim commands, user data validity information is designed to indicate whether a user data unit is Trim. The user data validity information indicates a Trim state, typically 4KB, of one user data unit using a single bit. The method is stored in the DDR area during operation, and specific bit positions are found in the corresponding DDR area to be set when Trim commands are received from a Host.
S3, the commands and Trim commands related to the Zone are required to be recorded, and the commands and parameters thereof are required to be sequentially filled into a Segment write cache after the basic command processing of S1 and S2 is completed. The Segment write cache is a block of DDR area, comprising three parts of data: zone information, trim information, command information, where Command information is the respective Host Command recorded.
Example 5
The data related to the Zone or Trim affects the runtime environment, and the data needs to be saved in time if the data changes. Too long an interval may miss data and too short may affect the performance of the disc. So proper Flush conditions need to be set and met to do Flush. When the power-on and power-off operation is performed, only one Segment is flushly executed after the flushcondition is met each time. Each Segment contains Zone information, user data validity bit data, host Command record information, and the like.
As described above, the Zone related commands and Trim commands need to be recorded, and these commands and their parameters need to be sequentially filled into the Segment write cache after the basic command processing of S1 and S2 is completed. After the cache records to a certain space, the memory operation consumes a large amount of memory, the speed is reduced, and the Flush operation is needed. In order to reduce the consumption of the memory, the Flush condition in this embodiment is designed such that the number of Host commands recorded in the Segment write cache reaches a threshold value, bit data in the DDR or DTCM is modified first during operation, and after the Flush condition is satisfied, the data is written into the management data area, and Flush operation is performed on the Segment write cache area. Flow chart of Flush as shown in fig. 3:
s4, when the number of fills in the Command area reaches a threshold value, the method indicates that a Segment can be flushed to Nand; when the threshold is not reached, no Flush operation is performed.
S5, copying the Zone runtime information and Trim runtime information from the runtime storage address to the current write cache; the Trim information contained in each Segment is only Trim information of several corresponding Zone.
S6, writing the cached data Flush to the Nand Page, wherein the start address of the Flush should be next to the Nand Page address of the last Flush, and pointing to the next Page address.
The application can efficiently Flush various global and real-time dynamic information to the Nand, is beneficial to reducing the memory consumption and increasing the storage efficiency and the operation efficiency of the solid state disk. Meanwhile, the data storage method can efficiently store relevant information of the ZNS SSD disk Zone, save Dram hardware resources in running and reduce cost.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), servers and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (10)

1. A ZNS solid state disk internal data storage method is characterized in that: the solid state disk conforming to the ZNS protocol comprises an internal data area; wherein, the internal data area contains the relevant management information of Zone, user Trim information and various Host command records; the encoding and decoding reduction module uses a Huffman algorithm; the data checking module performs CRC calculation on the internal data to be stored in the Nand, and writes the internal data into the Nand Page together with the CRC value; the CRC algorithm can be a pure software acceleration or a hardware acceleration such as an FPGA.
2. The method for storing internal data of a ZNS solid state disk according to claim 1, wherein the method comprises the steps of: an internal data area containing Zone information, user Trim information, host command operation information; the Zone information comprises Zone Open Source information, active Source information, zone state information, zone capacity information, zone starting LBA information and Zone wp information as described in the ZNS protocol; wherein the status of the Zone includes EMPTY, IMPLICITLY _ OPEN, EXPLICITLY _ OPEN, CLOSE, READ _ ONLY, FULL, OFFLINE; wherein Host command operations include Zone application, zone Receive, zone Send, etc. as described in the Zone ns protocol.
3. The method for storing internal data of a ZNS solid state disk according to claim 1, wherein the method comprises the steps of: the data encoding and decoding compression and restoration module is used for carrying out Huffman encoding and decoding compression or restoration on the internal data, wherein the decoding compression or restoration mode is hardware acceleration such as pure software acceleration or FPGA.
4. The method for storing internal data of a ZNS solid state disk according to claim 3, wherein the method comprises the steps of: the encoding and decoding compression and restoration module compresses the data quantity of the data to be stored in the Nand through a Huffman coding algorithm of the module; the data to be read from Nand is restored by block huffman decoding.
5. The method for storing internal data of a ZNS solid state disk according to claim 1, wherein the method comprises the steps of: the data checking module calculates CRC value when the data flow goes from SSD to Dram, and transmits the data to the encoding and decoding compression reduction module for data compression after filling; when the data flow goes from Dram to SSD, the data checking module obtains the restored data from the encoding and decoding compression restoration module, and performs CRC check to check the correctness of the data.
6. The internal data Flush method of the ZNS solid state disk is triggered after responding to an NVMe related command from a Host, and is characterized in that:
s1, when the received command includes but is not limited to a Zone Apend, a Zone Send, a Zone Receive and other commands, the running state and information of the relevant Zone are modified according to the parameters attached to the command, the data are stored in DDR or Dtcm and other Sram to accelerate CPU access when running, and the data are stored in the Nand when the Flush Segment is needed;
s2, in view of the fact that the ZNS SSD also needs to support Trim commands, designing a user data Trim table to mark whether a user data unit is Trim; a user data Trim table, using a single bit to represent Trim states for a user data unit, typically 4 KB;
s3, commands and Trim commands related to the Zone are required to be recorded, and after the basic command processing of S1 and S2 is completed, the commands and parameters thereof are required to be sequentially filled into a writing cache of Segment;
the Segment write cache is a block of DDR area, comprising three parts of data: zone information, trim information, command information is each Host Command recorded.
7. The internal data Flush method of a ZNS solid state disk of claim 6, wherein the internal data Flush method comprises: the user data validity information is stored in the DDR area in the running process, and a specific bit is found in the corresponding DDR area to set when a Trim command is received from a Host.
8. The internal data Flush method of a ZNS solid state disk of claim 7, wherein the internal data Flush method comprises: after the basic command processing of S1 and S2 is completed, these commands and parameters thereof need to be sequentially filled into the Segment write cache, and the Flush condition is designed such that the number of Host commands recorded in the Segment write cache reaches a threshold.
9. The internal data Flush method of a ZNS solid state disk of claim 8, wherein the internal data Flush method comprises: when running, bit data in DDR or DTCM is modified first, after Flush condition is satisfied, the data is written into management data area, and Flush running is carried out on writing buffer area of Segment.
10. The internal data Flush method of a ZNS solid state disk of claim 9, wherein the internal data Flush method comprises:
s4, when the number of fills in the Command area reaches a threshold value, the method indicates that a Segment can be flushed to Nand; when the threshold value is not reached, no Flush operation is performed;
s5, copying the Zone runtime information and Trim runtime information from the runtime storage address to the current write cache;
s6, writing the cached data Flush to the Nand Page, and the initial address of the Flush is next to the Nand Page address of the last Flush, and pointing to the next Page address.
CN202311057163.9A 2023-08-18 2023-08-18 ZNS solid state disk-based data management method Pending CN117075810A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311057163.9A CN117075810A (en) 2023-08-18 2023-08-18 ZNS solid state disk-based data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311057163.9A CN117075810A (en) 2023-08-18 2023-08-18 ZNS solid state disk-based data management method

Publications (1)

Publication Number Publication Date
CN117075810A true CN117075810A (en) 2023-11-17

Family

ID=88712921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311057163.9A Pending CN117075810A (en) 2023-08-18 2023-08-18 ZNS solid state disk-based data management method

Country Status (1)

Country Link
CN (1) CN117075810A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117539692A (en) * 2024-01-09 2024-02-09 武汉麓谷科技有限公司 ZNS solid state disk data set management command implementation method

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737051A (en) * 2020-06-12 2020-10-02 苏州浪潮智能科技有限公司 Trim data verification test method, device and system of SSD solid state disk
US20210349636A1 (en) * 2014-07-02 2021-11-11 Pure Storage, Inc. Storage cluster with zoned drives
CN113821393A (en) * 2021-09-26 2021-12-21 储鹤 NVMe solid state disk test module and test method
CN114730282A (en) * 2020-05-27 2022-07-08 西部数据技术公司 ZNS parity exchange to DRAM
CN114730598A (en) * 2020-04-28 2022-07-08 西部数据技术公司 Using partition namespaces to reduce logical to physical table pointers in SSDs
CN114924923A (en) * 2022-05-25 2022-08-19 苏州浪潮智能科技有限公司 Method, system, equipment and medium for verifying correctness of hard disk write-in point
CN115033188A (en) * 2022-08-10 2022-09-09 武汉麓谷科技有限公司 Storage hardware acceleration module system based on ZNS solid state disk
US20230075437A1 (en) * 2022-11-16 2023-03-09 Lemon Inc. Techniques for zoned namespace (zns) storage using multiple zones
CN116027981A (en) * 2023-01-12 2023-04-28 阿里巴巴(中国)有限公司 Data memory and data recovery method thereof

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210349636A1 (en) * 2014-07-02 2021-11-11 Pure Storage, Inc. Storage cluster with zoned drives
CN114730598A (en) * 2020-04-28 2022-07-08 西部数据技术公司 Using partition namespaces to reduce logical to physical table pointers in SSDs
CN114730282A (en) * 2020-05-27 2022-07-08 西部数据技术公司 ZNS parity exchange to DRAM
CN111737051A (en) * 2020-06-12 2020-10-02 苏州浪潮智能科技有限公司 Trim data verification test method, device and system of SSD solid state disk
CN113821393A (en) * 2021-09-26 2021-12-21 储鹤 NVMe solid state disk test module and test method
CN114924923A (en) * 2022-05-25 2022-08-19 苏州浪潮智能科技有限公司 Method, system, equipment and medium for verifying correctness of hard disk write-in point
CN115033188A (en) * 2022-08-10 2022-09-09 武汉麓谷科技有限公司 Storage hardware acceleration module system based on ZNS solid state disk
US20230075437A1 (en) * 2022-11-16 2023-03-09 Lemon Inc. Techniques for zoned namespace (zns) storage using multiple zones
CN116027981A (en) * 2023-01-12 2023-04-28 阿里巴巴(中国)有限公司 Data memory and data recovery method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JAEHONG MIN等: "eZNS: An Elastic Zoned Namespace for Commodity ZNS SSDs", 17TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, 12 July 2023 (2023-07-12) *
清风不及你@: "NVMe Zoned Namespaces (ZNS) SSDs", Retrieved from the Internet <URL:https://blog.csdn.net/wenj12/article/details/126009661> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117539692A (en) * 2024-01-09 2024-02-09 武汉麓谷科技有限公司 ZNS solid state disk data set management command implementation method
CN117539692B (en) * 2024-01-09 2024-03-15 武汉麓谷科技有限公司 ZNS solid state disk data set management command implementation method

Similar Documents

Publication Publication Date Title
US10067881B2 (en) Compression and caching for logical-to-physical storage address mapping tables
US9886383B2 (en) Self-journaling and hierarchical consistency for non-volatile storage
CN111475427A (en) Logical-to-physical mapping management using low latency nonvolatile memory
US10884630B2 (en) Storage system
WO2022017002A1 (en) Garbage collection method and device
CN105094709A (en) Dynamic data compression method for solid-state disc storage system
CN105938447B (en) Data backup device and method
US11275525B2 (en) Apparatus and method for improving write throughput of memory system
CN113360093B (en) Memory system and device
KR20210006102A (en) Memory system for determining usage of buffer based on i/o throughput and operation method thereof
CN117075810A (en) ZNS solid state disk-based data management method
CN112882649B (en) Data storage device and non-volatile memory control method
US11449266B2 (en) Memory sub-system event log management
CN115756312A (en) Data access system, data access method, and storage medium
CN114968837A (en) Data compression method and flash memory device
US20230289285A1 (en) Managing power loss recovery using an oldest section write policy for an address mapping table in a memory sub-system
WO2016141817A1 (en) Data backup device and method
US11698746B1 (en) Journal scheme for a memory sub-system
US11940912B2 (en) Managing power loss recovery using a dirty section write policy for an address mapping table in a memory sub-system
CN113467699B (en) Method and device for improving available storage capacity
TWI742698B (en) Data storage device and non-volatile memory control method
CN117348789A (en) Data access method, storage device, hard disk, storage system and storage medium
US11249921B2 (en) Page modification encoding and caching
CN106980464B (en) System optimization method using oversampled reads
CN109725853A (en) A kind of data recovery method and device

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