Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. An apparatus comprising: a non-volatile memory device comprising: a host interface circuit configured to receive, from an external device, a multi-association command that associates two or more keys with a common value; an internal processor configured to maintain a translation layer data structure configured to: maintain a key-value index that represents a plurality of key-value descriptors stored within a non-volatile memory, and, in response to the multi-association command, associate the two or more keys with the common value; and the non-volatile memory configured to store a plurality of key-value descriptors each including a respective value and at least one respective key, wherein at least one key-value descriptor includes a plurality of keys, wherein each of the plurality of keys are associated with the common value, and wherein the at least one key-value descriptor further includes either the common value or a pointer to the common value.
This invention relates to a non-volatile memory apparatus designed to efficiently manage key-value associations, particularly in systems where multiple keys may reference a common value. The apparatus includes a non-volatile memory device with a host interface circuit that receives a multi-association command from an external device. This command associates two or more keys with a single common value, reducing redundancy and improving storage efficiency. The apparatus also includes an internal processor that maintains a translation layer data structure. This data structure includes a key-value index that tracks key-value descriptors stored in the non-volatile memory. When a multi-association command is received, the processor updates the index to associate the specified keys with the common value. The non-volatile memory stores multiple key-value descriptors, each containing a value and at least one key. Some descriptors may include multiple keys, all linked to the same common value. These descriptors either store the common value directly or use a pointer to reference it elsewhere in memory. This approach optimizes storage by avoiding duplicate value entries, enhancing performance in applications requiring frequent key-value lookups or updates. The system is particularly useful in databases, caching systems, or any application where efficient key-value mapping is critical.
2. The apparatus of claim 1 , wherein the multi-association command includes a first key, and a second key.
A system for managing data associations in a computing environment addresses the challenge of efficiently linking and retrieving multiple data elements across different datasets. The apparatus includes a processing unit configured to execute a multi-association command that establishes relationships between data elements using a first key and a second key. The first key identifies a primary data element, while the second key identifies a secondary data element. The processing unit processes the multi-association command to create a bidirectional link between the primary and secondary data elements, enabling efficient traversal and retrieval of associated data. The apparatus further includes a storage unit that stores the association data, allowing for persistent and scalable management of relationships. The system ensures that data associations remain consistent and retrievable, even as datasets grow or evolve. This approach improves data organization, reduces redundancy, and enhances query performance by enabling direct access to related data elements through the defined keys. The apparatus may also include a validation module to verify the integrity of the associations, ensuring that the links remain accurate and up-to-date. The overall solution provides a robust framework for managing complex data relationships in large-scale computing systems.
3. The apparatus of claim 1 , wherein the non-volatile memory is configured to store a common value a number of times less than the number of keys referencing that common value.
The invention relates to a data storage apparatus designed to optimize memory usage in systems that frequently reference common values. The problem addressed is the inefficiency of storing duplicate copies of the same value in non-volatile memory, which wastes storage space and increases write operations. The apparatus includes a non-volatile memory and a controller that manages data storage. The non-volatile memory is configured to store a common value a number of times less than the number of keys referencing that common value. This means the common value is stored only once, while multiple keys point to it, reducing redundancy. The controller ensures that when a key references a common value, the system retrieves the stored value rather than duplicating it. This approach minimizes storage overhead and improves write efficiency, particularly in systems where certain values are referenced repeatedly. The apparatus may also include a volatile memory for temporary storage and a processor to manage data operations. The overall system reduces the number of write operations to non-volatile memory, extending its lifespan and improving performance. The invention is particularly useful in databases, file systems, or any application where data deduplication is beneficial.
4. The apparatus of claim 1 , wherein the translation layer is configured to: determine if at least one of the two or more keys exists within the key-value index; and insert any non-existing keys into the key-value index, such that all of the two or more keys are associated with a single instance of the common value.
This invention relates to a data processing apparatus that manages key-value pairs in a key-value index. The problem addressed is efficiently ensuring that multiple keys are consistently mapped to a single common value in a key-value store, avoiding redundancy and maintaining data integrity. The apparatus includes a translation layer that processes two or more keys and a common value. The translation layer checks whether each key already exists in the key-value index. If a key is not found, it is inserted into the index, with all keys—both existing and newly added—linked to the same common value. This ensures that subsequent lookups for any of these keys will retrieve the same value, regardless of which key is used. The system avoids duplicate entries for the same value while maintaining fast access times. The apparatus may also include a storage layer that stores the key-value index, allowing for persistent or temporary storage of the mappings. The translation layer operates dynamically, updating the index as needed to reflect new keys while preserving the association with the common value. This approach is useful in applications requiring efficient key-value management, such as databases, caching systems, or distributed data stores.
5. The apparatus of claim 1 , wherein the translation layer is configured to associate, within the key-value index, each of the two or more keys with each other.
This invention relates to a data processing apparatus that includes a translation layer for managing key-value indices. The apparatus addresses the challenge of efficiently linking and retrieving related data entries in a key-value store, where multiple keys may correspond to the same or related values. The translation layer is designed to establish associations between two or more keys within the key-value index, allowing them to reference the same value or to be treated as interchangeable. This enables flexible data retrieval and reduces redundancy by avoiding duplicate entries for equivalent keys. The apparatus may also include a storage layer for storing the key-value index and a processing layer for executing operations on the index, such as lookups, insertions, or deletions. The translation layer ensures that when one key is accessed, all associated keys are recognized, improving data consistency and retrieval efficiency. This approach is particularly useful in systems requiring high-performance data access with complex relationships between keys and values.
6. The apparatus of claim 1 , wherein the translation layer is configured to associate a permission level with each key, wherein the permission level dictates what type of memory access may be performed via a respective key.
This invention relates to a secure memory access control system that enhances data protection in computing environments. The problem addressed is the need for fine-grained control over memory access permissions to prevent unauthorized data manipulation or leaks. The system includes a translation layer that manages access keys and associates each key with a specific permission level. These permission levels determine the type of memory operations (e.g., read, write, execute) allowed for the corresponding key. By restricting access based on predefined permission levels, the system ensures that only authorized operations are performed on protected memory regions. This approach improves security by preventing unauthorized modifications or unauthorized access to sensitive data. The translation layer acts as an intermediary between memory requests and the physical memory, enforcing the permission rules dynamically. This solution is particularly useful in environments where multiple processes or users share memory resources, such as cloud computing, virtualization, or embedded systems. The invention provides a scalable and flexible way to enforce access control policies without requiring extensive modifications to existing hardware or software architectures.
7. The apparatus of claim 6 , wherein each of the two or more keys are associated with different permission levels.
A system for managing access control in a computing environment involves an apparatus with two or more keys, where each key is linked to distinct permission levels. The apparatus includes a key storage module that securely stores these keys and a permission verification module that checks the permission level of a key before granting access to a protected resource. The system ensures that only authorized users or processes with the appropriate key can perform specific actions, such as reading, writing, or executing operations on the resource. This approach enhances security by restricting access based on predefined permission levels, preventing unauthorized modifications or data breaches. The apparatus may also include a key generation module to create new keys with specific permissions and a key distribution module to securely transmit keys to authorized entities. The system is particularly useful in environments where granular access control is required, such as enterprise networks, cloud computing, or secure data storage systems. By associating different keys with varying permission levels, the apparatus provides a flexible and scalable solution for managing access rights in a secure manner.
8. The apparatus of claim 1 , wherein the multi-association command does not indicate where in the non-volatile memory the two or more keys and common value are to be stored.
The invention relates to a memory management system for non-volatile memory, particularly addressing the challenge of efficiently storing and associating multiple keys with a common value without requiring explicit storage location specification. The apparatus includes a memory controller that processes a multi-association command, which allows two or more keys to be linked to a single common value in the non-volatile memory. The command does not specify the physical storage location for the keys and the common value, enabling the system to autonomously determine optimal storage placement. This approach simplifies the programming interface and reduces the burden on the host system by abstracting storage management details. The memory controller handles the distribution and organization of the data, ensuring efficient use of memory resources while maintaining the association between the keys and the common value. The system may also include mechanisms to retrieve the common value using any of the associated keys, further streamlining data access operations. This design is particularly useful in applications requiring flexible and scalable key-value storage, such as databases, caching systems, or embedded memory management.
9. The apparatus of claim 1 , wherein the key-value index includes a plurality of pointers to storage locations within the non-volatile memory.
The apparatus relates to a data storage system that uses a key-value index to manage data in non-volatile memory. The key-value index allows efficient retrieval of data by associating keys with corresponding values stored in the memory. A key-value index is a data structure that maps unique keys to their associated values, enabling fast lookups. The apparatus includes a key-value index that contains multiple pointers, each pointing to a specific storage location within the non-volatile memory where the corresponding value is stored. This allows the system to quickly locate and retrieve data by following the pointers from the index to the actual storage locations. The non-volatile memory retains data even when power is turned off, ensuring data persistence. The use of pointers in the key-value index optimizes data access by reducing the need for sequential searches, improving overall system performance. The apparatus may also include additional components such as a processor to manage the index and memory operations, ensuring efficient data handling. This system is particularly useful in applications requiring fast and reliable data retrieval, such as databases, file systems, or embedded systems.
10. A method comprising: receiving, by a host interface, a multi-association command that associates a common value with two or more keys; associating in a key-value index the two or more keys with the common value, wherein the key-value index is maintained by a non-volatile memory device, and represents a plurality of key-value descriptors stored within the non-volatile memory device; and storing, in the non-volatile memory device, a key-value descriptor that includes the two or more keys and either the common value or a pointer to the common value, wherein the key-value descriptor is stored amongst the plurality of key-value descriptors.
This invention relates to a method for managing key-value associations in a non-volatile memory system. The problem addressed is the inefficiency of storing duplicate values for multiple keys, which consumes excessive storage space and processing resources. The solution involves a multi-association command that links two or more keys to a single common value, reducing redundancy. The method begins by receiving a multi-association command through a host interface, which specifies the keys and the common value to be associated. The system then updates a key-value index maintained in non-volatile memory, linking the keys to the common value. The key-value index organizes a collection of key-value descriptors stored in the memory. To store the association, a key-value descriptor is created, containing the two or more keys and either the common value itself or a pointer to the common value. This descriptor is stored alongside other key-value descriptors in the non-volatile memory. By using a single common value for multiple keys, the method minimizes storage overhead and improves efficiency in memory operations. The approach is particularly useful in systems where the same value is frequently associated with different keys, such as in databases or file systems. The non-volatile memory ensures persistence of the associations, even after power cycles.
11. The method of claim 10 , wherein storing comprises storing three or more keys associated with the common value as part of one key-value descriptor.
Technical Summary: This invention relates to data storage optimization, specifically improving efficiency in systems that store key-value pairs. The problem addressed is the redundancy and inefficiency of storing multiple keys with the same value separately, which consumes excessive memory and processing resources. The invention describes a method for storing three or more keys that share a common value as part of a single key-value descriptor. Instead of maintaining separate entries for each key-value pair, the system groups multiple keys under one descriptor, reducing storage overhead. This approach is particularly useful in databases, caching systems, or distributed storage environments where many keys may reference the same value. The method involves identifying keys that map to the same value and consolidating them into a unified descriptor. This descriptor includes all relevant keys and the shared value, eliminating redundant storage. The system can then retrieve the value efficiently by accessing the descriptor rather than searching multiple individual entries. This optimization reduces memory usage, improves lookup performance, and simplifies data management. The invention is applicable in scenarios where key-value mappings are frequent, such as in web caching, configuration management, or distributed databases. By minimizing redundant storage, the system achieves better scalability and resource utilization. The technique can be implemented in software, hardware, or hybrid systems, depending on the application requirements.
12. The method of claim 10 , wherein associating includes: associating the two or more keys are associated with a single instance of the common value.
A system and method for managing data storage and retrieval involves associating multiple keys with a single instance of a common value in a database. This approach optimizes storage efficiency by reducing redundancy when multiple keys reference the same value. The method includes storing a common value in a data structure and associating two or more keys with that single instance of the common value, rather than duplicating the value for each key. This technique is particularly useful in databases where the same value is frequently referenced by different keys, such as in key-value stores or relational databases with repeated entries. By linking multiple keys to a single value instance, the system minimizes storage overhead and improves data consistency, as updates to the value are automatically reflected for all associated keys. The method may also include mechanisms to handle key-value associations dynamically, allowing for efficient insertion, deletion, and modification of keys without altering the underlying value. This approach is beneficial in applications requiring scalable and efficient data management, such as caching systems, distributed databases, or large-scale data processing environments.
13. The method of claim 10 , wherein associating includes associating, within the key-value index, each of the two or more keys with each other.
A system and method for managing data in a key-value index involves associating multiple keys with each other to improve data retrieval efficiency. The key-value index stores data as key-value pairs, where each key is uniquely mapped to a corresponding value. The method includes generating a key-value index from a dataset, where the index allows for fast lookup of values based on keys. The system further enables associating two or more keys within the index, linking them in a way that allows retrieval of related data through any of the associated keys. This association can be used to establish relationships between different keys, such as hierarchical, hierarchical, or other logical connections, enabling more flexible and efficient data access. The method may also include updating the index dynamically as new data is added or existing data is modified, ensuring the associations remain accurate and up-to-date. This approach enhances data retrieval performance by reducing the need for multiple independent lookups and improving the efficiency of querying related data. The system is particularly useful in applications requiring fast access to interconnected data, such as databases, search engines, and distributed storage systems.
14. The method of claim 10 , wherein associating includes associating a permission level with a key, wherein the permission level dictates what type of memory access may be performed with respect the respective key.
This invention relates to secure memory access control in computing systems, specifically addressing the challenge of managing permissions for memory operations using cryptographic keys. The method involves associating a permission level with each cryptographic key, where the permission level determines the type of memory access allowed for operations involving that key. For example, a key may be restricted to read-only access, write-only access, or both read and write operations, depending on its assigned permission level. This ensures that memory operations are performed only within the authorized scope defined by the key's permissions, enhancing security by preventing unauthorized modifications or unauthorized access to memory regions. The method may be applied in systems where multiple keys are used to control access to different memory segments, with each key enforcing its own set of permissions. This approach improves security by enforcing granular access control at the key level, reducing the risk of unauthorized data manipulation or exposure. The invention is particularly useful in environments where secure memory access is critical, such as in embedded systems, secure enclaves, or trusted execution environments.
15. The method of claim 10 , wherein associating includes associating the two or more keys with different permission levels.
A system and method for managing access control in a computing environment involves associating multiple cryptographic keys with different permission levels to regulate access to resources. The method includes generating or obtaining two or more cryptographic keys, each key being linked to a specific permission level that defines the scope of access rights. These keys are then associated with different permission levels, allowing fine-grained control over which operations or resources each key can access. The permission levels may include read-only, write, execute, or other custom-defined access rights, ensuring that each key operates within its designated constraints. This approach enhances security by restricting unauthorized access and preventing privilege escalation. The system may further include validating the keys against the associated permission levels before granting access, ensuring compliance with predefined security policies. The method is applicable in secure data storage, cloud computing, or distributed systems where granular access control is required. By dynamically associating keys with varying permission levels, the system provides flexible and scalable access management while maintaining robust security.
16. The method of claim 10 , further comprising: receiving a deletion command, wherein the deletion command indicates a first key to be deleted; determining if the first key is associated with a value that is also associated with a second key; if so, disassociating the first key from the value, and deleting the first key from a respective key-value descriptor; and if not, deleting a key-value descriptor that includes the first key.
This invention relates to key-value data storage systems, specifically addressing the challenge of efficiently managing and deleting keys in a shared-value environment where multiple keys may reference the same value. The system ensures data integrity and consistency when keys are deleted, particularly when those keys share associations with the same underlying value. When a deletion command is received for a first key, the system checks whether that key is linked to a value that is also associated with a second key. If such a shared association exists, the system disassociates the first key from the value while preserving the value itself, then removes the first key from its respective key-value descriptor. If no other keys reference the value, the system deletes the entire key-value descriptor, including the value, to free up storage space. This approach prevents unintended data loss and maintains referential integrity in key-value storage systems where values may be shared across multiple keys. The method optimizes storage management by dynamically adjusting associations based on key dependencies, ensuring efficient use of resources while preserving data consistency.
17. A system comprising: a processor configured to transmit, to a non-volatile memory device, a multi-association command that associates two or more keys with a common value; and the non-volatile memory device configured to: maintain a key-value index that represents a plurality of key-value descriptors stored within the non-volatile memory device, in response to the multi-association command, associate the two or more keys with the common value, and store, in the non-volatile memory device, a key-value descriptor that includes the two or more keys and either the common value or a pointer to the common value, wherein the key-value descriptor is stored amongst the plurality of key-value descriptors.
This invention relates to a system for efficiently managing key-value associations in non-volatile memory devices. The system addresses the problem of storing and retrieving multiple keys linked to a single value, which is common in databases and storage systems but can be inefficient if handled individually. The system includes a processor and a non-volatile memory device. The processor sends a multi-association command to the memory device, instructing it to link two or more keys to a common value. The memory device maintains a key-value index that tracks all key-value descriptors stored within it. Upon receiving the command, the memory device associates the specified keys with the common value and stores a key-value descriptor that includes the keys and either the common value itself or a pointer to the value. This descriptor is stored alongside other key-value descriptors in the memory device. The approach reduces redundancy by allowing multiple keys to reference the same value, improving storage efficiency and simplifying data management. The system is particularly useful in applications requiring frequent updates or lookups of key-value pairs, such as databases, caching systems, and file storage.
18. The system of claim 17 , wherein the non-volatile memory device comprises a translation layer configured to: maintain the key-value index; and insert the two or more keys into the key-value index, such that the two or more keys are associated with a single instance of the common value.
This invention relates to a non-volatile memory system with an optimized key-value indexing mechanism. The system addresses the challenge of efficiently storing and retrieving data in non-volatile memory, particularly when multiple keys map to a single common value. Traditional key-value storage systems often redundantly store the same value for multiple keys, leading to inefficient memory usage and slower access times. The system includes a non-volatile memory device with a translation layer that manages a key-value index. The translation layer is configured to maintain this index and insert multiple keys into it, ensuring that all keys are associated with a single instance of the common value. This avoids redundant storage of the same value, reducing memory overhead and improving write and read performance. The translation layer dynamically updates the index as new keys are added or existing keys are modified, ensuring consistency and efficiency. The system is particularly useful in applications where multiple keys reference the same data, such as in databases, caching systems, or distributed storage environments. By consolidating the storage of common values, the system enhances storage efficiency and accelerates data retrieval operations. The translation layer may also include additional optimizations, such as compression or caching, to further improve performance.
19. The system of claim 17 , wherein the non-volatile memory device determines a memory address where the two or more keys and common value are to be stored.
A system for managing data storage in non-volatile memory devices addresses the challenge of efficiently storing and retrieving cryptographic keys and associated data. The system includes a non-volatile memory device configured to store two or more cryptographic keys and a common value shared among the keys. The memory device determines a specific memory address where the keys and the common value are to be stored, ensuring organized and accessible data placement. The system may also include a host device that communicates with the memory device to perform operations such as writing, reading, or erasing data. The host device can generate commands to manage the storage of the keys and the common value, while the memory device executes these commands and handles the physical storage operations. The system ensures secure and efficient storage of cryptographic keys and their associated data, reducing the risk of unauthorized access and improving data management in non-volatile memory environments. The memory device's ability to determine storage addresses optimizes performance and reliability in data storage operations.
20. The system of claim 17 , wherein the key-value index includes a binary hash tree data structure.
A system for managing and retrieving data using a key-value index structure is disclosed. The system addresses the challenge of efficiently storing and accessing large datasets by organizing data into key-value pairs, where each key is associated with a unique value. The key-value index is implemented using a binary hash tree data structure, which enhances search performance by reducing the time complexity of lookups, insertions, and deletions. The binary hash tree organizes keys in a hierarchical manner, allowing for faster traversal and retrieval compared to traditional linear search methods. This structure is particularly useful in applications requiring high-speed data access, such as databases, caching systems, and distributed storage solutions. The system may also include additional features such as data compression, encryption, or distributed storage mechanisms to further optimize performance and security. The binary hash tree ensures that operations on the key-value index remain efficient even as the dataset grows, maintaining scalability and reliability.
Unknown
August 20, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.