US6021408A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Methods for operating a log device
Assignee: Clouding Corp
•
Filing: 1996-09-12
•
Granted: 2000-02-01
•
Expires: 2016-09-12
Abstract
Abstract A log device is coupled in the logical data transfer path between a storage device, which provides for the storage of file and system data within a main filesystem layout, and a computer system. The log device provides for the storage of the file and system data within a log structured filesystem layout. A control program is executed to manage the storage of file and system data in data segments in the log device filesystem and to selectively transfer the file and system data from the log device to the storage device. The control program utilizes location data provided in the file and system data to identify a destination storage location for the file and system data within the main filesystem layout.
Inventors
- 👤 Joel E. Ledain
- 👤 John A. Colgrove
- 👤 Dan Koren
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-02 15:26
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/10; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1435; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938; Y10S707/99951; Y10S707/99952; Y10S707/99953
Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
362 words
A method of storing and retrieving data by a computer system executing an operating system and supporting first and second persistent storage devices, said operating system including a filesystem module coupled through a first device driver to said first persistent storage device to transfer filesystem data blocks, said filesystem module providing support for synchronous write transactions, said method comprising the steps of: a) providing a second device driver selectively coupled between said filesystem module and said first device driver; b) collecting a predetermined set of data blocks provided from said filesystem module as part of a synchronous write transaction into a data segment, storing said data segment on said second persistent storage device, and signaling completion of said synchronous write transaction to said filesystem module, wherein said step of collecting further provides for 1) constructing a map relating said predetermined set of data blocks to said data segment, whereby said second device driver can identify said data segment by reference to any of said predetermined set of data blocks by said filesystem module; and 2) storing said map, including progressively updated versions of said map, on said second persistent storage device, whereby said map can be reconstructed from said second persistent storage device; c) migrating said predetermined set of data blocks from said second persistent storage device to said first persistent storage device by said second device driver through use of said first device driver independent of said filesystem module, wherein said data segment includes a predetermined set of address references for said predetermined set of data blocks and wherein said step of migrating said predetermined set of data blocks to said first persistent storage device is performed by said second device driver dependant on said predetermined set of address references; d) retrieving any of said predetermined set of data blocks from said first persistent storage device; e) selectively bypass writing said predetermined set of data blocks, as provided from said filesystem module, through said first device driver to said first persistent storage device; and f) selectively bypass reading said data segment from said second persistent storage device to transfer any of said predetermined set of data blocks to said filesystem module.
Claim 2
Independent Claim
362 words
A method of storing and retrieving data by a computer system executing an operating system and supporting first and second persistent storage devices, said operating system including a filesystem module coupled through a first device driver to said first persistent storage device to transfer filesystem data blocks, said filesystem module providing support for synchronous write transactions, said method comprising the steps of: a) providing a second device driver selectively coupled between said filesystem module and said first device driver; b) collecting a predetermined set of data blocks provided from said filesystem module as part of a synchronous write transaction into a data segment, storing said data segment on said second persistent storage device, and signaling completion of said synchronous write transaction to said filesystem module, wherein said step of collecting further provides for 1) constructing a map relating said predetermined set of data blocks to said data segment, whereby said second device driver can identify said data segment by reference to any of said predetermined set of data blocks by said filesystem module; and 2) storing said map, including progressively updated versions of said map, on said second persistent storage device, whereby said map can be reconstructed from said second persistent storage device; c) migrating said predetermined set of data blocks from said second persistent storage device to said first persistent storage device by said second device driver through use of said first device driver independent of said filesystem module, wherein said data segment includes a predetermined set of address references for said predetermined set of data blocks and wherein said step of migrating said predetermined set of data blocks to said first persistent storage device is performed by said second device driver dependant on said predetermined set of address references; d) retrieving any of said predetermined set of data blocks from said first persistent storage device; e) selectively bypass writing said predetermined set of data blocks, as provided from said filesystem module, through said first device driver to said first persistent storage device; and f) selectively bypass reading said data segment from said second persistent storage device to transfer any of said predetermined set of data blocks to said filesystem module.
Claim 3
Dependent Claim
35 words
The method of claim 1 further comprising a step of evaluating said map when said filesystem module provides an address reference to determine if said address reference is in said predetermined set of address references.
Claim 4
Dependent Claim
33 words
The method of claim 2 further comprising a step of providing a write data cache within a memory space of said computer system to minimize use of said step of selectively bypass reading.
Claim 5
Independent Claim
218 words
A method of storing and retrieving data within a computer system that is coupleable to a plurality of disk drives, where said computer system executes an operating system, including a filesystem and a main filesystem device driver and where said filesystem defines a data layout for the storage of data blocks within the addressable storage space of a main disk drive, said method comprising the steps of: a) including a log device driver transparently coupleable between said filesystem and said main filesystem device driver and coupleable to a log disk drive; b) selectively transferring data blocks between said filesystem, said main disk drive and said log disk drive, wherein data blocks, identified by filesystem address and provided by said filesystem, are preferentially written to said log disk drive and wherein data blocks identified by filesystem address are preferentially read from said main disk drive for transfer to said filesystem; c) determining, by said log device driver, whether to transfer a predetermined data block, having a predetermined filesystem address, to said main disk drive or said log disk drive based on a data block transfer load comparison between said log device disk drive and said main disk drive, whereby said log device driver seeks to balance the data block transfer load of said log device and main disk drives.
Claim 6
Independent Claim
218 words
A method of storing and retrieving data within a computer system that is coupleable to a plurality of disk drives, where said computer system executes an operating system, including a filesystem and a main filesystem device driver and where said filesystem defines a data layout for the storage of data blocks within the addressable storage space of a main disk drive, said method comprising the steps of: a) including a log device driver transparently coupleable between said filesystem and said main filesystem device driver and coupleable to a log disk drive; b) selectively transferring data blocks between said filesystem, said main disk drive and said log disk drive, wherein data blocks, identified by filesystem address and provided by said filesystem, are preferentially written to said log disk drive and wherein data blocks identified by filesystem address are preferentially read from said main disk drive for transfer to said filesystem; c) determining, by said log device driver, whether to transfer a predetermined data block, having a predetermined filesystem address, to said main disk drive or said log disk drive based on a data block transfer load comparison between said log device disk drive and said main disk drive, whereby said log device driver seeks to balance the data block transfer load of said log device and main disk drives.
Claim 7
Dependent Claim
60 words
The method of claim 4 further comprising the steps of: collecting a plurality of data blocks determined to be written to said log disk drive into a log data segment; and establishing a mapping between the filesystem addresses of said plurality of data blocks and a segment address of said log data segment as storable by said log disk drive.
Claim 8
Dependent Claim
21 words
The method of claim 5 further comprising the step of writing predetermined portions of said mapping to said log disk drive.
Claim 9
Dependent Claim
41 words
The method of claim 6 further comprising the step of writing, to said log disk drive, the main filesystem addresses of said plurality of data blocks in connection with the writing of said log data segment to said log disk drive.
Claim 10
Dependent Claim
42 words
The method of claim 7 further comprising the step of relocating said log data segment within the addressable storage space of said log disk drive while maintaining the connection between said predetermined plurality of data blocks and their corresponding main filesystem addresses.
Claim 11
Dependent Claim
43 words
The method of claim 8 wherein said step of relocating is performed at predetermined intervals and wherein said predetermined plurality of data blocks are written to said main disk drive after being relocated on said log disk drive a predetermined number of times.
Claim 12
Dependent Claim
114 words
The method of claim 4 wherein said log disk drive provides for storage of a predetermined plurality of log data segments and wherein said method further includes the steps of: a) transferring said predetermined data block to said log disk drive as part of a first log data segment at a first segment address within said log disk drive; b) reading said first log data segment from said log disk drive; c) selectively transferring said predetermined data block to said log disk drive as part of a second log data segment at a second segment address within said log disk drive; and d) selectively transferring said predetermined data block to said main disk drive.
Claim 13
Dependent Claim
65 words
The method of claim 10 wherein said predetermined filesystem address of said predetermined log data block is maintained in connection with said predetermined log data block as stored by said log disk drive and wherein said step of selectively transferring said predetermined data block to said main disk drive utilizes said predetermined filesystem address in transferring said predetermined data block to said main disk drive.
Claim 14
Dependent Claim
25 words
The method of claim 11 wherein said predetermined filesystem address is stored on said log disk drive in correspondence with said predetermined log data block.
Claim 15
Dependent Claim
39 words
The method of claim 12 wherein the correspondence of said predetermined filesystem address with said predetermined log data block is maintained independent of whether said predetermined log data block is part of said first or second log data segment.
Claim 16
Dependent Claim
57 words
The method of claim 13 further comprising the step of determining whether said predetermined log data block has been read and transferred back to said log disk drive a threshold number of times whereupon said predetermined log data block may be selectively transferred back to said log disk drive or selectively transferred to said main disk drive.
Claim 17
Dependent Claim
66 words
The method of claim 14 further comprising the step of maintaining a translation map for reference to determine whether said predetermined data block is stored as part of said first log data segment or as part of said second log data segment, said translation map being updated with each write of said predetermined data block to said log disk drive and to said main disk drive.
Claim 18
Dependent Claim
25 words
The method of claim 15 further comprising the step of writing at intervals at least portions of said translation map to said log disk drive.
Claim 19
Independent Claim
269 words
A method of storing and retrieving data within a computer system that is coupleable to a plurality of disk drives, where said computer system executes an operating system, including a filesystem and a main filesystem device driver to provide a first addressable storage space, having a first data storage organization defined by said filesystem, within a main disk drive to allow for the storage of filesystem data blocks, said method comprising the steps of: a) providing a log device driver coupled between and effectively transparent to said filesystem and said main filesystem device driver, said log device driver providing a second addressable storage space within a log device disk drive and having a second data storage organization defined by said log device driver, said second addressable storage space providing for the storage of a predetermined data log segment that includes a predetermined filesystem data block; b) enabling the selective transfer of said predetermined filesystem data block from said filesystem to said log device disk drive, and from said main disk drive and said log device disk drive to said filesystem; and c) selecting to transfer said predetermined filesystem data block between said filesystem, said log device disk drive and said main disk drive to preferentially isolating, from the apparent perspective of said filesystem, read transfers of said predetermined data block to said main disk drive and write transfers of said predetermined data block to said log device disk drive, thereby enabling said operating system to transparently access and selectively transfer filesystem data blocks with respect to said second addressable storage space in place of said first addressable storage space.
Claim 20
Independent Claim
269 words
A method of storing and retrieving data within a computer system that is coupleable to a plurality of disk drives, where said computer system executes an operating system, including a filesystem and a main filesystem device driver to provide a first addressable storage space, having a first data storage organization defined by said filesystem, within a main disk drive to allow for the storage of filesystem data blocks, said method comprising the steps of: a) providing a log device driver coupled between and effectively transparent to said filesystem and said main filesystem device driver, said log device driver providing a second addressable storage space within a log device disk drive and having a second data storage organization defined by said log device driver, said second addressable storage space providing for the storage of a predetermined data log segment that includes a predetermined filesystem data block; b) enabling the selective transfer of said predetermined filesystem data block from said filesystem to said log device disk drive, and from said main disk drive and said log device disk drive to said filesystem; and c) selecting to transfer said predetermined filesystem data block between said filesystem, said log device disk drive and said main disk drive to preferentially isolating, from the apparent perspective of said filesystem, read transfers of said predetermined data block to said main disk drive and write transfers of said predetermined data block to said log device disk drive, thereby enabling said operating system to transparently access and selectively transfer filesystem data blocks with respect to said second addressable storage space in place of said first addressable storage space.
Claim 21
Dependent Claim
71 words
The method of claim 17 wherein said step of enabling includes storing predetermined system data with said predetermined data block within said second addressable storage space, said predetermined system data establishing a relation between a log device storage location of said predetermined data block within said second addressable storage space and a main storage location of said predetermined data block within said first addressable storage space as defined by said filesystem.
References Cited (Backward Citations)
US5553285A
Cited
US5499367A
Cited
US5448719A
Cited
US5418925A
Cited
US5416915A
Cited
US5551003A
Cited
US5557770A
Cited
US5530850A
Cited
US5644791A
Cited
US5600596A
Cited
US5537588A
Cited
US5574952A
Cited
US5666532A
Cited
US5659677A
Cited
US5666114A
Cited
US5604902A
Cited
US5870757A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-01-31 | 2003-08-02 | 2004-02-01 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-01-31 | 2007-08-02 | 2008-02-01 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-01-31 | 2011-08-02 | 2012-02-01 | $7700.00 | Window Closed / Lapsed |