Domain-selective control component
A control component implements pipelined data processing operations in either of two timing domains bridged by a domain-crossing circuit according to one or more configuration signals that indicate relative clock frequencies of the two domain and/or otherwise indicate which of the two timing domains will complete the data processing operations with lowest latency.
1 . A memory control component to transact data read and write operations with respect to one or more integrated-circuit memory components, the memory control component comprising:
a first signaling interface to receive first data;
error correction code (ECC) circuitry to generate ECC result data by executing an ECC operation with respect to the first data;
storage circuitry to temporarily store the ECC result data in response to (i) transition of a first clock signal if a domain-select signal is in a first state or (ii) transition of a second clock signal if the domain-select signal is in a second state, the first and second clock signals having at least one of different frequencies or different phases; and
a second signaling interface to receive the ECC result data from the storage circuitry and to output the ECC result data from the memory control component.
2 . The memory control component of claim 1 wherein:
the first signaling interface to receive first data comprises a memory-control interface to receive, from the one or more integrated-circuit memory components as the first data, read data and an ECC value corresponding to the read data;
the ECC circuitry to generate the ECC result data comprises error correction circuitry to generate, as the ECC result data, error-corrected read data by executing an error-detection/correction operation with respect to the read data and the ECC value; and
the second signaling interface comprises a host interface to output the error-corrected read data to a host integrated-circuit component.
3 . The memory control component of claim 2 wherein the ECC circuitry to generate the error-corrected read data by executing the error-detection correction operation with respect to the read data and the ECC value comprises circuitry to apply the ECC value and read data as operands in a combinatorial logic operation to detect and correct occurrence of one or more symbol errors within the read data.
4 . The memory control component of claim 1 wherein:
the first signaling interface to receive first data comprises a host interface to receive, from a host integrated circuit component as the first data, write data to be stored within the one or more integrated-circuit memory components;
the ECC circuitry to generate the ECC result data comprises logic circuitry to generate an ECC value corresponding to the write data, the ECC value and the write data collectively constituting the ECC result data; and
the second signaling interface to output the ECC result data from the memory control component comprises a memory-control interface to transmit both the ECC value and the write data to the one or more integrated-circuit memory components for storage therein.
5 . The memory control component of claim 1 wherein the storage circuitry to temporarily store the ECC result data comprises:
a first synchronous storage circuit to store the ECC result data in response to the transition of the first clock signal;
a second synchronous storage circuit to store the ECC result data in response to the transition of the second clock signal; and
multiplexing circuitry to select, as the ECC result data and according to whether the domain-select signal is in the first state or the second state, either the ECC result data stored in the first synchronous storage circuit or the ECC result data stored in the second synchronous storage circuit, respectively.
6 . The memory control component of claim 5 further comprising timing domain crossing circuitry coupled between the first and second synchronous storage circuits.
7 . The memory control component of claim 5 wherein the multiplexing circuitry comprises circuitry to bypass either the first synchronous storage circuit or the second synchronous storage circuit according to whether the domain-select signal is in the second state or the first state, respectively.
8 . The memory control component of claim 7 wherein:
the first and second clock signals have different frequencies; and
the circuitry to bypass either the first synchronous storage circuit or the second synchronous storage circuit comprises circuitry to reduce a time between reception of the first data via the first signaling interface and output of the ECC result via the second signaling interface by a time interval corresponding to the difference between the frequencies of the first and second clock signals.
9 . The memory control component of claim 1 wherein the storage circuitry to temporarily store the ECC result data comprises a synchronous storage circuit that latches the ECC result data in response to transition of a timing signal and multiplexing circuitry to output to the synchronous storage circuit, as the timing signal, either the first clock signal or the second clock signal according to whether the domain-select signal is in the first state or the second state, respectively.
10 . The memory control component of claim 9 further comprising timing domain crossing circuitry and wherein the multiplexing circuitry comprises circuitry to couple either (i) an output of the synchronous storage circuit to an input of the timing domain crossing circuitry or (ii) an input of the synchronous storage circuit to an output of the timing domain crossing circuitry according to whether the domain-select signal is in the first state or the second state, respectively.
11 . A method of operation within a memory control component having first and second signaling interfaces and that transacts data read and write operations with respect to one or more integrated-circuit memory components, the method comprising:
receiving first data via the first signaling interface;
executing an error correction code (ECC) operation with respect to the first data to generate ECC result data;
temporarily storing the ECC result data within the memory control component in response to either (i) transition of a first clock signal if a domain-select signal is in a first state or (ii) transition of a second clock signal if the domain-select signal is in a second state, the first and second clock signals having different frequencies and/or different phases; and
after temporarily storing the ECC result data, outputting the ECC result data from the memory control component via the second signaling interface.
12 . The method of claim 11 wherein:
receiving the first data via the first signaling interface comprises receiving, as the first data, read data and an ECC value corresponding to the read data from the one or more integrated-circuit memory components via a memory-control interface;
executing the ECC operation to generate the ECC result data comprises executing an error-detection/correction operation with respect to the read data and the ECC value to generate, as the ECC result data, error-corrected read data; and
outputting the ECC result data from the memory control component via the second signaling interface comprises outputting the error-corrected read data to a host integrated-circuit component via the second signaling interface.
13 . The method of claim 12 wherein executing the error-detection correction operation with respect to the read data and the ECC value comprises applying the ECC value and read data as operands in a combinatorial logic operation to detect and correct occurrence of one or more symbol errors within the read data.
14 . The method of claim 11 wherein:
receiving the first data via the first signaling interface comprises receiving, as the first data, write data from a host integrated circuit component via a host interface, the write data to be stored within the one or more integrated-circuit memory components;
executing the ECC operation to generate the ECC result data comprises generating an ECC value corresponding to the write data, the ECC value and the write data collectively constituting the ECC result data; and
outputting the ECC result data from the memory control component via the second signaling interface comprises transmitting, via a memory-control interface, both the ECC value and the write data to the one or more integrated-circuit memory components for storage therein.
15 . The method of claim 11 wherein temporarily storing the ECC result data comprises:
storing the ECC result data within a first synchronous storage circuit in response to the transition of the first clock signal if the domain-select signal is in the first state;
storing the ECC result data within a second synchronous storage circuit in response to the transition of the second clock signal if the domain-select signal is in the second state; and
selecting, as the ECC result data output from the memory control component via the second signaling interface, either the ECC result data stored in the first synchronous storage circuit or the ECC result data stored in the second synchronous storage circuit according to whether the domain-select signal is in the first state or the second state, respectively.
16 . The method of claim 15 further comprising timing domain crossing circuitry coupled between the first and second synchronous storage circuits.
17 . The method of claim 15 wherein selecting, as the ECC result data output from the memory control component via the second signaling interface, either the ECC result data stored in the first synchronous storage circuit or the ECC result data stored in the second synchronous storage circuit, comprises bypassing either the first synchronous storage circuit or the second synchronous storage circuit according to whether the domain-select signal is in the second state or the first state, respectively.
18 . The method of claim 17 wherein:
the first and second clock signals have different frequencies; and
bypassing either the first synchronous storage circuit or the second synchronous storage circuit comprises reducing a time between reception of the first data via the first signaling interface and output of the ECC result via the second signaling interface by a time interval corresponding to the difference between the frequencies of the first and second clock signals.
19 . The method of claim 11 wherein temporarily storing the ECC result data comprises:
latching the ECC result data within a synchronous storage circuit in response to transition of a timing signal input to the synchronous storage circuit; and
selecting, as the timing signal input to the synchronous storage circuit, either the first clock signal or the second clock signal according to whether the domain-select signal is in the first state or the second state, respectively.
20 . The method of claim 19 further comprising coupling either (i) an output of the synchronous storage circuit to an input of a timing domain crossing circuit or (ii) an input of the synchronous storage circuit to an output of the timing domain crossing circuit according to whether the domain-select signal is in the first state or the second state, respectively.
21 . A memory control component to transact data read and write operations with respect to one or more integrated-circuit memory components, the memory control component comprising:
means for receiving first data;
means for executing an error correction code (ECC) operation with respect to the first data to generate ECC result data;
means for temporarily storing the ECC result data in response to (i) transition of a first clock signal if a domain-select signal is in a first state or (ii) transition of a second clock signal if the domain-select signal is in a second state, the first and second clock signals having at least one of different frequencies or different phases; and
means for:
receiving the ECC result data from the means for temporarily storing the ECC result data, and
outputting the ECC result data from the memory control component.