Locked raid memory devices
AssigneeMicron Technology, Inc.
InventorsMarco Sforzin, Su Wei Lim, Emanuelw Confalonieri
Life of this patent
Estimating the term…
Abstract
Methods, memory devices, and systems for utilizing DDR5 DRAM dice without SEC parity bits, while still providing chipkill protection and RAS performance are described. The disclosed devices utilize a solution based upon locked RAID (LRAID) which omits the on-die SEC bits but retains RAS protections including chipkill protections. The system achieves this protection by replacing the Reed-Solomon parity bits with RAID parity bits, CRC bits, end-to-end SEC bits, and an end-to-end CRC. The SEC protection is enabled, in some examples, by a memory controller, such as by an on-ASIC memory controller making this an on-ASIC SEC rather than an on-die SEC.
Claims20
A memory system, comprising:
- a memory device having a plurality of dice, a first set of two or more of the plurality of dice storing user data and a second set of one or more of the plurality of dice storing parity bits, each of the parity bits storing a value corresponding to a parity function applied to data at a same bit position on each of the dice in the first set of the plurality of dice, the second set of the one or more of the plurality of dice storing cyclic redundancy check (CRC) data;
- and
- a controller configured to perform operations comprising:
- reading user data from the memory device;
- performing a CRC check on the user data;
- responsive to a determination that the CRC check failed, performing a per-die correction procedure comprising, for each die of the first set of the plurality of dice:
- (i) computing candidate corrected data for that die by applying the parity bits to data read from the other dice of the first set, and
- (ii) performing a CRC check on the candidate corrected data;
- responsive to a determination that the CRC check passed for candidate corrected data of exactly one die of the first set, providing the candidate corrected data of the one die to a host;
- and
- responsive to a determination that the CRC has not failed on the read user data, providing the user data to the host.
A method comprising:
- reading user data from a memory device having a plurality of dice, a first set of two or more of the plurality of dice storing the user data and a second set of one or more of the plurality of dice storing parity bits, each of the parity bits storing a value corresponding to a parity function applied to data at a same bit position on each of the dice in the first set of the plurality of dice, the second set of the one or more of the plurality of dice storing cyclic redundancy check (CRC) data;
- performing a CRC check on the user data;
- responsive to a determination that the CRC check failed, performing a per-die correction procedure comprising, for each die of the first set of the plurality of dice:
- (i) computing candidate corrected data for that die by applying the parity bits to data read from the other dice of the first set, and
- (ii) performing a CRC check on the candidate corrected data;
- responsive to a determination that the CRC check passed for candidate corrected data of exactly one die of the first set, providing the candidate corrected data of the one die to a host;
- and
- responsive to a determination that the CRC has not failed on the read user data, providing the user data to the host.
A non-transitory machine-readable medium storing instructions that, when executed by a memory device, cause the memory device to perform operations comprising:
- reading user data from the memory device, the memory device having a plurality of dice, a first set of two or more of the plurality of dice storing the user data and a second set of one or more of the plurality of dice storing parity bits, each of the parity bits storing a value corresponding to a parity function applied to data at a same bit position on each of the dice in the first set of the plurality of dice, the second set of the one or more of the plurality of dice storing cyclic redundancy check (CRC) data;
- performing a CRC check on the user data;
- responsive to a determination that the CRC check failed, performing a per-die correction procedure comprising, for each die of the first set of the plurality of dice:
- (i) computing candidate corrected data for that die by applying the parity bits to data read from the other dice of the first set, and
- (ii) performing a CRC check on the candidate corrected data;
- responsive to a determination that the CRC check passed for candidate corrected data of exactly one die of the first set, providing the candidate corrected data of the one die to a host;
- and
- responsive to a determination that the CRC has not failed on the read user data, providing the user data to the host.
Dependencies are inferred from the claim text.