Adapter device for large address spaces
First Claim
1. An adapter device comprising:
- a host interface operable to communicate with a host device;
a target interface operable to communicate with a target device;
a sequential address buffer;
a sequential data buffer; and
a memory, wherein a region of the memory is configured as a data block, wherein the data block is associated with an address range, wherein the address range corresponds to a region of an address space of the target device;
wherein the adapter device is operable to;
receive a first transaction at the host interface, the first transaction having a first address and first data;
write the first address to the sequential address buffer;
determine that the first address is within the address range;
write the first data to the data block;
receive a second transaction at the host interface, the second transaction having a second address and second data;
write the second address to the sequential address buffer;
determine that the second address is outside the address range;
write the second data to the sequential data buffer;
upon occurrence of a first event, write the first data in the data block to the region of the address space using the target interface; and
upon occurrence of a second event, read data from each entry of the sequential data buffer and, using the target interface, write the data read from each entry to the target device.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are methods and adapter devices for buffering write transactions directed to a large space. In various implementations, an adapter device may include a sequential address buffer and a memory. A region of the memory may be configured as a data block, which may be associated with an address range. The address range may correspond to a region of an address space of a target device. The adapter device may be configured to receive a write transaction, the write transaction having an address and data. The adapter device may further write the address to the sequential address buffer. The adapter device may further determine that the address is within the address range, and to write the data to the data block. The adapter device may further, upon the occurrence of an event, write the data from the data block to the region of the address space of the target device.
16 Citations
24 Claims
-
1. An adapter device comprising:
-
a host interface operable to communicate with a host device; a target interface operable to communicate with a target device; a sequential address buffer; a sequential data buffer; and a memory, wherein a region of the memory is configured as a data block, wherein the data block is associated with an address range, wherein the address range corresponds to a region of an address space of the target device; wherein the adapter device is operable to; receive a first transaction at the host interface, the first transaction having a first address and first data; write the first address to the sequential address buffer; determine that the first address is within the address range; write the first data to the data block; receive a second transaction at the host interface, the second transaction having a second address and second data; write the second address to the sequential address buffer; determine that the second address is outside the address range; write the second data to the sequential data buffer; upon occurrence of a first event, write the first data in the data block to the region of the address space using the target interface; and upon occurrence of a second event, read data from each entry of the sequential data buffer and, using the target interface, write the data read from each entry to the target device. - View Dependent Claims (2, 3)
-
-
4. An adapter device comprising:
-
a sequential address buffer; a sequential data buffer; and a memory, wherein a region of the memory is configured as a data block, wherein the data block is associated with an address range, wherein the address range corresponds to a region of an address space of a target device; wherein the adapter device is operable to; receive a first write transaction, the first write transaction having a first address and first data; write the first address to the sequential address buffer; determine that the first address is within the address range; write the first data to the data block; upon occurrence of a first event, write the first data from the data block to the region of the address space of the target device; receive a second write transaction, the second write transaction having a second address and second data; write the second address to the sequential address buffer; determine that the second address is outside the address range; write the second data to the sequential data buffer; upon occurrence of a second event, read third data from a first entry in the sequential data buffer; read a third address from a second entry in the sequential address buffer, the second entry corresponding to the first entry; and write the third data to the target device using the third address. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An adapter device, comprising:
-
a sequential address buffer; and a sequential data buffer; wherein the adapter device is operable to communicate with a host device and a target device, and wherein the adapter device is operable to; receive a write transaction from the host device, the write transaction having an address and data, wherein the write transaction is directed to the target device; write the address to the sequential address buffer; write the data to the sequential data buffer; and upon occurrence of an event; read first data from a first entry in the sequential data buffer; read a first address from second entry in the sequential address buffer, wherein the second entry corresponds to the first entry due to the first address being associated with the first data; write the first data to the target device using the first address; determine that the first address is within a region of an address space of the target device; determine that other addresses included in other entries in the sequential address buffer are within the region of the address space of the target device; extract additional data from entries in the sequential data buffer, wherein the additional data is associated with the other addresses; and write the additional data to the target device, wherein the first data is written with the additional data.
-
-
19. A method comprising:
-
receiving, at an adapter device, a first write transaction from a host device, the first write transaction having first address and first data, wherein the adapter device includes a sequential address buffer and a memory, wherein a first region of the memory is configured as a sequential data buffer and a second region of the memory is configured as a data block, the data block having an address range, wherein the address range corresponds to a region of memory of a target device; writing, by the adapter device, the first address to the sequential address buffer; determining that the first address is within the address range; writing the first data to the data block; receiving a second transaction from the host device, the second transaction having a second address and second data; writing the second address to the sequential address buffer; determining that the second address is outside the address range; writing the second data to the sequential data buffer; upon occurrence of a first event, writing the first data to the region of memory of the target device; and upon occurrence of a second event, reading data from each entry of the sequential data buffer and writing the data read from each entry to the target device using an address from a corresponding entry in the sequential address buffer. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification