G06F2212/463

Preserving application data order in memory devices

A system and method for reordering data blocks received from a zone of a memory device. An example method includes sending, by a host system to a memory sub-system comprising a memory device, a plurality of write commands; receiving, by the host system from the memory sub-system, block allocation metadata, wherein the block allocation metadata references one or more locations in the memory device corresponding to a zone; generating, by the host system, a reorder map based on the block allocation metadata; reading a plurality of data blocks associated with the zone; and reordering, by the host system, the plurality of data blocks based on the reorder map.

Security of dynamic I/O virtualization system having a bidirectional extended hybrid address space (EHAS) for allowing host kernel to access guest memory
11822945 · 2023-11-21 · ·

A system and method for providing dynamic I/O virtualization is herein disclosed. According to one embodiment, a device capable of performing hypervisor-agnostic and device-agnostic I/O virtualization includes a host computer interface, memory, I/O devices (GPU, disk, NIC), and efficient communication mechanisms for virtual machines to communicate their intention to perform I/O operations on the device. According to one embodiment, the communication mechanism may use shared memory. According to some embodiments, the device may be implemented purely in hardware, in software, or using a combination of hardware and software. According to some embodiments, the device may share its memory with guest processes to perform optimizations including but not limited to a shared page cache and a shared heap.

VIRTUAL FILE SYSTEM FOR CLOUD-BASED SHARED CONTENT

A server in a cloud-based environment interfaces with storage devices that store shared content accessible by two or more users. Individual items within the shared content are associated with respective object metadata that is also stored in the cloud-based environment. Download requests initiate downloads of instances of a virtual file system module to two or more user devices associated with two or more users. The downloaded virtual file system modules capture local metadata that pertains to local object operations directed by the users over the shared content. Changed object metadata attributes are delivered to the server and to other user devices that are accessing the shared content. Peer-to-peer connections can be established between the two or more user devices. Object can be divided into smaller portions such that processing the individual smaller portions of a larger object reduces the likelihood of a conflict between user operations over the shared content.

Technologies for predictive file caching and synchronization

Technologies for predictive caching include a computing device to receive sensor data generated by one or more sensors of the computing device and determine a device context of the computing device based on the sensor data. Based on the device context, the computing device determines a file to cache that has similar characteristics to another file recently accessed by a user of the computing device. The computing device includes a file cache with a first partition to store files identified to have similar characteristics to files recently accessed by a user and a second partition to store files identified based on access patterns of the user. The computing device stores the determined file to the first partition.

Purgeable memory mapped files
11450372 · 2022-09-20 · ·

A device implementing purgeable memory mapped files includes at least one processor configured to receive a first request to store a first data object in volatile memory in association with a copy of the first data object stored in non-volatile memory, the first request indicating to lock the copy in the non-volatile memory. The processor is further configured to provide for storing the first data object in the volatile memory, and lock the copy stored in the non-volatile memory. The processor is further configured to receive a second request associated with clearing a portion of the non-volatile memory, provide an indication that a second data object is available for deletion from the non-volatile memory when the first data object is locked, and provide an indication that the first data object is available for deletion from the non-volatile memory when the first data object has been unlocked.

Method and system for targeted pre-caching of data

A method for providing targeted pre-caching of data is disclosed. The method includes receiving a user login that includes an account identifier; automatically identifying a subset of the data previously accessed by the user using an activity log and the account identifier; generating a copy of the subset of the data; associating the copy with the subset of the data by linking the subset of the data with the copy; and storing the copy in a temporary file store. The method further includes receiving a request from the user for the subset of the data and displaying the copy on a graphical user interface.

Management method of cache files in storage space and recording device for storing cache files

A management method of cache files in storage space, adapted to a storage space storing a plurality of cache files, the management method comprises: forming a cache file status list which records a plurality of file names and a plurality of file status; determining whether a storage condition of the storage space is in a healthy condition; assigning a plurality of corresponding tags to the plurality of file status when the storage condition is not in the healthy condition, and forming a sorted cache file list; and deleting the last file name from the sorted cache file list and the cache file from the storage space corresponding to the file name, wherein the sorted cache file list records the file names which are sorted from a file name of a cache file that should be kept most to another file name of another cache file that should be deleted most.

MAINTAINING A CACHED VERSION OF A FILE AT A ROUTER DEVICE

A router device may receive, from a user device, a request for access to a file. The router device may determine that a cached version of the file is stored in a first data structure associated with the router device. The router device may communicate with a server device to determine whether the cached version of the file is current. The server device may be associated with a second data structure that stores a master version of the file. The router device may generate a copy of the cached version of the file based on communicating with the server device. The router device may send the copy of the cached version of the file to the user device.

MAINTAINING A CACHED VERSION OF A FILE AT A ROUTER DEVICE

A router device may receive a copy of a file. The router device may identify metadata associated with the copy of the file. The router device may process the metadata to identify a priority position in a first data structure associated with the router device. The router device may cause a copy of the file to be stored as a cached version of the file at the priority position in the first data structure. The router device may generate a copy of the cached version of the file. The router device may send the copy of the cached version of the file to a user device.

Security of Dynamic I/O Virtualization
20220056130 · 2022-02-24 ·

A system and method for providing dynamic I/O virtualization is herein disclosed. According to one embodiment, a device capable of performing hypervisor-agnostic and device-agnostic I/O virtualization includes a host computer interface, memory, I/O devices (GPU, disk, NIC), and efficient communication mechanisms for virtual machines to communicate their intention to perform I/O operations on the device. According to one embodiment, the communication mechanism may use shared memory. According to some embodiments, the device may be implemented purely in hardware, in software, or using a combination of hardware and software. According to some embodiments, the device may share its memory with guest processes to perform optimizations including but not limited to a shared page cache and a shared heap.