Patent ID: 9280675
Filing Date: 2016-03-08
CPC Classification: G06F,H04L

Claim Text:
1. Data storage circuitry comprising: a data store comprising a plurality of data storage locations for storing data; an input configured to receive requests to access said data store; renaming circuitry configured to map architectural data storage locations specified in said access requests to physical data storage locations within said data store; encryption circuitry configured to encrypt data prior to storing said data in said data store, said encryption circuitry being configured to generate an encryption key in dependence upon a physical data storage location said data is to be stored in; and decryption circuitry configured to decrypt data read from said data store, said decryption circuitry being configured to generate a decryption key in dependence upon said physical data storage location said data is read from, wherein said renaming circuitry is configured to determine which of said plurality of physical data storage locations are available to store data specified in an access request and to perform said mapping by selecting one of said available physical data storage locations to map said architectural data storage location to according to a random or pseudo random process and to store mappings for physical data storage locations currently storing valid data; and wherein said available physical data storage locations comprise all of the physical data storage locations within said data store, wherein said renaming circuitry is configured, when said renaming circuitry selects a physical data storage location from among said available physical data storage locations which is currently mapped, to select another one of said available physical data storage locations according to said random or pseudo random process, to write data stored in said currently mapped physical data storage location to another physical data storage location, to store a mapping for said another physical data storage location, and to store said data specified in said access request to said selected physical data storage location.