Hybrid Storage Device
In one embodiment, a hybrid storage device including a persistent memory, a volatile memory, a processor, a memory loader module that enables the processor to load a first set of information from the persistent memory device to the volatile memory device, to organize the first set of information according to a predetermined format, and a storage drive interface controller that enables the processor to receive information access requests from a host computer, to provide a second set of information from the volatile memory device to the host computer, and to provide a metadata descriptive of the first set of information to the host computer is disclosed. A host computer is enabled to access the first set of information using metadata provided by the storage drive interface controller without having the first set of information in a local memory of the host computer. The time required to access the first set of information is reduced by having the first set of information in volatile memory in the hybrid storage device. Other embodiments include, a system having a host computer and a hybrid storage device and methods using a hybrid storage device in a host computer.
1 . A hybrid storage device comprising:
a persistent memory device;
a volatile memory device;
a processor, wherein the persistent memory device and the volatile memory device are coupled to the processor;
a memory loader module that enables the processor to load a first set of information from the persistent memory device and to organize the first set of information according to a predetermined format in the volatile memory device; and
a storage drive interface controller module that enables the processor to receive information access requests from a host computer coupled to the hybrid storage device, to respond to the information access requests using the first set of information in the volatile memory device, and to provide a metadata descriptive of the first set of information to the host computer,
whereby the host computer is enabled to access the first set of information using the metadata without having the first set of information in a local memory of the host computer, and whereby the time required by the host computer to access the first set of information is reduced by having the first set of information stored in the volatile memory device.
2 . The hybrid storage device of claim 1 , wherein the first set of information includes a filesystem, and wherein the predetermined format is a filesystem format.
3 . The hybrid storage device of claim 2 , wherein the filesystem is a root filesystem.
4 . The hybrid storage device of claim 2 , wherein the first set of information further includes a boot device indicator according to the filesystem format.
5 . The hybrid storage device of claim 1 , wherein information access requests include storage service commands.
6 . The apparatus of claim 1 , wherein the persistent memory device includes a solid state memory media.
7 . The hybrid storage device of claim 1 , wherein the processor includes a field programmable gate array (FPGA).
8 . The hybrid storage device of claim 1 , further comprising:
a static random access memory (static RAM) device, wherein the static RAM device is coupled to the processor.
9 . The hybrid storage device of claim 1 , further comprising:
a configuration device, wherein the configuration device is coupled to the processor, whereby the configuration device is used to configure the persistent memory device.
10 . The hybrid storage device of claim 1 , further comprising:
a power distributor device that provides power to the apparatus.
11 . The hybrid storage device of claim 10 , wherein the power distributor device includes a battery charge, and wherein the apparatus is powered from the battery charge.
12 . The hybrid storage device of claim 1 , further comprising:
a backup power source coupled to the volatile memory device, wherein the backup power source provides power to the volatile memory device in the event of power loss in the apparatus, whereby the first set of information in the volatile memory device is preserved such that the time required to make the first information available to the host computer is reduced.
13 . The hybrid storage device of claim 1 , further comprising a status monitoring device, wherein the status monitoring device monitors one or more of the processor, the persistent memory device, the volatile memory device, the memory loader module, and the storage drive interface controller.
14 . A system comprising:
a host computer; and
a hybrid storage device coupled to the host computer, wherein the hybrid storage device comprises:
a persistent memory device;
a volatile memory device;
a processor, wherein the persistent memory device and the volatile memory device are coupled to the processor;
a memory loader module that enables the processor to load a first set of information from the persistent memory device and to organize the first set of information according to a predetermined format in the volatile memory device; and
a storage drive interface controller that enables the processor to receive information access requests from the host computer, to respond to the information access requests using the first set of information in the volatile memory, and to provide a metadata descriptive of the first set of information to the host computer,
whereby the host computer is enabled to access the first set of information using the metadata without having the first set of information in a local memory of the host computer, and whereby the time required by the host computer to access the first set of information is reduced by having the first set of information in volatile memory.
15 . A method comprising:
coupling a hybrid storage device to a host computer;
loading a first set of information from a persistent memory device to a volatile memory device and organizing the first set of information according to a predetermined format in the volatile memory device, wherein the persistent memory device and the volatile memory device are located in the hybrid storage device;
providing a metadata descriptive of the first set of information in the volatile memory device to a local random access memory (local RAM), wherein the local RAM is located in the host computer; and
accessing a second set of information using the metadata located in the local RAM, wherein the first set of information located in the volatile memory device includes the second set of information.
16 . The method of claim 15 , wherein the loading a first set of information includes:
accessing a compressed data image located in the persistent memory device; and
generating an uncompressed data image from the compressed data image, wherein the uncompressed data image is located in the volatile memory device.
17 . The method of claim 16 , wherein the first set of information includes a root filesystem.
18 . The method of claim 15 , wherein the accessing a second set of information comprises:
checking for the presence of a target data block in the local RAM, wherein the target data block includes the second set of information;
loading the target data block from the volatile memory device into the local RAM;
writing to the target block in the local RAM; and
updating the target block in the volatile memory device.
19 . A method comprising:
coupling a hybrid storage device to a host computer;
loading a first set of information from a persistent memory device to a volatile memory device and organizing the first set of information according to a predetermined format, wherein the persistent memory device and the volatile memory device are located in the hybrid storage device;
loading access information to a local random access memory (local RAM), wherein the local RAM is located in the host computer, and wherein the access information includes information necessary to access the first set of information in the volatile memory; and
writing a second set of information from local RAM, using the access information located in the local RAM, to the volatile memory device.