Patent application number | Description | Published |
20080222401 | METHOD AND SYSTEM FOR ENABLING STATE SAVE AND DEBUG OPERATIONS FOR CO-ROUTINES IN AN EVENT-DRIVEN ENVIRONMENT - A method of enabling state save and debug operations for co-routines for first failure data capture (FFDC) in an event-driven environment. A stack management utility allocates space for a context structure, which includes a state field, and a stack pointer in a buffer. A context management utility initializes a first context structure of a first co-routine and saves a state of the first context structure in response to an execution request for a second co-routine. The context management utility sets a second context structure as a current context. When execution of the current context is complete, the context management utility restores the first context structure of the first co-routine as the current context. If the state field is not set to a valid value, a state save function “state saves” all allocated co-routine stacks and context structures, restores the entire system to a previous valid state, and restarts operations. | 09-11-2008 |
20080276226 | DEVICE, METHOD AND COMPUTER PROGRAM PRODUCT FOR EVALUATING A DEBUGGER SCRIPT - A method for evaluating a debugger script, the method includes: (i) receiving a debugger script that includes a first debugger breakpoint that is associated with a certain program line number; and determining a validity of the first debugger breakpoint in response to a comparision between expected content associated with the first debugger breakpoint and between an actual content of at least a portion of a certain program line group that comprises a certain program line identified by the certain program line number. | 11-06-2008 |
20090049251 | SPLITTING WRITES BETWEEN A STORAGE CONTROLLER AND REPLICATION ENGINE - Provided are a method, system, and article of manufacture for splitting writes between a storage controller and replication engine. A splitter executing in a storage controller manages access to primary volumes. An initialization command is received to communicate with a replication engine. A replication command is received for one primary volume and the primary volume is indicated as subject to replication. A write request is received to write data to a target primary volume of the primary volumes that is indicated as subject to the replication. The data in the write request is written to the target primary volume. The data in the write request is sent to the replication engine. The replication engine executes a copy services function associated with the target primary volume to write the data to a replication engine volume. | 02-19-2009 |
20090049252 | REPLICATION ENGINE COMMUNICATING WITH A SPLITTER TO SPLIT WRITES BETWEEN A STORAGE CONTROLLER AND REPLICATION ENGINE - Provided are a method, system, and article of manufacture for a replication engine communicating with a splitter to split writes between a storage controller and replication engine. Communication is initiated with the splitter implemented in a storage controller managing access to primary volumes. A command is sent to the splitter to copy writes to one primary volume to the replication engine. Write data is received from the splitter to one of the primary volumes following the splitter receiving the command to copy the writes to the replication engine. A determination is made of a copy services function to use for the received data. The determined copy services function is invoked to transfer the received data to a secondary storage volume. | 02-19-2009 |
20090055832 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR EVALUATNG A TEST OF AN ALTERNATIVE SYSTEM - A method for checking an alternative system test, the method includes: determining a relationship between (i) utilization of resources during an execution of a group of programs by a first system when operating in a non-testing mode and (ii) utilization of resources during an executive of an alternative system test by the alternative system; wherein the alternative system test comprises at least on program of the group of programs. | 02-26-2009 |
20090070383 | IDEMPOTENT STORAGE REPLICATION MANAGEMENT - A method for managing operations in a data storage system comprising at least a first storage controller operating according to a plurality of operation states set by a managing entity is provided. The method comprises the first storage controller performing a first operation associated with a first operation state, in response to the managing entity updating state information stored in a data structure readable by the first storage controller. | 03-12-2009 |
20090150626 | DETERMINING WHETHER TO USE A FULL VOLUME OR REPOSITORY FOR A LOGICAL COPY BACKUP SPACE - Provided are a method, system, and article of manufacture for determining whether to use a full volume or repository for a logical copy backup space. A determination is made of a source volume to backup using a logical copy operation. The logical copy operation is completed upon indicating the source volume data to backup. During a logical copy duration, point-in-time data in the source volume as of a point-in-time when the logical copy was established is copied to a backup space in response to receiving an update to the point-in-time data. A history of writes to the source volume is processed to determine whether to allocate a full target volume as the backup space providing a corresponding data unit for each data unit in the source volume or allocate a repository as the backup space, wherein the repository uses less storage space than the full target volume. The logical copy operation using the determined full target volume or repository as the backup space is initiated. | 06-11-2009 |
20090150627 | DETERMINING WHETHER TO USE A REPOSITORY TO STORE DATA UPDATED DURING A RESYNCHRONIZATION - Provided are a method, system, and article of manufacture for determining whether to use a repository to store data updated during a resynchronization. Writes to a primary storage are transferred to a secondary storage. A logical copy of the secondary storage as of a point-in-time is established. Writes to the secondary storage in the logical copy received from the primary storage during a logical copy duration after the point-in-time are stored in a repository that comprises less storage space than the secondary storage in the logical copy. The transferring of writes to the secondary storage is suspended. During the suspension writes to the primary storage are indicated in an out-of-synch data structure. A determination is made as to as to whether available storage space in the repository is sufficient to store writes transferred from the secondary storage while transferring the writes from the out-of-synch data structure in response to ending the suspension of the transferring of writes from the primary to the secondary storages. The repository is used to store data in the secondary storage as of the point-in-time that is to be updated by writes transferred from the primary storage following the ending of the suspension in response to determining that the available storage space in the repository is sufficient to store writes transferred from the secondary storage while transferring the writes indicated in the out-of-synch data structure. | 06-11-2009 |
20090187613 | ARTICLE OF MANUFACTURE AND SYSTEM FOR FAST REVERSE RESTORE - Techniques are provided for performing a copy operation. A fast reverse restore command indicating a new source and a new target is received, wherein the new source is an original target and the new target is an original source. A synchronous scan is performed on the new target. A new target structure associated with the new target is updated using a new source structure associated with the new source. Techniques are also provided for performing a copy operation in which a fast reverse restore command is received after an instant virtual copy has been performed from a new target to a new source and wherein the fast reverse restore command is performed before a background copy has been performed by the instant virtual copy. | 07-23-2009 |
20090204946 | INTELLIGENT SOFTWARE CODE UPDATER - A method for modifying executable logic code stored on a computing system is provided. The method comprises assessing a risk level associated with modifying a first code block and assessing an urgency level associated with modifying the first code block and then evaluating whether the first code block should be modified. | 08-13-2009 |
20090210643 | System, Method and Computer Program Product for Generating a Consistent Point in Time Copy of Data - Generating a consistent point in time copy of data in a source volume and a target volume is achieved responsively to a first data modification request by writing a first altered version of the data onto a single source volume, asynchronously transferring the first altered version from the first storage site to a target volume located at a remote second storage site, while avoiding copying the first altered version onto other volumes at the first storage site. While asynchronously transferring the first altered version de-queuing a second modification request, and responsively to the second modification request synchronously transferring the first altered version from the first storage site to the target volume. Then a second altered version of the data is written to the single source volume and a copy transferred to the target volume in like manner. | 08-20-2009 |
20090216954 | APPARATUS, SYSTEM, AND METHOD FOR SELECTING A SPACE EFFICIENT REPOSITORY - An apparatus, system, and method are disclosed for selecting a space efficient repository. A cache receives write data. A destage module destages the data sequentially to a coarse grained repository such as a stride level repository and destages a directory entry for the data to a coarse grained directory such as a stride level directory if the data satisfies a repository policy. In addition, the destage module destages the data to a fine grained repository such as a track level repository overwriting an existing data instance and destages the directory entry to a fine grained directory such as a track level directory if the data does not satisfy the repository policy. | 08-27-2009 |
20090249116 | MANAGING WRITES RECEIVED TO DATA UNITS THAT ARE BEING TRANSFERRED TO A SECONDARY STORAGE AS PART OF A MIRROR RELATIONSHIP - Provided are a method, system, and article of manufacture for managing writes received to data units that are being transferred to a secondary storage as part of a mirror relationship. Synchronization information indicates data units to transfer from a primary storage to a secondary storage, wherein the synchronization information data is updated to indicate the transfer of one of the data units from the primary storage to the secondary storage. A storage controller receives a write request having an update to a target data unit comprising one of the data units indicated in the synchronization information that has not been transferred from the primary storage to the secondary storage. The write request is allowed to apply the update to the target data unit in response to transferring the data in the target data unit to a network adapter of the storage controller and before the data in the target data unit is transferred to the secondary storage. | 10-01-2009 |
20090327601 | ASYNCHRONOUS DATA MIRRORING WITH LOOK-AHEAD SYNCHRONIZATION RECORD - A data storage system is provided. The system includes a primary storage subsystem, which includes first non-volatile storage media and a secondary storage subsystem, which includes second non-volatile storage media, wherein the primary storage subsystem is arranged to receive data from a host processor for writing to a specified location, and to store the data in the specified location on the first non-volatile storage media while copying the data to the second storage subsystem, which is arranged to store the data in the specified location on the second non-volatile storage media so as to create a mirror on the secondary storage subsystem of the data received by the primary storage subsystem, and wherein the primary storage subsystem is arranged to maintain a record of locations to which data are expected to be written on the primary storage subsystem by the host processor, as indicated by a predetermined prediction algorithm based on the locations to which the data have already been written, and upon receiving the data from the host processor, to update the record using the prediction algorithm so that the record includes both the specified location and one or more further locations that have not yet been specified by the host processor if the specified location is not included in the record, and to output an acknowledgement to the host processor to indicate that the data have been stored in the data storage system after receiving the data and, after updating the record if the specified location was not included in the record prior to-updating the record. | 12-31-2009 |
20090327627 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR COPYING DATA - A storage system and a method for copying data is provided. The method includes storing data at a first storage unit of a primary site, transferring the data from the first storage unit to a second storage unit of a remote site and updating shadow storage unit metadata to reflect the storing of the data at the first storage unit, and copying, in response to the updating of the shadow storage unit metadata, the data from an entity that differs from the shadow storage unit to a third storage unit. | 12-31-2009 |
20100030992 | INITIALIZING OF A MEMORY AREA - A method for initializing a memory area, the method includes: receiving a request to access a first memory sub of a first memory area that comprises multiple memory sub areas; and initializing the first memory sub area if a first memory area initialization indicator differs from a first memory sub area initialization request indicator; wherein the first memory area initialization request indicator is a multiple bit variable indicative of a time of a last request to initialize the first memory area and the first memory sub area initialization indicator is a multiple bit variation indicative of a time of a request to initialize the first memory area that resulted in a last initialization of the first memory sub area. | 02-04-2010 |
20100077142 | EFFICIENTLY CREATING A SNAPSHOT OF A LARGE CONSISTENCY GROUP - Preparation of a snapshot for data storage includes receiving a first command to prepare to create a snapshot of a set of data stored on at least one source storage volume in a data storage system. The data storage system is prepared to expedite creation of the snapshot in response to the first command. A second command to create the snapshot is received subsequent to the first command. The snapshot is created, in response to the second command, by copying the set of data onto at least one target storage volume at an event time. | 03-25-2010 |
20100077398 | Using Idempotent Operations to Improve Transaction Performance - An apparatus for optimizing a transaction comprising an initial sequence of computer operations, the apparatus includes a processing unit which identifies one or more idempotent operations comprised within the initial sequence, and which reorders the initial sequence to form a reordered sequence comprising a first sub-sequence of the computer operations followed by a second sub-sequence of the computer operations, the second sub-sequence comprising only the one or more idempotent operations. | 03-25-2010 |
20100174864 | PERFORMANCE IN A DATA STORAGE SYSTEM - A method for improving performance in a storage system is provided. The method comprises receiving a request to destage a partial stride of data from a storage cache; reserving space for a full stride of data on one or more storage devices; allocating the partial stride of data to the reserved space; adding padding for unallocated blocks, wherein the unallocated blocks are reserved for future updates; and destaging the full stride of data to the storage devices, wherein the full stride of data comprises the allocated partial stride of data and the padded unallocated blocks. | 07-08-2010 |
20100228933 | AUTOMATIC SELECTION OF STORAGE VOLUMES IN A DATA STORAGE SYSTEM - Automatic Selection of Storage Volumes in a Data Storage System A method of selecting a target volume in a storage system is provided. The method comprises defining one or more parameters for a plurality of storage volumes in the storage system according to user preference; dynamically collecting information related to the parameters while the storage volumes are used; receiving a request to backup a first source volume in the storage system; and selecting or creating the target volume based on the collected information. | 09-09-2010 |
20100228935 | CONDITIONAL STORAGE OF MULTIPLE INFORMATION ITEMS - A method for consistent version of multiple information items is provided. The method includes receiving a conditional request to copy a version of multiple information items at a condition fulfillment point of time that is associated with a fulfillment of a condition of the conditional request. Then determining that the condition is fulfilled, and participating in generating a condition fulfillment point in time version of the multiple information items. | 09-09-2010 |
20100235582 | METHOD AND MECHANISM FOR DELAYING WRITING UPDATES TO A DATA CACHE - A novel and useful mechanism and method for writing data updates to a data cache subsystem of a storage controller. Updates received by the storage controller requiring storage allocation on a repository volume are delayed prior to being written to the data cache subsystem. The delay is based on the storage utilization of the repository volume. As the utilization of the repository volume increases, the cache write delay increases, thereby limiting the possibility that there will still be any updates in the data cache subsystem waiting to be destaged to the repository volume when the repository volume is fully utilized. When the repository volume is fully utilized all writes to the data cache of updates that will cause destage of tracks in the repository volume are stopped, thereby causing an infinite delay. | 09-16-2010 |
20110252201 | SMART FLUSHING OF DATA TO BACKUP STORAGE - A storage system, including: (a) a primary storage entity utilized for storing a data-set of the storage system; (b) a secondary storage entity utilized for backing-up the data within the primary storage entity; (c) a flushing management module adapted to identify within the primary storage entity two groups of dirty data blocks, each group is comprised of dirty data blocks which are arranged within the secondary storage entity in a successive sequence, and to further identify within the primary storage entity a further group of backed-up data blocks which are arranged within the secondary storage entity in a successive sequence intermediately in-between the two identified groups of dirty data blocks; and (d) said flushing management module is adapted to combine the group of backed-up data blocks together with the two identified groups of dirty data blocks to form a successive extended flush sequence and to destage it to the secondary storage entity. | 10-13-2011 |
20110276768 | I/0 COMMAND HANDLING IN BACKUP - Systems and methods for input/output command management. In some cases of a write command received from a host, a maximum capacity limit relating to primary memory may be disregarded because data relating to the write command is written to backup memory prior to acknowledging the write command. In some of these cases, timeout is less likely than if the maximum capacity limit had been respected. | 11-10-2011 |
20120102242 | CONTROLLING DATA DESTAGING WITHIN A MULTI-TIERED STORAGE SYSTEM - There is provided according to an example of the claimed subject matter, a system and a method for managing access to a shared storage entity. According to an example of the claimed subject matter, a system for managing access to a shared storage entity can include two or more initiator entities, two or more local sequencing agents and an arbitration module. Each of the two or more local sequencing agents can be associated with a respective one of two or more initiator entities which generate I/O requests for accessing the shared storage entity. Each local sequencing agent can be adapted to locally sequence its respective initiator entity's I/O requests. The arbitration module can be adapted to manage an access cycle to the shared storage entity by allocating to each one of the plurality of initiator entities a monolithic/continuous chunk of the access cycle to implement its own I/O access sequence, wherein chunk allocation is determined according to subframe allocation criteria related to the functional characteristics of each of the initiator entities. | 04-26-2012 |
20120117347 | INITIALIZING OF A MEMORY AREA - A method for initializing a memory area, the method includes: receiving a request to access a first memory sub area of a first memory area that comprises multiple memory sub areas; and initializing the first memory sub area if a first memory area initialization indicator differs from a first memory sub area initialization request indicator; wherein the first memory area initialization request indicator is a multiple bit variable indicative of a time of a last request to initialize the first memory area and the first memory sub area initialization indicator is a multiple bit variable indicative of a time of a request to initialize the first memory area that resulted in a last initialization of the first memory sub area. | 05-10-2012 |
20120265926 | MANAGING A SOLID-STATE STORAGE DEVICE - A method, comprising: during a normal operating mode of a first solid-state storage device, reserving a portion of an available physical storage space of the first solid-state storage device, giving rise to a reserved portion and a user data portion; setting a user data capacity of the first solid-state storage device according to a size of the user data portion; using substantially the entire available physical storage space for storing user data within the first solid-state storage device; and upon receiving at the first solid-state storage device an instruction to switch to a data protection mode, switching the first solid-state storage device to the data protection mode and allocating part of the reserved portion to the user data portion, giving rise to an extended user data portion, and using the added user data capacity for backing up data that is or was stored on the second solid-state storage device. | 10-18-2012 |
20120331449 | DEVICE, METHOD AND COMPUTER PROGRAM PRODUCT FOR EVALUATING A DEBUGGER SCRIPT - A method for evaluating a debugger script, the method includes: (i) receiving a debugger script that includes a first debugger breakpoint that is associated with a certain program line number; and determining a validity of the first debugger breakpoint in response to a comparison between expected content associated with the first debugger breakpoint and between an actual content of at least a portion of a certain program line group that comprises a certain program line identified by the certain program line number. | 12-27-2012 |
20140344539 | MANAGING DATA IN A STORAGE SYSTEM - According to an aspect of the presently disclosed subject matter, there is provided a system for managing data in a storage system, the system including a storage layer which provides storage resource, and a snapshot layer that includes: a volume-version data structure, a chunk-version data structure and a IO handler. | 11-20-2014 |