CN113625973B - Data writing method, device, electronic equipment and computer readable storage medium - Google Patents
Data writing method, device, electronic equipment and computer readable storage medium Download PDFInfo
- Publication number
- CN113625973B CN113625973B CN202111005484.5A CN202111005484A CN113625973B CN 113625973 B CN113625973 B CN 113625973B CN 202111005484 A CN202111005484 A CN 202111005484A CN 113625973 B CN113625973 B CN 113625973B
- Authority
- CN
- China
- Prior art keywords
- data
- migrated
- empty
- block
- written
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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]
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 application relates to a data writing method, a device, electronic equipment and a computer readable storage medium, and relates to the technical field of data storage, wherein the method comprises the following steps: when the first preset condition is detected to be met, determining data to be migrated, then determining a corresponding PBA according to the mapping relation between LBAs and physical block addresses PBA and the LBAs 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 LBAs corresponding to the data to be migrated, and then selecting the empty blocks from an empty block queue to write the data when the continuous data is detected to be written. The data writing method, the device, the electronic equipment and the computer readable storage medium can improve the writing speed of continuous big data.
Description
Technical Field
The present disclosure relates to the field of data storage technologies, and in particular, to a data writing method, a data writing device, an electronic device, and a computer readable storage medium.
Background
The mapping table of the solid state disk (Solid State Drives, SSD) is a mapping between a logical block address (Logical Block Address, LBA) and a physical block address (Physics Block Address, PBA), which may also be referred to as an L2P mapping table, and in the data writing process, the host (host) issues the LBA to the SSD, and the SSD queries the L2P table to find the PBA, so as to find the corresponding flash position for reading and writing operations.
In general, the whole physical block is written and covered in the process of writing data, but if the data storage positions in part of the physical blocks are discontinuous, the data may need to be moved first and then written, so that the time required for writing the data is longer, the data writing speed is slower, and the user experience is poorer.
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 device, an electronic device and a computer readable storage medium.
In a first aspect, the present application provides a data writing method, including:
when the fact that the first preset condition is met is detected, 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 size of the data to be migrated is not smaller 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 LBAs corresponding to the data to be migrated;
when the continuous data is detected to be written, selecting an empty block from the empty block queue for data writing.
In one possible implementation manner, the first preset condition includes at least one of the following:
detecting a data arrangement operation request issued by a host;
detecting that a host is in an idle state;
detecting that the number of current empty data blocks is smaller than a preset threshold.
In another possible implementation manner, the determining the data to be migrated includes:
and determining the data to be migrated by sequentially reading the logical block addresses according to the order of the small arrival 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 writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated in turn 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 LBAs corresponding to the data to be acquired.
In another possible implementation manner, the determining a null block to be written includes at least one of the following:
selecting an empty block to be written from an empty block queue;
based on the data amount of the data to be migrated, determining the data amount of the empty block to be written, and selecting the empty block to be written from the empty block queue based on the data amount of the empty block to be written.
In another possible implementation manner, the data to be migrated is obtained 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; writing the acquired data to be migrated into the corresponding empty blocks in sequence according to 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;
step S1 and step S2 are circularly executed until the exit condition is met;
wherein the exit condition includes at least one of:
detecting a data finishing operation exit instruction issued by a host;
Detecting the completion state of the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not smaller than the preset threshold value.
In another possible implementation manner, the determining the data to be migrated includes:
and determining the data to be migrated by sequentially reading the logical block addresses according to the order of the small arrival 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 writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated in turn 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 LBAs corresponding to the data to be acquired.
In another possible implementation manner, the determining a null block to be written includes at least one of the following:
selecting an empty block to be written from an empty block queue;
based on the data amount of the data to be migrated, determining the data amount of the empty block to be written, and selecting the empty block to be written from the empty block queue based on the data amount of the empty block to be written.
In another possible implementation manner, the data to be migrated is obtained 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; writing the acquired data to be migrated into the corresponding empty blocks in sequence according to 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;
step S1 and step S2 are circularly executed until the exit condition is met;
wherein the exit condition includes at least one of:
detecting a data finishing operation exit instruction issued by a host;
detecting the completion state of the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not smaller than the preset threshold value.
In another possible implementation, the method further includes:
updating the L2P table;
wherein the updating the L2P table includes at least one of:
deleting the corresponding relation between LBA and PBA corresponding to the migrated data in the L2P table;
and determining the 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.
In a second aspect, there is provided a data writing apparatus comprising:
the first determining module is used for determining data to be migrated when the first preset condition is detected to be met, 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 smaller than a null block size;
the second determining module is used for 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;
the first data writing module is used for acquiring the data to be migrated from the determined PBA and writing the acquired data to be migrated into corresponding empty blocks in sequence according to LBAs corresponding to the data to be migrated;
and the second data writing module is used for selecting empty blocks from the empty block queue to write data when the continuous data is detected to be required to be written.
In one possible implementation manner, the first preset condition includes at least one of the following:
detecting a data arrangement operation request issued by a host;
detecting that a host is in an idle state;
detecting that the number of current empty data blocks is smaller than a preset threshold.
In another possible implementation manner, the first determining module is specifically configured to, when determining the data to be migrated:
and determining the data to be migrated by sequentially reading the logical block addresses according to the order of the small arrival 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 writes the acquired data to be migrated into the corresponding empty blocks in sequence according to the LBAs 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 LBAs corresponding to the data to be acquired.
In another possible implementation manner, the first data writing module is specifically configured to, when determining a null block to be written, at least one of the following:
selecting an empty block to be written from an empty block queue;
based on the data amount of the data to be migrated, determining the data amount of the empty block to be written, and selecting the empty block to be written from the empty block queue based on the data amount 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 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; and when the acquired data to be migrated is written into the corresponding empty blocks in sequence according to the LBAs corresponding to the data to be migrated, the method is specifically used for:
Acquiring data to be migrated;
sequentially writing data to be migrated into corresponding empty blocks according to the logical block addresses;
circularly executing the step of acquiring the data to be migrated, and sequentially writing the data to be migrated into the corresponding empty blocks according to the logical block addresses until the exit condition is met;
wherein the exit condition includes at least one of:
detecting a data finishing operation exit instruction issued by a host;
detecting the completion state of the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not smaller than the preset threshold value.
In another possible implementation, the apparatus further includes: an updating module, wherein,
the updating module is used for updating the L2P table;
the updating module is specifically configured to, when updating the L2P table, at least one of:
deleting the corresponding relation between LBA and PBA corresponding to the migrated data in the L2P table;
and determining the 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.
In a third aspect, an electronic device is provided, the 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: an operation corresponding to a data writing method according to any one of the possible implementation manners of the first aspect is performed.
In a fourth aspect, a computer readable storage medium is provided, the storage medium storing at least one instruction, at least one program, code set, or instruction set, the at least one instruction, at least one program, code set, or instruction set being 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 the first preset condition is met is detected, determining that the data to be migrated is a whole segment of data with discontinuous occupied logical block address LBA, the data volume of the data to be migrated is not smaller than a null block size, acquiring the data to be migrated 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, sequentially writing the acquired data to be migrated into corresponding null blocks according to the LBA corresponding to the data to be migrated, and selecting the null blocks from the null block queue to perform data writing when the condition that continuous data needs to be written is detected. That is, before writing new continuous data, the data with discontinuous logical block addresses are written into the corresponding empty blocks in sequence according to the LBAs, so that more empty blocks can be replaced, enough empty blocks can be used for writing, when the data is not written, the empty blocks are insufficient, the data is required to be moved first and then written, so that the required time for writing the data can be reduced, the data writing speed can be improved, and the user experience can be improved.
Drawings
Fig. 1 is a flow chart of a data writing method according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a data writing device according to an embodiment of the present disclosure;
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 accompanying drawings.
The present embodiment is merely illustrative of the present application and is not intended to be limiting, and those skilled in the art, after having read the present specification, may make modifications to the present embodiment without creative contribution as required, but is protected by patent laws within the scope of the claims of the present application.
For the purposes of making the objects, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions of 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 apparent that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art based on the embodiments herein without making any inventive effort, are intended to be within the scope of the present application.
In addition, the term "and/or" herein is merely an association relationship describing an association object, and means that three relationships may exist, for example, a and/or B may mean: a exists alone, A and B exist together, and B exists alone. In this context, unless otherwise specified, the term "/" generally indicates that the associated object is an "or" relationship.
The host computer is such as a tablet, a mobile phone, and writes logic data into a memory (such as emmc) for storage, after the memory writes a large amount of fragment data for a long time, logic data distributed on the NandFlash can become unordered arrangement, and then logic data distributed on data blocks of the NandFlash are unordered arrangement.
Embodiments of the present application are described in further detail below with reference to the drawings attached hereto.
The data writing method provided in the embodiments 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, or may be a server cluster or a distributed system formed by a plurality of physical servers, or may be a cloud server that provides cloud computing services. The terminal device may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, etc., and the terminal device and the server may be directly or indirectly connected through wired or wireless communication, which is not limited herein, and as shown in fig. 1, the method includes:
Step S101, when the fact that the first preset condition is met is detected, 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 smaller than a null block size.
Step S102, 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.
Step S103, the acquired data to be migrated are sequentially written into the corresponding empty blocks according to LBAs corresponding to the data to be migrated.
Specifically, a null block is a data block in which valid logical data does not exist and which can be used as logical data writing.
Step S104, when the continuous data is detected to be written, selecting an empty block from the empty block queue for data writing.
For the embodiment of the application, the empty block queue contains a plurality of empty blocks. In this embodiment of the present application, when new data is detected to be written, the number of required empty blocks may not be limited, the number of required empty blocks may be 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 the embodiment of the present application, the empty block to which the 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 implementation of the solution of the present application, which is not limited in the embodiment of the present application.
Further, in the embodiment of the present application, after the data is sorted, the logical block addresses of the data in the data blocks are continuous, and when the subsequent continuous big data is written, the old data blocks can be completely covered, so as to replace the empty blocks, and further improve the writing speed of the continuous big data.
Compared with the related art, in the embodiment of the application, when the condition that the first preset condition is met is detected, determining that data to be migrated is a whole segment of data with discontinuous occupied logical block address LBA, the data quantity of the data to be migrated is not smaller than the size of an empty block, then acquiring the data to be migrated 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, sequentially writing the acquired data to be migrated into the corresponding empty block according to the LBA corresponding to the data to be migrated, and then selecting the empty block from the empty block queue for data writing when the condition that continuous data need to be written is detected. That is, before writing new continuous data, writing the data with discontinuous logical block addresses into the corresponding empty blocks according to the LBAs in sequence, so as to obtain the data blocks with continuous logical addresses, when writing continuous big data, the old data blocks can be directly covered due to the fact that the logical addresses above the old data blocks are continuous, more empty blocks can be directly replaced, sufficient empty blocks can be used for writing, when writing data, the empty blocks are not needed, and when the empty blocks are insufficient, advanced data movement is needed, then writing is needed, so that the time length needed for writing data can be reduced, the data writing speed can be improved, and the user experience can be improved.
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 to an empty data block (i.e., a condition for realizing conversion from unordered to orderly) is triggered.
Wherein the first preset condition includes at least one of:
detecting a data arrangement operation request issued by a host;
detecting that a host is in an idle state;
detecting that the number of current empty data blocks is smaller than a preset threshold.
Specifically, in the embodiment of the present application, the host device host: for example, after the tablet, the mobile phone writes the logic data into the memory (such as emmc) to store the logic data into the memory for a long time and write a large amount of fragment data, the logic data LB distributed on Nand Flash becomes unordered arrangement, and then the logic data distributed on the Block of Nand Flash is unordered arrangement.
Further, when the memory device detects that the memory device is idle for a certain time threshold, and when host does not have any request action, the memory controller triggers the unordered to ordered arrangement; furthermore, the unordered to ordered arrangement can be achieved by the host issuing a customized protocol command, and when the host detects that the writing speed of the storage device is reduced to a certain threshold value, or after the host has a higher writing speed requirement, the host actively issues the protocol command to inform the storage controller that unordered to ordered arrangement actions need to be performed to trigger.
That is, the condition that triggers the orderly migration of the unordered data stored in the data block to the empty data block (i.e., the condition that the unordered to orderly conversion is implemented) in the embodiment of the present application may be that a data sorting operation request issued by the host is detected, a data sorting operation instruction issued by the storage controller is detected, or that the number of empty data blocks remaining currently is detected to be smaller than a preset threshold. In the embodiment of the application, the protocol customization instruction may be regarded as a protocol command customized by the flow, and is used for orderly sorting data stored in a plurality of data blocks into new data blocks.
Specifically, in the embodiment of the application, when the host detects that the writing speed of the storage device is reduced to a certain threshold value, or the host needs a higher writing speed, a data sorting operation request is actively issued to the storage controller, and after receiving the sorting operation request, the storage controller triggers a data sorting operation from unordered to ordered; or, the storage controller does not receive the data arrangement operation request issued by the host within the first preset time, and the storage controller can also actively trigger the data arrangement operation from unordered to ordered; of course, the number of the current empty data blocks can 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 value, the unordered to ordered data sorting operation 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, or may be input by a user, and in this embodiment of the present application, limitation is not made, for example, the first preset time and the second preset time may be 5 minutes (min), and 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, it characterizes that writing is performed while data recovery is performed currently possible, so when the data arrangement from unordered to ordered in this embodiment of the present application is triggered at this time, more empty data blocks may also be obtained, so that data recovery during data writing may be avoided, and thus the writing speed may be improved. Further, when the number of the current empty data blocks is smaller than a preset threshold, and data arrangement from unordered to ordered in the embodiment of the application is performed, more empty data blocks can be obtained, and when data is written in the follow-up process, more empty data blocks can be written in, so that the writing speed can be improved.
Further, the preset threshold may be set by the system, may also be input by the user, or may be determined according to the writing amount of the historical data, for example, the writing amount of the historical data is relatively large, the preset threshold may be set relatively large, the writing amount of the historical data is relatively small, and the preset threshold may be set relatively small, which is not limited in the embodiment of the present application, for example, the preset threshold may be 5,6 or 10.
Specifically, determining the data to be migrated may specifically include: and determining the data to be migrated by sequentially reading the logical block addresses according to the order of the small arrival 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, determining the data with continuous logical block address and discontinuous physical block address as the data to be migrated. In the embodiment of the application, the data to be migrated may be determined by a logical address to physical address (Logical Address to Physical address, L2P) table or a P2L table.
Further, in the embodiment of the present application, since the mapping relationship between the logical block address and the physical block address is recorded in the L2P table or the P2L table, the data with continuous logical block address and discontinuous physical block address, that is, the data to be migrated, can be quickly determined through the L2P table or the P2L table.
Further, after determining the data to be migrated according to 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 present 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 by a method described in the embodiment of the present application, or may be obtained by a related technology method. The embodiments of the present application are not limited thereto.
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 LBAs corresponding to the data to be acquired. In the embodiment of the application, the data block after full migration may be referred to as an SEQ block.
Specifically, the manner in which the empty block to be written is determined includes at least one of manner 1 and manner 2, wherein,
mode 1, selecting an empty block to be written from an empty block queue.
For the embodiment of the application, the empty block queue contains a plurality of empty blocks, one empty block is selected from the empty block queue, acquired data is written in sequence, and if the empty block is full, one empty block is selected from the empty block queue, and then writing is continued. That is, the data amount corresponding to the data to be migrated is not considered, and as long as the data to be migrated is to be written, the empty block to be written is selected from the empty block queue.
For example, the empty block queue includes: empty block 0, empty number block 1, empty block 2, empty block 3, empty block 4 and empty block 5 can be selected to write the data to be migrated in sequence, if empty block 0 is full, then empty block 1 is selected to continue writing until the data to be migrated does not exist.
Mode 2, determining the data amount of the empty block to be written based on the data amount of the data to be migrated, and selecting the empty block to be written from the empty block queue based on the data amount 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 empty blocks required is determined based on the determined data amount, and then the empty blocks are determined from the empty block queue.
For example, if the number of empty blocks required for determining the data to be migrated is 2 based on the determined data to be migrated, empty block 0 and empty block 1 are determined from the empty block queue.
Specifically, 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, the data to be migrated is obtained; the obtained data to be migrated is written into the corresponding empty blocks in sequence according to LBAs corresponding to the data to be migrated, and the method specifically comprises the following steps: step S1 (not shown), step S2 (not shown), and step S3 (not shown), wherein,
S1, acquiring data to be migrated;
step S2, sequentially writing the data to be migrated into corresponding empty blocks 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 a plurality of empty blocks, which may be determined according to the amount of data to be migrated.
Step S3, circularly executing the step S1 and the step S2 until the exit condition is met;
for example, if the empty block in the current empty block queue is 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 written into the empty block 0 in sequence according to the LBA, and if the empty block 0 is fully written, the data is continuously written into the empty block 1 until the exit condition is met.
Wherein the exit condition includes at least one of:
detecting a data finishing operation exit instruction issued by a host;
detecting the completion state of the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty data block is not smaller than a preset threshold value.
For example, if the preset threshold is 5, that is, the number of current empty blocks is not less than 5, the above cycle is stopped.
Further, in the embodiment of the present application, by the above-mentioned cyclic manner, unordered data may be sorted into empty blocks, and become ordered data, and more empty blocks may be obtained, so that when writing is performed subsequently, more empty blocks may be written, and thus, the subsequent writing speed and writing efficiency may be improved.
Another possible implementation manner of the embodiment of the present application, the method may further include: step Sa (not shown in the figures), in the embodiment of the present application, step Sa may be performed after step S103, or may be performed after step S104, where,
step Sa, updating the L2P table. In this embodiment of the present application, the mapping relationship between the LBA and the PBA is recorded in the L2P table, and when the data is migrated, that is, the PBA corresponding to the LBA is changed, 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, a null block is selected from the null block queue to write data, that is, a new mapping relationship between LBA and PBA is 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) and step Sa2 (not shown), wherein,
step Sa1, deleting the corresponding relation between the LBA corresponding to the migrated data and the PBA in the L2P table. In this embodiment of the present application, the migrated data may be invalid data, and at this time, the mapping relationship between the LBA and the PBA corresponding to the migrated data need not be added to the L2P table, and even the data migration need not be performed on the data of this portion.
Step Sa2, determining the 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 application, data with continuous logical block addresses but discontinuous physical area addresses is migrated to other empty blocks, that is, after 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 migrated PBA.
Further, the empty blocks in the empty block queue may include invalid data blocks, may include empty blocks already included in the empty block queue before data migration occurs, and may further include empty blocks vacated after data migration occurs. The embodiments of the present application are not limited thereto.
Further, when new data needs to be written, a blank block is selected from the blank block queue to be 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 contained in the empty block queue before the data migration occurs, may be an empty block vacated after the data migration occurs, and may be an invalid data block.
The above embodiments describe a data writing method from the viewpoint of a method flow, and the following embodiments describe a data writing device from the viewpoint of a virtual device, which can be applied to the above embodiments, as described in detail below.
The embodiment of the present application provides a data writing device, 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,
a first determining module 21, configured to determine, when it is detected that the first preset condition is satisfied, data to be migrated, where the data to be migrated is a whole segment of data with continuous logical block addresses and discontinuous physical addresses, and a data amount of the data to be migrated is not less than a null block size;
the second determining module 22 is 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;
the first data writing module 23 is 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;
a second data writing module 24, configured to select an empty block from the empty block queue for writing data when it is detected that the continuous data needs to be written.
In one possible implementation manner of the embodiments of the present application, the first preset condition includes at least one of the following:
Detecting a data arrangement operation request issued by a host;
detecting that a host is in an idle state;
detecting that the number of current empty data blocks is smaller than a preset threshold.
In another possible implementation manner of this embodiment of the present application, when determining the data to be migrated, the first determining module 21 is specifically configured to: and determining the data to be migrated by sequentially reading the logical block addresses according to the order of the small arrival 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 this embodiment of the present application, when the first data writing module 23 writes the acquired data to be migrated into the corresponding empty block in sequence 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 LBAs corresponding to the data to be acquired.
In another possible implementation manner of the embodiment of the present application, the first data writing module 23 is specifically configured to, when determining a null block to be written, at least one of the following:
selecting an empty block to be written from an empty block queue;
based on the data amount of the data to be migrated, determining the data amount of the empty block to be written, and selecting the empty block to be written from the empty block queue based on the data amount of the empty block to be written.
In another possible implementation manner of this embodiment of the present application, the first data writing module 23 obtains the data to be migrated 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; when the obtained data to be migrated is written into the corresponding empty blocks in sequence according to LBAs corresponding to the data to be migrated, the method is specifically used for:
acquiring data to be migrated;
sequentially writing data to be migrated into corresponding empty blocks according to the logical block addresses;
circularly executing the step of acquiring the data to be migrated, and sequentially writing the data to be migrated into the corresponding empty blocks according to the logical block addresses until the exit condition is met;
wherein the exit condition includes at least one of:
detecting a data finishing operation exit instruction issued by a host;
detecting the completion state of the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not smaller 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 updating module, wherein,
the updating module is used for updating the L2P table;
the updating module is specifically configured to, when updating the L2P table, at least one of:
Deleting the corresponding relation between LBA and PBA corresponding to the migrated data in the L2P table;
and determining the 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.
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 may be different determining modules, which is not limited in the embodiment of the present application.
Further, in the embodiment of the present application, the first data writing module 23 and the second data writing module 24 may be the same data writing module, or may be different data writing modules, which is not limited in the embodiment of the present application.
Compared with the related art, in the embodiment of the present application, when it is detected that a first preset condition is met, data to be migrated is determined, the data to be migrated is a whole segment of discontinuous data of an occupied LBA, the data size of the data to be migrated is not smaller than the size of an empty block, then the data to be migrated is obtained according to a mapping relationship between the LBA and the PBA and an LBA corresponding to the data to be migrated, then the obtained data to be migrated is sequentially written into corresponding empty blocks according to the LBA corresponding to the data to be migrated, and then when it is detected that continuous data needs to be written, the empty blocks are selected from an empty block queue for data writing. That is, before writing new continuous data, the data with discontinuous logical block addresses are written into the corresponding empty blocks in sequence according to the LBAs, so that more empty blocks can be replaced, and enough empty blocks are needed for writing, when the data is not written, the empty blocks are insufficient, the data are required to be moved first and then written, so that the required time for writing the data can be reduced, the data writing speed can be improved, and the user experience can be improved.
The data writing device provided in the embodiment of the present application is applicable to the above method embodiment, and is not described herein again.
In an embodiment of the present application, as shown in fig. 3, an electronic device 300 shown in fig. 3 includes: a processor 301 and a memory 303. Wherein the processor 301 is coupled to the memory 303, such as via a bus 302. Optionally, the electronic device 300 may also include a transceiver 304. It should be noted that, in practical applications, the transceiver 304 is not limited to one, 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 ), general purpose processor, DSP (Digital Signal Processor, data signal processor), ASIC (Application Specific Integrated Circuit ), FPGA (Field Programmable Gate Array, field programmable gate array) or other programmable logic device, transistor logic device, hardware components, or any combination thereof. Which may implement or perform the various exemplary logic blocks, modules, and circuits described in connection with this disclosure. Processor 301 may also be a combination that implements computing functionality, e.g., comprising one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
Bus 302 may include a path to transfer information between the components. Bus 302 may be a PCI (Peripheral Component Interconnect, peripheral component interconnect Standard) bus or an EISA (Extended Industry Standard Architecture ) bus, or the like. Bus 302 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in fig. 3, but not only one bus or one type of bus.
The Memory 303 may be, but is not limited to, 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, compact disc Read Only Memory) or other optical disk storage, optical disk storage (including compact discs, laser discs, optical discs, digital versatile discs, blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, 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.
The memory 303 is used for storing application program codes for executing the present application and is controlled to be executed by the processor 301. The processor 301 is configured to execute the application code stored in the memory 303 to implement what is shown 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 stationary terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 3 is only an example and should not be construed as limiting the functionality and scope of use of the embodiments herein.
Compared with the prior art, in the embodiment of the application, when the first preset condition is detected to be met, the data to be migrated is determined to be a discontinuous whole segment of data of the occupied LBA, the data amount of the data to be migrated is not smaller than a null block size, then 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, then the obtained data to be migrated is sequentially written into the corresponding null blocks according to the LBA corresponding to the data to be migrated, and then when the continuous data is detected to be required to be written, the null blocks are selected from the null block queue for data writing. That is, before writing new continuous data, the data with discontinuous logical block addresses are written into the corresponding empty blocks in sequence according to the LBAs, so that more empty blocks can be replaced, enough empty blocks can be used for writing, when the data is not written, the empty blocks are insufficient, the data is required to be moved first and then written, so that the required time for writing the data can be reduced, the data writing speed can be improved, and the user experience can be improved.
It should be understood that, although the steps in the flowcharts of the figures are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited in order and may be performed in other orders, unless explicitly stated herein. Moreover, at least some of the steps in the flowcharts of the figures may include a plurality of sub-steps or stages that are not necessarily performed at the same time, but may be performed at different times, the order of their execution not necessarily being sequential, but may be performed in turn or alternately with other steps or at least a portion of the other steps or stages.
The foregoing is only a partial embodiment of the present application, and it should be noted that, for a person skilled in the art, several improvements and modifications can be made without departing from the principle of the present application, and these improvements and modifications should also be considered as the protection scope of the present application.
Claims (7)
1. A data writing method, comprising:
when the fact that the first preset condition is met is detected, 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 block addresses, and the data size of the data to be migrated is not smaller 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 LBAs corresponding to the data to be migrated;
when continuous data is detected to be written, selecting an empty block from an empty block queue to write the data;
the determining the data to be migrated includes:
based on the mapping relation between the logical block address and the physical block address, determining the data to be migrated by sequentially reading the logical block addresses according to the order of the logical block addresses from small to large;
the writing the acquired data to be migrated into the corresponding empty blocks according to the LBAs corresponding to the data to be migrated in turn comprises the following steps:
determining an empty block to be written; sequentially writing the acquired data to be migrated into the determined empty blocks to be written according to LBAs corresponding to the data to be acquired;
the method for determining the empty block to be written comprises at least one of the following steps:
selecting an empty block to be written from an empty block queue; based on the data amount of the data to be migrated, determining the data amount of the empty block to be written, and selecting the empty block to be written from the empty block queue based on the data amount of the empty block to be written.
2. The method of claim 1, wherein the first preset condition comprises at least one of:
detecting a data arrangement operation request issued by a host;
detecting that a host is in an idle state;
detecting that the number of current empty data blocks is smaller than a preset threshold.
3. The method according to claim 2, wherein the data to be migrated is obtained according to a mapping relationship between logical block address LBA and physical block address PBA, and an LBA corresponding to the data to be migrated; writing the acquired data to be migrated into the corresponding empty blocks in sequence according to 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;
step S1 and step S2 are circularly executed until the exit condition is met;
wherein the exit condition includes at least one of:
detecting a data finishing operation exit instruction issued by a host;
detecting the completion state of the data sorting operation;
detecting that a host is in a non-idle state;
and detecting that the current empty block is not smaller than the preset threshold value.
4. The method of claim 1, further comprising at least one of:
Deleting the corresponding relation between LBA and PBA corresponding to the migrated data in the L2P table;
and determining the 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.
5. A data writing apparatus, comprising:
the first determining module is used for determining data to be migrated when the first preset condition is detected to be met, 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 smaller than a null block size;
the second determining module is used for determining a 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;
the first data writing module is used for acquiring the data to be migrated from the determined PBA and writing the acquired data to be migrated into corresponding empty blocks in sequence according to LBAs corresponding to the data to be migrated;
the second data writing module is used for selecting empty blocks from the empty block queue to write data when the continuous data is detected to be required to be written;
The first determining module is specifically configured to, when determining data to be migrated: based on the mapping relation between the logical block address and the physical block address, determining the data to be migrated by sequentially reading the logical block addresses according to the order of the logical block addresses from small to large;
the first data writing module is specifically configured to, when writing the acquired data to be migrated into the corresponding empty blocks in sequence according to LBAs corresponding to the data to be migrated: determining an empty block to be written; sequentially writing the acquired data to be migrated into the determined empty blocks to be written according to LBAs corresponding to the data to be acquired;
the first data writing module is specifically configured to, when determining a null block to be written, at least one of the following: selecting an empty block to be written from an empty block queue; based on the data amount of the data to be migrated, determining the data amount of the empty block to be written, and selecting the empty block to be written from the empty block queue based on the data amount of the empty block to be written.
6. 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: a method of performing a data write according to any one of claims 1 to 4.
7. A computer readable storage medium storing at least one instruction, at least one program, code set, or instruction set, the at least one instruction, the at least one program, the code set, or instruction set being loaded and executed by a processor to implement the method of data writing of any of claims 1 to 4.
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 CN113625973A (en) | 2021-11-09 |
| CN113625973B true 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) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114527932A (en) * | 2021-12-23 | 2022-05-24 | 得一微电子股份有限公司 | Memory performance improving method and device, terminal equipment and storage medium |
| CN114253949B (en) * | 2021-12-27 | 2024-12-20 | 建信金融科技有限责任公司 | Data migration methods, source devices, target devices, equipment, media and products |
| CN114265670B (en) * | 2022-03-02 | 2022-09-23 | 阿里云计算有限公司 | Memory block sorting method, medium and computing device |
| CN114733206B (en) * | 2022-04-08 | 2025-05-27 | 网易(杭州)网络有限公司 | Player data management method, medium and device |
| CN115470696B (en) * | 2022-08-20 | 2023-12-05 | 北京圣福伦电气技术有限公司 | Method and device for saving energy of motor, electronic equipment and computer readable storage medium |
| CN116893786B (en) * | 2023-09-05 | 2024-01-09 | 苏州浪潮智能科技有限公司 | Data processing method and device, electronic equipment and storage medium |
Citations (7)
| 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 |
| 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 |
| 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 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8762627B2 (en) * | 2011-12-21 | 2014-06-24 | Sandisk Technologies Inc. | Memory logical defragmentation during garbage collection |
| US10235079B2 (en) * | 2016-02-03 | 2019-03-19 | Toshiba Memory Corporation | Cooperative physical defragmentation by a file system and a storage device |
| US10198203B2 (en) * | 2016-11-15 | 2019-02-05 | Samsung Electronics Co., Ltd. | Method of operating memory device using pseudo-random functions, memory device using the same and memory system including the device |
-
2021
- 2021-08-30 CN CN202111005484.5A patent/CN113625973B/en active Active
Patent Citations (7)
| 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 |
| 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 |
| 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 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113625973A (en) | 2021-11-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113625973B (en) | Data writing method, device, electronic equipment and computer readable storage medium | |
| CN110730945B (en) | Scalable low latency memory interface | |
| EP3869343B1 (en) | Storage device and operating method thereof | |
| US11886710B2 (en) | Memory operations on data | |
| US20200042181A1 (en) | Apparatus and method for searching valid data in memory system | |
| US20130166826A1 (en) | Solid-state device management | |
| KR102827596B1 (en) | Controller and operation method thereof | |
| US20210208988A1 (en) | Memory management | |
| KR102853723B1 (en) | Controller and operation method thereof | |
| US20190121726A1 (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
| KR102847765B1 (en) | Memory system and operation method thereof | |
| CN110895449A (en) | Apparatus and method for managing valid data in a memory system | |
| KR102653373B1 (en) | Controller and operation method thereof | |
| KR102743232B1 (en) | Controller and operation method thereof | |
| US20190146926A1 (en) | Storage device and operating method of storage device | |
| KR20220127076A (en) | Controllers and how they work | |
| KR20130081526A (en) | Storage device, electronic device having the same, and data management methods thereof | |
| CN111435334A (en) | Apparatus and method for checking valid data in memory system | |
| US8433873B2 (en) | Disposition instructions for extended access commands | |
| CN113805792A (en) | Memory system and operating method thereof | |
| JP2017502376A (en) | Management of transfer buffer for non-volatile memory | |
| KR102861836B1 (en) | Memory system and data processing system | |
| US20150120991A1 (en) | Data processing system and operating method thereof | |
| CN113656406B (en) | Index page merging method, device, equipment and medium | |
| US9946656B2 (en) | Completion packet return based on eviction or flush |
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 |