Dynamically allocated buffer pooling

US12019908B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12019908-B2
Application numberUS-202117389272-A
CountryUS
Kind codeB2
Filing dateJul 29, 2021
Priority dateJul 29, 2021
Publication dateJun 25, 2024
Grant dateJun 25, 2024

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.

Some examples described herein provide a buffer memory pool circuitry that comprises a plurality of buffer memory circuits that store an entry identifier, a payload portion, and a next-entry pointer. The buffer memory pool circuitry further comprises a processor configured to identify an allocation request for a first virtual channel associated with a sequence of buffer memory circuits and comprising a start pointer identifying an initial buffer memory circuit. The processor is further configured to program the first virtual channel circuit based on setting the start pointer for the first virtual channel circuit to be equal to the entry identifier of the initial buffer memory circuit. The processor is also configured to monitor usage. A length of the sequence of buffer memory circuits of the first virtual channel circuit is defined by a start pointer for a second virtual channel circuit subsequent to the first virtual channel circuit.

First claim

Opening claim text (preview).

What is claimed is: 1. A buffer memory pool circuitry, comprising: a plurality of buffer memory circuits forming a buffer pool circuitry, each buffer memory circuit configured to store an entry identifier, a payload portion, and a next-entry pointer; and a processor circuitry configured to: identify an allocation request for a first virtual channel circuit of a plurality of virtual channel circuits associated with the plurality of buffer memory circuits, each of the plurality of virtual channel circuits associated with a corresponding sequence of buffer memory circuits and comprising a start pointer identifying the entry identifier for an initial buffer memory circuit of the corresponding sequence of buffer memory circuits, program the first virtual channel circuit to be associated with the corresponding sequence of buffer memory circuits based on setting the start pointer for the first virtual channel circuit to be equal to the entry identifier of the initial buffer memory circuit of the corresponding sequence of buffer memory circuits, and update the next-entry pointer of a buffer memory circuit of the corresponding sequence of buffer memory circuits for the first virtual channel circuit, to reprogram the first virtual channel circuit, based on determining a fault within the corresponding sequence of buffer memory circuits for the first virtual channel circuit, wherein a length of the corresponding sequence of buffer memory circuits of the first virtual channel circuit is defined by a start pointer for a second virtual channel circuit of the plurality of virtual channel circuits subsequent to the first virtual channel circuit. 2. The buffer memory pool circuitry of claim 1 , wherein the processor circuitry is further configured to: identify a reprogram request to change an aspect of the first virtual channel circuit and the corresponding sequence of buffer memory circuits, determine an update pointer value to the start pointer for the second virtual channel circuit and an update ID value to the next-entry pointer for a terminal buffer memory circuit of the corresponding sequence of buffer memory circuits based on the identified reprogram request; update the start pointer for the second virtual channel circuit based on the update pointer value; update the next-entry pointer for the terminal buffer memory circuit of the corresponding sequence of buffer memory circuits of the first virtual channel circuit based on the update ID value; and monitor usage of the first virtual channel circuit to determine a subsequent reprogramming of the first virtual channel circuit. 3. The buffer memory pool circuitry of claim 2 , wherein the processor circuitry is further configured to update the next-entry pointer for the initial buffer memory circuit of the corresponding sequence of buffer memory circuits for the second virtual channel circuit based on the update of the start pointer for the second virtual channel circuit. 4. The buffer memory pool circuitry of claim 1 , wherein the start pointer for the second virtual channel circuit corresponds to the entry identifier of the initial buffer memory circuit of the corresponding sequence of buffer memory circuits for the second virtual channel circuit that is subsequent to the corresponding sequence of buffer memory circuits for the first virtual channel circuit. 5. The buffer memory pool circuitry of claim 1 , wherein the corresponding sequence of buffer memory circuits for each of the plurality of virtual channel circuits is implemented as a first-in-first-out (FIFO) buffer. 6. The buffer memory pool circuitry of claim 1 , wherein: the entry identifier comprises an identifier for a respective buffer memory circuit, the payload portion comprises a payload of data stored in the respective buffer memory circuit, and the next-entry pointer comprises an identifier for a next buffer memory circuit in the corresponding sequence of buffer memory circuits. 7. The buffer memory pool circuitry of claim 1 , wherein determining the fault within the corresponding sequence of buffer memory circuits for the first virtual channel circuit comprises determining that a second buffer memory circuit of the corresponding sequence of buffer memory circuits for the first virtual channel circuit is faulted and to be bypassed, wherein updating the next-entry pointer of the buffer memory circuit of the corresponding sequence of buffer memory circuits for the first virtual channel circuit comprises updating the next-entry pointer for the initial buffer memory circuit of the corresponding sequence of buffer memory circuits for the first virtual channel circuit to identify the entry identifier for a next usable buffer memory circuit subsequent to the second buffer memory circuit of the corresponding sequence of buffer memory circuits, and wherein the processor circuitry is further configured to: update the next-entry pointer for a terminal buffer memory circuit of the corresponding sequence of buffer memory circuits to identify the entry identifier for a new terminal buffer memory circuit of the corresponding sequence of buffer memory circuits; and update the next-entry pointer for the new terminal buffer memory circuit to identify the entry identifier for the initial buffer memory circuit of the corresponding sequence of buffer memory circuits. 8. The buffer memory pool circuitry of claim 1 , wherein the plurality of buffer memory circuits of the buffer pool circuitry provides a redundancy that is configurable with respect to at least one of a size in a number of buffer memory circuits or a level of the buffer pool circuitry. 9. A method of allocating buffers, the method comprising: identifying an allocation request for a first virtual channel circuit of a plurality of virtual channel circuits associated with a plurality of buffer memory circuits forming a buffer pool circuitry, each buffer memory circuit configured to store an entry identifier, a payload portion, and a next-entry pointer, each of the plurality of virtual channel circuits associated with a corresponding sequence of buffer memory circuits and comprising a start pointer identifying the entry identifier for an initial buffer memory circuit of the corresponding sequence of buffer memory circuits; programming the first virtual channel circuit to be associated with the corresponding sequence of buffer memory circuits based on setting the start pointer for the first virtual channel circuit to be equal to the entry identifier of the initial buffer memory circuit of the corresponding sequence of buffer memory circuits; and updating the next-entry pointer of a buffer memory circuit of the corresponding sequence of buffer memory circuits for the first virtual channel circuit, to reprogram the first virtual channel circuit, based on determining a fault within the corresponding sequence of buffer memory circuits for the first virtual channel circuit, wherein a length of the corresponding sequence of buffer memory circuits of the first virtual channel circuit is defined by the start pointer for a second virtual channel circuit of the plurality of virtual channel circuits subsequent to the first virtual channel circuit. 10. The method of claim 9 , further comprising: identifying a reprogram request to change an aspect of the first virtual channel circuit and the corresponding sequence of buffer memory circuits; determining an update pointer value to the start pointer for the second virtual channel circuit and an update ID value to the next-entry pointer for a terminal buffer memory circuit of the corresponding sequence of buffer memory circuits based on the identified reprogram request; updating the start pointer for the second virtual channel

Assignees

Inventors

Classifications

  • by allocating resources to storage systems · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Monitoring storage devices or systems · CPC title

  • G06F3/0679Primary

    Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Management of space entities, e.g. partitions, extents, pools · 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 US12019908B2 cover?
Some examples described herein provide a buffer memory pool circuitry that comprises a plurality of buffer memory circuits that store an entry identifier, a payload portion, and a next-entry pointer. The buffer memory pool circuitry further comprises a processor configured to identify an allocation request for a first virtual channel associated with a sequence of buffer memory circuits and comp…
Who is the assignee on this patent?
Xilinx Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0679. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 25 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).