CN103186470B - Memorizer memory devices and Memory Controller thereof and method for writing data - Google Patents

Memorizer memory devices and Memory Controller thereof and method for writing data Download PDF

Info

Publication number
CN103186470B
CN103186470B CN201110455539.2A CN201110455539A CN103186470B CN 103186470 B CN103186470 B CN 103186470B CN 201110455539 A CN201110455539 A CN 201110455539A CN 103186470 B CN103186470 B CN 103186470B
Authority
CN
China
Prior art keywords
temporary storage
write
write data
data
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110455539.2A
Other languages
Chinese (zh)
Other versions
CN103186470A (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 CN201110455539.2A priority Critical patent/CN103186470B/en
Publication of CN103186470A publication Critical patent/CN103186470A/en
Application granted granted Critical
Publication of CN103186470B publication Critical patent/CN103186470B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a kind of memorizer memory devices and Memory Controller thereof and method for writing data, wherein memorizer memory devices, comprises connector, type nonvolatile module, the second temporary storage and has the Memory Controller of the first temporary storage.Memory Controller in order to receive write instruction and write data, and will write data temporary storage to the first temporary storage.Memory Controller also by write data Replica to the second temporary storage and according to write instruction write data are write in type nonvolatile module.In addition, Memory Controller also in order to judge when performing this write instruction whether generating program mistake, if generating program mistake, then reading write data, re-executing this write instruction from the second temporary storage.By this, the writing speed of memorizer memory devices can be promoted effectively.

Description

Memorizer memory devices and Memory Controller thereof and method for writing data
Technical field
The present invention relates to a kind of memorizer memory devices, particularly relate to a kind of memorizer memory devices, Memory Controller and the method for writing data that effectively can promote writing speed.
Background technology
Digital camera, mobile phone and MP3 are very rapid in growth over the years, and the demand of consumer to Storage Media is also increased rapidly.Due to type nonvolatile (rewritablenon-volatilememory) there is data non-volatile, power saving, the characteristic such as volume is little, mechanical structure, read or write speed are fast, be most suitable for portable electronic product, such as notebook computer.Solid state hard disc is exactly a kind of memorizer memory devices using flash memory as Storage Media.Therefore, flash memory industry becomes a ring quite popular in electronic industry in recent years.
If memorizer memory devices is using duplicative volatile storage as Storage Media, when there being data to write to duplicative volatile storage, duplicative volatile storage may generating program mistake, and data are not successfully written into.Therefore, usually at least one temporary storage can be configured in a memorizer memory devices.This temporary storage can be used for keeping in the data for write memorizer memory devices.That is, each all needs first to keep in so far temporary storage for the data writing to memorizer memory devices, and the data for write is write in duplicative volatile storage from from temporary storage more afterwards.Due to for write data, all need carry out keeping in temporary storage and read two actions.Therefore, when the transmitting bandwidth of temporary storage is large not, will be relatively less relative to the frequency range distributing to write operation.
In addition, when data are kept in temporary storage, the control circuit of memorizer memory devices will transmit the message having completed instruction, to receive next instruction and data to main frame.When data being write to duplicative volatile storage, may generating program mistake (programfail), data are not successfully written into.Therefore, the control circuit of memorizer memory devices can need the data write for success to be write again (also known as rewriteeing) from temporary storage in duplicative volatile storage.Therefore, the temporary storage configured in memorizer memory devices sufficiently carrys out temporal data greatly, to avoid rewriteeing.
Based on above-mentioned, in order to promote writing speed, the temporary storage using frequency range larger is needs.But, in order to consider the demand of above-mentioned rewriting, jumbo temporary storage must be used.For the temporary storage that frequency range is larger, the cost of every storage cell is higher.Therefore, how under reduction manufacturing cost, can there is again the temporary storage of suitable capacity and there is suitable memory band width, for this reason the subject under discussion be concerned about of those skilled in the art.
Summary of the invention
The embodiment of the present invention provides a kind of memorizer memory devices and Memory Controller thereof and method for writing data, and it can promote the writing speed of memorizer memory devices effectively.
One embodiment of the invention provides a kind of memorizer memory devices, comprises connector, type nonvolatile module, Memory Controller and the second temporary storage.Connector is electrically connected to host computer system.Memory Controller is electrically connected to connector and type nonvolatile module, and have the first temporary storage, and wherein the first temporary storage has a write data temporary storage district.Second temporary storage is electric connection first temporary storage, and wherein the transmitting bandwidth of the second temporary storage is lower than the transmitting bandwidth of the first temporary storage.Memory Controller in order to receive the write data of corresponding write instruction from host computer system, and will write data temporary storage to write data temporary storage district.Write data also in order to will write data Replica in the second temporary storage from write data temporary storage district, and write in type nonvolatile module from write data temporary storage district according to write instruction by Memory Controller.In addition, Memory Controller judges whether generating program mistake after writing in type nonvolatile module by write data.If during generating program mistake, then Memory Controller also in order to read write data from the second temporary storage, and write data write in type nonvolatile module according to write instruction.
In one embodiment of this invention, above-mentioned Memory Controller also in order to receive reading command from host computer system, and judges whether the second temporary storage stores the reading data of corresponding reading command.If when the second temporary storage stores the reading data of corresponding reading command, then Memory Controller reads these reading data and this is read data and is sent to host computer system to respond above-mentioned reading command from the second temporary storage.
In one embodiment of this invention, above-mentioned second temporary storage is the outside being configured in Memory Controller or being configured in Memory Controller.
In one embodiment of this invention, above-mentioned first temporary storage is static RAM (staticrandomaccessmemory, SRAM).
In one embodiment of this invention, above-mentioned second temporary storage is Synchronous Dynamic Random Access Memory (synchronousdynamicrandomaccessmemory, SDRAM).
In one embodiment of this invention, the capacity of above-mentioned second temporary storage is greater than the capacity of the first temporary storage.
In one embodiment of this invention, the capacity of above-mentioned second temporary storage is 8 times of the capacity of the first temporary storage.
In one embodiment of this invention, the transmitting bandwidth of above-mentioned second temporary storage is applied to single operation program, and the transmitting bandwidth of above-mentioned first temporary storage can be shared in multiple running program simultaneously.
With another one angle, one embodiment of the invention provides a kind of method for writing data, for a memorizer memory devices.This memorizer memory devices has the second temporary storage, Memory Controller and type nonvolatile module, and wherein the first temporary storage to be configured in Memory Controller and the transmitting bandwidth of the first temporary storage is greater than the transmitting bandwidth of the second temporary storage.Notebook data wiring method comprise from host computer system receive write instruction write the write data of instruction with corresponding and will write the write data temporary storage district of data temporary storage to the first temporary storage.Notebook data wiring method also comprises will write data Replica in the second temporary storage from write data temporary storage district, and write data be write in type nonvolatile module from write data temporary storage district according to write instruction.This wiring method also comprises: after writing in type nonvolatile module by write data, judge whether generating program mistake; And, if during generating program mistake, then from the second temporary storage, read write data, and according to write instruction, write data are write in type nonvolatile module.
In one embodiment of this invention, above-mentioned method for writing data also comprises: receive reading command from host computer system; Judge whether the second temporary storage stores the reading data to reading command; And if the second temporary storage stores the reading data of corresponding reading command, then from the second temporary storage, read corresponding reading data and these reading data are sent to host computer system to respond reading command.
With another one angle, one embodiment of the invention provides a kind of Memory Controller, for controlling type nonvolatile module.Memory Controller comprises host interface, memory interface, memory management circuitry and the first temporary storage.Host interface is electrically connected to host computer system.Memory interface is electrically connected to type nonvolatile module.Memory management circuitry is electrically connected to host interface and memory interface.First temporary storage is electrically connected to memory management circuitry, and have a write data temporary storage district.Wherein, memory management circuitry in order to receive the write data of corresponding write instruction from host computer system, and will write data temporary storage to write data temporary storage district.Memory management circuitry also in order to write to write data in type nonvolatile module according to write instruction from write data temporary storage district.Memory management circuitry also in order to will write data Replica in the second temporary storage from write data temporary storage district, and wherein the transmitting bandwidth of the first temporary storage is higher than the transmitting bandwidth of the second temporary storage.Memory management circuitry is also in order to write to after in type nonvolatile module judging whether generating program mistake by write data.If during generating program mistake, then memory management circuitry also in order to read write data from the second temporary storage, and write data write in type nonvolatile module according to write instruction.
In one embodiment of this invention, above-mentioned memory management circuitry also in order to receive reading command from host computer system, and judges whether the second temporary storage stores the reading data of corresponding reading command.If the second temporary storage stores the reading data of corresponding reading command, then memory management circuitry reads data and reading data is sent to host computer system to respond reading command from the second temporary storage.
Based on above-mentioned, the memorizer memory devices that the present invention proposes, wiring method and Memory Controller, can using the first temporary storage in Memory Controller as buffer zone, and the transmitting bandwidth of the second temporary storage is all as transmitting bandwidth during write data.Therefore, effectively can use the transmitting bandwidth of the second temporary storage, and then promote the writing speed of memorizer memory devices.
For above-mentioned feature and advantage of the present invention can be become apparent, special embodiment below, and coordinate institute's accompanying drawing to be described in detail below.
Accompanying drawing explanation
Figure 1A is the host computer system and memorizer memory devices that illustrate according to an exemplary embodiment.
Figure 1B is the schematic diagram of computer, input/output device and the memorizer memory devices illustrated according to an exemplary embodiment.
Fig. 1 C is the schematic diagram of host computer system and the memorizer memory devices illustrated according to an exemplary embodiment.
Fig. 2 is the schematic block diagram illustrating the memorizer memory devices shown in Figure 1A.
Fig. 3 is the schematic block diagram of the Memory Controller illustrated according to an exemplary embodiment.
Fig. 4 is the calcspar of the memorizer memory devices illustrated according to an exemplary embodiment.
Fig. 5 is the process flow diagram of the method for writing data that an embodiment illustrates.
Main element symbol description
1000: host computer system
1100: computer
1102: microprocessor
1104: temporary storage
1106: input/output device
1108: system bus
1110: data transmission interface
1202: slide-mouse
1204: keyboard
1206: display
1208: printer
1212: Portable disk
1214: storage 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
108: the second temporary storages
202: memory management circuitry
204: host interface
206: memory interface
208: the first temporary storages
300: write data temporary storage district
302: write data
S502, S504, S506, S508, S510: the step of method for writing data
Embodiment
Generally speaking, memorizer memory devices (also known as, memory storage system) comprises type nonvolatile module and controller (also known as, control circuit).Usual memorizer memory devices uses together with host computer system, data can be write to memorizer memory devices or read data from memorizer memory devices to make host computer system.
Figure 1A is the host computer system and memorizer memory devices that illustrate according to an exemplary embodiment.
Please refer to Figure 1A, host computer system 1000 generally comprises computer 1100 and I/O (input/output, I/O) device 1106.Computer 1100 comprises micro-reason device 1102, temporary storage (such as random access memory, randomaccessmemory, RA) 1104, system bus 1108 and data transmission interface 1110.Input/output device 1106 comprises as the slide-mouse 1202 of Figure 1B, keyboard 1204, display 1206 and printer 1208.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 exemplary embodiment 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, temporary storage 1104 with the operation 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, storage card 1214 or solid state hard disc (SolidStateDrive, SSD) 1216 etc. as shown in Figure 1B.
Generally speaking, host computer system 1000 is to coordinate any system with storage data substantially 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 (memorystick) 1316, CF card 1318 or embedded storage device 1320 (as shown in Figure 1 C).Embedded storage device 1320 comprises embedded multi-media card (EmbeddedMMC, eMMC).It is worth mentioning that, embedded multi-media card is directly electrically connected on the substrate of host computer system.
Fig. 2 is the schematic block diagram illustrating the memorizer memory devices shown in Figure 1A.
Please refer to Fig. 2, memorizer memory devices 100 comprises connector 102, Memory Controller 104, type nonvolatile module 106 and the second temporary storage 108.
In this exemplary embodiment, connector 102 is compatible to advanced annex (SerialAdvancedTechnologyAttachment, the SATA) standard of sequence.But, it must be appreciated, the present invention is not limited thereto, connector 102 can also be meet advanced annex (ParellelAdvancedTechnologyAttachment arranged side by side, PATA) standard, Institute of Electrical and Electric Engineers (InstituteofElectricalandElectronicEngineers, IEEE) 1394 standards, high-speed peripheral component connecting interface (PeripheralComponentInterconnectExpress, PCIExpress) standard, universal serial bus (UniversalSerialBus, USB) standard, secure digital (SecureDigital, SD) interface standard, memory stick (MemoryStick, MS) interface standard, Multi Media Card (MultiMediaCard, MMC) interface standard, compact flash (CompactFlash, CF) interface standard, integrated driving electrical interface (IntegratedDeviceElectronics, IDE) standard or other standards be applicable to.
Memory Controller 104 in order to perform with multiple logic lock 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, read and the operation such as to erase.
Type nonvolatile module 106 is electrically connected to Memory Controller 104, and in order to store the data that host computer system 1000 writes.Type nonvolatile module 106 comprises multiple physical blocks (not painting formula).In this exemplary embodiment, type nonvolatile module 106 is multilayer memory cell (MultiLevelCell, MLC) NAND quick-flash memory module.But, the present invention is not limited thereto, type nonvolatile module 106 also individual layer memory cell (SingleLevelCell, SLC) NAND quick-flash memory module, other flash memory modules or other there is the memory module of identical characteristics.
Second temporary storage 108 be configured in Memory Controller outside and be electrically connected to Memory Controller 104.Second temporary storage 108 is in order to the instruction performed by temporary storage controller 104 or data.Such as, the second temporary storage is the write data being received from host computer system 1000 in order to backup.In this exemplary embodiment, the second temporary storage 108 is synchronous dynamic temporary storage (synchronousdynamicrandomaccessmemory, SDRAM) and the transmitting bandwidth of the second temporary storage 108 is 400M bit/second.But, the present invention is not limited thereto, second temporary storage 108 also can be dynamic RAM (dynamicrandomaccessmemory, DRAM), static RAM (staticrandomaccessmemory, SRAM), magnetoresistive random access memory (MagnetoresistiveRandomAccessMemory, MRAM), cache random access memory (CacheRAM), Synchronous Dynamic Random Access Memory (synchronousdynamicrandomaccessmemory, SDRAM), video RAM (VideoRAM, VRAM), anti-or lock flash memory (NORFlash), embedded type dynamic random access memory (embeddedDRAM, or other storer eDRAM).
Fig. 3 is the schematic block diagram of the Memory Controller illustrated according to an exemplary embodiment.
Please refer to Fig. 3, Memory Controller 104 comprises memory management circuitry 202, host interface 204, memory interface 206 and the first temporary storage 208.
Memory management circuitry 202 is in order to the integrated operation of control store controller 104.Specifically, memory management circuitry 202 has multiple steering order, and when memorizer memory devices 100 operates, this little steering order can be performed to carry out data write, read and the operation such as to erase.
In this exemplary embodiment, the steering order of memory management circuitry 202 carrys out implementation with firmware pattern.Such as, memory management circuitry 202 has microprocessor unit (not illustrating) and ROM (read-only memory) (not illustrating), and this little steering order is burned onto in this ROM (read-only memory).When memorizer memory devices 100 operates, this little steering order can by microprocessor unit perform to carry out data write, read and the operation such as to erase.
In another exemplary embodiment of the present invention, the steering order of memory management circuitry 202 can also source code pattern be stored in the specific region (such as, being exclusively used in the system region of storage system data in memory module) of type nonvolatile module 106.In addition, memory management circuitry 202 has microprocessor unit (not illustrating), ROM (read-only memory) (not illustrating) and temporary storage (not illustrating).Particularly, this ROM (read-only memory) has driving code, and when Memory Controller 104 is enabled, microprocessor unit first can perform this and drive code section the steering order be stored in type nonvolatile module 106 to be loaded in the temporary storage of memory management circuitry 202.Afterwards, microprocessor unit can operate this little steering order with carry out data write, read and the operation such as to erase.
In addition, in another exemplary embodiment of the present invention, the steering order of memory management circuitry 202 a hardware pattern can also carry out implementation.Such as, memory management circuitry 202 comprises microcontroller, Memory Management Unit, storer writing unit, storer reading unit, storer erased cell and data processing unit.Memory Management Unit, storer writing unit, storer reading unit, storer erased cell and data processing unit are electrically connected to microcontroller.Wherein, Memory Management Unit is in order to manage the physical blocks of type nonvolatile module 106; Storer writing unit is in order to assign write instruction data to be write in type nonvolatile module 106 to type nonvolatile module 106; Storer reading unit is in order to assign reading command to read data from type nonvolatile module 106 to type nonvolatile module 106; Storer erased cell 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 is in order to the data processed for writing to type nonvolatile module 106 and the data read from type nonvolatile module 106.
Host interface 204 is electrically connected to memory management circuitry 202 and in order to receive and to identify the instruction that transmits of host computer system 1000 and data.That is, the instruction that transmits of host computer system 1000 and data can be sent to memory management circuitry 202 by host interface 204.In this exemplary embodiment, host interface 204 is compatible to SATA standard.But, it must be appreciated and the present invention is not limited thereto, host interface 204 can also be compatible to PATA standard, IEEE1394 standard, PCIExpress standard, USB standard, SD standard, MS standard, MMC standard, CF standard, IDE standard or other data transmission standards be applicable to.
Memory interface 206 is electrically connected to memory management circuitry 202 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 206.
First temporary storage 208 is electrically connected to memory management circuitry 202, in order to the instruction performed by temporary storage management circuit 202 or data.Specifically, the first temporary storage 208 comprises write data temporary storage district 300, its data write in order to temporary host computer system 1000.But, it must be appreciated, except write data temporary storage district 300, first temporary storage 208 can comprise other regions (not illustrating), in order to other data temporary.Such as, the mapping table (mappingtable) of virtual address and physical address in type nonvolatile module 106 can be stored in other regions of the first temporary storage 208 by memory management circuitry 202.In this exemplary embodiment, the transmitting bandwidth of the first temporary storage 208 is greater than the transmitting bandwidth of the second temporary storage 108.Such as, the first temporary storage 208 is static RAM (staticrandomaccessmemory, SRAM).But the first temporary storage 208 also can be MRAM, CacheRAM, SDRAM, VRAM, NORFlash or eDRAM.And the transmitting bandwidth of the first temporary storage 208 is 800M bit/second.
In this exemplary embodiment, in order to increase the writing speed of memorizer memory devices 100, using the region of the first larger for transmitting bandwidth temporary storage 208 as temporary write data, and using the region of the second less for transmitting bandwidth temporary storage 108 as backup write data.
Fig. 4 is the schematic diagram of the write data illustrated according to an exemplary embodiment.
Please refer to Fig. 4, when memorizer memory devices 100 receives the write data 302 of write instruction and this write instruction corresponding from host computer system 1000, write data 302 can be kept in write data temporary storage district 300 by memory management circuitry 202.Because the transmitting bandwidth of the first temporary storage 208 is comparatively large, the write demand of host computer system 1000 therefore can be met.That is, the speed that write data 302 are temporarily stored in write data temporary storage district 300 by memory management circuitry 202 can be not less than the speed that host computer system 1000 transmits write data 302 to memory management circuitry 202, can immediately receive data from host computer system 1000 and keep in the first temporary storage 208 thus.
Wherein in this exemplary embodiment, the transmitting bandwidth of the first temporary storage 208 can be shared by least two kinds of running programs simultaneously, and this running program is such as write or fetch program.Such as, while data are written into the first temporary storage 208, other data can be read out and be transferred to type nonvolatile module 106 from the first temporary storage 208.Such as, while data are written into the first temporary storage 208, other data also can be read out and be transferred into the second temporary storage 108 from the first temporary storage 208.
Then, memory management circuitry 202 reads write data 302 from write data temporary storage district 300, and write data 302 is write in type nonvolatile module 106 according to above-mentioned write instruction.
On the other hand, memory management circuitry 202 also can read write data 302 from write data temporary storage district 300, and write data 302 is copied in the second temporary storage 108.It should be noted that in this exemplary embodiment, now the transmitting bandwidth of the second temporary storage 108 all can be used to transmission write data 302.That is, for portion write data 302, memory management circuitry 202 can only need to do to the second temporary storage 108 action write, and does not do the action of reading.On the other hand, write data 302 also while write data 302 are write to type nonvolatile module 106, can copy in the second temporary storage 108 by memory management circuitry 202.
Base this, write data 302 are just backed up in the second temporary storage 108, and Memory Controller 104 just can write instruction and by new write data temporary storage to the first temporary storage 208 from host computer system 1000 is next again.Particularly, write data 302 have been backed up in the second temporary storage 108, therefore, in the first temporary storage 208, both make original address storing write data 302 be used to temporary new write data, also can not affect the operation of memorizer memory devices 100.
Specifically, memory management circuitry 202 after writing in type nonvolatile module 106 by write data 302, can judge whether generating program mistake.If during generating program mistake, memory management circuitry 202 can read write data 302 from the second temporary storage 108, and re-writes write data 302 in type nonvolatile module 106 according to write instruction.That is, when write data 302 being write to type nonvolatile module 106 when generating program mistake unsuccessfully, both made to write in the first temporary storage 208 that data 302 are coating is write as new write data, write data 302 still can re-write in type nonvolatile module 106 by memory management circuitry 202 from the second temporary storage 108.Base this, memorizer memory devices 100 at the first temporary storage 208 utilizing frequency range larger to while promoting writing speed, can guarantee that write data 302 can successfully write to type nonvolatile module 106.In this exemplary embodiment, when memory management circuitry 202 reads write data 302 from the second temporary storage 108, the transmitting bandwidth of the second temporary storage 108 all can be used to transmission write data 302.That is, in this exemplary embodiment, the transmitting bandwidth of the second temporary storage 108 all can be used for execution single operation program, and this single operation program is such as write or fetch program.Such as, the transmitting bandwidth of the second temporary storage 108 is all used to data be write to the second temporary storage 108.Or the transmitting bandwidth of the second temporary storage 108 is all used to data to read out from the second temporary storage 108.
In addition, in this exemplary embodiment, memory management circuitry 202 is also in order to receive reading command from this host computer system 1000.Particularly, after receiving this reading command, memory management circuitry 202 can judge whether the second temporary storage 108 stores the reading data of this reading command corresponding.If the second temporary storage 108 stores the reading data of this reading command corresponding, then memory management circuitry 202 is understood the reading data from the second temporary storage 108 corresponding to reading and these reading data is sent to this host computer system 1000 to respond the reading command received by memory management circuitry 202.For example, host computer system 1000 first write data 302 is write to memorizer memory devices 100, after a time, then reads write data 302 from memorizer memory devices 100.Because memory management circuitry is when writing to type nonvolatile module 106 by write data 302, can back up in write data 302 to the second temporary storage 108, therefore, when host computer system 1000 will read write data 302 from memorizer memory devices 100, also may there is the second temporary storage 108 with type nonvolatile module 106 in write data 302.Therefore, if when the data of corresponding reading command are also stored in the second temporary storage 108, directly from the second temporary storage 108, send the data of correspondence to host computer system 1000, effectively can promote the speed of reading.
In this exemplary embodiment, the capacity of the first temporary storage 208 is less than the capacity of the second temporary storage 108.Such as, the capacity of the second temporary storage 108 is 8 times of the capacity of the first temporary storage 208, and under this multiplying power (that is, 8 times), the second temporary storage 108 and the first temporary storage 208 can have good service efficiency.Specifically, be less than in the example of 8 times of the capacity of the first temporary storage 208 at the capacity of the second temporary storage 108, when write, data temporary storage district 300 is filled with write data, and memory management circuitry 202 will by write data temporary storage district 300 in write data backup to the second temporary storage 108 time, the second temporary storage 108 may not have enough spaces to back up these write data.On the other hand, if when the capacity of the second temporary storage 108 is greater than 8 times of the capacity of the first temporary storage 208, although do not have the problem that above-mentioned second temporary storage 108 space is inadequate, but the second temporary storage 108 may have too many storage space of leaving unused or the data backed up are too old, host computer system 1000 also seldom reads so old data, so that the service efficiency of the second temporary storage 108 reduces.Therefore, when the capacity of the second temporary storage 108 is 8 times of the capacity of the first temporary storage 208, preferably storer service efficiency can be had, but what deserves to be explained is, this proportionate relationship is an empirical value, and it also according to actual demand, and can change into 4 times, 10 times or other ratios.
Fig. 5 is the process flow diagram of the method for writing data illustrated according to an exemplary embodiment.
Please refer to Fig. 5, in step S502, the memory management circuitry 202 of Memory Controller 104 can receive write instruction from host computer system and write the write data of instruction with corresponding this.Then, in step S504, memory management circuitry 202 can by the write data temporary storage district of write data temporary storage to the first temporary storage.
Afterwards, in step S506, write data can write in type nonvolatile module from write data temporary storage district according to write instruction by memory management circuitry 202, and will write data Replica in the second temporary storage from write data temporary storage district.
Then, in step S508, memory management circuitry 202 after writing in type nonvolatile module by write data, can judge whether generating program mistake.Further, if generating program mistake, then in step S510, memory management circuitry 202 can read write data from the second temporary storage, and re-writes write data in type nonvolatile module according to write instruction.
But each step of above-mentioned method for writing data can have other orders, and the present invention does not limit the order of each step of Fig. 5.
It is worth mentioning that, although in exemplary embodiment of the present invention, the second temporary storage 108 is the outsides being configured in Memory Controller 104.But the present invention is not limited thereto, in another exemplary embodiment of the present invention, the second temporary storage 108 is also configurable on the inside of Memory Controller 104.
In sum, the memorizer memory devices that the embodiment of the present invention proposes, Memory Controller and wiring method, can the transmitting bandwidth of a temporary storage in more efficient use memorizer memory devices.That is, when writing data, the transmitting bandwidth being used for backing up the temporary storage writing data is all used to transmission write data.Accordingly, the writing speed of memorizer memory devices can be increased.
Although the present invention with embodiment disclose as above, so itself and be not used to limit the present invention, the those of ordinary skill in any art, when doing few modifications and retouching, and does not depart from the spirit and scope of the present invention.

Claims (17)

1. a memorizer memory devices, comprising:
A connector, in order to be electrically connected to a host computer system;
One type nonvolatile module;
One Memory Controller, be electrically connected to this connector and this type nonvolatile module, wherein this Memory Controller comprises one first temporary storage, and this first temporary storage comprises a write data temporary storage district; And
One second temporary storage, is electrically connected this first temporary storage, and wherein a transmitting bandwidth of this second temporary storage is lower than a transmitting bandwidth of this first temporary storage,
Wherein this Memory Controller in order to receive at least one write data of corresponding at least one write instruction from this host computer system, and by this at least one write data temporary storage to this write data temporary storage district,
Wherein this Memory Controller also in order to write in this type nonvolatile module according to this at least one write instruction by these at least one write data from this write data temporary storage district,
Wherein this Memory Controller also in order to from this write data temporary storage district according to this at least one write instruction by this at least one write data Replica in this second temporary storage,
Wherein this Memory Controller also in order to judge whether generation one program error after writing in this type nonvolatile module by these at least one write data,
If when wherein there is this program error, then this Memory Controller also in order to read this at least one write data from this second temporary storage, and these at least one write data write in this type nonvolatile module according to this at least one write instruction.
2. memorizer memory devices according to claim 1,
Wherein this Memory Controller is also in order to receive at least one reading command from this host computer system,
Wherein this Memory Controller is also in order to judge whether this second temporary storage stores should at least one reading data of at least one reading command,
If wherein this second temporary storage store to should these at least one reading data of at least one reading command time, then this Memory Controller reads these at least one reading data and these at least one reading data is sent to this host computer system to respond this at least one reading command from this second temporary storage.
3. memorizer memory devices according to claim 1, wherein this second temporary storage is the outside being configured in this Memory Controller or being configured in this Memory Controller.
4. memorizer memory devices according to claim 1, wherein this first temporary storage is a static RAM.
5. memorizer memory devices according to claim 1, wherein this second temporary storage is a Synchronous Dynamic Random Access Memory.
6. memorizer memory devices according to claim 1, wherein a capacity of this second temporary storage is greater than a capacity of this first temporary storage.
7. memorizer memory devices according to claim 6, wherein the capacity of this second temporary storage is 8 times of the capacity of this first temporary storage.
8. memorizer memory devices according to claim 1, wherein this transmitting bandwidth of this second temporary storage is applied to a single operation program, and wherein this transmitting bandwidth of this first temporary storage can be shared in multiple running program simultaneously.
9. a method for writing data, for a memorizer memory devices, wherein this memorizer memory devices has one second temporary storage, a Memory Controller and a type nonvolatile module, one first temporary storage is in this Memory Controller and a transmitting bandwidth of this first temporary storage is greater than a transmitting bandwidth of this second temporary storage, and this wiring method comprises:
From a host computer system receive at least one write instruction with to should at least one write data of at least one write instruction;
By this at least one write data temporary storage in a write data temporary storage district of this first temporary storage;
According to this at least one write instruction, these at least one write data are write in this type nonvolatile module from this write data temporary storage district;
From this write data temporary storage district according to this at least one write instruction by this at least one write data Replica in this second temporary storage;
Generation one program error is judged whether after writing in this type nonvolatile module by these at least one write data; And
If when there is this program error, then from this second temporary storage, read these at least one write data, and according to this at least one write instruction, these at least one write data are write in this type nonvolatile module.
10. method for writing data according to claim 9, also comprises:
At least one reading command is received from this host computer system;
Judge whether this second temporary storage stores at least one reading data to this at least one reading command; And
If this second temporary storage stores at least one reading data to this at least one reading command, then from this second temporary storage, read these at least one reading data and these at least one reading data are sent to this host computer system to respond this at least one reading command.
11. 1 kinds of Memory Controllers, for controlling a type nonvolatile module, this Memory Controller comprises:
One host interface, in order to be electrically connected to a host computer system;
One memory interface, in order to be electrically connected to this type nonvolatile module;
One memory management circuitry, is electrically connected to this host interface, this memory interface; And
One first temporary storage, is electrically connected to this memory management circuitry, and has a write data temporary storage district;
Wherein this memory management circuitry in order to receive at least one write data of corresponding at least one write instruction from this host computer system, and by this at least one write data temporary storage to this write data temporary storage district,
Wherein this memory management circuitry also in order to write in this type nonvolatile module according to this at least one write instruction by these at least one write data from this write data temporary storage district,
Wherein this memory management circuitry also in order to from this write data temporary storage district according to this at least one write instruction by this at least one write data Replica in one second temporary storage, wherein a transmitting bandwidth of this first temporary storage is higher than a transmitting bandwidth of this second temporary storage
Wherein this memory management circuitry also in order to judge whether generation one program error after writing in this type nonvolatile module by these at least one write data,
If when wherein there is this program error, then this memory management circuitry also in order to read this at least one write data from this second temporary storage, and these at least one write data write in this type nonvolatile module according to this at least one write instruction.
12. Memory Controllers according to claim 11,
Wherein this memory management circuitry is also in order to receive at least one reading command from this host computer system,
Wherein this memory management circuitry is also in order to judge whether this second temporary storage stores should at least one reading data of at least one reading command,
If wherein this second temporary storage store to should these at least one reading data of at least one reading command time, then this memory management circuitry reads these at least one reading data and these at least one reading data is sent to this host computer system to respond this at least one reading command from this second temporary storage.
13. Memory Controllers according to claim 11, wherein this second temporary storage is the outside being configured in this Memory Controller or being configured in this Memory Controller.
14. Memory Controllers according to claim 11, wherein this first temporary storage is a static RAM.
15. Memory Controllers according to claim 11, wherein this second temporary storage is a Synchronous Dynamic Random Access Memory.
16. Memory Controllers according to claim 11, wherein a capacity of this second temporary storage is greater than a capacity of this first temporary storage.
17. Memory Controllers according to claim 16, wherein the capacity of this second temporary storage is 8 times of the capacity of this first temporary storage.
CN201110455539.2A 2011-12-30 2011-12-30 Memorizer memory devices and Memory Controller thereof and method for writing data Active CN103186470B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110455539.2A CN103186470B (en) 2011-12-30 2011-12-30 Memorizer memory devices and Memory Controller thereof and method for writing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110455539.2A CN103186470B (en) 2011-12-30 2011-12-30 Memorizer memory devices and Memory Controller thereof and method for writing data

Publications (2)

Publication Number Publication Date
CN103186470A CN103186470A (en) 2013-07-03
CN103186470B true CN103186470B (en) 2016-04-20

Family

ID=48677646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110455539.2A Active CN103186470B (en) 2011-12-30 2011-12-30 Memorizer memory devices and Memory Controller thereof and method for writing data

Country Status (1)

Country Link
CN (1) CN103186470B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9442662B2 (en) * 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
TWI566253B (en) * 2015-09-02 2017-01-11 慧榮科技股份有限公司 Method for managing a memory apparatus, and associated memory apparatus thereof and associated controller thereof
KR102565918B1 (en) * 2016-02-24 2023-08-11 에스케이하이닉스 주식회사 Data storage device and operating method thereof
TWI645286B (en) * 2017-08-31 2018-12-21 慧榮科技股份有限公司 Memory controlling device and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359723A (en) * 1991-12-16 1994-10-25 Intel Corporation Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only
CN101576859A (en) * 2008-05-06 2009-11-11 群联电子股份有限公司 Data writing method, memory system and controller for nonvolatile memory
CN102243603A (en) * 2010-05-13 2011-11-16 美光科技公司 Memory buffer having accessible information after a program-fail

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI397821B (en) * 2009-01-19 2013-06-01 Phison Electronics Corp Method, system and controller thereof for transmitting data stream

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5359723A (en) * 1991-12-16 1994-10-25 Intel Corporation Cache memory hierarchy having a large write through first level that allocates for CPU read misses only and a small write back second level that allocates for CPU write misses only
CN101576859A (en) * 2008-05-06 2009-11-11 群联电子股份有限公司 Data writing method, memory system and controller for nonvolatile memory
CN102243603A (en) * 2010-05-13 2011-11-16 美光科技公司 Memory buffer having accessible information after a program-fail

Also Published As

Publication number Publication date
CN103186470A (en) 2013-07-03

Similar Documents

Publication Publication Date Title
CN106681931B (en) Data storage device and operation method thereof
TWI540583B (en) Dynamic allocation of power budget for a system having non-volatile memory
US8606987B2 (en) Data writing method for flash memory and controller using the same
CN104423888B (en) Method for writing data, memorizer control circuit unit and memory storage apparatus
US20090198875A1 (en) Data writing method for flash memory, and controller and system using the same
CN109992202B (en) Data storage device, method of operating the same, and data processing system including the same
US11086772B2 (en) Memory system performing garbage collection operation and operating method of memory system
CN111158579B (en) Solid state disk and data access method thereof
CN104699413A (en) Data management method, memorizer saving device and memorizer control circuit unit
KR20190102781A (en) Data Storage Device and Operation Method Thereof, Storage System Having the Same
US20130097366A1 (en) Storage device and user device using the same
TWI454922B (en) Memory storage device and memory controller and data writing method thereof
US11204833B1 (en) NVM endurance group controller using shared resource architecture
TWI523030B (en) Method for managing buffer memory, memory controllor, and memory storage device
CN103186470B (en) Memorizer memory devices and Memory Controller thereof and method for writing data
CN102866861B (en) Flash memory system, flash controller and method for writing data
US20200081649A1 (en) Data storage device, operation method thereof and storage system including the same
CN103389941B (en) Storer formatting method, Memory Controller and memory storage apparatus
US11249917B2 (en) Data storage device and operating method thereof
CN103513930A (en) Memorizer management method, memorizer controller and memorizer storage device
CN103218308B (en) Buffer storage supervisory method, Memory Controller and memorizer memory devices
CN102543184B (en) Memorizer memory devices, its Memory Controller and method for writing data
KR102653845B1 (en) Data Storage Device and Operation Method Thereof, Storage System Having the Same
CN106935265B (en) Nonvolatile memory device and data storage device including the same
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts

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