IP Library Granted Patent US 7,080,169
Granted Patent B2
US 7,080,169 · App. 10/120,733 · Granted Jul 18, 2006

Receiving data from interleaved multiple concurrent transactions in a FIFO memory having programmable buffer zones

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,080,169
App. No.
10/120,733
Granted
Jul 18, 2006
Kind
B2
Abstract

A FIFO memory receives data transfer requests before data is stored in the FIFO memory. Multiple concurrent data transfers, delivered to the FIFO memory as interleaved multiple concurrent transactions, can be accommodated by the FIFO memory (i.e., multiplexing between different sources that transmit in distributed bursts). The transfer length requirements associated with the ongoing data transfers are tracked, along with the total available space in the FIFO memory. A programmable buffer zone also can be included in the FIFO memory for additional overflow protection and/or to enable dynamic sizing of FIFO depth.

Claims (35)

1. A method comprising:

identifying one or more data writing rates for data to be received from interleaved multiple concurrent transactions and written into a FIFO memory having a programmable buffer zone;

identifying one or more data reading rates for data to be read from the FIFO memory; and

setting a buffer zone size for the programmable buffer zone of the FIFO memory based upon the identified one or more data writing rates and the one or more data reading rates.

2. The method of claim 1 , wherein identifying one or more data writing rates comprises identifying one or more data writing rates for data to be received over a system-interconnect bus.

3. The method of claim 2 , wherein setting the buffer zone size comprises setting the buffer zone size to a negative number.

4. The method of claim 3 , wherein identifying one or more data reading rates comprises identifying two or more data reading rates.

5. The method of claim 4 , wherein the system-interconnect bus comprises a Peripheral Component Interconnect Extended bus.

6. The method of claim 5 , wherein said identifying one or more data writing rates and said identifying one or more data reading rates comprises identifying default rates.

7. A first in first out memory comprising:

memory circuitry; and control circuitry coupled with the memory circuitry, the control circuitry including difference circuitry to track available space in the memory circuitry, transfer length input lines to receive memory space requests for multiple data transfers, and a ready output line to indicate whether a sum of the memory space requests exceeds the available space wherein the control circuitry further includes one or more buffer input lines to receive a buffer zone size, and wherein the ready output line indicates whether a sum of the memory space requests and the buffer zone size exceeds the available space.

8. The memory of claim 7 , wherein the memory circuitry includes control bits and data bits.

9. The memory of claim 7 , further comprising data compression circuitry and data decompression circuitry.

10. The memory of claim 7 , wherein the control circuitry further includes a register set to hold the received buffer zone size, wherein the register set includes programmable bit patterns to designate large variations in buffer zone size.

11. The memory of claim 7 , wherein the memory circuitry comprises a dual port random access memory.

12. A bus adapter comprising:

a processor;

an adapter memory coupled with the processor;

a bus interface coupled with the adapter memory through a first in first out memory, the bus interface supporting multiple concurrent data transfers;

a storage connection coupled with the adapter memory;

the first in first out memory coupled with the bus interface and with the adapter memory, the first in first out memory comprising memory circuitry, and control circuitry including difference circuitry to track available space in the memory circuitry, transfer length input lines to receive memory space requests for multiple data transfers, one or more buffer input lines to receive a buffer zone size, and a ready output line to indicate whether a sum of the memory space requests and the buffer zone size exceeds the available space; and

management circuitry coupled with the first in first out memory, the management circuitry to provide the memory space requests to the transfer length input lines and coordinate initiation of the multiple data transfers.

13. The bus adapter of claim 12 , wherein the memory circuitry includes control bits and data bits to store tags identifying data transactions stored in the memory circuitry.

14. The bus adapter of claim 13 , wherein the bus interface conforms to a Peripheral Component Interconnect Extended bus standard.

15. The bus adapter of claim 14 , wherein the storage connection comprises a network interface conforming to a Fibre Channel standard.

16. The bus adapter of claim 15 , wherein the management circuitry comprises a register block to store memory space requests that are skipped by the first in first out memory.

17. The bus adapter of claim 16 , wherein the first in first out memory further comprises data compression circuitry and data decompression circuitry.

18. A system comprising:

a programmable machine including a system-interconnect bus that supports interleaved multiple concurrent transactions;

a storage area network; and

a bus adapter coupled with the system-interconnect bus and the storage area network, the bus adapter comprising a processor, an adapter memory coupled with the processor, a bus interface coupled with the system-interconnect bus and coupled with the adapter memory through a first in first out memory comprising memory circuitry, and control circuitry including difference circuitry to track available space in the memory circuitry, transfer length input lines to receive memory space requests for multiple data transfers, and a ready output line to indicate whether a sum of the memory space requests exceeds the available space wherein the control circuitry further includes one or more buffer input lines to receive a buffer zone size, and wherein the ready output line indicates whether a sum of the memory space requests and the buffer zone size exceeds the available space.

19. The system of claim 18 , wherein the memory circuitry includes control bits and data bits to store tags identifying data transactions stored in the memory circuitry.

20. The system of claim 18 wherein the control circuitry further includes a register set to hold the received buffer zone size, wherein the register set includes programmable bit patterns to designate large variations in buffer zone size.

21. The system of claim 18 wherein the system-interconnect bus comprises a Peripheral Component Interconnect Extended bus.

22. The system of claim 18 wherein the storage area network comprises a Fibre Channel network and a plurality of mass storage devices.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 032087/0842 →