IP Library Granted Patent US 7,668,979
Granted Patent B1
US 7,668,979 · App. 11/313,900 · Granted Feb 23, 2010

Buffering data in a parallel processing environment

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 7,668,979
App. No.
11/313,900
Granted
Feb 23, 2010
Kind
B1
Abstract

An integrated circuit includes a plurality of tiles. Each tile comprises a processor; a switch including switching circuitry to forward data over data paths from other tiles to the processor and to switches of other tiles; a first buffer that stores data from the switch; a memory accessible to the processor; a second buffer that stores a plurality of data words retrieved from the memory; and a multiplexer that selectively provides data to the processor from the first buffer or the second buffer based on a refill signal.

Claims (38)

1. An integrated circuit comprising:

a plurality of tiles, each tile comprising

a processor;

a switch including switching circuitry to forward data over data paths from other tiles to the processor and to switches of other tiles;

a first buffer that stores data from the switch;

a memory accessible to the processor;

a second buffer that stores a plurality of data words retrieved from the memory; and

a multiplexer that selectively provides data to the processor from the first buffer or the second buffer based on a refill signal that indicates one of multiple modes of operation, with, in a first mode of operation data words that have been received by the switch being stored in the first buffer and the multiplexer providing the data words to the processor from the first buffer, and in a second mode of operation data words that have been moved from the first buffer to the memory being retrieved from the memory and stored in the second buffer and the multiplexer providing the data words to the processor from the second buffer.

2. The integrated circuit of claim 1 , wherein the memory is internal to the tile.

3. The integrated circuit of claim 1 , wherein the memory is external to the tile.

4. The integrated circuit of claim 1 , wherein the tile is configured to load the second buffer with additional data retrieved from the memory after the multiplexer provides data stored in the second buffer to the processor.

5. The integrated circuit of claim 1 , wherein the tile is configured to load the second buffer with additional data retrieved from the memory after the second buffer becomes empty.

6. The integrated circuit of claim 5 , wherein an interrupt to the processor is triggered when the second buffer becomes empty.

7. The integrated circuit of claim 1 , wherein the tile is configured to set the value of the refill signal so that the multiplexer provides the processor data from the first buffer in response to the second buffer providing a last data value retrieved from the memory.

8. The integrated circuit of claim 1 , wherein the tile is configured to set the value of the refill signal so that the multiplexer provides the processor data from the second buffer in response to the first buffer overflowing to the memory.

9. A method for transmitting data in an integrated circuit, the integrated circuit comprising a plurality of tiles, each tile comprising a processor, and a switch including switching circuitry to forward data over data paths from other tiles to the processor and to switches of other tiles, the method comprising:

storing data from the switch in a first buffer;

storing a plurality of data words retrieved from a memory accessible to the processor in a second buffer; and

selectively providing data to the processor from the first buffer or the second buffer based on a refill signal that indicates one of multiple modes of operation, with, in a first mode of operation data words that have been received by the switch being stored in the first buffer and the multiplexer providing the data words to the processor from the first buffer, and in a second mode of operation data words that have been moved from the first buffer to the memory being retrieved from the memory and stored in the second buffer and the multiplexer providing the data words to the processor from the second buffer.

10. The method of claim 9 , wherein the plurality of data words are retrieved from a memory internal to the tile.

11. The method of claim 9 , wherein the plurality of data words are retrieved from a memory external to the tile.

12. The method of claim 9 , further comprising loading the second buffer with additional data retrieved from the memory after the multiplexer provides data stored in the second buffer to the processor.

13. The method of claim 9 , further comprising loading the second buffer with additional data retrieved from the memory after the second buffer becomes empty.

14. The method of claim 13 , further comprising triggering an interrupt to the processor when the second buffer becomes empty.

15. The method of claim 9 , further comprising setting the value of the refill signal so that the multiplexer provides the processor data from the first buffer in response to the second buffer providing a last data value retrieved from the memory.

16. The method of claim 9 , further comprising setting the value of the refill signal so that the multiplexer provides the processor data from the second buffer in response to the first buffer overflowing to the memory.

17. The integrated circuit of claim 7 , wherein the plurality of data words retrieved from the memory were stored in the memory from the first buffer.

18. The integrated circuit of claim 17 , wherein the plurality of data words retrieved from the memory were stored in the memory from the first buffer in response to detection of a deadlock.

19. The integrated circuit of claim 18 , wherein the detection of the deadlock includes the first buffer overflowing to the memory.

20. The integrated circuit of claim 19 , wherein the tile is configured to set the value of the refill signal so that the multiplexer provides the processor data from the second buffer in response to the first buffer overflowing to the memory.

21. The integrated circuit of claim 18 , wherein the tile is configured to set the value of the refill signal so that the multiplexer provides the processor data from the second buffer in response to the detection of the deadlock.

22. The integrated circuit of claim 21 , wherein the plurality of data words retrieved from the memory were stored in a queue in the memory.

23. The integrated circuit of claim 22 , wherein the tile is configured to set the value of the refill signal so that the multiplexer provides the processor data from the first buffer in response to the queue in the memory being empty.

24. The integrated circuit of claim 1 , wherein the tile is configured to set the value of the refill signal to switch from the first mode of operation to the second mode of operation in response to the first buffer overflowing.

25. The integrated circuit of claim 24 , wherein, when switching from the first mode of operation to the second mode of operation, data words stored in the first buffer are moved to a queue in the memory.

26. The integrated circuit of claim 25 , wherein the tile is configured to set the value of the refill signal to switch from the second mode of operation to the first mode of operation in response to the second buffer providing to the processor a last data value retrieved from the queue in the memory.

27. The integrated circuit of claim 26 , wherein, operations performed by the processor to interface to the switch in the first mode are the same as operations performed by the processor to interface to the switch in the second mode so that a software interface to the switch does not depend on whether the first buffer has overflowed to the memory.

28. The integrated circuit of claim 1 , wherein, operations performed by the processor to interface to the switch in the first mode are the same as operations performed by the processor to interface to the switch in the second mode so that a software interface to the switch does not depend on whether the first buffer has overflowed to the memory.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 42962/0859 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
Reel/Frame 046551/0459 →
SECURITY INTEREST Recorded Jun 23, 2017
From: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 042962/0859 →
DIVIDEND DECLARATION FROM EZCHIP SEMICONDUCTOR INC. TO THE STOCKHOLDER OF RECORD ON 6/2/2015 (EZCHIP INC., A DELAWARE CORPORATION) Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR INC.
To: EZCHIP, INC.
Reel/Frame 041736/0013 →
PURCHASE AGREEMENT Recorded Feb 16, 2017
From: EZCHIP, INC.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0151 →
MERGER Recorded Feb 16, 2017
From: EZCHIP TECHNOLOGIES LTD.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0321 →
MERGER Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 041870/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: EZCHIP TECHNOLOGIES, LTD.
Reel/Frame 041736/0253 →
MERGER Recorded Feb 16, 2017
From: TILERA CORPORATION
To: EZCHIP SEMICONDUCTOR INC.
Reel/Frame 041735/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2006
From: WENTZLAFF, DAVID
To: TILERA CORPORATION
Reel/Frame 017727/0426 →