Patent application number | Description | Published |
20080282105 | DATA INTEGRITY VALIDATION IN STORAGE SYSTEMS - Data validation systems and methods are provided. Data is recorded in N data chunks on one or more storage mediums. A first validation chunk independently associated with said N data chunks comprises first validation information for verifying accuracy of data recorded in said N data chunks. The first validation chunk is associated with a first validation appendix comprising second validation information, wherein the first validation appendix is stored on a first storage medium independent of said one or more storage mediums. | 11-13-2008 |
20090089760 | COMPUTER PROGRAM PRODUCT OF CODE COVERAGE UTILIZING EFFICIENT DYNAMIC MUTATION OF LOGIC (EDML) - A computer program product for code coverage utilizing efficient dynamic mutation of logic (EDML) are provided. A source code is read, and instrumentation points are located. Self Modifying Code (SMC) is inserted at the instrumentation points producing instrumented code. Additional functions are inserted in the source code to enable read and/or reset of code coverage statistics. The instrumented code is compiled, and executables are run for a period of time during which zero or more instrumentation points are executed. In response to executing instrumentation points, instructions are executed to record execution of the instrumented code. Instructions of the instrumented code overwrite themselves at certain points so that a next execution of the instrumentation points skips over the instrumented code at the certain points. Code coverage statistics are gathered and recorded. The code coverage statistics are reset to begin another period of time for gathering code coverage statistics. | 04-02-2009 |
20090089771 | METHOD OF CODE COVERAGE UTILIZING EFFICIENT DYNAMIC MUTATION OF LOGIC (EDML) - A method and computer program product for code coverage utilizing efficient dynamic mutation of logic (EDML) are provided. A source code is read, and instrumentation points are located. Self Modifying Code (SMC) is inserted at the instrumentation points producing instrumented code. Additional functions are inserted in the source code to enable read and/or reset of code coverage statistics. The instrumented code is compiled, and executables are run for a period of time during which zero or more instrumentation points are executed. In response to executing instrumentation points, instructions are executed to record execution of the instrumented code. Instructions of the instrumented code overwrite themselves at certain points so that a next execution of the instrumentation points skips over the instrumented code at the certain points. Code coverage statistics are gathered and recorded. The code coverage statistics are reset to begin another period of time for gathering code coverage statistics. | 04-02-2009 |
20100217752 | DATA INTEGRITY VALIDATION IN STORAGE SYSTEMS - Data validation systems and methods are provided. Data is recorded in N data chunks on one or more storage mediums. A first validation chunk independently associated with said N data chunks comprises first validation information for verifying accuracy of data recorded in said N data chunks. The first validation chunk is associated with a first validation appendix comprising second validation information, wherein the first validation appendix is stored on a first storage medium independent of said one or more storage mediums. | 08-26-2010 |
20110093648 | ACHIEVING A HIGH THROUGHPUT IN A STORAGE CACHE APPLICATION USING A FLASH SOLID STATE DISK - According to one embodiment, a method for using flash memory in a storage cache comprises receiving data to be cached in flash memory of a storage cache, at least some of the received data being received from at least one of a host system and a storage medium, selecting a block of the flash memory for receiving the data, buffering the received data until sufficient data has been received to fill the block, and overwriting existing data in the selected block with the buffered data. According to another embodiment, a method comprises receiving data, at least some of the data being from a host system and/or a storage medium, and sequentially overwriting sequential blocks of the flash memory with the received data. Other devices and methods for working with flash memory in a storage cache according to various embodiments are included and described herein. | 04-21-2011 |
20110185233 | AUTOMATED SYSTEM PROBLEM DIAGNOSING - Embodiments of the invention relate to automated system problem diagnosing. An index is created with problem description information of previously diagnosed problems, a diagnosis for each problem, and a solution to each diagnosis. System states, traces and logs are extracted from a source system with a new problem. The problem diagnosis system generates problem description information of the new problem from the system states, traces and logs. Problem description information of the new problem is compared with problem description information in the problem description index. A search score is computed for each document in the problem description index. The search score is a measure of similarity between each document in the index and the description of the new problem. A matching score is assigned to each previously diagnosed problems based on the search score. The matching score is a measure of similarity between the new problem and each previously diagnosed problem. The system determines a diagnosis and solution of the new problem based on a diagnosis and solution of one of the previously diagnosed problems. | 07-28-2011 |
20110320687 | REDUCING WRITE AMPLIFICATION IN A CACHE WITH FLASH MEMORY USED AS A WRITE CACHE - Embodiments of the invention are directed to reducing write amplification in a cache with flash memory used as a write cache. An embodiment of the invention includes partitioning at least one flash memory device in the cache into a plurality of logical partitions. Each of the plurality of logical partitions is a logical subdivision of one of the at least one flash memory device and comprises a plurality of memory pages. Data are buffered in a buffer. The data includes data to be cached, and data to be destaged from the cache to a storage subsystem. Data to be cached are written from the buffer to the at least one flash memory device. A processor coupled to the buffer is provided with access to the data written to the at least one flash memory device from the buffer, and a location of the data written to the at least one flash memory device within the plurality of logical partitions. The data written to the at least one flash memory device are destaged from the buffer to the storage subsystem. | 12-29-2011 |
20120102350 | Reducing Energy Consumption and Optimizing Workload and Performance in Multi-tier Storage Systems Using Extent-level Dynamic Tiering - Embodiments of the invention relate to reducing energy consumption and optimizing workload and performance in multi-tier storage systems using extent-level dynamic tiering. An aspect of the invention includes a receiving data access information of a storage extent stored in a storage system and utilization information of storage devices in the storage system. The storage system includes a plurality of storage tiers and each of the plurality of storage tiers is made up of a plurality of storage devices. Storage resources required for each of the plurality of the storage tiers to satisfy the storage extent's performance and capacity requirements are estimated based on the data access information. One storage tier that would incur the lowest power consumption to the storage system for satisfying the storage extent's performance and capacity requirements is determined. The one storage tier is determined by calculating the amount of power that would be consumed by the storage extent in each of the plurality of storage tiers based on the estimated storage resources. At least one storage device in the one storage tier that has available storage resources that would satisfy the storage extent's performance and capacity requirements is determined based on the data access information and utilization information. The storage extent is allocated to the one storage tier and to one storage device (among the at least one storage device) that has the least amount of available storage capacity. | 04-26-2012 |
20120297113 | OPTIMIZED FLASH BASED CACHE MEMORY - Embodiments of the invention relate to throttling accesses to a flash memory device. The flash memory device is part of a storage system that includes the flash memory device and a second memory device. The throttling is performed by logic that is external to the flash memory device and includes calculating a throttling factor responsive to an estimated remaining lifespan of the flash memory device. It is determined whether the throttling factor exceeds a threshold. Data is written to the flash memory device in response to determining that the throttling factor does not exceed the threshold. Data is written to the second memory device in response to determining that the throttling factor exceeds the threshold. | 11-22-2012 |
20120297127 | OPTIMIZED FLASH BASED CACHE MEMORY - Embodiments of the invention relate to throttling accesses to a flash memory device. The flash memory device is part of a storage system that includes the flash memory device and a second memory device. The throttling is performed by logic that is external to the flash memory device and includes calculating a throttling factor responsive to an estimated remaining lifespan of the flash memory device. It is determined whether the throttling factor exceeds a threshold. Data is written to the flash memory device in response to determining that the throttling factor does not exceed the threshold. Data is written to the second memory device in response to determining that the throttling factor exceeds the threshold. | 11-22-2012 |
20130013941 | ON-DEMAND STORAGE SYSTEM ENERGY SAVINGS - Embodiments of the invention relate to dynamic power management of storage volumes and disk arrays in a storage subsystem to mitigate loss of performance resulting from the power management. The volumes and arrays are prioritized, and in real-time power is selectively reduced in response to both the prioritization and an energy savings goal. A feedback loop is provided to dynamically measure associated power gain based upon a lowering of power consumption, and device selection may be adjusted based upon received feedback. | 01-10-2013 |
20130013943 | ON-DEMAND STORAGE SYSTEM ENERGY SAVINGS - Embodiments of the invention relate to dynamic power management of storage volumes and disk arrays in a storage subsystem to mitigate loss of performance resulting from the power management. The volumes and arrays are prioritized, and in real-time power is selectively reduced in response to both the prioritization and an energy savings goal. A feedback loop is provided to dynamically measure associated power gain based upon a lowering of power consumption, and device selection may be adjusted based upon received feedback. | 01-10-2013 |
20130054873 | STORAGE SYSTEM CACHE USING FLASH MEMORY WITH DIRECT BLOCK ACCESS - Embodiments of the invention enable a storage cache, comprising flash memory devices, to have direct block access to the flash such that the physical block addresses are presented to the storage system's cache layer, which thereby controls the storage cache data stream. An aspect of the invention includes a caching storage system. The caching storage system comprises a plurality of flash memory units organized in an array configuration. Each of the plurality of flash memory units includes at least one flash memory device and a flash unit controller. Each flash unit controller provides the caching storage system with direct physical block access to its corresponding at least one flash memory device. The caching storage system further comprises a storage cache controller. The storage cache controller selects physical block address locations (within a flash memory device) to be erased where data are to be written, issues erase commands to a flash unit controller corresponding to the selected physical block address locations, and issues page write operations to a set of erase blocks. | 02-28-2013 |
20130132655 | REDUCING WRITE AMPLIFICATION IN A CACHE WITH FLASH MEMORY USED AS A WRITE CACHE - Embodiments of the invention are directed to reducing write amplification in a cache with flash memory used as a write cache. An embodiment of the invention includes partitioning at least one flash memory device in the cache into a plurality of logical partitions. Each of the plurality of logical partitions is a logical subdivision of one of the at least one flash memory device and comprises a plurality of memory pages. Data are buffered in a buffer. The data includes data to be cached, and data to be destaged from the cache to a storage subsystem. Data to be cached are written from the buffer to the at least one flash memory device. A processor coupled to the buffer is provided with access to the data written to the at least one flash memory device from the buffer, and a location of the data written to the at least one flash memory device within the plurality of logical partitions. The data written to the at least one flash memory device are destaged from the buffer to the storage subsystem. | 05-23-2013 |
20130198449 | MULTI-TIER STORAGE SYSTEM CONFIGURATION ADVISER - Embodiments of the invention relate to providing configuration options for optimizing storage extent placement in multi tiered storage systems. In one aspect of the invention, In one embodiment, a configuration adviser provides configuration options for a multi-tiered storage system that includes a number of different storage tiers, each of which include storage devices of a particular storage type. Data access information for storage extents to be stored in the storage system are received. Resource information for available storage tiers in the storage system to place the storage extents on are also received. A cost incurred by the storage system for placing each of the storage extents on each of the storage tiers is determined. Each storage extent is assigned to a particular one of the storage tiers that would incur the lowest cost to the storage system for storing the storage extent. For each storage tier, a minimum number of storage devices are selected, within the assigned storage tier, that would satisfy data access and capacity requirements for all storage extents assigned to that tier. | 08-01-2013 |
20140115251 | Reducing Memory Overhead of Highly Available, Distributed, In-Memory Key-Value Caches - Maintaining high availability of objects for both read and write transactions. Secondary copies of cached objects are created and maintained on disks of a secondary caching node and in remote data storage. In response to an update request, the secondary copies of cached objects are updated. Secondary cached objects are synchronously invalidated in response to the update request, and the update is asynchronously propagated to a secondary caching node. | 04-24-2014 |
20140173185 | Write Performance in Fault-Tolerant Clustered Storage Systems - Embodiments of the invention relate to supporting transaction data committed to a stable storage. Committed data in the cluster is stored in the persistent cache layer and replicated and stored in the cache layer of one or more secondary nodes. One copy is designated as a master copy and all other copies are designated as replica, with an exclusive write lock assigned to the master and a shared write lock extended to the replica. An acknowledgement of receiving the data is communicated following confirmation that the data has been replicated to each node designated to receive the replica. Managers and a director are provided to support management of the master copy and the replicas within the file system, including invalidation of replicas, fault tolerance associated with failure of a node holding a master copy, recovery from a failed node, recovered of the file system from a power failure, and transferring master and replica copies within the file system. | 06-19-2014 |
20140173326 | Write Performance in Fault-Tolerant Clustered Storage Systems - Embodiments of the invention relate to supporting transaction data committed to a stable storage. Committed data in the cluster is stored in the persistent cache layer and replicated and stored in the cache layer of one or more secondary nodes. One copy is designated as a master copy and all other copies are designated as replica, with an exclusive write lock assigned to the master and a shared write lock extended to the replica. An acknowledgement of receiving the data is communicated following confirmation that the data has been replicated to each node designated to receive the replica. Managers and a director are provided to support management of the master copy and the replicas within the file system, including invalidation of replicas, fault tolerance associated with failure of a node holding a master copy, recovery from a failed node, recovered of the file system from a power failure, and transferring master and replica copies within the file system. | 06-19-2014 |