Memory organization for security and reliability
AssigneeArm Limited
InventorsGururaj Saileshwar, Prakash S. Ramrakhyani, Wendy Arnott Elsasser
Life of this patent
Estimating the term…
Abstract
A method and apparatus for retrieving data from a memory in which data, an associated message authentication code (MAC) and an associated error correction code (ECC) are stored in a memory such that the data, MAC and ECC can be retrieved together in a single read transaction and written in a single write transaction. Additional read transactions may be used to retrieve counters values that enable the retrieved MAC to be compared with a computed MAC. Still further, node value values of an integrity tree may also be retrieved to enable hash values of the integrity tree to be verified. The MAC and ECC may be stored in a metadata region of a memory module, for example.
Claims17
A method for retrieving data from a memory having a plurality of addressable lines, each addressable line containing a data region and a metadata region, the method comprising:
- reading, in a single transaction, a first addressable line at a first address in the memory, where a metadata region of the first addressable line contains a first stored message authentication code (MAC) and an error correction code (ECC), both associated with data contained in a data region of the first addressable line;
- reading a plurality of counter values from a second addressable line in the memory, where the first stored MAC is further associated with the data and a first counter value of the plurality of counter values;
- computing, by a data checking engine, a first computed MAC dependent upon the data, the first counter value and a first secret key;
- and
- determining the data to be reliable when the first stored MAC is equal to the first computed MAC.
A data processing system for retrieving data from a memory having a plurality of addressable lines, each addressable line containing a data region and a metadata region, the data processing system comprising:
- a memory controller unit configured for:
- reading, in a single read transaction, data, a first stored message authentication code (MAC) and an error correction code (ECC) from a first addressable line at a first address in the memory, where the data is stored in the data region of the first addressable line and the first stored MAC and the ECC are stored in the metadata region of the first addressable line and where the first stored MAC and the ECC are both associated with the data;
- and
- reading a plurality of counter values from a second addressable line in the memory, where the first stored MAC is associated with the data and a first counter value of the plurality of counter values;
- a data checking engine comprising a MAC generator for providing a first computed MAC from the data, the first counter value and a first secret key and logic for determining the data to be reliable when the first stored MAC is equal to the first computed MAC;
- and
- a storage device for storing the first secret key.
Dependencies are inferred from the claim text.