Address Range Decomposition

US2015161068A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2015161068-A1
Application numberUS-201314097924-A
CountryUS
Kind codeA1
Filing dateDec 5, 2013
Priority dateDec 5, 2013
Publication dateJun 11, 2015
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.

Smart bridge and use. The smart bridge includes a functional unit, memory, and a switch for routing data between a host and multiple devices using a routing table. The bridge stores a forwarding address range (FAR) as a bridge representation of hardware memory resources required by the devices. The FAR is an integer multiple of a first specified minimum size and is aligned with the first specified minimum size. The bridge representation is converted to an endpoint representation that includes multiple virtual memory resources based on a starting address of the FAR. Each virtual memory resource has a respective sub-address range with a size that is a power of 2 multiple of a second specified minimum size, which is less than the first specified minimum size, and is aligned accordingly. The endpoint representation is usable by the switch or the host to allocate the virtual memory resources to the devices.

First claim

Opening claim text (preview).

We claim: 1 . A smart bridge, configured to be interposed between a bus host device and a plurality of devices that require respective amounts of memory resources of the bus host device, wherein the smart bridge comprises: a functional unit; memory, coupled to the functional unit; and at least one switch, coupled to the functional unit, wherein the at least one switch is configured to route data between the bus host device and the plurality of devices using a routing table; wherein the memory stores program instructions executable by the functional unit to: store a forwarding address range comprising a bridge representation of a plurality of hardware memory resources required by a plurality of devices, wherein the forwarding address range is an integer multiple of a first specified minimum size and is aligned with the first specified minimum size; and convert the bridge representation of the plurality of hardware memory resources to an endpoint representation comprising a plurality of virtual memory resources based on a starting address of the forwarding address range, wherein each virtual memory resource comprises a respective sub-address range with a size that is a power of 2 multiple of a second specified minimum size and is aligned with its size, wherein the second specified minimum size is less than the first specified minimum size; and wherein the endpoint representation is usable by the at least one switch or the bus host device to allocate the virtual memory resources to the plurality of devices. 2 . The smart bridge of claim 1 , wherein the bridge representation and the forwarding address range are binary numbers, and wherein to convert the bridge representation of the plurality of hardware memory resources to the endpoint representation, the program instructions are executable to: while there are virtual memory resources to allocate: determine if a current base address of the forwarding address range is aligned; allocate a next virtual memory resource to the forwarding address range at the current base address, where the size of the sub-address range of the virtual memory resource is based on the least significant 1 bit of the current base address, in response to determining that the starting address of the forwarding address range is not aligned; and allocate the next virtual memory resource to the forwarding address range at the current base address, where the size of the sub-address range of the virtual memory resource is based on the most significant 1 bit of the current forwarding address size, in response to determining that the starting address of the forwarding address range is aligned. 3 . The smart bridge of claim 1 , wherein the starting address is aligned, wherein the bridge representation is a binary number, wherein the number of virtual memory resources is equal to the number of “1” bits in the bridge representation, and wherein to convert the bridge representation of the plurality of hardware memory resources to the endpoint representation, the program instructions are executable to: for each “1” bit in the bridge representation, create a respective virtual memory resource whose size is equal to the value of the “1” bit's position; and order the virtual memory resources based on the starting address of the forwarding address range, including assigning respective address sub-ranges to the respective virtual memory resources such that each sub-address range is aligned according to its size; wherein the virtual memory resource sub-ranges are contiguous and compose the forwarding address range. 4 . The smart bridge of claim 3 , wherein said assigning respective address sub-ranges to the respective virtual memory resources comprises: allocating the virtual memory resources to the forwarding address range beginning with the starting address, wherein the virtual memory resources are allocated from smallest up until an ending address of a virtual memory resource sub-range is aligned in accordance with the largest remaining virtual memory resource to be allocated; and allocating the remaining virtual memory resources from largest down. 5 . The smart bridge of claim 1 , wherein the program instructions are further executable to configure the routing table in accordance with the endpoint representation. 6 . The smart bridge of claim 1 , wherein the program instructions are further executable to implement a proxy device based on the endpoint representation, and wherein the bridge presents itself to the bus host device as the proxy device requesting the plurality of memory resources. 7 . The smart bridge of claim 1 , wherein the forwarding address range is received from a downstream bridge. 8 . The smart bridge of claim 1 , wherein the forwarding address range comprises: the starting address; and size of the forwarding address range. 9 . The smart bridge of claim 1 , wherein the forwarding address range comprises: the starting address; and an ending address. 10 . The smart bridge of claim 1 , wherein the smart bridge is configured to operate in accordance with a protocol, the protocol comprising one or more of: Peripheral Component Interconnect Express (PCIe); or PXI Express (PXIe). 11 . A method, comprising: storing, by a bridge, a forwarding address range comprising a bridge representation of a plurality of hardware memory resources required by a plurality of devices, wherein the forwarding address range is an integer multiple of a first specified minimum size and is aligned with the first specified minimum size; and converting, by the bridge, the bridge representation of the plurality of hardware memory resources to an endpoint representation comprising a plurality of virtual memory resources based on a starting address of the forwarding address range, wherein each virtual memory resource comprises a respective sub-address range with a size that is a power of 2 multiple of a second specified minimum size and is aligned with its size; wherein the endpoint representation is usable by the bridge or a bus host device to allocate the virtual memory resources to the plurality of devices. 12 . The method of claim 11 , wherein the bridge representation and the forwarding address range are binary numbers, and wherein said converting the bridge representation of the plurality of hardware memory resources to the endpoint representation comprises: while there are virtual memory resources to allocate: determining if a current base address of the forwarding address range is aligned; allocating a next virtual memory resource to the forwarding address range at the current base address, where the size of the sub-address range of the virtual memory resource is based on the least significant 1 bit of the current base address, in response to determining that the starting address of the forwarding address range is not aligned; and allocating the next virtual memory resource to the forwarding address range at the current base address, where the size of the sub-address range of the virtual memory resource is based on the most significant 1 bit of the current forwarding address size, in response to determining that the starting address of the forwarding address range is aligned. 13 . The method of claim 11 , wherein the starting address is aligned, wherein the bridge representation is a binary number, wherein the number of virtual memory resources is equal to the number of “1” bits in the bridge representation, and wherein said converting the bridge representation of the plurality of hardware memory resources to the endpoint representation comprises: for each “1” bit in the bridge representation, creat

Assignees

Inventors

Classifications

  • Topology update or discovery · CPC title

  • Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06) · CPC title

  • H04L49/35Primary

    Switches specially adapted for specific applications · CPC title

  • using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title

  • with address mapping · 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 US2015161068A1 cover?
Smart bridge and use. The smart bridge includes a functional unit, memory, and a switch for routing data between a host and multiple devices using a routing table. The bridge stores a forwarding address range (FAR) as a bridge representation of hardware memory resources required by the devices. The FAR is an integer multiple of a first specified minimum size and is aligned with the first specif…
Who is the assignee on this patent?
Nat Instr Corp
What technology area does this patent fall under?
Primary CPC classification H04L49/35. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Jun 11 2015 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).