Method and apparatus for power reduction for data movement
AssigneeAdvanced Micro Devices, Inc.
InventorGreg Sadowski
Life of this patent
Estimating the term…
Abstract
A method of and device for transferring data is provided. The method includes determining a difference between a data segment that was transferred last relative to each of one or more data segments available to be transferred next. In some embodiments, for so long as no data segment available to be sent has been waiting too long, the data segment chosen to be sent next is the data segment having the smallest difference relative to the data segment transferred last. The chosen data segment is then transmitted as the next data segment transferred.
Claims39
A method of transferring data including:
- determining a difference between a first transferred data segment and one or more data segments available for transfer;
- determining a second data segment, the second data segment being the data segment available for transfer having the smallest difference relative to the first transferred data segment;
- and
- transmitting the second data segment as the next data segment of the one or more data segments available for transfer that is transferred after transfer of the first data segment.
A device for transferring data including:
- a data storage having a plurality of entries;
- a transmitter operable to output entries from the data storage;
- and
- a controller operable to determine a difference between each entry in the data storage relative to a first entry last output by the transmitter;
- the transmitter operable to identify a second entry that is an entry stored in the data storage having the smallest difference relative to the entry last output by the transmitter, and transmit the second entry as the entry transmitted next after the first entry.
A method of receiving data including:
- receiving a first data entry,
- receiving a first index along with the first data entry, and
- writing the first data entry to a first slot in a first buffer;
- the first slot being identified by the first index.
A method of transferring data including:
- accessing a first ordered set of data entries in a first data storage;
- the first ordered set including a first entry and a second entry, the first entry having been written to the first data storage before the second entry was written to the first data storage;
- transferring the second entry from the first data storage to a second data storage;
- transferring the first entry from the first data storage to the second data storage after transfer of the second entry from the first data storage to the second data storage, the first entry being transferred after the second entry at least partially due to the similarity between the first and second entries;
- and
- outputting the first entry from the second data storage prior to outputting the second entry from the second data storage.
A method of transferring data including:
- determining a difference between a first transferred data segment and one or more data segments available for transfer;
- determining a difference between each of the one or more data segments available for transfer and the other segments of the one or more data segments available for transfer;
- and
- determining an order of transfer for multiple data segments that reduces an amount of power needed to complete the transfer based on the determined differences between the data segment available for transfer.
A computer readable medium containing non-transitory instructions thereon, that when interpreted by at least one processor cause the at least one processor to:
- determine a difference between a first transferred data segment and one or more data segments available for transfer;
- determine a second data segment, the second data segment being the data segment available for transfer having the smallest difference relative to the first transferred data segment for so long as no data segment available for transfer achieves an age above a defined threshold;
- and
- transmit the second data segment as the next data segment of the one or more data segments available for transfer that is transferred after transfer of the first data segment.
A data storage including:
- a plurality of data storage slots;
- a controller operable to:
- receive a first data entry of a set of ordered data entries;
- receive an index;
- and
- place the first data entry into one of the plurality of data storage slots at least partially based on the index;
- and
- an output, operable to output data entries, including the first data entry, in an order proscribed by the index.
A method of transferring data comprising:
- transmitting a second data segment after a first data segment, said second data segment being selected from one or more data segments available for transfer based upon the differences between the first data segment and each of the one or more data segments available for transfer.
Dependencies are inferred from the claim text.