CN112379831A - Data management method and device, computer equipment and storage medium - Google Patents

Data management method and device, computer equipment and storage medium Download PDF

Info

Publication number
CN112379831A
CN112379831A CN202011221239.3A CN202011221239A CN112379831A CN 112379831 A CN112379831 A CN 112379831A CN 202011221239 A CN202011221239 A CN 202011221239A CN 112379831 A CN112379831 A CN 112379831A
Authority
CN
China
Prior art keywords
sector
data
target
metadata model
data unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011221239.3A
Other languages
Chinese (zh)
Inventor
肖扬
方彬浩
陈炳锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Comba Network Systems Co Ltd
Original Assignee
Comba Telecom Systems China 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 Comba Telecom Systems China Ltd filed Critical Comba Telecom Systems China Ltd
Priority to CN202011221239.3A priority Critical patent/CN112379831A/en
Publication of CN112379831A publication Critical patent/CN112379831A/en
Pending legal-status Critical Current

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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The application relates to a data management method, a data management device, computer equipment and a storage medium. The method comprises the following steps: the microprocessor obtains a data operation instruction, obtains the erasing times of each sector in the flash memory of the device from a preset metadata model, determines a target sector according to the erasing times of each sector, and executes corresponding operation on the target sector according to the data operation instruction. The metadata model is used for storing the attribute information of each sector, and the microprocessor can determine the target sector according to the erasing times in the attribute information of each sector, so that the problem that the service life of the flash memory is shortened due to the fact that a certain sector is damaged due to excessive use of the target sector corresponding to an irregular distribution operation instruction is solved, the loss of each sector in the flash memory is balanced by adaptively matching the target sector according to the erasing times of each sector, and the service life of the whole flash memory is prolonged.

Description

Data management method and device, computer equipment and storage medium
Technical Field
The present application relates to the field of computer data management, and in particular, to a data management method, apparatus, computer device, and storage medium.
Background
In embedded devices without a file system, data storage is often achieved by direct addressing.
In the prior art, data storage of an embedded device is realized by a non-volatile flash technology, the non-volatile flash is composed of a plurality of blocks, each block includes a plurality of pages, data writing and reading are generally performed according to addresses of the pages, and the block where the page is located is erased during each data reading and writing.
However, when the data read/write amount is large, frequent erasing/writing of the block easily causes damage to the block, thereby reducing the service life of the norflash.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a data management method, an apparatus, a computer device, and a storage medium, which can balance the wear of each segment in a norflash.
In a first aspect, a data management method is provided, the method including:
acquiring a data operation instruction;
acquiring the erasing times of each sector in the flash memory of the equipment from a preset metadata model; the metadata model is used for storing the attribute information of each fan-shaped block; the metadata model is stored in the first segment;
determining a target sector according to the erasing times of each sector;
and executing corresponding operation on the target sector according to the data operation instruction.
In one embodiment, the determining the target sector according to the number of times of erasing the sectors includes:
determining a free sector from each sector;
and determining the sector with the minimum erasing times in each idle sector as a target sector.
In one embodiment, the metadata model includes a first identification bit for each segment; the first identification bit is used for indicating whether the sector block is a bad block or not; determining the sector with the minimum erasing times in each idle sector as a target sector, wherein the method comprises the following steps:
determining the sector of the non-bad block as a candidate sector according to the first identification bit of each idle sector;
and determining the sector with the minimum erasing times in the candidate sectors as the target sector.
In one embodiment, if the data operation command is used to instruct to write the target data, the executing the corresponding operation on the target sector according to the data operation command includes:
the target data is written into the data units of the target sector.
In one embodiment, the method further includes:
performing a read-back operation on target data in the target sector to obtain a target checksum;
and if the target checksum is inconsistent with the initial checksum of the target data, determining that the target sector is a bad block, and setting the first identification position of the target sector as a first value.
In one embodiment, if the data manipulation instruction is for indicating modification of the target data unit; the executing corresponding operation on the target sector according to the data operation instruction comprises:
acquiring candidate data of a sector where a target data unit is located;
modifying the candidate data according to the data operation instruction;
and writing the modified data into the data unit of the target sector.
In one embodiment, the method further includes:
acquiring the erasing times of all the fan-shaped blocks from the metadata model according to a preset detection period;
and executing wear leveling operation according to the maximum erasing times and the minimum erasing times.
In one embodiment, the metadata model includes a second identification bit of each segment; the second identification bit is used for indicating whether the sector is free or not; performing a wear leveling operation based on the maximum erase count and the minimum erase count, comprising:
calculating the difference between the maximum erasing times and the minimum erasing times;
if the difference is larger than a preset threshold value, determining an idle sector with the minimum erasing times from the idle sectors according to a second identification bit of each sector in the metadata model;
and acquiring data in the sector block corresponding to the maximum erasing times, and writing the data into the idle sector block with the minimum erasing times.
In one embodiment, the obtaining data in the sector corresponding to the maximum erase count includes:
and if the maximum erasing times correspond to a plurality of fan-shaped blocks, acquiring data in the fan-shaped block corresponding to the first index value according to the index sequence of the fan-shaped blocks.
In one embodiment, if the data manipulation instruction is used to indicate deletion of the target data unit; the method further comprises the following steps:
deleting data in the target data unit;
and setting the data identifier corresponding to the storage address in the metadata model as a second value according to the storage address of the target data unit.
In one embodiment, the metadata model includes a correspondence between storage addresses and data identifications of the data units of the respective sectors; after the corresponding operation is performed on the target sector according to the data operation command, the method further includes:
acquiring a storage address of a data unit of a target sector;
and updating the corresponding relation between the storage address of the data unit of the target sector in the metadata model and the data identification according to the data identification of the target data.
In one embodiment, the metadata model includes a hash table and a data unit mapping table;
the data unit mapping table comprises a pointer array, and each pointer points to the storage address and the data identification of the data unit of the sector;
the hash table includes a correspondence between data identifications, pointer array indices, and storage addresses of the data units.
In one embodiment, the method further includes: the metadata model is backed up into the second segment.
In a second aspect, a data management device is provided, the device comprising a flash memory and a microprocessor; the flash memory comprises a plurality of sectors; the sector includes a plurality of data units;
the data unit is used for storing target data;
the microprocessor is used for executing the data management method provided by the first aspect.
In a third aspect, a computer device is provided, which includes a memory and a processor, wherein the memory stores a computer program, and the processor implements the data management method according to any one of the first aspect when executing the computer program.
In a fourth aspect, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the data management method of any of the first aspects described above.
According to the data management method, the data management device, the computer equipment and the storage medium, the microprocessor obtains the data operation instruction, obtains the erasing times of each sector in the flash memory of the equipment from the preset metadata model, determines the target sector according to the erasing times of each sector, and executes corresponding operation on the target sector according to the data operation instruction. The metadata model is stored in the first sector, the metadata model is used for storing the attribute information of each sector, the microprocessor can determine the target sector according to the erasing times in the attribute information of each sector, the problem that the service life of the flash memory is shortened due to the fact that a certain sector is damaged due to excessive use of the corresponding target sector of an irregular distribution operation instruction is solved, the target sector is matched in a self-adaptive mode according to the erasing times of each sector, the loss of each sector in the flash memory is balanced, and the service life of the flash memory is prolonged.
Drawings
FIG. 1 is a diagram of an application environment of a data management method in one embodiment;
FIG. 2 is a flow diagram illustrating a method for data management in one embodiment;
FIG. 3 is a flow diagram illustrating a method for data management in one embodiment;
FIG. 4 is a flow diagram that illustrates a method for data management in one embodiment;
FIG. 5 is a flow diagram that illustrates a method for data management in one embodiment;
FIG. 6 is a flow diagram that illustrates a method for data management in one embodiment;
FIG. 7 is a flow diagram that illustrates a method for data management in one embodiment;
FIG. 8 is a flow diagram that illustrates a method for data management in one embodiment;
FIG. 9 is a flow diagram that illustrates a method for data management in one embodiment;
FIG. 10 is a flow diagram that illustrates a method for data management in one embodiment;
FIG. 11 is a flowchart illustrating a method of data management in one embodiment;
FIG. 12 is a block diagram showing the structure of a data management apparatus according to an embodiment;
FIG. 13 is a block diagram illustrating the structure of a sector of the data management apparatus in one embodiment;
FIG. 14 is a diagram illustrating an internal structure of a computer device according to an embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The data management method provided by the application can be applied to the application environment shown in fig. 1. Wherein microprocessor 101 communicates with flash memory 102. The microprocessor 101 may perform operation control on the non-volatile flash memory norflash102 by receiving a data operation instruction, to implement corresponding operation of data, for example, if the data operation instruction is an instruction indicating to write target data, the microprocessor may write the target data into a target sector according to the operation instruction; if the data operation instruction is an instruction for modifying the target data unit, the microprocessor can modify the data of the sector where the target data unit is located according to the operation instruction and the target sector, and write the modified data into the target sector; if the data operation instruction is an instruction for instructing to delete the target data unit, the microprocessor may delete the data corresponding to the target data unit according to the instruction, which is not limited in this embodiment.
The following describes in detail the technical solutions of the present application and how the technical solutions of the present application solve the above technical problems by embodiments and with reference to the drawings. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments. It should be noted that the data management method provided in the embodiments of fig. 2 to 11 of the present application includes that the execution main body is the microprocessor 101, and may also be a data management device, and the data management device may be a part or all of the microprocessor 101 by software, hardware, or a combination of software and hardware. In the following method embodiments, the execution subject is the microprocessor 101 as an example.
In one embodiment, as shown in fig. 2, a data management method is provided, which relates to a process in which a microprocessor obtains a data operation instruction, determines a target sector according to the number of times of erasing each sector in a device flash memory in a preset metadata model, and accordingly performs a corresponding operation on the target sector according to the data operation instruction, and includes the following steps:
s201, acquiring a data operation instruction.
The data operation instruction may be an instruction instructing the microprocessor to write in the target data, or an instruction instructing the microprocessor to modify data in the target data unit, or an instruction instructing the microprocessor to delete data in the target data unit, or an instruction instructing the microprocessor to add a new target data unit. In this embodiment, the microprocessor receives a data operation instruction, and optionally, the data operation instruction may be a voice instruction for inputting or a text instruction input by a user, which is not limited in this embodiment.
S202, acquiring the erasing times of each sector in the flash memory of the equipment from a preset metadata model; the metadata model is used for storing the attribute information of each fan-shaped block; the metadata model is stored in the first segment.
The metadata model metadata information is used for describing the state of each data unit of each sector, and includes attribute information such as an index or an identifier of each sector, an address of a corresponding data unit of each sector, the number of times of erasing each sector, a checksum of data in each data unit, a bad block mark of each sector, an overflow mark of each sector, and the like. And storing the metadata model into the first sector according to the actual spatial distribution condition of each sector in the flash memory of the device.
Optionally, the metadata model may also be backed up into the second segment.
In this embodiment, the microprocessor may also back up the metadata model to the designated second segment to implement dual storage of the first segment and the second segment, which can prevent loss of data in the metadata model due to power failure. In this embodiment, the microprocessor may determine the number of times of erasing corresponding to each sector according to a pre-constructed metadata model, and optionally, the microprocessor may determine the number of times of erasing corresponding to each sector from the metadata model according to an index of each sector; or, the microprocessor may further determine, according to the identifier of each sector, the number of times of erasing corresponding to each sector from the metadata model, which is not limited in this embodiment.
S203, determining a target sector according to the erasing times of the sectors.
In this embodiment, after acquiring the erase frequency of all sectors, the microprocessor may directly determine the sector with the minimum erase frequency as a target sector; alternatively, if there are a plurality of sectors with the smallest erase count, the microprocessor may determine, according to the index values of the sectors, the sector with the smallest index value as the target sector. Or, the microprocessor may also determine, according to the erase count threshold, the sector that is smaller than the erase count threshold, so as to determine the target sector from the sectors, which is not limited in this embodiment.
And S204, executing corresponding operation on the target sector according to the data operation instruction.
In this embodiment, after determining the target sector, the microprocessor performs a corresponding operation according to the data operation instruction, for example, when the data operation instruction is an instruction instructing the microprocessor to write the target data, the microprocessor may write the target data into the target sector according to the data operation instruction; when the data operation instruction is an instruction for instructing the microprocessor to modify data in the target data unit, the microprocessor can modify the data in the target data unit according to the data operation instruction and write the modified data into the target sector; when the data operation instruction is an instruction for instructing the microprocessor to delete data in the target data unit, the microprocessor may delete the data in the target data unit according to the data operation instruction; when the data operation instruction is an instruction instructing the microprocessor to add a new target data unit, the microprocessor adds a corresponding target data unit in the target sector according to the data operation instruction, which is not limited in this embodiment.
In the data management method, the microprocessor acquires a data operation instruction, acquires the erasing times of each sector in the flash memory of the device from a preset metadata model, determines a target sector according to the erasing times of each sector, and executes corresponding operation on the target sector according to the data operation instruction. The metadata model is used for storing the attribute information of each sector, and the microprocessor can determine the target sector according to the erasing times in the attribute information of each sector, so that the problem that the service life of the flash memory is shortened due to the fact that a certain sector is damaged due to excessive use of the target sector corresponding to an irregular distribution operation instruction is solved, the loss of each sector in the flash memory is balanced by adaptively matching the target sector according to the erasing times of each sector, and the service life of the flash memory is prolonged.
In one embodiment, as shown in fig. 3, the determining the target sector according to the number of times of erasing the sectors includes:
s301, determining an idle sector from each sector.
Wherein a free sector refers to a sector having at least one data unit that does not store data.
In this embodiment, the microprocessor may determine whether the current sector is an idle sector according to a correspondence between a data unit storage address in each sector and a data identifier; optionally, the microprocessor may further determine whether the current sector is in an overflow state according to an overflow flag of each sector, where all data units of the sector indicated by the overflow all store data, and the microprocessor determines an idle sector from each sector by any method, which is not limited in this embodiment.
And S302, determining the sector with the minimum erasing frequency in each idle sector as a target sector.
In this embodiment, the microprocessor obtains the number of times of erasing of each free sector according to the determined free sectors, and determines, as a target sector, a sector with the smallest number of times of erasing in the free sectors by comparing the number of times of erasing of each free sector or by sorting the number of times of erasing of each free sector, which is not limited in this embodiment.
In this embodiment, the microprocessor determines that the sector with the minimum erasing frequency is determined as the target sector from the idle sectors, and preferentially selects the sector with the minimum erasing frequency for data processing, so as to reduce the processing frequency of the sector with the large erasing frequency, so that the sector with the small erasing frequency and the sector with the large erasing frequency reach the loss balance as much as possible, prolong the overall use time of the flash memory, and the method is simple and effective, and improves the determination efficiency of the target sector.
When the microprocessor determines the target sector, in order to improve the determination efficiency, the microprocessor may perform a preliminary screening on the sectors, and in one embodiment, as shown in fig. 4, the metadata model includes a first identification bit of each sector; the first identification bit is used for indicating whether the sector block is a bad block or not; the determining, as a target sector, a sector with the smallest erase count among the idle sectors includes:
s401, determining the sector of the non-bad block as a candidate sector according to the first identification bit of each idle sector.
The first identification bit is used for indicating whether the sector block is a bad block, and optionally, when the first identification bit is 1, the current sector block is a bad block; when the first flag is 0, it indicates that the current sector is a normal block.
In this embodiment, in the process of determining the target sector by the microprocessor, normal block screening may be performed on all sectors according to the first identification bits of the sectors, so as to exclude the sectors marked as bad blocks, and determine the sectors marked as normal blocks as candidate sectors, which is not limited in this embodiment.
S402, determining the sector with the minimum erasing frequency in the candidate sectors as a target sector.
In this embodiment, the microprocessor obtains the number of erasures of each candidate sector from the candidate sectors, and determines the sector with the smallest number of erasures as the target sector by means of comparison or sorting.
In this embodiment, when the microprocessor performs data operation, the sector with the smallest erasing frequency is preferentially selected for data processing, so that the processing frequency of the sector with the larger erasing frequency is reduced, the sector with the smaller erasing frequency and the sector with the larger erasing frequency reach wear balance as much as possible, and the service life of the whole flash memory is prolonged.
In one aspect, the microprocessor may perform a write data operation, and in one embodiment, if the data operation command is used to instruct to write target data, the performing corresponding operation on the target sector according to the data operation command includes:
the target data is written into the data units of the target sector.
In this embodiment, the microprocessor writes the target data carried in the data operation instruction into the determined target sector according to the received data operation instruction, and optionally, before writing the target data into the target sector, the microprocessor may also perform an erasing operation on the target sector first, and then write the target data into the target sector, which is not limited in this embodiment.
In this embodiment, before writing the target data into the target sector, the target sector is erased, so as to ensure that the target sector is in an idle state, and the written data can be ensured to be complete and accurate.
After writing the target data into the sector, to ensure that the writing is successful, in one embodiment, as shown in fig. 5, the method further includes:
s501, performing a read-back operation on target data in the target sector to obtain a target checksum.
After writing the target data into the target sector, the microprocessor may perform a read-back operation to obtain a checksum corresponding to the current target data, where the checksum is a character string generated according to the target data itself and is used to represent attribute information of the current target data.
S502, if the target checksum is inconsistent with the initial checksum of the target data, determining that the target sector is a bad block, and setting the first identification position of the target sector as a first value.
In this embodiment, before writing the target data into the target sector, the microprocessor may generate an initial checksum according to the target data in the data operation instruction, store the initial checksum in the metadata model, after obtaining the target checksum, compare the target checksum with the initial checksum, if the target checksum is inconsistent with the initial checksum, it indicates that the data stored in the target sector is inconsistent with the target data carried in the data operation instruction, which means that the target sector has data loss or other problems when storing the target data, at this time, it is determined that the current target sector is a damaged block, and then set the first identification bit of the target sector as a first value, for example, the first value may be 1, that is, the sector whose first identification bit is 1 is a damaged block. This embodiment is not limited to this.
In this embodiment, a read-back operation is performed on data after each data writing, so that on one hand, whether target data is completely stored in a target sector or not can be confirmed, on the other hand, whether a current sector is a bad sector or not can be confirmed, if the current sector is a bad sector, the first identification position is set to be a first value, and the current sector is not used in the subsequent data operation, so that the efficiency of the data operation is improved.
In another case, the microprocessor may also perform a modify operation on the target data unit, in one embodiment, as shown in FIG. 6, if the data operation instruction is used to instruct to modify the target data unit; the executing corresponding operation on the target sector according to the data operation instruction comprises:
s601, acquiring candidate data of a sector where the target data unit is located.
Wherein the candidate data refers to all the original data stored in the sector. In this embodiment, the microprocessor receives the instruction to modify the target data unit, determines the storage address of the target data unit according to the instruction, and obtains all the original data of the sector where the target data unit is located.
And S602, modifying the candidate data according to the data operation instruction.
In this embodiment, the microprocessor modifies all the original data of the acquired sector according to the data operation instruction, and optionally, the microprocessor modifies data corresponding to the target data unit in all the original data.
And S603, writing the modified data into the data unit of the target sector.
In this embodiment, the microprocessor writes the modified data into the target sector, and optionally, the microprocessor may delete all the initial data of the sector in which the target data unit is located, and release the storage space of the sector in which the target data unit is located.
In this embodiment, in order to prevent data from being damaged due to abnormal power failure in the writing process, when a data unit is updated each time, a target sector is used as a new storage address of the data unit, and after the data unit is successfully written, an old sector corresponding to the data unit is set to be free, so that the data writing is not affected by factors such as power failure.
In order to determine that the wear of sectors in the flash memory is balanced as much as possible during the data operation or after the data operation is performed, in an embodiment, as shown in fig. 7, the method further includes:
s701, acquiring the erasing times of all the fan-shaped blocks from the metadata model according to a preset detection period.
The preset period is determined according to the actual application environment of the flash memory, and if the operation data amount is large, a detection period with a high frequency may be set, for example, detection may be performed every 10 seconds, and if the operation data amount is small, a detection period with a low frequency may be set, for example, detection may be performed every 30 seconds.
In this embodiment, the microprocessor acquires the number of times of erasing each sector from the attribute information of the metadata model according to a preset detection period. For example, the microprocessor may obtain the number of times of erasing each sector from the attribute information of the metadata model every 30s to perform a wear leveling operation, which is not limited in this embodiment.
S702, according to the maximum erasing times and the minimum erasing times, wear leveling operation is executed.
In this embodiment, the microprocessor performs a wear leveling operation according to the obtained maximum erase count and the obtained minimum erase count, in order to make the sector with the maximum erase count in an unused state, the data operation preferentially selects the sector with the minimum erase count, and optionally, the microprocessor may determine whether to perform the wear leveling operation according to a difference between the maximum erase count and the minimum erase count; or the microprocessor may further have a ratio of the maximum erase time to the minimum erase time to determine whether to perform wear leveling operation, which is not limited in this embodiment.
In this embodiment, the microprocessor periodically checks the erase counts of all the sectors, performs a wear leveling operation according to the maximum erase count and the minimum erase count, dynamically adjusts data between the sector corresponding to the maximum erase count and the sector corresponding to the minimum erase count, and releases the storage space of the sector corresponding to the maximum erase count, so that the sector is placed in an idle state, the erase count is reduced, and the sector is prevented from being damaged due to excessive erasure.
The microprocessor performs a wear leveling operation according to the maximum erase count and the minimum erase count, so that the sectors are as wear-leveled as possible, and in one embodiment, as shown in fig. 8, the metadata model includes a second flag of each sector; the second identification bit is used for indicating whether the sector is free or not; performing a wear leveling operation based on the maximum erase count and the minimum erase count, comprising:
s801, calculating the difference value between the maximum erasing times and the minimum erasing times.
In this embodiment, the microprocessor calculates a difference between the determined maximum erase time and the determined minimum erase time, and stores the difference into a designated storage space, which is not limited in this embodiment.
S802, if the difference value is larger than a preset threshold value, determining an idle sector block with the minimum erasing times from the idle sector blocks according to a second identification bit of each sector block in the metadata model.
The preset threshold value is a threshold value of a difference value between the maximum erasing times and the minimum erasing times which are determined according to the attributes of the fan-shaped blocks of the flash memory and the expected using time of the flash memory. The second identification bit refers to an overflow identification bit of the sector, and for example, if the overflow identification bit is 0, it indicates that the sector has a storage space and is a free block; if the overflow flag bit is 1, it indicates that the storage space of the sector block is full, and the sector block is a non-free block.
In this embodiment, the microprocessor compares the preset threshold value with the difference obtained by the calculation, and if the difference is greater than the threshold value, it is determined that the erase count of the sector corresponding to the maximum erase count has reached a higher erase count, and in order to ensure that the sector is not damaged due to an excessive erase count, it is necessary to determine a sector with a small erase count as a replacement sector thereof.
And S803, acquiring the data in the sector corresponding to the maximum erasing times, and writing the data into the idle sector with the minimum erasing times.
In this embodiment, after determining the sector with the smallest erase count as the replacement sector of the sector with the largest erase count, the microprocessor writes the data in the sector with the largest erase count into the sector with the lowest erase count.
In this embodiment, after the microprocessor performs data migration on the sector with the largest erase count, although the sector is in the idle state, since the erase count of the sector is still the largest, the microprocessor selects the sector with the small erase count in the subsequent data operation without using the sector, thereby realizing the wear leveling of the sectors and prolonging the service life of the entire flash memory.
In this embodiment, if a sector is frequently erased, it is easy to cause device abnormality due to unavailability of part of sectors, and wear leveling operation is performed on each sector of the flash memory, so that data erasure is spread to each sector under the same condition for each sector, thereby prolonging the service life of the flash memory.
Optionally, since there are N sectors in the flash memory, there may be a case where the erase times of some sectors are equal, and in an embodiment, the obtaining data in the sector corresponding to the maximum erase time includes:
and if the maximum erasing times correspond to a plurality of fan-shaped blocks, acquiring data in the fan-shaped block corresponding to the first index value according to the index sequence of the fan-shaped blocks.
The index sequence refers to a numbering sequence of each sector, for example, the flash memory includes N sectors, an index of a first sector is 0, an index of a second sector is 1, an index of a third sector is 3, and an index of an nth sector is N-1, if the maximum erase count corresponds to multiple sectors, which includes sector 5, sector 8, and sector 10, the microprocessor obtains data in the sector with the minimum index value according to an index value of each sector, that is, obtains data in sector 5, which is not limited in this embodiment.
In this embodiment, considering that there are a plurality of sectors in the flash memory, and there may be a case where the number of times of erasing of each sector is equal, in this case, the target sector is determined according to the index value of each sector, and the method is simple and effective.
In another case, the microprocessor may also receive an instruction to delete the target data unit, in one embodiment, as shown in fig. 9, if the data manipulation instruction is used to instruct to delete the target data unit; the method further comprises the following steps:
and S901, deleting the data in the target data unit.
In this embodiment, the microprocessor receives a data operation instruction for deleting a target data unit, and deletes corresponding data in a storage address according to the storage address of the target data unit in the data operation instruction.
And S902, setting the data identifier corresponding to the storage address in the metadata model as a second value according to the storage address of the target data unit.
In this embodiment, after deleting data in the target data unit, the microprocessor needs to update a correspondence between a storage address of the data unit of the sector where the target data unit is located in the metadata model and the data identifier, and optionally, the microprocessor may set the data identifier corresponding to the storage address in the correspondence to 0 or clear the data identifier, which is not limited in this embodiment.
In this embodiment, after the target data unit is deleted, the microprocessor needs to update the corresponding relationship in the sector where the target data unit is located according to the storage address and the data identifier of the target data unit, and correct the content in the corresponding relationship in time, so that the attribute information of each sector can be accurately obtained in the next data operation.
After each data operation, the microprocessor needs to update the content of the corresponding table in the metadata model according to the storage address and the data identifier of the data unit after the operation, and in one embodiment, as shown in fig. 10, the metadata model includes the corresponding relationship between the storage address and the data identifier of the data unit of each segment; after the corresponding operation is performed on the target sector according to the data operation command, the method further includes:
s1001, a storage address of a data unit of the target sector is obtained.
In this embodiment, after each data operation, the microprocessor acquires the storage address of the target data unit of the data operation, for example, when the microprocessor finishes the operation of deleting the target data unit, the microprocessor acquires the storage address of the deleted target data unit, which is not limited in this embodiment.
S1002, according to the data identification of the target data, the corresponding relation between the storage address of the data unit of the target fan-shaped block in the metadata model and the data identification is updated.
In this embodiment, as described in the above example, after the microprocessor acquires the storage address of the deleted target data unit, the data identifier of the storage address is cleared or set to 0, so as to update the correspondence between the storage address and the data identifier of the data unit of the sector where the target data unit is located. Optionally, after the microprocessor finishes the operation of modifying the target data unit, according to the storage address of the modified target data unit and the data identifier corresponding to the target data unit, the corresponding relationship between the storage address of the data unit of the sector where the modified target data unit is located and the data identifier is further modified, which is not limited in this embodiment.
In this embodiment, after each data operation, the microprocessor needs to update the corresponding relationship in the sector where the target data unit is located according to the storage address and the data identifier of the target data unit, and correct the content in the corresponding relationship in time, so that the attribute information of each sector can be accurately obtained in the next data operation.
In order to improve the efficiency of querying the storage address of the data unit, in one embodiment, the metadata model includes a hash table and a data unit mapping table; the data unit mapping table comprises a pointer array, and each pointer points to the storage address and the data identification of the data unit of the sector; the hash table includes a correspondence between data identifications, pointer array indices, and storage addresses of the data units.
In this embodiment, when reading and writing the data unit, based on the characteristic of the fast index of the hash table, the identifier of the corresponding pointer array may be quickly found according to the data identifier, so as to obtain the pointer of the corresponding data unit, and determine the storage address corresponding to the data identifier according to the pointer of the data unit.
In this embodiment, the query mode based on the hash mapping mode can realize a query that finds the corresponding storage address quickly according to the data identifier, and improves the query efficiency of the storage address of the data unit.
To better explain the above method, as shown in fig. 11, the present embodiment provides a data management method, which specifically includes:
s101, acquiring a data operation instruction;
s102, acquiring the erasing times and a first identification bit of each sector in the flash memory of the equipment from a preset metadata model;
s103, determining an idle fan-shaped block from each fan-shaped block;
s104, determining the fan-shaped block of the non-bad block as a candidate fan-shaped block according to the first identification bit of each idle fan-shaped block;
s105, determining the sector with the minimum erasing frequency in the candidate sectors as a target sector;
s106, if the data operation instruction is used for indicating to write the target data, writing the target data into the data unit of the target sector;
s107, if the data operation instruction is used for indicating to modify the target data unit, acquiring candidate data of a sector where the target data unit is located, modifying the candidate data according to the data operation instruction, and writing the modified data into the data unit of the target sector;
s108, performing a read-back operation on target data in the target sector to obtain a target checksum;
s109, if the target checksum is inconsistent with the initial checksum of the target data, determining that the target sector is a bad block, and setting a first identification position of the target sector as a first value;
s110, if the data operation instruction is used for indicating to delete the target data unit, deleting data in the target data unit, and setting a data identifier corresponding to a storage address in the metadata model as a second value according to the storage address of the target data unit;
s111, acquiring a storage address of a data unit of the target sector;
s112, updating the corresponding relation between the storage address of the data unit of the target sector in the metadata model and the data identification according to the data identification of the target data;
s113, acquiring the erasing times of all the fan-shaped blocks from the metadata model according to a preset detection period;
s114, calculating the difference value between the maximum erasing times and the minimum erasing times;
s115, if the difference value is larger than a preset threshold value, determining an idle sector block with the minimum erasing times from the idle sector blocks according to a second identification bit of each sector block in the metadata model;
s116, acquiring data in the sector corresponding to the maximum erasing times, and writing the data into the idle sector with the minimum erasing times.
In this embodiment, the metadata model is used to store attribute information of each sector, including an erase count, a bad block flag, and an overflow flag, the microprocessor may determine a target sector of a minimum erase count of a free non-bad block according to the attribute information of each sector, and adaptively allocate a storage address to a current data operation instruction, thereby avoiding a problem that a certain sector is damaged due to excessive use of the sector due to irregular allocation of the operation sector of the operation instruction, which results in a reduction in the lifetime of the flash memory.
The data management method provided by the above embodiment has similar implementation principles and technical effects to those of the above embodiment, and is not described herein again.
It should be understood that although the various steps in the flow charts of fig. 2-11 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 described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2-11 may include multiple 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 in turn or alternately with other steps or at least some of the other steps.
In one embodiment, as shown in fig. 12, there is provided a data management apparatus including: the apparatus includes a flash memory 102 and a microprocessor 101; the flash memory 102 includes a plurality of sectors N; sector N includes a plurality of data units 0N;
the data unit 02 is used to store target data.
The flash memory may be a non-volatile flash memory norflash102 composed of N sector sectors, each sector being composed of a plurality of data units. Alternatively, sector0 and sector1 are used as storage metadata information. The metadata information is used for describing the state of each data unit of each sector, and includes information such as the number of occupied sectors, the address of the corresponding data unit of each sector, the erasing frequency, the checksum, the bad block mark, the overflow mark and the like of each sector, and the structure of the metadata information is shown in fig. 13, wherein the content of the same metadata information is stored through the sectors 0 and the sectors 1, so that 1+1 backup is realized, and data loss of the metadata block caused by power failure of equipment in the erasing process is prevented.
The data unit address comparison table stores the corresponding relation between the ID of the data unit and the address of the data unit of each sector; the checksum is used for verifying the data of the data unit in the sector; the bad block mark is used for marking a sector as a bad block; the overflow flag is used to identify that the current sector is full of data units, wherein if the overflow flag is not set to the sector, the sector is considered to be a free block.
Alternatively, in the present embodiment, each data unit is composed of 2-byte attribute items, 4-byte numerical data, and 58-byte character-type data. The size of a common sector is 4096 bytes, the data units are designed to be 64 bytes which can be aligned according to the sector, the management of the data units is convenient, each data unit corresponds to an ID, the ID is unique, and when an application program is used, the ID of each data unit needs to be defined, and the type and the function of the data are also appointed. The data management model of the data scheme automatically assigns a storage address to the ID. When a program stores numeric data, the spare character string can also be used as additional information of numeric data, wherein the attribute item is used for describing the characteristics of the data unit, such as the read-write attribute for identifying the data unit, the alarm attribute, and the like.
The microprocessor 101 is configured to perform the data management method provided in the embodiments of fig. 2-11.
For specific limitations of the data management apparatus, reference may be made to the above limitations of the data management method, which are not described herein again. The modules in the data management device can be wholly or partially implemented by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as shown in fig. 14. The computer device includes a processor, a memory, a communication interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless communication can be realized through WIFI, an operator network, NFC (near field communication) or other technologies. The computer program is executed by a processor to implement a data management method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
Those skilled in the art will appreciate that the architecture shown in fig. 14 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided, comprising a memory and a processor, the memory having a computer program stored therein, the processor implementing the following steps when executing the computer program:
acquiring a data operation instruction;
acquiring the erasing times of each sector in the flash memory of the equipment from a preset metadata model; the metadata model is used for storing the attribute information of each fan-shaped block; the metadata model is stored in the first segment;
determining a target sector according to the erasing times of each sector;
and executing corresponding operation on the target sector according to the data operation instruction.
The implementation principle and technical effect of the computer device provided by the above embodiment are similar to those of the above method embodiment, and are not described herein again.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of:
acquiring a data operation instruction;
acquiring the erasing times of each sector in the flash memory of the equipment from a preset metadata model; the metadata model is used for storing the attribute information of each fan-shaped block; the metadata model is stored in the first segment;
determining a target sector according to the erasing times of each sector;
and executing corresponding operation on the target sector according to the data operation instruction.
The implementation principle and technical effect of the computer-readable storage medium provided by the above embodiments are similar to those of the above method embodiments, and are not described herein again.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database or other medium used in the embodiments provided herein can include at least one of non-volatile and volatile memory. Non-volatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical storage, or the like. Volatile Memory can include Random Access Memory (RAM) or external cache Memory. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), among others.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (16)

1. A method for managing data, the method comprising:
acquiring a data operation instruction;
acquiring the erasing times of each sector in the flash memory of the equipment from a preset metadata model; the metadata model is used for storing attribute information of each fan-shaped block; the metadata model is stored in a first segment;
determining a target sector according to the erasing times of each sector;
and executing corresponding operation on the target sector according to the data operation instruction.
2. The method of claim 1, wherein said determining a target sector based on a number of erasures for each of said sectors comprises:
determining a free sector from each of said sectors;
and determining the sector with the minimum erasing times in each idle sector as the target sector.
3. The method of claim 2, wherein said metadata model includes a first identification bit for each of said segments; the first identification bit is used for indicating whether the sector block is a bad block or not; determining, as the target sector, a sector with the smallest erase count in each of the idle sectors, including:
determining the sector of the non-bad block as a candidate sector according to the first identification bit of each idle sector;
and determining the sector with the minimum erasing number in each candidate sector as the target sector.
4. The method according to any one of claims 1 to 3, wherein if the data operation instruction is used to instruct writing target data, the performing corresponding operation on the target sector according to the data operation instruction comprises:
writing the target data into data units of the target sector.
5. The method of claim 4, further comprising:
performing a read-back operation on the target data in the target sector to obtain a target checksum;
and if the target checksum is inconsistent with the initial checksum of the target data, determining that the target sector block is a bad block, and setting a first identification position of the target sector block as a first value.
6. The method of any of claims 1-3, wherein if the data manipulation instruction is indicative of modifying a target data unit; the executing corresponding operation on the target sector according to the data operation instruction comprises:
acquiring candidate data of a sector where the target data unit is located;
modifying the candidate data according to the data operation instruction;
writing the modified data into data units of the target sector.
7. The method according to any one of claims 1-3, further comprising:
acquiring the erasing times of all the fan-shaped blocks from the metadata model according to a preset detection period;
and executing wear leveling operation according to the maximum erasing times and the minimum erasing times.
8. The method of claim 7, wherein the metadata model includes a second identification bit for each of the segments; the second identification bit is used for indicating whether the sector block is free or not; the performing wear leveling operation according to the maximum erase count and the minimum erase count includes:
calculating a difference between the maximum erase count and the minimum erase count;
if the difference is larger than a preset threshold value, determining an idle sector block with the minimum erasing frequency from the idle sector blocks according to a second identification bit of each sector block in the metadata model;
and acquiring data in the sector corresponding to the maximum erasing times, and writing the data into the idle sector with the minimum erasing times.
9. The method of claim 8, wherein obtaining the data in the sector corresponding to the maximum number of erasures comprises:
and if the maximum erasing times correspond to a plurality of fan-shaped blocks, acquiring data in the fan-shaped block corresponding to the first index value according to the index sequence of the fan-shaped blocks.
10. The method according to any of claims 1-3, wherein if the data manipulation instruction is used to indicate deletion of a target data unit; the method further comprises the following steps:
deleting data in the target data unit;
and setting the data identifier corresponding to the storage address in the metadata model as a second value according to the storage address of the target data unit.
11. A method according to any of claims 1-3, wherein the metadata model includes a correspondence between the storage address and the data identity of the data units of each of the segments; after the performing the corresponding operation on the target sector according to the data operation instruction, the method further includes:
acquiring a storage address of a data unit of the target sector;
and updating the corresponding relation between the storage address of the data unit of the target sector in the metadata model and the data identification according to the data identification of the target data.
12. The method of claim 11, wherein the metadata model includes a hash table and a data unit mapping table;
the data unit mapping table comprises an array of pointers, and each pointer points to a storage address and a data identifier of a data unit of the sector;
the hash table includes a correspondence between data identifications, pointer array indices, and storage addresses of data units.
13. The method according to any one of claims 1-3, further comprising:
the metadata model is backed up into a second segment.
14. A data management device, characterized in that said device comprises a flash memory and a microprocessor; the flash memory comprises a plurality of sectors; the sector includes a plurality of data units;
the data unit is used for storing target data;
the microprocessor is adapted to perform the data management method of claims 1-13 above.
15. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor realizes the steps of the method of any one of claims 1 to 13 when executing the computer program.
16. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 13.
CN202011221239.3A 2020-11-05 2020-11-05 Data management method and device, computer equipment and storage medium Pending CN112379831A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011221239.3A CN112379831A (en) 2020-11-05 2020-11-05 Data management method and device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011221239.3A CN112379831A (en) 2020-11-05 2020-11-05 Data management method and device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CN112379831A true CN112379831A (en) 2021-02-19

Family

ID=74577894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011221239.3A Pending CN112379831A (en) 2020-11-05 2020-11-05 Data management method and device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112379831A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190176A (en) * 2021-05-11 2021-07-30 上海华东汽车信息技术有限公司 Data storage method and device, electronic equipment and storage medium
CN118069378A (en) * 2024-04-22 2024-05-24 山东云海国创云计算装备产业创新中心有限公司 Position determining method and device, storage medium and electronic equipment

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832493A (en) * 1997-04-24 1998-11-03 Trimble Navigation Limited Flash file management system
KR20120061271A (en) * 2010-12-03 2012-06-13 서울대학교산학협력단 A technique for selecting a block with the least erased counts to reduce time complexity and memory requirement for NAND flash memory
CN103092766A (en) * 2012-12-28 2013-05-08 北京时代民芯科技有限公司 Balanced loss achievement method for NAND FLASH
CN104360957A (en) * 2014-11-26 2015-02-18 上海爱信诺航芯电子科技有限公司 Method for maintaining flash memory wear leveling
US20150106556A1 (en) * 2008-06-18 2015-04-16 Super Talent Electronics, Inc. Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear of a Super-Endurance Solid-State Drive
CN104714891A (en) * 2013-12-11 2015-06-17 华为技术有限公司 Flash memory data management method and device
CN104778127A (en) * 2015-03-25 2015-07-15 合肥格易集成电路有限公司 Method and device for writing data by NAND FLASH
CN109256166A (en) * 2018-08-22 2019-01-22 长江存储科技有限责任公司 The method for deleting and flash memories of flash memories
CN109753443A (en) * 2019-01-12 2019-05-14 湖南国科微电子股份有限公司 A kind of data processing method, device and electronic equipment
CN110532243A (en) * 2019-08-20 2019-12-03 上海艾融软件股份有限公司 Data processing method, device and electronic equipment

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832493A (en) * 1997-04-24 1998-11-03 Trimble Navigation Limited Flash file management system
US20150106556A1 (en) * 2008-06-18 2015-04-16 Super Talent Electronics, Inc. Endurance Translation Layer (ETL) and Diversion of Temp Files for Reduced Flash Wear of a Super-Endurance Solid-State Drive
KR20120061271A (en) * 2010-12-03 2012-06-13 서울대학교산학협력단 A technique for selecting a block with the least erased counts to reduce time complexity and memory requirement for NAND flash memory
CN103092766A (en) * 2012-12-28 2013-05-08 北京时代民芯科技有限公司 Balanced loss achievement method for NAND FLASH
CN104714891A (en) * 2013-12-11 2015-06-17 华为技术有限公司 Flash memory data management method and device
CN104360957A (en) * 2014-11-26 2015-02-18 上海爱信诺航芯电子科技有限公司 Method for maintaining flash memory wear leveling
CN104778127A (en) * 2015-03-25 2015-07-15 合肥格易集成电路有限公司 Method and device for writing data by NAND FLASH
CN109256166A (en) * 2018-08-22 2019-01-22 长江存储科技有限责任公司 The method for deleting and flash memories of flash memories
CN109753443A (en) * 2019-01-12 2019-05-14 湖南国科微电子股份有限公司 A kind of data processing method, device and electronic equipment
CN110532243A (en) * 2019-08-20 2019-12-03 上海艾融软件股份有限公司 Data processing method, device and electronic equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190176A (en) * 2021-05-11 2021-07-30 上海华东汽车信息技术有限公司 Data storage method and device, electronic equipment and storage medium
CN113190176B (en) * 2021-05-11 2023-01-10 上海华东汽车信息技术有限公司 Data storage method and device, electronic equipment and storage medium
CN118069378A (en) * 2024-04-22 2024-05-24 山东云海国创云计算装备产业创新中心有限公司 Position determining method and device, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
JP6448571B2 (en) Storage system, information processing system, and control method
JP6444917B2 (en) Storage system, information processing system, and control method
JP6448570B2 (en) Storage system, information processing system, and control method
CN107168640B (en) Storage system, information processing system, and method for controlling nonvolatile memory
JP5042660B2 (en) Storage system
US8832371B2 (en) Storage system with multiple flash memory packages and data control method therefor
JP5336060B2 (en) Nonvolatile memory device and method of operating the same
US7328320B2 (en) Storage system and method for acquisition and utilization of snapshots
TWI297893B (en) Method and apparatus for managing an erase count block
US6622199B1 (en) Method for minimizing data relocation overhead in flash based file systems
CN108021513B (en) Data storage method and device
US20120317337A1 (en) Managing data placement on flash-based storage by use
CN112596667B (en) High throughput method and system for organizing NAND blocks and placing data in a solid state drive to facilitate random writing
KR20050065632A (en) Maintaining an average erase count in a non-volatile storage system
TW201918885A (en) Memory system and method for controlling nonvolatile memory
CN108829342B (en) Log storage method, system and storage device
KR0185954B1 (en) Memory management method
CN112379831A (en) Data management method and device, computer equipment and storage medium
US20200150866A1 (en) Volume management apparatus, volume management method, and volume management program
US11995318B2 (en) Deallocated block determination
CN111459405A (en) Disk performance optimization method, device, equipment and computer readable storage medium
KR20090131224A (en) Method for managing a flash memory
US11288006B2 (en) Storage system and volume copying method where changes to address conversion table is rolled back
CN110286848B (en) Data processing method and device
JP2015191294A (en) Memory controller, memory system, and memory control method

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: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant after: Jingxin Network System Co.,Ltd.

Address before: 510663 Shenzhou Road, Guangzhou Science City, Guangzhou economic and Technological Development Zone, Guangdong, 10

Applicant before: Comba Telecom System (China) Ltd.

CB02 Change of applicant information