`Hoese et ai.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US005941972A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,941,972
`Aug. 24, 1999
`
`[54] STORAGE ROUTER AND METHOD FOR
`PROVIDING VIRTUAL LOCAL STORAGE
`
`[75]
`
`Inventors: Geoffrey B. Hoese, Austin; Jeffry T.
`Russell, Cibolo, both of Tex.
`
`[73] Assignee: Crossroads Systems, Inc., Austin, Tex.
`
`[21] Appl. No.: 09/001,799
`
`[22] Filed:
`
`Dec. 31, 1997
`
`Int. CI.6
`[51]
`...................................................... G06F 13/00
`[52] U.S. CI. ................................ 710/129; 710/128; 710/2
`[58] Field of Search ............................ 710/1-2, 100-101,
`710/126-131
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,748,924
`5,768,623
`5,809,328
`5,812,754
`5,835,496
`5,848,251
`
`5/1998 Llorens et al. . ... ... ... ... .... ... ... ... 395/309
`6/1998 Judd et al. .............................. 395/857
`9/1998 Nogales et al. ......................... 395/825
`9/1998 Lui et al.
`........................... 395/182.04
`1/1998 Yeung et al.
`........................... 370/514
`12/1998 Lomelino et al.
`... ... ... .... ... ... ... 395/309
`
`Primary Examiner-Christopher B. Shin
`Attorney, Agent, or Firm--Dray Cary Ware & Freidenrich,
`LLP
`
`[57]
`
`ABSTRACT
`
`A storage router (56) and storage network (50) provide
`virtual local storage on remote SCSI storage devices (60, 62,
`64) to Fiber Channel devices. A plurality of Fiber Channel
`devices, such as workstations (58), are connected to a Fiber
`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 Fiber 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.
`
`14 Claims, 2 Drawing Sheets
`
`-
`
`c
`STORAGE DEVICE
`GLOBAL
`DATA
`
`-65
`
`.../
`
`~2
`
`::::
`r--
`STORAGE DEVICE
`WORKSTATION , . . / - 66
`A STORAGE
`WORKSTATION f-"I-
`B STORAGE
`WORKSTATION
`C STORAGE r---t-
`WORKSTATION r---t-
`D STORAGE
`
`68
`
`70
`
`72
`
`-
`
`....
`
`-
`~4
`
`SCSI
`BUS
`
`t
`
`58
`
`5~
`5~
`WORKSTATION WORKSTATION WORKSTATION
`C
`A
`B
`
`"
`
`60,-
`
`FIBRE
`CHANNEL
`
`t
`
`....
`
`56
`\
`STORAGE
`ROUTER
`
`:
`
`5~
`I
`I
`I
`I
`I
`I
`WORKSTATION WORKSTATION L. MANAGEMENT .. .J
`STATION
`E
`D
`7~
`5~
`5~
`!
`50
`
`::::
`r--
`STORAGE DEVICE
`64./ WORKSTATION
`,
`E STORAGE
`
`....
`
`-74
`
`-
`
`1 of 8
`
`CROSSROADS EXHIBIT
`Oracle Corp. v. Crossroads Systems, Inc.
`IPR2015-0(cid:1005)(cid:1004)(cid:1010)(cid:1010)
`
`2001
`
`
`
`u.s. Patent
`
`Aug. 24, 1999
`
`Sheet 1 of 2
`
`5,941,972
`
`12
`
`12
`
`12
`
`SCSI BUS
`
`10
`
`i FIG. 1
`
`18
`
`12
`
`14
`
`20
`
`DISK
`
`DISK
`
`20 DISK
`
`20
`
`46
`
`\
`30
`
`42
`
`DISK
`
`40
`
`42
`
`36
`
`FIG. 2
`
`,.-
`
`-.
`
`58
`5~
`5~
`\
`WORKSTATION WORKSTATION WORKSTATION
`A
`C
`B
`
`60,-
`
`STORAGE DEVICE
`GLOBAL
`DATA
`
`.../
`
`1-65
`
`- ~
`
`- FIBRE
`CHANNEL
`
`t
`
`5~
`I
`I
`I
`WORKSTATION WORKSTATION L.,
`E
`D
`5~
`5~
`!
`50
`FIG. 3
`
`::::
`STORAGE DEVICE
`WORKSTATION vI-
`A STORAGE
`WORKSTATION .../1-
`B STORAGE
`WORKSTATION
`C STORAGE 'I-
`WORKSTATION
`D STORAGE
`
`~2
`
`66
`
`68
`
`70
`
`72
`
`r-I-
`
`-
`
`SCSI
`BUS
`
`~4
`
`t
`
`I
`I
`I
`.. ...1
`
`56
`\
`STORAGE
`ROUTER
`
`:
`
`MANAGEMENT
`STATION
`
`7~
`
`::::
`STORAGE DEVICE
`64../ WORKSTATION
`E STORAGE r- -74
`
`~
`
`......
`
`-
`
`2 of 8
`
`
`
`""(cid:173)~ ....
`\C
`....
`Ul
`
`N
`'-l
`\C
`
`N
`o ....,
`N
`~ .....
`'JJ. =(cid:173)~
`
`> = ~
`
`\C
`\C
`'""'"
`\C
`~,J;;..
`N
`
`~ = .....
`~ .....
`~
`•
`rJl
`d •
`
`FIG. 5
`
`84
`
`PROCESSING
`SUPERVISOR
`
`56
`)
`
`82
`
`96
`
`FIFO
`
`80
`
`~SCSI BUS
`
`FIBRE CHANNEL ~
`
`BUFFER
`
`SCSI CONTROLLER
`
`90
`
`PROTOCOL
`
`FC
`
`FIBRE CHANNEL CONTROLLER
`
`4
`
`FIG.
`
`SCSI BUS
`
`54
`
`86
`
`86
`
`56
`)
`
`FIBRE CHANNEL ~
`
`52
`
`3 of 8
`
`
`
`5,941,972
`
`1
`STORAGE ROUTER AND METHOD FOR
`PROVIDING VIRTUAL LOCAL STORAGE
`
`TECHNICAL FIELD OF THE INVENTION
`
`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.
`
`BACKGROUND OF THE INVENTION
`
`2
`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
`5 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 trans(cid:173)
`port medium and a SCSI bus transport medium are inter-
`10 faced 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
`15 allowed from Fibre Channel initiator devices to SCSI stor-
`age devices using native low level, block protocol in accor(cid:173)
`dance 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
`access its virtual local storage as if it work locally con(cid:173)
`nected. 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
`30 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.
`
`25
`
`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 opera(cid:173)
`tion 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 20
`serial interconnect is Fibre Channel, the structure and opera(cid:173)
`tion 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 work(cid:173)
`station. 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 35
`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 40
`data through the network server is through network proto(cid:173)
`cols 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. 45
`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.
`
`50
`
`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 55
`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 60
`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 con(cid:173)
`nected to a SCSI bus transport medium. The storage router
`interfaces between the Fibre Channel transport medium and 65
`the SCSI bus transport medium. The storage router maps
`between the workstations and the SCSI storage devices and
`
`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 work(cid:173)
`station 12 can generally comprise a processor, memory,
`input/output devices, storage devices and a network adapter
`as well as other common computer components. Network
`
`4 of 8
`
`
`
`5,941,972
`
`3
`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 an 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 work(cid:173)
`stations 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 work(cid:173)
`stations 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 embodi(cid:173)
`ment 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 exten(cid:173)
`sion of the high speed serial interconnect provided by Fibre
`Channel 32 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.
`
`4
`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
`5 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 con(cid:173)
`figuration and modification of the storage allocated to each
`attached workstation 58 through the use of mapping tables
`10 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,
`15 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.
`20 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
`25 virtual local storage for the workstation 58. This access
`control allows security control for the specified data parti(cid:173)
`tions. 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
`30 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
`35 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 a single
`workstation having locally connected storage devices to a
`storage network 50 in which workstations 58 are provided
`40 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 drive, as well as what
`data it sees as global data accessible by other workstations
`58. Consequently, the storage space considered by the
`45 workstation 58 to be its local storage is actually a partition
`(i.e., logical storage definition) of a physically remote stor(cid:173)
`age 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
`50 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
`55 within storage router 56. To accomplish this function, stor(cid:173)
`age 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
`60 collective backups and other collective administrative func(cid:173)
`tions 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
`65 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
`
`5 of 8
`
`
`
`5,941,972
`
`25
`
`5
`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 15
`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 20
`pulls data from buffer 84 and places it into a buffer 96. A
`SCSI protocol unit 98 pulls data from buffer 96 and com(cid:173)
`municates the data on SCSI bus 54. Data flow in the reverse
`direction, from SCSI bus 54 to Fibre Channel 52, is accom(cid:173)
`plished 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 infor(cid:173)
`mation between application clients on SCSI bus devices and
`the Fibre Channel links. Further, the storage router applies 30
`access controls such that virtual local storage can be estab(cid:173)
`lished 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 35
`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 to
`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 45
`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 55
`the SCSI connector can be a 68-pin type. Additional modular
`jacks can be provided for a serial port and a 802.3 lOBaseT
`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 60
`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 con- 65
`troller and a GLM media interface; an Intel 80960RP
`processor, incorporating independent data and program
`
`6
`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
`5 SYMBIOS 53C8xx series SCSI controllers, and an operat(cid:173)
`ing 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
`10 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 combi(cid:173)
`nations. 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 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 environ(cid:173)
`ment.
`The SCSI Initiator to FC Target mode provides for the
`40 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. Configu(cid:173)
`ration 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
`50 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 a Telnet session. Specifically,
`SNMP manageability can be provided via an 802.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 infor(cid:173)
`mation 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 informa(cid:173)
`tion is needed to map from FC addressing to SCSI address(cid:173)
`ing and vice versa. This can be 'hard' configuration data, due
`
`6 of 8
`
`
`
`5,941,972
`
`7
`to the need for address information to be maintained across
`initialization and partial reconfigurations of the Fibre Chan(cid:173)
`nel 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 pro(cid:173)
`cessed 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 FCP 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 periph(cid:173)
`eral 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 infor(cid:173)
`mation provided to the arbitrating device. Target addresses
`are assigned to SCSI devices directly, though 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. Indi(cid:173)
`vidual 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
`
`5
`
`8
`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 "Olh" 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 con-
`10 figuration 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
`15 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
`20 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
`25 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:TAR(cid:173)
`GET:LUN of the SCSI address information will be direct.
`30 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
`35 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
`40 discovered. However, this allows for hot plugged devices
`and other changes to the loop addressing.
`In the ordered method, or