The present disclosure relates to a dynamic random-access memory (DRAM) and a method of operating the same, and more particularly, to a dynamic random-access memory with a data correction function and a method of operating the same.
A DRAM is a type of random access memory that stores each bit of data in a separate capacitor. A simplest DRAM cell comprises a single N-type metal-oxide-semiconductor (NMOS) transistor and a single capacitor. If charge is stored in the capacitor, the cell is said to store a logic HIGH, depending on the convention used. If no charge is present, the cell is said to store a logic LOW. Because the charge in the capacitor dissipates over time, DRAM systems require additional refreshing circuitries to periodically refresh the charge stored in the capacitors. Since a capacitor can store only a very limited amount of charge, in order to quickly distinguish the difference between a logic “1” and a logic “0,” two bit lines (BLs) are typically used for each bit, wherein the first bit line in the bit line pair is known as a bit line true (BLT) and the other bit line in the bit line pair is the bit line complement (BLC). The single NMOS transistor's gate is controlled by a word line (WL).
This Discussion of the Background section is provided for background information only. The statements in this Discussion of the Background are not an admission that the subject matter disclosed in this section constitutes prior art to the present disclosure, and no part of this Discussion of the Background section may be used as an admission that any part of this application, including this Discussion of the Background section, constitutes prior art to the present disclosure.
One aspect of the present disclosure provides a DRAM, comprising a memory array; a control circuit configured to receive an inputting data and a temperature signal; a first error-correction code (ECC1) circuit configured to generate a first encoded data from the inputting data; and a second error-correction code (ECC2) circuit configured to generate a second encoded data from the inputting data.
In some embodiments, the ECC1 circuit is configured to generate the first encoded data when the temperature signal indicates an ambient temperature that is lower than a threshold temperature.
In some embodiments, the ECC2 circuit is configured to generate the second encoded data when the temperature signal indicates an ambient temperature that is higher than a threshold temperature.
In some embodiments, the control circuit is configured to determine which one of the ECC1 circuit and the ECC2 circuit is to be enabled.
In some embodiments, the DRAM further comprises a temperature sensor configured to generate the temperature signal representing the ambient temperature.
In some embodiments, the control circuit is configured to receive a write command.
In some embodiments, one of the ECC1 circuit and the ECC2 circuit is configured to perform a writing operation to the memory array after receiving the write command and one of the first encoded data and the second encoded data.
Another aspect of the present disclosure provides a DRAM, comprising a memory array; a control circuit configured to receive an inputting data and a temperature signal; a first error-correction code (ECC1) circuit configured to generate a first encoded data from the inputting data: and a second error-correction code (ECC2) circuit configured to generate a second encoded data from the inputting data, wherein the ECC1 circuit is enabled when the temperature signal indicates an ambient temperature that is lower than a threshold temperature, and the ECC2 circuit is enabled when the temperature signal indicates an ambient temperature that is higher than the threshold temperature.
In some embodiments, the control circuit comprises a temperature-determining circuit configured to interpret the temperature signal representing the ambient temperature.
In some embodiments, the control circuit further comprises a distributor configured to determine which one of the ECC1 circuit and the ECC2 circuit is to be enabled.
In some embodiments, the DRAM further comprises a temperature sensor configured to generate the temperature signal representing the ambient temperature.
In some embodiments, the control circuit is configured to receive a write command.
In some embodiments, one of the ECC1 circuit and the ECC2 circuit is configured to perform a writing operation to the memory array after receiving the write command and one of the first encoded data and the second encoded data.
In some embodiments, the memory array comprises at least one weak row and at least one strong row.
In some embodiments, the first encoded data is stored in the weak row.
In some embodiments, the second encoded data is stored in the strong row.
Another aspect of the present disclosure provides a method of operating a dynamic random-access memory, comprising the steps of: receiving an inputting data; receiving a temperature signal; interpreting the temperature signal indicating an ambient temperature; determining whether the ambient temperature is lower than a threshold temperature; and enabling one of at least two error-correction code circuits based on the determining result.
In some embodiments, the step of enabling one of at least two error-correction code circuits based on the determining result comprises encoding the inputting data to generate an encoded data, and the method further comprises a step of writing the encoded data to a memory array.
In some embodiments, the step of writing the encoded data to a memory array comprises writing the encoded data in weak rows of the memory array if the ambient temperature is lower than the threshold temperature.
In some embodiments, the step of writing the encoded data to a memory array comprises writing the encoded data in strong rows of the memory array if the ambient temperature is not lower than the threshold temperature.
In a comparative DRAM, there is only one error-correction code (ECC) circuit to encode the inputting data; in contrast, in the DRAM of the present disclosure, there are two error-correction code (e.g., ECC1 and ECC2) circuits. Consequently, one error-correction code circuit having better correcting ability can be optimally applied to a situation, for example, a higher temperature for detecting and correcting, while another error-correction code circuit having normal correcting ability can be optimally applied to another situation, for example, a normal temperature for detecting and correcting.
The foregoing has outlined rather broadly the features and technical advantages of the present disclosure in order that the detailed description of the disclosure that follows may be better understood. Additional features and technical advantages of the disclosure are described hereinafter and form the subject of the claims of the disclosure. It should be appreciated by those skilled in the art that the concepts and specific embodiments disclosed may be utilized as a basis for modifying or designing other structures, or processes, for carrying out the purposes of the present disclosure. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit or scope of the disclosure as set forth in the appended claims.
A more complete understanding of the present disclosure may be derived by referring to the detailed description and claims. The disclosure should also be understood to be connected to the figures' reference numbers, which refer to similar elements throughout the description.
Embodiments, or examples, of the disclosure illustrated in the drawings are now described using specific language. It shall be understood that no limitation of the scope of the disclosure is hereby intended. Any alteration or modification of the described embodiments, and any further applications of principles described in this document, are to be considered as normally occurring to one of ordinary skill in the art to which the disclosure relates. Reference numerals may be repeated throughout the embodiments, but this does not necessarily mean that feature(s) of one embodiment apply to another embodiment, even if they share the same reference numeral.
It shall be understood that, although the terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers or sections, these elements, components, regions, layers or sections are not limited by these terms. Rather, these terms are merely used to distinguish one element, component, region, layer or section from another region, layer or section. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the present inventive concept.
The terminology used herein is for the purpose of describing particular exemplary embodiments only and is not intended to be limited to the present inventive concept. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It shall be further understood that the terms “comprises” and “comprising,” when used in this specification, point out the presence of stated features, integers, steps, operations, elements, or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or groups thereof
The “encode” process is a mechanism for assuring data integrity by adopting extra bit(s) combined with the original data, for example, the inputting data and an algorithm (e.g., Hamming codes), which functions to assure the consistency between the data written to the memory array 30 and that read from the memory array 30. Accordingly, the ECC 40 has error detecting and error correcting abilities (known as soft error recovery ability).
Because the ECC circuit 40 is incorporated in the DRAM 100B, the data integrity and the data accuracy of the DRAM 100B can be ensured, although the DRAM 100B requires some amount of time for accessing the memory array 30 both in the writing cycle for encoding the data and the reading cycle for decoding the data.
In some embodiments, the temperature sensor 10 is configured to sense the ambient temperature of the DRAM 300A and to provide the temperature signal indicating the ambient temperature or a temperature range to the control circuit 20.
In some embodiments, the control circuit 20 is configured to receive an inputting data from an external device, for example, a peripheral device using the DMA or another memory array (e.g., a different memory bank), a write command from an external device (e.g., a controller), and the temperature signal from the sensor 10. In some embodiments, the control circuit 20 interprets the temperature signal from the temperature sensor 10. In some embodiments, the control circuit 20 checks whether the temperature sensed by the temperature sensor 10 is higher than a threshold temperature, and then determines which error-correction code (i.e., ECC1 or ECC2) circuit is to be enabled to perform an encoding operation according to the checking result.
In some embodiments, the memory array 30 includes a plurality of memory rows and is configured to store a data, for example, a user-inputting, data or a data from an external permanent hard disk.
As shown in
In some embodiments, the ECC1 circuit 41 is configured to encode the inputting data from the control circuit 20 and to perform a writing operation to write the encoded data to the memory array 30 according to the assigned memory address after receiving the write command and the encoded data.
In some embodiments, the ECC2 circuit 42 is configured to encode the inputting data from the control circuit 20 and to perform a writing operation on the encoded data to the memory array 30 according to the assigned memory address after receiving the write command and the encoded data.
If the checking result is affirmative (e.g., the ambient temperature is lower than the threshold temperature), the method 300 proceeds to an operation 305, in which the control circuit 20 enables the ECC1 circuit 41 to perform an encoding operation to encode the inputting data and to perform a writing operation to write the encoded data to the memory rows of the memory array 30 according to the assigned memory address after receiving the write command and the encoded data.
If the checking result is negative; e.g., the ambient temperature is not lower than (e.g., higher than) the threshold temperature, the method 300 proceeds to an operation 306, in which the control circuit 20 enables the ECC2 circuit 42 to perform an encoding operation to encode the inputting data and to perform a writing operation to write the encoded data to the memory rows of the memory array 30 according to the assigned memory address after receiving the write command and the encoded data.
In some embodiments, the temperature-determining circuit 21 is configured to interpret the temperature signal from the temperature sensor 10. In some embodiments, the temperature-determining circuit 21 determines whether the ambient temperature sensed by the temperature sensor 10 is higher than a threshold temperature, and transmits the checking result to the distributor 22.
In some embodiments, the distributor 21 is configured to determine which error-correction code (ECC) circuit, e.g., the ECC1 circuit or the ECC2 circuit, is to be enabled to perform an encode operation.
Referring back to
In some embodiments, if the checking result indicates that the ambient temperature is lower than the threshold temperature, the method 400 proceeds to an operation 406, in which the ECC1 circuit 41 is enabled to perform an encoding operation to encode the inputting data and perform a writing operation to write the encoded data to the memory rows of the memory array 30 according to the assigned memory address after receiving the write command and the encoded data.
In some embodiments, if the checking result indicates that the ambient temperature is not lower than (e.g., higher than) the threshold temperature, the method 400 proceeds to an operation 407, in which the ECC2 circuit 42 is enabled to perform an encoding operation to encode inputting data and perform a writing operation to write the encoded data to the memory rows of the memory array 30 according to the assigned memory address after receiving the write command and the encoded data.
As mentioned above, at higher temperatures, the correction ability of the ECC2 circuit 42 is better than that of the ECC1 circuit 41, and thus the ECC2 circuit 42 is used in high-temperature situations, for example, above 90 degrees Celsius, while the ECC1 circuit 41 is used at lower temperatures, for example, below 90 degrees Celsius.
In some embodiments, the plurality of weak rows is used for storing the encoded data from the ECC1 circuit. In some embodiments, the plurality of strong rows is used for storing the encoded data from the ECC2 circuit.
In some embodiments, if the checking result indicates that the ambient temperature is lower than the threshold temperature, the method 500 proceeds to an operation 506, in which the ECC1 circuit 41 is enabled to perform an encoding operation to encode the inputting data and perform a writing operation to write the encoded data to the weak rows 31 of the memory array 30 according to the assigned memory address after receiving the write command and the encoded data.
In some embodiments, if the checking result indicates that the ambient temperature is not lower than (e.g., higher than) the threshold temperature, the method 500 proceeds to an operation 507, in which the ECC2 circuit 42 is enabled to perform an encoding operation to encode the inputting data and perform a writing operation to write the encoded data to the strong rows 32 of the memory array 30 according to the assigned, memory address after receiving the write command and the encoded data.
In a comparative DRAM, there is only one error-correction code (ECC) circuit to encode the inputting data; in contrast, in the DRAM of the present disclosure, there are two error-correction code (e.g., ECC1 and ECC2) circuits. Consequently, one error-correction code circuit having better correcting ability can be applied to a particular situation, for example, higher temperature, while another error-correction code circuit having normal correcting ability can be applied to another situation, for example, normal temperature.
One aspect of the present disclosure provides a DRAM, comprising a memory array; a control circuit configured to receive an inputting data and a temperature signal; a first error-correction code (ECC1) circuit configured to generate a first encoded data from the inputting data; and a second error-correction code (ECC2) circuit configured to generate a second encoded data from the inputting data.
Another aspect of the present disclosure provides a DRAM, comprising a memory array; a control circuit configured to receive an inputting data and a temperature signal; a first error-correction code (ECC1) circuit configured to generate a first encoded data from the inputting data; and a second error-correction code (ECC2) circuit configured to generate a second encoded data from the inputting data, wherein the ECC1 circuit is enabled when the temperature signal indicates that an ambient temperature is lower than a threshold temperature and the ECC2 circuit is enabled when the temperature signal indicates that the ambient temperature is higher than the threshold temperature.
Another aspect of the present disclosure provides a method of operating a dynamic random-access memory, comprising the steps of receiving an inputting data; receiving a temperature signal; interpreting the temperature signal indicating an ambient temperature; determining whether the ambient temperature is lower than a threshold temperature; and enabling an error-correction code circuit based on the determining result.
Although the present disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the disclosure as defined by the appended claims. For example, many of the processes discussed above can be implemented in different methodologies and replaced by other processes, or a combination thereof.
Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, and composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the present disclosure, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present disclosure. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.
This application claims priority of U.S. provisional application Ser. No. 62/610,344 filed on Dec. 26, 2017, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62610344 | Dec 2017 | US |