Register files for i/o packet compression

US2017048358A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017048358-A1
Application numberUS-201615138485-A
CountryUS
Kind codeA1
Filing dateApr 26, 2016
Priority dateAug 13, 2015
Publication dateFeb 16, 2017
Grant date

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.

Systems, apparatuses, and methods for reducing inter-node bandwidth are contemplated. A computer system includes requesting nodes sending transactions to target nodes. A requesting node sends a packet that includes a register identifier (ID) in place of a data value in the packet. The register ID indicates a register in the target node storing the data value. The register ID uses fewer bits in the packet than the data value. The data value may be a memory address referencing a memory location in the target node. The received packet may also include an opcode indicating an operation to perform on the targeted data value.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: sending from a requesting node to a target node a request to allocate a register for use in the target node, the request including an address of a memory location in the target node; receiving by the requesting node a response to the request from the target node; sending a packet that corresponds to one or more transactions from the requesting node to the target node; wherein the packet comprises: an address of a memory location in the target node, if the response indicates a register has not been allocated for use; and a register identification (ID) of an allocated register in the target node, if the response indicates a register has been allocated for use by the requesting node. 2 . The method as recited in claim 1 , further comprising the target node: receiving the request to allocate a register; responsive to determining a register is available, storing the address in the register and sending the register ID to the requesting node; and responsive to determining a register is not available, sending a response to the requesting node that indicates a register has not been allocated for use by the requesting node. 3 . The method as recited in claim 2 , further comprising: receiving the packet at the target node; utilizing the register ID to identify the address that corresponds to the transaction; and utilizing the address to access the memory location in order to service the transaction. 4 . The method as recited in claim 1 , wherein the register comprises one of a dedicated register or a dynamically allocated memory location. 5 . The method as recited in claim 1 , wherein the packet comprises an opcode that indicates how to update a value stored in the register. 6 . The method as recited in claim 1 , further comprising the target node maintaining a mapping of the register ID to the address and automatically incrementing the address responsive to receiving a transaction of the one or more transactions. 7 . A computing system comprising: a requesting node; and a target node coupled to the requesting node; wherein the requesting node is configured to: send to the target node a request to allocate a register for use in the target node, the request including an address of a memory location in the target node; receive a response to the request from the target node; send a packet that corresponds to one or more transactions from the requesting node to the target node; wherein the packet comprises: an address of a memory location in the target node, if the response indicates a register has not been allocated for use; and a register identification (ID) of an allocated register in the target node, if the response indicates a register has been allocated for use by the requesting node. 8 . The computing system as recited in claim 7 , wherein the target node is configured to: receive the request to allocate a register; responsive to determining a register is available, store the address in the register and send the register ID to the requesting node; and responsive to determining a register is not available, send a response to the requesting node that indicates a register has not been allocated for use by the requesting node. 9 . The computing system as recited in claim 8 , wherein the target node is further configured to: receive the packet; utilize the register ID to identify the address that corresponds to the transaction; and utilize the address to access the memory location in order to service the transaction. 10 . The computing system as recited in claim 7 , wherein the register comprises one of a dedicated register or a dynamically allocated memory location. 11 . The computing system as recited in claim 7 , wherein the packet comprises an opcode that indicates how to update a value stored in the register. 12 . The computing system as recited in claim 7 , wherein the target node is further configured to maintain a mapping of the register ID to the address and automatically increment the address responsive to receiving a transaction from the requesting node. 13 . The computing system as recited in claim 11 , wherein the opcode indicates one of an addition operation, a subtraction operation and a substitution operation. 14 . The computing system as recited in claim 8 , wherein the target node is further configured to deallocate the register previously allocated for the requesting node based on one or more of a priority level and a least-recently-used (LRU) value for the memory address stored in the register. 15 . A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable by a processor to: send to a target node a request to allocate a register for use by a requesting node, the request including an address of a memory location in the target node; receive a response to the request from the target node; send a packet that corresponds to one or more transactions from the requesting node to the target node; wherein the packet comprises: an address, responsive to the response indicating a register has not been allocated for use by the requesting node; and a register identification (ID) of an allocated register in the target node, if the response indicates a register has been allocated for use by the requesting node. 16 . The non-transitory computer readable storage medium as recited in claim 15 , wherein the program instructions are further executable by a processor to: receive the request to allocate a register; responsive to determining a register is available, store the address in the register and send the register ID to the requesting node; and responsive to determining a register is not available, send to the requesting node a response that indicates a register has not been allocated for use by the requesting node. 17 . The non-transitory computer readable storage medium as recited in claim 16 , wherein the program instructions are further executable by a processor to: receive the packet at the target node; utilize the register ID to identify the address that corresponds to the transaction; and utilize the address to access the memory location in order to service the transaction. 18 . The non-transitory computer readable storage medium as recited in claim 15 , wherein the register comprises one of a dedicated register or a dynamically allocated memory location. 19 . The non-transitory computer readable storage medium as recited in claim 15 , wherein the packet comprises an opcode that indicates how to update the memory location. 20 . The non-transitory computer readable storage medium as recited in claim 15 , wherein the program instructions are further executable by a processor to maintain a mapping of the register ID to the address and automatically increment the address responsive to receiving a transaction of the one or more transactions.

Assignees

Inventors

Classifications

  • H04L69/04Primary

    Protocols for data compression, e.g. ROHC · CPC title

  • Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units (interface circuits for specific input/output devices G06F3/00 {; multiprogram control therefor  G06F9/46}; multiprocessor systems  G06F15/16 ) · CPC title

  • Address processing for routing · CPC title

  • G06F13/38Primary

    Information transfer, e.g. on bus (G06F13/14 takes precedence) · CPC title

  • Arrangements for program control, e.g. control units (program control for peripheral devices G06F13/10) · 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 US2017048358A1 cover?
Systems, apparatuses, and methods for reducing inter-node bandwidth are contemplated. A computer system includes requesting nodes sending transactions to target nodes. A requesting node sends a packet that includes a register identifier (ID) in place of a data value in the packet. The register ID indicates a register in the target node storing the data value. The register ID uses fewer bits in …
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification H04L69/04. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Feb 16 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).