Method for verification and restoration of directories in CPU system managed store
First Claim
1. In a system having a central processing unit (CPU), a system managed store (SMS) for data blocks and at least one map defining each data block location and description of said block, and means responsive to applications executing on said CPU for reading and writing said data blocks and updating said map in the SMS by way of indivisible (atomic) operations, a method for ensuring integrity of said map comprising the steps of:
- (a) duplicating a portion of the map pertinent to a data block, appending the duplicated portion to said data block, and writing both into a non-volatile segment of SMS as an indivisible part thereof;
(b) responsive to each read and write operation and forming an indivisible part thereof, matching the portion stored with the counterpart data block and the portion resident in the map; and
(c) upon any comparison mismatch between the portions, reconstructing said map from a sorted subset of the duplicated portions of the data blocks, said portions being limited to information having the same type as the map.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for dynamically detecting loss of map integrity in a form of system-managed storage (SMS). In SMS, maps are used to define access paths to data and to allocate and reallocate storage resources among applications running thereon. The method steps include incorporating as an indivisible part of an overwriting commmand the duplication of map information by appending a portion of it to each data block in store, and detecting loss of map integrity as a function of a comparison mismatch between the portion stored with a counterpart data block and the map upon each read/write access.
27 Citations
12 Claims
-
1. In a system having a central processing unit (CPU), a system managed store (SMS) for data blocks and at least one map defining each data block location and description of said block, and means responsive to applications executing on said CPU for reading and writing said data blocks and updating said map in the SMS by way of indivisible (atomic) operations, a method for ensuring integrity of said map comprising the steps of:
-
(a) duplicating a portion of the map pertinent to a data block, appending the duplicated portion to said data block, and writing both into a non-volatile segment of SMS as an indivisible part thereof; (b) responsive to each read and write operation and forming an indivisible part thereof, matching the portion stored with the counterpart data block and the portion resident in the map; and (c) upon any comparison mismatch between the portions, reconstructing said map from a sorted subset of the duplicated portions of the data blocks, said portions being limited to information having the same type as the map. - View Dependent Claims (2, 3, 12)
-
-
4. A central processing unit (CPU) implemented method for dynamically detecting loss of map integrity in system managed storage (SMS), said maps being used to define access paths to data blocks located in SMS, said maps being a concordance of arbitrary block identifiers (names), block attributes, non-volatile SMS address, and other fields,
CPU applications providing access path arguments in the form of the identifiers (names), said path arguments being used by said SMS to index said maps, comprising the steps of: -
(a) responsive to an initial write access, indivisibly creating a map entry for a new data block, duplicating at least a portion of the entry and appending the duplicated portion to said new data block, and writing both into a non-volatile segment of SMS; (b) responsive to each subsequent read access or each subsequent write access, indivisibly matching the portion of the map entry appended and stored with the accessed data block and the counterpart map entry or portion thereof, and providing indication upon any comparison mismatch; and (c) upon a mismatch, rebuilding said map or part thereof by rewriting the map or part thereof as a sorted subset of the entries appending each data block. - View Dependent Claims (5, 6)
-
-
7. A method for ensuring verification and recovery of a central processing unit (CPU) based system managed store (SMS) from information corruption in maps, said maps defining the access paths between an application running on said CPU and data blocks located in the SMS, said SMS providing a virtual address interface between the application and the real storage within SMS, said maps including a first concordance between an application provided data block identifier and its virtual address, and, a second concordance between the virtual address and its real address in SMS, comprising the steps of:
-
(a) upon the initial writing of a data block to SMS, indivisibly executing the following substeps of making predetermined types of map entries, duplicating at least a portion of said entries, appending said duplicate portion to the data block as a SUFFIX, and recording both concurrently to SMS; (b) responsive to each subsequent read or write access to the data block, indivisibly accessing said data block by way of a map defined path to a real storage address in SMS, and matching said SUFFIX of the accessed data block with the counterpart map entry; and (c) in the event of a mismatch, rebuilding said map or part thereof by rewriting the map using a sorted subset of the SUFFIXES of said data block or blocks. - View Dependent Claims (8, 9, 10, 11)
-
Specification