CN103019952B - Method for writing data, Memory Controller and memorizer memory devices - Google Patents

Method for writing data, Memory Controller and memorizer memory devices Download PDF

Info

Publication number
CN103019952B
CN103019952B CN201110287862.3A CN201110287862A CN103019952B CN 103019952 B CN103019952 B CN 103019952B CN 201110287862 A CN201110287862 A CN 201110287862A CN 103019952 B CN103019952 B CN 103019952B
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.)
Active
Application number
CN201110287862.3A
Other languages
Chinese (zh)
Other versions
CN103019952A (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

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

A kind of method for writing data, Memory Controller and memorizer memory devices, for duplicative nonvolatile memory module, wherein duplicative nonvolatile memory module has multiple lower physical page and the multiple upper physical page of corresponding time physical page respectively. Before this method is included in the first data are write to physical page, judge whether this physical page is upper physical page; In the time that this physical page is upper physical page, judge the second data that whether have the lower physical page that has been written into corresponding this physical page in backup area; And in the time that backup area does not have the second data, before the first data being write to physical page so far from corresponding this physical page in physical page by the second data backup to backup area. Base this, this method can be avoided the Missing data causing because of misprogrammed effectively.

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 a kind of non-volatile for duplicativeProperty memory module method for writing data and use Memory Controller and the memory of the methodStorage device.
Background technology
Digital camera, mobile phone and MP3 are very rapid in growth over the years, make consumer coupleThe demand of Storage Media also increases rapidly. Due to duplicative nonvolatile memory (rewritableNon-volatilememory) have that data are non-volatile, power saving, volume are little, machinery-free structure,The characteristics such as read or write speed is fast, are suitable for portable electronic product most, for example notebook computer. GuState hard disk is exactly a kind of storage device using flash memory as Storage Media. Therefore, in recent years dodgeSpeed memory industry becomes a ring quite popular in electronic industry.
Along with the development of manufacture of semiconductor technology, multi-level cell memory (MultiLevelCell, MLC)Anti-and (NAND) flash memory module used widely. Because MLCNAND dodgesSpeed memory physical characteristic, electric charge meeting in the time of the physical page (physicalpage) of programming partMore unstable and contiguous physical page may be affected. For example, dodge with 4 rank NANDSpeed memory module is example, and each physical blocks has multiple physical page and this little physical pageFace can be divided into multiple lower physical page with respectively corresponding this bit on lower physical page multiplePhysical page, on one of them, physical page can a corresponding lower physical page. That is to say positionMemory cell on identical character line can form a physical page pair, and this physical pageTo comprising a lower physical page and a upper physical page. Data write to the speed of lower physical pageDegree is greater than data and writes to the speed of physical page, and therefore, lower physical page is also called quick realityThe body page and upper physical page are also called physical page at a slow speed. Particularly, physical page in programmingWhile there is misprogrammed during this time, be stored in corresponding data in the lower physical page of physical page on thisAlso may lose.
Therefore, dodge with respect to single-order memory cell (SingleLevelCell, SLC) NANDSpeed memory module, though MLCNAND flash memory module capacity is larger, storing canPoor by degree. Therefore, there is the development of needs can increase MLCNAND flash memory moduleThe method for writing data of reliability.
Summary of the invention
The invention provides a kind of method for writing data and Memory Controller, it can promote effectivelyData writing is to the reliability 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, non-for a duplicativeVolatile memory module, wherein duplicative nonvolatile memory module has multiple entities districtPiece, each physical blocks has multiple physical page of sequentially arranging, and these a little physical page are groupedFor sequentially arrange multiple physical page pair, each physical page at least comprise lower physical page withUpper physical page, data writing to the speed of lower physical page is greater than the supreme physical page of data writingSpeed. Notebook data wiring method comprises receiving and writes instruction and write the first several of instruction with corresponding thisAccording to and the first data are write so far to the first instance page among a little physical page, wherein firstPhysical page belong to these a little physical page among the first instance page pair. Notebook data wiring methodBe also included within the first data are write to before the first instance page to whether judge the first instance pageFor the right upper physical page of the first instance page. Notebook data wiring method also comprises, works as first instanceWhen the page is the right upper physical page of the first instance page, the first data are being write to first instanceBefore the page, judge in backup area, whether there are the second data, wherein the second data are written intoIn the right lower physical page of the first instance page. Notebook data wiring method also comprises, when backup area notWhile having the second data, before the first data are write to the first instance page from first instance pageIn the lower physical page of facing, read the second data and the second read data are kept in to standbyIn part district.
In one embodiment of this invention, above-mentioned method for writing data also comprises, works as first instanceWhen the page is the right upper physical page of the first instance page, the first data are being write to first instanceBefore the page, judge in backup area, whether there are the 3rd data, wherein the 3rd data are written intoAmong these a little physical page, be close to other lower physical page of the right lower physical page of the first instance pageIn face. In addition, notebook data write method also comprises, when do not have the 3rd data in backup area time,Before being write to the first instance page, the first data from then on read the in other lower physical pageThree data and the 3rd read data are kept in to backup area.
In one embodiment of this invention, above-mentioned method for writing data, also comprises, when the first realityWhen the body page is the right upper physical page of the first instance page, the first data are being write to first realJudge in backup area, whether to have that to belong to the contiguous first instance page at least right before the body pageThe right data of one other physical page, wherein in duplicative nonvolatile memory module this itsHis physical page to be arranged in the first instance page right before; And when not depositing in backup areaWhile having the right data of these other physical page, before the first data are write to the first instance pageFrom then on other physical page centerings are kept in data right these other physical page to backup area.
In one embodiment of this invention, wherein each physical page to also comprising physical page inFace, and above-mentioned method for writing data also comprises, when the first instance page is the first instance page pairUpper physical page time, before the first data are write to the first instance page, judge at backup areaIn whether have the data that belong to the right middle physical page of the first instance page; And work as at backup areaIn while not having the data that belong to the right middle physical page of the first instance page, the first data are being writeEnter to before the first instance page from the first instance page right will belong to first in physical pageThe data of the middle physical page that physical page is right are kept in to backup area.
In one embodiment of this invention, above-mentioned backup area is buffer storage.
In one embodiment of this invention, above-mentioned method for writing data also comprises above-mentioned entity districtPiece at least one of them is configured to above-mentioned backup area.
In one embodiment of this invention, above-mentioned method for writing data is also included in the first dataAfter writing to the first instance page, judge whether misprogrammed occurs on the first instance page;And when there is this misprogrammed on the first instance page time, the first data and the second data are writeEnter to above-mentioned physical page among second instance page centering.
Another example of the present invention embodiment proposes a kind of Memory Controller, can make carbon copies for operationFormula nonvolatile memory module, wherein this duplicative nonvolatile memory module has multiplePhysical blocks, each physical blocks has multiple physical page of sequentially arranging, these a little physical pageBe grouped into multiple physical page pair of sequentially arranging, each physical page is at least comprising lower entityThe page and upper physical page, data writing to the speed of lower physical page is greater than the supreme reality of data writingThe speed of the body page. This Memory Controller comprises HPI, memory interface and storage organ pipeReason circuit. HPI is in order to be electrically connected to host computer system; Memory interface is in order to be electrically connectedTo duplicative nonvolatile memory module; And memory management circuitry is electrically connected to main frameInterface and memory interface. Memory management circuitry writes instruction in order to reception and writes finger with corresponding thisThe first data of order, and the first data are write so far to the first instance among a little physical pageThe page, wherein the first instance page belong to these a little physical page among the first instance page pair.In addition, memory management circuitry also in order to sentence before the first data are write to the first instance pageWhether the disconnected first instance page is the right upper physical page of the first instance page. And, wherein when theWhen one physical page is the right upper physical page of the first instance page, memory management circuitry also in order toBefore being write to the first instance page, the first data judge in backup area whether have secondData, wherein these second data have been written in the right lower physical page of the first instance page. AgainPerson, in the time that backup area does not have these second data, memory management circuitry is also in order to count firstAccording to write to before the first instance page from the first instance page right read the in physical pageTwo data and the second read data are kept in to backup area.
In one embodiment of this invention, when the first instance page is the right upper reality of the first instance pageWhen the body page, memory management circuitry also in order to the first data are write to the first instance page itWhether front judgement has the 3rd data in backup area, and wherein the 3rd data have been written into so far a little realAmong the body page, be close in other lower physical page of the right lower physical page of the first instance page. AndAnd, when do not have the 3rd data in backup area time, above-mentioned memory management circuitry also in order toThe first data are write to the first instance page and from then in other lower physical page, read the 3rd beforeData and the 3rd read data are kept in to backup area.
In one embodiment of this invention, when the first instance page is the right upper reality of the first instance pageWhen the body page, memory management circuitry also in order to the first data are write to the first instance page itWhether front judgement has in backup area belongs to right at least one other realities of the contiguous first instance pageThe data that the body page is right, wherein these other physical page in duplicative nonvolatile memory moduleIn the face of be arranged in the first instance page right before. In addition, when do not have these other in backup areaWhen the right data of physical page, memory management circuitry is also in order to write to first by the first dataBefore physical page, from then on other physical page centerings are temporary by data right these other physical pageTo backup area.
In one embodiment of this invention, each physical page is to also comprising physical page in. ThisOutward, in the time that the first instance page is the right upper physical page of the first instance page, storage management electricityWhether road also in order to judged in backup area before the first data are write to the first instance pageThere are the data that belong to the right middle physical page of the first instance page. Moreover, when in backup area notWhile having the data that belong to the right middle physical page of the first instance page, memory management circuitry is also usedWith before the first data are write to the first instance page from the first instance page right entityIn the page, the data that belong to the right middle physical page of the first instance page are kept in to backup area.
In one embodiment of this invention, above-mentioned Memory Controller also comprises a buffer storageAnd above-mentioned backup area buffer storage for this reason.
In one embodiment of this invention, above-mentioned memory management circuitry is also in order to by above-mentioned entityBlock 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 count firstAfter writing to the first instance page, judge whether misprogrammed occurs on the first instance page.And, when there is this misprogrammed on the first instance page time, memory management circuitry also in order toBy the first data and the second data write a little physical page so far among the second instance page pairIn.
One example of the present invention embodiment proposes a kind of memorizer memory devices, and it comprises duplicativeNonvolatile memory module, connector and Memory Controller. Duplicative non-volatile memoriesDevice module has multiple physical blocks, and wherein each physical blocks has multiple entities of sequentially arrangingThe page, these a little physical page are grouped into multiple physical page pair of sequentially arranging, each physical pageIn the face of at least comprising lower physical page and upper physical page, and extremely lower physical page of data writingSpeed is greater than the speed of the supreme physical page of data writing. Connector is in order to be electrically connected to main frame systemSystem and Memory Controller are electrically connected so far duplicative nonvolatile memory module and companyConnect device. Memory Controller writes instruction and corresponding the first data that write instruction in order to receive, andAnd the first data are write so far to the first instance page among a little physical page, wherein first instanceThe page belong to these a little physical page among the first instance page pair. In addition Memory Controller,Also in order to whether to judge the first instance page before the first data are write to the first instance pageFor the right upper physical page of the first instance page. And, when the first instance page is first instance pageFace upper physical page time, Memory Controller also in order to the first data are being write to first realBefore the body page, judge in backup area, whether there are the second data, wherein the second data are written intoTo the right lower physical page of the first instance page. Moreover, in the time that backup area does not have the second data,Memory Controller is also in order to real from first before the first data are write to the first instance pageIn the right lower physical page of the body page, read the second data and the second read data are temporaryTo backup area.
In one embodiment of this invention, when the first instance page is the right upper reality of the first instance pageWhen the body page, Memory Controller is also in order to before writing to the first instance page by the first dataJudge in backup area, whether there are the 3rd data, wherein the 3rd data have been written into so far a little entitiesAmong the page, be close in other lower physical page of the right lower physical page of the first instance page. AndAnd when do not have the 3rd data in backup area time, Memory Controller is also in order to count firstBefore writing to the first instance page, from other, in physical page, read the 3rd data and incite somebody to actionThe 3rd data that read are kept in to backup area.
In one embodiment of this invention, when the first instance page is the right upper reality of the first instance pageWhen the body page, Memory Controller is also in order to before writing to the first instance page by the first dataJudge whether to have in backup area and belong to right at least one other entities of the contiguous first instance pageThe data that the page is right, wherein these other physical page in duplicative nonvolatile memory moduleTo be arranged in the first instance page right before. In addition, when in backup area, do not have these other realWhen the right data of the body page, memory management circuitry also in order to the first data are being write to first realBefore the body page, from then on other physical page centerings are kept in data right these other physical page extremelyIn backup area.
In one embodiment of this invention, each physical page is to also comprising physical page in. ThisOutward, in the time that the first instance page is the right upper physical page of the first instance page, Memory ControllerAlso in order to judge in backup area whether deposit before the first data are write to the first instance pageThere are the data that belong to the right middle physical page of the first instance page. And, when not depositing in backup areaWhile having the data that belong to the right middle physical page of the first instance page, Memory Controller also in order toBy the first data write to before the first instance page from the first instance page right physical pageMiddle the data that belong to the right middle physical page of the first instance page are kept in to backup area.
In one embodiment of this invention, above-mentioned memorizer memory devices also comprises buffer-storedDevice, wherein above-mentioned backup area buffer storage for this reason.
In one embodiment of this invention, above-mentioned Memory Controller is also in order to by above-mentioned entity districtPiece at least one of them is configured to above-mentioned backup area.
In one embodiment of this invention, above-mentioned Memory Controller is also in order to by the first dataAfter writing to the first instance page, judge whether misprogrammed occurs on the first instance page. AndAnd when there is misprogrammed on the first instance page time, memory management circuitry is also in order to byOne data and the second data 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 depositReservoir storage device is writing of executing data reliably, avoids thus losing because of misprogrammedData.
For above-mentioned feature and advantage of the present invention can be become apparent, special embodiment below, andCoordinate accompanying drawing to be described in detail below.
Brief description of the drawings
Figure 1A is host computer system and the memorizer memory devices shown according to the first exemplary embodiment.
Figure 1B is shown computer, the I/O dress of the first exemplary embodiment according to the present inventionPut the schematic diagram with memorizer memory devices.
Fig. 1 C is shown host computer system and the memory storage of another exemplary embodiment according to the present inventionThe schematic diagram of cryopreservation device.
Fig. 2 is the summary block diagram that shows the memorizer memory devices shown in Figure 1A.
Fig. 3 is the summary block diagram of the Memory Controller shown according to the first exemplary embodiment.
Fig. 4 A and Fig. 4 B are non-volatile according to the shown management duplicative of the first exemplary embodimentThe schematic diagram of the physical blocks of memory module.
Fig. 5~Fig. 7 writes more according to the shown use fructification block of the first exemplary embodimentThe example of new data.
Fig. 8 is according to the chaotic physical blocks data writing of the shown use of the first exemplary embodimentExample schematic.
Fig. 9 A shows 4 rank NAND flash memory two stages formulas according to the embodiment of the present inventionSchematic diagram.
Fig. 9 B is the example of the physical page of the physical blocks shown according to the first exemplary embodimentSchematic diagram.
Figure 10 is the flow chart of the method for writing data shown according to the 3rd exemplary embodiment.
Figure 11 is the flow process of the shown method for writing data of another exemplary embodiment according to the present inventionFigure.
Figure 12 is the flow chart of the method for writing data shown according to the 4th exemplary embodiment.
Figure 13 is the flow process of the shown method for writing data of another exemplary embodiment according to the present inventionFigure.
Reference numeral:
1000: host computer system
1100: computer
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
1312:SD card
1314:MMC card
1316: memory stick
1318:CF card
1320: embedded storage device
100: memorizer memory devices
102: connector
104: Memory Controller
106: duplicative nonvolatile memory module
302: microcontroller
304: HPI
306: memory interface
308: MMU
310: memory writing unit
312: memory reading unit
314: the memory unit of erasing
316: data processing unit
318: data backup unit
320: buffer storage
410 (0)~410 (N): physical blocks
502: data field
504: idle district
506: system area
508: replace 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: data writeStep
S1301, S1303: the step that data write
Detailed description of the invention
[the first exemplary embodiment]
Generally speaking, memorizer memory devices (also claiming memory storage system) comprises and can make carbon copiesFormula nonvolatile memory module and controller (also claiming control circuit). Conventionally memory storageDevice is to use together with host computer system, so that host computer system can write to memory storage by dataInstall 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 computer 1100 and I/O(input/output, I/O) device 1106. Computer 1100 comprises microprocessor 1102, randomAccess memory (randomaccessmemory, RAM) 1104, system bus 1108 withData transmission interface 1110. Input/output device 1106 comprises mouse 1202, the key as Figure 1BDish 1204, display 1206 and printer 1208. It must be appreciated, the dress shown in Figure 1BPut unrestricted input/output device 1106, input/output device 1106 can also comprise other devices.
In embodiments of the present invention, memorizer memory devices 100 is by data transmission interface 1110Be electrically connected with other elements of host computer system 1000. By microprocessor 1102, arbitrary accessMemory 1104 can write to data memory storage dress with the running of input/output device 1106Put 100 or from memorizer memory devices 100 reading out data. For example, memorizer memory devices 100Can be Portable disk 1212, memory card 1214 or solid state hard disc (SolidState as shown in Figure 1BDrive, SSD) the duplicative non-volatile memory storage device of 1216 grades.
Generally speaking, host computer system 1000 can be substantially for joining with memorizer memory devices 100Close any system with storage data. Although in this exemplary embodiment, host computer system 1000 isExplain with computer system, but, host computer system in another exemplary embodiment of the present invention1000 can be digital camera, video camera, communicator, audio player or video player etc.System. For example, be digital camera (video camera) 1310 o'clock in host computer system, duplicative is non-easilyThe property lost memorizer memory devices is its SD card 1312 using, mmc card 1314, memoryRod (memorystick) 1316, CF card 1318 or embedded storage device 1320 are (as Fig. 1 CShown in). Embedded storage device 1320 comprise embedded multi-media card (EmbeddedMMC,EMMC). It is worth mentioning that, embedded multi-media card is to be directly electrically connected at host computer systemSubstrate on.
Fig. 2 is the summary block diagram that shows the memorizer memory devices shown in Figure 1A.
Please refer to Fig. 2, memorizer memory devices 100 comprises connector 102, Memory Controller104 with duplicative nonvolatile memory module 106.
In this exemplary embodiment, connector 102 is to be compatible to Serial Advanced Technology Attachment (SerialAdvancedTechnologyAttachment, SATA) standard. But, it must be appreciated,The invention is not restricted to this, connector 102 can also be to meet Institute of Electrical and Electric Engineers(InstituteofElectricalandElectronicEngineers, IEEE) 1394 standards, parallel heightLevel Technical Appendix (ParallelAdvancedTechnologyAttachment, PATA) standard,High-speed peripheral component connecting interface (PeripheralComponentInterconnectExpress, PCIExpress) standard, USB (UniversalSerialBus, USB) standard, safe numberCode (SecureDigital, SD) interface standard, memory stick (MemoryStick, MS) interface standard,Multi Media Card (MultiMediaCard, MMC) interface standard, compact flash (CompactFlash, CF) interface standard, integrated driving electrical interface (IntegratedDeviceElectronics,IDE) standard or other applicable standards.
Memory Controller 104 is in order to carry out the multiple logics with hardware pattern or firmware pattern implementationDoor or control instruction, and deposit duplicative is non-volatile according to the instruction of host computer system 1000In reservoir module 106, carry out the runnings such as writing, read, erase and merge of data.
Duplicative nonvolatile memory module 106 is to be electrically connected to Memory Controller 104,And there are the data that multiple physical blocks are write to store host computer system 1000. At this exampleIn embodiment, each physical blocks has respectively multiple physical page, wherein belongs to same entityThe physical page of block can be write independently and side by side be erased. For example, each physical blocksFormed by 128 physical page, and the capacity of each physical page is 4 kilobit tuples(Kilobyte, KB). But, 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 containsThere is the memory cell of being erased in the lump of minimal amount. Physical page is the minimum unit of programming. ,Physical page is the minimum unit of new data more. But, it must be appreciated, the present invention anotherIn exemplary embodiment, more the least unit of new data can also be entity sector or other sizes. OftenOne physical page generally includes data bit element district and redundancy bit district. Data bit element district makes in order to storeUser's data, and redundancy bit district for example, in order to data (, error checking and the school of stocking systemCode).
In this exemplary embodiment, duplicative nonvolatile memory module 106 is multistage storageUnit (MultiLevelCell, MLC) NAND flash memory module. But the present invention is notBe limited to this, also other have identical characteristics to duplicative nonvolatile memory module 106Memory module.
Fig. 3 is the summary block diagram of the Memory Controller shown according to the first exemplary embodiment.
Please refer to Fig. 3, Memory Controller 104 comprise microcontroller 302, HPI 304,Memory interface 306, MMU 308, memory writing unit 310, memory are readGet unit 312, memory erase unit 314, data processing unit 316, data backup unit318 with buffer storage 320.
Microcontroller 302 is in order to the overall operation of control storage controller 104.
HPI 304 be electrically connected to microcontroller 302 and in order to receive with identification main frameThe instruction that system 1000 transmits and data. In this exemplary embodiment, HPI 304 isBe compatible to SATA standard. But, it must be appreciated and the invention is not restricted to this, HPI 304Can also be to be compatible to PATA standard, IEEE1394 standard, PCIExpress standard, USBStandard, SD standard, MS standard, MMC standard, CF standard, IDE standard or other are suitableThe data transmission standard closing.
Memory interface 306 is to be electrically connected to microcontroller 302 and in order to access duplicativeNonvolatile memory module 106. That is to say, want to write to duplicative non-volatile memoriesThe data of device module 106 can be converted to duplicative non-volatile memories via memory interface 306106 receptible forms of device module.
MMU 308, memory writing unit 310, memory reading unit 312,The memory unit 314, data processing unit 316 of erasing is electrically to connect with data backup unit 318Be connected to microcontroller 302. At this, MMU 308 is non-easily in order to manage duplicativeThe physical blocks of the property lost memory module 106. Memory writing unit 310 is in order to duplicativeNonvolatile memory module 106 assigns that to write instruction non-volatile so that data are write to duplicativeIn property memory module 106. Memory reading unit 312 is in order to deposit duplicative is non-volatileReservoir module 106 is assigned reading command to read from duplicative nonvolatile memory module 106Fetch data. Memory is erased unit 314 in order to duplicative nonvolatile memory module 106Assign the instruction of erasing so that data are erased from duplicative nonvolatile memory module 106. AndData processing unit 316 wants to write to duplicative nonvolatile memory module 106 in order to processData and the data that read from duplicative nonvolatile memory module 106. Data are standbyPart unit 318 has write to the number of duplicative nonvolatile memory module 106 in order to backupAccording to.
Buffer storage 320 is to be electrically connected to microcontroller 302 and to come from master in order to keep inThe data and instruction of machine system 1000 or come from duplicative nonvolatile memory module 106Data. For example, buffer storage 320 can be static RAM, dynamic randomAccess memory etc.
It must be appreciated, the shown Memory Controller of Fig. 3 is only an example, the present inventionBe not limited to this. For example,, except above-mentioned microcontroller 302, HPI 304, memory interface306, MMU 308, memory writing unit 310, memory reading unit 312,The memory unit 314, data processing unit 316, data backup unit 318 of erasing deposited with bufferingReservoir 320, Memory Controller 104 also can also comprise electric power management circuit and error checking and schoolPositive circuit.
Electric power management circuit is be electrically connected to microcontroller 302 and store in order to control storageThe power supply of device 100.
Error checking and correcting circuit are to be electrically connected to microcontroller 302 and in order to carry out a mistakeMistake correction program is to guarantee the correctness of data. Specifically, when HPI 304 from main frame isWhen system receives main frame in 1000 and writes instruction, error checking can be that corresponding this is led with correcting circuitThe data writing (being also called more new data) that machine writes instruction produces corresponding error checking and correctionCode (ErrorCheckingandCorrectingCode, ECCCode), and memory writing unit310 can by this more new data write to duplicative non-volatile memories with corresponding error-correcting codeIn device module 106. Afterwards, when memory reading unit 312 is from duplicative non-volatile memoriesIn device module 106, can read error-correcting code corresponding to these data when reading out data simultaneously, and wrongFlase drop is looked into correcting circuit and can be proofreaied and correct read data execution error according to this error-correcting codeProgram.
Fig. 4 A and Fig. 4 B are non-volatile according to the shown management duplicative of the first exemplary embodimentThe schematic diagram of the physical blocks of memory module.
Please refer to Fig. 4 A, duplicative nonvolatile memory module 106 has physical blocks410 (0)~410 (N), and the MMU 308 of Memory Controller 104 can be by entityBlock 410 (0)~410 (N) be logically grouped into (or being assigned to) data field (dataarea) 502,Idle district (sparearea) 504, system area (systemarea) 506 and replacement district (replacementarea)508。
Belonging in logic data field 502 is to come from order to store with the physical blocks in idle district 504The data of host computer system 1000. Specifically, the physical blocks of data field 502 (is also called dataPhysical blocks) be to be regarded as the physical blocks of storage data, and the physical blocks in idle district 504 is (alsoBe called idle physical blocks) be the physical blocks that writes new data. For example,, when from host computer system1000 receive write instruction with want to write data time, MMU 308 can be from idleIn district 504, extract physical blocks, data processing unit 316 can arrange the data of wanting to write and depositReservoir writing unit 310 can write to data in extracted physical blocks. Again for example, when rightWhen a certain logical blocks executing data consolidation procedure, MMU 308 can be from idle district 504Middle extraction physical blocks is as the new data physical blocks of corresponding this logical blocks, and memory reads listUnit 312 can from duplicative nonvolatile memory module 106, read belongs to this logical blocksValid data, data processing unit 316 can arrange these a little valid data, memory writing unit 310Valid data after arranging can be write in new data physical blocks, and MMU308 can remap this logical blocks to new data physical blocks. Particularly, complete dataAfter consolidation procedure, MMU 308 can will store the data entity block weight of invalid dataNew associated (or recovery) is to idle district 504, to write the use of new data as next time. For example, storageDevice is erased unit 314 can be to this physical blocks execution in the time that physical blocks is associated to idle district 504Erase and operate or in the time that physical blocks is extracted from idle district 504, this physical blocks is carried out and smearedExcept running, taking the physical blocks that makes to be extracted from idle district 504 as can be used for data writingEmpty physical blocks.
The physical blocks that belongs in logic system area 506 is in order to register system data. For example, beSystem data comprise about manufacturer and the model of duplicative nonvolatile memory module, can make carbon copiesThe physical blocks number of formula nonvolatile memory module, the physical page number of each physical blocks etc.
Belonging in logic the physical blocks replacing in district 508 is to replace program for bad physical blocks,With replacing damaged physical blocks. Specifically, still there is normal reality if replace in district 508When the physical blocks of tagma piece and data field 502 is damaged, MMU 308 can be from gettingFor the physical blocks of extracting normal physical blocks in district 508 and change damage.
Based on above-mentioned, in the running of memorizer memory devices 100, data field 502, idle district504, system area 506 can dynamically change with the physical blocks that replaces district 508. For example, in order toThe physical blocks of 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, MMU 308 is with eachPhysical blocks is that unit manages. But, the invention is not restricted to this, implement at another exampleIn example, MMU 308 also can be grouped into physical blocks multiple solid elements, andManage taking solid element as unit. For example, each solid element can be by same storage coreAt least one physical blocks in sheet (die) or different memory chip forms.
Please refer to Fig. 4 B, MMU 308 can configuration logic block 610 (0)~610 (H)With the physical blocks in mapping (enum) data district 502, wherein each logical blocks has multiple logical page (LPAGE)s alsoAnd these a little logical page (LPAGE)s are the physical page of shining upon in order corresponding data entity block. For example,In the time that memorizer memory devices 100 is formatted, logical blocks 610 (0)~610 (H) can initially be reflectedPenetrate the physical blocks 410 (0)~410 (F-1) of data field 502.
In exemplary embodiment of the present invention, MMU 308 can service logic block-entityBlock mapping table (logicalblock-physicalblockmappingtable) is to record logical blocksMapping relations between 610 (0)~610 (H) and the physical blocks of data field 502. In addition main frame system,System 1000 is to carry out access data taking logic access address as unit. For example, a logic access groundLocation is a logic sector (Sector). In the time of host computer system 1000 access data, storage managementUnit 308 can be by the logic access address of corresponding stored device storage device 100 710 (0)~710 (K)Convert the address in corresponding logical page (LPAGE) to. For example, when host computer system 1000, to want access a certain, MMU 308 can patrolling 1000 accesses of host computer system when logic the access addressCollecting access address is converted to corresponding logical blocks, logical page (LPAGE) and logic skew (offset) institute structureThe multi-dimensional address becoming, and pass through logical blocks-physical blocks mapping table in corresponding physical pageAccess data. At this, skew is to be positioned at one in a logical page (LPAGE) (or physical page)Individual logic (or entity) address, its be define for this reason logic (or entity) address therewith logical page (LPAGE) (orPhysical page) initial address between distance, wherein this logic (or entity) address is also called logic(entity) offset address.
Fig. 5~Fig. 7 writes more according to the shown use fructification block of the first exemplary embodimentThe example of new data.
Referring to Fig. 5~Fig. 7, for example, be to map to physical blocks in logical blocks 610 (0)Under 410 (0) mapping status, when Memory Controller 104 receives and writes from host computer system 1000Enter instruction and want data writing when belonging to the logical page (LPAGE) of logical blocks 610 (0), memory controlDevice 104 can be mapping according to logical blocks-physical blocks mapping table recognition logic block 610 (0) at presentExtract physical blocks 410 (F) entity of rotating to physical blocks 410 (0) and from idle district 504Block 410 (0). But, in the time that new data writes to physical blocks 410 (F), memory controlDevice 104 processed can not moved all valid data in physical blocks 410 (0) to physical blocks at once410 (F) and the physical blocks 410 (0) of erasing. Specifically, memory reading unit 312 can be from realityIn tagma piece 410 (0), read and want to write physical page valid data (, physical blocks beforeData in 410 (0) the 0th physical page and the 1st physical page). Afterwards, memory writes listUnit 310 can write to reality by wanting to write physical page valid data before in physical blocks 410 (0)In the 0th physical page of tagma piece 410 (F) and the 1st physical page (as shown in Figure 5), and willNew data writes in 2nd~4 physical page of physical blocks 410 (F) (as shown in Figure 6). ThisTime, Memory Controller 104 completes the running writing. Because having in physical blocks 410 (0)It is invalid that effect data likely for example, become in next operation (, writing instruction), therefore at once will be realValid data in tagma piece 410 (0) are moved to physical blocks 410 (F) may cause meaningless removingMove. In addition, data must write to the physical page in physical blocks in order, therefore, and storageDevice writing unit 310, memory reading unit 312 only can first be moved with data processing unit 316Want to write physical page valid data before and (, be stored in the 0th reality of physical blocks 410 (0)Data in the body page and the 1st physical page), and wouldn't move (, the storage of all the other valid dataData in 5th~K physical page of physical blocks 410 (0)).
In this exemplary embodiment, the running that temporarily maintains 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 entity districtPiece and for example, claiming in order to the physical blocks (, above-mentioned with physical blocks 410 (F)) of replacing female physical blocksFor fructification block.
Afterwards, when physical blocks 410 (0) and the data of physical blocks 410 (F) being merged(merge) time, what Memory Controller 104 can be by physical blocks 410 (0) and physical blocks 410 (F)Data are whole and to a physical blocks, promote thus the service efficiency of physical blocks. At this, mergeThe running of mother and child blocks is called data consolidation procedure or closes (close) mother and child blocks. For example,, as figureShown in 7, in the time closing mother and child blocks, memory reading unit 312 can be from physical blocks 410 (0)In read remaining valid data (, the number in 5th~K physical page of physical blocks 410 (0)According to), afterwards, memory writing unit 310 can be by remaining valid data in physical blocks 410 (0)Write in the 5th physical page~the K physical page of physical blocks 410 (F) then memoryErasing unit 314 can be to physical blocks 410 (0) execution erase operation for use MMU 308Physical blocks after erasing 410 (0) can be associated to idle district 504 and by physical blocks 410 (F)Be associated to data field 502. That is to say, MMU 308 can be at logical blocks-entityIn block mapping table, logical blocks 610 (0) is remapped to physical blocks 410 (F). In addition exist,In this exemplary embodiment, MMU 308 can be set up idle district physical blocks table (not shown)Record the physical blocks that is associated at present idle district 504. It is worth mentioning that idle district 504The number of middle physical blocks is limited, base this, during memorizer memory devices 100 running,The number of the mother and child blocks group of having opened also can be restricted. Therefore, when memorizer memory devices 100Receive come from host computer system 1000 write instruction time, if opened mother and child blocks groupNumber reaches in limited time, and Memory Controller 104 need be closed at least one group of mothers and sons that opened at presentAfter block group, just can carry out this and write instruction.
Write more new data with fructification block except above-mentioned, in this exemplary embodiment,In this exemplary embodiment, MMU 308 also can extract at least from idle district 504One physical blocks is as chaotic (Random) physical blocks, to write more new data.
Fig. 8 is according to the chaotic physical blocks data writing of the shown use of the first exemplary embodimentExample schematic.
Please refer to Fig. 8, suppose that physical blocks 410 (S-1) is extracted as chaotic physical blocks andUnder the storing state shown in Fig. 6, host computer system 1000 is wanted to write more new data to logical blocksWhen 610 (0) the 1st logical page (LPAGE), memory writing unit 310 can by this more new data write to(for example, the 0th of physical blocks 410 (S-1) the is real for first empty physical page in chaotic physical blocksThe body page) in.
In this exemplary embodiment, in the time that current used chaotic physical blocks has been fully written, depositReservoir administrative unit 308 can be extracted another physical blocks again as new mixing from idle district 504Random physical blocks, until reach preset value as the number of the physical blocks of chaotic physical blocks isOnly. Specifically, the physical blocks in idle district 504 is limited, therefore, and as chaotic entityThe number of the physical blocks of block also can be restricted. When the physical blocks as chaotic physical blocksNumber while reaching preset value, MMU 308, memory writing unit 310, depositReservoir reading unit 312 and the memory unit 314 of erasing can be carried out synergistically above-mentioned data and merges journeyOrder, the chaotic physical blocks that stored data is all to invalid data is carried out erase running and generalThe physical blocks of having erased is associated to idle district 504. Thus, in the time that the execution next one writes instruction,It is real as confusion that MMU 308 just can extract empty physical blocks from idle district 504 againTagma piece.
It is worth mentioning that, although Fig. 8 is the logical page (LPAGE) to upgrade when host computer system 1000 wishsData while being written into fructification block, by this more new data can write to chaotic physical blocksExample explain, but the occupation mode of chaotic physical blocks is not limited to this. For example,, at thisIn bright another exemplary embodiment, memory writing unit 310 also can directly will come from host computer system1000 more new data directly first writes to chaotic physical blocks, and afterwards, storage managementUnit 308, memory writing unit 310, memory reading unit 312 and the memory list of erasingUnit 314 is incorporated into the valid data that belong to a logical blocks more synergistically from 504, idle districtIn an 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 basisThe storable data bit element number of each memory cell and divide into MLCNAND type flash memoryModule and single-order layer memory cell (Single-LevelCell, SLC) NAND type flash memoryModule. Each memory cell of SLCNAND type flash memory module only can store 1 bitData, and each memory cell of MLCNAND type flash memory module can store at least 2Individual above bit data. For example, taking 4 rank memory cell NAND type flash memory modules asExample, each memory cell can store 2 bit data (, " 11 ", " 10 ", " 00 " and " 01 ").Base this, can divide into 2 stages to 4 writing of rank memory cell flash memory module. FirstStage is writing of lower physical page (lowerphysicalpage), and second stage is upper realityThe writing of the body page (upperphysicalpage) (as shown in Figure 9 A), wherein descends physical pageThe writing speed of face can be faster than upper physical page. Therefore, MLCNAND type flash memory moduleThe physical page of each physical blocks can be divided into physical page (, upper physical page at a slow speedFace) and quick physical page (, lower physical page). Particularly, compared to upper physical page, the storage reliability of lower physical page is higher. Similarly, at 8 rank memory cell NANDIn the case of type flash memory module or 16 rank memory cell NAND type flash memory modules,Memory cell can store more multidigit metadata and can be so that more the multistage writes. For example,, on 8 rankIn memory cell NAND type flash memory module, the physical page of each physical blocks can quiltDivide into physical page (, upper physical page), middling speed physical page (, middle physical page at a slow speedFace and quick physical page (, lower physical page).
Fig. 9 B is the example of the physical page of the physical blocks shown according to the first exemplary embodimentSchematic diagram, its physical page that shows the physical blocks of 4 rank memory cell flash memory modules is joinedPut.
Please refer to Fig. 9 B, physical blocks has 127 physical page and this little physical page can be dividedThe physical page that group is sequentially arrangement is to 900 (0)~900 (63), and wherein each physical page is to beingFormed by a upper physical page and a lower physical page.
It is worth mentioning that, a right physical page of physical page is by same group of memory cell instituteComposition, and upper physical page is after lower physical page completes programming, just can be programmed (as figureShown in 9A), therefore, if there is misprogrammed in upper physical page time, be stored in lower realityTherefore data on the body page may be lost.
For fear of being stored in the data of lower physical page because of the misprogrammed of upper physical pageLose, in this exemplary embodiment, when memory writing unit 310 by data (hereinafter referred to as firstData) write to the entity of physical blocks (for example, above-mentioned fructification block or chaotic physical blocks)Before, data backup unit 318 can judge first instance to the page (hereinafter referred to as the first instance page)Whether the page belongs to physical page. If the physical page that memory writing unit 310 is wanted to writeWhile belonging to physical page, data backup unit 318 can judge whether backup area has and write toThe right lower physical page (hereinafter referred to as physical page under correspondence) of physical page under this physical pageData (hereinafter referred to as the second data). If not having, backup area writes so far corresponding lower entityWhen the second data of the page, data backup unit 318 is can designation data reading units 312 from then on rightIn the lower physical page of answering, read the second data and the second read data are temporarily stored in to backupQu Zhong. After determining that backup area has the second data that write physical page under correspondence so far,Memory writing unit 310 just can be carried out programming instruction to write the first number to the first instance pageAccording to.
Afterwards, after the first data are write to the first instance page, MMU 308Can judge whether to occur misprogrammed. Particularly, if while there is misprogrammed, storage managementUnit 308 can reselect another physical page to and memory writing unit 310 can be by theOne data and the second data write to reselected physical page centering.
For example, taking Fig. 9 A as example, want data writing to the 9 at memory writing unit 310 realBefore the body page, data backup unit 318 can judge whether backup area has and write to the 3rd realityThe data of the body page. If when backup area does not have the data that write to the 3rd physical page, numberAccording to backup units 318 can designation data reading units 312 from the 3rd physical page, reading out data is alsoAnd read data are temporary in backup area.
In this exemplary embodiment, backup area is buffer storage 320. But the present invention does not limitIn this, in another exemplary embodiment of the present invention, MMU 308 also can be from idle district504 or system area 506 extract at least one physical blocks and this physical blocks be used as to backupDistrict.
Based on above-mentioned, the Memory Controller 104 of this exemplary embodiment is non-volatile to duplicativeWhen writing running, memory module 106 can effectively guarantee the reliability of write data.
It is worth mentioning that, although in this exemplary embodiment, be to deposit with 4 rank memory cell flashReservoir module explains, but the invention is not restricted to this. For example, deposit with 8 rank memory cell flashReservoir module is example, the data of physical page during data backup unit 318 also can back up. Concrete nextSay, data are being write on right one of physical page before physical page, except by thisThe data of the lower physical page that physical page is right are kept in to backup area, data backup unit 318Also judge whether backup area has the data of the middle physical page that this physical page is right, and if standbyWhen there are not the data of the middle physical page that this physical page is right in part district, data backup unit 318 alsoThe data of middle physical page right this physical page are kept in to backup area.
[the second exemplary embodiment]
On the structural nature of the memorizer memory devices of the second exemplary embodiment, be to be same as the first modelThe memorizer memory devices of example embodiment, its difference is only the memory control of the second exemplary embodimentDevice processed also can back up the data that write in other lower physical page. Below cooperation is disclosed in toThe hardware element of one exemplary embodiment illustrates the second exemplary embodiment and the first exemplary embodimentDifference part.
As mentioned above, when there is misprogrammed in the right upper physical page of physical page time,The data of the lower physical page that this physical page is right also may be lost. Particularly, in some situationUnder, the data that are adjacent in these other lower physical page of descending physical page also may be lost.
For head it off, in the second exemplary embodiment, by the data of physical page under correspondenceKeep in to backup area, data backup unit 318 also can judge in backup area, whether there is vicinityThe data (hereinafter referred to as the 3rd data) of other lower physical page of this corresponding lower physical page. IfWhile not having the 3rd data in backup area, data backup unit 318 also can designation data reading unit312 reading out datas and read data are temporary in to backup area in other lower physical page from then onIn.
For example, taking Fig. 9 A as example, want data writing to the 9 at memory writing unit 310 realBefore the body page, data backup unit 318 can judge whether backup area has and write to the 3rd realityThe data of the body page. If when backup area does not have the data that write to the 3rd physical page, numberAccording to backup units 318 can designation data reading units 312 from the 3rd physical page, reading out data is alsoAnd read data are temporary in backup area. Afterwards, data backup unit 318 also can judgeWhether backup area has the data that write to the 2nd physical page. If not having, backup area writesWhile entering the data to the 2nd physical page, data backup unit 318 can designation data reading units 312Reading out data and read data are temporary in backup area from the 2nd physical page. NecessaryBe appreciated that, say as an example of other lower physical page example although in this exemplary embodiment beBright, but the invention is not restricted to this. In another exemplary embodiment of the present invention, data backup unit 318Also can judge whether there are other multiple lower physical page by backup area (for example, the 2nd, 1,0 etc. realThe body page) data, and back up the data of multiple other lower physical page, sending out more guaranteeingWhen raw Missing data, these a little data of losing can be responded.
It is worth mentioning that, although in this exemplary embodiment, by the upper physical page of wanting to writeThe data of corresponding lower physical page are kept in to backup area, and data backup unit 318 is rightThe data of other lower physical page of contiguous this corresponding lower physical page back up, but the present inventionBe not limited to this. In another exemplary embodiment of the present invention, data are being write to a physical pageBefore right upper physical page, except the data of lower physical page right this physical page are kept in extremelyOutside backup area, data backup unit 318 also judges whether backup area has and is arranged in this physical pageIn the face of previous other physical page for example, to (, being arranged in the previous physical page that this physical page is rightIn the face of) data, and if backup area do not have that to be arranged in this physical page real to before otherWhen the right data of the body page, data backup unit 318 also will be arranged in this physical page to beforeThe data that other physical page are right are kept in to backup area. That is to say, may be because programming on onePhysical page and the right data of other physical page that affect all can be kept in to backup area.
[the 3rd exemplary embodiment]
In the first exemplary embodiment, MMU, memory writing unit, memoryErase unit, data processing unit and data backup unit of reading unit, memory is with hardware frameStructure carrys out implementation, but the invention is not restricted to this. In the 3rd exemplary embodiment, MMU,Memory writing unit, memory reading unit, memory erase unit, data processing unit andThe performed function in data backup unit can also firmware pattern be carried out implementation.
For example, the above-mentioned MMU of implementation, memory writing unit, memory read listThe control instruction of the function first, memory is erased unit, data processing unit and data backup unitCan be burned onto in the read-only storage that is disposed at Memory Controller. Work as memorizer memory devicesWhen 100 running, these a little control instructions can be carried out by microcontroller.
In addition, in another exemplary embodiment of the present invention, implementation MMU, memoryErase unit, data processing unit and data of writing unit, memory reading unit, memory are standbyThe control instruction of the function of part unit can also procedure code pattern to be stored in duplicative non-volatileThe specific region of memory module (for example, is exclusively used in duplicative nonvolatile memory module and depositsThe system area of place system data) in. For example, read-only storage (not shown) and random access memory(not shown) can be configured in Memory Controller, and this read-only storage has a driving codeSection. In the time that Memory Controller is enabled, microcontroller can first be carried out this and drive code section by storageControl instruction in duplicative nonvolatile memory module is written into so far random access memoryIn device, rerun afterwards this little control instructions.
That is to say, the data that the first exemplary embodiment discloses write running and can also come by procedure codeImplementation. Below with the running of this procedure code of flowchart text.
Figure 10 is the flow chart of the method for writing data shown according to the 3rd exemplary embodiment.
Please refer to Figure 10, at step S1001, receive and write instruction and write the number of instruction with corresponding thisAccording to (hereinafter referred to as the first data).
In step S1003, judgement want to write these the first data physical page (hereinafter referred to asFor the first instance page) whether be upper physical page.
If the first instance page is non-while being upper physical page, in step S1005, by the first numberAccording to writing to the first instance page. Specifically, for the first data are write to first instance pageThe programming instruction of face can be transmitted to duplicative nonvolatile memory module 106.
If when the first instance page is upper physical page, in step S1007, judge in backupIn district, whether there is the physical page that has been written under the first instance page to (hereinafter referred to as theOne physical page to) lower physical page in data (hereinafter referred to as the second data).
If when backup area has the second data, above-mentioned steps S1005 can be performed.
If when backup area does not have the second data, in step S1009, from the first instance pageIn right lower physical page, read the second data and the second read data are kept in to backupQu Zhong. Afterwards, step S1005 can be performed.
It is worth mentioning that, the flow process of Figure 10 is sentenced after can being also included in execution step S1005Break whether misprogrammed occurs on the first instance page, and when occurring on the first instance pageWhen misprogrammed, the first data and the second data are write to another physical page centering. For example,Another physical page to (hereinafter referred to as the second instance page to) can selected and the first dataCan be written into the right lower physical page of the second instance page and the second data and can be written intoThe upper physical page that two physical page are right.
Although in this exemplary embodiment, be to say with 4 rank memory cell flash memory modulesBright, but the invention is not restricted to this. For example, taking 8 rank memory cell flash memory modules as example,The flow process of Figure 10 can also comprise: data are being write to the right upper physical page of the first instance pageBefore, judge whether backup area has the data of the right middle physical page of the first instance page (as figure11 step S1101); And if backup area does not have the right middle physical page of the first instance pageData time, by the data of middle physical page right the first instance page keep in to backup area (as figure11 step S1103).
[the 4th exemplary embodiment]
In the second exemplary embodiment, MMU, memory writing unit, memoryErase unit, data processing unit and data backup unit of reading unit, memory is with hardware frameStructure carrys out implementation, but the invention is not restricted to this. In the 4th exemplary embodiment, MMU,Memory writing unit, memory reading unit, memory erase unit, data processing unit andThe performed function in data backup unit can also firmware pattern be carried out implementation.
That is to say, the data that the second exemplary embodiment discloses write running and can also come by procedure codeImplementation. Below with the running of this procedure code of flowchart text.
Figure 12 is the flow chart of the method for writing data shown according to the 4th exemplary embodiment.
Please refer to Figure 12, at step S1201, receive and write instruction and write the number of instruction with corresponding thisAccording to (hereinafter referred to as the first data).
In step S1203, judgement want to write these the first data physical page (hereinafter referred to asFor the first instance page) whether be upper physical page.
If the first instance page is non-while being upper physical page, in step S1205, by the first numberAccording to writing to the first instance page. Specifically, for the first data are write to first instance pageThe programming instruction of face can be transmitted to duplicative nonvolatile memory module 106.
If when the first instance page is upper physical page, in step S1207, judge in backupIn district, whether there is the physical page that has been written under the first instance page to (hereinafter referred to as theOne physical page to) lower physical page in data (hereinafter referred to as the second data).
If when backup area has the second data, above-mentioned steps S1205 can be performed.
If when backup area does not have the second data, in step S1209, from the first instance pageIn right lower physical page, read the second data and the second read data are kept in to backupQu Zhong.
Afterwards, in step S1211, judge whether spare area has vicinity of being written into firstThe data of other lower physical page of the lower physical page that physical page is right are (hereinafter referred to as the 3rd numberAccording to).
If when backup area has the 3rd data, above-mentioned steps S1205 can be performed.
If when backup area does not have the 3rd data, in step S1213, from contiguous first instanceIn other lower physical page of the right lower physical page of the page, read the 3rd data and by readThe 3rd data keep in 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 to write wantingThe data of the corresponding lower physical page of upper physical page entering are kept in to backup area, to vicinityThe data of other lower physical page of this corresponding lower physical page back up, but the present invention does not limitIn this. For example, as shown in figure 13, according to the present invention, the data of another exemplary embodiment are write and are become a mandarinJourney is to judge whether backup area has to be arranged in this physical page to other physical page pair beforeThe data (step S1301) of (for example, be arranged in previous physical page that this physical page is right to),And if backup area does not have, and to be arranged in this physical page right to other physical page beforeWhen data, by being arranged in this physical page, the right data of other physical page are before kept in to standbyPart district (step S1303).
In sum, the method for writing data of exemplary embodiment of the present invention, Memory Controller and depositReservoir storage device can be true in the time data being write to duplicative nonvolatile memory moduleProtect the reliability of data.
Although the present invention discloses as above with embodiment, so it is not in order to limit the present invention, anyThose of ordinary skill in affiliated technical field, when doing a little change and retouching, and does not depart from thisThe spirit and scope of invention.

Claims (18)

1. a method for writing data, for a duplicative nonvolatile memory module, itsIn this duplicative nonvolatile memory module there are multiple physical blocks, those physical blocks itIn each physical blocks there are sequentially multiple physical page of arranging, those physical page by pointGroup for sequentially arrange multiple physical page pair, those physical page among each physical pageIn the face of at least comprising physical page in physical page and, data writing is to this lower physical pageSpeed be greater than the speed of data writing to physical page on this, 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 shouldThe first instance page belong to those physical page among a first instance page pair;
Before being write to this first instance page, these first data judge this first instance pageIt is whether physical page on right this of this first instance page;
When this first instance page is on right this of this first instance page when physical page, shouldThe first data write to judge in a backup area, whether to have one the before this first instance pageTwo data, wherein these second data have been written into this right lower physical page of this first instance pageIn;
In the time that this backup area does not have these second data, these first data are being write to this first realityFrom right this of this first instance page, in physical page, read these second data also before the body pageAnd these read second data are kept in to this backup area;
When this first instance page is on right this of this first instance page when physical page, shouldThe first data write to judge in this backup area, whether to have one the before this first instance pageThree data, wherein the 3rd data are close to this first instance among being written into those physical pageIn other lower physical page of right this lower physical page of the page; And
When do not have the 3rd data in this backup area time, these first data are write to thisFrom these other, in physical page, read before one physical page the 3rd data and by readThe 3rd data keep in to this backup area.
2. method for writing data according to claim 1, wherein also comprises:
When this first instance page is on right this of this first instance page when physical page, shouldThe first data judge in this backup area whether have and belong to before writing to this first instance pageThose physical page among right at least one other physical page pair of contiguous this first instance pageData, wherein these at least one other physical page in this duplicative nonvolatile memory moduleIn the face of be arranged in this first instance page right before; And
When do not have the right data of these at least one other physical page in this backup area time, shouldThe first data will from these at least one other physical page centerings before writing to this first instance pageThe right data of these at least one other physical page are kept in to this backup area.
3. method for writing data according to claim 1, wherein those physical page are to itIn each physical page to also comprising physical page in, and this method for writing data also wrapsDraw together:
When this first instance page is on right this of this first instance page when physical page, shouldThe first data judge in this backup area whether have and belong to before writing to this first instance pageThe data of physical page in right this of this first instance page; And
Belong to physical page in right this of this first instance page when not having in this backup areaWhen data, before these first data are write to this first instance page from this first instance pageIn right this, in physical page, the data of physical page in right this of this first instance page will be belonged toKeep in to this backup area.
4. method for writing data according to claim 1, wherein this backup area is a bufferingMemory.
5. method for writing data according to claim 1, wherein also comprises:
By those physical blocks at least one of them is configured to this backup area.
6. method for writing data according to claim 1, wherein also comprises:
After these first data are write to this first instance page, judge at this first instance pageOn face, whether there is a misprogrammed; And
When there is this misprogrammed on this first instance page time, by these first data and this secondData write to those physical page among a second instance page centering.
7. a Memory Controller, for operating a duplicative nonvolatile memory module,Wherein this duplicative nonvolatile memory module has multiple physical blocks, those physical blocksAmong each physical blocks there are sequentially multiple physical page of arranging, those physical page quiltsBe grouped into sequentially multiple physical page pair of arranging, those physical page among each entityThe page is at least comprising physical page in physical page and, and data writing is to this lower physical pageThe speed of face is greater than the speed of data writing to physical page on this, and this Memory Controller comprises:
One HPI, in order to be electrically connected to a host computer system;
One memory interface, in order to be electrically connected to this duplicative nonvolatile memory module;And
One memory management circuitry, is electrically connected to this HPI and this memory interface,
Wherein this memory management circuitry in order to receive one write instruction with to writing instructionOne first data, and these first data are write to the first instance among those physical pageThe page, wherein this first instance page belong to those physical page among a first instance pageIt is right,
Wherein this memory management circuitry is also in order to write to this first instance by these first dataJudge that whether this first instance page is physical page on right this of this first instance page before the pageFace,
Wherein when this first instance page is on right this of this first instance page when physical page, shouldMemory management circuitry also in order to sentence before these first data are write to this first instance pageBreak in a backup area, whether there are one second data, wherein these second data be written into thisIn right this lower physical page of one physical page,
Wherein in the time that this backup area does not have these second data, this memory management circuitry also in order toThese first data are write to before this first instance page from right this of this first instance pageIn physical page, read these second data and these read second data are kept in to this backupQu Zhong,
Wherein when this first instance page is on right this of this first instance page when physical page, shouldMemory management circuitry also in order to sentence before these first data are write to this first instance pageBreak and in this backup area, whether have one the 3rd data, wherein the 3rd data have been written into thoseAmong physical page, be close to other lower entities of this right lower physical page of this first instance pageIn the page,
Wherein, when do not have the 3rd data in this backup area time, this memory management circuitry is also usedWith before these first data are write to this first instance page from these other in physical pageRead the 3rd data and the 3rd read data are kept in to this backup area.
8. Memory Controller according to claim 7,
Wherein when this first instance page is on right this of this first instance page when physical page, shouldMemory management circuitry also in order to sentence before these first data are write to this first instance pageBreak in this backup area, whether have belong to those physical page among contiguous this first instance pageThe right data of at least one other physical page of facing, wherein in this duplicative non-volatile memoriesIn device module these at least one other physical page to be arranged in this first instance page right before,
Wherein when do not have the right data of these at least one other physical page in this backup area time, shouldMemory management circuitry also in order to before these first data are write to this first instance page fromThese at least one other physical page centerings are kept in the right data of these at least one other physical page extremelyIn this backup area.
9. Memory Controller according to claim 7, wherein those physical page are to itIn each physical page to also comprising physical page in,
Wherein when this first instance page is on right this of this first instance page when physical page, shouldMemory management circuitry also in order to sentence before these first data are write to this first instance pageBreak and in this backup area, whether have the number that belongs to physical page in right this of this first instance pageAccording to,
Wherein belong to physical page in right this of this first instance page when not having in this backup areaWhen the data of face, this memory management circuitry is also in order to this is first real these first data are being write toFrom right this of this first instance page, in physical page, will belong to this first instance before the body pageIn right this of the page, the data of physical page are kept in to this backup area.
10. Memory Controller according to claim 7, wherein also comprises a buffer-storedDevice and this backup area are this buffer storage.
11. Memory Controllers according to claim 7, wherein this memory management circuitryAlso in order to by those physical blocks at least one of them is configured to this backup area.
12. Memory Controllers according to claim 7,
Wherein this memory management circuitry is also in order to write to this first instance by these first dataAfter the page, judge on this first instance page whether a misprogrammed occurs,
Wherein when there is this misprogrammed on this first instance page time, this memory management circuitryAlso in order to these first data and this second data are write to those physical page among oneTwo physical page centerings.
13. 1 kinds of memorizer memory devices, comprising:
One duplicative nonvolatile memory module, has multiple physical blocks, and wherein those are realEach physical blocks among the piece of tagma has multiple physical page of sequentially arranging, those entitiesThe page is grouped into sequentially multiple physical page pair of arranging, those physical page among eachIndividual physical page is at least comprising physical page in physical page and, and data writing extremelyThe speed of this lower physical page is greater than the speed of data writing to physical page on this;
A connector, 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 is somebody's turn to doConnector,
Wherein this Memory Controller in order to receive one write instruction with to writing one of instructionThe first data, and these first data are write to the first instance page among those physical pageFace, wherein this first instance page belong to those physical page among a first instance pageIt is right,
Wherein this Memory Controller is also in order to write to this first instance page by these first dataJudge that whether this first instance page is physical page on right this of this first instance page before face,
Wherein when this first instance page is on right this of this first instance page when physical page, shouldMemory Controller also in order to judge before these first data are write to this first instance pageIn a backup area, whether have one second data, wherein these second data be written into this firstIn right this lower physical page of physical page,
Wherein, in the time that this backup area does not have these second data, this Memory Controller is also in order to incite somebody to actionThese first data write to before this first instance page reality from right this of this first instance pageIn the body page, read these second data and these read second data are kept in to this backup areaIn,
Wherein when this first instance page is on right this of this first instance page when physical page, shouldMemory Controller also in order to judge before these first data are write to this first instance pageIn this backup area, whether have one the 3rd data, wherein the 3rd data have been written into those in factAmong the body page, be close to other lower physical page of this right lower physical page of this first instance pageIn face,
Wherein when do not have the 3rd data in this backup area time, this Memory Controller also in order toBefore being write to this first instance page, these first data in physical page, read from these otherGet the 3rd data and the 3rd read data are kept in to this backup area.
14. memorizer memory devices according to claim 13,
Wherein when this first instance page is on right this of this first instance page when physical page, shouldMemory Controller also in order to judge before these first data are write to this first instance pageIn this backup area, whether have belong to those physical page among contiguous this first instance pageThe right right data of at least one other physical page, wherein at this duplicative nonvolatile memoryIn module these at least one other physical page to be arranged in this first instance page right before,
Wherein when do not have the right data of these at least one other physical page in this backup area time, shouldMemory Controller also in order to before these first data are write to this first instance page from thisAt least one other physical page centerings keep in the right data of these at least one other physical page to thisIn backup area.
15. memorizer memory devices according to claim 13, wherein those physical pageTo among each physical page to also comprising physical page in,
Wherein when this first instance page is on right this of this first instance page when physical page, shouldMemory Controller also in order to judge before these first data are write to this first instance pageIn this backup area, whether there are the data that belong to physical page in right this of this first instance page,
Wherein belong to physical page in right this of this first instance page when not having in this backup areaWhen the data of face, this Memory Controller is also in order to write to this first instance by these first dataFrom right this of this first instance page, in physical page, will belong to this first instance page before the pageIn this that face, the data of physical page are kept in to this backup area.
16. memorizer memory devices according to claim 13, also comprise a buffer-storedDevice, wherein this backup area is this buffer storage.
17. memorizer memory devices according to claim 13, wherein this memory controlDevice also in order to by those physical blocks at least one of them is configured to this backup area.
18. memorizer memory devices according to claim 13,
Wherein this Memory Controller is also in order to write to this first instance page by these first dataAfter face, judge on this first instance page whether a misprogrammed occurs,
Wherein, when there is this misprogrammed on this first instance page time, this Memory Controller alsoIn order to these first data and this second data are write to those physical page among one secondPhysical 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 CN103019952A (en) 2013-04-03
CN103019952B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252600B (en) * 2013-06-27 2017-08-11 群联电子股份有限公司 Data guard method, Memory Controller and memorizer memory devices
KR20160074237A (en) * 2014-12-18 2016-06-28 에스케이하이닉스 주식회사 Data storage device and operating method thereof
CN107402716B (en) * 2016-05-20 2021-06-08 合肥兆芯电子有限公司 Data writing method, memory control circuit unit and memory storage device

Citations (1)

* 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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8151034B2 (en) * 2007-09-12 2012-04-03 Sandisk Technologies Inc. Write abort and erase abort handling
TWI362667B (en) * 2007-12-31 2012-04-21 Phison Electronics Corp Data writing method for flash memory and controller thereof

Patent Citations (1)

* 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

Also Published As

Publication number Publication date
CN103019952A (en) 2013-04-03

Similar Documents

Publication Publication Date Title
CN102890655B (en) Memory storage device, memory controller and valid data recognition method thereof
CN103593296B (en) Data storage method, Memory Controller and memorizer memory devices
CN102193869A (en) Memory management and write-in method, memory controller and storage system
CN102592670B (en) Method for writing data, Memory Controller and memorizer memory devices
CN102902626B (en) Block management method, Memory Controller and memorizer memory devices
CN102968385B (en) Method for writing data, Memory Controller and storage device
CN103136111A (en) Data writing method, memorizer controller and memorizer storage device
CN102446137B (en) Method for writing data, Memory Controller and memorizer memory devices
CN104978149A (en) Data write-in method, memory control circuit unit and memory storage device
CN102200946B (en) Data access method, memory controller and storage system
CN102866861B (en) Flash memory system, flash controller and method for writing data
CN102567221B (en) Data management method, memory controller and memory storage device
CN102890653B (en) Instruction executing method, Memory Controller and memorizer memory devices
CN102915273A (en) Data writing method, memory controller and memory storage device
CN103019952B (en) Method for writing data, Memory Controller and memorizer memory devices
CN102375781B (en) Data protecting method, memory controller and portable memory storage device
CN103984635B (en) Method for writing data, Memory Controller and memorizer memory devices
CN102999437A (en) Data transfer method, memory controller and memory storage device
TWI446170B (en) Data writing method, memory controller and memory storage apparatus
CN104238956A (en) Method for writing data, controller of storage, and storage device of storage
CN103365790A (en) Storage controller, storing device and data writing method
CN103488579B (en) Storage management method, Memory Controller and memorizer memory devices
CN102467459B (en) Data write method, memory controller and memory 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