Key rotation for a memory controller
AssigneeMarvell World Trade Ltd.
InventorPontus LIDMAN
Life of this patent
Estimating the term…
Abstract
Systems, methods, and other embodiments associated with rotating keys for a memory are described. According to one embodiment, a memory system comprises a memory controller configured to control access to a memory and to process memory access requests. Rrekeying logic is configured to rotate a first key that was used to scramble data in the memory and re-scramble the data with a second key by: determining when the memory controller is in an idle cycle and performing a rekeying operation on a portion of the memory during the idle cycle, and pausing the rekeying operation when the memory controller is not in an idle cycle to allow memory access requests to be performed and resuming the rekeying operation during a next idle cycle.
Claims20
A memory system, comprising:
- a memory controller configured to control access to a memory and to process memory access requests;
- and
- rekeying logic configured to rotate a first key that was used to scramble data in the memory and re-scramble the data with a second key by:
- determining when the memory controller is in an idle cycle and performing a rekeying operation on a portion of the memory during the idle cycle;
- and
- pausing the rekeying operation when the memory controller is not in an idle cycle to allow memory access requests to be performed and resuming the rekeying operation during a next idle cycle.
A method, comprising:
- setting a boundary address in a memory for a rekeying operation that rotates keys for data in the memory;
- in response to receiving memory access requests, processing, by a memory controller, the memory access requests to the memory;
- determining when the memory controller is in an idle cycle and in response to being in the idle cycle, the method comprises:
- performing the rekeying operation on a portion of the memory at the boundary address during the idle cycle;
- incrementing the boundary address and repeating the rekeying operation;
- and
- pausing the rekeying operation when the memory controller is not in an idle cycle to allow the memory access requests to be performed and resuming the rekeying operation during a next idle cycle.
A method comprising:
- setting a boundary address in a memory for a rekeying operation that rotates encryption keys for data in the memory, wherein the boundary address is a boundary between a first portion of the memory that is encrypted with a first key and a second portion of the memory that is encrypted with a second key;
- in response to receiving an access request for a requested address in the memory:
- pausing the rekeying operation;
- comparing the requested address to the boundary address to determine if the requested address is in the first portion or the second portion of the memory;
- selecting the first key or the second key based on the comparison;
- and
- processing the access request using the selected key.
Dependencies are inferred from the claim text.