CN103019952A - Data write-in method, memory controller and memory storage device - Google Patents

Data write-in method, memory controller and memory storage device Download PDF

Info

Publication number
CN103019952A
CN103019952A CN2011102878623A CN201110287862A CN103019952A CN 103019952 A CN103019952 A CN 103019952A CN 2011102878623 A CN2011102878623 A CN 2011102878623A CN 201110287862 A CN201110287862 A CN 201110287862A CN 103019952 A CN103019952 A CN 103019952A
Authority
CN
China
Prior art keywords
page
data
instance
physical page
physical
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
CN2011102878623A
Other languages
Chinese (zh)
Other versions
CN103019952B (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.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201110287862.3A priority Critical patent/CN103019952B/en
Publication of CN103019952A publication Critical patent/CN103019952A/en
Application granted granted Critical
Publication of CN103019952B publication Critical patent/CN103019952B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention discloses a data write-in method, a memory controller and a memory storage device which can be used for a rewritable nonvolatile memory module, wherein the rewritable nonvolatile memory module is provided with a plurality of lower solid pages and a plurality of upper solid pages which correspond to the lower solid pages respectively. The method comprises the following steps that before first data is written into a solid page, that whether the solid page is an upper solid page or not is judged; when the solid page is the upper solid page, that whether second data which is written into the lower solid page which corresponds to the solid page exists in a backup area or not is judged; and when the second data does not exist in the backup area, the second data is backed up to the backup area from the lower solid page which corresponds to the solid page before the first data is written into the solid page. In such a manner, the method can effectively prevent data loss which is caused by programming errors.

Description

Method for writing data, Memory Controller and memorizer memory devices
Technical field
The present invention relates to a kind of method for writing data, relate in particular to Memory Controller and the memorizer memory devices of a kind of method for writing data for duplicative nonvolatile memory module and use the method.
Background technology
Digital camera, mobile phone and MP3 are very rapid in growth over the years, so that the consumer is to the also rapidly increase of demand of Storage Media.Because the characteristics such as duplicative nonvolatile memory (rewritable non-volatile memory) has that data are non-volatile, power saving, volume are little, machinery-free structure, read or write speed are fast, be suitable for most portable electronic product, for example notebook computer.Solid state hard disc is exactly a kind of with the storage device of flash memory as Storage Media.Therefore, the flash memory industry becomes a ring quite popular in the electronic industry in recent years.
Along with the development of manufacture of semiconductor technology, multi-level cell memory (Multi Level Cell, MLC) instead and (NAND) flash memory module is used widely.Because MLC NAND flash memory physical characteristics, electric charge can more unstable and contiguous physical page may be affected when the physical page (physical page) of programming part.For example, take 4 rank NAND flash memory modules as example, each physical blocks has a plurality of physical page and this a little physical page can be divided into a plurality of lower physical page and a plurality of upper physical page of corresponding these some lower physical page respectively, and physical page can lower physical page of correspondence one of them on.That is to say, be positioned at storage unit on the identical character line and can consist of a physical page pair, and this physical page is to comprising a lower physical page and a upper physical page.The speed that data write to lower physical page writes to the speed of upper physical page greater than data, and therefore, lower physical page also is called quick physical page and upper physical page also is called at a slow speed physical page.Particularly, in when, misprogrammed occuring during the physical page in programming, be stored in corresponding on this data in lower physical page of physical page also may lose.
Therefore, with respect to single-order storage unit (Single Level Cell, SLC) NAND flash memory module, though MLC NAND flash memory module capacity is larger, it is relatively poor to store fiduciary level.Therefore, the method for writing data that needs development can increase the fiduciary level of MLC NAND flash memory module is arranged.
Summary of the invention
The invention provides a kind of method for writing data and Memory Controller, it can promote data writing effectively to the fiduciary level of duplicative nonvolatile memory module.
The invention provides a kind of memorizer memory devices, it is storage data reliably.
One example of the present invention embodiment proposes a kind of method for writing data, be used for a duplicative nonvolatile memory module, wherein duplicative nonvolatile memory module has a plurality of physical blocks, each physical blocks has a plurality of physical page of sequentially arranging, these a little physical page are grouped into sequentially a plurality of physical page of arranging pair, each physical page is to comprising at least lower physical page and upper physical page, and data writing is to the speed of the lower physical page speed greater than the supreme physical page of data writing.The notebook data wiring method comprises receiving and writes instruction and write the first data of instruction and the first data are write so far the first instance page among a little physical page with corresponding this, wherein the first instance page belong to these a little physical page among the first instance page pair.The notebook data wiring method is also included within the first data are write to judges whether the first instance page is the right upper physical page of the first instance page before the first instance page.The notebook data wiring method also comprises, when the first instance page is the right upper physical page of the first instance page, judged whether there are the second data in backup area before the first data are write to the first instance page, wherein the second data have been written in the right lower physical page of the first instance page.The notebook data wiring method also comprises, when backup area does not have the second data, before being write to the first instance page, the first data from the right lower physical page of the first instance page, read the second data and the second data that read are temporary to backup area.
In one embodiment of this invention, above-mentioned method for writing data also comprises, when the first instance page is the right upper physical page of the first instance page, judged whether there are the 3rd data before the first data are write to the first instance page in backup area, wherein the 3rd data have been written into so far and have been close in other lower physical page of the right lower physical page of the first instance page among a little physical page.In addition, the notebook data write method also comprises, when not having the 3rd data in backup area, from then on reads the 3rd data and the 3rd data that read are temporary to backup area in other lower physical page before the first data are write to the first instance page.
In one embodiment of this invention, above-mentioned method for writing data, also comprise, when the first instance page is the right upper physical page of the first instance page, before the first data are write to the first instance page, judge in backup area, whether to have to belong to the right right data of at least one other physical page of the contiguous first instance page, wherein in duplicative nonvolatile memory module these other physical page to being to be arranged in the right front of the first instance page; And when not having the right data of these other physical page in backup area, from then on other physical page centerings data that these other physical page are right are temporary to backup area before the first data are write to the first instance page.
In one embodiment of this invention, wherein each physical page is to also comprising physical page in, and above-mentioned method for writing data also comprises, when the first instance page is the right upper physical page of the first instance page, before being write to the first instance page, the first data judge in backup area, whether there are the data that belong to the right middle physical page of the first instance page; And when in backup area, not having the data that belong to the right middle physical page of the first instance page, before the first data are write to the first instance page from the first instance page right will to belong to the data of the right middle physical page of the first instance page in the physical page temporary to backup area.
In one embodiment of this invention, above-mentioned backup area is memory buffer.
In one embodiment of this invention, above-mentioned method for writing data also comprise with above-mentioned physical blocks one of them is configured to above-mentioned backup area at least.
In one embodiment of this invention, above-mentioned method for writing data also is included in the first data is write to after the first instance page, judges whether misprogrammed occurs on the first instance page; And when when this misprogrammed occurs in the first instance page, with the first data and the second data write to above-mentioned physical page among second instance page centering.
Another example of the present invention embodiment proposes a kind of Memory Controller, be used for operation duplicative nonvolatile memory module, wherein this duplicative nonvolatile memory module has a plurality of physical blocks, each physical blocks has a plurality of physical page of sequentially arranging, these a little physical page are grouped into sequentially a plurality of physical page of arranging pair, each physical page is to comprising at least lower physical page and upper physical page, and data writing is to the speed of the lower physical page speed greater than the supreme physical page of data writing.This Memory Controller comprises host interface, memory interface and memory management circuitry.Host interface is in order to be electrically connected to host computer system; Memory interface is in order to be electrically connected to duplicative nonvolatile memory module; And memory management circuitry is electrically connected to host interface and memory interface.Memory management circuitry writes instruction in order to reception and writes the first data of instruction with corresponding this, and the first data are write so far the first instance page among a little physical page, wherein the first instance page belong to these a little physical page among the first instance page pair.In addition, memory management circuitry is also in order to judge before the first data are write to the first instance page whether the first instance page is the right upper physical page of the first instance page.And, wherein when the first instance page is the right upper physical page of the first instance page, also in order to judge whether there are the second data in backup area before the first data are write to the first instance page, wherein these second data have been written in the right lower physical page of the first instance page memory management circuitry.Moreover, when backup area did not have these second data, memory management circuitry was also in order to read the second data and the second data that read are temporary to backup area from the right lower physical page of the first instance page before the first data are write to the first instance page.
In one embodiment of this invention, when the first instance page is the right upper physical page of the first instance page, memory management circuitry is also in order to judge whether there are the 3rd data in backup area before the first data are write to the first instance page, wherein the 3rd data have been written into so far and have been close in other lower physical page of the right lower physical page of the first instance page among a little physical page.And, when not having the 3rd data in backup area, from then on above-mentioned memory management circuitry also in order to read the 3rd data and the 3rd data that read are temporary to backup area in other lower physical page before the first data are write to the first instance page.
In one embodiment of this invention, when the first instance page is the right upper physical page of the first instance page, memory management circuitry also belongs to the right right data of at least one other physical page of the contiguous first instance page in order to judge whether to have in backup area before the first data are write to the first instance page, wherein in duplicative nonvolatile memory module these other physical page to being arranged in the right front of the first instance page.In addition, when not having the right data of these other physical page in backup area, memory management circuitry is also in order to from then on other physical page centerings data that these other physical page are right are temporary to backup area before the first data are write to the first instance page.
In one embodiment of this invention, each physical page is to also comprising physical page in.In addition, when the first instance page was the right upper physical page of the first instance page, memory management circuitry was also in order to judge whether there are the data that belong to the right middle physical page of the first instance page in backup area before the first data are write to the first instance page.Moreover, when in backup area, not having the data that belong to the right middle physical page of the first instance page, memory management circuitry also in order to before the first data are write to the first instance page from the first instance page right will to belong to the data of the right middle physical page of the first instance page in the physical page temporary to backup area.
In one embodiment of this invention, above-mentioned Memory Controller also comprises for this reason memory buffer of a memory buffer and above-mentioned backup area.
In one embodiment of this invention, above-mentioned memory management circuitry also in order to above-mentioned physical blocks at least wherein one be configured to above-mentioned backup area.
In one embodiment of this invention, above-mentioned memory management circuitry is also in order to judge after the first data are write to the first instance page whether misprogrammed occurs on the first instance page.And, when when this misprogrammed occurs in the first instance page, memory management circuitry also in order to the first data and the second data are write so far a little physical page among second instance page centering.
One example of the present invention embodiment proposes a kind of memorizer memory devices, and it comprises duplicative nonvolatile memory module, connector and Memory Controller.Duplicative nonvolatile memory module has a plurality of physical blocks, wherein each physical blocks has a plurality of physical page of sequentially arranging, these a little physical page are grouped into sequentially a plurality of physical page of arranging pair, each physical page is to comprising at least lower physical page and upper physical page, and data writing is to the speed of the lower physical page speed greater than the supreme physical page of data writing.Connector is electrically connected so far duplicative nonvolatile memory module and connector in order to be electrically connected to host computer system and Memory Controller.Memory Controller writes instruction and corresponding the first data that write instruction in order to reception, and the first data are write so far the first instance page among a little physical page, wherein the first instance page belong to these a little physical page among the first instance page pair.In addition, Memory Controller is also in order to judge before the first data are write to the first instance page whether the first instance page is the right upper physical page of the first instance page.And, when the first instance page is the right upper physical page of the first instance page, also in order to judge whether there are the second data in backup area before the first data are write to the first instance page, wherein the second data have been written in the right lower physical page of the first instance page Memory Controller.Moreover, when backup area did not have the second data, Memory Controller was also in order to read the second data and the second data that read are temporary to backup area from the right lower physical page of the first instance page before the first data are write to the first instance page.
In one embodiment of this invention, when the first instance page is the right upper physical page of the first instance page, Memory Controller is also in order to judge whether there are the 3rd data in backup area before the first data are write to the first instance page, wherein the 3rd data have been written into so far and have been close in other lower physical page of the right lower physical page of the first instance page among a little physical page.And when not having the 3rd data in backup area, Memory Controller is also in order to read the 3rd data and the 3rd data that read are temporary to backup area from other lower physical page before the first data are write to the first instance page.
In one embodiment of this invention, when the first instance page is the right upper physical page of the first instance page, Memory Controller also belongs to the right right data of at least one other physical page of the contiguous first instance page in order to judge whether to have in backup area before the first data are write to the first instance page, wherein in duplicative nonvolatile memory module these other physical page to being arranged in the right front of the first instance page.In addition, when not having the right data of these other physical page in backup area, memory management circuitry is also in order to from then on other physical page centerings data that these other physical page are right are temporary to backup area before the first data are write to the first instance page.
In one embodiment of this invention, each physical page is to also comprising physical page in.In addition, when the first instance page was the right upper physical page of the first instance page, Memory Controller was also in order to judge whether there are the data that belong to the right middle physical page of the first instance page in backup area before the first data are write to the first instance page.And, when in backup area, not having the data that belong to the right middle physical page of the first instance page, Memory Controller also in order to before the first data are write to the first instance page from the first instance page right will to belong to the data of the right middle physical page of the first instance page in the physical page temporary to backup area.
In one embodiment of this invention, above-mentioned memorizer memory devices also comprises memory buffer, wherein above-mentioned backup area memory buffer for this reason.
In one embodiment of this invention, above-mentioned Memory Controller also in order to above-mentioned physical blocks one of them is configured to above-mentioned backup area at least.
In one embodiment of this invention, above-mentioned Memory Controller is also in order to judge after the first data are write to the first instance page whether misprogrammed occurs on the first instance page.And, when when misprogrammed occurs in the first instance page, memory management circuitry also in order to the first data and the second data are write so far a little physical page among second instance page centering.
Based on above-mentioned, the method for writing data of exemplary embodiment of the present invention, Memory Controller and memorizer memory devices be writing of executing data reliably, avoids thus because of the misprogrammed lost data.
For above-mentioned feature and advantage of the present invention can be become apparent, embodiment cited below particularly, and cooperate accompanying drawing to be described in detail below.
Description of drawings
Figure 1A is host computer system and the memorizer memory devices shown according to the first exemplary embodiment.
Figure 1B is the synoptic diagram of shown computing machine, input/output device and the memorizer memory devices of the first exemplary embodiment according to the present invention.
Fig. 1 C is the shown host computer system of another exemplary embodiment and the synoptic diagram of memorizer memory devices according to the present invention.
Fig. 2 is the summary block scheme that shows the memorizer memory devices shown in Figure 1A.
Fig. 3 is the summary block scheme according to the shown Memory Controller of the first exemplary embodiment.
Fig. 4 A and Fig. 4 B are the synoptic diagram according to the physical blocks of the shown management duplicative of the first exemplary embodiment nonvolatile memory module.
Fig. 5~Fig. 7 writes the more example of new data according to the shown usefulness fructification block of the first exemplary embodiment.
Fig. 8 is the example schematic according to the shown chaotic physical blocks data writing of use of the first exemplary embodiment.
Fig. 9 A is the synoptic diagram that shows 4 rank NAND flash memory two stages formulas according to the embodiment of the invention.
Fig. 9 B is the example schematic according to the physical page of the shown physical blocks of the first exemplary embodiment.
Figure 10 is the process flow diagram according to the shown method for writing data of the 3rd exemplary embodiment.
Figure 11 is the process flow diagram of the shown method for writing data of another exemplary embodiment according to the present invention.
Figure 12 is the process flow diagram according to the shown method for writing data of the 4th exemplary embodiment.
Figure 13 is the process flow diagram of the shown method for writing data of another exemplary embodiment according to the present invention.
Reference numeral:
1000: host computer system
1100: computing machine
1102: microprocessor
1104: random access memory
1106: input/output device
1108: system bus
1110: data transmission interface
1202: mouse
1204: keyboard
1206: display
1208: printer
1212: Portable disk
1214: memory card
1216: solid state hard disc
1310: digital camera
The 1312:SD card
The 1314:MMC card
1316: memory stick
The 1318:CF card
1320: embedded storage device
100: memorizer memory devices
102: connector
104: Memory Controller
106: duplicative nonvolatile memory module
302: microcontroller
304: host interface
306: memory interface
308: Memory Management Unit
310: storer writes the unit
312: the storer reading unit
314: the storer unit of erasing
316: data processing unit
318: the data backup unit
320: memory buffer
410 (0)~410 (N): physical blocks
502: the data field
504: idle district
506: system region
508: replace the district
610 (0)~610 (H): logical blocks
710 (0)~710 (K): logic access address
900 (0)~900 (63): physical page pair
S1001, S1003, S1005, S1007, S1009: the step that data write
S1101, S1103: the step that data write
S1201, S1203, S1205, S1207, S1209, S1201, S1203: the step that data write
S1301, S1303: the step that data write
Embodiment
[the first exemplary embodiment]
Generally speaking, memorizer memory devices (also claiming memory storage system) comprises duplicative nonvolatile memory module and controller (also claiming control circuit).Usually memorizer memory devices is to use with host computer system, so that host computer system can write to data memorizer memory devices or reading out data from memorizer memory devices.
Figure 1A is host computer system and the memorizer memory devices shown according to the first exemplary embodiment.
Please refer to Figure 1A, host computer system 1000 generally comprises computing machine 1100 and I/O (input/output, I/O) device 1106.Computing machine 1100 comprises microprocessor 1102, random access memory (random access memory, RAM) 1104, system bus 1108 and data transmission interface 1110.Input/output device 1106 comprises mouse 1202, keyboard 1204, the display 1206 and printer 1208 such as Figure 1B.It must be appreciated, the unrestricted input/output device 1106 of the device shown in Figure 1B, input/output device 1106 can also comprise other devices.
In embodiments of the present invention, memorizer memory devices 100 is to be electrically connected by data transmission interface 1110 other elements with host computer system 1000.Data can be write to memorizer memory devices 100 or reading out data from memorizer memory devices 100 by microprocessor 1102, random access memory 1104 with the running of input/output device 1106.For example, memorizer memory devices 100 can be the duplicative non-volatile memory storage device of Portable disk 1212, memory card 1214 or solid state hard disc (Solid State Drive, SSD) 1216 etc. as shown in Figure 1B.
Generally speaking, host computer system 1000 can be any system that can cooperate with memorizer memory devices 100 with storage data substantially.Although in this exemplary embodiment, host computer system 1000 is to explain with computer system, yet host computer system 1000 can be the systems such as digital camera, video camera, communicator, audio player or video player in another exemplary embodiment of the present invention.For example, be digital camera (video camera) 1310 o'clock in host computer system, duplicative non-volatile memory storage device then is its employed SD card 1312, mmc card 1314, memory stick (memory stick) 1316, CF card 1318 or embedded storage device 1320 (shown in Fig. 1 C).Embedded storage device 1320 comprises embedded multi-media card (Embedded MMC, eMMC).It is worth mentioning that embedded multi-media card is directly to be electrically connected on the substrate of host computer system.
Fig. 2 is the summary block scheme that shows the memorizer memory devices shown in Figure 1A.
Please refer to Fig. 2, memorizer memory devices 100 comprises connector 102, Memory Controller 104 and duplicative nonvolatile memory module 106.
In this exemplary embodiment, connector 102 is to be compatible to Serial Advanced Technology Attachment (Serial Advanced Technology Attachment, SATA) standard.Yet, it must be appreciated, the invention is not restricted to this, connector 102 can also be to meet Institute of Electrical and Electric Engineers (Institute of Electrical and Electronic Engineers, IEEE) 1394 standards, parallel Advanced Technology Attachment (Parallel Advanced Technology Attachment, PATA) standard, high-speed peripheral component connecting interface (Peripheral Component Interconnect Express, PCIExpress) standard, USB (universal serial bus) (Universal Serial Bus, USB) standard, safe digital (Secure Digital, SD) interface standard, memory stick (Memory Stick, MS) interface standard, Multi Media Card (Multi Media Card, MMC) interface standard, compact flash (CompactFlash, CF) interface standard, integrated driving electrical interface (Integrated Device Electronics, IDE) standard or other standards that is fit to.
Memory Controller 104 is in order to carrying out a plurality of logic gates or the steering order with hardware pattern or firmware pattern implementation, and carries out the runnings such as writing, read, erase and merge of data in duplicative nonvolatile memory module 106 according to the instruction of host computer system 1000.
Duplicative nonvolatile memory module 106 is to be electrically connected to Memory Controller 104, and has the data that a plurality of physical blocks are write to store host computer system 1000.In this exemplary embodiment, each physical blocks has respectively a plurality of physical page, and the physical page that wherein belongs to same physical blocks can be write and side by side be erased independently.For example, each physical blocks is comprised of 128 physical page, and the capacity of each physical page is 4 kilobit tuples (Kilobyte, KB).Yet, it must be appreciated, the invention is not restricted to this.
In more detail, physical blocks is the least unit of erasing.That is each physical blocks contains the storage unit of being erased in the lump of minimal amount.Physical page is the minimum unit of programming.That is, physical page is the minimum unit of new data more.Yet, it must be appreciated that in another exemplary embodiment of the present invention, more the least unit of new data can also be entity sector or other sizes.Each physical page generally includes data bit element district and redundant bit district.The data bit element district is in order to storing user's data, and redundant bit district is in order to the data (for example, bug check and correcting code) of stocking system.
In this exemplary embodiment, duplicative nonvolatile memory module 106 is multi-level cell memory (Multi Level Cell, MLC) NAND flash memory module.Yet, the invention is not restricted to this, also other have the memory module of identical characteristics to duplicative nonvolatile memory module 106.
Fig. 3 is the summary block scheme according to the shown Memory Controller of the first exemplary embodiment.
Please refer to Fig. 3, Memory Controller 104 comprises that microcontroller 302, host interface 304, memory interface 306, Memory Management Unit 308, storer write unit 310, storer reading unit 312, storer erase unit 314, data processing unit 316, data backup unit 318 and memory buffer 320.
Microcontroller 302 is in order to the overall operation of control store controller 104.
Host interface 304 is instruction and the data that are electrically connected to microcontroller 302 and transmit in order to reception and identification host computer system 1000.In this exemplary embodiment, host interface 304 is to be compatible to the SATA standard.Yet, it must be appreciated to the invention is not restricted to this that host interface 304 can also be to be compatible to PATA standard, IEEE 1394 standards, PCI Express standard, USB standard, SD standard, MS standard, MMC standard, CF standard, IDE standard or other data transmission standards that is fit to.
Memory interface 306 is to be electrically connected to microcontroller 302 and in order to access duplicative nonvolatile memory module 106.That is to say that the data of wanting to write to duplicative nonvolatile memory module 106 can be converted to 106 receptible forms of duplicative nonvolatile memory module via memory interface 306.
It is to be electrically connected to microcontroller 302 with data backup unit 318 that Memory Management Unit 308, storer write erase unit 314, data processing unit 316 of unit 310, storer reading unit 312, storer.At this, Memory Management Unit 308 is in order to manage the physical blocks of duplicative nonvolatile memory module 106.Storer writes unit 310 and writes instruction data are write in the duplicative nonvolatile memory module 106 in order to duplicative nonvolatile memory module 106 is assigned.Storer reading unit 312 is in order to assign reading command with reading out data from duplicative nonvolatile memory module 106 to duplicative nonvolatile memory module 106.Storer is erased unit 314 in order to duplicative nonvolatile memory module 106 is assigned the instruction of erasing so that data are erased from duplicative nonvolatile memory module 106.And data processing unit 316 wants to write to the data of duplicative nonvolatile memory module 106 and the data that read in order to processing from duplicative nonvolatile memory module 106.Data backup unit 318 has write to the data of duplicative nonvolatile memory module 106 in order to backup.
Memory buffer 320 is to be electrically connected to microcontroller 302 and in order to the temporary data that come from the data and instruction of host computer system 1000 or come from duplicative nonvolatile memory module 106.For example, memory buffer 320 can be static RAM, dynamic RAM etc.
It must be appreciated that the shown Memory Controller of Fig. 3 only is an example, the invention is not restricted to this.For example, except above-mentioned microcontroller 302, host interface 304, memory interface 306, Memory Management Unit 308, storer write unit 310, storer reading unit 312, storer erase unit 314, data processing unit 316, data backup unit 318 and memory buffer 320, Memory Controller 104 also can also comprise electric power management circuit and bug check and correcting circuit.
Electric power management circuit is to be electrically connected to microcontroller 302 and in order to the power supply of control store storage device 100.
Bug check and correcting circuit are to be electrically connected to microcontroller 302 and in order to carry out an error-correcting routine to guarantee the correctness of data.Specifically, when host interface 304 receives main frame and writes instruction from host computer system 1000, bug check and correcting circuit can produce corresponding bug check and correcting code (Error Checking and Correcting Code for the data writing (also being called more new data) that corresponding this main frame writes instruction, ECC Code), and storer write unit 310 can with this more new data write in the duplicative nonvolatile memory module 106 with corresponding error-correcting code.Afterwards, when storer reading unit 312 can read error-correcting code corresponding to these data during reading out data simultaneously from duplicative nonvolatile memory module 106, and bug check and correcting circuit can be according to the data execution error correction program of this error-correcting code to reading.
Fig. 4 A and Fig. 4 B are the synoptic diagram according to the physical blocks of the shown management duplicative of the first exemplary embodiment nonvolatile memory module.
Please refer to Fig. 4 A, duplicative nonvolatile memory module 106 has physical blocks 410 (0)~410 (N), and the Memory Management Unit 308 of Memory Controller 104 can logically be grouped into physical blocks 410 (0)~410 (N) (or being assigned to) data field (data area) 502, idle district (spare area) 504, system region (system area) 506 and replace district (replacement area) 508.
The physical blocks that belongs in logic data field 502 and idle district 504 is the data that come from host computer system 1000 in order to storage.Specifically, the physical blocks of data field 502 (also being called the data entity block) is to be regarded as the physical blocks of storage data, and the physical blocks (also being called idle physical blocks) in idle district 504 is the physical blocks that write new data.For example, when receiving the data that write instruction and want to write from host computer system 1000, Memory Management Unit 308 can be extracted physical blocks from idle district 504, the data that data processing unit 316 meeting arrangements are wanted to write and storer write unit 310 and data can be write in the physical blocks of extracting.Again for example, when to a certain logical blocks executing data consolidation procedure, Memory Management Unit 308 can be extracted physical blocks as the new data physical blocks of corresponding this logical blocks from idle district 504, storer reading unit 312 can read the valid data that belong to this logical blocks from duplicative nonvolatile memory module 106, data processing unit 316 can be put these a little valid data in order, storer writes unit 310 and the valid data after the arrangement can be write in the new data physical blocks, and Memory Management Unit 308 can remap this logical blocks to the new data physical blocks.Particularly, after finishing the data consolidation procedure, the data entity block that Memory Management Unit 308 can store invalid data again related (or recovery) to idle district 504, with as the usefulness that writes new data next time.For example, erase unit 314 of storer can be associated to idle district 504 o'clock in physical blocks and this physical blocks is carried out erased running or when physical blocks is extracted this physical blocks is carried out the running of erasing from idle district 504, is the empty physical blocks that can be used for data writing so that distinguish the physical blocks of extracting 504 from leaving unused.
The physical blocks that belongs in logic system region 506 is in order to the register system data.For example, system data comprises about the manufacturer of duplicative nonvolatile memory module and model, the physical blocks number of duplicative nonvolatile memory module, physical page number of each physical blocks etc.
Belonging in logic the physical blocks that replaces in the district 508 is to replace program for bad physical blocks, with replacing damaged physical blocks.Specifically, if when replacing the physical blocks damage that still has normal physical blocks and data field 502 in the district 508, Memory Management Unit 308 can be extracted the physical blocks that normal physical blocks is changed damage from replace district 508.
Based on above-mentioned, in the running of memorizer memory devices 100, data field 502, idle district 504, system region 506 can dynamically change with the physical blocks that replaces district 508.For example, the physical blocks in order to the storage data of rotating can belong to data field 502 or idle district 504 with changing.
It is worth mentioning that in this exemplary embodiment, Memory Management Unit 308 is to manage take each physical blocks as unit.Yet, the invention is not restricted to this, in another exemplary embodiment, Memory Management Unit 308 also can be grouped into physical blocks a plurality of solid elements, and manages take solid element as unit.For example, each solid element can be comprised of at least one physical blocks in same memory chip (die) or the different memory chip.
Please refer to Fig. 4 B, Memory Management Unit 308 can configuration logic blocks 610 (0)~610 (H) with the physical blocks in mapping (enum) data district 502, wherein each logical blocks has a plurality of logical page (LPAGE)s and this a little logical page (LPAGE)s are the physical page of shining upon in order corresponding data entity block.For example, when memorizer memory devices 100 was formatted, logical blocks 610 (0)~610 (H) is the physical blocks 410 (0)~410 (F-1) in mapping (enum) data district 502 initially.
In exemplary embodiment of the present invention, Memory Management Unit 308 meeting service logic block-physical blocks mapping tables (logical block-physical block mapping table) are with the mapping relations between the physical blocks of record logical blocks 610 (0)~610 (H) and data field 502.In addition, host computer system 1000 is to come access data take the logic access address as unit.For example, a logic access address is a logic sector (Sector).When host computer system 1000 access data, Memory Management Unit 308 can convert the logic access address 710 (0)~710 (K) of corresponding stored device storage device 100 to the address in the corresponding logical page (LPAGE).For example, when host computer system 1000 is wanted a certain logic of access access address, Memory Management Unit 308 can be converted to the logic access address of 1000 accesses of host computer system the multi-dimensional address that logical blocks, logical page (LPAGE) and logic skew (offset) with correspondence are consisted of, and by logical blocks-physical blocks mapping table access data in the physical page of correspondence.At this, skew is a logic (or entity) address that is positioned in the logical page (LPAGE) (or physical page), it is to define the therewith distance between the start address of logical page (LPAGE) (or physical page) of logic (or entity) address for this reason, and wherein this logic (or entity) address also is called logic (entity) offset address.
Fig. 5~Fig. 7 writes the more example of new data according to the shown usefulness fructification block of the first exemplary embodiment.
Please be simultaneously with reference to Fig. 5~Fig. 7, for example, to map under the mapping status of physical blocks 410 (0) in logical blocks 610 (0), write instruction and want data writing when belonging to the logical page (LPAGE) of logical blocks 610 (0) when Memory Controller 104 receives from host computer system 1000, Memory Controller 104 can be to map to physical blocks 410 (0) and extract physical blocks 410 (F) physical blocks 410 (0) of rotating from idle district 504 according to logical blocks-physical blocks mapping table recognition logic block 610 (0) at present.Yet when new data write to physical blocks 410 (F), Memory Controller 104 can not moved all valid data in the physical blocks 410 (0) to physical blocks 410 (F) and the physical blocks 410 (0) of erasing at once.Specifically, storer reading unit 312 can read from physical blocks 410 (0) and want to write physical page valid data (that is, the 0th physical page of physical blocks 410 (0) and the data in the 1st physical page) before.Afterwards, storer writes unit 310 and can write in the 0th physical page of physical blocks 410 (F) and the 1st physical page (as shown in Figure 5) wanting to write valid data before the physical page in the physical blocks 410 (0), and new data is write in the 2nd~4 physical page of physical blocks 410 (F) (as shown in Figure 6).At this moment, Memory Controller 104 is namely finished the running that writes.Because the valid data in the physical blocks 410 (0) might be in next operation (for example, write instruction) in become invalidly, therefore at once the valid data in the physical blocks 410 (0) are moved to physical blocks 410 (F) and may be caused meaningless moving.In addition, data must write to the physical page in the physical blocks in order, therefore, storer writes unit 310, storer reading unit 312 and data processing unit 316 only can move first the valid data wanting to write before the physical page (namely, be stored in data in the 0th physical page of physical blocks 410 (0) and the 1st physical page), and wouldn't move all the other valid data (that is, being stored in data in the 5th~K physical page of physical blocks 410 (0)).
In this exemplary embodiment, the running of temporarily keeping these transient state relations is called unlatching (open) mother and child blocks, and former physical blocks (for example, above-mentioned physical blocks 410 (0)) is called female physical blocks and is called the fructification block in order to the physical blocks (for example, above-mentioned and physical blocks 410 (F)) of replacing female physical blocks.
Afterwards, in the time the data of physical blocks 410 (0) and physical blocks 410 (F) need to being merged (merge), Memory Controller 104 can be whole and to a physical blocks with the data of physical blocks 410 (F) with physical blocks 410 (0), promotes thus the service efficiency of physical blocks.At this, the running that merges mother and child blocks is called the data consolidation procedure or closes (close) mother and child blocks.For example, as shown in Figure 7, when closing mother and child blocks, storer reading unit 312 can read remaining valid data (namely from physical blocks 410 (0), data in the 5th~K physical page of physical blocks 410 (0)), afterwards, storer writes in the 5th physical page that unit 310 can write to remaining valid data in the physical blocks 410 (0) physical blocks 410 (F)~K physical page, and then the storer physical blocks 410 (0) of unit 314 after can carrying out erase operation for use and Memory Management Unit 308 and can will erase physical blocks 410 (0) of erasing is associated to idle district 504 and physical blocks 410 (F) is associated to data field 502.That is to say that Memory Management Unit 308 can remap logical blocks 610 (0) to physical blocks 410 (F) in logical blocks-physical blocks mapping table.In addition, in this exemplary embodiment, Memory Management Unit 308 can be set up idle district physical blocks table (not shown) and record the physical blocks that is associated at present idle district 504.It is worth mentioning that the number of physical blocks is limited in the idle district 504, base this, during memorizer memory devices 100 runnings, the number of the mother and child blocks group of having opened also can be restricted.Therefore, when memorizer memory devices 100 receive come from host computer system 1000 write instruction the time, reach in limited time if opened the number of mother and child blocks group, Memory Controller 104 need be closed and just can be carried out this after at least one group of mother and child blocks group of having opened at present and write instruction.
Write more the new data with the fructification block except above-mentioned, in this exemplary embodiment, in this exemplary embodiment, Memory Management Unit 308 also can be extracted at least one physical blocks as chaotic (Random) physical blocks, to write more new data from idle district 504.
Fig. 8 is the example schematic according to the shown chaotic physical blocks data writing of use of the first exemplary embodiment.
Please refer to Fig. 8, suppose that physical blocks 410 (S-1) is extracted as chaotic physical blocks and under storing state shown in Figure 6 when host computer system 1000 wants to write new data more to the 1st logical page (LPAGE) of logical blocks 610 (0), storer write unit 310 can with this more new data write in first empty physical page in the chaotic physical blocks (for example, the 0th physical page of physical blocks 410 (S-1)).
In this exemplary embodiment, when present employed chaotic physical blocks has been fully written, Memory Management Unit 308 can be extracted another physical blocks as new chaotic physical blocks again from idle district 504, until reach preset value as the number of the physical blocks of chaotic physical blocks.Specifically, the physical blocks in idle district 504 is limited, therefore, also can be restricted as the number of the physical blocks of chaotic physical blocks.When the number as the physical blocks of chaotic physical blocks reaches preset value, Memory Management Unit 308, storer write unit 310, storer reading unit 312 and the storer unit 314 of erasing can carry out above-mentioned data consolidation procedure synergistically, and the chaotic physical blocks that stored data are all invalid data is carried out the physical blocks of erasing running and will erase and is associated to idle district 504.Thus, when the execution next one write instruction, Memory Management Unit 308 just can be extracted empty physical blocks as chaotic physical blocks from idle district 504 again.
It is worth mentioning that, although Fig. 8 is the data with the logical page (LPAGE) that upgrades when host computer system 1000 wishs when being written into the fructification block, with this more the new data example that can write to chaotic physical blocks explain, but the use-pattern of chaotic physical blocks is not limited to this.For example, in another exemplary embodiment of the present invention, storer writes unit 310 also can directly directly write to first chaotic physical blocks with the more new data that comes from host computer system 1000, and afterwards, Memory Management Unit 308, storer write unit 310, storer reading unit 312 and the storer valid data that unit 314 will belong to a logical blocks more synergistically of erasing and are incorporated into from idle district 504 empty physical blocks of extracting.
In this exemplary embodiment, duplicative nonvolatile memory module 106 is MLCNAND type flash memory module.Specifically, NAND type flash memory module can be divided into MLC NAND type flash memory module and single-order layer storage unit (Single-Level Cell, SLC) NAND type flash memory module according to the storable data bit element number of each storage unit.Each storage unit of SLC NAND type flash memory module only can store 1 bit data, and each storage unit of MLC NAND type flash memory module can store the bit data more than at least 2.For example, take 4 rank storage unit NAND type flash memory modules as example, each storage unit can store 2 bit data (that is, " 11 ", " 10 ", " 00 " and " 01 ").The base this, can divide into 2 stages to 4 writing of rank storage unit flash memory module.Phase one is writing of lower physical page (lower physical page), and subordinate phase is write (shown in Fig. 9 A) of upper physical page (upper physical page), wherein descends the writing speed of physical page can be faster than upper physical page.Therefore, the physical page of each physical blocks of MLC NAND type flash memory module can be divided at a slow speed physical page (that is, upper physical page) and quick physical page (that is, lower physical page).Particularly, compared to upper physical page, the storage fiduciary level of lower physical page is higher.Similarly, in the case of 8 rank storage unit NAND type flash memory modules or 16 rank storage unit NAND type flash memory modules, storage unit can store more multidigit metadata and can be so that more the multistage writes.For example, in 8 rank storage unit NAND type flash memory modules, the physical page of each physical blocks can be divided at a slow speed physical page (that is, upper physical page), middling speed physical page (namely, middle physical page and quick physical page (that is, lower physical page).
Fig. 9 B is the example schematic according to the physical page of the shown physical blocks of the first exemplary embodiment, and it shows the physical page configuration of the physical blocks of 4 rank storage unit flash memory modules.
Please refer to Fig. 9 B, physical blocks has 127 physical page and this a little physical page can be grouped into the physical page of sequentially arranging to 900 (0)~900 (63), and wherein each physical page is to being comprised of a upper physical page and a lower physical page.
It is worth mentioning that, the right physical page of physical page is comprised of same group of storage unit, and upper physical page is just can be programmed (shown in Fig. 9 A) after lower physical page is finished programming, therefore, if when misprogrammed occurs upper physical page, therefore the data that have been stored on the lower physical page may be lost.
Lose because of the misprogrammed of upper physical page for fear of the data that are stored in lower physical page, in this exemplary embodiment, when storer writes unit 310 data (hereinafter referred to as the first data) (are for example write to physical blocks, above-mentioned fructification block or chaotic physical blocks) physical page (hereinafter referred to as the first instance page) before, data backup unit 318 can judge whether the first instance page belongs to physical page.If storer writes the physical page of wanting to write in unit 310 when belonging to physical page, data backup unit 318 can judge whether backup area has the data (hereinafter referred to as the second data) that write the right lower physical page (hereinafter referred to as physical page under the correspondence) of the affiliated physical page of physical page so far.When if backup area has the second data that do not write so far corresponding lower physical page, from then on data backup unit 318 can designation data reading units 312 reads the second data in the corresponding lower physical page and the second data that read is temporarily stored in the backup area.After determining that backup area has the second data that write physical page under the correspondence so far, storer writes unit 310 just can carry out programming instruction to write the first data to the first instance page.
Afterwards, after the first data were write to the first instance page, Memory Management Unit 308 can judge whether to occur misprogrammed.Particularly, if when misprogrammed occurs, Memory Management Unit 308 can reselect another physical page to and storer write unit 310 and the first data and the second data can be write to the physical page centering that reselects.
For example, take Fig. 9 A as example, before storer write unit 310 wish data writings to the, 9 physical page, data backup unit 318 can judge whether backup area has the data that write to the 3rd physical page.When if backup area does not have the data that write to the 3rd physical page, data backup unit 318 can designation data reading units 312 from the 3rd physical page reading out data and the data that read are temporary in the backup area.
In this exemplary embodiment, backup area is memory buffer 320.Yet, the invention is not restricted to this, in another exemplary embodiment of the present invention, Memory Management Unit 308 also can be extracted at least one physical blocks and this physical blocks is used as backup area from leave unused district 504 or system region 506.
Based on above-mentioned, when writing running, can effectively guarantee 104 pairs of duplicative nonvolatile memories of Memory Controller module 106 of this exemplary embodiment the reliability of the data that writes.
It is worth mentioning that, although in this exemplary embodiment, be to explain with 4 rank storage unit flash memory modules, the invention is not restricted to this.For example, take 8 rank storage unit flash memory modules as example, the data of physical page during data backup unit 318 also can back up.Specifically, data are being write on right one of physical page before the physical page, except the data of the lower physical page that this physical page is right are kept in to backup area, data backup unit 318 judges also whether backup area has the data of the right middle physical page of this physical page, if and backup area is not when having the data of the right middle physical page of this physical page, the data backup unit 318 also data of the middle physical page that this physical page is right is temporary to backup area.
[the second exemplary embodiment]
Be the memorizer memory devices that is same as the first exemplary embodiment on the structural nature of the memorizer memory devices of the second exemplary embodiment, its difference only is that the Memory Controller of the second exemplary embodiment also can back up the data that write in other lower physical page.Below cooperation is disclosed in the first exemplary embodiment hardware element the difference part of the second exemplary embodiment and the first exemplary embodiment is described.
As mentioned above, when when misprogrammed occurs a right upper physical page of physical page, the data of the lower physical page that this physical page is right also may be lost.Particularly, in some cases, the data that are adjacent in these other lower physical page of descending physical page also may be lost.
Be head it off, in the second exemplary embodiment, in that the data of physical page under the correspondence are temporary to backup area, the data (hereinafter referred to as the 3rd data) of other lower physical page that whether have contiguous this corresponding lower physical page in the backup area also can be judged in data backup unit 318.If when not having the 3rd data in the backup area, data backup unit 318 also can designation data reading unit 312 reading out data and the data that read are temporary in the backup area in other lower physical page from then on.
For example, take Fig. 9 A as example, before storer write unit 310 wish data writings to the, 9 physical page, data backup unit 318 can judge whether backup area has the data that write to the 3rd physical page.When if backup area does not have the data that write to the 3rd physical page, data backup unit 318 can designation data reading units 312 from the 3rd physical page reading out data and the data that read are temporary in the backup area.Afterwards, data backup unit 318 can judge also whether backup area has the data that write to the 2nd physical page.When if backup area does not have the data that write to the 2nd physical page, data backup unit 318 can designation data reading units 312 from the 2nd physical page reading out data and the data that read are temporary in the backup area.It must be appreciated, although be take other lower physical page as example explains, the invention is not restricted to this in this exemplary embodiment.In another exemplary embodiment of the present invention, data backup unit 318 also can judge whether backup area (for example has other a plurality of lower physical page, 2nd, the data physical page such as 1,0), and back up the data of a plurality of other lower physical page, to guarantee that more these a little data of losing can be responded when Missing data occurs.
It is worth mentioning that, although in this exemplary embodiment, temporary to backup area in the data of the corresponding lower physical page of upper physical page that will want to write, data backup unit 318 is that the data to other lower physical page of contiguous this corresponding lower physical page back up, yet the invention is not restricted to this.In another exemplary embodiment of the present invention, before data being write to the right upper physical page of physical page, except the data of the lower physical page that this physical page is right are kept in to backup area, data backup unit 318 also judge backup area whether have be arranged in this physical page to before other physical page to (for example, be arranged in the right previous physical page of this physical page to) data, if and backup area do not have when being arranged in this physical page to the right data of before other physical page, it is temporary to backup area to the right data of before other physical page that data backup unit 318 also will be arranged in this physical page.That is to say, may all can be kept in to backup area because of the right data of other physical page that the upper physical page of programming affects.
[the 3rd exemplary embodiment]
In the first exemplary embodiment, it is to come implementation with hardware structure that Memory Management Unit, storer write erase unit, data processing unit and data backup unit of unit, storer reading unit, storer, but the invention is not restricted to this.In the 3rd exemplary embodiment, Memory Management Unit, storer write unit, storer reading unit, the storer performed function in unit, data processing unit and data backup unit of erasing can also the firmware pattern come implementation.
For example, the above-mentioned Memory Management Unit of implementation, storer write the erase steering order of function of unit, data processing unit and data backup unit of unit, storer reading unit, storer and can be burned onto in the ROM (read-only memory) that is disposed at Memory Controller.When memorizer memory devices 100 running, these a little steering orders can be carried out by microcontroller.
In addition, in another exemplary embodiment of the present invention, implementation Memory Management Unit, storer write the erase steering order of function of unit, data processing unit and data backup unit of unit, storer reading unit, storer and can also the procedure code pattern be stored in the specific region (for example, being exclusively used in the system region of storage system data in the duplicative nonvolatile memory module) of duplicative nonvolatile memory module.For example, ROM (read-only memory) (not shown) and random access memory (not shown) can be configured in the Memory Controller, and this ROM (read-only memory) has a driving code section.When Memory Controller was enabled, microcontroller can be carried out first this and drive the code section and will be stored in steering order in the duplicative nonvolatile memory module and be written into so far in the random access memory, reruns afterwards this a little steering orders.
That is to say that the data that the first exemplary embodiment discloses write running can also come implementation by procedure code.Below with the running of this procedure code of flowchart text.
Figure 10 is the process flow diagram according to the shown method for writing data of the 3rd exemplary embodiment.
Please refer to Figure 10, at step S1001, reception writes instruction and writes the data (hereinafter referred to as the first data) of instruction with corresponding this.
In step S1003, judge whether the physical page (hereinafter referred to as the first instance page) of wanting to write these the first data is upper physical page.
If the first instance page is non-when being upper physical page, in step S1005, the first data are write to the first instance page.Specifically, can be transmitted to duplicative nonvolatile memory module 106 for the programming instruction that the first data is write to the first instance page.
When if the first instance page is upper physical page, in step S1007, judge in backup area, whether have the physical page that has been written under the first instance page to (hereinafter referred to as the first instance page to) lower physical page in data (hereinafter referred to as the second data).
When if backup area has the second data, above-mentioned steps S1005 can be performed.
When if backup area does not have the second data, in step S1009, from the right lower physical page of the first instance page, read the second data and the second data that read are temporary to backup area.Afterwards, step S1005 can be performed.
It is worth mentioning that, the flow process of Figure 10 can also be included in after the execution in step S1005, whether judgement misprogrammed occurs on the first instance page, and when when misprogrammed occurs the first instance page, the first data and the second data is write to another physical page centering.For example, another physical page to (hereinafter referred to as the second instance page to) can be selected and the first data can be written into the right lower physical page of the second instance page and the second data can be written into the right upper physical page of the second instance page.
Although in this exemplary embodiment, be to explain with 4 rank storage unit flash memory modules, the invention is not restricted to this.For example, take 8 rank storage unit flash memory modules as example, the flow process of Figure 10 can also comprise: before data being write to the right upper physical page of the first instance page, judge whether backup area has the data of the right middle physical page of the first instance page (such as the step S1101 of Figure 11); And if backup area is not when having the data of the right middle physical page of the first instance page, the data of the middle physical page that the first instance page is right are temporary to backup area (such as the step S1103 of Figure 11).
[the 4th exemplary embodiment]
In the second exemplary embodiment, it is to come implementation with hardware structure that Memory Management Unit, storer write erase unit, data processing unit and data backup unit of unit, storer reading unit, storer, but the invention is not restricted to this.In the 4th exemplary embodiment, Memory Management Unit, storer write unit, storer reading unit, the storer performed function in unit, data processing unit and data backup unit of erasing can also the firmware pattern come implementation.
That is to say that the data that the second exemplary embodiment discloses write running can also come implementation by procedure code.Below with the running of this procedure code of flowchart text.
Figure 12 is the process flow diagram according to the shown method for writing data of the 4th exemplary embodiment.
Please refer to Figure 12, at step S1201, reception writes instruction and writes the data (hereinafter referred to as the first data) of instruction with corresponding this.
In step S1203, judge whether the physical page (hereinafter referred to as the first instance page) of wanting to write these the first data is upper physical page.
If the first instance page is non-when being upper physical page, in step S1205, the first data are write to the first instance page.Specifically, can be transmitted to duplicative nonvolatile memory module 106 for the programming instruction that the first data is write to the first instance page.
When if the first instance page is upper physical page, in step S1207, judge in backup area, whether have the physical page that has been written under the first instance page to (hereinafter referred to as the first instance page to) lower physical page in data (hereinafter referred to as the second data).
When if backup area has the second data, above-mentioned steps S1205 can be performed.
When if backup area does not have the second data, in step S1209, from the right lower physical page of the first instance page, read the second data and the second data that read are temporary to backup area.
Afterwards, in step S1211, judge whether the spare area has the data (hereinafter referred to as the 3rd data) of other lower physical page that have been written into the right lower physical page of the contiguous first instance page.
When if backup area has the 3rd data, above-mentioned steps S1205 can be performed.
When if backup area does not have the 3rd data, in step S1213, from other lower physical page of the right lower physical page of the contiguous first instance page, read the 3rd data and the 3rd data that read are temporary to backup area.Afterwards, step S1205 can be performed.
It is worth mentioning that, although in this exemplary embodiment, the flow process of Figure 12 is temporary to backup area in the data of the corresponding lower physical page of upper physical page that will want to write, data to other lower physical page of physical page under contiguous this correspondence back up, yet the invention is not restricted to this.For example, as shown in figure 13, according to the present invention the data of another exemplary embodiment write flow process be judge backup area whether have be arranged in this physical page to before other physical page to (for example, be arranged in the right previous physical page of this physical page to) data (step S1301), if and backup area do not have when being arranged in this physical page to the right data of before other physical page, temporary to backup area (step S1303) to the right data of before other physical page with being arranged in this physical page.
In sum, the method for writing data of exemplary embodiment of the present invention, Memory Controller and memorizer memory devices can be guaranteed the fiduciary level of data when data being write to duplicative nonvolatile memory module.
Although the present invention discloses as above with embodiment, so it is not to limit the present invention, any under those of ordinary skill in the technical field, when can doing a little change and retouching, and do not break away from the spirit and scope of the present invention.

Claims (21)

1. method for writing data, be used for a duplicative nonvolatile memory module, wherein this duplicative nonvolatile memory module has a plurality of physical blocks, each those physical blocks has a plurality of physical page of sequentially arranging, those physical page are grouped into sequentially a plurality of physical page of arranging pair, each those physical page is to comprising at least physical page on the physical page and, data writing extremely is somebody's turn to do the upward speed of physical page to the speed of this time physical page greater than data writing, and this method for writing data comprises:
Receive one write instruction with to writing one first data of instruction;
These first data are write to the first instance page among those physical page, wherein this first instance page belong to those physical page among the first instance page pair;
Before these first data are write to this first instance page, judge this first instance page whether be this first instance page right should on physical page;
When this first instance page be this first instance page right should upper physical page the time, judged whether there are one second data in a backup area before these first data are write to this first instance page, wherein these second data have been written in right this time physical page of this first instance page; And
When this backup area does not have these second data, before being write to this first instance page, these first data read these second data and these second data that read are temporary to this backup area right this time physical page from this first instance page.
2. method for writing data according to claim 1 wherein also comprises:
When this first instance page be this first instance page right should upper physical page the time, judged whether there are one the 3rd data before these first data are write to this first instance page in this backup area, wherein the 3rd data are close in other lower physical page of right this time physical page of this first instance page among being written into those physical page; And
When in this backup area, not having the 3rd data, before being write to this first instance page, these first data under these other, read the 3rd data and the 3rd data that read are temporary to this backup area the physical page.
3. method for writing data according to claim 1 wherein also comprises:
When this first instance page be this first instance page right should upper physical page the time, before these first data are write to this first instance page, judge in this backup area, whether have belong to those physical page among the right right data of at least one other physical page of contiguous this first instance page, wherein in this duplicative nonvolatile memory module these at least one other physical page to being arranged in the right front of this first instance page; And
When not having the right data of these at least one other physical page in this backup area, at least one other physical page centerings data that these at least one other physical page are right are temporary to this backup area from this before these first data are write to this first instance page.
4. method for writing data according to claim 1, wherein each those physical page is to also comprising physical page in, and this method for writing data also comprises:
When this first instance page be this first instance page right should upper physical page the time, before these first data are write to this first instance page, judge in this backup area, whether have belong to this first instance page right should in the data of physical page; And
When in this backup area, do not have belong to this first instance page right should in during the data of physical page, before these first data are write to this first instance page from this first instance page right should will belong in the physical page this first instance page right should in the data of physical page keep in to this backup area.
5. method for writing data according to claim 1, wherein this backup area is a memory buffer.
6. method for writing data according to claim 1 wherein also comprises:
With those physical blocks one of them is configured to this backup area at least.
7. method for writing data according to claim 1 wherein also comprises:
After these first data are write to this first instance page, judge on this first instance page, whether a misprogrammed to occur; And
When this misprogrammed occurs in this first instance page, with these first data and this second data write to those physical page among a second instance page centering.
8. Memory Controller, be used for operation one duplicative nonvolatile memory module, wherein this duplicative nonvolatile memory module has a plurality of physical blocks, each those physical blocks has a plurality of physical page of sequentially arranging, those physical page are grouped into sequentially a plurality of physical page of arranging pair, each those physical page is to comprising at least physical page on the physical page and, data writing extremely is somebody's turn to do the upward speed of physical page to the speed of this time physical page greater than data writing, and this Memory Controller comprises:
One host interface is in order to be electrically connected to a host computer system;
One memory interface is in order to be electrically connected to this duplicative nonvolatile memory module; And
One memory management circuitry is electrically connected to this host interface and this memory interface.
Wherein this memory management circuitry in order to receive one write instruction with to writing one first data of instruction, and these first data are write to the first instance page among those physical page, wherein this first instance page belong to those physical page among the first instance page pair
Wherein this memory management circuitry also in order to before these first data are write to this first instance page, judge this first instance page whether be this first instance page right should on physical page,
Wherein when this first instance page be this first instance page right should upper physical page the time, this memory management circuitry is also in order to judge whether there are one second data in a backup area before these first data are write to this first instance page, wherein these second data have been written in right this time physical page of this first instance page
Wherein when this backup area does not have these second data, this memory management circuitry is also in order to read these second data and these second data that read are temporary to this backup area from this first instance page right this time physical page before these first data are write to this first instance page.
9. Memory Controller according to claim 8,
Wherein when this first instance page be this first instance page right should upper physical page the time, this memory management circuitry is also in order to judge whether there are one the 3rd data in this backup area before these first data are write to this first instance page, wherein the 3rd data are close in other lower physical page of right this time physical page of this first instance page among being written into those physical page
Wherein when not having the 3rd data in this backup area, this memory management circuitry is also in order to read the 3rd data and the 3rd data that read are temporary to this backup area the physical page under these other before these first data are write to this first instance page.
10. Memory Controller according to claim 8,
Wherein when this first instance page be this first instance page right should upper physical page the time, this memory management circuitry also in order to before these first data are write to this first instance page, judge in this backup area, whether have belong to those physical page among the right right data of at least one other physical page of contiguous this first instance page, wherein in this duplicative nonvolatile memory module these at least one other physical page to being arranged in the right front of this first instance page
Wherein when in this backup area, not having the right data of these at least one other physical page, this memory management circuitry also in order to before these first data are write to this first instance page from this at least one other physical page centerings data that these at least one other physical page are right temporary to this backup area.
11. Memory Controller according to claim 8, wherein each those physical page is to also comprising physical page in,
Wherein when this first instance page be this first instance page right should upper physical page the time, this memory management circuitry also in order to before these first data are write to this first instance page, judge in this backup area, whether have belong to this first instance page right should in the data of physical page
Wherein when in this backup area, do not have belong to this first instance page right should in during the data of physical page, this memory management circuitry also in order to before these first data are write to this first instance page from this first instance page right should will belong in the physical page this first instance page right should in the data of physical page keep in to this backup area.
12. Memory Controller according to claim 8 comprises also that wherein a memory buffer and this backup area are this memory buffer.
13. money Memory Controller according to claim 8, wherein this memory management circuitry also in order to those physical blocks one of them is configured to this backup area at least.
14. Memory Controller according to claim 8,
Wherein whether this memory management circuitry also on this first instance page a misprogrammed occurs in order to judgement after these first data are write to this first instance page,
Wherein when when this misprogrammed occurs in this first instance page, this memory management circuitry also in order to these first data and this second data are write to those physical page among a second instance page centering.
15. a memorizer memory devices comprises:
One duplicative nonvolatile memory module, have a plurality of physical blocks, wherein each those physical blocks has a plurality of physical page of sequentially arranging, those physical page are grouped into sequentially a plurality of physical page of arranging pair, each those physical page is to comprising at least physical page on the physical page and, and data writing to the speed of this time physical page greater than data writing to speed that should upper physical page;
A connector is in order to be electrically connected to a host computer system; And
One Memory Controller is electrically connected to this duplicative nonvolatile memory module and this connector.
Wherein this Memory Controller in order to receive one write instruction with to writing one first data of instruction, and these first data are write to the first instance page among those physical page, wherein this first instance page belong to those physical page among the first instance page pair
Wherein this Memory Controller also in order to before these first data are write to this first instance page, judge this first instance page whether be this first instance page right should on physical page,
Wherein when this first instance page be this first instance page right should upper physical page the time, this Memory Controller is also in order to judge whether there are one second data in a backup area before these first data are write to this first instance page, wherein these second data have been written in right this time physical page of this first instance page
Wherein when this backup area does not have these second data, this Memory Controller is also in order to read these second data and these second data that read are temporary to this backup area from this first instance page right this time physical page before these first data are write to this first instance page.
16. memorizer memory devices according to claim 15,
Wherein when this first instance page be this first instance page right should upper physical page the time, this Memory Controller is also in order to judge whether there are one the 3rd data in this backup area before these first data are write to this first instance page, wherein the 3rd data are close in other lower physical page of right this time physical page of this first instance page among being written into those physical page
Wherein when not having the 3rd data in this backup area, this Memory Controller is also in order to read the 3rd data and the 3rd data that read are temporary to this backup area the physical page under these other before these first data are write to this first instance page.
17. memorizer memory devices according to claim 15,
Wherein when this first instance page be this first instance page right should upper physical page the time, this Memory Controller also in order to before these first data are write to this first instance page, judge in this backup area, whether have belong to those physical page among the right right data of at least one other physical page of contiguous this first instance page, wherein in this duplicative nonvolatile memory module these at least one other physical page to being arranged in the right front of this first instance page
Wherein when in this backup area, not having the right data of these at least one other physical page, this memory management circuitry also in order to before these first data are write to this first instance page from this at least one other physical page centerings data that these at least one other physical page are right temporary to this backup area.
18. memorizer memory devices according to claim 15, wherein each those physical page is to also comprising physical page in,
Wherein when this first instance page be this first instance page right should upper physical page the time, this Memory Controller also in order to before these first data are write to this first instance page, judge in this backup area, whether have belong to this first instance page right should in the data of physical page
Wherein when in this backup area, do not have belong to this first instance page right should in during the data of physical page, this Memory Controller also in order to before these first data are write to this first instance page from this first instance page right should will belong in the physical page this first instance page right should in the data of physical page keep in to this backup area.
19. memorizer memory devices according to claim 15 also comprises a memory buffer, wherein this backup area is this memory buffer.
20. money memorizer memory devices according to claim 15, wherein this Memory Controller also in order to those physical blocks one of them is configured to this backup area at least.
21. memorizer memory devices according to claim 15,
Wherein whether this Memory Controller also on this first instance page a misprogrammed occurs in order to judgement after these first data are write to this first instance page,
Wherein when when this misprogrammed occurs in this first instance page, this memory management circuitry also in order to these first data and this second data are write to those physical page among a second instance page centering.
CN201110287862.3A 2011-09-26 2011-09-26 Method for writing data, Memory Controller and memorizer memory devices Active CN103019952B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110287862.3A CN103019952B (en) 2011-09-26 2011-09-26 Method for writing data, Memory Controller and memorizer memory devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110287862.3A CN103019952B (en) 2011-09-26 2011-09-26 Method for writing data, Memory Controller and memorizer memory devices

Publications (2)

Publication Number Publication Date
CN103019952A true CN103019952A (en) 2013-04-03
CN103019952B CN103019952B (en) 2016-05-18

Family

ID=47968577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110287862.3A Active CN103019952B (en) 2011-09-26 2011-09-26 Method for writing data, Memory Controller and memorizer memory devices

Country Status (1)

Country Link
CN (1) CN103019952B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252600A (en) * 2013-06-27 2014-12-31 群联电子股份有限公司 Data protection method, memory controller and memory storage device
CN105718387A (en) * 2014-12-18 2016-06-29 爱思开海力士有限公司 Data Storage Device And Operating Method Thereof
CN107402716A (en) * 2016-05-20 2017-11-28 合肥兆芯电子有限公司 Method for writing data, memory control circuit unit and internal storing memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066102A (en) * 2005-08-31 2007-03-15 Matsushita Electric Ind Co Ltd Memory controller, nonvolatile storage device, and nonvolatile storage system
US20090070529A1 (en) * 2007-09-12 2009-03-12 Mee Bryan J Data protection after possible write abort or erase abort
US20090172256A1 (en) * 2007-12-31 2009-07-02 Phison Electronics Corp. Data writing method for flash memory, and flash memory controller and storage device thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066102A (en) * 2005-08-31 2007-03-15 Matsushita Electric Ind Co Ltd Memory controller, nonvolatile storage device, and nonvolatile storage system
US20090070529A1 (en) * 2007-09-12 2009-03-12 Mee Bryan J Data protection after possible write abort or erase abort
US20090172256A1 (en) * 2007-12-31 2009-07-02 Phison Electronics Corp. Data writing method for flash memory, and flash memory controller and storage device thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252600A (en) * 2013-06-27 2014-12-31 群联电子股份有限公司 Data protection method, memory controller and memory storage device
CN104252600B (en) * 2013-06-27 2017-08-11 群联电子股份有限公司 Data guard method, Memory Controller and memorizer memory devices
CN105718387A (en) * 2014-12-18 2016-06-29 爱思开海力士有限公司 Data Storage Device And Operating Method Thereof
CN107402716A (en) * 2016-05-20 2017-11-28 合肥兆芯电子有限公司 Method for writing data, memory control circuit unit and internal storing memory

Also Published As

Publication number Publication date
CN103019952B (en) 2016-05-18

Similar Documents

Publication Publication Date Title
TWI470431B (en) Data writing method, memory controller and memory storage apparatus
US9652330B2 (en) Method for data management and memory storage device and memory control circuit unit
CN104699413A (en) Data management method, memorizer saving device and memorizer control circuit unit
CN102890655B (en) Memory storage device, memory controller and valid data recognition method thereof
CN102592670B (en) Method for writing data, Memory Controller and memorizer memory devices
CN103136111A (en) Data writing method, memorizer controller and memorizer storage device
CN103678162B (en) System data storage method, memory controller and memory storage device
CN102968385B (en) Method for writing data, Memory Controller and storage device
CN102866861B (en) Flash memory system, flash controller and method for writing data
CN102567221B (en) Data management method, memory controller and memory storage device
CN104978149A (en) Data write-in method, memory control circuit unit and memory storage device
CN102902626A (en) Block management method, memory controller and memory storing device
CN102915273A (en) Data writing method, memory controller and memory storage device
TWI446170B (en) Data writing method, memory controller and memory storage apparatus
CN102890653A (en) Instruction executing method, memory controller and memory storage device
CN102999437A (en) Data transfer method, memory controller and memory storage device
CN103019952A (en) Data write-in method, memory controller and memory storage device
CN104731710A (en) Memory management method, memory control circuit unit and memory storage device
CN104238956A (en) Method for writing data, controller of storage, and storage device of storage
CN103365790A (en) Storage controller, storing device and data writing method
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
CN102467459B (en) Data write method, memory controller and memory device
CN103176910B (en) For the data merging method of nonvolatile memory, controller and storage device
CN102779551B (en) Data writing method, storage controller and memory storage device
CN102736985B (en) data merging method, controller and storage device

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