Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
First Claim
1. A method, comprising:
- providing a file-based interface for a mass storage system to a host, the mass storage system comprising a primary storage device and a secondary storage device, the primary storage device comprising a solid-state storage device, wherein providing the file-based interface comprises;
identifying individual files by unique file identifiers and offsets within the individual files stored within one or more of the primary storage device and the secondary storage device, the offsets configurable to reference locations within the individual files other than a beginning of the individual files;
implementing a logical interface between the primary storage device and the secondary storage device, wherein implementing the logical interface comprises;
mapping unique file identifiers and offsets corresponding to file data stored within the secondary storage device to a logical address space associated with the secondary storage device;
writing data sent by the host to the mass storage system, the writing comprising;
storing the data in the primary storage device in response to the primary storage device having space available for storing the data; and
scheduling a copy operation for transferring data from the primary storage device to the secondary storage device, the copy operation comprising mapping a unique file identifier and offset for data copied in the copy operation to logical addresses for the copied data within the secondary storage device.
6 Assignments
0 Petitions
Accused Products
Abstract
System and method for transferring data between a host system and a data storage system is provided. The system includes an interface that uses a file based protocol to transfer data between the data storage system and the host system, wherein the data storage system includes a first mass storage device and a second mass storage device; wherein the first mass storage device is a solid state non-volatile memory device and the second mass storage device is a non-solid state memory device. The first mass storage device is a flash memory device that operates as a primary storage device that stores data on a file by file basis. The second mass storage device is a magnetic disk drive that operates as secondary storage device and stores data received via a logical interface.
-
Citations
15 Claims
-
1. A method, comprising:
-
providing a file-based interface for a mass storage system to a host, the mass storage system comprising a primary storage device and a secondary storage device, the primary storage device comprising a solid-state storage device, wherein providing the file-based interface comprises; identifying individual files by unique file identifiers and offsets within the individual files stored within one or more of the primary storage device and the secondary storage device, the offsets configurable to reference locations within the individual files other than a beginning of the individual files; implementing a logical interface between the primary storage device and the secondary storage device, wherein implementing the logical interface comprises; mapping unique file identifiers and offsets corresponding to file data stored within the secondary storage device to a logical address space associated with the secondary storage device; writing data sent by the host to the mass storage system, the writing comprising; storing the data in the primary storage device in response to the primary storage device having space available for storing the data; and scheduling a copy operation for transferring data from the primary storage device to the secondary storage device, the copy operation comprising mapping a unique file identifier and offset for data copied in the copy operation to logical addresses for the copied data within the secondary storage device. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
-
receiving unique file identifiers and offsets at a mass storage system comprising a first non-volatile storage device and a second non-volatile storage device, wherein; the first non-volatile storage device comprises a file-based interface for referencing file data by use of unique file identifiers and offsets generated by a host system; and the second non-volatile storage device comprises a logical interface for referencing file data by use of logical addresses of a logical address space; receiving a request to read file data from the mass storage system, the request comprising a unique file identifier and offset; determining a storage location for the requested file data by use of a file locator table of the mass storage system, the file locator table associating unique file identifiers and offsets with one or more of; a file identifier and offset corresponding to the file-based interface of the first non-volatile storage device; and a logical address corresponding to the logical interface of the second non-volatile storage device; in response to the file locator table associating the requested file data with the first non-volatile storage device; accessing the file data from the first non-volatile storage device by use of the received unique file identifier and offset; and in response to the file locator table associating the requested file data with the second non-volatile storage device; accessing the file data from the second non-volatile storage device by use of a logical address mapped to the received unique file identifier and offset; and scheduling a copy operation to transfer the file data to the first non-volatile storage device. - View Dependent Claims (6, 7, 8)
-
-
9. A method, comprising:
-
providing a file-based interface to a host system at a first non-volatile mass storage device of a mass storage system, wherein providing the file-based interface comprises identifying individual files of data by unique file identifiers and offsets within the individual files stored within the mass storage system, wherein the host system generates the unique file identifiers and the offsets, and sends the file identifiers and offsets to the mass storage system, the offsets configurable to reference locations within the individual files other than a beginning of the individual files; providing a logical interface between the first non-volatile mass storage device and a second non-volatile mass storage device of the mass storage system, wherein providing the logical interface comprises identifying file data stored within the second non-volatile mass storage device by use of logical addresses of a logical address space, and mapping the logical addresses of the file data to corresponding unique file identifiers and offsets of the file-based interface; receiving a request to write specified file data through the file-based interface; writing the specified file data to the first non-volatile mass storage device; and in response to determining to segment the specified file data within the mass storage system; copying a file segment of the specified file data to the second non-volatile mass storage device from the first non-volatile mass storage device by use of the logical interface; and mapping a logical address associated with the file segment stored within the second non-volatile mass storage device to a corresponding unique file identifier and offset, such that the file segment stored within the second non-volatile mass storage device is capable of being referenced by the host system through the file-based interface. - View Dependent Claims (10, 11)
-
-
12. A method, comprising:
-
receiving a write command from a host system through a file-based interface provided by a first non-volatile mass storage device of a mass storage system, the file-based interface associating file data stored within the mass storage system with unique file identifiers and offsets, the offsets capable of referencing locations within respective files other than a beginning of the respective files; in response to determining that space is available in the first non-volatile mass storage device for storing file data of the write command; writing the file data in the first non-volatile mass storage device; and in response to determining that space is not available for writing the file data in the first non-volatile mass storage device; transferring a file from the first non-volatile mass storage device to a second non-volatile mass storage device of the mass storage system through a logical interface provided by the second non-volatile mass storage device, the logical interface assigning files to logical addresses of a logical address space, the transferring comprising; recording mappings between logical addresses assigned to the transferred file in the logical interface of the second non-volatile mass storage device and a unique file identifier and offset for the transferred file in the file-based interface, such that the transferred file stored within the second non-volatile mass storage device is capable of being referenced by use of the unique file identifier and offset through the file-based interface provided by the first non-volatile mass storage device; and writing the file data to the first non-volatile mass storage device in response to the transferring. - View Dependent Claims (13, 14, 15)
-
Specification