Dynamic resource management of network device

US12026103B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-12026103-B1
Application numberUS-202117444352-A
CountryUS
Kind codeB1
Filing dateAug 3, 2021
Priority dateApr 14, 2016
Publication dateJul 2, 2024
Grant dateJul 2, 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.

A resource request is received by a peripheral device from host processing logic. The resource request includes a requested resource size. The peripheral device allocates resource of the peripheral device in response to the resource request. A resource response is sent by the peripheral device to the host processing logic. The resource response includes a location of the allocated resource.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: host processing logic; a host memory accessible to the host processing logic; a peripheral device including a device memory, a bus interface, and a communication interface; and a peripheral bus communicatively coupling the host processing logic and the peripheral device, wherein the host processing logic is configured to send a queue request to the peripheral device over the peripheral bus, the queue request including a size of a queue to be created in the device memory, wherein the peripheral device is configured to: allocate queue memory space in the device memory for the size of the queue in response to receiving the queue request; send, by the bus interface, a queue response to the host processing logic, the queue response including a location of the queue memory space and locations of queue registers for managing the queue; receive, by the bus interface, a descriptor addressed to the queue memory space; store the descriptor to the queue memory space; fetch data from the host memory based on a host memory location of the data included in the descriptor; and transmit, by the communication interface, the data from the peripheral device. 2. The system of claim 1 , wherein the location of the queue memory space and the locations of the queue registers are base address register (BAR) offsets of a BAR. 3. The system of claim 1 , wherein the peripheral device is a network device. 4. The system of claim 1 , wherein the queue request is generated by a virtual machine or a processor core. 5. A peripheral device comprising: an interface; a device memory; and processing logic coupled to the interface and configured to read and write to the device memory, wherein the peripheral device is configured to: receive, by the interface, a resource request from host processing logic, wherein the resource request includes a requested resource size; allocate a resource of the peripheral device in response to the resource request, wherein a size of the allocated resource corresponds to the requested resource size included in the resource request; and transmit, by the interface, a resource response to the host processing logic, the resource response including an address of the allocated resource, a resource identifier, and a size of the allocated resource. 6. The peripheral device of claim 5 , wherein the address of the allocated resource is determined by the peripheral device. 7. The peripheral device of claim 5 , wherein the resource request is a first resource request from a first resource requester of the host processing logic, and the requested resource size is a first requested resource size, and wherein the peripheral device is configured to: receive, by the interface, a second resource request from a second resource requester of the host processing logic, wherein the second resource request includes a second requested resource size of the resource; and allocate the resource of the peripheral device to the second resource requester according to the second requested resource size in response to the second resource request. 8. The peripheral device of claim 5 , wherein the resource request is a first resource request from a resource requester of the host processing logic, and the requested resource size is a first requested resource size, and wherein the peripheral device is configured to: receive, by the interface, a second resource request from the resource requester of the host processing logic, wherein the second resource request includes a second requested resource size of the resource; and adjust the size of the allocated resource according to the second requested resource size in response to the second resource request. 9. The peripheral device of claim 8 , wherein the resource requester is a virtual machine or a processor core of the host processing logic. 10. The peripheral device of claim 5 , wherein the resource is a queue in the device memory. 11. The peripheral device of claim 10 , wherein the queue is a submission queue or a completion queue. 12. The peripheral device of claim 10 , wherein the peripheral device is configured to further allocate a queue register for managing the queue. 13. The peripheral device of claim 12 , wherein the queue register is a doorbell register or an unmask interrupt register. 14. The peripheral device of claim 5 , wherein the peripheral device is configured to transmit the address of the allocated resource as a base address register (BAR) offset. 15. The peripheral device of claim 5 , wherein the resource is a buffer or a table. 16. The peripheral device of claim 5 , wherein the peripheral device is a network device. 17. A method comprising: receiving, by an interface of a peripheral device, a resource request from host processing logic, wherein the resource request includes a requested resource size; allocating a resource of the peripheral device in response to the resource request, wherein a size of the allocated resource corresponds to the requested resource size included in the resource request; and transmitting, by the interface, a resource response to the host processing logic, the resource response including an address of the allocated resource, a resource identifier, and a size of the resource. 18. The method of claim 17 , wherein the address of the allocated resource is determined by the peripheral device. 19. The method of claim 17 , wherein the resource request is a first resource request from a first resource requester of the host processing logic, and the requested resource size is a first requested resource size, and wherein the method further comprises: receiving, by the interface, a second resource request from a second resource requester of the host processing logic, wherein the second resource request includes a second requested resource size of the resource; and allocating the resource of the peripheral device to the second resource requester according to the second requested resource size in response to the second resource request. 20. The method of claim 17 , wherein the resource request is a first resource request from a resource requester of the host processing logic, and the requested resource size is a first requested resource size, and wherein the method further comprises: receiving, by the interface, a second resource request from the resource requester of the host processing logic, wherein the second resource request includes a second requested resource size of the resource; and adjusting the size of the allocated resource according to the second requested resource size in response to the second resource request.

Assignees

Inventors

Classifications

  • Network integration; Enabling network access in virtual machine instances · CPC title

  • Memory management, e.g. access or allocation · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • by allocating resources to storage systems · 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 US12026103B1 cover?
A resource request is received by a peripheral device from host processing logic. The resource request includes a requested resource size. The peripheral device allocates resource of the peripheral device in response to the resource request. A resource response is sent by the peripheral device to the host processing logic. The resource response includes a location of the allocated resource.
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/16. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 02 2024 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).