Patent ID: 11861022
Assignee: SILICON MOTION, INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 12:
13. An apparatus for encrypting and decrypting physical-address information, comprising:
a control logic, coupled to a flash device;
a host interface (I/F), coupled to a host side; and
a processing unit, coupled to the control logic and the host I/F, arranged operably to receive a first read command requesting of the apparatus for a plurality of first physical block addresses (PBAs) corresponding to a logical block address (LBA) range from the host side through the host I/F, wherein each first PBA indicates which physical address that first user data of a first LBA of the LBA range is physically stored in a flash device;
read a T1 table from the flash device through the control logic, which comprises the first PBAs corresponding to the LBA range; arrange the first PBAs into a plurality of entries;
group the entries into a plurality of groups according to the first LBAs; encrypt groups of entries by using the same encryption algorithm with a plurality of encryption parameters, respectively, or a plurality of encryption algorithms individually with a corresponding encryption parameter, respectively; deliver the encrypted entries to the host side through the host I/F; receive a second read command requesting of the flash controller for second user data from the host side through the host I/F; obtain information indicating which group that a second LBA carried in the second read command belongs to; decrypt an encrypted entry carried in the second read command by using a decryption algorithm with a decryption parameter for a belonged group to obtain a decrypted entry, wherein the decryption algorithm with the decryption parameter is a reverse process of an encryption algorithm with an encryption parameter for the belonged group; obtain a second PBA from the decrypted entry; read the second user data from the second PBA in the flash device through the control logic; and deliver the second user data to the host side through the host I/F.