Patent classifications
G06F3/061
Method, device and computer program product for storage
Techniques involve determining the number of disks in a Redundant Array of Independent Disks (RAID) storage system, and the storage system comprises multiple types of mixed disks. The techniques further involve determining a target number of RAID sets to be allocated in the storage system according to the number of disks and a predetermined threshold, and then allocating the multiple types of disks to the RAID sets according to the target number and types of disks. Such techniques propose a way to allocate mixed disks to the corresponding RAID sets. When the RAID set grouping is performed to mixed disks of the storage system, the same type of disks are allocated in the same RAID set as much as possible, thereby improving the performance of the storage system.
USING DRIVE COMPRESSION IN UNCOMPRESSED TIER
In a storage system such as a SAN, NAS, or storage array that implements hierarchical performance tiers based rated drive access latency, on-drive compression is used on data stored on a first tier and off-drive compression is used on data stored on a second tier. Off-drive compression is more processor intensive and may introduce some data access latency but reduces storage requirements. On-drive compression is performed at or near line speed but generally yields lower size reduction ratios than off-drive compression. On-drive compression may be implemented at a higher performance tier whereas off-drive compression may be implemented at a lower performance tier. Further, space saving realized from on-drive compression may be applied to over-provisioning.
REQUEST MANAGER FRAMEWORK
Techniques for managing sequencing requests for storage node operations based on types of operations being sequenced. The techniques manage sequencing requests for different types of operations, such as backup and recovery operations, replication operations, migration operations, and so on, in a manner that avoids overwhelming storage node capacity. The techniques include receiving a sequencing request for an operation of a specified operation type at a request manager of a storage node and determining whether a capacity of the storage node is available for running the operation by a capacity manager for the specified operation type, in which the capacity manager is provided by a storage client and implemented on the storage node separate from the request manager. In this way, throttling, limiting, and/or prioritization requirements of the operation of the specified operation type can be defined by the storage client in a manner agnostic to the request manager.
DIFFERENTIATED WORKLOAD TELEMETRY
In an approach for generating differentiated workload telemetry data, a processor corresponds one or more services with a workload related telemetry generating an event emitter. A processor performs a correlation analysis of corresponding relationship and connection among connected resources and current traffic into and out of the one or more services. A processor labels domain context for each telemetry event. A processor communicates each telemetry event to a global event handler. A processor performs a cross-correlation in real-time of telemetry data with the global event handler. A processor updates a real-time differentiated workload report.
Distribution of quantities of an increased workload portion into buckets representing operations
In some examples, a computing system receives an indication of an increased workload portion to be added to a workload of a storage system, the workload comprising buckets of operations of different characteristics. The computing system computes, based on quantities of operations of the different characteristics in the workload, factor values that indicate distribution of operations of the increased workload portion to the buckets of operations of the different characteristics, and distributes, according to the factor values, the operations of the increased workload portion into the buckets of operations of the different characteristics.
STORAGE DEVICE AND METHOD OF OPERATION THEREOF
A storage device, including a printed circuit board including a connector including a plurality of pins capable of being coupled to an external host device, a controller socket, a first slot, a second slot, a third slot, and a fourth slot; a first universal flash storage (UFS) device, a second UFS device, a third UFS device, and a fourth UFS device, wherein each UFS device of the first to fourth UFS devices is removably installed in a corresponding slot of the first to fourth slots; and a storage controller mounted in the controller socket, and configured to control the first to fourth UFS devices, wherein the first UFS device and the second UFS device are configured to communicate with the storage controller through a first channel, and the third UFS device and the fourth UFS device are configured to communicate with the storage controller through a second channel
Data processing engine arrangement in a device
A device may include a plurality of data processing engines. Each of the data processing engines may include a memory pool having a plurality of memory banks, a plurality of cores each coupled to the memory pool and configured to access the plurality of memory banks, a memory mapped switch coupled to the memory pool and a memory mapped switch of at least one neighboring data processing engine, and a stream switch coupled to each of the plurality of cores and to a stream switch of the at least one neighboring data processing engine.
Data storage device and operating method thereof
A data storage device includes a shared command queue, a queue controller, a processor, and a memory. The command queue is configured to queue a plurality of jobs transmitted from a plurality of host processors. The queue controller is configured to classify the plurality of jobs into a plurality of levels of jobs according to priority threshold values and assign jobs of the plurality of levels of jobs the processor. The processor is configured to process the jobs assigned by the queue controller. The memory may store data needed to process the job.
Dynamic performance tuning based on implied data characteristics
Techniques for improving system performance based on data characteristics are disclosed. A system may receive updates to a first data set at a first frequency. The system selects a first storage configuration, from a plurality of storage configurations, for storing the first data set based on the first frequency, and stores the first data set in accordance with the first storage configuration. The system may further receive updates to a second data set at a second frequency. The system selects a second storage configuration, from the plurality of storage configurations, for storing the second data set based on the second frequency, and stores the second data set in accordance with the second storage configuration. The second storage configuration is different than the first storage configuration.
Dynamic data placement for collision avoidance among concurrent write streams
A memory sub-system configured to dynamically generate a media layout to avoid media access collisions in concurrent streams. The memory sub-system can identify plurality of media units that are available to write data concurrently, select commands from the plurality of streams for concurrent execution in the available media units, generate and store a portion of a media layout dynamically in response to the commands being selected for concurrent execution in the plurality of media units, and executing the selected commands concurrently by storing data into the memory units according to physical addresses to which logical addresses used in the selected commands are mapped in the dynamically generated portion of the media layout.