Claims
- 1. A method comprising:
receiving data in a plurality of data lanes; determining an address offset value for a destination address; and shifting said data into one or more data lanes corresponding to the destination address.
- 2. The method of claim 1, wherein the data lanes comprise byte lanes.
- 3. The method of claim 1, wherein said receiving data comprises receiving a block of data elements.
- 4. The method of claim 3, wherein said receiving comprises burst accessing a memory to retrieve a multi-byte block of data.
- 5. The method of claim 4, wherein the block of data comprises data elements which are not valid for the access.
- 6. The method of claim 1, wherein said receiving comprises receiving a plurality of data elements from a first memory device in a plurality of data lanes into a shift register,
wherein said first memory device has a first bus width and the shift register has a second bus width.
- 7. The method of claim 6, wherein the second bus width is larger than the first bus width.
- 8. The method of claim 1, wherein said shifting comprises shifting data in a shift register.
- 9. The method of claim 8, further comprising changing a pointer value to a data element location corresponding to a first valid data element in a sub-block of data to be written to a second memory device.
- 10. The method of claim 9, wherein said changing comprises changing the pointer value by a number of data locations in the shift register, said number corresponding to the size of the received data.
- 11. The method of claim 9, wherein said changing comprises incrementing the pointer value by a number of byte locations corresponding to the byte-size of the received data.
- 12. The method of claim 9, further comprising writing the shifted data to the second memory device, and
wherein said changing comprises changing the pointer value by a number of data locations in the shift register, said number corresponding to the size of the received data.
- 13. The method of claim 11, wherein said changing comprises decrementing the pointer value by a number of byte locations corresponding to the byte-size of the written data.
- 14. The method of claim 9, further comprising indicating a condition of the shift register in response to a pointer value.
- 15. The method of claim 14, wherein said condition is an empty condition.
- 16. The method of claim 14, wherein said condition is a full condition.
- 17. Apparatus comprising:
a memory controller operative to control an access to a first memory device and assign destination addresses to data elements retrieved in said access; a providing memory device operative to receive a plurality of data elements retrieved in the access; a receiving memory device having a plurality of data lanes and being operative to receive a plurality of data elements to be written to a local memory device from the providing memory device; and a data formatter comprising
a shift register operative to receive data elements from the providing memory device and to shift the data elements in response to receiving data from the providing memory device and in response to writing data to the receiving memory device, and a pointer manager operative to determine an address offset value for a destination address to shift said data elements into one or more data lanes corresponding to the destination address.
- 18. The apparatus of claim 17, wherein the memory controller comprises a burst access memory operative to control a burst access which retrieves a multi-byte block of data.
- 19. The apparatus of claim 17, wherein the providing memory device comprises a random access memory (RAM).
- 20. The apparatus of claim 17, wherein the providing memory device comprises a random access memory (RAM).
- 21. The apparatus of claim 17, wherein the receiving memory device comprises a first-in first-out (FIFO) memory.
- 22. The apparatus of claim 17, wherein the providing memory device has a first bus width and the shift register has a second bus width, and
wherein the second bus width is larger than the first bus width.
- 23. The apparatus of claim 22, wherein the second bus width is four times larger than the first bus width.
- 24. The apparatus of claim 17, wherein the pointer manager is operative to change a pointer value to a data element location in the shift register corresponding to a location of a first valid data element in a sub-block of data to be written to a second memory device.
- 25. The apparatus of claim 24, wherein the pointer manager is operative to generate a signal indicative of a condition of the shift register in response to the pointer value.
- 26. The apparatus of claim 25, wherein the condition is an empty condition.
- 27. The apparatus of claim 25, wherein the condition is a full condition.
- 28. An article comprising a machine-readable medium including machine-executable instructions, the instructions operative to control a machine to:
receive data in a plurality of data lanes; determine an address offset value for a destination address; and shift said data into one or more data lanes corresponding to the destination address.
- 29. The article of claim 28, wherein the data lanes comprise byte lanes.
- 30. The article of claim 28, wherein the instructions operative to cause the machine to receive data comprise instructions operative to cause the machine to receive a block of data elements.
- 31. The article of claim 28, further comprising instructions operative to cause the machine to change a pointer value to a data element location corresponding to a first valid data element in a sub-block of data to be written to a second memory device.
- 32. The article of claim 31, further comprising instructions causing the machine to indicate a condition of the shift register in response to a pointer value.
- 33. The article of claim 32, wherein said condition is an empty condition.
- 34. The article of claim 32, wherein said condition is a full condition.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application Serial No. 60/309,064, entitled DATA FORMATTER and filed on Jul. 30, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60309064 |
Jul 2001 |
US |