CN101896978A - Forward error correction of an error acknowledgement command protocol - Google Patents
Forward error correction of an error acknowledgement command protocol Download PDFInfo
- Publication number
- CN101896978A CN101896978A CN200880120247.XA CN200880120247A CN101896978A CN 101896978 A CN101896978 A CN 101896978A CN 200880120247 A CN200880120247 A CN 200880120247A CN 101896978 A CN101896978 A CN 101896978A
- Authority
- CN
- China
- Prior art keywords
- memory device
- order
- replying
- integrated circuit
- parity
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
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)
- Detection And Correction Of Errors (AREA)
Abstract
Embodiments of the invention are generally directed to systems, methods, and apparatuses for the forward error correction coding of an error acknowledgement command protocol. In some embodiments, a host sends commands to a memory device and monitors an error signal to determine whether the memory device received the commands without error. In some embodiments, if the host detects an error then it provides forward error correction code for an error acknowledge command. Other embodiments are described and claimed.
Description
Technical field
Embodiments of the invention relate generally to the field of integrated circuit, and relate more specifically to be used for system, the method and apparatus of the forward error correction of wrong responses bidding protocol (error acknowledge command protocol).
Background technology
Memory sub-system generally includes two or more integrated circuit of the information of transmitting towards each other with the transfer rate that must increase along with the time.For example, main frame (for example, Memory Controller) can be by the order interconnection to the memory device transmission command.Reliability to the memory device transmission command is important especially, and this is because if wrong generation, and the data of then storing in the storer can be destroyed.
Description of drawings
In the accompanying drawings, by example but not by the restriction mode embodiments of the invention are described, wherein, same or analogous Reference numeral is meant same or analogous element.
Fig. 1 is the block diagram that the selected aspect of the computing system of realizing according to embodiments of the invention has been described.
Fig. 2 has illustrated the block diagram of the selected aspect of forward error correction logic according to an embodiment of the invention.
Fig. 3 is the block diagram that the selected aspect of the high performance computing system of realizing according to embodiments of the invention has been described.
Fig. 4 is the process flow diagram of selected aspect that the method for the forward error correction that is used for the wrong responses order according to an embodiment of the invention has been described.
Embodiment
Embodiments of the invention relate generally to system, the method and apparatus of the forward error correction that is used for the wrong responses bidding protocol.In certain embodiments, main frame sends order to memory device, and the monitor command rub-out signal is to determine whether to have taken place error of transmission.If the badcommand error signal is changed to effectively (asserted), then main frame can realize being used for the forward error correction agreement of wrong responses order.Given agreement is more effective than traditional means, this be because, because main frame can suppose that the wrong responses order is inerrably received, so it can resend the order that makes mistakes without delay.In addition, the hardware of main frame is realized can simpler (and/or littler), because can use littler impact damper to store to need the order of retransmitting.
Fig. 1 is the high-level block diagram that the selected aspect of the computing system of realizing according to embodiments of the invention has been described.In the illustrated embodiment, system 100 comprises main frame 110 (for example, Memory Controller), memory device 120 (for example, dynamic random access memory device or " DRAM ") and N bit width order (CMD) interconnection 130.For the ease of discussing, Fig. 1 only shows individual host and single memory spare.But, should be appreciated that system 100 can have the almost main frame and/or the memory device of any amount.For example, system 100 can have a large amount of main frames and/or memory device is used to support high-performance calculation.In alternate embodiment, system 100 can comprise more element, element still less and/or different elements.
Main frame 110 control arrives and from the transmission of the data of memory device 120.In certain embodiments, main frame 110 is integrated on the same tube core with one or more processors.In alternate embodiment, main frame 110 can be positioned on the tube core that is packaged with one or more processors.In other alternate embodiment, main frame 110 is parts of the chipset of system 100.
Main frame 110 comprises core logic 112, I/O (IO) circuit 114 and forward error correction logic (FEC) 116.Core logic 112 almost can be any core logic that is used for integrated circuit, and it comprises the core logic that for example is used to realize one or more Memory Controller functions.IO circuit 114 can comprise driver, impact damper, delay locked loop, phaselocked loop etc., via interconnection 130 order sent to memory device 120.
Stack up, parity checking line 132, CMD interconnection 130 and CMD parity error signal wire 134 provide the high speed digital interface that (to a certain extent) easily make a mistake.CMD interconnection 130 provides unidirectional N bit (for example, 1,2,3 ..., N) wide interconnection is with transmission command.Main frame 110 generates one or more Parity Check Bits to cover (cover) described order (for example, using parity checking logical one 18).Can transmit Parity Check Bits via line 132.As discussed further below, if memory device 120 detects parity error, then it can be changed to CMD parity errors error signal effectively on online 134.
In certain embodiments, memory device 120 provides main system memory for system 100 (at least in part).In alternate embodiment, memory device 120 provides memory cache for system 100 (at least in part).Memory device 120 comprises memory array 122, IO circuit 124, decode logic 126 and parity checking logical one 28.IO circuit 124 can comprise latch, impact damper, delay locked loop, phaselocked loop etc., to receive one or more signals from main frame 110.In alternate embodiment, memory device 120 can comprise more element, element still less and/or different elements.
In certain embodiments, be changed to effectively if main frame detects rub-out signal, then when sending wrong responses order (CMD), it uses the forward error correction agreement.For example, in certain embodiments, forward error correction logic 116 usefulness error correcting codes come wrong responses CMD is encoded.Can be transferred to memory device 120 via the CMD wrong responses CMD that will encode that interconnect 130 " band in ".
In the illustrated embodiment, memory device 120 comprises that decode logic 126 is to decode to the wrong responses CMD that has encoded.Hereinafter FEC logical one 16 and decoding logical one 26 further are discussed with reference to Fig. 2.
Fig. 2 has illustrated the block diagram of the selected aspect of forward error correction logic according to an embodiment of the invention.Forward error correction logic 116 receives the wrong responses order as input, and provides the wrong responses order of encoding with error correcting code as output.In certain embodiments, error correcting code is Hamming code (Hamming code).In alternate embodiment, can use different error correcting codes.In the illustrated embodiment, wrong responses is a single-bit, and replying of coding is M bit (for example, 2,3,4,5 ... M).Should be appreciated that the quantity that is used for bit that wrong responses CMD is encoded will depend on realizes and changes.In certain embodiments, logical one 16 is realized 3 bit Hamming codes.In alternate embodiment, the wrong responses order can comprise 3 or more bits.
Fig. 3 is the block diagram that the selected aspect of the high performance computing system of realizing according to embodiments of the invention has been described.System 300 is the high-performance calculation platforms that are fit to carry out for example thousands of teraflop (or per second TFlops floating-point operation).System 300 comprises a large amount of processors 302 of concurrent working.In certain embodiments, each processor can comprise main frame 110 and the one or more DRAM 120 that connects by the interconnection 130 that is easy to make a mistake.A large amount of parallel work-flows of being carried out by system 300 have increased the possibility that makes a mistake greatly in interconnection 130.For example, use in tradition (for example, only can be after the several years running in PC) just contingent wrong can generation in a few hours (perhaps a couple of days) in system 300.Improved the bit error rate (BER) of system 300 by the reliability of in the wrong responses order, using the enhancing that forward error correction provides.
Fig. 4 is the process flow diagram of selected aspect that the method for the forward error correction that is used for the wrong responses order according to an embodiment of the invention has been described.With reference to processing block 402, main frame (for example, the main frame shown in Fig. 1 110) sends one or more orders to memory device (for example, the memory device shown in Fig. 1 120).In certain embodiments, if memory device detects the one or more orders that make mistakes, then it will order parity errors error signal (perhaps, briefly, rub-out signal) to be changed to effectively (406,408).
At 404 places, the main frame docking port monitors to determine whether rub-out signal is changed to effectively.With reference to processing block 408, memory device detects mistake and rub-out signal is changed to effectively.Main frame detects this rub-out signal, and comes wrong responses order (perhaps, briefly, replying) is encoded with error correcting code at 410 places.In certain embodiments, error correcting code is a Hamming code.
With reference to processing block 412, the acknowledgement transmissions that main frame will have been encoded is to memory device.In certain embodiments, transmitting this by the order interconnection replys.In alternate embodiment, transmit this via dedicated pin (and signal wire) and reply.In other alternate embodiment, multiplexed this replied on another lead.
With reference to processing block 414, main frame is retransmitted the order that makes mistakes, and need not confirm that memory device receives replying of having encoded.For example, main frame can be after sending replying of having encoded, begin to retransmit the order that makes mistakes in next clock period, this is because replying of having reason to be sure of to have encoded will arrive memory device (error of transmission wherein or not takes place, or the mistake that takes place can be repaired (because existence of error correcting code)).In some cases, because main frame does not need to wait for after sending replying of having encoded, so improved the performance of system.
The parts of embodiments of the invention can also be provided with the machine readable media that is used to store machine-executable instruction.Machine readable media can include, but are not limited to the machine readable media that is suitable for the store electrons instruction of flash memory, CD, compact disc read-only memory (CD-ROM), digital multi-purpose/video disc (DVD) ROM, random-access memory (ram), Erasable Programmable Read Only Memory EPROM (EPROM), Electrically Erasable Read Only Memory (EEPROM), magnetic or optical card, propagation medium or other type.For example, embodiments of the invention can be used as computer program and download, it via communication link (for example can be, modulator-demodular unit or network connect) by the data-signal that in carrier wave or other propagation medium, comprises (for example from remote computer, server) is transferred to requesting party's computing machine (for example, client computer).
In the foregoing description, use some term to describe embodiments of the invention.For example, term " logic " representative is used to carry out hardware, firmware, the software (or its combination in any) of one or more functions.For example, the example of " hardware " includes, but are not limited to integrated circuit, finite state machine or or even combinational logic.Integrated circuit can adopt the form of processor (for example, microprocessor), special IC, digital signal processor, microcontroller etc.
Should be appreciated that running through " embodiment " or " embodiment " that this instructions mentions means that special characteristic, structure or the characteristic described in conjunction with this embodiment are included among at least one embodiment of the present invention.So, require emphasis and should be understood that, twice or more times " embodiment " that mentions or " embodiment " or " alternate embodiment " they are not the inevitable same embodiment that be meant in the various piece of this instructions.In addition, in one or more embodiment of the present invention, can the appropriate combination special characteristic, structure or characteristic.
Similarly, should be appreciated that in the foregoing description of embodiments of the invention, thereby, sometimes various features are combined in together in single embodiment, figure or its explanation for the one or more purpose of simplifying in the various inventive aspects of disclosure help understanding.But this publicity pattern should not be interpreted as having reflected following intention: theme required for protection need be than the more feature of clearly putting down in writing in each claim of feature.But as the following claims reflect, each inventive aspect is all features feature still less than single above-mentioned disclosed embodiment.Therefore, follow in this detailed description following claim and be incorporated into clearly in this detailed description hereby.
Claims (20)
1. integrated circuit comprises:
Core logic;
I/O (IO) circuit, it is coupled to described core logic, and described IO circuit provides order by N bit width order interconnection to memory device;
The parity checking logic, it is used to provide one or more Parity Check Bits so that the described order that provides in the described N bit width order interconnection to be provided, wherein, if described memory device is used for detecting parity error, then provide order parity errors error signal; And
Logic, it is used in response to receiving described order parity errors error signal, come to reply replying to encode and provide described to described memory device with error correcting code, wherein, described replying is the one or more bits that are used to reply described order parity errors error signal.
2. integrated circuit as claimed in claim 1 wherein, is provided to described memory device via described N bit width order interconnection with described replying.
3. integrated circuit as claimed in claim 1, wherein, described core logic resends one or more orders to described memory device, and need not determine whether described memory device receives described replying.
4. integrated circuit as claimed in claim 3, wherein, described core logic comprises Memory Controller.
5. integrated circuit as claimed in claim 4, wherein, described core logic also comprises processor.
6. integrated circuit as claimed in claim 1, wherein, described error correcting code comprises Hamming code.
7. integrated circuit as claimed in claim 1, wherein, described memory device is dynamic random access memory device (DRAM).
8. method comprises:
Send one or more orders from main frame to memory device via the order interconnection, wherein, at least some in the described one or more orders are covered by one or more Parity Check Bits;
Supervision is from the input of the order parity errors error signal of described memory device;
If described memory device detects parity error, then receive described order parity errors error signal from described memory device;
Encode to replying with error correcting code, wherein, described replying is the one or more bits that are used to reply described order parity errors error signal; And
Send described replying to described memory device.
9. method as claimed in claim 8, wherein, with described error correcting code to described reply to encode comprise:
With Hamming code described replying encoded.
10. method as claimed in claim 8 wherein, sends described replying to described memory device and comprises:
Send described replying via described order interconnection to described memory device.
11. method as claimed in claim 8 also comprises:
Resend one or more orders to described memory device, and need not determine whether described memory device receives described replying.
12. method as claimed in claim 8, wherein, described main frame comprises Memory Controller.
13. method as claimed in claim 8, wherein, described memory device comprises dynamic random access memory device (DRAM).
14. a system comprises:
First integrated circuit, it is used for receiving one or more orders from second integrated circuit; And
Described second integrated circuit, it is via N bit width order interconnection and described first integrated circuit coupling, and described second integrated circuit comprises,
Core logic;
I/O (IO) circuit, it is coupled to described core logic, and described IO circuit is used for providing described one or more order by described N bit width order interconnection to described first integrated circuit;
The parity checking logic, it is used to provide one or more Parity Check Bits so that the order that provides in the described N bit width order interconnection to be provided, wherein, if described first integrated circuit is used for detecting parity error, then provide order parity errors error signal; And
Logic, it is used in response to receiving described order parity errors error signal, reply replying to encode and provide described to memory device with error correcting code, wherein, described replying is the one or more bits that are used to reply described order parity errors error signal.
15. system as claimed in claim 14, wherein, described first integrated circuit is a memory device.
16. system as claimed in claim 15 wherein, is provided to described memory device via described N bit width order interconnection with described replying.
17. system as claimed in claim 15, wherein, described core logic resends one or more orders to described memory device, and need not determine whether described memory device inerrably receives described replying.
18. system as claimed in claim 14, wherein, described core logic comprises Memory Controller.
19. system as claimed in claim 14, wherein, described memory device comprises dynamic random access memory device (DRAM).
20. system as claimed in claim 19, wherein, described DRAM comprises and being used for the described logic of decoding of replying.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/954,776 | 2007-12-12 | ||
US11/954,776 US20090158122A1 (en) | 2007-12-12 | 2007-12-12 | Forward error correction of an error acknowledgement command protocol |
PCT/US2008/084071 WO2009076023A2 (en) | 2007-12-12 | 2008-11-19 | Forward error correction of an error acknowledgement command protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101896978A true CN101896978A (en) | 2010-11-24 |
CN101896978B CN101896978B (en) | 2013-03-06 |
Family
ID=40754910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880120247.XA Expired - Fee Related CN101896978B (en) | 2007-12-12 | 2008-11-19 | Forward error correction of an error acknowledgement command protocol |
Country Status (5)
Country | Link |
---|---|
US (1) | US20090158122A1 (en) |
KR (1) | KR101141437B1 (en) |
CN (1) | CN101896978B (en) |
TW (1) | TWI398873B (en) |
WO (1) | WO2009076023A2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8862973B2 (en) * | 2009-12-09 | 2014-10-14 | Intel Corporation | Method and system for error management in a memory device |
US9158616B2 (en) | 2009-12-09 | 2015-10-13 | Intel Corporation | Method and system for error management in a memory device |
US9569308B1 (en) | 2013-07-15 | 2017-02-14 | Rambus Inc. | Reduced-overhead error detection and correction |
KR20150064452A (en) | 2013-12-03 | 2015-06-11 | 에스케이하이닉스 주식회사 | Built-in self test circuit and semiconductor device the same |
US9912355B2 (en) | 2015-09-25 | 2018-03-06 | Intel Corporation | Distributed concatenated error correction |
US9979566B2 (en) * | 2016-09-27 | 2018-05-22 | Intel Corporation | Hybrid forward error correction and replay technique for low latency |
KR20210157863A (en) | 2020-06-22 | 2021-12-29 | 에스케이하이닉스 주식회사 | Memory, memory system and operation method of memory |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4672613A (en) * | 1985-11-01 | 1987-06-09 | Cipher Data Products, Inc. | System for transferring digital data between a host device and a recording medium |
EP0813324A1 (en) * | 1996-06-13 | 1997-12-17 | Cerberus Ag | Serial data bus and its use |
US20020184208A1 (en) * | 2001-04-24 | 2002-12-05 | Saul Kato | System and method for dynamically generating content on a portable computing device |
US7389465B2 (en) * | 2004-01-30 | 2008-06-17 | Micron Technology, Inc. | Error detection and correction scheme for a memory device |
KR100604836B1 (en) * | 2004-02-26 | 2006-07-26 | 삼성전자주식회사 | Memory system employing simultaneous bi-directional input/output circuit on address bus line |
US7203890B1 (en) * | 2004-06-16 | 2007-04-10 | Azul Systems, Inc. | Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits |
EP1657845A3 (en) * | 2004-11-10 | 2012-03-07 | Alcatel Lucent | Dynamic retransmission mode selector |
JP2006222908A (en) * | 2005-02-14 | 2006-08-24 | Canon Inc | Retransmission method |
JP4734003B2 (en) * | 2005-03-17 | 2011-07-27 | 富士通株式会社 | Soft error correction method, memory control device, and memory system |
JP4941954B2 (en) * | 2005-07-25 | 2012-05-30 | ルネサスエレクトロニクス株式会社 | Data error detection device and data error detection method |
JP4547313B2 (en) * | 2005-08-01 | 2010-09-22 | 株式会社日立製作所 | Semiconductor memory device |
US7227797B2 (en) * | 2005-08-30 | 2007-06-05 | Hewlett-Packard Development Company, L.P. | Hierarchical memory correction system and method |
US7924776B2 (en) * | 2006-10-27 | 2011-04-12 | Lg Electronics Inc. | Auxiliary ACK channel feedback for control channels and broadcast multicast signals |
US7937641B2 (en) * | 2006-12-21 | 2011-05-03 | Smart Modular Technologies, Inc. | Memory modules with error detection and correction |
US20080259891A1 (en) * | 2007-04-17 | 2008-10-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Multiple packet source acknowledgement |
-
2007
- 2007-12-12 US US11/954,776 patent/US20090158122A1/en not_active Abandoned
-
2008
- 2008-11-19 KR KR1020107012897A patent/KR101141437B1/en not_active IP Right Cessation
- 2008-11-19 WO PCT/US2008/084071 patent/WO2009076023A2/en active Application Filing
- 2008-11-19 CN CN200880120247.XA patent/CN101896978B/en not_active Expired - Fee Related
- 2008-11-25 TW TW097145498A patent/TWI398873B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR101141437B1 (en) | 2012-05-04 |
US20090158122A1 (en) | 2009-06-18 |
WO2009076023A3 (en) | 2009-08-06 |
CN101896978B (en) | 2013-03-06 |
KR20100084572A (en) | 2010-07-26 |
WO2009076023A2 (en) | 2009-06-18 |
TWI398873B (en) | 2013-06-11 |
TW200935434A (en) | 2009-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11669379B2 (en) | Controller that receives a cyclic redundancy check (CRC) code for both read and write data transmitted via bidirectional data link | |
CN101896978B (en) | Forward error correction of an error acknowledgement command protocol | |
EP2297641B1 (en) | Efficient in-band reliability with separate cyclic redundancy code frames | |
US7644347B2 (en) | Silent data corruption mitigation using error correction code with embedded signaling fault detection | |
US7810013B2 (en) | Memory device that reflects back error detection signals | |
US20040117722A1 (en) | Performance of communication systems using forward error correction | |
US20070283214A1 (en) | Corruption-resistant data porting with multiple error correction schemes | |
CN105474190A (en) | Response control for memory modules that include or interface with non-compliant memory technologies | |
CN101325090A (en) | Offsetting cyclic redundancy code lanes from data lanes to reduce latency | |
US7461321B2 (en) | Error detection | |
US20050251595A1 (en) | Failed link training | |
US9571231B2 (en) | In-band status encoding and decoding using error correction symbols | |
US20050160328A1 (en) | Corrupt data | |
US20050152386A1 (en) | Successful transactions | |
US7613958B2 (en) | Error detection in a system having coupled channels | |
US20050152268A1 (en) | Link failures |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130306 Termination date: 20151119 |
|
CF01 | Termination of patent right due to non-payment of annual fee |