Patent ID: 6397311
Filing Date: 2002-05-28
Classification: G06F

Abstract:
A system for defragmenting a disk film system by arranging each block without gaps and in proper logical order, comprising:a storage circuit; a first circuitry for reading a first contiguous portion of the disk file system comprising a fragmented plurality of blocks into a first buffer in a storage circuit, and wherein said first contiguous portion has a size of n blocks, and wherein n is an integer; a second circuitry for writing said fragmented plurality of blocks from said first buffer into a free space in the disk file system; a third circuitry for continuous placing a second plurality of n blocks into a second buffer in the storage circuit; and a fourth circuitry for contiguously writing said second plurality of blocks from said second buffer into said first contiguous portion of the disk file system without leaving gaps of said free space between adjacent blocks and in proper logical order, thereby writing said n blocks into said first contiguous portion of the disk file system, wherein said system further comprises: a plurality of file system control structures, each of which is associated with a block, comprises a pointer to said block, and having a location; circuitry for creating a block descriptor array comprising data describing the location of said file system control structure for each block in the disk file system; circuitry for storing said block descriptor array; and circuitry for updating said block descriptor array during the defragmentation process as the locations of said blocks are changed, wherein said system further comprises circuitry for changing values of pointers of said file system control structures associated with blocks which are moved during the defragmentation process, wherein said circuitry for changing comprises inode cache circuitry for storing inodes having multiple pointers to be changed during the defragmentation of the disk file system such that said multiple pointers are adapted to be changed in said inode cache circuitry and wherein said inodes are adapted to be updated in said disk file system using a single write operation for each block of said inodes.