CN103488579B - Storage management method, Memory Controller and memorizer memory devices - Google Patents

Storage management method, Memory Controller and memorizer memory devices Download PDF

Info

Publication number
CN103488579B
CN103488579B CN201210191603.5A CN201210191603A CN103488579B CN 103488579 B CN103488579 B CN 103488579B CN 201210191603 A CN201210191603 A CN 201210191603A CN 103488579 B CN103488579 B CN 103488579B
Authority
CN
China
Prior art keywords
physical location
location set
physical
those
programming mode
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
CN201210191603.5A
Other languages
Chinese (zh)
Other versions
CN103488579A (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 CN201210191603.5A priority Critical patent/CN103488579B/en
Publication of CN103488579A publication Critical patent/CN103488579A/en
Application granted granted Critical
Publication of CN103488579B publication Critical patent/CN103488579B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

A kind of storage management method, at least comprises the first physical location for duplicative non-volatile memory module and each physical location set with multiple physical location set. The method comprises: physical location set is grouped into the firstth district and Second Region, the physical location set of setting the firstth district belongs to the first programming mode that represents that all physical locations all can be programmed, and the physical location set of setting Second Region belongs to expression the second programming mode that only the first physical location can be programmed. The method also comprises: in the time that the firstth district or Second Region have physical location set to damage, change a physical location set into second programming mode, and cannot be set to the first programming mode again from the first programming mode. By this, can increase the service life of duplicative nonvolatile memory.

Description

Storage management method, Memory Controller and memorizer memory devices
Technical field
The invention relates to a kind of storage management method, and relate to especially a kind of for making carbon copiesStorage management method, Memory Controller and the memorizer memory devices of formula non-volatile memory module.
Background technology
Digital camera, mobile phone and MP3 player are very rapid in growth over the years, make to disappearThe person of expense also increases rapidly to the demand of Storage Media. Due to duplicative non-volatile memory module (exampleAs, flash memory) have that data are non-volatile, power saving, volume be little, and the characteristic such as machinery-free structure, soIn being applicable to very much, be built in above-mentioned given an example various portable multimedia devices.
According to the storable figure place of each memory cell, can divide into single-order with non-(NAND) type flash memory and storeUnit (SingleLevelCell, SLC) NAND type flash memory, multistage storage element (MultiLevelCell,MLC) NAND type flash memory and multistage storage element (TrinaryLevelCell, TLC) NAND type flash memory,Wherein each memory cell of SLCNAND type flash memory can store the data (, " 1 " and " 0 ") of 1 position,Each memory cell of MLCNAND type flash memory can store data and the TLCNAND type of 2 positionsEach memory cell of flash memory can store the data of 3 positions.
With TLCNAND type flash memory, each physical blocks can comprise multiple physical page groups, eachPhysical page group can comprise lower physical page, middle physical page and upper physical page. In general, dodgePhysical blocks in depositing can be divided into multiple uses region, replaces in district and also can comprise multiple physical blocks.In the time using the physical blocks in region to damage, the physical blocks that replaces district can be used to replace the thing damagingReason block. But, when wherein replacing while having there is no physical blocks in district, represent the service life of flash memoryFinish. Therefore, how effectively managing physical block, can extend the life-span of flash memory, forThe subject under discussion that those skilled in the art are concerned about.
Summary of the invention
The present invention's one exemplary embodiment proposes a kind of storage management method, Memory Controller and memoryStorage device, can extend the service life of duplicative non-volatile memory module.
The present invention's one exemplary embodiment proposes a kind of storage management method, non-for controlling a duplicativeVolatile. This duplicative non-volatile memory module comprises multiple physical location set,Each physical location set comprises multiple physical location groups, and each physical location group comprises multiple physicsUnit, the physical location of each physical location group at least comprises first physical location. This memoryManagement method comprises: physical location set is at least divided into the firstth district and Second Region, setting the firstth districtPhysical location set belongs to the first programming mode, and the physical location set of setting Second Region belongs to the second programmingPattern. Wherein the first programming mode represents that all physical locations can be programmed, and the second programming mode representsOnly the first physical location can be programmed. This method also comprises: when the first physical location set symbol of Second RegionWhile closing the second damage condition, replace the first physical location collection with the second physical location set in the firstth districtClose, setting the second physical location set belongs to the second programming mode and the second physical location set cannot be againBe set to the first programming mode.
In an example is implemented, the second above-mentioned damage condition comprises: the erasing of the first physical location setNumber of times reaches the second critical value, the first physical location set generation misprogrammed or the first physical location setThe position number making a mistake exceedes the upper limit that error checking and correcting code can be corrected.
In an example is implemented, above-mentioned the first physical location set when Second Region meets the second damage conditionTime, the step of replacing the first physical location set with the second physical location set in the firstth district comprises:From the physical location set in the firstth district, the second physical location set that obtains the first damage condition that meets comesReplace the first physical location set. The first damage condition comprises: the number of times of erasing of the second physical location setReach the first critical value, one misprogrammed occurs in the second physical location set or the second physical location set is sent outRaw wrong position number exceedes the upper limit that error checking and correcting code can be corrected.
In an example is implemented, above-mentioned the first physical location set when Second Region meets the second damage conditionTime, the step of replacing the first physical location set with the second physical location set in the firstth district comprises:From the physical location set in the firstth district, obtain second physics of number of times between 0 to first critical value of erasingUnit set is replaced the first physical location set.
In an example is implemented, above-mentioned storage management method also comprises: when the 3rd physics in the firstth districtWhen unit set meets the first damage condition, the 3rd physical location set is divided into Second Region; And establishFixed the 3rd physical location set belongs to the second programming mode and the 3rd physical location set cannot be set againIt is the first programming mode. The first damage condition comprises: the number of times of erasing of the 3rd physical location set reachesOne critical value, the 3rd physical location set generation misprogrammed or the 3rd physical location set make a mistakePosition number exceedes the upper limit that error checking and correcting code can be corrected.
In an example is implemented, above-mentioned storage management method also comprises: when the 3rd physics in the firstth districtWhen unit set meets the first damage condition, obtain multiple the 4th of the first damage conditions that meet in the firstth districtPhysical location set; Set these the 4th physical location set and belong to the second programming mode; And use theThe 3rd physical location set is replaced in four physical location set. The first damage condition comprises: the 4th physics listThe number of times of erasing of unit set reaches the first critical value, the 4th physical location set one misprogrammed or the occursThe position number that four physical location set make a mistake exceedes upper that an error checking and correcting code can correctLimit.
In an example is implemented, above-mentioned the 3rd physical location set when the firstth district meets the first damage conditionTime, obtain the step that belongs to the 4th physical location set of the first damage condition in the firstth district and comprise; JudgementIn the firstth district, whether have physical location set can be under the first programming mode storage data, if not, obtainThe 3rd physical location set is replaced in four physical location set.
With another one angle, the present invention's one exemplary embodiment proposes a kind of memorizer memory devices,Comprise connector, duplicative non-volatile memory module and Memory Controller. Wherein connector isIn order to be electrically connected to host computer system. Duplicative non-volatile memory module comprises multiple physical locationsSet, each physical location set comprises multiple physical location groups. And each physical location group is wrappedDraw together multiple physical locations, the physical location of each physical location group at least comprises the first physical location. DepositReservoir controller is to be electrically connected to connector and duplicative non-volatile memory module. Memory controlDevice processed can at least be divided into the firstth district and Second Region by physical location set. And, Memory Controller meetingThe physical location set of setting the firstth district belongs to the first programming mode, and sets the physical location of Second RegionSet belongs to the second programming mode. Wherein the first programming mode represents that all physical locations can be programmed,The second programming mode represents that only the first physical location can be programmed. When the first physical location set of Second RegionWhile meeting the second damage condition, Memory Controller comes in order to the second physical location set with the firstth districtReplace the first physical location set, and set the second physical location set and belong to the second programming mode and theTwo physical location set cannot be divided into the first programming mode again.
In an example is implemented, the second above-mentioned damage condition comprises: the erasing of the first physical location setNumber of times reaches the second critical value, the first physical location set generation misprogrammed or the first physical location setThe position number making a mistake exceedes the upper limit that error checking and correcting code can be corrected.
In an example is implemented, above-mentioned Memory Controller is also in order to the physical location set from the firstth districtIn, obtain the second physical location set of the first damage condition that meets and replace the first physical location set.The first damage condition comprises: the number of times of erasing of the second physical location set reaches the first critical value, the second thingThe position number that reason unit set generation misprogrammed or the second physical location set make a mistake exceedes mistake inspectionLook into the upper limit that can correct with correcting code.
In an example is implemented, above-mentioned Memory Controller is also in order to the physical location set from the firstth districtIn, obtain the number of times of erasing and replace the first physics between the second physical location set of 0 to first critical valueUnit set.
In an example is implemented, in the time that the 3rd physical location set in the firstth district meets the first damage condition,Memory Controller is also in order to the 3rd physical location set is divided into Second Region, and sets the 3rd physics listUnit's set belongs to the second programming mode and cannot be set to the first programming mode again. First damages condition bagDraw together: the number of times of erasing of the 3rd physical location set reaches the first critical value, the 3rd physical location set occursThe position number that one misprogrammed or the 3rd physical location set make a mistake exceedes an error checking and correcting codeThe upper limit that can correct.
In an example is implemented, above-mentioned Memory Controller is also in order to the 3rd physical location in the firstth districtWhen set damages, obtain multiple the 4th physical location set that meet the first damage condition in the firstth district, establishFixed the 4th physical location set belongs to the second programming mode, and replaces with the 4th physical location setThe 3rd physical location set. The first damage condition comprises: the number of times of erasing of the 4th physical location set reachesThe first critical value, the 4th physical location set generation misprogrammed or the 4th physical location set make a mistakePosition number exceed the upper limit that error checking and correcting code can be corrected.
In an example is implemented, above-mentioned Memory Controller is also in order to judge whether there is physics in the firstth districtUnit set can be under the first programming mode storage data, if not, obtain the 4th physical location set and replaceChange the 3rd physical location set.
With another one angle, the present invention's one exemplary embodiment proposes a kind of Memory Controller, bagDraw together HPI, memory interface and memory management circuitry. HPI is to be electrically connected to masterMachine system. Memory interface is to be electrically connected to above-mentioned duplicative non-volatile memory module.Memory management circuitry is to be electrically connected to HPI and memory interface. Memory management circuitry can be byPhysical location set is at least divided into the firstth district and Second Region. And memory management circuitry is in order to setThe physical location set in the firstth district belongs to the first programming mode, and the physical location set of setting Second Region belongs toThe second programming mode. Wherein, the first programming mode represents that all physical locations can be programmed, and second compilesJourney modal representation only the first physical location can be programmed. When the first physical location set of Second Region meetsTwo damage when condition, and memory management circuitry can replace the with the second physical location set in the firstth districtOne physical location set, and setting the second physical location set is the second programming mode and the second physicsUnit set cannot be divided into the first programming mode again.
In an example is implemented, the second above-mentioned damage condition comprises: the erasing of the first physical location setNumber of times reaches the second critical value, the first physical location set generation misprogrammed or the first physical location setThe position number making a mistake exceedes the upper limit that error checking and correcting code can be corrected.
In an example is implemented, above-mentioned memory management circuitry is also in order to the physical location collection from the firstth districtIn closing, obtain the second physical location set of the first damage condition that meets and replace the first physical location set.The first damage condition comprises: the number of times of erasing of the second physical location set reaches the first critical value, the second thingThere is the position number that a misprogrammed or the second physical location set make a mistake and exceed a mistake in reason unit setFlase drop is looked into the upper limit that can correct with correcting code.
In an example is implemented, above-mentioned memory management circuitry is also in order to the physical location collection from the firstth districtIn closing, obtain the number of times of erasing and replace the first thing between the second physical location set of 0 to first critical valueReason unit set.
In an example is implemented, in the time that the 3rd physical location set in the firstth district meets the first damage condition,Memory management circuitry, also in order to the 3rd physical location set is divided into Second Region, is set the 3rd physics listUnit's set belongs to the second programming mode and the 3rd physical location set can not be set to the first programming mould againFormula. The first damage condition comprises: the number of times of erasing of the 3rd physical location set reaches the first critical value,The position number that three physical location set generation misprogrammeds or the 3rd physical location set make a mistake exceedes mistakeFlase drop is looked into the upper limit that can correct with correcting code.
In an example is implemented, above-mentioned memory management circuitry is also in order to the 3rd physics list in the firstth districtWhen unit's set damages, obtain multiple the 4th physical location set that meet the first damage condition in the firstth district,Set these the 4th physical location set and belong to the second programming mode, and use the 4th physical location setReplace the 3rd physical location set. The first damage condition comprises: erasing of the 4th physical location set is inferiorNumber reaches the first critical value, the 4th physical location set generation misprogrammed or the 4th physical location set and sends outRaw wrong position number exceedes the upper limit that error checking and correcting code can be corrected.
In an example is implemented, above-mentioned memory management circuitry is also in order to judge whether there is thing in the firstth districtReason unit set can be under the first programming mode storage data, if not, obtain the 4th physical location setReplace the 3rd physical location set.
With another one angle, the present invention's one exemplary embodiment proposes a kind of storage management method,For controlling above-mentioned duplicative non-volatile memory module. This storage management method comprises: willPhysical location set is at least divided into the firstth district and Second Region, and the physical location set of setting the firstth district belongs toThe first programming mode, the physical location set of setting Second Region belongs to the second programming mode, wherein first compilesJourney modal representation physical location can be programmed, and the second programming mode represents that only the first physical location can be programmed.The method also comprises: in the time that at least one first physical location set in the firstth district meets the first damage condition,The first physical location set is divided to Second Region, sets the first physical location set and belong to the second programming mouldFormula, and the first physical location set cannot be set to the first programming mode again.
In an example is implemented, the first above-mentioned damage condition comprises: the erasing of the first physical location setNumber of times reaches the first critical value, the first physical location set generation misprogrammed or the first physical location setThe position number making a mistake exceedes the upper limit that an error checking and correcting code can be corrected.
In an example is implemented, above-mentioned storage management method also comprises: the first zoning is divided into oneData field and Ge 3rd district, configure the physical location set of multiple logical block compound mappings to data field;In the time that at least the first physical location set meets the first damage condition, judge whether San district has physics listUnit's set can be under the first programming mode storage data, if not, from Second Region, obtain multiple the second physicsUnit set; And the second physical location set is divided into San district.
Based on above-mentioned, exemplary embodiment of the present invention proposes a kind of storage management method, Memory ControllerWith memorizer memory devices, can increase the service life of duplicative nonvolatile memory.
For above-mentioned feature and advantage of the present invention can be become apparent, special embodiment below, and coordinateAppended graphic being described in detail below.
Brief description of the drawings
Figure 1A is host computer system and the memorizer memory devices illustrating according to an exemplary embodiment.
Figure 1B is computer, input/output device and the memory storage illustrating according to an exemplary embodimentThe schematic diagram of cryopreservation device.
Fig. 1 C is the host computer system that illustrates according to an exemplary embodiment and the signal of memorizer memory devicesFigure.
Fig. 2 is the summary block diagram that illustrates the memorizer memory devices shown in Figure 1A.
Fig. 3 A and Fig. 3 B are that the memory cell illustrating according to an exemplary embodiment stores framework and physical areasThe example schematic of piece.
Fig. 3 C is according to the example schematic of the write sequence of an exemplary embodiment explanation physical page.
Fig. 4 is the summary block diagram of the Memory Controller that illustrates according to an exemplary embodiment.
Fig. 5 is the management duplicative non-volatile memory module that illustrates according to an exemplary embodimentExample schematic.
Fig. 6 is the example that according to another exemplary embodiment explanation, data is write to the physical blocks of Second RegionSchematic diagram.
Fig. 7 is the physical areas of replacing the firstth district according to the physical blocks in exemplary embodiment explanation Yong 3rd districtThe example schematic of piece.
Fig. 8 is according to the flow chart of an exemplary embodiment explanation storage management method.
Fig. 9 is divided into physical blocks during taking physical page as unit the according to an exemplary embodiment explanationThe example schematic of one district and Second Region.
Figure 10 is while illustrating taking physical page as unit according to an exemplary embodiment, the example that data are writeSchematic diagram.
Figure 11 copies to three according to an exemplary embodiment explanation by the valid data of a physical blocksBe set as the example schematic of the physical blocks of the second programming mode.
Figure 12 is the flow chart of the storage management method that illustrates according to an exemplary embodiment.
[main element label declaration]
Detailed description of the invention
[the first exemplary embodiment]
In this manual, the physical location of indication is also called as physical page, physical location set also byBe called physical blocks, physical location group is also called as physical page group. Wherein, physical location set byThe least unit of erasing. And, can be by by multiple physical location set of clusters of logic cells mappingBe called a physical location group. In addition, upper physical location is also called as physical page, middle physical locationAlso be called as middle physical page, and lower physical location is also called as lower physical page. But, at other modelIn example embodiment, physical location can have one or more electronics that can make carbon copies with non-volatile characteristic for otherElement, for example entity fan, the present invention is also not subject to the limits. In addition, logical blocks is also called as logical blockSet, logical page (LPAGE) group is also called as logical block group, and logical page (LPAGE) is also called as logical block. And it is manyIndividual logical block set also can be described as a clusters of logic cells.
Generally speaking, memorizer memory devices (also claiming memory storage system) comprises that duplicative is non-volatileProperty memory module and controller (also claiming control circuit). Conventionally memorizer memory devices is and host computer systemHost computer system uses together, so that can write to data memorizer memory devices or fill from memory storagePut middle reading out data.
Figure 1A is host computer system and the memorizer memory devices illustrating according to an 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, random access memoryDevice (randomaccessmemory, RAM) 1104, system bus 1108 and data transmission interface 1110.Input/output device 1106 comprises as the mouse 1202 of Figure 1B, keyboard 1204, display 1206 and beatsSeal machine 1208. It must be appreciated, the unrestricted input/output device 1106 of the device shown in Figure 1B, defeatedEnter/output device 1106 can also comprise other device.
In embodiments of the present invention, memorizer memory devices 100 is with main by data transmission interface 1110Other element of machine system 1000 is electrically connected. By microprocessor 1102, random access memory 1104With the running of input/output device 1106 data can be write to memorizer memory devices 100 or from storageReading out data in device storage device 100. For example, memorizer memory devices 100 can be as shown in Figure 1BPortable disk 1212, storage card 1214 or solid state hard disc (SolidStateDrive, SSD) 1216 etc. canManifolding formula non-volatile memory storage device.
Generally speaking, host computer system 1000 is for coordinating to store with memorizer memory devices 100 substantiallyAny system of data. Although in this exemplary embodiment, host computer system 1000 is to come with computer systemExplain, but, in another exemplary embodiment of the present invention host computer system 1000 can be digital camera,The systems such as video camera, communicator, audio player or video player. For example, in host computer system beDigital camera (video camera) 1310 o'clock, duplicative non-volatile memory storage device is by it is usedSD card 1312, mmc card 1314, memory stick (memorystick) 1316, CF card 1318 or embeddingEnter formula storage device 1320 (as shown in Figure 1 C). Embedded storage device 1320 comprises built-in multimediaCard (EmbeddedMMC, eMMC). It is worth mentioning that, embedded multi-media card is directly electrically to connectBe connected on the substrate of host computer system.
Fig. 2 is the summary block diagram that illustrates the memorizer memory devices shown in Figure 1A.
Please refer to Fig. 2, memorizer memory devices 100 comprise connector 102, Memory Controller 104 withDuplicative non-volatile memory module 106.
In this exemplary embodiment, connector 102 is to be compatible with secure digital (SecureDigital, SD) to connectMouth standard. But, it must be appreciated, the invention is not restricted to this, connector 102 can also be to meetAdvanced annex arranged side by side (ParallelAdvancedTechnologyAttachment, PATA) standard, electric and electricSub-IEEE (InstituteofElectricalandElectronicEngineers, IEEE) 1394 standards,High-speed peripheral component connecting interface (PeripheralComponentInterconnectExpress, PCIExpress) standard, universal serial bus (UniversalSerialBus, USB) standard, the advanced annex of sequence(SerialAdvancedTechnologyAttachment, SATA) standard, memory stick (MemoryStick,MS) interface standard, Multi Media Card (MultiMediaCard, MMC) interface standard, compact flash(CompactFlash, CF) interface standard, integrated form drive electrical interface (IntegratedDeviceElectronics, IDE) standard or other applicable standard.
Memory Controller 104 in order to carrying out with multiple gates of hardware pattern or firmware pattern implementation orControl instruction, and according to the instruction of host computer system 1000 in duplicative non-volatile memory moduleIn 106, carry out the runnings such as writing, read and erase of data.
Duplicative non-volatile memory module 106 is to be electrically connected to Memory Controller 104, andAnd the data that write in order to store host computer system 1000. Duplicative non-volatile memory module 106There is physical blocks 304 (0)~304 (R). For example, physical blocks 304 (0)~304 (R) can belong to sameMemory crystal grain (die) or belong to different memory crystal grain. In this exemplary embodiment, each physicsBlock has respectively multiple physical page groups and each physical page group and comprises by being positioned at same word lineAt least one physical page that memory cell forms, wherein belongs to the physical page of same physical blocksMust side by side be erased. In more detail, physical blocks is the least unit of erasing. That is, eachThe memory cell of being erased in the lump that physical blocks contains minimal amount.
Fig. 3 A and Fig. 3 B are that the memory cell illustrating according to the first exemplary embodiment stores framework and physicsThe example schematic of block.
Please refer to Fig. 3 A, the storage of each memory cell of duplicative non-volatile memory module 106State can be identified as " 111 ", " 110 ", " 101 ", " 100 ", " 011 ", " 010 ", " 001 " or " 000 " (asShown in Fig. 3 A), wherein the 1st position counting, left side be LSB (Leastsignificantbit), from left sideThe 2nd position of counting is that CSB (centersignificantbit) and the 3rd position counting from left side areMSB (mostsignificantbit). In addition the several memory cell that are arranged on same word line, can form3 physical pages, the physical page that wherein LSB of a little memory cell forms is thus called lower Physical PageFace, the physical page that the CSB of a little memory cell forms is thus called middle physical page, and more thusThe physical page that the MSB of memory cell forms is called physical page.
Please refer to Fig. 3 B, a physical blocks is made up of multiple physical page groups, wherein each physicsPage group comprise the lower physical page that formed by the several memory cell that are arranged on same word line, inPhysical page and upper physical page. For example, the putting in order of the numeral physical page in Fig. 3 B,In physical blocks, belong to lower physical page the 0th physical page, belong to the 1st of middle physical pagePhysical page can be regarded as a physical page group with the 2nd physical page that belongs to physical page. ClassLike, the 3rd, 4,5 physical pages can be regarded as a physical page group, and by that analogy otherPhysical page is to be also divided into multiple physical page groups according to this mode. Physical page is the minimum of programmingUnit. The minimum unit that, physical page is data writing. Specifically, to being arranged in same wordWhen several memory cell on line are programmed, only can be under programming after physical page or in programmingAfter lower physical page, middle physical page and upper physical page, just can read, otherwise stored numberAccording to losing. For example, after the 0th physical page and the 1st physical page are programmed, mustThe 2nd physical page of need first programming just can read 0th~2 physical pages later.
Fig. 3 C is according to the example schematic of the write sequence of an exemplary embodiment explanation physical page.
Please refer to Fig. 3 C, physical blocks also can be by the jagged order physical page of programming. WordThe numbering of each word line of each digitized representation in line field 322. And lower physical page field 324,Middle physical page field 326 and writing that each numeral in upper physical page field 328 is physical pageEnter order. For example, when will be data programing during to physical blocks, Memory Controller 104 is programming firstTo the lower physical page of the 0th word line. Then, Memory Controller 104 is understood the 1st word line of programmingThe middle physical page of lower physical page and the 0th word line of programming. Then, Memory Controller 104 meetingsThe programme middle physical page of the lower physical page of the 2nd word line, the 1st word line and the 0th word lineUpper physical page, by that analogy. By this, the physical page of different word lines can side by side be programmed. SoAnd in other exemplary embodiment, Memory Controller 104 also can programme one in differing orderIndividual physical blocks, the present invention is also not subject to the limits.
In addition, in the time that a physical blocks meets one of them of multiple damage conditions, this physical areasPiece just can be called as the physical blocks of damage. For example, the number of times of erasing of physical blocks has a upper limit, ifThe number of times of erasing of physical blocks arrives this upper limit can meet damage condition. If select under programming in this hypothesisWhen physical page, middle physical page and upper physical page, the number of times of erasing of physical blocks on be limited toOne critical value. If only select the lower physical page of programming, the number of times of erasing of physical blocks on be limited to secondCritical value. Specifically, the first critical value can be less than the second critical value. For example, the first critical value is 3000,And the second critical value is 20000. The writing speed of lower physical page can be faster than middle physical page and upper physicsThe writing speed of the page. That is to say, in the time that data are programmed to a physical blocks, dataWriting to the required time of lower physical page can be than data being write to middle physical page or upper physical page instituteThe time needing is shorter. In addition, if there is misprogrammed when data are write to physical blocks, compile,The physical blocks of journey mistake also can meet damage condition. Or, if occur during from physical blocks reading out dataThe position number of mistake exceedes error checking and correcting code (errordetectionandcorrectioncode) institute energyThe upper limit of corrigendum, this physical blocks also meets damage condition. In sum, when a physical blocks is fullWhen one of them of the above-mentioned damage condition of foot, this physical blocks just can be called as the physical blocks of damage.But the present invention is the condition of damage-limiting not.
On the other hand, must be according to physical page when data writing in physical blocks 304 (0)~304 (R)The data writing that puts in order. In addition the physical page that, has been written into data must first be erased after abilityAgain for data writing. Therefore, in general, in order to manage, duplicative is non-volatile to be deposited physical blocksThe least unit of memory modules 106. For example,, if the data quilt of partial page only in a physical blocksWhen renewal, the valid data in this physical blocks must be moved to another empty physical blocks, this thingReason block just can be performed erase operation for use. At this, the operation of moving valid data is called data and merges running.But, in another exemplary embodiment, also can be used as management duplicative with physical page non-volatileThe least unit of memory module 106, the present invention is also not subject to the limits.
Each physical page generally includes data bit district and redundant digit district. Data bit district is used in order to storePerson's data, and redundant digit district for example, in order to the data (, error checking and correcting code) of stocking system. At thisIn exemplary embodiment, each physical blocks is made up of 258 physical pages, and each Physical PageThe capacity of face is 8 kilobytes (Kilobyte, KB). But, it must be appreciated, the invention is not restricted to this.
In this exemplary embodiment, duplicative non-volatile memory module 106 is a multistage bill of store(TrinaryLevelCell, the TLC) NAND of unit type flash memory module, that is each physical page group has comprisedLower physical page, middle physical page and upper physical page. But, it must be appreciated, duplicativeNon-volatile memory module 106 is not limited to TLCNAND type flash memory module. At another model of the present inventionIn example embodiment, duplicative non-volatile memory module 106 is also more than quadravalence, or other toolThere is the memory module of identical characteristics.
Fig. 4 is the summary block diagram of the Memory Controller that illustrates according to an exemplary embodiment.
Please refer to Fig. 4, Memory Controller 104 comprises memory management circuitry 202, HPI 204With memory interface 206.
Memory management circuitry 202 is in order to the overall operation of control storage controller 104. Specifically,Memory management circuitry 202 has multiple control instructions, and in the time that memorizer memory devices 100 operates,These a little control instructions can be performed to carry out the runnings such as writing, read and erase of data.
In this exemplary embodiment, the control instruction of memory management circuitry 202 is to come in fact with firmware patternDo. For example, memory management circuitry 202 has microprocessor unit (not illustrating) and read-only storage (notIllustrate), and these a little control instructions are to be burned onto in this read-only storage. When memorizer memory devices 100When running, these a little control instructions can carry out to carry out the writing of data by microprocessor unit, read withThe running such as erase.
In another exemplary embodiment of the present invention, the control instruction of memory management circuitry 202 can also journeyOrder pattern formula is stored in specific region (for example, the memory of duplicative non-volatile memory module 106In module, be exclusively used in the system area of storage system data) in. In addition, memory management circuitry 202 has micro-Processor unit (not illustrating), read-only storage (not illustrating) and random access memory (not illustrating). EspeciallyBe, this read-only storage has the code of driving, and in the time that Memory Controller 104 is enabled, micro-processingDevice unit can first be carried out this and drive code section will be stored in duplicative non-volatile memory module 106Control instruction be loaded in the random access memory of memory management circuitry 202. Afterwards, micro-processingDevice unit can turn round these a little control instructions to carry out the runnings such as writing, read and erase of data.
In addition,, in another exemplary embodiment of the present invention, the control instruction of memory management circuitry 202 alsoCan a hardware pattern carry out implementation. For example, memory management circuitry 202 comprises microcontroller, memoryAdministrative unit, memory writing unit, memory reading unit, memory erase unit and data processingUnit. MMU, memory writing unit, memory reading unit, the memory list of erasingUnit is to be electrically connected to microcontroller with data processing unit. Wherein, MMU is in order to managementThe physical blocks of duplicative non-volatile memory module 106; Memory writing unit is in order to answeringWrite formula non-volatile memory module 106 and assign that to write instruction non-volatile so that data are write to duplicativeIn property memory module 106; Memory reading unit is in order to duplicative non-volatile memory module106 assign reading command with reading out data from duplicative non-volatile memory module 106; StorageDevice is erased unit in order to duplicative non-volatile memory module 106 is assigned to the instruction of erasing with by dataFrom duplicative non-volatile memory module 106, erase; And data processing unit is wanted to write in order to processEnter to the data of duplicative non-volatile memory module 106 and from duplicative non-volatile memoriesThe data that read in device module 106.
HPI 204 is to be electrically connected to memory management circuitry 202 and main in order to receive with identificationThe instruction that machine system 1000 transmits and data. That is to say the instruction that host computer system 1000 transmitsCan be sent to memory management circuitry 202 by HPI 204 with data. In this exemplary embodimentIn, HPI 204 is to be compatible with SD standard. But, it must be appreciated and the invention is not restricted to this,HPI 204 can also be to be compatible with PATA standard, IEEE1394 standard, PCIExpress markStandard, USB standard, SATA standard, MS standard, MMC standard, CF standard, IDE standard or itsThe data transmission standard that it is applicable.
Memory interface 206 is be electrically connected to memory management circuitry 202 and can make carbon copies in order to accessFormula non-volatile memory module 106. That is to say, want to write to duplicative nonvolatile memoryThe data of module 106 can be converted to duplicative non-volatile memory module via memory interface 206106 receptible forms.
In the present invention's one exemplary embodiment, Memory Controller 104 also comprise buffer storage 252,Electric power management circuit 254 and error checking and correcting circuit 256.
Buffer storage 252 is be electrically connected to memory management circuitry 202 and come from order to temporaryThe data and instruction of host computer system 1000 or come from the number of duplicative non-volatile memory module 106According to.
Electric power management circuit 254 is to be electrically connected to memory management circuitry 202 and in order to control storeThe power supply of device storage device 100.
Error checking and correcting circuit 256 are to be electrically connected to memory management circuitry 202 and in order to holdRow error checking and correction program are to guarantee the correctness of data. Specifically, work as memory management circuitry202 receive while writing instruction from host computer system 1000, and error checking and correcting circuit 256 can be for rightShould these data that write instruction produce corresponding error checking and correcting code (ErrorCheckingandCorrectingCode, ECCCode), and memory management circuitry 202 can by correspondence, this writes instructionData write to duplicative non-volatile memory module 106 with corresponding error checking and correcting codeIn. Afterwards, when memory management circuitry 202 is read from duplicative non-volatile memory module 106While fetching data, can read error checking corresponding to these data and correcting code simultaneously, and error checking and correctionCircuit 256 can check read data execution error and proofread and correct journey according to this error checking and correcting codeOrder.
In general, memory management circuitry 202 can be divided into physical blocks 304 (0)~304 (R) and beSystem district, data field, replacement district and idle district.
The physical blocks in data field and idle district is the data that come from host computer system 1000 in order to store. NumberBe the physical blocks of storage data according to district, and the physical blocks in idle district is the thing in order to replacement data districtReason block. Therefore, the physical blocks in idle district is empty or spendable physical blocks, i.e. no record dataOr be labeled as invalid data useless. That is to say, the physical blocks in idle district is performed and smearsExcept running, or the physical blocks of working as in idle district is extracted the physics for extracting before storage dataBlock can first be performed the running of erasing.
The physical blocks that belongs in logic system area is in order to register system data, wherein this system data bagDraw together about the manufacturer of memory chip and model, the physical blocks number of memory chip, each physical areasThe physical page number of piece etc.
Belonging in logic the physical blocks replacing in district is alternate physical block. For example, duplicative is non-easilyThe property lost memory module can be reserved 4% physical blocks as changing use in the time dispatching from the factory. That is to say, whenWhen physical blocks in data field, idle district and system area is damaged, reserve the physical blocks in replacing districtIn order to replacing damaged physical blocks (, bad physical blocks (badblock)).
But in this exemplary embodiment, memory management circuitry 202 can be by traditional replacement Qu YuxianPutting district is merged into a region (also Cheng 3rd district) and uses. That is to say, in the time having physical blocks to damage,Meeting Cong 3rd district carry out extracts physical block and replace. In the time having data to keep in, also can in Cong 3rd district, carryGetting physical blocks uses.
Fig. 5 is the management duplicative non-volatile memory module that illustrates according to an exemplary embodimentExample schematic.
Please refer to Fig. 5, memory management circuitry 202 can at least be divided physical blocks 304 (0)~304 (R)Be the first district 580 and Second Region 560. Specifically, memory management circuitry 202 can be set the firstth district580 physical blocks belongs to the first programming mode, and the physical blocks of setting Second Region 560 belongs to secondProgramming mode. Wherein, the first programming mode represents all lower physical pages, middle physical page and upper thingThe reason page all can be programmed. The second programming mode represents to only have lower physical page (being also called the first physical page)Can be programmed. In other words, memory management circuitry 202 can be used each physical blocks in the first district 580Lower physical page, middle physical page and upper physical page carry out storage data. And in Second Region 560,Memory management circuitry 202 is only carried out storage data with the lower physical page of each physical blocks. The firstth district580 physical blocks is the storage area that provides a large amount of, but the upper limit of the number of times of relatively erasing (,The first critical value) less. And relative less in the storage area of the physical blocks of Second Region 560, but it is smearedThe upper limit (, the second critical value) of removing number of times is larger.
In the time that a physical blocks in the first district 580 meets one first damage condition, this physical blocks meetingBe called as the physical blocks of damage. For example, the first damage condition comprises: the number of times of erasing reaches first criticalValue, the position number that occurs to make a mistake in misprogrammed or physical blocks exceed error checking and correctionThe upper limit that code can be corrected. In the time that a physical blocks of Second Region 580 meets one second damage condition,This physical blocks can be called as the physical blocks of damage. For example, the second damage condition comprises: the number of times of erasingThe position number that reach the second critical value, occurs to make a mistake in misprogrammed or physical blocks exceedes mistakeFlase drop is looked into the upper limit that can correct with correcting code.
For example, memory management circuitry 202 can be further subdivided into San district 520 and data by the first district 580District 540. San district 520 has comprised physical blocks 304 (0)~304 (A), and data field 540 has comprised physicsBlock 304 (A+1)~304 (B), and Second Region has comprised physical blocks 304 (B+1)~304 (P). But,In other exemplary embodiment, memory management circuitry 202 also can be by physical blocks 304 (0)~304 (R)Mark off a system area, the present invention does not limit the number in marked off region again.
In this exemplary embodiment, memory management circuitry 202 can assignment logic block addressLBA (A+1)~LBA (B) is to map to the physical blocks 304 (A+1)~304 (B) of data field 540. AndAnd memory management circuitry 202 can be set up logical block addresses-physical blocks mapping table, with recordMapping between logical block addresses LBA (A+1)~LBA (B) and physical blocks 304 (A+1)~304 (B)Relation. Memory management circuitry 202 also can offer logical block addresses LBA (A+1)~LBA (B)Host computer system 1000. Thus, host computer system 1000 just can access logical block addressesLBA(A+1)~LBA(B)。
The physical blocks in San district 520 can in order in replacement data district 540 or Second Region 560 damagePhysical blocks. In this exemplary embodiment, while having there is no available physical blocks in Ruo tri-districts 520,Memory management circuitry 202 can be declared as write protection (write by whole memorizer memory devices 100Protect) state, and data writing again.
Fig. 6 is the example that according to another exemplary embodiment explanation, data is write to the physical blocks of Second RegionSchematic diagram.
Please refer to Fig. 6, be converted to the second programming mould when a physical blocks is set from the first programming modeWhen formula, memory management circuitry 202 can be assigned an instruction to duplicative non-volatile memory module106, make the physical blocks that is set to the second programming mode only can provide lower physical page to write numberAccording to. That is to say, memory management circuitry 202 can only obtain the thing of the lower physical page of this physical blocksReason address. For example, after physical blocks 304 (B+1)~304 (B+3) is converted to the second programming mode,Physical blocks 304 (B+1)~304 (B+3) only can provide the physical address 0-85 of lower physical page to memoryManagement circuit 202. After receiving from host computer system 1000 and writing instruction, memory management circuitry 202Can first data be write to the lower physical page of physical blocks 304 (B+1)~304 (B+3). Next, depositReservoir management circuit 202 can be multiple data physical page from physical blocks 304 (B+1)~304 (B+3)System is to physical blocks 304 (A+1).
In the time that a physical blocks in the first district 580 meets the first damage condition, memory management circuitry 202Can set this physical blocks belongs to the second programming mode and is divided into Second Region 560. And, storage organ pipeReason circuit 202 can be set this physical blocks cannot be changed into the first programming mode again.
Fig. 7 is according to the physical areas in the physical blocks replacement data district in exemplary embodiment explanation Yong 3rd districtThe example schematic of piece.
Please refer to Fig. 7, when the physical blocks 304 (A+1) (also claiming the first physical blocks) of data field 540 meetsWhen the first damage condition, represent the unrenewable lower physical page of physical blocks 304 (A+1), middle physical pageCarry out data writing with upper physical page. Memory management circuitry 202 can judge that physical blocks 304 (A+1) isThe physical blocks of damaging, and the physical blocks in Yong tri-districts 520 is replaced physical blocks 304 (A+1).For example, the physical blocks 304 (0) that memory management circuitry 202 can obtain San district 520 is replaced physicsBlock 304 (A+1). Originally be to map to logical block addresses in this hypothesis physical blocks 304 (A+1)LBA (A+1), therefore when memory management circuitry 202 use physical blocks 304 (0) are replaced physical blocksWhen 304 (A+1), logical block addresses LBA (A+1) can be remapped to physical blocks 304 (0). And,Memory management circuitry 202 can copy to physical blocks the valid data in physical blocks 304 (A+1)304 (0). In addition, memory management circuitry 202 can be divided into Second Region 560 physical blocks 304 (A+1),And set physical blocks 304 (A+1) and change the second programming mode into from the first programming mode. Specifically,Physical blocks 304 (A+1) is converted into the second programming mode just cannot be transformed back into the first programming mould later againFormula. Due in the time only carrying out data writing with lower physical page, the number of times of erasing of a physical blocks upperLimit can increase (becoming the second critical value from the first critical value). Therefore, physical blocks 304 (A+1) is setBe can also continue to be used after the second programming mode.
In an exemplary embodiment, memory management circuitry 202 also can first collect in the first district 580 threeThe physical blocks of individual damage, and these three physical blocks are divided into Second Region 560 simultaneously. But, depositReservoir management circuit 202 also can be divided the more or less physical blocks of number to Second Region 560 simultaneously,The present invention is also not subject to the limits.
But when Dang tri-districts 520 have not had available physical blocks, memory management circuitry 202 alsoCan from Second Region 560, obtain three belongs to the physical blocks of the second programming mode and is divided to San district520. These three physical blocks can be in order to replace a physical blocks in San district 520. Specifically,Memory management circuitry 202 can be regarded the lower physical page of these three physical blocks a physical blocksLower physical page, middle physical page and upper physical page use. In other words, Dang tri-districts 520While thering is no operable physical blocks, memory management circuitry 202 can be extracted the physics of Second Region 560Block avoids whole memorizer memory devices 100 to be declared as write protection, and then extends its use longevityLife.
Fig. 8 is according to the flow chart of an exemplary embodiment explanation storage management method.
Please refer to Fig. 8, in step S802, memory management circuitry 202 can at least be drawn physical blocksBe divided into the firstth district and Second Region, the physical blocks of setting the firstth district belongs to the first programming mode, sets secondThe physical blocks in district belongs to the second programming mode. Wherein the first programming mode represents all physical pages allCan be programmed, the second programming mode represents that only the first physical page can be programmed.
In step S804, in the time that the firstth district has physical blocks to meet the first damage condition, storage managementCircuit 202 can be divided to Second Region by this physical blocks, sets this physical blocks and belongs to the second programming modeAnd cannot be set back again the first programming mode. Wherein the first damage condition comprises: this physical blocksThe number of times of erasing reaches the first critical value, misprogrammed occurs or the position number that makes a mistake exceedes error checkingThe upper limit that can correct with correcting code.
But in Fig. 8, each step has described in detail as above, just repeats no more at this.
[the second exemplary embodiment]
In the first exemplary embodiment, in the time that the firstth district has physical blocks to damage, memory management circuitry 202Just the physical blocks of damage can be changed into the second programming mode and be divided into Second Region. But, secondIn exemplary embodiment, memory management circuitry 202 is have physical blocks to damage during in Second Region, just from theIn one district, select a physical blocks, and the physical blocks of selecting is divided into Second Region and is set as secondProgramming mode. In addition,, in the first exemplary embodiment, memory management circuitry 202 is with physical blocksFor managing duplicative non-volatile memory module 106 in unit, but in the second exemplary embodiment,Memory management circuitry 202 is to manage duplicative nonvolatile memory mould taking physical page as unitPiece 106. But in the second exemplary embodiment, memory management circuitry 202 also can be with physical areasPiece is that unit manages duplicative non-volatile memory module 106, and the present invention is also not subject to the limits.
Fig. 9 is the example that according to an exemplary embodiment explanation, physical blocks is divided into the firstth district and Second RegionSchematic diagram.
Please refer to Fig. 9, memory management circuitry 202 can mark off physical blocks 304 (0)~304 (R) theOne district 920 and Second Region 940. The first district 920 comprises physical blocks 304 (0)~304 (D), and Second Region940 comprise physical blocks 304 (D+1)~304 (E). Physical blocks 304 (0)~304 (D) can be set toOne programming mode, and physical blocks 304 (D+1)~304 (E) can be set to the second programming mode.
When receiving one from host computer system 1000, memory management circuitry 202 writes instruction and data writingAfter, can first data writing be write to the physical blocks in Second Region 940. Then, storage managementCircuit 202 can copy to these data writings the first district 920 from Second Region 940. That is to say, theThe physical blocks in two districts 940 is as temporary physical blocks, and the physical blocks in the first district 920 canLarge storage area is provided.
Figure 10 is that the example taking physical page as unit, data being write according to exemplary embodiment explanation showsIntention.
Please refer to Figure 10, logical block addresses LBA (A+1) comprised logical page address 702 (0)~702 (F), and logical page address 702 (0) is the lower physical page 902 mapping in physical blocks 304 (0).In the time that host computer system 1000 will be changed the data in physical page 902, can assign access logical page address702 (0) write instruction and data writing to memory management circuitry 202. Memory management circuitry 202 meetingsFirst data writing is write to the lower physical page 904 of physical blocks 304 (D+1). Then, storage organ pipeIt is invalid that reason circuit 202 can be labeled as physical page 902, and logical page address 702 (0) is reflected againBe incident upon physical page 904. If host computer system 1000 has been assigned again an access logical page address 702 (0)Write instruction and data writing, memory management circuitry 202 can write to physical page by data writing906, it is invalid that physical page 904 is labeled as, and logical page address 702 (0) is remapped to thingThe reason page 906. After aforesaid operations, stored in physical page 902 and 904 is invalid numberAccording to, and in physical page 906 store be valid data. Available when not having in physical blocks 304 (D+1)Physical page after, memory management circuitry 202 also can be used the thing in physical blocks 304 (D+2)The reason page carrys out storage data. When having in physical blocks 304 (D+1), 304 (D+2) and other physical blocksFor example, when the size of effect data meets physical blocks (, physical blocks 304 (0)) big or small in the firstth district, storageManagement circuit 202 can copy back the physical blocks in the firstth district these valid data. And, memoryManagement circuit 202 can assign with 304 (D+2) instruction of erasing to physical blocks 304 (D+1), for storing itIt comes from the data writing of host computer system 1000.
In the second exemplary embodiment, when a physical blocks in the first district 920 meets the first damage conditionAfter, memory management circuitry 202 can copy to the first district 920 by the valid data in this physical blocksIn other physical blocks, and this physical blocks can be labeled as to the physical blocks of damage. In other words,The first district 920 can comprise multiple physical blocks that meet the first damage condition, and these physical blocks cannotStorage data under the first programming mode. Specifically, these physical blocks can be set to the second volumeJourney pattern, in order to replace the lower physical page of a physical blocks in the first district 920, middle physical page withUpper physical page. For instance, when memory management circuitry 202 will be valid data from Second Region 940While copying to the firstth district 920, if the first district 920 has not had the physical blocks can be under the first programming modeWhen storage data, memory management circuitry 202 can be three physical blocks that meet the first damage conditionBe set as the second programming mode, and store significant figure with the lower physical page of these three physical blocksAccording to. Or in the time that a physical blocks in the firstth district is damaged, memory management circuitry 202 can be three thingsReason block is set as the second programming mode, and replaces a physical blocks by these physical blocks.
Figure 11 copies to three according to an exemplary embodiment explanation by the valid data of a physical blocksBe set as the example schematic of the physical blocks of the second programming mode.
Please refer to Figure 11, in the time that physical blocks 304 (0) (also claiming the 3rd physical blocks) meets damage condition,Memory management circuitry 202 can obtain and meet the first damage condition physical blocks 304 (1)~304 (3) (also titleThe 4th physical blocks). Memory management circuitry 202 can be set as the physical blocks 304 (1)~304 (3)Two programming modes, and use physical blocks 304 (1)~304 (3) to replace physical blocks 304 (0). In detail, each logical block addresses LBA (A+1)~LBA (B) can comprise multiple logical page address.Wherein at least one logical page address (also claiming the 3rd logical page address) can map to physical blocks 304 (0)The physical page (also claiming the 3rd physical page) of middle storage valid data. Next, memory management circuitry202 can copy to the valid data in the 3rd physical page in physical blocks 304 (1)~304 (3) at leastA physical page (also claiming the 4th physical page). And memory management circuitry 202 can be mapping originallyThe 3rd logical page address to physical blocks 304 (0) remaps to physical blocks 304 (1)~304 (3)In the 4th physical page.
In the exemplary embodiment shown in Figure 11, memory management circuitry 202 is in the first district 920Do not have the physical blocks can be under the first programming mode when storage data, just the thing that meets the first damage conditionReason block 304 (1)~304 (3) is set as the second programming mode. But, in other exemplary embodiment, depositReservoir management circuit 202 also can meet the first damage bar naming a person for a particular job At All Other Times in the first district 920 threeThe physical blocks of part is set as the second programming mode and continues using, and the present invention is also not subject to the limits. In addition,In another exemplary embodiment, in the time that a physical page group comprises four physical pages, storage managementCircuit 202 also can be replaced a physical areas by four physical blocks that are set as the second programming modePiece, and in the time being set as physical blocks 2 physical pages able to programme of the second programming mode, memoryManagement circuit 202 can be replaced a physical areas by two physical blocks that are set as the second programming modePiece, the present invention is also not subject to the limits.
On the other hand, when meeting second, the physical blocks (also claiming the first physical blocks) of Second Region 940 damages barAfter part, memory management circuitry 202 can be chosen a physical blocks and (also claim second from the first district 920Physical blocks) replace the first physical blocks. For example, memory management circuitry 202 can be from the first district 920Preferentially select the physical blocks physical blocks of use as an alternative of the first damage condition that meets. But, storageManagement circuit 202 also can be selected the number of times of erasing between 0 to first critical value from the first district 920Physical blocks is the physical blocks of use as an alternative, and the present invention is also not subject to the limits. It should be noted that and inciting somebody to actionAfter the second physical blocks is divided into Second Region 940, memory management circuitry 202 can be set the second thingReason block is the second programming mode and cannot be set back the first programming mode again.
Figure 12 is the flow chart of the storage management method that illustrates according to an exemplary embodiment.
Please refer to Figure 12, in step S1202, memory management circuitry 202 can be by physical blocks at leastCut apart the firstth district and Second Region. And memory management circuitry 202 can be set the physical blocks in the firstth districtBelong to the first programming mode, and the physical blocks of setting Second Region belongs to the second programming mode. Wherein firstProgramming mode represents that all physical pages all can be programmed, and the second programming mode represents only the first Physical PageFace can be programmed.
In step S1204, in the time that the first physical blocks of Second Region meets the second damage condition, storageManagement circuit 202 can be replaced the first physical blocks by second physical blocks in the firstth district. MemoryIt is the second programming mode that management circuit 202 can be set the second physical blocks, and the second physical blocks cannotBe set to the first programming mode, wherein the second damage condition comprises again: erasing of the first physical blocks is inferiorNumber reaches the second critical value, one misprogrammed occurs the first physical blocks or the first physical blocks makes a mistakePosition number exceed the upper limit that error checking and correcting code can be corrected.
But the each step in Figure 12 has described in detail as above, just repeats no more at this.
In sum, exemplary embodiment of the present invention has proposed a kind of storage management method, memory controlDevice and memorizer memory devices. Wherein in the time that the physical blocks of Second Region is damaged, can use in the firstth districtReplace through used physical blocks. Or, in the time that the physical blocks in the firstth district is damaged, the thing of damageReason block can be set to the second programming mode to be continued to use. Thus, duplicative can be increased non-The service life of volatile memory.
Although the present invention discloses as above with embodiment, so it is not in order to limit the present invention, any underIn technical field, have and conventionally know the knowledgeable, without departing from the spirit and scope of the present invention, a little when doingChange and retouching, therefore protection scope of the present invention is when being as the criterion depending on the appended claim scope person of defining.

Claims (24)

1. a storage management method, for controlling a duplicative non-volatile memory module, shouldDuplicative non-volatile memory module comprises multiple physical location set, in those physical location setEach physical location set comprise multiple physical location groups, each thing in those physical location groupsReason unit group comprises multiple physical locations, those of each the physical location group in those physical location groupsPhysical location at least comprises one first physical location, and wherein this storage management method comprises:
Those physical location set are at least divided into one first district and a Second Region, set this firstth districtThose physical location set belong to one first programming mode, set those physical location set of this Second RegionBelong to one second programming mode, wherein this first programming mode represents that those physical locations can be programmed, shouldThe second programming mode represents that only this first physical location can be programmed; And
In the time that one first physical location set symbol unification second of this Second Region damages condition, use this firstThis first physical location set is replaced in the one second physical location set in district, wherein sets this second physicsUnit set belong to this second programming mode and this second physical location set cannot be set to again thisOne programming mode.
2. storage management method according to claim 1, wherein this second damage condition comprises:The number of times of erasing of this first physical location set reaches one second critical value, this first physical location set is sent outThe position number that a raw misprogrammed or this first physical location set make a mistake exceedes an error checking and schoolThe upper limit that code can be corrected.
3. storage management method according to claim 1, wherein when this first thing of this Second RegionWhen reason unit set meets this second damage condition, next with this second physical location set in this firstth districtThe step of replacing this first physical location set comprises:
From those physical location set in this firstth district, obtain meet one first damage condition this secondThis first physical location set is replaced in physical location set, and wherein this first damage condition comprises: this is years oldThe number of times of erasing of two physical location set reaches one first critical value, this second physical location set occurs oneThe position number that misprogrammed or this second physical location set make a mistake exceedes an error checking and correcting codeThe upper limit that can correct.
4. storage management method according to claim 1, wherein when this first thing of this Second RegionWhen reason unit set meets this second damage condition, next with this second physical location set in this firstth districtThe step of replacing this first physical location set comprises:
From those physical location set in this firstth district, obtain the number of times of erasing critical between 0 to 1 firstThis first physical location set is replaced in this of value the second physical location set.
5. storage management method according to claim 1, also comprises:
In the time that one the 3rd physical location set symbol unification first in this firstth district damages condition, by the 3rd thingReason unit set is divided into this Second Region; And
Set the 3rd physical location set and belong to this second programming mode and the 3rd physical location setCannot be set to this first programming mode, wherein this first damage condition comprises: the 3rd physics list againThe number of times of erasing of unit's set reaches one first critical value, one misprogrammed occurs in the 3rd physical location setOr the 3rd the position number that makes a mistake of physical location set exceed an error checking and correcting code can be correctedThe upper limit.
6. storage management method according to claim 1, also comprises:
In the time that one the 3rd physical location set symbol unification first in this firstth district damages condition, obtain this firstMultiple the 4th physical location set that meet this first damage condition in district;
Set those the 4th physical location set and belong to this second programming mode; And
Replace the 3rd physical location set with those the 4th physical location set, wherein this first damagesIll-condition comprises: the number of times of erasing of those the 4th physical location set reach one first critical value, thoseThere is the position number that a misprogrammed or those the 4th physical location set make a mistake in four physical location setExceed the upper limit that an error checking and correcting code can be corrected.
7. storage management method according to claim 6, wherein when the 3rd thing in this firstth districtReason unit set meets this first to be damaged when condition, obtains in this firstth district, to belong to this and first damage conditionThe step of those the 4th physical location set comprises;
Judge in this firstth district, whether have physical location set can be under this first programming mode storage data,If not, obtain those the 4th physical location set and replace the 3rd physical location set.
8. a memorizer memory devices, comprising:
A connector, in order to be electrically connected to a host computer system;
One duplicative non-volatile memory module, comprises multiple physical location set, those physics listsEach physical location set in unit's set comprises multiple physical location groups, in those physical location groupsEach physical location group comprises multiple physical locations, each physical location in those physical location groupsThose physical locations of group at least comprise one first physical location; And
One Memory Controller, is electrically connected to this connector and this duplicative nonvolatile memory mouldPiece,
Wherein, this Memory Controller in order to those physical location set are at least divided into one first district withOne Second Region, those physical location set of setting this firstth district belong to one first programming mode, and setting shouldThose physical location set of Second Region belong to one second programming mode, and wherein this first programming mode representsThose physical locations can be programmed, and this second programming mode represents that only those first physical locations can be programmed,
Wherein, in the time that one first physical location set symbol unification second of this Second Region damages condition, this is depositedReservoir controller is replaced this first physical location in order to the one second physical location set with this firstth districtSet, and set this second physical location set and belong to this second programming mode and this second physical locationSet cannot be set to this first programming mode again.
9. memorizer memory devices according to claim 8, wherein this second damage condition comprises:The number of times of erasing of this first physical location set reaches one second critical value, this first physical location set is sent outThe position number that a raw misprogrammed or this first physical location set make a mistake exceedes an error checking and schoolThe upper limit that code can be corrected.
10. memorizer memory devices according to claim 9, wherein this Memory Controller is also usedWith from those physical location set in this firstth district, obtain this second thing that meets one first damage conditionReason unit set is replaced this first physical location set, and wherein this first damage condition comprises: this is second years oldThe number of times of erasing of physical location set reaches one first critical value, one volume occurs in this second physical location setThe position number that journey mistake or this second physical location set make a mistake exceedes an error checking and correcting code instituteThe upper limit that can correct.
11. memorizer memory devices according to claim 8, wherein this Memory Controller is also usedWith from those physical location set in this firstth district, obtain the number of times of erasing between 0 to 1 first critical valueThis second physical location set replace this first physical location set.
12. memorizer memory devices according to claim 8, wherein when one the 3rd of this firstth districtWhen physical location set symbol unification first damages condition, this Memory Controller is also in order to by the 3rd physicsUnit set is divided into this Second Region, and sets the 3rd physical location set and belong to this second programming modeAnd cannot be set to this first programming mode, wherein this first damage condition comprises: the 3rd physics againIt is wrong that the number of times of erasing of unit set reaches one first critical value, one programming occurs in the 3rd physical location setThe position number that mistake or the 3rd physical location set make a mistake exceedes an error checking and correcting code institute can be moreThe positive upper limit.
13. memorizer memory devices according to claim 8, wherein this Memory Controller is also usedWith in the time that one the 3rd physical location set in this firstth district damages, obtain and multiplely in the firstth district meet one firstThe 4th physical location set of damage condition, sets those the 4th physical location set and belongs to this second programmingPattern, and replace the 3rd physical location set with those the 4th physical location set, wherein shouldThe first damage condition comprises: the number of times of erasing of those the 4th physical location set reach one first critical value,Those the 4th physical location set occur that a misprogrammed or those the 4th physical location set make a mistakePosition number exceedes the upper limit that an error checking and correcting code can be corrected.
14. memorizer memory devices according to claim 13, wherein this Memory Controller is also usedWith judge in this firstth district, whether have physical location set can be under this first programming mode storage data, ifNo, obtain those the 4th physical location set and replace the 3rd physical location set.
15. 1 kinds of Memory Controllers, comprising:
One HPI, in order to be electrically connected to a host computer system;
One memory interface, in order to be electrically connected to a duplicative non-volatile memory module, this canManifolding formula non-volatile memory module comprises multiple physical location set, in those physical location setEach physical location set comprises multiple physical location groups, each physics in those physical location groupsUnit group comprises multiple physical locations, those things of each the physical location group in those physical location groupsReason unit at least comprises one first physical location; And
One memory management circuitry, is electrically connected to this HPI and this memory interface,
Wherein, this memory management circuitry is in order to be at least divided into one first district by those physical location setWith a Second Region, those physical location set of setting this firstth district belong to one first programming mode, setThose physical location set of this Second Region belong to one second programming mode, wherein this first programming mode tableShow that those physical locations can be programmed, and this second programming mode represents that only those first physical locations canBe programmed,
Wherein, in the time that one first physical location set symbol unification second of this Second Region damages condition, this is depositedReservoir management circuit is replaced this first physical location collection with the one second physical location set in this firstth districtClose, set this second physical location set and belong to this second programming mode and this second physical location setCannot be set to again this first programming mode.
16. Memory Controllers according to claim 15, wherein this second damage condition comprises:The number of times of erasing of this first physical location set reaches one second critical value, this first physical location set is sent outThe position number that a raw misprogrammed or this first physical location set make a mistake exceedes an error checking and schoolThe upper limit that code can be corrected.
17. Memory Controllers according to claim 16, wherein this memory management circuitry is also usedWith from those physical location set in this firstth district, obtain this second thing that meets one first damage conditionReason unit set is replaced this first physical location set, and wherein this first damage condition comprises: this is second years oldThe number of times of erasing of physical location set reaches one first critical value, one volume occurs in this second physical location setThe position number that journey mistake or this second physical location set make a mistake exceedes an error checking and correcting code instituteThe upper limit that can correct.
18. Memory Controllers according to claim 16, wherein this memory management circuitry is also usedWith from those physical location set in this firstth district, obtain the number of times of erasing between 0 to 1 first critical valueThis second physical location set replace this first physical location set.
19. Memory Controllers according to claim 15, wherein when one the 3rd thing in this firstth districtReason unit set meets one first to be damaged when condition, and this memory management circuitry is also in order to by the 3rd physicsUnit set is divided into this Second Region, sets the 3rd physical location set and belongs to this second programming mode alsoAnd the 3rd physical location set can not be set to this first programming mode again, wherein this first damage barPart comprises: the number of times of erasing of the 3rd physical location set reaches one first critical value, the 3rd physics listThe position number that unit's set generation one misprogrammed or the 3rd physical location set make a mistake exceedes a mistakeCheck the upper limit that can correct with correcting code.
20. Memory Controllers according to claim 15, wherein this memory management circuitry is also usedWith in the time that one the 3rd physical location set in this firstth district damages, obtain and multiplely in the firstth district meet one firstThe 4th physical location set of damage condition, sets those the 4th physical location set and belongs to this second programmingPattern, and replace the 3rd physical location set with those the 4th physical location set, wherein shouldThe first damage condition comprises: the number of times of erasing of those the 4th physical location set reach one first critical value,Those the 4th physical location set occur that a misprogrammed or those the 4th physical location set make a mistakePosition number exceedes the upper limit that an error checking and correcting code can be corrected.
21. Memory Controllers according to claim 20, wherein this memory management circuitry is also usedWith judge in this firstth district, whether have physical location set can be under this first programming mode storage data, ifNo, obtain those the 4th physical location set and replace the 3rd physical location set.
22. 1 kinds of storage management methods, for controlling a duplicative non-volatile memory module,This duplicative non-volatile memory module comprises multiple physical location set, those physical location setIn each physical location set comprise multiple physical location groups, each in those physical location groupsPhysical location group comprises multiple physical locations, this of each the physical location group in those physical location groupsA little physical locations at least comprise one first physical location, and this storage management method comprises:
Those physical location set are at least divided into one first district and a Second Region, set this firstth districtThose physical location set belong to one first programming mode, set those physical location set of this Second RegionBelong to one second programming mode, wherein this first programming mode represents that those physical locations can be programmed, shouldThe second programming mode represents that only those first physical locations can be programmed; And
In the time that at least one first physical location set symbol unification first in this firstth district damages condition, by this extremelyFew one first physical location set is divided to this Second Region, sets this at least one first physical location set and belongs toIn this second programming mode, and this at least one first physical location set cannot be set to again this firstProgramming mode.
23. storage management methods according to claim 22, wherein this first damage condition comprises:The number of times of erasing of this at least one the first physical location set reaches one first critical value, this at least one first thingThere is the position number that a misprogrammed or this at least one the first physical location set make a mistake in reason unit setExceed the upper limit that an error checking and correcting code can be corrected.
24. storage management methods according to claim 23, also comprise:
This first zoning is divided into a data field and Yi 3rd district, configures multiple logical block compound mappings extremelyThose physical location set of this data field;
Should first damage when condition, judge that Gai 3rd district are when this at least one first physical location set symbolNo have physical location set can be under this first programming mode storage data, if not, from this Second RegionObtain multiple the second physical location set; And
Those the second physical location set are divided into Gai 3rd district.
CN201210191603.5A 2012-06-11 2012-06-11 Storage management method, Memory Controller and memorizer memory devices Active CN103488579B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210191603.5A CN103488579B (en) 2012-06-11 2012-06-11 Storage management method, Memory Controller and memorizer memory devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210191603.5A CN103488579B (en) 2012-06-11 2012-06-11 Storage management method, Memory Controller and memorizer memory devices

Publications (2)

Publication Number Publication Date
CN103488579A CN103488579A (en) 2014-01-01
CN103488579B true CN103488579B (en) 2016-05-18

Family

ID=49828828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210191603.5A Active CN103488579B (en) 2012-06-11 2012-06-11 Storage management method, Memory Controller and memorizer memory devices

Country Status (1)

Country Link
CN (1) CN103488579B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI563507B (en) 2015-07-01 2016-12-21 Phison Electronics Corp Memory management method, memory control circuit unit and memry storage apparatus
CN106325764B (en) * 2015-07-08 2021-02-26 群联电子股份有限公司 Memory management method, memory control circuit unit and memory storage device
EP3864655B1 (en) * 2018-12-07 2024-03-27 Yangtze Memory Technologies Co., Ltd. Method for programming memory system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129353A (en) * 2010-01-13 2011-07-20 群联电子股份有限公司 Flash storage system, flash controller and data writing method
TW201131578A (en) * 2010-03-01 2011-09-16 Phison Electronics Corp Memory management method, memory controller and memory storage system
CN102467460A (en) * 2010-11-12 2012-05-23 群联电子股份有限公司 Data management method, memory controller and memory storage device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI420308B (en) * 2010-10-13 2013-12-21 Phison Electronics Corp Block management method, memory controller and memory storage apparatus
TWI421683B (en) * 2010-11-01 2014-01-01 Phison Electronics Corp Data management method, memory controller and memory storage apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129353A (en) * 2010-01-13 2011-07-20 群联电子股份有限公司 Flash storage system, flash controller and data writing method
TW201131578A (en) * 2010-03-01 2011-09-16 Phison Electronics Corp Memory management method, memory controller and memory storage system
CN102467460A (en) * 2010-11-12 2012-05-23 群联电子股份有限公司 Data management method, memory controller and memory storage device

Also Published As

Publication number Publication date
CN103488579A (en) 2014-01-01

Similar Documents

Publication Publication Date Title
US8001317B2 (en) Data writing method for non-volatile memory and controller using the same
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
CN104699413B (en) Data managing method, memory storage apparatus and memorizer control circuit unit
US20090222643A1 (en) Block management method for flash memory and controller and storage sysetm using the same
US20090307413A1 (en) Data writing method for flash memory and storage system and controller using the same
CN104765569B (en) Method for writing data, memorizer control circuit unit and memorizer memory devices
CN103377129B (en) Method for writing data, Memory Controller and memorizer memory devices
CN103514096B (en) Data storage method, Memory Controller and memorizer memory devices
CN103544115B (en) Method for writing data, Memory Controller and memory storage apparatus
CN107402716A (en) Method for writing data, memory control circuit unit and internal storing memory
CN103136111B (en) Method for writing data, Memory Controller and memorizer memory devices
TW201348960A (en) Memory management method, and memory controller and memory storage device using the same
CN103593296B (en) Data storage method, Memory Controller and memorizer memory devices
TW201508748A (en) Data writing method, memory controller and memory storage apparatus
CN102902626B (en) Block management method, Memory Controller and memorizer memory devices
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
CN103544118B (en) Memorizer memory devices, its Memory Controller and method for writing data
CN103577344B (en) Method for writing data, Memory Controller and memorizer memory devices
CN103488579B (en) Storage management method, Memory Controller and memorizer memory devices
CN103513930A (en) Memorizer management method, memorizer controller and memorizer storage device
US10824340B2 (en) Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus
CN102543184B (en) Memorizer memory devices, its Memory Controller and method for writing data
CN103019952B (en) Method for writing data, Memory Controller and memorizer memory devices

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