Storage router and method for providing virtual local storage

Information

  • Patent Grant
  • 7689754
  • Patent Number
    7,689,754
  • Date Filed
    Friday, September 7, 2007
    16 years ago
  • Date Issued
    Tuesday, March 30, 2010
    14 years ago
Abstract
A storage router (56) and storage network (50) provide virtual local storage on remote SCSI storage devices (60, 62, 64) to Fibre Channel devices. A plurality of Fibre Channel devices, such as workstations (58), are connected to a Fibre Channel transport medium (52), and a plurality of SCSI storage devices (60, 62, 64) are connected to a SCSI bus transport medium (54) The storage router (56) interfaces between the Fibre Channel transport medium (52) and the SCSI bus transport medium (54). The storage router (56) maps between the workstations (58) and the SCSI storage devices (60, 62, 64) and implements access controls for storage space on the SCSI storage devices (60, 62, 64). The storage router (56) then allows access from the workstations (58) to the SCSI storage devices (60, 62, 64) using native low level, block protocol in accordance with the mapping and the access controls.
Description
BACKGROUND OF THE INVENTION

Typical storage transport mediums provide for a relatively small number of devices to be attached over relatively short distances. One such transport medium is a Small Computer System Interface (SCSI) protocol, the structure and operation of which is generally well known as is described, for example, in the SCSI-1, SCSI-2 and SCSI-3 specifications. High speed serial interconnects provide enhanced capability to attach a large number of high speed devices to a common storage transport medium over large distances. One such. serial interconnect is Fibre Channel, the structure and operation of which is described, for example, in Fibre Channel Physical and Signaling Interface (FC-PH), ANSI X3.230 Fibre Channel Arbitrated Loop (FC-AL), and ANSI X3.272 Fibre Channel Private Loop Direct Attach (FC-PLDA).


Conventional computing devices, such as computer workstations, generally access storage locally or through network interconnects. Local storage typically consists of a disk drive, tape drive, CD-ROM drive or other storage device contained within, or locally connected to the workstation. The workstation provides a file system structure that includes security controls, with access to the local storage device through native low level block protocols. These protocols map directly to the mechanisms used by the storage device and consist of data requests without security controls. Network interconnects typically provide access for a large number of computing devices to data storage on a remote network server. The remote network server provides file system structure, access control, and other miscellaneous capabilities that include the network interface. Access to data through the network server is through network protocols that the server must translate into low level requests to the storage device. A workstation with access to the server storage must translate its file system protocols into network protocols that are used to communicate with the server. Consequently, from the perspective of a workstation, or other computing device, seeking to access such server data, the access is much slower than access to data on a local storage device.


SUMMARY OF THE INVENTION

In accordance with the present invention, a storage router and method for providing virtual local storage on remote SCSI storage devices to Fibre Channel devices are disclosed that provide advantages over conventional network storage devices and methods.


According to one aspect of the present invention, a storage router and storage network provide virtual local storage on remote SCSI storage devices to Fibre Channel devices. A plurality of Fibre Channel devices, such as workstations, are connected to a Fibre Channel transport medium, and a plurality of SCSI storage devices are connected to a SCSI bus transport medium. The storage router interfaces between the Fibre Channel transport medium and the SCSI bus transport medium. The storage router maps between the workstations and the SCSI storage devices and implements access controls for storage space on the SCSI storage devices. The storage router then allows access from the workstations to the SCSI storage devices using native low level, block protocol in accordance with the mapping and the access controls.


According to another aspect of the present invention, virtual local storage on remote SCSI storage devices is provided to Fibre Channel devices. A Fibre Channel transport medium and a SCSI bus transport medium are interfaced with. A configuration is maintained for SCSI storage devices connected to the SCSI bus transport medium. The configuration maps between Fibre Channel devices and the SCSI storage devices and implements access controls for storage space on the SCSI storage devices. Access is then allowed from Fibre Channel initiator devices to SCSI storage devices using native low level, block protocol in accordance with the configuration.


A technical advantage of the present invention is the ability to centralize local storage for networked workstations without any cost of speed or overhead. Each workstation accesses its virtual local storage as if it were locally connected. Further, the centralized storage devices can be located in a significantly remote position even in excess of ten kilometers as defined by Fibre Channel standards.


Another technical advantage of the present invention is the ability to centrally control and administer storage space for connected users without limiting the speed with which the users can access local data. In addition, global access to data, backups, virus scanning and redundancy can be more easily accomplished by centrally located storage devices.


A further technical advantage of the present invention is providing support for SCSI storage devices as local storage for Fibre Channel hosts. In addition, the present invention helps to provide extended capabilities for Fibre Channel and for management of storage subsystems.





BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention and the advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:



FIG. 1 is a block diagram of a conventional network that provides storage through a network server;



FIG. 2 is a block diagram of one embodiment of a storage network with a storage router that provides global access and routing;



FIG. 3 is a block diagram of one embodiment of a storage network with a storage router that provides virtual local storage;



FIG. 4 is a block diagram of one embodiment of the storage router of FIG. 3; and



FIG. 5 is a block diagram of one embodiment of data flow within the storage router of FIG. 4.





DETAILED DESCRIPTION OF THE INVENTION


FIG. 1 is a block diagram of a conventional network, indicated generally at 10, that provides access to storage through a network server. As shown, network 10 includes a plurality of workstations 12 interconnected with a network server 14 via a network transport medium 16. Each workstation 12 can generally comprise a processor, memory, input/output devices, storage devices and a network adapter as well as other common computer components. Network server 14 uses a SCSI bus 18 as a storage transport medium to interconnect with a plurality of storage devices 20 (tape drives, disk drives, etc.). In the embodiment of FIG. 1, network transport medium 16 is a network connection and storage devices 20 comprise hard disk drives, although there are numerous alternate transport mediums and storage devices.


In network 10, each workstation 12 has access to its local storage device as well as network access to data on storage devices 20. The access to a local storage device is typically through native low level, block protocols. On the other hand, access by a workstation 12 to storage devices 20 requires the participation of network server 14 which implements a file system and transfers data to workstations 12 only through high level file system protocols. Only network server 14 communicates with storage devices 20 via native low level, block protocols. Consequently, the network access by workstations 12 through network server 14 is slow with respect to their access to local storage. In network 10, it can also be a logistical problem to centrally manage and administer local data distributed across an organization, including accomplishing tasks such as backups, virus scanning and redundancy.



FIG. 2 is a block diagram of one embodiment of a storage network, indicated generally at 30, with a storage router that provides global access and routing. This environment is significantly different from that of FIG. 1 in that there is no network server involved. In FIG. 2, a Fibre Channel high speed serial transport 32 interconnects a plurality of workstations 36 and storage devices 38. A SCSI bus storage transport medium interconnects workstations 40 and storage devices 42. A storage router 44 then serves to interconnect these mediums and provide devices on either medium global, transparent access to devices on the other medium. Storage router 44 routes requests from initiator devices on one medium to target devices on the other medium and routes data between the target and the initiator. Storage router 44 can allow initiators and targets to be on either side. In this manner, storage router 44 enhances the functionality of Fibre Channel 32, by providing access, for example, to legacy SCSI storage devices on SCSI bus 34. In the embodiment of FIG. 2, the operation of storage router 44 can be managed by a management station 46 connected to the storage router via a direct serial connection.


In storage network 30, any workstation 36 or workstation 40 can access any storage device 38 or storage device 42 through native low level, block protocols, and vice versa. This functionality is enabled by storage router 44 which routes requests and data as a generic transport between Fibre Channel 32 and SCSI bus 34. Storage router 44 uses tables to map devices from one medium to the other and distributes requests and data across Fibre Channel 32 and SCSI bus 34 without any security access controls. Although this extension of the high speed serial interconnect provided by Fibre Channel is beneficial, it is desirable to provide security controls in addition to extended access to storage devices through a native low level, block protocol.



FIG. 3 is a block diagram of one embodiment of a storage network, indicated generally at 50, with a storage router that provides virtual local storage. Similar to that of FIG. 2, storage network 50 includes a Fibre Channel high speed serial interconnect 52 and a SCSI bus 54 bridged by a storage router 56. Storage router 56 of FIG. 3 provides for a large number of workstations 58 to be interconnected on a common storage transport and to access common storage devices 60, 62 and 64 through native low level, block protocols.


According to the present invention, storage router 56 has enhanced functionality to implement security controls and routing such that each workstation 58 can have access to a specific subset of the overall data stored in storage devices 60, 62 and 64. This specific subset of data has the appearance and characteristics of local storage and is referred to herein as virtual local storage. Storage router 56 allows the configuration and modification of the storage allocated to each attached workstation 58 through the use of mapping tables or other mapping techniques.


As shown in FIG. 3, for example, storage device 60 can be configured to provide global data 65 which can be accessed by all workstations 58. Storage device 62 can be configured to provide partitioned subsets 66, 68, 70 and 72, where each partition is allocated to one of the workstations 58 (workstations A, B, C and D). These subsets 66, 68, 70 and 72 can only be accessed by the associated workstation 58 and appear to the associated workstation 58 as local storage accessed using native low level, block protocols. Similarly, storage device 64 can be allocated as storage for the remaining workstation 58 (workstation E).


Storage router 56 combines access control with routing such that each workstation 58 has controlled access to only the specified partition of storage device 62 which forms virtual local storage for the workstation 58. This access control allows security control for the specified data partitions. Storage router 56 allows this allocation of storage devices 60, 62 and 64 to be managed by a management station 76. Management station 76 can connect directly to storage router 56 via a direct connection or, alternately, can interface with storage router 56 through either Fibre Channel 52 or SCSI bus 54. In the latter case, management station 76 can be a workstation or other computing device with special rights such that storage router 56 allows access to mapping tables and shows storage devices 60, 62 and 64 as they exist physically rather than as they have been allocated.


The environment of FIG. 3 extends the concept of single workstation having locally connected storage devices to a storage network 50 in which workstations 58 are provided virtual local storage in a manner transparent to workstations 58. Storage router 56 provides centralized control of what each workstation 58 sees as its local driver as well as what data it sees as global data accessible by other workstations 58. Consequently, the storage space considered by the workstation 58 to be its local storage is actually a partition (i.e., logical storage definition) of a physically remote storage device 60, 62 or 64 connected through storage router 56. This means that similar requests from workstations 58 for access to their local storage devices produce different accesses to the storage space on storage devices 60, 62 and 64. Further, no access from a workstation 58 is allowed to the virtual local storage of another workstation 58.


The collective storage provided by storage devices 60, 62 and 64 can have blocks allocated by programming means within storage router 56. To accomplish this function, storage router 56 can include routing tables and security controls that define storage allocation for each workstation 58. The advantages provided by implementing virtual local storage in centralized storage devices include the ability to do collective backups and other collective administrative functions more easily. This is accomplished without limiting the performance of workstations 58 because storage access involves native low level, block protocols and does not involve the overhead of high level protocols and file systems required by network servers.



FIG. 4 is a block diagram of one embodiment of storage router 56 of FIG. 3. Storage router 56 can comprise a Fibre Channel controller 80 that interfaces with Fibre Channel 52 and a SCSI controller 82 that interfaces with SCSI bus 54. A buffer 84 provides memory work space and is connected to both Fibre Channel controller 80 and to SCSI controller 82. A supervisor unit 86 is connected to Fibre Channel controller 80, SCSI controller 82 and buffer 84. Supervisor unit 86 comprises a microprocessor for controlling operation of storage router 56 and to handle mapping and-security access for requests between Fibre Channel 52 and SCSI bus 54.



FIG. 5 is a block diagram of one embodiment of data flow within storage router 56 of FIG. 4. As shown, data from Fibre Channel 52 is processed by a Fibre Channel (FC) protocol unit 88 and placed in a FIFO queue 90. A direct memory access (DMA) interface 92 then takes data out of FIFO queue 90 and places it in buffer 84. Supervisor unit 86 processes the data in buffer 84 as represented by supervisor processing 93. This processing involves mapping between Fibre Channel 52 and SCSI bus 54 and applying access controls and routing functions. A DMA interface 94 then pulls data from buffer 84 and places it into a buffer 96. A SCSI protocol unit 98 pulls data from buffer 96 and communicates the data on SCSI bus 54. Data flow in the reverse direction, from SCSI bus 54 to Fibre Channel 52, is accomplished in a reverse manner.


The storage router of the present invention is a bridge device that connects a Fibre Channel link directly to a SCSI bus and enables the exchange of SCSI command set information between application clients on SCSI bus devices and the Fibre Channel links. Further, the storage router applies access controls such that virtual local storage can be established in remote SCSI storage devices for workstations on the Fibre Channel link. In one embodiment, the storage router provides a connection for Fibre Channel links running the SCSI Fibre Channel Protocol (FCP) to legacy SCSI devices attached to a SCSI bus. The Fibre Channel topology is typically an Arbitrated Loop (FC_AL).


In part, the storage router enables a migration path Fibre Channel based, serial SCSI networks by providing connectivity for legacy SCSI bus devices. The storage router can be attached to a Fibre Channel Arbitrated Loop and a SCSI bus to support a number of SCSI devices. Using configuration settings, the storage router can make the SCSI bus devices available on the Fibre Channel network as FCP logical units. Once the configuration is defined, operation of the storage router is transparent to application clients. In this manner, the storage router can form an integral part of the migration to new Fibre Channel based networks while providing a means to continue using legacy SCSI devices.


In one implementation (not shown), the storage router can be a rack mount or free standing device with an internal power supply. The storage router can have a Fibre Channel and SCSI port, and a standard, detachable power cord can be used, the FC connector can be a copper DB9 connector, and the SCSI connector can be a 68-pin type. Additional modular jacks can be provided for a serial port and an 802.3 10BaseT port, i.e. twisted pair Ethernet, for management access. The SCSI port of the storage router an support SCSI direct and sequential access target devices and can support SCSI initiators, as well. The Fibre Channel port can interface to SCSI-3 FCP enabled devices and initiators.


To accomplish its functionality, one implementation of the storage router uses: a Fibre Channel interface based on the HEWLETT-PACKARD TACHYON HPFC-5000 controller and a GLM media interface; an Intel 80960RP processor, incorporating independent data and program memory spaces, and associated logic required to implement a stand alone processing system; and a serial port for debug and system configuration. Further, this implementation includes a SCSI interface supporting Fast-20 based on the SYMBIOS 53C8xx series SCSI controllers, and an operating system based upon the WIND RIVERS SYSTEMS VXWORKS or IXWORKS kernel, as determined by design. In addition, the storage router includes software as required to control basic functions of the various elements, and to provide appropriate translations between the FC and SCSI protocols.


The storage router has various modes of operation that are possible between FC and SCSI target and initiator combinations. These modes are: FC Initiator to SCSI Target; SCSI Initiator to FC Target; SCSI Initiator to SCSI Target; and FC Initiator to FC Target. The first two modes can be supported concurrently in a single storage router device and are discussed briefly below. The third mode can involve two storage router devices back to back and can serve primarily as a device to extend the physical distance beyond that possible via a direct SCSI connection. The last mode can be used to carry FC protocols encapsulated on other transmission technologies (e.g. ATM, SONET), or to act as a bridge between two FC loops (e.g. as a two port fabric).


The FC Initiator to SCSI Target mode provides for the basic configuration of a server using Fibre Channel to communicate with SCSI targets. This mode requires that a host system have an FC attached device and associated device drivers and software to generate SCSI-3 FCP requests. This system acts as an initiator using the storage router to communicate with SCSI target devices. The SCSI devices supported can include SCSI-2 compliant direct or sequential access (disk or tape) devices. The storage router serves to translate command and status information and transfer data between SCSI-3 FCP and SCSI-2, allowing the use of standard SCSI-2 devices in a Fibre Channel environment.


The SCSI Initiator to FC Target mode provides for the configuration of a server using SCSI-2 to communicate with Fibre Channel targets. This mode requires that a host system has a SCSI-2 interface and driver software to control SCSI-2 target devices. The storage router will connect to the SCSI-2 bus and respond as a target to multiple target IDs. Configuration information is required to identify the target IDs to which the bridge will respond on the SCSI-2 bus. The storage router then translates the SCSI-2 requests to SCSI-3 FCP requests, allowing the use of FC devices with a SCSI host system. This will also allow features such as a tape device acting as an initiator on the SCSI bus to provide full support for this type of SCSI device.


In general, user configuration of the storage router will be needed to support various functional modes of operation. Configuration can be modified, for example, through a serial port or through an Ethernet port via SNMP (simple network management protocol) or the Telnet session. Specifically, SNMP manageability can be provided via a B02.3 Ethernet interface. This can provide for configuration changes as well as providing statistics and error information. Configuration can also be performed via TELNET or RS-232 interfaces with menu driven command interfaces. Configuration information can be stored in a segment of flash memory and can be retained across resets and power off cycles. Password protection can also be provided.


In the first two modes of operation, addressing information is needed to map from FC addressing to SCSI addressing and vice versa. This can be ‘hard’ configuration data, due to the need for address information to be maintained across initialization and partial reconfigurations of the Fibre Channel address space. In an arbitrated loop configuration, user configured addresses will be needed for AL_PAs in order to insure that known addresses are provided between loop reconfigurations.


With respect to addressing, FCP and SCSI 2 systems employ different methods of addressing target devices. Additionally, the inclusion of a storage router means that a method of translating device IDs needs to be implemented. In addition, the storage router can respond to commands without passing the commands through to the opposite interface. This can be implemented to allow all generic FCP and SCSI commands to pass through the storage router to address attached devices, but allow for configuration and diagnostics to be performed directly on the storage router through the FC and SCSI interfaces.


Management commands are those intended to be processed by the storage router controller directly. This may include diagnostic, mode, and log commands as well as other vendor-specific commands. These commands can be received and processed by both the FOP and SCSI interfaces, but are not typically bridged to the opposite interface. These commands may also have side effects on the operation of the storage router, and cause other storage router operations to change or terminate.


A primary method of addressing management commands though the FCP and SCSI interfaces can be through peripheral device type addressing. For example, the storage router can respond to all operations addressed to logical unit (LUN) zero as a controller device. Commands that the storage router will support can include INQUIRY as well as vendor-specific management commands. These are to be generally consistent with SCC standard commands.


The SCSI bus is capable of establishing bus connections between targets. These targets may internally address logical units. Thus, the prioritized addressing scheme used by SCSI subsystems can be represented as follows: BUS:TARGET:LOGICAL UNIT. The BUS identification is intrinsic in the configuration, as a SCSI initiator is attached to only one bus. Target addressing is handled by bus arbitration from information provided to the arbitrating device. Target addresses are assigned to SCSI devices directly through some means of configuration, such as a hardware jumper, switch setting, or device specific software configuration. As such, the SCSI protocol provides only logical unit addressing within the Identify message. Bus and target information is implied by the established connection.


Fibre Channel devices within a fabric are addressed by a unique port identifier. This identifier is assigned to a port during certain well-defined states of the FC protocol. Individual ports are allowed to arbitrate for a known, user defined address. If such an address is not provided, or if arbitration for a particular-user address fails, the port is assigned a unique address by the FC protocol. This address is generally not guaranteed to be unique between instances. Various scenarios exist where the AL-PA of a device will change, either after power cycle or loop reconfiguration.


The FC protocol also provides a logical unit address field within command structures to provide addressing to devices internal to a port. The FCP_CMD payload specifies an eight byte LUN field. Subsequent identification of the exchange between devices is provided by the FQXID (Fully Qualified Exchange ID).


FC ports can be required to have specific addresses assigned. Although basic functionality is not dependent on this, changes in the loop configuration could result in disk targets changing identifiers with the potential risk of data corruption or loss. This configuration can be straightforward, and can consist of providing the device a loop-unique ID (AL_PA) in the range of “01h” to “EFh.” Storage routers could be shipped with a default value with the assumption that most configurations will be using single storage routers and no other devices requesting the present ID. This would provide a minimum amount of initial configuration to the system administrator. Alternately, storage routers could be defaulted to assume any address so that configurations requiring multiple storage routers on a loop would not require that the administrator assign a unique ID to the additional storage routers.


Address translation is needed where commands are issued in the cases FC Initiator to SCSI Target and SCSI Initiator to FC Target. Target responses are qualified by the FQXID and will retain the translation acquired at the beginning of the exchange. This prevents configuration changes occurring during the course of execution of a command from causing data or state information to be inadvertently misdirected. Configuration can be required in cases of SCSI Initiator to FC Target, as discovery may not effectively allow for FCP targets to consistently be found. This is due to an FC arbitrated loop supporting addressing of a larger number of devices than a SCSI bus and the possibility of FC devices changing their AL-PA due to device insertion or other loop initialization.


In the direct method, the translation to BUS:TARGET:LUN of the SCSI address information will be direct. That is, the values represented in the FCP LUN field will directly map to the values in effect on the SCSI bus. This provides a clean translation and does not require SCSI bus discovery. It also allows devices to be dynamically added to the SCSI bus without modifying the address map. It may not allow for complete discovery by FCP initiator devices, as gaps between device addresses may halt the discovery process. Legacy SCSI device drivers typically halt discovery on a target device at the first unoccupied LUN, and proceed to the next target. This would lead to some devices not being discovered. However, this allows for hot plugged devices and other changes to the loop addressing.


In the ordered method, ordered translation requires that the storage router perform discovery on reset, and collapses the addresses on the SCSI bus to sequential FSP LUN values. Thus, the FCP LUN values 0−N can represent N+1 SCSI devices, regardless of SCSI address values, in the order in which they are isolated during the SCSI discovery process. This would allow the FCP initiator discovery process to identify all mapped SCSI devices without further configuration. This has the limitation that hot-plugged devices will not be identified until the next reset cycle. In this case, the address may also be altered as well.


In addition to addressing, according to the present invention, the storage router provides configuration and access controls that cause certain requests from FC Initiators to be directed to assigned virtual local storage partitioned on SCSI storage devices. For example, the same request for LUN 0 (local storage) by two different FC Initiators can be directed to two separate subsets of storage. The storage router can use tables to map, for each initiator, what storage access is available and what partition is being addressed by a particular request. In this manner, the storage space provided by SCSI storage devices can be allocated to FC initiators to provide virtual local storage as well as to create any other desired configuration for secured access.


Although the present invention has been described in detail, it should be understood that various changes, substitutions, and alterations can be made hereto without departing from the spirit and scope of the invention as defined by the appended claims.

Claims
  • 1. A storage router for providing virtual local storage on remote storage devices to host devices, comprising: a buffer providing memory work space for the storage router;a first controller operable to connect to and interface with a serial transport medium operable to transport a serial protocol communication;a second controller operable to connect to and interface with a second transport medium; anda supervisor unit coupled to the first controller, the second controller and the buffer, the supervisor unit operable to map between host devices connected to the serial transport medium and the storage devices connected to the second transport medium, to implement access controls for storage space on the storage devices, and to process data in the buffer to interface between the first controller and the second controller to allow access between host devices connected to the serial transport medium and the storage devices through using low level, block protocols.
  • 2. The storage router of claim 1, wherein the supervisor unit maintains an allocation of subsets of storage space to associated host devices connected to the serial transport medium, wherein each subset is only accessible by the associated host device.
  • 3. The storage router of claim 2, wherein the storage router is further operable to receive a communication from the host device at the first controller, access the map to determine if the host device is allowed access to the subset of storage space for which the communication is intended, and send a low level block protocol command communication to the intended subset of the storage space if the host device is determined to be allowed access.
  • 4. The storage router of claim 1, wherein the serial transport medium is an Ethernet transport medium, wherein the host device is operable to communicate using the iSCSI protocol, and wherein the first controller receives an iSCSI communication from the host device, the iSCSI communication comprising a SCSI command, and the supervisor unit forwards the SCSI command to one or more storage devices or portions thereof for which the host device is allowed access.
  • 5. The storage router of claim 3, wherein the storage devices comprise SCSI, Fibre Channel, ATA, SATA or Serial Attached SCSI storage devices.
  • 6. The storage router of claim 5, wherein the supervisor unit forwards a low level block protocol command to the storage devices.
  • 7. A method for providing virtual local storage on remote storage devices to host devices connected to a serial transport medium, comprising: interfacing with the serial transport medium;interfacing with a second transport medium;mapping between host devices connected to the serial transport medium and the storage devices;implementing access controls for storage space on the storage devices in accordance with the mapping; andallowing access from host devices connected to the serial transport medium to the storage devices connected to the second transport medium through using low level, block protocols.
  • 8. The method of claim 7, wherein mapping between host devices connected to the serial transport medium and the storage devices includes allocating subsets of storage space to associated host devices, wherein each subset of storage space is only accessible by the associated host device.
  • 9. The method claim 8, further comprising: receiving a serial protocol communication from the host device at the first controller;accessing the map to determine if the host device is allowed access to the subset of storage space for which the serial protocol communication is intended; andsending a low level block protocol communication to the intended subset of the storage space if the host device is determined to be allowed access to the intended subset of storage space.
  • 10. The method of claim 9, wherein the serial transport medium is an Ethernet transport medium, wherein the host device is operable to communicate using the SCSI protocol, and wherein the first controller receives an iSCSI communication from the host device, the iSCSI communication comprising a SCSI command, and the supervisor unit forwards the SCSI command to one or more storage devices or portions thereof for which the host device is allowed access; wherein the storage devices comprise SCSI, Fibre Channel, ATA, SATA or Serial Attached SCSI storage devices.
  • 11. A storage network, comprising: a serial transport medium;a second transport medium;a plurality of workstations connected to the serial transport medium;a plurality of storage devices connected to the second transport medium; anda routing device interfacing between the serial transport medium and the second transport medium, the routing device providing virtual local storage on the storage devices to the workstations and operable: to map between the workstations and the storage devices;to implement access controls for storage space on the storage devices; andto allow access from the workstations to the storage devices using low level, block protocol in accordance with the mapping and access controls.
  • 12. The storage network of claim 11, wherein the access controls include an allocation of subsets of storage space to associated workstations, wherein each subset is only accessible by the associated workstation.
  • 13. The storage network of claim 11, wherein the map creates a path between unique identifiers associated with each of the workstations to unique identifiers associated with the storage devices.
  • 14. The storage network of claim 11, wherein the routing device comprises: a buffer providing memory work space for the routing device;a first controller operable to communicate with the serial transport medium, the first controller further operable to pull outgoing data from the buffer and to place incoming data into the buffer;a second controller operable to communicate with the second transport medium, the second controller further operable to pull outgoing data from the buffer and to place incoming data into the buffer; anda supervisor unit in communication with the first and second controllers and the buffer, the supervisor unit operable: to maintain a configuration for the storage devices that maps between the workstations and storage devices and that implements the access controls for storage space on the storage devices; andto process data in the buffer to interface between the first controller and the second controller to allow access from workstations to storage devices in accordance with the configuration.
  • 15. The storage network of claim 11, wherein the storage devices comprise SCSI storage devices.
  • 16. The storage network of claim 11, wherein the storage devices comprise Fibre Channel storage devices.
  • 17. The storage network of claim 11, wherein the storage devices comprise ATA storage devices.
  • 18. The storage network of claim 11, wherein the storage devices comprise SATA storage devices.
  • 19. The storage network of claim 11, wherein the storage devices comprise SAS storage devices.
  • 20. The storage network of claim 11, wherein the serial transport medium is an Ethernet transport medium operable to transport iSCSI protocol communications.
  • 21. The storage network of claim 11, wherein the serial transport medium is a Fibre Channel transport medium operable to transport Fibre Channel protocol communications.
TECHNICAL FIELD OF THE INVENTION

This application is a continuation of, and claims a benefit of priority under 35 U.S.C. 120 of the filing date of U.S. patent application Ser. No. 11/442,878 entitled “Storage Router and Method for Providing Virtual Local Storage” filed May 30, 2006, which is a continuation of Ser. No. 11/353,826, entitled “Storage Router and Method for Providing Virtual Local Storage” filed on Feb. 14, 2006, which is a continuation of and claims the benefit of priority of U.S. patent application Ser. No. 10/658,163 entitled “Storage Router and Method for Providing Virtual Local Storage” filed on Sep. 9, 2003, which is a continuation of and claims the benefit of benefit of priority of U.S. patent application Ser. No. 10/081,110 by inventors Geoffrey B. Hoese and Jeffery T. Russell, entitled “Storage Router and Method for Providing Virtual Local Storage” filed on Feb. 22, 2002 which in turn is a continuation of and claims benefit of priority of U.S. application Ser. No. 09/354,682 by inventors Geoffrey B. Hoese and Jeffrey T. Russell, entitled “Storage Router and Method for Providing Virtual Local Storage” filed on Jul. 15, 1999, now U.S. Pat. No. 6,421,753, which in turn is a continuation of and claims benefit of priority of U.S. patent application Ser. No. 09/001,799, filed on Dec. 31, 1997, now U.S. Pat. No. 5,941,972, and hereby incorporates these applications and patents by reference in their entireties as if they had been fully set forth herein. This invention relates in general to network storage devices, and more particularly to a storage router and method for providing virtual local storage on remote SCSI storage devices to Fibre Channel devices.

US Referenced Citations (227)
Number Name Date Kind
3082406 Stevens Mar 1963 A
4092732 Ouchi May 1978 A
4170415 Lemeshewsky et al. Oct 1979 A
4415970 Swenson et al. Nov 1983 A
4455605 Cormier et al. Jun 1984 A
4504927 Callan Mar 1985 A
4533996 Gartung et al. Aug 1985 A
4573152 Greene et al. Feb 1986 A
4603380 Easton et al. Jul 1986 A
4620295 Aiden, Jr. Oct 1986 A
4644462 Matsubara et al. Feb 1987 A
4695948 Blevins et al. Sep 1987 A
4697232 Brunelle et al. Sep 1987 A
4715030 Koch et al. Dec 1987 A
4751635 Kret Jun 1988 A
4787028 Finforck et al. Nov 1988 A
4807180 Takeuchi et al. Feb 1989 A
4811278 Bean et al. Mar 1989 A
4821179 Jensen et al. Apr 1989 A
4825406 Bean et al. Apr 1989 A
4827411 Arrowood et al. May 1989 A
4835674 Collins et al. May 1989 A
4845722 Kent et al. Jul 1989 A
4864532 Reeve et al. Sep 1989 A
4897874 Lidensky et al. Jan 1990 A
4947367 Chang et al. Aug 1990 A
4961224 Yung Oct 1990 A
5072378 Manka Dec 1991 A
5077732 Fischer et al. Dec 1991 A
5077736 Dunphy, Jr. et al. Dec 1991 A
5124987 Milligan et al. Jun 1992 A
5155845 Beal et al. Oct 1992 A
5163131 Row et al. Nov 1992 A
5185876 Nguyen et al. Feb 1993 A
5193168 Corrigan et al. Mar 1993 A
5193184 Belsan et al. Mar 1993 A
5202856 Glider et al. Apr 1993 A
5210866 Milligan et al. May 1993 A
5212785 Powers et al. May 1993 A
5214778 Glider et al. May 1993 A
5226143 Baird et al. Jul 1993 A
5239632 Larner Aug 1993 A
5239643 Blount et al. Aug 1993 A
5239654 Ing-Simmons et al. Aug 1993 A
5247638 O'Brien et al. Sep 1993 A
5247692 Fujimura Sep 1993 A
5257386 Saito Oct 1993 A
5297262 Cox et al. Mar 1994 A
5301290 Tetzlaff et al. Apr 1994 A
5315657 Abadi et al. May 1994 A
5317693 Cuenod et al. May 1994 A
5331673 Elko et al. Jul 1994 A
5347384 McReynolds et al. Sep 1994 A
5355453 Row et al. Oct 1994 A
5361347 Glider et al. Nov 1994 A
5367646 Pardillos et al. Nov 1994 A
5379385 Shomler Jan 1995 A
5379398 Cohn et al. Jan 1995 A
5388243 Glider et al. Feb 1995 A
5388246 Kasi Feb 1995 A
5394402 Ross et al. Feb 1995 A
5394526 Crouse et al. Feb 1995 A
5396596 Hashemi et al. Mar 1995 A
5403639 Belsan et al. Apr 1995 A
5410667 Belsan et al. Apr 1995 A
5410697 Baird et al. Apr 1995 A
5414820 McFarland et al. May 1995 A
5416915 Mattson et al. May 1995 A
5418909 Jachowski et al. May 1995 A
5420988 Elliott May 1995 A
5423026 Cook et al. Jun 1995 A
5423044 Sutton et al. Jun 1995 A
5426637 Derby et al. Jun 1995 A
5430855 Wash et al. Jul 1995 A
5450570 Richek et al. Sep 1995 A
5452421 Beardsley et al. Sep 1995 A
5459857 Ludlam et al. Oct 1995 A
5463754 Beausoleil et al. Oct 1995 A
5465382 Day, III et al. Nov 1995 A
5469576 Dauerer et al. Nov 1995 A
5471609 Yudenfriend et al. Nov 1995 A
5487077 Hassner et al. Jan 1996 A
5491812 Pisello et al. Feb 1996 A
5495474 Olnowich et al. Feb 1996 A
5496576 Jeong Mar 1996 A
5504857 Baird et al. Apr 1996 A
5507032 Kimura Apr 1996 A
5511169 Suda Apr 1996 A
5519695 Purohit et al. May 1996 A
5530845 Hiatt et al. Jun 1996 A
5535352 Bridges et al. Jul 1996 A
5537585 Blickerstaff et al. Jul 1996 A
5544313 Shachnai et al. Aug 1996 A
5548791 Casper et al. Aug 1996 A
5564019 Beausoleil et al. Oct 1996 A
5568648 Coscarella et al. Oct 1996 A
5581709 Ito et al. Dec 1996 A
5581714 Amini et al. Dec 1996 A
5581724 Belsan et al. Dec 1996 A
5596562 Chen Jan 1997 A
5596736 Kerns Jan 1997 A
5598541 Malladi Jan 1997 A
5613082 Brewer et al. Mar 1997 A
5621902 Cases et al. Apr 1997 A
5632012 Belsan et al. May 1997 A
5634111 Oeda et al. May 1997 A
5638518 Malladi Jun 1997 A
5642515 Jones et al. Jun 1997 A
5659756 Hefferon et al. Aug 1997 A
5664107 Chatwanni et al. Sep 1997 A
5680556 Begun et al. Oct 1997 A
5684800 Dobbins et al. Nov 1997 A
5701491 Dunn et al. Dec 1997 A
5712976 Falcon et al. Jan 1998 A
5727218 Hotchkin Mar 1998 A
5729705 Weber Mar 1998 A
5743847 Nakamura et al. Apr 1998 A
5748924 Llorens et al. May 1998 A
5751971 Dobbins et al. May 1998 A
5751975 Gillespie et al. May 1998 A
5764931 Schmahl et al. Jun 1998 A
5768623 Judd et al. Jun 1998 A
5774683 Gulick Jun 1998 A
5778411 DeMoss et al. Jul 1998 A
5781715 Sheu Jul 1998 A
5802278 Isfeld et al. Sep 1998 A
5805816 Picazo, Jr. et al. Sep 1998 A
5805920 Sprenkle et al. Sep 1998 A
5809328 Nogales et al. Sep 1998 A
5812754 Lui et al. Sep 1998 A
5819054 Ninomiya et al. Oct 1998 A
5825772 Dobbins et al. Oct 1998 A
5835496 Yeung et al. Nov 1998 A
5845107 Fisch et al. Dec 1998 A
5845722 Makohl et al. Dec 1998 A
5848251 Lomelino et al. Dec 1998 A
5857080 Jander et al. Jan 1999 A
5860137 Raz et al. Jan 1999 A
5864653 Tavallaei et al. Jan 1999 A
5867648 Foth et al. Feb 1999 A
5884027 Garbus et al. Mar 1999 A
5889952 Hunnicutt et al. Mar 1999 A
5913045 Gillespie et al. Jun 1999 A
5923557 Eidson Jul 1999 A
5933824 DeKoning et al. Aug 1999 A
5935205 Muarayama et al. Aug 1999 A
5935260 Ofer Aug 1999 A
5941969 Ram et al. Aug 1999 A
5941972 Hoese et al. Aug 1999 A
5946308 Dobbins et al. Aug 1999 A
5953511 Sescilia et al. Sep 1999 A
5959994 Boggs et al. Sep 1999 A
5963556 Varghese et al. Oct 1999 A
5974530 Young Oct 1999 A
5978379 Chan et al. Nov 1999 A
5978875 Asano et al. Nov 1999 A
5991797 Futral et al. Nov 1999 A
6000020 Chin et al. Dec 1999 A
6021451 Bell et al. Feb 2000 A
6029168 Frey Feb 2000 A
6032269 Renner, Jr. Feb 2000 A
6041058 Flanders et al. Mar 2000 A
6041381 Hoese Mar 2000 A
6055603 Ofer et al. Apr 2000 A
6065087 Keaveny et al. May 2000 A
6070253 Tavallaei et al. May 2000 A
6073209 Bergsten Jun 2000 A
6073218 DeKoning et al. Jun 2000 A
6075863 Krishnan et al. Jun 2000 A
6081849 Born et al. Jun 2000 A
6098128 Velez-McCaskey et al. Aug 2000 A
6098149 Ofer et al. Aug 2000 A
6108684 DeKoning et al. Aug 2000 A
6118766 Akers Sep 2000 A
6131119 Fukui Oct 2000 A
6134617 Weber Oct 2000 A
6141737 Krantz et al. Oct 2000 A
6145006 Vishlitsky et al. Nov 2000 A
6147976 Shand et al. Nov 2000 A
6147995 Dobbins et al. Nov 2000 A
6148004 Nelson et al. Nov 2000 A
6173399 Gilbrech Jan 2001 B1
6185203 Berman Feb 2001 B1
6202153 Diamant et al. Mar 2001 B1
6209023 Dimitroff et al. Mar 2001 B1
6219771 Kikuchi et al. Apr 2001 B1
6223266 Sartore Apr 2001 B1
6230218 Casper et al. May 2001 B1
6243827 Renner, Jr. Jun 2001 B1
6260120 Blumenau et al. Jul 2001 B1
6268789 Diamant et al. Jul 2001 B1
6308247 Ackerman et al. Oct 2001 B1
6330629 Kondo et al. Dec 2001 B1
6330687 Griffith Dec 2001 B1
6341315 Arroyo et al. Jan 2002 B1
6343324 Hubis et al. Jan 2002 B1
6363462 Bergsten Mar 2002 B1
6401170 Griffith et al. Jun 2002 B1
6421753 Hoese et al. Jul 2002 B1
6425035 Hoese et al. Jul 2002 B2
6425036 Hoese et al. Jul 2002 B2
6425052 Hashemi Jul 2002 B1
6453345 Trcka et al. Sep 2002 B2
6484245 Sanada et al. Nov 2002 B1
D470486 Cheng Feb 2003 S
6529996 Nguyen et al. Mar 2003 B1
6547576 Peng et al. Apr 2003 B2
6560750 Chien et al. May 2003 B2
6563701 Peng et al. May 2003 B1
6775693 Adams Aug 2004 B1
6792602 Lin et al. Sep 2004 B2
6820212 Duchesne et al. Nov 2004 B2
6854027 Hsu et al. Feb 2005 B2
6862637 Stupar Mar 2005 B1
6874043 Treggiden Mar 2005 B2
6874100 Rauscher Mar 2005 B2
6910083 Hsu et al. Jun 2005 B2
7065076 Nemazie Jun 2006 B1
7127668 McBryde et al. Oct 2006 B2
7133965 Chien Nov 2006 B2
7188111 Chen et al. Mar 2007 B2
7216225 Haviv et al. May 2007 B2
7251248 Trossell et al. Jul 2007 B2
7281072 Liu et al. Oct 2007 B2
20020083221 Tsai et al. Jun 2002 A1
20060277326 Tsai et al. Dec 2006 A1
20060294416 Tsai et al. Dec 2006 A1
Foreign Referenced Citations (25)
Number Date Country
647414 Mar 1994 AU
670376 Jul 1996 AU
2066443 Oct 2003 CA
0810530 Dec 1997 EP
0490973 Feb 1998 EP
0827059 Mar 1998 EP
2296798 Jul 1996 GB
2297636 Aug 1996 GB
2341715 Mar 2000 GB
095447 May 1994 IL
107645 Sep 1996 IL
5502525 Apr 1993 JP
5-181609 Jul 1993 JP
1993181609 Jul 1993 JP
6301607 Oct 1994 JP
7-20994 Jan 1995 JP
1995020994 Jan 1995 JP
8-230895 Sep 1996 JP
1997185594 Jul 1997 JP
1997251437 Sep 1997 JP
10097493 Apr 1998 JP
WO 9103788 Mar 1991 WO
WO 9733227 Sep 1997 WO
WO 9836357 Feb 1998 WO
WO 9934297 Jul 1999 WO
Related Publications (1)
Number Date Country
20080046601 A1 Feb 2008 US
Continuations (6)
Number Date Country
Parent 11442878 May 2006 US
Child 11851724 US
Parent 11353826 Feb 2006 US
Child 11442878 US
Parent 10658163 Sep 2003 US
Child 11353826 US
Parent 10081110 Feb 2002 US
Child 10658163 US
Parent 09354682 Jul 1999 US
Child 10081110 US
Parent 09001799 Dec 1997 US
Child 09354682 US