CN111580750B - Method for solving STT-RAM cache write failure - Google Patents
Method for solving STT-RAM cache write failure Download PDFInfo
- Publication number
- CN111580750B CN111580750B CN202010214371.5A CN202010214371A CN111580750B CN 111580750 B CN111580750 B CN 111580750B CN 202010214371 A CN202010214371 A CN 202010214371A CN 111580750 B CN111580750 B CN 111580750B
- Authority
- CN
- China
- Prior art keywords
- error correction
- cache block
- data
- bit
- stt
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000001514 detection method Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 abstract 1
- 230000005415 magnetization Effects 0.000 description 7
- 238000007792 addition Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1056—Updating check bits on partial write, i.e. read/modify/write
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
The invention provides a method for solving STT-RAM cache write failure, which balances the error correction capability and the storage cost of an error correction code. S1, when initiating data writing operation, after determining the target cache block to be written, reading out the old data bitwise of the target cache block and comparing the old data bitwise with the new data bitwise, calculating and counting the total data bit number n of the STT-RAM unit corresponding to the current data bit, which will be switched from 0 to 1; s2, comparing n with a threshold value K th If n is greater than K th Error correction is carried out by adopting the extended error correction code, if n is less than or equal to K th If so, error correction is carried out by adopting a default error correction code; s3, when writing the cache block, setting the flag bit of the target cache block label, and marking the error correction code type of the target cache block; and S4, when the cache block data is read, the flag bit of the cache block label is read at the same time, the adopted error correction code type is determined according to the flag bit, and the cache block is sent to the corresponding error correction code decoder for error correction.
Description
Technical Field
The invention relates to a method for solving STT-RAM cache write failure.
Background
Compared with the traditional SRAM memory, the Spin Transfer Torque RAM (STT-RAM) as a novel memory has the advantages of low static energy consumption, high storage density, high reading speed, good compatibility with CMOS technology and the like, so the STT-RAM is expected to become the next-generation on-chip cache of a computer. STT-RAM also has significant disadvantages, including write failures. STT-RAM memory cells are primarily Magnetic Tunnel Junctions (MTJs) that include primarily a reference layer and a free layer. The magnetization direction of the reference layer is fixed horizontally, while the magnetization direction of the free layer is either in the same direction as the reference layer or in the opposite direction. When the magnetization directions of the reference layer and the free layer are opposite or the same, the magnetic tunnel junction presents two resistance states of low or high, which respectively represent logic values 0 or 1. Thus, writing data to the STT-RAM cell essentially changes the magnetization direction of the free layer.
When writing data, if the new data is different from the original data of the STT-RAM memory cell, the magnetization direction of the free layer needs to be changed. Mainly injecting a write current I into an STT-RAM cell write And hold t write The magnetization direction of the free layer is changed in time, but the magnetization direction may not be changed, i.e., there is a certain possibility of failure in the write operation, which is called a write failure. Probability of write failure of a single STT-RAM cellHowever, if the number of data bits of the data written into the cache block is large, the number of data bits in which write failure may occur is also large. In addition, the probability of occurrence of a write failure of an STT-RAM memory cell from a logic value 0 to 1 is 100 times greater than that of a write failure from 1 to 0. Therefore, the number of write-fail data bits of the cache block is proportional to the number of data bits for switching from logic values 0 to 1 between old and new data.
The traditional solution to write failure is to use error correction codes. As long as the number of error data bits which fail to be written in the cache block does not exceed the error correction capability of the error correction code, the write operation is successful; if the number of different data bits between the new data and the old data to be written is large, the number of write failure error bits appearing in the cache block is too large, the error data cannot be corrected by the error correcting code, and the normal operation of the program is influenced. The main reason for the above problems is that the data bit number of the error correcting code of the cache block is fixed, and the error correcting capability is constant; and the different bit numbers of the new data and the old data of the cache block are obviously different. Different cache blocks, different write update states, and error correction codes with different error correction capabilities need to be set. If the error correcting codes with strong error correcting capability are adopted, the storage cost is overlarge; if error correction codes with default error correction capability are adopted, the error correction capability is insufficient.
Disclosure of Invention
The invention aims to overcome the defects in the prior art and provides a method for solving the cache write failure of STT-RAM, which balances the error correction capability of an error correction code and the storage cost.
The technical scheme adopted by the invention for solving the problems is as follows: a method for solving the problem of STT-RAM cache write failure is characterized in that: the method comprises the following steps:
s1, when a data writing operation is initiated, after a target cache block to be written is determined, old data bitwise and new data bitwise of the target cache block are read out and compared, and the total data bit n for counting the switching of 0 to 1 of an STT-RAM unit corresponding to the current data bit is calculated;
s2, comparing n with a threshold value K th If n is greater than K th Then error correction is carried out by adopting the extended error correcting code, if n is less than or equal to K th Then using default error correction codeCorrecting errors;
s3, when writing the cache block, setting the flag bit of the target cache block label, and marking the error correction code type of the target cache block;
and S4, when the cache block data is read, the flag bit of the cache block label is read at the same time, the adopted error correction code type is determined according to the flag bit, and the cache block is sent to the corresponding error correction code decoder for error correction.
The invention calculates and counts the total data bit n of switching from 0 to 1 of an STT-RAM unit corresponding to the current data bit, and comprises the following steps: reading old data in a target cache block, inverting the old data, performing bitwise AND operation on the old data and corresponding new data, if the output value is 1, indicating that the STT-RAM unit corresponding to the current data bit is switched from 0 to 1, and taking the output of each bit as the input of a Hamming distance calculator, wherein the output of the Hamming distance calculator is the total data bit number n of the STT-RAM unit corresponding to the current data bit, which is switched from 0 to 1. The whole calculation circuit is a combinational circuit, so no extra delay is introduced.
Threshold value K of the invention th The calculation steps are as follows: calculating threshold value K th When the system allows the upper limit of the probability of the occurrence of the write failure of the cache block to be e, the error correction capability of the error correction code of the cache block is k data bits, the number of the data bits of the cache block with the write failure is m, and when m is greater than k, the current write operation fails, so that the failure probability of the write operation is P (m is greater than or equal to (k +1)), and the following requirements are met:
P(m≥(k+1))<e,
because the default error correcting code adopts 1-bit error correction, K is 1, and the minimum m value met by calculation according to the Chernov probability formula is K th 。
The default error correcting code and the extended error correcting code of the invention are both oriented to a cache block with 64bytes, wherein the default error correcting code adopts a SECDED code with 1-bit error correction and 2-bit error detection, and the length of occupied data is 11 bits; the extended error correcting code adopts 4EC5ED codes with 4 bits of error correction and 5 bits of error detection, and the data length is 41 bits.
For the extended error correcting code, the upper limit of the probability of write failure of a cache block allowed by a system is e, the error correcting capability of the cache block is k data bits, the number of the data bits of the cache block with write failure is m, the failure probability of write operation is P (m is more than or equal to (k +1)), and the following requirements are met:
P(m≥(k+1))<e,
aiming at the size of a cache block being 64Bytes, calculating according to a Cherov probability formula to obtain the maximum value of k being 4; to meet the requirements of the system, in the worst case, the extended error correction code only needs to have the capability of correcting 4-bit error data.
For a default error correcting code and an extended error correcting code, the actually updated data bits in a cache block are far smaller than the capacity of 512 bits of the cache block, and the number of write failure data bits of most cache blocks is less than or equal to 1; 80% of the cache blocks in the cache set can be allocated default error correction codes and 20% of the cache blocks can be allocated extended error correction codes.
The step S3 of the present invention specifically includes: when the total data bit number n of the STT-RAM unit corresponding to the current data bit of the target cache block and switching from 0 to 1 is more than K th When the target cache block adopts the extended error correction code, new data is sent to an extended error correction code encoder to generate an error correction code, and meanwhile, the flag bit value of the cache block label is set to be 1; when the total data bit number n of the STT-RAM unit corresponding to the current data bit of the target cache block and switching from 0 to 1 is less than or equal to K th And then, the target cache block adopts a default error correcting code, new data is sent to a default error correcting code encoder to generate an error correcting code, and meanwhile, the flag bit value of the cache block label is set to be 0.
In step S4, if the flag bit has a value of 0, the flag bit is sent to the default ecc decoder to correct possible erroneous data bits; if the flag bit has a value of 1, the data is sent to an ECC decoder to correct a possible erroneous data bit.
Compared with the prior art, the invention has the following advantages and effects: the invention distributes error correcting code resources according to the different bit numbers of new and old data when the cache block writes data, distributes default error correcting codes for the written cache blocks with less different bit numbers, and distributes extended error correcting codes for the written cache blocks with more different bit numbers, the default error correcting code data bit number is less, the error correcting capability is weak, the extended error correcting code data bit number is more, the error correcting capability is strong, thereby obtaining balance between the error correcting capability and the storage cost of the error correcting code.
Drawings
FIG. 1 is a schematic diagram of an embodiment of the invention for calculating a total data bit for counting the switching of 0 to 1 occurring to an STT-RAM cell corresponding to a current data bit.
Fig. 2 is a flowchart of step S2 according to an embodiment of the present invention.
Fig. 3 is a flowchart of step S4 according to an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail below by way of examples with reference to the accompanying drawings, which are illustrative of the present invention and are not to be construed as limiting the present invention.
Referring to fig. 1-3, an embodiment of the present invention includes the steps of:
and S1, when a data writing operation is initiated, after a target cache block to be written is determined, reading out old data bits of the target cache block, comparing the old data bits with new data, and calculating and counting the total data bit number n of switching from 0 to 1 of an STT-RAM unit corresponding to the current data bit.
The step of calculating the total data bit n for switching from 0 to 1 of the STT-RAM unit corresponding to the current data bit is as follows:
reading old data in a target cache block, negating the old data, performing AND operation with corresponding new data according to bits, if the output value is 1, indicating that the STT-RAM unit corresponding to the current data bit is switched from 0 to 1, and taking the output of each bit as the input of a Hamming distance calculator, wherein the output of the Hamming distance calculator is the total data bit number n of the STT-RAM unit corresponding to the current data bit, which is switched from 0 to 1. The whole calculation circuit is a combinational circuit, so no extra delay is introduced.
S2, comparing n with a threshold value K th : if n is greater than K th Then error correction is carried out by adopting the extended error correcting code, if n is less than or equal to K th Then a default error correction code is used for error correction.
Assuming that the hamming distance of the current cache block is n, that is, the total data bit number of switching from 0 to 1 of the STT-RAM unit corresponding to the current data bit is n, and the error correction capability of the error correction code of the cache block is k bits, when the data bit number m of the write failure is greater than k, the current write operation fails. Therefore, the probability of failure of a write operation is P (m ≧ (k + 1)). If the probability of write failure per memory cell is q, the expectation of a write error in switching n data bits is μ — nq. The upper limit of the probability of write failure of the cache block allowed by the system is e, so that the following requirements are met:
P(m≥(k+1))<e (1)
according to the knov probability formula:
combining equations (1) and (2) yields:
where k +1 is (1+ δ) μ, the maximum value of k may be calculated such that the probability of write failure of the cache block under a write update is less than the upper limit that can be tolerated by the system, given the value of n.
Threshold value K th The calculating steps are as follows: calculating threshold value K th When the system allows the upper limit of the probability of the occurrence of the write failure of the cache block to be e, the error correction capability of the error correction code of the cache block is k data bits, the number of the data bits of the cache block with the write failure is m, and when m is greater than k, the current write operation fails, so that the failure probability of the write operation is P (m is greater than or equal to (k +1)), and the following requirements are met:
P(m≥(k+1))<e,
since the default error correction code adopts 1-bit error correction, k is taken to be 1, and according to the knov probability formula:the minimum m value satisfied by calculation is K th 。
The default error correcting code and the extended error correcting code both face to a cache block with the size of 64bytes, wherein the default error correcting code adopts a SECDED code with 1-bit error correction and 2-bit error detection, and the length of occupied data is 11 bits; the extended error correction code adopts 4EC5ED codes with 4-bit error correction and 5-bit error detection, and the occupied data length is 41 bits.
For the extended error correcting code, the upper limit of the probability of write failure of a cache block allowed by a system is e, the error correction capability of the cache block is k data bits, the number of the data bits of the cache block with write failure is m, the failure probability of write operation is P (m ≧ k +1)), and the following requirements are met:
P(m≥(k+1))<e,
for a cache block size of 64Bytes, according to the knov probability formula:the maximum value of k obtained by calculation is 4, and the extended error correction code only has the capability of correcting 4-bit error data under the worst condition to meet the requirements of the system.
For the default error correcting code and the extended error correcting code, the actually updated data bits in the cache block are far smaller than the capacity of 512 bits of the cache block, and the number of write failure data bits of most cache blocks is smaller than or equal to 1; 80% of the cache blocks in the cache set can be allocated default error correction codes and 20% of the cache blocks can be allocated extended error correction codes.
S3, setting a flag bit of the target cache block tag when writing the cache block, and identifying an error correction code type of the target cache block, the specific steps are:
when the cache block is written, the total data bit number n of switching from 0 to 1 of the STT-RAM unit corresponding to the current data bit of the target cache block is more than K th When the target cache block is marked, an extended error correction code is adopted, new data is sent to an extended error correction code encoder to generate an error correction code, and meanwhile, the flag bit value of a cache block label is set to be 1; when the total data bit number n of the STT-RAM unit corresponding to the current data bit of the target cache block and switching from 0 to 1 is less than or equal to K th And then, marking the target cache block by adopting a default error correcting code, sending the new data to a default error correcting code encoder to generate an error correcting code, and setting the flag bit value of the cache block label to be 0.
S4, when reading the cache block data, reading the flag bit of the cache block label, determining the type of the adopted error correction code according to the flag bit of the cache block label, and sending the cache block to the corresponding error correction code decoder for error correction; wherein if the flag bit has a value of 0, sending the data to a default ECC decoder to correct possible erroneous data bits; if the flag bit has a value of 1, the data is sent to an ECC decoder to correct a possible erroneous data bit.
In addition, it should be noted that the specific embodiments described in the present specification may be different in the components, the shapes of the components, the names of the components, and the like, and the above description is only an illustration of the structure of the present invention. Equivalent or simple changes in the structure, characteristics and principles of the invention are included in the protection scope of the patent. Various modifications, additions and substitutions for the specific embodiments described may be made by those skilled in the art without departing from the scope of the invention as defined in the accompanying claims.
Claims (7)
1. A method for solving the problem of STT-RAM cache write failure is characterized in that: the method comprises the following steps:
s1, when a data writing operation is initiated, after a target cache block to be written is determined, reading out old data of the target cache block, comparing the old data with new data according to bit, and calculating and counting the number n of data bits of the STT-RAM unit corresponding to the current data bit, wherein the STT-RAM unit is to be switched from 0 to 1;
s2, comparing n with a threshold value K th If n is greater than K th Error correction is carried out by adopting the extended error correction code, if n is less than or equal to K th If so, error correction is carried out by adopting a default error correction code;
calculating threshold value K th When the system allows the cache block to have the probability upper limit of occurrence of write failure, the upper limit of the probability of occurrence of write failure of the cache block is e, the error correction capability of an error correction code of the cache block is k data bits, the number of the data bits of the cache block with write failure is m, and when m is larger than k, the current write operation fails, so that the failure probability of the write operation isTo satisfy:
since the default error correcting code adopts 1-bit error correction, K =1 is taken, and the minimum m value met by calculation according to the Chenoff probability formula is K th ;
S3, when writing the cache block, setting the flag bit of the target cache block label, and marking the error correction code type of the target cache block;
and S4, when the cache block data is read, the flag bit of the cache block label is read at the same time, the adopted error correction code type is determined according to the flag bit, and the cache block is sent to the corresponding error correction code decoder for error correction.
2. The method of addressing STT-RAM cache write failures of claim 1, wherein: the step of calculating the data bit number n of the switching from 0 to 1 of the STT-RAM unit corresponding to the current data bit is as follows: reading old data in a target cache block, negating the old data, performing AND operation with corresponding new data according to bits, if the output value is 1, indicating that the STT-RAM unit corresponding to the current data bit is switched from 0 to 1, and taking the output of each bit as the input of a Hamming distance calculator, wherein the output of the Hamming distance calculator is the total data bit number n of the STT-RAM unit corresponding to the current data bit, which is switched from 0 to 1.
3. The method of addressing STT-RAM cache write failures of claim 1, wherein: the default error correcting code and the extended error correcting code both face to a cache block with the size of 64bytes, wherein the default error correcting code adopts a SECDED code with 1-bit error correction and 2-bit error detection, and the length of occupied data is 11 bits; the extended error correction code adopts 4EC5ED codes with 4-bit error correction and 5-bit error detection, and the occupied data length is 41 bits.
4. The method of addressing STT-RAM cache write failures of claim 1, wherein: for the extended error correction code, the upper limit of the probability of write failure of the cache block allowed by the system is e, the error correction capability of the cache block is k data bits,the number of bits of write failure data in the cache block is m, and the failure probability of the write operation isTo satisfy:
aiming at the size of a cache block being 64Bytes, calculating according to a Cherov probability formula to obtain the maximum value of k being 4; to meet the requirements of the system, in the worst case, the extended error correction code only needs to have the capability of correcting 4-bit error data.
5. The method of addressing STT-RAM cache write failures of claim 1, in which: for the default error correcting code and the extended error correcting code, the actually updated data bits in the cache block are smaller than the 512-bit capacity of the cache block, and the write failure data bit number of most cache blocks is smaller than or equal to 1; 80% of the cache blocks in the cache set can be allocated default error correction codes and 20% of the cache blocks can be allocated extended error correction codes.
6. The method of addressing STT-RAM cache write failures of claim 1, wherein: the specific step of step S3 is: when the total data bit number n of the STT-RAM unit corresponding to the current data bit of the target cache block and switching from 0 to 1 is more than K th When the target cache block adopts the extended error correction code, new data is sent to an extended error correction code encoder to generate an error correction code, and meanwhile, the flag bit value of the cache block label is set to be 1; when the total data bit number n of the STT-RAM unit corresponding to the current data bit of the target cache block and switching from 0 to 1 is less than or equal to K th And then, the target cache block adopts a default error correcting code, new data is sent to a default error correcting code encoder to generate an error correcting code, and meanwhile, the flag bit value of the cache block label is set to be 0.
7. The method of addressing STT-RAM cache write failures of claim 1, in which: in step S4, if the flag bit has a value of 0, the flag bit is sent to the default ecc decoder to correct possible erroneous data bits; if the flag bit has a value of 1, the data is sent to an ECC decoder to correct a possible erroneous data bit.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010214371.5A CN111580750B (en) | 2020-03-24 | 2020-03-24 | Method for solving STT-RAM cache write failure |
AU2020103371A AU2020103371A4 (en) | 2020-03-24 | 2020-11-10 | Method for Overcoming Write Failure in STT-MRAM On-Chip Cache |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010214371.5A CN111580750B (en) | 2020-03-24 | 2020-03-24 | Method for solving STT-RAM cache write failure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111580750A CN111580750A (en) | 2020-08-25 |
CN111580750B true CN111580750B (en) | 2022-08-23 |
Family
ID=72113422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010214371.5A Expired - Fee Related CN111580750B (en) | 2020-03-24 | 2020-03-24 | Method for solving STT-RAM cache write failure |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111580750B (en) |
AU (1) | AU2020103371A4 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077095A (en) * | 2012-12-28 | 2013-05-01 | 华为技术有限公司 | Error correction method and device for stored data and computer system |
CN104541249A (en) * | 2012-09-28 | 2015-04-22 | 英特尔公司 | Endurance aware error-correcting code (ECC) protection for non-volatile memories |
CN104538061A (en) * | 2013-06-12 | 2015-04-22 | 艾沃思宾技术公司 | Method for healing reset errors in a spin torque MRAM |
CN110333965A (en) * | 2019-05-30 | 2019-10-15 | 河南文正电子数据处理有限公司 | A kind of solid-state hard disk controller device and solid state hard disk data verification method |
CN110660421A (en) * | 2018-06-29 | 2020-01-07 | 上海磁宇信息科技有限公司 | Magnetic random access memory with error correction and compression circuit |
CN110660422A (en) * | 2018-06-29 | 2020-01-07 | 上海磁宇信息科技有限公司 | Cache system used in cooperation with error correction magnetic random access memory |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201346922A (en) * | 2012-05-14 | 2013-11-16 | Toshiba Kk | Memory controller, storage device and error correction method |
-
2020
- 2020-03-24 CN CN202010214371.5A patent/CN111580750B/en not_active Expired - Fee Related
- 2020-11-10 AU AU2020103371A patent/AU2020103371A4/en not_active Ceased
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104541249A (en) * | 2012-09-28 | 2015-04-22 | 英特尔公司 | Endurance aware error-correcting code (ECC) protection for non-volatile memories |
CN103077095A (en) * | 2012-12-28 | 2013-05-01 | 华为技术有限公司 | Error correction method and device for stored data and computer system |
CN104538061A (en) * | 2013-06-12 | 2015-04-22 | 艾沃思宾技术公司 | Method for healing reset errors in a spin torque MRAM |
CN110660421A (en) * | 2018-06-29 | 2020-01-07 | 上海磁宇信息科技有限公司 | Magnetic random access memory with error correction and compression circuit |
CN110660422A (en) * | 2018-06-29 | 2020-01-07 | 上海磁宇信息科技有限公司 | Cache system used in cooperation with error correction magnetic random access memory |
CN110333965A (en) * | 2019-05-30 | 2019-10-15 | 河南文正电子数据处理有限公司 | A kind of solid-state hard disk controller device and solid state hard disk data verification method |
Non-Patent Citations (1)
Title |
---|
基于STT-MRAM的高速Cache设计与实现;梁日泉;《中国优秀硕士学位论文全文数据库(电子期刊·信息科技辑)》;20170315(第3期);第I137-221页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111580750A (en) | 2020-08-25 |
AU2020103371A4 (en) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8429497B2 (en) | Method and system of dynamic data storage for error correction in a memory device | |
US8438457B2 (en) | Nonvolatile memory apparatus, memory controller, and memory system | |
US9214965B2 (en) | Method and system for improving data integrity in non-volatile storage | |
TWI474330B (en) | Method for performing memory access management, and associated memory device and controller thereof | |
JP5658128B2 (en) | System, method, and computer program for probabilistic multilayer error correction in NAND flash memory | |
US7107507B2 (en) | Magnetoresistive solid-state storage device and data storage methods for use therewith | |
US8386890B2 (en) | Error correction for multilevel flash memory | |
US9916254B2 (en) | Error detection using a logical address key | |
US8949689B2 (en) | Storage control system with data management mechanism and method of operation thereof | |
US9772901B2 (en) | Memory reliability using error-correcting code | |
US9171629B1 (en) | Storage device, memory controller and memory control method | |
US20170186500A1 (en) | Memory circuit defect correction | |
TW201320090A (en) | Data modification based on matching bit patterns | |
CN111580750B (en) | Method for solving STT-RAM cache write failure | |
US20030172339A1 (en) | Method for error correction decoding in a magnetoresistive solid-state storage device | |
CN107705817B (en) | Decoding method and device using flash memory channel characteristics and data storage system | |
US20220021403A1 (en) | Systems and methods for decoding error correcting codes with historical decoding information | |
CN111796774B (en) | Memory control method, memory storage device and memory controller | |
CN117497018A (en) | Method for adjusting read reference voltage in nonvolatile memory device and memory system controller | |
US20190294497A1 (en) | Method of implementing error correction code used by memory storage apparatus and memory storage apparatus using the same | |
US20190081640A1 (en) | Faulty word line and faulty bit line information in error correcting coding | |
CN111651295B (en) | Variable-length error correction code method for STT-RAM cache | |
US11936403B2 (en) | Systems and methods for decoding codewords in a same page with historical decoding information | |
CN111863059A (en) | MRAM chip with dynamic redundancy function | |
US10922019B2 (en) | Data writing method, memory controlling circuit unit and memory storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220823 |