IP Library › Granted Patent US 12,710,870
Granted Patent B2
US 12,710,870 · App. 18/973,439 · Granted Aug 18, 2026

Bit error management in memory devices

Inventors: Jeremy Binfet (Boise, ID); Tommaso Vali (Sezze, IT); Walter Di Francesco (Avezzano, IT); Luigi Pilolli (L'Aquila, IT); Angelo Covello (Avezzano, IT); Andrea D'Alessandro (Avezzano, IT); Agostino Macerola (San Benedetto dei Marsi, IT); Cristina Lattaro (Rieti, IT); Claudia Ciaschi (Latina, IT)
Assignee: Micron Technology, Inc.
G06F3/061G06F3/0622G06F3/0659G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,710,870
App. No.
18/973,439
Filed
Dec 9, 2024
Granted
Aug 18, 2026
Kind
B2
Art Unit
2138
USPC
711/103
Abstract

In some implementations, a memory device may receive a command to read data in a first format from non-volatile memory, the data being stored in a second format in the non-volatile memory, the second format comprising a plurality of copies of the data in the first format. The memory device may compare, using an error correction circuit, the plurality of copies of the data to determine a dominant bit state for bits of the data. The memory device may store the dominant bit state for bits of the data in the non-volatile memory as error-corrected data in the first format. The memory device may cause the error-corrected data to be read from the non-volatile memory in the first format as a response to the command to read the data in the first format.

Claims (59)

1 . A method, comprising:

receiving, by a memory device, a command to read data in a first format from a memory, the data being stored in a second format in the memory, the second format comprising a plurality of copies of the data in the first format;

comparing, by the memory device and using an error correction circuit, the plurality of copies of the data to determine a dominant bit state for bits of the data;

storing, by the memory device, the dominant bit state for bits of the data in the memory as error-corrected data in the first format; and

causing, by the memory device, the error-corrected data to be read from the memory in the first format as a response to the command to read the data in the first format.

2 . The method of claim 1 , wherein the memory is a first memory, the method further comprising:

receiving another command to program a single copy of the data in the first format in the first memory;

storing the single copy of the data to a second memory based on receiving the other command to program the data;

causing the plurality of copies of the data to be copied from the single copy of the data in the second memory to a data cache of the first memory, the plurality of copies comprising the second format of the data; and

programming the plurality of copies of the data in the second format from the data cache to an array in the first memory.

3 . A memory device, comprising:

a first memory;

a second memory; and

a controller configured to:

receive a command to read data in a first format from the first memory, the data being stored in a second format in the first memory, the second format comprising a plurality of copies of the data in the first format;

provide the plurality of copies of the data from the first memory to an error correction circuit;

compare, using the error correction circuit, the plurality of copies of the data to determine a dominant bit state for bits of the data;

store the dominant bit state for the bits of the data in the second memory as corrected data in the first format;

provide the corrected data from the second memory to the first memory; and

cause the corrected data to be read from the first memory in the first format as a response to the command to read the data in the first format.

4 . The memory device of claim 3 , wherein the command to read the data is an Open NAND Flash Interface (ONFI) read command.

5 . The memory device of claim 3 , wherein the error correction circuit comprises a plurality of adder circuits.

6 . The memory device of claim 5 , wherein the controller, when configured to compare the plurality of copies of the data to determine the dominant bit state, is configured to:

identify a multi-bit output of the plurality of adder circuits; and

determine the dominant bit state based on a subset of bits of the multi-bit output.

7 . The memory device of claim 6 , wherein the subset of bits comprises a set of most significant bits (MSBs), and

wherein the controller, when configured to compare the plurality of copies of the data to determine the dominant bit state, is configured to:

compare a first MSB, of the set of MSBs, with a second MSB, of the set of MSBs, to determine the dominant bit state.

8 . The memory device of claim 3 , wherein the error correction circuit comprises at least one inverter.

9 . The memory device of claim 8 , wherein the controller, when configured to compare the plurality of copies of the data to determine the dominant bit state, is configured to:

identify a multi-bit output of the error correction circuit with the at least one inverter;

determine an erase error in the plurality of copies of the data based on the multi-bit output of the error correction circuit with the at least one inverter; and

output information identifying the erase error.

10 . The memory device of claim 3 , wherein the error correction circuit is configured to:

read the plurality of copies of the data from a single NAND column across multiple pages.

11 . The memory device of claim 3 , wherein the error correction circuit is disposed in a page buffer associated with the first memory or associated with a data path associated with the first memory.

12 . A memory device, comprising:

a first memory;

a second memory; and

a controller configured to:

write data in a first format to a data cache of the first memory;

provide the data from the data cache of the first memory to the second memory;

provide a plurality of copies of the data in the second memory to the data cache of the first memory, the plurality of copies comprising a second format of the data; and

program the plurality of copies of the data in the second format from the data cache of the first memory to a single array of the first memory.

13 . The memory device of claim 12 , wherein the controller is further configured to:

receive a command to program the data in the first format in the first memory, wherein writing the data in the first format to the data cache of the first memory is based on receiving the command.

14 . The memory device of claim 13 , wherein the command to program the data identifies a first range of addresses, and

wherein the plurality of copies of the data is programmed in a second range of addresses that includes the first range of addresses.

15 . The memory device of claim 14 , wherein the first range of addresses represents a portion of a single page of the first memory, and

wherein the second range of addresses represents an entirety of the single page of the first memory.

16 . The memory device of claim 13 , wherein the command to program the data is an Open NAND Flash Interface (ONFI) write command.

17 . The memory device of claim 12 , wherein the first memory comprises a non-volatile memory, and

wherein the second memory comprises a volatile memory.

18 . The memory device of claim 12 , wherein a first copy of the data and a second copy of the data are mirrored across a plurality of pages of the first memory.

19 . The memory device of claim 12 , wherein a first copy of the data and a second copy of the data are mirrored across one of:

a common write-line across different blocks,

different write-lines across a common block, or

different write-lines across different blocks.

20 . The memory device of claim 12 , wherein the data is associated with a security operation for chip initialization of the memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: BINFET, JEREMY; VALI, TOMMASO; DI FRANCESCO, WALTER; PILOLLI, LUIGI; COVELLO, ANGELO; D'ALESSANDRO, ANDREA; MACEROLA, AGOSTINO; LATTARO, CRISTINA; CIASCHI, CLAUDIA
To: MICRON TECHNOLOGY, INC.
Reel/Frame 069523/0414 →
Continuity (3)
Continuation 18049121 · Oct 24, 2022
Provisional Application 63365680 · Jun 1, 2022
Related Publication 20250103206A1 · Mar 27, 2025
References Cited (27)
US 5410545A · Porter et al. · 1995 [cited by applicant]
US 9419737B2 · Fredriksson et al. · 2016 [cited by applicant]
US 9436563B2 · Chinnakkonda Vidyapoornachary · 2016 [cited by examiner]
US 10496484B2 · Freikorn · 2019 [cited by examiner]
US 11036581B2 · Chen et al. · 2021 [cited by applicant]
US 11314441B2 · Shahidi · 2022 [cited by examiner]
US 12093545B2 · Gao · 2024 [cited by examiner]
US 20070266300A1 · Ito et al. · 2007 [cited by applicant]
US 20150095693A1 · Chinnakkonda et al. · 2015 [cited by applicant]
US 20160125951A1 · Sun et al. · 2016 [cited by applicant]
US 20160299844A1 · Sprouse · 2016 [cited by examiner]
US 20180039538A1 · Freikorn et al. · 2018 [cited by applicant]
US 20220046114A1 · Entelis et al. · 2022 [cited by applicant]
US 20220413762A1 · Pletka et al. · 2022 [cited by applicant]
US 20230393739A1 · Binfet et al. · 2023 [cited by applicant]
EP 3849145A2 · 2021 [cited by applicant]
WO 2020148746A1 · 2020 [cited by applicant]
S. Li et al., “RC-NVM: Dual-Addressing Non-Volatile Memory Architecture Supporting Both Row and Column Memory Accesses,” in IEEE Transactions on Computers, vol. 68, No. 2, pp. 239-254, Feb. 1, 2019. [cited by examiner]
P. Roy, M. Manoharan and W. F. Wong, “EnVM: Virtual memory design for new memory architectures,” 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES), Uttar Pradesh, India,… [cited by examiner]
P. de Langen and B. Juurlink, “Memory copies in multi-level memory systems,” 2008 International Conference on Application-Specific Systems, Architectures and Processors, Leuven, Belgium, 2008, pp. 281-286. [cited by examiner]
Gang Peng, S. Sharma and Tzi-cker Chiueh, “Network-Centric Buffer Cache Organization,” 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05), Columbus, OH, USA, 2005, pp. 219-228. [cited by examiner]
Brewer J, et al., “Embedded Flash Memory,” in Nonvolatile Memory Technologies with Emphasis on Flash: A Comprehensive Guide to Understanding and Using Flash Memory Devices, IEEE, 2008, pp. 373-405.ch9. [cited by applicant]
Cai, Y., et al., “Flash correct-and-refresh: Retention-aware error management for increased flash memory lifetime,” 2012 IEEE 30th International Conference on Computer Design (ICCD), Montreal, QC, Canada, 2012, pp. 94-1… [cited by applicant]
Jadidi A., et al., “Exploring the Potential for Collaborative Data Compression and Hard-Error Tolerance in PCM Memories,” 2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Den… [cited by applicant]
Micheloni, R., et al., “Non-Volatile Memories for Removable Media,” in Proceedings of the IEEE, vol. 97, No. 1, pp. 148-160, Jan. 2009. [cited by applicant]
Tai A., et al., “Live Recovery of Bit Corruptions in Datacenter Storage Systems,” Princeton University, Facebook Inc, Stanford University and Barracuda Networks, pp. 1-15, May 2018. [cited by applicant]
Wei, W., et al., “A Novel Scheme for Tolerating Single Event/Multiple Bit Upsets (SEU/MBU) in Non-Volatile Memories,” in IEEE Transactions on Computers, vol. 65, No. 3, pp. 781-790, Mar. 1, 2016. [cited by applicant]