IP Library Granted Patent US 12,298,848
Granted Patent B2
US 12,298,848 · App. 18/433,897 · Granted May 13, 2025

Memory error detection

Inventors: Ian Shaeffer (Los Gatos, CA); Craig E. Hampel (Los Altos, CA)
Assignee: Rambus Inc.
G06F11/1004G06F11/0703G06F11/073G06F11/1679H03M13/09
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,298,848
App. No.
18/433,897
Granted
May 13, 2025
Kind
B2
Abstract

Systems and methods are provided for detecting and correcting address errors in a memory system. In the memory system, a memory device generates an error-detection code based on an address transmitted via an address bus and transmits the error-detection code to a memory controller. The memory controller transmits an error indication to the memory device in response to the error-detection code. The error indication causes the memory device to remove the received address and prevent a memory operation.

Claims (35)

1. A dynamic random access memory (DRAM) integrated circuit, comprising:

circuitry to receive a write command and an associated address, from a memory controller;

circuitry to generate a first error detection code dependent on the associated address, the first error detection code to be used to determine whether the associated address as received by the DRAM contains an error;

circuitry to receive from the memory controller, after a delay time with respect to the write command, associated write data to be written into a memory array of the DRAM integrated circuit;

circuitry to generate, for the associated write data, a second error detection code, the second error detection code to be used to determine whether the associated write data as received by the DRAM contains an error; and

circuitry to transmit to the memory controller information to permit the DRAM integrated circuit to detect error in the associated address separately from error in the associated write data.

2. The DRAM integrated circuit of claim 1 , wherein the first error detection code comprises a cyclic-redundancy check (CRC) code, and wherein the circuitry to calculate the first error detection code comprises a CRC generator, the CRC generator to generate the CRC code.

3. The DRAM integrated circuit of claim 2 , wherein the information comprises the CRC code, and wherein the memory controller is to withhold transmission of the associated write data in response to a memory-controller-determination that the CRC code does not match error information computed by the memory controller.

4. The DRAM integrated circuit of claim 2 , wherein the write command is a first write command, wherein the circuitry to receive the associated write data from the memory controller is to receive sets of write data from the memory controller, the sets of data being associated with respective write commands, the sets of write data including the associated write data and the respective write commands including the first write command, wherein the DRAM integrated circuit is to write the sets of write data to respective addresses, including the associated address, and wherein the DRAM integrated circuit is to generate the second error detection code dependent on the sets of data.

5. The DRAM integrated circuit of claim 1 , wherein the delay time is greater than or equal to a time to calculate, using the first error detection code, whether the associated address as received by the DRAM contains an error.

6. The DRAM integrated circuit of claim 1 , wherein the memory controller, in response to detected error in associated address, is to retry a sequence of commands, and wherein the DRAM integrated circuit is to receive the sequence of commands from the memory controller.

7. The DRAM integrated circuit of claim 6 , wherein the sequence of commands comprises one or more commands which follow the write command in a command pipeline.

8. The DRAM integrated circuit of claim 6 , wherein the memory controller is to use the information from the DRAM to detect error in the associated write data separately from error in the associated address, wherein the memory controller is not to retry the sequence of commands and the DRAM integrated circuit is not to receive the sequence of commands from the memory controller in the event of detected error in the associated write data but not in the associated address.

9. The DRAM integrated circuit of claim 1 , wherein the circuitry to receive the write command is to receive the associated address at a first transmission frequency, and wherein the circuitry to receive the associated write data is to receive the associated write data at a second transmission frequency, the second transmission frequency being at least twice the first transmission frequency.

10. The DRAM integrated circuit of claim 1 , wherein the circuitry to receive the write command is to use a first signaling path, wherein the circuitry to receive the associated write data is to use a second signaling path, and wherein the circuitry to transmit the information to the memory controller is to use a third signaling path, each of the first signaling path, the second signaling path and the third signaling path being mutually-exclusive to one another.

11. The DRAM integrated circuit of claim 1 , wherein the delay time is greater than a time for the DRAM integrated circuit to generate the first error detection code and for the memory controller to receive transmission of the information from the DRAM integrated circuit.

12. A method of operating a dynamic random access memory (DRAM) integrated circuit, the memory comprising, with circuitry of the DRAM integrated circuit:

receiving a write command and an associated address, from a memory controller;

generating a first error detection code dependent on the associated address, the first error detection code to be used to determine whether the associated address as received by the DRAM contains an error;

receiving from the memory controller, after a delay time with respect to the write command, associated write data, the associated write data to be written into a memory array of the DRAM integrated circuit;

generating, for the associated write data, a second error detection code, the second error detection code to be used to determine whether the associated write data as received by the DRAM contains an error; and

transmitting to the memory controller information to permit the DRAM integrated circuit to detect error in the associated address separately from error in the associated write data.

13. The method of claim 12 , wherein the information comprises a CRC code, and wherein the memory controller is to withhold transmission of the associated write data in response to a memory-controller-determination that the CRC code does not match error information computed by the memory controller.

14. The method of claim 12 , wherein the write command is a first write command, wherein the method further comprises receiving sets of write data from the memory controller, the sets of data being associated with respective write commands, the sets of write data including the associated write data and the respective write commands including the first write command, and wherein the method further comprises writing the sets of write data to be written to respective addresses, including the associated address, and generating the second error detection code dependent on the sets of data.

15. The method of claim 12 , wherein the delay time is greater than or equal to a time to calculate, using the first error detection code, whether the write command as received by the DRAM contains an error.

16. The method of claim 12 , wherein the memory controller, in response to detected error in associated address, is to retry a sequence of commands in the event that error in an associated address is detected using the first error detection code, and wherein the method further comprises receiving the sequence of commands from the memory controller.

17. The method of claim 16 , wherein the sequence of commands comprises one or more commands in a command pipeline which follow the write command.

18. The method of claim 12 , wherein the method comprises receiving the write command using a first signaling path, receiving the associated write data using a second signaling path, and transmitting the information to the memory controller using a third signaling path, each of the first signaling path, the second signaling path and the third signaling path being mutually-exclusive to one another.

19. The method of claim 12 , wherein the delay time is greater than a time for the DRAM integrated circuit to generate the first error detection code and to transmit the information to the memory controller.

20. A dynamic random access memory (DRAM) integrated circuit, comprising:

means for receiving a write command and an associated address, from a memory controller;

means for generating a first error detection code dependent on the associated address, the first error detection code to be used to determine whether the associated address as received by the DRAM contains an error;

means for receiving from the memory controller, after a delay time with respect to the write command, associated write data to be written into a memory array of the DRAM integrated circuit;

means for generating, for the associated write data, a second error detection code, the second error detection code to be used to determine whether the associated write data as received by the DRAM contains an error; and

means for transmitting to the memory controller information to permit the DRAM integrated circuit to detect error in the associated address separately from error in the associated write data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2025
From: RAMBUS INC.
To: SIGNAL LLP
Reel/Frame 073085/0650 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2024
From: SHAEFFER, IAN; HAMPEL, CRAIG
To: RAMBUS INC.
Reel/Frame 066392/0918 →
Continuity (12)
Continuation 18095341 · Jan 10, 2023
Continuation 17481246 · Sep 21, 2021
Continuation 16678159 · Nov 8, 2019
Continuation 15838161 · Dec 11, 2017
Continuation 14864500 · Sep 24, 2015
Continuation 14200665 · Mar 7, 2014
Continuation 14020755 · Sep 6, 2013
Continuation 13666918 · Nov 1, 2012
Continuation 12424094 · Apr 15, 2009
Continuation In Part 12035022 · Feb 21, 2008
Continuation 11436284 · May 18, 2006
Related Publication 20240296088A1 · Sep 5, 2024
References Cited (201)
US 3585378A · Bouricius et al. · 1971 [cited by applicant]
US 3893072A · D'Antonio et al. · 1975 [cited by applicant]
US 4054911A · Fletcher et al. · 1977 [cited by applicant]
US 4162536A · Morley · 1979 [cited by applicant]
US 4354225A · Frieder et al. · 1982 [cited by applicant]
US 4359771A · Johnson et al. · 1982 [cited by applicant]
US 4363125A · Brewer et al. · 1982 [cited by applicant]
US 4369510A · Johnson et al. · 1983 [cited by applicant]
US 4394763A · Nagano et al. · 1983 [cited by applicant]
US 4456993A · Taniguchi et al. · 1984 [cited by applicant]
US 4468731A · Johnson et al. · 1984 [cited by applicant]
US 4527237A · Frieder et al. · 1985 [cited by applicant]
US 4535455A · Peterson · 1985 [cited by applicant]
US 4543628A · Pomfret · 1985 [cited by applicant]
US 4584685A · Gajjar · 1986 [cited by applicant]
US 4596014A · Holeman · 1986 [cited by applicant]
US 4597084A · Dynneson et al. · 1986 [cited by applicant]
US 4604750A · Manton et al. · 1986 [cited by applicant]
US 4648064A · Morley · 1987 [cited by applicant]
US 4792923A · Nakase et al. · 1988 [cited by applicant]
US 4888773A · Arlington · 1989 [cited by applicant]
US 4914657A · Walter et al. · 1990 [cited by applicant]
US 4920539A · Albonesi · 1990 [cited by applicant]
US 4924456A · Maxwell et al. · 1990 [cited by applicant]
US 4970714A · Chen et al. · 1990 [cited by applicant]
US 5065312A · Bruckert et al. · 1991 [cited by applicant]
US 5070474A · Tuma et al. · 1991 [cited by applicant]
US 5173905A · Parkinson et al. · 1992 [cited by applicant]
US 5218691A · Tuma et al. · 1993 [cited by applicant]
US 5313627A · Amini et al. · 1994 [cited by applicant]
US 5341251A · Fincher et al. · 1994 [cited by applicant]
US 5347643A · Kondo et al. · 1994 [cited by applicant]
US 5392302A · Kemp et al. · 1995 [cited by applicant]
US 5404361A · Casorso et al. · 1995 [cited by applicant]
US 5450609A · Schultz et al. · 1995 [cited by applicant]
US 5488691A · Fuoco et al. · 1996 [cited by applicant]
US 5490153A · Gregg et al. · 1996 [cited by applicant]
US 5502733A · Kishi et al. · 1996 [cited by applicant]
US 5550988A · Sarangdhar et al. · 1996 [cited by applicant]
US 5553231A · Papenberg et al. · 1996 [cited by applicant]
US 5559956A · Sukegawa · 1996 [cited by applicant]
US 5588112A · Dearth et al. · 1996 [cited by applicant]
US 5687183A · Chesley · 1997 [cited by applicant]
US 5729550A · Nakajima et al. · 1998 [cited by applicant]
US 5751932A · Horst et al. · 1998 [cited by applicant]
US 5751955A · Sonnier et al. · 1998 [cited by applicant]
US 5778419A · Hansen et al. · 1998 [cited by applicant]
US 5828677A · Sayeed et al. · 1998 [cited by applicant]
US 5841795A · Olarig et al. · 1998 [cited by applicant]
US 5987628A · Von Bokern et al. · 1999 [cited by applicant]
US 6003151A · Chuang · 1999 [cited by applicant]
US 6009542A · Koller et al. · 1999 [cited by applicant]
US 6012136A · Brown · 2000 [cited by applicant]
US 6038679A · Hanson · 2000 [cited by applicant]
US 6065146A · Bosshart · 2000 [cited by applicant]
US 6081145A · Bandai et al. · 2000 [cited by applicant]
US 6094732A · Takano · 2000 [cited by applicant]
US 6115763A · Douskey · 2000 [cited by applicant]
US 6125470A · Hee et al. · 2000 [cited by applicant]
US 6151689A · Garcia et al. · 2000 [cited by applicant]
US 6169710B1 · Arai · 2001 [cited by applicant]
US 6189123B1 · Anders Nystrom et al. · 2001 [cited by applicant]
US 6208663B1 · Schramm et al. · 2001 [cited by applicant]
US 6212660B1 · Joeressen et al. · 2001 [cited by applicant]
US 6249894B1 · Lin et al. · 2001 [cited by applicant]
US 6308294B1 · Ghosh et al. · 2001 [cited by applicant]
US 6314541B1 · Seytter et al. · 2001 [cited by applicant]
US 6367048B1 · McAuliffe et al. · 2002 [cited by applicant]
US 6373842B1 · Coverdale et al. · 2002 [cited by applicant]
US 6393504B1 · Leung et al. · 2002 [cited by applicant]
US 6397365B1 · Brewer et al. · 2002 [cited by applicant]
US 6438723B1 · Kalliojarvi · 2002 [cited by applicant]
US 6507928B1 · Richardson · 2003 [cited by applicant]
US 6529561B2 · Sipola · 2003 [cited by applicant]
US 6545994B2 · Nelson et al. · 2003 [cited by applicant]
US 6553003B1 · Chang · 2003 [cited by applicant]
US 6560725B1 · Longwell et al. · 2003 [cited by applicant]
US 6606589B1 · Tuma et al. · 2003 [cited by applicant]
US 6625749B1 · Quach · 2003 [cited by applicant]
US 6646911B2 · Hidaka · 2003 [cited by applicant]
US 6697986B2 · Kim et al. · 2004 [cited by applicant]
US 6700867B2 · Classon et al. · 2004 [cited by applicant]
US 6704898B1 · Furuskar et al. · 2004 [cited by applicant]
US 6715116B2 · Lester et al. · 2004 [cited by applicant]
US 6725414B2 · Seyyedy · 2004 [cited by applicant]
US 6735726B2 · Muranaka et al. · 2004 [cited by applicant]
US 6742159B2 · Sakurai · 2004 [cited by applicant]
US 6745364B2 · Bhatt et al. · 2004 [cited by applicant]
US 6754856B2 · Cofler et al. · 2004 [cited by applicant]
US 6765740B2 · Tsuchiya · 2004 [cited by applicant]
US 6779148B2 · Tanaka · 2004 [cited by applicant]
US 6792501B2 · Chen et al. · 2004 [cited by applicant]
US 6823424B2 · Larson et al. · 2004 [cited by applicant]
US 6832340B2 · Larson et al. · 2004 [cited by applicant]
US 6845472B2 · Walker et al. · 2005 [cited by applicant]
US 6851081B2 · Yamamoto · 2005 [cited by applicant]
US 6880103B2 · Kim et al. · 2005 [cited by applicant]
US 6883130B2 · Wilhelmsson et al. · 2005 [cited by applicant]
US 6909758B2 · Ramesh et al. · 2005 [cited by applicant]
US 6912682B1 · Aoki · 2005 [cited by applicant]
US 6941493B2 · Phelps · 2005 [cited by applicant]
US 6977888B1 · Frenger et al. · 2005 [cited by applicant]
US 6990604B2 · Binger · 2006 [cited by applicant]
US 7027539B2 · Yang et al. · 2006 [cited by applicant]
US 7047473B2 · Hwang et al. · 2006 [cited by applicant]
US 7072307B2 · Tong et al. · 2006 [cited by applicant]
US 7168023B2 · Morgan et al. · 2007 [cited by applicant]
US 7200770B2 · Hartwell et al. · 2007 [cited by applicant]
US 7231580B2 · Shiota et al. · 2007 [cited by applicant]
US 7249289B2 · Muranaka et al. · 2007 [cited by applicant]
US 7339759B2 · Hashimoto · 2008 [cited by applicant]
US 7340641B1 · Binger · 2008 [cited by applicant]
US 7355803B2 · Yang · 2008 [cited by applicant]
US 7418436B2 · Maeda et al. · 2008 [cited by applicant]
US 7421547B2 · Matsui et al. · 2008 [cited by applicant]
US 7519894B2 · WeiB et al. · 2009 [cited by applicant]
US 7523381B2 · Eggleston et al. · 2009 [cited by applicant]
US 7529965B2 · Ikeuchi et al. · 2009 [cited by applicant]
US 7548495B2 · Kobayashi · 2009 [cited by applicant]
US 7562285B2 · Wang et al. · 2009 [cited by applicant]
US 7624298B2 · Kasahara et al. · 2009 [cited by applicant]
US 7657783B2 · Levitan · 2010 [cited by applicant]
US 7836386B2 · Schumacher et al. · 2010 [cited by applicant]
US 7831882B2 · Tsern et al. · 2010 [cited by applicant]
US 7831888B2 · Wang et al. · 2010 [cited by applicant]
US 7836378B2 · Shaeffer · 2010 [cited by applicant]
US 7882423B2 · Wang et al. · 2011 [cited by applicant]
US 7949931B2 · Lastras-Montano · 2011 [cited by applicant]
US 8042023B2 · Balb · 2011 [cited by applicant]
US 8132077B2 · Wang et al. · 2012 [cited by applicant]
US 8352805B2 · Shaeffer · 2013 [cited by applicant]
US 8555116B1 · Shaeffer · 2013 [cited by applicant]
US 8707110B1 · Shaeffer · 2014 [cited by applicant]
US 9170894B2 · Shaeffer · 2015 [cited by applicant]
US 9471418B1 · Ahn et al. · 2016 [cited by applicant]
US 9870283B2 · Shaeffer · 2018 [cited by applicant]
US 10558520B2 · Shaeffer · 2020 [cited by applicant]
US 11106799B2 · Keromytis et al. · 2021 [cited by applicant]
US 11150982B2 · Shaeffer · 2021 [cited by applicant]
US 11579965B2 · Shaeffer · 2023 [cited by applicant]
US 20010056567A1 · Sakurai · 2001 [cited by applicant]
US 20020053042A1 · Brown · 2002 [cited by applicant]
US 20020144210A1 · Borkenhagen et al. · 2002 [cited by applicant]
US 20030115417A1 · Corrigan · 2003 [cited by applicant]
US 20040073649A1 · Inami et al. · 2004 [cited by applicant]
US 20040088497A1 · Deans et al. · 2004 [cited by applicant]
US 20040139310A1 · Maeda et al. · 2004 [cited by applicant]
US 20040205433A1 · Gower et al. · 2004 [cited by applicant]
US 20040209420A1 · Ljungcrantz et al. · 2004 [cited by applicant]
US 20040237001A1 · Schulz et al. · 2004 [cited by applicant]
US 20040264030A1 · Yang · 2004 [cited by applicant]
US 20050055522A1 · Yagi · 2005 [cited by applicant]
US 20050073899A1 · Gallivan et al. · 2005 [cited by applicant]
US 20060075291A1 · Takahashi · 2006 [cited by applicant]
US 20060077750A1 · Pescatore · 2006 [cited by applicant]
US 20060098320A1 · Koga et al. · 2006 [cited by applicant]
US 20060123483A1 · Cohen · 2006 [cited by applicant]
US 20060126460A1 · Kobayashi · 2006 [cited by applicant]
US 20060277434A1 · Tsern et al. · 2006 [cited by applicant]
US 20070002482A1 · Daikokuya et al. · 2007 [cited by applicant]
US 20070043917A1 · Matsui et al. · 2007 [cited by applicant]
US 20070150872A1 · Vohra · 2007 [cited by applicant]
US 20070162825A1 · Wang et al. · 2007 [cited by applicant]
US 20080046802A1 · Honda · 2008 [cited by applicant]
US 20080163007A1 · Shaeffer et al. · 2008 [cited by applicant]
US 20080168325A1 · Yoon · 2008 [cited by applicant]
US 20080195922A1 · Lee · 2008 [cited by applicant]
US 20090006863A1 · Mizuno · 2009 [cited by applicant]
US 20090204871A1 · Eggleston et al. · 2009 [cited by applicant]
US 20100217915A1 · O'Connor et al. · 2010 [cited by applicant]
US 20110246857A1 · Bae et al. · 2011 [cited by applicant]
US 20120179866A1 · Davis et al. · 2012 [cited by applicant]
US 20160179634A1 · Alexander et al. · 2016 [cited by applicant]
Answers.com, “ECC Memory,” http://www.answers.com/topic/eec-memory, obtained Jun. 20, 2006. 2 pages. [cited by applicant]
Cardarilli et al., “Design of a Fault Tolerant Solid State Mass Memory,” IEEE Transactions of Reliability, vol. 52, No. 4, Dec. 2003, pp. 476-491. 16 pages. [cited by applicant]
Dell Computer Corporation et al., “Serial ATA II: Electrical Specification,” Rev. 1, May 26, 2004. 187 pages. [cited by applicant]
Digital Equipment Corporation, “ESE50 SDI Solid State Disk Service Guide,” Jun. 1993. 132 pages. [cited by applicant]
Digital Equipment Corporation, “Hardware Documentation—Machines DEC—VAX Hardware Reference,” printed from http://www.netbsd.org/documentation/hardware/Machines/DEC/vax on May 13, 2005. 91 pages. [cited by applicant]
Digital Equipment Corporation, “Software Product Description, Product Name: HSC High Performance Software, Ver. 8.6,” Jun. 1996. 6 pages. [cited by applicant]
Digital Equipment Corporation, “Software Product Description, Product Name: HSC Software, Ver. 6.5,” Jun. 1992. 4 pages. [cited by applicant]
EP Communication dated Jan. 2, 2013 in EP Application No. 07794938.6-2224. 3 pages. [cited by applicant]
Geisler, J., “Error Detection & Correction,” Taylor University, Computer and System Sciences Department, Sep. 16, 2005. 21 pages. [cited by applicant]
Grosspietsch et al., “A Memory Interface Chip Designed for Fault Tolerance,” VLSI System Design, Jun. 1987, pp. 112-118. 5 pages. [cited by applicant]
Grosspietsch et al., “The VLSI Implementation of a Fault-Tolerant Memory Interface—a Status Report,” VLSI '85, 1986, pp. 155-164. 10 pages. [cited by applicant]
Haas et al., “Advances in Server Memory Technology,” presented at Spring 2005 Intel Developers Forum, San Francisco, CA, Mar. 1, 2005. 31 pages. [cited by applicant]
Hanna, P., “Error Detection and Correction,” Lecture 9, Queen's University-Belfast, Jan. 3, 2005. 12 pages. [cited by applicant]
Hodgart et al., “A (16,8) Error Correcting Code (T=2) for Critical Memory Applications,” DASIA2000, Montreal, Canada, May 22-26, 2000. 4 pages. [cited by applicant]
JP Argument Response dated Sep. 12, 2012 to the Office Action dated Jun. 13, 2012 re JP Application No. 2009-511054. 6 pages. [cited by applicant]
JP Office Action dated Jun. 13, 2012 re JP Application No. 2009-511054. 5 pages. [cited by applicant]
JP Voluntary Amendment and Petition filed Jul. 16, 2010 in JP Patent Application No. 2009-511054. 8 pages. [cited by applicant]
Kilbuck et al., “Fully Buffered DIMM—Unleashing Server Capacity,” Micron Technology, Inc., Apr. 8, 2005. 199 pages. [cited by applicant]
May et al., “HiPER: A Compact Narrow Channel Router with Hop-by-Hop Error Correction,” IEEE Transactions on Parallel and Distributed Systems, vol. 13, No. 5, May 2002, pp. 485-498. 14 pages. [cited by applicant]
Notice of Allowance and Issue Fee(s) due for U.S. Appl. No. 11/145,429 with mail date of Jul. 14, 2010. 4 Pages. [cited by applicant]
PCT International Preliminary Report on Patentability dated Aug. 12, 2008 in International Application No. PCT/US2007/011733. 22 pages. [cited by applicant]
PCT International Search Report and Written Opinion dated Jan. 11, 2008 in International Application No. PCT/US2007/011733. 13 pages. [cited by applicant]
PCT International Search Report and Written Opinion dated Mar. 6, 2007 in International Application No. PCT/US2006/020698. 16 pages. [cited by applicant]
Pearson Education, “Error Detection and Correction,” Logic and Computer Design Fundamentals, 3rd Ed., 2004, pp. 1-5. 5 pages. [cited by applicant]
Sidiropoulos et al., “A 700 Mb/s/pin CMOS Signaling Interface Using Current Integrating Receivers,” IEEE Journal of Solid-State Circuits, vol. 32, No. 5, pp. 681-690, May 1997. 10 pages. [cited by applicant]
Siewiorek, Dan, “20 Fault Tolerance & Memory Hierarchy,” Lecture Handout, Carnegie Mellon University, Nov. 23, 1998. 18 pages. [cited by applicant]
Wicker, Stephen B., “Error Control Systems for Digital Communications and Storage” Prentice-Hall, 1995, pp. 392-423. 17 pages. [cited by applicant]
Wikipedia, “Forward Error Correction,” http://en.wikipedia.org/wiki/forward_error_correction, Printed Jun. 20, 2006. 3 pages. [cited by applicant]