| CPC G06F 3/0655 (2013.01) [G06F 3/0608 (2013.01); G06F 3/0679 (2013.01)] | 19 Claims |

|
1. A memory system comprising:
a non-volatile memory; and
a controller configured to:
perform a write operation of a first data cluster that includes a plurality of data sectors, the write operation including:
compressing and then encrypting the first data cluster, the first data cluster being collectively compressed as a whole; and
writing the compressed and encrypted first data cluster into a first physical location of the non-volatile memory; and
perform a first partial overwrite operation of the first data cluster with first overwrite data that includes a plurality of data sectors, the first partial overwrite operation including:
encrypting the first overwrite data, the first overwrite data being not compressed;
reading the compressed and encrypted first data cluster from the first physical location of the non-volatile memory;
generating a first composite data cluster, the first composite data cluster including an entirety of the compressed and encrypted first data cluster read from the first physical location, the encrypted first overwrite data that is not compressed, and a header that indicates: i) overwrite of at least one data sector of the first data cluster with the first overwrite data; ii) a first data sector of the first data cluster, which is the at least one data sector of the first data cluster, is invalid; and iii) a second data sector of the first overwrite data, which is one of the plurality of data sectors thereof and corresponds to the first data sector of the first data cluster, is valid; and
writing the first composite data cluster into a second physical location of the non-volatile memory, the second physical location being different from the first physical location.
|