DIRECT MASS STORAGE DEVICE FILE INDEXING
First Claim
1. A method performable by a media content processing system for enumerating media content stored on an MSD volume that is formatted using FAT, the method comprising the steps of:
- implementing in a memory a request queue for use by a file indexing process running on the media content processing system;
reading a cluster containing directory or file data for the media content, the reading being performed so that clusters are read sequentially from the MSD volume;
tracking a location of the cluster by (a) associating a request item with the cluster, (b) saving the request item in the request queue, (c) comparing the request item against an upper limit for a length of the request queue, the upper limit indicating that all clusters containing metadata associated with a given directory or file have been read, and (d) comparing the request item against a lower limit for the length of the request queue, the lower limit indicating that not all the clusters containing metadata associated with the given directory or file have been read; and
iteratively performing the reading and tracking of clusters from the MSD volume until the upper limit is met and then parsing the directory or data to generate a file index for the media content.
2 Assignments
0 Petitions
Accused Products
Abstract
An arrangement for enumerating data, such as media content including music, that is stored on external hard drive-based mass storage devices is provided by a media content processing system that implements a direct mass storage device file indexing process. This file indexing process is configured for finding all files and directories on the mass storage device, and reading through those parts of the files which contain metadata (such as album name, artist name, genre, track title, track number etc.) about the file. Use of the media content processing system reduces file enumeration time by minimizing the amount of physical movement of the read/write head in the hard disk drive that is used by the mass storage device. This motion minimization is accomplished by reading the clusters of directory and file data in a sequential manner on the hard disk, rather than randomly performing such read operations.
37 Citations
20 Claims
-
1. A method performable by a media content processing system for enumerating media content stored on an MSD volume that is formatted using FAT, the method comprising the steps of:
-
implementing in a memory a request queue for use by a file indexing process running on the media content processing system; reading a cluster containing directory or file data for the media content, the reading being performed so that clusters are read sequentially from the MSD volume; tracking a location of the cluster by (a) associating a request item with the cluster, (b) saving the request item in the request queue, (c) comparing the request item against an upper limit for a length of the request queue, the upper limit indicating that all clusters containing metadata associated with a given directory or file have been read, and (d) comparing the request item against a lower limit for the length of the request queue, the lower limit indicating that not all the clusters containing metadata associated with the given directory or file have been read; and iteratively performing the reading and tracking of clusters from the MSD volume until the upper limit is met and then parsing the directory or data to generate a file index for the media content. - View Dependent Claims (2, 3)
-
-
4. A computer readable medium containing instructions which, when performed by one or more processors disposed in an electronic device, performs a method for creating a file index for data stored on an MSD volume, the method comprising the steps of:
-
identifying an indexable file stored on the MSD volume by file extension; iteratively accessing clusters associated with the identified file in a sequential manner from the MSD volume using a plurality of passes through the MSD volume; examining a cluster to determine if the cluster contains sufficient metadata to create an entry in the file index for the identified file; if the cluster contains sufficient metadata, then passing parseable data for the identified file from the cluster for inclusion in the file index; if the cluster does not contain sufficient metadata, then storing a work item for the cluster in a queue in system memory of the device to indicate that one or more additional clusters are needed to enable passing parseable data for the identified file; and generating the file index using the parseable data. - View Dependent Claims (5)
-
-
6. A system for processing content stored on a volume that is formatted using FAT, comprising:
-
a file index processing layer supporting an indexing process for caching FAT table data, and for queuing request items associated with portions of files or directories on the volume, the queued request items being used for caching data that is used for generating a file index for the processed content; a media core layer that is operatively coupled to the media processing layer and arranged for receiving call back notifications from the file index processing layer by which directory data or file data is identified to a caller operating in the media core layer; memory operatively coupled to the file indexing processing layer for implementing a FAT table cache and implementing a request item queue arranged for queuing the request items; and an interface for reading content stored on the volume. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification