CN104102587A - NVM (non-volatile memory) data processing method and device - Google Patents

NVM (non-volatile memory) data processing method and device Download PDF

Info

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
Application number
CN201410325900.3A
Other languages
Chinese (zh)
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.)
Beijing KT Micro Ltd
Original Assignee
Beijing KT Micro 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 Beijing KT Micro Ltd filed Critical Beijing KT Micro Ltd
Priority to CN201410325900.3A priority Critical patent/CN104102587A/en
Publication of CN104102587A publication Critical patent/CN104102587A/en
Pending legal-status Critical Current

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

NVM data processing method and device
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.
CN201410325900.3A 2014-07-09 2014-07-09 NVM (non-volatile memory) data processing method and device Pending CN104102587A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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