G06F12/1018

Methods, systems, and product for twisted tabulation

Methods, systems, and products describe a robust solution for the dictionary problem of data structures. A hash function based on tabulation is twisted to utilize an additional xoring operation and a shift. This twisted tabulation offers strong robustness guarantees over a set of queries in both linear probing and chaining.

Snapshot efficiency

In one aspect, a method includes receiving a request to write to an offset in a first logical device, determining a second logical device that wrote to the offset, the second logical device being an ancestor of the first logical device in a hierarchical tree of snapshots, determining from decedents of the second logical device in the hierarchical tree whether data in the offset of the second logical device is shadowed data or partially shadowed data, removing address-to-hash mapping for the offset of the second logical device if the data for the offset is shadowed and moving address-to-hash mapping to a single descendent of the second logical device if the data for the offset is partially shadowed.

Snapshot efficiency

In one aspect, a method includes receiving a request to write to an offset in a first logical device, determining a second logical device that wrote to the offset, the second logical device being an ancestor of the first logical device in a hierarchical tree of snapshots, determining from decedents of the second logical device in the hierarchical tree whether data in the offset of the second logical device is shadowed data or partially shadowed data, removing address-to-hash mapping for the offset of the second logical device if the data for the offset is shadowed and moving address-to-hash mapping to a single descendent of the second logical device if the data for the offset is partially shadowed.

Migrating Pages of Memory Accessible by Input-Output Devices
20220308755 · 2022-09-29 ·

An electronic device includes a memory, a processor that executes a software entity, a page migration engine (PME), and an input-output memory management unit (IOMMU). The software entity and the PME perform operations for preparing to migrate a page of memory that is accessible by at least one IO device in the memory, the software entity and the PME set migration state information in a page table entry for the page of memory and information in reverse map table (RMT) entries involved with migrating the page of memory based on the operations being performed. The IOMMU controls usage of information from the page table entry and controls performance of memory accesses of the page of memory based on the migration state information in the page table entry and information in the RMT entries. When the operations for preparing to migrate the page of memory are completed, the PME migrates the page of memory in the memory.

Dynamic Hash Table Size Estimation During Database Aggregation Processing
20170228373 · 2017-08-10 ·

Disclosed herein are system, method, and computer program product embodiments for database aggregation optimization. An embodiment operates by receiving data from a main memory. Within a cache, a first hash table comprising an aggregate hash of a first portion of the data is generated. A second portion of data is partitioned into one or more of partitions. Within the cache, one or more intermediate hash tables are generated. A first hash table is aggregated based on the one or more intermediate hash tables. At least a portion of the data of the final hash table is provided responsive to a query.

STORAGE CONTROLLER, STORAGE DEVICE, DATA PROCESSING METHOD, AND COMPUTER PROGRAM PRODUCT

According to an embodiment, a storage controller comprises a circuitry configured to implement an address generator, a reader, and a duplication detector. The address generator is configured to generate a scan address indicating each storage area of a storage that stores therein externally written data, according to a particular scan pattern for defining an order of an address of data to be read. The reader is configured to read data from the storage area of the storage indicated by the scan address. The duplication detector is configured to detect whether the data read by the reader is a duplicate of any one of a past predetermined number of pieces of data.

MEMORY ENCRYPTION FOR VIRTUAL MACHINES BY HYPERVISOR-CONTROLLED FIRMWARE
20220035648 · 2022-02-03 ·

Systems and methods for encryption support for virtual machines. An example method may comprise initializing, by a firmware module associated with a virtual machine running on a host computer system, an exclusion range register associated with the virtual machine with a value specifying a first portion of guest memory, wherein the first portion of the guest memory comprises an exclusion range marked as reserved; encrypting, by the firmware using an ephemeral encryption key, a second portion of the guest memory; booting, by a hypervisor of the host computer system, the virtual machine; and responsive to intercepting, by the hypervisor, a privileged instruction executed by the virtual machine, performing at least one of: copying data for performing the privileged instruction to the first portion of the guest memory or copying data for performing the privileged instruction from the first portion of the guest memory.

MEMORY ENCRYPTION FOR VIRTUAL MACHINES BY HYPERVISOR-CONTROLLED FIRMWARE
20220035648 · 2022-02-03 ·

Systems and methods for encryption support for virtual machines. An example method may comprise initializing, by a firmware module associated with a virtual machine running on a host computer system, an exclusion range register associated with the virtual machine with a value specifying a first portion of guest memory, wherein the first portion of the guest memory comprises an exclusion range marked as reserved; encrypting, by the firmware using an ephemeral encryption key, a second portion of the guest memory; booting, by a hypervisor of the host computer system, the virtual machine; and responsive to intercepting, by the hypervisor, a privileged instruction executed by the virtual machine, performing at least one of: copying data for performing the privileged instruction to the first portion of the guest memory or copying data for performing the privileged instruction from the first portion of the guest memory.

Apparatus and methods for authenticating cyber secure control system configurations using distributed ledgers

Control systems and methods for securely authenticating and validating a control system. The control system may include a plurality of dependent control nodes and master control nodes. Each dependent control node is communicatively coupled to one or more peripheral devices. Each control node maintains a unit level distributed ledger, where each unit level distributed ledger includes information from corresponding peripheral devices. Each control node may transmit a portion of the unit level distributed ledger to a master control node. Each master control node may maintain a system level distributed ledger that includes information from the corresponding unit level distributed ledgers. Each master node may transmit a portion of the system level distributed ledger to a central node that maintains a separate secure distributed ledger. The master node may authenticate the control system based on the received portion of the system level distributed ledgers and the secure distributed ledgers.

Apparatus and methods for authenticating cyber secure control system configurations using distributed ledgers

Control systems and methods for securely authenticating and validating a control system. The control system may include a plurality of dependent control nodes and master control nodes. Each dependent control node is communicatively coupled to one or more peripheral devices. Each control node maintains a unit level distributed ledger, where each unit level distributed ledger includes information from corresponding peripheral devices. Each control node may transmit a portion of the unit level distributed ledger to a master control node. Each master control node may maintain a system level distributed ledger that includes information from the corresponding unit level distributed ledgers. Each master node may transmit a portion of the system level distributed ledger to a central node that maintains a separate secure distributed ledger. The master node may authenticate the control system based on the received portion of the system level distributed ledgers and the secure distributed ledgers.