Abstract:
A controller used for multi-storages is provided. The multi-storages include a first storage for storing the data of an operating system and at least a second storage for storing the data of user. The first storage and the second storage are formed into a virtual storage supporting the start-up of the operating system by the controller.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a national phase application based on international application number PCT/CN2010/080605, filed Dec. 31, 2010, and claims priority of Chinese Patent Application No. 201010120104.8, filed Jan. 5, 2010, the contents of both of which are incorporated by reference herein in their entireties. 
     
    
     TECHNICAL FIELD 
       [0002]    The present invention relates to a controller used for multi-storages, a mobile device, a start-up and an access method for the mobile device. 
       BACKGROUND 
       [0003]    Several recent dynamic magnetic disk technologies allow the incorporation of multiple physical magnetic disks or storage mediums into a single virtual storage. However, a physical magnetic disk for storing data of system and a physical magnetic disk for storing user data are not allowed to be incorporated into a single virtual storage, due to a limitation in the operating system such as Windows®. If a user enforces the physical magnetic disk for storing data of system and the physical magnetic disk for storing data of user being incorporated into the single virtual storage using a dynamic magnetic disk technology, the operating system would recognize that the virtual storage is actually composed of the physical magnetic disk for storing data of system and the physical magnetic disk for storing data of user during a start-up process, which would cause a case that a blue screen is displayed because the operating system crashes. Thus, the operating system is unable to operate, which affects the usage of a user. 
       SUMMARY 
       [0004]    The present invention provides a controller, a mobile device, and a start-up and access method for the mobile device, which allows incorporating a physical magnetic disc for storing data of system and a physical magnetic disc for storing data of user into a single virtual storage. 
         [0005]    According to an aspect of the present invention, there is provided a controller for multi-storages including a first storage for storing data of an operating system and at least a second storage for storing data of user, wherein the controller forms the first storage and the second storage as a virtual storage supporting start-up of the operating system. 
         [0006]    Wherein the controller converts attribute information of the first storage and attribute information of the second storage(s) into attribute information of the virtual storage and stores the same in the first storage, when the operating system starts-up. 
         [0007]    Further, the controller shields accessing to the second storage before the converting, and converting the attribute information comprises: converting at least one of an address of the first storage and an address of the second storage; and making the address of the first storage and the address of the second storage are continuous after the converting. 
         [0008]    Further, when an access request to the virtue storage is received, the controller judges whether the access request is an access request to the second storage, and if the access request is the access request to the second storage, the controller converts the access request into the access request to the second storage. 
         [0009]    Further, the controller parses the access request to the virtue storage and judges whether a target address of the access request is within an address range of the first storage, and if the target address of the access request is not within the address range of the first storage, the controller judges that the access request is the access request to the second storage. 
         [0010]    Further, the first storage is a Solid State Disk and the second storage is a Hard Drive Disk. 
         [0011]    According to another aspect of the present invention, there is provided a terminal device comprising: multi-storages including a first storage for storing data of an operating system and at least a second storage for storing data of user; a file system module for forming files in a predetermined structure; a volume manager for performing a volume label management on the files; a partition manager for managing partitions in the multi-storages; and a controller, wherein the controller forms the first storage and the second storage as a virtual storage supporting start-up of the operating system. 
         [0012]    According to a further aspect of the present invention, there is provided a start-up method for a terminal device, the terminal device comprises: multi-storages including a first storage for storing data of an operating system and at least a second storage for storing data of user; a file system module for forming files in a predetermined structure; a volume manager for performing a volume label management on the files; a partition manager for managing partitions in the multi-storages; and a controller for forming the first storage and the second storage as a virtual storage supporting start-up of the operating system, wherein the start-up method comprises: converting attribute information of the first storage and attribute information of the second storage(s) into attribute information of the virtual storage and storing the same in the first storage. 
         [0013]    Wherein the start-up method further comprises shielding accessing to the second storage before the converting, and converting the attribute information comprises: converting at least one of an address of the first storage and an address of the second storage; and making the address of the first storage and the address of the second storage are continuous after the converting. 
         [0014]    According to a still aspect of the present invention, there is provided an accessing method for a terminal device, the terminal device comprises: multi-storages including a first storage for storing data of an operating system and at least a second storage for storing data of user; a file system module for forming files in a predetermined structure; a volume manager for performing a volume label management on the files; a partition manager for managing partitions in the multi-storages; and a controller for forming the first storage and the second storage as a virtual storage supporting start-up of the operating system, wherein the accessing method comprises: when an access request to the virtue storage is received, judging whether the access request is an access request to the second storage, and if the access request is the access request to the second storage, converting the access request into the access request to the second storage. 
         [0015]    The accessing method further comprises: parsing the access request to the virtue storage and judging whether a target address of the access request is within an address range of the first storage; and if the target address of the access request is not within the address range of the first storage, judging that the access request is the access request to the second storage. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]      FIG. 1  is a diagram illustrating a functional configuration of a terminal device according to an embodiment of the present invention. 
           [0017]      FIG. 2  is a flowchart illustrating a virtual magnetic disk management during a start-up process in the terminal device according to the embodiment of the present invention in details. 
           [0018]      FIG. 3  is a flowchart illustrating a virtual magnetic disk management during an accessing process in the terminal device according to the embodiment of the present invention in details. 
       
    
    
     DETAILED DESCRIPTION 
       [0019]    In order to make the above objects, features and advantages of the present invention being more apparent, particular implementations of the present invention will be described in details in connection with drawings. 
         [0020]      FIG. 1  is a diagram illustrating a functional configuration of a terminal device according to an embodiment of the present invention. As illustrated in  FIG. 1 , a terminal device  100  according to the embodiment of the present invention comprises a plurality of magnetic disks (including a first disk  101   a  and a second disk  101   b ), a file system module  102 , a volume manager  103 , a partition manager  104 , a controlling module  105 , an input-output interface (not shown), and a display unit (not shown), etc.. Since functions, structures and operations of the units not shown in the figure do not involve any improvements to the prior art, their detailed descriptions will be omitted herein. 
         [0021]    In the terminal device  100  according to the embodiment of the present invention, the first disk  101   a  is used for storing data of an operating system, the second disk  101   b  is used for storing data of user; the controlling module  105  is used for forming the first disk  101   a  and the second disk  101   b  as a virtual storage supporting start-up of the operating system; the partition manager  104  is used for managing partitions in the virtual storage including the first disk  101   a  and the second disk  101   b ; the volume manager  103  is used for performing a volume label management on partitions in the virtual storage so as to provide a user with a volume semantic (that is, a disk drive letter); the file system module  102  is used for defining a file structure (such as NTFS and FAT32) for respective volumes so as to be able to form files in a predetermined structure. 
         [0022]    Below a detail description will be given to a process of a virtual magnetic disk management during a start-up process in the terminal device according to the embodiment of the present invention. 
         [0023]      FIG. 2  is a flowchart illustrating the virtual magnetic disk management during a start-up process in the terminal device according to the embodiment of the present invention in details. 
         [0024]    When the terminal device  100  starts-up, the operating system and start-up driving files are loaded and the controlling module  105  is activated. In a initialization stage of the operating system and the start-up driving files, the controlling module  105  also performs a corresponding initialization process so as to shield the second disk  101   b  for the operating system of the terminal device  100  by the initialization process. In particular, the initialization process determines which one of the disks is the first disk  101   a  for storing the data of system at first; then shields all of read/write request to the second disk  101   b  according to the determination result, so that the operating system of the terminal device  100  fails to identify a partition information on the second disk  101   b  and in turn can not load any partitions on the second disk  101   b ; at last, converts a partition table of the second disk  101   b  and load the converted partition table to the first disk  101   a  so as to be incorporated with a partition table of the first disk  101   a  into a partition table of the virtual magnetic disk, so that spatial addresses in the virtual magnetic disk are continuous entirely. Next, the controlling module  105  stores a correspondence relationship between the partition table of the virtual magnetic disk and the partition tables of the first disk  101   a  and the second disk  101   b.    
         [0025]    The first disk  101   a  and the second disk  101   b  form one single virtual magnetic disk through the above initialization process, because the spatial addresses in the virtual magnetic disk are continuous. Further, with the above-described configuration, the controlling module  105  shields all of the read/write accesses to the second disk  101   b , and the partition table of the second disk  101   b  is incorporated with the partition table of the first disk  101   a  to form the partition table of the virtual magnetic disk, therefore the operating system of the terminal device  100  only can access the first disk  101   a  and obtains the partition table of the virtual magnetic disk. In this case, the operating system only can identify the first disk  101   a , and considers the first disk  101   a  as a disk having a capacity equal to a sum of the capacity of the first disk  101   a  and the capacity of the second disk  101   b  according to the virtual partition table obtained from the first disk  101   a . Accordingly, the operating system of the terminal device  100  can not recognize that the virtual magnetic disk is composed of the first disk  101   a  for storing the system data of the operating system and the second disk  101   b  for storing the data of user, so that a phenomenon that a blue screen is displayed when the operating system crashes would not occur. 
         [0026]    Below a detail description will be given to a process of a virtual magnetic disk management during an accessing process in the terminal device according to the embodiment of the present invention. 
         [0027]      FIG. 3  is a flowchart illustrating a virtual magnetic disk management during an accessing process in the terminal device according to the embodiment of the present invention in details. 
         [0028]    When the user calls a file, the operating system of the terminal device  100  generates a file I/O (input/output) request. 
         [0029]    Next, at Step S 111 , the file system module  102  performs a volume-based I/O in a sector level according to the file I/O request, and generates a volume-based I/O request and sends it to the volume manager  103 . 
         [0030]    At Step S 112 , the volume manager  103  receives the volume-based I/O request from the file system module  102 , performs a disk-based I/O in the sector level, generates a disk-based I/O request and sends it to the partition manager  104 . 
         [0031]    At Step S 113 , the partition manager  104  receives the disk-based I/O request from the volume manager  103 , and forwards the received disk-based I/O request to the controlling module  105 . 
         [0032]    At Step S 114 , the controlling module  105  receives the I/O request from the partition manager  104 , parses the I/O request and judges whether a target address (virtual address) in the parsed I/O request is within an address range of the first disk  101   a  based on the target address and a correspondence relationship between a partition table of the virtual magnetic disk and partition tables of the first disk and the second disk. 
         [0033]    When the target address of the I/O request is within the address range of the first disk  101   a , the target address in the I/O request is used directly without being converted. 
         [0034]    When the target address of the I/O request is not within the address range of the first disk  101   a , the access request is determined as an access request to the second disk  101   b . Then, an auxiliary I/O request is created based on the target address in the parsed I/O request and the correspondence relationship between the partition table of the virtual magnetic disk and the partition tables of the first disk and the second disk. The target address of the auxiliary I/O request points to an actual physical address in the second disk  101   b , so that the actual address in different disks (the first disk  101   a  and the second disk  101   b ) can be accessed based on the target address (virtual address). 
         [0035]    Further, according to one embodiment of the present invention, a Solid State Disk (SSD) may be selected as the first disk for storing the data of system, and a Hard Drive Disk (HDD) may be selected as the second disk for storing the data of user. An access speed of the SSD is obviously higher than the access speed of the HDD, and a price of the SSD is also obviously higher than the HDD. Under a control of the controlling module  105  in the embodiment of the present invention, the high-speed SSD having a small capacity is used as the first disk for storing the data of system and the HDD having a large capacity is used as the second disk for storing the data of user, a running speed of the operating system in the terminal device  100  may be raised efficiently, and a cost of the large capacity virtual magnetic disk including the first disk and the second disk may be well controlled. 
         [0036]    Further, the terminal device according to the embodiment of the present invention may comprise a plurality of second disks so as to provide a larger storage capacity. 
         [0037]    Further, in the above-described embodiment of the present invention, the partition table of the second disk  101   b  is converted and loaded to the first disk  101   a  so as to form the virtual partition table. Alternatively, however, the partition tables of the first disk  101   a  and the second disk  101   b  may be reallocated (such as, converted) arbitrarily as long as the generated virtual partition table is continuous. 
         [0038]    Further, according to the above-described embodiment of the present invention, the data of user is stored in the second disk  101   b  and the data of system is stored in the first disk  101   a . However, the present invention is not limited thereto, and the data of system and the data of user may be stored at arbitrary positions in the first disk  101   a  and the second disk  101   b , respectively. 
         [0039]    Further, in the above-described embodiment of the present invention, the present invention is described by using the magnetic disk as a storage. However, the present invention is not limited hereto, and any nonvolatile storage, such as the magnetic disk, flash memory and so on, may be used as the storage device of the terminal device in the embodiment of the present invention. 
         [0040]    The embodiment of the present invention may be applied to the terminal device such as a notebook computer, a personal computer, a server, and the like. 
         [0041]    The above are only exemplary embodiments of the disclosed solution, but the scope sought for protection is not limited thereto. Instead, any or all modifications, combinations, sub-combinations and replacements as would be obvious to those skilled in the art are intended to be included within the scope of the present invention. Therefore, the scope of the present invention is defined in the appended claims.