G06F2212/284

Cache release command for cache reads in a memory sub-system
11188473 · 2021-11-30 · ·

A memory device includes a page cache comprising a cache register, a memory array configured with a plurality of memory planes, and control logic, operatively coupled with the memory array. The control logic receives, from a requestor, a first cache read command requesting first data from the memory array spread across the plurality of memory planes, and returns, to the requestor, data associated with a first subset of the plurality of memory planes and pertaining to a previous read command, while concurrently copying data associated with a second subset of the plurality of memory planes and pertaining to the previous read command into the cache register. The control logic further receives, from the requestor, a cache release command, and returns, to the requestor, the data associated with the second subset of the plurality of memory planes and pertaining to the previous read command, while concurrently copying data associated with the first subset of the plurality of memory planes and pertaining to the first cache read command into the cache register.

Method and Apparatus for Cache Slot Allocation Based on Data Origination Location or Final Data Destination Location
20210365379 · 2021-11-25 ·

Operational information in a storage system is collected regarding storage media storage tiers, devices, drives, tracks on drives, and logical storage layers, to determine an estimated amount of time it will take to write data from cache to the intended drive when a new write operation arrives at the storage system. This information is then used to decide which type of cache is most optimal to store the data for the write operation, based on the estimated amount of time it will take to write data out from the cache. By allocating cache slots from a faster cache to write operations that are expected to quickly be written out to memory, and allocating cache slots from the slower cache to write operations that are expected to take more time to be written out to memory, it is possible to increase the availability of the cache slots in the faster cache.

Data caching method and apparatus

Disclosed in the present disclosure is a data caching method and apparatus, the data caching method includes the following steps: receiving a data request message sent by a user terminal; if detecting that a cache apparatus does not include the target access data requested by the data request message, then sending the target access data in a storage apparatus to the user terminal; extracting parameter information of the target access data in the storage apparatus, and determining whether the parameter information matches a preset parameter condition; and, if the parameter information matches the preset parameter condition, then transmitting the target access data to the cache apparatus.

Method and Apparatus for Accessing Caches in Clustered Storage Systems
20210357333 · 2021-11-18 ·

A clustered storage system includes a plurality of storage devices, each of which contributes a portion of its memory to form a global cache of the clustered storage system that is accessible by the plurality of storage devices. Cache metadata for accessing the global cache may be organized in a multi-layered structure. In one embodiment, multi-layered structure has a first layer first including a first address array, and the first address array include addresses pointing to a plurality of second address arrays in a second layer. Each second address array in the second layer includes addresses, each of which points to data that has been cached in the global cache.

Optimized use of processor memory for I/O operations
11176063 · 2021-11-16 · ·

A system may include a plurality processing cores for processing I/O operations and at least one interconnect component for communicatively coupling one or more external components to the plurality of processing cores. The at least one interconnect component may be directly physically connected to each of the plurality of processing cores. The interconnect component may route I/O operations to one of the processing cores based on a memory range of the I/O operation. An I/O communication including an I/O operation may be received at the interconnect component. The memory address range of the I/O operation may be determined. A processing core corresponding to the determined memory address range of the I/O operation may be determined, for example, by accessing a data structure that maps address ranges to processing cores. An I/O communication including the I/O operation may be sent from the interconnect component to the determined processing core.

Aggregated cache supporting dynamic ratios in a vSAN architecture

In vSAN (virtual Storage Area Network) systems, pooled storage resources may be organized into logical disk groups. One drive of a disk group may be designated for caching storage operations directed at the remaining drives of the disk group that provide permanent storage. Each cache drive is partitioned into an allocation for read operations and an allocation for write operations. Embodiments provide the vSAN system with use of virtual cache that is backed by the cache drives of each disk group in the vSAN system. Embodiments adjust the cache memory allocations for individual cache drives of each disk group, while utilizing the virtual cache that adheres to a fixed cache allocation ratio required by the vSAN system. The number and type of cache misses by each of the individual cache drives is monitored and used to adjust the sizes of the read and write cache allocations in each cache drive.

System and method of determining available bandwidth in disaggregated tiered cache for cloud content storage

A content provider system includes: a repository to store a catalog of content; a storage device pool to load content from among the catalog of content from the repository into one or more storage devices of the storage device pool; a first hosted device communicably connected to the storage device pool, and to execute the content stored in the storage device pool to provide the content to a first user device; a second hosted device communicably connected to the storage device pool, and to execute the content stored in the storage device pool to provide the content to a second user device; and one or more processing circuits to identify an available storage device from among the one or more storage devices of the storage device pool for serving a requested content to a requesting device from among the first and second hosted devices.

Method and system for storage virtualization
11775432 · 2023-10-03 · ·

A system and method for providing storage virtualization (SV) is disclosed. According to one embodiment, a system includes a storage device having a tier 1 cache and a Tier 2 storage, an operating system and a file system having a Tier 0 memory cache that stores application data. The Tier 0 memory cache synchronizes the application data with the tier 1 cache and the Tier 2 storage.

Consistent file system semantics with cloud object storage

Techniques described herein relate to systems and methods of data storage, and more particularly to providing layering of file system functionality on an object interface. In certain embodiments, file system functionality may be layered on cloud object interfaces to provide cloud-based storage while allowing for functionality expected from a legacy applications. For instance, POSIX interfaces and semantics may be layered on cloud-based storage, while providing access to data in a manner consistent with file-based access with data organization in name hierarchies. Various embodiments also may provide for memory mapping of data so that memory map changes are reflected in persistent storage while ensuring consistency between memory map changes and writes. For example, by transforming a ZFS file system disk-based storage into ZFS cloud-based storage, the ZFS file system gains the elastic nature of cloud storage.

Storage system including storage nodes to determine cache allocations to implement cache control

To improve performance of a storage system. The storage system includes a plurality of storage nodes that communicate via a network. Each of the plurality of storage nodes includes one or more controllers. At least one controller in the controllers specifies at least two controllers that allocate a cache sub-area where write data is stored based on a controller that receives the write data from a host and a controller that processes the write date, and the cache sub-area is allocated in the specified controllers.