Patent ID: 8862902

Claim:
A method comprising: receiving input data to be secured in a non-volatile memory against unauthorized access by an attacker; encrypting the input data in relation to a first auxiliary data value to provide first level ciphertext, the first auxiliary data value comprising a logical block address (LBA) value associated with the input data; subsequently encrypting the first level ciphertext in relation to a second auxiliary data value associated with a selected physical location in the non-volatile memory to provide second level ciphertext, the second auxiliary data value comprising a physical block address (PBA) of the selected physical location in the non-volatile memory; storing the second level ciphertext to said selected physical location in the non-volatile memory to secure the input data from said unauthorized access by an attacker; and subsequently migrating the secured input data from the selected physical location to a second selected physical location in the non-volatile memory by partially decrypting the second level ciphertext to recover the first level ciphertext from the selected physical location without recovering the corresponding input data in an unencrypted form, re-encrypting the recovered first level ciphertext using a third auxiliary data value associated with the second selected physical location to provide third level ciphertext, and storing the third level ciphertext in the second selected physical location while the second level ciphertext remains stored in the selected physical location in the non-volatile memory.