Method of transferring data by transmitting lower order and upper odermemory address bits in separate words with respective op codes and start information

- Rambus, Inc.
Skip to:  ·  Claims  ·  References Cited  · Patent History  ·  Patent History

Claims

1. A method of transmitting digital information, comprising the steps of:

(a) transmitting a first word of a packet, comprising the steps of:
(1) transmitting start information onto a first bus, wherein the start information indicates a start of the packet;
(2) transmitting lower order memory address bits onto a first group of second bus lines;
(3) transmitting first opcode information onto an Nth bus line of the second bus lines, wherein N is an integer, and wherein the Nth bus line is not a bus line within the first group of the second bus lines;
(b) transmitting a second word of the packet, comprising the steps of:
(1) transmitting second op code onto the first bus;
(2) transmitting higher order memory address bits onto the first group of the second bus lines;
(3) transmitting third op code information onto the Nth bus line of the second bus lines.

2. The method of claim 1 of transmitting digital information, further comprising the steps of:

(a) transmitting a third word of a packet, comprising the steps of:
(1) transmitting a master device code for detecting collisions;
(2) transmitting count information for determining a count of a number of bytes of a memory transaction.

3. In a digital system comprising a master device and at least one memory device, a process for transmitting memory requests to the memory device comprising the steps of:

transmitting a first word of a packet, comprising the steps of:
transmitting start information onto a first bus line, said start information indicating the start of the packet,
transmitting a first portion of a lower order memory address bits onto a first group of second bus lines, said lower order memory bits comprising information to perform page mode memory accesses, and transmitting a first portion of op code information onto a second group of the second bus lines; and
transmitting a second word of the packet, comprising the steps of:
transmitting a second portion of op code information onto the first bus line, transmitting a third portion of op code information onto the second group of the second bus lines, wherein an op code for page mode accesses can be detected from said first, second and third portions of op code information; and
transmitting a second portion of the lower order memory address bits onto the first group of the second bus lines;
wherein page mode access can be performed after transmission of the second word of the packet.

4. In a computer system comprising a master device and at least one memory device, a bus system for transmitting memory requests to the memory device comprising:

a plurality of bus lines for transmission of memory requests;
a packet comprising a memory request for transmission across the bus lines, said packet comprising:
a first word comprising:
start information indicating the start of the packet;
a first portion of lower order memory address bits comprising information to perform page mode memory accesses; and
a first portion of op code information; and
a second word comprising:
a second and third portion of op code information, wherein an op code for page mode accesses can be detected from the first, second and third portions of op code information, and
a second portion of the lower order memory address bits;
wherein page mode access can be performed after transmission of the second word of the packet.

5. The bus system as set forth in claim 4 wherein said start information is located at a predetermined location in the first word of the packet, said system further comprising:

means for monitoring the predetermined location in each word during transmission of subsequent words of the packet for information other than the start of the packet; and
means for detecting a collision if information occurs at the predetermined location in subsequent words of the packet, said information occurring due to the start information of a second packet overlapping the first packet.

6. The bus system as forth in claim 5, wherein said packet further comprises a code identifying the device transmitting the packet, said means for detecting a collision further comprising means for detecting the code to determine where the code is valid, an invalid code resulting from a collision of packets.

7. The bus system as set forth in claim 4, wherein said packet further comprises count information indicating the number of bytes of memory to be transmitted across the bus lines during the memory transaction requested.

8. The bus system as set forth in claim 7, wherein said data is transmitted in a multiple byte block format, said system further comprising:

means for generating a first mask for the first multiple byte block of the data to be transmitted, said mask indicating the bytes of the multiple byte block which are part of the memory operation requested; and
means for generating a second mask for the last multiple byte block, said mask indicating the bytes of the last multiple byte block which are part of the memory operation requested.

9. The bus system as set forth in claim 8, wherein data is transmitted in 4 byte blocks, the first mask is generated from the two least significant bits of the address bits and the second mask is generated from the two least significant bits of the count information.

10. The bus system as set forth in claim 8, further comprising a first and second look up table comprising mask patterns, said masks generated by performing a table lookup respectively using the address bits and the count information.

11. The bus system as set forth in claim 4, further comprising a summing means for summing the two least significant address bits and internal byte count to produce an overflow value and count information, said overflow information indicating that although the size of the data of the memory request is less than the maximum number of bytes allowed in the memory operation, the granularity of the multiple byte block format transmitted acres the bus prohibits the transaction and the request should be separated into two separate memory requests.

Referenced Cited
U.S. Patent Documents
4247817 January 27, 1981 Heller
4481625 November 6, 1984 Roberts et al.
4519034 May 21, 1985 Smith et al.
4523274 June 11, 1985 Fukunaga et al.
4539677 September 3, 1985 Lo
4630264 December 16, 1986 Wah et al.
4658250 April 14, 1987 Nering et al.
4701909 October 20, 1987 Kavehrad et al.
4751701 June 14, 1988 Roos et al.
4785394 November 15, 1988 Fischer
4785396 November 15, 1988 Murphy et al.
4809264 February 28, 1989 Abraham et al.
4811202 March 7, 1989 Schabowski
4845663 July 4, 1989 Brown et al.
4860198 August 22, 1989 Takenaka
4912627 March 27, 1990 Ashkin et al.
4929940 May 29, 1990 Franaszek et al.
4959829 September 25, 1990 Griesing
5012467 April 30, 1991 Crane
5048009 September 10, 1991 Conrad
5063612 November 1991 Mc Keown
5124982 June 23, 1992 Kaku
5272700 December 21, 1993 Hansen et al.
5301303 April 5, 1994 Abraham et al.
5311172 May 10, 1994 Sadamori
5319755 June 7, 1994 Farmwald et al.
5339307 August 16, 1994 Curtis
5383185 January 17, 1995 Armbruster et al.
5408129 April 18, 1995 Farmwald et al.
Foreign Patent Documents
9102590 April 1991 WOX
Other references
  • Martin, J. "Local Area Networks: Architectures and Implementations", pp. 33, 84-88, USA, Prentice-Hall, (1989). Martin, J. "Local Area Networks: Architectures and Implementations", pp. 87, 223-224, USA, Prentice-Hall, (1989). Gumm, Steve L. and Carl T. Dreher, "Unraveling the Intricacies of Dynamic RAM's", pp. 155-165 Electronic Design News, (Mar. 30, 1989).
Patent History
Patent number: 5765020
Type: Grant
Filed: Jan 16, 1997
Date of Patent: Jun 9, 1998
Assignee: Rambus, Inc. (Mountain View, CA)
Inventors: Richard Maurice Barth (Palo Alto, CA), Matthew Murdy Griffin (Mountain View, CA), Frederick Abbott Ware (Los Altos, CA), Mark Alan Horowitz (Palo Alto, CA)
Primary Examiner: Lance Leonard Barry
Law Firm: Blakely, Sokoloff, Taylor & Zafman LLP
Application Number: 8/784,464
Classifications
Current U.S. Class: 395/823; 340/82506; 340/82507; 340/82552; 395/20016; 395/20017; 395/824; 395/850
International Classification: G06F 1300;