Home storage device and software including management and monitoring modules

In general, embodiments of the present invention provide a home storage system. Specifically, in a typical embodiment, the home storage system includes a graphical user interface for graphically accessing features of the home storage system; an internal storage management and monitoring module for managing and monitoring a set of semiconductor storage device (SSD) memory units and a set of hard disk drive (HDD) memory units within the home storage system; an external interface management and monitoring module for managing and monitoring network connectivity of the home storage system; and a portable storage management and monitoring module for managing and monitoring at least one type of external memory coupled to the home storage system.

CROSS-REFERENCE TO RELATED APPLICATION

This application is related in some aspects to commonly-owned and co-pending patent application Ser. No. 12/848,281, entitled “Hybrid RAID Controller”, which was filed Aug. 2, 2010, the entire contents of which are herein incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to home storage systems. Specifically, the present invention relates to PCI-Express-based hybrid RAID controlled home storage systems.

BACKGROUND OF THE INVENTION

As the home storage device market continues to grow, there is an increasing need towards improving speed, storage size, and functionality. To this extent, several approaches have been attempted:

U.S. Pat. No. 7,698,351 allegedly discloses a GUI architecture that is configured to enable efficient management of resources in a storage system environment.

U.S. Patent Application 20100199036 allegedly discloses a system and method for tiered management levels of a RAID storage system. Data is moved between higher performing and more expensive storage device tiers and lower performing and less expensive data device tiers based upon the level of access efficiency needed for the data and related applications.

U.S. Patent Application 20100100664 allegedly discloses a storage system configured to achieve read-access response time improvement.

U.S. Patent Application 20100073860 allegedly discloses an apparatus that includes multiple memory modules, a module controller, a control board, and an interface device.

U.S. Patent Application 20090204758 allegedly discloses systems and methods for asymmetric RAID devices that include a RAID controller and a RAID volume. The RAID volume includes tiered device sets which have different levels of access speeds.

U.S. Pat. No. 7,702,848 allegedly discloses a data storage system that employs low power disk drives to cache data to and from high power disk drives to reduce power consumption and access times. A host device may be used to communicate through a memory interface such as a flash memory interface.

U.S. Pat. No. 7,634,615 allegedly discloses a data storage system that employs low power disk drives to cache data to and from high power disk drives to reduce power consumption and access times. A host device may be used to communicate through a memory interface such as a flash memory interface and lower power disk drives (LPDD).

U.S. Patent Application 20080168304 allegedly discloses an apparatus, system, and method for data storage. A parity-mirror module is used during the write operation to create redundant storage.

U.S. Patent Application 20080059698 allegedly discloses a method for automating RAID configuration on data storage media. A data structure is installed onto a data storage medium which creates a default policy using the data storage medium and is recognizable by a controller.

Unfortunately, none of these approaches leverage hybrid RAID functionality.

SUMMARY OF THE INVENTION

In general, embodiments of the present invention provide a home storage system. Specifically, in a typical embodiment, the home storage system includes a graphical user interface for graphically accessing features of the home storage system; an internal storage management and monitoring module for managing and monitoring a set of semiconductor storage device (SSD) memory units and a set of hard disk drive (HDD) memory units within the home storage system; an external interface management and monitoring module for managing and monitoring network connectivity of the home storage system; and a portable storage management and monitoring module for managing and monitoring at least one type of external memory coupled to the home storage system.

A first aspect of the present invention provides a home storage system, comprising: a main controller coupled to a display controller, an external memory controller, an external interface, and a hybrid RAID controller; a set of semiconductor storage device (SSD) memory units coupled to the hybrid RAID controller; and a set of hard disk drive (HDD) memory units coupled to the hybrid RAID controller.

A second aspect of the present invention provides a home storage system, comprising: a main controller; a display controller coupled to the main controller for controlling a display; an external memory controller coupled to the main controller for interfacing with an external memory device; an external interface coupled to the main controller for interfacing with a network; a PCI-Express-based hybrid RAID controller coupled to the main controller; a set of semiconductor storage device (SSD) memory units coupled to the hybrid RAID controller; and a set of hard disk drive (HDD) memory units coupled to the hybrid RAID controller.

A third aspect of the present invention provides a method for producing a home storage system, comprising: coupling a main controller to a display controller, an external memory controller, an external interface, and a hybrid RAID controller; coupling a set of semiconductor storage device (SSD) memory units to the hybrid RAID controller; and coupling a set of hard disk drive (HDD) memory units to the hybrid RAID controller.

DETAILED DESCRIPTION OF THE INVENTION

For convenience, the Detailed Description of the Invention has the following sections:

I. General Description

II. Hardware Implementation

III. Software Implementation

I. General Description

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limited to this disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, the use of the terms “a”, “an”, etc., do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced items. It will be further understood that the terms “comprises” and/or “comprising”, or “includes” and/or “including”, when used in this specification, specify the presence of stated features, regions, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, regions, integers, steps, operations, elements, components, and/or groups thereof. Moreover, as used herein, the term RAID means redundant array of independent disks (originally redundant array of inexpensive disks). In general, RAID technology is a way of storing the same data in different places (thus, redundantly) on multiple hard disks. By placing data on multiple disks, I/O (input/output) operations can overlap in a balanced way, improving performance. Since multiple disks increase the mean time between failures (MTBF), storing data redundantly also increases fault tolerance.

Hereinafter, a RAID storage device of a PCI-Express (PCI-e) type according to an embodiment will be described in detail with reference to the accompanying drawings.

As indicated above, In general, embodiments of the present invention provide a home storage system. Specifically, in a typical embodiment, the home storage system includes a graphical user interface for graphically accessing features of the home storage system; an internal storage management and monitoring module for managing and monitoring a set of semiconductor storage device (SSD) memory units and a set of hard disk drive (HDD) memory units within the home storage system; an external interface management and monitoring module for managing and monitoring network connectivity of the home storage system; and a portable storage management and monitoring module for managing and monitoring at least one type of external memory coupled to the home storage system.

The storage device of a PCI-Express (PCI-e) type supports a low-speed data processing speed for a host by adjusting synchronization of a data signal transmitted/received between the host and a memory disk during data communications between the host and the memory disk through a PCI-Express interface, and simultaneously supports a high-speed data processing speed for the memory disk, thereby supporting the performance of the memory to enable high-speed data processing in an existing interface environment at the maximum. It is understood in advance that although PCI-Express technology will be utilized in a typical embodiment, other alternatives are possible. For example, the present invention could utilize SAS/SATA technology in which a SAS/SATA type storage device is provided that utilizes a SAS/SATA interface.

II. Hardware Implementation

Referring now toFIG. 1, a diagram schematically illustrating a configuration of a PCI-Express type, hybrid RAID controlled home storage device/system90is shown.FIG. 1shows a hybrid RAID controlled PCI-Express type storage device according to an embodiment of the invention which includes a set (at least one) of high speed semiconductor storage device (SSD memory units100) and a set of high density disks (HDD memory units110). Specifically, as shown, a main controller300is coupled to a hybrid RAID controller800, which itself is coupled to SDD memory units100and HDD memory units110. Main controller300is also coupled to: an external interface200that provides connectivity to external devices and/or one or more networks700; an external memory controller400for coupling to a set of external memory devices600; and a display controller500for coupling to a display900;

The SSD memory unit100includes a plurality of memory disks provided with a plurality of volatile semiconductor memories for high-speed data input/output (for example, DDR, DDR2, DDR3, SDRAM, and the like), and inputs and outputs data according to the control of the controller300. The SSD memory unit100may have a configuration in which the memory disks are arrayed in parallel. Moreover, SSD memory unit100is typically a separate disk, and is utilized by host application. Along these lines SSD memory unit100can be implemented as a buffer, a cache, disk space, and/or memory space for a server.

HDD memory unit110can: comprise an array (e.g. 8 SATA drives); can be “hot swappable”; can provide unit-based access+RAID (with conversion); and can provide progress recovery capability and progressive integration of new HDD memory units110. The functionality of hybrid RAID controller800can provide progressive hot swapping. Scenario: A user couples a HDD memory unit110to hybrid RAID controller800. The HDD memory unit110will join the RAID progressively. That is, it is integrated into the RAID system linearly to maintain system availability. In addition, RAID progressive recovery can also be provided hereunder. Scenario: A user decouples a HDD memory unit110from hybrid RAID controller100. In this case, a server will progressively reconstruct the RAID. As such, system accessibility is maintained while the RAID recovers linearly. Still yet, the embodiments described herein accommodate unit-based access vs. RAID conversion. Scenario: Two HDD memory units110are accessed as individual units (separate drives), and six HDD memory units110are RAID'd. Assume that a user wishes to add one HDD memory unit110to the RAID, or the user wishes to remove one HDD memory unit110from the RAID to make it a separate unit. Conversion is rapid, transparent, and progressively linear. In addition, the embodiments discussed herein provide differential RAID. That is, HDD memory units110and SSD memory units100are RAID'd (i.e., controlled by hybrid RAID controller800) differentially in one RAID system. Frequently accessed files or anticipated file blocks can be cached/moved to SSD memory units100.

Referring now toFIG. 2, a more detailed diagram of a hybrid RAID controlled storage810is shown. As depicted, a PCI-e type RAID controller800can be directly coupled to any quantity of SSD memory units100and HDD/flash memory units110. Among other things, this allows for optimum control of SSD memory units100and HDD memory units110.

Referring now toFIG. 3, a diagram of the hybrid RAID controller800ofFIGS. 1 and 2as coupled to a set (at least one) of SSD memory units100and a set of HDD/flash memory units110is shown in greater detail. As depicted, hybrid RAID controller800generally comprises: a host interface820; a disk controller830coupled to host interface820; and a high-speed host interface840. Also coupled to disk controller830is a first disk monitoring unit860A, which is coupled to the first disk mount850A. In general, SSD memory units100are mounted on first disk mount850A and are detected by first disk monitoring unit860A. Still yet, shown coupled to disk controller830is a second disk monitoring unit860B, which is coupled to a second disk mount850B. In general, HDD/Flash memory units110are mounted on second disk mount850B and are detected by second disk monitoring unit860B. Disk plug and play (PnP controller870) controls the functions and/or detection functions related to first disk mount850A and second disk mount850B. In general, hybrid RAID controller800controls the operation of SSD memory units100and HDD/Flash memory units110. This includes the detection of SSD memory units100and HDD/Flash memory units110, the storage and retrieval of data therefrom, etc.

Referring now toFIG. 4, a diagram schematically illustrating a configuration of the high speed SSD100is shown. As depicted, SSD memory unit100comprises: a host interface202(e.g., PCI-Express host) (which can be interface200ofFIG. 1, or a separate interface as shown); a DMA controller302; an ECC controller304; and a memory controller306for controlling one or more blocks604of memory602that are used as high speed storage.

FIG. 5is a diagram schematically illustrating one possible configuration of main controller300provided in the PCI-Express type home storage system/device according to the embodiments discussed herein. Referring toFIG. 5, the main controller300according to the embodiment includes: a memory control module310which controls data input/output of the memory unit100; a DMA (Direct Memory Access) control module320which controls the memory control module310to store the data in the memory unit100, or reads data from the memory units100and/or110to provide the data to the host, according to an instruction from the host received through the PCI-Express host interface unit200; a buffer330which buffers data according to the control of the DMA control module320; a synchronization control module340which, when receiving a data signal corresponding to the data read from the memory unit100by the control of the DMA control module320through the DMA control module320and the memory control module310, adjusts synchronization of a data signal so as to have a communication speed corresponding to a PCI-Express communications protocol to transmit the synchronized data signal to a PCI-Express host interface unit (not shown), and when receiving a data signal from the host through the PCI-Express host interface unit, adjusts synchronization of the data signal so as to have a transmission speed corresponding to a communications protocol (for example, PCI, PCI-x, or PCI-e, and the like) used by the memory units100and/or110to transmit the synchronized data signal to the memory units100and/or110through the DMA control module320and the memory control module310; and a high-speed interface module350which processes the data transmitted/received between the synchronization control module340and the DMA control module320at high speed. Here, the high-speed interface module350includes a buffer having a double buffer structure and a buffer having a circular queue structure and processes the data transmitted/received between the synchronization control module340and the DMA control module320without loss at high speed by buffering the data transmitted/received between the synchronization control module340and the DMA control module320using the buffers and adjusting data clocks.

While the exemplary embodiments have been shown and described, it will be understood by those skilled in the art that various changes in form and details may be made thereto without departing from the spirit and scope of this disclosure as defined by the appended claims. In addition, many modifications can be made to adapt a particular situation or material to the teachings of this disclosure without departing from the essential scope thereof. Therefore, it is intended that this disclosure not be limited to the particular exemplary embodiments disclosed as the best mode contemplated for carrying out this disclosure, but that this disclosure will include all embodiments falling within the scope of the appended claims.

The RAID controlled storage device of a PCI-Express (PCI-e) type supports a low-speed data processing speed for a host by adjusting synchronization of a data signal transmitted/received between the host and a memory disk during data communications between the host and the memory disk through a PCI-Express interface and simultaneously supports a high-speed data processing speed for the memory disk, thereby supporting the performance of the memory to enable high-speed data processing in an existing interface environment at the maximum.

III. Software Implementation

Referring now toFIG. 6, a computerized implementation1000of the present invention is shown. As depicted, implementation1000includes home storage device1004deployed within a computer infrastructure1002. This is intended to demonstrate, among other things, that the present invention could be implemented within a network environment (e.g., the Internet, a wide area network (WAN), a local area network (LAN), a virtual private network (VPN), etc.), or on a stand-alone computer system. In the case of the former, communication throughout the network can occur via any combination of various types of communications links. For example, the communication links can comprise addressable connections that may utilize any combination of wired and/or wireless transmission methods. Where communications occur via the Internet, connectivity could be provided by conventional TCP/IP sockets-based protocol, and an Internet service provider could be used to establish connectivity to the Internet. Still yet, computer infrastructure1002is intended to demonstrate that some or all of the components of implementation1000could be deployed, managed, serviced, etc. by a service provider who offers to implement, deploy, and/or perform the functions of the present invention for others.

Home storage device1004is intended to represent any type of computer system that may be implemented in deploying/realizing the teachings recited herein. It should be understood that any other computers implemented under the present invention will have similar components, but may perform different functions/have different software. As shown, home storage device1004includes a processing unit1006, a memory1008, a bus1010, and device interfaces1012. Further, home storage device1004is shown communicating with one or more external devices1014that communicate with bus1010via device interfaces. In general, processing unit1006executes computer program code, such as software programs1024and/or modules1026, which is stored in memory1008and/or storage system1016. While executing computer program code, processing unit1006can read and/or write data to/from memory1008, storage system1016, and/or device interfaces1012. Bus1010provides a communication link between each of the components in home storage device1004. Although not shown, home storage device1004could also include I/O interfaces that communicate with: one or more external devices1014(such as a keyboard, a pointing device, a display, etc.); one or more devices that enable a user to interact with home storage device1004; and/or any devices (e.g., network card, modem, etc.) that enable home storage device1004to communicate with one or more other computing devices. Although not shown, home storage device1004could contain multiple processing units.

Computer infrastructure1002is only illustrative of various types of computer infrastructures for implementing the invention. For example, in one embodiment, computer infrastructure1002comprises two or more computing devices (e.g., a server cluster) that communicate over a network to perform the various processes of the invention. Moreover, home storage device1004is only representative of various possible computer systems that can include numerous combinations of hardware. To this extent, in other embodiments, home storage device1004can comprise any specific purpose computing article of manufacture comprising hardware and/or computer program code for performing specific functions, any computing article of manufacture that comprises a combination of specific purpose and general purpose hardware/software, or the like. In each case, the program code and hardware can be created using standard programming and engineering techniques, respectively. Moreover, processing unit1006may comprise a single processing unit, or be distributed across one or more processing units in one or more locations (e.g., on a client and server). Similarly, memory1008and/or storage system1016can comprise any combination of various types of data storage and/or transmission media that reside at one or more physical locations. Further, device interfaces1012can comprise any module for exchanging information with one or more external devices. Still further, it is understood that one or more additional components (e.g., system software, math co-processing unit, etc.) not shown inFIG. 6can be included in home storage device10004.

Storage system1016can be any type of system capable of providing storage for information under the present invention. To this extent, storage system1016could include one or more storage devices such as magnetic disk drive or an optical disk drive. In another embodiment, storage system1016includes data distributed across, for example, a local area network (LAN), wide area network (WAN) or a storage area network (SAN) (not shown). In addition, although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated into home storage device10004.

It is understood that home storage device1004can also include and/or couple to the components of home storage system90shown inFIG. 1(e.g., controllers (300,400,500, and800), eternal interface200, external memory devices600, SDD memory units100, HDD memory units110, etc.). Such components have not been depicted inFIG. 7for brevity purposes only. Shown in memory1008of home storage device1004are operating system1018, drivers1020, and home storage program(s)1024having a set (i.e., at least one) of modules1026. Set of modules1026generally work in conjunction with the components shown inFIGS. 1 and 6, and provide the functions of the present invention as will be described below in conjunction withFIG. 7.

Referring now toFIG. 7, the functions of the various pieces of software provided hereunder will be explained in greater detail. As shown, home storage device1000includes a physical layer1030(e.g., that comprises the component shown inFIG. 1and/orFIG. 7), device drivers1020, an operating system1018, modules1026A-D, and a main task system1030. In general, modules1026A-D working in conjunction with the elements (e.g., controllers300,400,500and800, as well as external interface200, to provide the functionality supported thereby). In general, modules1026A-D have the following functions:

Graphical user interface (GUI)1026A allows a user to graphically access features and/or control of the home storage system/device.

External interface management and monitoring module1026B works in conjunction with the external interface200ofFIG. 1to manage and monitor network connectivity of the home storage system/device90/1000. External interface management and monitoring unit can also work in conjunction with display controller500ofFIG. 1to couple home storage system/device to a display900. This module1026B can also work in conjunction with device interfaces1012ofFIG. 6to provide this functionality.

Portable storage management and monitoring module1026C works in conjunction with the external memory controller400ofFIG. 1to manage and monitor at least one type of external memory coupled to the home storage system/device.

Internal storage management and monitoring module1026D works in conjunction with the hybrid RAID controller800ofFIG. 1to manage and monitor a set of semiconductor storage device (SSD) memory units and a set of hard disk drive (HDD) memory units within the home storage system/device.

While shown and described herein as a home storage device and software, it is understood that the invention further provides various alternative embodiments. For example, in one embodiment, the invention provides a computer-readable/useable medium that includes computer program code to enable a computer infrastructure to provide a home storage device and software. To this extent, the computer-readable/useable medium contains program code that implements each of the various processes of the invention. It is understood that the terms computer-readable medium or computer useable medium comprises one or more of any type of physical embodiment of the program code. In particular, the computer-readable/useable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computing device, such as memory1008(FIG. 6) and/or storage system1016(FIG. 6) (e.g., a fixed disk, a read-only memory, a random access memory, a cache memory, etc.), and/or as a data signal (e.g., a propagated signal) traveling over a network (e.g., during a wired/wireless electronic distribution of the program code).

In another embodiment, the invention provides a method that performs the process of the invention on a subscription, advertising, and/or fee basis. That is, a service provider, such as a Solution Integrator, could offer to provide home storage device and software. In this case, the service provider can create, maintain, support, etc., a computer infrastructure, such as computer infrastructure1002(FIG. 6) that performs the process of the invention for one or more customers. In return, the service provider can receive payment from the customers under a subscription and/or fee agreement and/or the service provider can receive payment from the sale of advertising content to one or more third parties.

In still another embodiment, the invention provides a computer-implemented method for a home storage device and software. In this case, a computer infrastructure, such as computer infrastructure1002(FIG. 6), can be provided and one or more systems for performing the process of the invention can be obtained (e.g., created, purchased, used, modified, etc.) and deployed to the computer infrastructure. To this extent, the deployment of a system can comprise one or more of: (1) installing program code on a computing device, such as home storage device1004(FIG. 6), from a computer-readable medium; (2) adding one or more computing devices to the computer infrastructure; and (3) incorporating and/or modifying one or more existing systems of the computer infrastructure to enable the computer infrastructure to perform the process of the invention.

A data processing system suitable for storing and/or executing program code can be provided hereunder and can include at least one processor communicatively coupled, directly or indirectly, to memory elements through a system bus. The memory elements can include, but are not limited to, local memory employed during actual execution of the program code, bulk storage, and cache memories that provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or device devices (including, but not limited to, keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening device controllers.

Network adapters also may be coupled to the system to enable the data processing system to become coupled to other data processing systems, remote printers, storage devices, and/or the like, through any combination of intervening private or public networks. Illustrative network adapters include, but are not limited to, modems, cable modems and Ethernet cards.