Patent ID: 11940887
Assignee: INNOGRIT TECHNOLOGIES CO., LTD.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 6:
7. A non-volatile storage system, comprising:
a non-volatile storage device; and
a storage controller coupled to the non-volatile storage device;
wherein the storage controller is configured to:
issue a first cache program operation to the non-volatile storage device to write data to a first regular block of the non-volatile storage device, wherein storage cells in the first regular block are multi-bit cells;
receive a program error from the non-volatile storage device;
retrieve, from a mapping table, a mapping between the first regular block and a backup block of the non-volatile storage device, wherein storage cells in the backup block are single-bit cells;
issue a read operation to the non-volatile storage device to read a copy of the data from the backup block;
issue a second cache program operation to the non-volatile storage device to write the data to a second regular block of the non-volatile storage device, wherein storage cells in the second regular block are multi-bit cells; and
mark the first regular block as defective; and

wherein the non-volatile storage device is configured to:
receive the data into a cache buffer of the non-volatile storage device from the storage controller;
transfer the data from the cache buffer to a data buffer of the non-volatile storage device;
acknowledge the storage controller upon completion of transferring the data from the cache buffer into the data buffer;
write the data from the data buffer to the first regular block;
write the data from the data buffer in the backup block, as the copy of the data;
determine that the program error has occurred in writing the data to the first regular block;
assert the program error to the storage controller; and
read the copy of the data from the backup block and send the copy of the data to the storage controller;

wherein the mapping table contains four (4) backup blocks repeatedly mapped to regular blocks in a plane in a round robin manner.