Controller-based memory scrub for DRAMs with internal error-correcting code (ECC) bits contemporaneously during auto refresh or by using masked write commands
A method for updating a DRAM memory array is disclosed. The method comprises: a) transitioning the DRAM memory array from an idle state to a refresh state in accordance with a command from a memory controller; b) initiating a refresh on the DRAM memory array using DRAM internal control circuitry by activating a row of data into an associated sense amplifier buffer; and c) during the refresh, performing an ERR Correction Code (ECC) scrub operation of selected bits in the activated row of the DRAM memory array.
1. A method of correcting at least one error in a memory core of a Dynamic Random Access Memory (DRAM) by a memory controller, comprising:
initiating, by said memory controller, a request to said DRAM to perform a read-modify-write operation on a set of data bits in said memory core,
wherein said request designates that no bits in said set of data bits are to be modified for said read-modify-write operation; and
wherein said request causes said DRAM to perform steps comprising:
reading said set of data bits and a corresponding set of error correction code (ECC) bits from said memory core;
correcting at least one error in said set of data bits based on said set of ECC bits and without otherwise modifying said set of data bits for said read-modify-write operation to generate a corrected set of data bits; and
storing said corrected set of data bits to said memory core.
2. The method of claim 1 , further comprising wherein said ECC bits is re-computed for said corrected set of data bits.
3. The method of claim 1 , wherein said memory controller employs a refresh column counter to select one or more columns in requesting said read-modify-write operation.
4. The method of claim 3 , further comprising:
incrementing said refresh column counter inside said memory controller,
wherein said incremented refresh column counter indicates a subsequent read-modify-write operation to be requested to said DRAM,
wherein said subsequent read-modify-write operation designates that no bits in a set of data bits corresponding to said incremented refresh column counter are to be modified.
5. The method of claim 1 , wherein said DRAM is a low power double data rate (LPDDR) DRAM.
6. The method of claim 1 , wherein said refresh column counter is incremented by an increment of more than one word.