Queuing and aligning data
AssigneeXilinx, Inc.
InventorChristopher D. Ebeling
Life of this patent
Estimating the term…
Abstract
Queuing and ordering data is described. Data is stored or queued in concatenated memories where each of the memories has a respective set of data out ports. An aligner having multiplexers arranged in a lane sequence are coupled to each set of the data out ports. A virtual-to-physical address translator is configured to translate a virtual address to provide physical addresses and select signals, where the physical addresses are locations of at least a portion of data words of a cell stored in the concatenated memories in successive order. The multiplexers are coupled to receive the select signals as control select signaling to align the at least one data word obtained from each of the concatenated memories for lane aligned output from the aligner.
Claims20
A method for queuing and ordering data, comprising:
- receiving a set of bits at a first data rate;
- interrogating the set of bits at a second data rate slower than the first data rate, the set of bits interrogated to obtain data information for the set of bits;
- generating physical addresses for storing data obtained from the set of bits;
- storing the data from the set of bits in memory responsive to the physical addresses, the storing including writing multiple words during a write operation;
- creating a record of the data information for the set of bits, the record including a virtual address associated with a starting location of the physical addresses;
- retrieving the record to read the data stored in the memory;
- translating the record to provide the physical addresses for accessing the data stored in the memory and to provide select signals;
- reading the data stored in the memory responsive to the physical addresses provided from translating the record;
- and
- aligning the data accessed from the memory, the data aligned responsive to the select signals.
An integrated circuit for queuing and ordering data, comprising:
- a serializer-deserializer configured to receive a serial stream of information at a first data rate and configured to convert the serial stream of information to parallel streams of information at a second data rate slower than the first data rate;
- a pre-processor coupled to receive the parallel streams of information and configured to interrogate the parallel streams of information to locate an initial data word of a set of bits and to obtain information on size of the set of bits, the pre-processor configured to generate a physical address responsive to the initial data word location and to generate a virtual address responsive to the physical address and a slot index, the slot index indicating an memory unit in which the initial data word is to be stored;
- a memory coupled to receive the parallel streams of information and the physical address associated therewith for storage of data for the set of bits, the memory including concatenated memory blocks, the physical address associated with the memory unit being a respective one of the concatenated memory blocks;
- a pointer circuit coupled to receive the virtual address and the information on size of the set of bits from the pre-processor and configured to create record thereof, the virtual address for the initial data word associated with a row of the concatenated memory blocks;
- a translator coupled to retrieve the record, the translator configured to generate physical addresses responsive to the virtual address and the information on size of the set of bits obtained from the record retrieved, the translator configured to generate select signals associated with the concatenated memory blocks responsive to the slot index and successive increments thereof responsive to the information on size of the set of bits;
- and
- an aligner coupled to receive the data for the set of bits read from the memory responsive to the physical addresses and coupled to receive the select signals, the aligner configured to provide lane alignment of the data for the set of bits read responsive to the select signals.
An integrated circuit for aligning data, comprising:
- memories, each of the memories having a respective set of data out ports;
- an aligner having multiplexers arranged in a lane sequence, the multiplexers coupled to each set of the data out ports of the memories to receive at least one data word from each of the memories, the at least one data word from each of the memories being associated with a cell having data words;
- a virtual-to-physical address translator coupled to the memories and to the aligner, the virtual-to-physical address translator configured to translate a virtual address to provide physical addresses and select signals, the physical addresses being locations of at least a portion of the data words of the cell stored in the memories in successive order, the virtual-to-physical address translator configured to generate the select signals responsive to a memory index in the virtual address, the memory index associated with a memory of the memories having stored therein a first data word of the data words of the cell, the virtual address including a physical address of the first data word of the cell stored in the memory;
- and
- the multiplexers coupled to receive the select signals as control select signaling to align the at least one data word obtained from each of the memories for lane aligned output from the aligner;
- wherein the first data word is output from a multiplexer of the multiplexers associated with an initial lane of the lane sequence.
Dependencies are inferred from the claim text.