G06F12/1018

Preemptive guest merging for virtualization hypervisors

Aspects of the present invention provide a solution for managing memory. A method according to an embodiment includes: prior to any storage of a page in the memory: analyzing the page to compute an identifier for the page based on characteristics of the page; and comparing the computed identifier with other identifiers of other pages currently stored in the memory to find an identical page, wherein a match between the computed identifier and the identifier of one of the other pages currently stored in memory indicates that the page corresponding to the computed identifier and the other page corresponding to the matching identifier are identical; storing, in the case that an identical page is found, a link to the identical page in a portion of the memory; and storing, in case that the identical page is not found, the page in the portion of the memory and storing the identifier.

Preemptive guest merging for virtualization hypervisors

Aspects of the present invention provide a solution for managing memory. A method according to an embodiment includes: prior to any storage of a page in the memory: analyzing the page to compute an identifier for the page based on characteristics of the page; and comparing the computed identifier with other identifiers of other pages currently stored in the memory to find an identical page, wherein a match between the computed identifier and the identifier of one of the other pages currently stored in memory indicates that the page corresponding to the computed identifier and the other page corresponding to the matching identifier are identical; storing, in the case that an identical page is found, a link to the identical page in a portion of the memory; and storing, in case that the identical page is not found, the page in the portion of the memory and storing the identifier.

Method for controlling access of cache through using programmable hashing address and related cache controller

A method for controlling access of a cache includes at least following steps: receiving a memory address; utilizing a hashing address logic to perform a programmable hash function upon at least a portion of the memory address to generate a hashing address; and determining an index of the cache based at least partly on the hashing address.

Method for controlling access of cache through using programmable hashing address and related cache controller

A method for controlling access of a cache includes at least following steps: receiving a memory address; utilizing a hashing address logic to perform a programmable hash function upon at least a portion of the memory address to generate a hashing address; and determining an index of the cache based at least partly on the hashing address.

Efficient and Dynamically Sized Reverse Map to Handle Variable Size Data
20170255388 · 2017-09-07 ·

A system comprising a processor and a memory storing instructions that, when executed, cause the system to receive a data stream including one or more data blocks; determine a size of the one or more data blocks; determine a number of mappings needed for a physical block based on the size of a data block and a size of the physical block, the number of mappings being variable for different physical blocks depending on the size of the one or more data blocks storing in the physical block; retrieve a dynamically sized reverse map, the dynamically sized reverse map being a dynamic tree structure; determine a starting location in the dynamically sized reverse map for mappings of the one or more data blocks; and create an entry for the physical block in the dynamically sized reverse map.

Memory manager having an address translation function, data processing structure including the same, and method for generating address translation information
11397689 · 2022-07-26 · ·

A memory manager includes an internal memory and a hash function circuit. The internal memory includes a V2H (virtual address to hash function) table and an exception mapping table. The V2H table stores at least one virtual address group and a type information on a hash function mapped to the virtual address group. The exception mapping table stores at least one exception virtual address not translated into a physical address by the hash function in the virtual address group and a physical address mapped to the exception virtual address. The has function circuit checks, when a virtual address is provided from a host, type information on a hash function mapped to a virtual address group including the virtual address, by referring to the V2H table included in the internal memory. The has function translates the virtual address into a physical address by using the hash function corresponding to the type information.

Memory manager having an address translation function, data processing structure including the same, and method for generating address translation information
11397689 · 2022-07-26 · ·

A memory manager includes an internal memory and a hash function circuit. The internal memory includes a V2H (virtual address to hash function) table and an exception mapping table. The V2H table stores at least one virtual address group and a type information on a hash function mapped to the virtual address group. The exception mapping table stores at least one exception virtual address not translated into a physical address by the hash function in the virtual address group and a physical address mapped to the exception virtual address. The has function circuit checks, when a virtual address is provided from a host, type information on a hash function mapped to a virtual address group including the virtual address, by referring to the V2H table included in the internal memory. The has function translates the virtual address into a physical address by using the hash function corresponding to the type information.

Method and System for Providing Pre-Approved A/A Data Buckets

The present teaching generally relates to detecting providing pre-validated data buckets for online experiments. In a non-limiting embodiment, user activity data representing user activity for a first plurality of user identifiers may be obtained. A first set of values and a second values, representing first and second user engagement parameters, respectively, may be generated for each user identifier based on the user activity data. A first ranking and a second ranking may be determined for the first and second sets, respectively. A first exclusion range including a first number of values to be removed from the first and second sets may be determined. A homogenous value set may be generated by removing the first number of values from the first and second sets, where each value from the homogenous value set corresponds to a user identifier available to be placed in a data bucket for an online experiment.

Method and System for Providing Pre-Approved A/A Data Buckets

The present teaching generally relates to detecting providing pre-validated data buckets for online experiments. In a non-limiting embodiment, user activity data representing user activity for a first plurality of user identifiers may be obtained. A first set of values and a second values, representing first and second user engagement parameters, respectively, may be generated for each user identifier based on the user activity data. A first ranking and a second ranking may be determined for the first and second sets, respectively. A first exclusion range including a first number of values to be removed from the first and second sets may be determined. A homogenous value set may be generated by removing the first number of values from the first and second sets, where each value from the homogenous value set corresponds to a user identifier available to be placed in a data bucket for an online experiment.

Hash tables in flash memory

Systems and methods for managing content in a flash memory. Systems and methods for implementing hash tables in a flash memory are disclosed. A hash table may include a flat array or an array of buckets that are each associated with a linked list. Adding or removing entries from the hash table or from the linked list are achieved by performing an overwrite operation where possible to pointers affected by the table operation.