1460756189-fddf9c9f-932e-40f0-bc3a-651c33ac3623

1. A computer-implemented method for arranging files on a computer system storage device, comprising:
determining commonly used files based on an analysis of a type of computer system utilizing the storage device, including determining a type of operating system;
determining commonly used files, and any related files, by monitoring system operation;
determining a specific physical order to store the files on the storage device based on the determinations of commonly used files and related files;
analyzing available fee space on the storage device;
re-arranging pre-determining files and placing the predetermined files in a pre-determined location before re-arranging any remaining files; and
re-arranging any remaining files on the storage device according to the determined specific order by placing the files in sequential and contiguous locations on the storage device in a directory structure of a file system; wherein the analyzing of available free space and the re-arranging of the files are performed dynamically during system operation.
2. The method of claim 1, wherein the files are physically placed on the storage device according to a priority grouping of related files, wherein the prioritized grouping of files are placed contiguously in a next available prioritized free space chunk, and if the next free space chunk is filled before an entire grouping of files is stored, an additional free space chunk is selected for storing the grouping of files.
3. The method of claim 1, further comprising:
determining locations on the storage device which have a rate of data entropy higher than a threshold value;
monitoring the locations which have been determined to have a rate of data entropy higher than the threshold value; and
automatically performing the steps of analyzing available free space and re-arranging the files on the determined locations, when the rate of data entropy exceeds the threshold value.
4. The method of claim 1, wherein the storage device is a hard disk drive, and the files are placed on the disk drive to reduce head movement when accessing related files.
5. The method of claim 1, wherein the step of re-arranging the files minimizes data entropy including file fragmentation on the storage device.
6. A computer readable non-transitory medium including computer program code for arranging data files on a data storage device, said computer readable non-transitory medium comprising:
computer program code for determining logical data relationships of files on a data storage device;
computer program code for identifying a first sub-set of commonly used files based on a type of computer system accessing the storage device;
computer program code for monitoring system operation to determine a second sub-set of data or files that are commonly used during system operation;
computer program code for re-arranging the determined first and second sub-sets of commonly used files, and any related files, by storing the first and second sub-sets and any related files in physically contiguous groups on the storage device;
computer program code for analyzing free space on the storage device;
computer program code for placing pre-determined files in a pre-determined location before re-arranging any remaining files; and
computer program code for re-arranging any remaining files on the storage device by placing logically related files in a file directory structure in close proximity to each other physically on the storage device, based on the determined logical data relationships;
wherein the re-arranging is performed for substantially all of the files on the storage device; and
wherein the computer program code for analyzing available free space and re-arranging the files are executed dynamically during system operation.
7. The computer readable medium of claim 6, wherein the computer program code for determining logical data relationships comprises computer program code for determining a file directory index structure of a computer system file system.
8. The computer readable medium of claim 7, further comprising computer program code for storing sets of logically related files from each folder of the file directory structure in a logical order contiguously on the storage device.
9. The computer readable medium of claim 7, further comprising computer program code for physically placing the files on the storage device according to a priority grouping of related files.
10. The computer readable medium of claim 9, further comprising computer program code for placing a prioritized grouping of files contiguously in a next available prioritized free space chunk, and if the next free space chunk is filled before an entire grouping of files is stored, an additional free space chunk is selected for storing the grouping of files.
11. The computer readable medium of claim 7, further comprising:
computer program code for determining locations on the storage device which have a rate of data entropy higher than a threshold value;
computer program code for monitoring the locations which have been determined to have a data entropy rate higher than the threshold value; and
computer program code for automatically performing the steps of analyzing available free space and re-arranging the files on the determined locations.
12. A computer readable non-transitory medium including computer program code for reducing data entropy on a data storage device of a computer system, the computer readable non-transitory medium comprising:
computer program code for determining a file directory indexing structure of a file system on a data storage device, including directories and files;
computer program code for identifying a first sub-set of commonly used files based on a type of computer system accessing the storage device;
computer program code for monitoring system operation to determine a second sub-set of data or files that are commonly used during system operation;
computer program code for re-arranging the determined first and second sub-sets of commonly used files, and any related files, by storing the first and second sub-sets of files and any related files in physically contiguous groups on the storage device;
computer program code for analyzing available free space on the storage device;
computer program code for placing pre-determined files in a pre-determined location; and
computer program code for re-arranging all remaining files on the storage device by placing logically related files in a file directory structure in close proximity to each other physically on the storage device, based on the file directory indexing structure; wherein the files are physically placed on the storage device according to a priority grouping of related files, wherein the prioritized grouping of files are placed contiguously in a next available prioritized free space chunk, and if the next fee space chunk is filled before an entire grouping of files is stored, an additional free space chunk is selected for storing the grouping of files;
wherein the computer program code for analyzing available free space and re-arranging the files are executed dynamically during system operation, and the resulting files are re-arranged in the file directory structure.
13. A computer system for arranging data files on a data storage device, said computer system comprising:
a processor for executing computer program code, the computer code comprising:
computer program code for determining logical data relationships of files on a data storage device;
computer program code for identifying a first sub-set of commonly used files based on a type of computer system accessing the storage device;
computer program code for monitoring system operation to determine a second sub-set of data or files that are commonly used during system operation;
computer program code for re-arranging the determined first and second sub-sets of commonly used files, and any related files, by storing the first and second sub-sets of files and any related files in physically contiguous groups on the storage device;
computer program code for placing pre-determined files in a pre-determined location before re-arranging any remaining files; and
computer program code for re-arranging any remaining files on the storage device by placing logically related files in close proximity to each other physically on the storage device, based on the determined logical data relationships;
wherein the re-arranging is performed for substantially all of the files on the storage device; and
wherein the computer program code for re-arranging the files is executed dynamically during system operation.
14. The computer system of claim 13, wherein the computer program code for determining logical data relationships comprises computer program code for determining a file directory index structure of a computer system file system.
15. The computer system of claim 13, further comprising computer program code for analyzing available free space on the storage device before re-arranging the files.
16. The computer system of claim 15, further comprising computer program code for storing sets of logically related files from each folder of the file directory structure in a logical order contiguously on the storage device.
17. The computer system of claim 15, further comprising computer program code for physical placing the files on the storage device according to a priority grouping of related files.
18. The computer system of claim 17, further comprising computer program code for placing a prioritized grouping of files contiguously in a next available prioritized free space chunk, and if the next free space chunk is filled before an entire grouping of files is stored, an additional free space chunk is selected for storing the grouping of files.
19. The computer system of claim 15, further comprising:
computer program code for determining locations on the storage device which have a rate of data entropy higher than a threshold value;
computer program code for monitoring the locations which have been determined to have a data entropy rate higher than the threshold value; and
computer program code for automatically performing the steps of analyzing available free space and re-arranging the files on the determined locations.
20. A computer system for arranging files on a computer system storage device, the computer system comprising:
a processor for executing computer program code, the computer program code comprising:
computer program code for determining commonly used files based on an analysis of a type of computer system utilizing the storage device, including determining a type of operating system;
computer program code for determining commonly used files, and any related files, by monitoring system operation;
computer program code for determining a specific physical order to store the files on the storage device based on the determinations of commonly used files and related files;
computer program code for analyzing available free space on the storage device;
computer program code for re-arranging predetermined files and placing the predetermined files in a pre-determined location before re-arranging any remaining files; and
computer program code for re-arranging any remaining files on the storage device according to the determined specific order by placing the files in sequential and contiguous locations on the storage device in a file directory structure;
wherein the computer program code for analyzing available free space and re-arranging the files are executed dynamically during system operation and the resulting files are re-arranged in the file directory structure.
21. The computer system of claim 20, further comprising computer program code for physically placing on the storage device according to a priority grouping of related files, wherein the prioritized grouping of files are placed contiguous in a next available prioritized free space chunk, and if the next free space chunk is filled before an entire grouping of files is stored, an additional free space chunk is selected for storing the grouping of files.
22. The computer system of claim 20, further comprising:
computer program code for determining locations on the storage device which have a rate of data entropy higher than a threshold value;
computer program code for monitoring the locations which have been determined to have a data entropy higher than the threshold value; and
computer program code for automatically performing the steps of analyzing available free space and re-arranging the files on the determined locations, when the rate of data entropy exceeds the threshold value.
23. A computer readable non-transitory medium including computer program code for arranging data files on a data storage device, said computer readable non-transitory medium comprising:
computer program code for determining logical data relationships of files on a data storage device;
computer program code for analyzing available free space on the storage device;
computer program code for identifying a first sub-set of commonly used files based on a type of computer system accessing the storage device;
computer program code for monitoring system operation to determine a second sub-set of data or files that are commonly used during system operation; and
computer program code for re-arranging the determined first and second sub-sets of commonly used files, and any related files, by storing the first and second sub-sets of files and any related files in physically contiguous groups on the storage device;
computer program code for re-arranging the files on the storage device by placing logically related files in close proximity to each other physically on the storage device, based on the determined logical data relationships;
computer program code for determining locations on the storage device which have a rate of data entropy higher than a threshold value;
computer program code for monitoring the locations which have been determined to have a data entropy rate higher than the threshold value;
computer program code for automatically performing the steps of analyzing available free space and re-arranging the files on the determined locations; and
wherein the re-arranging is performed without any prior analysis of file usage; and wherein the computer program code for analyzing available free space and re-arranging the files are executed dynamically during system operation and the resulting files are re-arranged in the file directory structure.
24. The computer readable medium of claim 23, wherein the computer program code for determining logical data relationships comprises computer program code for determining a file directory index structure of a computer system file system.
25. The computer readable medium of claim 24, further comprising computer program code for placing pre-determined files in a pre-determined location before re-arranging the remaining files.
26. The computer readable medium of claim 25, further comprising computer code for storing sets of logically related files from each folder of the file directory structure in a logical order contiguously on the storage device.
27. The computer readable medium of claim 24, further comprising computer code for physically placing the files on the storage device according to a priority grouping of related files.
28. The computer readable medium of claim 27, further comprising computer program code for placing a prioritized grouping of files contiguously in a next available prioritized free space chunk, and if the next free space chunk is filled before an entire grouping of files is stored, an additional free space chunk is selected for storing the grouping of files.
29. A computer-implemented method for arranging files on a computer system storage device, comprising:
determining commonly used files based on an analysis of a type of computer system utilizing the storage device, including determining a type of operating system;
determining commonly used files, and any related files, by monitoring system operation;
determining a specific physical order to store the files on the storage device based on the determinations of commonly used files and related files;
analyzing available free space on the storage device;
re-arranging the files on the storage device according to the determined specific order by placing the files in sequential and contiguous locations on the storage device in a directory structure of a file system;
determining locations on the storage device which have a rate of data entropy higher than a threshold value;
monitoring the locations which have been determined to have a rate of data entropy higher than the threshold value; and
automatically performing the steps of analyzing free space and re-arranging the files on the determined locations, when the rate of data entropy exceeds the threshold value.
30. A computer readable non-transitory medium including computer program code for arranging files on a data storage device, said computer readable non-transitory medium comprising:
computer program code for determining logical data relationships of files on a data storage device;
computer program code for determining commonly used files, and any related files, by monitoring system operation;
computer program code for analyzing available free space on the storage device;
computer program code for re-arranging the files on the storage device by placing logically related files in a file directory structure in close proximity to each other physically on the storage device, based on the determined logical data relationships;
computer program code for determining locations on the storage device which have a rate of entropy higher than a threshold value;
computer program code for monitoring the locations which have been determined to have a data entropy rate higher than the threshold value; and
computer program code for automatically performing the steps of analyzing available free space and re-arranging the files on the determined locations;
wherein the re-arranging is performed for substantially all of the files on the storage device; and
wherein the computer program code for analyzing available free space and re-arranging the files are executed dynamically during the system operation.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1-84. (canceled)
85. A method for detecting a defect at a region on a surface of a substrate and for discriminating between particle defects and subsurface defects, the method comprising;
directing a first beam of polarized light to impinge at said region on the surface at a first incident angle relative to a direction normal to the surface;
collecting scattered light caused by the first beam over a predetermined area and integrating the intensities of the scattered light over said area to form a first integrated response;
directing a second beam of P-polarized light to impinge at said region on the surface at a second incident angle relative to a direction normal to the surface and where the second incident angle is greater than the first incident angle;
collecting scattered light caused by the second beam over said area and integrating the intensities of the scattered light over said area to form a second integrated response; and
comparing the first and second integrated responses to determine whether a defect is a particle or a subsurface defect.
86. The method of claim 85, wherein the second beam is directed at an incident angle of about 45-85 degrees relative to a normal to the surface.
87. The method of claim 85, wherein the scattered light is collected over a range of angles from negative to positive to a plane normal to the surface.
88. The method of claim 85, wherein the steps of collecting the scattered light comprise using a wide angle collector to collect the light.
89. The method of claim 85, wherein the steps of collecting the scattered light and integrating the scattered light intensities comprise capturing the scattered light over the predetermined area and focusing the captured light onto a detector operable for measuring light intensity.
90. A method for detecting a defect at a region on a surface of a substrate and for discriminating between particle defects and subsurface defects, the method comprising:
directing a begin of polarized light to impinge at said region on the surface at a predetermined incident angle relative to a direction normal to the surface;
collecting scattered light caused by the beam at a plurality of locations over a wide angular range and integrating the intensities of the scattered light from said locations to form a first integrated response;
directing a beam of S-polarized light to impinge at said region on the surface at a predetermined incident angle relative to a direction normal to the surface;
collecting scattered light caused by the S-polarized beam at said locations and integrating the intensities of the scattered light from said locations to form a second integrated response; and
comparing the first and second integrated responses to determine whether a defect is a particle or a subsurface defect.
91. The method of claim 90, wherein the scattered light is collected over a range of angles from negative to positive relative to a plane normal to the surface.
92. The method of claim 90, wherein the steps of collecting the scattered light comprise using a wide angle collector to collect the light.
93. The method of claim 90, where the steps of collecting the scattered light and integrating the scattered light intensities comprise capturing the scattered light over the wide angular range and focusing the captured light onto a detector operable for measuring light intensity.
94. An apparatus for detecting a defect at a region on a surface of a substrate and for discriminating between particle defects and subsurface defects, the apparatus comprising:
at least one light source operable to create a first polarized beam of light and direct the first beam onto the region of the substrate surface at a first incident angle relative to a direction normal to the surface, and operable to create a second beam of P-polarized light and direct the second beam onto the region of the substrate surface at a second incident angle relative to a direction normal to the surface and greater than the first incident angle;
a collection system positioned above the substrate surface for receiving light scattered from the surface to a plurality of locations distributed over a range of angles above the substrate surface, the collection system being operable for integrating intensities of the scattered light over said plurality of locations to produce total integrated response signals corresponding to the first light beam and the second P-polarized light beam; and
a processor in communication with the collection system and operable for comparing the total integrated response signal caused by the first P-polarized light beam with the total integrated response signal caused by the second P-polarized light beam to determine whether a defect is a particle or a subsurface defect.
95. The apparatus of claim 94, wherein the collection system includes at least one wide angle collector.