CN112148226A - Data storage method and related device - Google Patents
Data storage method and related device Download PDFInfo
- Publication number
- CN112148226A CN112148226A CN202011024579.7A CN202011024579A CN112148226A CN 112148226 A CN112148226 A CN 112148226A CN 202011024579 A CN202011024579 A CN 202011024579A CN 112148226 A CN112148226 A CN 112148226A
- Authority
- CN
- China
- Prior art keywords
- storage
- concurrent
- storage area
- data
- target
- 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
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000015654 memory Effects 0.000 claims description 87
- 238000004891 communication Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 210000004027 cell Anatomy 0.000 description 48
- 238000004422 calculation algorithm Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 239000007787 solid Substances 0.000 description 5
- 235000012431 wafers Nutrition 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000002035 prolonged effect Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The embodiment of the application discloses a data storage method and a related device, wherein the method comprises the following steps: when detecting that data to be written exists, acquiring characteristic information of each of at least two concurrent storage areas of the storage device, wherein the characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units; determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area; and writing the data to be written into the target storage unit. By adopting the embodiment of the application, the storage unit can be reasonably selected for the data to be written based on the characteristic information of the storage area, and the performance of the storage equipment is favorably improved.
Description
Technical Field
The present disclosure relates to the field of storage technologies, and in particular, to a data storage method, a data storage device, an electronic device, and a computer-readable storage medium.
Background
A storage device is a device for storing information, and generally, information is digitized and then stored in a medium using an electric, magnetic, optical, or other means. Solid State Disk (SSD), one type of storage device, is a hard Disk made of an array of Solid State electronic memory chips. The method comprises the steps that a partitioned Namespaces (ZNS) is a new interface of a solid hard disk, partitioned management data are adopted, an SSD is divided into a plurality of storage units (zones), and a mode of sequential writing is carried out in each partition. ZNS can effectively reduce write-in amplification through sequential write-in, and the service life of the SSD is prolonged. In addition, the ZNS technology can improve the available space of the SSD for users to use, and reduce the storage cost of the users. This technology is currently in the Non-Volatile Memory standard (NVME) specification.
However, how to select a storage unit when performing data writing in the ZNS SSD is an urgent problem to be solved at present.
Disclosure of Invention
The embodiment of the application provides a data storage method and a related device, which can reasonably select a storage unit for data to be written based on characteristic information of a storage area, and are beneficial to improving the performance of storage equipment.
In one aspect, an embodiment of the present application provides a data storage method, including:
when detecting that data to be written exists, acquiring characteristic information of each concurrent storage area in at least two concurrent storage areas of the storage device;
determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area;
writing the data to be written into the target storage unit;
the characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units; the open memory cell is a memory cell that is executing a data write operation, and the blank memory cell is a memory cell that does not store data.
In one aspect, a data storage apparatus corresponding to an electronic device, the data storage apparatus includes:
the communication unit is used for acquiring the characteristic information of each concurrent storage area in at least two concurrent storage areas of the storage device when the existence of the data to be written is detected;
the processing unit is used for determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area;
the processing unit is further configured to write the data to be written into the target storage unit;
the characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units; the open memory cell is a memory cell that is performing a data write operation.
In a possible example, in the aspect that the target storage unit is determined from the plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area, the processing unit is specifically configured to determine at least one candidate concurrent storage area from the at least two concurrent storage areas according to the characteristic information of each concurrent storage area; determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area.
In a possible example, in the aspect that the feature information includes the number of the open storage units, and the determining at least one candidate concurrent storage area from the at least two concurrent storage areas according to the feature information of each concurrent storage area, the processing unit is specifically configured to determine, from the at least two concurrent storage areas, a concurrent storage area with a smallest number of open storage units according to the number of the open storage units in each concurrent storage area; and taking the concurrent storage area with the minimum number of the open storage units as a candidate concurrent storage area, wherein the concurrent storage area with the minimum number of the open storage units is one or more.
In a possible example, in the aspect that the feature information includes the data read-write traffic, and the at least one candidate concurrent storage area is determined from the at least two concurrent storage areas according to the feature information of each concurrent storage area, the processing unit is specifically configured to determine, according to the data read-write traffic of each concurrent storage area, a concurrent storage area with a minimum data read-write traffic from a concurrent storage area with a blank storage unit in the at least two concurrent storage areas; and taking the concurrent storage area with the minimum data read-write flow as a candidate concurrent storage area, wherein the concurrent storage area with the minimum data read-write flow is one or more concurrent storage areas.
In a possible example, in the aspect of determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area, the processing unit is specifically configured to determine the target concurrent storage area from the at least one candidate concurrent storage area according to a preset priority order of the concurrent storage areas; and determining blank storage units ranked at the first bit in the plurality of storage units included in the target concurrent storage area as target storage units.
In a possible example, in an aspect that the feature information includes an operation parameter of the blank storage unit, and the target storage unit is determined from a plurality of storage units included in the at least one candidate concurrent storage area, the processing unit is specifically configured to determine the target concurrent storage area from the at least one candidate concurrent storage area according to a priority order of a preset concurrent storage area; and determining a blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit in a plurality of storage units included in the target concurrent storage area as a target storage unit.
In a possible example, in an aspect that the feature information includes operation parameters of the blank storage units, and the target storage unit is determined from a plurality of storage units included in the at least two concurrent storage areas according to the feature information of each concurrent storage area, the processing unit is specifically configured to determine, from the plurality of storage units included in the at least two concurrent storage areas, a blank storage unit having a smallest numerical value indicated by the operation parameters of the blank storage unit according to the operation parameters of each blank storage unit in each concurrent storage area; and determining the blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit as the target storage unit.
In one aspect, an embodiment of the present application provides an electronic device, including a processor, a memory, a communication interface, and one or more programs, where the one or more programs are stored in the memory and configured to be executed by the processor, and the program includes instructions for executing steps of the method.
Accordingly, embodiments of the present application provide a chip, where the chip includes a processor and a data interface, and the processor reads instructions stored on a memory through the data interface to execute the method according to the implementation manner of the above method example and any possible example.
Accordingly, an embodiment of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program for electronic data exchange, where the computer program makes a computer perform some or all of the steps described in the above method.
Accordingly, embodiments of the present application also provide a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method.
In the embodiment of the application, a data storage device sets concurrent storage areas for storage units in a storage device in advance, acquires feature information of at least two concurrent storage areas, determines a target storage unit from a plurality of storage units included in the at least two concurrent storage areas based on one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units included in the feature information, and writes data to be written into the target storage unit determined based on the feature information. The storage unit can be reasonably selected for the data to be written based on the characteristic information of the storage area, and the performance of the storage device is favorably improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1A is a schematic structural diagram of a data storage system according to an embodiment of the present application;
fig. 1B is a schematic diagram of an SSD backend topology provided by an embodiment of the application;
FIG. 1C is a schematic structural diagram of a silicon wafer composition provided in an embodiment of the present application;
FIG. 1D is a schematic diagram of a ZNS structure provided by embodiments of the present application;
fig. 1E is a schematic structural diagram of a memory cell according to an embodiment of the present disclosure;
FIG. 1F is a block diagram of a super block according to an embodiment of the present disclosure;
fig. 2A is a schematic flowchart of a data storage method according to an embodiment of the present application;
fig. 2B is a schematic structural diagram of a concurrent storage area according to an embodiment of the present application;
FIG. 3A is a schematic flow chart diagram illustrating another data storage method according to an embodiment of the present disclosure;
FIG. 3B is a schematic diagram illustrating a process for determining a target memory location according to an embodiment of the present application;
FIG. 3C is a schematic diagram of another process for determining a target memory cell according to an embodiment of the present application;
FIG. 3D is a schematic diagram illustrating operating parameter values of a blank memory area according to an embodiment of the present disclosure;
FIG. 3E is a schematic diagram illustrating values of operating parameters of another blank memory area provided by an embodiment of the present application;
FIG. 4 is a functional block diagram of a data storage device according to an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms "first," "second," and the like in the description and claims of the present application and in the above-described drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
Currently, there is no relevant technology to explain how to select different zones into which the written data is divided inside the ZNS SSD, so as to further improve the performance of the SSD and prolong its lifetime.
In view of the foregoing problems, an embodiment of the present application provides a data storage method, which is applied to a data storage device. The following detailed description is made with reference to the accompanying drawings.
First, please refer to fig. 1A, which shows a schematic structural diagram of a data storage system 100, which includes a data storage device 110 and a storage apparatus 120.
The data storage apparatus 110 may serve as a master control (Host) of the storage device 120, and access the storage device through a Logical Block Address (LBA) to control reading and writing of data of the storage device.
The data storage device 110 may be the electronic device itself, or may be an internal or external device of the electronic device. The electronic device may include, for example, a distributed storage server, a legacy server, a mass storage system, a desktop computer, a laptop computer, a tablet computer, a palmtop computer, a smart phone, a portable digital player, a smart watch, a smart bracelet, and the like.
The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a network service, cloud communication, middleware service, a domain name service, a security service, a CDN, a big data and artificial intelligence platform, and the like. The terminal may be, but is not limited to, a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, and the like. The terminal and the server may be directly or indirectly connected through wired or wireless communication, and the application is not limited herein.
The storage device 120 may be a Solid State Disk (SSD), which may be a partitioned Namespaces (ZNS) SSD. The back-end topology of the SSD can be as shown in fig. 1B, which exemplarily shows 4 data transmission channels (channels) in fig. 1B, which are respectively Channel0-Channel4, and data can be transmitted in parallel between different channels. On the same Channel, silicon wafers (die), also called chips (die), are placed in series, and the die may also be numbered sequentially, such as (Channel0, CE0), such as (Channel1, CE0), etc.
For a single Die, it can be understood as a bare-Die silicon wafer taken from a wafer of an SSD, which is the smallest unit that possesses a Chip Enable (CE) signal, or Chip select (CE). The SSD encapsulates many Die that must be selected by the host to operate on a Die. In operation, the CE signal of the Die is pulled high, so that subsequent read-write operation can be performed, and the higher the number of CEs in a solid state disk is, the higher the concurrent execution capacity is, and the faster the theoretical performance is. The actual number of channels, die and CEs may be adjusted according to the specific product, and is not limited herein.
Die, which is the smallest unit of independent execution of commands inside the flash memory, may be composed of multiple blocks (blocks). In order to improve the read-write concurrency of die, the inner side is composed of 1 to N planes. As shown on the left side of fig. 1C, is a die with 2 planes. block0 and block1 are on 2 planes 0 and 1, respectively, so that block0 and block1 can read and write simultaneously. And block0 and block2 are on the same plane0, so reading and writing cannot be performed simultaneously. As shown on the right side of fig. 1C, is a die with 1 plane. Similarly, block0 and block1 … on plane0 cannot be read and written simultaneously. Die may also have other numbers of planes.
In addition, ZNS (Zoned Namespace) partition namespace SSD is different from current SSD random read and write. As shown in a of fig. 1D, for the upper layer application, ZNS is to divide LBAs into individual storage units (zones), such as zone0, zone1 … zone x, and then write data in each zone sequentially. Sequential writing can be started with multiple zones simultaneously. As shown in b of fig. 1D, for a particular zone, the write pointer is advanced by a write command, or the write pointer is backed by a reset write pointer command.
For each zone of the ZNS, the size is smaller than the super block. The SSD internally implements ZNS, and typically a zone is composed of 1 or more blocks. As shown in fig. 1E, for each zone, it may consist of 2 blocks, spanning 2 die. Of course, besides the example in 1E, the composition of Zone may also be adjusted according to specific stored data content and size.
Super blocks, as shown in fig. 1F, taking a silicon wafer (die) with only one plane as an example, each die in the SSD takes one block (block) to form a super block, such as block0 taken from each die in the dashed box, that is, each row is a super block. All of block1, block2, and the like may constitute one super block. In order to improve concurrency as much as possible, the SSD performs erasing and writing operations in units of super blocks during erasing and writing. That is, when the SSD is operating, the super blocks are erased at the same time, and the data is written at the same time. When a die has multiple planes, the super block may also include each CE of each channel and the block selected by each plane.
At present, a storage method of a storage system is as follows: logical volumes are created, and when created, each logical volume is allocated physical storage space, which may be the disk composition of a certain storage device or of several storage devices. The client stores data on a certain logical volume, that is, the data is stored on a file system, the file system divides the data into a plurality of parts, each part is an object, the object not only contains the data but also contains additional information such as data identification (ID, ID entry), the file system writes each object into a physical storage space of the logical volume, and the file system records storage location information of each object, so that when the client requests to access the data, the file system can allow the client to access the data according to the storage location information of each object.
The process of allocating physical storage space for the logical volume by the storage system specifically includes: physical storage space is divided in advance into stripes according to a group of capacity measures of objects stored in a logical volume (the measures often have a large margin with respect to the capacity of the actual objects to be stored) and Redundant Array of Independent Disks (RAID), and one logical volume can be understood as one stripe, thereby allocating physical storage space to the logical volume.
The technical solution of the embodiment of the present application may be implemented based on the communication system with the architecture illustrated in fig. 1A as an example or a variant architecture thereof.
Referring to fig. 2A, fig. 2A is a schematic flowchart of a data storage method provided in an embodiment of the present application, and is applied to an electronic device, where the electronic device is configured with a storage device, and it can be understood that the storage device includes at least two concurrent storage areas, and each of the at least two concurrent storage areas includes a plurality of storage units, where the method may include, but is not limited to, the following steps:
201. when detecting that data to be written exists, acquiring characteristic information of each concurrent storage area in at least two concurrent storage areas of the storage device; the characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units; the open memory cell is a memory cell that is performing a data write operation.
Specifically, the data storage device may set a plurality of zones as logically associated zones, that is, concurrent storage zones in advance. As shown in fig. 2B, for a specific concurrent storage area, multiple storage units (zones) may be included, and these multiple zones may belong to multiple data transmission channels (channels), and multiple chip select signals (CE/Die); of course, the value of the chip select signal (CE/Die) on the same channel (channel) may be a zone composed of different chip select signals (CE/Die). Fig. 2B illustrates an example in which memory cells (zones) composed of different chip select signals (CE/Die) on different channels (channels) form a concurrent memory area. Such as a first concurrent storage area, a second concurrent storage area, etc. And at least one or more of the concurrent storage areas may exist in a single SSD or in a storage system composed of a plurality of SSDs.
Further, when the data storage device detects that the data to be written exists, the characteristic information of each of the at least two concurrent storage areas is obtained. For example, if there are two concurrent storage areas, the feature information of the two concurrent storage areas is obtained or distinguished after the feature information is obtained. The data to be written may be a data storage device that receives a data writing request instruction of another user terminal, where the instruction includes the data to be written; alternatively, the determination may be made after the data storage device automatically detects it.
In addition, the characteristic information includes the number of open memory cells, which are memory cells on which a data write operation is being performed, such as zone0, as shown in fig. 2B described above. The number of open memory cells of the first concurrent memory area constituted by zone0 and position 1 is 1. Similarly, since the zone1 has completed the data writing operation, the number of open memory cells of the second concurrent memory region constituted by the zone1 and the position 2 is 0. The blank memory cell is a memory cell that does not store data, such as a memory cell (zone) at position 1, position 2 …, and the like shown in fig. 2B. Since no data is stored, a blank memory cell can be defined. The operation parameter of the blank cell may be a pe (program erase) value. The data can be erased immediately after a block (block) is written with data, the PE value corresponding to the block is added with 1, and the PE value can be used as a parameter for indicating the lifetime of the SSD.
202. And determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area.
Specifically, the data storage device acquires feature information of each of the at least two concurrent storage areas, and determines the target storage unit according to the feature information of each of the at least two concurrent storage areas. The target storage unit may be one of a plurality of storage units included in any one of the at least two concurrent storage areas; a plurality of storage units satisfying the condition can be selected from at least the two concurrent storage areas as target storage units. The process of determining the target unit according to the feature information may be performed by using the concurrent storage area as a unit for comparison; the determination may be performed based on a specific memory cell (zone) included in the concurrent memory area as a unit of comparison.
203. And writing the data to be written into the target storage unit.
Specifically, it is understood that the data storage device writes the aforementioned data to be written into the target storage unit after determining the target storage unit. The characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units.
As can be seen, the data storage apparatus sets a concurrent storage area in advance for a storage unit in the storage device. And acquiring the characteristic information of at least two concurrent storage areas, and determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas based on one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units included in the characteristic information, so that the selection of the target storage unit can improve the concurrency of SSD data write-in, or the balanced distribution of read-write flow, and the extension of SSD service life.
Consistent with the embodiment shown in fig. 2A, please refer to fig. 3A, where fig. 3A is a schematic flowchart of another data storage method provided in an embodiment of the present application, and is applied to an electronic device, where the electronic device is configured with a storage device, the storage device includes at least two concurrent storage areas, and each of the at least two concurrent storage areas includes a plurality of storage units, where the method includes, but is not limited to, the following steps:
301. when detecting that data to be written exists, acquiring characteristic information of each concurrent storage area in at least two concurrent storage areas of the storage device; the characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units; the open memory cell is a memory cell that is performing a data write operation.
302. And determining at least one candidate concurrent storage area from the at least two concurrent storage areas according to the characteristic information of each concurrent storage area.
Specifically, after obtaining the feature information of each concurrent storage area, the data storage device may determine at least one candidate concurrent storage area from the at least two concurrent storage areas based on the feature information. The characteristic information includes one or more of the number of open storage units, data read-write flow and operation parameters of the blank storage units, and when at least one candidate concurrent storage area is determined, the candidate concurrent storage area may be determined based on one or more of the number of open storage units of each concurrent storage area, the data read-write flow and the operation parameters of the blank storage units.
303. Determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area.
Specifically, after determining the at least one candidate concurrent storage area, the data storage device may determine a target storage unit from a plurality of storage units included in each candidate concurrent storage area in the at least one candidate concurrent storage area.
304. And writing the data to be written into the target storage unit.
Referring to step 201 and step 203, step 301 and step 304 are not described herein again.
As can be seen, the data storage device sets a concurrent storage area for a storage unit in the ZNS SSD in advance. And acquiring feature information of at least two concurrent storage areas, determining at least one candidate concurrent storage area from the at least two concurrent storage areas based on one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units included in the feature information, determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area, and writing data to be written into the target storage unit determined based on the feature information. The calculation complexity in selecting the target storage unit is effectively simplified. And the selection of the target storage unit can improve the data writing concurrency of the SSD, or the balanced distribution of the read-write flow, and the service life of the SSD.
In one possible example, the determining, according to the feature information of each concurrent storage area, at least one candidate concurrent storage area from the at least two concurrent storage areas includes: determining a concurrent storage area with the minimum number of open storage units from the at least two concurrent storage areas according to the number of the open storage units in each concurrent storage area; and taking the concurrent storage area with the minimum number of the open storage units as a candidate concurrent storage area, wherein the concurrent storage area with the minimum number of the open storage units is one or more.
Specifically, in the embodiment of the present application, in combination with the step of determining the target storage unit from the plurality of storage units included in the at least one candidate concurrent storage area, a process of determining the target storage unit according to the number of open storage units may be as shown in fig. 3B. As shown in fig. 2B, the current zones 0, 1, 2, and 3 belong to the first concurrent storage area, the second concurrent storage area, the third concurrent storage area, and the nth concurrent storage area, respectively. The zone0 in the first concurrent storage area is also writing data, being an open storage unit. And zone1, zone2, zone3 have written data. Therefore, when the number of open areas of the other concurrent storage areas is 0 in addition to the number of development areas of the first concurrent storage area being 1, the number of open storage cells of the second concurrent storage area, the third concurrent storage area, and the nth concurrent storage area is the smallest, and all of them can be used as candidate concurrent storage areas.
For another example, the number of open memory cells of the first concurrent memory region is 3, the number of open memory cells of the second concurrent memory region is 2, the number of open memory cells of the second concurrent memory region is 0, and the number of open memory cells of the nth concurrent memory region is 1. The second concurrent storage area is the concurrent storage area with the least number of open storage units, and the second concurrent storage area can be used as a candidate concurrent storage area.
In addition, in the embodiments of the present application, Die including different numbers of planes is not differentiated. Whether the Die comprises a single plane or multiple planes, the method may be referred to determine candidate concurrent memory regions.
Therefore, when the feature information includes the number of the open storage units, the concurrent storage area with the minimum number of the open storage units is used as the candidate concurrent storage area, which is beneficial to improving the concurrency of data writing.
In a possible example, the determining, according to the feature information of each concurrent storage area, at least one candidate concurrent storage area from the at least two concurrent storage areas includes: according to the data read-write flow of each concurrent storage area, determining a concurrent storage area with the minimum data read-write flow from the concurrent storage areas with blank storage units in the at least two concurrent storage areas; and taking the concurrent storage area with the minimum data read-write flow as a candidate concurrent storage area, wherein the concurrent storage area with the minimum data read-write flow is one or more concurrent storage areas.
Specifically, in the embodiment of the present application, in combination with the step of determining the target storage unit from the plurality of storage units included in the at least one candidate concurrent storage area, a process of determining the target storage unit according to the data read-write traffic may be as shown in fig. 3C. The data storage device records data read-write traffic of each concurrent storage area in a recent period of time, that is, input/output traffic (IO traffic) of each concurrent storage area during data read-write, including traffic of read data and traffic of write data. When the characteristic information comprises data read-write flow, determining at least one candidate concurrent storage area from the at least two concurrent storage areas according to the characteristic information of each concurrent storage area, namely selecting the concurrent storage area with the minimum data read-write flow as the candidate concurrent storage area according to the data read-write flow of each concurrent storage area.
Therefore, when the candidate concurrent storage area is selected, the data storage device selects the concurrent storage area with the minimum data read-write flow as the candidate concurrent storage area. IO flow balance of each concurrent storage area is facilitated.
In one possible example, the determining the target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area includes: determining a target concurrent storage area from the at least one candidate concurrent storage area according to a priority order of a preset concurrent storage area; and determining blank storage units ranked at the first bit in the plurality of storage units included in the target concurrent storage area as target storage units.
Specifically, after determining a candidate concurrent storage area according to the above algorithm, for example, according to the number of open storage units and/or the data read-write flow, the data storage device may determine a target concurrent storage area from at least one candidate concurrent storage area according to a preset priority order of the concurrent storage areas. The priority order includes the order of data transmission channel (channel), then CE, then Plane. As shown in fig. 2B, the determined candidate concurrent storage areas are the second concurrent storage area, the third concurrent storage area, and the nth concurrent storage area. Since the open storage unit located in the first concurrent storage area is already present in channel0 and channel1, the second concurrent storage area located in (channel 2, CE0) and channel 3, CE0) is preferentially selected as the target concurrent storage area.
Further, since the target concurrent storage area includes a plurality of storage units, the selection may be performed in an internal order when the target storage unit is determined from the target concurrent storage area. For example, in the second concurrent storage area, there are other blank zones below position 2, and position 2 is a blank storage unit ranked in the first order in the second concurrent storage area, and position 2 is determined as the target storage unit.
As can be seen, when there are multiple candidate concurrent storage areas, the data storage device may determine the target concurrent storage area according to a preset priority order, such as a channel order, a CE order, or a plane order. And determining the blank storage unit with the target concurrent storage area ordered in the first bit as the target storage unit. The data writing efficiency can be effectively improved, the data writing amplification is reduced, and the waste of the SSD storage space is reduced.
In one possible example, the characteristic information includes an operating parameter of the blank storage unit, and the determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area includes: determining a target concurrent storage area from the at least one candidate concurrent storage area according to a priority order of a preset concurrent storage area; and determining a blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit in a plurality of storage units included in the target concurrent storage area as a target storage unit.
Specifically, after determining a candidate concurrent storage area according to the above algorithm, for example, according to the number of open storage units and/or the data read-write flow, the data storage device may determine a target concurrent storage area from at least one candidate concurrent storage area according to a preset priority order of the concurrent storage areas. And after determining the target concurrent storage area, the data storage device is based on the operation parameter, namely the PE value, of each blank storage unit. And determining the blank storage unit with the minimum value as the target storage unit. As shown in fig. 3D, in the target concurrent storage area, if the PE values of the respective blank storage units are 87, 30, and 65, respectively, the blank storage unit having the PE value of 30 is set as the target storage unit.
Therefore, after the data storage device determines the target concurrent storage area, the blank storage unit with the minimum PE value in the target concurrent storage area is used as the target storage unit. By balancing the use times of each storage unit, the service life of the SSD is integrally prolonged.
In one possible example, the determining the target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area includes: determining a blank storage unit with the minimum numerical value indicated by the operation parameters of the blank storage units from a plurality of storage units included in the at least two concurrent storage areas according to the operation parameters of the blank storage units in each concurrent storage area; and determining the blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit as the target storage unit.
Specifically, when the data storage device determines the target storage unit from a plurality of storage units included in at least two concurrent storage areas according to the operation parameter, that is, the PE value, of the blank storage unit included in the feature information, the data storage device may determine the target storage unit according to the operation parameter of each blank storage unit in each concurrent storage area. As shown in fig. 3E, the PE values of the blank memory cells are 87, 30, 65, 47, 100, 80, 87, 27, and 77 …, respectively, and the blank memory cell having the PE value of 27 is the blank memory cell having the smallest PE value, and the blank memory cell having the PE value of 27 is used as the target memory cell.
It can be seen that, when the data storage device determines the target storage unit, the PE values of all the blank storage units are compared, and the blank storage unit with the smallest PE value is taken as the target storage unit. By balancing the use times of each storage unit, the service life of the SSD is integrally prolonged.
Alternatively, when determining which one or more kinds of feature information are used to determine the target storage unit, the data storage device may preset an occupation ratio of an algorithm corresponding to each feature information. For example, the determination target memory cell according to the number of open memory cells is set as algorithm 1, and for example, as shown in fig. 2B, the number of open memory cells of the first concurrent memory region is 3, the number of open memory cells of the second concurrent memory region is 2, the number of open memory cells of the second concurrent memory region is 0, and the number of open memory cells of the nth concurrent memory region is 1. The second concurrent storage area is the concurrent storage area with the least number of open storage units, and the second concurrent storage area can be used as a candidate concurrent storage area. And setting the target storage unit determined according to the data read-write flow as an algorithm 2, namely selecting the concurrent storage area with the minimum data read-write flow as a candidate concurrent storage area according to the data read-write flow of each concurrent storage area. The target memory cell determined from the operating parameters of the blank memory cell is set to algorithm 3. For example, as shown in fig. 3D, in the target concurrent storage area, if the PE values of the respective blank storage units are 87, 30, and 65, respectively, the blank storage unit having the PE value of 30 is set as the target storage unit. Different selection weights and selection scores are set for different algorithms to determine the finally adopted algorithm for determining the target storage unit. The weight system may be represented by the following formula:
P=αP1+βP2+γP3
where P1 is the selection score of algorithm 1, P2 is the selection score of algorithm 2, and P3 is the selection score of algorithm 3.α is the selection weight of algorithm 1, β is the selection weight of algorithm 2, and γ is the selection weight of algorithm 3. The values α, β, γ are in [0, 1], and α + β + γ is 1. And finally determining the finally adopted algorithm according to the calculated P value. For example, if the P value is calculated to be less than or equal to 5, an algorithm 1 is adopted; if the P value is more than 5 and less than or equal to 10, an algorithm 2 is adopted; if the P value is more than 10 and less than or equal to 20, an algorithm 3 is adopted, and the like. A combination of various algorithms is implemented.
Referring to fig. 4, a functional unit diagram of a data storage device 400 according to an embodiment of the present invention is shown, where the data storage device 400 according to the embodiment of the present invention may be a built-in device of an electronic apparatus or may be an external device of the electronic apparatus. The data storage device is configured with a storage device, the storage device includes at least two concurrent storage areas, and each of the at least two concurrent storage areas includes a plurality of storage units.
In one implementation manner of the apparatus according to the embodiment of the present invention, the data storage apparatus includes:
the communication unit 410 is configured to, when it is detected that there is data to be written, acquire feature information of each of at least two concurrent storage areas of the storage device.
A processing unit 420, configured to determine a target storage unit from multiple storage units included in the at least two concurrent storage areas according to the feature information of each concurrent storage area.
The processing unit 420 is further configured to write the data to be written into the target storage unit.
The characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units; the open memory cell is a memory cell that is executing a data write operation, and the blank memory cell is a memory cell that does not store data.
In a possible example, in the aspect that the target storage unit is determined from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area, the processing unit 420 is specifically configured to determine at least one candidate concurrent storage area from the at least two concurrent storage areas according to the characteristic information of each concurrent storage area; determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area.
In a possible example, in the aspect that the feature information includes the number of the open storage units, and the determining at least one candidate concurrent storage area from the at least two concurrent storage areas according to the feature information of each concurrent storage area, the processing unit 420 is specifically configured to determine, according to the number of the open storage units in each concurrent storage area, a concurrent storage area with the smallest number of open storage units from the at least two concurrent storage areas; and taking the concurrent storage area with the minimum number of the open storage units as a candidate concurrent storage area, wherein the concurrent storage area with the minimum number of the open storage units is one or more.
In a possible example, in the aspect that the feature information includes the data read-write traffic, and the at least one candidate concurrent storage area is determined from the at least two concurrent storage areas according to the feature information of each concurrent storage area, the processing unit 420 is specifically configured to determine, according to the data read-write traffic of each concurrent storage area, a concurrent storage area with a minimum data read-write traffic from a concurrent storage area with a blank storage unit in the at least two concurrent storage areas; and taking the concurrent storage area with the minimum data read-write flow as a candidate concurrent storage area, wherein the concurrent storage area with the minimum data read-write flow is one or more concurrent storage areas.
In a possible example, in the aspect of determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area, the processing unit 420 is specifically configured to determine the target concurrent storage area from the at least one candidate concurrent storage area according to a preset priority order of the concurrent storage areas; and determining blank storage units ranked at the first bit in the plurality of storage units included in the target concurrent storage area as target storage units.
In a possible example, in an aspect that the feature information includes an operation parameter of the blank storage unit, and the determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area, the processing unit 420 is specifically configured to determine a target concurrent storage area from the at least one candidate concurrent storage area according to a preset priority order of the concurrent storage areas; and determining a blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit in a plurality of storage units included in the target concurrent storage area as a target storage unit.
In a possible example, in an aspect that the feature information includes operation parameters of the blank storage units, and the target storage unit is determined from a plurality of storage units included in the at least two concurrent storage areas according to the feature information of each concurrent storage area, the processing unit 420 is specifically configured to determine, from the plurality of storage units included in the at least two concurrent storage areas, a blank storage unit with a smallest value indicated by the operation parameters of the blank storage unit according to the operation parameters of each blank storage unit in each concurrent storage area; and determining the blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit as the target storage unit.
In some embodiments, the data storage device may further include an input/output interface, a communication interface, a power source, and a communication bus.
The embodiment of the present application may perform the division of the functional units on the data storage device according to the above method examples, for example, each functional unit may be divided corresponding to each function, or two or more functions may be integrated into one processing unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present application is schematic, and is only a logic function division, and there may be another division manner in actual implementation.
Referring to fig. 5 again, the structure of the electronic device according to the embodiment of the present invention is schematically illustrated, where the electronic device includes a power supply module and the like, and includes a processor 501, a storage device 502, and a communication interface 503. The processor 501, the storage device 502, and the communication interface 503 may exchange data with each other.
The storage device 502 may include volatile memory (volatile memory), such as random-access memory (RAM); the storage device 502 may also include a non-volatile memory (non-volatile memory), such as a flash memory (flash memory), a solid-state drive (SSD), etc.; the storage device 502 may also comprise a combination of memories of the kind described above. The communication interface 503 is an interface for data interaction between internal devices of the electronic device, such as: a storage device 502 and a processor 501.
The processor 501 may be a Central Processing Unit (CPU) 501. In one embodiment, the processor 501 may also be a Graphics Processing Unit (GPU) 501. The processor 501 may also be a combination of a CPU and a GPU. In one embodiment, the storage device 502 is used to store program instructions. The processor 501 may call the program instructions to perform the following steps:
when detecting that data to be written exists, acquiring characteristic information of each concurrent storage area in at least two concurrent storage areas of the storage device;
determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area;
writing the data to be written into the target storage unit;
the characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units; the open memory cell is a memory cell that is executing a data write operation, and the blank memory cell is a memory cell that does not store data.
In a possible example, in the aspect that the target storage unit is determined from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area, the processor 501 is specifically configured to: determining at least one candidate concurrent storage area from the at least two concurrent storage areas according to the characteristic information of each concurrent storage area; determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area.
In a possible example, in an aspect that the feature information includes the number of the open storage units, and the determining, according to the feature information of each concurrent storage area, at least one candidate concurrent storage area from the at least two concurrent storage areas, the processor 501 is specifically configured to: determining a concurrent storage area with the minimum number of open storage units from the at least two concurrent storage areas according to the number of the open storage units in each concurrent storage area; and taking the concurrent storage area with the minimum number of the open storage units as a candidate concurrent storage area, wherein the concurrent storage area with the minimum number of the open storage units is one or more.
In a possible example, in an aspect that the feature information includes the data read-write traffic, and the determining at least one candidate concurrent storage area from the at least two concurrent storage areas according to the feature information of each concurrent storage area, the processor 501 is specifically configured to: according to the data read-write flow of each concurrent storage area, determining a concurrent storage area with the minimum data read-write flow from the concurrent storage areas with blank storage units in the at least two concurrent storage areas; and taking the concurrent storage area with the minimum data read-write flow as a candidate concurrent storage area, wherein the concurrent storage area with the minimum data read-write flow is one or more concurrent storage areas.
In a possible example, in the aspect of determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area, the processor 501 is specifically configured to: determining a target concurrent storage area from the at least one candidate concurrent storage area according to a priority order of a preset concurrent storage area; and determining blank storage units ranked at the first bit in the plurality of storage units included in the target concurrent storage area as target storage units.
In a possible example, in an aspect that the feature information includes an operation parameter of the blank memory unit, and the determining the target memory unit from a plurality of memory units included in the at least one candidate concurrent memory area, the processor 501 is specifically configured to: determining a target concurrent storage area from the at least one candidate concurrent storage area according to a priority order of a preset concurrent storage area; and determining a blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit in a plurality of storage units included in the target concurrent storage area as a target storage unit.
In a possible example, in an aspect that the feature information includes an operation parameter of the blank storage unit, and the determining, according to the feature information of each of the at least two concurrent storage areas, a target storage unit from a plurality of storage units included in the at least two concurrent storage areas, the processor 501 is specifically configured to: determining a blank storage unit with the minimum numerical value indicated by the operation parameters of the blank storage units from a plurality of storage units included in the at least two concurrent storage areas according to the operation parameters of the blank storage units in each concurrent storage area; and determining the blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit as the target storage unit.
In a specific implementation, the processor 501, the storage device 502, and the communication interface 503 described in this embodiment of the present invention may execute the implementation described in the related embodiment of the data storage method provided in fig. 2A or fig. 3A in the embodiment of the present invention, and may also execute the implementation described in the related embodiment of the data storage method provided in fig. 4 in the embodiment of the present invention, which is not described herein again.
Embodiments of the present application also provide a computer storage medium, wherein the computer storage medium stores a computer program for electronic data exchange, and the computer program enables a computer to execute part or all of the steps of any one of the methods as described in the above method embodiments.
Embodiments of the present application also provide a computer program product or computer program comprising computer instructions stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform some or all of the steps of any of the methods as recited in the above method embodiments.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
While the invention has been described with reference to a number of embodiments, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (10)
1. A method of storing data, comprising:
when detecting that data to be written exists, acquiring characteristic information of each concurrent storage area in at least two concurrent storage areas of the storage device;
determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area;
writing the data to be written into the target storage unit;
the characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units; the open memory cell is a memory cell that is performing a data write operation.
2. The method according to claim 1, wherein the determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area comprises:
determining at least one candidate concurrent storage area from the at least two concurrent storage areas according to the characteristic information of each concurrent storage area;
determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area.
3. The method according to claim 2, wherein the characteristic information includes the number of the open storage units, and the determining at least one candidate concurrent storage area from the at least two concurrent storage areas according to the characteristic information of each concurrent storage area includes:
determining a concurrent storage area with the minimum number of open storage units from the at least two concurrent storage areas according to the number of the open storage units in each concurrent storage area;
and taking the concurrent storage area with the minimum number of the open storage units as a candidate concurrent storage area, wherein the concurrent storage area with the minimum number of the open storage units is one or more.
4. The method according to claim 2, wherein the feature information includes the data read-write traffic, and the determining at least one candidate concurrent storage area from the at least two concurrent storage areas according to the feature information of each concurrent storage area includes:
according to the data read-write flow of each concurrent storage area, determining a concurrent storage area with the minimum data read-write flow from the concurrent storage areas with blank storage units in the at least two concurrent storage areas;
and taking the concurrent storage area with the minimum data read-write flow as a candidate concurrent storage area, wherein the concurrent storage area with the minimum data read-write flow is one or more concurrent storage areas.
5. The method according to any of claims 2-4, wherein the determining a target storage unit from a plurality of storage units included in the at least one candidate concurrent storage area comprises:
determining a target concurrent storage area from the at least one candidate concurrent storage area according to a priority order of a preset concurrent storage area;
and determining blank storage units ranked at the first bit in the plurality of storage units included in the target concurrent storage area as target storage units.
6. The method according to any of claims 2-4, wherein the characteristic information comprises an operating parameter of the blank storage unit, and wherein the determining a target storage unit from a plurality of storage units comprised by the at least one candidate concurrent storage area comprises:
determining a target concurrent storage area from the at least one candidate concurrent storage area according to a priority order of a preset concurrent storage area;
and determining a blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit in a plurality of storage units included in the target concurrent storage area as a target storage unit.
7. The method according to claim 1, wherein the characteristic information includes an operation parameter of the blank storage unit, and the determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area includes:
determining a blank storage unit with the minimum numerical value indicated by the operation parameters of the blank storage units from a plurality of storage units included in the at least two concurrent storage areas according to the operation parameters of the blank storage units in each concurrent storage area;
and determining the blank storage unit with the minimum value indicated by the operating parameter of the blank storage unit as the target storage unit.
8. A data storage device corresponding to an electronic apparatus, characterized in that the data storage device comprises:
the communication unit is used for acquiring the characteristic information of each concurrent storage area in at least two concurrent storage areas of the storage device when the existence of the data to be written is detected;
the processing unit is used for determining a target storage unit from a plurality of storage units included in the at least two concurrent storage areas according to the characteristic information of each concurrent storage area;
the processing unit is further configured to write the data to be written into the target storage unit;
the characteristic information comprises one or more of the number of open storage units, data read-write flow and operation parameters of blank storage units; the open memory cell is a memory cell that is performing a data write operation.
9. An electronic device comprising a processor, a storage device, a communication interface, and one or more programs, the one or more programs being stored in the memory and configured to be executed by the processor to perform the method of any of claims 1-7.
10. A computer-readable storage medium, characterized in that a computer program for electronic data exchange is stored, wherein the computer program causes a computer to perform the method according to any one of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011024579.7A CN112148226A (en) | 2020-09-25 | 2020-09-25 | Data storage method and related device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011024579.7A CN112148226A (en) | 2020-09-25 | 2020-09-25 | Data storage method and related device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148226A true CN112148226A (en) | 2020-12-29 |
Family
ID=73897251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011024579.7A Pending CN112148226A (en) | 2020-09-25 | 2020-09-25 | Data storage method and related device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148226A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138193A (en) * | 2021-11-25 | 2022-03-04 | 郑州云海信息技术有限公司 | Data writing method, device and equipment for solid state disk with partitioned name space |
CN114490540A (en) * | 2022-02-14 | 2022-05-13 | 杭州朗和科技有限公司 | Data storage method, medium, device and computing equipment |
US11853565B2 (en) | 2021-10-01 | 2023-12-26 | Western Digital Technologies, Inc. | Support higher number of active zones in ZNS SSD |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775453A (en) * | 2016-11-22 | 2017-05-31 | 华中科技大学 | A kind of construction method for mixing storage array |
US20200167274A1 (en) * | 2019-12-20 | 2020-05-28 | Intel Corporation | Zoned namespace with zone grouping |
CN111694515A (en) * | 2020-05-23 | 2020-09-22 | 苏州浪潮智能科技有限公司 | Zone writing distribution method and system based on ZNS solid state disk |
-
2020
- 2020-09-25 CN CN202011024579.7A patent/CN112148226A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775453A (en) * | 2016-11-22 | 2017-05-31 | 华中科技大学 | A kind of construction method for mixing storage array |
US20200167274A1 (en) * | 2019-12-20 | 2020-05-28 | Intel Corporation | Zoned namespace with zone grouping |
CN111694515A (en) * | 2020-05-23 | 2020-09-22 | 苏州浪潮智能科技有限公司 | Zone writing distribution method and system based on ZNS solid state disk |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853565B2 (en) | 2021-10-01 | 2023-12-26 | Western Digital Technologies, Inc. | Support higher number of active zones in ZNS SSD |
CN114138193A (en) * | 2021-11-25 | 2022-03-04 | 郑州云海信息技术有限公司 | Data writing method, device and equipment for solid state disk with partitioned name space |
CN114138193B (en) * | 2021-11-25 | 2024-03-26 | 郑州云海信息技术有限公司 | Data writing method, device and equipment for partition naming space solid state disk |
CN114490540A (en) * | 2022-02-14 | 2022-05-13 | 杭州朗和科技有限公司 | Data storage method, medium, device and computing equipment |
CN114490540B (en) * | 2022-02-14 | 2024-05-28 | 杭州网易数之帆科技有限公司 | Data storage method, medium, device and computing equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230315290A1 (en) | Namespaces allocation in non-volatile memory devices | |
EP3992801A1 (en) | Data storage method for flash memory device and flash memory device | |
US20220137849A1 (en) | Fragment Management Method and Fragment Management Apparatus | |
EP3958107A1 (en) | Storage system, memory management method, and management node | |
US8131969B2 (en) | Updating system configuration information | |
CN112148226A (en) | Data storage method and related device | |
CN107908571B (en) | Data writing method, flash memory device and storage equipment | |
CN113625973B (en) | Data writing method, device, electronic equipment and computer readable storage medium | |
CN112925792B (en) | Data storage control method, device, computing equipment and medium | |
US20210208800A1 (en) | Data storage device, and non-volatile memory control method | |
CN110221781B (en) | Manufacturing method and device of disk fragments, storage medium and intelligent terminal | |
CN113867644B (en) | Disk array optimization method, disk array optimization device, computer equipment and storage medium | |
US11836087B2 (en) | Per-process re-configurable caches | |
CN111158602A (en) | Data layered storage method, data reading method, storage host and storage system | |
US20060095707A1 (en) | Bidirectional data storing method | |
US10310758B2 (en) | Storage system and storage control method | |
CN115390747A (en) | Storage device and operation method thereof | |
US20240070120A1 (en) | Data processing method and apparatus | |
CN118312102A (en) | IO request processing method and device, storage equipment and storage medium | |
CN113434470B (en) | Data distribution method and device and electronic equipment | |
GB2497172A (en) | Reserving space on a storage device for new data based on predicted changes in access frequencies of storage devices | |
CN107632779A (en) | Data processing method and device, server | |
CN107203341A (en) | Date storage method, device and flash chip based on flash memory | |
CN111007988B (en) | RAID internal wear balancing method, system, terminal and storage medium | |
CN117215485A (en) | ZNS SSD management method, data writing method, storage device and controller |
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 |