US 12,487,773 B2
Memory system
Kensaku Yamaguchi, Kawasaki Kanagawa (JP); Kiyotaka Iwasaki, Yokohama Kanagawa (JP); Takashi Takemoto, Yokohama Kanagawa (JP); and Kohei Oikawa, Kawasaki Kanagawa (JP)
Assigned to Kioxia Corporation, Tokyo (JP)
Filed by Kioxia Corporation, Tokyo (JP)
Filed on Sep. 1, 2023, as Appl. No. 18/460,284.
Claims priority of application No. 2022-150539 (JP), filed on Sep. 21, 2022.
Prior Publication US 2024/0094940 A1, Mar. 21, 2024
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0655 (2013.01) [G06F 3/0608 (2013.01); G06F 3/0679 (2013.01)] 19 Claims
OG exemplary drawing
 
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.