Slice-based intelligent packet data register file

US9612841B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9612841-B1
Application numberUS-201414530765-A
CountryUS
Kind codeB1
Filing dateNov 2, 2014
Priority dateNov 2, 2014
Publication dateApr 4, 2017
Grant dateApr 4, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A multi-processor includes a pool of processors and a common packet buffer memory. Bytes of packet data of a packet are stored in the packet buffer memory. Each of the processors has an intelligent packet data register file. One processor is tasked with processing the packet data, and its packet data register file caches a subset of the bytes. Some instructions when executed require that the packet data register file supply the processor execute stage with certain bytes of the packet data. The register file includes a set of slice portions, where each slice portion is responsible for different bytes of the overall packet data. Each slice portion independently handles stalling the processor and prefetching any bytes it is responsible for. The slice portions output their bytes in a shifted and masked fashion to that the overall register file output is properly presented to the execute stage.

First claim

Opening claim text (preview).

What is claimed is: 1. A method involving an intelligent packet data register file, wherein the intelligent packet data register file comprises a plurality of slice portions, the method comprising: (a) storing bytes of packet data in a packet buffer memory; (b) supplying a start byte value and a number of bytes required value B to each of the slice portions, wherein the number of bytes required value B indicates a number of bytes of the packet data that is required for execution of an instruction on a processor of which the intelligent packet data register file is a part, and wherein the start byte value is a byte number of a first byte of the bytes of packet data required for execution of the instruction; (c) determining, in each slice portion, a number of bytes that the slice portion is responsible for supplying to an execute stage of the processor so that the processor can successfully execute the instruction; (d) determining, in each slice portion, based at least in part upon the start byte value and the number of bytes required value B, whether the slice portion is storing all the bytes that the slice portion is responsible for supplying to the execute stage; (e) issuing, from each slice portion, a fetch request to fetch any bytes that the slice portion is responsible for supplying as determined in (c) but that the slice portion is not storing as determined in (d), wherein any fetch request issued in (e) is communicated to the packet buffer memory, wherein the slice portions make the determinations of (c) and (d) independently of one another, and wherein the slice portions issue fetch requests independently of one another; (f) merging any valid bytes of packet data output from the slice portions into a single value that includes all the valid bytes as output by all the slice portions, and supplying the single value at one time to the execute stage; and (g) using the single value in the execute stage to complete execution of the instruction, wherein each slice portion can store at most A bytes of packet data, and wherein the number of bytes required value B can be less than A, equal to A, or more than A depending on the instruction being executed, wherein steps (a) through (q) are performed by a processor integrated circuit.

Assignees

Inventors

Classifications

  • Operand prefetching (cache prefetching G06F12/0862) · CPC title

  • Instruction skipping instructions, e.g. SKIP · CPC title

  • G06F9/3802Primary

    Instruction prefetching · CPC title

  • Register arrangements · CPC title

  • Prefetch instructions; cache control instructions · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9612841B1 cover?
A multi-processor includes a pool of processors and a common packet buffer memory. Bytes of packet data of a packet are stored in the packet buffer memory. Each of the processors has an intelligent packet data register file. One processor is tasked with processing the packet data, and its packet data register file caches a subset of the bytes. Some instructions when executed require that the pa…
Who is the assignee on this patent?
Netronome Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/3802. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).