G06F3/0613

IO Request Flow Performance Analysis System and Method
20230025962 · 2023-01-26 ·

A method, computer program product, and computing system for executing a plurality of IO traces on a storage system. At least one vertical flow and at least one horizontal flow associated with the at least one vertical flow may be defined for the plurality of IO traces. A hierarchical representation of the plurality of IO traces may be generated with the at least one vertical flow and the at least one horizontal flow associated with the at least one vertical flow defined for the plurality of IO traces.

DATA RELAY DEVICE, RELAY CONTROL METHOD, AND STORAGE SYSTEM
20230028617 · 2023-01-26 · ·

A data relay device including: a storage circuit that stores, for each of storages, an upper limit number indicating a number of input/output (I/O) commands that are transmittable; a relay circuit that relays data transmitted and received between one or more control devices and the storages; and a control circuit that performs: counting, for each storage, a number of commands indicating a number of the I/O commands that have been transmitted via the relay circuit and for which no response has been returned from transmission destination storages among the storages; in response to a request to retry transmission of the I/O commands from one storage among the storages, registering a first number in the storage circuit as the upper limit number of commands that corresponds to the one storage, the first number being a number obtained by subtracting one from a counted value of the number of commands.

CACHE MEMORY ARCHITECTURE AND MANAGEMENT

Aspects of the present disclosure relate to data cache management. In embodiments, a logical block address (LBA) bucket is established with at least one logical LBA group. Additionally, at least one LBA group is associated with two or more distinctly sized cache slots based on an input/output (IO) workload received by the storage array. Further, the association includes binding the two or more distinctly sized cache slots with at least one LBA group and mapping the bound distinctly sized cache slots in a searchable data structure. Furthermore, the searchable data structure identifies relationships between slot pointers and key metadata.

Storage block address list entry transform architecture

Aspects include obtaining data to be transformed. A selected transformation to be applied to the data is determined based on a storage block address list entry (SBALE) in a storage block address list (SBAL). The SBALE includes at least one field that is used in determining the selected transformation to be applied. The selected transformation is applied on the data to generate transformed data and the transformed data is placed in a location specified by the SBAL.

STORAGE CONTROLLER, COMPUTATIONAL STORAGE DEVICE, AND OPERATIONAL METHOD OF COMPUTATIONAL STORAGE DEVICE
20230229357 · 2023-07-20 · ·

A computational storage device includes a non-volatile memory (NVM) device; and a storage controller configured to control the NVM device. The storage controller includes: a computation processor configured to execute an internal application to generate an internal command; a host interface circuit configured to receive a host command from an external host device, to receive the internal command from the computation processor, and to individually process the received host command and the received internal command; a flash translation layer (FTL) configured to perform an address mapping operation based on a result of the processing of the host interface circuit; and a memory interface circuit configured to control the NVM device based on the address mapping operation of the FTL.

System and method of data writes and mapping of data for multiple sub-drives

A system and method is disclosed for managing data in a non-volatile memory. The system may include a non-volatile memory having multiple non-volatile memory sub-drives. A controller of the memory system is configured to route incoming host data to a desired sub-drive, keep data within the same sub-drive as its source during a garbage collection operation, and re-map data between sub-drives, separate from any garbage collection operation, when a sub-drive overflows its designated amount logical address space. The method may include initial data sorting of host writes into sub-drives based on any number of hot/cold sorting functions. In one implementation, the initial host write data sorting may be based on a host list of recently written blocks for each sub-drive and a second write to a logical address encompassed by the list may trigger routing the host write to a hotter sub-drive than the current sub-drive.

Congestion Mitigation in a Distributed Storage System

A system comprises a plurality of computing devices that are communicatively coupled via a network and have a file system distributed among them, and comprises one or more file system request buffers residing on one or more of the plurality of computing devices. File system choking management circuitry that resides on one or more of the plurality of computing devices is operable to separately control: a first rate at which a first type of file system requests (e.g., one of data requests, data read requests, data write requests, metadata requests, metadata read requests, and metadata write requests) are fetched from the one or more buffers , and a second rate at which a second type of file system requests (e.g., another of data requests, data read requests, data write requests, metadata requests, metadata read requests, and metadata write requests) are fetched from the one or more buffers.

Orchestrating Distribution of Function as a Service (FaaS) Workloads to Autonomous Storage Systems
20230229322 · 2023-07-20 ·

A Function as a Service (FaaS) distribution system is configured to implement FaaS as a Service (FaaSaaS), enabling autonomous storage systems to be used as FaaS providers during periods where the storage systems are not being used at full capacity to process primary workloads. The FaaS distribution system receives functions from FaaS consumers, and selects a FaaS provider from a set of autonomous storage systems currently able to process FaaS workloads. The FaaS distribution system selects FaaS providers based on an expected execution time of the function and expected execution times of other functions executing on particular FaaS providers, to preferentially select a FaaS provider that is currently running an instance of the function, and to preferentially select a FaaS provider that has other functions that are current executing that are not expected to finish execution at the same time the current function is expected to complete execution.

SELF-INSULATING HIGH BANDWIDTH EXTERNAL MEDIA STORAGE DEVICE

A data storage system including a docking station, and a dockable external data storage device operates in an underwater environment. The dockable external data storage device includes a housing, a memory disposed within the housing to store data, and a connector assembly mounted on the housing. The connector assembly includes at least one optical transmitter configured to transfer data from the memory to a corresponding optical receiver in the docking station. The connector assembly also includes a self-passivating electrical contact configured to transfer electrical power to the dockable external data storage device from a corresponding power contact in the docking station.

Storage device and storage system including the same

A storage device and a storage system including the same are provided. The storage device includes a reference clock pin configured to receive a reference clock signal from a host, a reference clock frequency determination circuitry configured to determine a reference clock frequency from the reference clock signal received through the reference clock pin, and a device controller circuitry configured to perform a high speed mode link startup between the host and the storage device according to the reference clock frequency.