CN102081577B - Data storage structure of Flash memory and data manipulation mode thereof - Google Patents

Data storage structure of Flash memory and data manipulation mode thereof Download PDF

Info

Publication number
CN102081577B
CN102081577B CN 201110008672 CN201110008672A CN102081577B CN 102081577 B CN102081577 B CN 102081577B CN 201110008672 CN201110008672 CN 201110008672 CN 201110008672 A CN201110008672 A CN 201110008672A CN 102081577 B CN102081577 B CN 102081577B
Authority
CN
China
Prior art keywords
page
data
piece
file
block
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
CN 201110008672
Other languages
Chinese (zh)
Other versions
CN102081577A (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.)
Xiamen Yaxon Networks Co Ltd
Original Assignee
Xiamen Yaxon Networks 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 Xiamen Yaxon Networks Co Ltd filed Critical Xiamen Yaxon Networks Co Ltd
Priority to CN 201110008672 priority Critical patent/CN102081577B/en
Publication of CN102081577A publication Critical patent/CN102081577A/en
Application granted granted Critical
Publication of CN102081577B publication Critical patent/CN102081577B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Abstract

The invention relates to the field of a Flash memory, particularly a data storage structure of a Flash memory. A storage unit on each page comprises a data storage space for storing data and a spare space, wherein the spare space is defined into the following parts: a file name recording area, a page name recording area, a page storage state recording area, a page state recording area, a block erase counter recording area and a data check code recording area. The data manipulation mode of the data storage structure of a Flash memory specifically comprises a system initialization step and a data manipulation step, wherein the data manipulation step comprises storage space allocation and release operation, anti-power-down protection operation, abrasion balancing operation, bad block processing and data check operation. The invention optimizes the data storage structure of a Flash memory and the data manipulation control mode thereof, balances the Flash memory in the read-write operation, carries out anti-powder-down processing and designs an ECC (Error Correction Code) processing mechanism, thereby avoiding the defects of the existing Flash.

Description

The data store organisation of Flash storer is carried out the method for data manipulation
Technical field
The present invention relates to the electronic memory field, relate in particular to Flash storer (flash memory) field.
Background technology
For embedded device, flash memory (Flash) is very common a kind of storage medium.Along with popularizing that GPS uses, various application and developments based on GPS emerge in an endless stream.GPS monitoring car-mounted terminal be present GPS at a kind of electronic product of automobile industry widespread use, be usually used in the functions such as automobile burglar, monitoring, location, position enquiring, black box, scheduling.On essence, GPS monitoring car-mounted terminal also is a embedded device, and it need to have CPU equally, internal memory, I/O mouth, the parts such as storage medium.So the storage medium of GPS monitoring car-mounted terminal is also mostly to be to adopt the Flash storer.
Because vehicle GPS monitor terminal working environment very severe, the impact of the various external factor such as electric spark, electromagnetic interference (EMI), automobile power source shakiness, hot environment is often arranged, cause the monitor terminal abnormal power-down, exceptional reset causes the problems such as the data storage destroys, loses.Under the hot environment, also can cause the Flash device to endure the puzzlement of position exchange phenomenon to the fullest extent, cause error in data.Therefore, when design data is stored, must take into full account the impact of these factors, make the data storage have anti-power down, anti-interference, from the error correction ability, reliable and stable.
When the Flash storer carries out the data design Storage, also to consider the characteristic of some Flash.The Flash storer can not be wiped single byte, and minimum erase unit is a piece (Block), sometimes is also referred to as sector (Sector).The write operation of any Flash storer can only be carried out in sky or the unit of having wiped.So in most cases, before carrying out write operation, must carry out first and wipe.But the life-span of Flash chip is limited, and the maximum erasable number of times of each Block is 1,000,000 times among the NAND flash usually, and the erasable number of times of NOR flash is 100,000 times.If certain Block erasing times above the life-span number of times, causes bad piece occurring easily even monoblock Flash scraps.So-called bad piece is not that whole Block has gone bad, may be in the piece one or a few bit loss bad.
And the data store organisation of existing Flash storer and data manipulation mode acquiescence thereof are fairly simple, directly the piece in the Flash storer (Block) are deleted successively and are write.Therefore, usually the piece (Block) and the page (Page) that come the front are frequently deleted and write, the piece (Block) that comes the back is then relative idle with the page (Page).That is, the frequency of utilization of each piece (Block) in the Flash storer is inconsistent.Thereby, often easily produce bad piece and affect serviceable life of Flash.
So, also need to consider the loss balancing of Flash during the data design Storage, will consider that namely all pieces of Flash (Block) can both evenly be used, rather than some read and write always, other piece effectively prolongs the life-span of Flash then at leisure.If the unfortunate bad piece of physics that occurs must guarantee that this piece can not continue to be used, at this moment need to consider Bad Block Management mechanism.
In addition, anti-power down process and data check (ECC) treatment mechanism is not often considered in the design of the data store organisation of existing Flash storer and data manipulation mode thereof yet.
Summary of the invention
Therefore, deficiency for the above-mentioned prior art of saying, the present invention propose a kind of optimization the Flash storer data store organisation and it is carried out the control method of data manipulation, equilibrium treatment is carried out in storage to Flash in read-write operation, and carry out anti-power down process and the design of data check (ECC) treatment mechanism, avoided the generation of defects.
The present invention adopts following technical scheme:
The data store organisation of Flash storer is to comprise data space and a spare space of storing data in the storage cell of its each page (Page).Wherein, described spare space be defined as following a few part:
File name (FileID) recording areas is used for storing documents title (FileID) data;
Page Name (PageID) recording areas is used for depositing Page Name (PageID) data;
Page stores state recording district is used for depositing page stores mode bit (Page status) data and piece store status position (Block status) data;
Page status (TAG) recording areas is used for depositing page series number (Page Serial) data and page data length (Pagedatalen) data;
Piece erasing times recording areas is for the erasing times data of depositing piece (Block);
Data check code (ECC) recording areas is used for store data check code (ECC, Error Correction Code) data.
Data store organisation to the Flash storer after the aforesaid definition carries out data manipulation mode, specifically: comprise system initialization step and data manipulation step;
Wherein, system initialization step comprises:
Step a: the various hardware parameters that obtain the Flash storer;
Step b: the backup space in the storage cell of each page (Page) of traverse scanning Flash storer, judge whether bad piece of this page (Page) by reading piece store status position (Block status) data in the page stores state recording district, if bad piece, again carry out bad piece and judge affirmation, if be still bad piece, then identifying this piece is the scanning that stops behind the bad piece other pages (Page) in the piece under this page (Block), enters into the scanning of the page of next piece (Block);
Step c: for the page (Page) in the piece (Block) of non-bad piece, judge by page data length (Pagedatalen) data that read page status (TAG) recording areas whether all pages (Page) in this piece (Block) are the clean page, if so, then this piece is mounted on the free block chained list;
Steps d: for the non-clean page (Page), judge by page stores mode bit (Page status) data that read in the page stores state recording district whether the current data of this page (Page) is effective, if the data of all pages (Page) in the piece (Block) all are invalid datas, represent that this piece (Block) can wipe, it is mounted on the chained list to be erased;
Step e: for the page with valid data (Page), whether the file linked list of judging the file that this page is affiliated by file name (FileID) data in file reading title (FileID) recording areas is present in internal memory, if do not exist, then create a new file linked list with this file name;
Step f: the page (Page) that has existed for file linked list, judge that by Page Name (PageID) data that read Page Name (PageID) recording areas whether this page (Page) exists the Page Name node at the file linked list of same file title, if do not exist, this page of carry;
Step g: the page (Page) that has been present in file linked list for the Page Name node, judge by page series number (Page Serial) data that read page status (TAG) recording areas whether its series number is maximum, if not maximum, be invalid with page stores mode bit (Page status) Data Identification of this page;
Step h: be the maximum page (Page) for page series number, this page of carry is on the file linked list of same file title;
Step I: by free block chained list and file linked list, count current free block (Block) number information and file number information;
Step j: canned data in the backup space in the storage cell of each page (Page) of Flash storer is read internal memory by certain data structure, be mounted on the doubly linked list of system organization information, and reside in the internal memory, set up at last the data structure of system;
Wherein, data manipulation step comprises: the distribution of storage space and releasing operation and/or the operation of anti-power down protection and/or balance abrasion operation and/or Bad Block Management and/or data check operation.
Hardware parameter among the described step a comprises piece (Block) amount of capacity, the page (Page) amount of capacity, piece (Block) quantity, starting block (Block) and end block (Block) position.
The distribution of described storage space and releasing operation be specifically:
When new data file creates, specify or produce in order a file name (FileID) by system, obtain from current free block linked list head, and distribute a clean free block (Block), the file name of same data file (FileID) all is set to identical, and Page Name (PageID) increases progressively since 0 in order;
Data are write fashionable, new page (Page) is designated untapped the beginning from current page stores mode bit (Page status) with same file title (FileID) and page stores state recording district and distributes, if having write completely, current block (Block) is finished, then the piece store status position (Block status) in page stores state recording district is masked as full, redistribute a new clean free block (Block), and keep its file name (FileID) constant;
During a data file of deletion, system can find according to file name (FileID) piece (Block) of all same file titles (FileID), confirm in these pieces (Block) current do not carrying out read-write operation after, execution block (Block) erasing move in order, then one by one again carry return on the free block chained list.
Described anti-power down protection operates specifically: system is 0 in page series number (Page Serial) data of each page (Page) when writing for the first time, all adds 1 when writing later on the page (Page) with identical file title (FileID) and Page Name (PageID) at every turn.
Described balance abrasion operates specifically: the erasing times data of the piece (Block) in the piece erasing times recording areas of each page (Page) are 0 when operating for the first time, all add 1 in the time of later on each data manipulation, system decides this to wipe the front and back order of piece (Block) afterwards on the idle chained list of piece according to the erasing times of piece (Block), less (Block) is forward in the idle chained list ordering of piece for erasing times, and the piece (Block) of same erasing times is with the sequencing ordering of its carry in the idle chained list of piece.
Described Bad Block Management is specifically: system writes each page (Page) and reads these data after the data at once and compare with the front data that write in the data buffer area, if discovery Incomplete matching, bad piece may appear in the piece (Block) that then represents this page (Page) place, first the valid data of the current storage of this piece (Block) are transferred on the another one piece (Block), success to be transferred, write data to be written after more possible bad piece being wiped again, if still undesired, be bad piece with this block mark clearly then, system is follow-up in service, as long as read the piece store status bit data of the bad piece of this piece, just automatically jump to next piece (Block).
Described data check operates specifically: the check code (ECC of storage data can calculate first in system by the ECC checking algorithm before data are writing at every turn, Error Correction Code), then simultaneously with check code (ECC, Error Correction Code) writes the backup space of the page, during reading out data, the data that read are calculated first ECC check code (ECC, Error Correction Code), again the ECC check code that the draws data check code data with data check code recording areas is compared, if inconsistent, show mistake to have occurred, call at last the ECC correction algorithm, carry out data and remedy.
Technical scheme of the present invention propose a kind of optimization the Flash storer data store organisation and it is carried out the control method of data manipulation.Technical scheme of the present invention is carried out equilibrium treatment to Flash storage in read-write operation, avoided avoiding as far as possible the generation of bad piece, thereby having prolonged the serviceable life of Flash storer because frequently writing deletion action to the piece shortening in (Block) life-span.Simultaneously, also use under rugged surroundings for the Flash storer and carry out anti-power down process and the design of data check (ECC) treatment mechanism, thereby make the Flash storer have anti-power down in the data storage, anti-interference, from the error correction ability.
Therefore, the present invention is that a kind of data storage that is suitable for the GPS monitor terminal under the vehicle environment is used.The present invention uses through the test of long period, proves that this kind data structures data and data manipulation method thereof are safe and reliable.Equally, the data store organisation of Flash storer of the present invention and data manipulation mode thereof also be applicable to other embedded device, particularly internal memory under the vehicle environment less, without the operating system support and to the stricter equipment of data memory requirement.
Embodiment
The present invention at first proposes a kind of data store organisation of Flash storer, comprises data space and a spare space of storing data in the storage cell of its each page (Page).Wherein, described spare space be defined as following a few part:
File name (FileID) recording areas is used for storing documents title (FileID) data;
Page Name (PageID) recording areas is used for depositing Page Name (PageID) data;
Page stores state recording district is used for depositing page stores mode bit (Page status) data and piece store status position (Block status) data;
Page status (TAG) recording areas is used for depositing page series number (Page Serial) data and page data length (Pagedatalen) data;
Piece erasing times recording areas is for the erasing times data of depositing piece (Block);
Data check code (ECC) recording areas is used for store data check code (ECC, Error Correction Code) data.
The present invention mainly is that the characteristic for NAND Flash designs, but as long as by parameters such as configuration Flash block sizes, also can be transplanted on the Nor Flash.The below only describes with NAND Flash, and those skilled in the art can realize identical design data and data manipulation mode at Nor Flash according to the thinking principle of this explanation.
Nand Flash wipes take piece (Block) as unit, take the characteristics that the page (Page) carries out access as unit, file group is made into the data segment of fixed size.In general, each block size of the following capacity NAND of 128MB Flash chip is 16K, and each piece has 32 pages.One page comprises that size is 512 bytes, be used for the data space of store data during design, every one page also has the spare space (SpareData) of 16 bytes in addition, is used for storing the organizational information of ECC (Error Correction Code) verification and data storage during design.Data store organisation of the present invention then is to design for spare space (SpareData) and realize thinking of the present invention.
Each page data on the NANDFLASH has additional space to be used for storing additional information, and the NAND FLASH chip take 512+16Byte as a PAGE is as example, and the data storage layout is as follows:
0..511 Data area (512Byte)
512-513 FileID (2Byte) supports at most 255 different files
514-515 Maximum 65535 pages of each file of PageID (2Byte)
516 Page status (1Byte) page stores mode bit
517 Block status (1Byte) piece store status position
518..519 Piece erasing times (2Byte)
520..521 TAG(2Byte)
522..524 The ECC check results (3Byte) of front 256 byte datas
525..527 The ECC check results (3Byte) of rear 256 byte datas
Can see and use altogether 2 BYTE page status recording areas TAG to be used for depositing the relevant information of page status here.The concrete operating position of these 2 Byte is as follows in order:
Bits Content
4 Page Serial page series number (4bit)
10 Pagedatalen page data length (4bit)
2 Unused is undefined
Flash writes fashionable at each page of execution, can calculate the spare space data of each page according to page data and information, and page data and spare space data are stored in buffer zone together, then is written among the Flash synchronously.Guaranteed like this integrality of each page data and organizational information.More during new data, first the data of the legacy data page are read buffer zone, then the page stores mode bit (page status) with this page is set to 1, buffer data is upgraded again, and calculate the spare space data message, write together a newly assigned page.
The data store organisation of Flash storer is as mentioned above carried out data manipulation method, specifically: comprise system initialization step and data manipulation step;
Wherein, system initialization step comprises:
Step a: the various hardware parameters that obtain the Flash storer;
Step b: the backup space in the storage cell of each page (Page) of traverse scanning Flash storer, judge whether bad piece of this page (Page) by reading piece store status position (Block status) data in the page stores state recording district, if bad piece, again carry out bad piece and judge affirmation, if be still bad piece, then identifying this piece is the scanning that stops behind the bad piece other pages (Page) in the piece under this page (Block), enters into the scanning of the page of next piece (Block);
Step c: for the page (Page) in the piece (Block) of non-bad piece, judge by page data length (Pagedatalen) data that read page status (TAG) recording areas whether all pages (Page) in this piece (Block) are the clean page, if so, then this piece is mounted on the free block chained list;
Steps d: for the non-clean page (Page), judge by page stores mode bit (Page status) data that read in the page stores state recording district whether the current data of this page (Page) is effective, if the data of all pages (Page) in the piece (Block) all are invalid datas, represent that this piece (Block) can wipe, it is mounted on the chained list to be erased;
Step e: for the page with valid data (Page), whether the file linked list of judging the file that this page is affiliated by file name (FileID) data in file reading title (FileID) recording areas is present in internal memory, if do not exist, then create a new file linked list with this file name;
Step f: the page (Page) that has existed for file linked list, judge that by Page Name (PageID) data that read Page Name (PageID) recording areas whether this page (Page) exists the Page Name node at the file linked list of same file title, if do not exist, this page of carry;
Step g: the page (Page) that has been present in file linked list for the Page Name node, judge by page series number (Page Serial) data that read page status (TAG) recording areas whether its series number is maximum, if not maximum, be invalid with page stores mode bit (Page status) Data Identification of this page;
Step h: be the maximum page (Page) for page series number, this page of carry is on the file linked list of same file title;
Step I: by free block chained list and file linked list, count current free block (Block) number information and file number information;
Step j: canned data in the backup space in the storage cell of each page (Page) of Flash storer is read internal memory by certain data structure, be mounted on the doubly linked list of system organization information, and reside in the internal memory, set up at last the data structure of system;
Wherein, data manipulation step comprises: the distribution of storage space and releasing operation and/or the operation of anti-power down protection and/or balance abrasion operation and/or Bad Block Management and/or data check operation.
1. the distribution of described storage space and releasing operation are specifically:
When new data file creates, specify or produce in order a file name (FileID) by system, obtain from current free block linked list head, and distribute a clean free block (Block), the file name of same data file (FileID) all is set to identical, and Page Name (PageID) increases progressively since 0 in order;
Data are write fashionable, new page (Page) is designated untapped the beginning from current page stores mode bit (Page status) with same file title (FileID) and page stores state recording district and distributes, if having write completely, current block (Block) is finished, then the piece store status position (Block status) in page stores state recording district is masked as full, redistribute a new clean free block (Block), and keep its file name (FileID) constant;
During a data file of deletion, system can find according to file name (FileID) piece (Block) of all same file titles (FileID), confirm in these pieces (Block) current do not carrying out read-write operation after, execution block (Block) erasing move in order, then one by one again carry return on the free block chained list.
2. described anti-power down protection operation is specifically:
System is 0 in page series number (Page Serial) data of each page (Page) when writing for the first time, all adds 1 when writing later on the page (Page) with identical file title (FileID) and Page Name (PageID) at every turn.Data writing on a new physics Page always when upgrading a PAGE, again with original physics Page deletion, so this serial can wait in particular cases in outage, when new page writes, but old page does not also have to be used for identifying correct Page deleted the time, guarantees the correctness of data.Behind power-off restarting, when reading Spare district data during system initialization, can read the serial of each PAGE, serial the maximum shows it is the data that write at last, is the correct data before the outage.According to this point, when new data more, if when having little time data writing, only be at the most the loss of data in the buffer zone, when restarting next time, the data that can automatically find last success to write according to serial.Flash writes fashionable at each page of execution, meeting is written to the data of spare space among the Flash simultaneously together synchronously.
3. described balance abrasion operation is specifically:
The erasing times data of the piece (Block) in the piece erasing times recording areas of each page (Page) are 0 when operating for the first time, all add 1 in the time of later on each data manipulation, system decides this to wipe the front and back order of piece (Block) afterwards on the idle chained list of piece according to the erasing times of piece (Block), less (Block) is forward in the idle chained list ordering of piece for erasing times, and the piece (Block) of same erasing times is with the sequencing ordering of its carry in the idle chained list of piece.
4. described Bad Block Management is specifically:
System writes each page (Page) and reads these data after the data at once and compare with the front data that write in the data buffer area, if discovery Incomplete matching, bad piece may appear in the piece (Block) that then represents this page (Page) place, first the valid data of the current storage of this piece (Block) are transferred on the another one piece (Block), success to be transferred, write data to be written after more possible bad piece being wiped again, if still undesired, be bad piece with this block mark clearly then, system is follow-up in service, as long as read the piece store status bit data of the bad piece of this piece, just automatically jump to next piece (Block).
5. described data check operation is specifically:
Check code (the ECC of storage data can calculate first in system by the ECC checking algorithm before data are writing at every turn, Error Correction Code), then simultaneously with check code (ECC, Error Correction Code) writes the backup space of the page, during reading out data, the data that read are calculated first ECC check code (ECC, Error Correction Code), again the ECC check code that the draws data check code data with data check code recording areas is compared, if inconsistent, show mistake to have occurred, call at last the ECC correction algorithm, carry out data and remedy.ECC can correct single-bit error and detect the dibit mistake, and computing velocity is very fast.
Although specifically show and introduced the present invention in conjunction with preferred embodiment; but the those skilled in the art should be understood that; within not breaking away from the spirit and scope of the present invention that appended claims limits; can make a variety of changes the present invention in the form and details, be protection scope of the present invention.

Claims (2)

1. the data store organisation of Flash storer is carried out the method for data manipulation, it is characterized in that: the data store organisation of described Flash storer is to comprise data space and a spare space of storing data in the storage cell of each page, described spare space be defined as following a few part:
The file name recording areas is used for the storing documents name data;
The Page Name recording areas is used for depositing the Page Name data;
Page stores state recording district is used for depositing page stores mode bit data and piece store status bit data;
The page status recording areas is used for depositing page series number data and page data length data;
Piece erasing times recording areas is for the erasing times data of depositing piece;
Data check code recording areas is used for store data check code data;
Described data manipulation method comprises system initialization step and data manipulation step;
Wherein, system initialization step comprises:
Step a: the various hardware parameters that obtain the Flash storer;
Step b: the backup space in the storage cell of each page of traverse scanning Flash storer, judge whether bad piece of this page by reading piece store status bit data in the page stores state recording district, if bad piece, again carry out bad piece and judge affirmation, if be still bad piece, then identifying this piece is the scanning that stops behind the bad piece other pages in the piece under this page, enters into the scanning of the page of next piece;
Step c: for non-bad piece, judge by the page data length data that reads the page status recording areas whether all pages in this piece are the clean page, if so, then this piece is mounted on the free block chained list;
Steps d: for the non-clean page, judge by the page stores mode bit data that read in the page stores state recording district whether current data is effective, if the data of all pages in piece all are invalid datas, represent that this piece can wipe, it is mounted on the chained list to be erased;
Step e: for the page with valid data, judge by the file name data in the file reading title recording areas whether the file linked list of the file under this page is present in internal memory, if do not exist, then create a new file linked list with this file name;
Step f: the page that has existed for file linked list, judge that by the Page Name data that read the Page Name recording areas whether this page exists the Page Name node at the file linked list of same file title, if do not exist, this page of carry;
Step g: being present in the page of file linked list for the Page Name node, having judged by the page series number data that read the page status recording areas whether its series number is maximum, if not maximum, is invalid with the page stores mode bit Data Identification of this page;
Step h: be the maximum page for page series number, this page of carry is on the file linked list of same file title;
Step I: by free block chained list and file linked list, count current free block number information and file number information;
Step j: canned data in the backup space in the storage cell of each page of Flash storer is read internal memory by certain data structure, be mounted on the doubly linked list of system organization information, and reside in the internal memory, set up at last the data structure of system;
Wherein, data manipulation step comprises: the distribution of storage space and releasing operation and/or the operation of anti-power down protection and/or balance abrasion operation and/or Bad Block Management and/or data check operation;
The distribution of described storage space and releasing operation be specifically:
When new data file creates, specify or produce in order a file name by system, obtain from current free block linked list head, and distribute a clean free block, the file name of depositing in the backup space of same each page of data file is identical, and Page Name increases progressively since 0 in order;
Data are write fashionable, new page is designated the untapped page from current page stores mode bit with same file title and page stores state recording district and begins to distribute, if current block has been write completely and has been finished, then the piece store status bit flag in page stores state recording district is for full, redistribute a new clean free block, and keep its file name constant;
Deletion is during a data file, and system can find according to file name the piece of all same file titles, confirm in these pieces current do not carrying out read-write operation after, then the execution block erasing move is hung back on the free block chained list one by one in order;
Described anti-power down protection operates specifically: the page series number data of each page are 0 when writing for the first time, all add 1 when writing the page with identical file title and Page Name later at every turn;
Described balance abrasion operates specifically: the erasing times data of the piece in the piece erasing times recording areas of each page are 0 when operating for the first time, all add 1 in the time of later on each data manipulation, system decides this to wipe the front and back order of piece afterwards on the idle chained list of piece according to the erasing times of piece, less of erasing times is forward in the idle chained list ordering of piece, and the piece of same erasing times is with the sequencing ordering of its carry in the idle chained list of piece;
Described Bad Block Management is specifically: system writes each page and reads these data after the data at once and compare with the front data that write in the data buffer area, if discovery Incomplete matching, bad piece may appear in the piece that then represents this page place, first the valid data of the current storage of this piece are transferred on the another one piece, success to be transferred, write data to be written after more possible bad piece being wiped again, if still undesired, be bad piece with this block mark clearly then, system is follow-up in service, as long as read the piece store status bit data of the bad piece of this piece, just automatically jump to next piece;
Described data check operates specifically: the check code of storage data can be calculated first by system by the ECC checking algorithm before data are writing at every turn, then simultaneously check code is write the backup space of the page, during reading out data, the data that read are calculated first the ECC proof test value, again the ECC proof test value that the draws data check code data with data check code recording areas is compared, if inconsistent, show mistake to have occurred, call at last the ECC correction algorithm, carry out data and remedy.
2. data manipulation mode according to claim 1, it is characterized in that: the hardware parameter among the described step a comprises piece amount of capacity, page amount of capacity, number of blocks, starting block and end block position.
CN 201110008672 2011-01-12 2011-01-12 Data storage structure of Flash memory and data manipulation mode thereof Active CN102081577B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110008672 CN102081577B (en) 2011-01-12 2011-01-12 Data storage structure of Flash memory and data manipulation mode thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110008672 CN102081577B (en) 2011-01-12 2011-01-12 Data storage structure of Flash memory and data manipulation mode thereof

Publications (2)

Publication Number Publication Date
CN102081577A CN102081577A (en) 2011-06-01
CN102081577B true CN102081577B (en) 2013-02-13

Family

ID=44087550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110008672 Active CN102081577B (en) 2011-01-12 2011-01-12 Data storage structure of Flash memory and data manipulation mode thereof

Country Status (1)

Country Link
CN (1) CN102081577B (en)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI541816B (en) * 2011-06-20 2016-07-11 鑫創科技股份有限公司 Traffic recorder, flash memory device and management method thereof
CN102323907A (en) * 2011-08-19 2012-01-18 长安大学 Method for embedded ARM (advanced RISC machines) processor to store and delete NANDFLASH data
CN102495806B (en) * 2011-11-25 2014-09-03 清华大学 Periodic wear balancing method and memory management method of phase change memory
CN102609334B (en) * 2012-01-09 2016-05-04 晨星软件研发(深圳)有限公司 Nonvolatile flash memory is wiped abnormal memory block restorative procedure and device
CN103207836B (en) * 2012-01-16 2016-01-20 百度在线网络技术(北京)有限公司 A kind of write method for solid storage hard disk and write device
CN102609336B (en) * 2012-01-19 2013-12-25 青岛海信传媒网络技术有限公司 Data administration method and data administration system
CN103226530A (en) * 2012-01-31 2013-07-31 上海华虹集成电路有限责任公司 Nandflash controller
US8977916B2 (en) * 2012-12-04 2015-03-10 Texas Instruments Incorporated Using data watchpoints to detect unitialized memory reads
US9424176B2 (en) * 2013-02-25 2016-08-23 Freescale Semiconductor, Inc. Robust sector ID scheme for tracking dead sectors to automate search and copydown
CN104021816B (en) * 2013-03-01 2017-03-29 安凯(广州)微电子技术有限公司 A kind of method and system of test NFTL
CN104182291B (en) * 2013-05-28 2018-04-20 上海博达数据通信有限公司 A kind of method for recovering destroyed free memory chained list
CN104216791B (en) * 2013-05-30 2018-05-01 上海斐讯数据通信技术有限公司 A kind of method of verification Flash storages data
CN104111893A (en) * 2013-06-21 2014-10-22 芜湖美的厨卫电器制造有限公司 Data storage method
CN103425546A (en) * 2013-08-14 2013-12-04 江苏林洋电子股份有限公司 General high-efficient reliable Nor Flash data memory management method
CN103559144A (en) * 2013-11-12 2014-02-05 上海华兴数字科技有限公司 Method and device for secure data storage of embedded system
CN103678180B (en) * 2013-11-29 2017-11-24 武汉天喻信息产业股份有限公司 The management method of intelligent card nonvolatile memory
CN104091617B (en) * 2014-06-17 2017-05-03 深圳市江波龙电子有限公司 Flash memory equipment detection method and apparatus thereof
US9442799B2 (en) * 2014-06-26 2016-09-13 Microsoft Technology Licensing, Llc Extended lifetime memory
CN104464809A (en) * 2014-11-05 2015-03-25 武汉新芯集成电路制造有限公司 Method for prolonging service life of flash memory
CN105788648B (en) * 2014-12-25 2020-09-18 研祥智能科技股份有限公司 NVM bad block identification processing and error correction method and system based on heterogeneous hybrid memory
CN106354669B (en) * 2015-07-13 2021-03-26 国民技术股份有限公司 Memory with hierarchical structure
CN105183392B (en) * 2015-09-18 2018-09-07 日立楼宇技术(广州)有限公司 A kind of storage method of fixed-length data in FLASH
CN105404475B (en) * 2015-12-14 2018-08-21 武汉奥泽电子有限公司 The storage management system and method for low capacity flash in MCU pieces
CN105589767B (en) * 2015-12-21 2018-07-31 北京时代民芯科技有限公司 A kind of system power failure for NAND FLASH protects implementation method
CN106354586B (en) * 2016-09-05 2020-08-14 上海爱数信息技术股份有限公司 Method and system for controlling database backup performance and server with system
CN107678683A (en) * 2017-08-17 2018-02-09 惠州市德赛西威汽车电子股份有限公司 A kind of date storage method of high efficient and reliable
CN108196975B (en) * 2017-11-21 2021-09-17 深信服科技股份有限公司 Data verification method and device based on multiple checksums and storage medium
CN109857383A (en) * 2017-11-30 2019-06-07 浙江双峰电气有限公司 A kind of efficient information memory mechanism that power down secure resources are compact
CN107992431A (en) * 2017-12-21 2018-05-04 珠海亿智电子科技有限公司 A kind of power-off protection method of nand flash memory invalid data recycling
CN108182035A (en) * 2017-12-28 2018-06-19 湖南国科微电子股份有限公司 A kind of method for improving SSD reliabilities
CN108376121B (en) * 2018-03-01 2021-10-22 曲阜师范大学 Data storage method of Flash memory
CN109343790B (en) * 2018-08-06 2021-07-13 百富计算机技术(深圳)有限公司 Data storage method based on NAND FLASH, terminal equipment and storage medium
CN110045918B (en) * 2018-12-03 2021-09-03 蚂蚁金服(杭州)网络技术有限公司 Efficient data unit reusing method and system
CN109740095B (en) * 2018-12-27 2019-08-13 四川新网银行股份有限公司 A kind of H5 page dynamic backing method based on browser stack management
CN111475101B (en) * 2019-01-23 2022-07-19 广州安凯微电子股份有限公司 Method, system, device and storage medium for repairing flash memory card
CN109976939B (en) * 2019-03-28 2021-03-19 联想(北京)有限公司 Data processing method and device
CN110658981B (en) * 2019-04-19 2022-11-08 石家庄科林电气股份有限公司 Method for prolonging service life of Flash
CN110764704B (en) * 2019-10-18 2023-09-05 浙江大华技术股份有限公司 Environment variable writing method, storage medium and electronic device
CN110750467B (en) * 2019-10-22 2021-11-02 深圳芯邦科技股份有限公司 Method and system for detecting interference page in Nand Flash
CN110865772A (en) * 2019-11-11 2020-03-06 深圳忆联信息系统有限公司 Method and device for protecting system data physical block erasure count value, computer equipment and storage medium
CN112035417A (en) * 2020-09-07 2020-12-04 浙江大华技术股份有限公司 Method and device for managing storage block, storage medium and electronic device
CN113254364B (en) * 2021-05-24 2022-07-19 山东创恒科技发展有限公司 Information storage device for embedded system
CN113625964B (en) * 2021-07-16 2024-01-26 浙江鸿泉电子科技有限公司 NandFlash-based sequential storage method, electronic device and storage medium
CN115955581A (en) * 2023-03-15 2023-04-11 浪潮电子信息产业股份有限公司 Real-time video processing method, device, equipment and storage medium
CN116661696B (en) * 2023-06-05 2024-03-22 深圳市航顺芯片技术研发有限公司 Storage method based on flash memory and related device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482837A (en) * 2009-01-21 2009-07-15 华为技术有限公司 Error correction method and apparatus for flash memory file system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101482837A (en) * 2009-01-21 2009-07-15 华为技术有限公司 Error correction method and apparatus for flash memory file system

Also Published As

Publication number Publication date
CN102081577A (en) 2011-06-01

Similar Documents

Publication Publication Date Title
CN102081577B (en) Data storage structure of Flash memory and data manipulation mode thereof
US9547589B2 (en) Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
US8959280B2 (en) Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US8046528B2 (en) Data writing method for flash memory, and flash memory controller and storage device thereof
US8180953B2 (en) Data accessing method for flash memory, and storage system and controller system thereof
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
CN101382918B (en) NAND flash memory optimizing and managing method based on data interchange zone
TWI436369B (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
US7441085B2 (en) Memory control method for restoring data in a cache memory
US20100023675A1 (en) Wear leveling method, and storage system and controller using the same
CN101782875B (en) Storage unit and data storage method
CN102004706B (en) Flash erasing power-fail protection method based on FTL(Flash Translation Layer)
CN101925884A (en) Increasing spare space in memory to extend lifetime of memory
CN101324862B (en) Flash memory storage management method
CN101963891A (en) Method and device for data storage and processing, solid-state drive system and data processing system
US8074128B2 (en) Block management and replacement method, flash memory storage system and controller using the same
US20150186211A1 (en) Method, device and operating system for processing and using burn data of nand flash
CN102981969A (en) Method for deleting repeated data and solid hard disc thereof
CN107045423B (en) Memory device and data access method thereof
CN109669889B (en) Light Nor Flash control method and device
US20090164869A1 (en) Memory architecture and configuration method thereof
JP2010086009A (en) Storage device and memory control method
CN102789813B (en) Method and device for controlling use of non-least significant bit page in storage device
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
CN101526922B (en) Flash data access method and device thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant