Dual ECC Check for TEE Metadata Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in maintaining reliability, availability, and serviceability when using Error-Correcting Code (ECC) memory for security configuration metadata, as 'stealing' bits from ECC degrades ECC guarantees and can eliminate capabilities like single data device correction (SDDC), especially in trusted execution environments (TEE) where autonomous entities are unsure whether a page is associated with TEE or non-TEE.
Innovation Solution
Implementing a method where two ECC checks are performed for each possible TEE bit value during memory access, allowing the correct TEE state to be deduced, and using processor-provided TEE configuration metadata for encoding and verification, ensuring single data device correction (SDDC) while maintaining ECC reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If bits are stolen from ECC memory for TEE metadata storage, then security metadata can be stored in-line with data, but ECC guarantees are degraded and SDDC capability is eliminated
Solution Approach 1:
The patent divides the memory system into two independent ECC domains: one for TEE data with TEE metadata, and another for non-TEE data. Each domain has its own ECC code and correction capabilities, allowing SDDC to be maintained within each segment while accommodating metadata storage requirements.
Solution Approach 2:
The patent introduces an intermediary mechanism (dual ECC checking system) that mediates between the need for metadata storage and the need to maintain ECC guarantees. By performing separate ECC checks for TEE and non-TEE configurations, the system can determine the correct state without compromising correction capabilities.
2Adaptability or versatility
If autonomous entities access memory without knowing TEE state, then memory access flexibility is maintained, but correct ECC key selection cannot be determined
Solution Approach 1:
The patent performs preliminary dual ECC checks for both TEE and non-TEE configurations before actual memory access. This preliminary action determines the correct TEE state and selects the appropriate ECC key in advance, allowing autonomous entities to access memory flexibly while ensuring correct key selection through pre-computed verification.
Solution Approach 2:
The patent implements a feedback mechanism where the results of dual ECC checks provide information about the correct TEE state. The system uses this feedback to automatically select the appropriate ECC key and configuration, enabling autonomous entities to determine TEE state without external guidance while maintaining access flexibility.
Data Source
AI summary
The technology disclosed herein includes a memory to store a plurality of pages, a page of the plurality of pages configured as one of a trusted execution environment (TEE) configuration and a non-TEE configuration, and a memory controller to attempt to access the page using a memory address and the TEE configuration and generate a first error correcting code (ECC); and when data for the first ECC is at least one of correct and correctable by ECC for the attempt to access the page using the TEE configuration, attempt to access the page using the memory address and the non-TEE configuration and generate a second ECC, and when data the second ECC is at least one of correct and correctable by ECC for the attempt to access the page using the non-TEE configuration, store the memory address as an unknown cacheline address.


