IP Library Granted Patent US 7,966,351
Granted Patent B2
US 7,966,351 · App. 12/843,389 · Granted Jun 21, 2011

Fast and efficient method for deleting very large files from a filesystem

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,966,351
App. No.
12/843,389
Granted
Jun 21, 2011
Kind
B2
Abstract

In the current invention, a method and apparatus for efficiently deleting large files is described. This is done by having a special inode for pointing to data blocks to be freed, and subsequently freeing the data blocks from the special inode in a controlled manner.

Claims (46)

1. A digital video recorder comprising:

a processor; and

a memory, comprising:

a first target file associated with one or more first data blocks and with a first file record;

a second target file associated with one or more second data blocks and with a second file record; and

a single garbage collection file record, wherein the garbage collection file record is configured to only point to data blocks of files marked for deletion;

wherein the processor is configured to:

copy an address of the one or more first data blocks associated with the first target file, from the first file record associated with the first target file, to the garbage collection file record,

copy an address of the one or more second data blocks associated with the second target file, from the second file record associated with the second target file, to the garbage collection file record, and

traverse the garbage collection file record and free the data blocks of the files marked for deletion.

2. The digital video recorder of claim 1 , wherein the first target file comprises a video feed.

3. The digital video recorder of claim 1 , further comprising:

a tuner, wherein the tuner is configured to transmit a video feed to the processor, and wherein the processor is further configured to store the video feed to the first target file.

4. The digital video recorder of claim 1 , wherein the processor is further configured to perform additional operations while the traversing the garbage collection file record and the freeing the data blocks of the files marked for deletion occurs in the background.

5. The digital video recorder of claim 1 , wherein the memory comprises a fixed recording medium.

6. The digital video recorder of claim 5 , wherein the fixed recording medium comprises a hard disk drive.

7. A method comprising:

copying an address of one or more first data blocks associated with a first target file, from a first file record associated with the first target file, to a single garbage collection file record, wherein the garbage collection file record is configured to only point to data blocks of files marked for deletion;

copying an address of one or more second data blocks associated with a second target file, from a second file record associated with the second target file, to the garbage collection file record; and

traversing the garbage collection file record and freeing the data blocks of the files marked for deletion.

8. The method of claim 7 , wherein the copying comprises:

copying an indirect block pointer within the first file record associated with the first target file to the garbage collection file record, wherein the indirect block pointer points to an indirect block comprising a list of pointers to a set of blocks.

9. The method of claim 7 , wherein the copying comprises:

copying a doubly indirect block pointer within the first file record associated with the first target file to the garbage collection file record, wherein the doubly indirect block pointer points to a doubly indirect block comprising a list of pointers to a set of indirect blocks, the set of indirect blocks comprising a list of pointers to a set of blocks.

10. The method of claim 7 , further comprising:

performing additional operations while the traversing of the garbage collection file record and the freeing of the data blocks of the files marked for deletion occurs in the background.

11. The method of claim 7 , further comprising:

receiving a video feed; and

storing the video feed to the first target file.

12. The method of claim 11 , further comprising:

directing the first target file to one or more decoders for output to a display.

13. A computer-readable storage medium having computer program logic recorded thereon that, when executed by a processor, causes the processor to perform a method, the method comprising:

copying an address of one or more first data blocks associated with a first target file, from a first file record associated with the first target file, to a single garbage collection file record, wherein the garbage collection file record is configured to only point to data blocks of files marked for deletion;

copying an address of one or more second data blocks associated with a second target file, from a second file record associated with the second target file, to the garbage collection file record; and

traversing the garbage collection file record and freeing the data blocks of the files marked for deletion.

14. The computer-readable storage medium of claim 13 , wherein the copying comprises:

copying an indirect block pointer within the first file record associated with the first target file to the garbage collection file record, wherein the indirect block pointer points to an indirect block comprising a list of pointers to a set of blocks.

15. The computer-readable storage medium of claim 13 , wherein the copying comprises:

copying a doubly indirect block pointer within the first file record associated with the first target file to the garbage collection file record, wherein the doubly indirect block pointer points to a doubly indirect block comprising a list of pointers to a set of indirect blocks, the set of indirect blocks comprising a list of pointers to a set of blocks.

16. The computer-readable storage medium of claim 13 , the method further comprising:

performing additional operations while the traversing of the garbage collection file record and the freeing of the data blocks of the files marked for deletion occurs in the background.

17. The computer-readable storage medium of claim 13 , the method further comprising:

receiving a video feed; and

storing the video feed to the first target file.

18. The computer-readable storage medium of claim 17 , the method further comprising:

directing the first target file to one or more decoders for output to a display.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 47630 FRAME: 344. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0267 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 9/5/2018 PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0687. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0344 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0687 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2010
From: RAJAKARUNANAYAKE, YASANTHA NIRMAL
To: BROADCOM CORPORATION
Reel/Frame 024740/0305 →