IP Library Granted Patent US 7,509,329
Granted Patent B1
US 7,509,329 · App. 10/858,492 · Granted Mar 24, 2009

Technique for accelerating file deletion by preloading indirect blocks

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,509,329
App. No.
10/858,492
Granted
Mar 24, 2009
Kind
B1
Abstract

A system and method for accelerating file deletion by preloading indirect blocks. When processing level 1 (L1) indirect blocks, the file server issues a read request for the next N indirect blocks to be loaded into a buffer cache. The file server processes the indirect blocks from the buffer cache without requiring multiple single block disk accesses. Once the N indirect blocks have been processed, a read request for the next N L1 indirect blocks is then sent. The technique permits parallel processing by loading indirect blocks to be processed while previously cached indirect blocks are being processed.

Claims (36)

1. A method for accelerating file deletion of a file served by a storage system, comprising:

invoking a file deletion operation to delete a selected file;

reading, in response to the file deletion operation, a high-level indirect block of a buffer tree of the selected file to locate one or more low-level indirect blocks referenced by the high-level indirect block;

issuing read requests, in response to locating the one or more low-level indirect blocks, for the one or more low-level indirect blocks;

processing a first low-level indirect block of the one or more low-level indirect blocks in parallel with executing the read requests;

preloading into a buffer cache memory a number of one or more low-level indirect blocks that were read while the first low-level block is being processed, wherein the number, of the one or more low-level indirect blocks to be preloaded, chosen to ensure that the one or more low-level indirect blocks do not overflow the buffer cache memory; and

freeing data blocks referenced by pointers of the first low-level indirect block in response to the file deletion operation to delete the data blocks.

2. The method of claim 1 , further comprising:

processing, by the storage system, the low-level indirect blocks referenced by the high-level indirect block.

3. The method of claim 1 , further comprising:

preloading the one or more low-level indirect blocks referenced by the high-level indirect block into the buffer cache of the storage system before the one or more low-level indirect blocks are needed for processing.

4. The method of claim 1 , further comprising:

processing the first low-level indirect block by clearing a set of pointers in the first low level indirect block.

5. The method of claim 1 , further comprising:

representing each low-level indirect block as a 4 KB block.

6. A storage system, comprising:

an operating system having a file deletion operation;

in response to the file deletion operation, reading a high-level indirect block of a buffer tree of a selected file to locate one or more low-level indirect blocks referenced by the high-level indirect blocks;

read requests to be issued in response to locating the one or more low-level indirect blocks;

a first low-level indirect block of the one or more low-level indirect blocks to be processed in parallel to executing the read requests;

a number of one or more low-level indirect blocks that were read to be preloaded into a buffer cache memory while the first low level indirect block is being processed, wherein the number, of the one or more low-level indirect blocks to be preloaded, chosen to ensure that the one or more low-level indirect blocks do not overflow the buffer cache memory; and

data blocks referenced by pointers of the first low-level indirect block are freed in response to the file deletion operation to delete the data blocks.

7. The system of claim 6 , further comprising:

the one or more low-level indirect blocks referenced by the high-level indirect block are processed by the storage system.

8. The system of claim 6 , further comprising:

the first low-level indirect block is processed by clearing a set of pointers in the first low level indirect block.

9. The system of claim 6 , further comprising:

each low-level indirect block represented as a 4 KB block.

10. A computer readable media, comprising:

said computer readable media containing instructions for execution on a processor for a method of accelerated file deletion of a file served by a storage system, the method having;

invoking a file deletion operation to delete a selected file;

reading, in response to the file deletion operation, a high-level indirect block of a buffer tree of the selected file to locate one or more low-level indirect blocks referenced by the high-level indirect block;

issuing read requests, in response to locating the one or more low-level indirect blocks, for the one or more low-level indirect blocks;

processing a first low-level indirect block of the one or more low-level indirect blocks in parallel to executing-the read requests;

preloading into a buffer cache memory a number of one or more low-level indirect blocks that were read while the first low-level indirect block is being processed, wherein the number, of the one or more low-level indirect blocks to be preloaded, chosen to ensure that the one or more low-level indirect blocks do not overflow the buffer cache memory; and

freeing data blocks referenced by pointers of the first low-level indirect block in response to the file deletion operation to delete the data blocks.

Assignments (3)
CHANGE OF NAME Recorded Jul 14, 2024
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 067983/0108 →
CHANGE OF NAME Recorded Sep 21, 2015
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 036610/0642 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2004
From: SRIVAS, MANDAYAM C.; LEVERETT, BRUCE W.
To: NETWORK APPLIANCE, INC.
Reel/Frame 015737/0040 →