IP Library Granted Patent US 9,143,346
Granted Patent B1
US 9,143,346 · App. 12/916,568 · Granted Sep 22, 2015

Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges

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 9,143,346
App. No.
12/916,568
Granted
Sep 22, 2015
Kind
B1
Abstract

A method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe Bridges have been described. A single level enqueue method with dynamic buffering and dequeuing based on packet re-ordering is disclosed. Single level packet routing and scheduling to meet SRIO and PCIe rules to enqueue packets based on FType/TType is disclosed. Backpressure based on ingress watermarks for different packet types is disclosed. Use of a circular-reorder queue (CRQ) for both ingress and egress allows packet reordering and packet passing.

Claims (15)

1. A method for bridging between a Serial RapidIO® (SRIO) port and a PCI Express® (PCIe) port the method comprising:

checking for a backpressure for packet types denoted Messaging Response (MR), Maintenance Write Response (MWR), Doorbell Maintenance (DB), Messaging (M), Posted (P), Completion (CPL), Non-Posted (NP), and RFDID where RFDID is: R: Reserved Ftype 0 , 1 , 3 , 4 , 12 , 14 ; F: Flow control (Ftype 7 ); D: Data Streaming Ftype 9 ; ID: Implementation Defined (Ftype 15 ) on said SRIO port;

when there is said backpressure for packet types then passing packet types to said PCIe port based on predefined rules during dequeue operations in said SRIO port,

wherein said dequeue operations uses a dequeue block directly coupled to a circular-reorder queue (CRQ), said CRQ implemented in hardware and having a last-free-location pointer to an open location in said CRQ, a next-to-send pointer in said CRQ, a first-free-location pointer in said CRQ, and a last-packet-enqueued pointer in said CRQ, and wherein said CRQ has an acknowledgement identification for each of said received packet types; and

when there is no said backpressure for packet types then dequeuing packets strictly in a time ordered sequence in said SRIO port wherein said dequeue packets uses a dequeue block directly coupled to a circular-reorder queue (CRQ), said CRQ implemented in hardware and having a last-free-location pointer to an open location in said CRQ, a next-to-send pointer in said CRQ, a first-free-location pointer in said CRQ, and a last-packet-enqueued pointer in said CRQ.

2. An apparatus for bridging between a Serial RapidIO® (SRIO) port and a PCIExpress® (PCIe) port comprising:

means for checking for a backpressure for packet types denoted Messaging Response (MR), Maintenance Write Response (MWR), Doorbell Maintenance (DB), Messaging (M), Posted (P), Completion (CPL), Non-Posted (NP), and RFDID where RFDID is: R: Reserved Ftype 0 , 1 , 3 , 4 , 12 , 14 ; F: Flow control (Ftype 7 ); D: Data Streaming Ftype 9 ; ID: Implementation Defined (Ftype 15 ) on said SRIO port;

means for, when there is said backpressure for packet types, passing packet types to said PCIe port based on predefined rules during dequeue operations in said SRIO port, wherein said dequeue operations uses a dequeue block directly coupled to a circular-reorder queue (CRQ), said CRQ implemented in hardware and having a last-free-location pointer to an open location in said CRQ, a next-to-send pointer in said CRQ, a first-free-location pointer in said CRQ, and a last-packet-enqueued pointer in said CRQ, and wherein said CRQ has an acknowledgement identification for each of said received packet types, and

means for, when there is no said backpressure for packet types, dequeuing packets strictly in a time ordered sequence in said SRIO port wherein said dequeue packets uses a dequeue block directly coupled to a circular-reorder queue (CRQ), said CRQ implemented in hardware and having a last-free-location pointer to an open location in said CRQ, a next-to-send pointer in said CRQ, a first-free-location pointer in said CRQ, and a last-packet-enqueued pointer in said CRQ.

3. The apparatus of claim 2 further comprising:

means for buffering dynamically said SRIO Ftype packets; and

means for buffering dynamically said SRIO Ttype packets.

4. The apparatus of claim 3 wherein said means for buffering dynamically comprises means for dynamic buffer allocation using a virtual output queue (VOQ) structure.

5. The apparatus of claim 4 further comprising:

means for generating a backpressure towards a link-partner based on a plurality of programmable ingress watermarks, wherein said plurality of programmable ingress watermarks are programmable for different packet types.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2025
From: RENESAS ELECTRONICS AMERICA INC.
To: AXIRO SEMICONDUCTOR INC.
Reel/Frame 070864/0142 →
MERGER Recorded Apr 15, 2025
From: INTEGRATED DEVICE TECHNOLOGY, INC.
To: RENESAS ELECTRONICS AMERICA INC.
Reel/Frame 070851/0391 →
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: JPMORGAN CHASE BANK, N.A.
To: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; CHIPX, INCORPORATED; ENDWAVE CORPORATION; MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 048746/0001 →
SECURITY AGREEMENT Recorded Apr 5, 2017
From: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; MAGNUM SEMICONDUCTOR, INC.; ENDWAVE CORPORATION; CHIPX, INCORPORATED
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042166/0431 →