CN102623052A - Data writing method for a non-volatile memory module, memory controller and memory storage apparatus - Google Patents

Data writing method for a non-volatile memory module, memory controller and memory storage apparatus Download PDF

Info

Publication number
CN102623052A
CN102623052A CN2011100346862A CN201110034686A CN102623052A CN 102623052 A CN102623052 A CN 102623052A CN 2011100346862 A CN2011100346862 A CN 2011100346862A CN 201110034686 A CN201110034686 A CN 201110034686A CN 102623052 A CN102623052 A CN 102623052A
Authority
CN
China
Prior art keywords
those
sector
data
entity
physical page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011100346862A
Other languages
Chinese (zh)
Other versions
CN102623052B (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 CN201110034686.2A priority Critical patent/CN102623052B/en
Priority claimed from CN201110034686.2A external-priority patent/CN102623052B/en
Publication of CN102623052A publication Critical patent/CN102623052A/en
Application granted granted Critical
Publication of CN102623052B publication Critical patent/CN102623052B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention provides a rewritable non-volatile memory module group data write-in method, a system and a memory controller, wherein the rewritable non-volatile memory module group possesses a plurality of physical write-in units, And each of the physical write-in units has plurality of physical write-in segments. The method includes identifying at least one non-used segments among the physical write-in segments in each of the physical writing units. The method further includes writing a plurality of segment data into the physical write-in units, wherein the non-used segments in each of the physical write-in units are not used to store the segment data. Accordingly, the method can effectively use physical write-in segments which are still normal.

Description

The method for writing data and system and the controller that are used for nonvolatile memory
Technical field
The present invention relates to a kind of method for writing data, relate in particular to a kind of method for writing data of the nonvolatile memory module that can reuse a large amount of bad physical blocks of tool and use the Memory Controller and the memorizer memory devices of the method.
Background technology
Because characteristics such as duplicative nonvolatile memory (rewritable non-volatile memory) has that data are non-volatile, power saving, volume are little, do not have mechanical structure, read or write speed is fast are suitable for the Storage Media as electronic product most.(Solid State Drive is exactly a kind of with the storage device of NAND type flash memory module as Storage Media SSD) to solid state hard disc.Because short-access storage volume low capacity is big, so be widely used in the storage of individual significant data.Therefore, the short-access storage industry becomes a ring quite popular in the electronic industry in recent years.
In general; In duplicative non-volatile memory storage device, the physical blocks of duplicative nonvolatile memory module can logically be grouped into data field (data area), idle district (free area), system region (system area) and be replaced district (replacement area) by Memory Controller.
Classify as and to store in the physical blocks of data field by writing the valid data that instruction writes, and the physical blocks in the idle district is the physical blocks in the replacement data district when writing instruction in execution.Specifically; When duplicative non-volatile memory storage device receives the writing instruction of host computer system and during data on the physical blocks in the district of desiring to Update Information; Duplicative non-volatile memory storage device can from idle district, extract physical blocks and will the physical blocks that desire is upgraded in the data field in effective legacy data write to the physical blocks of from idle district, extracting with the new data of desiring to write; The physical blocks that writes new data is associated as the data field, and the physical blocks of data field is erased and is associated as idle district originally.In order to let the physical blocks of host computer system access successfully with the mode storage data of rotating; Duplicative non-volatile memory storage device can configuration logic the sector carry out access for host computer system, wherein logic sector can be grouped into a plurality of logical page (LPAGE)s and logical page (LPAGE) can be grouped into a plurality of blocks.Particularly; Duplicative non-volatile memory storage device can be set up blocks-physical blocks bitmap (logicalblock-physical block mapping table), and the enantiomorphic relationship between the physical blocks of record and renewal blocks and data field reflects rotating of physical blocks in this table.So host computer system only need be carried out access and duplicative non-volatile memory storage device can come the physical blocks of institute's mapping is read or write data according to blocks-physical blocks bitmap to the logic sector that provides.
The physical blocks of system region is in order to store the relevant important information of duplicative non-volatile memory storage device, is the physical blocks of having damaged in system region, data field or the idle district in order to replace (that is bad physical blocks) and replace the physical blocks of distinguishing.Specifically; In present block management technology; Physical page in writing to a physical blocks or entity sectors of data exist can't be by the wrong bit of bug check and correction program correction the time; This physical blocks can be marked as bad physical blocks, and Memory Controller can replace this bad physical blocks in physical blocks of extraction from replace the district.And, in duplicative nonvolatile memory module normal physical blocks enough do not carry out fashionablely with writing of the above-mentioned mode of rotating, duplicative non-volatile memory storage device can't be used to write data.
Because the restriction on the processing procedure, having part entity sector in the physical blocks of duplicative nonvolatile memory module can't the normal storage data because of producing flaw, is identified as bad physical blocks thus and does not re-use.Particularly, when the number of bad physical blocks too much causes duplicative non-volatile memory storage device to operate, this duplicative nonvolatile memory module will be judged as defective products, and can't be used.Yet, in fact, be judged as at this and still have many normal storage areas to can be used for storage data in bad physical blocks.Base this, if can use the physical blocks of these a little tool defectives effectively, the duplicative nonvolatile memory module that originally in manufacture process, is regarded as defective products will be used again.
Summary of the invention
The present invention provides a kind of method for writing data and system and Memory Controller, and it can use the normal storage space in the physical blocks effectively.
The embodiment of the invention proposes a kind of method for writing data; Be used for a duplicative nonvolatile memory module; Wherein this duplicative nonvolatile memory module has data field and spare area, and the data field is in order to storage data, and the spare area is in order to write data and to replace with the data field; Wherein the spare area has a plurality of entity writing units and each entity writing unit comprises a data bit element district and a redundant bit district, and the data bit element district comprises a plurality of entities and writes section.The notebook data wiring method comprises: the entity of discerning each entity writing unit writes at least one entity among the section, and to write section be one not use section; And many sector data are write so far among a little entity writing units, wherein the section that do not use of each entity writing unit is not used to write these a little sector data.
In one embodiment of this invention, above-mentioned method for writing data also comprises: the entity of testing these a little entity writing units writes section and damages the section distribution table to produce one; Write according to this entity that damages each entity writing unit of section distribution table decision and not use section among the section; And use one of them entity writing unit of these a little entity writing units to store a bad block segment information, wherein this bad block segment information comprises that entity about each entity writing unit writes the information of not using section among the section.At this, the step of not using section that the entity of each entity writing unit of above-mentioned identification writes among the section comprises: the entity of discerning each entity writing unit according to this bad block segment information writes and does not use section among the section.
In one embodiment of this invention, the entity of these a little entity writing units of above-mentioned test writes section and comprises with the step that produces above-mentioned damage section distribution table: each entity that a test data is write a plurality of test entity writing units among so far a little entity writing units writes in the section; A plurality of damage entities that the entity that writes this test data by the identification of a bug check and correction program writes among the section write section; And the distribution that statistics these a little damage entities in these a little test entity writing units write section is to produce above-mentioned damage section distribution table.
In one embodiment of this invention; Above-mentioned method for writing data also comprises: dispose the above-mentioned entity writing unit of a plurality of logic writing units with mapping part, wherein the capacity of each the logic writing unit capacity that equals each entity writing unit deducts the capacity that does not use section of each entity writing unit.
The embodiment of the invention proposes a kind of method for writing data; Be used for duplicative nonvolatile memory module; Wherein this duplicative nonvolatile memory module has a plurality of physical blocks; Each physical blocks has a plurality of physical page, and each physical page comprises that a data bit element district and a redundant bit district and each data bit element district comprise a plurality of entities sector.The notebook data wiring method comprises at least one sector of not using among the entity sector in the data bit element district that discerns each physical page; And to be unit with each physical page write a plurality of sector datas in one first physical page among so far a little physical page, and wherein at least one sector of not using among the entity sector in the data bit element district of this first physical page can not be used to write this a little sector datas.
In one embodiment of this invention, above-mentioned method for writing data also comprises: the physical page of testing these a little physical blocks is to produce a damage sector distribution table; Damage according to this and not use the sector among entity sector in data bit element district of each physical page of sector distribution table decision; And one of them physical blocks of using these a little physical blocks stores a bad sector information, and wherein this bad sector information comprises about the information of not using the sector among the entity sector in the data bit element district of each physical page.The step of not using the sector among the entity sector in the data bit element district of above-mentioned in addition each physical page of identification comprises: discern according to this bad sector information and do not use the sector among the entity sector in data bit element district of each physical page.
The embodiment of the invention proposes a kind of Memory Controller; Be used to control duplicative nonvolatile memory module; Wherein this duplicative nonvolatile memory module has a plurality of physical blocks; Each physical blocks has a plurality of physical page, and each physical page comprises that a data bit element district and a redundant bit district and each data bit element district comprise a plurality of entities sector.This Memory Controller comprises HPI, memory interface and memory management circuitry.HPI is in order to be coupled to host computer system, and memory interface is coupled to HPI and memory interface in order to be coupled to duplicative nonvolatile memory module and memory management circuitry.At this, memory management circuitry comprises: in order at least one device that does not use the sector among the entity sector in the data bit element district that discerns each physical page; And a plurality of sector datas are write the device in first physical page among so far a little physical page in order to be unit with each physical page, wherein the sector of not using among the entity sector in the data bit element district of this first physical page can not be used to write this a little sector datas.
In one embodiment of this invention, above-mentioned memory management circuitry also comprises: in order to the physical page of testing these a little physical blocks to produce the device of a damage sector distribution table; In order to the device that does not use the sector among the entity sector in the data bit element district that damages distribution table decision each physical page in sector according to this; And store the device of a bad sector information in order to one of them physical blocks of using these a little physical blocks, wherein this bad sector information comprises about the information of not using the sector among the entity sector in the data bit element district of each physical page.At this, above-mentionedly do not use the device of sector to discern in order at least one among the entity sector in the data bit element district that discerns each physical page not use the sector among the entity sector in data bit element district of each physical page according to this bad sector information.
In one embodiment of this invention, above-mentioned Memory Controller also comprises a bug check and correcting circuit.At this; The memory management module also comprises: in order to the device in each the entity sector that test data is write so far a plurality of test physical page among a little physical page, wherein above-mentioned bug check and correcting circuit are discerned a plurality of damage entities sector among the entity sector that writes this test data.In addition, memory management circuitry also comprises the device that damages the sector distribution table in order to a distribution of the damage entity sector of statistics in these a little test physical page with generation.
In one embodiment of this invention; Above-mentioned memory management circuitry also comprises: in order to write test be unit with each physical page respectively that test data is write the device in the physical page of a little physical blocks so far with multiple according to above-mentioned damage sector distribution table; Wherein write in the part entity sector that test data in the test is written into the physical page of a little physical blocks so far, and above-mentioned bug check is identified in corresponding this respectively with correcting circuit and writes a plurality of bad physical blocks in the test a bit at each.In addition; Above-mentioned memory management circuitry also comprises: write the device of the active volume of test a bit in order to calculate corresponding this according to the bad physical blocks discerned respectively, wherein above-mentioned in order to the device that does not use the sector among the entity sector in the data bit element district that damages distribution table decision each physical page in sector according to this according to not using the sector among the entity sector in the data bit element district of these a little each physical page of active volumes decision.
In one embodiment of this invention, do not use the sector among the entity sector in the above-mentioned data bit element district that decides each physical page in order to the device that does not use the sector among the entity sector in the data bit element district that damages distribution table decision each physical page in sector according to this according to the maximum available among these a little active volumes.
In one embodiment of this invention; Above-mentioned memory management circuitry also comprises: in order to dispose the device of a plurality of logical page (LPAGE)s with the physical page of mapping part; Wherein above-mentioned sector data belongs to one first logical page (LPAGE) among these a little logical page (LPAGE)s, and the capacity of this first logical page (LPAGE) capacity that equals above-mentioned first physical page deducts the capacity that does not use the sector of first physical page.
In one embodiment of this invention, above-mentioned memory management circuitry also comprises: in order to from host computer system, to receive at least one data and this arrangement is the device of above-mentioned sector data.
The embodiment of the invention proposes a kind of data writing system; Be used for duplicative nonvolatile memory module; Wherein this duplicative nonvolatile memory module has a plurality of physical blocks; Each physical blocks has a plurality of physical page, and each physical page comprises that a data bit element district and a redundant bit district and each data bit element district comprise a plurality of entities sector.This data writing system comprises: do not use the device of sector and in order to as unit a plurality of sector datas are write the device in one first physical page among so far a little physical page with each physical page, wherein the sector of not using among the entity sector in the data bit element district of this first physical page can not be used to write this a little sector datas in order at least one among the entity sector in the data bit element district that discerns each physical page.
In one embodiment of this invention, above-mentioned data writing system also comprises in order to the physical page of testing these a little physical blocks to produce the device of a damage sector distribution table; In order to the device that does not use the sector among the entity sector in the data bit element district that damages distribution table decision each physical page in sector according to this; And the device that stores a bad sector information in order to one of them physical blocks of using these a little physical blocks.At this; Above-mentionedly do not use the device of sector to discern according to this bad sector information in order at least one among the entity sector in the data bit element district that discerns each physical page not use the sector among the entity sector in data bit element district of each physical page, wherein this bad sector information comprises about the information of not using the sector among the entity sector in the data bit element district of each physical page.
In one embodiment of this invention, above-mentioned data writing system also comprises bug check and correcting circuit; And in order to the device in each the entity sector that test data is write so far a plurality of test physical page among a little physical page, wherein this bug check and correcting circuit are discerned a plurality of damage entities sector among the entity sector that writes test data.In addition, above-mentioned data writing system also comprises the device that damages the sector distribution table in order to a distribution of the damage entity sector of statistics in these a little test physical page with generation.
In one embodiment of this invention; Above-mentioned data writing system comprises that also to write test be unit with each physical page respectively that test data is write the device in the physical page of a little physical blocks so far with multiple in order to damage sector distribution table according to this; Wherein write in the part entity sector that test data in the test is written into the physical page of a little physical blocks so far, and above-mentioned bug check and correcting circuit are discerned respectively and are correspondingly write a plurality of bad physical blocks in the test a bit at this at each.Above-mentioned data writing system also comprises in order to calculate corresponding this according to the bad physical blocks discerned respectively and writes the device of a plurality of active volumes of test a bit, wherein in order to the device that does not use the sector among the entity sector in the data bit element district that damages distribution table decision each physical page in sector according to this according to not using the sector among the entity sector in the data bit element district of these a little each physical page of active volumes decision.
In one embodiment of this invention, do not use the sector among the above-mentioned entity sector of deciding each physical page in order to the device that does not use the sector among the entity sector in the data bit element district that damages distribution table decision each physical page in sector according to this according to the maximum available among these a little active volumes.
In one embodiment of this invention; Above-mentioned data writing system also comprises in order to dispose the device of a plurality of logical page (LPAGE)s with the physical page of mapping part; Wherein these a little sector datas belong to one first logical page (LPAGE) among these a little logical page (LPAGE)s, and the capacity of this first logical page (LPAGE) capacity that equals above-mentioned first physical page deducts the capacity that does not use the sector of first physical page.
In one embodiment of this invention, above-mentioned data writing system also comprises in order to from host computer system, to receive at least one data and to be the device of above-mentioned sector data with this data preparation.
Based on above-mentioned, the method for writing data of the embodiment of the invention and system and Memory Controller can use normal entity sector in the duplicative volatile memory module effectively.
For letting the above-mentioned feature and advantage of the present invention can be more obviously understandable, hereinafter is special lifts embodiment, and conjunction with figs. elaborates as follows.
Description of drawings
Figure 1A is according to shown host computer system of the embodiment of the invention and memorizer memory devices.
Figure 1B is the synoptic diagram according to the shown computer of the embodiment of the invention, input/output device and memorizer memory devices.
Fig. 1 C is the synoptic diagram according to shown host computer system of another embodiment of the present invention and memorizer memory devices.
Fig. 2 is the summary block scheme of the memorizer memory devices shown in Figure 1A.
Fig. 3 is the synoptic diagram according to the data bit element district of the shown physical blocks of the embodiment of the invention.
Fig. 4 is the summary block scheme according to the shown Memory Controller of the embodiment of the invention.
Fig. 5 is the synoptic diagram according to the physical blocks of the shown management duplicative of embodiment of the invention nonvolatile memory module.
Fig. 6 is the example schematic according to the shown instruction that stylizes of the embodiment of the invention.
Fig. 7 is the mapping synoptic diagram according to shown blocks of the embodiment of the invention and physical blocks.
Fig. 8 is according to the mapping example schematic in the data bit element district of the physical page of the logical page (LPAGE) of the shown blocks of the embodiment of the invention and physical blocks.
Fig. 9 is the process flow diagram according to the shown method for writing data of the embodiment of the invention.
Figure 10 is that the process flow diagram of sector is not used in decision in the method for writing data of the embodiment of the invention.
The main element symbol description:
1000: host computer system
1100: computer
1102: microprocessor
1104: RAS
1106: input/output device
1108: system bus
1110: data transmission interface
1202: mouse
1204: keyboard
1206: display
1208: printer
1212: carry-on dish
1214: memory card
1216: solid state hard disc
1310: digital camera
The 1312:SD card
The 1314:MMC card
1316: memory stick
The 1318:CF card
1320: embedded storage device
100: memorizer memory devices
102: connector
104: Memory Controller
106: duplicative nonvolatile memory module
202: memory management circuitry
204: HPI
206: memory interface
208: Error-Correcting Circuit
252: memory buffer
254: electric power management circuit
304 (0)-304 (R): physical blocks
PP (0)-PP (127): physical page
PS (0)-PS (7): entity sector
402: the data field
404: idle district
406: system region
408: replace the district
W1, W2, W3: instruction
SD (0)-SD (6): sector data
510 (0)-510 (H): blocks
LP (0)-LP (127): logical page (LPAGE)
LS (0)-LS (7): logic sector
S901, S903, S905, S907: the step that data write
S1001, S1003, S1005, S1007, S1009, S1011: the step of sector is not used in decision
Embodiment
In the management of duplicative nonvolatile memory module; It is to belong to data field or spare area that the entity writing unit of duplicative nonvolatile memory module can be divided into; Wherein the entity writing unit of data field is in order to storage data, and the entity writing unit of spare area is in order to write data and to replace with the data field.In addition, each entity writing unit comprises data bit element district and redundant bit district, and wherein the data bit element district comprises a plurality of entities and writes section.In method for writing data of the present invention; The entity of each entity writing unit writes at least one among the section and does not use entity to write section (abbreviate as and do not use section) can be identified; And when write area segment data to each entity writing unit, the section that do not use of each entity writing unit is not used to write these a little sector data.Base this, it is the capacity that does not use section that the capacity that equals each entity writing unit deducts each entity writing unit that the capacity of each logic writing unit of host computer system institute access is given in configuration.
Specifically, in method for writing data of the present invention, each entity that test data can be written into the data bit element district of a plurality of test entity writing units among so far a little entity writing units writes in the section.Afterwards, the entity that writes this test data writes that damage entity among the section writes that the section membership is identified by bug check and correction program and in these a little test entity writing units this is a little damages the distribution that entities write section and can be damaged the section distribution table to produce by statistics.Then, can damage section distribution table according to this decides the entity of each entity writing unit to write not use section among the section.In the present embodiment; The section that do not use that the entity of each entity writing unit writes among the section all can be identical; That is under the considering of convenient management, the section that do not use of part entity writing unit can be that good entity writes section; But be not used to be written on valid data, and the bad block segment information that does not use section that writes among the section about the entity of each entity writing unit can be stored in one of them entity writing unit.Base this, whenever execution writes when instruction, the section that do not use in each entity writing unit just can be skipped according to stored bad block segment information, and is not used for the write area segment information.Base this, can use in the duplicative volatile memory module at least the still normal entity of part to write section more effectively and come storage data.
In the present invention; Entity (logic) writing unit can be entity (logic) block, entity (logic) page or other suitable units; Wherein the data bit element district can be the data bit element district (databit area) in the single page or is combined by the data bit element district of several pages, and redundant bit district also can be the redundant bit district (redundant bit area) in the single page or combined by the redundant bit district of several pages.The present invention is more specifically described for ease; Below an embodiment and accompanying drawing thereof are explained; Wherein in this embodiment, the entity writing unit is the physical page of corresponding duplicative nonvolatile memory module, and entity writes the entity sector of the corresponding duplicative nonvolatile memory of section module; And sector data is a sector data, but should be as limit.
Figure 1A is according to shown host computer system of the embodiment of the invention and memorizer memory devices.
Please with reference to Figure 1A, host computer system 1000 generally comprises computer 1100 and I/O (input/output, I/O) device 1106.Computer 1100 comprise microprocessor 1102, RAS (random access memory, RAM) 1104, system bus 1108 and data transmission interface 1110.Input/output device 1106 comprises mouse 1202, keyboard 1204, the display 1206 and printer 1208 like Figure 1B.It must be appreciated, the unrestricted input/output device 1106 of the device shown in Figure 1B, input/output device 1106 can also comprise other devices.
In embodiments of the present invention, memorizer memory devices 100 is to couple through data transmission interface 1110 other elements with host computer system 1000.Can data be write to memorizer memory devices 100 or reading of data from memorizer memory devices 100 by microprocessor 1102, RAS 1104 with the running of input/output device 1106.For example, memorizer memory devices 100 can be carry-on dish 1212, memory card 1214 or solid state hard disc (Solid State Drive, SSD) the duplicative non-volatile memory storage device of 1216 grades shown in Figure 1B.
Generally speaking, host computer system 1000 is to cooperate any system with storage data substantially with memorizer memory devices 100.Though in the present embodiment, host computer system 1000 is to explain with computer system, yet host computer system 1000 can be systems such as digital camera, video camera, communicator, message player or video player in another embodiment of the present invention.For example; In host computer system is digital camera (video camera) 1310 o'clock, and duplicative non-volatile memory storage device then is its employed SD card 1312, mmc card 1314, memory stick (memory stick) 1316, CF card 1318 or embedded storage device 1320 (shown in Fig. 1 C).Embedded storage device 1320 comprise the built-in multimedia card (EmbeddedMMC, eMMC).What deserves to be mentioned is that the built-in multimedia card is directly to be coupled on the substrate of host computer system.
Fig. 2 is the summary block scheme of the memorizer memory devices shown in Figure 1A.
Please with reference to Fig. 2, memorizer memory devices 100 comprises connector 102, Memory Controller 104 and duplicative nonvolatile memory module 106.
In the present embodiment, connector 102 is to be compatible to sequence advanced annex (Serial AdvancedTechnology Attachment, SATA) standard.Yet; It must be appreciated, the invention is not restricted to this, connector 102 can also be to meet Institute of Electrical and Electric Engineers (Institute ofElectrical and Electronic Engineers; IEEE) 1394 standards, high-speed peripheral component connecting interface (Peripheral Component Interconnect Express; PCI Express) standard, universal serial bus (Universal Serial Bus, USB) standard, safe digital (SecureDigital, SD) interface standard, memory stick (Memory Stick; MS) interface standard, Multi Media Card (Multi Media Card; MMC) interface standard, compact flash (Compact Flash, CF) interface standard, integrated driving electrical interface (Integrated Device Electronics, IDE) standard or other standards that is fit to.
Memory Controller 104 is in order to carrying out with hardware pattern or real a plurality of logic gates or the steering order of doing of firmware pattern, and in duplicative nonvolatile memory module 106, carries out the runnings such as writing, read and erase of data according to the instruction of host computer system 1000.
Duplicative nonvolatile memory module 106 is to be coupled to Memory Controller 104, and in order to store the data that host computer system 1000 is write.Duplicative nonvolatile memory module 106 has a plurality of physical blocks (that is physical blocks 304 (0)-304 (R)).In the present embodiment, for example, R is (2048-1).That is to say that duplicative nonvolatile memory module 106 has 2048 physical blocks.Yet, it must be appreciated that the invention is not restricted to this, in another embodiment of the present invention, R can be the arbitrary number greater than 0.At this, these a little physical blocks can belong to same memory die (die) or belong to different memory die.
Fig. 3 is the synoptic diagram according to the data bit element district of the shown physical blocks of the embodiment of the invention.Because the structure of each physical blocks is identical, at this, physical blocks 304 (0) only is shown describes.
Please with reference to Fig. 3; Physical blocks 304 (0) has physical page PP (the 0)-physical page PP (127) that arranges in regular turn; And each physical page has entity sector PS (the 0)-entity sector PS (7) that arranges in regular turn, and the physical page that wherein belongs to same physical blocks can be write and side by side erased independently.More detailed, physical blocks is the least unit of erasing.That is each physical blocks contains the memory cell of being erased in the lump of minimal amount.Physical page is the minimum unit that stylizes.That is, physical page is the minimum unit that writes data.Yet, it must be appreciated that in another embodiment of the present invention, the least unit that writes data can also be entity sector or other sizes.Each entity sector comprises user's data (user data) bit district and redundant (redundancy) bit district.User's data bit element district is in order to storage user's data, and redundant bit district is in order to the data (for example, error-correcting code) of stocking system.For example, the capacity in the use master data bit district of each entity sector be 1 kilobit tuple (Kilobyte, K), the base this, each physical page can store user's data of 8K.
Although in embodiments of the present invention, each physical blocks is made up of 128 physical page.Yet, it must be appreciated that the invention is not restricted to this, each physical blocks is to be made up of 64 physical page, 256 physical page or other arbitrarily individual physical page.Similarly, although in the present embodiment, each physical page is made up of 8 entity sectors, the invention is not restricted to this.
For example, duplicative nonvolatile memory module 106 is multistage memory cell (Multi LevelCell, MLC) a NAND flash memory module.Yet, the invention is not restricted to this, duplicative nonvolatile memory module 106 also the single-order memory cell (Single Level Cell, SLC) NAND flash memory module, other flash memory modules or other have the memory module of identical characteristics.
Fig. 4 is the summary block scheme according to the shown Memory Controller of the embodiment of the invention.
Please with reference to Fig. 4, Memory Controller 104 comprises memory management circuitry 202, HPI 204, memory interface 206 and Error-Correcting Circuit 208.
Memory management circuitry 202 is in order to the overall operation of control store controller 104.Specifically, memory management circuitry 202 has a plurality of steering orders, and when memorizer memory devices 100 runnings, these a little steering orders can be performed to carry out the runnings such as writing, read and erase of data.
In the present embodiment, the steering order of memory management circuitry 202 is to come real the work with the firmware pattern.For example, memory management circuitry 202 has microprocessor unit (not shown) and ROM (read-only memory) (not shown), and these a little steering orders are to be burned onto in this ROM (read-only memory).When memorizer memory devices 100 runnings, these a little steering orders can be carried out to carry out the runnings such as writing, read and erase of data by microprocessor unit.
In another embodiment of the present invention; The steering order of memory management circuitry 202 can also the source code pattern be stored in the specific region (for example, being exclusively used in the system region of storage system data in the nonvolatile memory module) of duplicative nonvolatile memory module 106.In addition, memory management circuitry 202 has microprocessor unit (not shown), ROM (read-only memory) (not shown) and RAS (not shown).Particularly; This ROM (read-only memory) has the sign indicating number of driving; And when Memory Controller 104 was enabled, microprocessor unit can be carried out this driving yard steering order that section will be stored in the duplicative nonvolatile memory module 106 earlier and be loaded in the RAS of memory management circuitry 202.Afterwards, microprocessor unit can turn round these a little steering orders to carry out the runnings such as writing, read and erase of data.In addition, in another embodiment of the present invention, the steering order of memory management circuitry 202 can also a hardware pattern be come real the work.
HPI 204 is instruction and the data that are coupled to memory management circuitry 202 and transmitted in order to reception and identification host computer system 1000.That is to say that instruction that host computer system 1000 is transmitted and data can be sent to memory management circuitry 202 through HPI 204.In the present embodiment, HPI 204 is to be compatible to the SATA standard.Yet; It must be appreciated to the invention is not restricted to this that HPI 204 can also be to be compatible to PATA standard, IEEE 1394 standards, PCI Express standard, USB standard, SD standard, MS standard, MMC standard, CF standard, IDE standard or other data transmission standards that is fit to.
Memory interface 206 is to be coupled to memory management circuitry 202 and in order to access duplicative nonvolatile memory module 106.That is to say that the data of desiring to write to duplicative nonvolatile memory module 106 can convert 106 receptible forms of duplicative nonvolatile memory module into via memory interface 206.
Error-Correcting Circuit 208 be coupled to memory management circuitry 202 and in order to execution error inspection and correction program to guarantee the correctness of data.Specifically; When execution writes instruction; Error-Correcting Circuit 208 can produce corresponding error-correcting code for the data of desiring to write, and memory management circuitry 202 can write to these data and corresponding error-correcting code in the duplicative nonvolatile memory module 106.Afterwards; When memory management circuitry 202 can read the corresponding error-correcting code of these data during reading of data simultaneously from duplicative nonvolatile memory module 106, and Error-Correcting Circuit 208 can be according to data execution error inspection and the correction program of this error-correcting code to being read.What deserves to be mentioned is that the number of the wrong bit that Error-Correcting Circuit 208 can be proofreaied and correct can be directly proportional with the length of the error-correcting code that is produced.That is to say that the number that is designed the wrong bit that can proofread and correct when Error-Correcting Circuit 208 is got over for a long time, then need many more storage areas store the error-correcting code that is produced.As stated, be (according to the different types of duplicative nonvolatile memory module and difference) fixed in order to the capacity in the redundant bit district that stores error-correcting code.Therefore, be implemented into the type that error recovery algorithm in the Error-Correcting Circuit 208 can be subject to duplicative nonvolatile memory module 106.For example, in the present embodiment, Error-Correcting Circuit 208 can be proofreaied and correct 40 wrong bits at most.That is to say, be no more than 40 as long as occur in the number of the wrong bit on the data that read, Error-Correcting Circuit 208 all can be successfully with wrong bit corrigendum.
In an embodiment of the present invention, Memory Controller 104 also comprises memory buffer 252.Memory buffer 252 is to be coupled to memory management circuitry 202 and in order to the temporary data that come from the data and instruction of host computer system 1000 or come from duplicative nonvolatile memory module 106.
In an embodiment of the present invention, Memory Controller 104 also comprises electric power management circuit 254.Electric power management circuit 254 is to be coupled to memory management circuitry 202 and in order to the power supply of control store storage device 100.
Fig. 5 is the synoptic diagram according to the physical blocks of the shown management duplicative of embodiment of the invention nonvolatile memory module.
It must be appreciated that when this described the running of physical blocks of nonvolatile memory module 106, coming the application entity block with speech such as " extraction ", " exchange ", " grouping ", " rotating " was notion in logic.That is to say that the physical location of the physical blocks of memory module 106 is not changed, but in logic the physical blocks of nonvolatile memory module 106 is operated.
Please with reference to Fig. 5, memory management circuitry 202 can logically be grouped into the physical blocks 304 (0)-304 (R) of nonvolatile memory module 106 data field 402, idle district 404, system region 406 and replace district 408.
Data field 402 is the data that come from host computer system 1000 in order to storage with the physical blocks in idle district 404.Specifically, data field 402 is physical blocks of storage data, and the physical blocks in idle district 404 is the physical blocks in order to replacement data district 402.Therefore, the physical blocks in idle district 404 be sky or spendable physical blocks, i.e. no record data or be labeled as invalid data useless.That is to say that the physical blocks in the spare area has been performed the running of erasing, perhaps can be performed the running of erasing when the physical blocks in the spare area is extracted the physical blocks that is used for being extracted before the storage data.Therefore, the physical blocks of the physical blocks of spare area for being used.
The physical blocks that belongs to system region 406 in logic is in order to the register system data, and wherein this system data comprises about the manufacturer of memory chip and model, the physical blocks number of memory chip, physical page number of each physical blocks etc.
Belonging to the physical blocks that replaces in the district 408 in logic is to substitute physical blocks.For example, nonvolatile memory module 106 can be reserved 4% physical blocks and uses as changing when dispatching from the factory.That is to say that when damaged with the physical blocks in the system region 406 in data field 402, idle district 404, the physical blocks of reserving in replacing district 408 was in order to replacing damaged physical blocks (that is bad physical blocks (badblock)).Therefore, if replace when still having normal physical blocks in the district 408 and the physical blocks damage taking place, memory management circuitry 202 can be extracted the physical blocks that normal physical blocks is changed damage from replace district 408.If when no normal physical blocks and generation physical blocks were damaged in the replacement district 408, then memory management circuitry 202 can be declared as write protection (write protect) state with whole non-volatile memory storage device 100, and can't write data again.
Particularly, the quantity of data field 402, idle district 404, system region 406 and the physical blocks that replaces district 408 can the different storer specification of foundation and different.In addition, it must be appreciated that in the running of non-volatile memory storage device 100, the grouping relation that physical blocks is associated to data field 402, idle district 404, system region 406 and replacement district 408 can dynamically change.For example, when being substituted the physical blocks replacement in district when the damage of the physical blocks in the spare area, the physical blocks that then replaces the district originally can be associated to the spare area.
Particularly; In the present embodiment; Memory management circuitry 202 in can the identification physical blocks do not use sector (un-used sector) and when writing data to nonvolatile memory module 106 with physical page unit, skip discerned do not use the sector, that is will not use in the sector by the data storing that host side receive desire write non-volatile memory module 106.
Specifically, one of them physical blocks in the nonvolatile memory module 106 can store bad sector information, and this bad sector information can write down the information about the sector (that is, not using the sector) that in nonvolatile memory module 106, is not allowed to use.For example, if record entity sector PS (5) is not when using the sector in the bad sector information, memory management circuitry 202 can not use entity sector PS (5) to write valid data.That is to say that the neither meeting of entity sector PS (5) of all physical page is used to store valid data in nonvolatile memory module 106.Wherein, in the present embodiment, memory management circuitry 202 can perhaps not use the sector to insert an invalid data in addition at this judging that the sector that will write when not using the sector, skips this sector and do not go to write this data.
For example; When Memory Controller 104 desires with a plurality of sector datas (promptly; Data volume is an entity sectors of data) when writing to the physical page PP (0) of physical blocks 304 (0), memory management circuitry 202 can write to entity sector PS (0), entity sector PS (1), entity sector PS (2), entity sector PS (3), entity sector PS (4), entity sector PS (6) and entity sector PS (7) from physical page PP (0) in regular turn with these a little sector datas.For example, Memory Controller 104 can use the instruction that stylizes that contains skip instruction that sector data is write among the physical page PP (0).
Fig. 6 is the example schematic according to the shown instruction that stylizes of the embodiment of the invention.
Please with reference to Fig. 6, suppose that sector data SD (0)-SD (6) desires to be written into entity sector PS (0)-PS (3) and PS (the 5)-PS (6) of the physical page PP (0) of physical blocks 304 (0), promptly skips its entity sector PS (4) and does not write.The memory management circuitry 202 of Memory Controller 104 can be assigned the instruction of being made up of " instruction W1 ", " physical address ", " data ", " instruction W2 " and word strings such as " instruction W3 " to duplicative nonvolatile memory module 106.
Specifically; Memory management circuitry 202 is prepared the stream data that input is desired to stylize by " instruction W1 " indication duplicative nonvolatile memory module 106; The address that begins to stylize by " 304 (0) PP (0) PS (0) " indication duplicative nonvolatile memory module 106 desires is the entity sector PS (0) of the physical page PP (0) of physical blocks 304 (0); Sector data SD (the 0)-SD (4) that desires to stylize by " SD (0)-SD (4) " indication duplicative nonvolatile memory module 106; Be that sector data SD (0)-SD (4) can be written into entity sector PS (0)-PS (4); Skip to another physical address by " instruction W2 " indication duplicative nonvolatile memory module 106; The entity sector PS (6) that skips to the physical page PP (0) of physical blocks 304 (0) by " 304 (0) PP (0) PS (6) " indication duplicative nonvolatile memory module 106 data that stylize; Sector data SD (the 5)-SD (6) that desires to stylize by " SD (5)-SD (6) " indication duplicative nonvolatile memory module 106; Be that sector data SD (5)-SD (6) can be written into entity sector PS (6)-PS (7), and begin to carry out by " instruction W3 " indication duplicative nonvolatile memory module 106 and stylize.Base this, nonvolatile memory module 106 will stylize sector data to the physical page PP (0) of physical blocks 304 (0) according to this instruction that stylize, and skips entity sector PS (5).
What deserves to be mentioned is that as stated, data field 402 is to store the data that host computer system 1000 is write with the mode of rotating with the physical blocks in idle district 404.In the present embodiment, memory management circuitry 202 can be beneficial in the physical blocks of coming storage data with the above-mentioned mode of rotating, carry out data access for host computer system 1000 in the configuration logic sector.Particularly, memory management circuitry 202 can be grouped into a plurality of logical page (LPAGE)s and this a little logical page (LPAGE)s can be grouped into a plurality of blocks with the logical address that is provided (at this, also being called logic sector).In addition; Memory management circuitry 202 can service logic block-physical blocks mapping tables (logical block-physical block mapping table), belong to physical blocks and the mapping relations of these a little blocks of the data of these a little blocks in order to storage with record.
Fig. 7 is the mapping synoptic diagram according to shown blocks of the embodiment of the invention and physical blocks.
Please with reference to Fig. 7, blocks 510 (0)-510 (H) is the physical blocks that maps to data field 402.For example, when non-volatile memory storage device 100 was formatd with archives economy (for example, FAT 32) by the operating system of host computer system 1000, blocks 510 (0) 510 (H) mapped to the physical blocks 304 (0)-304 (D) of data field 402 respectively.That is to say that a blocks is understood a physical blocks in the mapping (enum) data district 402.Afterwards, when the physical blocks in idle district 404 is extracted when writing data with the physical blocks in replacement data district, the mapping relations in blocks-physical blocks mapping table can be updated.For example; When blocks 510 (0) is that the mapping status and the Memory Controller 104 that map to physical blocks 304 (0) receives from host computer system 1000 and write instruction and desire to write data when belonging to the logic sector of blocks 510 (0), memory management circuitry 202 can be to map to physical blocks 304 (0) and from spare area 404, extract physical blocks 304 (D+1) as the replacement physical blocks physical blocks 304 (0) of rotating according to blocks-physical blocks mapping table recognition logic block 510 (0) at present.For example; Memory management circuitry 202 can write to the valid data of counterlogic block 510 (0) and the new data of desiring to write in the physical blocks 304 (0) in the physical blocks 304 (D+1); Physical blocks 304 (0) is erased and is associated to spare area 404; And in blocks-physical blocks mapping table, blocks 510 (0) is remapped to 304 (D+1), thus physical blocks 304 (D+1) is associated to data field 402.
In the present embodiment, when being the logical page (LPAGE) of mapping physical page when the configuration logic sector and with logical sectors, memory management circuitry 202 can not dispose corresponding logic sector and give obsolete entity sector.The base this, the capacity of each logical page (LPAGE) can be less than the capacity of the physical page that it shone upon.That is to say that the capacity that the capacity of logical page (LPAGE) equals physical page deducts the capacity that does not use the sector.
Fig. 8 is according to the mapping example schematic in the data bit element district of the physical page of the logical page (LPAGE) of the shown blocks of the embodiment of the invention and physical blocks.Be mapping physical blocks 304 (0) at present and be the mapping mode that example describes the page with physical blocks 304 (0) at this logic of propositions block 510 (0) with blocks 510 (0).Identical mapping mode is applicable to the mapping of physical page of logical page (LPAGE) and the physical blocks of all blocks in the present embodiment.
Please with reference to Fig. 8, if record entity sector PS (5) is not when using sector (shown in dotted line) in the bad sector information, memory management circuitry 202 can be 1 logical page (LPAGE) with 7 logical sectors only.Therefore, each logical page (LPAGE) can comprise logic sector LS (0)-LS (6) in blocks 510 (0).And in the mapping relations of the entity sector of the logic sector of logical page (LPAGE) and physical page, logic sector LS (0) is mapping entity sector PS (0); Logic sector LS (1) is mapping entity sector PS (2); Logic sector LS (3) is mapping entity sector PS (3); Logic sector LS (4) is mapping entity sector PS (4); Logic sector LS (5) is that mapping entity sector PS (6) and logic sector LS (6) are mapping entity sector PS (7).That is to say; The data that the data that host computer system 1000 desires to be stored to logic sector LS (5) can be written among the entity sector PS (6) and host computer system 1000 desires to be stored to logic sector LS (6) can be written among the entity sector PS (7), skip entity sector PS (5) thus.
Fig. 9 is the process flow diagram according to the shown method for writing data of the embodiment of the invention, and it illustrates the step that writes data to physical page (below be called first physical page).
Please with reference to Fig. 9, in step S901, memory management circuitry 202 can receive the data that write instruction and desire to write that come from host computer system 1000.At this, write instruction and can comprise logical page (LPAGE) under can these a little logic sectors of identification of the logic sector desiring to write and memory management circuitry 202 (below be called first logical page (LPAGE)).And in step S903, memory management circuitry 202 can become a plurality of sector datas with this data preparation.For example, memory management circuitry 202 can become to meet the sector data of preset error-correcting code frame with this data preparation.
Afterwards, in step S905, obsolete entity sector (that is, not using the sector) in the data bit element district of memory management circuitry 202 each physical page of meeting identification.
Then, in step S907, can be unit with each physical page write to a plurality of sector datas in the physical page (below be called first physical page) for memory management circuitry 202.Particularly, in step S907, sector data can not be written into not using in the sector in first physical page.For example, like Fig. 6 and shown in Figure 8, memory management circuitry 202 can be used according to the mapping relations between first logical page (LPAGE) and first physical page and instruct W2 skip not use the sector, being that unit writes in the physical blocks with the physical page with sector data.
As stated, in memorizer memory devices 100 running, the memory management circuitry 202 of Memory Controller 104 can be discerned according to stored bad sector information and not use the sector and be that unit skips when writing data and do not use the sector with the physical page in view of the above.The foundation of bad sector information below will be described according to one embodiment of the invention, yet, it must be appreciated, below be merely an example, the invention is not restricted to this.
When memorizer memory devices 100 dispatched from the factory and opens card, the physical page of the physical blocks of memory management circuitry 202 meeting test nonvolatile memory modules 106 was to produce a damage sector distribution table.Specifically, memory management circuitry 202 is understood in the entity sector of the test physical page that test data is write.For example, the test physical page can be for all physical page of nonvolatile memory module 106 or with the part physical page of sample mode random choose.
Afterwards; Memory management circuitry 202 can read the data that write from the entity sector of test physical page; And Error-Correcting Circuit 208 can carry out bug check and correction program to the data of from each entity sector, being read, to judge whether to take place the uncorrectable error bit.When the data that read take place can't error recovery wrong bit the time, memory management circuitry 202 can write test data once more and confirm whether the entity sector has defective.
For example, when stylizing data, contiguous entity sector may be interfered.Therefore; In being stored in entity sector S (0) and entity sector S (1); Memory management circuitry 202 can only write test data and judge whether the data that are stored among the entity sector S (0) the uncorrectable error bit takes place in entity sector S (0); And only in entity sector S (1), write test data and judge whether the data that are stored among the entity sector S (1) the uncorrectable error bit takes place, thus, confirm whether entity sector S (0) and entity sector S (1) all have defective.
Through above-mentioned test and once more behind the test procedure, when the data that read still take place can't error recovery wrong bit the time, can be marked as in order to the entity sector that stores these data and to damage the entity sector.Then, memory management circuitry 202 can statistics be tested the distributions of damaging the entity sector in physical page at this a bit, damages the sector distribution table to produce.
In the present embodiment, memory management circuitry 202 is damaged the sector distribution table according to this and is carried out the multiple test that writes, and does not use the sector with decision.
Specifically, as previously mentioned, in the management of the bad physical blocks of nonvolatile memory module, during data generation uncorrectable error bit in being stored in physical blocks, this physical blocks can be labeled bad physical blocks, and can not be used again.At this, memory management circuitry 202 selectively uses the part entity sector in each physical page to write data according to damaging the sector distribution table with trial and error pricing (try and error), and the sector is not used in decision thus.
For example; Suppose that memory management circuitry 202 only uses the entity sector PS (0) of each physical page, PS (1), PS (2), PS (3), PS (4), PS (6) and PS (7) to write test data; Therefore and when having 50 physical blocks can therefore be judged as bad physical blocks; The active volume in the data bit element district of duplicative nonvolatile memory module 106 equals 447552K (that is 2k (bit group) * 7/8) * 128 (page) * (2048-50) block under the entity sector PS (0), PS (1), PS (2), PS (3), PS (4), PS (6) that obtains only to use each physical page therefrom and the situation of PS (7)).Wherein, this example is to be applicable to have the 2k page, the storage device of 2048 blocks.
For example; Suppose that memory management circuitry 202 only uses the entity sector PS (1) of each physical page, PS (2), PS (3), PS (4), PS (6) and PS (7) to write test data; And when having 40 physical blocks can therefore be judged as bad physical blocks; The active volume in the data bit element district of duplicative nonvolatile memory module 106 equals 383616K (that is 2k (bit group) * 6/8) * 128 (page) * (2048-50) block under the entity sector PS (1), PS (2), PS (3), PS (4), PS (6) that obtains only to use each physical page therefrom and the situation of PS (7)).
The base this, memory management circuitry 202 can calculate various write the test pairing active volumes.For example, memory management circuitry 202 can be selected the writing mode of corresponding maximum available and determine not use the sector thus.
In embodiments of the present invention, memory management circuitry 202 can use one of them physical blocks in the nonvolatile memory modules 106 to store about not using the information of sector, with as bad sector information.For example, this physical blocks that stores this bad sector information is the physical blocks of system region 406.Perhaps, memory management circuitry 202 also can use one of them physical blocks in idle district 404 to store these bad sector data and this physical blocks is labeled as bad physical blocks, is override by other data avoiding.
Figure 10 is that the process flow diagram of sector is not used in decision in the embodiment of the invention method for writing data.
Please with reference to Figure 10, in step S1001, test data can be written in each entity sector of a plurality of test physical page of duplicative nonvolatile memory module 106.As stated, the test physical page can be all physical page of duplicative nonvolatile memory module 106 or the physical page of part.
Then, in step S1003, a plurality of damage entities sector that writes among the entity sector of test data can be identified by bug check and correction program.And in step S1005, the distribution of the damage entity sector in the test physical page can be added up, to produce corresponding damage sector distribution table.
Afterwards, in step S1007, test data can to write test be that unit is written in the physical page of physical blocks with each physical page respectively with multiple.And in step S1009, the corresponding various numbers that write the bad physical blocks of test can be identified by bug check and correction program respectively.
Then, in step S1011, the corresponding various active volumes that write test can be calculated, and the sector of not using in the data bit element district of each physical page can be come to be determined according to the active volume of being calculated.What the maximum available among the active volume of for example, being calculated can be identified and determine thus each physical page does not use the sector.
In sum; Memory Controller of the method for writing data of the embodiment of the invention and use the method and the normal storage space that memorizer memory devices can use non-property of duplicative memory module effectively utilize again thus and have been regarded as non-property of defective products duplicative memory module.
Though the present invention discloses as above with embodiment, so it is not in order to limiting the present invention, any under the those of ordinary skill of technical field, when can doing a little change and retouching, and do not break away from the spirit and scope of the present invention.

Claims (20)

1. method for writing data; Be used for a duplicative nonvolatile memory module; Wherein this duplicative nonvolatile memory module has a data field and a spare area; This data field is in order to storage data, this spare area in order to write data and with this data field replacement, wherein this spare area has a plurality of entity writing units and each those entity writing unit comprises a data bit element district and a redundant bit district; This data bit element district comprises a plurality of entities and writes section, and this method for writing data comprises:
Those entities of discerning each those entity writing unit write at least one entity among the section, and to write section be one not use section; And
Many sector data are write among those entity writing units, and wherein respectively this at least one section that do not use of this entity writing unit is not used to write those sector data.
2. method for writing data according to claim 1 wherein also comprises:
Those entities of testing those entity writing units write section and damage the section distribution table to produce one;
Write this at least one section that do not use among the section according to those entities of each those entity writing unit of this damage section distribution table decision; And
Use one of them entity writing unit of those entity writing units to store a bad block segment information, wherein this bad block segment information comprises that those entities about each those entity writing unit write this at least one information of not using section among the section,
This at least one step of section of not using that those entities of wherein discerning each those entity writing unit write among the section comprises:
Those entities of discerning each those entity writing unit according to this bad block segment information write this at least one section that do not use among the section.
3. method for writing data according to claim 2, those entities of wherein testing those entity writing units write section and comprise with the step that produces this damage section distribution table:
Each those entity that one test data is write to a plurality of test entity writing units among those entity writing units write in the section;
A plurality of damage entities that those entities that write this test data by the identification of a bug check and correction program write among the section write section; And
The distribution that statistics those damage entities in those test entity writing units write section is to produce this damage section distribution table.
4. method for writing data according to claim 1 wherein also comprises:
Dispose a plurality of logic writing units those entity writing units with the mapping part,
Wherein a capacity of each those logic writing unit capacity that equals each those entity writing unit deducts this at least one capacity that does not use section of each those first entity writing unit.
5. method for writing data; Be used for a duplicative nonvolatile memory module; Wherein this duplicative nonvolatile memory module has a plurality of physical blocks; Each those physical blocks has a plurality of physical page, and each those physical page comprises that a data bit element district and a redundant bit district and each those data bit element district comprise a plurality of entities sector, and this method for writing data comprises:
Discern at least one sector of not using among those entity sectors in this data bit element district of each those physical page; And
Being unit with each those physical page writes to a plurality of sector datas in one first physical page among those physical page, and wherein at least one sector of not using of this among those entity sectors of this first physical page can not be used to write those sector datas.
6. method for writing data according to claim 5 wherein also comprises:
Those physical page of testing those physical blocks are to produce a damage sector distribution table;
According to this at least one sector of not using among those entity sectors in this data bit element district of each those physical page of this damage sector distribution table decision; And
Use one of them physical blocks of those physical blocks to store a bad sector information, wherein this bad sector information comprises about this at least one information of not using the sector among those entity sectors in this data bit element district of each those physical page,
This at least one step of sector of not using of wherein discerning among those entity sectors in this data bit element district of each those physical page comprises:
Discern this at least one sector of not using among those entity sectors in this data bit element district of each those physical page according to this bad sector information.
7. Memory Controller; Be used to control a duplicative nonvolatile memory module; Wherein this duplicative nonvolatile memory module has a plurality of physical blocks; Each those physical blocks has a plurality of physical page, and each those physical page comprises that a data bit element district and a redundant bit district and each those data bit element district comprise a plurality of entities sector, and this Memory Controller comprises:
One HPI is in order to be coupled to a host computer system;
One memory interface is in order to be coupled to this duplicative nonvolatile memory module; And
One memory management circuitry is coupled to this HPI and this memory interface, and wherein this memory management circuitry comprises:
In order at least one device that does not use the sector among those entity sectors in this data bit element district of discerning each those physical page; And
In order to be unit with each those physical page a plurality of sector datas are write to the device in one first physical page among those physical page, wherein at least one sector of not using of this among those entity sectors in this data bit element district of this first physical page can not be used to write those sector datas.
8. Memory Controller according to claim 7, wherein this memory management circuitry also comprises:
In order to those physical page of testing those physical blocks to produce the device of a damage sector distribution table;
In order to according to this at least one device that does not use the sector among those entity sectors in this data bit element district of each those physical page of this damage sector distribution table decision; And
Store the device of a bad sector information in order to one of them physical blocks of using those physical blocks,
Wherein this bad sector information comprises about this at least one information of not using the sector among those entity sectors in this data bit element district of each those physical page,
Wherein above-mentioned in order among those entity sectors in this data bit element district of discerning each those physical page this be at least one not to use the device of sector to discern this at least one sector of not using among those entity sectors in this data bit element district of each those physical page according to this bad sector information.
9. Memory Controller according to claim 8 wherein also comprises a bug check and correcting circuit,
Wherein this memory management circuitry also comprises:
In order to the device in each those entity sector that a test data is write to a plurality of test physical page among those physical page, wherein the identification of this bug check and correcting circuit writes a plurality of damage entities sector among those entity sectors of this test data; And
In order to add up in those distributions of testing those damage entity sectors in physical page to produce the device of this damage sector distribution table.
10. Memory Controller according to claim 9, wherein this memory management circuitry also comprises:
In order to write test be that unit writes to this test data in the device in those physical page of those physical blocks with each those physical page respectively with multiple according to this damage sector distribution table; Wherein those write in the part entity sector of those physical page that this test data in the test is written into those physical blocks at each, and this bug check and correcting circuit are identified in those respectively and write a plurality of bad physical blocks among those physical blocks in the test; And
Write the device of a plurality of active volumes of test in order to calculate corresponding those according to those bad physical blocks of being discerned respectively,
Wherein above-mentioned in order to this at least one sector of not using among those entity sectors in this data bit element district of determining each those physical page according to the device that should at least onely not use the sector among those entity sectors in this data bit element district of each those physical page of this damage sector distribution table decision according to those active volumes.
11. Memory Controller according to claim 10 is wherein above-mentioned in order to this at least one sector of not using among those entity sectors in this data bit element district of deciding each those physical page according at least one device that does not use the sector of among those entity sectors in this data bit element district of each those physical page of this damage sector distribution table decision this according to the maximum available among those active volumes.
12. Memory Controller according to claim 7, wherein this memory management circuitry also comprises:
In order to disposing the device of a plurality of logical page (LPAGE)s with those physical page of mapping part,
Wherein those sector datas belong to one first logical page (LPAGE) among those logical page (LPAGE)s, and a capacity of this first logical page (LPAGE) capacity that equals this first physical page deducts this at least one capacity that does not use the sector of this first physical page.
13. Memory Controller according to claim 7, wherein this memory management circuitry also comprises:
In order to from this host computer system, receive at least one data and will this at least one data preparation the state that is those sector datas.
14. data writing system; Be used for a duplicative nonvolatile memory module; Wherein this duplicative nonvolatile memory module has a plurality of physical blocks; Each those physical blocks has a plurality of physical page, and each those physical page comprises that a data bit element district and a redundant bit district and each those data bit element district comprise a plurality of entities sector, and this data writing system comprises:
In order at least one device that does not use the sector among those entity sectors in this data bit element district of discerning each those physical page; And
In order to be unit with each those physical page a plurality of sector datas are write to the device in one first physical page among those physical page, wherein at least one sector of not using of this among those entity sectors in this data bit element district of this first physical page can not be used to write those sector datas.
15. data writing system according to claim 14 wherein also comprises:
In order to those physical page of testing those physical blocks to produce the device of a damage sector distribution table;
In order to according to this at least one device that does not use the sector among those entity sectors in this data bit element district of each those physical page of this damage sector distribution table decision; And
Store the device of a bad sector information in order to one of them physical blocks of using those physical blocks; Wherein this bad sector information comprises about this at least one information of not using the sector among those entity sectors in this data bit element district of each those physical page
Wherein above-mentioned in order among those entity sectors in this data bit element district of discerning each those physical page this be at least one not to use the device of sector to discern this at least one sector of not using among those entity sectors in this data bit element district of each those physical page according to this bad sector information.
16. data writing system according to claim 15 wherein also comprises:
One bug check and correcting circuit;
In order to the device in each those entity sector that a test data is write to a plurality of test physical page among those physical page, wherein the identification of this bug check and correcting circuit writes a plurality of damage entities sector among those entity sectors of this test data; And
In order to add up in those distributions of testing those damage entity sectors in physical page to produce the device of this damage sector distribution table.
17. data writing system according to claim 16 wherein also comprises:
In order to write test be that unit writes to this test data in the device in those physical page of those physical blocks with each those physical page respectively with multiple according to this damage sector distribution table; Wherein those write in the part entity sector of those physical page that this test data in the test is written into those physical blocks at each, and this bug check and correcting circuit are identified in those respectively and write a plurality of bad physical blocks among those physical blocks in the test; And
Write a plurality of active volumes of test in order to calculate corresponding those according to those bad physical blocks of being discerned respectively,
Wherein above-mentioned in order to this at least one sector of not using among those entity sectors in this data bit element district of determining each those physical page according to the device that should at least onely not use the sector among those entity sectors in this data bit element district of each those physical page of this damage sector distribution table decision according to those active volumes.
18. data writing system according to claim 17 is wherein above-mentioned in order to this at least one sector of not using among those entity sectors in this data bit element district of deciding each those physical page according at least one device that does not use the sector of among those entity sectors in this data bit element district of each those physical page of this damage sector distribution table decision this according to the maximum available among those active volumes.
19. data writing system according to claim 14 wherein also comprises:
In order to disposing the device of a plurality of logical page (LPAGE)s with those physical page of mapping part,
Wherein those sector datas belong to one first logical page (LPAGE) among those logical page (LPAGE)s, and a capacity of this first logical page (LPAGE) capacity that equals this first physical page deducts this at least one capacity that does not use the sector of this first physical page.
20. data writing system according to claim 14 wherein also comprises:
In order to from this host computer system, receive at least one data and will this at least one data preparation the device that is those sector datas.
CN201110034686.2A 2011-01-30 Method for writing data and system and controller for nonvolatile memory Active CN102623052B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110034686.2A CN102623052B (en) 2011-01-30 Method for writing data and system and controller for nonvolatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110034686.2A CN102623052B (en) 2011-01-30 Method for writing data and system and controller for nonvolatile memory

Publications (2)

Publication Number Publication Date
CN102623052A true CN102623052A (en) 2012-08-01
CN102623052B CN102623052B (en) 2016-12-14

Family

ID=

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732153A (en) * 2013-12-18 2015-06-24 群联电子股份有限公司 Data erasing method, storage control circuit unit and storage storing device
CN105027090A (en) * 2012-10-05 2015-11-04 西部数据技术公司 Methods, devices and systems for physical-to-logical mapping in solid state drives
WO2015196464A1 (en) * 2014-06-27 2015-12-30 华为技术有限公司 Controller, flash memory device and method for writing data into flash memory device
CN117632040A (en) * 2024-01-25 2024-03-01 合肥兆芯电子有限公司 Data writing method, memory storage device and memory control circuit unit

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060239075A1 (en) * 2005-04-26 2006-10-26 Microsoft Corporation NAND flash memory management
CN101399075A (en) * 2007-09-28 2009-04-01 智多星电子科技有限公司 Electronic data flash memory card with flash memory bad block management
CN101567220A (en) * 2008-04-22 2009-10-28 群联电子股份有限公司 Bad block identifying method, storage system and controller thereof for flash memory
CN101944065A (en) * 2010-08-24 2011-01-12 苏州国芯科技有限公司 Flash memory bad block shielding method based on section

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060239075A1 (en) * 2005-04-26 2006-10-26 Microsoft Corporation NAND flash memory management
CN101399075A (en) * 2007-09-28 2009-04-01 智多星电子科技有限公司 Electronic data flash memory card with flash memory bad block management
CN101567220A (en) * 2008-04-22 2009-10-28 群联电子股份有限公司 Bad block identifying method, storage system and controller thereof for flash memory
CN101944065A (en) * 2010-08-24 2011-01-12 苏州国芯科技有限公司 Flash memory bad block shielding method based on section

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027090A (en) * 2012-10-05 2015-11-04 西部数据技术公司 Methods, devices and systems for physical-to-logical mapping in solid state drives
CN105027090B (en) * 2012-10-05 2018-03-09 西部数据技术公司 Method, apparatus and system for the physics in solid-state drive to logical mappings
CN104732153B (en) * 2013-12-18 2018-01-12 群联电子股份有限公司 Data erasing method, memorizer control circuit unit and memory storage apparatus
CN104732153A (en) * 2013-12-18 2015-06-24 群联电子股份有限公司 Data erasing method, storage control circuit unit and storage storing device
KR20160015190A (en) * 2014-06-27 2016-02-12 후아웨이 테크놀러지 컴퍼니 리미티드 Controller, flash memory apparatus, and method for writing data into flash memory apparatus
CN105830166A (en) * 2014-06-27 2016-08-03 华为技术有限公司 Controller, flash memory device and method for writing data into flash memory device
JP2016524769A (en) * 2014-06-27 2016-08-18 華為技術有限公司Huawei Technologies Co.,Ltd. Controller, flash memory device and method for writing data to flash memory device
KR101677474B1 (en) 2014-06-27 2016-11-18 후아웨이 테크놀러지 컴퍼니 리미티드 Controller, flash memory apparatus, and method for writing data into flash memory apparatus
EP3260985A1 (en) * 2014-06-27 2017-12-27 Huawei Technologies Co., Ltd. Controller, flash memory apparatus, and method for writing data into flash memory apparatus
EP2988221A4 (en) * 2014-06-27 2016-02-24 Huawei Tech Co Ltd Controller, flash memory device and method for writing data into flash memory device
CN105830166B (en) * 2014-06-27 2018-02-23 华为技术有限公司 A kind of controller, flash memory device and the method for writing data into flash memory device
WO2015196464A1 (en) * 2014-06-27 2015-12-30 华为技术有限公司 Controller, flash memory device and method for writing data into flash memory device
CN117632040A (en) * 2024-01-25 2024-03-01 合肥兆芯电子有限公司 Data writing method, memory storage device and memory control circuit unit
CN117632040B (en) * 2024-01-25 2024-04-30 合肥兆芯电子有限公司 Data writing method, memory storage device and memory control circuit unit

Similar Documents

Publication Publication Date Title
TWI479314B (en) Method of storing system data, and memory controller and memory storage apparatus using the same
TWI459393B (en) Data writing method for a non-volatile memory module, memory controller and memory storage apparatus
CN104765568A (en) Data storing method, storage control circuit unit and a storage storing device
CN103544115B (en) Method for writing data, Memory Controller and memory storage apparatus
CN102890655B (en) Memory storage device, memory controller and valid data recognition method thereof
CN103514096A (en) Data storage method, memory controller and memory storage device
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN104765569A (en) Data write-in method, memory control circuit unit and memory storing device
CN102053796A (en) Flash memory storage system, flash memory controller and data processing method
CN102902626B (en) Block management method, Memory Controller and memorizer memory devices
CN104636267A (en) Storage control method, storage storing device and storage control circuit unit
CN103678162B (en) System data storage method, memory controller and memory storage device
CN105022695A (en) Data storage method, memorizer control circuit unit and memorizer storage device
CN103593296A (en) Data storing method, storage controller and storage storing device
US20120317346A1 (en) Data storing method, and memory controller and memory storage apparatus using the same
CN102567221A (en) Data management method, memory controller and memory storage device
CN102446137A (en) Data write-in method, memory controller and memory storage device
CN104252317A (en) Data writing method, memory controller and memory storage device
CN103714008A (en) Method for memorizing data, memory controller and memorizing device of memory
CN102800357A (en) Program code loading and accessing methods, memory controller and storage device of memory
CN102053920B (en) Data writing method, flash memory controller and flash memory system
CN104238956A (en) Method for writing data, controller of storage, and storage device of storage
CN102467459B (en) Data write method, memory controller and memory device
CN102543184A (en) Memory storage device, memory controller thereof and data writing method
CN102841853B (en) Memory management table disposal route, 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