CN113625973A - Data writing method and device, electronic equipment and computer readable storage medium - Google Patents
Data writing method and device, electronic equipment and computer readable storage medium Download PDFInfo
- Publication number
- CN113625973A CN113625973A CN202111005484.5A CN202111005484A CN113625973A CN 113625973 A CN113625973 A CN 113625973A CN 202111005484 A CN202111005484 A CN 202111005484A CN 113625973 A CN113625973 A CN 113625973A
- Authority
- CN
- China
- Prior art keywords
- data
- migrated
- empty
- block
- writing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000013507 mapping Methods 0.000 claims abstract description 33
- 238000012005 ligant binding assay Methods 0.000 claims description 31
- 238000013508 migration Methods 0.000 claims description 22
- 238000013500 data storage Methods 0.000 abstract description 3
- 230000005012 migration Effects 0.000 description 14
- 230000001960 triggered effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/064—Management of blocks
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
The application relates to a data writing method, a data writing device, electronic equipment and a computer readable storage medium, which relate to the technical field of data storage, and the method comprises the following steps: when the condition that the continuous data need to be written is detected, determining data to be migrated, determining corresponding PBA according to the mapping relation between the LBA and the physical block address PBA and the LBA corresponding to the data to be migrated, acquiring the data to be migrated from the determined PBA, sequentially writing the acquired data to be migrated into corresponding empty blocks according to the LBA corresponding to the data to be migrated, and selecting the empty blocks from an empty block queue to write the data when the condition that the continuous data need to be written is detected. The data writing method, the data writing device, the electronic equipment and the computer readable storage medium can improve the writing speed of continuous big data.
Description
Technical Field
The present application relates to the field of data storage technologies, and in particular, to a data writing method and apparatus, an electronic device, and a computer-readable storage medium.
Background
The mapping table of a Solid State Drive (SSD) is a mapping between a Logical Block Address (LBA) and a Physical Block Address (PBA), and may also be referred to as an L2P mapping table, and in a data writing process, a host (host) issues the LBA to the SSD, and the SSD queries an L2P table to find the PBA, thereby finding a corresponding flash location to perform reading and writing operations.
Generally, a whole physical block is written and covered in the data writing process, but if the data storage positions in a part of the physical block are discontinuous, data may need to be moved first and then written, so that the time required by data writing is long, the data writing speed is slow, and the user experience is poor.
Disclosure of Invention
In order to reduce the time required for data writing, improve the data writing speed and improve the user experience, the application provides a data writing method, a data writing device, an electronic device and a computer-readable storage medium.
In a first aspect, the present application provides a data writing method, including:
when a first preset condition is detected to be met, determining data to be migrated, wherein the data to be migrated is a whole segment of data with continuous logical block addresses and discontinuous physical addresses, and the data volume of the data to be migrated is not less than the size of an empty block;
determining a corresponding PBA according to the mapping relation between the logical block address LBA and the physical block address PBA and the LBA corresponding to the data to be migrated, and acquiring the data to be migrated from the determined PBA;
sequentially writing the acquired data to be migrated into corresponding empty blocks according to the LBAs corresponding to the data to be migrated;
and when detecting that continuous data needs to be written, selecting an empty block from the empty block queue for data writing.
In one possible implementation, the first preset condition includes at least one of:
detecting a data sorting operation request issued by a host;
detecting that a host is in an idle state;
and detecting that the number of the current empty data blocks is less than a preset threshold value.
In another possible implementation manner, the determining data to be migrated includes:
and determining the data to be migrated by reading the logical block addresses in sequence from the small arrival order of the logical block addresses based on the mapping relation between the logical block addresses and the physical block addresses.
In another possible implementation manner, the sequentially writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated includes:
determining an empty block to be written;
and sequentially writing the acquired data to be migrated into the determined empty blocks to be written according to the LBAs corresponding to the data to be acquired.
In another possible implementation manner, the determining the empty block to be written includes at least one of:
selecting an empty block to be written from the empty block queue;
and determining the data volume of the empty block to be written based on the data volume of the data to be migrated, and selecting the empty block to be written from the empty block queue based on the data volume of the empty block to be written.
In another possible implementation manner, the data to be migrated is acquired according to the mapping relationship between the logical block address LBA and the physical block address PBA and the LBA corresponding to the data to be migrated; sequentially writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated, wherein the method comprises the following steps:
s1, acquiring data to be migrated;
s2, sequentially writing the data to be migrated into the corresponding empty blocks according to the logical block addresses;
executing step S1 and step S2 in a loop until an exit condition is satisfied;
wherein the exit condition comprises at least one of:
detecting a data sorting operation quit instruction issued by a host;
detecting the state of finishing the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not less than the preset threshold value.
In another possible implementation manner, the determining data to be migrated includes:
and determining the data to be migrated by reading the logical block addresses in sequence from the small arrival order of the logical block addresses based on the mapping relation between the logical block addresses and the physical block addresses.
In another possible implementation manner, the sequentially writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated includes:
determining an empty block to be written;
and sequentially writing the acquired data to be migrated into the determined empty blocks to be written according to the LBAs corresponding to the data to be acquired.
In another possible implementation manner, the determining the empty block to be written includes at least one of:
selecting an empty block to be written from the empty block queue;
and determining the data volume of the empty block to be written based on the data volume of the data to be migrated, and selecting the empty block to be written from the empty block queue based on the data volume of the empty block to be written.
In another possible implementation manner, the data to be migrated is acquired according to the mapping relationship between the logical block address LBA and the physical block address PBA and the LBA corresponding to the data to be migrated; sequentially writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated, wherein the method comprises the following steps:
s1, acquiring data to be migrated;
s2, sequentially writing the data to be migrated into the corresponding empty blocks according to the logical block addresses;
executing step S1 and step S2 in a loop until an exit condition is satisfied;
wherein the exit condition comprises at least one of:
detecting a data sorting operation quit instruction issued by a host;
detecting the state of finishing the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not less than the preset threshold value.
In another possible implementation manner, the method further includes:
updating the L2P table;
wherein the update L2P table includes at least one of:
deleting the corresponding relation between the LBA and the PBA corresponding to the migrated data in the L2P table;
and determining a post-migration PBA corresponding to the migrated data, and updating the L2P table based on the post-migration PBA corresponding to the migrated data and the LBA corresponding to the migrated data.
In a second aspect, there is provided a data writing apparatus comprising:
the device comprises a first determining module, a second determining module and a third determining module, wherein the first determining module is used for determining data to be migrated when a first preset condition is met, the data to be migrated is a whole segment of data with continuous logical block addresses and discontinuous physical addresses, and the data volume of the data to be migrated is not less than the size of an empty block;
a second determining module, configured to determine a corresponding PBA according to a mapping relationship between the logical block address LBA and the physical block address PBA, and the LBA corresponding to the data to be migrated;
a first data writing module, configured to obtain the data to be migrated from the determined PBA, and sequentially write the obtained data to be migrated into corresponding empty blocks according to LBAs corresponding to the data to be migrated;
and the second data writing module is used for selecting an empty block from the empty block queue for data writing when the fact that continuous data need to be written is detected.
In one possible implementation, the first preset condition includes at least one of:
detecting a data sorting operation request issued by a host;
detecting that a host is in an idle state;
and detecting that the number of the current empty data blocks is less than a preset threshold value.
In another possible implementation manner, when determining the data to be migrated, the first determining module is specifically configured to:
and determining the data to be migrated by reading the logical block addresses in sequence from the small arrival order of the logical block addresses based on the mapping relation between the logical block addresses and the physical block addresses.
In another possible implementation manner, when the first data writing module sequentially writes the acquired data to be migrated into the corresponding empty block according to the LBA corresponding to the data to be migrated, the first data writing module is specifically configured to:
determining an empty block to be written;
and sequentially writing the acquired data to be migrated into the determined empty blocks to be written according to the LBAs corresponding to the data to be acquired.
In another possible implementation manner, when determining an empty block to be written, the first data writing module is specifically configured to at least one of:
selecting an empty block to be written from the empty block queue;
and determining the data volume of the empty block to be written based on the data volume of the data to be migrated, and selecting the empty block to be written from the empty block queue based on the data volume of the empty block to be written.
In another possible implementation manner, the first data writing module obtains the data to be migrated according to a mapping relationship between a logical block address LBA and a physical block address PBA and the LBA corresponding to the data to be migrated; when sequentially writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated, the method is specifically configured to:
acquiring data to be migrated;
sequentially writing the data to be migrated into the corresponding empty blocks according to the logical block addresses;
circularly executing the step of acquiring the data to be migrated and writing the data to be migrated into the corresponding empty blocks in sequence according to the logical block addresses until an exit condition is met;
wherein the exit condition comprises at least one of:
detecting a data sorting operation quit instruction issued by a host;
detecting the state of finishing the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not less than the preset threshold value.
In another possible implementation manner, the apparatus further includes: an update module that, where,
the updating module is used for updating the L2P table;
wherein, when updating the L2P table, the updating module is specifically configured to at least one of:
deleting the corresponding relation between the LBA and the PBA corresponding to the migrated data in the L2P table;
and determining a post-migration PBA corresponding to the migrated data, and updating the L2P table based on the post-migration PBA corresponding to the migrated data and the LBA corresponding to the migrated data.
In a third aspect, an electronic device is provided, which includes:
one or more processors;
a memory;
one or more application programs, wherein the one or more application programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs configured to: and executing the operation corresponding to the data writing method according to any one of the possible implementation manners of the first aspect.
In a fourth aspect, a computer-readable storage medium is provided, in which at least one instruction, at least one program, code set, or instruction set is stored, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement a data writing method as shown in any one of the possible implementations of the first aspect.
In summary, the present application includes at least one of the following beneficial technical effects:
compared with the related art, in the application, when the condition that a first preset condition is met is detected, data to be migrated is determined, the data to be migrated is an integral data occupying discontinuous Logic Block Address (LBA), the data volume of the data to be migrated is not smaller than the size of an empty block, the data to be migrated is obtained according to the mapping relation between the Logic Block Address (LBA) and the Physical Block Address (PBA) and the LBA corresponding to the data to be migrated, the obtained data to be migrated is sequentially written into the corresponding empty block according to the LBA corresponding to the data to be migrated, and when the condition that the continuous data needs to be written is detected, the empty block is selected from an empty block queue to be written. That is to say, before new continuous data write in, write in logical block address discontinuous data in the corresponding empty block according to the LBA in proper order to can replace more empty blocks, can have sufficient empty blocks to write in, need not carry out data migration earlier when carrying out data write in, because empty block is not enough, then write in, thereby can reduce the required duration that data write in, and then can improve data write in speed, and can promote user experience.
Drawings
Fig. 1 is a schematic flowchart of a data writing method according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a data writing device according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The present application is described in further detail below with reference to the attached drawings.
The present embodiment is only for explaining the present application, and it is not limited to the present application, and those skilled in the art can make modifications of the present embodiment without inventive contribution as needed after reading the present specification, but all of them are protected by patent law within the scope of the claims of the present application.
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, 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 some embodiments of the present application, but not all 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.
In addition, the term "and/or" herein is only one kind of association relationship describing an associated object, and means that there may be three kinds of relationships, for example, a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship, unless otherwise specified.
The host computer such as a tablet computer and a mobile phone writes logic data into a memory (such as emmc) for storage, after a large amount of fragmented data are written into the memory for a long time, the logic data distributed on NandFlash can be arranged out of order, and further the logic data distributed on the data blocks of NandFlash are also arranged out of order.
The embodiments of the present application will be described in further detail with reference to the drawings attached hereto.
The data writing method provided in the embodiment of the present application may be executed by an electronic device, where the electronic device may be a server or a terminal device, where the server may be an independent physical server, a server cluster or a distributed system formed by multiple physical servers, or a cloud server providing cloud computing services. The terminal device may be a smart phone, a tablet computer, a notebook computer, a desktop computer, and the like, but is not limited thereto, the terminal device and the server may be directly or indirectly connected through a wired or wireless communication manner, and an embodiment of the present application is not limited thereto, as shown in fig. 1, the method includes:
step S101, when the first preset condition is detected to be met, determining data to be migrated.
The data to be migrated is a whole segment of data with continuous logical block addresses and discontinuous physical addresses, and the data volume of the data to be migrated is not less than the size of an empty block.
Step S102, determining a corresponding PBA according to the mapping relation between the logic block address LBA and the physical block address PBA and the LBA corresponding to the data to be migrated, and acquiring the data to be migrated from the determined PBA.
And step S103, writing the acquired data to be migrated into the corresponding empty blocks in sequence according to the LBAs corresponding to the data to be migrated.
Specifically, an empty block is a data block in which there is no valid logical data and can be used as a logical data write.
And step S104, when the fact that continuous data need to be written is detected, selecting an empty block from the empty block queue to write the data.
For the embodiment of the present application, the empty block queue includes a plurality of empty blocks. In the embodiment of the application, when it is detected that new data needs to be written, the number of the required empty blocks may not be limited, the number of the required empty blocks is determined according to the data amount of the data to be written, or one empty block may be selected to continuously write the data, and when the writing space of the empty block is insufficient, another empty block is selected to continue writing until the data writing is completed.
Further, in this embodiment of the present application, the empty block in which new data is written may be a new empty data block vacated in the above manner, or may be an empty block remaining before the scheme of the present application is performed, which is not limited in this embodiment of the present application.
Further, in the embodiment of the present application, after the data sorting, the logical block addresses of the data in the data block are continuous, and when subsequent continuous big data is written, the old data block can be completely covered to replace an empty block, so as to further improve the writing speed of the continuous big data.
Compared with the prior art, in the embodiment of the application, when the condition that a first preset condition is met is detected, data to be migrated is determined, the data to be migrated is an integral data occupying discontinuous LBA (logical block address) and the data amount of the data to be migrated is not smaller than the size of an empty block, the data to be migrated is obtained according to the mapping relation between the LBA and the PBA and the LBA corresponding to the data to be migrated, the obtained data to be migrated is sequentially written into the corresponding empty blocks according to the LBA corresponding to the data to be migrated, and when the condition that the continuous data needs to be written is detected, the empty blocks are selected from an empty block queue to be written. That is to say, before new continuous data write in, write in corresponding empty block in proper order with the discontinuous data of logical block address according to the LBA, obtain the continuous data block of logical address, when continuous big data write in, old data block can be directly covered because the logical address above is continuous, directly replace more empty blocks, can have sufficient empty block to write in, need not be when carrying out data write in, because empty block is not enough, need first data migration, then write in, thereby can reduce the required duration of data write in, and then can improve data write in speed, and can promote user experience.
Further, in the embodiment of the present application, when it is detected that the first preset condition is met, a condition for orderly migrating unordered data stored in the data block into a null data block (that is, a condition for implementing conversion from unordered to ordered) is triggered.
Wherein the first preset condition comprises at least one of the following:
detecting a data sorting operation request issued by a host;
detecting that a host is in an idle state;
and detecting that the number of the current empty data blocks is less than a preset threshold value.
Specifically, in the embodiment of the present application, the host device host: for example, after the logic data is written into a memory (such as emmc) and stored in the memory for writing a large amount of fragment data for a long time, the logic data LB distributed on the Nand Flash is arranged out of order, and further the logic data distributed on the Block of the Nand Flash is also arranged out of order.
Further, when the memory device detects that the host has no request action when the memory device is idle for a certain time threshold, the memory controller triggers the sorting from disorder to order; furthermore, the sorting from disorder to order can be achieved by issuing a customized protocol command by the host, and when the host detects that the writing speed of the storage device is reduced to a certain threshold value or the host has a higher writing speed requirement, the protocol command is actively issued to inform the storage controller, and the sorting action from disorder to order needs to be triggered.
That is to say, the condition for triggering the orderly migration of the unordered data stored in the data block to the empty data block (that is, the condition for realizing the conversion from unordered to ordered) in the embodiment of the present application may be a data sorting operation request issued by the host detected, a data sorting operation instruction issued by the storage controller detected, or a condition for detecting that the number of the currently remaining empty data blocks is smaller than the preset threshold. In the embodiment of the present application, the protocol customization instruction may be regarded as a protocol command customized for the process, and is used for orderly sorting data stored in a plurality of data blocks into a new data block.
Specifically, in the embodiment of the present application, when the host detects that the write-in speed of the storage device is reduced to a certain threshold, or the host needs a higher write-in speed, the host actively issues a data sorting operation request to the storage controller, and after receiving the sorting operation request, the storage controller triggers a data sorting operation from unordered to ordered; or, if the storage controller does not receive the data sorting operation request issued by the host within the first preset time, the storage controller may also actively trigger the data sorting operation from unordered to ordered; of course, the number of the current empty data blocks may also be monitored at intervals of a second preset time, and when the number of the current empty data blocks is smaller than a preset threshold, the data sorting operation from unordered to ordered is triggered. In this embodiment of the present application, the first preset time and the second preset time may be preset by the system itself, and may also be input by the user, which is not limited in this embodiment of the present application, for example, the first preset time and the second preset time may be 5 minutes (min), 1 hour (h). In this embodiment of the present application, when the host detects that the writing speed of the storage device drops to a certain threshold, or the host needs more writing speeds, the host characterizes that it is possible to perform data recovery and write at the same time, and therefore, when the embodiment of the present application is triggered to perform data sorting from unordered to ordered, more empty data blocks can be obtained, so that data recovery during data writing can be avoided, and the writing speed can be increased. Further, when the number of the current empty data blocks is smaller than a preset threshold value, the data sorting from disorder to order is performed in the embodiment of the application, more empty data blocks can be obtained, and when data is subsequently written, more empty data blocks can be written, so that the writing speed can be increased.
Further, the preset threshold may also be set by the system, may also be input by the user, and may also be determined according to the writing amount of the historical data, for example, if the writing amount of the historical data is large, the preset threshold may be set to be large, and if the writing amount of the historical data is small, the preset threshold may be set to be small, which is not limited in the embodiment of the present application, and for example, the preset threshold may be 5, 6, and 10.
Specifically, determining the data to be migrated may specifically include: and determining the data to be migrated by reading the logical block addresses in sequence from the small arrival order of the logical block addresses based on the mapping relation between the logical block addresses and the physical block addresses.
Specifically, according to the mapping relationship between the logical block address and the physical block address, data with continuous logical block addresses and discontinuous physical block addresses is determined as data to be migrated. In the embodiment of the present application, the data to be migrated may be determined through a Logical Address to Physical Address (L2P) table or a P2L table.
Further, in the embodiment of the present application, since the L2P table or the P2L table describes the mapping relationship between the logical block addresses and the physical block addresses, the L2P table or the P2L table can quickly determine the data with consecutive logical block addresses and discontinuous physical block addresses, that is, quickly determine the data to be migrated.
Further, after the data to be migrated is determined by the above embodiment, the data to be migrated may be obtained according to the LBA corresponding to the data to be migrated and the mapping relationship between the LBA and the PBA. In the embodiment of the application, the obtaining of the data to be migrated and the determining of the data to be migrated may be performed simultaneously, or the data to be migrated may be determined first, and then the data to be migrated may be obtained. In the embodiment of the present application, the data to be migrated may be obtained in a manner described in the embodiment of the present application, or may be obtained in a manner of a related technology. The embodiments of the present application are not limited.
Specifically, step S103 may specifically include: determining an empty block to be written; and sequentially writing the acquired data to be migrated into the determined empty blocks to be written according to the LBAs corresponding to the data to be acquired. In the embodiment of the present application, a data block after full migration may be referred to as a SEQ block.
Specifically, the manner of determining the empty block to be written includes at least one of manner 1 and manner 2, wherein,
mode 1, an empty block to be written is selected from an empty block queue.
For the embodiment of the application, the empty block queue comprises a plurality of empty blocks, one empty block is selected from the empty block queue, the obtained data is written in sequence, and if the empty block is full, one empty block is selected from the empty block queue and the writing is continued. That is, regardless of the data amount corresponding to the data to be migrated, as long as there is data to be migrated to be written, an empty block to be written is selected from the empty block queue.
For example, the empty block queue includes: the data migration method comprises the following steps that an empty block 0, an empty block 1, an empty block 2, an empty block 3, an empty block 4 and an empty block 5 are selected, the empty block 0 can be selected to write data to be migrated in sequence, and if the empty block 0 is full, the empty block 1 is selected to continue writing until the data to be migrated do not exist.
And 2, determining the data volume of the empty block to be written based on the data volume of the data to be migrated, and selecting the empty block to be written from the empty block queue based on the data volume of the empty block to be written.
Specifically, after the data to be migrated is determined in the above manner, the data amount of the data to be migrated is determined, then the number of required empty blocks is determined based on the determined data amount, and then the empty blocks are determined from the empty block queue.
For example, if it is determined that the number of empty blocks required for the data to be migrated is 2 based on the data to be migrated, empty block 0 and empty block 1 are determined from the empty block queue.
Specifically, the data to be migrated is acquired according to the mapping relationship between the logical block address LBA and the physical block address PBA and the LBA corresponding to the data to be migrated; sequentially writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated, which may specifically include: step S1 (not shown), step S2 (not shown), and step S3 (not shown), wherein,
step S1, acquiring data to be migrated;
step S2, writing the data to be migrated into the corresponding empty blocks in sequence according to the logical block addresses;
for the embodiment of the present application, the empty block in step S2 may be one empty block, or may be multiple empty blocks, and may be determined according to the amount of data to be migrated.
Step S3, executing step S1 and step S2 in a circulating mode until the exit condition is met;
as for the above example, if the empty blocks in the current empty block queue are empty block 0, empty block 1, empty block 2, and empty block 3, the number of the current empty blocks is 4, the data to be migrated is sequentially written into empty block 0 according to the LBA, and if the empty block 0 is full, the data continues to be written into empty block 1 until the exit condition is satisfied.
Wherein the exit condition comprises at least one of:
detecting a data sorting operation quit instruction issued by a host;
detecting the state of finishing the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty data block is not less than a preset threshold value.
For example, if the preset threshold is 5, that is, the number of the current empty blocks is not less than 5, the loop is stopped.
Further, in this embodiment of the application, in the above loop manner, unordered data may be sorted into empty blocks, which are changed into ordered data, and more empty blocks may be obtained, so that more empty blocks may be written in the subsequent writing, and the subsequent writing speed and writing efficiency may be improved.
In another possible implementation manner of the embodiment of the present application, the method may further include: step Sa (not shown in the figures) may be performed after step S103, or may be performed after step S104 in the present embodiment, wherein,
and step Sa, updating the L2P table. In this embodiment of the present application, the L2P table records the mapping relationship between the LBA and the PBA, and when data is migrated, that is, the PBA corresponding to the LBA changes, the mapping relationship between the LBA and the PBA needs to be updated. Further, when it is detected that continuous data needs to be written, an empty block is selected from the empty block queue for data writing, that is, a new mapping relationship between the LBA and the PBA can be obtained, and at this time, the L2P table also needs to be updated.
Specifically, the L2P table is updated, including at least one of step Sa1 (not shown in the figure) and step Sa2 (not shown in the figure), wherein,
and step Sa1, deleting the corresponding relation between the LBA and PBA corresponding to the migrated data in the L2P table. In this embodiment of the application, the data that has been migrated may be invalid data, and at this time, it is not necessary to add a mapping relationship between the LBA and the PBA corresponding to the migrated data in the L2P table, or even to perform data migration on this part of data.
And step Sa2, determining a migrated PBA corresponding to the migrated data, and updating the L2P table based on the migrated PBA corresponding to the migrated data and the LBA corresponding to the migrated data.
For the embodiment of the present application, data with continuous logical block addresses but discontinuous physical area addresses is migrated to other empty blocks, that is, after the migration occurs, the PBA corresponding to the migrated data is changed, and at this time, the L2P table needs to be updated according to the LBA corresponding to the migrated data and the PBA after the migration.
Further, the empty blocks in the empty block queue may include invalid data blocks, may also include empty blocks already included in the empty block queue before the data migration occurs, and may also include empty blocks vacated after the data migration occurs. The embodiments of the present application are not limited.
Further, when new data needs to be written, an empty block is selected from the empty block queue and written according to the LBA corresponding to the new data. That is, the empty block selected from the empty block queue may be an empty block already included in the empty block queue before the data migration occurs, an empty block vacated after the data migration occurs, or an invalid data block.
The above embodiments describe a data writing method from the perspective of a method flow, and the following embodiments describe a data writing apparatus from the perspective of a virtual apparatus, which can be applied to the above embodiments, and are specifically shown below.
An embodiment of the present application provides a data writing device, and as shown in fig. 2, the data writing device 20 may specifically include: a first determination module 21, a second determination module 22, a first data writing module 23, and a second data writing module 24, wherein,
the first determining module 21 is configured to determine, when it is detected that a first preset condition is met, data to be migrated, where the data to be migrated is a whole piece of data with a continuous logical block address and a discontinuous physical address, and a data amount of the data to be migrated is not less than an empty block size;
a second determining module 22, configured to determine a corresponding PBA according to a mapping relationship between the LBA and the PBA and the LBA corresponding to the data to be migrated;
a first data writing module 23, configured to obtain data to be migrated from the determined PBA, and sequentially write the obtained data to be migrated into corresponding empty blocks according to LBAs corresponding to the data to be migrated;
and a second data writing module 24, configured to select an empty block from the empty block queue for data writing when it is detected that continuous data needs to be written.
In a possible implementation manner of the embodiment of the present application, the first preset condition includes at least one of the following:
detecting a data sorting operation request issued by a host;
detecting that a host is in an idle state;
and detecting that the number of the current empty data blocks is less than a preset threshold value.
In another possible implementation manner of the embodiment of the present application, when determining data to be migrated, the first determining module 21 is specifically configured to: and determining the data to be migrated by reading the logical block addresses in sequence from the small arrival order of the logical block addresses based on the mapping relation between the logical block addresses and the physical block addresses.
In another possible implementation manner of the embodiment of the present application, when the first data writing module 23 sequentially writes the acquired data to be migrated into the corresponding empty block according to the LBA corresponding to the data to be migrated, the first data writing module is specifically configured to: determining an empty block to be written; and sequentially writing the acquired data to be migrated into the determined empty blocks to be written according to the LBAs corresponding to the data to be acquired.
In another possible implementation manner of the embodiment of the present application, when determining an empty block to be written, the first data writing module 23 is specifically configured to at least one of:
selecting an empty block to be written from the empty block queue;
and determining the data volume of the empty block to be written based on the data volume of the data to be migrated, and selecting the empty block to be written from the empty block queue based on the data volume of the empty block to be written.
In another possible implementation manner of the embodiment of the present application, the first data writing module 23 obtains data to be migrated according to a mapping relationship between the logical block address LBA and the physical block address PBA and the LBA corresponding to the data to be migrated; when the obtained data to be migrated is sequentially written into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated, the method is specifically configured to:
acquiring data to be migrated;
sequentially writing the data to be migrated into the corresponding empty blocks according to the logical block addresses;
circularly executing the step of acquiring the data to be migrated and writing the data to be migrated into the corresponding empty blocks in sequence according to the logical block addresses until an exit condition is met;
wherein the exit condition comprises at least one of:
detecting a data sorting operation quit instruction issued by a host;
detecting the state of finishing the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not less than a preset threshold value.
In another possible implementation manner of the embodiment of the present application, the data writing device 20 further includes: an update module that, where,
an update module for updating the L2P table;
wherein, when updating the L2P table, the updating module is specifically configured to at least one of:
deleting the corresponding relation between the LBA and the PBA corresponding to the migrated data in the L2P table;
and determining a post-migration PBA corresponding to the migrated data, and updating the L2P table based on the post-migration PBA corresponding to the migrated data and the LBA corresponding to the migrated data.
Further, in the embodiment of the present application, the first determining module 21 and the second determining module 22 may be the same determining module or different determining modules, and are not limited in the embodiment of the present application.
Further, in this embodiment of the application, the first data writing module 23 and the second data writing module 24 may be the same data writing module or different data writing modules, and are not limited in this embodiment of the application.
Compared with the related art, in the embodiment of the application, when it is detected that a first preset condition is met, data to be migrated is determined, the data to be migrated is an entire segment of discontinuous data occupying LBA, the data amount of the data to be migrated is not smaller than the size of an empty block, the data to be migrated is acquired according to the mapping relation between the LBA and the PBA and the LBA corresponding to the data to be migrated, the acquired data to be migrated is sequentially written into the corresponding empty blocks according to the LBA corresponding to the data to be migrated, and when it is detected that the continuous data needs to be written, the empty blocks are selected from an empty block queue to be written. That is to say, before new continuous data write in, write in logical block address discontinuous data in the corresponding empty block according to the LBA in proper order to can replace more empty blocks, so that there are sufficient empty blocks to write in, need not carry out data first when carrying out data write in, because empty block is not enough, need carry out the data migration earlier, then write in, thereby can reduce the required duration that data write in, and then can improve data write in speed, and can promote user experience.
The data writing device provided in the embodiment of the present application is applicable to the above method embodiments, and is not described herein again.
In an embodiment of the present application, an electronic device is provided, as shown in fig. 3, where the electronic device 300 shown in fig. 3 includes: a processor 301 and a memory 303. Wherein processor 301 is coupled to memory 303, such as via bus 302. Optionally, the electronic device 300 may also include a transceiver 304. It should be noted that the transceiver 304 is not limited to one in practical applications, and the structure of the electronic device 300 is not limited to the embodiment of the present application.
The Processor 301 may be a CPU (Central Processing Unit), a general-purpose Processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other Programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. The processor 301 may also be a combination of computing functions, e.g., comprising one or more microprocessors, a combination of a DSP and a microprocessor, or the like.
The Memory 303 may be a ROM (Read Only Memory) or other type of static storage device that can store static information and instructions, a RAM (Random Access Memory) or other type of dynamic storage device that can store information and instructions, an EEPROM (Electrically Erasable Programmable Read Only Memory), a CD-ROM (Compact Disc Read Only Memory) or other optical Disc storage, optical Disc storage (including Compact Disc, laser Disc, optical Disc, digital versatile Disc, blu-ray Disc, etc.), a magnetic Disc storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to these.
The memory 303 is used for storing application program codes for executing the scheme of the application, and the processor 301 controls the execution. The processor 301 is configured to execute application program code stored in the memory 303 to implement the aspects illustrated in the foregoing method embodiments.
Among them, electronic devices include but are not limited to: mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and the like, and fixed terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 3 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
Embodiments of the present application provide a computer-readable storage medium having a computer program stored thereon, when run on a computer, such that the computer can perform the corresponding content in the foregoing method embodiments, compared to the related art, in the embodiment of the application, when it is detected that a first preset condition is met, determining data to be migrated, wherein the data to be migrated is a whole piece of data occupying discontinuous LBAs, the data amount of the data to be migrated is not less than an empty block size, then obtaining the data to be migrated according to the mapping relation between the LBA and the PBA and the LBA corresponding to the data to be migrated, then writing the acquired data to be migrated into the corresponding empty blocks in sequence according to the LBAs corresponding to the data to be migrated, and then when detecting that continuous data needs to be written, selecting an empty block from the empty block queue for data writing. That is to say, before new continuous data write in, write in logical block address discontinuous data in the corresponding empty block according to the LBA in proper order to can replace more empty blocks, can have sufficient empty blocks to write in, need not carry out data migration earlier when carrying out data write in, because empty block is not enough, then write in, thereby can reduce the required duration that data write in, and then can improve data write in speed, and can promote user experience.
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and may be performed in other orders unless explicitly stated herein. Moreover, at least a portion of the steps in the flow chart of the figure may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed alternately or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
The foregoing is only a partial embodiment of the present application, and it should be noted that, for those skilled in the art, several modifications and decorations can be made without departing from the principle of the present application, and these modifications and decorations should also be regarded as the protection scope of the present application.
Claims (10)
1. A method of writing data, comprising:
when a first preset condition is detected to be met, determining data to be migrated, wherein the data to be migrated is a whole segment of data with continuous logical block addresses and discontinuous physical addresses, and the data volume of the data to be migrated is not less than the size of an empty block;
determining a corresponding PBA according to the mapping relation between the logical block address LBA and the physical block address PBA and the LBA corresponding to the data to be migrated, and acquiring the data to be migrated from the determined PBA;
sequentially writing the acquired data to be migrated into corresponding empty blocks according to the LBAs corresponding to the data to be migrated;
and when detecting that continuous data needs to be written, selecting an empty block from the empty block queue for data writing.
2. The method according to claim 1, characterized in that said first preset condition comprises at least one of:
detecting a data sorting operation request issued by a host;
detecting that a host is in an idle state;
and detecting that the number of the current empty data blocks is less than a preset threshold value.
3. The method of claim 1, wherein determining the data to be migrated comprises:
and determining the data to be migrated by reading the logical block addresses in sequence from the small arrival order of the logical block addresses based on the mapping relation between the logical block addresses and the physical block addresses.
4. The method according to claim 1, wherein the sequentially writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated includes:
determining an empty block to be written;
and sequentially writing the acquired data to be migrated into the determined empty blocks to be written according to the LBAs corresponding to the data to be acquired.
5. The method of claim 4, wherein the determining the empty block to be written comprises at least one of:
selecting an empty block to be written from the empty block queue;
and determining the data volume of the empty block to be written based on the data volume of the data to be migrated, and selecting the empty block to be written from the empty block queue based on the data volume of the empty block to be written.
6. The method according to claim 1, characterized in that the data to be migrated is obtained according to the mapping relationship between the logical block address LBA and the physical block address PBA and the LBA corresponding to the data to be migrated; sequentially writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated, wherein the method comprises the following steps:
s1, acquiring data to be migrated;
s2, sequentially writing the data to be migrated into the corresponding empty blocks according to the logical block addresses;
executing step S1 and step S2 in a loop until an exit condition is satisfied;
wherein the exit condition comprises at least one of:
detecting a data sorting operation quit instruction issued by a host;
detecting the state of finishing the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not less than the preset threshold value.
7. The method of claim 1, further comprising at least one of:
deleting the corresponding relation between the LBA and the PBA corresponding to the migrated data in the L2P table;
and determining a post-migration PBA corresponding to the migrated data, and updating the L2P table based on the post-migration PBA corresponding to the migrated data and the LBA corresponding to the migrated data.
8. A data writing apparatus, comprising:
the device comprises a first determining module, a second determining module and a third determining module, wherein the first determining module is used for determining data to be migrated when a first preset condition is met, the data to be migrated is a whole segment of data with continuous logical block addresses and discontinuous physical addresses, and the data volume of the data to be migrated is not less than the size of an empty block;
the second determining module is used for determining the corresponding PBA according to the mapping relation between the LBA and the physical block address PBA and the LBA corresponding to the data to be migrated;
a first data writing module, configured to obtain the data to be migrated from the determined PBA, and sequentially write the obtained data to be migrated into corresponding empty blocks according to LBAs corresponding to the data to be migrated;
and the second data writing module is used for selecting an empty block from the empty block queue for data writing when the fact that continuous data need to be written is detected.
9. An electronic device, comprising:
one or more processors;
a memory;
one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, the one or more applications configured to: method of performing data writing according to any of claims 1 to 7.
10. A computer readable storage medium, characterized in that it stores at least one instruction, at least one program, set of codes or set of instructions, which is loaded and executed by a processor to implement the method of data writing according to any one of claims 1 to 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111005484.5A CN113625973B (en) | 2021-08-30 | 2021-08-30 | Data writing method, device, electronic equipment and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111005484.5A CN113625973B (en) | 2021-08-30 | 2021-08-30 | Data writing method, device, electronic equipment and computer readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113625973A true CN113625973A (en) | 2021-11-09 |
CN113625973B CN113625973B (en) | 2024-01-16 |
Family
ID=78388355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111005484.5A Active CN113625973B (en) | 2021-08-30 | 2021-08-30 | Data writing method, device, electronic equipment and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113625973B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265670A (en) * | 2022-03-02 | 2022-04-01 | 阿里云计算有限公司 | Memory block sorting method, medium and computing device |
CN115470696A (en) * | 2022-08-20 | 2022-12-13 | 北京圣福伦电气技术有限公司 | Motor energy saving method and device, electronic equipment and computer readable storage medium |
CN116893786A (en) * | 2023-09-05 | 2023-10-17 | 苏州浪潮智能科技有限公司 | Data processing method and device, electronic equipment and storage medium |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008198102A (en) * | 2007-02-15 | 2008-08-28 | Dainippon Screen Mfg Co Ltd | Data processing system, data storage device, hard disk device, and data management method in data storage device |
CN101655819A (en) * | 2008-08-18 | 2010-02-24 | 深圳市朗科科技股份有限公司 | Method, system and equipment for carrying out empty block reclamation for semiconductor storage medium |
CN102819494A (en) * | 2012-07-18 | 2012-12-12 | 山东华芯半导体有限公司 | Optimization method for writing in flash memory in sequence |
US20130166818A1 (en) * | 2011-12-21 | 2013-06-27 | Sandisk Technologies Inc. | Memory logical defragmentation during garbage collection |
CN103970669A (en) * | 2013-02-06 | 2014-08-06 | Lsi公司 | Method for accelerating physical-to-logic address mapping of recycling operation in solid-state equipment |
CN104778127A (en) * | 2015-03-25 | 2015-07-15 | 合肥格易集成电路有限公司 | Method and device for writing data by NAND FLASH |
US20170220292A1 (en) * | 2016-02-03 | 2017-08-03 | Kabushiki Kaisha Toshiba | Cooperative physical defragmentation by a file system and a storage device |
US20180136865A1 (en) * | 2016-11-15 | 2018-05-17 | Samsung Electronics Co., Ltd. | Method of operating memory device, memory device using the same and memory system including the device |
CN110399310A (en) * | 2018-04-18 | 2019-11-01 | 杭州宏杉科技股份有限公司 | A kind of recovery method and device of memory space |
CN112486852A (en) * | 2020-12-01 | 2021-03-12 | 合肥大唐存储科技有限公司 | Solid state disk and address mapping method thereof |
-
2021
- 2021-08-30 CN CN202111005484.5A patent/CN113625973B/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008198102A (en) * | 2007-02-15 | 2008-08-28 | Dainippon Screen Mfg Co Ltd | Data processing system, data storage device, hard disk device, and data management method in data storage device |
CN101655819A (en) * | 2008-08-18 | 2010-02-24 | 深圳市朗科科技股份有限公司 | Method, system and equipment for carrying out empty block reclamation for semiconductor storage medium |
US20130166818A1 (en) * | 2011-12-21 | 2013-06-27 | Sandisk Technologies Inc. | Memory logical defragmentation during garbage collection |
CN102819494A (en) * | 2012-07-18 | 2012-12-12 | 山东华芯半导体有限公司 | Optimization method for writing in flash memory in sequence |
CN103970669A (en) * | 2013-02-06 | 2014-08-06 | Lsi公司 | Method for accelerating physical-to-logic address mapping of recycling operation in solid-state equipment |
CN104778127A (en) * | 2015-03-25 | 2015-07-15 | 合肥格易集成电路有限公司 | Method and device for writing data by NAND FLASH |
US20170220292A1 (en) * | 2016-02-03 | 2017-08-03 | Kabushiki Kaisha Toshiba | Cooperative physical defragmentation by a file system and a storage device |
US20180136865A1 (en) * | 2016-11-15 | 2018-05-17 | Samsung Electronics Co., Ltd. | Method of operating memory device, memory device using the same and memory system including the device |
CN110399310A (en) * | 2018-04-18 | 2019-11-01 | 杭州宏杉科技股份有限公司 | A kind of recovery method and device of memory space |
CN112486852A (en) * | 2020-12-01 | 2021-03-12 | 合肥大唐存储科技有限公司 | Solid state disk and address mapping method thereof |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114265670A (en) * | 2022-03-02 | 2022-04-01 | 阿里云计算有限公司 | Memory block sorting method, medium and computing device |
CN115470696A (en) * | 2022-08-20 | 2022-12-13 | 北京圣福伦电气技术有限公司 | Motor energy saving method and device, electronic equipment and computer readable storage medium |
CN115470696B (en) * | 2022-08-20 | 2023-12-05 | 北京圣福伦电气技术有限公司 | Method and device for saving energy of motor, electronic equipment and computer readable storage medium |
CN116893786A (en) * | 2023-09-05 | 2023-10-17 | 苏州浪潮智能科技有限公司 | Data processing method and device, electronic equipment and storage medium |
CN116893786B (en) * | 2023-09-05 | 2024-01-09 | 苏州浪潮智能科技有限公司 | Data processing method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN113625973B (en) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113625973B (en) | Data writing method, device, electronic equipment and computer readable storage medium | |
CN109426619B (en) | Method for accessing flash memory module, related flash memory controller and electronic device | |
CN110730945B (en) | Scalable low latency memory interface | |
US11209986B2 (en) | Memory operations on data | |
CN110865888A (en) | Resource loading method and device, server and storage medium | |
US9569381B2 (en) | Scheduler for memory | |
US11341044B2 (en) | Reclaiming storage resources | |
CN113867644B (en) | Disk array optimization method, disk array optimization device, computer equipment and storage medium | |
CN110879742A (en) | Method and device for asynchronously creating internal snapshot of virtual machine and storage medium | |
CN105988875B (en) | Method and device for running process | |
CN113282234B (en) | Storage device, storage system, and method of operating the same | |
CN111897743A (en) | Data storage device and loading method of logical-to-physical address mapping table | |
CN112148226A (en) | Data storage method and related device | |
CN113805792A (en) | Memory system and operating method thereof | |
CN107209738B (en) | Direct access to storage memory | |
KR102554418B1 (en) | Memory controller and storage device including the same | |
US9405470B2 (en) | Data processing system and data processing method | |
CN113253939B (en) | Data processing method, device, electronic equipment and storage medium | |
CN115344198A (en) | Data reading and writing method and system of magnetic disk, terminal device and storage medium | |
CN111459848B (en) | File fragment sorting method and device, storage medium and electronic equipment | |
CN115080457A (en) | Controller and operation method thereof | |
CN114281248B (en) | Method for improving read-write performance of RAM, electronic equipment and medium | |
CN113885783B (en) | Memory system and method of operating the same | |
US9946656B2 (en) | Completion packet return based on eviction or flush | |
CN112650445B (en) | Method and device for executing Trim by solid state disk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 518000 area a, 7th floor, building A1, Shenzhen digital technology park, 17 Gaoxin South 7th Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Deyi Microelectronics Co.,Ltd. Address before: 518000 area a, 7th floor, building A1, Shenzhen digital technology park, 17 Gaoxin South 7th Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: YEESTOR MICROELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |