Patent application number | Description | Published |
20130067161 | METHODS AND STRUCTURE FOR TASK MANAGEMENT IN STORAGE CONTROLLERS OF A CLUSTERED STORAGE SYSTEM - Methods and structure for task management in storage controllers of a clustered storage system. An initiator storage controller of the clustered storage system ships I/O requests for processing to a target storage controller of the system. Responsive to a need to abort a previously shipped I/O request, the initiator storage controller transmits a task management message to the target storage controller. The task management message identifies one or more previously shipped I/O requests to be aborted. The target storage controller processes the received task management message in due course of processing requests and completes processing for the aborted previously shipped request in an orderly manner. Resources associated with the aborted previously shipped requests are release within both controllers. | 03-14-2013 |
20130067163 | METHODS AND STRUCTURE FOR TRANSFERRING OWNERSHIP OF A LOGICAL VOLUME BY TRANSFER OF NATIVE-FORMAT METADATA IN A CLUSTERED STORAGE ENVIRONMENT - Methods and systems for transferring ownership of a logical volume in a storage system comprising multiple storage controllers is provided. According to the method, the storage controllers are coupled for communication with a logical volume, wherein at least one storage device coupled with the storage controllers implements the logical volume. The method comprises identifying, at a first storage controller, a second storage controller to receive the logical volume. The method also comprises initiating a transfer of ownership of the logical volume from the first storage controller to the second storage controller by transferring metadata stored in a memory of the first storage controller to the second storage controller, the metadata existing in a native format that describes the configuration of the logical volume on the at least one storage device. | 03-14-2013 |
20130067274 | METHODS AND STRUCTURE FOR RESUMING BACKGROUND TASKS IN A CLUSTERED STORAGE ENVIRONMENT - Methods and structure for resuming background tasks in a storage environment. storage controller. The system is operable to receive host Input/Output (I/O) requests directed to a logical volume, and to couple with one or more of storage devices provisioning the logical volume. The system is further operable to process the host I/O requests directed to the logical volume, to initiate a background processing task distinct from the host I/O requests and related to the logical volume, and to store progress information on at least one of the one or more storage devices describing progress of the background processing task. | 03-14-2013 |
20150347013 | Using Sub-Region I/O History to Cache Repeatedly Accessed Sub-Regions in a Non-Volatile Storage Device - Systems, methods and/or devices are used to enable using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests including read requests and write requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including, for each sub-region of a plurality of sub-regions of the region: (a) determining whether the sub-region is accessed more than a predetermined threshold number of times during a predetermined time period, and (b) if so, caching, from a storage medium of the storage device to a cache of the storage device, data from the sub-region. | 12-03-2015 |
20150347028 | Real-TIme I/O Pattern Recognition to Enhance Performance and Endurance of a Storage Device - Systems, methods and/or devices are used to enable real-time I/O pattern recognition to enhance performance and endurance of a storage device. In one aspect, the method includes (1) at a storage device, receiving from a host a plurality of input/output (I/O) requests, the I/O requests specifying operations to be performed in a plurality of regions in a logical address space of the host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) maintaining a history of I/O request patterns in the region for a predetermined time period, and (b) using the history of I/O request patterns in the region to adjust subsequent I/O processing in the region. | 12-03-2015 |
20150347029 | Identification of Hot Regions to Enhance Performance and Endurance of a Non-Volatile Storage Device - Systems, methods and/or devices are used to enable identification of hot regions to enhance performance and endurance of a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region is accessed by the plurality of I/O requests more than a predetermined threshold number of times during a predetermined time period, (b) if so, marking the region with a hot region indicator, and (c) while the region is marked with the hot region indicator, identifying open blocks associated with the region, and marking each of the identified open blocks with a hot block indicator. | 12-03-2015 |
20150347040 | Using History of I/O Sizes and I/O Sequences to Trigger Coalesced Writes in a Non-Volatile Storage Device - Systems, methods and/or devices are used to enable using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region has a history of I/O requests to access data of size less than a predefined small-size threshold during a predetermined time period, (b) determining whether the region has a history of sequential write requests during the predetermined time period, and (c) if both determinations are true, coalescing subsequent write requests to the region. | 12-03-2015 |
20150347041 | Using History of I/O Sequences to Trigger Cached Read Ahead in a Non-Volatile Storage Device - Systems, methods and/or devices are used to enable using history of I/O sequences to trigger cached read ahead in a non-volatile storage device. In one aspect, the method includes (1) receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region has a history of sequential read requests during a predetermined time period, and (b) in accordance with a determination that the region has a history of sequential read requests during the predetermined time period, enabling read ahead logic for the region. | 12-03-2015 |
20150347296 | Prioritizing Garbage Collection and Block Allocation Based on I/O History for Logical Address Regions - Systems, methods and/or devices are used to enable prioritizing garbage collection and block allocation based on I/O history for logical address regions. In one aspect, the method includes (1) receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host, (2) in accordance with the plurality of I/O requests over a predetermined time period, identifying an idle region of the plurality of regions in the logical address space of the host, and (3) in accordance with the identification of the idle region, enabling garbage collection of data storage blocks, in the storage device, that store data in the idle region. | 12-03-2015 |