Electrical computers and digital data processing systems: input/ – Input/output data processing – Input/output data buffering
Reexamination Certificate
1999-09-23
2003-01-21
Kim, Hong (Department: 2187)
Electrical computers and digital data processing systems: input/
Input/output data processing
Input/output data buffering
C710S307000
Reexamination Certificate
active
06510472
ABSTRACT:
BACKGROUND
1. Field
This invention relates to data buffers and, more particularly, to data buffers that connect a wide input bus to a narrow output bus.
2. Background Information
A plurality of digital signals can be presented simultaneously on a plurality of lines making up a parallel bus. In some applications, data may be presented on a wide bus and then transferred to a narrower bus for use by remaining portions the system. For example, a Rambuse® memory controller presents 128 bits of data, 2 quad words, which must be narrowed to 64 bits, one quad word, for use by the remaining portions of the system.
The conversion between a wide input bus and a narrow output bus that is one-half the width of the wider bus is relatively straightforward if the data is presented in a consistent order. Unfortunately, this is not always the case. Consider a system that uses data elements of a given width (number of bits) that are received from a source that can provide data units containing two data elements on a wide input bus. Each data unit consists of a first data element and a second data element. A buffer is required to couple the wide input bus to a narrow output bus of one-half the width of the input bus. The buffer must also interleave the two data elements of each data unit in the correct order.
If the input bus consists of an A lane and a B lane, each lane can present one of the two data elements for a data unit. In one cycle, lane A might present the first data element and lane B lane the second. A later cycle might have a reversed presentation. Thus, the buffer must be capable of selectively interleaving in an “A then B” order and in a “B then A” order. Another possibility is one of the two lanes presenting data with the other lane left unused. The second data element would appear in a later cycle on the other lane. Presentation of the data in two cycles will be termed a non-aligned presentation of the data. It is possible that several non-aligned presentations occur in successive cycles. In the first cycle, the first data element of a first data unit might be presented on the B lane of the input bus. In the following cycle, the second data element of the first data unit could be presented on the A lane of the input bus. Simultaneously, the first data element of a second unit could be presented on the B lane of the input bus. This could continue until a cycle in which one data element is presented, which would be the second data unit and which would appear on the A lane of the input bus. Table 1 shows the possible data presentations. Idle cycles where no data is presented can occur between any two active cycles of any form of presentation. The desired order on the output bus is first element of first unit, second element of first unit, first element of second unit, and so on. The buffer that connects the wide input bus to the narrow output bus must receive any of five types of input cycles and produce the desired order on the output bus.
TABLE 1
Cycle
Lane A
Lane B
Presentation
1
First element of first unit
Second element of first unit
aligned
2
Second element of second unit
First element of second unit
reversed
3
First element of third unit
unused
non-aligned
4
unused
Second element of third unit
5
unused
First element of fourth unit
non-aligned
6
Second element of fourth unit
unused
reversed
7
First element of fifth unit
unused
non-aligned
8
First element of sixth unit
Second element of fifth unit
9
unused
Second element of sixth unit
10
unused
First element of seventh unit
non-aligned
11
Second element of seventh unit
First element of eighth unit
reversed
12
Second element of eighth unit
unused
13
unused
unused
idle
One way to accomplish this would be to reorder data received on the input bus necessary so that all the data elements are buffered as required by the output bus. However, this requires a two to one multiplexer for every line of the wide input bus connected to selectively exchange the two halves of the input bus. For a very wide input bus the number of circuits required can be substantial. Accordingly, what is required is a method and apparatus for receiving data units on a wide input bus with varying data element orders, buffering the data, and correctly presenting the data elements on a narrow output bus without requiring a multiplexer for every line of the input bus.
SUMMARY
A buffer circuit coupling an input bus having a first portion and a second portion to an output bus. Each of the first portion, the second portion, and the output bus carry data of a predetermined width. The buffer circuit comprises a first plurality of registers, a second plurality of registers, an unload counter, and a multiplexer. The first plurality of registers is coupled to store data from the first portion of the input bus. The second plurality of registers is coupled to store data from the second portion of the input bus and from a data order signal. The unload counter provides an unload count that selects one of the first plurality of registers and a corresponding one of the second plurality of registers. The multiplexer provides either the selected one of the first plurality of registers or the corresponding one of the second plurality of registers to the output bus. The multiplexer is responsive to the data order signal stored in the corresponding one of the second plurality of registers.
REFERENCES:
patent: 4516201 (1985-05-01), Warren et al.
patent: 5113369 (1992-05-01), Kinoshita
patent: 5506995 (1996-04-01), Yoshimoto et al.
patent: 5613078 (1997-03-01), Kishigami
patent: 5812798 (1998-09-01), Moyer et al.
patent: 5928339 (1999-07-01), Nishikawa
patent: 5944802 (1999-08-01), Bello et al.
patent: 5974493 (1999-10-01), Okumura et al.
patent: 10031647 (1998-02-01), None
patent: 11045207 (1999-02-01), None
Blakely , Sokoloff, Taylor & Zafman LLP
Intel Corporation
Kim Hong
LandOfFree
Dual input lane reordering data buffer does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Dual input lane reordering data buffer, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dual input lane reordering data buffer will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3014296