WO2015034087A1 - メモリ制御回路およびキャッシュメモリ - Google Patents

メモリ制御回路およびキャッシュメモリ Download PDF

Info

Publication number
WO2015034087A1
WO2015034087A1 PCT/JP2014/073683 JP2014073683W WO2015034087A1 WO 2015034087 A1 WO2015034087 A1 WO 2015034087A1 JP 2014073683 W JP2014073683 W JP 2014073683W WO 2015034087 A1 WO2015034087 A1 WO 2015034087A1
Authority
WO
WIPO (PCT)
Prior art keywords
error
data
memory
cache memory
read
Prior art date
Application number
PCT/JP2014/073683
Other languages
English (en)
French (fr)
Inventor
紘希 野口
藤田 忍
恵子 安部
Original Assignee
株式会社 東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社 東芝 filed Critical 株式会社 東芝
Publication of WO2015034087A1 publication Critical patent/WO2015034087A1/ja
Priority to US15/059,702 priority Critical patent/US10042725B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1677Verifying circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Definitions

  • Embodiments described herein relate generally to a memory control circuit that controls a cache memory and a cache memory that includes the memory control circuit.
  • MRAM Magnetic Random Access Memory
  • SRAM Static Random Access Memory
  • MRAM Magnetic Random Access Memory
  • MRAM Magnetic RAM
  • MRAM Magnetic RAM
  • the writing reliability and data retention (data retention) reliability of the MRAM which is capable of high-speed operation, are clearly lower than those of the conventional cache memory SRAM.
  • the data holding period required taking into account power shut-off or the like becomes as long as several seconds or more, the reliability of data holding deteriorates according to the length of time.
  • ECC Error Check and Correct
  • MRAM errors There are four causes of MRAM errors: initial failure, write failure, retention failure, and read failure. If initial failure occurs due to device manufacture, it must be corrected by ECC and redundant bits must be added to deal with runtime errors.
  • the problem to be solved by the present invention is to provide a memory control circuit and a cache memory that can prevent a failure that prevents a memory access from being normally performed due to a cache memory error.
  • an error detection unit that detects whether an error is included in data written to the cache memory or data read from the cache memory;
  • An error correction unit for correcting an error detected by the error detection unit;
  • the error detection unit detects that an error is included in data read for verifying data written when data is written to the cache memory or data read when data is read from the cache memory
  • Is an error determination unit that determines whether the number of error bits is larger than a predetermined threshold set based on the maximum number of error bits that can be corrected by the error correction unit
  • An access control unit for controlling whether to access a memory lower in level than the cache memory and whether to perform error correction by the error correction unit based on a determination result in the error determination unit;
  • a memory control circuit is provided.
  • FIG. 1 is a block diagram showing a schematic configuration of a cache memory 1 according to an embodiment.
  • (A) is a circuit diagram showing an example of a 1T-1R type
  • (b) is a circuit diagram showing an example of a 2T-2R type.
  • FIG. 3 is a block diagram showing an example of an internal configuration of a data reading unit 4.
  • 7 is a flowchart showing an example of processing operation of the cache controller 12. The flowchart which shows an example of the detailed process sequence of step S4.
  • FIG. 1 is a block diagram showing a schematic configuration of a cache memory 1 according to an embodiment.
  • the cache memory 1 of FIG. 1 includes a tag array 2, a data array 3, a data reading unit 4, a first comparison circuit 5, a second comparison circuit 6, a selection circuit 7, a tag match signal generation unit 8, A hit determination unit 9, an ECC error detection unit 10, an ECC error correction unit 11, and a cache controller 12 are provided.
  • the cache memory 1 of FIG. 1 at least the ECC error detection unit 10, the ECC error correction unit 11, and the cache controller 12 correspond to the memory control circuit.
  • the tag array 2 stores an address corresponding to each data stored in the data array 3. Since the tag array 2 is accessed more frequently than the data array 3, high reliability is required. Therefore, a predetermined number of ECC bits are added to the address bit string stored in the tag array 2. As the number of ECC bits is increased, the number of error bits that can be corrected can be increased.
  • the ECC error detection unit 10 and the ECC error correction unit 11 are omitted for the tag array 2.
  • the ECC bit is added to the bit string of the address in the tag array 2
  • the ECC for the tag array 2 is used.
  • An error detection unit and an ECC error correction unit are required.
  • the data array 3 is set associative and stores data in a plurality of ways.
  • the bit string of each data has a granularity for each way (for example, 512 bit width), and ECC bits are added to this bit string.
  • ECC for example, a BCH code using a Hamming code can be used.
  • the ECC reliability varies depending on the number of bits added for ECC.
  • XOR exclusive OR
  • one way is composed of 512 bits, data is divided into four for every 128 bits, and, for example, 14 ECC bits are added to a 128-bit bit string. In this case, if there is no bit error in the bit string combining the data bits and the ECC bits, it can be determined that there is no error. If there is only one bit error, it is possible to detect that a bit error has occurred and to identify which bit has caused the error.
  • the error can be corrected by inverting the bit that caused the error. If there are two bit errors, it can be detected that an error has occurred, but it cannot be identified with which bit the error has occurred. Therefore, error correction cannot be performed. On the other hand, if there are three or more bit errors, it cannot be correctly recognized whether or not an error has occurred, and erroneous information is returned to the processor.
  • the reliability of ECC errors can be changed by increasing / decreasing the number of ECC bits or changing the number of data bits.
  • the data read unit 4 in FIG. 1 selects a bit line connected to a memory cell to be read from a plurality of bit lines of the data array 3, and senses the voltage of the selected bit line. .
  • the first comparison circuit 5 and the second comparison circuit 6 in FIG. 1 each compare a tag bit that is an upper bit string of an address requested by the processor with a tag bit stored in the tag array 2.
  • the reason why the two types of the first comparison circuit 5 and the second comparison circuit 6 are provided is that the tag array 2 is divided into two ways, and as many comparison units as the number of ways are required.
  • the tag match signal generation unit 8 When the match is detected by both the first comparison circuit 5 and the second comparison circuit 6, the tag match signal generation unit 8 outputs a signal indicating that the addresses match.
  • the selection circuit 7 reads the corresponding data from a specific way in the data array 3 based on the coincident address.
  • the ECC error detection unit 10 uses the ECC bit included in the data read by the selection circuit 7 to detect whether or not there is an error in this data.
  • the ECC error correction unit 11 corrects the error detected by the ECC error detection unit 10. If no error is detected by the ECC error detection unit 10, the data read from the data array 3 is output as it is and transferred to the processor. There is a difference in latency between the case where data after error correction is transferred to the processor and the case where data where no error is detected is transferred to the processor.
  • the hit determination unit 9 When there is no error in the data read from the data array 3 or an error correctable error is included, the hit determination unit 9 outputs a signal indicating a cache hit, and otherwise indicates that a cache miss has occurred. The signal shown is output. That is, the hit determination unit 9 determines that data that cannot be corrected by the ECC error correction unit 11 is a cache miss. In this case, an access request is made to the cache memory 1 or the main memory (hereinafter referred to as “low-order memory”) that is lower than the cache memory 1.
  • the cache controller 12 controls access to the cache memory 1 and the low-order memory based on the processing results of the ECC error detection unit 10, the ECC error correction unit 11, and the hit determination unit 9.
  • Errors that are remedied by ECC include initial defects due to manufacturing in addition to write defects and retention defects. Conventionally, an initial failure is replaced with a redundant cell by using a fuse element, and an address block including the initial failure has not been accessed. However, since the initial failure is often fixed to 0 or fixed to 1, if the bit to be written happens to be the same as the fixed value, it may be erroneously determined that the normal value is held. there were.
  • the initial failure is not completely reduced to zero, or even if the initial failure is initially zero. Even in a situation where defective bits occur due to deterioration, the cache memory 1 operates normally.
  • the operation when writing data will be explained.
  • the data is read for write verification (verification), and the written value is compared with the read value.
  • the writing is normally completed and no additional processing is performed. If the written value and the read value are different, whether the error can be detected by the ECC error detection unit 10 and whether the error can be corrected by the ECC error correction unit 11 is calculated from the number of mismatch bits. .
  • the predetermined threshold is a value that is set based on the maximum number of bits that can be corrected by the ECC error correction unit 11, and more specifically, is a value that is equal to or less than the maximum number of bits.
  • the ECC error correction unit 11 can always correct errors unless the actual number of error bits exceeds the threshold value. In other words, the lower the threshold value is set, the greater the margin for correcting an error, but the more frequently the data is written to the low-order memory by write-through.
  • a mode in which data written to the cache memory is written back to the low-order memory at a predetermined timing thereafter is called a write-back mode.
  • the data once written in the cache memory 1 has a reduced reliability over time due to deterioration of retention characteristics, etc. Therefore, appropriately dirty data is stored in a lower memory hierarchy depending on the error occurrence at the time of data reading. That is, write-back to the low-order memory is performed.
  • the lower memory hierarchy (low-order memory) is accessed.
  • the data in which a number of errors that cannot be corrected is dirty data, the correct data has been lost, and the system may end abnormally.
  • data is written to the low-order memory in the write-through mode when an error exceeding the threshold value occurs, so that error-correctable data exists in the low-order memory, and the processor system The possibility of abnormal termination is very low. If the system is abnormally terminated with high frequency, the above-described threshold value may be set low. In other words, immediately after the system was introduced, the initial failure was not selected and the threshold value was set low.
  • the threshold value was set higher for a while because the processor system had little deterioration over time. If the threshold value increases, control such as setting the threshold value low again is performed, so that the cache memory 1 can be stably operated without being affected by the initial failure or the aging deterioration.
  • a spin transfer magnetization reversal type (STT) MRAM is suitable for use in the cache memory 1 because it can operate at a low voltage and read / write at high speed.
  • STT-MRAM spin transfer magnetization reversal type
  • data 0 and 1 are discriminated by comparing the current flowing through the magnetoresistive effect element (for example, MTJ element) in the MRAM cell with the current flowing through the reference resistance in the reference cell.
  • MTJ element magnetoresistive effect element
  • the resistance values of the magnetoresistive effect elements in the MRAM cell connected to each of the pair of bit lines are reversed from each other, and the currents flowing through the respective magnetoresistive effect elements are compared with each other. And 1 are discriminated.
  • 2A includes an MRAM cell 31 having a magnetoresistive effect element AP, a reference cell 32 having a reference resistance Ref, a transfer gate 33 provided on a bit line through which a current from the MRAM cell 31 flows, A local capacitor CBL connected to one end of the transfer gate 33; a global capacitor CGL connected to the other end of the transfer gate 33; a transfer gate 34 provided on a reference bit line through which a current from the reference cell 32 flows; A local capacitor CREF connected to one end of the transfer gate 34, a global capacitor C / GL connected to the other end of the transfer gate 34, and a sense amplifier 4 connected to the bit line and the reference bit line. .
  • the circuit of FIG. 2B is provided on a pair of MRAM cells 31 and 35 having magnetoresistive elements AP and P having different resistance values, and a pair of bit lines through which currents from the MRAM cells 31 and 35 flow.
  • Capacitors CGL and C / GL, and a sense amplifier 4 connected to a pair of bit lines.
  • the voltage at one end of the capacitor obtained by synthesizing the local capacitor CBL and the global capacitor CGL for storing electric charges according to the current flowing through the magnetoresistive effect element AP in one MRAM cell 31 is obtained.
  • the data 0 and 1 are determined by comparing with a voltage at one end of a capacitor obtained by synthesizing the local capacitor Cref and the global capacitor C / GL that accumulates charges according to the current flowing through the reference resistor Ref in the reference cell 32.
  • the reference resistance Ref has an intermediate resistance value between a high resistance and a low resistance that can be taken by the magnetoresistive effect element AP, whether the resistance value of the magnetoresistive effect element AP is larger or smaller than the resistance value of the reference resistance 0 or 1 is determined.
  • the resistance values of the magnetoresistive effect elements AP and P in the MRAM cells 31 and 35 connected to the pair of bit lines are reversed from each other, and the respective magnetoresistances are set.
  • Data 0 and 1 are determined by comparing the voltage at one end of each capacitor that accumulates electric charge corresponding to the current flowing through the effect elements AP and P with each other.
  • data is read out differentially using a pair of bit lines, so that data can be read out at a higher speed than in the 1T-1R type.
  • the factors that decrease the reliability are variations in the write current value of the magnetoresistive effect element and data retention time.
  • An error occurs due to these variations.
  • the most frequent error in a 2T-2R type cell is an error caused by a pair of magnetoresistive elements provided corresponding to a pair of bit lines both having low resistance or both having high resistance. is there.
  • the 2T-2R type read method since the currents flowing through the pair of magnetoresistive elements corresponding to the pair of bit lines are compared, if both the pair of magnetoresistive elements have low resistance or high resistance, There is no possibility that the current flowing through these magnetoresistive elements will differ, and a slight current difference will be sensed and erroneous data may be output.
  • a current flowing through the magnetoresistive effect element corresponding to each bit line is compared with a current flowing through the reference resistance in the reference cell, so that a pair of magnetic fields corresponding to the pair of bit lines is used. Even if both the resistance effect elements become low resistance or high resistance, an error can be correctly detected by comparison with a reference cell having an intermediate resistance value.
  • the data reading unit 4 of the present embodiment employs a new reading method that is based on the 2T-2R type reading method, but can also compare with the reference cell of the 1T-1R type when an error is detected. .
  • FIG. 3 is a block diagram showing an example of the internal configuration of the data reading unit 4.
  • the data reading unit 4 in FIG. 3 includes a column selector 21, a reading method selection unit 22, and a sense amplifier 23.
  • the column selector 21 selects a bit line connected to an MRAM cell to be read based on a column selection signal CSL output from a column decoder (not shown). Based on the mode selection signal Mode output from the cache controller 12, the reading method selection unit 22 selects whether to perform 2T-2R type reading or 1T-1R type reading.
  • the cache controller 12 normally sets the signal logic of the mode selection signal Mode to perform 2T-2R type reading, and when an error is detected, the mode selection signal Mode to perform 1T-1R type reading. Switch the signal logic.
  • FIG. 4 is a flowchart showing an example of the processing operation of the cache controller 12. This flowchart is started when the processor makes an access request to a certain address.
  • step S1 it is determined whether or not the address requested to access hits the cache memory 1, that is, whether or not the data of the address requested to be accessed is stored in the cache memory 1 (step S1). If there is no hit, it is determined whether the access request is a write request (step S2, first read / write determination unit). If the request is not a write request but a read request, the data corresponding to the requested address is read from the low-order memory and stored (loaded) in the cache memory 1, and the data is transferred to the processor (step S3). . In the case of a write request, data corresponding to the address for which the write request has been made is written into the cache memory 1 (step S4). In step S4, the data written to the cache memory 1 is verified, and either the write-through mode or the write-back mode is selected based on the result.
  • FIG. 5 is a flowchart showing an example of a detailed processing procedure in step S4.
  • the data written in the cache memory 1 is read, and verification is performed as to whether or not the written data matches the read data (step S21).
  • step S21 If they match in step S21, it is determined that there is no error, the write-back mode is selected, and the data is later written to the low-order memory (step S22).
  • the write back mode is selected because there is no error in the data written in the cache memory 1 and there is a margin in the reliability. Therefore, as in the case of the normal cache memory 1, the lower order is selected when there is no access from the processor. This is because it is only necessary to write to the memory.
  • step S21 If it is determined in step S21 that they do not match, the ECC error detection unit 10 detects the number of error bits, and the detected error bit number is equal to or less than the maximum number of error bits that can be corrected by the ECC error correction unit 11. It is determined whether or not it is equal to or less than a threshold value (step S23). If the number of error bits is less than or equal to the threshold value, it is determined that there is a margin in reliability, and the write-back mode is selected and written to the low-order memory later (step S24).
  • step S23 If it is determined in step S23 that the number of error bits is greater than the threshold value, it is determined that there is no margin in reliability, the write-through mode is selected, and this data is also written in the low-order memory (step S25).
  • the write-through mode is selected because the number of error bits at the present time is high, and there is a possibility that errors will increase further due to deterioration over time, etc., making it impossible to completely correct the error. This is because even if the data is written and the data in the cache memory 1 becomes unreadable in the future, the correct data can be read from the low-order memory.
  • step S5 of FIG. 4 If it is determined in step S1 of FIG. 4 that the cache memory 1 has been hit, it is determined whether or not the access request by the processor is a write request (step S5, second read / write determination unit). In the case of a write request, data corresponding to the address for which an access request has been made is written to the cache memory 1 as in step S4 described above (step S6). Also in this step S5, the same process as in FIG. 5 is performed to select either the write-through mode or the write-back mode.
  • step S5 If it is determined in step S5 that the request is a read request, the data corresponding to the access requested address is read from the cache memory 1, and the ECC error detection unit 10 determines whether or not the read data has an error (step S5). S7). If it is determined that there is an error, it is determined whether or not the number of error bits is equal to or less than the threshold value described above (step S8). If it is determined that the threshold value is not more than the threshold value, the error-corrected data is transferred to the processor, and the data in the cache memory 1 is also updated (step S9). In step S9, error correction may not be possible in the near future due to deterioration over time. Therefore, if the data at this address has not yet been written back to the low-order memory, that is, dirty data, Write back to memory.
  • step S10 it is determined whether or not the error can be corrected. If it is determined that the error can be corrected, the process proceeds to step S9 described above, the error correction is executed in the ECC error correction unit 11, and the corrected data is processed. Is transferred to the processor, and the data in the cache memory 1 is also updated.
  • step S8 If it is determined in step S8 that correction is not possible, the mode selection signal Mode input to the data reading unit 4 is switched to instruct to perform error verification using the 1T-1R reading method (step S11).
  • the error detection unit 10 performs error detection on the data output by the data reading unit 4 executing the 1T-1R reading method. It is determined whether or not the number of detected error bits is greater than a predetermined threshold set based on the maximum number of error bits that can be corrected by the ECC error correction unit 11 (step S12). If it is determined that the number of error bits is greater than the threshold value, it is determined that error correction is impossible, data corresponding to the address requested to be read is read from the low-order memory, stored in the cache memory 1, and the processor (Step S13). If it is determined that the number of error bits is equal to or less than the threshold value, the data read from the cache memory 1 is error-corrected by the ECC error correction unit 11 to update the data in the cache memory 1 and transferred to the processor (step S14). .
  • step S7 If it is determined in step S7 that there is no error, the data read from the cache memory 1 is transferred to the processor without performing error correction processing (step S15).
  • steps S7, S8, and S11 correspond to an error determination unit
  • steps S4, S6, S9, S13, and S14 correspond to an access control unit.
  • the data written in the cache memory 1 is read and verified, and if the number of error bits is equal to or less than the threshold, the reliability can be increased. If the number of error bits is greater than the threshold value, it is determined that there is a high possibility that the error cannot be corrected, the write-through mode is selected, and the data written in the cache memory 1 is selected. Write to low-order memory. Further, when there is a read request for a certain address from the processor, error detection is performed on the data read from the cache memory 1, and if the number of error bits is equal to or less than a threshold value, the data after error correction is written to the cache memory 1. If the number of error bits is larger than the threshold value, it is determined that the error cannot be corrected, and the corresponding data is read from the low-order memory and the data in the cache memory 1 is updated.
  • the data stored in the cache memory 1 is more likely to cause an error as the period from the storage becomes longer due to aging. Therefore, it is desirable to perform a process of periodically reading and rewriting data in the cache memory 1 as in the case of refreshing the DRAM.
  • the data to be read periodically is preferably all data, but may be a part of the data.
  • error detection is performed, the number of detected error bits is compared with a threshold value, and the mode is switched to the write-through mode as necessary based on the comparison result.
  • the access frequency to the low-order memory can be lowered and high-speed access is possible.
  • the number of error bits included in the data written to the cache memory 1 is equal to or greater than a threshold smaller than the maximum number of bits that can be corrected by the ECC error correction unit 11, the data in the cache memory 1 is transferred to the low-order memory. Since data is written, it is possible to prevent problems such as malfunctions caused by data errors in the cache memory 1 and improve reliability.
  • an MRAM cell when used as the memory cell of the cache memory 1, an error occurs in which the resistance values of the pair of magnetoresistive effect elements connected to the pair of bit lines are both low resistance or high resistance. Even so, by comparing the resistance value of each magnetoresistive effect element with the reference resistance in the reference cell, it is possible to correctly detect which magnetoresistive effect element has caused the error.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

[課題]キャッシュメモリのエラーでメモリアクセスが正常に行えなくなる障害を未然に防止する。 [解決手段]メモリ制御回路は、キャッシュメモリに書き込んだデータまたはキャッシュメモリから読み出したデータにエラーが含まれるか否かを検知するエラー検知部と、エラー検知部で検知されたエラーを訂正するエラー訂正部と、キャッシュメモリへのデータ書込時に書き込んだデータをベリファイのために読み出したデータ、あるいはキャッシュメモリからのデータ読み出し時に読み出したデータにエラーが含まれることがエラー検知部で検知された場合には、エラービット数がエラー訂正部で訂正可能な最大エラービット数に基づいて設定される所定の閾値より大きいか否かを判定するエラー判定部と、エラー判定部での判定結果に基づいて、キャッシュメモリよりも低次のメモリにアクセスするか否かと、エラー訂正部によるエラー訂正を行うか否かと、を制御するアクセス制御部と、を備える。

Description

メモリ制御回路およびキャッシュメモリ
 本発明の実施形態は、キャッシュメモリを制御するメモリ制御回路と、メモリ制御回路を内蔵するキャッシュメモリとに関する。
 携帯情報端末に用いられるプロセッサは低消費電力であることが求められる。プロセッサの低消費電力化の手法の1つとして、待機電力の大きいSRAM(Static Random Access Memory)を用いたキャッシュメモリを、不揮発性素子を用いた不揮発性メモリで置き換える検討が進められている。例えば、MRAM(Magnetoresistive RAM)は、現在提案されている不揮発性メモリの中で高い書き換え耐性と、高速に読出しと書込みを行う動作性能と、高集積可能なセル面積の3つの利点を同時に併せ持つメモリである。MRAMは、他の不揮発性メモリに比べて高速であり、面積効率が従来のメモリより優れており、大容量化が可能であることから、MRAMをキャッシュメモリとして利用するべくプロセッサに実装することが期待されている。
 しかしながら、高速動作が可能とされるMRAMの書き込みの信頼性とデータリテンション(データ保持)の信頼性は、従来のキャッシュメモリであるSRAMと比べると明らかに低い。また、電源遮断などを考慮に入れて要求されるデータ保持期間が数秒以上と長くなると、時間の長さに応じてデータ保持の信頼性が劣化する。
 MRAMをキャッシュメモリとして利用するには、MRAMのデバイスばらつきによるエラーを訂正するために、ECC(Error Check and Correct)によるエラー訂正機構を実装する必要がある。ところが、ECCによるエラー訂正処理は、面積オーバーヘッドとレイテンシオーバーヘッドが大きいため、キャッシュメモリの特性に合わせたECCの実装が必要である。
 MRAMのエラーの要因は、初期不良、書込み不良、リテンション不良、読出し不良の4つである。初期不良がデバイスの製造起因で生じた場合、ECCで必ず訂正する必要があり、またランタイムエラーに対処するために冗長ビットを追加しなければならない。
 MRAMに限らずキャッシュメモリにおけるECC処理では、訂正できないエラーが発生した場合、エラー終了として処理され、実行中のプログラムを再起動する必要がある。
 本発明が解決しようとする課題は、キャッシュメモリのエラーでメモリアクセスが正常に行えなくなる障害を未然に防止可能なメモリ制御回路およびキャッシュメモリを提供することである。
 本実施形態では、キャッシュメモリに書き込んだデータまたは前記キャッシュメモリから読み出したデータにエラーが含まれるか否かを検知するエラー検知部と、
 前記エラー検知部で検知されたエラーを訂正するエラー訂正部と、
 前記キャッシュメモリへのデータ書込時に書き込んだデータをベリファイのために読み出したデータ、あるいは前記キャッシュメモリからのデータ読み出し時に読み出したデータにエラーが含まれることが前記エラー検知部で検知された場合には、エラービット数が前記エラー訂正部で訂正可能な最大エラービット数に基づいて設定される所定の閾値より大きいか否かを判定するエラー判定部と、
 前記エラー判定部での判定結果に基づいて、前記キャッシュメモリよりも低次のメモリにアクセスするか否かと、前記エラー訂正部によるエラー訂正を行うか否かと、を制御するアクセス制御部と、を備えるメモリ制御回路が提供される。
一実施形態に係るキャッシュメモリ1の概略構成を示すブロック図。 (a)は1T-1Rタイプの一例を示す回路図、(b)は2T-2Rタイプの一例を示す回路図。 データ読み出し部4の内部構成の一例を示すブロック図。 キャッシュコントローラ12の処理動作の一例を示すフローチャート。 ステップS4の詳細な処理手順の一例を示すフローチャート。
 以下、図面を参照しながら、本発明の実施形態について説明する。
 図1は一実施形態に係るキャッシュメモリ1の概略構成を示すブロック図である。図1のキャッシュメモリ1は、タグアレイ2と、データアレイ3と、データ読み出し部4と、第1比較回路5と、第2比較回路6と、選択回路7と、タグ一致信号生成部8と、ヒット判定部9と、ECCエラー検知部10と、ECCエラー訂正部11と、キャッシュコントローラ12とを備えている。図1のキャッシュメモリ1のうち、少なくとも、ECCエラー検知部10、ECCエラー訂正部11、およびキャッシュコントローラ12がメモリ制御回路に該当する。
 タグアレイ2は、データアレイ3に格納される各データに対応するアドレスを格納する。タグアレイ2は、データアレイ3よりも頻繁にアクセスされるため、高い信頼性が要求される。このため、タグアレイ2内に格納されるアドレスのビット列には、ECCビットが所定のビット数分付加されている。ECCビットの数を増やすほど、訂正可能なエラービット数の数を増やすことができる。
 図1では、タグアレイ2については、ECCエラー検知部10とECCエラー訂正部11を省略しているが、タグアレイ2内のアドレスのビット列にECCビットが付加されている場合は、タグアレイ2用のECCエラー検知部とECCエラー訂正部が必要となる。
 データアレイ3は、セットアソシアティブであり、複数のウェイに分けてデータを格納する。各データのビット列は、ウェイごとの粒度(例えば512ビット幅)を有し、このビット列にECCビットが付加されている。
 ECCでは、例えばハミング符号を用いたBCH符号などを用いることができる。BCH符号を用いた場合、ECCのために追加するビット数に応じてECCの信頼性が変動する。ECCの演算では、XOR(排他的論理和)しか用いない。一つのウェイが512ビットで構成されている場合、128ビットごとにデータを4つに分けて、128ビットのビット列に対して例えば14ビットのECCビットを付加する。この場合、データビットとECCビットを合わせたビット列の中に、ビットエラーが一つもなければ、エラーなしと判定できる。また、ビットエラーが一つだけあれば、ビットエラーが起こったことを検出できるとともに、どのビットがエラーを起こしたかを特定できる。この場合、エラーを起こしたビットを反転させることで、エラーを訂正できる。ビットエラーが二箇所にあれば、エラーが起きたことは検出できるが、どのビットでエラーが起きたかは特定できない。したがって、エラー訂正を行うことはできない。一方、ビットエラーが三箇所以上にあれば、エラーが起きたかどうかも正しく認識できず、誤った情報をプロセッサに返してしまう。
 ECCのビット数を増減したり、データビット数の数を変更することで、ECCエラーの信頼度を変えることができる。
 図1のデータ読み出し部4は、後述するように、データアレイ3の複数のビット線の中から、読み出しを行うメモリセルの接続されたビット線を選択し、選択したビット線の電圧をセンスする。
 図1の第1比較回路5と第2比較回路6はそれぞれ、プロセッサがアクセス要求したアドレスの上位側ビット列であるタグビットを、タグアレイ2に格納されているタグビットと比較する。2種類の第1比較回路5と第2比較回路6が設けられている理由は、タグアレイ2が2つのウェイに分かれているためであり、ウェイの数分の比較部が必要となる。
 タグ一致信号生成部8は、第1比較回路5と第2比較回路6の双方で一致が検出されると、アドレスが一致したことを示す信号を出力する。
 選択回路7は、第1比較回路5と第2比較回路6の一方で一致が検出されると、一致したアドレスに基づいて、データアレイ3内の特定のウェイから対応するデータを読み出す。
 ECCエラー検知部10は、選択回路7が読み出したデータに含まれるECCビットを用いて、このデータにエラーがあるか否かを検知する。ECCエラー訂正部11は、ECCエラー検知部10が検知したエラーを訂正する。ECCエラー検知部10でエラーが検知されなかった場合は、データアレイ3から読み出されたデータがそのまま出力されて、プロセッサに転送される。エラー訂正を行った後のデータをプロセッサに転送する場合と、エラーが検知されなかったデータをプロセッサに転送する場合とで、レイテンシが異なる。
 ヒット判定部9は、データアレイ3から読み出したデータにエラーがない場合、あるいはエラー訂正可能なエラーが含まれる場合は、キャッシュヒットしたことを示す信号を出力し、それ以外はキャッシュミスしたことを示す信号を出力する。すなわち、ヒット判定部9は、ECCエラー訂正部11でエラー訂正できないデータは、キャッシュミスと判定する。この場合、キャッシュメモリ1よりも低次のキャッシュメモリ1またはメインメモリ(以下、低次メモリ)に対するアクセス要求が行われる。
 キャッシュコントローラ12は、後述するように、ECCエラー検知部10、ECCエラー訂正部11およびヒット判定部9の処理結果に基づいて、キャッシュメモリ1および低次メモリに対するアクセスを制御する。
 ECCにより救済されるエラーには、書き込み不良とリテンション不良の他に、製造に起因する初期不良がある。従来、初期不良は、フューズ素子を用いて冗長セルに置換するようにしており、初期不良を含むアドレスブロックへのアクセスは行われていなかった。
ところが、初期不良は、0固定や1固定であることが多いため、たまたま書き込まれるビットが固定された値と同じである場合は、正常値を保持していると誤って判断してしまうおそれがあった。
 本実施形態は、冗長セルへの置換は行わずに、あるいは、冗長セルへの置換を行うとしても、完全に初期不良をゼロにせずに、あるいは、当初は初期不良がゼロであっても経年劣化により不良ビットが発生する状況においても、キャッシュメモリ1を正常に動作させるものである。
 まず、データ書き込み時の動作を説明する。データを書き込んだ後、すぐに書き込み検証(ベリファイ)のためにデータを読み出して、書き込んだ値と読み出した値とを比較する。このとき、エラーがなければ、書き込みは正常に完了したとして、特に追加の処理は行わない。書き込んだ値と読み出した値が異なっていた場合は、ECCエラー検知部10でエラーを検知可能かどうかと、ECCエラー訂正部11でエラーを訂正可能かどうかとを、不一致ビットの個数から計算する。
 エラー訂正可能な数のエラービット数でかつ、不一致ビットの個数が所定の閾値以上であった場合、その後、ECCによって訂正不能となる可能性が高いため、低次メモリにも同じデータをバックアップのため書き込んでおく。これは、ライトスルー(Write-through)方式でキャッシュを動作させることと同じである。本明細書では、キャッシュメモリにデータを書き込むのに並行して、同じデータを低次メモリにも書き込むモードをライトスルーモードと呼ぶ。
 ここで、所定の閾値とは、ECCエラー訂正部11でエラーを訂正可能な最大ビット数に基づいて設定される値であり、より具体的には、最大ビット数以下の値である。閾値をエラー訂正可能な最大ビット数以下とすることで、実際のエラービット数が閾値を超えなければ、必ずECCエラー訂正部11でエラーを訂正できることになる。すなわち、閾値を低く設定するほど、エラーを訂正可能な余裕度が大きくなるが、ライトスルーで低次メモリにデータを書き込む頻度が高くなる。
 エラー訂正可能な数のエラーで、なおかつ不一致ビットの個数が閾値以下であった場合は、エラー訂正不能となる確率は低いため、該当キャッシュにのみデータを格納する。これは、ライトバック(Write-back)方式でキャッシュメモリ1を動作させることと同じである。本明細書では、キャッシュメモリに書き込んだデータを、その後の所定のタイミングで、低次メモリに書き戻すモードをライトバックモードと呼ぶ。
 また、エラー訂正がすでに不能となっている場合は、キャッシュメモリ1として機能しないことが予測されるため、データアレイ3内の別のウェイにデータを書き直す。このとき、最初に書いたウェイはdisableとして、対応するタグアレイ2も無効化する。
 次に、データ読み出し時の動作を説明する。キャッシュメモリ1にいったん書き込んだデータは、リテンション特性の劣化等により、時間がたつにつれその信頼度が低下してしまうため、データ読み出し時のエラー発生具合により、適宜ダーティーなデータは下位のメモリ階層、すなわち低次メモリへのWrite-backを行う。
 例えば、データの読出しアクセスに応答して、読み出したデータについてエラー検知を行い、エラーが発生していなければ、データの信頼度が高いため、その時点では、低次メモリへのデータの書き込みは行わない。また、エラーが検知されて、エラー訂正が可能なエラーの個数で、なおかつ閾値以下のエラー個数であった場合は、データの信頼度にまだ余裕があるため、やはり、この時点での低次メモリへの書き込みは行わない。一方、エラー訂正が可能なエラーの個数で、なおかつ閾値以上のエラー個数であった場合は、信頼度に余裕がないため、Dirtyなデータであれば、すなわち、低次メモリにまだ書き込んでいないデータであれば、低次メモリにデータを書き込む。これにより、DirtyなデータはCleanなデータとなり、キャッシュメモリ1内のデータがエラー訂正不能となっても、下位のメモリ階層(低次メモリ)にアクセスすれば正しいデータを取得できるため、プロセッサシステムが異常終了するおそれはない。
 また、すでにエラー訂正不能な数のエラーが発生している場合、そのデータを使用することができないので、下位のメモリ階層(低次メモリ)にアクセスを行う。この時、エラー訂正不能な数のエラーが発生したデータがDirtyなデータであれば、正しいデータを失ったことになり、システムが異常終了する可能性がある。しかし、本実施形態では、閾値以上のエラーが発生した時点でライトスルーモードにて低次メモリにデータを書き込むため、エラー訂正可能なデータが低次メモリ内に存在することになり、プロセッサシステムが異常終了する可能性は非常に低い。また、高い頻度でシステムが異常終了する場合は、上述した閾値を低く設定すればよい。すなわち、システムを導入した直後は初期不良の選別ができておらず、閾値を低めに設定しておき、その後しばらくは、プロセッサシステムの経年劣化が少ないことから閾値を高めに設定し、次第に経年劣化が増大すると、閾値を再度低く設定するなどの制御を行うことで、初期不良や経年劣化による影響を受けずに、キャッシュメモリ1を安定動作させることができる。
 スピン注入磁化反転型(STT:Spin transfer torque)MRAMは、低電圧動作および高速読み書きが可能であることから、キャッシュメモリ1に用いるのに適している。STT-MRAMに記憶したデータを読み出す手法として、MRAMセル内の磁気抵抗効果素子(例えばMTJ素子)を流れる電流を、参照セル内の参照抵抗を流れる電流と比較してデータ0と1を判別する1T-1Rタイプの読み出し方式が知られているが、より高速な読み出しを行うには、参照セルを用いない2T-2Rタイプの読み出し方式を採用するのが望ましい。
 2T-2Rタイプでは、一対のビット線のそれぞれに接続されたMRAMセル内の磁気抵抗効果素子の抵抗値を互いに逆にしておき、それぞれの磁気抵抗効果素子を流れる電流同士を比較してデータ0と1を判別する。
 2T-2Rタイプでは、参照セル内の参照抵抗を流れる電流との比較を行わずに、一対のビット線を用いて、一対の磁気抵抗効果素子を流れる電流の差を検出するため、1T-1Rタイプよりも、より高速な読み出しを実現できる。
 また、1T-1Rタイプと2T-2Rタイプのいずれにおいても、ビット線を流れる電流を読み出する電流読み出し方式と、ビット線の電圧を読み出す電圧読み出し方式とがある。以下では、ビット線の経路にキャパシタを設けて電圧読み出しを行う例について説明する。
 図2(a)の回路は、磁気抵抗効果素子APを有するMRAMセル31と、参照抵抗Refを有する参照セル32と、MRAMセル31からの電流が流れるビット線上に設けられるトランスファゲート33と、このトランスファゲート33の一端側に接続されるローカル容量CBLと、トランスファゲート33の他端側に接続されるグローバル容量CGLと、参照セル32からの電流が流れる参照ビット線上に設けられるトランスファゲート34と、このトランスファゲート34の一端側に接続されるローカル容量CREFと、トランスファゲート34の他端側に接続されるグローバル容量C/GLと、ビット線および参照ビット線に接続されるセンスアンプ4とを有する。
 図2(b)の回路は、互いに異なる抵抗値の磁気抵抗効果素子AP,Pを有する一対のMRAMセル31,35と、各MRAMセル31,35からの電流が流れる一対のビット線上に設けられる一対のトランスファゲート33,34と、これら一対のトランスファゲート33,34の一端側に接続されるローカル容量CBL、C/BLと、これら一対のトランスファゲート33,34の他端側に接続されるグローバル容量CGL、C/GLと、一対のビット線に接続されるセンスアンプ4とを有する。
 図2(a)の1T-1Rタイプでは、一つのMRAMセル31内の磁気抵抗効果素子APを流れる電流に応じた電荷を蓄積するローカル容量CBLとグローバル容量CGLを合成したキャパシタの一端側電圧を、参照セル32内の参照抵抗Refを流れる電流に応じた電荷を蓄積するローカル容量Crefとグローバル容量C/GLを合成したキャパシタの一端側電圧と比較して、データ0と1を決定する。参照抵抗Refは、磁気抵抗効果素子APが取り得る高抵抗と低抵抗との中間の抵抗値を有するため、磁気抵抗効果素子APの抵抗値が参照抵抗の抵抗値より大きいか小さいかで、データ0または1が決まる。
 図2(b)の2T-2Rタイプでは、一対のビット線のそれぞれに接続されたMRAMセル31,35内の磁気抵抗効果素子AP,Pの抵抗値を互いに逆にしておき、それぞれの磁気抵抗効果素子AP,Pを流れる電流に応じた電荷を蓄積する各キャパシタの一端側電圧を互いに比較して、データ0と1を決定する。このように、2T-2Rタイプでは、一対のビット線を用いて差動でデータを読み出すため、1T-1Rタイプよりも高速にデータを読み出すことができる。
 STT-MRAMにおいて、信頼性を低下させる要因となるのは、磁気抵抗効果素子の書き込み電流値やデータ保持時間のばらつきなどである。これらのばらつきにより、エラーが発生する。エラーの具体的な形態は、主に書込みエラー、読出しエラー、リテンションエラーの3つである。
 ここで、2T-2Rタイプのセルで最も頻発するエラーは、一対のビット線に対応して設けられる一対の磁気抵抗効果抵抗素子が両方とも低抵抗、もしくは両方とも高抵抗になることによるエラーである。上述したように、2T-2Rタイプの読み出し方式では、一対のビット線に対応する一対の磁気抵抗効果素子を流れる電流を比較するため、一対の磁気抵抗効果素子がともに低抵抗または高抵抗になると、これら磁気抵抗効果素子を流れる電流に差異が生じなくなり、わずかな電流差をセンスして、誤ったデータを出力してしまうおそれがある。
 上述した1T-1Rタイプの読み出し方式では、各ビット線に対応する磁気抵抗効果素子を流れる電流を、参照セル内の参照抵抗を流れる電流と比較するため、一対のビット線に対応する一対の磁気抵抗効果素子がともに低抵抗や高抵抗になったとしても、中間の抵抗値を持つ参照セルとの比較により、エラーを正しく検知できる。
 そこで、本実施形態のデータ読み出し部4は、2T-2Rタイプの読み出し方式を基本としながらも、エラー検知時には1T-1Rタイプによる参照セルとの比較も行えるようにした新たな読み出し方式を採用する。
 図3はデータ読み出し部4の内部構成の一例を示すブロック図である。図3のデータ読み出し部4は、カラムセレクタ21と、読み出し方式選択部22と、センスアンプ23とを有する。
 カラムセレクタ21は、不図示のカラムデコーダから出力されるカラム選択信号CSLに基づいて、読み出しを行うべきMRAMセルが接続されたビット線を選択する。読み出し方式選択部22は、キャッシュコントローラ12から出力されるモード選択信号Modeに基づいて、2T-2Rタイプの読み出しを行うか、あるいは1T-1Rタイプの読み出しを行うかを選択する。
 キャッシュコントローラ12は、通常は、2T-2Rタイプの読み出しを行うべくモード選択信号Modeの信号論理を設定し、エラーが検知された場合は、1T-1Rタイプの読み出しを行うべく、モード選択信号Modeの信号論理を切り替える。
 図4はキャッシュコントローラ12の処理動作の一例を示すフローチャートである。このフローチャートは、プロセッサがあるアドレスに対してアクセス要求を行った場合に開始される。
 まず、アクセス要求のあったアドレスがキャッシュメモリ1にヒットしたか否か、すなわちアクセス要求のあったアドレスのデータがキャッシュメモリ1に格納されているか否かを判定する(ステップS1)。ヒットしなかった場合は、アクセス要求は、書き込み要求か否かを判定する(ステップS2、第1読み書き判定部)。書き込み要求でなく、読み出し要求の場合は、アクセス要求のあったアドレスに対応するデータを低次メモリから読み出してキャッシュメモリ1に格納(ロード)するとともに、そのデータをプロセッサに転送する(ステップS3)。書き込み要求の場合は、書き込み要求のあったアドレスに対応するデータをキャッシュメモリ1に書き込む(ステップS4)。このステップS4では、キャッシュメモリ1に書き込んだデータのベリファイを行って、その結果に基づいて、ライトスルーモードかライトバックモードのいずれかを選択する。
 図5はステップS4の詳細な処理手順の一例を示すフローチャートである。まず、キャッシュメモリ1に書き込んだデータを読み出して、書き込んだデータと読み出したデータとが一致するか否かのベリファイを行う(ステップS21)。
 ステップS21で一致すれば、エラーがないと判断して、ライトバックモードを選択して、後に低次メモリに書き込むことにする(ステップS22)。ライトバックモードを選択するのは、キャッシュメモリ1に書き込んだデータにはエラーがなく、信頼度に余裕があることから、通常のキャッシュメモリ1と同様に、プロセッサからのアクセスがないときに低次メモリに書き込めばよいためである。
 ステップS21で一致しないと判定された場合は、ECCエラー検知部10にて、エラービット数を検知し、検知されたエラービット数がECCエラー訂正部11で訂正できる最大エラービット数以下の所定の閾値以下か否かを判定する(ステップS23)。エラービット数が閾値以下であれば、信頼度に余裕があると判断して、やはりライトバックモードを選択して、後に低次メモリに書き込むことにする(ステップS24)。
 ステップS23で、エラービット数が閾値より多いと判定されると、信頼度に余裕がないと判断して、ライトスルーモードを選択して、このデータを低次メモリにも書き込む(ステップS25)。ここで、ライトスルーモードを選択するのは、現時点でエラービット数が多いということは、経年劣化等でさらにエラーが増えて完全にエラー訂正できなくなるおそれがあることから、迅速に低次メモリにデータを書き込んで、将来的にキャッシュメモリ1内のデータが読み出し不能になっても、低次メモリから正しいデータを読み出せるようにするためである。
 図4のステップS1で、キャッシュメモリ1にヒットしたと判定された場合、プロセッサによるアクセス要求が書き込み要求か否かを判定する(ステップS5、第2読み書き判定部)。書き込み要求の場合は、上述したステップS4と同様に、アクセス要求のあったアドレスに対応するデータをキャッシュメモリ1に書き込む(ステップS6)。このステップS5でも、図5と同様の処理を行って、ライトスルーモードかライトバックモードのいずれかを選択する。
 ステップS5で読み出し要求と判定されると、アクセス要求のあったアドレスに対応するデータをキャッシュメモリ1から読み出し、読み出したデータにエラーがあるか否かをECCエラー検知部10にて判定する(ステップS7)。エラーがあると判定されると、エラービット数が上述した閾値以下か否かを判定する(ステップS8)。閾値以下と判定されると、エラーを訂正後のデータをプロセッサに転送するとともに、キャッシュメモリ1内のデータも更新する(ステップS9)。このステップS9では、経年劣化により、近い将来にエラー訂正不可能になるおそれもあるため、このアドレスのデータをまだ低次メモリに書き戻していなければ、すなわち、ダーティなデータであれば、低次メモリに書き戻す処理を行う。
 ステップS8でエラービット数が閾値より大きいと判定されると、そのエラーがECCエラー訂正部11にて訂正可能であるか否かを判定する(ステップS10)。閾値は、ECCエラー訂正部11で訂正可能な最大エラービット数以下の値であり、実際のエラービット数が閾値より多くても、ECCエラー訂正部11でエラー訂正できる場合もある。そこで、ステップS10では、エラー訂正できるか否かを判定し、エラー訂正可能と判定されると、上述したステップS9に進んで、ECCエラー訂正部11にてエラー訂正を実行し、訂正後のデータをプロセッサに転送するとともに、キャッシュメモリ1内のデータも更新する。
 ステップS8で訂正可能でないと判定されると、データ読み出し部4に入力されるモード選択信号Modeを切り替えて、1T-1R読み出し方式によるエラー検証を行うよう指示する(ステップS11)。次に、データ読み出し部4が1T-1R読み出し方式を実行して出力されたデータに対して、ECCエラー検知部10でエラー検知を行う。検知されたエラービット数が、ECCエラー訂正部11で訂正可能な最大エラービット数に基づいて設定される所定の閾値より多いか否かを判定する(ステップS12)。エラービット数が閾値より多いと判定されると、エラー訂正が不可能と判断して、読み出し要求のあったアドレスに対応するデータを低次メモリから読み出して、キャッシュメモリ1に格納するとともに、プロセッサに転送する(ステップS13)。エラービット数が閾値以下と判定されると、キャッシュメモリ1から読み出したデータをECCエラー訂正部11にてエラー訂正してキャッシュメモリ1内のデータを更新するとともに、プロセッサに転送する(ステップS14)。
 ステップS7でエラーがないと判定されると、エラー訂正の処理を行わずに、キャッシュメモリ1から読み出したデータをプロセッサに転送する(ステップS15)。
 図4のフローチャートにおいて、ステップS7、S8およびS11はエラー判定部に該当し、ステップS4、S6、S9、S13およびS14はアクセス制御部に該当する。
 このように、本実施形態では、プロセッサからあるアドレスに対する書き込み要求があった場合は、キャッシュメモリ1に書き込んだデータを読み出してベリファイを行い、エラービット数が閾値以下であれば、信頼度に余裕があると判断してライトバックモードを選択し、エラービット数が閾値より多いと、エラー訂正ができない可能性が高いと判断してライトスルーモードを選択して、キャッシュメモリ1に書き込んだデータを、低次メモリにも書き込む。また、プロセッサからあるアドレスに対する読み出し要求があった場合は、キャッシュメモリ1から読み出したデータに対してエラー検知を行い、エラービット数が閾値以下であればエラー訂正後のデータをキャッシュメモリ1に書き込み、エラービット数が閾値より多ければエラー訂正不可能と判断して、低次メモリから対応するデータを読み出してキャッシュメモリ1内のデータを更新する。
 キャッシュメモリ1に格納したデータは、経年劣化により、格納してからの期間が長くなるほど、エラーが発生しやすくなる。そこで、DRAMのリフレッシュと同様に、キャッシュメモリ1内のデータを定期的に読み出して再書き込みをする処理を行うのが望ましい。定期的に読み出すデータは、全データが望ましいが一部のデータでも良い。この処理の中で、図4の処理と同様に、エラー検知を行って、検知されたエラービット数を閾値と比較して、その比較結果に基づいて、必要に応じてライトスルーモードに切り替えるようにすれば、キャッシュメモリ1内のデータが経年劣化によるエラー増大により完全に読み出せなくなる前に、低次メモリへの書き込みを行うことができ、キャッシュメモリ1に対するアクセスの信頼度を向上できる。
 以上により、本実施形態によれば、キャッシュメモリ1に書き込んだデータ、あるいはキャッシュメモリ1から読み出したデータにエラーが含まれる場合も、そのエラーが余裕をもって訂正できる場合は、キャッシュメモリ1からのデータを有効なものと扱うため、低次メモリへのアクセス頻度を下げることができて、高速アクセスが可能となる。
 また、キャッシュメモリ1に書き込んだデータに含まれるエラービット数が、ECCエラー訂正部11で訂正可能な最大ビット数よりも小さい閾値以上であれば、キャッシュメモリ1内のデータを低次メモリにも書き込むため、キャッシュメモリ1内のデータのエラーにより誤動作を引き起こす等の不具合を未然に防止でき、信頼性が向上する。
 さらに、本実施形態では、キャッシュメモリ1のメモリセルとしてMRAMセルを用いる場合に、一対のビット線に接続される一対の磁気抵抗効果素子の抵抗値がともに低抵抗または高抵抗になるエラーが発生したとしても、各磁気抵抗効果素子の抵抗値を、参照セル内の参照抵抗と比較することで、どの磁気抵抗効果素子でエラーが発生したかを正しく検知できる。
 本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。

Claims (11)

  1.  キャッシュメモリに書き込んだデータまたは前記キャッシュメモリから読み出したデータにエラーが含まれるか否かを検知するエラー検知部と、
     前記エラー検知部で検知されたエラーを訂正するエラー訂正部と、
     前記キャッシュメモリへのデータ書込時に書き込んだデータをベリファイのために読み出したデータ、あるいは前記キャッシュメモリからのデータ読み出し時に読み出したデータにエラーが含まれることが前記エラー検知部で検知された場合には、エラービット数が前記エラー訂正部で訂正可能な最大エラービット数に基づいて設定される所定の閾値より大きいか否かを判定するエラー判定部と、
     前記エラー判定部での判定結果に基づいて、前記キャッシュメモリよりも低次のメモリにアクセスするか否かと、前記エラー訂正部によるエラー訂正を行うか否かと、を制御するアクセス制御部と、を備えるメモリ制御回路。
  2.  前記エラー判定部は、前記キャッシュメモリへのデータ書込時に、書き込んだデータを読み出してベリファイするとともに、読み出したデータにエラーが含まれることが前記エラー検知部で検知された場合には、前記エラービット数が前記閾値より大きいか否かを判定し、
     前記アクセス制御部は、前記エラービット数が前記閾値より大きいと判定された場合には、前記キャッシュメモリに書き込むべきデータを、ライトスルーモードにて前記低次のメモリに書き込む請求項1に記載のメモリ制御回路。
  3.  前記エラー判定部は、前記キャッシュメモリからのデータ読み出し時に読み出したデータにエラーが含まれることが前記エラー検知部で検知された場合には、前記エラービット数が前記閾値より大きいか否かを判定し、
     前記アクセス制御部は、前記エラービット数が前記閾値より大きいと判定された場合には、読み出した前記キャッシュメモリ内のデータがまだ書き戻されていなければ、該データを前記低次のメモリに書き戻す請求項1に記載のメモリ制御回路。
  4.  前記キャッシュメモリは、磁気抵抗効果素子の抵抗変化をデータの記憶に利用する複数のMRAM(Magnetoresistive RAM)セルを含んでおり、
     前記磁気抵抗効果素子が高抵抗の場合に有する第1の抵抗値と低抵抗の場合に有する第2の抵抗値との間の抵抗値を有する参照セルと、
     前記エラー検知部でエラーが検知されない場合と、前記エラー検知部で検知されたエラービット数が前記閾値以下の場合とでは、一対のMRAMセルに接続され差動信号が流れる一対のビット線の電圧差に基づいて前記キャッシュメモリから読み出したデータの論理を決定し、前記エラー検知部で検知されたエラービット数が前記閾値より大きい場合には、ビット線のそれぞれごとに前記参照セルと比較した結果に基づいて前記キャッシュメモリから読み出したデータの論理を決定するデータ読み出し部と、を備え、
     前記エラー訂正部は、前記エラービット数が前記閾値より大きい場合には、前記ビット線のそれぞれごとに前記参照セルと比較した結果に基づいて前記データ読み出し部にて決定したデータに基づいてエラーを訂正し、
     前記アクセス制御部は、前記エラービット数が前記閾値より大きい場合に前記エラー訂正部でエラー訂正できなかった場合は、前記低次のメモリからデータを取得する請求項1に記載のメモリ制御回路。
  5.  アクセス要求のあったアドレスのデータが前記キャッシュメモリに格納されているか否かを判定するヒット判定部と、
     前記ヒット判定部により格納されていないと判定された場合に、前記キャッシュメモリへの書き込みを行うか、または読み出しを行うかを判定する第1読み書き判定部と、を備え、
     前記アクセス制御部は、前記第1読み書き判定部により読み出しを行うと判定されると、前記低次のメモリから該当するアドレスのデータを読み出して前記キャッシュメモリに書き込みを行い、前記第1読み書き判定部により書き込みを行うと判定されると、書き込むべきデータを前記キャッシュメモリに書き込むとともに、前記キャッシュメモリに書き込んだデータを読み出してベリファイし、検出されたエラービット数が前記閾値以下であれば、ライトバックモードに設定し、前記エラービット数が前記閾値より大きければ、ライトスルーモードに設定して前記低次のメモリにも前記キャッシュメモリに書き込むべきデータを書き込む請求項1に記載のメモリ制御回路。
  6.  前記ヒット判定部により格納されていると判定された場合に、前記キャッシュメモリへの書き込みを行うか、または前記キャッシュメモリからの読み出しを行うかを判定する第2読み書き判定部を備え、
     前記アクセス制御部は、前記第2読み書き判定部により書き込みを行うと判定されると、書き込むべきデータを前記キャッシュメモリに書き込むとともに、前記キャッシュメモリに書き込んだデータを読み出してベリファイし、検出されたエラービット数が前記閾値以下であれば、ライトバックモードに設定し、前記エラービット数が前記閾値より大きければ、ライトスルーモードに設定して前記低次のメモリにも前記キャッシュメモリに書き込むべきデータを書き込む請求項5に記載のメモリ制御回路。
  7.  前記エラー判定部は、前記第2読み書き判定部により読み出しを行うと判定されると、アクセス要求のあったアドレスのデータを前記キャッシュメモリから読み出してエラービットがあるか否かを判定するとともに、エラービットがある場合には、該エラービット数が前記閾値以下か否かを判定し、
     前記アクセス制御部は、前記エラー判定部により前記エラービット数が前記閾値以下と判定されると、エラー訂正を行ったデータを、前記低次のメモリに伝送するとともに、前記キャッシュメモリ内のデータを更新する請求項6に記載のメモリ制御回路。
  8.  前記エラー判定部は、前記エラービット数が前記閾値より大きいと判定すると、前記キャッシュメモリ内の個々のメモリセルのデータを参照セルと比較して、読み出し要求のあったアドレスのデータを特定し、特定したデータに基づいてエラー訂正可能か否かを判定し、
     前記アクセス制御部は、前記エラー判定部により、エラー訂正不可能と判定されると、前記低次のメモリから該当するアドレスのデータを読み出し、エラー訂正可能と判定されると、前記特定したデータに基づいてエラー訂正する請求項7に記載のメモリ制御回路。
  9.  前記閾値は、前記最大エラービット数以下の値である請求項1に記載のメモリ制御回路。
  10.  前記エラー検知部は、前記キャッシュメモリ内のメモリセルについて、定期的にエラーが含まれるか否かを検知し、
     前記アクセス制御部は、前記キャッシュメモリ内のメモリセルについて、定期的に前記エラー検知部、前記エラー訂正部および前記エラー判定部を動作させて、前記キャッシュメモリに格納されたデータを前記低次のメモリに書き込むか否かを制御する請求項1に記載のメモリ制御回路。
  11.  低次のメモリよりもアクセス速度が高速で、かつ前記低次のメモリに格納されるべきデータの少なくとも一部を格納するキャッシュアレイ部と、
     前記キャッシュアレイ部に書き込んだデータまたは前記キャッシュアレイ部から読み出したデータにエラーが含まれるか否かを検知するエラー検知部と、
     前記エラー検知部で検知されたエラーを訂正するエラー訂正部と、
     前記キャッシュアレイ部へのデータ書込時に書き込んだデータをベリファイのために読み出したデータ、あるいは前記キャッシュアレイ部からのデータ読み出し時に読み出したデータにエラーが含まれることが前記エラー検知部で検知された場合には、エラービット数が前記エラー訂正部で訂正可能な最大エラービット数に基づいて設定される所定の閾値より大きいか否かを判定するエラー判定部と、
     前記エラー判定部での判定結果に基づいて、前記低次のメモリにアクセスするか否かと、前記エラー訂正部によるエラー訂正を行うか否かと、を制御するアクセス制御部と、を備えるキャッシュメモリ。
PCT/JP2014/073683 2013-09-06 2014-09-08 メモリ制御回路およびキャッシュメモリ WO2015034087A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/059,702 US10042725B2 (en) 2013-09-06 2016-03-03 Memory control circuit, cache memory and memory control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013185676A JP6275427B2 (ja) 2013-09-06 2013-09-06 メモリ制御回路およびキャッシュメモリ
JP2013-185676 2013-09-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/059,702 Continuation US10042725B2 (en) 2013-09-06 2016-03-03 Memory control circuit, cache memory and memory control method

Publications (1)

Publication Number Publication Date
WO2015034087A1 true WO2015034087A1 (ja) 2015-03-12

Family

ID=52628544

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/073683 WO2015034087A1 (ja) 2013-09-06 2014-09-08 メモリ制御回路およびキャッシュメモリ

Country Status (3)

Country Link
US (1) US10042725B2 (ja)
JP (1) JP6275427B2 (ja)
WO (1) WO2015034087A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521134B2 (en) 2015-09-16 2019-12-31 Kabushiki Kaisha Toshiba Memory system

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5924819B2 (ja) * 2013-06-10 2016-05-25 日本電気株式会社 データ保全処理装置及びデータ保全処理プログラム
JP6421399B2 (ja) * 2013-12-05 2018-11-14 国立大学法人東北大学 Stt−mramを使用した半導体記憶装置
CN107925513B (zh) * 2015-08-19 2021-06-18 日本电气株式会社 错误监视设备、方法和记录介质
GB2542214B (en) * 2015-11-11 2019-08-28 Imagination Tech Ltd Hardware monitor to verify memory units
US10467092B2 (en) * 2016-03-30 2019-11-05 Qualcomm Incorporated Providing space-efficient storage for dynamic random access memory (DRAM) cache tags
JP6786871B2 (ja) * 2016-05-18 2020-11-18 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6697360B2 (ja) 2016-09-20 2020-05-20 キオクシア株式会社 メモリシステムおよびプロセッサシステム
US10860495B2 (en) 2016-11-29 2020-12-08 Arm Limited Storage circuitry responsive to a tag-matching command
JP6799262B2 (ja) * 2017-03-03 2020-12-16 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP2018156463A (ja) 2017-03-17 2018-10-04 東芝メモリ株式会社 メモリシステム
KR102430983B1 (ko) * 2017-09-22 2022-08-09 삼성전자주식회사 스토리지 장치 및 그 동작 방법
US10379937B2 (en) * 2017-10-31 2019-08-13 Stmicroelectronics International N.V. Memory architecture including response manager for error correction circuit
JP7173594B2 (ja) 2017-12-08 2022-11-16 国立大学法人東北大学 抵抗変化型素子を備えた記憶回路及びセンスアンプ
JP2019207524A (ja) * 2018-05-29 2019-12-05 セイコーエプソン株式会社 回路装置、電気光学装置、電子機器及び移動体
US11204826B2 (en) * 2018-09-28 2021-12-21 Taiwan Semiconductor Manufacturing Company, Ltd. Memory error detection and correction
US11675660B2 (en) * 2019-05-24 2023-06-13 Texas Instruments Incorporated Parallelized scrubbing transactions
CN110688249B (zh) * 2019-09-20 2023-04-07 上海励驰半导体有限公司 一种纠错码电路的注错检测电路
US20210149763A1 (en) * 2019-11-15 2021-05-20 Intel Corporation Systems and methods for error detection and control for embedded memory and compute elements
KR20210066631A (ko) 2019-11-28 2021-06-07 삼성전자주식회사 메모리에 데이터를 기입하기 위한 장치 및 방법
JP6927610B1 (ja) * 2020-03-13 2021-09-01 Necプラットフォームズ株式会社 キャッシュ制御装置、キャッシュシステムおよびキャッシュ制御方法
CN113495676B (zh) * 2020-04-01 2023-09-29 长鑫存储技术有限公司 读写方法及存储器装置
CN113495674B (zh) 2020-04-01 2023-10-10 长鑫存储技术有限公司 读写方法及存储器装置
US11705176B2 (en) 2020-08-07 2023-07-18 Tohoku University Storage circuit provided with variable resistance type elements, and its test device
US11656938B2 (en) * 2020-09-28 2023-05-23 Micron Technology, Inc. Preemptive read verification after hardware write back
US11663081B2 (en) * 2021-05-10 2023-05-30 Western Digital Technologies, Inc. Storage system and method for data recovery after detection of an uncorrectable error
US11863209B2 (en) * 2021-08-18 2024-01-02 Pixart Imaging Inc. Integrated circuit and method capable of minimizing circuit area of non-volatile memory circuit
US11934270B2 (en) * 2022-06-02 2024-03-19 Micron Technology, Inc. Write command execution for data protection and recovery schemes
CN117806569B (zh) * 2024-02-29 2024-05-07 合肥康芯威存储技术有限公司 一种存储设备以及数据处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165719A (ja) * 1991-12-18 1993-07-02 Nec Eng Ltd メモリアクセス処理装置
JP2012103826A (ja) * 2010-11-09 2012-05-31 Fujitsu Ltd キャッシュメモリシステム
JP2013114441A (ja) * 2011-11-29 2013-06-10 Sony Corp 不揮発性キャッシュメモリ、不揮発性キャッシュメモリの処理方法、コンピュータシステム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3129224B2 (ja) 1997-02-28 2001-01-29 日本電気株式会社 キャッシュメモリ装置
JP3931757B2 (ja) 2002-07-26 2007-06-20 日本電気株式会社 共有キャッシュメモリ障害処理方式
JP4155052B2 (ja) 2003-02-18 2008-09-24 日本電気株式会社 エミュレータ、エミュレーション方法およびプログラム
JP4041076B2 (ja) * 2004-02-27 2008-01-30 株式会社東芝 データ記憶システム
JP4391954B2 (ja) 2005-02-18 2009-12-24 富士通株式会社 ファイル制御システムおよびファイル制御装置
JP4791525B2 (ja) 2006-02-14 2011-10-12 富士通株式会社 読み出し処理装置および読み出し方法
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7568135B2 (en) * 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
US8000134B2 (en) * 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
JP4939234B2 (ja) 2007-01-11 2012-05-23 株式会社日立製作所 フラッシュメモリモジュール、そのフラッシュメモリモジュールを記録媒体として用いたストレージ装置及びそのフラッシュメモリモジュールのアドレス変換テーブル検証方法
KR101466698B1 (ko) * 2008-02-19 2014-11-28 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법
JP4643671B2 (ja) 2008-03-11 2011-03-02 株式会社東芝 メモリシステム
US8706950B2 (en) 2008-03-01 2014-04-22 Kabushiki Kaisha Toshiba Memory system
CN101572125B (zh) * 2008-04-30 2013-02-27 扬智科技股份有限公司 错误更正电路及其方法
TWI395226B (zh) * 2008-11-07 2013-05-01 Silicon Motion Inc 測試儲存裝置的方法及其系統
US8051337B2 (en) * 2009-01-22 2011-11-01 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for fast cache-hit detection
TWI408688B (zh) * 2009-10-12 2013-09-11 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI447733B (zh) * 2010-04-14 2014-08-01 Phison Electronics Corp 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器
US8640005B2 (en) * 2010-05-21 2014-01-28 Intel Corporation Method and apparatus for using cache memory in a system that supports a low power state
JP2012133642A (ja) 2010-12-22 2012-07-12 Sony Corp メモリ装置、メモリ制御方法、およびプログラム
JP5764392B2 (ja) * 2011-06-13 2015-08-19 株式会社メガチップス メモリコントローラ
KR102025340B1 (ko) * 2012-11-27 2019-09-25 삼성전자 주식회사 불휘발성 메모리를 포함하는 반도체 메모리 장치, 이를 포함하는 캐쉬 메모리 및 컴퓨터 시스템
KR102068030B1 (ko) * 2012-12-11 2020-01-20 삼성전자 주식회사 메모리 컨트롤러 및 그 동작방법
KR102143517B1 (ko) * 2013-02-26 2020-08-12 삼성전자 주식회사 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165719A (ja) * 1991-12-18 1993-07-02 Nec Eng Ltd メモリアクセス処理装置
JP2012103826A (ja) * 2010-11-09 2012-05-31 Fujitsu Ltd キャッシュメモリシステム
JP2013114441A (ja) * 2011-11-29 2013-06-10 Sony Corp 不揮発性キャッシュメモリ、不揮発性キャッシュメモリの処理方法、コンピュータシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521134B2 (en) 2015-09-16 2019-12-31 Kabushiki Kaisha Toshiba Memory system

Also Published As

Publication number Publication date
JP2015052938A (ja) 2015-03-19
US10042725B2 (en) 2018-08-07
US20160188429A1 (en) 2016-06-30
JP6275427B2 (ja) 2018-02-07

Similar Documents

Publication Publication Date Title
JP6275427B2 (ja) メモリ制御回路およびキャッシュメモリ
TWI690933B (zh) 可變電阻隨機存取記憶體
KR102002925B1 (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US7861138B2 (en) Error correction in memory devices
US9552256B2 (en) Semiconductor memory device including non-volatile memory, cache memory, and computer system
US10108509B2 (en) Dynamic enabling of redundant memory cells during operating life
TWI515742B (zh) 偵測不穩定記憶胞之分佈的記憶體系統與方法
TWI587297B (zh) 半導體儲存裝置
EP3092649B1 (en) Real time correction of bit failure in resistive memory
EP4030434A1 (en) Non-volatile memory device with selection of error decoding level
US10481975B2 (en) Memory system
US10229752B2 (en) Memory device correcting data error of weak cell
JP5694053B2 (ja) 半導体記憶装置
US9001609B2 (en) Hybrid latch and fuse scheme for memory repair
US20150067444A1 (en) Semiconductor storage device and memory system
JP3935151B2 (ja) 半導体集積回路装置
US11798646B2 (en) Systems and methods for monitoring and managing memory devices

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14841937

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14841937

Country of ref document: EP

Kind code of ref document: A1