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 |
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.
|