Storage protection keys and system data share the same physical storage.
The key region is dynamically relocatable by firmware. A Configuration
Array is used to map the absolute address of the key region in to its
physical address. The absolute address of keys can be fixed even though
the physical location of the keys is relocated into a different region. A
triple-detect double correct ECC scheme is used to protect keys. The ECC
scheme is different from regular data in the storage and can be used to
detect illegal access. Extra firmware and hardware is also designed to
restrain customer's applications from directly accessing keys. With the
key region being relocatable, the firmware could move the key region away
from a known faulty area in a memory to improve system RAS. We also
achieved the commonality objective that key memory device can use the
same memory devices with other server systems that do not use keys.