CA2640317A1 - Cooperative writes over the address channel of a bus - Google Patents

Cooperative writes over the address channel of a bus Download PDF

Info

Publication number
CA2640317A1
CA2640317A1 CA002640317A CA2640317A CA2640317A1 CA 2640317 A1 CA2640317 A1 CA 2640317A1 CA 002640317 A CA002640317 A CA 002640317A CA 2640317 A CA2640317 A CA 2640317A CA 2640317 A1 CA2640317 A1 CA 2640317A1
Authority
CA
Canada
Prior art keywords
payload
channel
bus
receiving device
address
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
Application number
CA002640317A
Other languages
French (fr)
Other versions
CA2640317C (en
Inventor
Richard Gerard Hofmann
Terence J. Lohman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Incorporated
Richard Gerard Hofmann
Terence J. Lohman
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated, Richard Gerard Hofmann, Terence J. Lohman filed Critical Qualcomm Incorporated
Publication of CA2640317A1 publication Critical patent/CA2640317A1/en
Application granted granted Critical
Publication of CA2640317C publication Critical patent/CA2640317C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol

Abstract

A processing system and method for communicating in a processing system over a bus is disclosed. The processing system includes a receiving device, a bus having first, second and third channels, and a sending device configured to address the receiving device on the first channel, and read a payload from the receiving device on the second channel, the sending device being further configured to write a first portion of a payload to the receiving device on the first channel and a second portion of the payload to the receiving device on the third channel.

Claims (42)

1. A processing system, comprising:
a receiving device;
a bus having first, second and third channels; and a sending device configured to address the receiving device on the first channel, and read payload from the receiving device the second channel, the sending device being further configured to write a first portion of a payload to the receiving device on the first channel and a second portion of the payload to the receiving device on the third channel.
2. The processing system of claim 1 wherein the sending device is further configured to concurrently write the first and second portions of the payload to the receiving device.
3. The processing system of claim 1 wherein the sending device is further configured to concurrently address the receiving device and write the second portion of the payload to the receiving device.
4. The processing system of claim 1 wherein the sending device is further configured write the first and second portions of the payload to a first address of the receiving device, the sending device being further configured to send a second address to the receiving device on the first channel concurrently with the writing of the second portion of the payload to the receiving device.
5. The processing system of claim 1 wherein the sending device comprises a first processing device and the receiving device comprises a bus interconnect, the processing system further comprising a second processing device, the bus interconnect being configured to connect the first and second processing devices to a shared resource, and wherein the first processing device is further configured to write the first and second portions of a payload to the bus interconnect in response to a snoop address from the second processing device.
6. The processing system of claim 1 wherein the bus comprises a fourth channel, the sending device being further configured to address the receiving device on the first channel for write operations and address the receiving device on the fourth channel for read operations, and wherein the sending device is further configured to write a third portion of the payload to the receiving device on the fourth channel.
7. The processing system of claim 6 wherein the sending device is further configured to concurrently write the first, second and third portions of the payload to the receiving device.
8. The processing system of claim 6 wherein the sending device is further configured write the first, second and third portions of the payload to a first address of the receiving device, the sending device being further configured to send a second address to the receiving device on the first channel concurrently with the writing of the second or third portion of the payload to the receiving device.
9. The processing system of claim 1 wherein the sending is further configured to provide a control signal to the receiving device indicating whether the first channel is currently being used to address the receiving device or write the first portion of the payload to the receiving device.
10. The processing system of claim 1 wherein the sending device is further configured to provide a control signal on each of the first and third channels to the receiving device, each of the control signals identifying the portion of the payload being sent on its corresponding channel.
11. A processing system, comprising:
a receiving device;
a bus having first, second and third channels;
means for addressing the receiving device on the first channel;
means for reading a payload from the receiving device on the second channel; and means for writing a first portion of the payload to the receiving device on the first channel and a second portion of the payload to the receiving device on the third channel.
12. A method of communicating between a sending device and a receiving device over a bus, the bus comprising first, second and third channel, the method comprising:
addressing a receiving device on the first channel, reading a payload from the receiving device on the second channel; and writing a first portion of a payload to the receiving device on the first channel and a second portion of the payload to the receiving device on the third channel.
13. The method of claim 12 wherein the first and second portions of the payload are concurrently written to the receiving device.
14. The method of claim 12 wherein the receiving device is addressed concurrently with the writing of the second portion of the payload to the receiving device.
15. The method of claim 12 wherein the first and second portions of the payload a written to a first address of the receiving device, the addressing of the receiving device further comprising sending a second address to the receiving device on the first channel concurrently with the writing of the second portion of the payload to the receiving device.
16. The method of claim 12 wherein the sending device comprises a first processing device and the receiving device comprises a bus interconnect, the processing system further comprising a second processing device, the bus interconnect being configured to connect the first and second processing devices to a shared resource, and wherein the first and second portions of a payload are written to the bus interconnect in response to a snoop address from the second processing device.
17. The method of claim 12 wherein the bus further comprises a fourth channel, the addressing of the receiving device on the first channel being for write operations, the method further comprising addressing the receiving device on the fourth channel for read operations, and writing a third portion of the payload to the receiving device on the fourth channel.
18. The method of claim 17 wherein the sending device is further configured to concurrently write the first, second and third portions of the payload to the receiving device.
19. The method of claim 18 wherein the first second and third portions of the payload are written to a first address of the receiving device, the method further comprising sending a second address to the receiving device on the first channel concurrently with the writing of the second or third portion of the payload to the receiving device.
20. The method of claim 12 further comprising providing a control signal to the receiving device indicating whether the first channel is currently being used to address the receiving device or write the first portion of the payload to the receiving device.
21. The method of claim 12 further comprising a control signal on each of the first and third channels to the receiving device, each of the control signals identifying the portion of the payload being sent on its corresponding channel.
22. A bus mastering device, comprising:
a processor; and a bus interface configured to interface the processor to a bus having first, second and third channels, the bus interface being further configured to address a slave on the first channel, receive a payload from the slave on the second channel, and write a first portion of a payload to the slave on the first channel and a second portion of the payload to the slave on the third channel.
23 23. The bus mastering device of claim 22 wherein the bus interface is further configured to concurrently write the first and second portions of the payload to the slave.
24. The bus mastering device of claim 22 wherein the bus interface is further configured to concurrently address the slave and write the second of the payload to the slave.
25. The bus mastering device of claim 22 wherein the bus interface is further configured write the first and second portions of the payload to a first address of the slave, the bus interface being further configured to send a second address to the slave on the first channel concurrently with the writing of the second portion of the payload to the slave.
26. The bus mastering device of claim 22 wherein the slave comprises a bus interconnect configured to connect the bus mastering device and a second bus mastering device to a shared resource, and wherein the bus mastering device is further configured to write the first and second portions of a payload to the bus interconnect in response to a snoop address from the second bus mastering device.
27. The bus mastering device of claim 22 wherein the bus further comprises a fourth channel, the bus interface being further configured to address the slave on the first channel for write operations and address the slave on the fourth channel for read operations, and wherein the bus interface is further configured to write a third portion of the payload to the slave on the fourth channel.
28. The bus mastering device of claim 27 wherein the bus interface is further configured to concurrently write the first, second and third potions of the payload to the slave.
29. The bus mastering device of claim 27 wherein the bus interface is further configured write the first, second and third portions of the payload to a first address of the slave, the bus interface being further configured to send a second address to the slave on the first channel concurrently with the writing of the second or third portion of the payload to the slave.
30. The bus mastering device of claim 22 wherein the bus interface is further configured to provide a control signal to the slave indicating whether the first channel is currently being used to address the slave or write the first portion of the payload to the slave.
31. The bus mastering device of claim 22 wherein the bus interface is further configured to provide a control signal on each of the first and third channels to the slave, each of the control signals identifying the portion of the payload being sent on its corresponding channel.
32. A bus mastering device, comprising:
a processor; and means for interfacing the processor to a bus having first, second and third channels, the means for interfacing the processor to the bus comprising means for addressing a slave on the first channel, means for receiving a payload from the slave on the second channel, and means for writing a first portion of a payload to the slave on the first channel and a second portion of the payload to the slave on the third channel.
33. A slave device, comprising:
memory; and a bus interface configured to interface the memory to a bus having first, second and third channels, the bus interface being configured to receive an address and a first portion of a payload from a bus mastering device on the first channel, send a payload to the bus mastering device on the second channel, and receive a second portion of the payload from the bus mastering device on the third.
34. The slave device of claim 33 wherein the bus interface is further configured to concurrently receive the first and second portions of the payload.
35. The slave device of claim 33 wherein the bus interface is further configured to concurrently receive the address and the second portion of the payload.
36. The slave device of claim 33 wherein the bus interface is further configured write the first and second portions of the payload to a first address in the memory, the bus interface being further configured to receive a second address on the first channel concurrently with the second portion of the payload.
37. The slave device of claim 33 wherein the bus further comprises a fourth channel, the bus interface being further configured to receive the address on the first channel for write operations and receive an address on the fourth channel for a read operation, and wherein the bus interface is further configured to receive a third portion of the payload from the bus mastering device on the fourth channel.
38. The slave device of claim 37 wherein the bus interface is further configured write the first, second and third portions of the payload.
39. The slave device of claim 37 wherein the bus interface is further configured write the first, second and third portions of the payload to a first address in the memory, the bus interface being further configured to receive a second address from the bus mastering device on the first channel concurrently with the receipt of the second or third portion of the payload.
40. The slave device of claim 33 wherein the bus interface is further configured to receive a control signal from the bus mastering device indicating whether the first channel is currently being used to send the address or the first portion of the payload.
41. The slave device of claim 33 wherein the bus interface is further configured to receive a control signal on each of the first and third channels from the bus mastering device, each of the control signals identifying the portion of the payload being sent on its corresponding channel.
42. A slave device, comprising:
memory; and means for interfacing the memory to a bus having first, second and third channels, the means for interfacing the memory to the bus comprising means for receiving an address and a first portion of a payload from a bus mastering device on the first channel, means for sending a payload to the bus mastering device on the second channel, and means for receive a second portion of the payload from the bus mastering device on the third channel.
CA2640317A 2006-02-24 2007-02-23 Cooperative writes over the address channel of a bus Expired - Fee Related CA2640317C (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US77652906P 2006-02-24 2006-02-24
US60/776,529 2006-02-24
US11/468,908 2006-08-31
US11/468,908 US8107492B2 (en) 2006-02-24 2006-08-31 Cooperative writes over the address channel of a bus
PCT/US2007/062761 WO2007101134A1 (en) 2006-02-24 2007-02-23 Cooperative writes over the address channel of a bus

Publications (2)

Publication Number Publication Date
CA2640317A1 true CA2640317A1 (en) 2007-09-07
CA2640317C CA2640317C (en) 2012-01-31

Family

ID=38123722

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2640317A Expired - Fee Related CA2640317C (en) 2006-02-24 2007-02-23 Cooperative writes over the address channel of a bus

Country Status (11)

Country Link
US (2) US8107492B2 (en)
EP (2) EP2002345B1 (en)
JP (1) JP5254044B2 (en)
KR (2) KR20080097481A (en)
CN (1) CN104199798B (en)
BR (1) BRPI0708189A2 (en)
CA (1) CA2640317C (en)
MX (1) MX2008010822A (en)
RU (1) RU2405195C2 (en)
TW (1) TWI341468B (en)
WO (1) WO2007101134A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8107492B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Cooperative writes over the address channel of a bus
US8108563B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Auxiliary writes over address channel
WO2008013968A2 (en) 2006-07-28 2008-01-31 Vast Systems Technology Corporation Virtual processor generation model for co-simulation
US8644305B2 (en) * 2007-01-22 2014-02-04 Synopsys Inc. Method and system for modeling a bus for a system design incorporating one or more programmable processors
KR101178293B1 (en) 2011-03-25 2012-08-29 마사미 후쿠시마 Central processing unit and microcontroller
JP4862100B1 (en) * 2011-03-25 2012-01-25 好一 北岸 Central processing unit and microcomputer
US8516225B2 (en) 2011-03-25 2013-08-20 Koichi Kitagishi Central processing unit and microcontroller
US9258244B1 (en) 2013-05-01 2016-02-09 Sandia Corporation Protocol for communications in potentially noisy environments
KR102206313B1 (en) * 2014-02-07 2021-01-22 삼성전자주식회사 System interconnect and operating method of system interconnect
DE102018001574B4 (en) * 2018-02-28 2019-09-05 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Master-slave bus system and method for operating a bus system

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3689290T2 (en) * 1985-04-22 1994-04-28 Ncr Co Process for selecting an optimal transmission channel in a communication system with several stations.
JPS62231365A (en) 1986-04-01 1987-10-09 Mitsubishi Electric Corp Information processing system
SU1550524A1 (en) 1988-06-27 1990-03-15 Предприятие П/Я А-3886 Device for interfacing processor and external unit
JPH0736166B2 (en) 1988-06-29 1995-04-19 日本電気株式会社 Data transfer method
JPH0225958A (en) 1988-07-15 1990-01-29 Fuji Electric Co Ltd High-speed data transfer system
RU1807493C (en) 1991-02-04 1993-04-07 Харьковское Научно-Производственное Объединение По Системам Автоматизированного Управления Data communications in computer network
US5255376A (en) 1992-01-14 1993-10-19 Sun Microsystems, Inc. Method and apparatus for supporting a dual bit length protocol for data transfers
GB2285524B (en) 1994-01-11 1998-02-04 Advanced Risc Mach Ltd Data memory and processor bus
US5544163A (en) 1994-03-08 1996-08-06 Excel, Inc. Expandable telecommunications system
JPH0830546A (en) * 1994-07-20 1996-02-02 Nec Niigata Ltd Bus controller
US5612742A (en) 1994-10-19 1997-03-18 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US6434638B1 (en) * 1994-12-09 2002-08-13 International Business Machines Corporation Arbitration protocol for peer-to-peer communication in synchronous systems
GB2304210B (en) * 1995-08-11 2000-02-16 Fujitsu Ltd Data receiving devices
US6044225A (en) * 1996-03-13 2000-03-28 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller
US7002964B1 (en) * 1998-02-24 2006-02-21 Canon Kabushiki Kaisha Communication system, method for a communication system and controller for a communication system
US6292873B1 (en) * 1998-05-22 2001-09-18 Hewlett-Packard Company Dual-ported electronic random access memory that does not introduce additional wait states and that does not cause retransmission of data during shared access
US6163835A (en) 1998-07-06 2000-12-19 Motorola, Inc. Method and apparatus for transferring data over a processor interface bus
US6151262A (en) * 1998-10-28 2000-11-21 Texas Instruments Incorporated Apparatus, system and method for control of speed of operation and power consumption of a memory
JP2000215183A (en) 1999-01-01 2000-08-04 Seiko Epson Corp Memory port arbitrating method
US7243185B2 (en) 2004-04-05 2007-07-10 Super Talent Electronics, Inc. Flash memory system with a high-speed flash controller
CN1129071C (en) 1999-10-27 2003-11-26 盖内蒂克瓦尔有限公司 Tunnel transmission structure between components and transmission method
US6769046B2 (en) 2000-02-14 2004-07-27 Palmchip Corporation System-resource router
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
JP2003050742A (en) 2001-08-07 2003-02-21 Sony Corp Device and method for processing information, program storage medium and program
US6868464B2 (en) 2002-01-03 2005-03-15 Intel Corporation Method, apparatus, and system for multi-line communication
US7209998B2 (en) 2004-02-04 2007-04-24 Qualcomm Incorporated Scalable bus structure
US7213092B2 (en) * 2004-06-08 2007-05-01 Arm Limited Write response signalling within a communication bus
US7392353B2 (en) * 2004-12-03 2008-06-24 International Business Machines Corporation Prioritization of out-of-order data transfers on shared data bus
US8107492B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Cooperative writes over the address channel of a bus
US8108563B2 (en) 2006-02-24 2012-01-31 Qualcomm Incorporated Auxiliary writes over address channel

Also Published As

Publication number Publication date
RU2405195C2 (en) 2010-11-27
EP2360599A2 (en) 2011-08-24
JP5254044B2 (en) 2013-08-07
TW200809520A (en) 2008-02-16
EP2002345A1 (en) 2008-12-17
TWI341468B (en) 2011-05-01
US20070201506A1 (en) 2007-08-30
CA2640317C (en) 2012-01-31
RU2008137971A (en) 2010-03-27
KR101081301B1 (en) 2011-11-08
US8675679B2 (en) 2014-03-18
US20120096201A1 (en) 2012-04-19
WO2007101134A1 (en) 2007-09-07
BRPI0708189A2 (en) 2012-06-12
EP2002345B1 (en) 2020-04-29
US8107492B2 (en) 2012-01-31
JP2009528597A (en) 2009-08-06
KR20080097481A (en) 2008-11-05
CN104199798B (en) 2017-04-12
EP2360599A3 (en) 2019-01-16
MX2008010822A (en) 2008-09-05
CN104199798A (en) 2014-12-10
KR20100135332A (en) 2010-12-24

Similar Documents

Publication Publication Date Title
CA2640317A1 (en) Cooperative writes over the address channel of a bus
US8521945B2 (en) Portable data storage using SLC and MLC flash memory
US7941618B2 (en) Fully buffered DIMM read data substitution for write acknowledgement
WO2007134247A3 (en) Dynamic cell bit resolution
EP2455942A3 (en) Memory write error correction circuit
JP2009510562A5 (en)
US8364872B2 (en) Slave and communicating method between a master and the same
TW200700997A (en) Method and apparatus for reducing system inactivity during time data float delay and external memory write
WO2004072774A3 (en) Double data rate memory interface
IL223098A (en) Processing system, method of communication and a nontransitory computer-readable medium for carrying out auxiliary writes over an address channel
CN102073611A (en) I2C bus control system and method
WO2007005698A3 (en) Method, apparatus and system for posted write buffer for memory with unidirectional full duplex interface
TW201344444A (en) Motherboard and data processing method thereof
WO2010103987A1 (en) Data transmission system and data read method thereof
CN110660367B (en) Display device and inter-chip bus thereof
CN108153485B (en) Method and system for multi-device cooperative access to SRAM
TWI416339B (en) Usb transaction translator and an isochronous-in transaction method
JP2008065515A5 (en)
CN114641764A (en) Bus system and method for operating a bus system
TW200729220A (en) Test circuit for multi-port memory device
JP5640941B2 (en) Process data monitoring system
TW200708960A (en) System and method for parallel data transmission
CN101211328B (en) High performance programmable logic system interface and wafer
KR100973040B1 (en) The apparatus for testing port of dual port ram and the method thereof
CN101390066A (en) Auxiliary writes over address channel

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20200224