Patent application number | Description | Published |
20080282245 | Media Operational Queue Management in Storage Systems - A method for media operational queue management in disk storage systems evaluates a plurality of pending storage operations requiring a destage storage operation. A first set of the plurality of pending storage operations is organized in a first array queue grouping (AQG). The AQG is structured such that all of the storage operations are completed within a predefined latency period. A computer-implemented method manages a plurality of pending storage operations in a disk storage system. A pending operation queue is examined to determine a plurality of read and write operations for a first array. A first set of the plurality of read and write operations is grouped into a first array queue grouping (AQG). The first set of the plurality of read and write operations is sent to a redundant array of independent disks (RAID) controller adapter for processing. | 11-13-2008 |
20090006904 | APPARATUS AND METHOD TO CHECK DATA INTEGRITY WHEN HANDLING DATA - An apparatus and method to check integrity when handling data. The method provides a storage array which includes a plurality of sectors. The method defines (N) data state identifiers and (N) parity state identifiers. The method receives a command to handle data, where that command designates a target sector. The method determines the data state identifier assigned to the target sector, determines the parity state identifier assigned to the target sector, and compares the data state identifier and the parity state identifier. If the method determines that the data state identifier and the parity state identifier are the same, the method performs the command to handle data. Alternatively, if the method determines that the data state identifier and the parity state identifier differ, the method generates an error message. | 01-01-2009 |
20090055584 | DETECTION AND CORRECTION OF DROPPED WRITE ERRORS IN A DATA STORAGE SYSTEM - Method, system and computer program product are provided for detecting and correcting dropped writes in a storage system. Data and a checksum are written to a storage device, such as a RAID array. The state of the data is classified as being in a “new data, unconfirmed” state. The state of written data is periodically checked, such as with a timer. If the data is in the “new data, unconfirmed” state, it is checked for a dropped write. If a dropped write has occurred, the state of the data is changed to a “single dropped write confirmed” state and the dropped write error is preferably corrected. If no dropped write is detected, the state is changed to a “confirmed good” state. If the data was updated through a read-modified-write prior to being checked for a dropped write event, its state is changed to an “unquantifiable” state. | 02-26-2009 |
20090055688 | DETECTION AND CORRECTION OF DROPPED WRITE ERRORS IN A DATA STORAGE SYSTEM - Methods are provided for detecting and correcting dropped writes in a storage system. Data and a checksum are written to a storage device, such as a RAID array. The state of the data is classified as being in a “new data, unconfirmed” state. The state of written data is periodically checked, such as with a timer. If the data is in the “new data, unconfirmed” state, it is checked for a dropped write. If a dropped write has occurred, the state of the data is changed to a “single dropped write confirmed” state and the dropped write error is preferably corrected. If no dropped write is detected, the state is, changed to a “confirmed good” state. If the data was updated through a read-modified-write prior to being checked for a dropped write event, its state is changed to an “unquantifiable” state. | 02-26-2009 |
20100251072 | DETECTION AND CORRECTION OF DROPPED WRITE ERRORS IN A DATA STORAGE SYSTEM - A RAID system is provided for detecting and correcting dropped writes in a storage system. Data and a checksum are written to a storage device, such as a RAID array. The state of the data is classified as being in a “new data, unconfirmed” state. The state of written data is periodically checked, such as with a timer. If the data is in the “new data, unconfirmed” state, it is checked for a dropped write. If a dropped write has occurred, the state of the data is changed to a “single dropped write confirmed” state and the dropped write error is preferably corrected. If no dropped write is detected, the state is changed to a “confirmed good” state. If the data was updated through a read-modified-write prior to being checked for a dropped write event, its state is changed to an “unquantifiable” state. | 09-30-2010 |
20110185137 | CONCURRENT COPY OF SYSTEM CONFIGURATION GLOBAL METADATA - Method, system, and computer program product embodiments for concurrent copy of system configuration global metadata in a data storage system are provided. In one exemplary embodiment, a global data rank is quiesced, followed by an unquiesce of the global data rank except for a global metadata area. The global metadata area is updated in memory, and then unquiesced. A current range of the global metadata area to be copied is quiesced. The current range of the global metadata area is copied from a source area to a target area. The current range is unquiesced. The steps of quiescing an additional current range, copying the range from a source area to a target area, and unquiescing the current range continue until the entire global metadata area has been copied. | 07-28-2011 |
20120117349 | SPATIAL EXTENT MIGRATION FOR TIERED STORAGE ARCHITECTURE - Provided are techniques for migrating a first extent, determining a spatial distance between the first extent and a second extent, determining a ratio of a profiling score of the second extent to the spatial distance, and, in response to determining that the ratio exceeds a threshold, migrating the second extent. | 05-10-2012 |
20120144209 | METHODS FOR PROCESS KEY ROLLOVER/RE-ENCRYPTION AND SYSTEMS THEREOF - A method according to one embodiment includes defining a new encryption band with a length that is consistent with a redundant array of inexpensive disks (RAID) parity strip; freeing a working extent in a working stride on the RAID. In an iterative process until each stride in a source band is depleted of data: marking a source extent in a source stride from which to gather data to be re-encrypted; marking parity inconsistent in the working stride in the new encryption band; performing a second iterative process; and freeing the working extent. The second iterative process is performed until each extent in a source stride is depleted of data. Additional systems, methods and computer program products are also presented. | 06-07-2012 |
20120226859 | SPATIAL EXTENT MIGRATION FOR TIERED STORAGE ARCHITECTURE - Provided are techniques for migrating a first extent, determining a spatial distance between the first extent and a second extent, determining a ratio of a profiling score of the second extent to the spatial distance, and, in response to determining that the ratio exceeds a threshold, migrating the second extent. | 09-06-2012 |
20120303890 | WRITING OF NEW DATA OF A FIRST BLOCK SIZE IN A RAID ARRAY THAT STORES BOTH PARITY AND DATA IN A SECOND BLOCK SIZE - A Redundant Array of Independent Disks (RAID) controller receives new data that is to be written, wherein the new data is indicated in blocks of a first block size. The RAID controller reads old data, and old parity that corresponds to the old data, stored in blocks of a second block size that is larger in size than the first block size. The RAID controller computes new parity based on the new data, the old data, and the old parity. The RAID controller writes the new data and the new parity aligned to the blocks of the second block size, wherein portions of the old data that are not overwritten by the RAID controller are also written to the blocks of the second block size. | 11-29-2012 |
20120303892 | WRITING OF NEW DATA OF A FIRST BLOCK SIZE IN A RAID ARRAY THAT STORES BOTH PARITY AND DATA IN A SECOND BLOCK SIZE - A Redundant Array of Independent Disks (RAID) controller receives new data that is to be written, wherein the new data is indicated in blocks of a first block size. The RAID controller reads old data, and old parity that corresponds to the old data, stored in blocks of a second block size that is larger in size than the first block size. The RAID controller computes new parity based on the new data, the old data, and the old parity. The RAID controller writes the new data and the new parity aligned to the blocks of the second block size, wherein portions of the old data that are not overwritten by the RAID controller are also written to the blocks of the second block size. | 11-29-2012 |
20130111106 | PROMOTION OF PARTIAL DATA SEGMENTS IN FLASH CACHE | 05-02-2013 |
20130132801 | ERROR CHECKING ADDRESSABLE BLOCKS IN STORAGE - Provided are a method, system, and article of manufacture for error checking addressable blocks in storage. Addressable blocks of data are stored in a storage in stripes, wherein each stripe includes a plurality of data blocks for one of the addressable blocks and at least one checksum block including checksum data for the addressable block. A write request is received to modify data in one of the addressable blocks. The write and updating the checksum are performed in the stripe having the modified addressable block. An indication is made to perform an error checking operation on the stripe for the modified addressable block in response to the write request, wherein the error checking operation reads the data blocks and the checksum in the stripe to determine if the checksum data is accurate. An error handling operation is initiated in response to determining that the checksum data is not accurate. | 05-23-2013 |
20130145115 | SPATIAL EXTENT MIGRATION FOR TIERED STORAGE ARCHITECTURE - Provided are techniques for migrating a first extent, determining a spatial distance between the first extent and a second extent, determining a ratio of a profiling score of the second extent to the spatial distance, and, in response to determining that the ratio exceeds a threshold, migrating the second extent. | 06-06-2013 |
20130185478 | POPULATING A FIRST STRIDE OF TRACKS FROM A FIRST CACHE TO WRITE TO A SECOND STRIDE IN A SECOND CACHE - Provided are a computer program product, system, and method for managing data in a cache system comprising a first cache, a second cache, and a storage system. A determination is made of tracks stored in the storage system to demote from the first cache. A first stride is formed including the determined tracks to demote. A determination is made of a second stride in the second cache in which to include the tracks in the first stride. The tracks from the first stride are added to the second stride in the second cache. A determination is made of tracks in strides in the second cache to demote from the second cache. The determined tracks to demote from the second cache are demoted. | 07-18-2013 |
20130185494 | POPULATING A FIRST STRIDE OF TRACKS FROM A FIRST CACHE TO WRITE TO A SECOND STRIDE IN A SECOND CACHE - Provided are a computer program product, system, and method for managing data in a cache system comprising a first cache, a second cache, and a storage system. A determination is made of tracks stored in the storage system to demote from the first cache. A first stride is formed including the determined tracks to demote. A determination is made of a second stride in the second cache in which to include the tracks in the first stride. The tracks from the first stride are added to the second stride in the second cache. A determination is made of tracks in strides in the second cache to demote from the second cache. The determined tracks to demote from the second cache are demoted. | 07-18-2013 |
20130205077 | PROMOTION OF PARTIAL DATA SEGMENTS IN FLASH CACHE - For efficient track destage in secondary storage in a more effective manner, for temporal bits employed with sequential bits for controlling the timing for destaging the track in a primary storage, the temporal bits and sequential bits are transferred from the primary storage to the secondary storage. The temporal bits are allowed to age on the secondary storage. | 08-08-2013 |
20140068195 | METHOD TO INCREASE PERFORMANCE OF NON-CONTIGUOUSLY WRITTEN SECTORS - A method of managing data in a cache upon a cache write operation includes determining a number of non-contiguously written sectors on a track in the cache and comparing the number with a threshold number. If the number exceeds the threshold number, a full background stage operation is issued to fill the non-contiguously written sectors with unmodified data from a storage medium and the full track is then destaged. A corresponding system includes a cache manager module operating on the storage subsystem. Upon a determination that a cache write operation on a track has taken place, the cache manager module determines a number of non-contiguously written sectors on the track, compares the number with a predetermined threshold number, issues a background stage operation to fill the non-contiguously written sectors with unmodified data from a storage medium if the number exceeds the threshold number, and then destages the full track. | 03-06-2014 |
20140082318 | Apparatus and Method for Sharing Resources between Storage Devices - A method for allocating resources of a storage system including at least a first and second group of storage devices. The method identifies a first set of resources to be reserved for use by the first group of storage devices, identifies a second set of resources to be reserved for use by the second group of storage devices, and identifies a third set of resources The method then allocates resources from the third set of resources to the first group of storage devices or the second group of storage device according to an allocation algorithm, and restricts use of the first set of resources to the first group of devices and use of the second set of resources to the second group of devices. | 03-20-2014 |
20140101455 | IMPLEMENTING DYNAMIC BANDING OF SELF ENCRYPTING DRIVE - A method and controller for implementing dynamic banding of a storage device, such as a Self Encrypting Device (SED) in a data storage array, and a design structure on which the subject controller circuit resides are provided. The controller dynamically identifies band boundaries for the storage device at the time a data storage array is created, when one or more devices are added into an existing data storage array, and when a replacement device is rebuilt into an exposed array, or an array with a failed device. A storage device band definition is provided based upon the dynamically identified band boundaries for the storage device. | 04-10-2014 |
20140108724 | PREVENTING ACCESS LOSS WHEN DEVICE ADAPTER AFFINITY TO A NODE CHANGES - Provided are a computer implemented method, computer program product, and system for maintaining state information. An available node affiliated with an unavailable device adapter and an unavailable node affiliated with an available device adapter are identified, wherein the available node is assigned a first subset of disk arrays, and wherein the unavailable node is assigned a second subset of disk arrays. The available device adapter is affiliated with the available node. First state information of the first node that describes a state of the first subset of disk arrays is updated with second state information of the second node that describes a state of the second subset of disk arrays. Access to the first subset of disk arrays and the second subset of disk arrays is provided through the available node and the available device adapter using the updated first state information. | 04-17-2014 |
20140115253 | GLOBAL DATA ESTABLISHMENT FOR STORAGE ARRAYS CONTROLLED BY A PLURALITY OF NODES - A plurality of data arrays are coupled to a plurality of nodes via a plurality of adapters. The plurality of adapters discover the plurality of data arrays during startup, and information about the plurality of data arrays are communicated to corresponding local nodes of the plurality of nodes, wherein the local nodes broadcast the information to other nodes of plurality of nodes. A director node of the plurality of nodes determines which data arrays of the plurality of data arrays are a current set of global metadata arrays, based on the broadcasted information. | 04-24-2014 |
20140115309 | VALIDATION OF STORAGE ARRAYS BASED ON INFORMATION STORED IN GLOBAL METADATA - A director node of a plurality of nodes determines a plurality of data arrays, where the plurality of data arrays have been discovered at boot time. The director node determines global metadata information, based on reading boot sectors of at least one of the plurality of data arrays discovered at boot time. A determination is made from the global metadata information as to how many data arrays had been previously configured. In response to determining that the plurality of data arrays discovered at boot time is not equal in number to the previously configured data arrays, the director node determines that all configured data arrays have not been discovered. | 04-24-2014 |
20140208017 | THINLY PROVISIONED FLASH CACHE WITH SHARED STORAGE POOL - For data processing in a computing storage environment by a processor device, the computing storage environment incorporating at least high-speed and lower-speed caches, and managed tiered levels of storage, a Solid State Device (SSD) tier is variably shared between the lower-speed cache and the managed tiered levels of storage such that the managed tiered levels of storage are operational on large data segments, and the lower-speed cache is allocated with the large data segments, yet operates with data segments of a smaller size than the large data segments and within the large data segments. | 07-24-2014 |
20140208021 | THINLY PROVISIONED FLASH CACHE WITH SHARED STORAGE POOL - For data processing in a computing storage environment by a processor device, the computing storage environment incorporating at least high-speed and lower-speed caches, and managed tiered levels of storage, a Solid State Device (SSD) tier is variably shared between the lower-speed cache and the managed tiered levels of storage such that the managed tiered levels of storage are operational on large data segments, and the lower-speed cache is allocated with the large data segments, yet operates with data segments of a smaller size than the large data segments and within the large data segments. | 07-24-2014 |
20150032939 | SEMICONDUCTOR MEMORY GARBAGE COLLECTION - For semiconductor memory garbage collection, an identification module identifies a garbage collection time window for at least one block of a flash memory array. A garbage collection module garbage collects a first block of the flash memory array with a highest garbage collection level and an open garbage collection time window. | 01-29-2015 |
20150095561 | PROMOTION OF PARTIAL DATA SEGMENTS IN FLASH CACHE - For efficient track destage in secondary storage in a more effective manner, for temporal bits employed with sequential bits for controlling the timing for destaging the track in a primary storage, a preference of movement to lower speed cache level is implemented based on at least one of an amount of holes and a data heat metric. If a first bit has at least one of a lower amount of holes and a hotter data heat metric, it is moved to the lower speed cache level ahead of a second bit that has at least one of a higher amount of holes and a cooler data heat. If the first bit has a hotter data heat and greater than a predetermined number of holes, the first bit is discarded. | 04-02-2015 |
20150339194 | MANAGING RAID PARITY STRIPE CONTENTION - For managing RAID parity stripe contention using a processor device in a computing environment, delaying one of a multiplicity of operations overlapping a parity sector in a parity stripe with a currently running operation and serializing each one of the multiplicity of operations overlapping the parity sector. | 11-26-2015 |
20150347318 | THINLY PROVISIONED FLASH CACHE WITH SHARED STORAGE POOL - For data processing in a computing storage environment by a processor device, the computing storage environment incorporating at least high-speed and lower-speed caches, and managed tiered levels of storage, a Solid State Device (SSD) tier is variably shared between the lower-speed cache and the managed tiered levels of storage such that the managed tiered levels of storage are operational on large data segments, and the lower-speed cache is allocated with the large data segments, yet operates with data segments of a smaller size than the large data segments and within the large data segments, where if selected data segments are cached in the lower-speed cache and are determined to become uniformly hot, the selected group from the lower-speed cache are migrated to the SSD tier. | 12-03-2015 |
Patent application number | Description | Published |
20080250200 | SYSTEM AND PROGRAM FOR DEMOTING TRACKS FROM CACHE - Provided are a method, system, and program for destaging a track from cache to a storage device. The destaged track is retained in the cache. Verification is made of whether the storage device successfully completed writing data. Indication is made of destaged tracks eligible for removal from the cache that were destaged before the storage device is verified in response to verifying that the storage device is successfully completing the writing of data. | 10-09-2008 |
20080256420 | ERROR CHECKING ADDRESSABLE BLOCKS IN STORAGE - Provided are a method, system, and article of manufacture for error checking addressable blocks in storage. Addressable blocks of data are stored in a storage in stripes, wherein each stripe includes a plurality of data blocks for one of the addressable blocks and at least one checksum block including checksum data derived from the data blocks for the addressable block. A write request is received to modify data in one of the addressable blocks. The write and updating the checksum are performed in the stripe having the modified addressable block. An indication is made to perform an error checking operation on the stripe for the modified addressable block in response to the write request, wherein the error checking operation reads the data blocks and the checksum in the stripe to determine if the checksum data is accurate. An error handling operation is initiated in response to determining that the checksum data is not accurate. | 10-16-2008 |
20090177838 | APPARATUS AND METHOD TO ACCESS DATA IN A RAID ARRAY - A method to access a data in a RAID array comprising a plurality of data storage media, wherein information is written to said plurality of data storage media using a RAID configuration, wherein the method receives from a requester a command comprising a data access priority indicator. If a RAID rebuild is in progress, the method determines if the data access priority indicator is set. If the data access priority indicator is set, the method executes a command selected from the group consisting of writing information to the target logical block array range, and returning to the requestor information read from the target logical block array range. | 07-09-2009 |
20090187786 | PARITY DATA MANAGEMENT SYSTEM APPARATUS AND METHOD - An apparatus for parity data management receives a write command and write data from a computing device. The apparatus also builds a parity control structure corresponding to updating a redundant disk array with the write data and stores the parity control structure in a persistent memory buffer of the computing device. The apparatus also updates the redundant disk array with the write data in accordance with a parity control map and restores the RAID controller parity map from the parity control structure as part of a data recovery operation if updating the redundant disk array with the write data is interrupted by a RAID controller failure resulting in a loss of the RAID controller parity map. In certain embodiments, the parity control structure is a RAID controller parity map. | 07-23-2009 |
20090319700 | USING DEVICE STATUS INFORMATION TO TAKEOVER CONTROL OF DEVICES ASSIGNED TO A NODE - Provided are a method, system, and article of manufacture for using device status information to takeover control of devices assigned to a node. A first processing unit communicates with a second processing unit. The first processing unit uses a first device accessible to both the first and second processing units and the second processing unit uses a second device accessible to both the first and second processing units. The first processing unit receives status on the second device from the first device indicating whether the second device is available or unavailable. The first processing unit detects a failure of the second processing unit and determines from the received status on the second device whether the first device is available in response to detecting the failure of the second processing unit. The first processing unit configures the second device for use by the first processing unit in response to determining that the received status on the second device indicates that the second device is available and in response to detecting the failure. | 12-24-2009 |
20100211821 | APPARATUS AND METHOD TO MANAGE REDUNDANT NON-VOLATILE STORAGE BACKUP IN A MULTI-CLUSTER DATA STORAGE SYSTEM - An apparatus and method to manage redundant non-volatile storage (“NVS”) data backups in a data storage system comprising (n) clusters, wherein each cluster comprises a processor and a cache, and wherein each cache comprises a first NVS portion and a second NVS portion, wherein the method configures, for each value of (i), a primary NVS backup for an (i)th cluster, where that (i)th primary NVS backup comprises a first NVS portion of a cache disposed in an (i+1)th modulo (n) cluster, wherein (i) is greater than or equal to 0 and less than (n). The method further configures, for each value of (i), a secondary NVS backup for an (i)th cluster, where that (i)th secondary NVS backup comprises a second NVS portion of a cache disposed in an (i+2)th modulo (n) cluster. | 08-19-2010 |
20130262919 | SYSTEMS AND METHODS FOR PREVENTING DATA LOSS - For preventing data loss in storage systems, a detection is made that a storage device in a plurality of storage devices is experiencing a malfunction. The type of malfunction is determined. A SMART rebuilding technique, a normal building technique, a data migration technique, or a user data backup technique is selected to preserve the data in the storage device based on the determined type of the malfunction. The selected technique is performed on the storage device. | 10-03-2013 |
20130262921 | SYSTEMS AND METHODS FOR PREVENTING DATA LOSS - For preventing data loss in storage systems, a detection is made that a storage device in a plurality of storage devices is experiencing a malfunction. The type of malfunction is determined. A SMART rebuilding technique, a normal building technique, a data migration technique, or a user data backup technique is selected to preserve the data in the storage device based on the determined type of the malfunction. The selected technique is performed on the storage device. | 10-03-2013 |