Patent ID: 7395384

Claim:
A method of performing garbage collection of data stored on a non-volatile memory storage device, said method comprising: providing a Data Allocation Table (DAT) which includes a deallocation status for each one of a plurality of clusters used by a host to logically organize data; monitoring a root directory, a File Allocation Table (FAT), and one or more subdirectories, to determine whether one or more sectors of one or more of said clusters have been deallocated; updating said Data Allocation Table (DAT) based on said monitoring; reading a deallocation status in said Data Allocation Table (DAT), wherein said deallocation status is associated with a first cluster that is stored as a first portion of a first block of non-volatile memory; and copying one or more sectors of said first portion of said first block to a second block only when said deallocation status is set to allocated to indicate allocation of data to a file.