Multi-drive virtual mass storage device and method of operating same
AssigneeMicron Electronics, Inc.
InventorsDean A. Klein, Eric D. Anderson
Life of this patent
Estimating the term…
Abstract
A virtual mass storage device implements a data manager for storing information on multiple physical mass storage devices. The virtual mass storage device is organized into blocks of information which are allocated to different physical devices, thereby enabling the physical devices to operate in parallel and increase the overall transfer rate of the virtual device.
Claims38
A virtual mass storage device for use with a computer system, for storing data in a format including a plurality of logical sectors arranged in logical blocks, each logical block representing an integral number of logical sectors, the virtual device comprising:
- (a) first and second physical mass storage devices, each for storing data in a format including a plurality of physical sectors, wherein the physical sectors are arranged in physical blocks, each physical block representing an integral number of physical sectors;
- (b) first and second intelligent drive controllers for respectively handling data transfers with the first and second physical mass storage devices, each intelligent drive controller having an on-board memory, wherein the first and second drive controllers operate independent of one another;
- and
- (c) control means for transferring data between the computer system and the first and second physical mass storage devices in response to a transfer request for a group of logical sectors, the control means including:
- (i) determining means for determining respective first and second groups of physical sectors on the first and second physical mass storage devices that correspond to the group of logical sectors;
- (ii) command means for sending commands to the first and second intelligent drive controllers to respectively transfer data related to the first and second groups of physical sectors between the on-board memories and the physical mass storage devices;
- and
- (iii) first second transferring means for alternately transferring data related to the first and second groups of physical sectors between the computer system and the on-board memories of the first and second intelligent drive controllers, respectively, wherein the first and second transferring means alternate transferring segments of data equal in size to the physical blocks irrespective of block boundaries.
An apparatus for handling data transfers between a computer system and a plurality of physical mass storage devices, each physical mass storage device having a physical address space arranged into a format accessed via a plurality of physical addresses, the virtual device comprising a data manager for handling data transfers with the physical mass storage devices, wherein the data manager includes a virtual address space arranged into a format accessed via a plurality of logical addresses, wherein each logical address corresponds to a physical address on one of the physical mass storage devices;
- whereby, in response to a transfer request for data at at least one logical address, the data manager handles the data transfer with the physical address on the appropriate physical mass storage device which corresponds to the logical address;
- wherein the plurality of physical addresses on each physical mass storage device are arranged into a plurality of physical blocks, each of which includes a plurality of physical sectors, wherein the plurality of logical addresses are arranged into a plurality of logical blocks, each of which includes a plurality of logical sectors, and wherein the data manager includes:
- (a) assigning means, responsive to a transfer request from the computer system that specifies at least one logical sector to transfer, for assigning the logical sector to a corresponding physical sector on one of the physical mass storage devices;
- and
- (b) transferring means for transferring data related to the corresponding physical sector between the computer system and the physical mass storage device on which the corresponding physical sector is located, the transferring means including a separate address pointer for each physical mass storage device such that data transfers not aligned with block boundaries occur in non-sequential logical blocks.
A method of transferring data between a computer system and first and second physical mass storage devices of the type in which data is stored in a format including a plurality of physical sectors, the method responsive to a transfer request for a group of logical sectors, wherein the logical sectors and the physical sectors are respectively arranged in logical and physical blocks, the method comprising the steps of:
- (a) determining respective first and second groups of physical sectors on the first and second physical mass storage devices that correspond to the group of logical sectors;
- and
- (b) transferring data related to the corresponding physical sector between the computer system and the physical mass storage device on which the corresponding physical sector is located, wherein the transferring step includes the step of alternately transferring (1) segments of data from the first group of physical sectors between the computer system and the first physical mass storage device, and (2) segments of data from the second group of physical sectors between the computer system and the second physical mass storage device, and wherein the transferring step alternates transferring segments of data equal in size to the physical blocks irrespective of block boundaries.
A method of transferring data between a computer system and first and second physical mass storage devices of the type on which data is stored in a format including a plurality of sectors, the method responsive to a transfer request for a group of logical sectors, wherein the logical sectors and the physical sectors are respectively arranged in logical and physical blocks, the method comprising the steps of:
- (a) determining respective first and second groups of physical sectors on the first and second physical mass storage devices that correspond to the group of logical sectors, wherein the determining step assigns logical sectors in even-numbered blocks to physical sectors on the first physical mass storage device and logical sectors in odd-numbered blocks to physical sectors on the second physical mass storage device;
- and
- (b) alternately transferring (1) segments of data from the first group of physical sectors between the computer system and the first physical mass storage device, and (2) segments of data from the second group of physical sectors between the computer system and the second physical mass storage device, wherein the transferring step transfers data such that data transfers not aligned with block boundaries occur in non-sequential logical blocks.
A method of transferring data between a computer system and first and second physical mass storage devices of the type in which data is stored in a format including a plurality of sectors, the method responsive to a transfer request for a group of logical sectors, wherein the logical sectors and the physical sectors are respectively arranged in logical and physical blocks, the method comprising the steps of:
- (a) determining respective first and second groups of physical sectors on the first and second physical mass storage devices that correspond to the group of logical sectors, wherein the determining step assigns logical sectors in even-numbered blocks to physical sectors on the first physical mass storage device and logical sectors in odd-numbered blocks to physical sectors on the second physical mass storage device;
- and
- (b) alternately transferring (1) segments of data from the first group of physical sectors between the computer system and the first physical mass storage device, and (2) segments of data from the second group of physical sectors between the computer system and the second physical mass storage device, wherein the transferring step alternates transferring segments of data equal in size to the physical blocks irrespective of block boundaries;
- whereby each separate data transfer with a physical mass storage device may represent sectors from more than one block.
Dependencies are inferred from the claim text.