US 12,001,721 B2
Multiple-pass programming of memory cells using temporary parity generation
Kishore Kumar Muchherla, Fremont, CA (US); Lakshmi Kalpana Vakati, San Jose, CA (US); Dave Scott Ebsen, Minnetonka, MN (US); Peter Feeley, Boise, ID (US); Sanjay Subbarao, Irvine, CA (US); Vivek Shivhare, Milpitas, CA (US); Jiangli Zhu, San Jose, CA (US); Fangfang Zhu, San Jose, CA (US); and Akira Goda, Tokyo (JP)
Assigned to MICRON TECHNOLOGY, INC., Boise, ID (US)
Filed by Micron Technology, Inc., Boise, ID (US)
Filed on Aug. 5, 2022, as Appl. No. 17/882,355.
Prior Publication US 2024/0045616 A1, Feb. 8, 2024
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0659 (2013.01) [G06F 3/0619 (2013.01); G06F 3/064 (2013.01); G06F 3/0656 (2013.01); G06F 3/0683 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving one or more write commands including user data, wherein the one or more write commands are directed to a portion of memory including a first block and a second block each comprising a plurality of portions and wherein a first portion of the user data is directed to the first block and a second portion of the user data is directed to the second block;
generating first temporary parity data by performing a parity operation using the first portion of the user data and the second portion of the user data;
storing the first temporary parity data, the first portion of the user data, and the second portion of the user data in a buffer;
programming a first portion of the first block with the first portion of the user data, wherein the programming comprises a first pass of programming and a second pass of programming;
programming a first portion of the second block with the second portion of the user data, wherein the programming comprises a first pass of programming and a second pass of programming; and
invalidating the first portion and the second portion of the user data in the buffer in response to a completion of the second pass of programming the first portion of the first block and the first portion of the second block, wherein the first temporary parity data is maintained in the buffer until a completion of the second pass of programming the first block and the second block.