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 PDF

Info

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
Application number
CN202111005484.5A
Other languages
Chinese (zh)
Other versions
CN113625973B (en
Inventor
徐春杰
罗挺
吴大畏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yeestor Microelectronics Co ltd
Original Assignee
Yeestor Microelectronics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yeestor Microelectronics Co ltd filed Critical Yeestor Microelectronics Co ltd
Priority to CN202111005484.5A priority Critical patent/CN113625973B/en
Publication of CN113625973A publication Critical patent/CN113625973A/en
Application granted granted Critical
Publication of CN113625973B publication Critical patent/CN113625973B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

The application 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

Data writing method and device, electronic equipment and computer readable storage medium
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.
Bus 302 may include a path that transfers information between the above components. The bus 302 may be a PCI (Peripheral Component Interconnect) bus, an EISA (Extended Industry Standard Architecture) bus, or the like. The 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 this does not mean only one bus or one type of bus.
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.
CN202111005484.5A 2021-08-30 2021-08-30 Data writing method, device, electronic equipment and computer readable storage medium Active CN113625973B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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