Read-Once Memory Controller with Seed Invalidation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems lack a secure mechanism to ensure that data can be read only once, which is crucial for applications requiring privacy protection and copyright compliance in edge-computing, secure content distribution, and semiconductor communications.
Innovation Solution
A memory system incorporating a number generator, scrambler, and de-scrambler that uses a sequence of random numbers to scramble data upon writing and de-scramble it upon reading, with the seed being invalidated after use to prevent re-reading.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored in a conventional memory system, then data can be read multiple times, but security and privacy protection are compromised
Solution Approach 1:
The patent applies preliminary action by scrambling the data with a seed value before storing it in the memory device. This preliminary scrambling operation ensures that when the data is later read, it can only be accessed once through de-scrambling with the same seed, after which the seed is invalidated. This resolves the contradiction by pre-establishing the one-time read capability before the actual data access occurs.
Solution Approach 2:
The patent changes the state of the seed value from valid to invalid after it has been used for de-scrambling operations. This parameter change (from valid seed to invalid seed) ensures that the data can be read only once, as subsequent read attempts cannot be de-scrambled without a valid seed. This resolves the security vs. accessibility contradiction by dynamically changing the seed's validity state.
2Reliability
If data is cleared after processing to ensure security, then privacy is protected, but data cannot be retrieved when needed
Solution Approach 1:
Instead of clearing data after processing, the patent applies preliminary scrambling to the data before storage. This allows the data to be retrieved and de-scrambled when needed, while still ensuring privacy protection through the one-time read mechanism. The scrambled data remains in storage but is inaccessible without the valid seed, resolving the contradiction between privacy protection and data retrievability.
3Reliability
If distributed contents are made invalid after playback to comply with copyright, then copyright protection is ensured, but the data cannot be re-accessed for legitimate purposes
Solution Approach 1:
The patent changes the validity parameter of the seed after it has been used for de-scrambling, thereby making the stored scrambled data irretrievable. This parameter change ensures copyright protection by allowing the data to be accessed exactly once for legitimate playback, after which it becomes permanently inaccessible. This resolves the contradiction between copyright protection and legitimate re-accessibility.
4Reliability
If commands and requests are deleted after acknowledgment in security communications, then security is maintained, but communication verification becomes complex
Solution Approach 1:
The patent applies preliminary scrambling to communication commands and requests before they are stored or transmitted. This allows the system to maintain security by ensuring that acknowledged commands can be verified through de-scrambling, while the one-time read mechanism automatically handles the deletion/invalidation requirement. This reduces communication protocol complexity compared to manual deletion verification.
Data Source
AI summary
A memory controller scrambles input data and stores the scrambled data in a memory, and then allows the stored data to be read from the memory only once. The memory controller includes a true random number generator (TRNG) for generating a true random number and a pseudo-random number generator (PRNG) that uses the true random number as a seed to generate a pseudo-random number. A linear feedback shift register (LFSR) receives and shifts the pseudo-random number and then scrambles the input data using the shifted number from the LFSR. The scrambled data then is stored in the memory and the seed is stored in one of the same or a separate memory. In response to a read request, the seed is read and used to regenerate the shifted number to descramble the stored data. The stored seed is invalidated to prevent additional attempts at reading the data.


