File server system having tiered storage including solid-state drive primary storage and magnetic disk drive secondary storage
First Claim
1. A computer-implemented method of providing a client with access to a specified file stored in tiered storage including solid-state drive primary storage and magnetic disk drive secondary storage, said computer-implemented method comprising the steps of:
- (a) creating a specified file in the solid-state drive primary storage; and
(b) after the specified file has been created in the solid-state drive primary storage, moving the specified file from the solid-state drive primary storage to the magnetic disk drive secondary storage, and creating a corresponding stub file in the solid-state drive primary storage, the corresponding stub file containing file mapping metadata of the specified file in the magnetic disk drive secondary storage, the file mapping metadata of the specified file in the corresponding stub file mapping an extent of data in the specified file to a logical block address of magnetic disk drive secondary storage containing data of the specified file in the magnetic disk drive secondary storage; and
thereafter(c) responding to a request from the client for reading data of the specified file by reading the file mapping metadata from the corresponding stub file to obtain the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and reading the data of the specified file from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and returning to the client the data of the specified file read from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file,wherein the corresponding stub file is created in the solid-state drive primary storage in response to read access to the specified file after the specified file has been moved from the solid-state drive primary storage to the magnetic disk drive secondary storage.
9 Assignments
0 Petitions
Accused Products
Abstract
A file server system having solid-state drive primary storage and magnetic disk drive secondary storage aggressively moves newly created files from the primary storage to selected file systems in the secondary storage to match expected access patterns upon the files to different configurations of the file systems and for load balancing upon the file systems in the secondary storage. Upon read access to a file that has been moved to the secondary storage, or upon migration of a newly created file that was read in primary storage after creation, a corresponding stub file containing file mapping metadata is created in the primary storage. The file mapping metadata in the stub file maps the extent of the file to logical storage addresses in the secondary storage.
-
Citations
6 Claims
-
1. A computer-implemented method of providing a client with access to a specified file stored in tiered storage including solid-state drive primary storage and magnetic disk drive secondary storage, said computer-implemented method comprising the steps of:
-
(a) creating a specified file in the solid-state drive primary storage; and (b) after the specified file has been created in the solid-state drive primary storage, moving the specified file from the solid-state drive primary storage to the magnetic disk drive secondary storage, and creating a corresponding stub file in the solid-state drive primary storage, the corresponding stub file containing file mapping metadata of the specified file in the magnetic disk drive secondary storage, the file mapping metadata of the specified file in the corresponding stub file mapping an extent of data in the specified file to a logical block address of magnetic disk drive secondary storage containing data of the specified file in the magnetic disk drive secondary storage; and
thereafter(c) responding to a request from the client for reading data of the specified file by reading the file mapping metadata from the corresponding stub file to obtain the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and reading the data of the specified file from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and returning to the client the data of the specified file read from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, wherein the corresponding stub file is created in the solid-state drive primary storage in response to read access to the specified file after the specified file has been moved from the solid-state drive primary storage to the magnetic disk drive secondary storage.
-
-
2. A computer-implemented method of providing a client with access to a specified file stored in tiered storage including solid-state drive primary storage and magnetic disk drive secondary storage, said computer-implemented method comprising the steps of:
-
(a) creating a specified file in the solid-state drive primary storage; and (b) after the specified file has been created in the solid-state drive primary storage, moving the specified file from the solid-state drive primary storage to the magnetic disk drive secondary storage, and creating a corresponding stub file in the solid-state drive primary storage, the corresponding stub file containing file mapping metadata of the specified file in the magnetic disk drive secondary storage, the file mapping metadata of the specified file in the corresponding stub file mapping an extent of data in the specified file to a logical block address of magnetic disk drive secondary storage containing data of the specified file in the magnetic disk drive secondary storage; and
thereafter(c) responding to a request from the client for reading data of the specified file by reading the file mapping metadata from the corresponding stub file to obtain the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and reading the data of the specified file from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and returning to the client the data of the specified file read from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file; creating a multiplicity of files in the solid-state drive primary storage, recording that some of the files in the solid-state drive primary storage have been read by an application, and upon moving each of the files from the solid-state drive primary storage to the magnetic disk drive secondary storage, checking whether there is a record that said each of the files has been read by an application, and in response to finding that there is a record for each of the files that has been read by an application, creating a corresponding stub file in the solid-state drive primary storage for said each of the files that has been read by an application.
-
-
3. A computer-implemented method of providing a client with access to a specified file stored in tiered storage including solid-state drive primary storage and magnetic disk drive secondary storage, said computer-implemented method comprising the steps of:
-
(a) creating a specified file in the solid-state drive primary storage; and (b) after the specified file has been created in the solid-state drive primary storage, moving the specified file from the solid-state drive primary storage to the magnetic disk drive secondary storage, and creating a corresponding stub file in the solid-state drive primary storage, the corresponding stub file containing file mapping metadata of the specified file in the magnetic disk drive secondary storage, the file mapping metadata of the specified file in the corresponding stub file mapping an extent of data in the specified file to a logical block address of magnetic disk drive secondary storage containing data of the specified file in the magnetic disk drive secondary storage; and
thereafter(c) responding to a request from the client for reading data of the specified file by reading the file mapping metadata from the corresponding stub file to obtain the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and reading the data of the specified file from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and returning to the client the data of the specified file read from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file; maintaining a list of files that have been closed in the solid-state drive primary storage, and moving each file on the list from the solid-state drive primary storage to the magnetic disk drive secondary storage; and flagging certain files on the list for which corresponding stub files should be created in the solid-state drive primary storage upon moving the certain files from the solid-state drive primary storage to the magnetic disk drive secondary storage, and creating corresponding stub files in the solid-state drive primary storage for the certain files upon moving the certain files from the solid-state drive primary storage to the magnetic disk drive secondary storage, the corresponding stub files in the solid-state drive primary storage including file mapping metadata mapping data in extents of the certain files to logical block addresses of the magnetic disk drive secondary storage containing data of the certain files.
-
-
4. A file server system comprising:
-
solid-state drive primary storage; magnetic disk drive secondary storage; and at least one processor coupled to the solid-state drive primary storage and coupled to the magnetic disk drive secondary storage for providing a client with access to files in the solid-state drive primary storage and for providing the client with access to files in the magnetic disk drive secondary storage; wherein said at least one processor is programmed with a file migration engine program executable by said at least one processor to move a specified file from the solid-state drive primary storage to the magnetic disk drive secondary storage; and said at least one processor is further programmed with a stub file manager program executable by said at least one processor to create a corresponding stub file in the solid-state drive primary storage for the specified file, the corresponding stub file containing file mapping metadata of the specified file in the magnetic disk drive secondary storage, the file mapping metadata of the specified file in the corresponding stub file mapping an extent of data in the specified file to a logical block address of magnetic disk drive secondary storage containing data of the specified file in the magnetic disk drive secondary storage, and the stub file manager program is further executable by said at least one processor to respond to a request from the client for reading data of the specified file by reading the file mapping metadata from the corresponding stub file to obtain the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and said at least one processor is further programmed to read the data of the specified file from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and to return to the client the data of the specified file read from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, wherein said at least one processor is programmed to create the corresponding stub file in the solid-state drive primary storage in response to read access to the specified file after the specified file has been moved from the solid-state drive primary storage to the magnetic disk drive secondary storage.
-
-
5. A file server system comprising:
-
solid-state drive primary storage; magnetic disk drive secondary storage; and at least one processor coupled to the solid-state drive primary storage and coupled to the magnetic disk drive secondary storage for providing a client with access to files in the solid-state drive primary storage and for providing the client with access to files in the magnetic disk drive secondary storage; wherein said at least one processor is programmed with a file migration engine program executable by said at least one processor to move a specified file from the solid-state drive primary storage to the magnetic disk drive secondary storage; and said at least one processor is further programmed with a stub file manager program executable by said at least one processor to create a corresponding stub file in the solid-state drive primary storage for the specified file, the corresponding stub file containing file mapping metadata of the specified file in the magnetic disk drive secondary storage, the file mapping metadata of the specified file in the corresponding stub file mapping an extent of data in the specified file to a logical block address of magnetic disk drive secondary storage containing data of the specified file in the magnetic disk drive secondary storage, and the stub file manager program is further executable by said at least one processor to respond to a request from the client for reading data of the specified file by reading the file mapping metadata from the corresponding stub file to obtain the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and said at least one processor is further programmed to read the data of the specified file from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and to return to the client the data of the specified file read from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, wherein said at least one processor is programmed to create a multiplicity of files in the solid-state drive primary storage, to record that some of the files in the solid-state drive primary storage have been read by an application, and upon each of the files from the solid-state drive primary storage to the magnetic disk drive secondary storage, to check whether there is a record that said each of the files has been read by an application, and in response to finding that there is a record for each of the files that has been read by an application, to create a corresponding stub file in the solid-state drive primary storage for said each of the files that has been read by an application.
-
-
6. A file server system comprising:
-
solid-state drive primary storage; magnetic disk drive secondary storage; and at least one processor coupled to the solid-state drive primary storage and coupled to the magnetic disk drive secondary storage for providing a client with access to files in the solid-state drive primary storage and for providing the client with access to files in the magnetic disk drive secondary storage; wherein said at least one processor is programmed with a file migration engine program executable by said at least one processor to move a specified file from the solid-state drive primary storage to the magnetic disk drive secondary storage; and said at least one processor is further programmed with a stub file manager program executable by said at least one processor to create a corresponding stub file in the solid-state drive primary storage for the specified file, the corresponding stub file containing file mapping metadata of the specified file in the magnetic disk drive secondary storage, the file mapping metadata of the specified file in the corresponding stub file mapping an extent of data in the specified file to a logical block address of magnetic disk drive secondary storage containing data of the specified file in the magnetic disk drive secondary storage, and the stub file manager program is further executable by said at least one processor to respond to a request from the client for reading data of the specified file by reading the file mapping metadata from the corresponding stub file to obtain the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and said at least one processor is further programmed to read the data of the specified file from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file, and to return to the client the data of the specified file read from the logical block address of the magnetic disk drive secondary storage containing the data of the specified file; wherein the magnetic disk drive secondary storage contains a plurality of file systems, and wherein the file migration engine is executable by said at least one processor to move the specified file from the solid-state drive primary storage to the magnetic disk drive secondary storage by executing a respective file mover program thread for a selected one of the file systems to move the specified file from the solid-state drive primary storage to the selected one of the file systems in the magnetic disk drive secondary storage; and wherein the file systems have been configured for different application access patterns, and wherein the file server system further includes a policy engine program executable by said at least one processor to select the selected one of the file systems in the magnetic disk drive secondary storage in order to match an expected access pattern upon the specified file to a configuration of the selected one of the file systems, and to balance loading upon the file systems in the magnetic disk drive secondary storage, wherein said at least one processor is programmed to create a list of files that have been closed in the solid-state drive primary storage, and to move each file on the list from the solid-state drive primary storage to the magnetic disk drive secondary storage; and wherein said at least one processor is further programmed to flag certain files on the list for which corresponding stub files should be created in the solid-state drive primary storage upon moving the certain files from the solid-state drive primary storage to the magnetic disk drive secondary storage, and to create corresponding stub files in the solid-state drive primary storage for the certain files upon moving the certain files from the solid-state drive primary storage to the magnetic disk drive secondary storage, the corresponding stub files in the solid-state drive primary storage including file mapping metadata mapping data in extents of the certain files to logical block addresses of the magnetic disk drive secondary storage containing data of the certain files.
-
Specification