Accesses between a processor and its external memory is reduced when the processor internally maintains a compressed version of values stored in the external memory. The processor can then refer to the compressed version rather than access the external memory. One compression technique involves maintaining a dictionary on the processor mapping portions of a memory to values. When all of the values of a portion of memory are uniform (e.g., the same), the value is stored in the dictionary for that portion of memory. Thereafter, when the processor needs to access that portion of memory, the value is retrieved from the dictionary rather than from external memory. Techniques are disclosed herein to extend, for example, the capabilities of such dictionary-based compression so that the amount of accesses between the processor and its external memory are further reduced.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
2. The computer-implemented method of claim 1, wherein the first value is encoded in one, two, four, eight, or sixteen bytes.
The invention relates to data encoding techniques for computer systems, specifically addressing the efficient storage and transmission of numerical values. The method involves encoding a first value in a variable-length format, where the value can be represented using one, two, four, eight, or sixteen bytes. This approach optimizes memory usage and processing efficiency by dynamically selecting the smallest possible byte size that can accurately represent the value without loss of precision. The encoding process ensures compatibility with standard data types while minimizing overhead. The method is particularly useful in systems where memory and bandwidth are constrained, such as embedded devices, real-time data processing, or large-scale distributed systems. By allowing flexible byte allocation, the technique reduces unnecessary storage and transmission of zero or redundant bits, improving overall system performance. The encoded values can be decoded back to their original form using a corresponding decoding process, ensuring data integrity. This variable-length encoding method is applicable to various data types, including integers, floating-point numbers, and other numerical representations, making it versatile for different computational environments. The invention enhances efficiency in data handling without compromising accuracy or compatibility with existing systems.
3. The computer-implemented method of claim 1, wherein the first value represents a pixel, texel, depth, neural network weight, or neural network activation.
This invention relates to a computer-implemented method for processing data values in various computational domains, such as graphics rendering, neural networks, or other data-intensive applications. The method addresses the challenge of efficiently handling different types of data values, including pixels, texels, depth values, neural network weights, and neural network activations, which often require specialized processing to optimize performance, accuracy, or memory usage. The method involves determining a first value representing a pixel, texel, depth value, neural network weight, or neural network activation. This value is processed using a computational technique tailored to its type, such as interpolation, quantization, normalization, or activation functions. The processing may include applying mathematical operations, transformations, or mappings to the value to prepare it for further use in rendering, training, or inference tasks. The method ensures compatibility with different data types by dynamically adapting the processing steps based on the nature of the value, improving efficiency and reducing computational overhead. Additionally, the method may involve generating a second value derived from the first value, which could be used for subsequent operations like rendering, machine learning model training, or data visualization. The technique ensures that the processed values maintain their integrity and relevance in their respective domains, whether in graphics pipelines, neural network architectures, or other computational workflows. The invention enhances performance by optimizing how these diverse data types are handled, reducing redundancy and improving accuracy in applications requiring high-precision data processing.
4. The computer-implemented method of claim 1, wherein the memory locations associated with each of the plurality of granules are contiguous.
This invention relates to memory management in computing systems, specifically addressing the challenge of efficiently organizing and accessing data in memory. The method involves dividing data into multiple granules, where each granule is a discrete unit of data storage. A key feature is that the memory locations assigned to each granule are contiguous, meaning they are stored in a continuous block of memory without gaps. This contiguous allocation improves performance by reducing memory fragmentation, enhancing data access speed, and simplifying memory management. The method ensures that each granule is stored in a dedicated, uninterrupted memory segment, which can be particularly beneficial for applications requiring high-speed data processing or real-time access. By maintaining contiguous memory locations for each granule, the system avoids the overhead associated with scattered memory allocation, leading to more efficient use of memory resources. This approach is useful in systems where predictable performance and low-latency access are critical, such as in embedded systems, real-time computing, or high-performance data processing environments. The contiguous memory allocation for granules also facilitates easier memory management, as it simplifies tasks like memory allocation, deallocation, and garbage collection. Overall, the invention provides a structured and efficient way to organize data in memory, improving both performance and resource utilization.
5. The computer-implemented method of claim 1, wherein one or more of the plurality of granules is associated with a tile of a texture bitmap, wherein the texture bitmap is divided into multiple tiles.
This invention relates to computer graphics and texture mapping, specifically addressing the challenge of efficiently managing and processing texture data in real-time rendering systems. The method involves dividing a texture bitmap into multiple tiles, where each tile corresponds to one or more granules of texture data. Granules are discrete units of texture information that can be processed independently, allowing for parallel or optimized handling. By associating granules with specific tiles, the system enables selective loading, caching, or manipulation of texture portions, improving memory efficiency and rendering performance. This approach is particularly useful in applications requiring dynamic texture updates, such as video games or virtual reality, where only certain regions of a texture may need frequent access. The method ensures that texture data is organized in a way that minimizes redundant processing and maximizes hardware utilization, such as GPU memory bandwidth. The granularity of the texture data allows for fine-grained control over texture updates, reducing latency and improving responsiveness in interactive environments. The invention optimizes texture management by leveraging tile-based partitioning, enabling efficient texture streaming and caching strategies.
7. The computer-implemented method of claim 1, further comprising, for each index in the table, maintaining an index count of the granules in the plurality of granules that reference the index.
This invention relates to data indexing and retrieval systems, specifically addressing the challenge of efficiently tracking and managing references to indices in a database. The method involves a table that stores indices, where each index is associated with a set of data granules (smaller units of data). For each index in the table, the system maintains an index count, which represents the number of granules in the dataset that reference that particular index. This count helps monitor the usage and relevance of each index, enabling optimizations such as pruning unused indices or prioritizing frequently accessed ones. The method ensures that the index count is dynamically updated as granules are added, removed, or modified, maintaining accurate reference tracking. This approach improves database performance by reducing redundant indexing and enhancing query efficiency. The system may also include mechanisms to validate the integrity of the index counts, ensuring consistency between the stored counts and the actual references in the granules. The invention is particularly useful in large-scale databases where efficient indexing is critical for performance.
8. The computer-implemented method of claim 7, further comprising replacing a second value stored in the table with the second uniform value based on the index count corresponding to the second value and the count for the second uniform value.
This invention relates to data processing systems that manage and transform data values in a table. The problem addressed is the need to efficiently replace multiple distinct values in a table with a smaller set of uniform values while maintaining data integrity and minimizing computational overhead. The method involves analyzing a table containing multiple distinct values and determining an index count for each distinct value. Based on these counts, the method selects a set of uniform values to replace the distinct values. The replacement process involves mapping each distinct value to a corresponding uniform value based on the index count. The method further includes replacing a second distinct value in the table with a second uniform value, where the replacement is based on the index count of the second distinct value and the count associated with the second uniform value. This ensures that the replacement process is consistent and optimized for performance. The technique is particularly useful in databases and data processing applications where value normalization is required to improve data consistency and reduce storage requirements.
13. The computer-implemented method of claim 1, wherein a second granule in the plurality of granules is associated with a second table and cannot reference the table and the first granule cannot reference the second table.
This invention relates to database management systems, specifically addressing the challenge of maintaining data integrity and avoiding circular references in partitioned database tables. The method involves organizing data into granules, where each granule is a logical partition of a table. A granule is assigned to a specific table and cannot reference another table or another granule that references a different table. This ensures that data dependencies remain within their respective partitions, preventing circular references and simplifying data management. The method enforces strict isolation between granules, where a granule associated with one table cannot interact with granules from other tables. This approach improves data consistency, reduces the risk of corruption, and simplifies query optimization by eliminating cross-table dependencies. The system dynamically assigns granules to tables based on predefined rules, ensuring that all data operations adhere to the partitioning constraints. This method is particularly useful in large-scale databases where maintaining data integrity and performance is critical.
14. The computer-implemented method of claim 1, wherein each granule in the plurality of granules is associated with the table.
A system and method for managing data storage and retrieval in a database environment addresses the challenge of efficiently organizing and accessing large datasets. The invention involves partitioning data into discrete units called granules, where each granule is linked to a specific table within the database. These granules serve as containers for storing data records, metadata, or other relevant information, enabling optimized data management. The granules may be dynamically generated, modified, or deleted based on system requirements, ensuring flexibility in data handling. By associating each granule with a table, the system enhances data integrity, simplifies retrieval processes, and improves overall performance. The method further includes mechanisms for tracking granule relationships, ensuring that data dependencies are maintained and accessed efficiently. This approach is particularly useful in distributed or cloud-based database systems where scalability and efficient data access are critical. The invention also supports granular-level operations, such as indexing, compression, or encryption, to further optimize storage and retrieval performance. The system dynamically adjusts granule sizes and configurations to adapt to changing data loads and access patterns, ensuring consistent performance under varying conditions.
18. The system of claim 15, wherein the processor is further configured to, for each index in the table, maintain an index count of the granules in the plurality of granules that reference the index.
The system relates to data indexing and management in a computing environment, specifically addressing the challenge of efficiently tracking and managing references to indices in a table. The system includes a processor configured to maintain a table of indices, where each index corresponds to a set of granules (data units) that reference it. For each index in the table, the processor tracks an index count, which represents the number of granules in a plurality of granules that reference that particular index. This count helps monitor the usage and relevance of each index, allowing for optimized data management, such as identifying underutilized indices for cleanup or reindexing. The system ensures efficient data retrieval and storage by dynamically adjusting index references based on the index count, improving overall system performance and resource utilization. The processor may also update the index count in real-time as granules are added, removed, or modified, ensuring accurate and up-to-date tracking of index references. This approach enhances data integrity and reduces redundancy in large-scale data systems.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
May 5, 2020
November 29, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.