Reserved device access contention reduction
Abstract
A computer program product, an apparatus, and a method for reducing reserved device access contention at a control unit in communication with a plurality of operating systems via one or more channels are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method that includes receiving a command message at the control unit from a first operating system, including an I/O operation command for a device. A device busy indicator is received, indicating that a second operating system has reserved the device. The command message is queued on a device busy queue in response to the device busy indicator. The control unit monitors for a device end indicator. The device busy queue is serviced to perform the I/O operation command in response to the device end indicator.
Term
2.4 yearsto projected expiry
Projected expiry 9 February 2029, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
4 claims: 3 independent, 1 dependent
- 1Patent claims Zastrzeżenia patentowe 1. A method of limiting competition for access to a reserved device in a control unit communicating with multiple operating systems via one or more channels, the method comprising:1. Sposób ograniczania rywalizacji o dostęp do zarezerwowanego urządzenia w jednostce sterującej komunikującej się z wieloma systemami operacyjnymi za pośrednictwem jednego lub większej liczby kanałów, przy czym sposób obejmuje: odbieranie (1102) wiadomości polecenia w jednostce sterującej od pierwszego systemu operacyjnego spośród wielu systemów operacyjnych za pośrednictwem jednego lub większej liczby kanałów, przy czym wiadomość polecenia zawiera polecenie operacji we/wy dla urządzenia komunikującego się z jednostką sterującą;receiving (1102) a command message at the control unit from the first operating system among the plurality of operating systems via one or more channels, the command message comprising an I / O operation command for the device communicating with the control unit;odbieranie urządzenia, powiadamia (1104) wskaźnika zajętości urządzenia od przy czym wskaźnik zajętości urządzenia jednostkę sterującą, że urządzenie jest zarezerwowane przez drugi system operacyjny spośród wielu systemów operacyjnych;receiving the device, notifying (1104) the device busy indicator from wherein the device busy indicator the control unit that the device is reserved by the second operating system among the many operating systems;placing (1106) a command message on the device busy queue in response to the device busy indicator;umieszczanie (1106) wiadomości polecenia w kolejce zajętości urządzenia w odpowiedzi na wskaźnik zajętości urządzenia;monitoring monitorowanie 1108 devices in terms of the device end indicator, wherein the device end indicator notifies the control unit that the device is ready to receive a new I / O operation command;and servicing (1110) the device busy queue to perform the I / O operation command in response to the device end indicator;1108 urządzenia pod względem wskaźnika końca urządzenia, przy czym wskaźnik końca urządzenia powiadamia jednostkę sterującą, że urządzenie jest gotowe do odbioru nowego polecenia operacji we/wy;oraz obsługiwanie (1110) kolejki zajętości urządzenia w celu wykonania polecenia operacji we/wy w odpowiedzi na wskaźnik końca urządzenia;characterized in that: znamienny tym, że: the command message is a message in the form of a transport command information unit including a transport command control block (TCCB) containing wiadomość polecenia jest wiadomością w postaci jednostki informacji polecenia transportu, obejmującej blok sterowania poleceniem transportu (TCCB) zawierającym 53 / 59P27034EN00 I / O operation command as part of the transport control word channel (TCW) program, and further includes: 53/59P27034PL00 polecenie operacji we/wy jako część programu kanału słowa (TCW) sterowania transportem, a ponadto obejmuje: inicjowanie czasomierza zajętości urządzenia w odpowiedzi na umieszczenie wiadomości polecenia w kolejce zajętości urządzenia;initiating a device busy timer in response to placing a command message on the device busy queue;odczytywanie wartości czasomierza zajętości urządzenia w odpowiedzi na obsługiwanie kolejki zajętości urządzenia w celu wykonania polecenia operacji we/wy;oraz wysyłanie wartości czasomierza zajętości urządzenia w wiadomości jednostki informacji odpowiedzi transportu do pierwszego systemu operacyjnego, za pośrednictwem jednego lub większej liczby kanałów. reading the value of the device busy timer in response to servicing the device busy queue to execute the I / O operation command;and sending the device busy timer value in the message of the transport response information unit to the first operating system via one or more channels.
- 34. A system comprising means adapted to carry out all the steps of the method according to any one of the preceding method claims. 4. System zawierający środki dostosowane do przeprowadzenia wszystkich etapów sposobu według dowolnego z poprzednich zastrzeżeń sposobu.
- 45. A computer program containing instructions for carrying out all the steps of the method according to any one of the preceding method claims when said computer program is executed on a computer system. 5. Program komputerowy zawierający instrukcje do przeprowadzenia wszystkich etapów sposobu według dowolnego z poprzednich zastrzeżeń sposobu, gdy wspomniany program komputerowy jest wykonywany w systemie komputerowym. International Business Machines International Business Machines Pełnomocnik:Proxy: 53 / 59P27034PL00 53/59P27034PL00 53 / 59P27034PL00 53/59P27034PL00 FIG. 2B FIG. 2B STAN TECHNIKI TECHNICAL STATE 53 / 59P27034PL00 53/59P27034PL00 53 / 59P27034EN00 λ 53/59P27034PL00 λ FIG. 4 7_7 FIG. 47_7 53 / 59P27034PL00 53/59P27034PL00 53 / 59P27034PL00 53/59P27034PL00 CCW CHANNEL PROGRAM PROGRAM KANAŁU CCW 6 discloses FIG.6 STAN TECHNIKI TECHNICAL STATE 53 / 59P27034PL00 53/59P27034PL00 PROGRAM KANAŁU TCW TCW CHANNEL PROGRAM FIG. 7 FIG. 7 53 / 59P27034PL00 53/59P27034PL00 53 / 59P27034PL00 53/59P27034PL00 FIG. 9 FIG. 9 53 / 59P27034PL00 53/59P27034PL00 53 / 59P27034PL00 53/59P27034PL00 53 / 59P27034PL00 53/59P27034PL00
Independent claims3
140 paragraphs in 9 sections, as filed
[0001] The present invention relates generally to input / output processing and, in particular, to limiting problems of competition for access to a device associated with multiple requests for access to a reserved device.
BACKGROUND OF THE INVENTION [0002] Input / output (I / O) operations are used to transfer data between the memory and the I / O devices of an I / O processing system. In particular, data from memory is written to one or more I / O devices, and data is read from one or more I / O devices to memory by performing an I / O operation.
[0003] To simplify processing in I / O operations, the I / O subsystem of the I / O processing system is used. The I / O subsystem is connected to the main memory and to the I / O devices of the I / O processing system and directs the flow of information between the memory and the I / O devices. One example of an I / O subsystem is the channel subsystem. The channel subsystem uses channel paths as communication bearers. Each channel path includes a channel connected to a control unit, wherein the control unit is further connected to one or more I / O devices.
[0004] A channel subsystem may use channel command words (CCW) to transfer data between I / O devices and memory. The word CCW specifies the command to be executed. For commands to start specific I / O operations, the CCW designates the memory area associated with the operation, actions to be taken as soon as the transfer to or from the area is completed, and other options.
[0005] During I / O processing, the CCW word list is fetched from memory by a channel. The channel analyzes the syntax of each command in the CCW word list and transmits a number of commands, each command in its own unit, to a control unit connected to the channel. The control unit then processes the commands. The channel tracks the status of each command and performs control when the next set of commands is to be sent to the control unit for processing. The channel ensures that each command is sent to the control unit in its own unit. In addition, the channel obtains specific information related to the processing of responses from the control unit for each command.
[0006] Performing I / O processing that falls on each CCW word may involve a large amount of processing load for the channel subsystem, when the channels analyze the syntax of the CCW words, track status information, and respond to control unit responses. Therefore, it may be beneficial to transfer a large portion of the processing load associated with interpreting the status and management of CCW and channel subsystem to the control unit. Simplifying the role of channels in communication between control units and the operating system in an I / O processing system can increase communication throughput because fewer handshaking procedures are performed.
[0007] Additional problems may arise when managing requests from channels controlled by multiple operating systems for commands related to the common I / O device via the control unit. Many operating systems can exist on a common host system or among many host systems, with each host system having a channel subsystem and processing elements. When many operating systems try to access a shared I / O device that has been reserved, the unit
The control typically receives the device busy indicator from the I / O device and reports the device busy indicator to the channels controlled by operating systems requesting access. An access request can be an instruction to perform an I / O operation with or without reservation. When the I / O device stops being occupied, the control unit sends the device end indicator to the operating systems via their respective channels to notify them that the I / O device is available. The channel's subsystems can then re-complete the previously attempted request, with the first-time channel winning the race relative to other channels competing for access to the I / O device. A faster response host system can effectively block slower response host systems because reservation requests are granted to the first time requester. For example, an operating system that runs on a host system that is further away from the I / O device may be prevented from accessing the I / O device for a long period of time because the operating system is running on the host system that is closer to the device in / you experience less delay in sending communications. Thus, as the competition for reserving the I / O device increases and more access requests arrive, the difference between operating systems in terms of access to the I / O device increases. Accordingly, there is a need in the art for limiting competition for access to reserved I / O devices in a control unit communicating with multiple operating systems via one or more channels.
[0008] US 2005/0102456 discloses a method of implementing granting access to a shared resource in accordance with the preamble of claim 1.
BRIEF DESCRIPTION OF THE INVENTION
[0009] The invention provides a method according to claim 1 and a corresponding computer system and program.
BRIEF DESCRIPTION OF THE DRAWINGS [0010] The present solution, which is considered as an invention, is in particular indicated and explicitly claimed in the claims at the end of the description. The above and other objects, features and advantages of the invention result from the following detailed description in connection with the attached drawings, in which:
FIG. 1 depicts one embodiment of an I / O processing system comprising and using one or more aspects of the present invention;
FIG. 2A shows one example of a prior art channel command word.
FIG. 2B shows one example of a program for prior art channel command words;
FIG. 3 illustrates one embodiment of the prior art link protocol used in communication between the channel and the control unit to execute the program of FIG. 2B for a channel with channel command words;
FIG. 4 illustrates one embodiment of a channel program with transport control words according to an aspect of the present invention;
FIG. 5 shows one embodiment of a link protocol used for communication between the channel and
Control unit to execute the program of FIG. 4 for a channel with transport control words in accordance with an aspect of the present invention;
FIG. 6 depicts one embodiment of the prior art link protocol used for communication between the channel and the control unit to execute four program read commands for the channel with channel command words;
FIG. 7 depicts one embodiment of a link protocol used for communication between a channel and a control unit to process four channel read program commands with transport control words, in accordance with an aspect of the present invention;
FIG. 8 illustrates one embodiment of a control unit and a channel in accordance with an aspect of the present invention;
FIG. 9 depicts one embodiment of a response message, transmitted from the control unit to the channel, in accordance with an aspect of the present invention;
FIG. 10 illustrates one embodiment of a control unit communicating with multiple host systems in accordance with an aspect of the present invention;
FIG. 11 depicts one embodiment of a process to limit competition for access to a reserved device.
53 / 59P27034PL00
FIG. 12 depicts one embodiment of a product in the form of a computer program implementing one or more aspects of the invention.
[0011] The detailed description explains the preferred embodiments of the invention, together with the advantages and features, by way of example with reference to the drawings.
DETAILED DESCRIPTION OF THE INVENTION I / O communication that from the command message to [0012] In accordance with an aspect of the present invention, input / output (I / O) processing is simplified by limiting competition for access to the reserved I / O device. For example, I / O processing is simplified by easily allowing access to information, such as status and measurement data, related to I / O processing. In addition, in one example, I / O processing is simplified by limiting communication between the components of the I / O processing system used to perform I / O processing. For example, the number of exchanges and sequences between the host system I / O adapter, such as the channel, and the control unit is limited. This is achieved by sending multiple commands from the I / O communication adapter to the control unit as a single unit for execution by the control unit, and the control unit sends the data resulting from the commands, if they exist, as a single unit.
[0013] Many commands are contained in a block, referred to herein as a transport command control block (TCCB), whose address is specified in the transport control word (TCW). The TCW word is sent from the operating system or other application to the rail adapter forwards the TCCB block in the control unit to
53 / 59P27034EN00 syntactically defined response message, extended state, processing. The control unit processes each command with no status tracking relative to these individual commands from the I / O communication adapter. Many commands are also as a channel program that is evaluated and executed on the control unit rather than on the I / O communication adapter.
[0014] In an embodiment, the control unit generates containing status and response information on the channel program execution. The control unit may also generate a response message without executing the channel program in a limited number of communication scenarios, e.g. to pass information to the I / O communication adapter that the channel program will not be executed. The control unit may contain a specific number of items designed to support communication between the I / O adapter and I / O devices, as well as to support channel program execution. For example, the control unit may include a control logic for syntactic analysis and message processing, in addition to one or more queues, timers and registers to facilitate communication and status monitoring. The I / O communication adapter parses the response message, obtaining status and extended status information, and performs further calculations using the information obtained.
[0015] When many operating systems running on one or more host systems try to access them on a reserved I / O device via a control unit communicating with one or more I / O adapters on one or more host systems, there may be competition for access. To perform specific I / O operations, the I / O device may be reserved for exclusive access to the channel set (path group) under the control of the operating system
Requester. A path group may be created to allow device reservations from multiple channels to exist back to the same host. When an I / O device is reserved, subsequent attempts to reserve or use the I / O device by other operating systems are blocked, with the I / O device returning the device busy indicator. In the exemplary embodiment, many commands containing reservation requests received by the control unit for the I / O device are queued when the device busy indicator is present. In response to the I / O device removing the device busy indicator, e.g. the device end indicator, the control unit serves the queue and determines the next command to be processed. The queue can use a specified number of queue management techniques, such as first-in-first-out (FIFO), priority-based handling, and circular handling. FIFO support executes commands in the order in which they are received. Priority based servicing allows higher priority commands to be served before lower priority commands.
Circular manages in turn communication service from various operating systems. Using a queue to manage access requests to a reserved I / O device simplifies communication between the control unit and I / O adapters controlled by operating systems, and also limits competition for access to prevent disproportionately blocking slower-responsive host systems by faster-responding host systems.
[0016] One example of an I / O processing system comprising and using one or more aspects of the present invention is described with reference to FIG. 1. The I / O processing system 100 includes a host system 101, which further includes, for example, main memory 102,
Support for each connection method
53 / 59P27034EN00 one or more central processing units (CPUs) 104, memory control element 106 and channel subsystem 108. The host system 101 may be a large-scale counting system, such as a main processor or server. The I / O processing system 100 also includes one or more control units 110 and one or more I / O devices 112, each of which is described below.
[0017] Main memory 102 stores data and programs that can be input from I / O devices 112. For example, main memory 102 may include one or more operating systems (OS) 103 that are executed by one or more units CPU 104. For example, one CPU 104 may execute the Linux® 103 operating system and z / OS® 103 operating system as different instances of the virtual machine. Main memory 102 is directly addressable and provides fast data processing by CPU 104 and channel subsystem 108.
[0018] The CPU 104 is the control center of the I / O processing system 100. It has the means to order and process instruction execution, interrupts, time coordination functions, initial program and other computer-related functions. The CPU 104 is connected to the memory control element 106 via a connection 114, such as a two-way or one-way bus.
[0019] The memory control element 106 is connected to the main memory 102 via a connection 116, such as a bus; with CPUs 104 via connection 114; and with the channel subsystem 108 via connection 118. The memory control element 106 controls, for example, the queuing and execution of requests issued by establishing the loading formation of the CPU 104 and the channel subsystem 108.
[0020] In an embodiment, the channel subsystem 108 provides a communication interface between the host system 101 and the control units 110. The channel subsystem 108 is connected to the memory control element 106 as described above, and to each of the control units 110 via the connection 120, such as a serial link. Connection 120 can be implemented as an optical link using single-mode or multi-mode waveguides in a Fiber Channel structure. Channel subsystem 108 directs information flow between I / O devices 112 and main memory 102. It frees CPU 104 from the task of communicating directly with I / O devices 112 and allows data to be processed in parallel with I / O processing. Channel subsystem 108 uses one or more channel paths 122 as communication links in managing information flow to or from I / O devices 112. As part of the I / O processing, the channel subsystem 108 also performs path management functions for examining the availability of the channel path, selecting the available channel path 122, and starting operations with the I / O devices 112.
[0021] Each channel path 122 includes channel 124 (in one example, as shown in FIG. 1, channels 124 are in channel subsystem 108), one or more control units 110 and one or more connections 120. In another example , it is possible for one or more dynamic switches (not shown) to be present as part of the channel path 122. The dynamic switch is connected to channel 124 and control unit 110 and provides the ability to physically connect any two links that are connected to the switch. In another example, it is also possible to have multiple systems and therefore multiple channel subsystems (not shown) connected to the control unit 110.
[0022] In the channel subsystem 108 there are also subchannels (not shown). One subchannel is provided and dedicated to each I / O device 112 available to the program via the channel subsystem 108. A subchannel (e.g., a data structure such as an array) provides the program with a logical device form. Each sub-channel provides information regarding the associated I / O device 112 and its connection to the channel subsystem 108. The subchannel also provides information on I / O operations and the associated I / O device 112 through which the subsystem 108 other engagement functions The subchannel provides a means, per channel it provides information about the associated I / O devices 112 to CPUs 104 that obtain this information by executing the instruction I / O. [0023] The channel subsystem 108 is connected to one or more control units 110. Each control unit 110 provides logic for operating and controlling one or more I / O devices 112 and adapts, by using common means, the characteristics of each I / O device 112 to the link interface provided by channel 124. Common means provide I / O operations, indications regarding I / O device status 112 and control unit 110, control of data transfer time settings on channel path 122, and specific I / O device control levels 112.
[0024] Each control unit 110 is connected via connection 126 (e.g., bus) to one or more I / O devices 112. I / O devices receive information or store information in main memory 102 and / or other memory. Examples of I / O devices 112 include, but are not limited to, card readers and hole punchers, magnetic tape memories, direct memory access devices, displays, keyboards, printers, pointing devices, teleprocessing devices, sensor based device controllers.
communication
May be a commodity. [0025] One or more of the above components of the I / O processing system 100 is further described in the document "IBM® z / Architecture Principles of Operation", publication No. SA227832-05, 6th Edition, April 2007 ; in US Patent No. 5,461,721 entitled "System For Transferring Data Between I / O Devices And Main Or Expanded Storage Under Dynamic Control Of Independent Indirect Address Words (IDAWS)," Cormier et al., issued October 24, 1995; and in US Patent No. 5,526,484 entitled "Method And System For Pipelining The Processing Of Channel Command Words," Casper et al., issued June 11, 1996. IBM is a registered trademark of International Business Machines Corporation, Armonk, New York, USA. Other names used in this document are registered trademarks, product marks or names of International Business
Machines Corporation or other companies.
[0026] In one embodiment, channel command words (CCW) are used to transfer data between I / O devices 112 and memory 102. The word CCW specifies the command to be executed and contains other fields to control processing. One example of the word CCW is described with reference to FIG. 2A. The word CCW 200 contains, for example, command code 202 specifying the command to be executed (e.g. read, read back, control, detection and write); many flags 204 used to control the I / O operation; for commands that specify data transfer, a count field 206 that specifies the number of bytes in the storage area designated by the CCW word to be transmitted; and a data address 208 that indicates a location in the main storage that contains data when direct addressing or a list is used (e.g. adjacent list) words of modified intermediate data addresses (MIDAW) to be processed when modified indirect data addressing is used. Modified indirect addressing is also described in
53 / 59P27034EN00 published US Patent Application No.
2008/0043563, entitled "Flexibly Controlling The Transfer Of Data Between Input / Output Devices And Memory," Brice et al., Filed August 15, 2006.
[0027] One or more CCW words organized for sequential execution form a channel program, also referred to herein as a CCW channel program. The CCW channel program is established by, for example, an operating system or other software. The software creates CCW words and receives memory addresses assigned to the channel program. An example of a CCW channel program is described with reference to FIG. 2B. CCW channel program 210 includes, for example, the CCW word 212 of range determination which has a pointer 214 for locating in range memory 216 range determination data to be used with the range determination command. In this example, channel transfer (TIC) 218 follows the range command that sends the channel program to another area in memory (e.g. application area) that contains one or more other CCW words, such as record location 217, which has a pointer 219 to record location data 220, and one or more CCW words 221 read. Each CCW 220 read word has a pointer 222 to a data area 224. The data area contains an address for direct data access or a list of words of data addresses (e.g., MIDAW or IDAW words) for indirect data access. In addition, CCW channel program 210 includes a predetermined area in the channel subsystem determined by the device address, called the subchannel for state 226 resulting from the CCW channel program implementation.
[0028] Processing of the CCW channel program is described with reference to FIG. 3, as well as with reference to FIG. 2B. In particular, in FIG. 3 shows an example of the various exchanges and sequences that occur between the channel and control unit when the CCW channel program is being executed. In this example, the link protocol used for communication
53 / 59P27034PL00 is FICON (Fiber Connectivity). Information on the FICON protocol is contained in the document "Fiber Channel Single Byte Command Code Sets-3 Mapping Protocol (FC-SB-3),
T11 / Project 1357-D / Rev. 1.6, INCITS (March 2003).
[0029] In FIG. 3 channel 300 opens an exchange with the control unit 302 and sends a range determination command and associated data 304 to the control unit 302. The command is taken from the word CCW 212 of range determination (FIG. 2B) and data obtained from the range determination data area 216. Channel 300 uses TIC 218 transfer to locate the CCW word, record location and CCW word read. The channel fetches a record locating command 305 (FIG. 3) from the word CCW 217 record locating (FIG. 2B) and receives data from record locating data 220. The read command 306 (Fig. 3) is taken from the read CCW word 221 (FIG. 2B). Each command is sent to control unit 302.
[0030] The control unit 302 opens the exchange 308 with the channel 300 in response to the open exchange of the channel 300. This may occur before or after the locate command 305 and / or the read command 306. With an open exchange, a response (CMR) is forwarded to channel 300. The CMR provides the channel 300 with an indication that the control unit 302 is active and that it is operating.
[0031] Control unit 302 sends the requested data 310 to channel 300. In addition, control unit 302 provides channel 300 with status information and closes exchange 312. In response, channel 300 stores data, analyzes status information and closes exchange 314, which indicates to control unit 302 that status information has been received.
[0032] The processing of the above CCW channel program to read 4k data requires the opening and closing of two exchanges and seven sequences. The total number of exchanges and sequences between the channel and the control unit is limited by
Accumulation of many channel program commands in the TCCB block. The channel, e.g., channel 124 in Fig. 1, uses the TCW command to identify the location of the TCCB block, as well as locations for accessing and storing status information and data related to the implementation of the channel program. The word TCW is interpreted by the channel and is not sent or seen by the control unit.
[0033] One example of a 4k data reading channel program as in Fig. 2B is described with reference to FIG. 4, but contains a TCCB block instead of separate individual CCW words. As shown, the channel program 400, referred to herein as the TCW channel program, includes the word TCW 402 denoting the location of the TCCB 404 in memory as well as the location of the data area 406 in memory or TIDAL 410 (i.e. word list of the intermediate data address in transfer mode (TIDAW), similar to MIDAW), which points to data area 406 and status information area 408. TCW words, TCCBs, and status information are described in detail below.
[0034] The processing of the TCW channel program is described with reference to FIG. 5. The link protocol used for this communication is, for example, the Fiber Channel Protocol (FCP). In particular, three phases of the FCP link protocol are used, enabling the use of HBAs (host bus adapters) that support FCP to perform data transfer controlled by CCW words. The FCP protocol and its phases are further described in the document "Information Technology - Fiber Channel Protocol for SCSI, Third Version (FCP-3)" T10 Project 1560-D, version 4, September 13, 2005.
[0035] In FIG. 5 channel 500 opens an exchange with the control unit 502 and sends the block TCCB 504 to the control unit 502. In one example, the block TCCB 504 and the initiation of the sequence are sent to the control unit 502 in
53 / 59P27034EN00 FCP command, hereinafter FCP_CMND information unit (IU) or transport order IU unit. Control unit 502 executes many commands from TCCB 504 (e.g., range command, record location command, read command as device control words (DCW)) and forwards data 506 to channel 500 via, for example, FCP_Data IU units. The control unit also provides status information and closes exchange 508. As one example, the final status information is sent in an FCP status frame that has an active bit, for example, in the 10th or 11th byte of the FCP_RSP IU block, also called the transport response IU unit. The FCP_RSP IU unit block can be used to transport FICON termination information along with additional status information, including parameters that support the calculation of extended measurement words and notifies channel 500 of the maximum number of open exchanges supported by the 502 control unit.
[0036] In another example, to write 4k user data, the channel 500 uses the FCP link phases as follows:
1. TCCB block transfer in FCP_CMND IU.
2. Transfer of data IU unit and sequence initiation to control unit 502.
3. The final status information is sent in an FCP status frame that has an active bit, for example, in the 10th or 11th byte of the FCP_RSP IU block. The FCP_RSP_INFO field or reading field is used to transport terminating FICON termination information along with additional status information, including parameters that support the calculation of extended measurement words and notifies the channel
53 / 59P27034PL00
500 with the maximum number of open exchanges supported by the 502 control unit.
[0037] By executing the TCW channel program of FIG. 4, only one exchange is opened and closed (see also FIG. 5) instead of two exchanges for the CCW channel program of FIG. 2B (see also FIG. 3). In addition, within the TCW channel program, there are three communication sequences (see FIGS. 4-5), compared to seven sequences for the CCW channel program (see FIGS. 2B-3).
[0038] The number of exchanges and sequences remains the same for the TCW channel program, even if additional commands are added to the program. You can compare, for example, the communication of the CCW channel program of FIG. 6 with the TCW channel program communication of FIG. 7. In the program, the CCW channel of FIG. 6, each of the commands (e.g. range determination command 600, record location command 601, read command 602, read command 604, read command 606, read command 607 and read command 608) are sent in separate sequences from channel 610 to control unit 612. In addition, each block of 4k data ( e.g. data 614-620) is sent in separate sequences from control unit 612 to channel 610. This CCW channel program requires two exchanges to be opened and closed (e.g. open exchanges 622, 624 and closed exchanges 626, 628) and fourteen communication sequences. This is compared to three sequences and one exchange for the TCW channel program of FIG. 7, which performs the same task as the CCW channel program of FIG. 6.
[0039] As shown in FIG. 7, channel 700 opens an exchange with control unit 502 and sends block TCCB 704 to control unit 702. Block TCCB 704 contains a range determination command, two record locating commands, and four read commands in the words DCW, as described above. In response to receiving the TCCB 704 block, the control unit
53 / 59P27034PL00
702 executes commands and sends, in a single sequence, 16k data 706 to channel 700. In addition, control unit 702 provides status information to channel 700 and closes exchange 708. The TCW channel program therefore requires much less communication to send the same amount of data as the program CCW channel of FIG. 6.
[0040] Returning to FIG. 8, one embodiment 1 which control unit 110
FIG.
u 124 channel support TCW channel program execution, is shown in more detail. Control unit 110 includes syntax analysis control logic CU 802 for processing command messages comprising a TCCB block, such as TCCB block 704 in FIG. 7, received from channel 124 via connection 120. The CU 802 control logic can extract the DCW words and control data from the TCCB block received in the control unit 110 to control the device, e.g., the I / O device 112 via connection 126 to perform one or more I / O operation commands. The CU 802 control logic sends device commands and data to the I / O device 112, as well as receives status information and other feedback from the I / O device 112. For example, the I / O device 112 may be busy due to a previous reservation request for the I / O device 112. To manage potential competition issues for reserving the device that may arise when the control unit 110 receives multiple access requests to the same device I / O 112, the CU 802 control logic tracks and stores device busy messages and related data in device busy queue 804. In an embodiment, the OS 103 operating system of FIG. 1 reserves the I / O device 112 to prevent other OS 103 operating systems from accessing the I / O device 112 while the reservation is active. Although device booking is not required for
And the commands that CU 808 registers all I / O operations, the device reservation can be used to support operations that require exclusive access for a fixed period of time, e.g., disk formatting.
[0041] The CU 802 control system can access and control other components in the control unit 110, such as the CU 806 timers and CU 808 registers. The CU 806 timers can include multiple timekeeping functions to track how much time it takes to performing the I / O sequence. The CU 806 timers may further include one or more countdown timers to monitor and terminate I / O operations not ending within a predetermined period may contain fixed values that provide status and configuration information as well as dynamic status information. which are updated when commands are executed by the CU 802 control logic. The control unit 110 may further include other buffer or memory elements (not shown) for storing a plurality of messages or status information related to communication between channel 124 and the I / O device 112. The CU 808 registers may include a maximum control unit exchange parameter which specifies the maximum number of open exchanges of the control unit that the control unit 110 supports.
[0042] The channel 124 in the channel subsystem 108 includes a plurality of elements to support communication with the control unit 110. For example, the channel 124 may include a control logic
CHN
810, which is the interface with timers
812 CHN subsystem and CHN subsystem registers 814. In an embodiment, the control logic
108 control channel
CHN 810 controls and the unit can communicate between control subsystem 110. Logic directly connects to the CU 802 control logic via connection 120 to send commands and receive responses such as transport and
CHN 810
53 IU response units. Alternatively, messaging interfaces and / or buffers (not shown) may be placed between the CHN 810 control logic and the CU 802 control logic. CHN subsystem timers 812 may include multiple timekeeping functions to track how much time is needed to complete sequence of I / O operations, in addition to the time tracked by the control unit 110. CHN subsystem timers 812 may further include one or more countdown timers to monitor and interrupt I / O command sequences that do not end in a predetermined period. CHN subsystem registers 814 may contain fixed values that provide status and configuration information, as well as dynamic status information that is updated when commands are transported and when responses are received.
[0043] One example of a 900 response message, e.g.
the transport response IU unit sent from the control unit 110 to the channel 124 after the TCW channel program has ended is shown in FIG. 9. The reply message 900 provides status information to channel 124 and may indicate that the open exchange between channel 124 and control unit 110 should be closed. Status information provided when the TCW channel program (e.g., as shown in FIG. 5 and 7) being performed includes additional information in addition to status information sent after termination of the CCW channel program (e.g., as shown in FIGS. 3 and 6). Response message 900 includes state section 902 and state extended section 904. When channel 124 receives a response message 900, it stores parts of the state section 902 in a subchannel for the device with which the TCW word cooperated and the extended state section 904 in the memory location defined by the TCW word associated with the TCW channel program that triggered the response message 900. E.g,
The word TCW may designate a main memory section 102 of FIG. 1 to maintain section 904 of the extended state.
[0044] Section 902 of message status 900 may contain multiple fields, such as address header 906, status flag one 908, parameter 910 of the maximum number of exchanges of the control unit, flags 912 of response, code 914 of response, counter 916, length of 918 responses, reserved site 920, type 922 SPC-4 reading, two state flags 924, three state flags 926, device state 928 and word 930 longitudinal redundancy check (LRC). Each field in section 902 of the state is assigned to a specific byte address to support parse 900 message responses. Although in FIG. 9 there is one distribution of fields in section 902 of the state, it will be understood that the order of the fields may be rearranged to change the order within the scope of the invention. In addition, fields in the reply message 900 may be omitted or combined within the scope of the invention, for example, combining the state flags two 924 and three 926 into one field. The SPC-4 standard is additionally described in the document "SCSI Primary Commands - 4 (SPC-4)", Project
T10 / 1731-D, Rev 11, INCITS (May 2007).
[0045] In an embodiment, the address header 906 is set to the same value as the value received by the control unit 110 in the TCCB that initiated the TCW channel program. Although address address header 906 is not required, including address header 906 may support investigation of the I / O device 112's tracking command and response message while accessing multiple I / O devices 112.
[0046] State flags one 908 may indicate information such as the status of successful I / O operations. Multiple bits in one 908 state flags can provide additional status information.
[0047] Parameter 910 of the maximum number of exchanges of the control unit identifies the maximum number of exchanges that the control unit 110 allows the channel 124 to open with each other. A value of zero can inform channel 124 that the control unit 110 does not change the current value that channel 124 uses. In an embodiment, channel 124 sets a default value for the maximum number of open exchanges, e.g. 64, which the control unit 110 can modify by parameter 910 the maximum number of exchanges of the control unit. The value of parameter 910 of the maximum number of exchanges of the control unit sent in the 900 response message can be the actual desired value or the initial value for the equation. For example, the value of parameter 910 of the maximum number of exchanges of the control unit may be increased and / or multiplied by channel 124 to determine the actual maximum number of open exchanges, e.g. the value "1" interpreted as "32" by channel 124.
[0048] Using the default value for the maximum number of open exchanges gives each control unit 110 and channel 124 a common start point that can be modified according to the determination of the control unit 110. In one embodiment, the channel 124 checks the parameter 910 of the maximum number of exchanges of the control unit received in the response message 900 from the control unit 110 to determine if parameter 910 of the maximum number of exchanges of the control unit is less than the default value or previously obtained value. If the new number is less than the current number of open exchanges, channel 124 does not route new I / O commands to control unit 110 until the current number of exchanges used is less than the new limit.
[0049] In an embodiment, the response flag field 912 uses the standard definition defined in FCP (mentioned earlier) and can be set to a default value, e.g. two.
53 / 59P27034EN00 to the specified IU unit value in the response
Response code 914 may be equivalent to the parallel data interface (SCSI) status field and may be set to the default value, e.g., zero. The 916 residue counter for reading or writing commands indicates the difference between how many bytes have been requested to read or write relative to the number of bytes that have actually been read or written. The length of 918 responses is an additional count of bytes of information in the 900 response message behind the reserved location 920. The length of 918 responses supports 900 messages of variable size. The SPC-4 read type 922 can be assigned based on the message type, e.g. transport = 7F in hexadecimal. In one embodiment, the two state flags 924 are set to 80 in hexadecimal notation to indicate that the I / O operation has ended, with the current value of the residue counter 916. State flags three 926 are set to one when the I / O operation has completed, indicating that extended state 904 is attached as part of the 900 response message. Device state 928 forwards status information generated by the I / O device 112. The word LRC 930 is a control word that includes other fields in section 902 of message status 900 to verify the integrity of section 902. The word LRC 930 can be generated by applying an exclusive OR operation for the initial value sequentially with each field included in the LRC calculation.
[0050] The extended state section 904 provides information to the channel subsystem 108 and the OS 103 operating system related to the operation of the control unit 110 in transport mode suitable for starting the TCW channel program. The extended state section 904 can support configurable definitions with different state type definitions for each type. In the exemplary embodiment, the extended state section 904 includes a transport state header (TSH) 932, a state area
53 / 59P27034EN00 (TSA) 934 and the LRC word 936 of the TSH header 932 and the TSA 934 area. The header of TSH 932 may include the length of 940 extended state, flags 942 extended state, offset 944 DCW word, counter 994 DCW word residue and reserved location 948. The TSH 932 header is common to different formats, with each format specified by the type code in the 942 extended state flags. The TSA 934 area may include parameter 950 total device time, parameter 952 deferment time, parameter 954 queue time, parameter 956 device busy time, parameter 958 device only run time, and attached device read data 960. Each of these fields is described in detail in detail.
[0051] The extended state length 940 is the section size
904 extended state. In an embodiment, the extended state flags 942 have the following definition:
Bit 0 - Offset 944 of the DCW word is current.
Bit 1 - counter of 946 DCW word remainder is current.
Bit 2 - This bit set to one informs the OS 103 operating system of FIG. 1 in a definitive manner when the control unit 110 had to gain access to a slow medium for receiving data, e.g. no cache miss.
Bit 3 - time parameters 950 - 958 are current. The type code set to one and this bit set to one indicates that all or time parameters 950 - 958 are valid.
Bit 4
Reserved.
53 / 59P27034PL00
Bits 5 to 7 - These three bits are a type code that specifies the format of TSA 934 section 904 extended state. The encoding names are as follows:
0. Reserved.
1. I / O status. Section 904 of the extended state contains the current end state for I / O operations in the transport mode.
2. I / O exception. Section 904 of the extended state contains information regarding the completion of the I / O operation in transport mode due to the exception state.
3. Polling status. Extended state section 940 contains a state for polling operations.
from 4 to 7. Reserved.
[0052] The shift 944 of the DCW word indicates the offset in the TCCB of the damaged DCW word. Similarly, the DCW residual counter 946 indicates the number of remaining bytes of the corrupted DCW word (i.e. where DCW execution was interrupted).
[0053] In an embodiment, the definition 934 of the TSA area, when the ES 942 flag code type indicates the I / O State type, includes time parameters 950 - 958, as well as the optionally included device read data 960. Time parameters 950 - 958 represent time values and can be scaled to any time units, such as microseconds. CU 806 timers of FIG. 8 they are used to calculate time parameters 950 - 958, and CU 808 registers can also be used to capture the value of CU 806 timers during the calling event.
[0054] The device's total time parameter 950 is the time elapsed from when the control unit 110 received the transport command IU until it sent the transport response IU (i.e., 900 response messages) for in / operation you. Parameter 952 deferral time indicates the deferment time of the control unit. This is the total time of the control unit 110 working with the I / O device 112 in the absence of communication with channel 124. In CCW channel programs such as that shown in FIG. 3, the control unit 302 disconnects from the em 300 channel at this time.
[0055] The queue time parameter 954 is the time the I / O operation is queued in the control unit 110, but does not include the queue time for the device busy time when the I / O device 112 is reserved by another OS 103 operating system same or different host system 101.
[0055] The device occupation time parameter 956 is the time during which the transport command IU is queued in the control unit 110 waiting for the occupied device because the I / O device 112 is reserved by another OS 103 operating system in same or different host system 101.
[0056] Parameter 958 of device only operation time is the time elapsed between the end of the channel (CE) and the end of the device (DE) in the control unit 110 when the control unit 110 maintains the CE until DE is available. The CE may indicate that the portion of the I / O operation related to data transfer or control information between the channel 124 and the control unit 110 has been completed. DE may indicate that the portion of the I / O operation associated with the device is completed. The attached device reading data 960 provides complementary status information that the control unit 110 provides
53 / 59P27034EN00 conditionally in response to an active unit check bit (UC) in device state 928.
[0057] The word LRC 936 is a word for longitudinal redundancy check of the TSH header 932 and the TSA 934 area, calculated in a similar way as the word LRC 930 in section 902 of message status 900. The word LRC 936 can be calculated for a variable number of words, depending on the number of words contained in the attached device reading data 960.
[0058] Returning to FIG. 10, many host systems 101 are depicted in communication with the control unit 110 via connections 120. Each host system 101 includes channel subsystem 108 with one or more channels 124. Although only one channel 124 is represented in each host system 101 with FIG. 10, it should be understood that each host system 101 may include multiple channels 124 controlled by multiple OS 103 operating systems. Host systems 101 also include other processing system components as previously shown and described with reference to FIG. 1, i.e., one or more processors 104 connected to memory element 106 and main memory 102. Each host system 101 may perform one or more OS 103 operating systems, each OS 103 operating system being capable of creating a reservation request for exclusive access to the I / O device 112. OS 103 operating systems on each host system 101 can individually control one or more channels 124 to initiate I / O operations. OS 103 operating systems can use different subchannels (not shown) on one or more channels 124 to communicate with the control unit 110.
[0059] Each connection 120 between the channel 124 and the control unit 110 may be a direct connection.
Alternatively, connections 120 may pass through one or more dynamic switches 1002 as part
53 / 59P27034EN00 fiber channel structure to reduce the number of physical connections in the control unit 110.
[0060] As previously described with reference to FIG. 8, the CU 802 control logic parses and processes command messages containing TCCB blocks, such as TCCB block 704 of FIG. 7, received from channels 124 via connection 120. Some commands received in the CU 802 control logic may include a device reservation request. When device reservation is not required for all I / O operations, device reservation may be requested for individual OS 103 operating systems for I / O operations that require exclusive access to the I / O device 112. For example, different OS operating systems 103 can request data blocks from the I / O device 112 at a time. The control unit 110 can handle any I / O device reservations 112. OS 103 operating system reserves the I / O device 112 through one of the channels 124, other OS 103 operating systems attempting to access the I / O device 112 are blocked while the I / O device 112 is reserved.
[0061] In an embodiment, the CU 802 control logic receives the device busy indicator from the I / O device 112 when the I / O device 112 is reserved for the OS 103 operating system. Because the CU 802 control logic receives command messages while the current is the device busy indicator, the CU 802 control logic can put command messages in the DB 804 queue. Command messages may contain identification information establishing a specific OS 103 operating system and / or channel 124 associated with each command message. In an alternative embodiment, the CU 802 control logic registers the specific OS 103 operating system and / or the channel 124 associated with the read request without, however, when one with each command message registers
CU
08. When
53 / 59P27034EN00 I / O device 112 is no longer reserved, notifies the CU 802 control logic via the device end indicator. In response to the device end indicator, the CU 802 control logic supports the DB 804 queue to extract the command message for the I / O device 112 to be executed. The extracted command message may again result in reserving the I / O device 112, causing further delays in handling pending command messages. Alternatively, the extracted command message may not require booking the I / O device 112 (e.g., exclusive access to the I / O device 112 is not needed), which allows additional support for the DB 804 queue to perform additional command messages in turn.
[0062] DB 804 queue support can be performed using various DB 804 queue management techniques. For example, the DB 804 queue can be managed as FIFO to extract each command message in the order in which it was placed on the DB 804 queue. Alternatively, DB 804 queue can be operated as a priority queue. The priority of command messages stored in the DB 804 queue can be included in the field in each command message that is transported to the control unit 110. Any number of priorities can be set for the scheduling option range. When the DB 804 queue is served as a priority queue, the highest priority command message on the DB 804 queue is extracted for service before lower priority command messages. The period of time that command messages remain in the DB 804 queue can be monitored to increase the priority of command messages over a period of time to ensure that they are supported. Another way to handle queues for the DB 804 queue is to handle it in a round robin manner. When using circular support, the OS 103 operating system (or channel 124) associated with each command message in the DB 804 queue is parsed
53 / 59P27034EN00 to support the DB 804 queue for individual OS 103 operating systems. Circular operation provides access for each communication link to prevent potential differences that may arise if one OS 103 operating system sends a set of multiple access requests control unit 110.
[0063] When a command message is inserted into the DB 804 queue, the device busy timer is initiated in the CU 808 registers. After the DB 804 queue is operated to perform the I / O operation command, the value of the device busy timer in the CU 808 registers is read to determine how long the command message waited in queue DB 804. The device busy timer value is reported in the device busy time parameter 956 of the response message 900 of FIG. 9. There can be many device occupancy timers in CU 808 registers to support multiple OS 103. Alternatively, the timer of CU 808 registers can be constantly operating systems of the device occupancy in a running timer, values of the device occupancy time are captured in CU 808 registers for many OS 103 operating systems, and sent to each relevant OS 103 operating system via channels 124.
[0064] When multiple command messages are placed on a DB 804 queue, the length of the DB 804 queue is monitored. If the DB 804 queue is full so that no more command messages can be queued, the CU 802 control logic can send a device busy message to all OS 103 operating systems that send new command messages while the DB 804 queue is full. The CU 802 control logic can then send an end-of-device message to indicate that the I / O device 112 is ready, which may cause OS 103 operating systems to resend command messages after
53 / 59P27034EN00 through one or more channels 124. Alternatively, some of the message messages in the DB 804 queue may be returned to OS 103 operating systems with a device busy indication and removed from the DB 804 queue. Again, the CU 802 control logic may send an end device message to indicate that the I / O device 112 is ready, which may cause OS 103 operating systems to resend command messages via one or more channels 124.
[0065] In DB 804 queue management, the CU 802 control logic can notify OS 103 operating systems of busy status in various scenarios beyond the full queue status. For example, the CU 802 control logic may use CU 806 timers to monitor the time for which command messages remain in the DB 804 queue. When the command message is in the queue for a time greater than the command time limit while the I / O device 112 is reserved (e.g., device end indicator not received), the command message is removed from the DB 804 queue and a message is sent device busy in FCP_RSP IU to the creator of the command message. The command period can be set to a fixed value, such as thirty seconds, or configurable. In the example solution, when a new command message is received while the I / O device 112 has been reserved for longer than the device busy time limit, the CU 802 control logic does not place the new command message in the DB 804 queue. The CU 802 control logic sends a busy message devices in FCP_RSP IU to the creator of the new command message. [0066] OS 103 operating systems can also monitor the time elapsed to execute the requested command message. In response to the determination that the operating system timeout period has expired, the OS 103 operating system may send
The use-exclusive reset message to the control unit 110 attempting to release the I / O device 112. In response to the message, the control unit 110 enters the operating system timeout period. If a new command message is received during the operating system time-out renewal period, the CU 802 control logic does not place the new command message on the DB 804 queue. The CU 802 control logic responds by sending a device busy message on the FCP_RSP IU to the creator of the new command message.
[0067] Referring to FIG. 11, a process 1100 will now be described for limiting contention for access to a reserved device in a control unit communicating with multiple OS operating systems via one or more channels, according to embodiments, and with respect to the I / O processing system 100 of FIG. 1 and a detailed view of the control unit 110 of FIG. 10. At block 1102, control unit 110 receives a command message from the first OS operating system among the plurality of OS 103 operating systems via one or more channels 124, wherein the command message includes an I / O operation command for the I / O device 112 communicating with the unit. command can be a unit containing a TCCB block with many DCW words of the TCW channel program. At block 1104, the control unit 110 receives a device busy indicator from the I / O device 112. The device busy indicator notifies the control unit 110 that the second OS operating system among many OS 103 operating systems has reserved the I / O device 112.
[0068] at block 1106, control unit 110 places a command message on DB queue 804 in response to a device busy indicator. When additional command messages are provided
Transport message as a control part 110 IU command
53 / 59P27034EN00 received in control unit 110, these command messages are placed in DB 804.
[0069] At block 1108, the control unit 110 monitors the I / O device 112 for a device end indicator, the device end indicator notifying the control unit 110 that the I / O device 112 is ready to receive a new I / O operation command. At block 1110, control unit 110 supports DB 804 to extract command messages and execute I / O commands in response to the device end indicator. The DB 804 queue can be operated using FIFO type support, priority based service or round robin operation as previously described.
[0070] Technical effects of the embodiments include limiting competition for access to the reserved device in the I / O processing system. Using the device's busy queue to temporarily store command messages received while the device is reserved allows the control unit to manage the order in which command messages from various OS operating systems are handled without overloading the channel subsystems of the host systems from which the command messages originate. Advantages include support for multiple command messages without interrupting TCW channel program execution on the control unit. Thus, device busy queuing supports the competition for access to the reserved device, and also provides benefits in the form of greater communication throughput due in part to the exchange of fewer messages per channel program. A variety of device occupancy handling techniques can be used, depending on the preferences of the system designer or customer. In embodiments, command messages from slower-responsive host systems are handled fairly against faster-responding host systems.
[0071] As described above, the embodiments may be implemented in the form of computer-implemented processes and devices for performing these processes. In embodiments, the invention is implemented in the form of computer program code executed by one or more network elements. Embodiments include a computer program product 1200 as shown in FIG. 12, on a computer usable medium 1202, with a computer program code logic 1204 containing the instructions contained on the material medium as a production product. Exemplary production products for a computer usable 1202 may include floppy disks, CDROMs, hard drives, universal serial bus (USB) flash drives, or any other computer-readable storage media, wherein, when the logic 1204 of the computer program code is loaded into and made by a computer, the computer becomes a device for implementing the invention. Embodiments include computer program code logic 1204, for example, whether stored on a storage medium, loaded into and / or executed by a computer, or transmitted through some transmission media, such as electrical wires or cabling, by optical fibers or by electromagnetic radiation, using what, when the logic 1204 of the computer program code is loaded into and executed by a computer, the computer becomes a device for carrying out the invention. When implemented in a general purpose microprocessor, the computer program logic code 1204 segments configure the microprocessor to create specific logic circuits.
53 / 59P27034PL00
Contents9
19 members in 14 offices
Priority claims8
| Document | Office | Kind | Date |
|---|---|---|---|
| 3096108 | United States of America | A | |
| 3096108 | United States of America | A | |
| 09711029 | European Patent Office (EPO) | A | |
| 2009051445 | European Patent Office (EPO) | W | |
| 2009051445 | European Patent Office (EPO) | W | |
| EP20090711029 | – | – | – |
| US20080030961 | – | – | – |
| WO2009EP51445 | – | – | – |
Members19
| Document | Office | Kind | |
|---|---|---|---|
| US2009210583A1 | United States of America | A1 | |
| WO2009101050A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP2174227A1 | European Patent Office (EPO) | A1 | |
| EP2174227B1 | European Patent Office (EPO) | B1 | |
| KR20100107484A | Republic of Korea | A | |
| ATE482430T1 | Austria | T1 | |
| PT2174227E | Portugal | E | |
| DE602009000227D1 | Germany | D1 | |
| DK2174227T3 | Denmark | T3 | |
| ES2349376T3 | Spain | T3 | |
| SI2174227T1 | Slovenia | T1 | |
| CN101946244A | China | A | |
| PL2174227T3This record | Poland | T3 | |
| US7908403B2 | United States of America | B2 | |
| JP2011512585A | Japan | A | |
| CN101946244B | China | B | |
| KR101231555B1 | Republic of Korea | B1 | |
| JP5159900B2 | Japan | B2 | |
| CY1111221T1 | Cyprus | T1 |
Numbers
- Publication, DOCDB
- 2174227
- Publication, EPODOC
- PL2174227T
- Application
- 711029
- Application, DOCDB
- 09711029
- Application, EPODOC
- PL20090711029T
Titles2
- English
- RESERVED DEVICE ACCESS CONTENTION REDUCTION
- Polish
- Ograniczenie rywalizacji o dostęp do zarezerwowanego urządzenia
Classification
- CPC, 2
- G06F13/122
- G06F9/50
- IPC, 1
- G06F13 14