Browse Prior Art Database

Implementation of a File System With a Fast and Selective Recovery

IP.com Disclosure Number: IPCOM000038585D
Original Publication Date: 1987-Feb-01
Included in the Prior Art Database: 2005-Jan-31
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Daudenarde, JJ: AUTHOR [+3]

Abstract

A method is described for facilitating recovery of a file system after storage media failures. The method operates with the shadow page mechanism [*] wherein a mapping is maintained between data pages and their respective storage locations (slots) on disk by having the address (j) of a slot for storing a page stored in one (the kth) of the elements of a vector V. An array M, which contains entries each of which corresponds to a slot, is used to record whether a slot is free. V and M are maintained in recoverable storage. Whenever a page is written into a slot, it is logged into a sequential page log. Each entry in M also contains the address in the sequential page log where the corresponding data page is logged, together with its version number.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Implementation of a File System With a Fast and Selective Recovery

A method is described for facilitating recovery of a file system after storage media failures. The method operates with the shadow page mechanism [*] wherein a mapping is maintained between data pages and their respective storage locations (slots) on disk by having the address (j) of a slot for storing a page stored in one (the kth) of the elements of a vector V. An array M, which contains entries each of which corresponds to a slot, is used to record whether a slot is free. V and M are maintained in recoverable storage. Whenever a page is written into a slot, it is logged into a sequential page log. Each entry in M also contains the address in the sequential page log where the corresponding data page is logged, together with its version number. A current version number (CVN) is kept in recoverable storage and cached into main memory. A current log position (CLP) is maintained in recoverable storage to indicate the next position available in the log. The following lists the procedure for each data operation: INSERT: The data are first written to the log, at CLP. Then a disk slot is allocated by inserting CLP and CVN in a free entry (j) in M. CLP is incremented by 1. The data are written in the corresponding slot (j). Finally, V(k) is changed to j. DELETE: When a page is discarded, its logical address (index in V) is recorded into a temporary "flush list" (in core if small enough or spilled onto disk otherwise). This list will be used at Commit time to change M. The page cannot be reused before commit, and thus the data it contains will not be modified and will remain available until commit time. Note that M is not locked. UPDATE: Since data on pages are never modified in place, an update behaves like a delete followed by an insert. COMMIT: Immediately before the actual commit, the flush list is read and corresponding entries in M are marked as free. M e...