[go: up one dir, main page]

CN101493794A - Flash memory data processing method and device - Google Patents

Flash memory data processing method and device Download PDF

Info

Publication number
CN101493794A
CN101493794A CNA2009100055431A CN200910005543A CN101493794A CN 101493794 A CN101493794 A CN 101493794A CN A2009100055431 A CNA2009100055431 A CN A2009100055431A CN 200910005543 A CN200910005543 A CN 200910005543A CN 101493794 A CN101493794 A CN 101493794A
Authority
CN
China
Prior art keywords
data
page
block
preset
level
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
CNA2009100055431A
Other languages
Chinese (zh)
Other versions
CN101493794B (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2009100055431A priority Critical patent/CN101493794B/en
Publication of CN101493794A publication Critical patent/CN101493794A/en
Application granted granted Critical
Publication of CN101493794B publication Critical patent/CN101493794B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

本发明实施例公开了一种闪存数据处理方法及装置,用于提高随机写入性能。本发明实施例方法包括:根据获取到的目标数据查询待更新的源数据;将所述目标数据写入预置空白数据块的第一数据页中,将所述源数据所在的数据页标注为无效页;将预置的页级逻辑映射表中的所述无效页的表项替换为所述预置空白数据块的第一数据页的表项。本发明实施例还提供了一种闪存数据处理装置。本发明实施例能够有效地提高随机写入性能。

Figure 200910005543

The embodiment of the invention discloses a flash memory data processing method and device for improving random write performance. The method in the embodiment of the present invention includes: querying the source data to be updated according to the obtained target data; writing the target data into the first data page of the preset blank data block, and marking the data page where the source data is located as An invalid page: replacing the entry of the invalid page in the preset page-level logical mapping table with the entry of the first data page of the preset blank data block. The embodiment of the present invention also provides a flash memory data processing device. The embodiments of the present invention can effectively improve random write performance.

Figure 200910005543

Description

A kind of flash memory data processing method and device
Technical field
The present invention relates to data processing field, relate in particular to a kind of flash memory data processing method and device.
Background technology
Solid state hard disc (SSD, Solid State Disk) forms by control module and storage unit, wherein, storage unit non-volatile flash memory (Flash) chips that adopt constitute more, owing to do not have mechanical rotation device, thereby SSD to have shock resistance strong, advantage such as the power supply expense is little, and being used widely.
Flash memory is made up of several data blocks physically, each data block is made up of several pages or leaves again, in the prior art, for the management of flash memory all based on the management of data block, the minimum management unit that is present flash memory is a data block, for example, and during a page data in needs change a certain data block, can wipe fully this data block, all write again more afterwards.
By above-mentioned flow process as can be seen, in the scheme of the prior art, when writing a certain page data, the data block at this page place can be wiped fully, again write this data block afterwards again, so need carry out when causing more new data that lot of data is wiped and write operation, thereby reduce the performance of data random writings.
Summary of the invention
The embodiment of the invention provides a kind of flash memory data processing method and device, can improve the performance of data random writing.
The flash memory data processing method that the embodiment of the invention provides comprises: according to the target data inquiry source data to be updated that gets access to; Described target data is write in first data page that presets Blank data block, the data page at described source data place is labeled as invalid page or leaf; The list item of the described invalid page or leaf in the page or leaf level logical mappings table that presets is replaced with the described list item that presets first data page of Blank data block.
The flash memory data processing method that the embodiment of the invention provides comprises: the length information that obtains data to be written; According to the number of a described length information and a sector that data block comprised described data to be written are split as piece progression and reach page or leaf level data according to this; Write described level data according to the piece writing mode, write described page or leaf level data and a page or leaf level logical mappings table that presets is upgraded according to the page or leaf writing mode.
The flash memory data processing device that the embodiment of the invention provides comprises: the source data query unit is used for according to the target data inquiry source data to be updated that gets access to; Writing unit is used for described target data is write first data page that presets Blank data block; The mark unit, the data page that is used for described source data place is labeled as invalid page or leaf; Replace the unit, described invalid page list item of the page or leaf level logical mappings table that is used for presetting replaces with the described list item that presets first data page of Blank data block.
The flash memory data processing device that the embodiment of the invention provides comprises: the length information acquiring unit is used to obtain the length information of data to be written; The data split cells is used for according to the number of a described length information and a sector that data block comprised described data to be written being split as piece progression and reaches page or leaf level data according to this; Data write unit is used for writing described level data according to the piece writing mode, writes described page or leaf level data and a page or leaf level logical mappings table that presets is upgraded according to the page or leaf writing mode.
As can be seen from the above technical solutions, the embodiment of the invention has the following advantages:
In the embodiment of the invention, get access to after the target data, target data is write in first data page that presets Blank data block, and the data page at source data place is labeled as invalid page or leaf, the list item of the invalid page or leaf in the page or leaf level logical mappings table that also will preset simultaneously replaces with the list item of first data page, therefore, in the process of Data Update, need not the data block at invalid page or leaf place is wiped, and directly adopt alternative this invalid page or leaf of first data page in the Blank data block to carry out data storage, therefore save the operation of Data Update, thereby improved the performance of data random writings.
Description of drawings
Fig. 1 is the flash memory data processing method first embodiment process flow diagram in the embodiment of the invention;
Fig. 2 (a) is the flash memory data processing method second embodiment process flow diagram in the embodiment of the invention;
Fig. 2 (b) is a page or leaf level logical mappings hoist pennants in the embodiment of the invention;
Fig. 3 is flash memory data processing method the 3rd an embodiment process flow diagram in the embodiment of the invention;
Fig. 4 is a page or leaf writing mode synoptic diagram in the embodiment of the invention;
Fig. 5 is a piece writing mode synoptic diagram in the embodiment of the invention;
Fig. 6 is the flash memory data processing device first embodiment synoptic diagram in the embodiment of the invention;
Fig. 7 is the flash memory data processing device second embodiment synoptic diagram in the embodiment of the invention.
Embodiment
The embodiment of the invention provides a kind of flash memory data processing method and device, is used to improve the performance of data random writing.
See also Fig. 1, flash memory data processing method first embodiment comprises in the embodiment of the invention:
101, according to the target data inquiry source data to be updated that gets access to;
In the present embodiment, when the data of certain one page are upgraded in need be to the flash data piece, at first can obtain new data, i.e. target data is afterwards again according to the position enquiring source data to be updated of the required storage of this target data.
For example, when the user needs to replace a file in operating system, (be specifically as follows the user and pasted a file that filename is identical, and selected " covering "), then operating system can be known the position of this document correspondence flash memory from the position that the user pastes, and read the data that originally are stored in this position in the flash memory, can obtain source data to be updated.
102, described target data is write in first data page that presets Blank data block, the data page at described source data place is labeled as invalid page or leaf;
After having determined source data to be updated, in the Blank data block group that presets, obtain a Blank data block, target data is write in some data pages of this Blank data block, be recorded as first data page.
And the data page at source data place is labeled as invalid page or leaf, concrete mark mode can for: in the label of this data page or attribute field, insert invalid flag, this invalid flag is used to indicate this data page invalid, promptly temporarily can not carry out read-write operation to this data page, need to prove, in actual applications, the mode that specifically marks invalid page or leaf can also have a variety of, does not limit herein.
The list item of the described invalid page or leaf in the page or leaf level logical mappings table that 103, will preset replaces with the list item of described first data page.
Because the data page with the source data place in the step 102 is labeled as invalid page or leaf, for guaranteeing that the data in original and the related data page of this data page were kept perfectly, then can be in the page or leaf level logical mappings table that presets will this list item of invalid page replace with the list item of first data page.
Record the logical address of the data page that respectively stores data in the page or leaf level logical mappings table in the present embodiment, physical address, and the incidence relation between each data page.
In the present embodiment, the list item of the invalid page or leaf in the page or leaf level logical mappings table is replaced with the list item of first data page, can make the data in the invalid page or leaf of data replacement in the data page of winning, and originally the incidence relation between each data page remained unchanged, and had promptly realized the renewal of data.
In the present embodiment, get access to after the target data, target data is write in first data page that presets Blank data block, and the data page at source data place is labeled as invalid page or leaf, the list item of the invalid page or leaf in the page or leaf level logical mappings table that also will preset simultaneously replaces with the list item of first data page, therefore, in the process of Data Update, need not the data block at invalid page or leaf place is wiped, and directly adopt alternative this invalid page or leaf of first data page in the Blank data block to carry out data storage, therefore save the operation of Data Update, thereby improved the performance of data random writings.
See also Fig. 2 (a), flash memory data processing method second embodiment comprises in the embodiment of the invention:
201, search Blank data block is set up page or leaf level logical mappings table;
In the present embodiment, when system powers on, each physical data block is traveled through, inquires about not the physical data block of record data and the physical data block that has been wiped free of, with the physical data block of described not record data and the physical data block that has been wiped free of as presetting Blank data block.
Suppose to have 3 data blocks, be respectively X, Y and Z had wherein originally recorded data and be not wiped free of among the X, and record data not among Y and the Z then can inquire Y by traversal and Z is a Blank data block.
Need to prove, in the present embodiment, can also set up page or leaf level logical mappings table in advance, record the logical address of the data page that respectively stores data in this page level logical mappings table, physical address, and the incidence relation between each data page, the page or leaf level logical mappings table in the present embodiment can adopt binary tree, or data storage method such as B+ tree is with record data.
Be that example describes page or leaf level logical mappings table with the binary tree in the present embodiment, be understandable that, can be the data storage method of other types equally:
See also Fig. 2 (b), comprise 6 nodes altogether among the figure, be respectively A, B, C, D, E, F, wherein each node is represented a data page, each node is made up of four partial contents, from left to right be respectively " left sibling sign ", " logical address ", " physical address " and " right node identification ", each node in the present embodiment can be made up of 16 bytes, and every part takies 4 bytes in four parts.
Among Fig. 2 (b),, represent that then this node does not have left sibling, or do not have right node if " left sibling sign " or " the right node identification " of certain node are " NULL ".
202, according to the target data inquiry source data to be updated that gets access to;
In the present embodiment, when the data of certain one page are upgraded in need be to the flash data piece, at first can obtain new data, i.e. target data is afterwards again according to the position enquiring source data to be updated of the required storage of this target data.
Suppose that the user wishes to replace source data " 300 " with target data " 500 ", can determine that then target data is " 500 ", source data is " 300 ".
203, described target data is write in first data page that presets Blank data block, the data page at described source data place is labeled as invalid page or leaf;
After having determined source data to be updated, in the Blank data block group that presets, obtain a Blank data block, target data is write in some data pages of this Blank data block, be recorded as first data page.
And the data page at source data place is labeled as invalid page or leaf, concrete mark mode can for: in the label of this data page or attribute field, insert invalid flag, this invalid flag is used to indicate this data page invalid, promptly temporarily can not carry out read-write operation to this data page, need to prove, in actual applications, the mode that specifically marks invalid page or leaf can also have a variety of, does not limit herein.
Suppose that source data " 300 " is stored in data page and represents (shown in Fig. 2 (b)) by node E, then the logical address of this data page is 70 as can be known, physical address is 8, left sibling is D, right node is F, because the source data " 300 " in this data page lost efficacy, then this data page is labeled as invalid page or leaf.
Current Blank data block is Y and Z, can choose one arbitrarily, for example choose Y and be Blank data block to write data, then target data " 500 " can be write in the some data pages (i.e. first data page) among the Blank data block Y, the physical address of supposing this first data page is 9.
The list item of the described invalid page or leaf in the page or leaf level logical mappings table that 204, will preset replaces with the list item of described first data page;
Because the data page with the source data place in the step 203 is labeled as invalid page or leaf, for guaranteeing that the data in original and the related data page of this data page were kept perfectly, then can be in the page or leaf level logical mappings table that presets will this list item of invalid page replace with the list item of first data page.
The mode of concrete replacement can be the list item of inquiring about described invalid page or leaf place, physical address in the list item is revised as the physical address of first data page, keep the original related information of list item, this related information is used to represent the incidence relation between this list item and other list items.
Promptly, the list item at invalid page or leaf place is node E, obtains the physical address 9 of first data page, and the physical address among the node E is revised as 9 by 8, and keep this node E original " left sibling sign " and " right node identification ", then realized of the replacement of first data page invalid page or leaf.
205, judge whether to satisfy the update condition that presets,, if not, then continue to judge if then execution in step 206;
In the present embodiment, owing to some data page in the data block can be labeled as invalid page or leaf in the step 203, then these invalid pages or leaves temporarily can not carry out read-write operation, for improving the utilization factor of storage resources, need in some cases the data in these data blocks are upgraded, to eliminate invalid page or leaf, concrete condition can comprise:
(1), the number of the invalid page or leaf in a certain data block reaches default value:
The number of the invalid page or leaf in a certain data block reaches a certain threshold value, and (this threshold value can be set according to user's request, be traditionally arranged to be one more than or equal to 2 numeral) time, may make storage space reduce, then can upgrade the data block at invalid page or leaf place according to the target data in first data page in the case.
(2), system is in idle condition:
When system does not carry out read-write operation, when promptly being in idle condition, can utilize this section free time the data block at invalid page or leaf place to be upgraded equally according to the target data in first data page.
Need to prove, above-mentionedly only the update condition that presets is illustrated, be understandable that, in actual applications, can not limit for other the update condition that presets equally herein with two examples.
206, according to the target data in first data page data block at invalid page or leaf place is upgraded.
In the present embodiment, concrete renewal process can for:
Data in other data pages except that invalid page or leaf in the data block are saved in buffer memory;
Data block is wiped;
Obtain the target data in first data page;
Described target data write in original invalid page or leaf obtain revising page or leaf;
To comprise the data content of preserving in the modification page or leaf of target data and the buffer memory writes in the data block after wiping;
The list item of first data page in the page or leaf level logical mappings table that presets is replaced with the described list item of revising page or leaf.
In the above-mentioned more new technological process, because the characteristic of flash memory, therefore minimum unit of erase is a data block, for target data is write in original data page again, then can be earlier the content of other data pages in the data block be copied to buffer memory, writes new data more again, thereby realize the renewal of data block, the process of Data Update is similar in process that this data block is upgraded and the prior art, repeats no more herein.
After Data Update is intact, revise in the page or leaf (promptly having write original invalid page or leaf of target data) and promptly preserve target data, can adjust page or leaf level logical mappings table this moment again, replace the list item of the first original data page with the list item of revising page or leaf, concrete replacement process and aforementioned replacement process are similar, repeat no more, after replacement was finished, then the physical address among the node E was modified to 8 once more herein.
Need to prove, owing to be provided with page or leaf level logical mappings table in the present embodiment, then may take certain system resource, for reducing resource occupation, when system is idle, or the resource that takies of this page level logical mappings table can put in order this page level logical mappings table when reaching the threshold value that presets, concrete Collator Mode can for:
At first obtain the data page to be put in order that belongs to same data block, data in valid data in this data block and the data page to be put in order are merged, concrete merging can realize by the COPY_BACK operation, be understandable that, can adopt other similar operation to realize that data merge, and do not limit herein in actual applications equally.
After merging is finished, the copying data after merging to blank block, is deleted the list item of data page to be put in order simultaneously in page or leaf level logical mappings table.
By above-mentioned housekeeping operation, can the data in the data block under the data in the data page and this data page be merged, thereby reduced the quantity of data page, promptly reduced the content in the page or leaf level logical mappings table.
Need to prove that above-mentioned Collator Mode only for an example of arrangement page or leaf level logical mappings table, in actual applications, can also adopt other Collator Mode equally, does not limit herein.
In the present embodiment, owing to after satisfying the update condition preset, just the data block at invalid page or leaf place is upgraded, then can guarantee need not when each Data Update, all data block to be wiped, thereby saved the flow process of Data Update, improved the performance of data random writings;
Secondly, owing to adopt the storage mode of binary tree in the present embodiment, therefore can improve the search efficiency of page or leaf level logical mappings table effectively as page or leaf level logical mappings table;
Once more, owing to can put in order page or leaf level logical mappings table in the present embodiment, therefore can reduce taking of system resource effectively.
In sum, in the present embodiment, owing to there is the page or leaf level logical mappings table that presets, and the physical address that includes each data page in this page level logical mappings table, logical address, and the incidence relation between each data page, so when the content of a certain data page is upgraded, only need in this page level logical mappings table, replace the renewal that can realize data to the physical address of this data page, and need not to wipe the whole data block at this data page place, so present embodiment can utilize this page level logical mappings table to improve the performance of data random writing.
Introduce another embodiment of flash memory data processing method in the embodiment of the invention below:
At first, need to prove, in the flash data storing process in the prior art, minimum storage cell is a data page, can also be that unit stores equally with the data block, but only establish the logical relation table between the data block in the prior art, be piece level logical mappings table, when the user need repeatedly store low volume data, may make each storage all take a data block, and most of space of this data block may remain blank, therefore can waste a large amount of storage spaces.
A kind of flash memory data processing method is provided in the embodiment of the invention, in order to address the aforementioned drawbacks, has specifically seen also Fig. 3, flash memory data processing method the 3rd embodiment comprises in the embodiment of the invention:
301, obtain the length information of data to be written;
When the user need write data, at first obtain the length of data to be written, the unit of this length can be a unit with the sector, supposes to comprise 64 data pages in the data block, comprises 4 sectors in each data page.
302, according to the number of a length information and a sector that data block comprised data to be written are split as piece progression and reach page or leaf level data according to this;
In the present embodiment, the length information of data to be written is converted to the corresponding required number of sectors L that takies (if data to be written were the unit computational length with the sector promptly originally, then need not conversion), concrete conversion regime does not limit herein;
Obtain the number N of a sector that data block comprised;
L and N are carried out rounding operation, determine piece level data according to the B as a result of rounding operation;
L and N are carried out complementation, according to the definite page or leaf level of the result of complementation data.
Suppose above-mentioned L=260, N=64*4=256, L div N=1 then, L mod N=4, B=1 then, then piece level data are the data that a complete Blank data block can be stored, page or leaf level data are the data that 4 sectors (i.e. data page) can be stored.
303,, write page or leaf level data and a page or leaf level logical mappings table that presets is upgraded according to the page or leaf writing mode according to piece writing mode write-in block level data.
For ease of understanding, at first introduce the flow process that sets in advance in the present embodiment below:
At first can set up four tables of data, be respectively:
Piece level logical mappings table: be used for the logical mappings relation of recording data blocks, logical address and physical address one-to-one relationship;
Page or leaf level logical mappings table: be used for the logical mappings relation of record data page or leaf, adopt the mode record of binary tree, comprise the logical address of data page, the incidence relation between physical address and each data page;
Piece erasing times tabulation: the erasing times that is used to write down each data block;
Not erase block tabulation: be used to write down the data block that is not wiped free of.
Need to prove that concrete piece level logical mappings table can be as shown in the table:
Table 1
Piece level mapping item Corresponding logical address Physical address corresponding
0 0*n 0x00000000
1 1*n 0x00000005
2 2*n 0x80000010
... ... ...
N N*n 0xFFFFFFFF
N+1 (N+1)*n 0xFFFFFFFF
... ... ...
In the above-mentioned table 1 each is realized that by 4 bytes each all identifies the logical address of a data block and the corresponding relation between the physical address.
Can carry out the write operation of data after finishing above-mentioned the setting, below piece level data be write and page or leaf level data write respectively and describe:
(1) piece level data write, specifically as shown in Figure 4:
A, from the Blank data block that presets, choose B Blank data block;
When system powers on, each data block traveled through to inquire the Blank data block that does not write data, perhaps can also wipe and obtain Blank data block the data block in the erase block tabulation not.
Need to prove, the number of times that before the data block during erase block is not tabulated is wiped, can also be wiped free of by each data block of piece erasing times list query earlier, preferential selection is wiped free of the few data block of number of times and wipes, so that the number of times that each data block is wiped free of is roughly suitable, thus the bulk life time of raising flash memory.
B, piece level data are write in B the Blank data block;
Above-mentionedly determined to need a Blank data block, then can read a part of data in order, made this part data just can fill full data block with the storage data, and with in this data block of this part data storage.
C, the logical address and the physical address of B Blank data block are inserted the piece level logical mappings table that presets;
After the data filling was finished, this data block was promptly preserved data, then the logical address and the physical address of this data block is inserted in the piece level logical mappings table, is used for indicating this data block to have data.
D, obtain ranges of logical addresses according to the logical address of B Blank data block;
The corresponding one section logical address of each data block, then this step is obtained the ranges of logical addresses of this data block correspondence.
E, in the page or leaf level logical mappings table that presets the list item of deletion logical address in this ranges of logical addresses.
Owing to be filled with data in this data block, store data in the data page that then can't continue to comprise in this data block, then can from page or leaf level logical mappings table, delete the list item of logical address in this ranges of logical addresses.
(2) piece level data write, specifically as shown in Figure 5:
A, from the Blank data block that presets, choose a Blank data block;
When system powers on, each data block traveled through to inquire the Blank data block that does not write data, perhaps can also wipe and obtain Blank data block the data block in the erase block tabulation not.
Need to prove, the number of times that before the data block during erase block is not tabulated is wiped, can also be wiped free of by each data block of piece erasing times list query earlier, preferential selection is wiped free of the few data block of number of times and wipes, so that the number of times that each data block is wiped free of is roughly suitable, thus the bulk life time of raising flash memory.
B, page or leaf level data are write data page in this Blank data block in order;
By above-mentioned steps 302 as can be known, write the space that page or leaf level data need 4 sectors (i.e. data page) altogether, it is consistent to be according to data page that unit writes the process of data in the process that specifically writes page or leaf grade data and the prior art, does not limit herein.
C, in the page or leaf level logical mappings table that presets, write the logical address of the data page that has this page level data in this Blank data block, the incidence relation between physical address and this data page and other data pages;
When page or leaf level data write finish after, then this data page promptly has data, then can in page or leaf level logical mappings table, increase a node newly, be used to represent this data page, concrete newly-increased process can be the logical address and the physical address that obtain this data page, and determine the left sibling and the right node of this data page according to the relation between the data of storing in this data page and other data, form new node afterwards and insert in the page or leaf level logical mappings table.
D, in the piece level logical mappings table that presets, revise the sign of Blank data block, be used for indicating this Blank data block to have a page or leaf level logical mappings table.
In the present embodiment, after writing data in certain data page in a certain Blank data block, then only can't completely read the content of this data block by piece level logical mappings table, the page or leaf level logical mappings table that then also need read this data block can completely read the content of this data block, therefore, need in piece level logical mappings table, adjust, specifically the most significant digit of the physical address corresponding of this data block can be revised as 1 to make a check mark the physical address of this data block.
For example the physical address of the data block shown in the list item " 2 " is 0x80000010 in the table 1, being converted into binary number is: 1,000 0,000 0,000 0,000 0,000 0,000 0,000 0,001 0000, then its most significant digit is 1, represent that this data block includes page or leaf level logical mappings table, when reading the content of this data block, need read the content that page or leaf level logical mappings table can intactly obtain this data block simultaneously.
In the present embodiment, owing to be provided with page or leaf level logical mappings table, then may take certain system resource, for reducing resource occupation, when system is idle, or the resource that takies of this page level logical mappings table can be put in order this page level logical mappings table when reaching the threshold value that presets, concrete Collator Mode is consistent with the Collator Mode in the previous embodiment, repeats no more herein.
In the present embodiment, because data to be written can be split as piece progression and reach page or leaf level data according to this, therefore can be in the write-once process distribute data piece and data page carry out data and write simultaneously, avoid low volume data to take the situation of a full block of data, thereby saved storage space;
Secondly, in the present embodiment, can write down the number of times that each data block is wiped free of, and preferentially select to be wiped free of the few data block of number of times and wipe, so that the number of times that each data block is wiped free of is roughly suitable, thus the bulk life time of raising flash memory;
Once more, owing to can put in order page or leaf level logical mappings table in the present embodiment, therefore can reduce taking of system resource effectively.
In sum, in the present embodiment, owing to there is the page or leaf level logical mappings table that presets, and the physical address that includes each data page in this page level logical mappings table, logical address, and the incidence relation between each data page, so when writing page or leaf level data to Blank data block, can be in the page or leaf level logical mappings table of this Blank data block correspondingly increase corresponding list item, thereby make the page or leaf level data that to store several data pages in this Blank data block, therefore and the data that each data page can not occur all need independently to take the situation of a data block, conserve storage effectively.
Introduce two kinds of flash memory data processing methods in the foregoing description and all be based on the page or leaf level logical mappings table that presets page or leaf level data (comprising that the page or leaf progression of storing in the flash memory reaches the page or leaf level data that write to flash memory according to this) are managed, therefore can improve the performance that flash data is handled effectively.
Below the flash memory data processing device in the embodiment of the invention is introduced:
See also Fig. 6, flash memory data processing device first embodiment comprises in the embodiment of the invention:
Source data query unit 601 is used for according to the target data inquiry source data to be updated that gets access to;
Writing unit 602 is used for described target data is write first data page that presets Blank data block;
Mark unit 603, the data page that is used for described source data place is labeled as invalid page or leaf;
Replace unit 604, described invalid page list item of the page or leaf level logical mappings table that is used for presetting replaces with the list item of described first data page.
Flash memory data processing device in the present embodiment can further include:
Upgrade trigger element 605, be used to judge whether to satisfy the update condition that presets, if then trigger updating block and carry out corresponding operating;
Updating block 606 is used under the triggering of described renewal trigger element, according to the target data in described first data page data block at described invalid page or leaf place is upgraded.
Renewal trigger element 605 in the present embodiment comprises:
First trigger element 6051, whether the number that is used for invalid page or leaf in the judgment data piece reaches default value, if then trigger updating block and carry out corresponding operating;
Or,
Second trigger element 6052 is used to judge the current idle condition that whether is in, if then trigger updating block and carry out corresponding operating.
Updating block 606 in the present embodiment comprises:
Data updating unit 6061, be used for the data in described data block other data pages except that invalid page or leaf are saved in buffer memory, described data block is wiped, obtain the target data in described first data page, will comprise the data content of preserving in the modification page or leaf of described target data and the buffer memory and write in the data block after described the wiping;
Mapping table updating block 6062, the list item of described first data page of the page or leaf level logical mappings table that is used for presetting replaces with the list item of described modification page or leaf.
Flash memory data processing device in the present embodiment can further include:
Blank data block search unit 607, be used for when system powers on, each physical data block is traveled through, inquire about not the physical data block of record data and the physical data block that has been wiped free of, with the physical data block of described not record data and the physical data block that has been wiped free of as presetting Blank data block.
Flash memory data processing device in the present embodiment can further include:
Mapping table generation unit 608 is used for setting up page or leaf level logical mappings table, comprises the logical address of the data page that respectively has data in the described page or leaf level logical mappings table, the incidence relation between physical address and this data page and other data pages.
Flash memory data processing device in the present embodiment can further include:
Mapping table arrangement unit 609 is used for described page or leaf level logical mappings table is put in order.
In the present embodiment, writing unit 602 writes target data in first data page that presets Blank data block, mark unit 603 is labeled as invalid page or leaf with the data page at source data place, the list item of replacing the invalid page or leaf in the page or leaf level logical mappings table that will preset unit 604 replaces with the list item of first data page, therefore, in the process of Data Update, need not the data block at invalid page or leaf place is wiped, and directly adopt alternative this invalid page or leaf of first data page in the Blank data block to carry out data storage, therefore save the operation of Data Update, thereby improved the performance of data random writings.
See also Fig. 7, flash memory data processing device second embodiment comprises in the embodiment of the invention:
Length information acquiring unit 701 is used to obtain the length information of data to be written;
Data split cells 702 is used for according to the number of a described length information and a sector that data block comprised described data to be written being split as piece progression and reaches page or leaf level data according to this;
Data write unit 703 is used for writing described level data according to the piece writing mode, writes described page or leaf level data according to the page or leaf writing mode.
Data write unit 703 in the present embodiment comprises:
Piece writing unit 7031, be used for choosing B Blank data block from the Blank data block that presets, described level data are write in the described B Blank data block, the logical address and the physical address of a described B Blank data block are inserted the piece level logical mappings table that presets, logical address according to a described B Blank data block is obtained ranges of logical addresses, the list item of deletion logical address in described ranges of logical addresses in the page or leaf level logical mappings table that presets;
Page or leaf writing unit 7032, be used for choosing a Blank data block M from the Blank data block that presets, described page or leaf level data are write data page among the described Blank data block M in order, in the page or leaf level logical mappings table that presets, write the described logical address that has the data page of data, incidence relation between physical address and this data page and other data pages, in the piece level logical mappings table that presets, revise the sign of described Blank data block M, be used for indicating described Blank data block M to have page or leaf level logical mappings table.
In the present embodiment, because data to be written can be split as piece progression by data split cells 702 and reach page or leaf level data according to this, and write respectively by piece writing unit 7031 in the data write unit 703 and page or leaf writing unit 7032, therefore can be in the write-once process distribute data piece and data page carry out data and write simultaneously, avoid low volume data to take the situation of a full block of data, thereby saved storage space.
One of ordinary skill in the art will appreciate that all or part of step that realizes in the foregoing description method is to instruct relevant hardware to finish by program, described program can be stored in a kind of computer-readable recording medium, this program comprises the steps: when carrying out
According to the target data inquiry source data to be updated that gets access to;
Described target data is write in first data page that presets Blank data block, the data page at described source data place is labeled as invalid page or leaf;
The list item of the described invalid page or leaf in the page or leaf level logical mappings table that presets is replaced with the described list item that presets first data page of Blank data block.
The above-mentioned storage medium of mentioning can be a ROM (read-only memory), disk or CD etc.
More than a kind of flash memory data processing method provided by the present invention and device are described in detail, for one of ordinary skill in the art, thought according to the embodiment of the invention, part in specific embodiments and applications all can change, in sum, this description should not be construed as limitation of the present invention.

Claims (25)

1、一种闪存数据处理方法,其特征在于,包括:1. A flash memory data processing method, characterized in that, comprising: 根据获取到的目标数据查询待更新的源数据;Query the source data to be updated according to the acquired target data; 将所述目标数据写入预置空白数据块的第一数据页中,将所述源数据所在的数据页标注为无效页;writing the target data into the first data page of the preset blank data block, and marking the data page where the source data is located as an invalid page; 将预置的页级逻辑映射表中的所述无效页的表项替换为所述预置空白数据块的第一数据页的表项。and replacing the entry of the invalid page in the preset page-level logical mapping table with the entry of the first data page of the preset blank data block. 2、根据权利要求1所述的方法,其特征在于,所述将预置的页级逻辑映射表中的所述无效页的表项替换为所述第一数据页的表项之后包括:2. The method according to claim 1, wherein after replacing the entry of the invalid page in the preset page-level logical mapping table with the entry of the first data page, the step comprises: 判断是否满足预置的更新条件,若是,则根据所述第一数据页中的目标数据对所述无效页所在的数据块进行更新。Judging whether the preset update condition is satisfied, if yes, updating the data block where the invalid page is located according to the target data in the first data page. 3、根据权利要求2所述的方法,其特征在于,所述判断是否满足预置的更新条件包括:3. The method according to claim 2, wherein the judging whether a preset update condition is satisfied comprises: 判断数据块内无效页的数目是否达到预置数值,若是,则确定满足预置的更新条件。It is judged whether the number of invalid pages in the data block reaches a preset value, and if so, it is determined that a preset update condition is met. 4、根据权利要求2所述的方法,其特征在于,所述判断是否满足预置的更新条件包括:4. The method according to claim 2, wherein said judging whether a preset update condition is satisfied comprises: 判断当前是否处于空闲状态,若是,则确定满足预置的更新条件。It is judged whether it is currently in an idle state, and if so, it is determined that the preset update condition is met. 5、根据权利要求2或3或4所述的方法,其特征在于,所述根据所述第一数据页中的目标数据对所述无效页所在的数据块进行更新包括:5. The method according to claim 2, 3 or 4, wherein updating the data block where the invalid page is located according to the target data in the first data page comprises: 将所述数据块中除无效页外的其他数据页中的数据保存到缓存;Save the data in other data pages in the data block except the invalid page to the cache; 对所述数据块进行擦除;Erase the data block; 获取所述第一数据页中的目标数据;Acquiring the target data in the first data page; 将所述目标数据写入所述无效页中得到修改页;Writing the target data into the invalid page to obtain a modified page; 将包含所述目标数据的修改页以及缓存中保存的数据内容写入所述擦除之后的数据块中;Writing the modified page containing the target data and the data content stored in the cache into the data block after the erasure; 将预置的页级逻辑映射表中的所述第一数据页的表项替换为所述修改页的表项。and replacing the entry of the first data page in the preset page-level logical mapping table with the entry of the modified page. 6、根据权利要求1至4中任一项所述的方法,其特征在于,所述将预置的页级逻辑映射表中的所述无效页的表项替换为所述第一数据页的表项包括:6. The method according to any one of claims 1 to 4, wherein the entry of the invalid page in the preset page-level logical mapping table is replaced with the entry of the first data page Table items include: 查询所述无效页所在的表项;Query the table entry where the invalid page is located; 将所述表项中的物理地址修改为所述第一数据页的物理地址;modifying the physical address in the entry to the physical address of the first data page; 保留所述表项原有的关联信息,所述关联信息用于表示所述表项与其他表项之间的关联关系。The original association information of the entry is retained, and the association information is used to represent the association relationship between the entry and other entries. 7、根据权利要求1至4中任一项所述的方法,其特征在于,所述预置空白数据块的获取过程包括:7. The method according to any one of claims 1 to 4, characterized in that the acquisition process of the preset blank data block comprises: 当系统上电时,对各物理数据块进行遍历;When the system is powered on, traverse each physical data block; 查询未记录数据的物理数据块以及已被擦除的物理数据块;Query the physical data blocks of unrecorded data and the physical data blocks that have been erased; 将所述未记录数据的物理数据块以及已被擦除的物理数据块作为预置空白数据块。The physical data blocks that have not recorded data and the physical data blocks that have been erased are used as preset blank data blocks. 8、根据权利要求1至4中任一项所述的方法,其特征在于,建立所述预置的页级逻辑映射表包括:8. The method according to any one of claims 1 to 4, wherein establishing the preset page-level logical mapping table comprises: 获取各存有数据的数据页的逻辑地址,物理地址以及该数据页与其他数据页之间的关联关系;Obtain the logical address and physical address of each data page storing data, as well as the association between the data page and other data pages; 根据所述各存有数据的数据页的逻辑地址,物理地址以及该数据页与其他数据页之间的关联关系建立所述页级逻辑映射表。The page-level logical mapping table is established according to the logical address and physical address of each data page storing data and the association relationship between the data page and other data pages. 9、根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:9. The method according to any one of claims 1 to 4, further comprising: 对所述页级逻辑映射表进行整理。Organize the page-level logical mapping table. 10、根据权利要求9所述的方法,其特征在于,所述对页级逻辑映射表进行整理包括:10. The method according to claim 9, wherein the sorting the page-level logical mapping table comprises: 确定属于同一数据块的待整理的数据页;Determine the data pages to be organized belonging to the same data block; 将获取的属于同一数据块的有效数据以及待整理的数据页中的数据进行合并;Merge the obtained valid data belonging to the same data block and the data in the data page to be sorted; 将合并后的数据拷贝至空白数据块中,并在所述页级逻辑映射表中删除所述待整理的数据页的表项。Copy the merged data into a blank data block, and delete the entry of the data page to be sorted in the page-level logical mapping table. 11、一种闪存数据处理方法,其特征在于,包括:11. A flash memory data processing method, comprising: 获取待写入数据的长度信息;Obtain the length information of the data to be written; 根据所述长度信息以及一个数据块所包含的扇区的数目将所述待写入数据拆分为块级数据以及页级数据;Splitting the data to be written into block-level data and page-level data according to the length information and the number of sectors included in a data block; 按照块写入方式写入所述块级数据,按照页写入方式写入所述页级数据并对预置的页级逻辑映射表进行更新。Writing the block-level data in a block writing manner, writing the page-level data in a page writing manner, and updating a preset page-level logical mapping table. 12、根据权利要求11所述的方法,其特征在于,所述根据长度信息以及一个数据块所包含的扇区的数目将所述待写入数据拆分为块级数据以及页级数据包括:12. The method according to claim 11, wherein the splitting the data to be written into block-level data and page-level data according to the length information and the number of sectors contained in a data block comprises: 将所述待写入数据的长度信息转换为对应所需占用的扇区数目L;Converting the length information of the data to be written into the number L of sectors corresponding to the required occupation; 获取一个数据块所包含的扇区的数目N;Obtain the number N of sectors contained in a data block; 将所述L与N进行取整运算,根据所述取整运算的结果B确定块级数据;performing a rounding operation on the L and N, and determining block-level data according to the result B of the rounding operation; 将所述L与N进行取余运算,根据所述取余运算的结果确定页级数据。A remainder operation is performed on the L and N, and page-level data is determined according to a result of the remainder operation. 13、根据权利要求11所述的方法,其特征在于,所述按照块写入方式写入所述块级数据包括:13. The method according to claim 11, wherein the writing of the block-level data in a block writing manner comprises: 从预置的空白数据块中选取所述B个空白数据块;Selecting the B blank data blocks from the preset blank data blocks; 将所述块级数据写入所述B个空白数据块中;writing the block-level data into the B blank data blocks; 将所述B个空白数据块的逻辑地址以及物理地址填入预置的块级逻辑映射表。Filling the logical addresses and physical addresses of the B blank data blocks into a preset block-level logical mapping table. 14、根据权利要求13所述的方法,其特征在于,所述将B个空白数据块的逻辑地址以及物理地址填入预置的块级逻辑映射表之后包括:14. The method according to claim 13, characterized in that, after filling the logical addresses and physical addresses of the B blank data blocks into the preset block-level logical mapping table, it comprises: 根据所述B个空白数据块的逻辑地址获取逻辑地址范围;Acquiring a logical address range according to the logical addresses of the B blank data blocks; 在预置的页级逻辑映射表中删除逻辑地址在所述逻辑地址范围内的表项。Deleting entries with logical addresses within the logical address range in the preset page-level logical mapping table. 15、根据权利要求11所述的方法,其特征在于,所述按照页写入方式写入所述页级数据并对预置的页级逻辑映射表进行更新包括:15. The method according to claim 11, wherein the writing the page-level data according to the page writing method and updating the preset page-level logical mapping table comprises: 从预置的空白数据块中选取一个空白数据块M;Select a blank data block M from the preset blank data blocks; 将所述页级数据按顺序写入所述空白数据块M中的数据页;Writing the page-level data into data pages in the blank data block M in sequence; 在预置的页级逻辑映射表中写入所述空白数据块M中的所述页级数据的数据页的逻辑地址,物理地址以及该数据页与其他数据页之间的关联关系;Write the logical address of the data page of the page-level data in the blank data block M in the preset page-level logical mapping table, the physical address and the association relationship between the data page and other data pages; 在预置的块级逻辑映射表中修改所述空白数据块M的标志,用于指示所述空白数据块M中存在页级逻辑映射表。Modifying the flag of the blank data block M in the preset block-level logical mapping table is used to indicate that the page-level logical mapping table exists in the blank data block M. 16、根据权利要求12至15中任一项所述的方法,其特征在于,建立所述预置的页级逻辑映射表包括:16. The method according to any one of claims 12 to 15, wherein establishing the preset page-level logical mapping table comprises: 获取各存有数据的数据页的逻辑地址,物理地址以及该数据页与其他数据页之间的关联关系;Obtain the logical address and physical address of each data page storing data, as well as the association between the data page and other data pages; 根据所述各存有数据的数据页的逻辑地址,物理地址以及该数据页与其他数据页之间的关联关系建立所述页级逻辑映射表。The page-level logical mapping table is established according to the logical address and physical address of each data page storing data and the association relationship between the data page and other data pages. 17、一种闪存数据处理装置,其特征在于,包括:17. A flash memory data processing device, comprising: 源数据查询单元,用于根据获取到的目标数据查询待更新的源数据;a source data query unit, configured to query the source data to be updated according to the acquired target data; 写入单元,用于将所述目标数据写入预置空白数据块的第一数据页中;a writing unit, configured to write the target data into the first data page of the preset blank data block; 标注单元,用于所述源数据所在的数据页标注为无效页;A marking unit, used to mark the data page where the source data is located as an invalid page; 替换单元,用于将预置的页级逻辑映射表中的所述无效页的表项替换为所述预置空白数据块的第一数据页的表项。A replacement unit, configured to replace the entry of the invalid page in the preset page-level logical mapping table with the entry of the first data page of the preset blank data block. 18、根据权利要求17所述的装置,其特征在于,所述装置还包括:18. The device of claim 17, further comprising: 更新触发单元,用于判断是否满足预置的更新条件,若是,则触发更新单元执行相应操作;The update trigger unit is used to judge whether the preset update condition is satisfied, and if so, trigger the update unit to perform the corresponding operation; 更新单元,用于在所述更新触发单元的触发下,根据所述第一数据页中的目标数据对所述无效页所在的数据块进行更新。An update unit, configured to update the data block where the invalid page is located according to the target data in the first data page under the trigger of the update trigger unit. 19、根据权利要求18所述的装置,其特征在于,所述更新触发单元包括:19. The device according to claim 18, wherein the update trigger unit comprises: 第一触发单元,用于判断数据块内无效页的数目是否达到预置数值,若是,则触发更新单元执行相应操作;The first trigger unit is used to judge whether the number of invalid pages in the data block reaches a preset value, and if so, trigger the update unit to perform corresponding operations; 或,or, 第二触发单元,用于判断当前是否处于空闲状态,若是,则触发更新单元执行相应操作。The second trigger unit is used to judge whether it is currently in an idle state, and if so, trigger the update unit to perform a corresponding operation. 20、根据权利要求17或18或19所述的装置,其特征在于,所述更新单元包括:20. The device according to claim 17 or 18 or 19, wherein the updating unit comprises: 数据更新单元,用于将所述数据块中除无效页外的其他数据页中的数据保存到缓存,对所述数据块进行擦除,获取所述第一数据页中的目标数据,将所述目标数据写入所述无效页中得到修改页,将包含所述目标数据的修改页以及缓存中保存的数据内容写入所述擦除之后的数据块中;A data updating unit, configured to store data in other data pages in the data block except the invalid page in the cache, erase the data block, obtain target data in the first data page, and store the data in the first data page. Writing the target data into the invalid page to obtain a modified page, writing the modified page containing the target data and the data content stored in the cache into the data block after the erasing; 映射表更新单元,用于将预置的页级逻辑映射表中的所述第一数据页的表项替换为所述修改页的表项。A mapping table updating unit, configured to replace the entry of the first data page in the preset page-level logical mapping table with the entry of the modified page. 21、根据权利要求17或18或19所述的装置,其特征在于,所述装置还包括:21. The device according to claim 17, 18 or 19, further comprising: 空白数据块搜索单元,用于当系统上电时,对各物理数据块进行遍历,查询未记录数据的物理数据块以及已被擦除的物理数据块,将所述未记录数据的物理数据块以及已被擦除的物理数据块作为预置空白数据块。The blank data block search unit is used to traverse each physical data block when the system is powered on, query the physical data blocks of unrecorded data and the physical data blocks that have been erased, and search the physical data blocks of unrecorded data And the physical data block that has been erased is used as a preset blank data block. 22、根据权利要求17或18或19所述的装置,其特征在于,所述装置还包括:22. The device according to claim 17, 18 or 19, further comprising: 映射表生成单元,用于建立页级逻辑映射表,所述页级逻辑映射表中包含各存有数据的数据页的逻辑地址,物理地址以及该数据页与其他数据页之间的关联关系。The mapping table generation unit is used to establish a page-level logical mapping table, which includes the logical address and physical address of each data page storing data, and the association relationship between the data page and other data pages. 23、根据权利要求17或18或19所述的装置,其特征在于,所述装置还包括:23. The device according to claim 17, 18 or 19, further comprising: 映射表整理单元,用于对所述页级逻辑映射表进行整理。The mapping table organizing unit is configured to organize the page-level logical mapping table. 24、一种闪存数据处理装置,其特征在于,包括:24. A flash memory data processing device, comprising: 长度信息获取单元,用于获取待写入数据的长度信息;a length information acquisition unit, configured to acquire length information of the data to be written; 数据拆分单元,用于根据所述长度信息以及一个数据块所包含的扇区的数目将所述待写入数据拆分为块级数据以及页级数据;A data splitting unit, configured to split the data to be written into block-level data and page-level data according to the length information and the number of sectors included in a data block; 数据写入单元,用于按照块写入方式写入所述块级数据,按照页写入方式写入所述页级数据并对预置的页级逻辑映射表进行更新。The data writing unit is configured to write the block-level data in a block writing manner, write the page-level data in a page writing manner, and update a preset page-level logical mapping table. 25、根据权利要求24所述的装置,其特征在于,所述数据写入单元包括:25. The device according to claim 24, wherein the data writing unit comprises: 块写入单元,用于从预置的空白数据块中选取B个空白数据块,将所述块级数据写入所述B个空白数据块中,将所述B个空白数据块的逻辑地址以及物理地址填入预置的块级逻辑映射表,根据所述B个空白数据块的逻辑地址获取逻辑地址范围,在预置的页级逻辑映射表中删除逻辑地址在所述逻辑地址范围内的表项;The block writing unit is used to select B blank data blocks from the preset blank data blocks, write the block-level data into the B blank data blocks, and write the logical addresses of the B blank data blocks And the physical address is filled into the preset block-level logical mapping table, the logical address range is obtained according to the logical addresses of the B blank data blocks, and the logical address within the logical address range is deleted in the preset page-level logical mapping table table entry; 页写入单元,用于从预置的空白数据块中选取一个空白数据块M,将所述页级数据按顺序写入所述空白数据块M中的数据页,在预置的页级逻辑映射表中写入所述空白数据块M中存有所述页级数据的数据页的逻辑地址,物理地址以及该数据页与其他数据页之间的关联关系,在预置的块级逻辑映射表中修改所述空白数据块M的标志,用于指示所述空白数据块M中存在页级逻辑映射表。The page writing unit is used to select a blank data block M from the preset blank data blocks, and write the page-level data into the data pages in the blank data block M in sequence, in the preset page-level logic In the mapping table, the logical address of the data page storing the page-level data in the blank data block M, the physical address, and the association between the data page and other data pages are written in the preset block-level logical mapping Modifying the flag of the blank data block M in the table is used to indicate that a page-level logical mapping table exists in the blank data block M.
CN2009100055431A 2009-01-19 2009-01-19 Flash memory data processing method and device Expired - Fee Related CN101493794B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100055431A CN101493794B (en) 2009-01-19 2009-01-19 Flash memory data processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100055431A CN101493794B (en) 2009-01-19 2009-01-19 Flash memory data processing method and device

Publications (2)

Publication Number Publication Date
CN101493794A true CN101493794A (en) 2009-07-29
CN101493794B CN101493794B (en) 2011-12-21

Family

ID=40924402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100055431A Expired - Fee Related CN101493794B (en) 2009-01-19 2009-01-19 Flash memory data processing method and device

Country Status (1)

Country Link
CN (1) CN101493794B (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779095A (en) * 2011-05-09 2012-11-14 索尼公司 Flash memory device, memory control device, memory control method, and storage system
CN102799535A (en) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 Solid-state disk and data processing method thereof
CN102841851A (en) * 2012-07-19 2012-12-26 深圳市江波龙电子有限公司 Flash memory management method and flash memory device
CN103176910A (en) * 2011-12-26 2013-06-26 群联电子股份有限公司 Data combination method, controller and storage device for non-volatile memory
CN103365786A (en) * 2012-04-01 2013-10-23 国民技术股份有限公司 Data storage method, device and system
CN103761193A (en) * 2013-12-17 2014-04-30 记忆科技(深圳)有限公司 Method and system for inhibiting production of logical page fragments
CN104238962A (en) * 2014-09-16 2014-12-24 华为技术有限公司 Method and device for writing data into cache
CN105718383A (en) * 2014-12-19 2016-06-29 爱思开海力士有限公司 Memory System And Operating Method Thereof
CN105760776A (en) * 2016-02-04 2016-07-13 联想(北京)有限公司 Data processing method and electronic equipment
CN106598504A (en) * 2016-12-26 2017-04-26 华为机器有限公司 Data storage method and device
CN107844431A (en) * 2017-11-03 2018-03-27 合肥兆芯电子有限公司 Map table updating method, memorizer control circuit unit and memory storage apparatus
CN108334457A (en) * 2018-02-12 2018-07-27 杭州宏杉科技股份有限公司 A kind of I O process method and device
CN111324290A (en) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 Memory device
CN111427511A (en) * 2020-03-10 2020-07-17 青岛小鸟看看科技有限公司 Data storage method and device
CN111638852A (en) * 2014-12-31 2020-09-08 华为技术有限公司 Method for writing data into solid state disk and solid state disk
CN112799972A (en) * 2021-01-27 2021-05-14 成都佰维存储科技有限公司 Implementation method and device of SSD mapping table, readable storage medium and electronic equipment
CN112988038A (en) * 2019-12-17 2021-06-18 国民技术股份有限公司 Data writing method of nonvolatile memory, terminal and readable storage medium
CN113039529A (en) * 2018-11-15 2021-06-25 美光科技公司 Address obfuscation for memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4199519B2 (en) * 2002-11-05 2008-12-17 パナソニック株式会社 Memory management device and memory management method
CN100470677C (en) * 2004-07-30 2009-03-18 深圳市朗科科技股份有限公司 How to Improve the Data Writing Speed of Flash Disk
CN100356347C (en) * 2006-04-29 2007-12-19 北京飞天诚信科技有限公司 Safety writing method for flash memory

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779095A (en) * 2011-05-09 2012-11-14 索尼公司 Flash memory device, memory control device, memory control method, and storage system
CN102779095B (en) * 2011-05-09 2017-03-01 索尼公司 Flash memory device, storage control device, memory control methods and storage system
CN103176910A (en) * 2011-12-26 2013-06-26 群联电子股份有限公司 Data combination method, controller and storage device for non-volatile memory
CN103176910B (en) * 2011-12-26 2015-10-14 群联电子股份有限公司 Data combination method, controller and storage device for non-volatile memory
CN103365786A (en) * 2012-04-01 2013-10-23 国民技术股份有限公司 Data storage method, device and system
CN103365786B (en) * 2012-04-01 2016-12-14 国民技术股份有限公司 Date storage method, device and system
CN102799535A (en) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 Solid-state disk and data processing method thereof
CN102841851A (en) * 2012-07-19 2012-12-26 深圳市江波龙电子有限公司 Flash memory management method and flash memory device
CN102841851B (en) * 2012-07-19 2015-09-09 深圳市江波龙电子有限公司 Flash memory management method and flash memory device
CN103761193B (en) * 2013-12-17 2016-09-14 记忆科技(深圳)有限公司 The method and system that suppression logical page (LPAGE) fragment produces
CN103761193A (en) * 2013-12-17 2014-04-30 记忆科技(深圳)有限公司 Method and system for inhibiting production of logical page fragments
CN104238962A (en) * 2014-09-16 2014-12-24 华为技术有限公司 Method and device for writing data into cache
CN104238962B (en) * 2014-09-16 2018-02-06 华为技术有限公司 The method and device of data is write into caching
CN105718383B (en) * 2014-12-19 2020-10-13 爱思开海力士有限公司 Storage system and operation method thereof
CN105718383A (en) * 2014-12-19 2016-06-29 爱思开海力士有限公司 Memory System And Operating Method Thereof
CN111638852A (en) * 2014-12-31 2020-09-08 华为技术有限公司 Method for writing data into solid state disk and solid state disk
CN105760776A (en) * 2016-02-04 2016-07-13 联想(北京)有限公司 Data processing method and electronic equipment
CN106598504A (en) * 2016-12-26 2017-04-26 华为机器有限公司 Data storage method and device
CN107844431A (en) * 2017-11-03 2018-03-27 合肥兆芯电子有限公司 Map table updating method, memorizer control circuit unit and memory storage apparatus
CN108334457B (en) * 2018-02-12 2020-06-30 杭州宏杉科技股份有限公司 A kind of IO processing method and device
CN108334457A (en) * 2018-02-12 2018-07-27 杭州宏杉科技股份有限公司 A kind of I O process method and device
CN113039529A (en) * 2018-11-15 2021-06-25 美光科技公司 Address obfuscation for memory
US11853230B2 (en) 2018-11-15 2023-12-26 Micron Technology, Inc. Address obfuscation for memory
CN111324290A (en) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 Memory device
CN112988038A (en) * 2019-12-17 2021-06-18 国民技术股份有限公司 Data writing method of nonvolatile memory, terminal and readable storage medium
CN112988038B (en) * 2019-12-17 2024-08-06 国民技术股份有限公司 Data writing method of nonvolatile memory, terminal and readable storage medium
CN111427511A (en) * 2020-03-10 2020-07-17 青岛小鸟看看科技有限公司 Data storage method and device
CN111427511B (en) * 2020-03-10 2023-10-27 青岛小鸟看看科技有限公司 Data storage method and device
CN112799972A (en) * 2021-01-27 2021-05-14 成都佰维存储科技有限公司 Implementation method and device of SSD mapping table, readable storage medium and electronic equipment

Also Published As

Publication number Publication date
CN101493794B (en) 2011-12-21

Similar Documents

Publication Publication Date Title
CN101493794A (en) Flash memory data processing method and device
US10657047B2 (en) Data storage device and method of performing partial garbage collection
US8250286B2 (en) Block management method, and storage system and controller using the same
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
US20030229753A1 (en) Flash memory file system
TWI398770B (en) Data accessing method for flash memory and storage system and controller using the same
KR100725390B1 (en) Apparatus and method for storing data in nonvolatile cache in consideration of modification frequency
US7783845B2 (en) Structures for the management of erase operations in non-volatile memories
US7624239B2 (en) Methods for the management of erase operations in non-volatile memories
US7558906B2 (en) Methods of managing blocks in nonvolatile memory
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
TWI494922B (en) Write and merge methods in memory card systems for reducing the number of page copies
CN106527969B (en) A life-balanced NandFlash memory reading and writing method
US20040210706A1 (en) Method for managing flash memory
JP2008103071A (en) Nonvolatile memory device and method of operating the same
CN103365786B (en) Date storage method, device and system
CN101937319A (en) Memory system and its mapping method
US9507523B1 (en) Methods, devices and systems for variable size logical page management in a solid state drive
EP3752905A1 (en) Append only streams for storing data on a solid state device
US20100318726A1 (en) Memory system and memory system managing method
CN112882650A (en) Data storage device and non-volatile memory control method
US8261013B2 (en) Method for even utilization of a plurality of flash memory chips
CN112882649A (en) Data storage device and non-volatile memory control method
CN106354658A (en) Method for reducing memory resource occupation of mapping tables in hybrid mapping algorithm
CN118426698B (en) Data storage method, device, medium and storage equipment of flash memory unit

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: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220908

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111221