A method for sending a message from one host (16) to at least one other host, both of which are attached to a hardware subsystem (12) that is bidirectionally coupled to a mass data storage unit (14) includes (a) transferring a Send Message command through a channel (18) from a first attached host to the hardware subsystem, the Send Message command having at least one second attached host as an intended recipient; (b) buffering (20) at least a message payload portion of the Send Message command at the hardware subsystem and generating an unsolicited interrupt in the at least one second attached host; and (c) in response to the unsolicited interrupt, transferring a Request Message command through a channel from the at least one second attached host to the hardware subsystem for obtaining at least the message payload portion buffered at the hardware subsystem. The Send Message command may be a point-to-point message having a single other attached host as an intended recipient, or it may be a point-to-multipoint message having a plurality of other attached hosts as intended recipients. The hardware subsystem need have no knowledge of the message contents sent between hosts.
Drawings
Claims14
A method for sending a message comprising:
transferring a message origination command through a channel from a first attached host to a hardware subsystem which comprises a part of a storage area network and that is bidirectionally coupled to a mass data storage unit, the message origination command having at least one second attached host as an intended recipient;
buffering at least a message payload portion of the message origination command in the hardware subsystem and generating an unsolicited interrupt from the hardware subsystem to the at least one second attached host;
and
in response to the generated unsolicited interrupt, transferring a message retrieval command through a channel from the at least one second attached host to the hardware subsystem for retrieving at least the message payload portion buffered at the hardware subsystem,
where information regarding disk volumes of the mass data storage unit are dynamically changed by sending the message origination command from the first host as an input/output command.
2 more elements
A method for sending a message comprising:
transferring a message origination command through a channel from a first attached host to the hardware subsystem which comprises a part of a storage area network and that is bidirectionally coupled to a mass data storage unit, the message origination command specifying ones of the plurality of other hosts as an intended recipients;
buffering at least a message payload portion of the message origination command at the hardware subsystem and generating an unsolicited interrupt from the hardware subsystem in each of the specified ones of the plurality of other hosts;
and
in response to the generated unsolicited interrupt, transferring a message retrieval command from each of the specified ones of the plurality of other hosts for retrieving at least the message payload portion buffered at the hardware subsystem,
where information regarding disk volumes of the mass data storage unit are dynamically changed by sending the message origination command from the first host as an input/output command.
27 Mar 2024Estimated · howhide20 years from earliest known nonprovisional domestic filing plus recorded patent term adjustment, including 669 days of adjustment. Maintenance-fee lapses, terminal disclaimers and statutory extensions have not been checked. The continuity chain may be incomplete; this is not an enforceability determination.
Assigned to International Business Machines Corporationassignment of assignor's interest
Assigned to International Business Machines Corporationassignment of assignor's interest
PublishedUS 2003/0236910 A1
GrantedUS 7,480,697 B2
Term endedEstimated, includes 669 days of adjustment
Description3,470 words
Summary1,229 words
#These teachings relate generally to digital data processors and message passing techniques and, more specifically, relate to interrupt-driven inter-processor communication techniques.
#In a multiple processor environment it is typically the case that some mechanism exists for providing inter-processor communication (IPC). Reference in this regard can be had, as an example, to U.S. Pat. No.: 5,459,836, “Inter-Processor Communication Net”, by Bruce E. Whittaker et al. In this approach each processor in a network of processors is provided with a hardware IPC unit that connects via an IPC signal network to the IPC hardware units of each of the other processors. Each IPC hardware unit provides equal access to the IPC signal network, and also permits multiple signal messages to be received and buffered until serviced by the software of the receiving processor. The software of the receiving processor is made aware of the arrival of a message through an interrupt that is generated by the receiving processor's IPC hardware unit.
#Other message passing techniques, in particular interrupt-driven message passing techniques, can be found in commonly-assigned U.S. Pat. No.: 6,105,071, as well as in U.S. Pat. Nos.: 4,633,392, 5,999,969 and 6,321,289.
Brief description of the drawings4 figures
#The foregoing and other aspects of these teachings are made more evident in the following Detailed Description of the Preferred Embodiments, when read in conjunction with the attached Drawing Figures, wherein:
#FIG. 1 is a simplified high level block diagram of a data processing system that is suitable for practicing the teachings of this invention;
#FIG. 2 shows an example of the format of the Send Message command;
Detailed description2,131 words
#Reference is made to FIG. 1 for showing a data processing system 10, which may also be referred to as a storage area network. The system 10 includes, in the illustrated embodiment, a hardware subsystem that can be embodied as a Disk Control Unit (DCU) 12. The DCU 12 is assumed to be bidirectionally connected to a Mass Storage Unit (MSU) 14. The MSU 14 may be a single large disk, although in practice it will contain a plurality of disk drives arranged in ranks or arrays. The ranks of disks can be configured in a RAID configuration, e.g., a RAID 5 configuration, or as non-RAID arrays. While shown in FIG. 1 as a simple bidirectional connection 13, in actuality the interface between the DCU 12 and the MSU 14 can be made through a plurality of device adapters (DAs) in a manner known in the art.
#Connected to the DCU 12 are a plurality of host processors 16, four of which are shown for convenience and designated HOST_1, HOST_2, HOST_3 and HOST_4. More or less than four hosts 16 can be used, and in one exemplary embodiment there may be up to 16 hosts connected to the DCU 12. The hosts 16 may be the same type of data processor, or each may be a different type of data processor from the same manufacturer, or each may be a different type of data processor from different manufacturers. As an example, the hosts 16 can include data processors and servers available from the assignee of this patent application such as, but not limited to: a System/390® computer server system running OS/390®, a Reduced Instruction Set Computer (RISC) system such as one known as the RS/600™ system, and an xSeries™ system such as the NetFinity® system, Registered Trademarks and Trademarks of the International Business Machines Corporation. Data processors and servers manufactured by others can also be used and connected as hosts to the DCU 12.
#The hosts 16 are connected to the DCU 12 through channels 18, designated for convenience as CHANNEL_1, CHANNEL_2, CHANNEL_3 and CHANNEL_4. Each channel 18 is terminated at the DCU 12 with a Host Adapter (HA) 19, which can take the form of, for example, a SCSI input/output (I/O) interface or an Enterprise Systems Connection (ESCON®) fiber I/O interface, a Registered Trademark of the International Business Machines Corporation.