Enhanced multi-processor waveform data exchange using compression and decompression
First Claim
1. In a system including a processor, a memory controller and a first memory device integrated on a chip and a second memory device located off the chip, a method for compressing waveform data for storage in the second memory device, comprising:
- receiving a request at the memory controller from the processor to write the waveform data to the second memory device, wherein the waveform data comprise a plurality of samples represented in an integer data format or a floating-point data format;
receiving one or more compression control parameters from the processor at compression logic integrated with the memory controller;
receiving the plurality of samples at the compression logic in the memory controller from the first memory device in response to the request from the processor;
the compression logic compressing the plurality of samples in accordance with the compression control parameter to form a plurality of compressed samples for a compressed packet; and
transferring the compressed packet to the second memory device, the second memory device storing the compressed packet,wherein a first one of the compression control parameters is a data type parameter of the samples, the data type parameter indicating the integer data format or the floating-point data format, wherein for the integer data format, each input sample consists of a first sign bit and a first plurality of mantissa bits and for the floating-point data format, each sample consists of a second sign bit, a second plurality of mantissa bits and a plurality of floating-point exponent bits, the method further comprising;
configuring said compressing to process the first sign bit and the first plurality of mantissa bits of each sample when the data type parameter indicates the integer data format; and
configuring said compressing to process the second sign bit, the second plurality of mantissa bits and the plurality of floating-point exponent bits of each sample when the data type parameter indicates the floating-point data format.
2 Assignments
0 Petitions
Accused Products
Abstract
Configurable compression and decompression of waveform data in a multi-core processing environment improves the efficiency of data transfer between cores and conserves data storage resources. In waveform data processing systems, input, intermediate, and output waveform data are often exchanged between cores and between cores and off-chip memory. At each core, a single configurable compressor and a single configurable decompressor can be configured to compress and to decompress integer or floating-point waveform data. At the memory controller, a configurable compressor compresses integer or floating-point waveform data for transfer to off-chip memory in compressed packets and a configurable decompressor decompresses compressed packets received from the off-chip memory. Compression reduces the memory or storage required to retain waveform data in a semiconductor or magnetic memory. Compression reduces both the latency and the bandwidth required to exchange waveform data. This abstract does not limit the scope of the invention as described in the claims.
-
Citations
29 Claims
-
1. In a system including a processor, a memory controller and a first memory device integrated on a chip and a second memory device located off the chip, a method for compressing waveform data for storage in the second memory device, comprising:
-
receiving a request at the memory controller from the processor to write the waveform data to the second memory device, wherein the waveform data comprise a plurality of samples represented in an integer data format or a floating-point data format; receiving one or more compression control parameters from the processor at compression logic integrated with the memory controller; receiving the plurality of samples at the compression logic in the memory controller from the first memory device in response to the request from the processor; the compression logic compressing the plurality of samples in accordance with the compression control parameter to form a plurality of compressed samples for a compressed packet; and transferring the compressed packet to the second memory device, the second memory device storing the compressed packet, wherein a first one of the compression control parameters is a data type parameter of the samples, the data type parameter indicating the integer data format or the floating-point data format, wherein for the integer data format, each input sample consists of a first sign bit and a first plurality of mantissa bits and for the floating-point data format, each sample consists of a second sign bit, a second plurality of mantissa bits and a plurality of floating-point exponent bits, the method further comprising; configuring said compressing to process the first sign bit and the first plurality of mantissa bits of each sample when the data type parameter indicates the integer data format; and configuring said compressing to process the second sign bit, the second plurality of mantissa bits and the plurality of floating-point exponent bits of each sample when the data type parameter indicates the floating-point data format. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a system including a processor, a memory controller and a first memory device integrated on a chip and a second memory device located off the chip, a method for compressing waveform data for storage in the second memory device, comprising:
-
receiving a request at the memory controller from the processor to write the waveform data to the second memory device, wherein the waveform data comprise a plurality of samples represented in an integer data format or a floating-point data format; receiving one or more compression control parameters from the processor at compression logic integrated with the memory controller; receiving the plurality of samples at the compression logic in the memory controller from the first memory device in response to the request from the processor; the compression logic compressing the plurality of samples in accordance with the compression control parameter to form a plurality of compressed samples for a compressed packet; and transferring the compressed packet to the second memory device, the second memory device storing the compressed packet, wherein one of the compression control parameters is a desired number of bits per compressed packet or a desired compression ratio and said compressing further comprises; calculating a number of bits in the compressed samples per packet for one or more compressed packets; comparing the number of bits in the compressed samples per packet to the desired number of bits per packet to determine a feedback parameter; and adapting said compressing in accordance with the feedback parameter.
-
-
9. In a system including a processor, a memory controller and a first memory device integrated on a chip and a second memory device located off the chip, a method for compressing waveform data for storage in the second memory device, comprising:
-
receiving a request at the memory controller from the processor to write the waveform data to the second memory device, wherein the waveform data comprise a plurality of samples represented in an integer data format or a floating-point data format; receiving one or more compression control parameters from the processor at compression logic integrated with the memory controller; receiving the plurality of samples at the compression logic in the memory controller from the first memory device in response to the request from the processor; the compression logic compressing the plurality of samples in accordance with the compression control parameter to form a plurality of compressed samples for a compressed packet; and transferring the compressed packet to the second memory device, the second memory device storing the compressed packet, wherein the compressed packet further includes a header portion and a payload portion, the method further comprising; providing at least one of the compression control parameters in the header portion; and providing the plurality of compressed samples in the payload portion.
-
-
10. In a system including a processor, a memory controller and a first memory device integrated on a chip and a second memory device located off the chip, a method for decompressing waveform data retrieved from the second memory device, comprising:
-
receiving at the memory controller a request from the processor to retrieve the waveform data from the second memory device, wherein the waveform data are represented by a plurality of compressed samples stored in the second memory device, wherein the plurality of compressed samples and one or more compression control parameters are contained in a compressed packet; receiving the compressed packet from the second memory device at decompression logic integrated with the memory controller in response to the request; the decompression logic decompressing the plurality of compressed samples of the compressed packet in accordance with the one or more compression control parameters to form a plurality of decompressed samples representing the waveform data; and providing the plurality of decompressed samples to the first memory device, the first memory device storing the plurality of decompressed samples for access by the processor, wherein a first one of compression control parameters is a data type parameter of the compressed samples, the data type parameter indicating an integer data format or a floating-point data format, wherein for the integer data format, the compressed packet includes compressed sign and mantissa data of the plurality of compressed samples, and for the floating-point data format, the compressed packet includes compressed floating-point exponent, sign and mantissa data of the plurality of compressed samples, the method further comprising; configuring said decompressing to process the compressed sign and mantissa data to generate a first sign bit and a first plurality of mantissa bits of each decompressed sample when the data type parameter indicates the integer data format; and configuring said decompressing to process the compressed floating-point exponent, sign and mantissa data of the plurality of compressed samples to generate a second sign bit, a second plurality of mantissa bits and a plurality of floating-point exponent bits of each decompressed sample when the data type parameter indicates the floating-point data format. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. In a system including a processor, a memory controller and a first memory device integrated on a chip and a second memory device located off the chip, an apparatus for compressing waveform data for storage in the second memory device, comprising:
-
the memory controller coupled to the processor and the first memory device, wherein the memory controller is operable to receive a request from the processor to write the waveform data to the second memory device, wherein the waveform data comprise a plurality of samples represented in an integer data format or a floating-point data format, the memory controller to retrieve the plurality of samples from the first memory device in response to the request; and compression logic integrated with the memory controller, the compression logic coupled to receive the plurality of samples retrieved from the first memory device and one or more compression control parameters from the processor, wherein the compression logic is operable to compress the plurality of samples in accordance with the one or more compression control parameters to form a plurality of compressed samples for a compressed packet, the compression logic coupled to provide the compressed packet to the second memory device for said storage, wherein one of the compression control parameters is a desired number of bits per compressed packet or a desired compression ratio, and said compression logic further comprises; logic to calculate a number of bits in the compressed samples per packet for one or more compressed packets; logic to compare the number of bits of compressed samples per packet to the desired number of bits per compressed packet to determine a feedback parameter; and logic to adapt compression operations in accordance with the feedback parameter. - View Dependent Claims (17)
-
-
18. In a system including a processor, a memory controller and a first memory device integrated on a chip and a second memory device located off the chip, an apparatus for compressing waveform data for storage in the second memory device, comprising:
-
the memory controller coupled to the processor and the first memory device, wherein the memory controller is operable to receive a request from the processor to write the waveform data to the second memory device, wherein the waveform data comprise a plurality of samples represented in an integer data format or a floating-point data format, the memory controller to retrieve the plurality of samples from the first memory device in response to the request; and compression logic integrated with the memory controller, the compression logic coupled to receive the plurality of samples retrieved from the first memory device and one or more compression control parameters from the processor, wherein the compression logic is operable to compress the plurality of samples in accordance with the one or more compression control parameters to form a plurality of compressed samples for a compressed packet, the compression logic coupled to provide the compressed packet to the second memory device for said storage, wherein a first one of the compression control parameters is a data type parameter of the samples, the data type parameter indicating the integer data format or the floating-point data format, wherein for the integer data format, each sample consists of a first sign bit and a first plurality of mantissa bits and for the floating-point data format, each sample consists of a second sign bit, a second plurality of mantissa bits and a plurality of floating-point exponent bits, the compression logic further comprising; first logic to compress sign bits and mantissa bits of respective samples; second logic to compress floating-point exponent bits of respective samples; logic to provide the first sign bit and the first plurality of mantissa bits of each sample to the first logic when the data type parameter indicates the integer data format; and logic to provide the second sign bit and the second plurality of mantissa bits of each sample to the first logic and to provide the plurality of floating-point exponent bits to the second logic when the data type parameter indicates the floating-point data format. - View Dependent Claims (19, 20)
-
-
21. In a system including a processor, a memory controller and a first memory device integrated on a chip and a second memory device located off the chip, an apparatus for compressing waveform data for storage in the second memory device, comprising:
-
the memory controller coupled to the processor and the first memory device, wherein the memory controller is operable to receive a request from the processor to write the waveform data to the second memory device, wherein the waveform data comprise a plurality of samples represented in an integer data format or a floating-point data format, the memory controller to retrieve the plurality of samples from the first memory device in response to the request; and compression logic integrated with the memory controller, the compression logic coupled to receive the plurality of samples retrieved from the first memory device and one or more compression control parameters from the processor, wherein the compression logic is operable to compress the plurality of samples in accordance with the one or more compression control parameters to form a plurality of compressed samples for a compressed packet, the compression logic coupled to provide the compressed packet to the second memory device for said storage, wherein the compressed packet further includes a header portion and a payload portion, the compression logic further comprising; logic to provide at least one of the compression control parameters to the header portion; and logic to provide the plurality of compressed samples to the payload portion. - View Dependent Claims (22, 23)
-
-
24. In a system including a processor, a memory controller and a first memory device integrated on a chip and a second memory device located off the chip, an apparatus for decompressing waveform data retrieved from the second memory device, comprising:
-
the memory controller coupled to the processor and the first memory device, wherein the memory controller is operable to receive a request from the processor to read the waveform data from the second memory device, wherein the waveform data are represented by a plurality of compressed samples stored in the second memory device, wherein the plurality of compressed samples and one or more compression control parameters are contained in a compressed packet, the memory controller coupled to the second memory device to retrieve the compressed packet from the second memory device in response to the request; and decompression logic integrated with the memory controller, the decompression logic coupled to receive the compressed packet retrieved from the second memory device, wherein the decompression logic is operable to decompress the plurality of compressed samples in accordance with the one or more compression control parameters to form a plurality of decompressed samples representing the waveform data, the decompression logic coupled to provide the plurality of decompressed samples to the first memory device, the first memory device storing the plurality of decompressed samples for access by the processor, wherein a first one of compression control parameters is a data type parameter of the compressed samples, the data type parameter indicating an integer data format or a floating-point data format, wherein for the integer data format, the compressed packet includes compressed sign and mantissa data of the plurality of compressed samples, and for the floating-point data format, the compressed packet includes compressed floating-point exponent, sign and mantissa data of the plurality of compressed samples, the decompression logic further comprising; first logic to decompress compressed sign and mantissa data of respective compressed samples to form decompressed signs and mantissas; second logic to decompress compressed floating-point exponent data of respective compressed samples to form decompressed floating-point exponents; logic to provide the compressed sign and mantissa data of the compressed packet to the first logic when the data type parameter indicates the integer data format; and logic to provide the compressed sign and mantissa data of the compressed packet to the first logic and to provide the compressed floating-point exponent data of the compressed packet to the second logic when the data type parameter indicates the floating-point data format. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification