CN101373449A - ECC control circuits, multi-channel memory systems and operation methods thereof - Google Patents

ECC control circuits, multi-channel memory systems and operation methods thereof Download PDF

Info

Publication number
CN101373449A
CN101373449A CNA2008102126121A CN200810212612A CN101373449A CN 101373449 A CN101373449 A CN 101373449A CN A2008102126121 A CNA2008102126121 A CN A2008102126121A CN 200810212612 A CN200810212612 A CN 200810212612A CN 101373449 A CN101373449 A CN 101373449A
Authority
CN
China
Prior art keywords
data
ecc
error
error correction
storage arrangement
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
CNA2008102126121A
Other languages
Chinese (zh)
Other versions
CN101373449B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN101373449A publication Critical patent/CN101373449A/en
Application granted granted Critical
Publication of CN101373449B publication Critical patent/CN101373449B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

An Error Correcting Code (ECC) control circuit in a memory controller includes an ECC controller configured to receive data from a memory device in response to a request from a host device. The ECC controller transmits the data to a direct memory access (DMA) buffer for transfer to the host device, and to an ECC block for error detection and correction of the data. The ECC controller is configured to interrupt transmission of the data to the DMA buffer and transmit error-corrected data output from the ECC block to the DMA buffer responsive to detection of an error in the data by the ECC block. Related systems and methods are also discussed.

Description

ECC control circuit, multi-channel memory systems and related operating method
The application requires in the right of priority of the 10-2007-0084143 korean patent application of submission on August 21st, 2007, and this application is disclosed in this for reference.
Technical field
The disclosed data storage device that the present invention relates to more particularly, relates to and detects and correct the data that are stored in the storage arrangement.
Background technology
Need epoch of lower data rate and less data capacity (or size) the user, single storage unit has been enough to adapt to the needs of all customer data.But, in recent years, for example,, reduce data read/write time section and/or guarantee that the high capacity storage space has become important in order to handle a large amount of multi-medium datas and/or real time data.Specifically, the physical restriction of storage medium can make and be difficult to realize for the high frequencies of operation of single storage unit and/or high capacity more.In order to overcome this restriction, multi-channel memory systems has been proposed, comprise a plurality of similar and/or different storage arrangement that is connected to each other.
Today, various types of storage arrangements can be used as storage unit, for example, be configured to store with the hard disk drive (HDD) of reading of data, be configured to store for example CD of the information of voice, image or character (for example CD-ROM or digital universal disc (DVD)) and/or nonvolatile memory (for example flash memory) by the aluminium dish that rotation is coated with magnetic material.
Some such storage arrangements are when reading of data, for example because its physical restriction can face mistake or fault continually.For example, in hard disk drive, nearer track space is used for avoiding interference and/or the rotational speed that increases can be used for satisfying ever-increasing storage needs than making of weak signal.Yet along with the impact of such technology limitation, mistake can take place more continually.In addition, in reading of data wherein, may cause wrong and/or failure in the hard disk by the relevant effect of wherein floating particulate, Electrostatic Discharge, temperature and/or humidity.
But flash memory is even does not have under the situation of power supply supply an also non-volatile apparatus of retention data.Although be not fast as the dynamic storage that can be used as the primary memory in the personal computer, flash memory device is at reading rate and/or to the advantage above hard disk is provided aspect the opposing of external impact.Therefore, can in mobile or mancarried device, adopt flash memory by battery operation.Another advantage of flash memory can be a durability.
Flash memory can be used as the non-volatile memory cells that is used for computing system, and can electric obliterated data and overwriting data.Compare with programmable read only memory (EEPROM) with electric erasable, flash memory can piece and/or the sector be that data are wiped and/or write in unit.Because the cost lower than EEPROM, flash memory needing to can be used for the application of high capacity, non-volatile, solid-state storage unit.Typically, flash memory can be used for digital music player, digital camera and/or mobile phone.And flash memory can use at USB (universal serial bus) (USB) driver that is used for storing and transmitting data between computing system.
In flash memory device, data can be retained in the memory cell array that is formed by the floating boom transistor that is known as memory cell, each memory cell stores bit information.For single layer cell (SLC) flash memory device, can be based on being stored in data in the unit memory cells with the corresponding threshold voltage distribution sensing in each data mode " 1 " and " 0 ".For example, when reference voltage is applied to the control gate of memory cell, can be based on the data of determining by the electric current of memory cell to store in the sector (" 1 " or " 0 ").Yet, may not in the voltage range of design, may produce mistake owing to data read because the actual threshold voltage of memory cell distributes.For example because loss of charge or leakage, time delay, temperature raise, because to the neighbor memory cell programming, read capacitive coupling that neighbor memory cell causes, cell defect etc., it is more serious that this phenomenon can become.
Summary of the invention
According to some embodiments of the present invention, the Error Correction of Coding in Memory Controller (ECC) control circuit comprises: the ECC controller is configured in response to the request from host apparatus and receives data from storage arrangement.The ECC controller is configured to send the data to and is used for data are sent to direct memory access (DMA) (DMA) impact damper of host apparatus and the ECC piece that is used for data are carried out error-detecting and error correction.The ECC controller is configured in response to the ECC piece and detects mistake in data, interrupts sending the data to dma buffer, and will send to dma buffer from the error correction data of ECC piece output.
In certain embodiments, the ECC control circuit can also comprise dma buffer.The ECC controller can comprise: a plurality of ECC pieces, corresponding to each storage arrangement in a plurality of storage arrangements, be configured to each data error detection and error correction, and export each error-detecting signal and each error correction data reading in the respective stored apparatus from described a plurality of storage arrangements; A plurality of selector switchs corresponding to each ECC piece of described a plurality of ECC pieces, are configured to the corresponding ECC piece that each data parallel that the respective stored apparatus from described a plurality of storage arrangements is read offers dma buffer and described a plurality of ECC pieces.Each of described a plurality of selector switchs can be configured in response to the corresponding ECC piece from described a plurality of ECC pieces and receive each error-detecting signal, will be from each error correction data rather than offer dma buffer from the data of the corresponding storage arrangement of described a plurality of storage arrangements of the corresponding ECC piece of described a plurality of ECC pieces.
In other embodiments, the ECC piece can be configured in response to detect mistake in the data from storage arrangement, produces the error-detecting signal.
In certain embodiments, the ECC controller can also comprise selector switch, is configured in response to the error-detecting signal, will offer dma buffer from the error correction data of ECC piece.
In other embodiments, selector switch can be configured to when not receiving the error-detecting signal, and data are offered dma buffer from storage arrangement.
In certain embodiments, the ECC piece can comprise: ECC storer, the data of store storage apparatus.
In other embodiments, the ECC piece can be configured in response to detect mistake in the data from storage arrangement, the data that are stored in the ECC storer is carried out error correction, and export error correction data.
In certain embodiments, the ECC piece can also be configured in response to detect mistake in the data from storage arrangement, and output comprises the information of errors present and/or state.
According to other embodiments of the invention, accumulator system comprises: a plurality of storage arrangements; And Memory Controller, be configured to a plurality of storage arrangements of control.Memory Controller comprises: buffer memory; Direct memory access (DMA) (DMA) impact damper is configured to data is sent to buffer memory; A plurality of Error Corrections of Coding (ECC) piece, each storage arrangement corresponding to described a plurality of storage arrangements, be configured to each data error detection and error correction, and export each error-detecting signal and each error correction data reading in the respective stored apparatus from described a plurality of storage arrangements; A plurality of selector switchs corresponding to each ECC piece of described a plurality of ECC pieces, are configured to offer dma buffer and described a plurality of ECC pieces future since each data of the respective stored apparatus of described a plurality of storage arrangements corresponding ECC piece.Each of described a plurality of selector switchs is configured in response to the corresponding ECC piece from described a plurality of ECC pieces and receives each error-detecting signal, will be from each error correction data rather than offer dma buffer from each data of the respective stored apparatus of described a plurality of storage arrangements of the corresponding ECC piece of described a plurality of ECC pieces.
In certain embodiments, each of described a plurality of ECC pieces can be configured to produce each error-detecting signal in response to detect mistake in from each data in the corresponding storage arrangement of described a plurality of storage arrangements.
In other embodiments, each of described a plurality of ECC pieces can be configured to each the ECC data that comprises based in each data from the corresponding storage arrangement of described a plurality of storage arrangements, and each data from the corresponding storage arrangement of described a plurality of storage arrangements are carried out error correction.
In certain embodiments, each of described a plurality of selector switchs can be configured to each the error-detecting signal in response to output, will from corresponding ECC piece output of described a plurality of ECC pieces each error correction data offer dma buffer.
In other embodiments, each of described a plurality of selector switchs can be configured to each the error-detecting signal in response to output, will from corresponding ECC piece output of described a plurality of ECC pieces each error correction data offer dma buffer, up to finishing each data that is transmitted in comprising mistake.
In certain embodiments, dma buffer can be configured to reception from each data of described a plurality of selector switchs and from each error-detecting signals of described a plurality of ECC pieces, when not when the corresponding ECC piece of described a plurality of ECC pieces receives each error-detecting signal, can be configured to described each data are sent to buffer memory.
In other embodiments, dma buffer can comprise: manager, be configured in response to each error-detecting signal, with each error correction data be sent to buffer memory from described a plurality of selector switchs.
In certain embodiments, accumulator system can also comprise: memory interface is attached to described a plurality of ECC piece, and is configured to the interface with described a plurality of storage arrangements.
In other embodiments, each of described a plurality of ECC pieces can comprise respectively: the ECC storer is configured to the data of storage from a corresponding storage arrangement of described a plurality of storage arrangements.
In certain embodiments, each ECC piece can be configured in response to detect mistake in each data from the respective stored apparatus of described a plurality of storage arrangements, to being stored in each the data error detection in each ECC storer, and each error correction data of output.
In other embodiments, each ECC piece also is configured in response to detect mistake in the data from the corresponding storage arrangement of described a plurality of storage arrangements, will comprise that each information of errors present and/or state outputs to dma buffer.
In certain embodiments, dma buffer can comprise: manager, be configured in response to each error-detecting signal and based on described each information that comprises errors present and/or state, with described each error correction data be sent to buffer memory from described a plurality of selector switchs.
According to other embodiments of the present invention, a kind of being used for comprises in the method for data transmission error correction: in response to the request from host apparatus, receive data from storage arrangement.Send the data to and be used for Error Correction of Coding (ECC) piece that data are sent to direct memory access (DMA) (DMA) impact damper of host apparatus and are used for data are carried out error-detecting and error correction.In response in data, detecting mistake, interrupt data are sent to dma buffer from storage arrangement, and error correction data sends to dma buffer from the ECC piece.
In certain embodiments, Memory Controller can comprise and the corresponding a plurality of ECC pieces of each storage arrangement of a plurality of storage arrangements.A corresponding ECC piece of described a plurality of ECC pieces can detect the mistake in each data of a storage arrangement of described a plurality of storage arrangements.In response, can interrupt described each data are sent to dma buffer from a storage arrangement with the corresponding described a plurality of storage arrangements of an ECC piece that detects wrong described a plurality of ECC pieces, can be to carrying out error correction from each data of a storage arrangement in described a plurality of storage arrangements, with the data of each error correction mistake of a storage arrangement being provided for described a plurality of storage arrangements.Can be with described each error correction data rather than send dma buffer to from each data of a storage arrangement of described a plurality of storage arrangements.
In other embodiments, with each after the error correction data output, will offer an ECC piece of described a plurality of ECC pieces from next data of the corresponding storage arrangement of described a plurality of storage arrangements.
In certain embodiments, in response in data, detecting mistake, can produce the error-detecting signal from storage arrangement.
In other embodiments, in response to the error-detecting signal, the error correction data from the ECC piece can be offered dma buffer.
In certain embodiments, when not receiving the error-detecting signal, the data from storage arrangement can be offered dma buffer.
According to other embodiments of the present invention, a kind of ECC control circuit comprises: direct memory access (DMA) (DMA) impact damper; First Error Correction of Coding (ECC) piece is configured to first data error detection and the correction to reading from the first memory device, and exports first error correction data; The 2nd ECC piece is configured to second data error detection and the correction to reading from the second memory device, and exports second error correction data; Selector switch is configured to respectively first data that will read from the first memory device and offers dma buffer, an ECC piece and the 2nd ECC piece from second data that the second memory device reads.Selector switch is configured in response to detecting mistake in first data and/or second data, will from an ECC piece and/or the 2nd ECC piece first and/or second error correction data rather than from first and/or the data that read of second memory device offer dma buffer.
In certain embodiments, an ECC piece can be configured in response to detect the wrong first error-detecting signal that produces in first data, and wherein, the 2nd ECC piece can be configured in response to detect the wrong second error-detecting signal that produces in second data.
In other embodiments, selector switch can be configured in response to receiving the first and/or second error-detecting signal respectively, will from the first and/or the 2nd ECC piece first and/or second error correction data rather than from first and/or first and/or second data that read of second memory device offer dma buffer.
Description of drawings
Fig. 1 is the block diagram of accumulator system according to some embodiments of the invention;
Fig. 2 is the process flow diagram that shows the operating process of the ECC controller of Fig. 1 according to some embodiments of the invention and dma buffer;
Fig. 3 is the block diagram according to the multi-channel memory systems of other embodiments of the invention;
If Fig. 4 is the sequential chart that is presented at the pattern of the output data that does not have data wrong then that read from storage arrangement and dma buffer piece in the 4 channel memory systems that show among Fig. 3 during the DMA transmission mode;
If Fig. 5 is the sequential chart that is presented at the output data that detects data wrong then that read from storage arrangement and dma buffer piece in the 4 channel memory systems that show among Fig. 3 during the DMA transmission mode.
Embodiment
Followingly the present invention is described more all sidedly, show embodiments of the invention in the accompanying drawing with reference to accompanying drawing.Yet the present invention can and should not be construed as the restriction of the embodiment of elaboration here with many different forms realizations.Yet, thereby provide these embodiment this openly will be thorough and complete, and scope of the present invention is conveyed to those skilled in the art comprehensively.In the accompanying drawings, for clear scalable layer and regional size and relative size.Identical label is represented components identical all the time.
To understand, when element be known as another element " on ", when being known as " being connected to " or " being attached to " another element, this element can be directly on another element or directly connect or be attached to another element or layer, perhaps also can have intermediary element.On the contrary, when element be known as " directly " another element " on ", during " being directly connected to " or " directly being attached to " another element, do not have intermediary element.Identical label is represented components identical all the time.As here using, term " and/or " comprise combination in any and all combinations of one or more relevant listed projects.
To understand, although can use the term first, second, third, etc. to describe different elements, assembly, zone, layer and/or part here, these elements, assembly, zone, layer and/or part are not subjected to the restriction of these terms.These terms only are to be used for an element, assembly, zone, layer or part and another element, assembly, zone, layer or part are made a distinction.Therefore, under the situation that does not break away from instruction of the present invention, first element of discussing below, assembly, zone, layer or part can be named as second element, assembly, zone, layer or part.
Term used herein is only in order to describe the purpose of specific embodiment, and is not intended to limit the present invention.As used herein, unless context spells out in addition, otherwise singulative also is intended to comprise plural form.It will also be understood that, when using term " to comprise " in this manual and/or when " comprising ", illustrate to have described feature, integral body, step, operation, element and/or assembly, do not exist or additional one or more further features, integral body, step, operation, element, assembly and/or its combination but do not get rid of.
Represent circuit component, module or comprise one or more executable instruction code some embodiment of flow chart description partly that are used to realize specific logical function for each piece.Also should be noted that in other are realized, the function of representing in the piece can not according to shown in order take place.For example, in fact two pieces that order shows can be performed basically simultaneously, and perhaps piece sometimes can be carried out with opposite order, and this depends on the function that is comprised.
To understand, each piece of process flow diagram and/or block diagram and the combination of the piece in process flow diagram and/or the block diagram can realize by computer program instructions.These computer instructions can be offered the processor of multi-purpose computer, special purpose computer, or other programmable data processing device, produce machine, thereby create the device of the function/action that is used for being implemented in process flow diagram and/or the appointment of block diagram piece by the instruction that computer processor or other programmable data processing device are carried out.
These computer instructions also can be stored in can order in computing machine or the computer-readable memory of other programmable data processing device with ad hoc fashion work, thereby the instruction generation that is stored in the computer readable memory comprises the product that is implemented in the command device of the function/action of appointment in process flow diagram and/or the block diagram piece.
Computer program instructions also can be loaded into computing machine or other programmable data processing device causing a series of will the execution producing the operation steps of computer implemented processing on computing machine or other programmable devices, thereby the instruction of carrying out on computing machine or other programmable devices is provided for being implemented in the step of the function/action of appointment in process flow diagram or the block diagram piece.
Unless otherwise defined, otherwise all terms used herein (comprising technical term and scientific and technical terminology) have the meaning equivalent in meaning with those skilled in the art institute common sense.Will be further understood that, unless clearly definition here, otherwise the term that term for example defines in general dictionary should be interpreted as having in the context with association area their meaning equivalent in meaning, rather than explains their meaning ideally or too formally.
Fig. 1 is the block diagram according to accumulator system of the present invention.With reference to Fig. 1, accumulator system comprises a plurality of storage arrangements 300 and 310 and Memory Controller 200. Storage arrangement 300 and 310 is operated under the control of Memory Controller 200.Storage arrangement 300 and/or 310 can be hard disk, CD-ROM, DVD and/or flash memory, and needs not be same type.For example, in certain embodiments, storage arrangement 300 and 310 can be the NAND-flash memory device.In other embodiments, storage arrangement 300 and 310 can be the nonvolatile memory that NOR-flash memory device, phase place can change storage arrangement, magnetic RAM or other types.
Memory Controller 200 is configured to the request control store apparatus 300 and 310 in response to main frame 100.Memory Controller 200 comprises host interface 210, buffer memory 220, CPU (central processing unit) (CPU) 230, register file 240, direct memory access (DMA) (DMA) impact damper 250, ECC (Error Correction of Coding) controller 260 and memory interface 270.Dma buffer 250 and ECC controller 260 can be formed the ECC control circuit.Host interface 210 is configured to provide the interface between Memory Controller 200 and the main frame 100, and memory interface 270 is configured to provide the interface between Memory Controller 200 and storage arrangement 300 and 301.Memory interface 270 can make storage arrangement 300 and 310 by concurrent access.CPU 230 is configured to the overall operation of control store controller 200.Register file 240 comprises the register of the status information that is configured to store the operation that is used for Memory Controller 200.Main frame 100 and Memory Controller 200 can be configured to mode (for example, the NOR-flash, NAND-flash, peripheral component interconnect (PCI), international organization's standard (ISO) and/or USB) communicate with one another by the various interface type.In addition, storage arrangement 300 and 310 and Memory Controller 200 can be configured to use the storage arrangement 300 that is suitable for particular type and 310 interface modes to communicate with one another.For example, if storage arrangement 300 and 310 is NAND-flash memory or NOR-flash memory, then Memory Controller 200 can use known NAND interface modes or NOR interface modes to communicate by letter with 310 with storage arrangement 300 respectively.
If storage arrangement 300 and 310 is flash memories, then Memory Controller 200 and storage arrangement 300 and 310 can constitute memory card, for example flash memory card or smart card.In another embodiment, Memory Controller 200 can be disposed on the mainboard of personal computer.Memory Controller 200 also can be used as the buffer controller of HDD, and wherein, flash memory is as buffer memory.
Storage arrangement 300 and 310 and Memory Controller 200 can be included in the electronic equipment (for example, MP3 player, memory stick, multimedia card (MMC), DVD player, portable media player (PMP) or mobile phone).
Still with reference to Fig. 1, buffer memory 220 is used for the data that interim storage receives from main frame 100 by host interface 210, and/or interim storage will be sent to the data of main frame 100 from storage arrangement 300 and 310.Buffer memory 220 can be nonvolatile memory (for example a, synchronous dram).It is that unit (i.e. sector) reads and write data that buffer memory 220 is configured to 512 bytes.Although the unit sector-size with reference to capacity or 512 bytes is described present embodiment, will understand, the other unit sector-size can be used.Dma buffer 250 can be stored in the buffer memory 220 data with pipe modes from two storage arrangements 300 and 310.
ECC controller 260 is configured to produce and is used for the error control coding data (hereinafter referred to as " ECC data ") that will be stored in the data of storage arrangement 300 and 310.The ECC data are used for error-detecting and/or error correction.ECC controller 260 is configured to detect and correct the mistake from the data that storage arrangement 300 and 310 reads.Specifically, ECC controller 260 detects by the mistake of memory interface 270 from the data that storage arrangement 300 and 310 reads, and simultaneously, the data that read is offered dma buffer 250.If comprise mistake the data that read from one of storage arrangement 300 and 310, then ECC controller 260 interrupts misdata is sent to dma buffer 250, and after data were corrected, error correction data offered dma buffer 250.
Can find out from the description of front, operate with by in the Data Detection mistake that reads, the data that read being offered dma buffer 250 according to the ECC controller 260 of some embodiments of the present invention, reduce owing to detect the stand-by period that the mistake from the data that storage arrangement 300 and 310 reads causes.More particularly, if storage arrangement 300 and 310 is the SLC flash memories that can have relative low error rate, then can shorten the data read time.
In addition, ECC controller 260 is configured to after the data of correcting a mistake that error correction data offers dma buffer 250, and direct access buffer storer 220, therefore can prevent because the reducing of the bus bandwidth that error-detecting and error correction cause.
With reference to Fig. 1, ECC controller 260 comprises respectively and two storage arrangements 300 and 261 and 262 and two ECC pieces 263 of 310 corresponding two multiplexers (or selector switch) and 264. ECC piece 263 and 264 is configured to produce the ECC data that will be stored in each storage arrangement 300 and 310. ECC piece 263 and 264 also is configured to detect and correct the mistake from the data that storage arrangement 300 and 310 reads.ECC piece 263 and 264 comprises ECC storer 265 and 266 respectively.
Fig. 2 is the process flow diagram that illustrates according to the operation of the ECC controller 260 of Fig. 1 of some embodiments of the present invention and dma buffer 250.Specifically, when main frame 100 request during from data that storage arrangement 300 and 310 reads, CPU 230 controls are to the accessing operation of storage arrangement 300 and 310, and DMA transmission beginning bit is set to register file 240.Thereby, carry out the DMA transmission mode and come will arrive buffer memory 220 from the data storage of storage arrangement 300 and 310 by dma buffer 250.
See figures.1.and.2, the data of reading from storage arrangement 300 by memory interface 270 are provided for multiplexer 261 and ECC piece 263 (step 410) simultaneously.At initial time, when the error-detecting signal ERR0 from ECC piece 263 output is when forbidding, multiplexer 261 offers dma buffer 250 with data from storage arrangement 300 by memory interface 270.ECC piece 263 is error detection (step 412) after storing data into ECC storer 265 from storage arrangement 300.If detect the bit mistake the data of reading from storage arrangement 300, then error-detecting signal ERR0 is activated.In response to the activation of error-detecting signal ERR0, multiplexer 261 interrupts the output by the data of memory interface 270 inputs, and dma buffer 250 stops to send data to buffer memory 220 (step 414) from multiplexer 261.
The mistake (step 416) that ECC piece 263 is corrected in the data that read.If confirm error correction success (step 418), then error correction data is provided for multiplexer 261.When error-detecting signal ERR0 activated, multiplexer 261 sent the data of correcting to dma buffer 250 (step 420) from ECC piece 263.The data that multiplexer 261 continues to correct during the DMA transmission mode send dma buffer 250 to from ECC piece 263, even error-detecting signal ERR0 may return and forbid or be deactivated.Therefore, after the data that read from storage arrangement 300, detecting mistake, data from storage arrangement 300 are stored in the ECC storer 265, interruption sends data to dma buffer 250, and error correction data is sent to dma buffer 250 (step 424) from ECC piece 263.
By multiplexer 261 and ECC piece 263, also can carry out controlled step 410~420 by multiplexer 262 and ECC piece 264.More particularly, the data that read from storage arrangement 310 by memory interface 270 are walked abreast simultaneously and are offered multiplexer 262 and ECC piece 264 (step 410).At initial time, when the error-detecting signal ERR1 from 264 outputs of ECC piece was under an embargo, multiplexer 262 offered dma buffer 250 with data from storage arrangement 310.ECC piece 264 is error detection (step 412) after storing data into ECC storer 265 from storage arrangement 300.If detect the bit mistake the data of reading from storage arrangement 300, then error-detecting signal ERR1 is activated.In response to the activation of error-detecting signal ERR1, multiplexer 262 interrupts the output by the data of memory interface 270 inputs, and dma buffer 250 stops to send data to buffer memory 220 (step 414) from multiplexer 262.
The mistake (step 416) that ECC piece 264 is corrected in the data that read.If confirm not have other mistake (step 418) in these data, then error correction data is provided for multiplexer 262.When error-detecting signal ERR1 was activated, multiplexer error correction data sent dma buffer 250 (step 420) to from ECC piece 264.The data that multiplexer 262 continues to correct during the DMA transfer mode send dma buffer 250 to from ECC piece 264, even error-detecting signal ERR1 returns and forbids or be deactivated.Therefore, after the data that read from storage arrangement 310, detecting mistake, data from storage arrangement 310 are stored in the ECC storer 266, interruption is sent to dma buffer 250 with data, and the data of correcting are sent to dma buffer 250 (step 424) from ECC piece 264.
If be not under an embargo in response to receive error-detecting signal ERR0 and ERR1 or error-detecting signal ERR0 and ERR1 by multiplexer 261 and 262 reception data, then the data management system 252 of Jiu Zhenging is sent to buffer memory 220 (step 430) with data.If corresponding one among error-detecting signal ERR0 and the ERR1 is activated, then the data management system 252 of Jiu Zhenging is not sent to data buffer memory 220.In addition, even the error-detecting signal that activates is under an embargo after a while, the data management system 252 of correction also continues the general error correction data be sent to buffer memory 220.In other words, in case receive the error-detecting signal, the data management system 252 of correction (and/or corresponding selector switch 261/262) continues to provide the error correction data from each ECC piece 263 and/or 264, up to the transmission of finishing the unit that detects wrong data.
In case be read from storage arrangement 300 and/or 310 from a sectors of data, and be sent to buffer memory 220 (step 422 and 430) by dma buffer 250, then ECC controller 260 stops the ECC operation.
Can see that from the above description when the error-detecting signal was under an embargo, multiplexer 261 and/or 262 was sent to dma buffer 250 with data from its corresponding storage arrangement 300 and/or 310.Therefore, when not detecting mistake in a sectors of data, the data that read from storage arrangement 300 and 310 can be sent to dma buffer 250, and not by error-detecting/or error correction stand-by period of introducing.Even when detecting mistake in the data of storage arrangement 300 and 310, the data of correction also are sent to buffer memory 220 by dma buffer 250 (and not by bus 202).Therefore, can reduce and/or prevent because the bus of ECC controller 260 takies reducing of the bus bandwidth that causes.
Fig. 3 is the block diagram of multi-channel memory systems (for example, 4 channel types) according to other embodiments of the invention.
With reference to Fig. 3,4 channel memory systems comprise four storage arrangements 700,710,720 and 730 that are attached to Memory Controller 600.Memory Controller 600 is operated with control store apparatus 700~730 in response to the request of main frame 500.Memory Controller 600 comprises host interface 610, CPU620, register file 630, buffer memory 640, dma buffer piece 650, ECC controller 660 and memory interface 670.Host interface 610 is provided as the interface between Memory Controller 600 and the main frame 500, and memory interface 670 is provided as the interface between Memory Controller 600 and the storage arrangement 700~730.Memory interface 670 is configured to concurrent access storage arrangement 700~730.
As shown in Figure 3, dma buffer piece 650 comprises respectively and storage arrangement 700,710,720 and 730 corresponding D MA impact dampers 651,652,653 and 654.ECC controller 660 comprises respectively and storage arrangement 700,710,720 and 730 corresponding ECC pieces 661,662,663 and 664.
Each of ECC piece 661~664 is configured to detect the mistake in the data of its respective stored apparatus, and data are sent to its corresponding dma buffer simultaneously simultaneously.Dma buffer piece 650 is sent to buffer memory 640 with data from the ECC piece 661~664 of ECC controller 660 under pipe modes.When in data, detecting mistake, corresponding D MA impact damper will be error correction data (replacement detects wrong data) from ECC piece 661~664 corresponding one be sent to buffer memory 640.
Fig. 4 is the sequential chart that is presented under the situation that does not have mistake in the 4 channel memory systems that show among Fig. 3 during the DMA transmission mode output data of the data that read from storage arrangement and dma buffer piece 650.With reference to Fig. 4, when main frame 500 begins the DMA transmission mode when storage arrangement 700~730 request msgs read.The data that read from storage arrangement 700~730 comprise original (or " common ") data and ECC data.In other words, a sector data comprises raw data and ECC data.The data that read from storage arrangement 700~730 are stored in the dma buffer 651~654 by ECC piece 661~664.If ECC piece 661~664 does not detect mistake, the data that then are stored in the dma buffer 651~654 are sent to buffer memory 640.Specifically, has of dma buffer 651~654 in turn alternately output of the bursty data (burst data) of n byte (n is a positive integer) from dma buffer piece 650.If all from storage arrangement 700~730 outputs, then the DMA transmission mode stops the data of main frame 100 requests.
If Fig. 5 is presented to detect data wrong then that read from storage arrangement in the 4 channel memory systems that show among Fig. 3 and from the sequential chart of the data of dma buffer piece 650 outputs during the DMA transmission mode.With reference to Fig. 5, when when storage arrangement 700~730 request msgs read, beginning the DMA transmission mode.The data that read from storage arrangement 700~730 are stored in the dma buffer 651~654 by ECC piece 661~664 respectively.If ECC piece 661 is confirmed to detect mistake, the data that then are stored in the dma buffer 652~654 are sent to buffer memory 640, and ECC piece 661 is carried out error correction.
Thereafter, dma buffer 651 receives the data that ECC piece 661 is corrected, and error correction data is sent to buffer memory 640.During this period, dma buffer 651 is managed independently and will be stored the address of the buffer memory 640 of error correction data.
As shown in Figure 5, if ECC piece 661 from the first sector #0 (for example, the first passage CH#0 of first sector) detects mistake in the data, then second of first sector to four-way ((data of CH #1~CH#3) are sent to dma buffer piece 650, and ECC piece 661 is corrected the mistake that detects.Be sent to buffer memory 640 from the error correction data of first sector (CH #0) that ECC piece 661 is exported together with second the data to four-way.After the data of reading main frame 100 requests from storage arrangement 700~730, the DMA transmission mode stops.
Although with reference to 4 channel memory system descriptions the embodiment of Fig. 3-Fig. 5, those of ordinary skill in the art will readily appreciate that the present invention also may be used on 2 channel memory systems and/or comprises still less or the accumulator system of the passage of greater number.
According to embodiments of the invention, ECC control circuit (or ECC controller) is operated to reduce because the data that read from a plurality of storage arrangements are carried out the stand-by period that error-detecting causes by detect the wrong dma buffer that simultaneously these data is provided to from the data of storage arrangement.The ECC control circuit after misdata is corrected error correction data offer dma buffer, and direct access buffer storer, thus prevent may reducing of the bus bandwidth that may cause owing to error-detecting and/or error correction.
In drawing and description, exemplary embodiment of the present invention is disclosed.Yet, do not breaking away from basically under the situation of principle of the present invention, can carry out many changes and modification to these embodiment.Therefore, although used particular term, they only are used to general and descriptive sense and be not to limit purpose, and scope of the present invention is defined by the claims.

Claims (29)

1. ECC control circuit in Memory Controller comprises:
The ECC controller is configured in response to the request from host apparatus and receives data from storage arrangement, and sends the data to and be used for ECC piece that data are sent to the dma buffer of host apparatus and are used for data are carried out error-detecting and error correction,
Wherein, the ECC controller is configured in response to the ECC piece and detects mistake in data, interrupts sending the data to dma buffer, and will send to dma buffer from the error correction data of ECC piece output.
2. ECC control circuit as claimed in claim 1, wherein, the ECC controller comprises:
A plurality of ECC pieces corresponding to each storage arrangement in a plurality of storage arrangements, are configured to each data error detection and error correction to reading in the respective stored apparatus from described a plurality of storage arrangements;
A plurality of selector switchs corresponding to each ECC piece of described a plurality of ECC pieces, are configured to the corresponding ECC piece that each data parallel that the respective stored apparatus from described a plurality of storage arrangements is read offers dma buffer and described a plurality of ECC pieces,
Wherein, each of described a plurality of selector switchs is configured in response to the corresponding ECC piece from described a plurality of ECC pieces and receives the error-detecting signal, will be from each error correction data rather than offer dma buffer from each data of the corresponding storage arrangement of described a plurality of storage arrangements of the corresponding ECC piece of described a plurality of ECC pieces.
3. ECC control circuit as claimed in claim 1, wherein, the ECC piece is configured in response to detect mistake in the data from storage arrangement, produces the error-detecting signal.
4. ECC control circuit as claimed in claim 3, wherein, the ECC controller also comprises:
Selector switch is configured in response to the error-detecting signal, will offer dma buffer from the error correction data of ECC piece.
5. ECC control circuit as claimed in claim 4, wherein, selector switch is configured to when not receiving the error-detecting signal, and data are offered dma buffer from storage arrangement.
6. ECC control circuit as claimed in claim 4, wherein, the ECC piece comprises: the ECC storer is configured to the data of storage from storage arrangement.
7. ECC control circuit as claimed in claim 6, wherein, the ECC piece is configured in response to detect mistake in data, and the data that are stored in the ECC storer are carried out error correction, and error correction data is exported to selector switch.
8. ECC control circuit as claimed in claim 1, wherein, the ECC piece also is configured in response to detect mistake in data, and output comprises the information of errors present and/or state.
9. accumulator system comprises:
A plurality of storage arrangements;
The interface that provides between host apparatus and the described a plurality of storage arrangement is provided Memory Controller, and wherein, Memory Controller comprises:
Buffer memory;
Dma buffer is configured to data is sent to buffer memory;
A plurality of ECC pieces, each storage arrangement corresponding to described a plurality of storage arrangements, be configured to each data error detection and error correction, and export each error-detecting signal and each error correction data reading in the respective stored apparatus from described a plurality of storage arrangements;
A plurality of selector switchs corresponding to each ECC piece of described a plurality of ECC pieces, are configured to the corresponding ECC piece that each data from the respective stored apparatus of described a plurality of storage arrangements is offered dma buffer and described a plurality of ECC pieces,
Wherein, each of described a plurality of selector switchs is configured in response to the corresponding ECC piece from described a plurality of ECC pieces and receives each error-detecting signal, will be from each error correction data rather than offer dma buffer from each data of the respective stored apparatus of described a plurality of storage arrangements of the corresponding ECC piece of described a plurality of ECC pieces.
10. accumulator system as claimed in claim 9, wherein, each of described a plurality of ECC pieces is configured in response to detect mistake in from each data in the corresponding storage arrangement of described a plurality of storage arrangements, produces each error-detecting signal.
11. accumulator system as claimed in claim 10, wherein, each of described a plurality of ECC pieces is configured to each the ECC data that comprises based in each data from the corresponding storage arrangement of described a plurality of storage arrangements, and each data from the corresponding storage arrangement of described a plurality of storage arrangements are carried out error correction.
12. accumulator system as claimed in claim 11, wherein, each of described a plurality of selector switchs is configured to each the error-detecting signal in response to output, will from corresponding ECC piece output of described a plurality of ECC pieces each error correction data offer dma buffer.
13. accumulator system as claimed in claim 12, wherein, each of described a plurality of selector switchs is configured to each the error-detecting signal in response to output, will from corresponding ECC piece output of described a plurality of ECC pieces each error correction data offer dma buffer, up to finishing each data that is transmitted in comprising mistake.
14. accumulator system as claimed in claim 13, wherein, dma buffer is configured to reception from each data of described a plurality of selector switchs and from each error-detecting signals of described a plurality of ECC pieces, when not when the corresponding ECC piece of described a plurality of ECC pieces receives each error-detecting signal, be configured to described each data are sent to buffer memory.
15. accumulator system as claimed in claim 12, wherein, dma buffer comprises: manager, be configured in response to each error-detecting signal, with each error correction data be sent to buffer memory from described a plurality of selector switchs.
16. accumulator system as claimed in claim 9 also comprises:
Memory interface is attached to described a plurality of ECC piece, and is configured to the interface with described a plurality of storage arrangements.
17. accumulator system as claimed in claim 9, wherein, each of described a plurality of ECC pieces comprises respectively: the ECC storer is configured to the data of storage from a corresponding storage arrangement of described a plurality of storage arrangements.
18. accumulator system as claimed in claim 17, wherein, each ECC piece is configured in response to detect mistake in each data from the corresponding storage arrangement of described a plurality of storage arrangements, to being stored in each the data error detection in each ECC storer, and each error correction data of output.
19. accumulator system as claimed in claim 9, wherein, each ECC piece also is configured in response to detect mistake in the data from the corresponding storage arrangement of described a plurality of storage arrangements, will comprise that each information of errors present and/or state outputs to dma buffer.
20. accumulator system as claimed in claim 19, wherein, dma buffer comprises: manager, be configured in response to each error-detecting signal and based on described each information that comprises errors present and/or state, with described each error correction data be sent to buffer memory from described a plurality of selector switchs.
21. a method that is used in the data transmission error correction, this method comprises:
In response to request, receive data from storage arrangement from host apparatus;
Send the data to and be used for ECC piece that data are sent to the dma buffer of host apparatus and are used for data are carried out error-detecting and error correction;
In response in data, detecting mistake, interrupt data are sent to dma buffer from storage arrangement, and error correction data sends to dma buffer from the ECC piece.
22. method as claimed in claim 21, wherein, Memory Controller comprises and the corresponding a plurality of ECC pieces of each storage arrangement of a plurality of storage arrangements that wherein, the step of interrupting the transmission of data comprises:
A corresponding ECC piece of described a plurality of ECC pieces detects the mistake in each data of a storage arrangement of described a plurality of storage arrangements;
Interrupt described each data are sent to dma buffer from a storage arrangement with the corresponding described a plurality of storage arrangements of an ECC piece that detects wrong described a plurality of ECC pieces;
To carrying out error correction, with each error correction data of a storage arrangement being provided for described a plurality of storage arrangements from each data of a storage arrangement in described a plurality of storage arrangements;
With described each error correction data rather than send dma buffer to from each data of a storage arrangement of described a plurality of storage arrangements.
23. method as claimed in claim 22 also comprises:
With each after the error correction data output, will offer an ECC piece of described a plurality of ECC pieces from next data of the corresponding storage arrangement of described a plurality of storage arrangements.
24. method as claimed in claim 21 also comprises:
In response in data, detecting mistake, produce the error-detecting signal from storage arrangement.
25. method as claimed in claim 24, wherein, the step of interrupting the transmission data comprises:
In response to the error-detecting signal, will offer dma buffer from the error correction data of ECC piece.
26. method as claimed in claim 25 also comprises:
When not receiving the error-detecting signal, will offer dma buffer from the data of storage arrangement.
27. an ECC control circuit comprises:
Dma buffer;
First Error Correction of Coding (ECC) piece is configured to first data error detection and the error correction to reading from the first memory device, and exports first error correction data;
The 2nd ECC piece is configured to second data error detection and the error correction to reading from the second memory device, and exports second error correction data;
Selector switch is configured to first data that will read from the first memory device respectively and offers dma buffer, an ECC piece and the 2nd ECC piece from second data that the second memory device reads,
Wherein, selector switch is configured in response to detecting mistake in first data and/or second data, will from an ECC piece and/or the 2nd ECC piece first and/or second error correction data rather than from first and/or the data that read of second memory device offer dma buffer.
28. ECC control circuit as claimed in claim 27, wherein, the one ECC piece is configured in response to detect the wrong first error-detecting signal that produces in first data, and wherein, the 2nd ECC piece is configured in response to detect the wrong second error-detecting signal that produces in second data.
29. ECC control circuit as claimed in claim 28, wherein, selector switch is configured in response to receiving the first and/or second error-detecting signal respectively, will from the first and/or the 2nd ECC piece first and/or second error correction data rather than from first and/or first and/or second data that read of second memory device offer dma buffer.
CN2008102126121A 2007-08-21 2008-08-21 ECC control circuits, multi-channel memory systems and operation methods thereof Active CN101373449B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020070084143 2007-08-21
KR1020070084143A KR101425957B1 (en) 2007-08-21 2007-08-21 Ecc control circuit and multi channel memory system icluding the same
KR10-2007-0084143 2007-08-21

Publications (2)

Publication Number Publication Date
CN101373449A true CN101373449A (en) 2009-02-25
CN101373449B CN101373449B (en) 2013-06-19

Family

ID=40383279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102126121A Active CN101373449B (en) 2007-08-21 2008-08-21 ECC control circuits, multi-channel memory systems and operation methods thereof

Country Status (4)

Country Link
US (1) US8375257B2 (en)
KR (1) KR101425957B1 (en)
CN (1) CN101373449B (en)
TW (1) TWI476778B (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853143A (en) * 2009-03-31 2010-10-06 S·艾勒特 Hierarchical memory architecture to connect mass storage devices
CN102483710A (en) * 2009-08-25 2012-05-30 惠普发展公司,有限责任合伙企业 Error correcting
CN102543209A (en) * 2010-12-31 2012-07-04 深圳市朗科科技股份有限公司 Error correction device and method of multichannel flash memory controller and multichannel flash memory controller
CN103038829A (en) * 2010-06-01 2013-04-10 格林莱恩特有限责任公司 Dynamic buffer management in a nand memory controller to minimize age related performance degradation due to error correction
CN103077094A (en) * 2011-10-25 2013-05-01 索尼公司 Storage control apparatus, storage apparatus, information processing system, and storage control method
CN103077116A (en) * 2013-01-18 2013-05-01 无锡云动科技发展有限公司 Data storage system of computer and computer system
CN103137215A (en) * 2011-11-23 2013-06-05 马维尔国际贸易有限公司 Providing low-latency error correcting code capability for memory
CN104298626A (en) * 2013-07-19 2015-01-21 索尼公司 Storage control device, storage device, information processing system and storage control method
CN105373442A (en) * 2014-08-05 2016-03-02 旺宏电子股份有限公司 Method and device for monitoring data error status in a memory
CN109753239A (en) * 2017-11-08 2019-05-14 三星电子株式会社 Semi-conductor memory module, semiconductor storage system and the method for accessing it
CN109961817A (en) * 2017-12-26 2019-07-02 南亚科技股份有限公司 Dynamic random access memory and its operating method
CN110046112A (en) * 2017-12-12 2019-07-23 三星电子株式会社 Change the storage system of the operation of Memory Controller according to internal state
CN110399321A (en) * 2018-04-25 2019-11-01 爱思开海力士有限公司 Storage system and its operating method
CN110727401A (en) * 2019-09-09 2020-01-24 无锡江南计算技术研究所 Memory access system
CN111177040A (en) * 2018-11-09 2020-05-19 三星电子株式会社 Storage device sharing host memory, operation method thereof and storage system
CN111566621A (en) * 2018-01-03 2020-08-21 国际商业机器公司 Using dual channel memory as single channel memory with spacing
CN111666106A (en) * 2019-03-07 2020-09-15 慧与发展有限责任合伙企业 Data offload acceleration from multiple remote chips

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
JP2010097600A (en) * 2008-09-22 2010-04-30 Panasonic Corp Semiconductor recording device
US20100250798A1 (en) * 2009-03-31 2010-09-30 Sean Eilert Hierarchical memory architecture with an interface to differing memory formats
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) * 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
US8250439B1 (en) * 2009-09-28 2012-08-21 Nvidia Corporation ECC bits used as additional register file storage
US8321761B1 (en) * 2009-09-28 2012-11-27 Nvidia Corporation ECC bits used as additional register file storage
US8954821B2 (en) * 2009-12-29 2015-02-10 Microntechnology, Inc. Memory device having address and command selectable capabilities
US8954798B2 (en) * 2011-02-11 2015-02-10 Taejin Info Tech Co., Ltd. Alarm-based backup and restoration for a semiconductor storage device
JP5601256B2 (en) * 2011-03-20 2014-10-08 富士通株式会社 Memory controller and information processing apparatus
US8839024B2 (en) * 2011-07-22 2014-09-16 Taejin Info Tech Co., Ltd. Semiconductor storage device-based data restoration
US20130054870A1 (en) * 2011-08-22 2013-02-28 Byungcheol Cho Network-capable raid controller for a semiconductor storage device
US20130067157A1 (en) * 2011-09-12 2013-03-14 Byungcheol Cho Semiconductor storage device having multiple host interface units for increased bandwidith
US20130086315A1 (en) * 2011-10-04 2013-04-04 Moon J. Kim Direct memory access without main memory in a semiconductor storage device-based system
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
JP5970917B2 (en) * 2012-03-30 2016-08-17 富士通株式会社 Reception circuit, information processing apparatus, and control method
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
KR101997794B1 (en) 2012-12-11 2019-07-09 삼성전자주식회사 Memory controller and memory system including the same
KR102143517B1 (en) 2013-02-26 2020-08-12 삼성전자 주식회사 Semiconductor Memory Device including error correction circuit and Operating Method thereof
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US10120694B2 (en) 2013-03-15 2018-11-06 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
CN104331252B (en) * 2014-10-10 2017-08-25 上海新储集成电路有限公司 Isomery NAND solid state hard discs structure and its digital independent management method
US9692455B2 (en) * 2015-09-11 2017-06-27 Micron Technology, Inc. Multi channel memory with flexible code-length ECC
KR102479212B1 (en) * 2016-08-17 2022-12-20 삼성전자주식회사 Semiconductor memory device, memory system including the same and method of operating the same
TWI602190B (en) * 2016-12-21 2017-10-11 旺宏電子股份有限公司 Memory control method and memory device
CN107070593B (en) * 2017-02-09 2020-08-28 武汉米风通信技术有限公司 Interrupt starting method based on multi-channel communication receiving system
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system
US10606713B2 (en) 2018-01-03 2020-03-31 International Business Machines Corporation Using dual channel memory as single channel memory with command address recovery
CN110134322B (en) * 2018-02-02 2022-05-31 建兴储存科技(广州)有限公司 Storage device using DRAM and related data processing method thereof
US11023316B2 (en) * 2018-02-02 2021-06-01 Solid State Storage Technology Corporation DRAM-based storage device and associated data processing method
US20210181990A1 (en) * 2019-12-16 2021-06-17 Micron Technology, Inc. Interrupt signaling for a memory device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030156473A1 (en) * 2001-09-28 2003-08-21 Sinclair Alan Welsh Memory controller
US20060069977A1 (en) * 1999-09-03 2006-03-30 Matsushita Electric Industrial Co., Ltd Error correction device
US20070283217A1 (en) * 2006-05-01 2007-12-06 Seagate Technology Llc Correction of data errors in a memory buffer

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233526A (en) * 1992-02-21 1993-09-10 Toshiba Corp Dma control system
US5606532A (en) * 1995-03-17 1997-02-25 Atmel Corporation EEPROM array with flash-like core
JP3429948B2 (en) * 1996-04-10 2003-07-28 株式会社日立製作所 Controller for embedded CPU
JP4131928B2 (en) 2002-11-18 2008-08-13 株式会社日立製作所 Data storage control method and apparatus
JP2004178122A (en) 2002-11-26 2004-06-24 Renesas Technology Corp Processor system with direct memory access data transfer function
KR100543447B1 (en) * 2003-04-03 2006-01-23 삼성전자주식회사 Flash memory with error correction for page copy
CN100337217C (en) * 2003-07-28 2007-09-12 深圳市朗科科技有限公司 Memory control chip and data memory control method
TW200632658A (en) * 2005-03-04 2006-09-16 Jtek Technology Corp High-speed transmission memory module and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069977A1 (en) * 1999-09-03 2006-03-30 Matsushita Electric Industrial Co., Ltd Error correction device
US20030156473A1 (en) * 2001-09-28 2003-08-21 Sinclair Alan Welsh Memory controller
US20070283217A1 (en) * 2006-05-01 2007-12-06 Seagate Technology Llc Correction of data errors in a memory buffer

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853143B (en) * 2009-03-31 2013-01-09 S·艾勒特 Hierarchical memory architecture to connect mass storage devices
CN101853143A (en) * 2009-03-31 2010-10-06 S·艾勒特 Hierarchical memory architecture to connect mass storage devices
US8621148B2 (en) 2009-03-31 2013-12-31 Micron Technology, Inc. Hierarchical memory architecture to connect mass storage devices
CN102483710A (en) * 2009-08-25 2012-05-30 惠普发展公司,有限责任合伙企业 Error correcting
CN103038829B (en) * 2010-06-01 2016-01-06 格林莱恩特有限责任公司 In order to make the dynamic buffer management in the minimized nand memory controller of aging relevant performance degradation that causes due to error correction
CN103038829A (en) * 2010-06-01 2013-04-10 格林莱恩特有限责任公司 Dynamic buffer management in a nand memory controller to minimize age related performance degradation due to error correction
CN102543209A (en) * 2010-12-31 2012-07-04 深圳市朗科科技股份有限公司 Error correction device and method of multichannel flash memory controller and multichannel flash memory controller
CN102543209B (en) * 2010-12-31 2015-09-30 深圳市朗科科技股份有限公司 The error correction device of multi-channel flash memory controller, method and multi-channel flash memory controller
CN103077094A (en) * 2011-10-25 2013-05-01 索尼公司 Storage control apparatus, storage apparatus, information processing system, and storage control method
CN103137215A (en) * 2011-11-23 2013-06-05 马维尔国际贸易有限公司 Providing low-latency error correcting code capability for memory
CN103137215B (en) * 2011-11-23 2017-06-23 马维尔国际贸易有限公司 Low delay error correcting code ability is provided to memory
CN103077116A (en) * 2013-01-18 2013-05-01 无锡云动科技发展有限公司 Data storage system of computer and computer system
CN104298626B (en) * 2013-07-19 2018-09-21 索尼公司 Memory control apparatus, storage device, information processing system and storage controlling method
CN104298626A (en) * 2013-07-19 2015-01-21 索尼公司 Storage control device, storage device, information processing system and storage control method
CN105373442B (en) * 2014-08-05 2018-09-21 旺宏电子股份有限公司 Method and apparatus for supervisory memory data error states
CN105373442A (en) * 2014-08-05 2016-03-02 旺宏电子股份有限公司 Method and device for monitoring data error status in a memory
CN109753239A (en) * 2017-11-08 2019-05-14 三星电子株式会社 Semi-conductor memory module, semiconductor storage system and the method for accessing it
CN109753239B (en) * 2017-11-08 2023-11-21 三星电子株式会社 Semiconductor memory module, semiconductor memory system, and method of accessing the same
CN110046112A (en) * 2017-12-12 2019-07-23 三星电子株式会社 Change the storage system of the operation of Memory Controller according to internal state
CN109961817A (en) * 2017-12-26 2019-07-02 南亚科技股份有限公司 Dynamic random access memory and its operating method
CN111566621B (en) * 2018-01-03 2024-04-16 国际商业机器公司 Using dual channel memory as single channel memory with spacing
CN111566621A (en) * 2018-01-03 2020-08-21 国际商业机器公司 Using dual channel memory as single channel memory with spacing
US11645010B2 (en) 2018-04-25 2023-05-09 SK Hynix Inc. Solid state drive (SSD) memory system improving the speed of a read operation using parallel DMA data transfers
CN110399321A (en) * 2018-04-25 2019-11-01 爱思开海力士有限公司 Storage system and its operating method
CN111177040A (en) * 2018-11-09 2020-05-19 三星电子株式会社 Storage device sharing host memory, operation method thereof and storage system
CN111177040B (en) * 2018-11-09 2024-03-08 三星电子株式会社 Storage device for sharing host memory, operation method thereof and storage system
CN111666106A (en) * 2019-03-07 2020-09-15 慧与发展有限责任合伙企业 Data offload acceleration from multiple remote chips
CN110727401B (en) * 2019-09-09 2021-03-02 无锡江南计算技术研究所 Memory access system
CN110727401A (en) * 2019-09-09 2020-01-24 无锡江南计算技术研究所 Memory access system

Also Published As

Publication number Publication date
TW200915336A (en) 2009-04-01
TWI476778B (en) 2015-03-11
KR20090019593A (en) 2009-02-25
KR101425957B1 (en) 2014-08-06
US20090055713A1 (en) 2009-02-26
CN101373449B (en) 2013-06-19
US8375257B2 (en) 2013-02-12

Similar Documents

Publication Publication Date Title
CN101373449B (en) ECC control circuits, multi-channel memory systems and operation methods thereof
CN107179996B (en) Data storage device and method of operating the same
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
KR102094334B1 (en) Non-volatile multi-level cell memory system and Method for performing adaptive data back-up in the system
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US9086954B2 (en) Data storing method, memory controller and memory storage apparatus
US9280460B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US8559225B2 (en) Nonvolatile memory device and related method of operation
US9021218B2 (en) Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same
CN104102585A (en) Mapping information recording method, memory controller and memory storage device
EP3625647B1 (en) Providing energy information to memory
US8423838B2 (en) Block management method, memory controller, and memory storage apparatus
CN103650054A (en) Apparatus including memory system controllers and related methods
US8331151B2 (en) Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block
CN107544922B (en) Data writing method, memory control circuit unit and memory storage device
TWI597730B (en) Data writing method, memory control circuit unit and memory storage apparatus
TWI421870B (en) Data writing method for a flash memory, and controller and storage system using the same
TWI698749B (en) A data storage device and a data processing method
US20150161042A1 (en) Memory management method, memory controlling circuit unit, and memory storage device
US20130332653A1 (en) Memory management method, and memory controller and memory storage device using the same
TWI448892B (en) Data moving mehod, memory controller and memory storage apparatus
US10191533B2 (en) Method of enabling sleep mode, memory control circuit unit and storage apparatus
US11586379B2 (en) Memory system and method of operating the same
US9830077B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN104166558A (en) Firmware code loading method, memorizer controller and memorizer memory 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