IP Library Granted Patent US 6,988,165
Granted Patent B2
US 6,988,165 · App. 10/441,144 · Granted Jan 17, 2006

System and method for intelligent write management of disk pages in cache checkpoint operations

Assignee: Pervasive Software, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,988,165
App. No.
10/441,144
Granted
Jan 17, 2006
Kind
B2
Abstract

A system and method are disclosed for improving the efficiency of write operations by intelligently managing disk pages that are written during checkpoint operations so that write operations can occur with reduced numbers of writes. As write data is received and cached, for example, by a database application, disk pages are allocated to the write data. When a checkpoint operation is taken to write the data cache to disk as modifications or additions to the database file, an intelligent write management module re-assesses the disk page allocation and re-maps disk writes to improve the efficiency of disk input/output (I/O) operations. As such, significant improvements in the speed and efficiency of database operations during checkpoint events are achieved.

Claims (42)

1. A method for managing disk pages for checkpoint write operations, comprising:

storing a file on a disk system, the file including data that is utilized by a plurality of users and the disk system configured to have a plurality of disk pages, a portion of which are used to store the file data for the file;

managing user access to the file data using a cache, the cache being configured to store at least a portion of the file data and provide an interface between the users and the file data stored in the file on the disk system;

receiving write requests for the file data from the users, each write request including write data to be written to the file on the disk system in a write operation;

assigning disk pages for use in performing the requested write operations and storing the write data in the cache until a checkpoint operation;

upon the occurrence of a checkpoint operation, re-mapping the assigned disk pages to make more efficient the write operations associated with the write data stored in cache; and

writing the write data to the file on the disk system utilizing the re-mapped disk pages.

2. The method of claim 1 , further comprising allocating more disk pages to the file upon occurrence of a checkpoint operation where such an allocation is determined to make more efficient the write operations associated with the write data stored in cache.

3. The method of claim 1 , wherein the file comprises a database and the checkpoint operation comprises a database system checkpoint taken by a database application server that is managing the cache.

4. The method of claim 1 , wherein the re-mapping of disk pages attempts to organize the write operations such that contiguous disk pages can be written.

5. The method of claim 4 , wherein contiguous pages are written one page at a time.

6. The method of claim 4 , wherein contiguous pages are written as multiple pages at a time using as single function call.

7. The method of claim 1 , further comprising when a file is initially stored on the disk system, allocating enough disk pages to store current file data and allocating some number of additional open disk pages to provide a desired amounts of open space within the file.

8. The method of claim 7 , wherein the desired amount is an amount related to a percent of used space within the file.

9. The method of claim 7 , wherein additional open pages are allocated to the file if data is added to the file during a checkpoint operation.

10. A computer implemented application with improved write operation efficiency for handling checkpoint operations with respect to a data cache, comprising:

a disk system configured to have a plurality of disk pages, a portion of these disk pages being used to store a file that includes data that is accessed by a plurality of users;

a first subsystem configured to manage user access to the file data using a cache, the cache being configured to store at least a portion of the file data and provide an interface between the users and the file data stored in the file on the disk system; and

a second subsystem coupled to the disk system and communicating with the cache subsystem, the second subsystem being configured to handle write operations to the disk system during checkpoint operations;

wherein the disk pages are assigned and write data stored in the cache as write requests for the file data are received from users, each write request including write data to be written to the file on the disk system in a write operation; and

wherein assigned disk pages are re-mapped upon the occurrence of a checkpoint operation to make more efficient the write operations associated with the write data stored in cache.

11. The computer implemented application of claim 10 , wherein more disk pages are allocated to the file upon occurrence of a checkpoint operation where such an allocation is determined to make more efficient the write operations associated with the write data stored in cache.

12. The computer implemented application of claim 10 , wherein the application comprises a database application server, the file comprises a database and the checkpoint operation comprises a database system checkpoint taken to manage cache operations.

13. The computer implemented application of claim 10 , wherein the second subsystem attempts to re-map disk pages to organize the write operations such that contiguous disk pages can be written.

14. The computer implemented application of claim 13 , wherein contiguous pages are written one page at a time.

15. The computer implemented application of claim 13 , wherein contiguous pages are written as multiple pages at a time using as single function call.

16. The computer implemented application of claim 10 , wherein an initially stored file is allocated enough disk pages to store current file data and is allocated some number of additional open disk pages to provide a desired amount of open space within the file.

17. The computer implemented application of claim 16 , wherein the desired amount is an amount related to a percent of used space within the file.

18. A database system with intelligent management of disk pages for cache checkpoint operations, comprising:

a disk system configured to have a plurality of disk pages;

a database stored as a file on the disk system, the database file utilizing a portion of the disk pages and including data that is accessed by a plurality of database users;

a database application server coupled to the disk system and managing the database file, the database application server being configured to communicate with a plurality of client user systems, the database application server, comprising:

a cache subsystem configured to manage user access to the file data using a cache, the cache being configured to store at least a portion of the file data and provide an interface between the users and the file data stored in the file on the disk system; and

an input/output (I/O) subsystem configured to handle write operations to the disk system during checkpoint operations;

wherein the disk pages are assigned and write data stored in the cache subsystem as write requests for the file data are received from users, each write request including write data to be written to the file on the disk system in a write operation; and

wherein assigned disk pages are re-mapped upon the occurrence of a checkpoint operation to make more efficient the write operations associated with the write data stored in cache.

19. The database system of claim 18 , wherein the I/O subsystem is configured to allocate more disk pages to the file upon occurrence of a checkpoint operation where such an additional allocation is determined to make more efficient the write operations associated with the write data stored in cache.

20. The database system of claim 18 , wherein the I/O subsystem attempts to re-map disk pages to organize the write operations such that contiguous disk pages can be written.

21. The database system of claim 20 , wherein contiguous pages are written one page at a time.

22. The database system of claim 20 , wherein contiguous pages are written as multiple pages at a time using as single function call.

23. The database system of claim 18 , wherein an initially stored file is allocated enough disk pages to store current file data and is allocated some number of additional open disk pages to provide a desired amount of open space within the file.

24. The database system of claim 23 , wherein the desired amount is an amount that is related to a percent of used space within the file.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2021
From: PERVASIVE SOFTWARE, INC.
To: ACTIAN CORP.
Reel/Frame 058305/0700 →
RELEASE OF SECURITY INTEREST Recorded Jul 24, 2018
From: VIRTUS GROUP, LP
To: ACTIAN CORPORATION; PARACCEL LLC; PERVASIVE SOFTWARE INC.; VERSANT SOFTWARE LLC
Reel/Frame 046621/0033 →
SECURITY INTEREST Recorded Jul 1, 2017
From: ACTIAN CORPORATION; PARACCEL LLC; PERVASIVE SOFTWARE INC.; VERSANT SOFTWARE LLC
To: VIRTUS GROUP, LP
Reel/Frame 042881/0075 →
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2017
From: TC LENDING, LLC
To: ACTIAN CORPORATION; VERSANT CORPORATION (NKA VERSANT SOFTWARE LLC); PERVASIVE SOFTWARE INC.; PARACCEL LLC; ACTIAN INTERNATIONAL, INC.; VERSANT SOFTWARE LLC; POET HOLDINGS, INC.
Reel/Frame 042880/0155 →
GRANT OF A SECURITY INTEREST - PATENTS Recorded Apr 12, 2013
From: ACTIAN CORPORATION; PERVASIVE SOFTWARE INC.; VERSANT CORPORATION
To: TC LENDING, LLC
Reel/Frame 030205/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2004
From: WHITE, KEN; REINAUER, ROB; SUN, CHUNSHENG; ARNOLD, RICHARD; JACOB, SUNIL; TAN, DESMOND; LEWIS, KEVIN
To: PERVASIVE SOFTWARE, INC.
Reel/Frame 015168/0230 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2003
From: WHITE, KEN; REINAUER, ROB; SUN, CHENSHEUNG; ARNOLD, RICHARD; JACOB, SUNIL; TAN, DESMOND; LEWIS, KEVIN
To: PERVASIVE SOFTWARE, INC.
Reel/Frame 014340/0903 →
Continuity (2)
Provisional Application 6038188000 · May 20, 2002
Related Publication 20030217080A1 · Nov 20, 2003