IP Library Granted Patent US 7,401,093
Granted Patent B1
US 7,401,093 · App. 10/705,493 · Granted Jul 15, 2008

System and method for managing file data during consistency points

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 7,401,093
App. No.
10/705,493
Granted
Jul 15, 2008
Kind
B1
Abstract

A system and method for managing file data during consistency points in a file system is provided. A buffer data control structure is modified to include a flags array that tracks various status flags for both a current and a next consistency point (CP). By utilizing multiple pointers within a buffer control structure, the file system may permit write operations to continue to a file undergoing write allocation. Received writes during a write allocation procedure are stored in raw data buffers and the buffer control structure is marked as being dirty for a next CP.

Claims (53)

1. A computer implemented method for managing a file system, comprising:

receiving data directed to the file system;

labeling the data as belonging to a current consistency point or to a next consistency point;

allocating disk space for data belonging to the current consistency point, and not allocating disk space for data belonging to the next consistency point;

selecting a time for writing the current consistency point to persistent storage;

locating buffer data which has been written to a buffer but which has not been written to persistent storage before the time selected for writing the current consistency point; and

capturing the buffer data into the current consistency point.

2. The method of claim 1 further comprising:

locating buffer data which has been written to a buffer after the time selected for writing the current consistency point; and

capturing the buffer data into the next consistency point.

3. The method of claim 1 further comprising:

maintaining a flags array in a buffer data control structure, the flags array having entries associated with the current consistency point and with the next consistency point.

4. The method of claim 3 further comprising:

using a monotonically increasing consistency point (CP) counter to identify the current CP as the current value of the CP counter, and the next CP as the value of the CP counter plus 1.

5. The method of claim 1 further comprising:

associating the received data with a buffer data control structure by setting a pointer in the buffer data control structure to a memory location associated with the received data.

6. The method of claim 1 further comprising:

differentiating entries associated with the current consistency point and the next consistency point by performing modulo two addition to a consistency point counter.

7. A computer implemented method for managing a file system, comprising:

receiving data directed to the file system;

labeling the data as belonging to a current consistency point or to a next consistency point; and

allocating disk space for data belonging to the current consistency point, and not allocating disk space for data belonging to the next consistency point;

maintaining a flags array in a buffer data control structure, the flags array having entries associated with the current consistency point and with the next consistency point;

using a monotonically increasing consistency point (CP) counter to identify the current CP as the current value of the CP counter, and the next CP as the value of the CP counter plus 1;

utilizing modulo-two arithmetic with the CP counter to perform an AND operation using “CP AND 1” to obtain a first value of 0 or 1; and

utilizing modulo-two arithmetic with the CP counter to perform an AND operation using “1−(CP AND 1)” to obtain a second value of 0 or 1, to produce flag values alternating between values of “0” and “1” to represent current and next consistency points.

8. The method of claim 5 further comprising:

marking the buffer data control structure as being dirty for a next consistency point by setting a flag in a flags array of the buffer data control structure.

9. A computer implemented file system, comprising:

a network adapter to receive data directed to the file system;

an operating system to label the data as belonging to a current consistency point or to a next consistency point; and

a storage adapter to allocate disk space for data belonging to the current consistency point, and not allocating disk space for data belonging to the next consistency point;

a processor to select a time for writing the current consistency point to persistent storage;

buffer data which has been written to a buffer but which has not been written to persistent storage before the time selected for writing the current consistency point; and

the operating system to capture the buffer data into the current consistency point.

10. The system of claim 9 further comprising:

a flags array in a buffer data control structure, the flags array having entries associated with a current consistency point and with the next consistency point.

11. The system of claim 10 further comprising:

a monotonically increasing consistency point (CP) counter to identify the current CP as the current value of the CP counter, and the next CP as the value of the CP counter plus 1.

12. The system of claim 9 further comprising:

the operating system to associate the received data with a buffer data control structure by setting a pointer in the buffer data control structure to a memory location associated with the received data.

13. The system of claim 12 further comprising:

the operating system to mark the buffer data control structure as being dirty for a next consistency point by setting a flag in a flags array of the buffer data control structure.

14. The system of claim 9 further comprising:

the operating system to differentiate entries associated with the current consistency point and the next consistency point by performing modulo two addition to a consistency point counter.

15. A computer implemented file system, comprising:

a network adapter to receive data directed to the file system;

an operating system to label the data as belonging to a current consistency point or to a next consistency point; and

a storage adapter to allocate disk space for data belonging to the current consistency point, and not allocating disk space for data belonging to the next consistency point;

a flags array in a buffer data control structure, the flags array having entries associated with a current consistency point and with the next consistency point;

a monotonically increasing consistency point (CP) counter to identify the current CP as the current value of the CP counter, and the next CP as the value of the CP counter plus 1;

a modulo-two arithmetic with the CP counter to perform an AND operation using “CP AND 1” to obtain a first value of 0 or 1; and

the modulo-two arithmetic with the CP counter to perform an AND operation using “1−(CP AND 1)” to obtain a second value of 0 or 1, to produce flag values alternating between values of “0” and “1” to represent current and next consistency points.

Assignments (3)
CHANGE OF NAME Recorded Jul 16, 2024
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 068000/0062 →
CHANGE OF NAME Recorded Jan 28, 2011
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 025713/0117 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2004
From: HAMILTON, ERIC; KIMMEL, JEFFREY S.; FAIR, ROBERT L.; PRAKASH, ASHISH
To: NETWORK APPLIANCE, INC.
Reel/Frame 015136/0783 →