The present invention relates to error correction on semiconductor integrated circuit chips which are used for processing of encoded data. The invention finds particular use in communications, including wireless telecommunication; however can be applied to any of a large number of circuits which process encoded data.
Part of the configuration of some signal processing circuits is an ability to process encoded data. This provides a robust means for transferring and decoding data, and also allows for the processing of large amounts of data using limited data bandwidth.
Embedded memories are typically tested by the manufacturer of an integrated circuit. If there are any defects in the memory, which can not be repaired, the integrated circuit is scrapped.
Static Random Access Memory (SRAM) is typically the densest portion of a communication integrated circuit in terms of transistors per unit area. This dense area also tends to be more susceptible to manufacturing defects. Very large embedded SRAMs can be implemented with redundancy to correct some defects and improve manufacturing yield at a cost of additional die area for the redundant circuits; however, smaller SRAMs, typically found in implementations of communication systems can not take advantage of repairable memory technology because of the overhead area cost. Because of the use of small embedded SRAMs, communication integrated circuits (ICs) can suffer from low manufacturing yields, increasing the price per IC.
One way to increase wafer yield is to provide redundancy in IC circuits. Through the use of switches, fuses and antifuses, matrixed elements of the IC are switched off and other elements added. This of course requires a corresponding redundancy of circuit elements, which can be significant because replacement normally is performed by substituting entire rows or columns of the array. The second approach would embed extra rows and columns into the memory array. At time of test if there is a bad row or column discovered, the redundant row or column is switched in through programmable fuses and antifuses.
Another way to increase wafer yield on memory devices is to provide error correction circuitry (ECC). The inclusion of EEC circuits around IC memories has been done by IC manufacturers at the cost of adding more bits of storage to the memory and additional encoding and decoding circuitry. This has the disadvantage of slowing process speeds, since data must be processed by the error correction circuitry, resulting in additional delay time. In addition, the use of error correction increases the cost of the circuit because the error correction takes up “real estate” on the chip and requires additional circuit design.
One redundancy approach uses parity bits for every stored data word. The parity bits are used with standard error correction coding techniques such as Bose-Chaudhuri-Hocquenghem code (BCH code) or Reed-Solomon error correction. Each of these techniques have costs in terms of extra die area for the added redundancy and ECC circuitry and possibly added test time.
Accordingly, it is desirable to have alternate approaches to memory fault tolerance.
In accordance with the present invention, digital signal processing circuit includes a fault tolerant memory array. The digital signal processing circuit and memory array are provided in a system in which scrambler and de-scrambler circuits are used to randomly distribute errors that might otherwise be clustered together. Spread spectrum communication algorithms such as dispreading algorithms can usually reliably recover signals with errors if the errors are randomly distributed. The scrambling code is selected as one which will break up clumps of errors into a more Gaussian or random distribution. The inherent robustness of typical spread-spectrum receiver circuits can often reliably recover the original transmitted data signal from the received signal having errors. The implementation of this invention results in treating the memory error distorted receive signal as if it was received through a communication channel.
Hereafter, a wireless transmit/receive unit (WTRU) includes but is not limited to a user equipment, mobile station, fixed or mobile subscriber unit, pager, or any other type of device capable of operating in a wireless environment. When referred to hereafter, a base station includes but is not limited to a Node-B, site controller, access point or any other type of interfacing device in a wireless environment.
According to the present invention, a scrambler and a de-scrambler are used in data transfer which is implemented through a memory array. Data read into the memory array in scrambled form and data read out is descrambled. The scrambling of the data is performed in a manner which randomly distributes or breaks apart clustered errors. The scrambling/descrambling functions provided for other data processing functions, and so processing overhead is not significantly increased. Scrambling and descrambling of data is often implemented in wireless communications systems, including CDMA and other wireless slotted communications systems, including systems in which multiple WTRUs communicate through one or more base stations. In a wireless channel, the Rayleigh fading phenomena often causes a burst of errors. A common technique to deal with fading channels is to use error correction encoding in conjunction with time interleaving at the transmitter. De-interleaving and error correction decoding are then performed at the receiver. Error correction techniques work better with randomly distributed errors versus clumped error patterns.
According to the present invention, error correction techniques used in memory are combined with error correction techniques used in combination with spreading techniques already embedded in communication waveforms. This provides an efficient way to recover from memory defects on the baseband chip. This avoids a need to include EEC circuits around IC memory circuits and thereby avoids the cost of adding more bits of storage to the memory as well as avoiding additional encoding and decoding circuitry.
To illustrate, data in communication systems typically is encoded using error correction codes. Instead of encoding the data with an error correction code prior to descrambling or using redundant memory elements, the error correction coding already present in the data is used to correct our identity errors within the descrambled data. Also, in spread spectrum communications, the spreading codes introduce redundancy in the transmitted waveform which can allow the receiver despreader to correctly recover a corrupted signal. As a result, error correction coding is not required by the memory array and memory redundancy is not required due to the redundance inherent with the raw data's error correction coding and/or the signal's spreading code.
Additionally, the error correction can be performed in the normal error correction decoding of the communication signal. To illustrate, communication data is error correction encoded, such as turbo encoded. The encoded data is scrambled. The descrambled data is processed normally and any errors resulting from the memory storage are corrected along with any communication errors by the error correction decoder, such as a turbo decoder. Since, typically, any error in the memory storage are negligible with respect to the communication channel errors, the decoded data will also typically have a negligible degradation in quality. Another example would be of a corrupted spread spectrum waveform being correctly de-spread in the receiver.
In one embodiment of the invention, the memory array is integrated into a digital signal processing circuit used as a part of a data communications circuit. The scrambling and descrambling of the data is performed as part of a communications protocol which includes an error correction function as part of the scrambling and descrambling. The scrambling and descrambling provides the error correction for the memory array, so that errors in memory array are corrected, without substantial overhead in terms of latency, processing or circuitry in order to provide the error correction function. These functions randomize the memory defects to take advantage of the inherent robustness of the communication algorithms.
According to a further aspect of the invention, the specific approaches to scrambling and de-scrambling data is selected in accordance with use memory error characterization data from manufacturing tests. This memory error characterization data is then used to optimize the scrambling operation.
While the scrambling and descrambling are shown in a manner whereby the data is processed as received, it is also possible to provide the scrambling and descrambling process remotely. This would be the case where the scrambled data is transferred or stored. According to the invention, it is possible to provide the error correction function without substantial memory redundancy, processing overhead or circuitry overhead by combining the scrambling/descrambling function with an error correction function.
In a particular embodiment, the invention provides an IC design which treats the embedded memories and their possible defects as another form of channel which can be tolerated by robust communication algorithms. This embodiment takes advantage of the inherent robust behavior of communication algorithms to tolerate memory errors, and results in lower cost communication ICs. This embodiment allows the utilization of ICs with non-correctable memory errors, effectively increasing manufacturing yields and lowering the cost per IC.
Correction occurs during descrambling or after descrambling using error correction codes present in stored data, to illustrate,
In
The specific examples incorporate exemplary approaches to scrambling and de-scrambling data to randomize memory data errors. Other approaches to scrambling and de-scrambling data may be used, provided that the scrambling and de-scrambling of the data is able to correct or randomize memory data errors. By way of example, it is often the case that logic operations and other data processing functions are performed on the data in encrypted or scrambled form, and it is possible to perform such logic functions along with other logic functions of the embodiments. It is further possible to implement the embodiments by providing data inputs and/or data outputs which are processed externally.
It is further possible to provide data in scrambled or encrypted form and execute data error correction, as shown in
This application claims the benefit of U.S. Provisional Application No. 60/519,799; filed on Nov. 13, 2003, which is incorporated by reference as if fully set forth.
Number | Date | Country | |
---|---|---|---|
60519799 | Nov 2003 | US |