MXPA00012548A - Virtual data storage (vds) system - Google Patents

Virtual data storage (vds) system

Info

Publication number
MXPA00012548A
MXPA00012548A MXPA/A/2000/012548A MXPA00012548A MXPA00012548A MX PA00012548 A MXPA00012548 A MX PA00012548A MX PA00012548 A MXPA00012548 A MX PA00012548A MX PA00012548 A MXPA00012548 A MX PA00012548A
Authority
MX
Mexico
Prior art keywords
data storage
virtual data
computer system
virtual
clause
Prior art date
Application number
MXPA/A/2000/012548A
Other languages
Spanish (es)
Inventor
Colin Constable
David N Kricheff
Charles T Gambetta
Original Assignee
Colin Constable
Charles T Gambetta
David N Kricheff
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Colin Constable, Charles T Gambetta, David N Kricheff filed Critical Colin Constable
Publication of MXPA00012548A publication Critical patent/MXPA00012548A/en

Links

Abstract

A Virtual Disk Storage (VDS) system for providing multiple virtual data storage devices (16, 18) for use in a computer system (12) which contains a central processing unit (CPU) (2). The VDS system includes a memory system (6) for storing information and a VDS controller (12) which is in communication with the memory system (6) and the CPU (2). The VDS controller (12) partitions the memory system (6) into multiple virtual data storage devices (16, 18), and then restricts the computer system from communicating with certain of these virtual data storage devices (16, 18). The VDS controller (12) thus selectively isolates at least one of the virtual datastorage devices (16) from communicating with the computer system, in order to prevent corruption of information stored in at least one virtual data storage device (16).

Description

F 1 VIRTUAL DATA STORAGE SYSTEM (VDS) DESCRIPTION FIELD OF THE INVENTION The present invention relates to a storage of computer system data. More particularly, this invention relates to a virtual data storage system that can be configured to provide multiple virtual data storage devices for a single physical data storage device, and to selectively isolate at least one storage device of virtual data of the computer system.
BACKGROUND OF THE INVENTION A typical computer system usually includes one or more memory subsystems which are connected to one or more central processing units ("CPUs") either directly or through a control unit and a communication channel. The function in these memory subsystems is to store data and programs which use the unit or units of central processing or in the tasks of processing of particular data. Modern computer systems also include the systems in which the system ^ * # > * f-a relatively large computer is formed by networking several multiple smaller computer systems.
Many types of memory subsystems are used in a variety of combinations in current computer systems. These include random access memory ("RAM"), dynamic random access memory ("DRAM"), read-only memory ("ROM"), non-volatile memory, and large capacity storage devices to store large amounts of data. A typical large capacity storage device subsystem may include one or more disk drives, tape drives and / or read-only CD-memories connected to the computer system through the appropriate control units. A serious problem arises, however, if a memory system fails or is caused to fail so that the data stored there is destroyed, corrupted and / or is no longer available to a system.
Such failure may, for example, be caused by a computer virus, an illegal program instruction or the failure of all or part of a disk drive storage medium. Such failures typically cause the entire computer system to cease to function (eg, "crash") and also compromise the security of all data stored within the computer system. These types of failures can be, for example, destroying all stored data, the operating system of the computer and / or the ability of the operating system to initialize and re-start (eg, "boot") the computer. Such data failures can take any number of forms, from the slow subtle destruction of sensitive data to the instantaneous destruction of all data and the software needed to run or restart the computer system.
Computer system memory subsystems, such as disk drives, typically operate by communicating with the CPU (s) computer system, either directly or indirectly through an appropriate control unit. The operation of the disk drives in this conventional manner usually exposes the entire contents of the disk drive storage device to spurious commands and electronic signals for the entire time the computer system is operating. As a result of this, during all this time all the data stored in the disk drive is exposed to destruction or corruption.
Attempts have been made in the prior art to protect memory subsystems from destruction or unwanted corruption, none of these solutions has succeeded in providing the level of protection necessary to eliminate such risks in the case of events such as the infiltration of a computer virus. In the case of disk drive storage systems in particular, none of the prior art solutions provide sufficient protection against the corruption of the data stored there. This is because the prior art systems do not sufficiently restrict access to the computer system to only parts of the disk impeller that contain the data necessary for the operation of the computer system by the users or the current user.
For example, U.S. Patent Nos. 5,586,301 and 5,657,470 disclose personal computer hard disk protection systems which divide the hard disk drives into multiple zones, each having an application and user program access. restricted. U.S. Patent No. 5,129,088 describes a mechanism for dynamically reconfiguring such divisions based on the computer system's changing requirements. U.S. Patent No. 5,829,053 describes a more efficient mechanism for handling the division code data which is used to control such a division scheme. In addition, U.S. Patent No. 5,519,884 discloses a RAID disk drive (Redundant Array of Cheap Disks) architecture to provide redundant disk drive copies of data so that, in the event that a copy is destroyed or corrupted irreparably, another undamaged copy of the data can nevertheless be recovered. None of these protection systems, however, prevent a computer system and its operating system from accessing or communicating with certain parts of the disk drive system in the event that the program is corrupted, so that in case of infiltration by a computer virus, for example. In the case of such infiltration, all data stored in the disk drive system can be corrupted or destroyed.
Therefore, a need has arisen for a system which will protect certain desired parts of the data stored in a computer memory subsystem from spurious commands and electronic signals while the computer system is operating, thereby protecting such data. stored corruption or unwanted destruction possible. The need has also arisen in particular by a system which provides such protection to a disk drive storage system and which restricts the computer system to communicate with only those parts of data necessary for the operation of the computer system by the user. or current users.
SYNTHESIS OF THE INVENTION It is an object of the present invention to provide a Virtual Data Storage System ("VDS") for computer memory systems which essentially eliminates or reduces the disadvantages and problems associated with corruption and destruction of data in computer systems. previous computer memory.
The Virtual Data Storage System of the present invention provides multiple virtual data storage devices for use in a computer system which contains a central processing unit ("CPU"). The Virtual Data Storage System includes a memory system to store the information and a Virtual Data Storage System Controller which is in communication with the memory system and the central processing unit. The Virtual Data Storage System Controller divides the memory system into multiple virtual data storage devices and then restricts the computer system to communicate with certain of these virtual data storage devices. The Virtual Data Storage System Controller therefore selectively isolates at least one of the virtual data storage devices from the communication computer system in order to prevent corruption of information stored in at least one storage device of virtual data.
In a preferred embodiment of the invention, the Virtual Data Storage System Controller provides multiple virtual data storage devices for use in a computer system which contains multiple smaller computer systems, and / or computer system components. and / or multiple central processing units.
In another aspect of the invention, the Virtual Data Storage System Controller may be configured to select the number and size of multiple virtual data storage devices, as well as the virtual data storage devices which are selectively isolated from communication with the computer system. In an incorr. Preferred sentence, the computer system engages in an initialization boot sequence followed by a period of normal operation. In this embodiment, the Virtual Data Storage System Controller is configured during the initialization boot sequence of the computer system, and the Virtual Data Storage System Controller selectively isolates the selected virtual data storage devices from the communication with the computer system during the period of normal operation of the computer system. In yet another preferred embodiment, the computer system has multiple users, one or more of which configures the Virtual Data Storage System Controller. In another embodiment, the virtual data storage devices are selectively isolated from communication with the computer system and are determined according to the user or users operating the computer system during the normal operating period of the computer system. In yet another preferred embodiment, the computer system engages in the initialization boot sequence when electrical power is applied to the computer system when the computer system is relocated.
In another aspect of the invention, the Virtual Data Storage System Controller is configured using an initialization and stored configuration routine and stored configuration data, which can be accessed by the computer system only during the boot boot sequence. In a preferred embodiment, the initialization and configuration routine and configuration data are stored in the system memory of the computer.
In another aspect of the invention, the computer system used in connection with the invention is a personal computer system ("PC"), and the initialization boot sequence is a BIOS sequence. In yet another aspect of the invention, the BIOS sequence invokes the initialization routine and stored configuration to configure the Virtual Data Storage System Controller.
In a preferred embodiment, the memory system is a disk drive storage system and the virtual data storage devices are virtual disk drives. In yet another embodiment, the disk drive storage system includes the multiple disk drive storage units. In yet another embodiment, the Virtual Data Storage System Controller is configured so that only a virtual data storage device can communicate with the computer system. In yet another preferred embodiment, the Virtual Data Storage System Controller is configured so that more than one virtual data storage device can communicate with the computer system.
The present invention also provides a method for providing multiple virtual data storage device for use in a computer system which has a memory system for storing information. This method includes the division of the memory system into multiple virtual data storage devices, and then restricts communication by means of the computer system for communication with only certain virtual storage devices. The method of the invention therefore selectively isolates the at least one virtual data storage device from communication with the computer system, in order to prevent corruption of information stored in at least one virtual data storage device .
The details of the preferred embodiment of the present invention are set forth in the accompanying drawings and in the description that follows. Once the details of the invention are known, numerous changes and additional innovations will become obvious to one skilled in the art.
BRIEF DESCRIPTION OF THE DRAWING The additional objects, features and advantages of the invention will be apparent from the detailed description which follows taken in conjunction with the accompanying figures showing the illustrative embodiments of the invention in which: Figure 1 is a block diagram of a prior art computer system.
Figure 2 is an exemplary block diagram of an embodiment of the Virtual Data Storage System of the present invention.
Figure 3 is an example block diagram of another embodiment of the Virtual Data Storage System of the present invention.
Figure 4 is an exemplary block diagram showing a physical disk drive and multiple virtual disk drives in an embodiment of the Virtual Data Storage System of the present invention.
Figure 5 is an exemplary block diagram showing a physical disk drive and showing multiple virtual disk drives in another embodiment of the Virtual Data Storage System of the present invention.
Fig. 6 is an exemplary process flow diagram showing a virtual disk drive setup and initialization routine of the Virtual Data Storage System of the present invention.
Through the figures, the same reference numbers and characters, unless otherwise indicated, are used to denote the same features, elements, components or parts of the illustrated embodiments. Furthermore, even though the invention will now be described in detail with reference to the figures, this is done in connection with the illustrative embodiments. It is intended that the changes and modifications be made to the embodiments described without departing from the true scope and spirit of the invention as defined by the appended claims.
BRIEF DESCRIPTION OF THE PREFERRED INCORPORATIONS The present invention can be applied to any type of memory subsystem used in computer systems. In a preferred embodiment, the present invention is used in a high capacity memory storage subsystem, in particular a disk drive memory subsystem.
Figure 1 shows a prior art computer system employing a conventional disk drive system. The computer system includes a central processing unit 2 connected to a disk drive system through the data bus 4. The disk drive system includes the Disk Drive 6 connected to the Disk Drive Driver 8 via the Bus Driver. Disc Drive Interconnection 10. Also typically included in the prior art computer system but not shown in Figure 1 may be a main memory subsystem and the 1/0 (input / output) devices.
In a prior art computer system, such as that shown in Figure 1, it is possible for the central processing unit 2 to have access to the complete contents of the Disk Drive 6 via the Disk Drive Driver 8. In other words , the complete contents of the Disk Impeller 6 are "presented" to the central processing unit 2 by the Disk Drive Driver 8. Thus, in the prior art system shown in Fig. 1, the central processing unit 2 and the computer system directly controls where the data on the physical Disk 6 Impeller is stored and from where it can be retrieved. As a result of this, in the event of an occurrence, such as an infiltration by a computer virus, all data stored in Disk Drive 6 may be corrupted or destroyed at any time while the computer system is operating.
Figure 2 shows an embodiment of the present invention wherein the Virtual Data Storage Controller (VDS) 12 is replaced by the Disk Drive Driver 8 and serves as the interconnection between the central processing unit 2 and the Disk Drive. 6. The Virtual Data Storage System Controller 12 maps the Disk Drive 6 to multiple virtual disk drives, as will be described in further detail below. At any given time that the computer system is operating, the Virtual Data Storage System Controller 12 presents for access by a central processing unit 2 and the computer system only certain of these virtual disk drives. That is, for each attempt of the central processing unit 2 or the computer system to access the physical Disk 6 Impeller, the Controller of the Virtual Data Storage System 12 maps the requested access to a corresponding request for a disk drive. Active Virtual Controller which has been configured by the Virtual Data Storage System Controller 12. Therefore, in the present invention, the Virtual Data Storage System Controller 12 rather than the central processing unit 2, the Controller of Disk Drive 8, or the computer system, controls where data from the Physical Disk Drive 6 is stored from where it can be retrieved.
The Virtual Data Storage System Controller 12 therefore controls which part or portions of the total storage space of the Disk Drive 6 are accessible by (eg, presented to) the central processing unit 2 and the computer system. Specifically, the Virtual Data Storage System Controller 12 restricts communication access via the central processing unit 2 and the computer system to parts of the Disk 6 Impeller necessary for the operation of the computer system by the user or current users. . Therefore, in the case of an event, such as the infiltration of a computer virus in the present invention, the only parts of Disk Booster 6 which are susceptible to possible corruption or data destruction are those parts corresponding to the virtual disk drive presented by the Storage System Controller; Virtual Data 12 to the central processing unit 2 and to the computer system. The remaining parts of the Disk Drive 6 can not be accessed by the central processing unit 2 or by the computer system, and the data contained therein can therefore not be corrupted or destroyed.
In order to provide this level of protection to Drive Disk 6 even in the event of an occurrence, such as from a computer virus, the virtual disk drive configuration provided by the Virtual Data Storage System Controller 12 is not accessible. by the central processing unit 2 or by the computer system, or any operating system program or application program that is being run by the computer system, during the normal operation of the computer system. Rather, as discussed in a further detail below, the virtual disk impeller configuration provided by the Virtual Data Storage System Controller 12 is accessible by the central processing unit 2 and by the computer system only during the sequence of initialization (for example, boot) and the configuration of the computer system. This access to the Virtual Data Storage System Controller 2 for the purposes of the configuration is achieved using the data bus 4 or other serial or parallel data connection (not shown) to the Virtual Data Storage System Controller 12. Alternatively, the virtual disk drive configuration provided by the Virtual Data Storage System Controller 12 may also be configured based on the position of the hard wire switches configured by the user or users.
Figure 3 shows another embodiment of the present invention. The embodiment shown in Figure 3 is similar to that shown in Figure 2, except that the Disk Drive Controller 8 serves as the interconnection between the central processing unit 2 and the Controller of the Virtual Data Storage System 12, and The Disk Drive Driver 8 communicates with the Controller of the Virtual Data Storage System 12 through the bus of the Virtual Data Storage System 14. Such incorporation would be particularly appropriate where it is necessary to interconnect the Data Storage System Virtual of the present invention to a conventional disk drive control system. Of course, in the present invention, as shown in any of Figures 2 or 3, the Controller of the Virtual Data Storage System 12 and the Disk Impeller 6 can be integrated into a single unit. Similarly, in the present invention as shown in Figure 3, the Virtual Data Storage System Controller 12 and the Disk Drive Driver 8 can also be integrated into a single unit, either together with or separate from the Driver Disco 6 Although the present invention can be implemented in any type of memory subsystem in any type of computer system, the present invention is particularly well suited for use in disk drive subsystems, and more particularly for use in disk drive subsystems. of personal computer ("PC"). In addition, the present invention can operate with any type of industry-standard bus interconnection such as IDE (Integrated / Intelligent Drive Electronics), SCSI (Small Computer System Interconnection) bus or PCI (Interconnected Peripheral Component), for example. The Controller of the Virtual Data Storage System 12 can for example be a PCI card for installation in a standard personal computer. In a personal computer application of the present invention, the virtual disk drive configuration provided by the Virtual Data Storage System Controller 12 may for example be provided during the initialization sequence (eg, boot) of the computer system by the BIOS routine (Basic Input / Output System) of the personal computer system that communicates with the Controller of the Virtual Data Storage System 12 through a parallel or serial data bus. This parallel or serial data bus may be, for example, Data Bus 4 as shown in Figure 2. The Bus of the Virtual Data Storage System 14 as shown in Figure 3, or other data connection in series or parallel (not shown in Figures 2 and 3) to the Virtual Data Storage System Controller 12, such as an RS-232 or V24 serial connection for example.
Although the embodiments of the present invention shown in FIGS. 2 and 3 include only a single Disc Drive 6, other preferred embodiments include more than one Drive Disk 6. The multiple drive drives may be configured, for example, in any of numerous arrangements well known in art. Such arrangements include, for example, configurations to provide redundancy, such as is provided by well-known RAID systems for example, and configurations for providing disk drive systems that have very large amounts of storage. In the case of computer systems having multiple disk drives, the Virtual Data Storage System Controller 12 maps each Individual Disk Drive 6 into multiple virtual disk drives or, alternatively, maps the aggregate of the Disk Boosters. Multiple 6 in multiple virtual disk drives.
Further, even when the embodiments of the present invention shown in Figures 2-3 include only a single central processing unit 2, other preferred embodiments include more than one central processing unit 2. Such multiple central processing units can be configured by example in any of the numerous arrays well known in the art, such as in distributed or multiprocessor processor arrays, for example. In the case of the computer system having multiple central processing units, the Virtual Data Storage System Controller 12 can be configured to either provide each central processing unit 2 with the same communication access to the disk drives. or, alternatively, can be configured to provide each central processing unit 2 with a different communication access to the virtual disk drives.
Further, even when the embodiments of the present invention shown in Figures 2-3 include only a single computer system, other preferred embodiments include computer systems which are formed by networking together multiple smaller computer systems and / or computer system components. Such multiple smaller computer systems and / or components can be communicatively connected together, for example, in any of numerous arrays well known in art, such as by any combination Local Area Network ("LAN"), Wide Area Network ("LAN"). "WA?"), Secure encrypted Virtual Private Network ("VP?") Or any other private secure network connection, for example. In the case of the computer system containing multiple smaller computer systems and / or components networked together, the Virtual Data Storage System Controller 12 is communicatively connected to the network connecting together the smaller multiple computer systems and / or the components in order to provide each of these with access to the virtual disk drives. The Virtual Data Storage System Controller 12 can be configured either to provide each of the smaller computer systems and / or components with the same communication access to the virtual disk drives or, alternatively, it can be configured to provide each of those smaller computer systems and / or components with different communication access to the virtual disk drives.
The present invention allows a personal computer or other computer system which is periodically used with different users to provide each user with its own virtual disk drive which can be accessed only when that user is operating the computer system. This arrangement allows each user to operate the computer system using exclusively his or her own personal virtual disk drive. Therefore, any corruption or destruction of data that occurs while the user is operating the computer system may occur only to the data or programs stored in the physical Disk 6 Impeller portion that corresponds to that user's virtual disk driver. No corruption or destruction can occur to data or programs stored in any other parts of the Physical Disk Booster 6. This arrangement of the present invention allows, for example, different family members to share a personal personal computer so that each one operates the personal computer using its own files, the operating system and its application programs, without any risk of destroying or corrupting the files, data or programs that correspond to other members of the family.
The present invention also allows a single computer system to run different multiple operating systems depending on which virtual disk drive is active at a particular time. Similarly, a single computer user can also maintain multiple virtual disk drives if, for example, that user wishes to run different operating systems at different times of the operation.
A single computer user can also maintain multiple virtual disk drives for use with different application programs and computer functions. For example, a user can use a particular virtual disk drive when connecting to the internet. Therefore, in the event that the computer system has been compromised by viruses or corrupted data downloaded from the internet, the only data and Programs at risk of being corrupted are those which are stored in the part of the Physical Disk Drive 6 that corresponds to the virtual disk drive which is active at that moment.
Even when the use of the present invention in the manner described above requires that multiple copies of certain programs (such as operating systems and application programs, for example) be maintained, the resulting higher memory demands in exchange for security of the augmented system provided is not problematic in view of the relatively large size and low cost of modern disk drive subsystems. By making the disc impeller subsystems increasingly large and less expensive, the benefits provided by the present invention will continue to be even more attractive.
The implementation of the present invention will now be discussed in further detail. As is well known in the art, modern disc impellers such as the Disc Impeller 6 shown in Figures 2 and 3 are typically mapped in multiple blocks. Access to the disk drive is achieved through specifically the number or block numbers that are being accessed. Such access schemes are well known in the prior art and are discussed, for example, in U.S. Patent No. 5,519,844, the entirety of which is incorporated herein by reference.
Referring to Figures 2 and 3, and as will be discussed below in further detail in relation to Figure 6, the Controller of the Virtual Data Storage System 12 generates the configuration of the virtual disk drive by first determining the Disk Drive or Disk Boosters 6 the number of storage blocks contained there. The Virtual Data Storage System Controller 12 then determines the user input the number of virtual disk drives to be configured, the number of blocks in each of said virtual disk drives, and the virtual disk driver the which is going to this asset. The Virtual Data Storage System Controller 12 then generates a map of the virtual disk drive blocks for the physical disk drive blocks located on the Physical Disk Drive 6. Any data and program instructions required to increase the Virtual disk drive settings are stored in a memory section unable to be accessed or altered by the central processing unit 2 or the computer system once the computer system has completed its initialization sequence (e.g., boot) and normal operation begins. In a preferred embodiment, this memory may not be a volatile memory such as a non-volatile RAM ("NVRAM") for example.
Table 1 given below and Figure 4 depict an example of a virtual disk impeller configuration that maps the schema for a Physical Disk Booster 6 containing 1000 blocks of stored space mapped to three virtual disk boosters. The three virtual disk drives, the Virtual Disk Drive A 16, the Virtual Disk Drive B 18, and the Virtual Disk Drive C 20, contain 300, 500 and 200 blocks of storage space respectively.
As shown above in Table 1, if the Virtual Disk Booster A 16 is active, the Virtual Data Storage System Controller 12 presents only that virtual disk booster to the central processing unit 2 and to the computer system. So, when the Virtual Disk Drive A 16 is active, the Controller of the Virtual Data Storage System 12 presents to the central processing unit 2 and to the computer system only the virtual block numbers p-299, which correspond to the physical block numbers 0-299 of the Physical Disk 6 Impeller. In this case, as can be seen in Table 1, the Virtual Data Storage System Controller 12 uses an offset of 0 blocks to map the virtual disk drive blocks to the physical disk drive blocks.
Similarly, if the Virtual Disk Booster B 18 is active, the Virtual Data Storage System Controller 12 presents only that virtual disk booster to the central processing unit 2 and to the computer system. In this case, as can be seen from Table 1, the Virtual Data Storage System Controller presents to the central processing unit 2 and to the computer system only the virtual block numbers 0-499, which correspond to the numbers physical disk drive 300-799 Physical Disk Booster 6. When a Virtual Disk Booster B 18 is active, the Virtual Data Storage System Controller 12 uses an offset of 300 blocks to map the virtual disk drive blocks to the physical disk drive blocks.
If a Virtual Disk Booster C 20 is active, the Virtual Data Storage System Controller 12 presents only the virtual disk booster to the central processing unit 2 and to the computer system. In this case, the Controller of the Virtual Data Storage System 12 presents to the central processing unit 2 and to the computer system only the virtual block numbers 0-199, which correspond to the physical block numbers 800-999 of the Physical Disk Boost 6. In this case, as can be seen in Table 1, the Virtual Data Storage System Controller 12 uses an offset of 800 blocks to map the virtual disk drive blocks to the disk drive blocks physical Table 2 and Figure 5 show a preferred embodiment of the virtual disk impeller configuration similar to that shown in Table 1 and Figure 4. In the embodiment shown in Table 2 and Figure 5, the data and any program instructions required for the implementation of the virtual disk drive configuration are stored on the Disk Drive 6, rather than in some other area of the memory.
The virtual disk impeller configuration shown in Table 2 and Figure 5 is the same as that shown in Table 1 and Figure 4, except that one block of the physical disk space (physical block number 999) a Knowing the Virtual Disk Drive Configuration Storage Block 22, is used to store the data and any program instructions required to implement the virtual disk drive configuration provided by the Virtual Data Storage System Controller 12. In addition, In order to accommodate this, the Virtual Disk Booster C 20 is a smaller block and therefore comprises the virtual block numbers 1-198, which correspond to the physical block numbers 800-998 of the Physical Disk Booster 6. As can be seen in Table 2, the Virtual Data Storage System Controller 12 uses an offset of 999 blocks to map the Storage Block Configuration Virtual Disk Driver 22 to the physical disk drive 999 block number.
The Configuration Storage Block Virtual Disk Booster 22 is not accessible by the central processing unit 2 or by the computer system once the computer system has completed its initialization sequence (eg boot). Therefore, as shown in Table 2, during the normal computer operation the Storage Block of Virtual Data Booster Configuration 22 is not accessible, and therefore, it is not presented by the Virtual Data Storage System Controller. 12 to the central processing unit 2 or to the computer system. Of course, even though the Virtual Disk Drive Configuration Storage Block 22 comprises only one block of storage space in the example shown in Table 2 and in Figure 5, this configuration block can be of any size.
; During normal computer operation, the mapping operations described above of the present invention and of the Virtual Data Storage System Controller 12 are transparent to the central processing unit 2 and to the computer system. That is, the Controller of the Virtual Data Storage System 12 communicates with the computer system in the same manner as the Disk Drive Driver 8 does in prior art computer systems such as those shown in Figure 1. .
In other embodiments of the present invention, certain virtual disk drives may be designed to be shared by more than one user. In addition, if appropriate, virtual disk impeller configurations such as those shown in Tables 1-2 and Figures 4-5 can activate more than one virtual disk driver at the same time. Such an arrangement may be desirable if for example the user or users share certain virtual disk drives and / or wish to have access to data or application programs stored in more than one virtual disk driver to which they have access rights.
Figure 6 shows an exemplary process flow for the initialization and configuration of the present invention beginning with Block 24. As shown in Block 24, the process shown in Figure 6 is carried out by the Controller of the Virtual Data Storage 12 when the computer system is either activated or reset as part of the initialization sequence (eg boot) of the computer system. At the beginning of the process shown in Figure 6, it should also be noted that the Controller of the Virtual Data Storage System 12 can optionally carry out a self-test routine.
As shown in Block 26, the Controller of the Virtual Data Warehouse System 12 then determines if there is a virtual disk drive configuration, such as that shown in Tables 1-2. As shown in Block 28, if there is an existing configuration and no changes are required for configuration by the user, then the Virtual Data Storage System Controller 12 continues to determine which virtual disk drive should be made active, starting with Block 30. Otherwise, the Virtual Data Storage System Controller 12 questions the user to determine if a new virtual disk drive configuration is going to be provided, starting with Block 32.
If there is an existing configuration and no changes are required, the Virtual Data Storage System Controller 12 displays for the user a representation of the configuration as well as a means to select the desired virtual disk drive (s) which will be active , as shown in Block 30. The user or users can for example make this selection in the form of an ID entry. of the user via a mouse or a computer keyboard. Alternatively, this selection can be made via a hard wired switch configured to the user. As shown in Block 34, the Controller of the Virtual Data Storage System 12 then determines which virtual disk drive (s) have been selected to be active by the users or the user.
As shown in Blocks 36-38, the Controller of the Virtual Data Storage System 12 will typically require a login key to activate the virtual disk drive or drivers which have been selected by the user. This type of security precaution ensures that users can not gain access to virtual disk drives that they are not authorized to use. If the user can not provide the required login key, the Virtual Data Storage System Controller 12 again tries to determine from the user which virtual disk driver should be made active., as shown in Block 30. If, on the other hand, the user provides the key to the required login, the Controller of the Virtual Data Storage System 12, then proceeds to activate the virtual disk drives selected by the user, in accordance with the existing virtual disk drive configuration provided by the Virtual Data Storage System Controller 12 as shown in Block 40.
As shown in Blocks 26 and 28, if there is no existing virtual disk drive configuration, or the user wishes to change the existing configuration, then the Virtual Data Storage System Controller 12 continues with a configuration routine, starting with Block 32 to determine and then generate a new virtual disk drive configuration, such as those shown in Tables 1-2 and Figures 4-5. As shown in Blocks 32, 42 and 44, the Virtual Data Storage System Controller 12 will typically require a login key before a user is allowed to generate a new virtual disk drive configuration. This security precaution ensures that users can not gain access to virtual disk drives that they are not authorized to use, and that unauthorized users can not generate a new virtual disk driver configuration.
If the user provides the required login key, the Virtual Data Storage System Controller 12 first determines the type and size of the Physical Disk Booster 6 or impellers installed in the computer system, as shown in Block 46. This can be achieved, for example, by testing any connected Physical Disk Boosters or Impellers 6 and then questioning the disk information files to determine the size and type of each Disk Booster 6. This can be accomplished, for example , by using the Disk Drive Interconnect Bus 10 or in an embodiment based on a personal computer of the present invention, a SCSI bus interconnect for the Disk Drive 6, for example.
As shown in Block 48, the Virtual Data Storage System Controller 12 then provides the user with a configuration menu which invites the user to specify the number of virtual disk drives desired and the size of each disk drive. virtual. The user can, for example, enter this information using the mouse or the computer keyboard. Alternatively, this information may be provided by hard wiring switches configured by the user.
The new configuration menu will not accept from the user any configurations in which the combined size of all the virtual disk boosters exceeds the size of the physical Disk Boosters 6 present in the computer system. As shown in Blocks 48, 50 and 52, the Virtual Data Storage System Controller 12 continues to display the configuration menu until the user has provided sufficient input for the Virtual Data Storage System Controller 12 to determine the number and size of virtual disk drives specified by the user.
Once this has been achieved, as shown in Block 54, the Virtual Data Storage System Controller 12 generates a virtual disk drive configuration and a mapping scheme such as those shown in Tables 1-2, for example, Also shown in Block 54, the Virtual Data Storage System Controller 12 also stores this configuration and maps the schema into the memory of the computer system. Once this has been achieved and discussed above, the Virtual Data Storage System Controller 12 then determines if any changes are required for the configuration »Faith .y ^ yy jt? Tt. existing, as shown in Blocks 26 and 28. If not, the Controller of the Virtual Data Storage System 12 determines which disk drive should be activated, starting with Block 30 and as described above.
Once the virtual disk impeller or drivers selected by the user have been activated in accordance with an established virtual disk driver configuration as shown in Block 40 of Figure 6, the computer system begins its normal operation through the resident operating system on the virtual disk drive which has been activated. During normal operation of the computer system, the Virtual Data Storage System Controller 12 emulates a conventional disk drive subsystem of the same size as the active virtual disk drive. The Controller of the Virtual Data Storage System 12 operates in this manner until the computer system is already ugly repositioned or activated again. During the normal operation of the computer system, the central processing unit 2 and the computer system can not access or alter any of the process shown in Figure 6 or the stored data configuration to implement the existing virtual disk drive configuration. As shown in Block 24, the central processing unit 2 and the computer system will not be able to have access to alter this process and the data unless the computer system is reconfigured or activated.
In a preferred embodiment of the present invention, the virtual disk drive initialization and configuration routine shown in FIG. 6 is stored in the memory in the computer system. When the computer system is first activated, the initialization sequence (e.g., boot) executes the routine of Figure 6 to generate and implement the appropriate virtual disk impeller mapping and configuration scheme. The data necessary to implement this configuration and mapping scheme are similarly stored in the memory of the computer system, preferably in the same area of the memory in which the routine of Figure 6 is stored.
Once the routine shown in Figure 6 is complete and the configuration of the virtual disk impeller has been established and implemented, the routine leaves the control of the computer system to the operating system which resides in the virtual disk impeller. which has been activated. Once this occurs, the program instructions and data to implement the virtual disk drive configuration are no longer accessible by the central processing unit 2 or by the computer system. Therefore, these data and program instructions can not be corrupted or destroyed, even in the case of an event such as the infiltration of a computer virus.
In a preferred embodiment of the present invention, the Virtual Data Storage System Controller 12 includes a writable record once which can be written only once after the computer system is reconfirmed or activated, and then not it can be written again unless the computer system is reconfigured or activated. During the routine shown in Figure 6, which is initiated with the confirmation or activation of the computer system, certain data necessary to implement the virtual disk impeller configuration and the mapping scheme are written or copied from the memory of the system. computer inside a record that can be written once. After this has occurred, the data stored in the registry can not be altered or overwritten, unless the computer system is reconfigured or activated, and the routine shown in Figure 6 is therefore initiated. These stored data may represent, for example, certain of the binary bits used to refer to the Disk Drive 6. With certain of these bits determined only according to the contents of a record that can be written once, certain parts of the Drive Disk 6 they will not necessarily be accessible by the central processing unit 2 or by the computer system.
In a preferred embodiment of the record to write only once for example has data entries to receive the certain above mentioned data necessary to implement the virtual disk drive and mapping scheme configuration, and the outputs represent for example certain bits binaries used to refer to the Disk Impeller 6. The register also for example has an input connected to the signal of re-positioning the computer system apparatus and a write-enable input which is for example activated by the routine shown in Figure 6 in order to write the necessary data in the record that can be written once. Regardless of the state of the entry to write once, however, the record can be written only once after the activation of the return of the computer system apparatus, which occurs in the case of the system of the computer is reconfigured or activated. In a preferred embodiment, the one-time write record is implemented using, for example, a conventional latch or flip-flop in combination with the logic gates, arranged to allow the latch or flip-flop output to change only in the case that a reset of the device has occurred.
In another preferred embodiment of the present invention, the computer system is a personal computer system and the routine shown in Figure 6 and the data to implement the virtual disk impeller configuration are stored in Disk Drive 6 in the Block Virtual Disk Drive Configuration Storage 22 shown in Table 2 and Figure 5. In such preferred embodiment, the initialization sequence (e.g., boot) BIOS of the personal computer directs the instruction counter to the unit. central processing 2 to start executing the program instructions contained in the routine of figure 6. This can be achieved, for example, by altering the virus sequence so that the central processing unit 2 begins executing the instructions in the memory location where the routine of Figure 6 is stored.
Alternatively, in another preferred embodiment, the BIOS sequence does not need to be altered. In such preferred embodiment, the routine of Figure 6 is stored in the Disk Drive 6 starting at the same memory location where the BIOS sequence of a prior art personal computer system would normally drive the unit's instruction counter. of central processing 2 to start executing the instructions of the program which constitutes the operation system. Therefore in this preferred embodiment of the present invention, rather than the BIOS sequence directs the central processing unit 2 to start running the operation system as in the prior art systems, the BIOS sequence instead directs the central processing unit 2 to begin executing the initialization of the virtual disk driver and the configuration routine shown in figure 6. Once this routine has completed execution, it in turn directs to the central processing unit 2 to start running the operating system resident in the virtual disk drive which has activated the routine. The computer system then begins its normal operation.
Although the present invention has been described in connection with the specific example embodiments, it should be understood that various changes, substitutions and alterations to the embodiments described may be made without departing from the spirit and scope of the invention as set forth in the appended claims.

Claims (46)

R E I V I N D I C A C I O N S
1. A virtual data storage system for providing a plurality of virtual data storage devices for use in a computer system having a central processing unit, the virtual data storage system comprises: a memory system to store information; Y a virtual data storage controller in communication with said memory system and with said central processing unit of said computer system, said controller is capable of dividing said memory system into a plurality of virtual data storage devices and of restricting the communication of said computer system for communication with more than said plurality of virtual data storage devices, in order to selectively isolate at least one of said virtual data storage device from communication with said computer system, to prevent corruption of the information stored in said at least one virtual data storage device.
2. The virtual data storage system as claimed in clause 1, characterized in that said memory system comprises a disk drive storage system, and wherein said virtual data storage devices comprise virtual disk drives.
3. The virtual data storage system as claimed in clause 2, characterized in that said disk drive storage system comprises a plurality of disk drive storage units.
4. The virtual data storage system as claimed in clause 1, characterized in that each of said virtual data storage devices is of a size which can be selected, and wherein said controller is configured to select an amount of virtual data storage devices, to select said size for each virtual data storage device and to select said virtual data storage devices which are selectively isolated from communication with said computer system.
5. The virtual data storage system as claimed in clause 4, characterized in that said computer system is arranged to engage in an initialization boot sequence followed by a normal period of operation, and wherein said controller is exclusively configured during said initialization boot sequence, and wherein said at least one virtual data storage device is selectively isolated from communicating with said computer system exclusively during said period of normal operation.
6. The virtual data storage system as claimed in clause 5, characterized in that said computer system comprises a personal computer system, and wherein said initialization boot sequence comprises a boot sequence BIOS boot. . 7. The virtual data storage system as claimed in clause 5, characterized in that said computer system has a plurality of users, and wherein said controller is configured by one or more 20 users during said initialization boot sequence of said computer system, and wherein said virtual data storage devices selectively isolated from communication with said computer system are determined according to the user operating said computer system 25 during said period of normal operation.
- * - S * K «fetefa¿J | dfe ^
8. The virtual data storage system as claimed in clause 5, characterized in that said computer system is arranged to engage in said initialization boot sequence when the electrical energy is applied to said computer system or when said system of computer is relocated.
9. The virtual data storage system as claimed in clause 5, characterized in that said controller is configured using a stored initialization and configuration routine and the stored configuration data, wherein said computer system is arranged to have access to said stored configuration and initialization routine and said configuration data stored only during the initialization boot sequence of said computer system.
10. The virtual data storage system as claimed in clause 9, characterized in that said initialization and configuration routine and said configuration data are stored in said memory system of said computer system.
11. The virtual data storage system as claimed in clause 9, characterized in that said computer system comprises a personal computer system and wherein said initialization boot sequence of said computer system comprises an initialization boot sequence. BIOS, and wherein said configuration and initialization routine stored to configure said controller is invoked by the BIOS boot boot sequence.
12. The virtual data storage system as claimed in clause 4, characterized in that said controller is configured in such a way that only one of the plurality of data storage devices can communicate with said computer system.
13. The virtual data storage system as claimed in clause 4, characterized in that said controller is configured so that more of said plurality of virtual data storage devices can communicate with said computer system.
14. The virtual data storage system as claimed in clause 1, characterized in that said memory system comprises a random access memory.
15. The virtual data storage system as claimed in clause 1, characterized in that said memory system comprises a non-volatile memory.
16. A method for providing a plurality of virtual storage devices for use in a computer system having a memory system for storing information comprising the steps of: dividing said memory system into a plurality of virtual data storage devices; Y restricting communication by means of said computer system to communicate with more of said plurality of virtual data storage devices in order to selectively isolate at least one of said virtual data storage devices from communication with said computer system , to prevent corruption of the information stored in said at least one virtual data storage device.
17. The method such and -or is claimed in clause 16, characterized in that said memory system comprises a disk drive storage system and wherein said virtual data storage devices comprise virtual disk drives.
18. The method as claimed in clause 16, characterized in that it further comprises the steps of: selecting a number of virtual data storage devices; select a size for each virtual data storage device; Y selecting said virtual data storage devices which are selectively isolated from the communication of said computer system.
19. The method as claimed in clause 18, characterized in that it comprises the additional step of engaging the computer system in an initialization boot sequence followed by a normal operating period; Y wherein said steps select said amount of virtual data storage devices, selecting said size for each of said virtual data storage devices, and selecting said virtual data storage devices which are selectively isolated from communication with said computer system, are carried out exclusively during said step of said system of computer engaging in said initialization boot sequence, and wherein said step of restricting communication by said computer system for communication with fewer than said plurality of virtual data storage devices is carried out exclusively during said step of hook the computer system in that period of normal operation.
20. The method as claimed in clause 19, characterized in that said computer system comprises a personal computer system, and wherein the step of engaging said initialization boot sequence comprises the step of engaging in an initialization boot sequence. BIOS
21. The method as claimed in clause 19, characterized in that said computer system has a plurality of users, and wherein said steps select said amount of said virtual data storage devices and select said size for each storage device of virtual data are carried out by one or more of said users, and wherein said step of selecting said virtual data storage devices which are selectively isolated from communication with said computer system is carried out by one or more of said users according to the users who operate said computer system during said step of said computer system engaging in said period of normal operation.
22. A virtual data storage system for providing a plurality of virtual disk drives for use in a computer system having a central processing unit and a plurality of users, the computer system is arranged to engage in a boot sequence of initialization followed by a period of normal operation, the virtual data storage system comprises: a disk drive storage system for storing information; Y a virtual data storage controller in communication with said disk drive storage system and with said central processing unit of said computer system, said controller is capable of dividing said disk drive storage system into a plurality of disk drives Virtuals, wherein said controller is configured by one or more of said users during said initialization boot sequence to select an amount of said virtual disk boosters, to select a size for each virtual disk booster, and to restrict during said period of normal operation the communication by said computer system for communication with more than said plurality of virtual disk drives in order to selectively isolate at least one of said virtual disk drivers from communication with said computer system during said period of normal operation, said at least one virtual disk driver is determined according to the user operating said computer system during said period of normal operation to prevent corruption of the information stored in said at least one virtual disk driver.
23. The virtual data storage system as claimed in clause 22, characterized in that said controller is configured using a stored initialization and configuration routine and the stored configuration data, in said computer system is arranged to access said routine of initialization and stored configuration and said configuration data stored only during the initialization boot sequence of said computer system.
24. A virtual data storage system for providing a plurality of virtual data storage devices for use in at least one computer system, said at least one computer system having a plurality of central processing units, the storage system Virtual data comprises: a memory system to store information; Y a virtual data storage controller in communication with said memory system and with said central processing units of said computer system, said controller is capable of dividing said memory system into a plurality of virtual data storage and restricting devices. the communication by said computer system for communication with more of said plurality of virtual data storage devices, in order to selectively isolate at least one of said virtual data storage devices from communication with said computer system, to prevent corruption of the information stored in said at least one virtual data storage device.
25. The virtual data storage system as claimed in clause 24, characterized in that said memory system comprises a disk drive storage system and wherein said virtual data storage devices comprise virtual disk drives.
26. The virtual data storage system as claimed in clause 25, characterized in that said disk drive storage system comprises a plurality of disk drive storage units.
27. The virtual data storage system as claimed in clause 24, characterized in that each virtual data storage device is of a size which can be selected and wherein said controller is configured to select an amount of said virtual data storage devices. storage of virtual data, to select said size for each virtual data storage device, and to select said virtual data storage devices which are selectively isolated from communication with said computer system.
28. The virtual data storage system as claimed in clause 27, characterized in that said computer system is arranged to engage in an initialization boot sequence followed by a normal operating period, and wherein said controller is exclusively configured during said initialization boot sequence, and wherein said at least one virtual data storage device is selectively isolated from communication with said computer system, exclusively during said period of normal operation.
29. The virtual data storage system as claimed in clause 28, characterized in that said computer system comprises a personal computer system, and wherein said initialization boot sequence comprises a BIOS initialization boot sequence.
30. The virtual data storage system as claimed in clause 28, characterized in that said computer system has a plurality of users, and wherein said controller is configured by one or more of said users during said initialization boot sequence. of said computer system, and wherein said virtual data storage devices selectively isolated from communication with said computer system are determined according to the user operating said computer system during said period of normal operation.
31. The virtual data storage system as claimed in clause 28, characterized in that said computer system is arranged to engage in said initialization boot sequence when the electrical energy is applied to said computer system or when said system of computer is relocated.
32. The virtual data storage system as claimed in clause 28, characterized in that said controller is configured using a stored initialization and configuration routine and the stored configuration data, wherein said computer system is arranged to access said routine of initialization and stored configuration and said configuration data stored only during the initialization boot sequence of said computer system.
33. The virtual data storage system as claimed in clause 32, characterized in that said initialization and configuration routine and said configuration data are stored in said memory system of said computer system.
34. The virtual data storage system as claimed in clause 32, characterized in that said computer system comprises a personal computer system and in said initialization boot sequence of said computer system comprises an initialization boot sequence. BIOS, and wherein said configuration and initialization routine stored for the configuration of said controller is invoked by said BIOS boot boot sequence.
35. The virtual data storage system as claimed in clause 27, characterized in that said controller is configured so that only one of said plurality of virtual data storage devices can communicate with each of; said computer system.
36. The virtual data storage system as claimed in clause 27, characterized in that said controller is configured so that one of said plurality of virtual data storage devices can communicate with each of said at least one system of data. computer.
37. The virtual data storage system as claimed in clause 24, characterized in that said memory system comprises a random access memory.
38. The virtual data storage system as claimed in clause 24, characterized in that said memory system comprises a non-volatile memory.
39. The virtual data storage system as claimed in clause 27, characterized in that said controller is configured such that said virtual data storage devices which are selectively isolated from communication with said computer system are isolated from the communication with all of said plurality of central processing units.
40. The virtual data storage system as claimed in clause 27, characterized in that said controller is configured in such a way that the virtual data storage devices which are selectively isolated from the communication with said computer system are isolated from the communication with less than all of said plurality of central processing units.
41. The virtual data storage system as claimed in clause 27, characterized in that said at least one computer system comprises a plurality of computer systems communicatively connected together by means of a communication network.
42. The virtual data storage system as claimed in clause 41, characterized in that said controller is configured so that virtual data storage devices which are selectively isolated from communication with said at least one system of data storage. computer are isolated from the communication with all of said plurality of computer systems.
43. The virtual data storage system as claimed in clause 41, characterized in that said controller is configured such that said virtual data storage devices which are selectively isolated from communication with said at least one computer system they are isolated from communication with less than all of said plurality of computer systems.
44. The virtual data storage system as claimed in clause 27, characterized in that said at least one computer system comprises a plurality of computer system components communicatively connected together by a communication network.
45. The virtual data storage system as claimed in clause 44, characterized in that said controller is configured so that said virtual data storage devices which are selectively isolated from communication with said at least one computer system they are isolated from communication with all of said plurality of said computer system components.
46. The virtual data storage system as claimed in clause 44, characterized in that said controller is configured so that the virtual data storage devices which are selectively isolated from communication with said at least one computer system they are isolated from communication with fewer than all of said plurality of said computer system components. SUMMARY A Virtual Disk Storage System (VDS) to provide multiple virtual data storage devices for use in a computer system which contains a central processing unit (CPU). The Virtual Disk Storage System includes a memory system for storing information and a Virtual Data Storage System Controller which is in communication with the memory system and the central processing unit. The Virtual Data Storage System Controller divides the memory system into multiple virtual data storage devices and then restricts the computer system from communication with certain of these virtual data storage devices. The Virtual Data Storage System Controller therefore selectively isolates at least one of the virtual data storage devices from communication with the computer system in order to prevent corruption of the information stored in at least one device. of virtual data storage.
MXPA/A/2000/012548A 1998-06-22 2000-12-15 Virtual data storage (vds) system MXPA00012548A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/102,520 1998-06-22

Publications (1)

Publication Number Publication Date
MXPA00012548A true MXPA00012548A (en) 2002-07-25

Family

ID=

Similar Documents

Publication Publication Date Title
US6792519B2 (en) Virtual data storage (VDS) system
US20020095557A1 (en) Virtual data storage (VDS) system
US6052781A (en) Multiple user computer including anti-concurrent user-class based disjunctive separation of plural hard drive operation
US6993649B2 (en) Method of altering a computer operating system to boot and run from protected media
KR960003058B1 (en) Pc system withsecurity features and the method thereof
AU635551B2 (en) An apparatus and method for preventing unauthorized access to bios in personal computer system
US6385721B1 (en) Computer with bootable hibernation partition
US5432939A (en) Trusted personal computer system with management control over initial program loading
US5128995A (en) Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
US6915420B2 (en) Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
US5214695A (en) Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
KR970006392B1 (en) Trusted personal computer system with identification
US20040088513A1 (en) Controller for partition-level security and backup
US5742758A (en) Password protecting ROM based utilities in an adapter ROM
US5968139A (en) Method of redirecting I/O operations to memory
US6240519B1 (en) Computer method and apparatus to prompt for administrative password to flash a corrupted non-volatile memory
US20040268079A1 (en) Method and system for providing a secure rapid restore backup of a raid system
US20080140946A1 (en) Apparatus, system, and method for protecting hard disk data in multiple operating system environments
US20030084307A1 (en) Secure boot device selection method and system
MXPA00012548A (en) Virtual data storage (vds) system
JP3967073B2 (en) RAID controller