CN106909512B - Storage device using method and system - Google Patents

Storage device using method and system Download PDF

Info

Publication number
CN106909512B
CN106909512B CN201510979983.2A CN201510979983A CN106909512B CN 106909512 B CN106909512 B CN 106909512B CN 201510979983 A CN201510979983 A CN 201510979983A CN 106909512 B CN106909512 B CN 106909512B
Authority
CN
China
Prior art keywords
address index
page
erasing
reading
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510979983.2A
Other languages
Chinese (zh)
Other versions
CN106909512A (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.)
Shenzhen Jiuniuyimao Intelligent Internet Of Things Technology Co ltd
Original Assignee
EVOC Intelligent Technology 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 EVOC Intelligent Technology Co Ltd filed Critical EVOC Intelligent Technology Co Ltd
Priority to CN201510979983.2A priority Critical patent/CN106909512B/en
Publication of CN106909512A publication Critical patent/CN106909512A/en
Application granted granted Critical
Publication of CN106909512B publication Critical patent/CN106909512B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention relates to a method and a system for using a storage device. The method comprises the following steps: acquiring an address index and an erasing frequency counting bit after power-on initialization; increasing the number counting bit of the erasing times by 1; judging whether the new erasing times counting bit is smaller than an erasing times threshold value or not; if so, updating the data and the new erasing count bit into the page corresponding to the address index and the page corresponding to the address index plus 1; if not, assigning the erasing times counting bit to be 1, judging whether the address index is smaller than the total page number minus 2, if so, adding 2 to the address index to serve as a new address index, and if not, assigning 2 to the address index to serve as a new address index; and updating data and the count bits of the erasing times into a page corresponding to the new address index and a page corresponding to the new address index plus 1, and updating the new address index into a zeroth page and a first page. The service life of the storage device is prolonged.

Description

Storage device using method and system
Technical Field
The present invention relates to the field of storage device management, and in particular, to a method and a system for using a storage device.
Background
The storage device may include a FLASH, SD (Secure Digital Memory Card) Card, or the like. Taking FLASH as an example, FLASH is a kind of Memory, but has the advantages of both RAM (Random-Access Memory) and ROM (read-only Memory), and is a Memory which can be electrically erased in a system and has no information loss after power failure. Conventional FLASH is in use, data is stored in the data FLASH area. When data are written into the data FLASH region, the data FLASH region needs to be erased firstly, and then the data are written into the data FLASH region. However, the data FLASH region has a certain erasing frequency, and when the erasing frequency of a certain block region in the data FLASH region exceeds a certain erasing frequency, the block region can be damaged and cannot be used again, a chip needs to be replaced, and the service life of the storage device is shortened.
Disclosure of Invention
Therefore, it is necessary to provide a method for using a storage device, which can prolong the service life of the storage device, in order to solve the problem that the service life of the storage device is shortened because a certain data area of the conventional storage device is frequently erased more than times.
In addition, it is necessary to provide a system for using a storage device, which can prolong the service life of the storage device.
A method of using a storage device, comprising the steps of:
acquiring an address index and an erasing frequency counting bit after power-on initialization;
when data in a page of the storage device is updated, increasing 1 to the count bit of the erasing times to obtain a new count bit of the erasing times;
judging whether the new erasing times counting bit is smaller than an erasing times threshold value or not;
if the new count bit of the erasing times is smaller than the threshold value of the erasing times, updating the data and the new count bit of the erasing times into the page corresponding to the address index and the page corresponding to the address index plus 1;
if the new erasing count bit is not less than the erasing threshold, assigning the erasing count bit to be 1, erasing the data in the page corresponding to the address index and the data in the page corresponding to the address index plus 1, judging whether the address index is less than the total page number minus 2, if so, adding 2 to the address index to serve as a new address index, and if not, assigning 2 to the address index to serve as a new address index; and updating data and the count bits of the erasing times into a page corresponding to the new address index and a page corresponding to the new address index plus 1, and updating the new address index into a zeroth page and a first page.
A system for using a storage device, comprising:
the acquisition module is used for acquiring the address index and the erasing and writing frequency counting bit after power-on initialization;
the self-adding module is used for adding 1 to the erasing count bit to obtain a new erasing count bit when the data in the page of the storage device is updated;
the judging module is used for judging whether the new erasing frequency counting bit is smaller than an erasing frequency threshold value or not;
the first updating module is used for updating the data and the new count bit of the erasing times into the page corresponding to the address index and the page corresponding to the address index plus 1 if the new count bit of the erasing times is smaller than the threshold value of the erasing times;
and the second updating module is used for assigning the erasing count bit to be 1 if the new erasing count bit is not less than the erasing threshold, erasing the data in the page corresponding to the address index and the data in the page corresponding to the address index plus 1, judging whether the address index is less than the total page number minus 2, if so, adding 2 to the address index to serve as a new address index, if not, assigning 2 to the address index to serve as a new address index, updating the data and the erasing count bit to the page corresponding to the new address index and the page corresponding to the new address index plus 1, and updating the new address index to the zeroth page and the first page.
The using method and the system of the storage device acquire the address index and the erasing and writing times counting bit, when the data is updated, the erasing and writing times counting bit is increased by 1, whether the erasing and writing times counting bit is smaller than an erasing and writing times threshold value is judged, if the erasing and writing times counting bit is smaller than the erasing and writing times threshold value, the data and the new erasing and writing times counting bit are updated to the page corresponding to the address index, if the erasing and writing times counting bit is not smaller than the erasing and writing times threshold value, the erasing and writing times counting bit is assigned to 1, then whether the address index is smaller than the total page number and is reduced by 2 is judged, if the address index is increased by 2, the data and the erasing and writing times counting bit are updated to the page corresponding to the new address index, if the erasing and writing times reach the erasing and writing times threshold value, the data and the erasing and writing times counting bit are updated to other pages, therefore, different data pages are repeatedly used, the damage caused by the fact that the erasing times of the page reach the maximum erasing times due to the fact that the same page is erased every time is avoided, and the service life of the storage device is prolonged.
Drawings
FIG. 1 is a flow diagram of a method for using a storage device in one embodiment;
FIG. 2 is a diagram illustrating the starting addresses of pages of a memory device, according to one embodiment;
FIG. 3 is a flowchart illustrating the detailed steps of the power-up initialization in one embodiment;
FIG. 4 is a block diagram showing a configuration of a system for using a storage device according to an embodiment;
FIG. 5 is a block diagram showing a configuration of a system for using a storage device in another embodiment;
fig. 6 is a block diagram showing a configuration of a system for using a storage device in another embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention 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 invention and are not intended to limit the invention.
It will be understood that, as used herein, the terms "first," "second," and the like may be used herein to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish one element from another. For example, a first client may be referred to as a second client, and similarly, a second client may be referred to as a first client, without departing from the scope of the present invention.
FIG. 1 is a flow diagram of a method for using a storage device in one embodiment. As shown in fig. 1, a method for using a storage device includes the following steps:
and step 102, acquiring an address index and an erasing frequency counting bit after power-on initialization.
In this embodiment, step 102 includes: and electrifying to initialize and read the zeroth page, acquiring the address index from the zeroth page, acquiring the page corresponding to the address index, and reading the erase count bit from the page.
First, a data area of a storage device is paged to obtain a plurality of pages. For example, the storage device is FLASH. The space size of the data FLASH area is 4KB, the unit of erase is 512 bytes, and the data FLASH area can be divided into 8 pages (4 × 1024/512 ═ 8) with 512 bytes as one page. The start address of the data FLASH is 0x01_ F000, and the end address is 0x01_ FFFF. As shown in fig. 2, the starting address of the Zero-th page Zero page is 0x01_ F000, the starting address of the First page is 0x01_ F200, the starting address of the Second page is 0x01_ F400, the starting address of the Third page is 0x01_ F600, the starting address of the Fourth page is 0x01_ F800, the starting address of the Fifth page is 0x01_ FA00, the starting address of the sixth page Six page is 0x01_ FC00, and the starting address of the Seventh page is 0x01_ FE 00.
The address index Addr _ index is used to find the page of the current data store, the address index being stored in the zeroth page (i.e., in Zero-page). In order to prevent corruption and loss of data, the data in the zeroth page is backed up into the first page.
The data storage is also backed up, the data of the data page where the current data is located is backed up to the next page of the data page where the current data is located, for example, the data is stored in the 2 nd page, and the backup data is stored in the 3 rd page. The Count bit of the erasing and writing times is stored in each page and is used for marking the erasing and writing times of the page, and the Count bit Count of the erasing and writing times is updated along with the updating of the data each time.
An array can be used for storing the initial address of each page, so that subsequent calling is facilitated. For example, Uint32_ t PAGE _ ADDR [8] {0x01_ F000, 0x01_ F200, 0x01_ F400, 0x01_ F600, 0x01_ F800, 0x01_ FA00, 0x01_ FC00, 0x01_ FE00 }.
And step 104, when the data in the page of the storage device is updated, increasing 1 to the count bit of the erasing times to obtain a new count bit of the erasing times.
Specifically, each time data in a page is updated, the erase count bit of the page is incremented by 1 time to obtain a new erase count bit.
Step 106, determining whether the new count bit of the erasure count is smaller than the erasure count threshold, if yes, executing step 108, and if not, executing step 110.
Specifically, the threshold of the number of times of erasing and writing is determined as required, and may be 512 times or 300 times, for example.
And when the new erasing count bit is judged to be smaller than the erasing count threshold, updating the data and the new erasing count bit into the page corresponding to the address index and the page corresponding to the address index plus 1.
The page corresponding to the address index plus 1 is a backup page of the data in the page corresponding to the address index.
And when the new erasing times counting bit is judged to be not less than the erasing times threshold, erasing the data in the page corresponding to the address index and the data in the page corresponding to the address index plus 1.
And step 108, updating the data and the new count bits of the erasing times to the page corresponding to the address index and the page corresponding to the address index plus 1, and ending.
Specifically, the data and the new erase Count are updated to PAGE _ ADDR [ ADDR _ index ] corresponding to the address index and PAGE _ ADDR [ ADDR _ index +1] corresponding to the address index plus 1.
In step 110, the erase count bit is assigned to 1, the data in the page corresponding to the address index and the data in the page corresponding to the address index plus 1 are erased, and step 112 is executed.
Specifically, data in the PAGE _ ADDR [ ADDR _ index ] corresponding to the address index and data in the PAGE _ ADDR [ ADDR _ index +1] corresponding to the address index plus 1 are erased.
In step 112, it is determined whether the address index is less than the total page count minus 2, if yes, step 114 is performed, and if no, step 116 is performed.
Specifically, the total number of pages refers to the total number of pages divided after the storage device performs the paging process. When the page corresponding to the address index is the total page number minus 2 pages, the erase count bit of each page reaches the erase count threshold, and the page needs to be re-cycled to the first page (i.e. page 2) of the data page, i.e. the page corresponding to the address index 2, for data update.
Step 114, add 2 to the address index to be the new address index, and then execute step 118.
Step 116 assigns the address index to 2 as a new address index, and then step 118 is performed.
The address indices correspond to pages one to one. If the address index is 2, the corresponding page is the second page.
Step 118, the data and the erase count bits are updated to the page corresponding to the new address index and the page corresponding to the new address index plus 1.
Specifically, the data and the erase Count number Count are updated to the PAGE _ ADDR [ ADDR _ index ] address and the PAGE _ ADDR [ ADDR _ index +1] address.
Step 120, the new address index is updated to the zeroth page and the first page.
Specifically, the new address index is updated to PAGE zero, Page PAGE _ ADDR [0], and also to PAGE first Page PAGE _ ADDR [1 ].
The using method of the storage device comprises the steps of obtaining an address index and an erasing frequency counting bit, increasing the erasing frequency counting bit by 1 when updating data, assigning the erasing frequency counting bit to be 1 when judging whether the erasing frequency counting bit is smaller than an erasing frequency threshold value or not and updating the data and a new erasing frequency counting bit into a page corresponding to the address index if the erasing frequency counting bit is smaller than the erasing frequency threshold value, then judging whether the address index is smaller than the total page number minus 2, if so, adding 2 to the address index, updating the data and the erasing frequency counting bit into the page corresponding to the new address index, if not, assigning 2 to the address index, updating the data and the erasing frequency counting bit into the page corresponding to the new address index, and updating the data into other pages when the erasing frequency reaches the erasing frequency threshold value, therefore, different data pages are repeatedly used, the damage caused by the fact that the erasing times of the page reach the maximum erasing times due to the fact that the same page is erased every time is avoided, and the service life of the storage device is prolonged.
If 6 pages of data pages are assumed to be divided into an original data page and a backup data page, the maximum erasing frequency of each page of data page is 10 ten thousand, if only the same data page is erased every time, the data page is damaged after 10 ten thousand erasing, and a chip is replaced or the data page which is not damaged is erased by recoding. By adopting the using method of the storage device, the storage device is used in a round-robin manner, and after the erasing and writing times threshold (for example 512 times) of each data page is reached, the data page is moved to another data page, so that different data pages are repeatedly used, each data page can be erased and written 10 ten thousand times, and the calculated erasing and writing times are three times of the original erasing and writing times and are 30 ten thousand times.
In one embodiment, the method for using the storage device further includes: the data in the zeroth page is backed up in the first page.
The step of obtaining the address index and the erasing count after the power-on initialization comprises the following steps: and electrifying to initialize and read the zeroth page or the first page, acquiring the address index from the zeroth page or the first page, acquiring the page corresponding to the address index, and reading the erase count bit from the page.
Specifically, the address index is obtained from the zeroth page or the first page, because the data in the zeroth page and the first page are the same.
Fig. 3 is a flowchart illustrating the steps of reading the zeroth page or the first page during power-up initialization, obtaining an address index from the zeroth page or the first page, obtaining a page corresponding to the address index, and reading an erase count bit from the page according to an embodiment. As shown in fig. 3, the step of reading the erase count bit from the page includes:
step 302, power-on initialization is performed to read the zeroth page, and the address index is read from the zeroth page.
Specifically, after power-on initialization, the address of the zeroth PAGE _ ADDR [0] is read to obtain the address index Addr _ index.
Step 304, determine whether the address index is successfully read, if yes, go to step 312, and if not, go to step 306.
Specifically, when reading the address index from the zeroth PAGE fails, the address index ADDR _ index is read from the first PAGE _ ADDR [1] address.
In step 306, the address index is read from the first page, and then step 308 is performed.
Step 308, determine whether the address index is successfully read, if yes, go to step 310, otherwise, end.
In step 310, the data of the first page is updated with the data of the zeroth page, and then step 312 is performed.
Specifically, the address index is successfully read from the first page, which indicates that the data in the first page is not damaged, and the data of the first page may be updated with the data of the zeroth page.
In step 312, the erase count bit in the page corresponding to the address index is read, and then step 314 is executed.
Specifically, the erase Count bit Count in the PAGE _ ADDR [ ADDR _ index ] corresponding to the address index is read.
In step 314, it is determined whether reading the erase count bit is successful, if yes, the process is ended, otherwise, step 316 is executed.
Step 316, reading the erase count bit in the page corresponding to the address index plus 1.
Specifically, the erase Count bit Count in the PAGE _ ADDR [ ADDR _ index +1] corresponding to the read address index plus 1 is read.
In step 318, it is determined whether reading the erase count bit is successful, if yes, step 320 is executed, otherwise, the process is ended.
Step 320, the data in the page corresponding to the address index is updated by adding 1 to the data in the page corresponding to the address index.
According to the above power-on initialization address index acquisition method, the address index is acquired in the first page if the address index acquisition in the zeroth page fails, and the data of the zeroth page is backed up through the first page, so that the address index acquisition probability can be improved.
Fig. 4 is a block diagram showing a configuration of a system for using a storage device in one embodiment. As shown in fig. 4, a system for using a storage device includes an obtaining module 410, an adding module 420, a determining module 430, a first updating module 440, and a second updating module 450. Wherein:
the obtaining module 410 is configured to obtain the address index and the erase/write count bits after power-on initialization.
In this embodiment, the obtaining module 410 is further configured to power on to initialize and read a zeroth page, obtain an address index from the zeroth page, obtain a page corresponding to the address index, and read an erase count bit from the page.
The increment module 420 is configured to increment the erase count bit by 1 to obtain a new erase count bit when updating data in a page of the storage device.
The determining module 430 is used to determine whether the new erase count bit is smaller than the erase count threshold.
The first updating module 440 is configured to update the data and the new count bit of the erasure count to the page corresponding to the address index and the page corresponding to the address index plus 1 if the new count bit of the erasure count is smaller than the threshold of the erasure count.
The second updating module 450 is configured to assign the erase count bit to 1 if the new erase count bit is not less than the erase threshold, erase the data in the page corresponding to the address index and the data in the page corresponding to the address index plus 1, determine whether the address index is less than the total page number minus 2, if so, add 2 to the address index to serve as a new address index, otherwise, assign 2 to the address index to serve as a new address index, update the data and the erase count bit to the page corresponding to the new address index and the page corresponding to the new address index plus 1, and update the new address index to the zeroth page and the first page.
The using system of the storage device obtains the address index and the erasing and writing times counting bit, when updating data, the erasing and writing times counting bit is increased by 1, whether the erasing and writing times counting bit is smaller than an erasing and writing times threshold value is judged, if the erasing and writing times counting bit is smaller than the erasing and writing times threshold value, the data and the new erasing and writing times counting bit are updated to a page corresponding to the address index, if the erasing and writing times counting bit is not smaller than the erasing and writing times threshold value, the erasing and writing times counting bit is assigned to 1, then whether the address index is smaller than the total page number minus 2 is judged, if yes, the address index is added with 2, the data and the erasing and writing times counting bit are updated to the page corresponding to the new address index, if not, the address index is assigned to 2, the data and the erasing and writing times counting bit are updated to the page corresponding to the new address index, and when the erasing and writing times reach the erasing and writing times threshold value, the data are updated to other pages, therefore, different data pages are repeatedly used, the damage caused by the fact that the erasing times of the page reach the maximum erasing times due to the fact that the same page is erased every time is avoided, and the service life of the storage device is prolonged.
Fig. 5 is a block diagram showing a configuration of a system for using a storage device in another embodiment. As shown in fig. 5, a system for using a storage device includes a backup module 460 in addition to an acquisition module 410, an autonomic module 420, a judgment module 430, a first update module 440, and a second update module 450. Wherein:
the backup module 460 is used to backup the data in the zeroth page in the first page.
The obtaining module 410 is further configured to power on to initialize and read a zeroth page or a first page, obtain an address index from the zeroth page or the first page, obtain a page corresponding to the address index, and read an erase count bit from the page.
In this embodiment, the obtaining module 410 is further configured to power on, initialize, read the zeroth page, read the address index from the zeroth page, and determine whether reading the address index is successful;
if the address index is successfully read from the zeroth page, reading the erase count bit in the page corresponding to the address index, judging whether the read of the erase count bit is successful, if the read of the erase count bit is successful, ending the process, if the read of the erase count bit is failed, reading the erase count bit in the page corresponding to the address index plus 1, judging whether the read of the erase count bit is successful, if the read of the erase count bit is successful, updating the data in the page corresponding to the address index plus 1 with the data in the page corresponding to the address index, and if the read of the erase count bit is failed, ending the process;
if the reading of the address index from the zeroth page fails, reading the address index from the first page, judging whether the reading of the address index is successful, if so, updating the data of the zeroth page by the data of the first page, reading an erasing frequency counting bit in the page corresponding to the address index, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, ending, if the reading of the erasing frequency counting bit is failed, reading the erasing frequency counting bit in the page corresponding to the address index plus 1, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, updating the data in the page corresponding to the address index by the data in the page corresponding to the address index plus 1, and if the reading of the erasing frequency counting bit is failed, ending.
Fig. 6 is a block diagram showing a configuration of a system for using a storage device in another embodiment. As shown in fig. 5, a system for using a storage device includes a paging module 470 in addition to an obtaining module 410, an adding module 420, a determining module 430, a first updating module 440, and a second updating module 450. Wherein:
the paging module 470 is used for paging the data area of the memory device.
In other embodiments, the system for using the storage device may include any possible combination of the obtaining module 410, the adding module 420, the determining module 430, the first updating module 440, the second updating module 450, the backup module 460, and the paging module 470.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a non-volatile computer-readable storage medium, and can include the processes of the embodiments of the methods described above when the program is executed. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), or the like.
The above-mentioned embodiments only express several embodiments of the present invention, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the inventive concept, which falls within the scope of the present invention. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. A method for using a storage device, comprising the steps of:
electrifying to initialize and read a zeroth page, reading an address index from the zeroth page, and judging whether the address index is successfully read;
if the address index is successfully read from the zeroth page, reading an erasing frequency counting bit in a page corresponding to the address index, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, ending, if the reading of the erasing frequency counting bit is failed, reading the erasing frequency counting bit in the page corresponding to the address index plus 1, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, updating data in the page corresponding to the address index plus 1 by using the data in the page corresponding to the address index, and if the reading of the erasing frequency counting bit is failed, ending;
if the reading of the address index from the zeroth page fails, reading the address index from the first page, judging whether the reading of the address index is successful, if so, updating the data of the first page to the data of the zeroth page, reading an erasing frequency counting bit in the page corresponding to the address index, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, ending, if the reading of the erasing frequency counting bit is failed, reading an erasing frequency counting bit in the page corresponding to the address index plus 1, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, updating the data in the page corresponding to the address index plus 1, and if the reading of the erasing frequency counting bit is failed, ending;
when data in a page of the storage device is updated, increasing 1 to the count bit of the erasing times to obtain a new count bit of the erasing times;
judging whether the new erasing times counting bit is smaller than an erasing times threshold value or not;
if the new count bit of the erasing times is smaller than the threshold value of the erasing times, updating the data and the new count bit of the erasing times into the page corresponding to the address index and the page corresponding to the address index plus 1;
if the new erasing count bit is not less than the erasing threshold, assigning the erasing count bit to be 1, erasing the data in the page corresponding to the address index and the data in the page corresponding to the address index plus 1, judging whether the address index is less than the total page number minus 2, if so, adding 2 to the address index to serve as a new address index, and if not, assigning 2 to the address index to serve as a new address index; and updating data and the count bits of the erasing times into a page corresponding to the new address index and a page corresponding to the new address index plus 1, and updating the new address index into a zeroth page and a first page.
2. The method of claim 1, wherein the total number of pages is a total number of pages divided after the paging processing of the storage device.
3. The method of using a storage device according to claim 1, wherein the method further comprises: and backing up the data in the zeroth page in the first page.
4. The method of using a storage device according to claim 1, wherein the method further comprises:
and paging the data area of the storage device.
5. A system for using a storage device, comprising:
the acquisition module is used for electrifying, initializing and reading a zeroth page, reading an address index from the zeroth page and judging whether the address index is successfully read or not;
if the address index is successfully read from the zeroth page, reading an erasing frequency counting bit in a page corresponding to the address index, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, ending, if the reading of the erasing frequency counting bit is failed, reading the erasing frequency counting bit in the page corresponding to the address index plus 1, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, updating data in the page corresponding to the address index plus 1 by using the data in the page corresponding to the address index, and if the reading of the erasing frequency counting bit is failed, ending;
if the reading of the address index from the zeroth page fails, reading the address index from the first page, judging whether the reading of the address index is successful, if so, updating the data of the first page to the data of the zeroth page, reading an erasing frequency counting bit in the page corresponding to the address index, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, ending, if the reading of the erasing frequency counting bit is failed, reading an erasing frequency counting bit in the page corresponding to the address index plus 1, judging whether the reading of the erasing frequency counting bit is successful, if the reading of the erasing frequency counting bit is successful, updating the data in the page corresponding to the address index plus 1, and if the reading of the erasing frequency counting bit is failed, ending;
the self-adding module is used for adding 1 to the erasing count bit to obtain a new erasing count bit when the data in the page of the storage device is updated;
the judging module is used for judging whether the new erasing frequency counting bit is smaller than an erasing frequency threshold value or not;
the first updating module is used for updating the data and the new count bit of the erasing times into the page corresponding to the address index and the page corresponding to the address index plus 1 if the new count bit of the erasing times is smaller than the threshold value of the erasing times;
and the second updating module is used for assigning the erasing count bit to be 1 if the new erasing count bit is not less than the erasing threshold, erasing the data in the page corresponding to the address index and the data in the page corresponding to the address index plus 1, judging whether the address index is less than the total page number minus 2, if so, adding 2 to the address index to serve as a new address index, if not, assigning 2 to the address index to serve as a new address index, updating the data and the erasing count bit to the page corresponding to the new address index and the page corresponding to the new address index plus 1, and updating the new address index to the zeroth page and the first page.
6. The system for using a storage device according to claim 5, wherein the total number of pages is a total number of pages divided after the storage device is subjected to the paging processing.
7. The system for using a storage device according to claim 5, further comprising:
and the backup module is used for backing up the data in the zeroth page in the first page.
8. The system for using a storage device according to claim 5, further comprising:
and the paging module is used for paging the data area of the storage device.
9. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor, when executing the computer program, implements the steps of the method of any of claims 1 to 4.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 4.
CN201510979983.2A 2015-12-23 2015-12-23 Storage device using method and system Active CN106909512B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510979983.2A CN106909512B (en) 2015-12-23 2015-12-23 Storage device using method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510979983.2A CN106909512B (en) 2015-12-23 2015-12-23 Storage device using method and system

Publications (2)

Publication Number Publication Date
CN106909512A CN106909512A (en) 2017-06-30
CN106909512B true CN106909512B (en) 2021-08-13

Family

ID=59200537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510979983.2A Active CN106909512B (en) 2015-12-23 2015-12-23 Storage device using method and system

Country Status (1)

Country Link
CN (1) CN106909512B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107863127A (en) * 2017-10-31 2018-03-30 杭州迪普科技股份有限公司 A kind of storage device memory cell selecting method and device
CN108334279B (en) * 2017-12-26 2021-04-06 金卡智能集团股份有限公司 Data reading and writing method based on load balancing mode
CN112233715B (en) * 2019-07-15 2024-06-18 美光科技公司 Maintenance operations for memory systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI455131B (en) * 2010-04-16 2014-10-01 Silicon Motion Inc Data storage device and data writing method for a memory
CN102135942B (en) * 2010-12-31 2013-04-24 北京握奇数据***有限公司 Method for realizing wear-leveling in storage equipment as well as the storage equipment
US9009428B2 (en) * 2011-07-08 2015-04-14 Hewlett-Packard Development Company, L.P. Data store page recovery
CN102394114B (en) * 2011-11-14 2014-01-01 清华大学 BCH code error correction method capable of adaptive error correction
KR101365704B1 (en) * 2012-03-30 2014-02-24 유비벨록스(주) Method for managing flash based memory
US9384125B2 (en) * 2012-06-18 2016-07-05 Silicon Motion Inc. Method for accessing flash memory having pages used for data backup and associated memory device
CN103064792A (en) * 2012-12-26 2013-04-24 北京创毅讯联科技股份有限公司 Method and device for writing data
CN104111897B (en) * 2013-04-16 2017-06-13 华为技术有限公司 A kind of data processing method, device and computer system
CN103914393B (en) * 2014-04-11 2017-01-11 四川华拓光通信股份有限公司 MCU-based (microprogrammed control unit-based) non-loss FLASH storage update method

Also Published As

Publication number Publication date
CN106909512A (en) 2017-06-30

Similar Documents

Publication Publication Date Title
US9645894B2 (en) Data storage device and flash memory control method
US10552311B2 (en) Recovery for non-volatile memory after power loss
CN110175001B (en) NOR-FLASH data storage method, computer equipment and storage medium
US8775874B2 (en) Data protection method, and memory controller and memory storage device using the same
US8453021B2 (en) Wear leveling in solid-state device
US9292432B2 (en) Garbage collection method for flash memory
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
CN102890656B (en) The method improving FLASH service life
US10762972B2 (en) Method and apparatus for processing data in flash memory
US9213634B2 (en) Efficient reuse of segments in nonoverwrite storage systems
US10635527B2 (en) Method for processing data stored in a memory device and a data storage device utilizing the same
CN108897492B (en) Data writing method and device
US9569126B2 (en) Data storage device and flash memory control method
CN107632943B (en) Solid state disk data protection method and solid state disk
US11614885B2 (en) Data processing method for improving access performance of memory device and data storage device utilizing the same
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN106909512B (en) Storage device using method and system
US9990152B1 (en) Data writing method and storage controller
KR20170086840A (en) Data storage device and operating method thereof
JP6717894B2 (en) Method for performing refresh management in a memory device, associated memory device and its controller
US20160124650A1 (en) Data Storage Device and Flash Memory Control Method
US10007601B2 (en) Data storage device and operating method for flash memory
CN112988037A (en) Static wear leveling method, terminal and computer-readable storage medium

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230710

Address after: B2, Floor 20, Yanxiang Science and Technology Building, No. 31, Gaoxin Middle Fourth Road, Maling Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong 518057

Patentee after: Shenzhen Jiuniuyimao Intelligent Internet of Things Technology Co.,Ltd.

Address before: 518107 5th floor, No.1, Yanxiang Zhigu chuangxiangdi, No.11, Gaoxin Road, Guangming New District, Shenzhen City, Guangdong Province

Patentee before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd.