Create virtual track buffers in NVS using customer segments to maintain newly written data across a power loss
AssigneeInternational Business Machines Corporation
InventorsKevin J. Ash, Michael T. Benhase
Life of this patent
Estimating the term…
Abstract
A method for storing customer data at a non-volatile storage (NVS) at a storage server. A track buffer is maintained for identifying first and second sets of segments that are allocated in the NVS. A flag in the track buffer identifies which of the first and second sets of segments to use for storing customer data for which a write request has been made. The customer data is stored in the NVS in successive commit processes. Following a power loss in the storage server, the NVS uses the track buffer information to identify which of the first and second sets of segments was involved in the current commit process to allow the current commit process to be completed.
Claims25
A method for storing customer data at a non-volatile (NVS) at a storage server, comprising:
- initializing the NVS, prior to receiving a first write request at the storage server for writing first customer data to the NVS, by allocating first segments in the NVS for storing data;
- in response to receiving the first write request, allocating second segments in the NVS for storing second customer data;
- maintaining a virtual track buffer identifying at least the first and second segments;
- and
- maintaining a flag identifying which of the at least first and second segments to use for storing customer data for which a write request has been made.
A method for storing customer data at a non-volatile storage (NVS) at a storage server, comprising:
- initializing the NVS, prior to receiving a first write request at the storage server for writing first customer data to the NVS, by allocating first segments in the NVS for storing data;
- in response to receiving the first write request, allocating second segments in the NVS for storing second customer data, wherein customer data for which a write request has been made is stored in the NVS in successive commit processes;
- maintaining in the NVS, across a power loss, information identifying which of the first and second segments is involved in a current one of the successive commit processes.
An apparatus for storing customer data at a non-volatile storage (NVS) at a storage server, comprising:
- means for initializing the NVS, prior to receiving a first write request at the storage server for writing first customer data to the NVS, by allocating first segments in the NVS for storing data;
- and
- means for allocating second segments in the NVS, in response to receiving the first write request, for storing second customer data;
- and
- means for maintaining in the NVS, across a power loss, information identifying which of the first and second segments is involved in a current one of successive commit processes.
An apparatus for storing customer data at a non-volatile storage (NVS) at a storage server, comprising:
- means for initializing the NVS, prior to receiving a first write request at the storage server for writing first customer data to the NVS, by allocating first segments in the NVS for storing data;
- means for allocating second segments in the NVS, in response to receiving the first write request, for storing second customer data;
- means for maintaining a virtual track buffer identifying at least the first and second segments;
- and
- means for maintaining a flag identifying which of the at least first and second segments to use for storing customer data for which a write request has been made.
A program storage device, tangibly embodying a program of instructions executable by a machine to perform a method for storing customer data at a non-volatile storage (NVS) at a storage server, the method comprising the steps of:
- initializing the NVS, prior to receiving a first write request at the storage server for writing first customer data to the NVS, by allocating first segments in the NVS for storing data;
- in response to receiving the first write request, allocating second segments in the NVS for storing second customer data;
- and
- maintaining in the NVS, across a power loss, information identifying which of the first and second segments is involved in a current one of the successive commit processes.
A program storage device tangibly embodying a program of instructions executable by a machine to perform a method for storing customer data at a non-volatile storage (NVS) at a storage server, the method comprising the steps of:
- initializing the NVS, prior to receiving a first write request at the storage server for writing first customer data to the NVS, by allocating first segments in the NVS for storing data;
- in response to receiving the first write request, allocating second segments in the NVS for storing second customer data;
- maintaining a virtual track buffer identifying at least the first and second segments;
- and
- maintaining a flag identifying which of the at least first and second segments to use for storing customer data for which a write request has been made.
A method for storing customer data at a non-volatile storage (NVS) at a storage server, comprising:
- initializing the NVS, prior to receiving a first write request at the storage server for writing first customer data to the NVS, by allocating first segments in the NVS for storing data;
- and
- in response to receiving the first write request, allocating second segments in the NVS for storing second customer data,
- if a segment is partially written, customer data in a segment with the least amount of data is copied to a segment with the most amount of data.
Dependencies are inferred from the claim text.