CN1567256A - Protection method for data in flash memory media - Google Patents

Protection method for data in flash memory media Download PDF

Info

Publication number
CN1567256A
CN1567256A CN 03137423 CN03137423A CN1567256A CN 1567256 A CN1567256 A CN 1567256A CN 03137423 CN03137423 CN 03137423 CN 03137423 A CN03137423 A CN 03137423A CN 1567256 A CN1567256 A CN 1567256A
Authority
CN
China
Prior art keywords
data
storage block
page
markup information
data manipulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 03137423
Other languages
Chinese (zh)
Other versions
CN100377119C (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.)
Netac Technology Co Ltd
Original Assignee
LANGKE SCIENCE AND TECHNOLOGY Co Ltd SHENZHEN CITY
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 LANGKE SCIENCE AND TECHNOLOGY Co Ltd SHENZHEN CITY filed Critical LANGKE SCIENCE AND TECHNOLOGY Co Ltd SHENZHEN CITY
Priority to CNB031374239A priority Critical patent/CN100377119C/en
Priority to PCT/CN2004/000649 priority patent/WO2004114139A1/en
Publication of CN1567256A publication Critical patent/CN1567256A/en
Application granted granted Critical
Publication of CN100377119C publication Critical patent/CN100377119C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

This invention provides a kind of data protection method in flash medium. When executing data operation for the said memory block, it adds marking information on the page that executes the data operation. This method can write data rapidly to the existing various flash medium, and completely save the data file that have been written on the flash medium before illegal blackout. This invention also provides the data writing method and data recovery method of the said data protection method.

Description

Data guard method in the flash media
Technical field
The present invention relates to the semiconductor storage field; relate in particular to data guard method in the flash media; utilize this method; even in the arbitrary moment when flash media writes data power-off illegally takes place; legacy data file in the described flash media and the data that write can not lost, and have guaranteed the safety of flash media storage data.
Background technology
Present stage, the flash memory device that adopts flash media to carry out data storage has obtained to be extensive use of.Its weak point has been also for the user has caused inconvenience, for example when in flash media, writing data, or when original already present data are made amendment, if because situations such as accident or user misoperation cause power-off illegally, can cause loss of data.
Application number is 03104983.4, denomination of invention has proposed solution for the application for a patent for invention of " data managing method in the flash media " at above-mentioned shortcoming, its design is that the storage block to flash media is provided with Status Flag, when write data to the Status Flag operation of making amendment; After powering-off state takes place, recover by line data that the inspection searching data of Status Flag are gone forward side by side, flash media is being write generation power-off illegally in the data procedures even can guarantee, can not lose original data in the flash media yet, and can avoid storage block not wiped so that read and write once more the situation of makeing mistakes fully.
Find that in practice said method also comes with some shortcomings.Adopt said method to carry out data management,, cause read or write speed to reduce, if will improve the support that speed just needs hardware owing to will repeatedly read and write to flash chip; And this method can not be adopted by the flash media of some type not in full conformity with general codes and standards, and compatibility is not strong.
Summary of the invention
The read or write speed that exists at data management technique in the above-mentioned existing flash media is low; do not meet standard; shortcomings such as compatibility is not strong; the objective of the invention is to propose a kind of in flash media data guard method, can in existing various flash medias, write data fast and intactly protect the data that before power-off illegally, have been written in the flash media by this method.
Another object of the present invention be to propose a kind of in flash media the method for restore data.
For realizing above-mentioned purpose of the present invention; the invention provides data guard method in a kind of flash media; flash media comprises a plurality of storage blocks; each storage block is made of a plurality of pages or leaves; every page is divided into data storage area and redundant area; this method may further comprise the steps: when according to data manipulation instruction storage block 900 being carried out data manipulation, to carrying out the page or leaf filling markup information of data manipulation.In this method, storage block 900 is carried out data manipulation comprise the step of the data that will keep in another storage block 800 being moved the step of storage block 900 and/or in storage block 900, writing new data according to data manipulation instruction.Said markup information can be the logical address of the assigned address of data manipulation instruction storage block 800 pointed in the said method, perhaps can be to have certain Changing Pattern or changeless symbol, also can be to carry out the page number of page or leaf of data manipulation and the combination of numerical value, character or numerical value and character.
The present invention also provides the method for write data in flash memory device, flash memory device comprises the controller that is used for the control data access and is used to store the flash media of data, flash media comprises a plurality of storage blocks, each storage block is made of a plurality of pages or leaves, every page is divided into data storage area and redundant area, and this method may further comprise the steps:
(1) controller is accepted data manipulation instruction, and searches corresponding storage block 800 according to the assigned address of data manipulation instruction;
(2) data that will keep in the storage block 800 are moved in another blank storage block 900, in storage block 900, carried out the page or leaf filling markup information of data manipulation simultaneously;
(3), in storage block 900, write data and carrying out the page or leaf filling markup information of data manipulation according to the above-mentioned data manipulation instruction of accepting;
(4) erase block memory 800, are empty.
In aforesaid data writing method, when execution in step (2) or (3), markup information can be the logical address of the storage block pointed of the address information in the data manipulation instruction 800, or has numerical value, character or the numerical value of certain Changing Pattern and the combination of character.
The present invention also provides a kind of data reconstruction method of flash media, it is applicable to described flash media is adopted in the said method write data process, owing to the corrupted data situation that power-off illegally produces is carried out the data recovery, its step comprises: judge by the check markup information whether the data of storage block in the flash media are complete, and the incomplete storage block of data is carried out data restore operation.
In the said method,, or meet predetermined markup information Changing Pattern, just show that the data in the storage block are complete if the markup information in the storage block is consistent with predetermined markup information.
Said method further comprises the step of the incomplete storage block of obliterated data, also comprises the step of utilizing the complete storage block of check code check data, if the assay of storage block is all correct, then wipes wherein any one storage block; If one of them storage block assay is incorrect, then wipe the incorrect storage block of this assay.
Adopt data guard method provided by the invention; by markup information that storage block is annotated; can guarantee to write in the new data process at flash media to most of kinds; no matter be situations such as artificial illegal operation or accident power-off; can not lose original data file that will keep in the flash media; can also avoid storage block not wiped fully so that the read-write situation of makeing mistakes once more, under the prerequisite that does not influence read or write speed, improve data security and system stability.
Followingly will make those of ordinary skills understand thought of the present invention to the concrete and detailed explanation of specific embodiments of the invention with reference to accompanying drawing.
Brief description of drawings
Fig. 1 schematically illustrates the institutional framework of storage block and page or leaf in the existing flash media;
Fig. 2 is the synoptic diagram of flash media Central Plains storage block and new storage block in the data guard method of the present invention;
Fig. 3 schematically illustrates the division of the redundant area of page or leaf in the flash media storage block of the invention described above specific embodiment;
Fig. 4 is the process flow diagram that writes new data according to data guard method in the flash media of first embodiment of the invention;
The data recovery procedure process flow diagram that Fig. 5 explanation powers up behind the generation power-off illegally in implementing the described procedure of Fig. 4 again;
Fig. 6 is the process flow diagram that writes new data according to data guard method in the flash media of second embodiment of the invention;
The data recovery procedure process flow diagram that Fig. 7 explanation powers up behind the generation power-off illegally in implementing the described procedure of Fig. 6 again.
The specific embodiment of the present invention
For ease of understanding data guard method in the flash media of the present invention, at first present flash media reading and writing data technology is described.Fig. 1 shows the physique of existing flash media, as shown in the figure, general flash media generally is divided into a plurality of storage block (Block at present, be physical block), each storage block is made of a plurality of pages or leaves (Page), each page comprises the data storage area of some bytes and the redundant area of some bytes, and for example every page can comprise the data storage area of 512 bytes and the redundant area of 16 bytes, and perhaps every page can comprise the data storage area of 2K byte and the redundant area of 64 bytes.Described data storage area generally is used for user data, index informations such as the specific information of the flash chip at described this page of redundant area general record place and this page place MBA memory block address, and other information that can set up on their own by the user, this zone also can be abandoned and need not.According to the prior art standard, all preserve the logical address of this piece in each storage block, this address is generally held in first page of storage block.This logical address is the foundation of searching storage block.
When the user writes new data or original already present data is made amendment in flash media, the read write attribute special according to flash media, at first the data that will keep in the storage block that will the assigned address in the write data steering order is pointed (below be referred to as former) by former " resettlement " in another storage block in (below be referred to as new piece).
The above-mentioned data that will keep are meant in the raw data of former record, the data in the page or leaf that the new data that can will not be write covers.The data that keep may be the whole raw data in former, also may be the parts in the raw data.
From the flash media reading of data need by read file allocation table, the directory area waits the information that obtains file in the flash media.If carry out in the process of above-mentioned resettlement in the data that will keep, meet accident or situation such as user misoperation causes power-off illegally, can make this moving process accidental interruption.In power-cut time the relocating work of the data that will keep is not finished as yet, the logical address of this part data is not upgraded in file allocation table, directory area etc. timely, and these data that participate in resettlement can't read so, become invalid data.Like this, the file that contains this part data of Bao Cuning becomes inactive file before this, promptly causes data file to lose.
In addition, after the data relocating work is finished, carry out erase operation, be " sky " former storage block; This operation is that all positions in the storage block are set to logical one.Through erase operation, inner all be that the piece of logical one is called " empty piece ".If in erase process, cut off the power supply, may exist in this storage block part position to be logical one, and still surplus part position still is the situation of logical zero.At this moment, will make mistakes if write new data to this storage block again.
Show the division example of the redundant area in the page or leaf in the flash media as Fig. 3.According to relevant criterion, include the zone of storage address information in the page or leaf redundant area, the markup information that present embodiment is provided with all pages in the storage block is all the same, all is the logical address of this storage block.The logical address of storage block and the address information in the table of comparisons have corresponding relation.According to the assigned address in the data manipulation instruction, can draw corresponding appointment logical address (below be referred to as specify logical address) by address mapping, search the table of comparisons according to this appointment logical address, find out and specify the corresponding logical address of logical address, find out this logical address physical address corresponding again, just can from flash media, find the storage block of appointment.Described map function to assigned address can adopt existing address mapping technology to carry out.
In redundant area, also be provided with the check code zone, be used to deposit check code.Data in the data storage area of page or leaf are calculated, can be drawn proof test value.This proof test value is compared with the check code in the check code zone, and whether the data of depositing in can the judgment data memory block according to comparative result are correctly complete.In the invention process process, when each page of storage block carried out data manipulation, controller drew proof test value according to the data computation in the data storage area of this page, leaves in this check code zone.
Next will be according to Fig. 2, Fig. 3 and Fig. 4 illustrate a specific embodiment of the data guard method of flash media of the present invention, yet, one of ordinary skill in the art will appreciate that this specific embodiment is not a limitation of the invention.
According to this embodiment; when in flash media, adopting data guard method of the present invention; data manipulation can be carried out between storage block shown in Figure 2 800 and 900, and wherein storage block 800 is former, and it is the address storage block pointed in the data manipulation instruction.Storage block 900 is new piece, when implementation data is moved, the data that will keep in former 800 is moved new piece 900 corresponding pages or leaves.
Specifically, as shown in Figure 4, when described flash media receives data manipulation instruction from operating system, for example write new data instructions (after the step 1), the controller of flash memory device is sought the storage block that will write data, promptly former 800 (steps 2) according to the assigned address in the described instruction.
In step 3, judge whether to find pointed former 800 of this assigned address.
If pointed former of the assigned address in the data manipulation instruction do not exist, then carry out step 3 ', in described flash media, find out an empty piece, with this sky piece virtual be former 800 of having had data.Specific practice is: the redundant area at this sky piece writes the appointment logical address that conversion obtains according to assigned address, and all the other storage spaces that keep this sky piece carry out steps 4 more still for empty.
If can find former 800, then directly carry out step 4.
In step 4, find out the new piece 900 of a blank.
Next in step 5, the controller of flash memory device is according to specifying the page number that will write data in the instruction, and which page or leaf in judging former 800 will be covered by new data, and the raw data in which page or leaf needs reservation.For the data that will keep in described former 800, controller copies to it in new piece 900 by page or leaf, promptly the raw data (i.e. the data that will keep) in the part page or leaf that is not covered by new data in former is moved.Every in new piece 900, write a page data in the redundant area at this page mark specify logical address (being former 800 logical address).
Former non-existent situation for the assigned address indication in the data manipulation instruction, in abovementioned steps 3 ', carry out virtual former 800 of obtaining, carry out the operation of step 4 and step 5 equally, copy to the data in its part page or leaf that is not covered by new data in the new piece 900 and in the corresponding page or leaf of new piece 900 mark specify logical address.
For the flash chip that carries out for the first time data write operation, according to the data writing method in the present embodiment, specify former 800 that writes data by specifying logical address to find, should carry out step 3 ', promptly find out a blank storage block, write the appointment logical address in the redundant area of each page at it, with its virtual be former 800; Find out the new piece 900 of a blank again, carry out the operation (step 5) of above-mentioned data resettlement.
Then, the data that will write write in described new 900, and mark is specified logical address (step 6) in the redundant area of this page when whenever writing one page.Each page up to new piece 900 all stores data that will keep of moving into or the data that newly write.That is to say that all pages or leaves of new piece 900 have all marked the appointment logical address.
More than explanation is that step 5 is carried out with step 6 order, promptly at first carry out the resettlement of the data that will keep, the data that will keep in former 800 are moved in the corresponding page or leaf of new piece 900, mark is specified logical address in this page or leaf simultaneously, all moves up to the data that will keep to finish; And then in all the other pages or leaves of new piece 900, write new data and in corresponding page or leaf mark specify logical address, store data and mark has the appointment logical address up to each page or leaf of new piece 900.
In fact, step 5 and step 6 also can be carried out simultaneously, promptly at some page of data being moved new piece 900 from former 800 and when respective page mark is specified logical address, new data is written in other pages or leaves of new piece 900 and and specifies logical address at the respective page mark.
Step 5 and 6 can also hybrid cross be carried out, and for example according to the order of page or leaf in the new piece 900, carries out data manipulation page by page.Controller is according to specifying the page number will write new data in the instruction, which page or leaf in judging former 800 will be covered by new data, and the raw data in which page or leaf needs reservation.According to judged result, if the page or leaf at the data place that will keep in corresponding former 800 of the current page in the new piece 900 should be moved new piece 900 with the data that will keep in former 800 according to step 5; If the new data that the current page correspondence will write in the new piece should write new data according to step 6.So carry out finishing up to the last page operation of new piece, these all pages or leaves of stylish 900 all carried out data manipulation.
After having finished step 5 and 6, the data that require in former 800 to keep all copy in the new piece 900, and the data that will write according to data manipulation instruction also all write to be finished.Simultaneously, each page or leaf of new piece 900 has all marked the appointment logical address.Next, execution in step 7 is about to former 800 and wipes fully.
Repeat aforesaid operations and write all until the new data that all will write that (step 8), (step 9), update method are that the logical address with storage block in the table of comparisons 900 is revised as the appointment logical address to upgrade corresponding address information in the table of comparisons.The operation that writes new data is finished.
Be appreciated that from description the above embodiment of the present invention; data guard method of the present invention is characterised in that and new piece is being carried out in the process of data manipulation; when for example the former data that will keep being copied to new piece and write new data in new pieces, to new piece the page or leaf mark.
Utilize the above-mentioned data guard method of the present invention, write fashionablely described flash media being carried out data,, can guarantee that the data in original file can not lost in the flash media even power-off illegally takes place.
That is to say that by the data guard method of above-mentioned flash media, no matter at which step generation power-off illegally of operating process, this flash media can recover the data that will keep when powering up again.
For example, if power-off illegally occurs in the data that will keep and copies to before the new piece 900 (step 5 carry out before), or after former 800 is wiped free of (step 7 finish after),, need not carry out recovery operation because data read-write operation does not begin as yet or finishes.
If carry out in the process power-off illegally taking place in step 5, perhaps step 5 finishes but power-off illegally takes place when also not beginning to carry out step 6, from the above description as can be known, which kind of situation no matter has only move into data and marked the appointment logical address of part page or leaf in the new piece 900.After powering on once more, the logical address of each page in the new piece 900 is checked that if find to have certain page logical address different with the appointment logical address, illustrate that the data manipulation to new piece 900 is in the data resettlement stage, data are incomplete in the new piece 900.At this moment, although the data of new piece 900 are incomplete, former data are not also wiped, so the data that will keep can not lost, can recover.
Because step 6 remains new piece 900 is carried out data manipulation, also former 800 not to be wiped, the data that will keep in former can not lost.If carry out in the process power-off illegally taking place,, still have only the part page or leaf to write data in the new piece 900 and marked the appointment logical address because step 6 also do not finish in step 6.After powering on once more, the logical address of each page in the new storage block 900 is checked,, illustrated that data are incomplete in the new piece 900 if find have certain page logical address different with the appointment logical address of mark.As mentioned above, owing to former 800 is not wiped, the data in former 800 are kept.Before re-powering, the data that will keep in former 800 can be recovered.
If after step 6 is finished, step 7 before carrying out power-off illegally takes place, this stylish storage block 900 has been preserved data that will keep of moving into and the data that newly write, and all pages or leaves have all marked the appointment logical address.And the data in former do not begin to wipe as yet, and the logical address of two each pages of storage block is all identical with the appointment logical address, but two data differences that storage block internal data store district preserves.When powering up again, any of wiping former 800 or new piece 900 gets final product.Whether the data that may make mistakes for further eliminating need check in each storage block every page data correct by check code, find out the wrong storage block of data and wipe; If the data of two storage blocks all are correct, then wipe one arbitrarily.
Utilize check code to the method for inspection of data to be: in storage block write data process, when whenever writing a page data, controller is according to the data that will write, and the algorithm computation known according to prior art goes out check code, and it is kept in this page redundant area.When using check code that data are tested, data according to data storage area preservation in the page or leaf, adopt identical algorithm computation to go out proof test value, the check code of the preservation in this value and this page redundant area is compared, if both are inequality, illustrate that the data that the data storage area is preserved in this page are different with the data that will write, the data in this page are wrong.
If carry out in the process power-off illegally taking place in step 7, former storage block 800 may have the part page or leaf and was wiped free of this moment, lost logical address; If there is certain page logical address different in finding former 800 with the appointment logical address, illustrate former 800 erase operation do not finished that the part page or leaf is wiped, the part page or leaf is the remainder certificate still.Tackle each page data of former storage block 800 and check this moment, if find to have the page or leaf of not wiping fully just former storage block 800 to be carried out complete erase operation, to guarantee that former storage block 800 is a sky;
It more than is the explanation possibility that data are recovered after the flash media of implementing data guard method of the present invention meets with power-off illegally.
Next 5 specify and implemented above-mentioned data guard method in the flash media in conjunction with the accompanying drawings, after this flash media causes operation disruption because of power-off illegally, the data reconstruction method of this flash media.
After described memory storage powers on once more, or before carrying out data manipulation once more, controller reads the redundant area information of all storage blocks in the storage space of described memory storage, sets up the table of comparisons (step 1) according to the information of reading; Setting up the operation of the table of comparisons can adopt prior art to carry out.All storage blocks are being carried out read operation, setting up in the process of the table of comparisons, there are two storage blocks 800 to have identical logical address if find in the storage space with 900, then interrupt setting up the step of the table of comparisons, forward to these two storage blocks are carried out data restore operation (step 2).
In identical two storage blocks 800 and 900 of logical address, have one and contain incomplete data message.In one of them storage block 800/900 that this moment check is found every page logical address whether with specify the logical address (step 3) that conforms to, if there is certain page of logical address not to be inconsistent with specifying logical address, illustrate that data are imperfect in this storage block, storage block 800/900 is wiped (step 3 ').Otherwise whether the logical address of checking another storage block 900/800 conforms to specifying logical address.
If by the logical address of another storage block 900/800 being checked (step 4) finds to have certain page of logical address not to be inconsistent with specifying logical address, illustrates that data are imperfect in this storage block, storage block 900/800 is wiped (step 4 ').
If the logical address of two storage blocks all conforms to, illustrate that the data in two storage blocks all are complete.But whether two data possibility differences that storage block internal data store district preserves need come check data correct to two storage blocks by check code respectively.At this moment, according to the data computation proof test value of every page of storage in the storage block 900/800, and with the check code of this page redundant area stored (step 5) relatively; Be not inconsistent if find certain page of check code, illustrate that this storage block assay is incorrect, this storage block internal data is imperfect, then erase block memory 900/800 (step 5 ').
If the assay of all pages is all correct in the storage block 900/800, then storage block 800/900 is carried out identical check code inspection (step 6); As find in the storage block 800/900 that check code has and be not inconsistent then erase block memory 800/900 (step 6 '); Otherwise illustrate that the data in two storage blocks all are correct, can wipe wherein any, herein erase block memory 900/800 (step 6 ").
Got rid of storage block error in data that the storage block data manipulation is interrupted causing, lost or the repetition situation by this way, judged that then this moment, the table of comparisons was set up the (step 7) that whether finishes; If do not finish, (step 1), up to the storage block of finding that no longer logical address is identical, till the table of comparisons was set up and to be finished, Data Recovery Process finished (step 8) then to set up the step of the table of comparisons again.
In the above-described embodiments, when new piece resettlement and writing data, specify logical address at the respective page mark of being operated.This specifies logical address identical with former 800 logical address.As mentioned above, writing data phase, in the time of virtual former 800 when failing to find former 800 (step 3 '), also will former 800 virtual each page mark specify logical address.By this markup information, even also can realize the data recovery at any moment power-off illegally of write data.
According to the present invention, to the mark that storage block is done, its markup information content is not limited to the appointment logical address in the foregoing description, can also adopt the combination of numerical value, character or numerical value and character.The set-up mode of markup information also is not limited only to the same information of all pages mark, can also be arranged to increase progressively, successively decreases, adds up, tired numerical value, character or the numerical value of taking advantage of and/or changing according to other rules or rule and the combination of character.The position that markup information is deposited neither be unique, can leave logical address area in, also can leave reserved area or other zones in; The shared byte number of markup information neither be unique.The method to set up that it will be understood by those skilled in the art that content, deposit position and Changing Pattern to markup information has multiple possibility, so long as according to certain rule or rule filling markup information, all will fall within the scope of protection of the present invention.
For example, can adopt the numerical value that increases progressively as markup information, in writing the process of data, to each page or leaf of new piece 900 according to the page number order, one the mode of adding the page by page markup information of annotating.1, the second page of mark of first page of mark numerical value numerical value 2 is set, so adds up until the last page of this piece the number of the page or leaf that the mark numerical value of last page should equal to comprise in this storage block.
If power-off illegally takes place in the process that adopts above-mentioned mask method write data, may exist the part page or leaf of new piece 900 to be marked, and the situation of the no markup information of residue page or leaf.According to thought of the present invention,, can judge whether data are complete in the storage block by inspection to markup information.And then, find out complete correct data and carry out recovery operation in conjunction with inspection to check code.
The principle of data restore operation is with above-mentioned embodiment, the controller of described flash memory device is according to the assigned address that writes in the new data instructions, pass through address mapping, search the table of comparisons, in flash media, seek the storage block that all address informations conform to this appointment logical address, judge by the markup information of checking its each page whether data are complete in the storage block again; Finding out correct data in conjunction with check code recovers.
In the above-described embodiments, carrying out data recovers and need as long as there is the logical address of one page not to be inconsistent, just think that there is misdata in this storage block to each page check logical address of the vicious storage block of possibility.Yet the present invention is not limited to this.In a preferred embodiment, regulation is all carried out according to the order of page or leaf in the storage block the data manipulation of storage block, can first page of order from storage block proceed to last page.Similarly, also can begin operation from last page earlier, carry out according to the page number inverted order, at last to first page operations.
If adopt said method that storage block is write data, step 5 may need hybrid cross to carry out with step 6, according to the order of page or leaf in the new piece 900, carries out data manipulation page by page.Controller is according to specifying the page number will write new data in the data manipulation instruction, which page or leaf in judging former 800 will be covered by new data, and the raw data in which page or leaf needs reservation.According to judged result, if the page or leaf at the data place that will keep in corresponding former 800 of the current page in the new piece 900 should be moved new piece 900 with the data that will keep in former 800 according to step 5; If the new data that the current page correspondence will write in the new piece should write new data according to step 6.So carry out finishing up to the last page operation of new piece, these all pages or leaves of stylish 900 all carried out data manipulation.
Because in the write data process of present embodiment, all data manipulations to storage block, comprise data resettlements, new data to write and mark all be from this piece first page, proceed to last page successively, if power-off illegally takes place midway, data manipulation fails to proceed to the last page of storage block, will inevitably cause the markup information of first page and/or last page imperfect.Therefore in data recovery procedure, only need first page of each storage block and the markup information of last page are checked, improved the efficient of data recovery procedures greatly.
The order of above-mentioned data manipulation also can be from last page, proceeds to first page according to inverted order.Its restore data stage also can only be checked first page and last page to the inspection of markup information in the storage block.
In order further to simplify the operation, can be only the markup information of last page or leaf of operating of storage block be checked.For being the situation of same content, in writing the process of new data, mark in proper order according to the markup information and the data manipulation that pre-define to all pages markup information; And recovering the stage in data, controller is still according to this markup information and data manipulation order, checks in the storage block according to this data manipulation order, should carry out the markup information in that one page of data manipulation at last; Situation for markup information changes according to certain rule marks in proper order according to the markup information rule change, initial content and the data manipulation that pre-define in writing the process of new data; Recover the stage in data, controller is according to markup information rule change, initial content and data manipulation order, calculate in this storage block, the content that should mark at last according to this data manipulation order, with in the storage block in the storage block according to this data manipulation order, whether the actual markup information that carries out at last in that one page of data manipulation conforms to.At this moment, the inspection that storage block is marked is simplified to the markup information that only needs to check in one page, has shortened the supervision time greatly.
Below be another preferred embodiment of the present invention, its imbody above-mentioned improved data guard method.
Suppose that in the present embodiment each storage block comprises 64 pages or leaves, all 64 pages or leaves be numbered in proper order since 0 that the last page page number is 63.Present embodiment is also made following regulation to the data manipulation carried out and the method for mark: to the data manipulation of storage block first page (page number is 0) from storage block, proceed to last page (page number is 63) successively according to the order of page number; The coding rule of markup information is " letter+numerical value ", numerical value wherein changes according to increasing progressively rule, promptly initially being labeled as in first page (page number is 0) of storage block " A1 " should mark " A2 " to second page (page number is 1) ... should mark " A64 " until last page (page number is 63).
Referring now to Fig. 2 and Fig. 6, the method for present embodiment data protection in flash media is described.As shown in Figure 2, when the data guard method that adopts present embodiment to provide in flash media, data manipulation can be carried out between storage block 800 and 900, and wherein storage block 800 is former, and it is the assigned address storage block pointed in the data manipulation instruction.Storage block 900 is new piece, when implementation data is moved, the data that should keep in former 800 is moved new piece 900 corresponding pages or leaves.
Specifically, as shown in Figure 6, when described flash media receives data manipulation instruction from operating system, for example write new data instructions (after the step 1), the controller of flash memory device is sought the storage block that will write data, promptly former 800 (steps 2) according to the assigned address in the described instruction.
In step 3, judge whether to find pointed former 800 of this assigned address.
If pointed former of the assigned address in the data manipulation instruction do not exist, then carry out step 3 ', in described flash media, find out an empty piece, with this sky piece virtual be former 800 of having had data.Virtual former 800 concrete grammar is similar to a last embodiment, its difference is that the redundant area every page of described empty piece writes the markup information that the coding rule according to above-mentioned mark obtains successively, first page (page number is 0) mark " A1 ", second page (page number is 1) mark " A2 " ... so to the last one page (page number is 63) marks " A63 ".All the other storage spaces that keep this sky piece carry out steps 4 more still for empty.
If can find former 800, then directly carry out step 4.
In step 4, find out the new piece 900 of a blank.
Next in step 5, the controller of flash memory device is according to specifying the page number that will write data in the instruction, and which page or leaf in judging former 800 will be covered by new data, and the raw data in which page or leaf needs reservation.For the data that will keep in described former 800, controller copies to it in new piece 900 by page or leaf, promptly the data that will keep in the part page or leaf that is not covered by new data in former is moved.Every in new piece 900, write a page data in, calculate the markup information of this page according to above-mentioned markup information coding rule, and write in the redundant area of this page.
Former non-existent situation for the assigned address indication in the data manipulation instruction, in abovementioned steps 3 ', carry out virtual former 800 of obtaining, carry out the operation of step 4 and step 5 equally, its part page or leaf that is not covered by new data is copied in the new piece 900, calculate markup information, and in the corresponding page or leaf of new piece 900, write this markup information.
For the flash chip that carries out for the first time data write operation, according to the data writing method in the present embodiment, specify former 800 that writes data by specifying logical address to find, should carry out step 3 ', find out a blank storage block, write corresponding markup information in the redundant area of each page at it, with its virtual be former 800; Find out blank new piece 900 again, carry out the operation (step 5) of above-mentioned data resettlement.
Then, the data that will write write in described new 900, calculate markup information when whenever writing one page, and write markup information (step 6) in the redundant area of this page.Each page up to new piece 900 all stores the data that will keep of resettlement or the data that newly write.That is to say that all pages or leaves of new piece 900 have all carried out corresponding mark.
In the aforesaid operations, step 5 and 6 can hybrid cross be carried out.Will according to predefined order page by page carry out the data manipulation of storage block this moment.Controller is according to specifying the page number will write new data in the instruction, which page or leaf in judging former 800 will be covered by new data, and the raw data in which page or leaf needs reservation.According to judged result, if the page or leaf at the data place that will keep in corresponding former 800 of the current page in the new piece 900 should be moved new piece 900 with the data that will keep in former 800 according to step 5; If the new data that the current page correspondence will write in the new piece should write new data according to step 6, so carry out one page (page number 63) operation to the last and finish, these all pages or leaves of stylish 900 all carried out data manipulation and all marked.
After having finished step 5 and 6, the data that require in former 800 to keep all copy in the new piece 900, and the data that will write according to data manipulation instruction also all write to be finished.Simultaneously, each page or leaf of new piece 900 has all marked corresponding markup information.Next, execution in step 7 is about to former 800 and wipes fully.
Repeat aforesaid operations and write all until the new data that all will write that (step 8), (step 9), update method are that the logical address with storage block in the table of comparisons 900 is revised as the appointment logical address to upgrade corresponding address information in the table of comparisons.The operation that writes new data is finished.
If in above-mentioned write operation process power-off illegally takes place, may produce in the storage block 800 and 900 among wrong situation and the embodiment one similar, so do not give unnecessary details.
Now in conjunction with the accompanying drawings 6 and accompanying drawing 7 specify and implemented the data guard method that present embodiment provides in the flash media, after this flash media causes operation disruption because of power-off illegally, the data reconstruction method when this flash media is powered up once more.
After described memory storage powers on once more, or before carrying out data manipulation once more, controller reads the redundant area information of all storage blocks in the storage space of described memory storage, sets up the table of comparisons (step 1) according to the information of reading; Setting up the operation of the table of comparisons can adopt prior art to carry out.All storage blocks are being carried out read operation, setting up in the process of the table of comparisons, there are two storage blocks 800 to have identical logical address if find in the storage space with 900, then interrupt setting up the step of the table of comparisons, forward to these two storage blocks are carried out data restore operation (step 2).
In identical two storage blocks 800 and 900 of logical address, have one and contain incomplete data message.The information that check the last page (page number is 63) of one of them storage block 800/900 that finds to mark this moment: the coding rule of predefine markup information is " letter+numerical value ", numerical value wherein changes according to increasing progressively rule, comprise 64 pages or leaves in the storage block, can draw thus, the markup information of last page in this storage block (page number is 63) should be " A64 ".
Markup information in the last page in this result of calculation and the described storage block (page number is 63) is compared; according to data guard method of the present invention as can be known; so long as the interior markup information of described last page (page number is 63) does not conform to the markup information that calculates; just illustrate in the data manipulation of this storage block before interruption and used; illustrate that this blocks of data is imperfect; it is wiped (step 3 '), otherwise adopt the markup information of checking another storage block 900/800 last page with quadrat method.
If check (step 4) by last page markup information to another storage block 900/800, if the markup information of last page does not conform to the markup information that calculates, illustrate that data are imperfect in this storage block, storage block 900/800 is wiped (step 4 ').
If the markup information of second interior last page of storage block is also correct, illustrate that the data in two storage blocks all are complete.But whether two data possibility differences that storage block internal data store district preserves need come check data correct to two storage blocks by check code respectively.At this moment, according to the data computation proof test value of every page of storage in the storage block 900/800, and with the check code of this page redundant area stored (step 5) relatively; Be not inconsistent if find certain page of check code, illustrate that this storage block assay is incorrect, then erase block memory 900/800 (step 5 ').
If the assay of all pages is all correct in the storage block 900/800, then storage block 800/900 is carried out identical check code inspection (step 6); As find in the storage block 800/900 that check code has and be not inconsistent then erase block memory 800/900 (step 6 '); Otherwise illustrate that the data in two storage blocks all are correct, can wipe wherein any, herein erase block memory 900/800 (step 6 ").
Got rid of storage block error in data that the storage block data manipulation is interrupted causing, lost or the repetition situation by this way, judged that then this moment, the table of comparisons was set up the (step 7) that whether finishes; If do not finish, (step 1), up to the storage block of finding that no longer logical address is identical, till the table of comparisons was set up and to be finished, Data Recovery Process finished (step 8) then to set up the step of the table of comparisons again.
In the above-described embodiments, when new piece resettlement and writing data, mark corresponding markup information at the page that carries out data manipulation.As mentioned above, in the time of virtual former 800 when failing to find former 800 (step 3 '), also will former 800 virtual each page mark corresponding markup information.By this markup information, even also can realize the data recovery at any moment power-off illegally of write data.
Another embodiment according to the inventive method, according to the SSFDC agreement described flash media is divided into several region (Zone), each district is made of several storage blocks, and each district all is provided with at least one empty storage block, and the data that are used for keeping copy to this storage block.Write the new data stage, searching new piece 900 if desired, then directly calling the empty storage block of this reservation, saving the time of searching the sky storage block.
In the present embodiment, adopt with the guard method of previous embodiment similar data the data in each district are operated, its difference is that when data writing operation the scope of seeking new piece is confined in the district at former place; In the restore data operational phase, because data read-write operation just carries out between two storage blocks in same district, other districts of described flash media can not make mistakes in above-mentioned write data process, so only need to get final product according to the storage block and the debug of specifying logical address to search in the local area.Whereby, the speed of write data in described flash media and the speed of restore data have been improved.
Introduce the mechanism in district (Zone), make the storage block that participates in data manipulation concentrate in the storage space of relative compact, in data write and rejuvenation, saved the running time.
More than be that the present invention is exemplarily illustrated, one of ordinary skill in the art will appreciate that, the method that the markup information in the page or leaf is provided with, and check code algorithm is not unique, the approach of searching storage block also can adopt various known technology.Marrow of the present invention is markup information to be set to differentiate the state of related storage block when data manipulation, in conjunction with to the check of check code to differentiate the correctness of data in the storage block, thereby, guarantee the integrality of data taking place to recover the legacy data file effectively behind the power-off illegally.
And the marrow of data reconstruction method of the present invention is to check according to the sign in the storage block in the flash media, in conjunction with inspection to the check code of page or leaf, judge and interrupt taking place the state of moment storage block and the integrality of the interior data of storage block, and then find out the data that will keep, carry out corresponding data restore operation, get rid of the incomplete mistake of memory block erasing.Therefore, causing the change of restore data method for the step adjustment in the data writing method, is not depart from inventive concept.
The various remodeling to technical solution of the present invention that do not depart from inventive concept will fall into claim of the present invention institute restricted portion.

Claims (14)

1. data guard method in the flash media; described flash media comprises a plurality of storage blocks; each storage block is made of a plurality of pages or leaves; every page is divided into data storage area and redundant area; said method comprising the steps of: when described storage block (900) being carried out data manipulation, carrying out the page or leaf filling markup information of data manipulation according to data manipulation instruction.
2. method according to claim 1 is wherein carried out data manipulation to described storage block (900) and is comprised the data that will keep in another storage block (800) are moved the step of described storage block (900).
3. method according to claim 1 is wherein carried out data manipulation to described storage block (900) and is comprised the step that writes new data according to described data manipulation instruction in described storage block (900).
4. according to the described method of any one claim of claim 1-3, wherein said markup information can be the logical address of the assigned address of described data manipulation instruction storage block pointed (800).
5. according to the described method of any one claim of claim 1-3, wherein said markup information can be to have certain Changing Pattern or changeless symbol.
6. method according to claim 5, when wherein annotating markup information in the page or leaf of described execution data manipulation, described markup information can be a page number of carrying out the page or leaf of data manipulation.
7. method according to claim 5, when wherein annotating markup information in the page or leaf of described execution data manipulation, described markup information can be the combination of numerical value, character or numerical value and character.
8. the method for write data in flash memory device, described flash memory device comprises the controller that is used for the control data access and is used to store the flash media of data, described flash media comprises a plurality of storage blocks, each storage block is made of a plurality of pages or leaves, every page is divided into data storage area and redundant area, said method comprising the steps of:
(1) described controller is accepted data manipulation instruction, and searches corresponding storage block (800) according to the assigned address of data manipulation instruction;
(2) data that will keep in the described storage block (800) are moved in another blank storage block (900), simultaneously in described storage block (900) to carrying out the page or leaf filling markup information of data manipulation;
(3), in described storage block (900), write data and carrying out the page or leaf filling markup information of data manipulation according to the above-mentioned data manipulation instruction of accepting;
(4) erase block memory (800) is empty.
9. method according to claim 8, wherein when execution in step (2) or (3), described markup information can be the logical address of the storage block pointed of the assigned address in the data manipulation instruction (800).
10. method according to claim 8, wherein when execution in step (2) or (3), described markup information can be to immobilize or have numerical value, character or the numerical value of certain Changing Pattern and the combination of character.
11. the data reconstruction method of flash media, it is applicable in described flash media adopts as method write data process as described in the claim 8, owing to the corrupted data situation that power-off illegally produces is carried out the data recovery, its step comprises: judge by the check markup information whether the data of storage block in the described flash media are complete, and the incomplete storage block of data is carried out data restore operation.
12. method according to claim 11 if the markup information in the storage block is consistent with predetermined markup information, or meets predetermined markup information Changing Pattern, shows that the data in the storage block are complete.
13. method according to claim 11 further comprises the step of the incomplete storage block of obliterated data.
14. method according to claim 11 further comprises the step of utilizing the complete storage block of check code check data, if the assay of storage block is all correct, then wipes wherein any one storage block; If one of them storage block assay is incorrect, then wipe the incorrect storage block of this assay.
CNB031374239A 2003-06-20 2003-06-20 Protection method for data in flash memory media Expired - Lifetime CN100377119C (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNB031374239A CN100377119C (en) 2003-06-20 2003-06-20 Protection method for data in flash memory media
PCT/CN2004/000649 WO2004114139A1 (en) 2003-06-20 2004-06-18 Data protection method for flash memory medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031374239A CN100377119C (en) 2003-06-20 2003-06-20 Protection method for data in flash memory media

Publications (2)

Publication Number Publication Date
CN1567256A true CN1567256A (en) 2005-01-19
CN100377119C CN100377119C (en) 2008-03-26

Family

ID=33520374

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031374239A Expired - Lifetime CN100377119C (en) 2003-06-20 2003-06-20 Protection method for data in flash memory media

Country Status (2)

Country Link
CN (1) CN100377119C (en)
WO (1) WO2004114139A1 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154447B (en) * 2006-09-28 2010-08-18 北京握奇数据系统有限公司 Flash memory and its control method
US7809777B2 (en) 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US7908276B2 (en) 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
CN1983266B (en) * 2005-07-01 2011-05-11 Qnx软件操作系统德国有限公司 File system storing transaction records in flash-like media
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
CN101408864B (en) * 2007-10-09 2011-08-24 群联电子股份有限公司 Data protection method for current failure and controller using the same
CN102541463A (en) * 2010-12-28 2012-07-04 慧荣科技股份有限公司 Flash memory device and data access method thereof
CN101763490B (en) * 2009-12-18 2012-11-21 东信和平科技股份有限公司 Data movement method for flash intelligent card
US8566503B2 (en) 2006-08-25 2013-10-22 Qnx Software Systems Limited Multimedia filesystem having unified representation of content on diverse multimedia devices
US8959125B2 (en) 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
CN105988936A (en) * 2014-10-13 2016-10-05 慧荣科技股份有限公司 Non-volatile memory device and controller
CN107273233A (en) * 2017-05-24 2017-10-20 浙江大华技术股份有限公司 A kind of method for reading data and device
CN107403640A (en) * 2016-04-27 2017-11-28 慧荣科技股份有限公司 Method for accessing flash memory module and related flash memory controller and memory device
CN108733586A (en) * 2017-04-19 2018-11-02 北京兆易创新科技股份有限公司 A kind of guard method and device
CN109992443A (en) * 2019-03-06 2019-07-09 珠海妙存科技有限公司 A kind of nand flash memory data checking
US10510430B2 (en) 2016-04-27 2019-12-17 Silicon Motion, Inc. Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips
US10713115B2 (en) 2016-04-27 2020-07-14 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US10771091B2 (en) 2016-04-27 2020-09-08 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN114242125A (en) * 2021-11-15 2022-03-25 珠海妙存科技有限公司 NAND FLASH data power failure protection method, device and medium
US11323133B2 (en) 2016-04-27 2022-05-03 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
CN117707434A (en) * 2024-02-02 2024-03-15 深圳曦华科技有限公司 Data writing method and device of Flash, vehicle and storage medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100504814C (en) 2007-01-17 2009-06-24 忆正存储技术(深圳)有限公司 Flash-memory zone block management method
TWI687930B (en) 2018-11-07 2020-03-11 慧榮科技股份有限公司 Flash memory controller, method for managing flash memory module and associated electronic device
TWI704450B (en) * 2019-07-23 2020-09-11 慧榮科技股份有限公司 Method and computer program product and apparatuse for handling sudden power off recovery
CN112286721A (en) 2019-07-23 2021-01-29 慧荣科技股份有限公司 Instantaneous power failure recovery processing method, computer readable storage medium and device
CN112306742A (en) 2019-07-23 2021-02-02 慧荣科技股份有限公司 Instantaneous power failure recovery processing method, computer readable storage medium and device
CN112306379A (en) * 2019-08-01 2021-02-02 北京兆易创新科技股份有限公司 Data movement recovery method and device, electronic equipment and storage medium
CN113890735A (en) * 2021-11-10 2022-01-04 天宇鸿图应用技术研究院(重庆)有限公司 Large prime number multiplication symmetrical encryption method based on quantum key distribution

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3576625B2 (en) * 1995-02-28 2004-10-13 株式会社東芝 Data management method for flash memory card and data processing device using the data management method
JPH11328982A (en) * 1998-03-19 1999-11-30 Fuji Electric Co Ltd Data management system for flash memory
JP3212960B2 (en) * 1999-02-04 2001-09-25 埼玉日本電気株式会社 Data management method using flash memory
KR100449708B1 (en) * 2001-11-16 2004-09-22 삼성전자주식회사 Flash memory management method

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051114B2 (en) 2005-07-01 2011-11-01 Qnx Software Systems Limited Optimized startup verification of file system integrity
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US8959125B2 (en) 2005-07-01 2015-02-17 226008 Ontario Inc. File system having inverted hierarchical structure
US8667029B2 (en) 2005-07-01 2014-03-04 Qnx Software Systems Limited Optimized startup verification of file system integrity
CN1983266B (en) * 2005-07-01 2011-05-11 Qnx软件操作系统德国有限公司 File system storing transaction records in flash-like media
US7970803B2 (en) 2005-07-01 2011-06-28 Qnx Software Systems Gmbh & Co. Kg Optimized startup verification of file system integrity
US7809777B2 (en) 2005-07-01 2010-10-05 Qnx Software Systems Gmbh & Co. Kg File system having deferred verification of data integrity
US8412752B2 (en) 2005-07-01 2013-04-02 Qnx Software Systems Limited File system having transaction record coalescing
US8566503B2 (en) 2006-08-25 2013-10-22 Qnx Software Systems Limited Multimedia filesystem having unified representation of content on diverse multimedia devices
US7987190B2 (en) 2006-08-25 2011-07-26 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US7908276B2 (en) 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US8122178B2 (en) 2006-08-25 2012-02-21 Qnx Software Systems Limited Filesystem having a filename cache
CN101154447B (en) * 2006-09-28 2010-08-18 北京握奇数据系统有限公司 Flash memory and its control method
CN101408864B (en) * 2007-10-09 2011-08-24 群联电子股份有限公司 Data protection method for current failure and controller using the same
CN101763490B (en) * 2009-12-18 2012-11-21 东信和平科技股份有限公司 Data movement method for flash intelligent card
CN102541463A (en) * 2010-12-28 2012-07-04 慧荣科技股份有限公司 Flash memory device and data access method thereof
CN102541463B (en) * 2010-12-28 2014-07-23 慧荣科技股份有限公司 Flash memory device and data access method thereof
CN105988936B (en) * 2014-10-13 2019-04-12 慧荣科技股份有限公司 Non-volatile memory device and controller
CN105988936A (en) * 2014-10-13 2016-10-05 慧荣科技股份有限公司 Non-volatile memory device and controller
CN107403640B (en) * 2016-04-27 2020-08-18 慧荣科技股份有限公司 Method for accessing flash memory module and related flash memory controller and memory device
US10771091B2 (en) 2016-04-27 2020-09-08 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN107403640A (en) * 2016-04-27 2017-11-28 慧荣科技股份有限公司 Method for accessing flash memory module and related flash memory controller and memory device
US11916569B2 (en) 2016-04-27 2024-02-27 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US10510430B2 (en) 2016-04-27 2019-12-17 Silicon Motion, Inc. Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips
US10643733B2 (en) 2016-04-27 2020-05-05 Silicon Motion, Inc. Method, flashing memory controller, memory device for accessing 3D flash memory having multiple memory chips
US11847023B2 (en) 2016-04-27 2023-12-19 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US10713115B2 (en) 2016-04-27 2020-07-14 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US11500722B2 (en) 2016-04-27 2022-11-15 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US11323133B2 (en) 2016-04-27 2022-05-03 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
US10846173B2 (en) 2016-04-27 2020-11-24 Silicon Motion, Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US11030042B2 (en) 2016-04-27 2021-06-08 Silicon Motion, Inc. Flash memory apparatus and storage management method for flash memory
CN108733586A (en) * 2017-04-19 2018-11-02 北京兆易创新科技股份有限公司 A kind of guard method and device
CN107273233A (en) * 2017-05-24 2017-10-20 浙江大华技术股份有限公司 A kind of method for reading data and device
CN107273233B (en) * 2017-05-24 2020-06-19 浙江大华技术股份有限公司 Data reading method and device
CN109992443B (en) * 2019-03-06 2023-03-10 珠海妙存科技有限公司 NAND flash memory data checking method
CN109992443A (en) * 2019-03-06 2019-07-09 珠海妙存科技有限公司 A kind of nand flash memory data checking
CN114242125A (en) * 2021-11-15 2022-03-25 珠海妙存科技有限公司 NAND FLASH data power failure protection method, device and medium
CN117707434A (en) * 2024-02-02 2024-03-15 深圳曦华科技有限公司 Data writing method and device of Flash, vehicle and storage medium

Also Published As

Publication number Publication date
WO2004114139A1 (en) 2004-12-29
CN100377119C (en) 2008-03-26

Similar Documents

Publication Publication Date Title
CN1567256A (en) Protection method for data in flash memory media
CN1295622C (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
JP4371771B2 (en) Power management block used in non-volatile memory system
CN109426619A (en) Method for accessing flash memory module, related flash memory controller and electronic device
CN1426557A (en) Data recorder and method for recording data in flash memory
US20130060991A1 (en) Solid state drive and garbage collection control method thereof
JP2008198208A (en) Operation method for host data processing device, host data processing device, and data storage device
CN101069163A (en) Memory system and method of writing into nonvolatile semiconductor memory
JP2008009874A (en) Memory controller, flash memory system equipped with memory controller, and method for controlling flash memory
CN101055589A (en) Embedded database storage management method
CN103871447A (en) NAND flash memory array, NAND flash memory chip, and methods for accessing, reading and managing NAND flash memory array
CN1959672A (en) Optimized startup verification of file system integrity
CN101046759A (en) Remote copying system and method of controlling remote copying
CN1761935A (en) Semiconductor memory card, semiconductor memory control apparatus, and semiconductor memory control method
CN103577574A (en) High-reliability linear file system based on nand flash
CN104881366B (en) Repair the method and system of homogenizing
CN101567220A (en) Bad block identifying method, storage system and controller thereof for flash memory
CN1855032A (en) Microprocessor systems, bus address translation methods and program repair method
TW201316167A (en) Electronic system and memory managing method thereof
CN1518000A (en) Method for managing data in flash storage medium
TWI404071B (en) Controller circuit having functions for identifying error data in flash memory and storage system and method thereof
CN105988939A (en) Data storage device and flash memory control method
CN1758253A (en) File management system and method
CN101154447B (en) Flash memory and its control method
CN1127022C (en) Method and apparatus for processing data with address mapping

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
C56 Change in the name or address of the patentee

Owner name: SHENZHEN CITY LANGKE TECHNOLOGY CO.,LTD.

Free format text: FORMER NAME OR ADDRESS: LANGKE SCIENCE AND TECHNOLOGY CO LTD, SHENZHEN CITY

CP01 Change in the name or title of a patent holder

Address after: The South high tech Zone of Shenzhen City, Guangdong province a Chinese Development Institute of science and technology incubator building, six floor

Patentee after: NETAC TECHNOLOGY Co.,Ltd.

Address before: The South high tech Zone of Shenzhen City, Guangdong province a Chinese Development Institute of science and technology incubator building, six floor

Patentee before: Netac Technology Co.,Ltd.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080326