G06F3/061

TECHNIQUES FOR PERFORMING METADATA UPDATES
20230229332 · 2023-07-20 · ·

In at least one embodiment, processing can include receiving a metadata (MD) update for a MD page, wherein the MD update has an associated type; determining whether the type is a custom MD type; responsive to determining the type is a custom MD type, performing first processing including: determining a custom bucket handle for the MD update based at least in part on the type and a logical index (LI) uniquely identifying the MD page; and applying the MD update to a custom bucket associated with the custom bucket handle; and responsive to determining the type is a custom MD type, performing second processing including: determining a regular bucket handle for the MD update based at least in part on the LI of the MD page; and applying the MD update to a regular bucket associated with the regular bucket handle.

STORAGE SYSTEM AND COOPERATION METHOD
20230229330 · 2023-07-20 · ·

There is provided a storage system that can avoid an increase in inter-node communication in the cooperation between file service and block service. The storage system includes a management section that manages a file processing section of a node in a currently active system and a file processing section of a node in a standby system as a pair, sets the file processing section of the node in the currently active system to be operational, manages a block processing section of the node in the currently active system and a block processing section of the node in the standby system as a pair, and sets the block processing section of the node in the currently active system to be operational.

READ-DISTURB-BASED READ TEMPERATURE TIME-BASED ATTENUATION SYSTEM

A read-disturb-based read temperature time-based attenuation system includes a storage device that is coupled to a global read temperature identification subsystem. The storage device determines current read disturb information for data stored in a block in the storage device during a current time period, processes the current read disturb information and previous read disturb information that was determined during at least one previous time period that was prior to the current time period in order to generate a read temperature for the data stored in the block, generates a local logical storage element read temperature map that includes the read temperature, and provides the local logical storage element map to the global read temperature identification subsystem.

INTELLIGENT TARGET ROUTING IN A DISTRIBUTED STORAGE SYSTEM
20230229341 · 2023-07-20 ·

An apparatus includes at least one processing device configured to establish a plurality of paths between at least one initiator of a host device and a plurality of targets of respective storage nodes of a distributed storage system, and for each of a plurality of input-output operations generated in the host device for delivery to the distributed storage system: to access a target lookup service of the host device to determine a particular one of the storage nodes that stores data for a logical storage volume and offset targeted by the input-output operation, to select a particular one of the plurality of paths from the initiator to one of the targets on the particular storage node, and to send the input-output operation to the particular storage node over the selected path. The initiator and the targets are illustratively configured in accordance with a designated standard storage access protocol.

Method and apparatus for presearching stored data
11561715 · 2023-01-24 · ·

A memory module comprises a volatile memory subsystem, a non-volatile memory subsystem, and a module controller coupled to the volatile memory subsystem and to the non-volatile memory subsystem. The module controller is configurable to control data transfers between the volatile memory subsystem and the non-volatile memory subsystem. The module controller includes a data selection circuit configurable to pre-search data transferred from the non-volatile memory with respect to one or more search criteria before providing the pre-select data relevant to the one or more search criteria to the volatile memory subsystem.

Storage allocation enhancement of microservices based on phases of a microservice run

Method and system are provided for storage allocation enhancement of microservices. A method carried out at a microservice orchestrator, includes: identifying distinct phases of a run of a microservice container; categorizing the phases of a run of a microservice container, wherein the categorization defines a predicted storage behavior of the microservice container input/output operations in the phase of the microservice container; and providing the categorization in association with the microservice container input/output operations in the phase to a storage system for use in storage allocation of the input/output operations.

Host controller interface using multiple circular queue, and operating method thereof

A host controller interface configured to provide interfacing between a host device and a storage device includes processing circuitry; a doorbell register configured to store a head pointer and a tail pointer of one or more first queues; and an entry buffer configured to store a first command from one of the one or more first queues in the entry buffer, wherein the processing circuitry is configured to, determine an order in which the commands of the one or more first queues are to be processed, route the first command to be stored in the entry buffer according to the determined order, and route a first response to be stored in one of one or more second queues.

Data integrity protection of SSDs utilizing streams

The present disclosure generally relates to methods of operating storage devices. The storage device comprises a controller comprising first random access memory (RAM1), second random access memory (RAM2), and a storage unit divided into a plurality of streams. When a write command is received to write data to a stream, change log data is generated and stored in the RAM1, the previous delta data for the stream is copied from the RAM2 to the RAM1 to be updated with the change log data, and the updated delta data is copied to the RAM2. The delta data stored in the RAM2 is copied to the storage unit periodically. The controller tracks which delta data has been copied to the RAM2 and to the storage unit. During a power failure, the delta data and the change log data are copied from the RAM1 or the RAM2 to the storage unit.

Deduplication decision based on metrics

Systems and method for implementing deduplication process based on performance analyses. The system may include a processing device to determine a first performance metric associated with retrieving a second stored data block that is within a specified range of a duplicate of the first data block and a second performance metric associated with retrieving a hash value corresponding to the second stored data block. The processing device further to retrieve the second stored data block within a specified range of the duplicate of the first data block in response to the first performance metric not exceeding the second performance metric.

Efficient storage architecture for high speed packet capture
11704063 · 2023-07-18 · ·

An embodiment may involve a network interface module; volatile memory configured to temporarily store data packets received from the network interface module; high-speed non-volatile memory; an interface connecting to low-speed non-volatile memory; a first set of processors configured to perform a first set of operations that involve: (i) reading the data packets from the volatile memory, (ii) arranging the data packets into chunks, each chunk containing a respective plurality of the data packets, and (iii) writing the chunks to the high-speed non-volatile memory; and a second set of processors configured to perform a second set of operations in parallel to the first set of operations, where the second set of operations involve: (i) reading the chunks from the high-speed non-volatile memory, (ii) compressing the chunks, (iii) arranging the chunks into blocks, each block containing a respective plurality of the chunks, and (iv) writing the blocks to the low-speed non-volatile memory.