CN103186470A - Memory storage device and memory controller and data writing method thereof - Google Patents

Memory storage device and memory controller and data writing method thereof Download PDF

Info

Publication number
CN103186470A
CN103186470A CN2011104555392A CN201110455539A CN103186470A CN 103186470 A CN103186470 A CN 103186470A CN 2011104555392 A CN2011104555392 A CN 2011104555392A CN 201110455539 A CN201110455539 A CN 201110455539A CN 103186470 A CN103186470 A CN 103186470A
Authority
CN
China
Prior art keywords
temporary storage
data
write
memory
onely
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
CN2011104555392A
Other languages
Chinese (zh)
Other versions
CN103186470B (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

Images

Abstract

The invention discloses a memory storage device and a memory controller and a data writing method thereof. The memory storage device comprises a connector, a reproducible nonvolatile memory module, a second scratch pad memory and the memory controller with a first scratch pad memory. The memory controller is used for receiving a writing command and write data and temporarily storing the write data into the first scratch pad memory. The memory storage further replicates the write data into the second scratch pad memory and writes the write data into the reproducible nonvolatile memory module according to the writing command. Moreover, the memory controller is further used for judging whether a program error is generated when the writing command is executed and reading the write data from the second scratch pad memory and executing the writing command again when the program error is generated. Therefore, the writing speed of the memory storage device can be effectively promoted.

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, relate in particular to a kind of memorizer memory devices, Memory Controller and method for writing data that can promote writing speed effectively.
Background technology
Digital camera, mobile phone and MP3 are very rapid in growth over the years, make the consumer also increase rapidly the demand of Storage Media.Because characteristics such as duplicative nonvolatile memory (rewritable non-volatile memory) has that data are non-volatile, power saving, volume are little, do not have mechanical structure, read or write speed is fast are suitable for portable electronic product most, for example notebook computer.Solid state hard disc is exactly a kind of with the memorizer memory devices of flash memory as Storage Media.Therefore, the flash memory industry becomes a ring quite popular in the electronic industry in recent years.
If memorizer memory devices be with the duplicative volatile storage as Storage Media, when data write to the duplicative volatile storage, program error may take place in the duplicative volatile storage, made data successfully not be written into.Therefore, can dispose at least one temporary storage usually in a memorizer memory devices.This temporary storage can be used for keeping in the data of desiring the write store storage device.That is to say that each data of desiring to write to memorizer memory devices all needs temporary temporary storage so far earlier, and afterwards again from from temporary storage, the data of desiring to write being write in the duplicative volatile storage.Owing to write data for one, all need two actions keep in and are read to temporary storage.Therefore, when the transmitting bandwidth of temporary storage is big inadequately, will be less relatively with respect to the frequency range of distributing to write operation.
In addition, when data are kept in to temporary storage, the control circuit of memorizer memory devices will transmit the message that finish instruction to main frame, in order to receive next instruction and data.When data are write to the duplicative volatile storage, program error (program fail) may take place, make data successfully not be written into.Therefore, the control circuit of memorizer memory devices can need will to write again for the data that successfully write (also being called rewriting) to the duplicative volatile storage from temporary storage.Therefore, the temporary storage that disposes in memorizer memory devices must enough come temporal data greatly, to avoid and can't rewrite.
Based on above-mentioned, in order to promote writing speed, use the bigger temporary storage of frequency range to need.Yet, in order to consider the demand of above-mentioned rewriting, must use jumbo temporary storage.For the bigger temporary storage of frequency range, the cost of every storage cell is higher.Therefore, how can have the temporary storage of suitable capacity again and have suitable memory band width reducing under the manufacturing cost, for this reason the subject under discussion be concerned about of those skilled in the art.
Summary of the invention
The embodiment of the invention provides a kind of memorizer memory devices and Memory Controller 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, duplicative nonvolatile memory module, Memory Controller and second temporary storage.Connector is in order to be electrically connected to host computer system.Memory Controller is to be electrically connected to connector and duplicative nonvolatile memory module, and has first temporary storage, and wherein first temporary storage has one and writes the data working area.Second temporary storage is to electrically connect first temporary storage, and wherein the transmitting bandwidth of second temporary storage is lower than the transmitting bandwidth of first temporary storage.Memory Controller writes the data that write of instruction in order to receive correspondence from host computer system, and it is temporary to writing the data working area to write data.Memory Controller also copies in second temporary storage in order to will write data from write the data working area, and will write data write in the duplicative nonvolatile memory module from write the data working area according to writing instruction.In addition, Memory Controller judges whether to take place program error after writing in the duplicative nonvolatile memory module will writing data.If when program error took place, then Memory Controller also write data in order to read from second temporary storage, and will write data and write in the duplicative nonvolatile memory module according to writing instruction.
In one embodiment of this invention, above-mentioned Memory Controller is also in order to receiving reading command from host computer system, and judges whether second temporary storage stores the data that read of corresponding reading command.If second temporary storage store corresponding reading command read data the time, then Memory Controller reads this and reads data and this is read data and be sent to host computer system to respond above-mentioned reading command from second temporary storage.
In one embodiment of this invention, above-mentioned second temporary storage is the outside that is configured in the Memory Controller or is configured in Memory Controller.
In one embodiment of this invention, above-mentioned first temporary storage be static RAM (static random access memory, SRAM).
In one embodiment of this invention, above-mentioned second temporary storage be Synchronous Dynamic Random Access Memory (synchronous dynamic random access memory, SDRAM).
In one embodiment of this invention, the capacity of above-mentioned second temporary storage is greater than the capacity of first temporary storage.
In one embodiment of this invention, the capacity of above-mentioned second temporary storage is 8 times of capacity of first temporary storage.
In one embodiment of this invention, the transmitting bandwidth of above-mentioned second temporary storage is to be applied to the single operation program, and the transmitting bandwidth of above-mentioned first temporary storage can be shared simultaneously in a plurality of running programs.
With the another one angle, one embodiment of the invention provides a kind of method for writing data, is used for a memorizer memory devices.This memorizer memory devices has second temporary storage, Memory Controller and duplicative nonvolatile memory module, wherein first temporary storage be configured in the Memory Controller and the transmitting bandwidth of first temporary storage greater than the transmitting bandwidth of second temporary storage.The notebook data wiring method comprises receiving from host computer system and writes instruction and write writing data and will write data and keeping in writing the data working area to first temporary storage of instruction with corresponding.The notebook data wiring method comprises that also will write data from write the data working area copies in second temporary storage, and will write data write in the duplicative nonvolatile memory module from write the data working area according to writing instruction.This wiring method also comprises: judge whether to take place program error after writing in the duplicative nonvolatile memory module will writing data; And, if when program error takes place, then from second temporary storage, read and write data, and will write data and write in the duplicative nonvolatile memory module according to writing instruction.
In one embodiment of this invention, above-mentioned method for writing data also comprises: receive reading command from host computer system; Judge whether second temporary storage stores the data that read to reading command; And if second temporary storage stores the data that read of corresponding reading command, then from second temporary storage, read corresponding reading data and this is read data and be sent to host computer system to respond reading command.
With the another one angle, one embodiment of the invention provides a kind of Memory Controller, is used for control duplicative nonvolatile memory module.Memory Controller comprises host interface, memory interface, memory management circuitry and first temporary storage.Host interface is in order to be electrically connected to host computer system.Memory interface is in order to be electrically connected to duplicative nonvolatile memory module.Memory management circuitry is to be electrically connected to host interface and memory interface.First temporary storage is to be electrically connected to memory management circuitry, and has one and write the data working area.Wherein, memory management circuitry writes the data that write of instruction in order to receive correspondence from host computer system, and it is temporary to writing the data working area to write data.Memory management circuitry will be also in order to will write data and write in the duplicative nonvolatile memory module according to writing instruction from write the data working area.Memory management circuitry also copies in second temporary storage in order to will write data from write the data working area, and wherein the transmitting bandwidth of first temporary storage is higher than the transmitting bandwidth of second temporary storage.Memory management circuitry also in order to will write data write in the duplicative nonvolatile memory module after judge whether to take place program error.If when program error took place, then memory management circuitry also write data in order to read from second temporary storage, and will write data and write in the duplicative nonvolatile memory module according to writing instruction.
In one embodiment of this invention, above-mentioned memory management circuitry is also in order to receiving reading command from host computer system, and judges whether second temporary storage stores the data that read of corresponding reading command.If second temporary storage stores the data that read of corresponding reading command, then memory management circuitry reads data and will read data and is sent to host computer system to respond reading command from second temporary storage.
Based on above-mentioned, memorizer memory devices, wiring method and Memory Controller that the present invention proposes, can be with first temporary storage in the Memory Controller as buffer zone, and the transmitting bandwidth of second temporary storage transmitting bandwidth when writing data all.Therefore, can effectively use the transmitting bandwidth of 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, embodiment cited below particularly, and cooperate institute's accompanying drawing to be described in detail below.
Description of drawings
Figure 1A is host computer system and the memorizer memory devices that illustrates according to an exemplary embodiment.
Figure 1B is the synoptic diagram of the computer, input/output device and the memorizer memory devices that illustrate according to an exemplary embodiment.
Fig. 1 C is the host computer system that illustrates according to an exemplary embodiment and the synoptic diagram of memorizer memory devices.
Fig. 2 is the summary calcspar that illustrates the memorizer memory devices shown in Figure 1A.
Fig. 3 is the summary calcspar of the Memory Controller that illustrates according to an exemplary embodiment.
Fig. 4 is the calcspar of the memorizer memory devices that illustrates according to an exemplary embodiment.
Fig. 5 is the process flow diagram of the method for writing data that illustrates of an embodiment.
The 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: carry-on dish
1214: storage card
1216: solid state hard disc
1310: digital camera
The 1312:SD card
The 1314:MMC card
1316: memory stick
The 1318:CF card
1320: embedded storage device
100: memorizer memory devices
102: connector
104: Memory Controller
106: duplicative nonvolatile memory module
108: the second temporary storages
202: memory management circuitry
204: host interface
206: memory interface
208: the first temporary storages
300: write the data working area
302: write data
S502, S504, S506, S508, S510: the step of method for writing data
Embodiment
Generally speaking, memorizer memory devices (also claiming memory storage system) comprises duplicative nonvolatile memory module and controller (also claiming control circuit).Usually memorizer memory devices is to use with host computer system, so that host computer system can write to data memorizer memory devices or read data from memorizer memory devices.
Figure 1A is host computer system and the memorizer memory devices that illustrates 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 comprise little reason device 1102, temporary storage (random access memory for example, random access memory, RA) 1104, system bus 1108 and data transmission interface 1110.Input/output device 1106 comprises slide-mouse 1202, keyboard 1204, the display 1206 and printer 1208 as Figure 1B.It must be appreciated, the unrestricted input/output device 1106 of the device shown in Figure 1B, input/output device 1106 can also comprise other devices.
In exemplary embodiment of the present invention, memorizer memory devices 100 is to electrically connect by data transmission interface 1110 other elements with host computer system 1000.Data can be write to memorizer memory devices 100 or from memorizer memory devices 100, read data with the operation of input/output device 1106 by microprocessor 1102, temporary storage 1104.For example, memorizer memory devices 100 can be as shown in Figure 1B carry-on dish 1212, storage card 1214 or solid state hard disc (Solid State Drive, SSD) the duplicative non-volatile memory storage device of 1216 grades.
Generally speaking, host computer system 1000 is any system that can cooperate with memorizer memory devices 100 substantially with storage data.Though in this exemplary embodiment, host computer system 1000 is to explain with computer system, yet host computer system 1000 can be systems such as digital camera, video camera, communicator, audio player or video player in another exemplary embodiment of the present invention.For example, be digital camera (video camera) 1310 o'clock in host computer system, duplicative non-volatile memory storage device then is its employed SD card 1312, mmc card 1314, memory stick (memory stick) 1316, CF card 1318 or embedded storage device 1320 (shown in Fig. 1 C).Embedded storage device 1320 comprise the built-in multimedia card (Embedded MMC, eMMC).What deserves to be mentioned is that the built-in multimedia card is directly to be electrically connected on the substrate of host computer system.
Fig. 2 is the summary calcspar that illustrates the memorizer memory devices shown in Figure 1A.
Please refer to Fig. 2, memorizer memory devices 100 comprises connector 102, Memory Controller 104, duplicative nonvolatile memory module 106 and second temporary storage 108.
In this exemplary embodiment, connector 102 is to be compatible to sequence advanced annex (Serial Advanced Technology Attachment, SATA) standard.Yet, it must be appreciated, the invention is not restricted to this, connector 102 can also be to meet advanced annex arranged side by side (Parellel Advanced Technology Attachment, PATA) standard, Institute of Electrical and Electric Engineers (Institute of Electrical and Electronic Engineers, IEEE) 1394 standards, high-speed peripheral component connecting interface (Peripheral Component Interconnect Express, PCI Express) standard, universal serial bus (Universal Serial Bus, USB) standard, secure digital (Secure Digital, SD) interface standard, memory stick (Memory Stick, MS) interface standard, Multi Media Card (Multi Media Card, MMC) interface standard, compact flash (Compact Flash, CF) interface standard, integrated driving electrical interface (Integrated Device Electronics, IDE) standard or other standards that is fit to.
A plurality of logic locks or steering order that Memory Controller 104 is done with hardware pattern or firmware pattern in fact in order to execution, and in duplicative nonvolatile memory module 106, carry out the operations such as writing, read and erase of data according to the instruction of host computer system 1000.
Duplicative nonvolatile memory module 106 is to be electrically connected to Memory Controller 104, and in order to store the data that host computer system 1000 writes.Duplicative nonvolatile memory module 106 comprises a plurality of physical blocks (not painting formula).In this exemplary embodiment, duplicative nonvolatile memory module 106 is multilayer memory cell (Multi Level Cell, MLC) NAND flash memory module.Yet, the invention is not restricted to this, duplicative nonvolatile memory module 106 also the individual layer memory cell (Single Level Cell, SLC) NAND flash memory module, other flash memory modules or other have the memory module of identical characteristics.
Second temporary storage 108 is to be configured in the outside of Memory Controller and to be electrically connected to Memory Controller 104.Second temporary storage 108 is in order to temporary storage controller 104 performed instruction or data.For example, second temporary storage is the data that write that are received from host computer system 1000 in order to backup.In this exemplary embodiment, second temporary storage 108 be the synchronous dynamic temporary storage (synchronous dynamic random access memory, SDRAM) and the transmitting bandwidth of second temporary storage 108 be the 400M bit/second.Yet, the invention is not restricted to this, second temporary storage 108 also can be dynamic RAM (dynamic random access memory, DRAM), static RAM (static random access memory, SRAM), magnetoresistive random access memory (Magnetoresistive Random Access Memory, MRAM), cache random access memory (Cache RAM), Synchronous Dynamic Random Access Memory (synchronous dynamic random access memory, SDRAM), video RAM (Video RAM, VRAM), anti-or lock flash memory (NOR Flash), embedded type dynamic random access memory (embedded DRAM, eDRAM) or other storer.
Fig. 3 is the summary calcspar of the Memory Controller that illustrates 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 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 a plurality of steering orders, and when memorizer memory devices 100 operations, these a little steering orders can be performed to carry out the operations such as writing, read and erase of data.
In this exemplary embodiment, the steering order of memory management circuitry 202 is to do in fact with the firmware pattern.For example, memory management circuitry 202 has microprocessor unit (not illustrating) and ROM (read-only memory) (not illustrating), and these a little steering orders are to be burned onto in this ROM (read-only memory).When memorizer memory devices 100 operations, these a little steering orders can be carried out to carry out the operations such as writing, read and erase of data by microprocessor unit.
In another exemplary embodiment of the present invention, the steering order of memory management circuitry 202 can also the source code pattern be stored in the specific region (for example, being exclusively used in the system region of storage system data in the memory module) of duplicative nonvolatile memory 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 the sign indicating number of driving, and when Memory Controller 104 was enabled, microprocessor unit can be carried out this driving yard steering order that section will be stored in the duplicative nonvolatile memory module 106 earlier and be loaded in the temporary storage of memory management circuitry 202.Afterwards, microprocessor unit can turn round these a little steering orders to carry out the operations such as writing, read and erase of data.
In addition, in another exemplary embodiment of the present invention, the steering order of memory management circuitry 202 can also a hardware pattern be done in fact.For example, memory management circuitry 202 comprises that microcontroller, Memory Management Unit, storer write unit, storer reading unit, storer erase unit and data processing unit.It is to be electrically connected to microcontroller that Memory Management Unit, storer write erase unit and data processing unit of unit, storer reading unit, storer.Wherein, Memory Management Unit is in order to manage the physical blocks of duplicative nonvolatile memory module 106; Storer writes the unit and writes instruction data are write in the duplicative nonvolatile memory module 106 in order to duplicative nonvolatile memory module 106 is assigned; The storer reading unit is in order to assign reading command to read data from duplicative nonvolatile memory module 106 to duplicative nonvolatile memory module 106; Storer is erased the unit in order to duplicative nonvolatile memory module 106 is assigned the instruction of erasing so that data are erased from duplicative nonvolatile memory module 106; And data processing unit desires to write to the data of duplicative nonvolatile memory module 106 and the data that read in order to processing from duplicative nonvolatile memory module 106.
Host interface 204 is instruction and the data that are electrically connected to memory management circuitry 202 and transmit in order to reception and identification host computer system 1000.That is to say that the instruction that host computer system 1000 transmits and data can be sent to memory management circuitry 202 by host interface 204.In this exemplary embodiment, host interface 204 is to be compatible to the SATA standard.Yet, it must be appreciated to the invention is not restricted to this that host interface 204 can also be to be compatible to PATA standard, IEEE 1394 standards, PCI Express standard, USB standard, SD standard, MS standard, MMC standard, CF standard, IDE standard or other data transmission standards that is fit to.
Memory interface 206 is to be electrically connected to memory management circuitry 202 and in order to access duplicative nonvolatile memory module 106.That is to say that the data of desiring to write to duplicative nonvolatile memory module 106 can be converted to 106 receptible forms of duplicative nonvolatile memory module via memory interface 206.
First temporary storage 208 is to be electrically connected to memory management circuitry 202, in order to temporary storage management circuit 202 performed instruction or data.Specifically, first temporary storage 208 comprises and writes data working area 300, the data that it writes in order to temporary host computer system 1000.Yet, it must be appreciated, can comprise other zones (not illustrating) except writing data working area 300, the first temporary storages 208, in order to temporary other data.For example, memory management circuitry 202 can be stored in the mapping table (mapping table) of virtual address and physical address in the duplicative nonvolatile memory module 106 in other zones of first temporary storage 208.In this exemplary embodiment, the transmitting bandwidth of first temporary storage 208 is greater than the transmitting bandwidth of second temporary storage 108.For example, first temporary storage 208 be static RAM (static random access memory, SRAM).Yet first temporary storage 208 also can be MRAM, Cache RAM, SDRAM, VRAM, NOR Flash or eDRAM.And the transmitting bandwidth of first temporary storage 208 is the 800M bit/second.
In this exemplary embodiment, in order to increase the writing speed of memorizer memory devices 100, be first temporary storage 208 that transmitting bandwidth is bigger as the temporary zone that writes data, and second temporary storage 108 that transmitting bandwidth is less writes the zone of data as backup.
Fig. 4 is the synoptic diagram that writes data that illustrates according to an exemplary embodiment.
Please refer to Fig. 4, when memorizer memory devices 100 from host computer system 1000, receive write instruction and corresponding this write instruction write data 302 time, it is temporary to writing data working area 300 that memory management circuitry 202 can will write data 302.Because the transmitting bandwidth of first temporary storage 208 is bigger, therefore can satisfy the demand that writes of host computer system 1000.That is to say, memory management circuitry 202 will write data 302 and be temporarily stored in the speed that writes data working area 300 and can be not less than host computer system 1000 and transmit and write data 302 to the speed of memory management circuitry 202, can immediately receive data and temporary to first temporary storage 208 from host computer system 1000 thus.
Wherein in this exemplary embodiment, the transmitting bandwidth of first temporary storage 208 can be shared by at least two kinds of running programs simultaneously, and this running program is for example for writing or the fetch program.For example, when data were written into first temporary storage 208, other data can be read out and be transferred to duplicative nonvolatile memory module 106 from first temporary storage 208.For example, when data were written into first temporary storage 208, other data also can be read out and be transferred into second temporary storage 108 from first temporary storage 208.
Then, memory management circuitry 202 reads from write data working area 300 and writes data 302, and writes instruction and will write data 302 and write in the duplicative nonvolatile memory module 106 according to above-mentioned.
On the other hand, memory management circuitry 202 also can read from write data working area 300 and write data 302, and will write data 302 and copy in second temporary storage 108.It should be noted that in this exemplary embodiment the transmitting bandwidth of second temporary storage 108 can be used to transmission all and write data 302 at this moment.That is to say, write data 302 for portion, memory management circuitry 202 can only need be done the action that writes to second temporary storage 108, and does not do the action of reading.On the other hand, memory management circuitry 202 also can will write data 302 and copy in second temporary storage 108 when will write data 302 and writing to duplicative nonvolatile memory module 106.
Base this, write data 302 and just be backed up in second temporary storage 108, and Memory Controller 104 just can be again writes instruction and the new data that write is kept in to first temporary storage 208 from host computer system 1000 next ones.Particularly, write data 302 and be backed up to second temporary storage 108, therefore, in first temporary storage 208, the address that had both made original storage write data 302 is used to the temporary new data that write, and also can not influence the operation of memorizer memory devices 100.
Specifically, memory management circuitry 202 can judge whether to take place program error writing after data 302 write in the duplicative nonvolatile memory module 106.When if program error takes place, memory management circuitry 202 can read from second temporary storage 108 and write data 302, and will write data 302 and write to again in the duplicative nonvolatile memory module 106 according to writing instruction.That is to say, in the time of successfully will not writing data 302 when program error takes place and write to duplicative nonvolatile memory module 106, both made to write data 302 be covered and write as the new data that write in first temporary storage 208, memory management circuitry 202 still can write in the duplicative nonvolatile memory module 106 from second temporary storage 108 again with writing data 302.Base this, memorizer memory devices 100 can be when utilizing the first bigger temporary storage 208 of frequency range to promote writing speed, guarantees to write that data 302 can success writes to duplicative nonvolatile memory module 106.In this exemplary embodiment, when memory management circuitry 202 reads from second temporary storage 108 when writing data 302, the transmitting bandwidth of second temporary storage 108 can be used to transmission all and write data 302.That is to say that in this exemplary embodiment, the transmitting bandwidth of second temporary storage 108 can all be used for carrying out a single operation program, this single operation program is for example for writing or the fetch program.For example, the transmitting bandwidth of second temporary storage 108 all is used to data are write to second temporary storage 108.Perhaps, the transmitting bandwidth of second temporary storage 108 all is used to data are read out from second temporary storage 108.
Except this, 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 second temporary storage 108 stores the data that read of corresponding this reading command.If second temporary storage 108 stores the data that read of corresponding this reading command, then memory management circuitry 202 can from second temporary storage 108, read corresponding read data and this read data be sent to this host computer system 1000 to respond the received reading command of memory management circuitry 202.For instance, host computer system 1000 is will write data 302 earlier to write to memorizer memory devices 100, after a time, reads from memorizer memory devices 100 and writes data 302.Because memory management circuitry will be in the time will writing data 302 and write to duplicative nonvolatile memory module 106, can backup write in data 302 to second temporary storages 108, therefore, host computer system 1000 will read when writing data 302 from memorizer memory devices 100, writes data 302 and may also exist in second temporary storage 108 and the duplicative nonvolatile memory module 106.Therefore, if when the data of corresponding reading command also are stored in second temporary storage 108, directly from second temporary storage 108, send the data of correspondence to host computer system 1000, can promote the speed that reads effectively.
In this exemplary embodiment, the capacity of first temporary storage 208 is less than the capacity of second temporary storage 108.For example, the capacity of second temporary storage 108 is 8 times of capacity of first temporary storage 208, and under this multiplying power (that is, 8 times), second temporary storage 108 and first temporary storage 208 can have service efficiency preferably.Specifically, in 8 times the example of capacity less than the capacity of first temporary storage 208 of second temporary storage 108, be filled with and write data when writing data working area 300, and memory management circuitry 202 will with write in the data working area 300 write data backup to the second temporary storage 108 time, second temporary storage 108 may not have enough spaces to be backed up these and writes data.On the other hand, if the capacity of second temporary storage 108 is during greater than 8 times of the capacity of first temporary storage 208, though do not have the not enough problem in above-mentioned second temporary storage, 108 spaces, but it is too old that second temporary storage 108 may have too many idle storage space or institute's backed up data, host computer system 1000 also seldom reads so old data, so that the service efficiency of second temporary storage 108 reduces.Therefore, when the capacity of second temporary storage 108 is 8 times of capacity of first temporary storage 208, preferable storer service efficiency can be arranged, but what deserves to be explained is, this proportionate relationship is an empirical value, and it also can comply with actual demand, and changes into 4 times, 10 times or other ratios.
Fig. 5 is the process flow diagram of the method for writing data that illustrates according to an exemplary embodiment.
Please refer to Fig. 5, in step S502, the memory management circuitry 202 of Memory Controller 104 can receive to write to instruct and write the data that write of instruction with corresponding this from host computer system.Then, in step S504, memory management circuitry 202 can will write temporary the writing in the data working area to first temporary storage of data.
Afterwards, in step S506, memory management circuitry 202 can will write data and writes in the duplicative nonvolatile memory module according to writing instruction from write the data working area, and will write data copy in second temporary storage from write the data working area.
Then, in step S508, memory management circuitry 202 can judge whether to take place program error writing after data write in the duplicative nonvolatile memory module.And if program error takes place, then in step S510, memory management circuitry 202 can read from second temporary storage and write data, and will write data and write to again in the duplicative nonvolatile memory module according to writing instruction.
Yet 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.
What deserves to be mentioned is that although in exemplary embodiment of the present invention, second temporary storage 108 is the outsides that are configured in Memory Controller 104.Yet, the invention is not restricted to this, in another exemplary embodiment of the present invention, second temporary storage 108 is configurable inside at Memory Controller 104 also.
In sum, the memorizer memory devices that the embodiment of the invention proposes, Memory Controller and wiring method, can more efficient use memorizer memory devices in the transmitting bandwidth of a temporary storage.That is to say that when writing data, the transmitting bandwidth that is used for backing up the temporary storage that writes data all is used to transmission and writes data.Accordingly, can increase the writing speed of memorizer memory devices.
Though the present invention discloses as above with embodiment, so it is not in order to limiting the present invention, any under those of ordinary skill in the technical field, when can doing a little change and retouching, and do not break away from the spirit and scope of the present invention.

Claims (17)

1. memorizer memory devices comprises:
A connector is in order to be electrically connected to a host computer system;
One duplicative nonvolatile memory module;
One Memory Controller is electrically connected to this connector and this duplicative nonvolatile memory module, and wherein this Memory Controller comprises one first temporary storage, and this first temporary storage comprises that one writes the data working area; And
One second temporary storage electrically connects 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 is in order to receiving corresponding at least one at least one data that write that write instruction from this host computer system, and should at least onely write data and keep in and write the data working area to this,
Wherein this Memory Controller also at least onely writes instruction and should at least onely write data and write in this duplicative nonvolatile memory module in order to write from this data working area according to this,
Wherein this Memory Controller also should at least onely write data and copied in this second temporary storage in order to write from this data working area,
Wherein this Memory Controller was also in order to judging whether to take place a program error after writing in this duplicative nonvolatile memory module should at least onely writing data,
During wherein as if this program error of generation, then this Memory Controller is also in order to reading this at least one data that write from this second temporary storage, and at least onely writes instruction and should at least onely write data and write in this duplicative nonvolatile memory module according to this.
2. memorizer memory devices according to claim 1,
Wherein this Memory Controller is also in order to receiving at least one reading command from this host computer system,
Wherein this Memory Controller is also in order to judging whether this second temporary storage stores at least one data that read that should at least one reading command,
Wherein if this second temporary storage store to should at least one reading command should at least onely read data the time, then this Memory Controller from this second temporary storage, read this at least one read data and should at least onely read data be sent to this host computer system with this at least one reading command of response.
3. memorizer memory devices according to claim 1, wherein this second temporary storage is the outside that is configured in this Memory Controller or is 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 RAM.
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 capacity of this first temporary storage.
8. memorizer memory devices according to claim 1, wherein this transmitting bandwidth of this second temporary storage is to be applied to a single operation program, wherein this transmitting bandwidth of this first temporary storage can be shared simultaneously in a plurality of running programs.
9. method for writing data, be used for a memorizer memory devices, wherein this memorizer memory devices has one second temporary storage, a Memory Controller and a duplicative nonvolatile memory module, one first temporary storage in this Memory Controller and a transmitting bandwidth of this first temporary storage greater than a transmitting bandwidth of this second temporary storage, this wiring method comprises:
From a host computer system receive at least one write instruction with to should at least onely writing at least one data that write of instruction;
This is at least onely write that data are temporary to be write in the data working area to one of this first temporary storage;
Write the data working area according to this from this and at least onely to write instruction and should at least onely write data and write in this duplicative nonvolatile memory module;
Write from this and should at least onely write data data working area and copy in this second temporary storage;
Judged whether to take place a program error after writing in this duplicative nonvolatile memory module should at least onely writing data; And
If when this program error takes place, then from this second temporary storage, read these at least one data that write, and at least onely write instruction and should at least onely write data and write in this duplicative nonvolatile memory module according to this.
10. method for writing data according to claim 9 also comprises:
Receive at least one reading command from this host computer system;
Judge whether this second temporary storage stores at least one data that read to this at least one reading command; And
If this second temporary storage stores at least one data that read to this at least one reading command, then from this second temporary storage, read this at least one read data and should at least onely read data be sent to this host computer system with this at least one reading command of response.
11. a Memory Controller is used for control one duplicative nonvolatile memory module, this Memory Controller comprises:
One host interface is in order to be electrically connected to a host computer system;
One memory interface is in order to be electrically connected to this duplicative nonvolatile memory 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 one and write the data working area;
Wherein this memory management circuitry is in order to receiving corresponding at least one at least one data that write that write instruction from this host computer system, and should at least onely write data and keep in and write the data working area to this,
Wherein this memory management circuitry also at least onely writes instruction and should at least onely write data and write in this duplicative nonvolatile memory module in order to write from this data working area according to this,
Wherein this memory management circuitry also should at least onely write data and copied in one second temporary storage in order to write from this data working area, and 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 was also in order to judging whether to take place a program error after writing in this duplicative nonvolatile memory module should at least onely writing data,
During wherein as if this program error of generation, then this memory management circuitry is also in order to reading this at least one data that write from this second temporary storage, and at least onely writes instruction and should at least onely write data and write in this duplicative nonvolatile memory module according to this.
12. Memory Controller according to claim 11,
Wherein this memory management circuitry is also in order to receiving at least one reading command from this host computer system,
Wherein this memory management circuitry is also in order to judging whether this second temporary storage stores at least one data that read that should at least one reading command,
Wherein if this second temporary storage store to should at least one reading command should at least onely read data the time, then this memory management circuitry from this second temporary storage, read this at least one read data and should at least onely read data be sent to this host computer system with this at least one reading command of response.
13. Memory Controller according to claim 11, wherein this second temporary storage is the outside that is configured in this Memory Controller or is configured in this Memory Controller.
14. memorizer memory devices according to claim 11, wherein this first temporary storage is a static RAM.
15. Memory Controller according to claim 11, wherein this second temporary storage is a synchronous dynamic RAM.
16. Memory Controller according to claim 11, wherein a capacity of this second temporary storage is greater than a capacity of this first temporary storage.
17. Memory Controller according to claim 16, wherein the capacity of this second temporary storage is 8 times of 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 true CN103186470A (en) 2013-07-03
CN103186470B 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105874540A (en) * 2013-10-18 2016-08-17 桑迪士克科技有限责任公司 Device and method for managing die groups
CN106484316A (en) * 2015-09-02 2017-03-08 慧荣科技股份有限公司 Method for managing a memory device, memory device and controller
CN107122317A (en) * 2016-02-24 2017-09-01 爱思开海力士有限公司 Data storage device
CN109426443A (en) * 2017-08-31 2019-03-05 慧荣科技股份有限公司 Memory control apparatus and method

Citations (4)

* 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
US20100186077A1 (en) * 2009-01-19 2010-07-22 Phison Electronics Corp. System, controller, and method thereof for transmitting data stream
CN102243603A (en) * 2010-05-13 2011-11-16 美光科技公司 Memory buffer having accessible information after a program-fail

Patent Citations (4)

* 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
US20100186077A1 (en) * 2009-01-19 2010-07-22 Phison Electronics Corp. System, controller, and method thereof for transmitting data stream
CN102243603A (en) * 2010-05-13 2011-11-16 美光科技公司 Memory buffer having accessible information after a program-fail

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105874540A (en) * 2013-10-18 2016-08-17 桑迪士克科技有限责任公司 Device and method for managing die groups
CN105874540B (en) * 2013-10-18 2019-10-01 桑迪士克科技有限责任公司 Device and method for managing naked core group
CN106484316A (en) * 2015-09-02 2017-03-08 慧荣科技股份有限公司 Method for managing a memory device, memory device and controller
CN106484316B (en) * 2015-09-02 2019-06-28 慧荣科技股份有限公司 Method for managing a memory device, memory device and controller
CN107122317A (en) * 2016-02-24 2017-09-01 爱思开海力士有限公司 Data storage device
CN109426443A (en) * 2017-08-31 2019-03-05 慧荣科技股份有限公司 Memory control apparatus and method

Also Published As

Publication number Publication date
CN103186470B (en) 2016-04-20

Similar Documents

Publication Publication Date Title
CN107844431B (en) Mapping table updating method, memory control circuit unit and memory storage device
US8606987B2 (en) Data writing method for flash memory and controller using the same
TWI540583B (en) Dynamic allocation of power budget for a system having non-volatile memory
CN104423888A (en) Data writing method, memory control circuit unit and memory storage device
CN111158579B (en) Solid state disk and data access method thereof
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN110806837B (en) Data processing system and method of operation thereof
CN104732153A (en) Data erasing method, storage control circuit unit and storage storing device
US20130346674A1 (en) Data writing method, memory controller and memory storage device
TWI454922B (en) Memory storage device and memory controller and data writing method thereof
TWI523030B (en) Method for managing buffer memory, memory controllor, and memory storage device
CN103377129A (en) Data writing-in method, memory controller and memory storage device
US11656785B2 (en) Apparatus and method for erasing data programmed in a non-volatile memory block in a memory system
CN107590080B (en) Mapping table updating method, memory control circuit unit and memory storage device
US20130339584A1 (en) Method for accessing flash memory having pages used for data backup and associated memory device
CN107357520B (en) Finishing instruction processing method, memory control circuit unit and memory device thereof
CN110806983B (en) Memory system and operating method thereof
CN110047553B (en) Data processing system and method of operation thereof
CN103186470B (en) Memorizer memory devices and Memory Controller thereof and method for writing data
US11567867B2 (en) Controller for storing data having different types in one memory block when SPO occurs, and method of operating the same
CN111258494B (en) Data storage device, operation method and storage system with data storage device
CN103218308A (en) Buffer memory management method, memory controller and memory storage device
US20230075820A1 (en) Event log management method, controller and storage device
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
US10782901B2 (en) Method for performing initialization in a memory device, associated memory device and controller thereof, and associated electronic device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant