Bit error rate reduction buffer

Abstract
In a preferred embodiment, the invention provides a circuit for reducing bit error rates. A data recovery circuit recovers data from a first HSS link to differential bit pair inputs. Data from the differential bit pair outputs of the data recovery circuit drive differential bit pair inputs to a plurality of FIFOs. The data is then driven from a parallel output of the plurality of FIFOs to the parallel input of a synchronizer. The data is then driven from the parallel output of the synchronizer to the parallel input of a serializer. The serializer, through different bit pair outputs, drives a second serial HSS link.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of a memory controller, high speed serial links, and a fully buffered dual in-line memory module (FB DIMM). (Prior art)



FIG. 2 is a block diagram of an embodiment of an electronic system for improving BER on HSS links.



FIG. 3 is a block diagram of an embodiment of a bit error rate reduction buffer with skew reduction.



FIG. 4 is a block diagram of an embodiment of a bit error rate reduction buffer with fault-isolation.



FIG. 5 is a block diagram of an embodiment of a bit error rate reduction buffer with fault-isolation and skew reduction.





DETAILED DESCRIPTION


FIG. 1 is a block diagram of a memory controller, 102, high speed serial (HSS) links, 108, and 110, and a fully buffered dual in-line memory module (FBDIMM) 104. Data may be driven from a memory controller, 102, to a FBDIMM, 104, via HSS link, 110. Each HSS link, 108 and 110 contains a plurality of lanes where an individual lane comprises a differential bit pair. Data may also be driven from the FBDIMM, 104, to the memory controller, 102, via HSS link, 108. Today, because signals may be switched at frequencies in the GHz range, the dispersive nature of a PC board and the physical length of the HSS links reduce signal strength such that noise induces errors. Bit errors may be reduced by improving the electrical characteristics of the PC board or by shortening the physical length of the HSS links.



FIG. 2 is a block diagram of an embodiment of a system for improving Bit Error Rate (BER) on HSS links. An HSS link may have any number of lanes (differential bit pairs). In this example, the HSS links pointing to the right, 210, 212, and 218, have the same number of lanes. In this example, the HSS links pointing to the left, 220, 216, and 214 have the same number of lanes. However, the HSS links that point to the right, 210, 212, and 218 are not required to have the same number of lanes as the HSS links that point to the left, 220, 216, and 214. HSS link 210 is not required to have the same number of lanes as HSS links, 212 and 218. HSS link 214 is not required to have the same number of lanes as HSS links, 216 and 220.


In this embodiment, a memory controller, 202, drives differential signals along HSS link, 210, to a bit error rate reduction buffer, 208. When the differential signals reach the bit error rate reduction buffer, 208, the bit error rate reduction buffer, 208, may retrieve the clock and data, may buffer the data, may check for errors, and may reduce skew between lanes. In addition, the bit error rate reduction buffer, 208, may operate internally either in a serial or parallel mode. After data has been operated on by the bit error rate reduction buffer 208, it is resent serially along HSS link 212 to DIMM (Dual In-Line Memory Module), 204 and along HSS link 218 to DIMM, 206.


DIMM 204 includes an AMB (advanced memory buffer) 222. The AMB, 222, provides control and interface signals to the DRAMs (dynamic random access memory), 224, 226, 228; and 230, on the DIMM 204. DIMM 206 includes an AMB (advanced memory buffer) 232. The AMB, 232, provides control and interface signals to the DRAMs (dynamic random access memory), 234, 236, 238, and 240, on the DIMM 206.


Data may also be driven from DIMM 206 through HSS link, 220, through HSS link, 216, to the bit error rate reduction buffer, 208. In this block diagram, data is driven to the left. When the differential signals reach the bit error rate reduction buffer, 208, the bit error rate reduction buffer, 208, may retrieve the clock and data, may buffer the data, may check for errors, and may reduce skew between lanes. In addition, the bit error rate reduction buffer, 208, may operate internally either in a serial or parallel mode. After data has been operated on by the bit error rate reduction buffer 208, it is resent serially along HSS link 214 to memory controller 202.


Data may also be driven from DIMM 204 through RSS link, 216, to the bit error rate reduction buffer, 208. In this block diagram, data is driven to the left. When the differential signals reach the bit error rate reduction buffer, 208, the bit error rate reduction buffer, 208, may retrieve the clock and data, may buffer the data, may check for errors, and may reduce skew between lanes. In addition, the bit error rate reduction buffer, 208, may operate internally either in a serial or parallel mode. After data has been operated on by the bit error rate reduction buffer 208, it is resent serially along HSS link 214 to memory controller 202.



FIG. 3 is a block diagram of an embodiment of a bit error rate reduction buffer, 402, with skew reduction. A HSS link, 464, drives the differential bit pair inputs, 476, of data recovery circuit, 404. Data and clock are retrieved from the HSS link, 464. A PLL (phase-locked loop) may be used as part of the data recovery circuit, 404. The data recovery circuit, 404, through differential bit pair outputs, 478, 480, 482, and 484, drives lanes, 432, 434, 436, and 438, respectively, into the differential bit pair inputs, 486, 488, 490, and 492, of FIFOs (First In First Out storage), 416, 418, 420, and 422 respectively. Because data from FIFOs 416, 418, 420, and 422 is clocked out at nearly the same time, skew between lanes 448, 450, 452, and 454 may be reduced. Data from the outputs, 494, 496, 498, and 400, of FIFOs, 416, 418, 420, and 422 respectively is clocked in parallel through lanes, 448, 450, 452, and 454 into inputs, 401, 403, 405, and 407 of synchronizer 412. The parallel output, 409, of synchronizer 412 then synchronizes the data from lanes 448, 450, 452, and 454. The parallel output, 409, of synchronizer, 412, is then driven into serializer, 406 through bus 472. Serializer, 406, through differential bit pair outputs, 413, then drives HSS link 466.


A HSS link, 468, drives the differential bit pair inputs, 415, of data recovery circuit, 408. Data and clock are retrieved from the HSS link, 468. The data recovery circuit, 408, through differential bit pair outputs, 417, 419, 421, and 423, drives lanes, 440, 442, 444, and 446, respectively, into the differential bit pair inputs, 425, 427, 429, and 431, of FIFOs, 424, 426, 428, and 430 respectively. A PLL may be used as part of the data recovery circuit, 408. Because data from FIFOs 424, 426, 428, and 430 is clocked out at nearly the same time, skew between lanes 456, 458, 460, and 462 may be reduced. Data from the outputs, 433, 435, 437, and 439, of FIFOs, 424, 426, 428, and 430 respectively is clocked in parallel through lanes, 456, 458, 460, and 462 into inputs, 441, 443, 445, and 447 of synchronizer 414. The parallel output, 449, of synchronizer 414 then synchronizes the data from lanes 456, 458, 460, and 462. The parallel out, 449, of synchronizer, 414, is then driven into serializer, 410, through bus 474. Serializer, 410, through differential bit pair outputs, 453, then drives HSS link 470. In this example, the HSS links pointing to the right, 464, and 466, have the same number of lanes. In this example, the HSS links pointing to the left, 468 and 470, have the same number of lanes. However, the HSS links that point to the right, 464 and 466 are not required to have the same number of lanes as the HSS links that point to the left, 468 and 470. HSS link 464 is not required to have the same number of lanes as HSS link 466. HSS link 468 is not required to have the same number of lanes as HSS link 470. Differential signals are not required for signals internal to the bit error rate reduction buffer, 402.



FIG. 4 is a block diagram of an embodiment of a bit error rate reduction buffer, 502, with fault-isolation. A HSS link, 552, drives the differential bit pair inputs, 560, of the data recovery circuit, 504. A PLL may be used as part of the data recovery circuit, 504. Data and clock are retrieved from the HSS link, 552. The differential bit pair outputs, 562, 564, 566, and 568 of the data recovery circuit, 504, drive lanes, 520, 522, 524, and 526, into the differential bit pair inputs, 570, 572, 574, and 576 of CRC (cyclic redundancy check) circuit, 512. If an error is detected, the fault-isolation indicator, 518, sends a signal that indicates an error may have occurred in lane 520, 522, 524, or 526. CRC circuit, 512, through differential bit pair outputs, 578, 580, 582, and 584, drives the differential bit pair inputs, 586, 588, 590, and 592, of serializer, 506, through lanes 528, 530, 532, and 534 respectively. Serializer, 506, then sends the data through differential bit pair output, 594 to HSS link 554.


A HSS link, 556, drives the differential bit pair inputs, 596, of the data recovery circuit, 508. Data and clock are retrieved from the HSS link, 556. A PLL may be used as part of the data recovery circuit, 508. The differential bit pair outputs, 598, 500, 501, and 503 of the data recovery circuit, 508, drive lanes, 536, 538, 540, and 542, into the differential bit pair inputs, 505, 507, 509, and 511 of CRC (cyclic redundancy check) circuit, 514. If an error is detected, the fault-isolation indicator, 516, sends a signal that indicates an error may have occurred in lane 536, 538, 540, or 542. CRC circuit, 514, through differential bit pair outputs, 513, 515, 517, and 519, drives the differential bit pair inputs, 521, 523, 525, and 527, of serializer, 510 through lanes 544, 546, 548, and 550 respectively. Serializer 510 then sends the data through differential bit pair output, 529 to HSS link, 558. In this example, the HSS links pointing to the right, 552, and 554, have the same number of lanes. In this example, the HSS links pointing to the left, 556 and 558, have the same number of lanes. However, the HSS links that point to the right, 552 and 554 are not required to have the same number of lanes as the HSS links that point to the left, 556 and 558. HSS link 552 is not required to have the same number of lanes as HSS link 554. HSS link 556 is not required to have the same number of lanes as HSS link 558. Differential signals are not required for signals internal to the bit error rate reduction buffer, 502.



FIG. 5 is a block diagram of an embodiment of a bit error reduction buffer, 600, with skew reduction and fault isolation. A HSS link, 612, drives the differential bit pair inputs, 648, of the data recovery circuit, 602. A PLL may be used as part of the data recovery circuit, 602. Data and clock are retrieved from the HSS link, 612. The differential bit pair outputs, 649, 650, 651, and 652 of the data recovery circuit, 602, drive lanes, 620, 621, 622, and 623, into the differential bit pair inputs, 661, 662, 663, and 664 of FIFOs, 604, 618A, 619A, and 620A, respectively. Because data from FIFOs 604, 618A, 619A, and 620A, is clocked out at nearly the same time, skew between lanes 624, 625, 626, and 627 may be reduced. Data from the outputs, 665, 666, 667, and 668, of FIFOs, 604, 618A, 619A, and 620A respectively is clocked in parallel through lanes, 624, 625, 626, and 627 into inputs, 669, 670, 671, and 672 of synchronizer 605. The parallel output, 676, of synchronizer 605 then synchronizes the data from lanes 624, 625, 626, and 627. The parallel output, 676, of synchronizer, 605, is then driven into the parallel input, 654, of CRC circuit, 603, though bus 628. If an error is detected, the fault-isolation indicator, 616A, sends a signal that indicates an error may have occurred in lane 624, 625, 626, or 627. CRC circuit, 603, through parallel output, 658, drives parallel input, 680, of serializer, 606, through bus 616. Serializer, 606, through differential bit pair outputs, 681, then drives HSS link 613.


A HSS link, 614, drives the differential bit pair inputs, 682, of the data recovery circuit, 611. A PLL may be used as part of the data recovery circuit, 611. Data and clock are retrieved from the HSS link, 614. The differential bit pair outputs, 683, 684, 685, and 686 of the data recovery circuit, 611, drive lanes, 640, 641, 642, and 643, into the differential bit pair inputs, 695, 696, 697, and 698 of FIFOs, 609, 621A, 622A, and 623A, respectively. Because data from FIFOs 609, 621A, 622A, and 623A, is clocked out at nearly the same time, skew between lanes 636, 637, 638, and 639 may be reduced. Data from the outputs, 699, 600A, 601A, and 602A, of FIFOs, 609, 621A, 622A, and 623A respectively is clocked in parallel through lanes, 636, 637, 638, and 639 into inputs, 603A, 604A, 605A, and 606A of synchronizer 608. The parallel output, 610A, of synchronizer 608 then synchronizes the data from lanes 636, 637, 638, and 639. The parallel output, 610A, of synchronizer, 608, is then driven into the parallel input, 688, of CRC circuit, 610, though bus 632. If an error is detected, the fault-isolation indicator, 617A, sends a signal that indicates an error may have occurred in lane 636, 637, 638, or 639. CRC circuit, 610, through parallel output, 692, drives parallel input, 614A, of serializer, 607, through bus 644. Serializer, 607, through differential bit pair outputs, 615A, then drives HSS link 615. In this example, the HSS links pointing to the left, 614 and 615, have the same number of lanes. However, the HSS links that point to the right, 612 and 613 are not required to have the same number of lanes as the HSS links that point to the left, 614 and 615. HSS link 612 is not required to have the same number of lanes as HSS link 613. HSS link 614 is not required to have the same number of lanes as HSS link 615. Differential signals are not required for signals internal to the bit error rate reduction buffer, 600.


When the BER of an HSS link fails to meet a required specification, a bit error rate reduction buffer may be used to reduce the BER and meet the required specification. One way this may be accomplished is by physically dividing the HSS link into two separate HSS links, each link being about half the length of the original HSS link, and then physically and electrically connecting a bit error rate reduction buffer between the two divided HSS links. The bit error rate reduction buffer improves the BER by recovering data at a point with a higher signal-to-noise ratio. In addition, the bit error rate reduction buffer may indicate when an error occurs through a fault-isolation indicator.


The foregoing description has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. The exemplary embodiments were chosen and described in order to best explain the applicable principles and their practical application to thereby enable others skilled in the art to best utilize various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments except insofar as limited by the prior art.

Claims
  • 1) A bit error rate reduction buffer comprising: a data recovery circuit, the data recovery circuit having differential bit pair inputs and differential bit pair outputs;a plurality of FIFOs, the plurality of FIFOs having differential bit pair inputs and a parallel output;a synchronizer, the synchronizer having a parallel input and a parallel output;a serializer, the serializer having a parallel input and differential bit pair outputs;wherein the differential bit pair outputs of the data recovery circuit are connected to the differential bit pair inputs of the plurality of FIFOs;wherein the parallel output of the plurality of FIFOs is connected to the parallel input of the sychronizer;wherein the parallel output of the synchronizer is connected to the parallel input of the serializer;such that the differential bit pair inputs of the data recovery circuit are driven by a first HSS link;such that the different bit pair outputs of the serializer drive a second HSS link.
  • 2) The bit error rate reduction buffer as in claim 1 wherein a PLL is used as part of the data recovery circuit.
  • 3) A bit error rate reduction buffer comprising: a data recovery circuit, the data recovery circuit having differential bit pair inputs and differential bit pair outputs;a CRC circuit, the CRC circuit having differential bit pair inputs, differential bit pair outputs, and a fault-isolation indicator;a serializer, the serializer having differential bit pair inputs, and differential bit pair outputs;wherein the differential bit pair outputs of the data recovery circuit are connected to the differential bit pair inputs of the CRC circuit;wherein the differential bit pair outputs of the CRC circuit are connected to the differential bit pair inputs of the serializer;such that the differential bit pair inputs of the data recovery circuit are driven by a first HSS link;such that the different bit pair outputs of the serializer drive a second HSS link;such that the fault-isolation indicator of the CRC circuit indicates a fault when a fault is detected by the CRC circuit.
  • 4) The bit error rate reduction buffer as in claim 3 wherein a PLL is used as part of the data recovery circuit.
  • 5) A bit error rate reduction buffer comprising: a data recovery circuit, the data recovery circuit having differential bit pair inputs and differential bit pair outputs;a plurality of FIFOs, the plurality of FIFOs having differential bit pair inputs and a parallel output;a synchronizer, the synchronizer having a parallel input and a parallel output;a CRC circuit, the CRC circuit having a parallel input, a parallel output, and a fault-isolation indicator;a serializer, the serializer having a parallel input and differential bit pair outputs;wherein the differential bit pair outputs of the data recovery circuit are connected to the differential bit pair inputs of the plurality of FIFOs;wherein the parallel output of the plurality of FIFOs is connected to the parallel input of the synchronizer;wherein the parallel output of the synchronizer is connected to the parallel input of the CRC circuit;wherein the parallel output of the CRC circuit is connected to the parallel input of the serializer;such that the differential bit pair inputs of the data recovery circuit are driven by a first HSS link;such that the different bit pair outputs of the serializer drive a second HSS link;such that the fault-isolation indicator of the CRC circuit indicates a fault when a fault is detected by the CRC circuit.
  • 6) The bit error rate reduction buffer as in claim 5 wherein a PLL is used as part of the data recovery circuit.
  • 7) A method for improving BER on HSS links comprising: determining a length of a HSS link;separating the first HSS link into second and third HSS links wherein a length of the second HSS link is about half the length of the first HSS link and a length of the third HSS link is about half the length of the first HSS link;connecting a bit error rate reduction buffer between the second HSS link and the third HSS link.
  • 8) The method for improving BER on HSS links as in claim 7 wherein the bit error rate reduction buffer comprises: a data recovery circuit, the data recovery circuit having differential bit pair inputs and differential bit pair outputs;a plurality of FIFOs, the plurality of FIFOs having differential bit pair inputs and a parallel output;a synchronizer, the synchronizer having a parallel input and a parallel output;a serializer, the serializer having a parallel input and differential bit pair outputs;wherein the differential bit pair outputs of the data recovery circuit are connected to the differential bit pair inputs of the plurality of FIFOs;wherein the parallel outputs of the plurality of FIFOs are connected to the parallel input of the sychronizer;wherein the parallel output of the synchronizer is connected to the parallel input of the serializer;such that the differential bit pair inputs of the data recovery circuit are driven by a first HSS link;such that the different bit pair outputs of the serializer drive a second HSS link.
  • 9) The method for improving BER on HSS links as in claim 7 wherein the bit error rate reduction buffer comprises: a data recovery circuit, the data recovery circuit having differential bit pair inputs and differential bit pair outputs;a CRC circuit, the CRC circuit having differential bit pair inputs, differential bit pair outputs, and a fault-isolation indicator;a serializer, the serializer having differential bit pair inputs, and differential bit pair outputs;wherein the differential bit pair outputs of the data recovery circuit are connected to the differential bit pair inputs of the CRC circuit;wherein the differential bit pair outputs of the CRC circuit are connected to the differential bit pair inputs of the serializer;such that the differential bit pair inputs of the data recovery circuit are driven by a first HSS link;such that the different bit pair outputs of the serializer drive a second HSS link;such that the fault-isolation indicator of the CRC circuit indicates a fault when a fault is detected by the CRC circuit.
  • 10) The method for improving BER on HSS links as in claim 7 wherein the bit error rate reduction buffer comprises: a data recovery circuit, the data recovery circuit having differential bit pair inputs and differential bit pair outputs;a plurality of FIFOs, the plurality of FIFOs having differential bit pair inputs and a parallel output;a synchronizer, the synchronizer having a parallel input and a parallel output;a CRC circuit, the CRC circuit having a parallel input, a parallel output, and a fault-isolation indicator;a serializer, the serializer having a parallel input and differential bit pair outputs;wherein the differential bit pair outputs of the data recovery circuit are connected to the differential bit pair inputs of the plurality of FIFOs;wherein the parallel output of the plurality of FIFOs is connected to the parallel input of the synchronizer;wherein the parallel output of the synchronizer is connected to the parallel input of the CRC circuit;wherein the parallel output of the CRC circuit is connected to the parallel input of the serializer;such that the differential bit pair inputs of the data recovery circuit are driven by a first HSS link;such that the different bit pair outputs of the serializer drive a second HSS link;such that the fault-isolation indicator of the CRC circuit indicates a fault when a fault is detected by the CRC circuit.
  • 11) An electronic system comprising: at least one memory block;at least one memory controller;at least four HSS links;at least one bit error rate reduction buffer;wherein a memory controller is connected to a first end of a first HSS link;wherein a bit error reduction buffer is connected to a second end of the first HSS link;wherein a first end of a second HSS link is connected to the bit error reduction buffer;wherein a second end of the second HSS link is connected to a memory block;wherein a first end of a third HSS link is connected to the memory block;wherein a second end of the third HSS link is connected to the bit error reduction buffer;wherein a first end of a fourth HSS link is connected to the bit error reduction buffer;wherein a second end of the fourth HSS link is connected to the memory controller.
  • 12) The electronic system as in claim 11 wherein the bit error rate reduction buffer comprises: a data recovery circuit, the data recovery circuit having differential bit pair inputs and differential bit pair outputs;a plurality of FIFOs, the plurality of FIFOs having differential bit pair inputs and a parallel output;a synchronizer, the synchronizer having a parallel input and a parallel output;a serializer, the serializer having a parallel input and differential bit pair outputs;wherein the differential bit pair outputs of the data recovery circuit are connected to the differential bit pair inputs of the plurality of FIFOs;wherein the parallel output of the plurality of FIFOs is connected to the parallel input of the sychronizer;wherein the parallel output of the synchronizer is connected to the parallel input of the serializer;such that the differential bit pair inputs of the data recovery circuit are driven by a first HSS link;such that the different bit pair outputs of the serializer drive a second HSS link.
  • 13) The electronic system as in claim 11 wherein the bit error rate reduction buffer comprises: a data recovery circuit, the data recovery circuit having differential bit pair inputs and differential bit pair outputs;a CRC circuit, the CRC circuit having differential bit pair inputs, differential bit pair outputs, and a fault-isolation indicator;a serializer, the serializer having differential bit pair inputs, and differential bit pair outputs;wherein the differential bit pair outputs of the data recovery circuit are connected to the differential bit pair inputs of the CRC circuit;wherein the differential bit pair outputs of the CRC circuit are connected to the differential bit pair inputs of the serializer;such that the differential bit pair inputs of the data recovery circuit are driven by a first HSS link;such that the different bit pair outputs of the serializer drive a second HSS link;such that the fault-isolation indicator of the CRC circuit indicates a fault when a fault is detected by the CRC circuit.
  • 14) The electronic system as in claim 11 wherein the bit error rate reduction buffer comprises: a data recovery circuit, the data recovery circuit having differential bit pair inputs and differential bit pair outputs;a plurality of FIFOs, the plurality of FIFOs having differential bit pair inputs and a parallel output;a synchronizer, the synchronizer having a parallel input and a parallel output;a CRC circuit, the CRC circuit having a parallel input, a parallel output, and a fault-isolation indicator;a serializer, the serializer having a parallel input and differential bit pair outputs;wherein the differential bit pair outputs of the data recovery circuit are connected to the differential bit pair inputs of the plurality of FIFOs;wherein the parallel output of the plurality of FIFOs is connected to the parallel input of the synchronizer;wherein the parallel output of the synchronizer is connected to the parallel input of the CRC circuit;wherein the parallel output of the CRC circuit is connected to the parallel input of the serializer;such that the differential bit pair inputs of the data recovery circuit are driven by a first HSS link;such that the different bit pair outputs of the serializer drive a second HSS link;such that the fault-isolation indicator of the CRC circuit indicates a fault when a fault is detected by the CRC circuit.
  • 15) An electronic system comprising: means for serially transmitting electronic data from one point to another point;a bit error rate reduction buffer;such that the bit error rate reduction buffer improves a BER of the means for serially transmitting electronic data from one point to another point.