Reducing read transactions to peripheral devices

US10521377B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10521377-B1
Application numberUS-201816197289-A
CountryUS
Kind codeB1
Filing dateNov 20, 2018
Priority dateMar 31, 2016
Publication dateDec 31, 2019
Grant dateDec 31, 2019

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 first write transaction is received by a device that includes a transaction identifier and a memory location identifier. The memory location identifies a register or a memory location of a device. A value from the register or memory location is read. A second write transaction is sent to a block of host memory. The second write transaction includes the value and the transaction identifier.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing system comprising: a host memory; a host processor configured to communicate with the host memory; and a driver running on an operating system of the host processor, wherein the driver is configured to: transmit a first write transaction to a first register or a first memory location of a peripheral device, the first write transaction including a transaction identifier and a memory location identifier; and receive from the peripheral device a second write transaction to a block of the host memory, wherein the memory location identifier identifies a second register or a second memory location of the peripheral device, and wherein the second write transaction includes the transaction identifier, the memory location identifier, and a value contained in the second register or second memory location. 2. The computing system of claim 1 , wherein the memory location identifier identifies the second register or the second memory location by an offset value. 3. The computing system of claim 1 , wherein the driver is further configured to: transmit a read response address to the peripheral device before transmitting the first write transaction, the read response address indicating the block of the host memory for receiving the value contained in the second register or second memory location. 4. The computing system of claim 1 , wherein the host processor is configured to: read the transaction identifier from the block of the host memory; read the value from the block of the host memory; and execute a function that utilizes the value. 5. The computing system of claim 4 , wherein the host processor is further configured to: verify that the memory location identifier sent in the first write transaction matches the memory location identifier received in the second write transaction. 6. The computing system of claim 1 , wherein the second write transaction is a direct memory access (DMA) write transaction. 7. The computing system of claim 1 , wherein the driver is further configured to: determine whether a response is received from the peripheral device within a predetermined period of time after transmitting the first write transaction; and in response to determining that the response is not received from the peripheral device, cancel the first write transaction. 8. The computing system of claim 1 , wherein the driver is further configured to: determine whether a response is received from the peripheral device within a predetermined period of time after transmitting the first write transaction; and in response to determining that the response is not received from the peripheral device, transmit a third write transaction having a retransmission transaction identifier different than the transaction identifier of the first write transaction. 9. The computing system of claim 1 , wherein transmitting the first write transaction and receiving the second write transaction is performed synchronously. 10. The computing system of claim 1 , wherein transmitting the first write transaction and receiving the second write transaction is performed asynchronously. 11. A method for reducing read transactions to a peripheral device, the method comprising: transmitting, by a driver running on an operating system of a host processor of a computing system, a first write transaction to a first register or a first memory location of a peripheral device, the first write transaction including a transaction identifier and a memory location identifier; and receiving, by the driver, a second write transaction to a block of host memory, wherein the second write transaction is received from the peripheral device, wherein the memory location identifier identifies a second register or a second memory location of the peripheral device, and wherein the second write transaction includes the transaction identifier, the memory location identifier, and a value contained in the second register or second memory location. 12. The method of claim 11 , wherein the memory location identifier identifies the second register or the second memory location by an offset value. 13. The method of claim 11 , further comprising: transmitting, by the driver, a read response address indicating a block of a host memory for receiving the value, wherein the driver transmits the read response address before transmitting the first write transaction. 14. The method of claim 11 , further comprising: reading, by the host processor, the transaction identifier from the block of host memory; reading, by the host processor, the value from the block of host memory; and executing, by the host processor, a function that utilizes the value. 15. The method of claim 14 , further comprising: verifying, by the host processor, that the memory location identifier sent in the first write transaction matches the memory location identifier received in the second write transaction. 16. The method of claim 11 , wherein the second write transaction is a direct memory access (DMA) write transaction. 17. The method of claim 11 , further comprising: determining, by the driver, whether a response is received from the peripheral device within a predetermined period of time after transmitting the first write transaction; and in response to determining that the response is not received from the peripheral device, cancel the first write transaction. 18. The method of claim 11 , further comprising: determining, by the driver, whether a response is received from the peripheral device within a predetermined period of time after transmitting the first write transaction; and in response to determining that the response is not received from the peripheral device, transmit a third write transaction having a retransmission transaction identifier different than the transaction identifier of the first write transaction. 19. The method of claim 11 , wherein the transmitting the first write transaction and the receiving the second write transaction is performed synchronously. 20. The method of claim 11 , wherein the transmitting the first write transaction and the receiving the second write transaction are performed asynchronously.

Assignees

Inventors

Classifications

  • Peripheral component interconnect [PCI] · CPC title

  • G06F13/28Primary

    using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus · 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 US10521377B1 cover?
A first write transaction is received by a device that includes a transaction identifier and a memory location identifier. The memory location identifies a register or a memory location of a device. A value from the register or memory location is read. A second write transaction is sent to a block of host memory. The second write transaction includes the value and the transaction identifier.
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/28. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 31 2019 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).