CN104102587A - NVM (non-volatile memory) data processing method and device - Google Patents
NVM (non-volatile memory) data processing method and device Download PDFInfo
- Publication number
- CN104102587A CN104102587A CN201410325900.3A CN201410325900A CN104102587A CN 104102587 A CN104102587 A CN 104102587A CN 201410325900 A CN201410325900 A CN 201410325900A CN 104102587 A CN104102587 A CN 104102587A
- Authority
- CN
- China
- Prior art keywords
- data
- coding
- binary data
- nvm
- bit binary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
The invention relates to a NVM (non-volatile memory) data processing method and device. The NVM data processing method includes: according to statistical information about usage of pre-mapping N-bit binary data combination stored in an NVM, establishing a mapping table from the pre-mapping N-bit binary data combination to a post-mapping N-bit binary data combination, with N being an integer larger than 1; when source data is written into the NVM, subjecting the source data to first encoding according to the mapping tables; writing encoded data into the NVM, with predetermined binary data, in the data written into the NVM, being less than that in the source data; when the data is read from the NVM, subjecting the data, read from the NVM, to first decoding, corresponding to the first encoding, according to the mapping tables. The NVM data processing method and device has the advantages that the requirement on selectivity of the data written into the NVM can be met.
Description
Technical field
The present invention relates to memory area, relate in particular to a kind of NVM data processing method and device.
Background technology
(Non-volatile memory is called for short: NVM) as the requisite memory device of computing machine, institute's process information is played to important memory function nonvolatile memory.For a long time, due to its less unit size and good serviceability.Common NVM has eeprom, and (Electrically Erasable Programmable Read Only Memory is called for short: EEPROM) and flash memory (Flash Memory, abbreviation: Flash).
In some cases, for many-sided consideration, to writing the data of NVM, there is selectivity, require to write " 0 " as much as possible or " 1 " in NVM.Below by an example, a kind of situation is described.
As shown in Figure 1, structural representation for the storage unit of EEPROM in prior art, the storage unit of EEPROM (bit well) comprising: substrate 11, source region 12, drain region 13, floating boom 14, control gate 15 and insulating medium 16, electronics e penetrates or passes floating boom 14 by tunnelling principle, thereby realizes writing or wiping of data, particularly, while carrying out erase operation, the electronics in drain region 13 arrives floating boom by tunnel, and while carrying out write operation, the electronics of floating boom storage discharges by tunnel.As shown in Figure 2, structural representation for the storage unit of flash memory in prior art, the storage unit of flash memory also comprises substrate 11, source region 12, drain region 13, floating boom 14, control gate 15 and insulating medium 16, the method data writing that flash memory adopts Avalanche Hot-Electron to inject, wipe adopt tunneling effect the same as EEPROM, when carrying out erase operation, the electronics on floating boom 14 is pulled into source region 12, when carrying out write operation, drain region 13 produces thermoelectron and is injected on floating boom 14.The state that EEPROM and flash memory are wiped rear storage is binary data " 1 ", and the state that writes rear storage is binary data " 0 ".Data hold time is a key factor weighing NVM performance, and the principal element that affects data hold time is the charge loss on floating boom.When a NVM storage unit cannot keep the quantity of electric charge in floating boom, the data holding ability of this NVM storage unit is also lost thereupon.For example: high temperature can accelerate the discharge process of electric charge on floating boom, thus reduce the data hold time of NVM; While adopting the high energy radiation irradiation NVM such as sigmatron and Gamma ray, may there be following two kinds of results: a kind of is that the hole that produces of ionization may be under the effect of the electronics of floating boom, by floating boom, captured, neutralize the negative charge on floating boom, the electronics on floating boom is neutralized; Another kind is that the electronics on floating boom obtains energy, enters control gate or substrate; Above-mentioned two kinds of results all can cause the charge loss on floating boom, thereby have reduced the data hold time of NVM.If can reduce the quantity that has the NVM of electric charge storage unit on floating boom, can reduce the possibility of charge loss on floating boom, thereby raising data hold time so just need to write " 0 " as much as possible in EEPROM, writes " 1 " as much as possible in flash memory.
How to meet writing the optionally requirement of the data of NVM, become a problem that needs solution.
Summary of the invention
The invention provides a kind of NVM data processing method and device, in order to realize, meet writing the optionally requirement of the data of NVM.
The invention provides a kind of NVM data processing method, comprising:
According to the service condition statistical information of the N bit binary data combination before the mapping of storing in described NVM, the N bit binary data of setting up from described mapping is combined to the mapping table that the N bit binary data after mapping combines, and N is greater than 1 natural number;
When writing source data in described NVM, according to described mapping table, described source data is carried out to the first coding, data after coding are write in described NVM storage unit, and the quantity that writes the predetermined binary data in the data of described NVM storage unit is less than the quantity of the predetermined binary data in described source data;
When reading out data from described NVM, according to described mapping table, the data that read are carried out to first decoding corresponding with described the first coding from NVM storage unit.
The present invention also provides a kind of nonvolatile memory NVM data processing equipment, comprising:
Mapping table is set up module, service condition statistical information for the N bit binary data combination before the mapping of storing according to described NVM, the N bit binary data of foundation from described mapping is combined to the mapping table of the N bit binary data combination after mapping, and N is greater than 1 natural number;
The first coding module, for when writing source data to described NVM, according to described mapping table, described source data is carried out to the first coding, data after coding are write in described NVM storage unit, and the quantity that writes the predetermined binary data in the data of described NVM storage unit is less than the quantity of the predetermined binary data in described source data;
The first decoder module, for when from described NVM storage unit reading out data, carries out first decoding corresponding with described the first coding according to described mapping table to the data that read.
In embodiments of the present invention, according to the service condition statistical information of the binary data combination before mapping, set up mapping table, when writing data in NVM, according to mapping table, source data is carried out to the first coding, data after coding are write in NVM storage unit, the quantity that finally writes the predetermined binary data in the data of NVM storage unit is less than the quantity of the predetermined binary data in source data, thereby make to wish that the quantity that writes as few as possible the binary data in NVM tails off, met writing the optionally requirement of the data of NVM.
Accompanying drawing explanation
Fig. 1 is the schematic flow sheet of NVM data processing method the first embodiment of the present invention;
Fig. 2 is the schematic flow sheet of NVM data processing method the second embodiment of the present invention;
Fig. 3 is the structural representation of NVM data processing equipment the first embodiment of the present invention;
Fig. 4 is the structural representation of NVM data processing equipment the second embodiment of the present invention.
Embodiment
Below in conjunction with specification drawings and specific embodiments, the invention will be further described.
NVM data processing method the first embodiment
As shown in Figure 1, be the schematic flow sheet of NVM data processing method the first embodiment of the present invention, the method can comprise the steps:
Step 11, the service condition statistical information combining according to the N bit binary data before the mapping of storing in NVM, the N bit binary data of setting up from mapping is combined to the mapping table that the N bit binary data after mapping combines;
Wherein, N is greater than 1 natural number; Preferably, this step is carried out when system powers on, service condition statistical information is to obtain when producing the data that need to write NVM, because data write after NVM, most data only can be revised several times substantially, so the statistical property of data does not change substantially, service condition statistical information are stored in to certain specific region of NVM, when system powers on, preferentially read and set up mapping table, just can normally read and write NVM data afterwards.When significantly changing NVM data, need to again obtain new service condition statistical information; Alternatively, service condition statistical information is frequency of usage or probability of use.
Step 12, when writing source data in NVM, according to mapping table, source data is carried out to the first coding;
Step 13, the data after coding are write in NVM storage unit, the quantity that writes the predetermined binary data in the data of NVM storage unit is less than the quantity of the predetermined binary data in source data;
Wherein, predetermined binary data is for wishing to write as few as possible the data in NVM storage unit.
Step 14, when reading out data from NVM, according to mapping table, the data that read are carried out to corresponding with the first coding the first decoding from NVM storage unit.
In the present embodiment, according to the service condition statistical information of the binary data combination before mapping, set up mapping table, when writing data in NVM, according to mapping table, source data is carried out to the first coding, data after coding are write in NVM storage unit, the quantity that finally writes the predetermined binary data in the data of NVM storage unit is less than the quantity of the predetermined binary data in source data, thereby make to wish that the quantity that writes as few as possible the binary data in NVM tails off, met writing the optionally requirement of the data of NVM.
Further, in this enforcement, the service condition statistical information that in the N bit binary data combination in mapping table after mapping, the quantity of predetermined binary data combines with N bit binary data before corresponding mapping is relevant.Alternatively, in the N bit binary data combination after mapping, the quantity of predetermined binary data is fewer, and the frequency of usage of the N bit binary data combination before corresponding mapping is higher.
The instantiation of take is below introduced this step as example.Suppose: service condition statistical information is specially frequency of usage, N=8, the combination of N bit binary data adopts 16 system numbers to represent, and NVM is specially flash memory.In order to improve the data hold time of flash memory, wish in flash memory, to write the least possible data " 0 ", in other words, wish to write the least possible data " 0 " in flash memory.As shown in table 1, frequency of usage statistical form for the binary data combination before mapping, the 2-17 row of the 1st row are followed successively by the frequency of usage of 8 bit binary data combination 0x00-0x0F, the 2-17 row of the 2nd row are followed successively by the frequency of usage of 8 bit binary data combination 0x10-0x1F, by that analogy, the 2-17 of the 16th row row are followed successively by the frequency of usage of 8 bit binary data combination 0xF0-0xFF.
The frequency of usage statistical form of the binary data combination before table 1 mapping
0x00 | 66701 | 8072 | 4214 | 4899 | 16075 | 4416 | 2477 | 2897 | 2967 | 1660 | 1955 | 1256 | 1713 | 1188 | 10294 | 1381 |
0x10 | 6668 | 1527 | 1205 | 1238 | 5753 | 1647 | 1112 | 1027 | 1565 | 1410 | 1271 | 1223 | 1775 | 1525 | 3130 | 1383 |
0x20 | 3763 | 1378 | 1184 | 1586 | 1848 | 1365 | 1024 | 1389 | 2081 | 1158 | 1306 | 1357 | 1107 | 1136 | 1355 | 1675 |
0x30 | 1774 | 1432 | 1432 | 1159 | 1200 | 1232 | 1224 | 1045 | 1608 | 1540 | 1626 | 1684 | 1468 | 1334 | 1268 | 1403 |
0x40 | 4775 | 1421 | 1462 | 1083 | 3224 | 1157 | 2996 | 1394 | 1821 | 1862 | 1511 | 1665 | 1614 | 1127 | 2868 | 1549 |
0x50 | 3470 | 2053 | 1548 | 1169 | 1872 | 1257 | 1340 | 1537 | 2589 | 1188 | 1238 | 1222 | 1317 | 1080 | 1267 | 890 |
0x60 | 1215 | 1369 | 1126 | 1775 | 1518 | 1568 | 1142 | 1322 | 1166 | 1692 | 1223 | 1348 | 1216 | 1471 | 1645 | 1758 |
0x70 | 1491 | 1482 | 1607 | 1815 | 1579 | 1455 | 1251 | 1148 | 1535 | 1263 | 1259 | 1168 | 960 | 1321 | 1064 | 12828 |
0x80 | 7081 | 1519 | 1232 | 1118 | 2154 | 1222 | 1281 | 1052 | 1167 | 1091 | 1268 | 875 | 1588 | 1204 | 1617 | 1292 |
0x90 | 1244 | 1512 | 1848 | 1142 | 1064 | 1292 | 1328 | 940 | 1042 | 975 | 1292 | 890 | 1539 | 1110 | 1701 | 1183 |
0xA0 | 1305 | 1003 | 960 | 1179 | 1359 | 1276 | 1225 | 1326 | 1438 | 1278 | 1269 | 1109 | 1175 | 1395 | 1897 | 1502 |
0xB0 | 1060 | 1212 | 1139 | 965 | 1503 | 1427 | 1509 | 1422 | 1316 | 1299 | 1135 | 1070 | 1429 | 1003 | 929 | 837 |
0xC0 | 1463 | 1102 | 950 | 1028 | 1180 | 1019 | 1481 | 1492 | 1384 | 1294 | 1196 | 1067 | 1022 | 1048 | 1328 | 1669 |
0xD0 | 1085 | 961 | 1296 | 1310 | 1422 | 2455 | 1254 | 1320 | 1064 | 1107 | 1412 | 1292 | 1337 | 2169 | 1052 | 892 |
0xE0 | 1789 | 1018 | 1213 | 1535 | 1475 | 1171 | 1197 | 1483 | 1303 | 1536 | 1353 | 1269 | 1274 | 1354 | 1274 | 1173 |
0xF0 | 2969 | 1494 | 1916 | 1855 | 1869 | 1662 | 1646 | 2326 | 1852 | 1820 | 2208 | 1740 | 3046 | 1828 | 3273 | 6387 |
As shown in table 2, for the mapping table of setting up according to the statistical form of frequency of usage shown in table 1, the binary data that the 2-17 row of the 1st row are followed successively by after mapping combines the binary data combination before the mapping that 0x00-0x0F is corresponding, the binary data that the 2-17 row of the 2nd row are followed successively by after mapping combines the binary data combination before the mapping that 0x10-0x1F is corresponding, by that analogy, the binary data that the 2-17 of the 16th row row are followed successively by after mapping combines the binary data combination before the mapping that 0xF0-0xFF is corresponding.In table 2, the frequency of usage of the 0x00 before mapping is 66701, and in all binary data combinations, frequency of usage is the highest, the minimum number of data " 0 " in the 0xFF after corresponding mapping;
The frequency of usage of binary data combination 0xbf before mapping is 837, and in all binary data combinations, frequency of usage is minimum, and in the 0x00 after corresponding mapping, the quantity of data " 0 " is maximum.
The mapping table that table 2 is set up according to the statistical form of frequency of usage shown in table 1
0x00 | bf | 8b | 5f | a2 | 9b | d1 | b3 | 2c | df | 99 | a1 | d9 | bd | ab | 9d | 5e |
0x10 | be | e1 | c5 | 16 | cc | 83 | 62 | 3e | 26 | 4d | ba | 8a | 2d | aa | eb | f1 |
0x20 | 97 | 17 | c3 | b2 | 98 | 66 | 93 | 1a | 37 | 77 | 45 | ec | 29 | ee | a5 | af |
0x30 | cd | 33 | 68 | a9 | 88 | 86 | 8f | b4 | 7b | 95 | 9a | b6 | db | 4a | 91 | 54 |
0x40 | c2 | 87 | de | 53 | b0 | e5 | ef | c9 | 7e | ac | a3 | d2 | c4 | b9 | e8 | 64 |
0x50 | 94 | 9f | 22 | a0 | d | 2a | d3 | 81 | 59 | b8 | 5c | 1d | d7 | 11 | 78 | ae |
0x60 | d8 | ca | e6 | 7d | 34 | 67 | a7 | e3 | 8d | 96 | ce | e9 | 3d | 57 | 9c | f2 |
0x70 | 12 | dc | 56 | 39 | 6b | 52 | 4f | a | ea | 18 | 65 | 51 | 74 | 28 | 84 | 14 |
0x80 | 7c | cb | bb | b1 | 5d | e2 | 60 | ed | 43 | 6c | 5b | 2e | 85 | 2b | a4 | 23 |
0x90 | d0 | 1b | 6a | 25 | 36 | 61 | 21 | 8c | a6 | f | 1f | 72 | c8 | 38 | 4c | dd |
0xA0 | 89 | 35 | 82 | 27 | 13 | 47 | ad | 8e | 5a | 3f | 19 | 3a | da | 6e | f6 | fa |
0xB0 | 90 | 41 | b7 | 15 | d4 | 9 | f5 | f7 | b5 | 4b | cf | d5 | 2f | 6 | 58 | ff |
0xC0 | c1 | 76 | d6 | bc | b | 31 | 32 | 3b | 55 | a8 | 75 | 69 | 42 | 9e | c | 4e |
0xD0 | 7a | c0 | 3c | fb | 6d | 6f | 30 | 7 | e4 | 1c | 63 | 8 | e0 | f0 | 46 | 10 |
0xE0 | 79 | c6 | 71 | 73 | e7 | f9 | 48 | fc | 70 | fd | 24 | 1e | 92 | 44 | fe | 80 |
0xF0 | c7 | f8 | f3 | 50 | 49 | 20 | 2 | 1 | f4 | 5 | 40 | e | 3 | 7f | 4 | 0 |
The source data that need to write flash memory always has 512384 bytes, wherein has 1676481 for data " 1 ", and the quantity of data " 1 " is about 3.27/byte.According to mapping table shown in table 2, carrying out after the first coding, write in the data of flash memory and have the data " 1 " of 2640499, the quantity of data " 1 " is about 5.15/byte, with respect to source data, increase the data " 1 " of (5.15-3.27)/8=23.5%, improved the data hold time of flash memory.
NVM data processing method the second embodiment
As shown in Figure 2, for the schematic flow sheet of NVM data processing method the second embodiment of the present invention, on the basis of a upper embodiment, between step 12 and step 13, can also comprise the steps:
Step 21, the data after the first coding being carried out to the second coding, is the combination of M bit binary data by the N bit binary data assembly coding in the data after the first coding;
Wherein, M is the natural number that is greater than N, and in the data after the second coding, the quantity of predetermined binary data is less than the quantity of predetermined binary data in the data after the first coding;
Before step 14, can also comprise the steps:
Step 22, the data that read are carried out to corresponding with the second coding the second decoding.
Step 14 is specially following steps:
Step 23, according to mapping table, the second decoded data are carried out to corresponding with the first coding the first decoding.
In the present embodiment, even if the statistical property of source data is splendid, for example: in 8 potential source data, on average have the frequency of usage of 4 bit data " 0 " and 4 bit data " 1 " and the combination of all binary data roughly suitable, source data is carried out also reducing to a certain extent the quantity of predetermined binary data in the data that write NVM after the first coding and the second coding.
The present embodiment is carrying out on the basis of the first coding writing the source data of NVM, carried out further the second coding, in data after the second coding, the quantity of predetermined binary data is less than the quantity of predetermined binary data in the data after the first coding, on the basis of a upper embodiment, further reduced the quantity of predetermined binary data in the data that write NVM, met better writing the optionally requirement of the data of NVM.
Alternatively, in step 21, according to the quantity of predetermined binary data in the N bit binary data combination in the data after the first coding, the N bit binary data combination in the data after the first coding is carried out inversion operation and increased zone bit.Alternatively, when the quantity of predetermined binary data is greater than predetermined quantity in the N bit binary data combination after the first coding, the N bit binary data in the data after the first coding is carried out to inversion operation, this predetermined quantity can be N/2.For example: suppose N=8, M=9, NVM is flash memory.In step 21, by 8 bit binary data assembly codings, be 9 bit binary data combinations, coding rule is as follows: if the quantity of data " 1 " is more than or equal to 4 in 8 bit binary data combinations, 8 bit binary data combine constant and increase zone bit " 1 ", thereby obtain 9 bit binary data combinations.If the quantity of data " 1 " is less than 4 in 8 bit binary data combinations, 8 bit binary data combinations is carried out negate and increased zone bit " 0 ", thereby obtain 9 bit binary data combinations.
Further, in the present embodiment, the ultimate principle of the second coding is to N bit binary data, makes 2
nspace to 2
mthe mapping in space, makes data 2
mthe predetermined binary data in space with minimum number.Alternatively, a kind of realization approach of the second coding is: utilize zone bit to select predetermined model (pattern), data and model are carried out to XOR, object is to reduce the quantity of predetermined binary data in data.Take 8 bit data as example, if 1 bit flag position is data " 1 ", the data that preference pattern is hexadecimal representation " 00 ", XOR is for retaining former data; If 1 bit flag position is data " 0 ", the data that preference pattern is hexadecimal representation " FF ", XOR is to former data-conversion.If the length of zone bit is larger, selectable model can be more.For example: if the length of zone bit is 2, the model that can select has data " 00 ", " 0F ", " F0 ", " FF " of hexadecimal representation, and the data length after coding is 10.If the length of zone bit is 3, the model that can select has " 00 ", " 0F ", " F0 ", " 33 ", " CC ", " 55 ", " AA ", " FF " of hexadecimal representation.
In the present embodiment, the par that writes predetermined binary data in the binary data combination of NVM also has a lower limit: 1, now, the second coded system of employing is one-hot coding (one-hot), but the length of each the binary data combination after one-hot coding can reach 2
nposition.
NVM data processing method the 3rd embodiment
Be with the difference of a upper embodiment, in order further to improve encoding efficiency, the structure of mapping table is considered the situation after the second coding, in mapping table, the quantity that N bit binary data after mapping combines predetermined binary data in the combination of corresponding M bit binary data is relevant with the service condition statistical information of N bit binary data combination before corresponding mapping, and during the M bit binary data that makes finally to write NVM combines, the quantity of predetermined binary data is relevant to the service condition statistical information that N bit binary data in corresponding source data combines.
For example: the source data that amounts to 512384 bytes writes in flash memory, service condition statistical information ginseng is shown in Table 1 the service condition statistical information of the binary data combination before mapping, in source data, there are the data " 1 " of 1676481 and the data " 0 " of 2422591, adopt the method for the present embodiment, in data after the first coding, there are the data " 1 " of 2640499 and the data " 0 " of 1458573, the quantity of data " 0 " is 60.2% in source data, in data after the second coding, there are the data " 1 " of 3186848 and the data " 0 " of 1234718, the quantity of data " 0 " is 51% in source data.
NVM data processing equipment the first embodiment
This device can adopt the mode of software to realize, and also can adopt the mode of hardware circuit to realize.When adopting the mode of software to realize, can realize at host computer side.When adopting the mode of hardware circuit to realize, can realize at different equipment sides, the equipment side that can arrange comprises controller side or the NVM side of host computer side, NVM.The hardware circuit realized at host computer side of take is below introduced the present embodiment in detail as example.
As shown in Figure 3, structural representation for NVM data processing equipment the first embodiment of the present invention, this NVM data processing equipment can comprise that mapping table sets up module 31, the first coding module 32 and the first decoder module 33, and mapping table is set up module 31, the first coding module 32 and the first decoder module 33 and is connected with NVM respectively.
Wherein, mapping table is set up the service condition statistical information of the N bit binary data combination of module 31 before for the mapping of storing according to NVM, the N bit binary data of foundation from mapping is combined to the mapping table of the N bit binary data combination after mapping, and N is greater than 1 natural number; Alternatively, service condition statistical information position frequency of usage or probability of use; Preferably, mapping table is set up module 31 and when system powers on, is set up mapping table.The first coding module 32 is for when writing source data to NVM, according to mapping table, source data is carried out to the first coding, data after coding are write in NVM storage unit, the quantity that writes the predetermined binary data in the data of NVM storage unit is less than the quantity of the predetermined binary data in source data, wherein, predetermined binary data is for wishing to write as few as possible the data in NVM storage unit.The first decoder module 33, for when from NVM storage unit reading out data, carries out first decoding corresponding with the first coding according to mapping table to the data that read.
In the present embodiment, mapping table is set up module 31 according to the service condition statistical information of the N bit binary data combination before the mapping of storing in NVM, the N bit binary data of foundation from mapping is combined to the mapping table of the N bit binary data combination after mapping, when writing source data in NVM, the first coding module 32 carries out the first coding according to mapping table to source data, data after coding are write in NVM storage unit, when reading out data from NVM storage unit, the first decoder module 33 carries out first decoding corresponding with the first coding according to mapping table to the data that read, owing to finally writing the quantity of the predetermined binary data in the data of NVM storage unit and be less than the quantity of the predetermined binary data in source data, thereby make to wish that the quantity that writes as few as possible the binary data in NVM tails off, met writing the optionally requirement of the data of NVM.
Further, in this enforcement, the service condition statistical information that in the N bit binary data combination in mapping table after mapping, the quantity of predetermined binary data combines with N bit binary data before corresponding mapping is relevant.Alternatively, in the N bit binary data combination after mapping, the quantity of predetermined binary data is fewer, and the frequency of usage of the N bit binary data combination before corresponding mapping is higher.
NVM data processing equipment the second embodiment
As shown in Figure 4, for the structural representation of NVM data processing equipment the second embodiment of the present invention, on the basis of a upper embodiment, the present embodiment can also comprise the second coding module 41 and the second decoder module 42.Wherein, the second coding module 41 is connected between the first coding module 32 and NVM, and the second decoder module 42 is connected between NVM and the first decoder module 33.
The second coding module 41 carries out the second coding for the data to after the first coding, by the N bit binary data assembly coding in the data after the first coding, it is the combination of M bit binary data, the quantity of the data in the data after the second coding except predetermined binary data is less than the quantity of the data except predetermined binary data in the data after the first coding, wherein, M is the natural number that is greater than N.The second decoder module 42 is for carrying out second decoding corresponding with the second coding to the data that read from NVM storage unit.
In the present embodiment, the first decoder module 33 is for carrying out first decoding corresponding with the first coding according to mapping table to the second decoded data.
In the present embodiment, even if the statistical property of source data is splendid, for example: in 8 potential source data, on average have the frequency of usage of 4 bit data " 0 " and 4 bit data " 1 " and the combination of all binary data roughly suitable, by the first coding module 32 and 41 pairs of source datas of the second coding module, undertaken also reducing to a certain extent the quantity of predetermined binary data in the data that write NVM after the first coding and the second coding respectively.
The source data that the present embodiment need to write NVM 32 pairs of the first coding modules is carried out on the basis of the first coding, by the second coding module 41, carry out the second coding further, in data after the second coding, the quantity of predetermined binary data is less than the quantity of predetermined binary data in the data after the first coding, on the basis of a upper embodiment, further reduced the quantity of predetermined binary data in the data that write NVM, met better writing the optionally requirement of the data of NVM.
Alternatively, the second coding module 41 can comprise expansion unit 411 and negate unit 412, and wherein, expansion unit 411 is connected with the first coding module 32, and negate unit 412 is connected with expansion unit 411, and NVM is connected with negate unit 412.In the N bit binary data combination of expansion unit 411 for the data after the first coding, increase zone bit; Negate unit 412, for according to the quantity of predetermined binary data in the N bit binary data combination of the data after the first coding, carries out inversion operation to the N bit binary data combination in the data after the first coding, and the state of zone bit is set.Alternatively, when in the N bit binary data combination after the first coding, the quantity of predetermined binary data is greater than predetermined quantity, the N bit binary data in the data after 412 pairs first of negate unit coding is carried out inversion operation, and this predetermined quantity can be N/2.
NVM data processing equipment the 3rd embodiment
Be with the difference of a upper embodiment, in order further to improve encoding efficiency, the structure of mapping table is considered the situation after the second coding, in mapping table, the quantity that N bit binary data after mapping combines predetermined binary data in the combination of corresponding M bit binary data is relevant with the service condition statistical information of N bit binary data combination before corresponding mapping, and during the M bit binary data that makes finally to write NVM combines, the quantity of predetermined binary data is relevant to the service condition statistical information that N bit binary data in corresponding source data combines.
Finally it should be noted that: above embodiment is only unrestricted in order to technical scheme of the present invention to be described, although the present invention is had been described in detail with reference to preferred embodiment, those of ordinary skill in the art is to be understood that, can modify or be equal to replacement technical scheme of the present invention, and not depart from the spirit and scope of technical solution of the present invention.
Claims (10)
1. a nonvolatile memory NVM data processing method, is characterized in that, comprising:
According to the service condition statistical information of the N bit binary data combination before the mapping of storing in described NVM, the N bit binary data of setting up from described mapping is combined to the mapping table that the N bit binary data after mapping combines, and N is greater than 1 natural number;
When writing source data in described NVM, according to described mapping table, described source data is carried out to the first coding, data after coding are write in described NVM storage unit, and the quantity that writes the predetermined binary data in the data of described NVM storage unit is less than the quantity of the predetermined binary data in described source data;
When reading out data from described NVM, according to described mapping table, the data that read are carried out to first decoding corresponding with described the first coding from NVM storage unit.
2. method according to claim 1, is characterized in that, describedly according to described mapping table, described source data is carried out after the first coding also comprising:
Data after the first coding are carried out to the second coding, by the N bit binary data assembly coding in the data after the first coding, it is the combination of M bit binary data, described in data after described the second coding, the quantity of predetermined binary data is less than the quantity of predetermined binary data described in the data after described the first coding, wherein, M is the natural number that is greater than N;
Describedly according to described mapping table, the binary data reading is carried out before the first decoding also comprising: the data that read are carried out to corresponding with described the second coding second and decode;
Describedly according to described mapping table, the binary data reading is carried out being specially with corresponding the first decoding of described the first coding: according to described mapping table, the second decoded data are carried out and corresponding first the decoding of described the first coding.
3. method according to claim 2, is characterized in that, describedly data after the first coding are carried out to the second coding is specially; According to the quantity of predetermined binary data described in the N bit binary data combination in the data after described the first coding, the N bit binary data combination in the data after described the first coding is carried out inversion operation and increased zone bit.
4. according to the arbitrary described method of claim 1-3, it is characterized in that, in described mapping table, the service condition statistical information that the quantity of predetermined binary data described in the combination of N bit binary data after described mapping combines with N bit binary data before corresponding mapping is relevant.
5. according to the method in claim 2 or 3, it is characterized in that, in described mapping table, the service condition statistical information that the quantity that the N bit binary data after described mapping combines predetermined binary data described in the combination of corresponding M bit binary data combines with N bit binary data before corresponding mapping is relevant.
6. a nonvolatile memory NVM data processing equipment, is characterized in that, comprising:
Mapping table is set up module, service condition statistical information for the N bit binary data combination before the mapping of storing according to described NVM, the N bit binary data of foundation from described mapping is combined to the mapping table of the N bit binary data combination after mapping, and N is greater than 1 natural number;
The first coding module, for when writing source data to described NVM, according to described mapping table, described source data is carried out to the first coding, data after coding are write in described NVM storage unit, and the quantity that writes the predetermined binary data in the data of described NVM storage unit is less than the quantity of the predetermined binary data in described source data;
The first decoder module, for when from described NVM storage unit reading out data, carries out first decoding corresponding with described the first coding according to described mapping table to the data that read.
7. device according to claim 6, is characterized in that, also comprises:
The second coding module, for the data after the first coding are carried out to the second coding, by the N bit binary data assembly coding in the data after the first coding, it is the combination of M bit binary data, described in data after described the second coding, the quantity of predetermined binary data is less than the quantity of predetermined binary data described in the data after described the first coding, wherein, M is the natural number that is greater than N;
The second decoder module, for carrying out second decoding corresponding with described the second coding to the data that read from described NVM storage unit;
Described the first demoder is for carrying out first decoding corresponding with described the first coding according to described mapping table to the second decoded data.
8. device according to claim 7, is characterized in that, described the second coding module comprises:
Expansion unit, increases zone bit in the N bit binary data combination for the data after the first coding;
Negate unit, quantity for predetermined binary data described in the N bit binary data combination of the data after encoding according to described first, N bit binary data combination in data after described the first coding is carried out to inversion operation, and the state of described zone bit is set.
9. according to the arbitrary described device of claim 6-8, it is characterized in that, in described mapping table, the service condition statistical information that the quantity of predetermined binary data described in the combination of N bit binary data after described mapping combines with N bit binary data before corresponding mapping is relevant.
10. according to the device described in claim 7 or 8, it is characterized in that, in described mapping table, the service condition statistical information that the quantity that the N bit binary data after described mapping combines predetermined binary data described in the combination of corresponding M bit binary data combines with N bit binary data before corresponding mapping is relevant.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410325900.3A CN104102587A (en) | 2014-07-09 | 2014-07-09 | NVM (non-volatile memory) data processing method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410325900.3A CN104102587A (en) | 2014-07-09 | 2014-07-09 | NVM (non-volatile memory) data processing method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104102587A true CN104102587A (en) | 2014-10-15 |
Family
ID=51670756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410325900.3A Pending CN104102587A (en) | 2014-07-09 | 2014-07-09 | NVM (non-volatile memory) data processing method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104102587A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708650A (en) * | 2015-11-17 | 2017-05-24 | 飞思卡尔半导体公司 | Method for protecting embedded nonvolatile memories from interferences |
CN113708890A (en) * | 2021-08-10 | 2021-11-26 | 深圳市华星光电半导体显示技术有限公司 | Data encoding method, data decoding method, storage medium, and computer device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090144512A1 (en) * | 2007-12-03 | 2009-06-04 | Fujitsu Limited | Memory access control device, control method, and program |
CN101908378A (en) * | 2009-06-02 | 2010-12-08 | 慧帝科技(深圳)有限公司 | Controller of flash memory and method of accessing data in the flash memory |
CN102063936A (en) * | 2010-10-27 | 2011-05-18 | 苏州亮智科技有限公司 | Method for improving reliability of flash memory |
US20110239091A1 (en) * | 2010-03-23 | 2011-09-29 | Kabushiki Kaisha Toshiba | Memory system and method of data writing and reading in memory systems |
CN103514060A (en) * | 2012-06-29 | 2014-01-15 | 富士通株式会社 | Data converting method and data converting apparatus |
-
2014
- 2014-07-09 CN CN201410325900.3A patent/CN104102587A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090144512A1 (en) * | 2007-12-03 | 2009-06-04 | Fujitsu Limited | Memory access control device, control method, and program |
CN101908378A (en) * | 2009-06-02 | 2010-12-08 | 慧帝科技(深圳)有限公司 | Controller of flash memory and method of accessing data in the flash memory |
US20110239091A1 (en) * | 2010-03-23 | 2011-09-29 | Kabushiki Kaisha Toshiba | Memory system and method of data writing and reading in memory systems |
CN102063936A (en) * | 2010-10-27 | 2011-05-18 | 苏州亮智科技有限公司 | Method for improving reliability of flash memory |
CN103514060A (en) * | 2012-06-29 | 2014-01-15 | 富士通株式会社 | Data converting method and data converting apparatus |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708650A (en) * | 2015-11-17 | 2017-05-24 | 飞思卡尔半导体公司 | Method for protecting embedded nonvolatile memories from interferences |
CN106708650B (en) * | 2015-11-17 | 2022-02-08 | 恩智浦美国有限公司 | Protecting embedded non-volatile memory from interference |
CN113708890A (en) * | 2021-08-10 | 2021-11-26 | 深圳市华星光电半导体显示技术有限公司 | Data encoding method, data decoding method, storage medium, and computer device |
CN113708890B (en) * | 2021-08-10 | 2024-03-26 | 深圳市华星光电半导体显示技术有限公司 | Data encoding method, data decoding method, storage medium, and computer device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8949687B2 (en) | Memory device and memory system | |
EP2396791B1 (en) | Apparatus and method for enhancing flash endurance by encoding data | |
CN105957553B (en) | Controller, semiconductor memory system and operating method thereof | |
CN104599704B (en) | Semiconductor storage unit and its method for deleting | |
US8176234B2 (en) | Multi-write coding of non-volatile memories | |
US8549380B2 (en) | Non-volatile memory error mitigation | |
US8130545B2 (en) | Nonvolatile semiconductor storage device | |
US20150067436A1 (en) | Nonvolatile Memory System Compression | |
US8670275B2 (en) | Memory with sub-blocks | |
US8060687B2 (en) | Flash memory allocating method | |
US20110016263A1 (en) | Method for performing data pattern management regarding data accessed by a controller of a flash memory, and associated memory device and controller thereof | |
CN104102587A (en) | NVM (non-volatile memory) data processing method and device | |
US20170154656A1 (en) | Data programming method and memory storage device | |
CN105261386A (en) | Semiconductor memory device including three-dimensional array structure | |
US10193569B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
Takeuchi | Data-aware NAND flash memory for intelligent computing with deep neural network | |
US7526059B1 (en) | Balanced Grey code utilization to increase NVM endurance | |
US9607704B2 (en) | Data reading method, memory controlling circuit unit and memory storage device | |
TW201542060A (en) | Structure of multi-layer printed circuit board, connector module and memory storage device | |
KR20160118526A (en) | Method and Apparatus for Creating Error Correction Code | |
US9679652B2 (en) | Threshold based multi-level cell programming for reliability improvement | |
WO2020082348A1 (en) | Data processing method for memory and related data processor | |
KR101250672B1 (en) | Trellis coded modulation method for reducing inter-cell interference of flash memory device, trellis coded modulation circuit, error correct circuit and flash memory device using same | |
US10949340B2 (en) | Block mapping systems and methods for storage device | |
CN104377248A (en) | Floating gate flash memory device and programming method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141015 |
|
WD01 | Invention patent application deemed withdrawn after publication |