CN104536906A - Data writing method, storage controller and storage storing device - Google Patents

Data writing method, storage controller and storage storing device Download PDF

Info

Publication number
CN104536906A
CN104536906A CN201510027108.4A CN201510027108A CN104536906A CN 104536906 A CN104536906 A CN 104536906A CN 201510027108 A CN201510027108 A CN 201510027108A CN 104536906 A CN104536906 A CN 104536906A
Authority
CN
China
Prior art keywords
data
page
new data
section
logical
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
CN201510027108.4A
Other languages
Chinese (zh)
Other versions
CN104536906B (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 CN201510027108.4A priority Critical patent/CN104536906B/en
Priority claimed from CN201110219424.3A external-priority patent/CN102915273B/en
Publication of CN104536906A publication Critical patent/CN104536906A/en
Application granted granted Critical
Publication of CN104536906B publication Critical patent/CN104536906B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention provides a data writing method, a storage controller and a storage storing device. The data writing method is used for writing updated data into a flash storage module with a plurality of solid pages, wherein each solid page is the minimum writing unit of the flash storage module. The data writing method includes the steps that one solid page is divided into a plurality of storing sections, each section is configured with a state marker used for marking the validity of data stored in the storage section. The data writing method includes the step that the updated data are written into at least one of the storing sections, and the corresponding state markers of the storing sections in which the updated data are written are modified, wherein the state marked by the state markers of the storing sections, storing the updated data, in the solid page is valid, and the state marked by the state markers of the other storing sections which do not store the updated data is invalid. On the basis, the time for writing the data into the solid pages can be shortened.

Description

Method for writing data, Memory Controller and memorizer memory devices
The present invention is the divisional application that the application number proposed for 02nd for 08 month for 2011 is 201110219424.3, denomination of invention is the application for a patent for invention of " method for writing data, Memory Controller and memorizer memory devices ".
Technical field
The present invention relates to a kind of method for writing data for type nonvolatile module and Memory Controller and memorizer memory devices.
Background technology
Digital camera, mobile phone and MP3 are very rapid in growth over the years, impel consumer to the demand of Storage Media also rapid increase.Due to type nonvolatile (rewritable non-volatilememory) have that data non-volatile, low power consumption, volume are little, mechanical structure and the characteristic such as read or write speed is fast, be suitable for use in most portable electronic product, such as mobile phone, personal digital assistant and notebook computer etc.Such as, the solid state hard disc gazed at is enjoyed to be exactly a kind of storage device using flash memory as Storage Media at present.Therefore, flash memory industry has become a ring quite popular in electronic industry in recent years.
Type nonvolatile module has multiple physical blocks (physical block), and each physical blocks has multiple physical page (physical page), when wherein writing data in physical blocks, data must be write in order according to the order of physical page.In addition, the physical page being written into data could again for writing data after must first being erased.Particularly, physical blocks is the least unit of erasing, and physical page is the minimum unit of programming (also known as write).
Therefore, for promoting operational paradigm, in general, the physical blocks of type nonvolatile module can be divided into data field and idle district by the Memory Controller of memorizer memory devices.
The physical blocks of data field stores the data that host computer system writes.Specifically, the logic access address that host computer system can access by memory management circuitry is converted to the logical page (LPAGE) of logical blocks, and the logical page (LPAGE) of logical blocks is mapped to the physical page of the physical blocks of data field.That is, in the management of flash memory module, the physical blocks of data field is regarded as the physical blocks (such as, having stored the data that host computer system writes) used.In addition, memory management circuitry can use logical blocks-physical blocks mapping table (logical block-physical block mapping table) to record the mapping relations of the physical blocks of logical blocks and data field, the physical page of the corresponding physical blocks mapped in order of the logical page (LPAGE) wherein in logical blocks.
The physical blocks in idle district is the physical blocks of rotating in data field.Specifically, the physical blocks of written data just can again for writing data after must being erased, and the physical blocks in idle district be designed to write more new data to replace the physical blocks of original mapping logic block.Base this, the physical blocks in idle district is empty or spendable block, i.e. no record data or be labeled as invalid data useless.
That is, when the storage area of memorizer memory devices is formatted, the physical blocks of data field can be mapped to logical blocks and the physical blocks of data field is regarded as storing more new data.Afterwards, when host computer system for storage data to the logical page (LPAGE) of logical blocks time, Memory Controller can extract an empty physical blocks and write in the physical page in extracted physical blocks by these data from idle district, completes the renewal of the data on this logical page (LPAGE) thus.But, as mentioned above, physical page is the minimum unit of programming (also known as write), therefore, when (namely host computer system only for upgrading partial data in a logical page (LPAGE), data volume for write is less than a page size) time, Memory Controller must read the data be not updated from the physical page of this logical page (LPAGE) of original mappings, arrange (arrange) for the data upgraded and the data do not upgraded to produce complete effective page data, and then this effective page data is write in empty physical page.
Along with the development of semiconductor technology, the page size of each physical page of type nonvolatile module is also increasing.Such as, each physical page of current type nonvolatile module is generally designed to user's data (that is, page size is 8 kilobyte) that can store 8 kilobyte (Kilobyte is called for short KB).But the operating system of host computer system (such as, personal computer) is often carry out storage data with less unit.Such as, the Windows 7 of Microsoft can storage data amount be the data of 4 kilobyte frequently.Therefore, Memory Controller need carry out reading and the arrangement of valid data continually, could write in physical page by data, thus have a strong impact on the writing speed of memorizer memory devices.
Summary of the invention
The invention provides a kind of method for writing data, Memory Controller and memorizer memory devices, data can write in physical page rapidly by it under performing effective page data preparation.
The present invention one exemplary embodiment proposes a kind of method for writing data, for will more write in type nonvolatile module by new data, wherein this type nonvolatile module has multiple physical page, this a little physical page wheel alternately maps multiple logical page (LPAGE), this more new data belong to the first logical page (LPAGE) among those logical page (LPAGE)s and this more new data be stored in order in the first logical page (LPAGE) from the logical offset address of the first logical page (LPAGE).Notebook data wiring method comprises and in order the first instance page division among this little physical page is multiple storage section and configures a status indication for each stores section, and wherein each stores section and has an initial entity offset address and this little status indication is initially recorded into disarmed state.Notebook data wiring method also comprises and judges whether the size of this more new data is less than data access unit, and wherein this data access unit equals the page size of each physical page.Notebook data wiring method also comprises, when judging that the size of this more new data is less than data access unit, also to judge in the whether corresponding first instance page of logical offset address of this more new data corresponding one of them initial entity offset address storing section and judging whether the size of this more new data equals the section capacity that this stores section.Notebook data wiring method also comprises, when judge the logical offset address of this more new data corresponding be corresponding one of them store the initial entity offset address of section and the size of this more new data equal this store the section capacity of section time, by this more new data write to this and to store in section and corresponding status indication that this stores section is recorded as effective status, wherein when by this, more new data writes to this storage section, other store the valid data that sections can not be written into other logical offset address belonging to this first logical page (LPAGE).
In one embodiment of this invention, above-mentioned method for writing data also comprises, when judging that the size of more new data is non-and being less than data access unit, more new data to be write in the first instance page and each status indication storing section is recorded as effective status.
In one embodiment of this invention, above-mentioned method for writing data also comprises, when judge the logical offset address of corresponding more new data those any one storage among sections corresponding store sections initial entity offset address or more new data differ in size store the section capacity of section in this time, the valid data belonging to the first logical page (LPAGE) are read from other physical page type nonvolatile module, according to the logical offset address more corresponding to new data and other logical offset address corresponding to valid data arrange (arrange) this more new data and valid data to produce effective page data, effective page data to be write in the first instance page and each status indication storing section is recorded as effective status.
The present invention one exemplary embodiment proposes a kind of method for writing data, for the more new data being stored to a logical page (LPAGE) is write in a physical page of type nonvolatile module, wherein this more new data be that the logical offset address of from then on logical page (LPAGE) starts to be stored so far in logical page (LPAGE).Notebook data wiring method comprises and in order this physical page is divided into the first storage section and second and stores section, wherein first store section and have the first initial entity offset address, second stores section has the second initial entity offset address and first stores section and second and store section and have identical section capacity.It is that the first storage section and second stores section and configures the first status indication and the second status indication respectively that notebook data wiring method also comprises, and wherein the first status indication and second marks and is initially recorded into disarmed state.Notebook data wiring method also comprises and judges whether the size of this more new data is less than data access unit, and wherein data access unit equals the page size of this physical page.Notebook data wiring method also comprises, and when judging that the size of this more new data is less than data access unit, also judges the whether corresponding first initial entity offset address of the logical offset address of corresponding more new data or the second initial entity offset address.Notebook data wiring method also comprises, and when judging the corresponding first initial entity offset address of the logical offset address of corresponding more new data, also judges whether the size of this more new data equals section capacity.Notebook data wiring method also comprises, when the size of this more new data equals section capacity, by this more new data to write in the first storage section and the first status indication be recorded as effective status, wherein when by this, more new data writes to the first storage section, second stores the valid data that section can not be written into other logical offset address belonging to this logical page (LPAGE).
In one embodiment of this invention, above-mentioned method for writing data also comprises, when judge the logical offset address of corresponding more new data be to should the second initial entity offset address time, also judge whether the size of this more new data equals section capacity.And, notebook data method also comprises, when judging that the size of this more new data equals section capacity, by this more new data to write in the second storage section and the second status indication be recorded as effective status, wherein when by this, more new data writes to the second storage section, first stores the valid data that section can not be written into other logical offset address belonging to this logical page (LPAGE).
In one embodiment of this invention, above-mentioned method for writing data also comprises, when judging that the size of this more new data is non-and being less than data access unit, by this more new data to write in physical page and the first status indication and the second status indication be all recorded as effective status.
In one embodiment of this invention, above-mentioned method for writing data also comprises, when the not corresponding first initial entity offset address of decision logic offset address or the second initial entity offset address, the valid data belonging to other logical offset address of this logical page (LPAGE) are read from other physical page type nonvolatile module, according to this logical offset address more corresponding to new data other logical offset address therewith corresponding to valid data arrange (arrange) this more new data and valid data to produce effective page data, effective page data is write and so far the first status indication and the second status indication is all recorded as effective status in physical page.
In one embodiment of this invention, above-mentioned method for writing data also comprises, when judge this more the differing in size in section capacity of new data time, the valid data belonging to other logical offset address of this logical page (LPAGE) are read from other physical page type nonvolatile module, according to this logical offset address more corresponding to new data other logical offset address therewith corresponding to valid data arrange (arrange) this more new data and valid data to produce effective page data, effective page data is write and so far the first status indication and the second status indication is all recorded as effective status in physical page.
In one embodiment of this invention, the size of above-mentioned physical page is 8 kilobyte, and in order this physical page is divided into the first storage section and the second step storing section comprises: by among this physical page above the storage area of 4 kilobyte be divided into the first storage section and by among this physical page below the storage area of 4 kilobyte be divided into the second storage section.
The present invention one exemplary embodiment proposes a kind of Memory Controller, for controlling type nonvolatile module.This Memory Controller comprises host interface, memory interface, microcontroller, Memory Management Unit, data processing unit and storer writing unit.Host interface is in order to be electrically connected to host computer system.Memory interface is in order to be electrically connected to type nonvolatile module, and wherein type nonvolatile module has multiple physical page.Microcontroller is electrically connected to host interface and memory interface.Memory Management Unit, data processing unit and storer writing unit are electrically connected to microcontroller.At this, Memory Management Unit is in order to configure multiple logical page (LPAGE) and to assign this little physical page to take turns the alternately mapping logic page.Host interface in order to receive more new data from host computer system, wherein this more new data belong to the first logical page (LPAGE) among this little logical page (LPAGE) and this more new data be stored in order in the first logical page (LPAGE) from the logical offset address of the first logical page (LPAGE).First instance page division among this little physical page is multiple storage section and configures a status indication for each stores section by Memory Management Unit in order, and wherein each stores section and has an initial entity offset address and this little status indication is initially recorded into disarmed state.Data processing unit can judge whether the size of this more new data is less than data access unit, and wherein this data access unit equals the page size of each physical page.When the size of this more new data is less than data access unit, data processing unit also judge the logical offset address of corresponding more new data whether corresponding one of them store the initial entity offset address of section and judge whether the size of this more new data equals the section capacity that this stores section.When the logical offset address of correspondence more new data corresponding one of them store the initial entity offset address of section and the size of this more new data equal this store the section capacity of section time, storer writing unit by this more new data write to this and to store in section and corresponding status indication that this stores section is recorded as effective status, wherein when by this, more new data writes to this storage section, other store the valid data that sections can not be written into other logical offset address belonging to this first logical page (LPAGE).
In one embodiment of this invention, when the size of this more new data is non-be less than data access unit time, storer writing unit by this more new data to write in the first instance page and each status indication storing section be recorded as effective status.
In one embodiment of this invention, above-mentioned Memory Controller also comprises storer reading unit.When logical offset address corresponding any one store the initial entity offset address of section or this more new data differ in size store the section capacity of section in this time, storer reading unit reads the valid data belonging to the first logical page (LPAGE) from other physical page type nonvolatile module, data processing unit according to this logical offset address more corresponding to new data other logical offset address therewith corresponding to valid data arrange (arrange) this more new data and valid data to produce effective page data, and this effective page data to write in the first instance page and each status indication storing section is recorded as effective status by storer writing unit.
The present invention one exemplary embodiment proposes a kind of memorizer memory devices, and it comprises connector, type nonvolatile module and Memory Controller.Connector is in order to be electrically connected to host computer system.Type nonvolatile module has multiple physical page.Memory Controller is electrically connected to type nonvolatile module and connector.At this, Memory Controller is in order to configure multiple logical page (LPAGE) and to assign this little physical page to take turns the alternately mapping logic page.In addition, connector in order to receive more new data from host computer system, wherein this more new data belong to the first logical page (LPAGE) among this little logical page (LPAGE) and this more new data be stored in order in the first logical page (LPAGE) from the logical offset address of the first logical page (LPAGE).First instance page division among this little physical page can be multiple storage section and configure a status indication for each stores section by Memory Controller in order, and wherein each stores section and has initial entity offset address and this little status indication is initially recorded into disarmed state.Memory Controller can judge whether the size of this more new data is less than data access unit, and wherein this data access unit equals the page size of each physical page.When the size of this more new data is less than data access unit, Memory Controller also judge the logical offset address of corresponding more new data whether corresponding one of them store the initial entity offset address of section and judge whether the size of this more new data equals the section capacity that this stores section.When the logical offset address of correspondence more new data be corresponding one of them store section initial entity offset address and more the size of new data equal this store the section capacity of section time, Memory Controller by this more new data write to this and to store in section and corresponding status indication that this stores section is recorded as effective status, wherein when by this, more new data writes to this storage section, other store the valid data that sections can not be written into other logical offset address belonging to the first logical page (LPAGE).
In one embodiment of this invention, when the size of this more new data is non-be less than data access unit time, Memory Controller by this more new data to write in the first instance page and each this status indication storing section be recorded as effective status.
In one embodiment of this invention, when the logical offset address of correspondence more new data corresponding any one store the initial entity offset address of section or this more new data differ in size store the section capacity of section in this time, Memory Controller reads the valid data belonging to other logical offset address of the first logical page (LPAGE) from other physical page type nonvolatile module, according to this logical offset address more corresponding to new data and other logical offset address corresponding to valid data arrange (arrange) this more new data and valid data to produce effective page data, this effective page data to be write in the first instance page and each status indication storing section is recorded as effective status.
In one embodiment of this invention, the size of each physical page be 8 kilobyte and each to store size of section be 4 kilobyte.
The present invention one exemplary embodiment proposes a kind of method for writing data, for by one more new data write in a flash memory module, wherein this flash memory module has multiple physical page, this a little physical page wheel alternately maps multiple logical page (LPAGE), this more new data belong to one first logical page (LPAGE) among this little logical page (LPAGE), wherein each physical page is the minimum write unit of this flash memory module.It is multiple storage sections that notebook data wiring method comprises the first instance page division among this little physical page; And configure a status indication, in order to mark the validity of the data stored by each storage section for each stores section.Notebook data wiring method also comprises and more new data is write this and store at least one storage section among section a bit; And the status indication that the storage section of this more new data of amendment write is corresponding, the state wherein storing the status indication of the storage section of more new data in the first instance page is effective, and other states of status indication storing sections of non-storage more new data are invalid.
Based on above-mentioned, the method for writing data of exemplary embodiment of the present invention, Memory Controller and memorizer memory devices can shorten the time writing data effectively.
For above-mentioned feature and advantage of the present invention can be become apparent, special embodiment below, and coordinate accompanying drawing to be described in detail below.
Accompanying drawing explanation
Fig. 1 is the outline flowchart according to illustrated method for writing data;
Fig. 2 A is the schematic diagram of host computer system according to an exemplary embodiment and memorizer memory devices;
Fig. 2 B is the schematic diagram of computing machine, input/output device and memorizer memory devices according to an exemplary embodiment;
Fig. 2 C is the schematic diagram of host computer system according to another exemplary embodiment and memorizer memory devices;
Fig. 3 is the summary block scheme of the memorizer memory devices according to an exemplary embodiment;
Fig. 4 is the summary block scheme of the Memory Controller according to an exemplary embodiment;
Fig. 5 A and Fig. 5 B is the schematic diagram of the physical blocks managing type nonvolatile module according to an exemplary embodiment;
Fig. 6 ~ Fig. 8 is the example schematic that use fructification block according to an exemplary embodiment writes more new data;
Fig. 9 is the example schematic that more new data data volume being less than data access unit according to an exemplary embodiment writes to a physical page;
Figure 10 is the schematic diagram that the chaotic physical blocks of use fructification block according to an exemplary embodiment and universe writes data;
Figure 11 is another example schematic that more new data data volume being less than data access unit according to an exemplary embodiment writes to a physical page;
Figure 12 is the example schematic of the mark of recording status in block management table according to an exemplary embodiment;
Figure 13 is the process flow diagram of the method for writing data according to an exemplary embodiment.
Description of reference numerals:
S101, S103, S105, S107: the step of data write;
1000: host computer system;
1100: computing machine;
1102: microprocessor;
1104: random access memory;
1106: input/output device;
1108: system bus;
1110: data transmission interface;
1202: mouse;
1204: keyboard;
1206: display;
1208: printer;
1212: Portable disk;
1214: memory card;
1216: solid state hard disc;
1310: digital camera;
1312:SD card;
1314:MMC card;
1316: memory stick;
1318:CF card;
1320: embedded storage device;
100: memorizer memory devices;
102: connector;
104: Memory Controller;
106: type nonvolatile module;
302: microcontroller;
304: host interface;
306: memory interface;
308: Memory Management Unit;
310: storer writing unit;
312: storer reading unit;
314: storer erased cell;
316: data processing unit;
410 (0) ~ 410 (N): physical blocks;
502: data field;
504: idle district;
506: system region;
508: replace district;
610 (0) ~ 610 (H): logical blocks;
710 (0) ~ 710 (K): logic access address;
LP0, LP1: logical page (LPAGE);
PP0, PP1, PP2 physical page;
UD0, UD1: more new data;
VD0, VD1: valid data;
OD0: legacy data;
Store section at 902: the first;
Store section at 904: the second;
902a: the first status indication;
904a second status indication;
S1301, S1303, S1305, S1307, S1309, S1311, S1313, S1315: the step of data write.
Embodiment
In the present invention, each physical page can be divided into multiple storage section and when the data is written, the storage section be only updated can be written into more new data, and the storage section do not upgraded can not be filled up the data do not upgraded.Please refer to Fig. 1, specifically, when for write more new data to type nonvolatile module (such as, flash memory module) a physical page (hereinafter referred to as the first instance page) time, the first instance page can be divided into multiple storage section (S101), and each stores section can be configured a status indication (S103) accordingly, wherein this little status indication is in order to mark the validity that this stores the data stored by section a bit respectively.Then, this more new data write can be written into so far store at least one storage section (S105) among section a bit and in order to write this more new data storage section corresponding to status indication can be modified (S107), be wherein effective in the state of status indication of the storage section storing more new data, and other states storing the status indication of sections of non-storage more new data are invalid.Thus, due to the data without the need to filling up as upgrading, therefore, the time of write needed for data can significantly be shortened.Below will carry out clearer description the present invention with multiple exemplary embodiment and accompanying drawing.
Fig. 2 A is the schematic diagram of host computer system according to an exemplary embodiment and memorizer memory devices.
Please refer to Fig. 2 A, host computer system 1000 generally comprises computing machine 1100 and I/O (input/output is called for short I/O) device 1106.Computing machine 1100 comprises microprocessor 1102, random access memory (random access memory, RAM) 1104, system bus 1108 and data transmission interface 1110.Input/output device 1106 comprises as the mouse 1202 of Fig. 2 B, keyboard 1204, display 1206 and printer 1208.It must be appreciated, the unrestricted input/output device 1106 of the device shown in Fig. 2 B, input/output device 1106 can also comprise other devices.
In embodiments of the present invention, memorizer memory devices 100 is electrically connected by data transmission interface 1110 other elements with host computer system 1000.Data can be write to memorizer memory devices 100 by microprocessor 1102, random access memory 1104 with the running of input/output device 1106 or read data from memorizer memory devices 100.Such as, memorizer memory devices 100 can be the type nonvolatile storage device of Portable disk 1212, memory card 1214 or solid state hard disc (Solid State Drive is called for short SSD) 1216 grades as shown in Figure 2 B.
Generally speaking, host computer system 1000 can substantially for coordinating any system with storage data with memorizer memory devices 100.Although in this exemplary embodiment, host computer system 1000 explains with computer system, but host computer system 1000 can be the systems such as digital camera, video camera, communicator, audio player or video player in another exemplary embodiment of the present invention.Such as, when host computer system is digital camera (video camera) 1310, type nonvolatile storage device is then its SD card 1312 used, mmc card 1314, memory stick (memory stick) 1316, CF card 1318 or embedded storage device 1320 (as shown in Figure 2 C).Embedded storage device 1320 comprises embedded multi-media card (Embedded MMC is called for short eMMC).It is worth mentioning that, embedded multi-media card is directly electrically connected on the substrate of host computer system.
Fig. 3 is the summary block scheme of the memorizer memory devices according to an exemplary embodiment.
Please refer to Fig. 3, memorizer memory devices 100 comprises connector 102, Memory Controller 104 and type nonvolatile module 106.
In this exemplary embodiment, connector 102 is compatible to Serial Advanced Technology Attachment (SerialAdvanced Technology Attachment, abbreviate SAT A) standard.But, it must be appreciated, the present invention is not limited thereto, connector 102 can also be meet Institute of Electrical and Electric Engineers (Institute ofElectrical and Electronic Engineers, be called for short IEEE) 1394 standards, high-speed peripheral component connecting interface (Peripheral Component Interconnect Express, be called for short PCI Express) standard, parallel Advanced Technology Attachment (Parallel Advanced Technology Attachment, be called for short PATA) standard, USB (universal serial bus) (Universal Serial Bus, be called for short USB) standard, safe digital (Secure Digital, be called for short SD) interface standard, memory stick (Memory Stick, be called for short MS) interface standard, Multi Media Card (Multi Media Card, be called for short MMC) interface standard, compact flash (Compact Flash, be called for short CF) interface standard, integrated form drives electrical interface (Integrated Device Electronics, be called for short IDE) standard or other be applicable to standard.
Memory Controller 104 in order to perform with multiple logic gate of hardware pattern or firmware pattern implementation or steering order, and according to the instruction of host computer system 1000 carry out in type nonvolatile module 106 data write, the running such as read, erase and merge.
Type nonvolatile module 106 is electrically connected to Memory Controller 104, and have the data that multiple physical blocks writes to store host computer system 1000.In this exemplary embodiment, each physical blocks has multiple physical page respectively, and the physical page wherein belonging to same physical blocks can be written independently and side by side be erased.Such as, each physical blocks is made up of 128 physical page, and the capacity of each physical page is 8 kilobyte (Kilobyte is called for short KB).But it must be appreciated, the present invention is not limited thereto, each physical blocks also can be made up of 64 physical page, 256 physical page or other any physical page.
In more detail, physical blocks is the least unit of erasing.That is, each physical blocks contain minimal amount in the lump by the storage unit of erasing.Physical page is the minimum unit of programming.That is, physical page is the minimum unit of write data.Specifically, after Memory Controller 104 pairs of type nonvolatile modules 106 assign write instruction, type nonvolatile module 106 can belong to the data of 1 physical page from Memory Controller 104 reception and be temporary in its memory buffer (not shown), then, data can be programmed in a physical page together.
Each physical page generally includes data bit element district and redundancy bit district.Data bit element district is in order to store the data of user, and redundancy bit district is in order to the data (such as, bug check and correcting code) of stocking system.At this, the size in data bit element district is a page size, and it is also called data access unit.
In this exemplary embodiment, type nonvolatile module 106 is multi-level cell memory (Multi Level Cell, MLC) NAND flash memory module.But, the present invention is not limited thereto, type nonvolatile module 106 also single-order storage unit (Single Level Cell, SLC) NAND flash memory module, other flash memory modules or other there is the memory module of identical characteristics.
Fig. 4 is the summary block scheme of the Memory Controller according to an exemplary embodiment.
Please refer to Fig. 4, Memory Controller 104 comprises microcontroller 302, host interface 304, memory interface 306, Memory Management Unit 308, storer writing unit 310, storer reading unit 312, storer erased cell 314 and data processing unit 316.
Microcontroller 302 is in order to the overall operation of control store controller 104.
Host interface 304 is electrically connected to microcontroller 302 and in order to receive and to identify the instruction that transmits of host computer system 1000 and data.In this exemplary embodiment, host interface 304 is compatible to SATA standard.But, it must be appreciated and the present invention is not limited thereto, host interface 304 can also be compatible to PATA standard, IEEE 1394 standard, PCI Express standard, USB standard, SD standard, MS standard, MMC standard, CF standard, IDE standard or other data transmission standards be applicable to.
Memory interface 306 is electrically connected to microcontroller 302 and in order to access type nonvolatile module 106.That is, the data for writing to type nonvolatile module 106 can be converted to the receptible form of type nonvolatile module 106 via memory interface 306.
Memory Management Unit 308, storer writing unit 310, storer reading unit 312, storer erased cell 314 are be electrically connected to this microcontroller 302 with data processing unit 316.At this, Memory Management Unit 308 is in order to manage the physical blocks of type nonvolatile module 106.Storer writing unit 310 is in order to assign write instruction data to be write in type nonvolatile module 106 to type nonvolatile module 106.Storer reading unit 312 is in order to assign reading command to read data from type nonvolatile module 106 to type nonvolatile module 106.Storer erased cell 314 is in order to assign instruction of erasing data to be erased from type nonvolatile module 106 to type nonvolatile module 106.And data processing unit 316 is in order to the data processed for writing to type nonvolatile module 106 and the data read from type nonvolatile module 106.
Fig. 5 A and Fig. 5 B is the schematic diagram of the physical blocks managing type nonvolatile module according to an exemplary embodiment.
Please refer to Fig. 5 A, type nonvolatile module 106 has physical blocks 410 (0) ~ 410 (N), and physical blocks 410 (0) ~ 410-(N) logically can be grouped into data field (data area) 502, idle district (free area) 504, system region (system area) 506 and replace district (replacement area) 508 by the Memory Management Unit 308 of Memory Controller 104.
Belonging to data field 502 in logic with the physical blocks in idle district 504 is in order to store the data coming from host computer system 1000.Specifically, the physical blocks (being also called data entity block) of data field 502 is the physical blocks being regarded as storage data, and the physical blocks (being also called idle physical blocks) in idle district 504 is the physical blocks writing new data.Such as, when receiving the data that write instruction writes with wish from host computer system 1000, Memory Management Unit 308 can extract physical blocks from idle district 504, and data processing unit 316 can arrange data for write and data can write in extracted physical blocks by storer writing unit 310.Again such as, when performing data consolidation procedure to a certain logical blocks, Memory Management Unit 308 can extract the new data physical blocks of physical blocks as this logical blocks corresponding from idle district 504, storer reading unit 312 can read the valid data belonging to this logical blocks from type nonvolatile module 106, data processing unit 316 can arrange this little valid data, valid data after arrangement can write in new data physical blocks by storer writing unit 310, and this logical blocks can remap to new data physical blocks by Memory Management Unit 308.Particularly, after completing data consolidation procedure, the data entity block storing invalid data can be associated (or recovery) to idle district 504 by Memory Management Unit 308 again, to write the use of new data as next time.Such as, storer erased cell 314 can perform this physical blocks when physical blocks is associated to idle district 504 and erases running or perform to this physical blocks running of erasing when physical blocks is extracted from idle district 504, is the empty physical blocks that can be used for writing data to make the physical blocks extracted from idle district 504.
The physical blocks belonging to system region 506 is in logic in order to register system data.Such as, system data comprises manufacturer about type nonvolatile module and model, the physical blocks number of type nonvolatile module, the physical page number etc. of each physical blocks.
Belonging to the physical blocks replaced in district 508 is in logic replace program, with replacing damaged physical blocks for bad physical blocks.Specifically, if replace in district 508 still have normal physical blocks and the physical blocks of data field 502 is damaged time, Memory Management Unit 308 can extract normal physical blocks to change the physical blocks of damage from replacement district 508.
Based on above-mentioned, in the running of memorizer memory devices 100, data field 502, idle district 504, system region 506 can dynamically change with the physical blocks replacing district 508.Such as, the physical blocks in order to storage data of rotating can belong to data field 502 or idle district 504 with changing.
It is worth mentioning that, in this exemplary embodiment, Memory Management Unit 308 manages in units of each physical blocks.But the present invention is not limited thereto, in another exemplary embodiment, physical blocks also can be grouped into multiple solid element by Memory Management Unit 308, and manages in units of solid element.Such as, each solid element can be made up of at least one physical blocks in same memory chip (die) or different memory chip.
Please refer to Fig. 5 B, Memory Management Unit 308 can configuration logic block 610 (0) ~ 610 (H) with the physical blocks in mapping (enum) data district 502, wherein each logical blocks has multiple logical page (LPAGE) and this little logical page (LPAGE) is the mapping pair physical page of data entity block of answering in order.Such as, when memorizer memory devices 100 is formatted, logical blocks 610 (0) ~ 610 (H) understands the physical blocks 410 (0) ~ 410 (F-1) in initially mapping (enum) data district 502.
In exemplary embodiment of the present invention, Memory Management Unit 308 meeting service logic block-physical blocks mapping table (logical block-physical block mapping table) is to record the mapping relations between logical blocks 610 (0) ~ 610 (H) and the physical blocks of data field 502.In addition, host computer system 1000 carrys out access data in units of logic access address.Such as, a logic access address is a logic sector (Sector).When host computer system 1000 access data, the logic access address 710 (0) ~ 710 (K) of correspond to memories storage device 100 can be converted to the address in corresponding logical page (LPAGE) by Memory Management Unit 308.Such as, when host computer system 1000 is for accessing a certain logic access address, the logic access address that host computer system 1000 can access by Memory Management Unit 308 is converted to the multi-dimensional address formed with the logical blocks of correspondence, logical page (LPAGE) and logical offset (offset), and by logical blocks-physical blocks mapping table access data in the physical page of correspondence.At this, skew is logic (or entity) address be positioned in a logical page (LPAGE) (or physical page), its be define the logical page (LPAGE) (or physical page) therewith of logic (or entity) address for this reason start address between distance, wherein this logic (or entity) address is also called logic (entity) offset address.
Fig. 6 ~ Fig. 8 is the example schematic that use fructification block according to an exemplary embodiment writes more new data.
Referring to Fig. 6 ~ Fig. 8, such as, under the mapping status mapping to physical blocks 410 (0) in logical blocks 610 (0), when Memory Controller 104 receives write instruction and for write data to when belonging to the logical page (LPAGE) of logical blocks 610 (0) from host computer system 1000, Memory Controller 104 can be map to physical blocks 410 (0) and from idle district 504, extract physical blocks 410 (F) to rotate physical blocks 410 (0) according to logical blocks-physical blocks mapping table recognition logic block 610 (0) at present.But, while new data writes to physical blocks 410 (F), all valid data in physical blocks 410 (0) can not be moved the physical blocks 410 (0) of erasing to physical blocks 410 (F) by Memory Controller 104 at once.Specifically, storer reading unit 312 can read for writing valid data before physical page (that is, the data in the 0th physical page of physical blocks 410 (0) and the 1st physical page) from physical blocks 410 (0).Afterwards, storer writing unit 310 is understood in the 0th physical page and the 1st physical page that the wish valid data write before physical page in physical blocks 410 (0) are write to physical blocks 410 (F) (as shown in Figure 6), and is write to by new data in 2nd ~ 4 physical page of physical blocks 410 (F) (as shown in Figure 7).Now, namely Memory Controller 104 completes the running of write.Because the valid data in physical blocks 410 (0) likely in next operation (such as, write instruction) in become invalid, therefore at once the valid data in physical blocks 410 (0) are moved to physical blocks 410 (F) and meaningless moving may be caused.In addition, data must write to the physical page in physical blocks in order, therefore, storer writing unit 310, storer reading unit 312 and data processing unit 316 only can first be moved for writing valid data before physical page (namely, be stored in data in the 0th physical page of physical blocks 410 (0) and the 0th physical page), and all the other valid data (that is, being stored in data in 5th ~ K physical page of physical blocks 410 (0)) wouldn't be moved.
In this exemplary embodiment, the running temporarily maintaining these transient state relations is called unlatching (open) mother and child blocks, and former physical blocks (such as, above-mentioned physical blocks 410 (0)) be called female physical blocks and physical blocks (such as, above-mentioned with physical blocks 410 (F)) in order to replace female physical blocks is called fructification block.
Afterwards, when needing physical blocks 410 (0) to merge (merge) with the data of physical blocks 410 (F), Memory Controller 104 can by whole to physical blocks 410 (0) and the data of physical blocks 410 (F) and to a physical blocks, promote the service efficiency of physical blocks thus.At this, the running merging mother and child blocks is called data consolidation procedure or closedown (close) mother and child blocks.Such as, as shown in Figure 8, when carrying out closedown mother and child blocks, (namely storer reading unit 312 can read remaining valid data from physical blocks 410 (0), data in 5th ~ K physical page of physical blocks 410 (0)), afterwards, remaining valid data in physical blocks 410 (0) can write in the 5th physical page ~ the K physical page of physical blocks 410 (F) by storer writing unit 310, then storer erased cell 314 can perform erase operation for use Memory Management Unit 308 to physical blocks 410 (0) and the physical blocks 410 (0) after erasing can be associated to idle district 504 and physical blocks 410 (F) is associated to data field 502.That is, logical blocks 610 (0) can remap to physical blocks 410 (F) by Memory Management Unit 308 in logical blocks-physical blocks mapping table.In addition, in this exemplary embodiment, Memory Management Unit 308 can be set up idle district physical blocks table (not shown) and record the physical blocks being associated to idle district 504 at present.It is worth mentioning that, in idle district 504, the number of physical blocks is limited, base this, during memorizer memory devices 100 operates, the number of the mother and child blocks group of having opened also can be restricted.Therefore, when memorizer memory devices 100 receives the write instruction coming from host computer system 1000, if the number having opened mother and child blocks group reaches in limited time, Memory Controller 104 just can perform this write instruction after need closing at least one group of mother and child blocks group of having opened at present.
It is worth mentioning that, as mentioned above, in the programming of type nonvolatile module 106, data are written in physical page in units of data access unit.If when the size belonging to the more new data of some logical page (LPAGE)s is less than data access unit, other valid data belonging to this logical page (LPAGE) must be read from other physical page and other valid data read and more new data can be write to physical page in the lump.
Fig. 9 is the example schematic that more new data data volume being less than data access unit according to an exemplary embodiment writes to a physical page.
Please refer to Fig. 9, if store the 0th byte of host computer system 1000 for the logical page (LPAGE) LP0 from certain logical blocks size be the more new data UD0 of 2KB to replace legacy data OD0 time, suppose that Memory Management Unit 308 selects the physical page PP0 of a physical blocks to write this more new data.
Because data processing unit 316 identifies that (namely the size of more new data UD0 is less than data access unit, more new data UD0 is only the partial data of logical page (LPAGE) LP0), therefore, storer reading unit 312 can read the valid data VD0 of other skew bytes belonging to logical page (LPAGE) LP0 from the physical page (such as, physical page PP1) of original mappings logical page (LPAGE) LP0.Afterwards, more new data UD0 and valid data VD0 can be organized into an effective page data by data processing unit 316, and this effective page data can write in physical page PP0 by storer writing unit 310.
Except above-mentioned use fructification block writes more except new data, in this exemplary embodiment, in this exemplary embodiment, Memory Management Unit 308 also can extract at least one physical blocks as chaotic (Random) physical blocks from idle district 504, to write more new data.Such as, if when host computer system 1000 has been written into fructification block for the data of logical page (LPAGE) upgraded, this more new data can be written into chaotic physical blocks, to avoid repeatedly performing above-mentioned data consolidation procedure.
Figure 10 is the schematic diagram of the use chaotic physical blocks write data according to an exemplary embodiment.
Please refer to Figure 10, suppose that physical blocks 410 (S-1) is extracted as chaotic physical blocks and under the storing state shown in Fig. 7, host computer system 1000 is for writing more new data to the 1st logical page (LPAGE) of logical blocks 610 (0) time, Memory Management Unit 308 can by this more new data to write in chaotic physical blocks in first empty physical page (such as, the 0th physical page of physical blocks 410 (S-1)).
In this exemplary embodiment, when current used chaotic physical blocks is fully written, Memory Management Unit 308 can extract another physical blocks as new chaotic physical blocks, again until reach preset value as the number of the physical blocks of chaotic physical blocks from idle district 504.Specifically, the physical blocks in idle district 504 is limited, and therefore, the number as the physical blocks of chaotic physical blocks also can be restricted.When the number of the physical blocks as chaotic physical blocks reaches preset value, Memory Management Unit 308 can perform above-mentioned data consolidation procedure, and the chaotic physical blocks being all invalid data to stored data performs erases running and the physical blocks of having erased is associated to idle district 504.Thus, when performing next write instruction, Memory Management Unit 308 just can extract empty physical blocks again as chaotic physical blocks from idle district 504.
It is worth mentioning that, in write data in the running of chaotic physical blocks, data can be written in physical page with different patterns according to its size.
Specifically, when host computer system 1000 for storage data (hereinafter referred to as more new data) to a logical page (LPAGE) and Memory Management Unit 308 determines that more new data writes to chaotic physical blocks by this time, data processing unit 316 can judge whether the size of this more new data is less than a data access unit.If the size of this more new data is non-be less than a data access unit (namely, be a data access unit) time, storer writing unit 310 can by this more new data write in a physical page of chaotic physical blocks, and without the need to carrying out effective page data preparation (arrange).Such as, the write running of Fig. 6-Fig. 7 is exactly that the direct more new data by whole logical page (LPAGE) writes in physical page.
If (namely the size of this more new data is less than a data access unit, be not a data access unit) time, Memory Management Unit 308 can be selected chaotic physical blocks physical page and this physical page is divided into multiple storage section.In addition, data processing unit 316 can judge corresponding this more new data logical offset address (that is, host computer system 100 is for storing the start logical offset address of this more new data) whether in the correspondent entity page a certain storage section initial entity offset address and judge whether the size of this more new data equals the section capacity that this stores section.
If in the logical offset address non-corresponding physical page of this more new data, the size of the initial entity offset address of a certain storage section or this more new data is non-equal this when storing the section capacity of section, storer writing unit 310 can from other physical page (such as, the physical page of female physical blocks) in read the valid data belonging to other logical offset address of this logical page (LPAGE), arrange more new data and the valid data read to produce complete effective page data and this effective page data write to (as shown in Figure 9) in physical page.
If the logical offset address of this more new data is the initial entity offset address of a certain storage section in the correspondent entity page and the size of this more new data equals this when storing the section capacity of section, storer writing unit 310 only can by this more new data write to physical page this store in section, and without carrying out effective page data preparation.
Figure 11 is another example schematic that more new data data volume being less than data access unit according to an exemplary embodiment writes to a physical page.
Please refer to Figure 11, such as, if host computer system 1000 for the logical page (LPAGE) LP1 from certain logical blocks the 0th byte storage data amount be the more new data UD1 of 4KB time, Memory Management Unit 308 selects the physical page PP2 of a physical blocks to write this more new data.
Because data processing unit 316 identifies that the size of more new data UD1 is less than data access unit, therefore, the storage area of physical page PP2 can be divided into initial entity offset address by Memory Management Unit 308 is in order that first of the 0th byte stores section 902 and initial entity offset address is that second of 4KB byte stores section 904.In this exemplary embodiment, the page size of a physical page is 8KB and a section capacity storing section is 4KB, and therefore, a physical page can be divided into the storage section of 2 4KB.But it must be appreciated, the present invention is not limited thereto, the number storing section in each physical page is according to storing the different and different of the section capacity of section and the page size of physical page.Such as, if page size be 16KB and section capacity is 4KB time, Memory Management Unit 308 can be divided into the storage section of 4 4KB or the storage section of 2 8KB by a physical page.Moreover although in this exemplary embodiment, physical page is the multiple storage sections being divided into same sector capacity, the present invention is not limited thereto, each stores section and also has different section capacity.
In addition, because data processing unit 316 identifies that the logical offset address of more new data UD1 is that (namely correspondence first stores the initial entity offset address of section 902,0th byte) and more the size of new data UD1 equal the section capacity of the first storage section 902 (namely, 4KB), therefore, more new data UD1 only can write in the first storage section 902 by storer writing unit 310, and the valid data VD1 belonging to other offset addresss of logical page (LPAGE) LP1 can not be write in physical page PP2.
That is, in the example shown in Figure 11, Memory Controller 104 directly will more write in physical page by new data without the need to carrying out effective page data preparation, thus, can effectively promote speed data being write to chaotic physical blocks.It is worth mentioning that, as mentioned above, in type nonvolatile module 106, data are programmed in units of physical page, therefore, in the example described in Figure 11, after more new data UD1 is transferred in type nonvolatile module 106, still can be written in physical page together with the nonsignificant data in the memory buffer (not shown) being temporary in type nonvolatile module 106.
It is worth mentioning that, Memory Management Unit 308 can be that the first storage section 902 and second stores section 904 and configures the first status indication 902a and the second status indication 904a respectively, and wherein the first status indication 902a and the second status indication 904a can be initially recorded as " disarmed state ".Particularly, when more new data UD1 is written into the first storage section 902, the first status indication 902a can be recorded as " effective status " by storer writing unit 310 in the lump.Thus, when host computer system 1000 is for reading the data of this logical page (LPAGE), Memory Management Unit 308 identifies the valid data be stored in physical page by status indication.
Such as, the status indication storing section can be configured in the redundancy bit district of physical page by Memory Management Unit 308, and use 1 bit to represent the state of a storage section, wherein when storing section and storing effect data, the corresponding status indication that this stores section can be marked as " 1 " and when storing section and not storing valid data, the corresponding status indication that this stores section can be marked as " 0 ".In addition, such as, Memory Management Unit 308 can be used as in the block management table 1102 of the physical blocks of chaotic physical blocks in order to record, record the status indication (as shown in figure 12) that only part address stores each storage section of the physical page (such as, physical blocks PP2) of effect data.
In addition, except above-mentioned microcontroller 302, host interface 304, memory interface 306, Memory Management Unit 308, storer writing unit 310, storer reading unit 312, storer erased cell 314 and data processing unit 316, Memory Controller 104 also can also comprise memory buffer, electric power management circuit and bug check and correcting circuit.
Memory buffer is electrically connected to microcontroller 302 and comes from the data and instruction of host computer system 1000 in order to temporary or come from the data of type nonvolatile module 106.
Electric power management circuit is electrically connected to microcontroller 302 and in order to the power supply of control store storage device 100.
Bug check and correcting circuit are electrically connected to microcontroller 302 and in order to perform an error-correcting routine to guarantee the correctness of data.Specifically, when host interface 304 receives main frame write instruction from host computer system 1000, bug check and correcting circuit can be that the write data that this main frame corresponding writes instruction produce corresponding bug check and correcting code (Error Checking and Correcting Code, be called for short ECC Code), and these write data can write in type nonvolatile module 106 with corresponding error-correcting code by storer writing unit 308.Afterwards, can read error-correcting code corresponding to these data when storer reading unit 312 reads data from type nonvolatile module 106, and bug check and correcting circuit can according to this error-correcting code to read data execution error correction programs simultaneously.
It is worth mentioning that, in this exemplary embodiment, Memory Management Unit 308, storer writing unit 310, storer reading unit 312, storer erased cell 314 are carry out implementation with hardware structure with data processing unit 316, but the present invention is not limited thereto.In another exemplary embodiment of the present invention, Memory Management Unit 308, storer writing unit 310, storer reading unit 312, storer erased cell 314 firmware pattern can also carry out implementation with data processing unit 316.Such as, Memory Management Unit 308, storer writing unit 310, storer reading unit 312, storer erased cell 314 can be burned onto with the steering order of data processing unit 316 and be configured in the ROM (read-only memory) of Memory Controller.When memorizer memory devices 100 operates, this little steering order can be performed by microcontroller.
In addition, in another exemplary embodiment of the present invention, implementation Memory Management Unit 308, storer writing unit 310, storer reading unit 312, storer erased cell 314 can also procedure code pattern be stored in the specific region (such as, being exclusively used in the system region of storage system data in type nonvolatile module) of type nonvolatile module with the steering order of data processing unit 316.Such as, ROM (read-only memory) (not shown) and random access memory (not shown) can be configured in Memory Controller, and this ROM (read-only memory) has a driving code section.When Memory Controller is enabled, microcontroller first can perform this and drive code section the steering order be stored in type nonvolatile module to be loaded into so far in random access memory, reruns this little steering order afterwards.
Figure 13 is the process flow diagram of the method for writing data according to an exemplary embodiment, and data are write to the step of the steering order of the physical page of chaotic physical blocks by its display implementation.
Please refer to Figure 13, when the more new data for belonging to a logical page (LPAGE) (hereinafter referred to as the first logical page (LPAGE)) writes to a physical page (hereinafter referred to as the first instance page) of chaotic physical blocks, first, in step S1301, the first instance page can be divided into multiple storage section in order, and in step S1303, the corresponding status indication that this stores section a bit can be configured and be initialized as " disarmed state ".Physical page being divided into multiple storage section has coordinated Figure 10 to describe in detail as above with the method that configuration status marks, does not repeat them here.
Afterwards, in step S1305, this more the size of new data can be judged whether be less than data access unit.
If when judging that the size of this more new data is non-and be less than data access unit, then in step S1307, this more new data to be written in the first instance page and the storing state that each of the first instance page stores section can be recorded into " effective status ".
If when judging that the size of this more new data is less than data access unit, then in step S1309, the logical offset address (that is, in order to store the start logical offset address of this more new data) of this more new data corresponding can be judged in the whether corresponding first instance page that one of them stores the initial entity offset address of section.
If when in the logical offset address non-corresponding first instance page of this more new data corresponding, any one stores the initial entity offset address of section, then in step S1311, the valid data belonging to other offset addresss of the first logical page (LPAGE) can be read from other physical page of type nonvolatile module 106, the valid data read therewith more new data can be organized to produce the effective page data belonging to the first logical page (LPAGE), this effective page data can be written in the first instance page and the storing state that each of the first instance page stores section can be recorded into " effective status ".
If when in the corresponding first instance page of logical offset address of this more new data corresponding, one of them stores the initial entity offset address of section (hereinafter referred to as target storage section), then in step S1313, more the size of new data can be judged the section capacity whether equaling target storage section.
If more new data differ in size when the section capacity of target storage section, then step S1311 can be performed.
If when more the size of new data equals the section capacity of target storage section, then in step S1315, more new data to be written in target storage section and the status indication of target storage section can be recorded into " effective status ".Particularly, in step S1315, other storage sections of the first instance page can not be written into valid data.
Must understand and be, although in this exemplary embodiment, store section so that method for writing data of the present invention to be described for of more new data being write in the physical page of chaotic physical blocks, but the present invention is not limited thereto, write data all can use method for writing data of the present invention to the operation of any physical page of type nonvolatile module.
In sum, the method for writing data of exemplary embodiment of the present invention, Memory Controller and memorizer memory devices directly will more write in physical page by new data under carrying out effective page data preparation, can promote the speed of data write thus.Particularly, for often to be fixedly less than a physical page (such as, 8 kilobyte) data volume (such as, 4 kilobyte) carry out the operating system of access data, the method for writing data of exemplary embodiment of the present invention, Memory Controller and memorizer memory devices can also promote the usefulness of data access significantly.
Last it is noted that above each embodiment is only in order to illustrate technical scheme of the present invention, be not intended to limit; Although with reference to foregoing embodiments to invention has been detailed description, those of ordinary skill in the art is to be understood that: it still can be modified to the technical scheme described in foregoing embodiments, or carries out equivalent replacement to wherein some or all of technical characteristic; And these amendments or replacement, do not make the essence of appropriate technical solution depart from the scope of various embodiments of the present invention technical scheme.

Claims (21)

1. a method for writing data, it is characterized in that, for will more write in type nonvolatile module by new data, wherein this type nonvolatile module has multiple physical page, those physical page take turns multiple logical block of alternately videoing, this more new data belong to the first logical block among those logical blocks, this more new data be from the logical offset address of this first logical block write, and each those physical page is the data access unit of this type nonvolatile module, this method for writing data comprises:
Be multiple storage sections by the first instance page division among those physical page, wherein each those store sections there is initial entity offset address;
For each stores section configuration status mark, in order to mark the validity of the data stored by each those storage section;
By this more new data write to this first instance page those store at least one storage section in sections; And
Status indication corresponding to this at least one storage section of this more new data of write is recorded as effective status.
2. method for writing data according to claim 1, is characterized in that, also comprises:
The size of this more new data is non-be less than this data access unit time, by this more new data write to this first instance page those to store in sections and this status indication that those store sections by each is recorded as this effective status.
3. method for writing data according to claim 1, is characterized in that, also comprises:
When this logical offset address those any one storage among section not corresponding store this initial entity offset address of section, the valid data belonging to this first logical block are read from other physical page this type nonvolatile module, according to this this logical offset address more corresponding to new data and other logical offset address corresponding to this valid data arrange this more new data and this valid data to produce effective page data, those this effective page data being write to this first instance page to store in sections and this status indication that those store sections by each is recorded as this effective status.
4. method for writing data according to claim 1, is characterized in that, also comprises:
When this renewal size of data is less than the section capacity of this at least one storage section, the valid data belonging to this first logical block are read from other physical page at least one this type nonvolatile module, according to this this logical offset address more corresponding to new data and other logical offset address at least one corresponding to this valid data arrange this more new data and this valid data to produce the effective storage area segment data equaling this section amount of capacity, this effective storage area segment data to be write in this at least one storage section of this first instance page and the status indication corresponding to this at least one storage section is recorded as this effective status.
5. method for writing data according to claim 4, is characterized in that, also comprises:
When this logical offset address those any one storage among section not corresponding store this initial entity offset address of section, the valid data belonging to this first logical block are read from other physical page at least one of this this type nonvolatile module, according to this this logical offset address more corresponding to new data and these other logical offset address at least one corresponding to this valid data arrange this more new data and this valid data to produce this effective storage area segment data equaling this section amount of capacity, this effective storage area segment data to be write in this at least one storage section of this first instance page and the status indication corresponding to this at least one storage section is recorded as this effective status.
6. method for writing data according to claim 4, is characterized in that, also comprises:
The valid data belonging to this first logical block are read from other physical page this type nonvolatile module, more new data and this valid data are to produce effective page data to arrange this according to this this logical offset address more corresponding to new data and these other logical offset address at least one corresponding to this valid data, and those this effective page data being write to this first instance page to store in sections and this status indication that those store sections by each is recorded as this effective status.
7. method for writing data according to claim 1, is characterized in that, also comprises:
When this logical offset address those one of them storage among sections corresponding of this more new data store this initial entity offset addresss of sections and the size of this more new data equals the section capacity of this at least one storage section, by this more new data to write in this at least one storage section and by being recorded as this effective status by one of them this status indication storing section.
8. method for writing data according to claim 7, is characterized in that, also comprises:
The valid data belonging to this first logical block are read from other physical page at least one this type nonvolatile module, more new data and this valid data are to produce effective page data to arrange this according to this this logical offset address more corresponding to new data and other logical offset address at least one corresponding to this valid data, and those this effective page data being write to this first instance page to store in sections and this status indication that those store sections by each is recorded as this effective status.
9. method for writing data according to claim 7, is characterized in that, also comprises:
By this, more new data and nonsignificant data are organized into page data and write in this first instance page.
10. method for writing data according to claim 1, is characterized in that, also comprises:
When the size of this more new data is less than this data access unit, by this, more new data and nonsignificant data write in this first instance page.
11. method for writing data according to claim 1, is characterized in that, this type nonvolatile module has memory buffer, and this method for writing data also comprises:
When the size of this more new data is less than this data access unit, by this more new data transfer in this type nonvolatile module and write to together with the nonsignificant data in this memory buffer in this first instance page.
12. method for writing data according to claim 1, is characterized in that, also comprise:
When the size of this more new data is less than this data access unit, under this renewal data preparation not being become effective page data, directly instruction by this more new data write in this first instance page.
13. method for writing data according to claim 1, is characterized in that, also comprise:
The status indication that those store section is recorded in block management table.
14. method for writing data according to claim 1, is characterized in that, also comprise:
The status indication that those store section is recorded in the redundant digit district of those physical page.
15. 1 kinds of internal storing memories, is characterized in that, comprising:
Connector, in order to be coupled to host computer system;
Type nonvolatile module, has multiple physical page; And
Memory Controller Hub, is coupled to this type nonvolatile module and this connector,
Wherein this Memory Controller Hub is in order to configure multiple logical block and to assign those physical page to take turns those logical blocks of alternately videoing,
Wherein this connector is in order to receive more new data from this host computer system, wherein this more new data belong to the first logical block among those logical blocks and this more new data be write from the logical offset address of this first logical block,
Wherein the first instance page division among those physical page is multiple storage section and is each those storage section configuration status mark by this Memory Controller Hub, in order to mark the validity of the data stored by each those storage section, wherein each those storage section has initial entity offset address
Wherein this Memory Controller Hub by this more new data and nonsignificant data write in this first instance page,
Wherein this Memory Controller Hub is recorded as effective status by this status indication of the storage section that should upgrade data, and by this status indication of storage section of nonsignificant data being recorded as disarmed state.
16. internal storing memories according to claim 15, it is characterized in that, when this renewal size of data is less than the section capacity of this at least one storage section, this Memory Controller Hub reads the valid data belonging to this first logical block from other physical page at least one this type nonvolatile module, according to this this logical offset address more corresponding to new data and other logical offset address at least one corresponding to this valid data arrange this more new data and this valid data to produce the effective storage area segment data equaling this section amount of capacity, this effective storage area segment data and this nonsignificant data are write in this first instance page, and by this status indication of the effective storage section of storage area segment data being recorded as this effective status.
17. internal storing memories according to claim 16, it is characterized in that, when this logical offset address those any one storage among section not corresponding store this initial entity offset address of section, this Memory Controller Hub reads the valid data belonging to this first logical block from other physical page this type nonvolatile module, according to this this logical offset address more corresponding to new data and these other logical offset address at least one corresponding to this valid data arrange this more new data and this valid data to produce this effective storage area segment data equaling this section amount of capacity, this effective storage area segment data and this nonsignificant data are write in this first instance page.
18. internal storing memories according to claim 15, it is characterized in that, when this logical offset address those one of them storage among sections corresponding of this more new data store this initial entity offset addresss of sections and the size of this more new data equals the section capacity of at least one storage section, by this, more new data and this nonsignificant data write in this first instance page this Memory Controller Hub.
19. internal storing memories according to claim 15, it is characterized in that, this type nonvolatile module has memory buffer, this Memory Controller Hub by this more new data transfer in this type nonvolatile module and write to together with this nonsignificant data in this memory buffer in this first instance page.
20. internal storing memories according to claim 15, is characterized in that, those status indications storing section are recorded in block management table by this Memory Controller Hub.
21. internal storing memories according to claim 15, is characterized in that, those status indications storing section are recorded in the redundant digit district of those physical page by this Memory Controller Hub.
CN201510027108.4A 2011-08-02 2011-08-02 Method for writing data, Memory Controller and memorizer memory devices Active CN104536906B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510027108.4A CN104536906B (en) 2011-08-02 2011-08-02 Method for writing data, Memory Controller and memorizer memory devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110219424.3A CN102915273B (en) 2011-08-02 2011-08-02 Data writing method, memory controller and memory storage device
CN201510027108.4A CN104536906B (en) 2011-08-02 2011-08-02 Method for writing data, Memory Controller and memorizer memory devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201110219424.3A Division CN102915273B (en) 2011-08-02 2011-08-02 Data writing method, memory controller and memory storage device

Publications (2)

Publication Number Publication Date
CN104536906A true CN104536906A (en) 2015-04-22
CN104536906B CN104536906B (en) 2017-10-10

Family

ID=52852436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510027108.4A Active CN104536906B (en) 2011-08-02 2011-08-02 Method for writing data, Memory Controller and memorizer memory devices

Country Status (1)

Country Link
CN (1) CN104536906B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354662A (en) * 2015-07-17 2017-01-25 陕西千山航空电子有限责任公司 NAND FLASH data storage method
CN107678980A (en) * 2017-10-19 2018-02-09 歌尔科技有限公司 Date storage method, device and wearable device
CN108197040A (en) * 2018-01-12 2018-06-22 江苏华存电子科技有限公司 A kind of provider location reflects the high-effect method of logical image position
CN109074311A (en) * 2016-05-09 2018-12-21 微软技术许可有限责任公司 Selective data in computing system retains
CN110716880A (en) * 2018-07-11 2020-01-21 爱思开海力士有限公司 Memory system and operating method thereof
CN112053652A (en) * 2019-06-05 2020-12-08 联咏科技股份有限公司 Time schedule controller device and data read-write method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172065A1 (en) * 2004-01-30 2005-08-04 Micron Technology, Inc. Data move method and apparatus
CN1795437A (en) * 2002-10-28 2006-06-28 桑迪士克股份有限公司 Method and apparatus for grouping pages within a block
CN102012867A (en) * 2009-09-03 2011-04-13 248固态硬碟有限公司 Data storage system and managing method thereof
TW201122810A (en) * 2009-12-30 2011-07-01 Phison Electronics Corp Block management and data writing method, flash memory storage system and controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1795437A (en) * 2002-10-28 2006-06-28 桑迪士克股份有限公司 Method and apparatus for grouping pages within a block
US20050172065A1 (en) * 2004-01-30 2005-08-04 Micron Technology, Inc. Data move method and apparatus
CN102012867A (en) * 2009-09-03 2011-04-13 248固态硬碟有限公司 Data storage system and managing method thereof
TW201122810A (en) * 2009-12-30 2011-07-01 Phison Electronics Corp Block management and data writing method, flash memory storage system and controller

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354662A (en) * 2015-07-17 2017-01-25 陕西千山航空电子有限责任公司 NAND FLASH data storage method
CN106354662B (en) * 2015-07-17 2019-03-01 陕西千山航空电子有限责任公司 A kind of NAND flash data storage method
CN109074311A (en) * 2016-05-09 2018-12-21 微软技术许可有限责任公司 Selective data in computing system retains
CN107678980A (en) * 2017-10-19 2018-02-09 歌尔科技有限公司 Date storage method, device and wearable device
CN108197040A (en) * 2018-01-12 2018-06-22 江苏华存电子科技有限公司 A kind of provider location reflects the high-effect method of logical image position
CN110716880A (en) * 2018-07-11 2020-01-21 爱思开海力士有限公司 Memory system and operating method thereof
CN110716880B (en) * 2018-07-11 2023-04-07 爱思开海力士有限公司 Memory system and operating method thereof
CN112053652A (en) * 2019-06-05 2020-12-08 联咏科技股份有限公司 Time schedule controller device and data read-write method

Also Published As

Publication number Publication date
CN104536906B (en) 2017-10-10

Similar Documents

Publication Publication Date Title
TWI436212B (en) Data writing method, memory controller and memory storage apparatus
CN103377129B (en) Method for writing data, Memory Controller and memorizer memory devices
TWI479314B (en) Method of storing system data, and memory controller and memory storage apparatus using the same
CN104679437A (en) Data writing method, memory control circuit unit and memory storage device
CN103514096B (en) Data storage method, Memory Controller and memorizer memory devices
CN104765568A (en) Data storing method, storage control circuit unit and a storage storing device
CN104699413A (en) Data management method, memorizer saving device and memorizer control circuit unit
CN102915273B (en) Data writing method, memory controller and memory storage device
CN104765569A (en) Data write-in method, memory control circuit unit and memory storing device
CN104536906A (en) Data writing method, storage controller and storage storing device
US9032135B2 (en) Data protecting method, memory controller and memory storage device using the same
CN102902626B (en) Block management method, Memory Controller and memorizer memory devices
CN104636267A (en) Storage control method, storage storing device and storage control circuit unit
CN102592670B (en) Method for writing data, Memory Controller and memorizer memory devices
CN103593296A (en) Data storing method, storage controller and storage storing device
CN103678162B (en) System data storage method, memory controller and memory storage device
CN103136111A (en) Data writing method, memorizer controller and memorizer storage device
CN102446137B (en) Method for writing data, Memory Controller and memorizer memory devices
CN104978149A (en) Data write-in method, memory control circuit unit and memory storage device
CN102866861B (en) Flash memory system, flash controller and method for writing data
CN102567221B (en) Data management method, memory controller and memory storage device
CN102999437B (en) Data-moving method, Memory Controller and memorizer memory devices
CN104252317A (en) Data writing method, memory controller and memory storage device
CN103714008A (en) Method for memorizing data, memory controller and memorizing device of memory
CN103577344A (en) Data writing method, memory controller and memory storage device

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant