KR101190998B1 - 입력/출력 동작을 모니터링하기 위한 데이터 처리 - Google Patents

입력/출력 동작을 모니터링하기 위한 데이터 처리 Download PDF

Info

Publication number
KR101190998B1
KR101190998B1 KR1020107016972A KR20107016972A KR101190998B1 KR 101190998 B1 KR101190998 B1 KR 101190998B1 KR 1020107016972 A KR1020107016972 A KR 1020107016972A KR 20107016972 A KR20107016972 A KR 20107016972A KR 101190998 B1 KR101190998 B1 KR 101190998B1
Authority
KR
South Korea
Prior art keywords
control unit
message
command
response
exchange
Prior art date
Application number
KR1020107016972A
Other languages
English (en)
Other versions
KR20100125235A (ko
Inventor
다니엘 캐스퍼
존 플래나갠
캐서린 후앙
매튜 캘로스
루이스 리치
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20100125235A publication Critical patent/KR20100125235A/ko
Application granted granted Critical
Publication of KR101190998B1 publication Critical patent/KR101190998B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

입력/출력 처리 시스템에서 제어 유닛과 채널 서브시스템간의 통신을 처리하기 위한 컴퓨터 프로그램 제품, 장치, 및 방법이 개시되었다. 컴퓨터 프로그램 제품은 처리회로로 판독할 수 있고 처리회로로 실행하기 위한 명령어를 저장하는 유형의 저장 매체를 포함한다. 상기 방법은 입력/출력 동작을 개시시키기 위해 채널 서브시스템으로부터 제어 유닛에 명령어를 전송하는 것; 동작의 완료에 대한 소정 기간을 설정하는 것; 및 소정 기간내에 동작이 완료되지 않았다는 것에 응답하여, 제어 유닛이 명령어에 대한 교환을 개설하였는 지에 대한 여부를 결정하기 위해 메시지를 전송하는 것을 포함한다.

Description

입력/출력 동작을 모니터링하기 위한 데이터 처리{PROCESSING OF DATA TO MONITOR INPUT/OUTPUT OPERATIONS}
본 발명은 입력/출력 처리 시스템에 관한 것으로, 특히 입력/출력 처리와 연관된 동작의 진행을 결정하는 것 및/또는 모니터링하는 것에 관한 것이다.
입력/출력(I/O) 동작은 I/O 처리 시스템의 I/O 디바이스와 메모리간에 데이터를 전송하는 데에 사용된다. 상세히는, 데이터는 메모리로부터 하나 이상의 데이터 I/O 디바이스에 기록되고, I/O 동작을 실행하여 하나 이상의 I/O 디바이스로부터 메모리에 대해 데이터가 판독된다.
I/O 동작의 처리를 용이하게 하기 위해, I/O 처리 시스템의 I/O 서브시스템이 채용된다. I/O 서브시스템은 주 메모리와 I/O 처리 시스템의 I/O 디바이스에 연결되고 메모리와 I/O 디바이스간의 정보의 흐름을 총괄한다. I/O 서브시스템의 한 예는 채널 서브시스템이다. 채널 서브시스템은 통신 매체로서 채널 경로를 사용한다. 각각의 채널 경로는 제어 유닛에 연결된 채널을 포함하고, 제어 유닛은 또한 하나 이상의 I/O 디바이스에 연결된다.
채널 서브시스템은 I/O 디바이스와 메모리간에 데이터를 전송하기 위해 채널 명령어 워드(CCW;channel command word)를 채용할 수 있다. CCW는 실행되어야 할 명령어를 지정한다. 소정 I/O 동작을 개시시키기 위한 명령어에 대해, CCW는 동작과 연관된 메모리 영역을 지정하고, 이 동작은 영역으로부터 또는 이 영역으로 전송이 완료되었을 때 마다, 그리고 기타 옵션에 따라 취해져야 할 동작이다.
I/O 처리 동안, CCW의 리스트는 채널에 의해 메모리로부터 인출된다. 채널은 CCW의 리스트에서 각각의 명령어를 파싱하여, 각각 자신의 고유한 엔티티를 갖는 다수의 명령어를 채널에 연결된 제어 유닛에 전송한다. 제어 유닛은 그러면 이 명령어들을 처리한다. 채널은 각각의 명령어의 상태를 추적하고 다음 셋트의 명령어가 처리를 위해 제어 유닛에 전송되어야 할 시점을 제어한다. 채널은 각각의 명령어가 자신의 고유한 엔티티로 제어 유닛에 전송될 수 있도록 한다. 명령어에 대한 응답(즉, "명령어 응답 " 또는 CMR)은 제어 유닛이 활성 상태이고 동작중이라 것, 및 명령어를 수신하여 실행중이라는 지시를 채널에 제공하기 위해 제어 유닛으로부터 채널에 전송된다. 또한, 채널은 각각의 명령어에 대한 제어 유닛으로부터의 응답을 처리하는 것과 연관된 소정 정보를 추론한다.
현재, 각각의 명령어에 대해 제어 유닛으로부터 응답을 필요로 하지 않고 제어 유닛이 명령어를 수신하였는 지의 여부를 결정할 수 있도록 하는 링크 프로토콜은 없다. 일반적으로, 현재의 링크 프로토콜은 제어 유닛이 명령어를 수신하였고 이 명령어를 실행하고 있다는 것을 지시하기 위해 제어 유닛이 각각의 명령어에 대해 응답을 전송할 것을 필요로 한다. 각각의 명령어에 대한 이러한 응답 필요요건은 링크 프로토콜의 성능을 열악하게 할 수 있다.
또한, 문제를 조기에 검출할 수 있도록 하기 위해 동작 동안 I/O 동작의 진행을 모니터링할 수 있도록 하는 링크 프로토콜은 없다.
따라서, 각각의 명령어에 대해 응답을 필요로 하지 않고 명령어가 수신되었는 지에 대해 채널이 결정할 수 있게 하고, 채널이 I/O 동작의 진행을 모니터링할 수 있도록 하는 시스템 및 방법이 당업계에 요구된다.
본 발명의 실시태양은 입력/출력 처리 시스템에서 제어 유닛과 채널 서브시스템간의 통신을 처리하기 위한 컴퓨터 프로그램 제품을 포함한다. 이 컴퓨터 프로그램 제품은 처리회로로 판독할 수 있고 소정의 방법을 수행하도록 처리회로로 실행하기 위한 명령어를 저장하는 유형의 저장 매체를 포함한다. 이 방법은 입력/출력 동작을 개시시키기 위해 채널 서브시스템으로부터 제어 유닛에 명령어를 전송하는 것; 동작의 완료에 대한 소정 기간을 설정하는 것; 및 소정 기간내에 동작이 완료되지 않았다는 것에 응답하여, 제어 유닛이 명령어에 대한 교환을 개설하였는 지에 대한 여부를 결정하기 위해 메시지를 전송하는 것을 포함한다.
본 발명의 또 다른 실시태양은 입력/출력 처리 시스템에서 통신을 처리하기 위한 장치를 포함한다. 이 장치는 I/O 디바이스에게 명령하고 I/O 디바이스의 상태를 결정할 수 있는 제어 유닛과 통신하도록 구성된 호스트 컴퓨터 시스템의 채널 서브시스템을 포함한다. 이 채널 서브시스템은, 입력/출력 동작을 개시시키기 위해 채널 서브시스템으로부터 제어 유닛에 명령어를 전송하는 것; 동작의 완료에 대한 소정 기간을 설정하는 것; 및 소정 기간내에 동작이 완료되지 않았다는 것에 응답하여, 제어 유닛이 명령어에 대한 교환을 개설하였는 지에 대한 여부를 결정하기 위해 메시지를 전송하는 것을 수행한다.
추가 실시태양은 입력/출력 처리 시스템에서 제어 유닛과 채널 서브시스템간에 통신을 처리하기 위한 방법을 포함한다. 이 방법은, 입력/출력 동작을 개시시키기 위해 채널 서브시스템으로부터 제어 유닛에 명령어를 전송하는 것; 동작의 완료에 대한 소정 기간을 설정하는 것; 및 소정 기간내에 동작이 완료되지 않았다는 것에 응답하여, 제어 유닛이 명령어에 대한 교환을 개설하였는 지에 대한 여부를 결정하기 위해 메시지를 전송하는 것을 포함한다.
실시태양에 따른 기타 컴퓨터 프로그램 제품, 장치 및/또는 방법은 첨부 도면 및 하기의 발명의 상세한 설명을 검토할 때 당업자에게는 명백히 떠오를 것이다. 그러한 모든 컴퓨터 프로그램 제품, 장치 및/또는 방법은 본원에 포함되고, 본 발명의 범위에 속하며, 특허청구범위에 의해 보호하기 위한 것이다.
각각의 명령어에 대해 응답을 필요로 하지 않고 명령어가 수신되었는 지에 대해 채널이 결정할 수 있게 하고, 채널이 I/O 동작의 진행을 모니터링할 수 있도록 하는 시스템 및 방법이 제공된다.
발명으로 간주되는 주제는 명세서의 결론부분에 기재된 특허청구범위에서 특히 강조되고 명확하게 특허청구되었다. 발명의 상기한 목적 및 기타 목적과 특징 및 이점들은 첨부 도면과 연계하여 이해할 때 하기의 상세한 설명으로부터 명확히 이해될 것이다.
도 1은 본 발명의 하나 이상의 양상을 통합하고 이용하는 I/O 처리 시스템의 한 실시태양을 설명하는 도면이다.
도 2a는 종래 기술의 채널 명령어 워드의 한 예를 나타내는 도면이다.
도 2b는 종래 기술의 채널 명령어 워드 채널 프로그램의 한 예를 나타내는 도면이다.
도 3은 도 2b의 채널 명령어 워드 채널 프로그램을 실행하기 위해 채널과 제어 유닛 사이에 통신하는 데에 사용되는 종래 기술의 링크 프로토콜의 한 실시태양을 설명하는 도면이다.
도 4는 본 발명의 한 양상에 따라, 전송 제어 워드 채널 프로그램의 한 실시태양을 설명하는 도면이다.
도 5는 본 발명의 한 양상에 따라, 도 4의 전송 제어 워드 채널 프로그램을 실행하기 위해 채널과 제어 유닛 사이에 통신하는 데에 사용되는 링크 프로토콜의 한 실시태양을 설명하는 도면이다.
도 6은 채널 명령어 워드 채널 프로그램의 4개의 판독 명령어를 실행하기 위해 채널과 제어 유닛 사이에 통신하는 데에 사용되는 종래 기술의 링크 프로토콜의 한 실시태양을 설명하는 도면이다.
도 7은 본 발명의 한 양상에 따라, 전송 제어 워드 채널 프로그램의 4개 판독 명령어를 처리하기 위해 채널과 제어 유닛 사이에 통신하는 데에 사용되는 링크 프로토콜의 한 실시태양을 설명하는 도면이다.
도 8은 본 발명의 한 양상에 따라, 채널과 제어 유닛으로 구성된 한 실시태양을 설명하는 도면이다.
도 9는 제어 유닛이 I/O 동작의 명령어 및 진행에 대한 교환 개설을 갖는 지의 여부에 대해 결정하기 위한 프로세스의 한 실시태양을 나타내는 도면이다.
도 10은 제어 유닛이 I/O 동작의 명령어 및 진행에 대한 교환 개설을 갖는 지의 여부에 대해 결정하기 위해 채널과 제어 유닛간에 통신하기 위해 사용되는 링크 프로토콜의 한 실시태양을 나타내는 도면이다.
도 11은 본 발명의 하나 이상의 양상을 통합하는 컴퓨터 프로그램 제품의 한 실시태양을 설명하는 도면이다.
발명의 상세한 설명은 첨부 도면을 예로서 참고하여, 본 발명의 바람직한 실시태양을 본 발명의 이점 및 특징과 함께 설명한다.
본 발명의 한 양상에 따라, 입력/출력(I/O) 처리가 용이하게 된다. 예를 들어, I/O 처리는 채널과 제어 유닛간에 정보의 처리를 가능하게 함으로써 용이하게 된다. I/O 처리는 한 예에서, 제어 유닛이 I/O 동작의 명령어 및/또는 진행에 대한 교환을 개설하였는 지의 여부를 결정하기 위한 시스템 및 방법을 제공함으로써, 용이하게 된다. 본원에서 참조되는 용어 "모니터링"은 제어 유닛이 명령어에 대한 교환을 개설하였는 지의 여부를 결정하기 위해 및/또는 I/O 동작이 제어 유닛에서 미해결 상태인 지 또는 진행중인 상태인 지를 결정하기 위해 제어 유닛에 하나 이상의 메시지를 전송하는 것을 포함한다. 한 예시적인 실시태양에서, 하나 이상의 메시지는 확장 링크 서비스(ELS;Extended Link Service) 메시지 및 판독 교환 요약 (REC;Read Exchange Concise) 메시지이다.
한 예시적인 실시태양에서, 채널은, 본원에선 전송 명령어 제어 블록(TCCB;transport command control block)으로서 참조되는 블록에 포함되고, 이 블록은 하나 이상의 명령어를 포함하며 이 블록의 주소는 전송 제어 워드(TCW;transport control word)에 의해 지정된다. TCW는 운영체제 또는 기타 애플리케이션으로부터 I/O 통신 어댑터에 전송되고, 이 어댑터는 그러면 명령어 메시지내의 TCCB를 처리를 위해 제어 유닛에 전송한다. 제어 유닛은 개별적인 명령어에 대한 상태를 추적하지 못하는 각각의 명령어를 I/O 통신 어댑터로 처리한다. 복수의 명령어는 또한 I/O 통신 어댑터에 의하기 보단 제어 유닛에서 파싱되고 실행되는 채널 프로그램으로서 참조된다.
한 예시적인 실시태양에서, 제어 유닛은 채널 프로그램을 실행하는 것에 응답하여 상태 및 확장 상태 정보를 포함하는 응답 메시지를 발생시킨다. 제어 유닛은 또한 소정 수의 통신 시나리오하에서 채널 프로그램을 실행하지 않고, 예를 들어, 채널 프로그램이 실행되지 않을 것이라는 것을 I/O 통신 어댑터에게 통지하기 위해, 응답 메시지를 발생할 수 있다. 제어 유닛은 채널 프로그램 실행을 지원하는 데 있어서 뿐만 아니라, I/O 통신 어댑터와 I/O 디바이스간의 통신을 지원하기 위해 다수의 요소를 포함할 수 있다. 예를 들어, 제어 유닛은 통신 및 상태 모니터링을 용이하게 하기 위해 하나 이상의 큐, 타이머 및 레지스터외에, 메시지를 파싱하고 처리하는 제어 로직을 포함할 수 있다. I/O 통신 어댑터는 응답 메시지를 파싱하고 상태 및 확장된 상태 정보를 추출하며, 추출된 정보를 이용하여 추가의 계산을 수행한다.
본 발명의 하나 이상의 양상을 통합하고 사용하는 I/O 처리 시스템의 한 예는 도 1을 참조하여 설명된다. I/O 처리 시스템(100)은, 주 메모리(102), 하나 이상의 중앙처리장치(CPU)(104), 저장 제어 요소(106), 및 채널 서브시스템(108)을 포함하는 호스트 시스템(101)을 포함한다. 호스트 시스템(101)은 메인프레임 또는 서버와 같은 대형 컴퓨터 시스템일 수 있다. I/O 처리 시스템(100)은 또한 하나 이상의 제어요소(100) 및 하나 이상의 I/O 디바이스(112)를 포함하는 데 이 요소 및 I/O 디바이스(102)들은 하기에 설명된다.
주 메모리(102)는 I/O 디바이스(112)로부터 입력될 수 있는, 데이터 및 프로그램을 저장한다. 예를 들어, 주 메모리(102)는 하나 이상의 CPU(104)에 의해 실행되는 하나 이상의 운영체제(OS)(103)를 포함할 수 있다. 예를 들어, 한 CPU(104)는 상이한 가상 머신 인스턴스로서 리눅스 운영체제(103)와 z/OS® 운영체제(103)를 실행할 수 있다. 주 메모리(102)는 직접적으로 주소지정될 수 있고 CPU(104) 및 채널 서브시스템(108)에 의한 데이터의 고속 처리를 제공한다.
CPU(104)는 I/O 처리 시스템(100)의 제어 센터이다. 이 CPU(104)는 명령어 실행, 인터럽션 동작, 타이밍 기능, 초기 프로그램 로딩, 및 기타 머신과 관련된 기능들을 위한 설비들을 시퀀싱하고 프로세싱한다. CPU(104)는 양방향 또는 단방향 버스와 같은, 연결부(114)를 통해 저장 제어 요소(106)에 연결된다.
저장 제어 요소(106)는 버스와 같은 연결부(116)를 통해 주 메모리(102)에 연결되고, 연결부(146)를 통해 CPU(104)에 연결되고 연결부(118)를 통해 채널 서브시스템(108)에 연결된다. 저장 제어 요소(106)는 예를 들어, CPU(104) 및 채널 서브시스템(108)에 의해 행해진 요청들을 큐에 저장하고 실행하는 것을 제어한다.
한 예시적인 실시태양에서, 채널 서브시스템(108)은 호스트 시스템(101)과 제어 유닛(110)간에 통신 인터페이스를 제공한다. 채널 서브시스템(108)은 저장 제어 요소(106)에 연결되고, 상기 설명한 바와 같이, 직렬 링크와 같은, 연결(120)을 통해 제어 유닛(110)의 각각에 연결된다. 연결(120)은 파이버 채널 광섬유(Fibre Channel fabric)로 된 단일 모드 또는 다중 모드 도파관을 채용하는, 광학 링크로 구현될 수 있다. 채널 서브시스템(108)은 I/O 디바이스(112)와 주 메모리(102)간의 정보의 흐름을 총괄한다. 이 채널 서브시스템은 I/O 디바이스(112)와 직접 통신하는 CPU(104)의 타스크를 경감시키고 I/O 처리와 통시에 데이터 처리가 수행될 수 있도록 한다. 채널 서브시스템(108)은 I/O 디바이스(112)로 또는 I/O 디바이스(112)로부터의 정보의 흐름 관리에 있어서 통신 링크로서 하나 이상의 채널 경로(122)를 사용한다. I/O 처리의 일부로서, 채널 서브시스템(108)은 또한 채널 경로 이용가능성에 대해 테스트하는 것, 이용가능한 채널 경로(122)를 선택하는 것 및 I/O 디바이스(112)를 이용한 동작의 실행을 개시시키는 것들인 경로 관리 기능들을 수행한다.
각각의 채널 경로(122)는 채널(124)(채널(124)들은, 도 1에 도시된 바와 같이, 한 예에서, 채널 서브시스템(108)내에 위치된다), 하나 이상의 제어 유닛(110) 및 하나 이상의 연결(120)을 포함한다. 다른 예에서, 채널 경로(122)의 일부로서 하나 이상의 동적인 스위치(도시되지 않음)를 가질 수도 있다. 동적인 스위치는 채널(124) 및 제어 유닛(110)에 연결되고 스위치에 부착된 임의의 두 개의 링크를 물리적으로 상호연결하는 기능을 제공한다. 다른 예에서, 다수의 시스템 즉, 제어 유닛(110)에 부착된 다수의 채널 서브시스템(도시되지 않음)을 가질 수도 있다.
또한, 채널 서브시스템(108)내에 서브채널(도시되지 않음)이 위치된다. 한 서브채널은 채널 서브시스템(108)을 통해 프로그램이 액세스할 수 있는 각각의 I/O 디바이스(112)를 제공하거나 이 I/O 디바이스(112)에 전용된다. 서브채널(예를 들어, 테이블과 같은, 데이터 구조)은 프로그램에게 디바이스의 논리적 외양을 제공한다. 각각의 서브채널은 연관된 I/O 디바이스(112)에 대한 정보 및 채널 서브시스템(108)에 연계된 I/O 디바이스에 대한 정보를 제공한다. 서브채널은 또한 I/O 동작 및 연관된 I/O 디바이스(112)를 수반하는 기타 기능에 관한 정보도 제공한다. 서브채널은 채널 서브시스템(108)이 연관된 I/O 디바이스에 대한 정보를 CPU(104)에 제공하는 수단이고, CPU(104)는 I/O 동작을 실행함으로써 상기 정보를 획득한다.
채널 서브시스템(108)은 하나 이상의 제어 유닛(110)에 연결된다. 각각의 제어 유닛(110)은 하나 이상의 I/O 디바이스(112)를 동작시키고 제어하는 로직을 제공하며, 공통 설비의 이용을 통해 각각의 I/O 디바이스(112)의 특징을 채널(124)에 의해 제공된 링크 인터페이스에 적응시킨다. 공통 설비는 I/O 동작의 실행, I/O 디바이스(112) 및 제어 유닛(110)의 상태에 관한 지시, 채널 경로(122)를 통한 데이터 전송의 타이밍에 대한 제어 및 일정한 레벨의 I/O 디바이스(112) 제어를 제공한다.
각각의 제어 유닛(110)은 연결부(126)(예를 들어, 버스)를 통해 하나 이상의 I/O 디바이스(112)에 부가된다. I/O 디바이스(112)는 정보를 수신하거나 주 메모리(102) 및/또는 기타 메모리에 저장한다. I/O 디바이스(112)의 예로는 카드 판독기 및 펀치, 자성 테이프 유닛, 직접 액세스 저장 디바이스, 디스플레이, 키보드, 프린터, 포인팅 디바이스, 원격처리 디바이스, 통신 제어기 및 센서를 기반으로한 장비 및 그 밖의 다수의 명칭을 갖는 것들을 포함한다.
I/O 처리 시스템(100)의 하나 이상의 상기 컴포넌트들은,
"IBM® z/Architecture Principles of Operation," Publication No. SA22-7832-05, 6th Edition, April 2007; 1995년 10월 24일 Cormier등에 허여되고 발명의 명칭이 "System For Transferring Data Between I/O Devices And Main Or Expanded Storage Under Dynamic Control Of Independent Indirect Address Words(IDAWS)"인 미국 특허 제 5,461,721호; 및 1996년 6월 11일 Casper등에 허여되고 발명의 명칭이 "Method And Syatem For Pipelining The Processing Of Channel Command Words"인 미국 특허 제 5,526,484호에 더욱 상세히 설명되어 있고 이 문헌들의 내용 전부는 본원에 참조내용으로서 포함되어 있는 것으로 한다. IBM은 미국 뉴욕의 아몽크에 소재한 International Business Machines Corporation의 등록 상표명이다. 본원에 사용되는 기타 명칭들은 International Business Machines Corporation 또는 기타 회사의 등록 상표명, 상표명 또는 제품명일 수 있다.
한 실시태양에서, I/O 디바이스(112)와 메모리(102)간의 데이터 전송에는 채널 명령어 워드(CCW;channel status word)가 사용된다. CCW는 실행되어야 할 명령어를 지정하고 프로세싱을 제어할 기타 필드도 포함한다. CCW의 한 예는 도 2a를 참조하여 설명된다. CCW(200)는 예를 들어, 실행되어야 할 명령어를 지정하는 명령어 코드(202)(예를 들어, 판독, 역방향 판독, 제어, 감지 및 기입); I/O 동작을 제어하는 데에 사용되는 복수의 플래그(204); 데이터의 전송을 지정하는 명령어에 대해, 전송되어야 할 CCW에 의해 지정되는 저장 영역내의 바이트의 수를 지정하는 카운트 필드(206); 및 직접 주소지정 방식이 채용되었을 때, 데이터를 포함하는 주 메모리내의 실제 주소를 지시하고, 수정된 간접 주소지정 방식이 채용되었을 때, 처리되어야 할 수정된 간접 데이터 주소 워드(MIDAW;modified indirect data address words)의 리스트(예를 들어, 연속 리스트)를 지시하는 데이터 주소(208)를 포함한다. 수정된 간접 주소지정 방식은 Brice등에 의해 2006년 8월 15일 출원되고 발명의 명칭이 "Flexibly Controlling The Trasnfer Of Data Between Inpuy/Output Devices And Memory"인 미국 특허출원 제 11/464,613호에 더욱 상세히 설명되어 있고, 상기 미국 특허출원 제 11/464,613호는 그 전체 내용이 본원에 참조내용으로서 포함된 것으로 한다.
순차적 실행을 위해 배열된 하나 이상의 CCW는, 본원에선 CCW 채널 프로그램으로서 참조되는 채널 프로그램을 형성한다. CCW 채널 프로그램은 예를 들어, 운영 체제 또는 기타 소프트웨어에 의해 구성된다. 소프트웨어는 CCW를 구성하고 채널 프로그램에 할당된 메모리의 주소를 획득한다. CCW 채널 프로그램의 예는 도 2b를 참조하여 설명한다. CCW 채널 프로그램(210)은 예를 들어, 정의 범위 명령어(216)에 사용될 정의 범위 명령어(216)의 메모리내의 실제주소에 대한 포인터(214)를 갖는 정의 범위 CCW(212)를 포함한다. 이 예에서, 채널을 이용한 전송(TCI; transfer in channel)(218)은 채널 프로그램에게, 위치 레코드 데이터(220)에 대한 포인터(219)를 갖는 위치 레코드(217)와 같은 하나 이상의 기타 CCW, 및 하나 이상의 판독 CCW(221)를 포함하는 메모리내의 기타 영역(예를 들어, 애플리케이션 영역)을 참조하게 하는 정의 범위 명령어를 따른다. 각각의 판독 CCW(221)는 데이터 영역(224)에 대한 포인터(222)를 갖는다. 데이터 영역은 데이터를 직접적으로 액세스하기 위한 주소 또는 데이터를 간접적으로 액세스하기 위한 주소 데이터 주소 워드(예를 들어, MIDAW 또는 IDAW)의 리스트를 포함한다. 또한, CCW 채널 프로그램(210)은 CCW 채널 프로그램의 실행으로 생기는 상태(226)에 대한 서브채널을 호출한 디바이스 주소에 의해 정의된 채널 서브시스템내의 소정 영역을 포함한다.
CCW 채널 서브프로그램의 프로세싱은 도 2b 및 도 3을 참조하여 설명된다. 특히, 도 3은 CCW 채널 프로그램이 실행중일 때 채널과 제어 유닛간에 발생하는 여러 변화와 시퀀스의 예를 나타낸다. 통신에 사용되는 링크 프로토콜은 본 실시태양에선 FICON(Fibre Connectivity)이다. FICON에 관한 정보는 본원에 그 전체 내용이 참조내용으로서 통합되어 있는 것으로 하는, "Fibre Channel Single Byte Command Code Sets-3 Mapping Protocol(FC-SB-3), T11/Project 1357-D/Rev. 1.6, INCITS(March 2003) 에 설명되어 있다.
도 3을 참조하면, 채널(300)은 제어 유닛(302)과의 교환을 개설하여 정의 범위 명령어 및 이와 연관된 데이터를 제어 유닛(302)에 전송한다(304). 명령어는 정의 범위 CCW(212)로부터 인출되고(도 2b) 데이터는 정의 범위 데이터 영역(216)으로부터 획득된다. 채널(300)은 위치 레코드 CCW 및 판독 CCW를 찾기 위해 TIC(218)를 사용한다. 상기 채널(300)은 위치 레코드 CCW(217)(도 2b)로부터 위치 레코드 명령어(도 3)를 인출하고 위치 레코드 데이터(220)로부터 데이터를 획득한다(305). 판독 명령어(도 3)는 판독 CCW(221)(도 2b)로부터 인출된다(306). 인출된 각각의 명령어들은 제어 유닛(302)에 전송된다.
제어 유닛(302)은 채널(300)의 개설 교환에 응답하여, 채널(300)과의 교환을 개설한다(308). 이것은 위치 명령어(305) 및/또는 판독 명령어(306)의 앞 또는 뒤에서 발생할 수 있다. 개설 교환과 함께, 응답(CMR)은 채널(300)에 전송된다. CMR은 제어 유닛(302)이 활성상태이고 동작중에 있다는 것을 채널(300)에 지시한다.
제어 유닛(302)은 요청된 데이터를 채널(300)에 전송한다(310). 또한, 제어 유닛(302)은 상태를 채널(300)에 제공하고 교환을 종료한다(312). 이에 응답하여, 채널(300)은 데이터를 저장하고, 상태를 검사하며 교환을 종료(314)하는 데, 이 종료는 상태가 수신되었음을 제어 유닛(302)에 지시한다.
4k의 데이터를 판독하기 위한 상기 CCW 채널 프로그램의 프로세싱은 개설 및 종료되어야 할 2개의 교환 및 7개의 시퀀스를 필요로 한다. 채널과 제어 유닛간의 교환 및 시퀀스의 전체 갯수는 채널 프로그램의 다수의 명령어를 TCCB에 나누어 놓음으로써 감소될 수 있다. 채널, 예를 들어, 도 1의 채널(124)은 TCW를 사용하여 TCCB의 실제 주소뿐만 아니라, 채널 프로그램의 실행과 연관된 데이터를 액세스하고 데이터 및 상태를 저장하기 위한 실제 주소를 식별하기 위해 사용된다. TCW는 채널에 의해 해석되며 제어 유닛(302)에 의해 전송되지 않거나 알 수 있다.
도 2b에 도시된 바와 같이, 별개의 개별적인 CCW 대신에 TCCB를 포함하는 4k의 데이터를 판독하기 위한 채널 프로그램의 한 예가, 도 4를 참조하여 설명된다. 도시된 바와 같이, 본원에서 TCW 채널 프로그램으로서 참조되는, 채널 프로그램(400)은 TCCB(404)의 메모리내의 실제주소 뿐만 아니라 데이터 영역(406)의 메모리내의 실제주소 또는 데이터 영역(406)을 지시하는 TIDAL(410)(즉, MIDAW와 유사한 TIDAW(transfer mode indirect data address words)의 리스트)를 지정하는 TCW(402), 및 상태 영역(408)을 포함한다. TCW, TCCB 및 상태는 하기에 더욱 상세히 설명된다.
TCW 채널 프로그램의 프로세싱은 도 5를 참조하여 설명된다. 이 통신들에 대해 사용되는 링크 프로토콜은 예를 들어, FCP(Fibre Channel Protocol)이다. 특히, FCP 링크 프로토콜의 3개 페이즈(phase)가 사용되는 데, 이 페이즈들은 CCW에 의해 제어되는 데이터 전송을 수행하도록 FCP를 지원하는 호스트 버스 어댑터들이 사용될 수 있도록 한다. FCP 및 이것의 페이즈들은 "Information Technology-Fibre Channel Protocol for SCSI, Third Version (FCP-3)," T10 Project 1560-D, Revision 4, September 13, 2005에 더욱 상세히 설명되어 있고, 본원에 그 내용 전부가 참조문헌으로 통합된 것으로 한다.
도 5를 참조하면, 채널(500)은 제어 유닛(502)과 교환을 개설하고 TCCB(504)를 제어 유닛(502)에 전송한다. 한 예에서, TCCB(504) 및 시퀀스 주도권은 FCP_CMND 정보 유닛(IU) 또는 전송 명령어 IU로 참조되는, FCP 명령어로 제어 유닛(502)에 전송된다. 제어 유닛(502)은 다수의 TCCB(504) 명령어(예를 들어,정의 범위 명령어, 실제위치 레코드 명령어, 디바이스 제어 워드(DCW;device control word)로서 판독 명령어)를 실행하고 데이터(506)를 예를 들어, FCP_데이터 유닛을 통해, 채널(500)에 전송한다. 제어 유닛은 또한 상태를 제공하고 교환을 종료한다(508). 한 예로서, 최종 상태는 전송 응답 IU로도 참조되는, FCP_RSP IU의 페이로드의 바이트 10 또는 11에 있는 활성 상태에 있는 비트를 갖는 FCP 상태 프레임에 포함되어 전송된다. FCP_RSP IU 페이로드는 확장된 측정 워드의 계산을 지원하고 제어 유닛(502)에 의해 지원되는 최대 갯수의 개설 교환을 채널(500)에게 통지하는 파라미터를 포함하는, 추가의 상태 정보와 함께 FICON 종료 상태를 전송하는 데에 사용될 수 있다.
또다른 예에서, 4k의 고객 데이터를 기입하기 위해, 채널(500)은 하기와 같이, FCP 링크 프로토콜 페이즈를 사용한다.
1. TCCB를 FCP_CMND IU에 포함시켜 전송함.
2. 데이터의 IU 및 시퀀스 주도권을 제어 유닛(502)에 전송함(FCP 전송 준비상태가 디스에이블되어 있음).
3. 최종 상태는 예를 들어, FCP_RSP IU의 페이로드의 바이트 10 또는 11에 있는 활성 상태에 있는 비트를 갖는 FCP 상태 프레임에 포함되어 전송된다. FCP_RSP_INFO 필드 또는 감지 필드는 확장된 측정 워드의 계산을 지원하고 제어 유닛(502)에 의해 지원되는 최대 갯수의 개설 교환을 채널(500)에게 통지하는 파라미터를 포함하는, 추가의 상태 정보와 함께 FICON 종료 상태를 전송하는 데에 사용된다.
도 4의 TCW 채널 프로그램을 실행함으로써, 도 2b의 두 개의 CCW 채널 프로그램에 대한 두 개의 교환 대신에, 단 하나의 개설 및 종료되는 교환(도 5 참조)만 있다. 또한, TCW 채널 프로그램에 대해, CCW 채널 프로그램에 대한 7개 시퀀스(도 2b 및 도 3 참조)가 있는 것과는 대조적으로, 3개의 통신 시퀀스(도 4 및 도 5 참조)만 있다.
교환 및 시퀀스의 갯수는 추가 명령어가 프로그램에 추가되는 경우에도, TCW 채널 프로그램에 대해 동일한 갯수로 존재한다. 예를 들어, 도 6의 CCW 채널 프로그램의 통신과 도 7의 TCW 채널 프로그램의 통신을 비교해 보자. 도 6의 CCW 채널 프로그램에서, 각각의 명령어(예를 들어, 정의 범위 명령어(600), 위치 레코드 명령어(601), 판독 명령어(602), 판독 명령어(604), 판독 명령어(606), 위치 레코드 명령어(607) 및 판독 명령어(608))는 채널(610)로부터 제어 유닛(612)으로 별개의 시퀀스로 전송된다. 또한, 각각의 4k 데이터 블록(예를 들어, 데이터(614-620)은 제어 유닛(612)으로부터 채널(610)로 별개의 시퀀스로 전송된다. 이 CCW 채널 프로그램은 개설 및 종료되어야 할 2개의 교환(예를 들어, 개설 교환(622,624) 및 종료 교환(626,628)) 및 14개의 통신 시퀀스를 필요로 한다. 이것은 도 7의 TCW 채널 프로그램에 대한 3개의 시퀀스 및 1개의 교환과 비교되고, 도 6의 CCW 채널 프로그램의 타스크와 동일한 타스크를 달성한다.
도 7에 도시된 바와 같이, 채널(700)은 제어 유닛(702)과 교환을 개설하고 TCCB(704)를 제어 유닛(702)에 전송한다. TCCB(704)는 상기 설명한 바와 같이, 정의 범위 명령어, 2개의 실제위치 레코드 명령어, 및 DCW내의 4개의 판독 명령어를 포함한다. TCCB(704)를 수신하는 것에 응답하여, 제어 유닛(702)은 명령어를 실행하고 16k의 데이터를 단일 시퀀스로 제어 유닛(702)에 전송한다(706). 또한, 제어 유닛(702)은 상태를 채널(700)에 제공하고 교환을 종료한다(708). 따라서, TCW 채널 프로그램은 도 6의 CCW 채널 프로그램과 동일한 양의 데이터를 전송하기 위해 훨씬 적은 통신을 필요로 한다.
한 예시적인 실시태양에서, 도 6의 CCW 채널 프로그램은 예를 들어, FICON(Fibre Connectivity) 프로토콜인, 채널 명령어 워드를 지원하는 프로토콜을 사용하여 구현된다. 이 프로토콜하에서 동작하는 링크들은 "명령어 모드"에 있는 것으로 참조된다.
한 예시적인 실시태양에서, 도 7의 TCW 채널 프로그램은 "전송 모드"프로토콜로 참조되는 링크 프로토콜을 사용하여 전송되는, 디바이스 제어 워드를 실행하는 프로토콜을 사용하여 구현된다.
이제 도 8을 참조하면, TCW 채널 프로그램 실행을 지원하는 도 1의 제어 유닛(110)과 채널(124)에 대한 한 실시태양이 더욱 상세히 설명된다. 제어 유닛(110)은 연결(120)을 통해 채널(124)로부터 수신된, 도 7의 TCCB(704)와 같은 TCCB를 포포함하는 명령어 메시지를 파싱하여 처리하는 CU 제어 로직(802)을 포함한다. CU 제어 로직(802)은 하나 이상의 I/O 동작 명령어를 수행하기 위해 연결(126)을 통해 디바이스 예를 들어, I/O 디바이스(112)를 제어하기 위해 제어 유닛(110)에서 수신된 TCCB로부터 DCW와 제어 데이터를 추출할 수 있다. CU 제어 로직(802)은 디바이스 명령어 및 데이터를 전송할 뿐만 아니라 I/O 디바이스(112)로부터 상태 정보 및 기타 피드백 정보를 수신한다.
CU 제어 로직(802)은 CU 타이머(806) 및 CU 레지스터(808)과 같은 제어 유닛(110)내의 기타 요소들을 액세스하고 제어한다. CU 타이머(806)는 I/O 동작 시퀀스가 완료하는 데에 얼마나 오래 걸리는 지를 추적하는 다수의 타이머 기능들을 포함할 수 있다. CU 타이머(806)는 소정 기간내에 완료하지 못하는 I/O 동작 및 명령어를 모니터하여 폐기하기 위해 하나 이상의 카운트다운 타이머를 더 포함할 수 있다. CU 레지스터(808)는 구성 및 상태 정보뿐만 아니라 CU 제어 로직(802)에 의해 실행되는 명령어로서 갱신되는 동적인 상태 정보를 제공하는 고정된 값을 포함할 수 있다. 제어 유닛(110)은 채널(124)과 I/O 디바이스(112)간의 통신과 연관된 다수의 메시지 및 상태 정보를 저장하기 위해 기타 버퍼 또는 메모리 요소들을 더 포함할 수 있다.
채널 서브시스템(108)내의 채널(124)은 제어 유닛(110)과의 통신을 지원하는 다수의 요소를 포함한다. 예를 들어, 채널(124)은 CHN 서브시스템 타이머(812) 및 CHN 서브시스템 레지스터(814)와 인터페이싱하는 CHN 제어 로직(810)을 포함할 수 있다. 예시적인 한 실시태양에서, CHN 제어 로직(810)은 채널 서브시스템(108)과 제어 유닛(110)간의 통신을 제어한다. CHN 제어 로직(810)은 전송 명령어 및 응답 IU와 같은 명령어를 전송하고 응답을 수신하기 위해 연결(120)을 통해 CU 제어 로직(802)에 직접 인터페이싱할 수 있다. 대안으로서, 메시징 인터페이스 및/또는 버퍼(도시되지 않음)는 CHN 제어 로직(810)과 CU 제어 로직(802)사이에 위치될 수 있다. CHN 서브시스템 타이머(812)는 제어 유닛(110)에 의해 추적된 시간외에, I/O 동작의 시퀀스가 완료하는 데에 걸리는 시간을 추적하는 다수의 타이머 기능을 포함할 수 있다. CHN 서브시스템 타이머(812)는 소정 기간내에 완료하지 못하는 명령어 시퀀스를 모니터하여 폐기하는 하나 이상의 카운트다운 타이머를 더 포함할 수 있다. CHN 서브시스템 레지스터(814)는 구성 및 상태 정보뿐만 아니라, 명령어가 전송되고 응답이 수신됨에 따라 갱신되는 동적인 상태 정보를 제공하는 고정된 값을 포함할 수 있다.
도 1을 다시 참조하면, 일부 예시적인 실시태양에서, 도 1의 제어 유닛(11) 및 채널(124)은 상이한 모드 즉, 상이한 프로토콜에서 동작할 수 있다. 예를 들어, 채널(124)은 전송 모드에서 동작하고 전송 모드 프로토콜을 이용하며, 제어 유닛(110)은 명령어 모드에서 동작하고 FICON 프로토콜을 이용한다. 제어 유닛(110)과 채널(124)은 각각 명령어 모드 및/또는 전송 모드를 지원한다.
한 예시적인 실시태양에서, 제어 유닛(110)이 명령어를 수신했는 지의 여부를 결정하고, I/O 동작이 진행중인 지의 여부 또는 I/O 동작이 종료되었거나 명령어가 손실되었는 지의 여부를 결정하는 시스템 및 방법이 제공된다. 한 예시적인 실시태양에서, I/O 동작이 완료되었다는 지시가 없는 경우에, 명령어를 제어 유닛(110)이 수신했는 지의 여부를 결정하기 위해 메시지를 제어 유닛(110)에 전송한다. 한 예시적인 실시태양에서, 메시지는 판독 교환 요약(REC;Read Exchange Concise) 메시지이다. REC 메시지는 제어 유닛(110)이 명령어를 수신하였는 지의 여부를 결정하기 위해 제어 유닛(110)을 질의하도록 채널(124)에 의해 사용될 수 있다. 또다른 예시적인 실시태양에서, 제어 유닛(110)과 채널(124)은 전송 모드에서 메시지를 교환한다.
채널(124)은 명령어를 제어 유닛(110)이 수신했는 지를 지시하는, REC 응답과 같은, 메시지에 대한 응답을 수신한다. REC 메시지는 제어 유닛(110)이 개설된 교환상에서 명령어를 수신했는 지의 여부를 질의하고, REC 응답은 교환이 개설되었는 지의 여부를 지시한다. REC 명령어 및 응답은 확장 링크 서비스(ELS;Extended Link Service) 메시지들이다.
본원에 설명된 실시태양들은, 본원에선 "명령어 응답" 또는 "CMR"로 참조되는, 명령어를 전송 모드가 제어 유닛(110)이 수신했다는 것을 확인하는 응답 필요요건을 회피할 수 있도록 한다. 명령어 모드 프로토콜을 포함하는, 종래 프로토콜들은 각각의 명령어 또는 명령어 셋트에 응답하여 CMR이 제어 유닛(110)으로부터 전송될 것이 필요로 된다. 이와 반대로, 본 실시태양은 각각의 명령어에 대한 CMR을 필요로 하지 않는다. 그 대신에, 본 실시태양은 채널(124)이 I/O 동작이 완료되었다는 지시를 수신하기 위해, 예를 들어, 도 8의 CHN 서브시스템에서, 타이머를 설정할 수 있도록 한다. 이 타이머가 시간을 다 소비한 경우에만, 채널(124)은 REC 메시지를 제어 유닛(110)에 전송한다. 따라서, 제어 유닛(110)과 채널(124)간에 필요로 또는 메시지의 수가 감소될 수 있다. 추가적인 타이머 기간은 REC 메시지, 후속하는 REC 메시지에 대한 응답 시간, 및 REC 응답 메시지를 뒤따르는 명령어에 대한 응답을 모니터링하는 데에 사용될 수 있다.
이제 도 9를 참조하면, I/O 처리 시스템의 제어 유닛(110)을 모니터링하기 위한 프로세스(900)가 예시적인 실시태양에 따라, 그리고 도 1의 I/O 처리 시스템(100)을 참조하여 설명된다.
블록(905)에서, 채널(124)은 I/O 동작을 개시시키기 위해 제어 유닛(110)에 명령어를 전송한다. 한 예시적인 실시태양에서, 명령어는 전송 모드 상태에 있다. I/O 동작은 예를 들어, 판독 동작 또는 기입 동작일 수 있다.
블록(910)에서, 채널(124)은 I/O 동작의 완료에 대한 타이머를 설정한다. 타이머는 완료 기간 또는 I/O 동작의 완료를 위한 기간에 대해 설정될 수 있다.
블록(915)에서, I/O 동작이 완료되지 않았으면 즉, 채널(124)이 I/O 동작이 완료되었다는 어떠한 통지도 수신하지 않았으면, 채널(124)은 제어 유닛(110)이 명령어를 수신했는 지의 여부를 결정하기 위해 메시지를 제어 유닛(110)에 전송한다. 제어 유닛(110)이 명령어를 수신하지 못했으면, 채널(124)은 I/O 동작을 중지시킬 수 있다. 한 실시태양에서, 이 메시지는 REC 메시지이다.
블록(920)에서, 제어 유닛(110)이 명령어가 수신되었다는 것을 지시하면, 채널(124)은 예를 들어, 도 8의 CHN 서브시스템 타이머(812)에서, 제2 타이머를 설정한다. I/O 동작이 제2 기간의 만료시 완료되지 않았으면, 채널(124)은 적어도 하나의 추가적인 REC 메시지를 전송한다. 한 실시태양에서, 채널(124)은 제어 유닛(110)이 I/O 동작이 완료되었다는 지시를 수신할 때 까지 주기적으로 추가적인 REC 메시지를 제어 유닛(110)에 전송한다. 한 실시태양에서, 지시는 I/O 동작이 완료되었다는 것을 지시하는 제어 유닛(110)으로부터의 응답인 형식이다.
하기에 설명하는 예에서, I/O 동작을 모니터링하는 절차는 도 10을 참조하여 설명된다. 이 예에서 설명된 통신(IU 메시지 콘텐츠를 포함하지 않음)에 대해 사용되는 링크 레벨 프로토콜은 예를 들어, FCP(Fibre Channel Protocol)이다. 이 절차는 하기의 페이즈들 중 하나 이상을 포함한다.
1. 전송 모드로 동작하는, 채널(1005)은 전송 모드 프로토콜을 사용하여, TCCB를 포함하는 전송 명령어 IU(1012)를 제어 유닛(1010)에 전송한다. 전송 명령어 IU(1012)는 또한 "TCCB IU"로도 참조된다. TCCB IU(1012)는 제어 유닛(1010)으로 하여금 지정된 I/O 동작을 개시하도록 한다. TCCB IU(1012)를 전송하는 데 있어서, 채널(1005)은 교환을 개설(1015)하고 주도권을 제어 유닛(1010)에 이전할 수 있다.
2. 채널(1005)은 I/O 동작의 완료를 위해 타이머(즉, "완료 타이머")를 인에이블시킬 수 있다. 한 예에서, 완료 타이머는 일(1) 내지 이십(20)초와 같은 소정 기간으로 설정될 수 있다. 설명된 특정 기간은 단지 예시적인 기간에 불과하다. 완료 타이머에 대해 임의의 기간이 사용될 수 있다. 한 실시태양에서, 완료 타이머에 설정된 기간은 I/O 동작을 완료하는 데에 예상되는 시간 양에 기초한다. 한 예시적인 실시태양에서, 완료 타이머는 완료를 위한 명목적인 또는 최대 시간양을 기초로 한다.
3. 채널(1005)이, 본원에서 전송 명령어 완료 응답", 또는 "종료 응답"(1014)(도 10에 END RSP IU로 나타냄)으로 기술된, 메시지를 수신하면, 어떠한 추가 동작도 필요로 되지 않는다. END RSP IU(1014)는 I/O 동작이 성공적으로 완료되었다는 제어 유닛(1010)으로부터의 지시를 제공한다. 한 예에서, END RSP IU(1014)는, 도 5의 상태, 교환 종료(508)이다.
4. 채널(1005)이 완료 타이머에 의해 설정된 소정 기간내에 END RSP IU(1014)를 제어 유닛(1010)으로부터 수신하지 못하면, 제어 유닛(1010)이 채널(1005)은 교환을 개설한(1001) TCCB IU(1012)를 수신하였는 지를 결정하기 위해 ELS REC 메시지(1016)를 전송한다. REC 메시지(1016)를 전송하는 데에 있어서, 채널(1005)은 교환을 개설하고(1002) 주도권을 제어 유닛(1010)에 이전한다.
선택사항으로서, 채널(1005)은 REC 메시지에 대해 응답하기 위해 타이머(즉, REC 타이머)를 기동시킬 수 있다. 예를 들어, REC 타이머는 이(2) 내지 오(5)초와 같은 소정 기간으로 설정될 수 있다. 본원에 설명된 특정한 기간은 단지 예시적인 것에 불과하다. 완료 타이머에 대해 임의의 기간이 이용될 수 있다.
"REC 응답"(1018) 또는 "REC에 대한 ELS RSP"(1018)으로 참조되는 응답이 REC 타이머에 의해 설정된 기간내에 REC 메시지(1016)에 대해 채널(1005)에 의해 수신되지 못하면, 채널(1005)은 질의된 교환(1001)을 중지하고 및, 교환 중지 시퀀스(1020 및 1022)를 수행하는 등에 의해, 예를 들어, 교환(1002)을 이용하여 REC 메시지가 전송되었던 교환 모두를 중지시킨다. 채널(1005)은 소프트웨어에게 서브채널이 인터페이스 제어 검사(IFCC;interface control check)에서 미해결 상태인 주, 부 및 경고 상태에 있다는 것을 경고하기 위해 교환(1001)과 연관된 채널(1005)(또는 서브채널) 상태를 저장한다.
REC가 질의한 I/O 동작이 REC 타이머가 만료하거나 REC 응답 IU(1018)이 전송되기 전에 완료된다면, 채널(또는 서브채널) 상태는 END RSP(1014)에 수신된 상태로써 저장되고 REC 동작으로부터의 상태 정보는 REC 동작이 완료되었을 땐, 채널(1005)에 의해 폐기된다.
5. 채널(1005)은 교환을 종료(1002)하는 REC 응답 IU(1018)을 제어 유닛(1010)으로부터 수신한다. 제어 유닛(1010)으로부터 전송된 REC 응답 IU(1018)가 교환(1001)에 대해 알고 있다는 것을 지시하면 즉, TCCB IU(1012)가 수신되었다는 것을 지시하면, 채널(1005)은 추가의 REC 메시지(1016)를 제어 유닛(1010)에 전송할 수 있다. 한 예시적인 실시태양에서, 채널(1005)은 I/O 동작이 완료될 때 까지 하나 이상의 츠가적인 REC 메시지를 전송한다. 채널(1005)은 추가적인 REC 메시지를 전송하기 위한 추가 타이머를 설정할 수 있다. 예를 들어, 추가 타이머는 오(5) 내지 육십(60)초 사이로 설정될 수 있다.
한 예시적인 실시태양에서, 주기적으로 추가적인 REC 메시지를 전송하는 것은 추가적인 REC 메시지(1016)를 전송하는 것, 및 I/O 동작의 완료에 대해 추가적인 타이머 기간을 설정하는 것을 포함한다. 추가적인 타이머 기간의 만료시, I/O 동작이 완료되지 않았으면, 채널(1005)은 또다른 추가적인 REC 메시지(1016)를 전송한다. 이 프로세스는 I/O 동작이 완료되거나 제어 유닛(1010)이 명령어를 "갖지"않는다는 지시를 제어 유닛(1010)으로부터 수신할 때 까지 반복된다. 제어 유닛(1010)이 명령어를 갖지 않는다는 지시는 명령어가 손실된 상태이거나, 교환이 손실되었거나 종료된 상태에 있거나, 또는 I/O 동작이 정지되었거나 종료된 상태에 있음에 의한 결과일 수 있다. 한 예시적인 실시태양에서, 완료 타이머는 I/O 동작이 개시되도록 하기 위해 제1 기간에 대한 것일 수 있고, 추가 타이머는 채널(1005)이 I/O 동작의 상태를 주기적으로 검사할 수 있도록 보다 긴 제 2기간에 대한 것일 수 있다.
6. 임의의 시간에 제어 유닛(1010)이, REC 메시지(1016) 또는 추가의 REC 메시지(1016)에 응답하여, 제어 유닛이 질의되고 있는 교환(1001)에 대해 알지 못한다는 것을 REC 응답(1018)을 통해 지시한다면, 채널(1005)은 선택된 지속시간(예를 들어, 100ms) 동안 대기하고, 그후 교환을 중지(1001)시키기 위해 중지 시퀀스(1020)를 수행한다. 채널(1005)은 또한 소프트웨어에게 서브채널이 인터페이스 제어 검사(IFCC;interface control check)에서 미해결 상태인 주, 부 및 경고 상태에 있다는 것을 경고하기 위해 채널(또는 서브채널) 상태를 저장한다. 상기 지속시간 동안 END RSP IU(1014)가 채널(1005)에 도달하면, I/O 동작은 성공적으로 완료되었고 어떠한 오류도 보고되지 않는다. 선택된 상기 지속시간은 END RSP IU(1014) 다음에 REC 응답(1018)이 제어 유닛(1010)으로부터 채널(1005)로 질의되고 있는 교환이 아직 개설되지 않았다는 메시지와 함께 전송되지만, REC 응답(1018)이 END RSP IU(1014)를 연결 또는 링크(120)로 채널(1005)에 자신의 진행 경로상에서 전달될 수 있도록 한다. 채널(1005)은 그후 END RSP IU(1014)가 자신의 진행 경로상에 있는 지를 결정하기 위해 상기 지속 시간동안 대기하고, 그후 수신될 것이다.
상기 예에서 설명된 명명 및 번호부여 규약은 예시적인 것이며 본원에 설명된 방법을 설명하기 위해 제공되었다. 제공된 명명 및 번호부여 규약은 임의적으로 선택되었고, 설명을 위해서만 제공되었다. 또한, 프로토콜, 채널(1005) 및 제어 유닛(1010)으로부터 전송된 정보, 및 상기 예에 설명된 특정 메시지는 예시적인 것이다. 임의의 적합한 I/O 프로토콜 및 연관된 메시지는 상기 설명한 바와 같이 처리된다.
예시적인 실시태양의 기술적인 이점은 각각의 명령어에 응답하여 제어 유닛으로부터 CMR을 필요로 하지 않고 I/O 동작의 상태 및 진행을 모니터링하는 채널 서브시스템의 능력을 포함한다. 그 밖의 기술적인 이점은 I/O 동작 및 이 동작의 시간을 주기적으로 모니터링하는 것 뿐만 아니라 동작에 대한 임의의 문제점 또는 손실을 고속으로 탐지하는 채널 서브시스템의 능력을 포함한다.
본원에 설명된 시스템 및 방법은 CMR을 필요로 하지 않고 동작이 모니터링될 수 있도록 하는 유효한 프로토콜을 제공하고, 동작의 시간을 정하고 문제를 탐지하는 방법을 제공한다는 점에서, 다양한 이점을 제공한다.
한 예시적인 실시태양에서, REC 메시지는 채널이 I/O 동작에 대해 정해진 시간이 만료시킨 경우에만 실행됨으로써, 모든 I/O 동작에 대해 CMR을 필요요건으로 하는 것을 제거한다. 모든 I/O 동작에 대해 CMR을 필요요건으로 하는 것을 제거하는 것은 시스템 성능을 개선하고, 동시에 채널 시간이 만료되었을 경우 REC 메시지를 사용함으로써, 손실된 명령어 또는 응답 IU을 조기에 탐지한다.
종래 기술의 FICON 프로토콜에선, 예를 들어, 채널이 제어 유닛으로부터 CMR프레임을 수신할 때, 채널은 더 이상 동작에 대해 시간을 정하지 않는다. 본원의 예시적인 실시태양에 따라, 채널은 동작이 제어 유닛에서 여전히 미해결상태에 있는 지 또는 진행중인 지를 알기 위해 또는 손실되어야 할 동작에 대해 종료 응답 IU를 초래한 일부 오류가 발생했는 지를 알기 위해 모든 타임아웃 기간 후에(제1 REC 타임아웃 기간 및/또는 추가의 REC 타임아웃 기간후에) REC를 재전송한다. 이러한 방식으로, REC 메시지는 손실된 명령어 또는 응답 IU에 대해 조기에 탐지한다.
본원에 설명된 시스템 및 방법은 상기 설명한 단점들을 극복하고 장점들을 제공한다.
상기 설명한 바와 같이, 실시태양들은 컴퓨터로 구현한 프로세스의 형태 및 이 프로세스를 실행하기 위한 장치의 형태로 구체화될 수 있다. 예시적인 한 실시태양에서, 본 발명은 하나 이상의 네트워크 요소에 의해 실행되는 컴퓨터 프로그램 코드로 구체화될 수 있다. 실시태양들은 제조 물품으로서 유형의 매체에 구체화된 명령어를 포함하는 컴퓨터 프로그램 코드 로직(1104)을 갖춘 컴퓨터로 사용가능한 매체(1102)상에서 도 11에 도시된 바와 같은 컴퓨터 프로그램 제품(1100)을 포함한다. 컴퓨터로 사용가능한 매체(1102)에 대한 예시적인 제조 물품은 플로피 디스켓, CD-ROM, 하드 드라이브, USB(universal serial bus) 플래시 드라이브, 또는 기타 컴퓨터로 판독가능한 매체를 포함하고, 컴퓨터 프로그램 코드 로직(1104)이 컴퓨터에 로딩되어 실행되었을 때, 컴퓨터는 본 발명을 실시하는 장치가 된다. 실시태양들은 예를 들어, 저장 매체에 저장되거나, 컴퓨터에 로딩되거나 및/또는 컴퓨터에 의해 실행되거나, 전기배선 또는 케이블 연결을 통해, 광섬유를 통해 또는 전자기 복사에 의한 방법등과 같은 일부 전송 매체를 통해 전송되는, 컴퓨터 프로그램 코드 로직(1104)을 포함하고, 컴퓨터 프로그램 코드 로직(1104)이 컴퓨터에 로딩되어 실행되었을 때, 컴퓨터는 본 발명을 실시하는 장치가 된다. 범용 마이크로프로세서에 구현되었을 때, 컴퓨터 프로그램 코드 로직(1104) 세그먼트들은 특정한 논리 회로를 생성하도록 범용 마이크로프로세서를 구성한다.
본 발명이 예시적인 실시태양을 참조하여 설명되었지만, 당업자는 본 발명의 범위로부터 벗어나지 않고 본 발명에 대한 다양한 변경이 행해질 수 있고 등가물이 본 발명의 요소를 대체할 수 있음을 알 것이다. 또한, 본 발명의 범위로부터 벗어나지 않고 본 발명의 사상에 대해 특정한 상황 또는 소재를 적응시키기 위한 여러 수정이 가해질 수 있다. 그러므로, 본 발명은 본 발명을 실시하기 위한 최선의 모드로서 고려된 특정한 실시태양에 제한되지 않으며 그보단, 본 발명은 첨부된 특허청구범위에 속하는 모든 실시태양을 포함하는 것으로 의도된다. 더욱이, 용어 제1, 제2 등은 임의의 순서나 중요성을 나타내는 것이 아니며, 그 보단 용어 제1, 제2 등은 한 요소와 다른 요소를 구별하기 위해 사용된다. 또한, 용어 한, 하나의 등은 소정 양에 대한 한계를 나타내는 것이 아니며, 그 보단 참조된 항목의 적어도 하나가 존재함을 나타내는 것이다.
102; 주메모리, 106;저장 제어 요소
108;채널 서브시스템, 110; 제어 유닛
112; I/O 디바이스, 202; 명령어 코드
204;플래그, 206; 카운트
208; 데이터 주소, 210; CCW 채널 프로그램
212; 정의 범위 CCW, 216; 범위 데이터
217; 위치 레코드 CCW, 220; 위치 레코드 데이터
221; 판독 CCW, 224; 데이터
226; 서브채널에 저장된 상태, 300; 채널
302; 제어 유닛,
304; 교환 개설, 정의 범위 CMD 및 데이터
305; 위치 기록 CMD 및 데이터, 306; 판독 명령어
308; 교환 개설, CMR, 310; 4K 데이터
312; 상태를 채널에 제공하고 교환을 종료,
314; 교환을 종료,
404; CCW 리스트, 정의 범위 및 위치 데이터(TCCB)
406; 데이터 영역, 408; 메모리내의 상태 영역
500; 채널, 502; 제어 유닛
504; 교환을 개설하고, TCCB를 전송, 506;4K의 데이터
508; 상태를 채널에 제공하고 교환을 종료
610; 채널, 612; 제어 유닛
601, 607;위치 레코드 CMD 및 데이터, 602, 604, 606, 608; 판독 명령어
614, 616, 618, 620;4K 데이터, 624; 교환 개설, CMR
626; 상태를 채널에 제공하고 교환을 종료
628; 교환 종료, 700; 채널
702; 제어 유닛, 704; 교환을 개설하고, TCCB를 전송
706;16K의 데이터,
708; 상태를 채널에 제공하고 교환을 종료
814; CHN 서브시스템 레지스터, 812; CHN 서브시스템 타이머
810; CHN 제어 로직, 808; CU 레지스터
802; CU 제어 로직, 806; CU 타이머
112; I/O 디바이스, 1005; 채널
1010; 제어 유닛, 1018; REC에 대한 ELS RSP
1020, 1022; 교환 중지, 1100; 컴퓨터 프로그램 제품
1102; 컴퓨터로 사용가능한 매체, 1104; 프로그램 코드 로직

Claims (25)

  1. 입력/출력 처리 시스템에서의 제어 유닛과 채널 서브시스템간의 통신을 처리하기 위한 컴퓨터 프로그램이 기록되어 있는 컴퓨터 판독가능 기록매체에 있어서, 상기 컴퓨터 프로그램은,
    입력/출력 동작을 개시시키기 위한 커맨드를 상기 채널 서브시스템으로부터 상기 제어 유닛에 전송하는 것;
    상기 동작의 완료를 위한 시구간을 설정하는 것; 및
    상기 시구간내에 상기 동작이 완료되지 않은 것에 응답하여, 상기 제어 유닛이 상기 커맨드에 대한 교환 개설(exchange open)을 갖고 있는 지의 여부를 결정하기 위한 메시지를 전송하는 것
    을 포함하는 방법을 수행하기 위해 처리회로에 의해 실행되는 명령어를 포함하는 것인, 컴퓨터 판독가능 기록매체.
  2. 제1 항에 있어서, 상기 커맨드 및 상기 메시지는 전송 제어 워드(TCW; Transport Control Word)를 지원하는 프로토콜을 사용하는 모드에서 전송되는 것인, 컴퓨터 판독가능 기록매체.
  3. 제1 항에 있어서, 상기 커맨드를 전송하는 것은 상기 제어 유닛과의 제1 교환을 개설하는 것을 포함하고, 상기 메시지를 전송하는 것은 상기 제어 유닛과의 제2 교환을 개설하는 것을 포함하는 것인, 컴퓨터 판독가능 기록매체.
  4. 제1 항에 있어서, 상기 메시지는 판독 교환 콘사이즈(REC; Read Exchange Concise) 메시지인 것인, 컴퓨터 판독가능 기록매체.
  5. 제1 항에 있어서, 상기 동작의 완료는 상기 동작이 완료되었음을 표시하는 완료 메시지를 상기 제어 유닛으로부터 수신하는 것을 포함하는 것인, 컴퓨터 판독가능 기록매체.
  6. 제1 항에 있어서,
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있는 지의 여부를 표시하는, 상기 메시지에 대한 응답을 수신하는 것; 및
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있다는 것을 표시하는 상기 응답에 응답하여, 추가적인 시구간 이후에 상기 메시지를 상기 제어 유닛에 재전송하는 것
    을 더 포함하는, 컴퓨터 판독가능 기록매체.
  7. 제1 항에 있어서,
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있는 지의 여부를 표시하는, 상기 메시지에 대한 응답을 수신하는 것; 및
    상기 제어 유닛이 상기 커맨드에 대한 어떠한 교환 개설도 갖고 있지 않다는 것을 표시하는 상기 응답에 응답하여, 상기 동작을 중단시키는 것
    을 더 포함하는 것인, 컴퓨터 판독가능 기록매체.
  8. 제1 항에 있어서, 상기 메시지를 전송하는 것은: i) 상기 동작의 완료, 및 ii) 상기 제어 유닛이 상기 커맨드에 대한 어떠한 교환 개설도 갖고 있지 않다는 것을 표시하는 상기 메시지에 대한 응답의 수신 중 하나가 발생할 때 까지 상기 메시지를 주기적으로 전송하는 것을 포함하는 것인, 컴퓨터 판독가능 기록매체.
  9. 제8 항에 있어서, 상기 메시지를 주기적으로 전송하는 것은,
    상기 시구간의 만료시에 상기 메시지를 상기 제어 유닛에게 전송하는 것;
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있다는 것을 표시하는 응답을 상기 제어 유닛으로부터 수신하는 것;
    상기 동작의 완료를 위한 추가적인 시구간을 설정하는 것;
    상기 제어 유닛이 상기 동작을 계속 수행하고 있는지 여부를 결정하기 위해 상기 추가적인 시구간의 만료시에 상기 메시지를 재전송하는 것
    을 포함하는 것인, 컴퓨터 판독가능 기록매체.
  10. 제1 항에 있어서,
    상기 커맨드를 전송하는 것은 전송 제어 워드(TCW)를 지원하는 프로토콜을 사용하는 전송 모드에서 커맨드를 전송하는 것을 포함하고,
    상기 시구간은 상기 동작이 완료되었다는 것을 표시하는 완료 메시지를 상기 제어 유닛으로부터 수신하기 위한 제1 시구간이고,
    상기 메시지는 판독 교환 콘사이즈(REC) 메시지이며,
    상기 메시지를 전송하는 것은 상기 제1 시구간내에 상기 완료 메시지를 수신하지 못한 것에 응답하여 행해지며,
    상기 방법은,
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있는지 여부를 표시하는, 상기 REC 메시지에 대한 응답을 수신하고;
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있다는 것을 표시하는 상기 응답에 응답하여, 상기 동작의 완료를 위한 추가적인 제2 시구간을 설정하며;
    상기 제어 유닛이 상기 동작을 계속 수행하고 있는지 여부를 판단하기 위해 상기 추가적인 제2 시구간의 만료시에 상기 REC 메시지를 재전송하는 것
    을 더 포함하는 것인, 컴퓨터 판독가능 기록매체.
  11. 입력/출력 처리 시스템에서의 통신을 처리하기 위한 장치에 있어서,
    I/O 디바이스의 상태를 명령하고 결정할 수 있는 제어 유닛과 통신하도록 구성된 호스트 컴퓨터 시스템의 채널 서브시스템을 포함하고, 상기 채널 서브시스템은,
    입력/출력 동작을 개시시키기 위한 커맨드를 상기 제어 유닛에 전송하는 것;
    상기 동작의 완료를 위한 시구간을 설정하는 것; 및
    상기 시구간내에 상기 동작이 완료되지 않은 것에 응답하여, 상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있는 지의 여부를 결정하기 위한 메시지를 전송하는 것
    을 수행하는 것인, 통신 처리 장치.
  12. 제11 항에 있어서, 상기 커맨드 및 상기 메시지는 전송 제어 워드(TCW; Transport Control Word)를 지원하는 프로토콜을 사용하는 모드에서 전송되는 것인, 통신 처리 장치.
  13. 제11 항에 있어서, 상기 메시지는 판독 교환 콘사이즈(REC; Read Exchange Concise) 메시지인 것인, 통신 처리 장치.
  14. 제11 항에 있어서, 상기 커맨드를 전송하는 것은 상기 제어 유닛과의 제1 교환을 개설하는 것을 포함하고, 상기 메시지를 전송하는 것은 상기 제어 유닛과의 제2 교환을 개설하는 것을 포함하는 것인, 통신 처리 장치.
  15. 제11 항에 있어서, 상기 동작의 완료는 상기 동작이 완료되었음을 표시하는 완료 메시지를 상기 제어 유닛으로부터 수신하는 것을 포함하는 것인, 통신 처리 장치.
  16. 제11 항에 있어서,
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있는 지의 여부를 표시하는, 상기 메시지에 대한 응답을 수신하는 것; 및
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있다는 것을 표시하는 상기 응답에 응답하여, 추가적인 시구간 이후에 상기 메시지를 상기 제어 유닛에 재전송하는 것
    을 더 포함하는, 통신 처리 장치.
  17. 제11 항에 있어서,
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있는 지의 여부를 표시하는, 상기 메시지에 대한 응답을 수신하는 것; 및
    상기 제어 유닛이 상기 커맨드에 대한 어떠한 교환 개설도 갖고 있지 않다는 것을 표시하는 상기 응답에 응답하여, 상기 동작을 중단시키는 것
    을 더 포함하는 것인, 통신 처리 장치.
  18. 제11 항에 있어서, 상기 메시지를 전송하는 것은: i) 상기 동작의 완료, 및 ii) 상기 제어 유닛이 상기 커맨드에 대한 어떠한 교환 개설도 갖고 있지 않다는 것을 표시하는 상기 메시지에 대한 응답의 수신 중 하나가 발생할 때 까지 상기 메시지를 주기적으로 전송하는 것을 포함하는 것인, 통신 처리 장치.
  19. 제18 항에 있어서, 상기 메시지를 주기적으로 전송하는 것은,
    상기 시구간의 만료시에 상기 메시지를 상기 제어 유닛에게 전송하는 것;
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있다는 것을 표시하는 응답을 상기 제어 유닛으로부터 수신하는 것;
    상기 동작의 완료를 위한 추가적인 시구간을 설정하는 것;
    상기 제어 유닛이 상기 동작을 계속 수행하고 있는지 여부를 결정하기 위해 상기 추가적인 시구간의 만료시에 상기 메시지를 재전송하는 것
    을 포함하는 것인, 통신 처리 장치.
  20. 제11 항에 있어서,
    상기 커맨드를 전송하는 것은 전송 제어 워드(TCW)를 지원하는 프로토콜을 사용하는 전송 모드에서 커맨드를 전송하는 것을 포함하고,
    상기 시구간은 상기 동작이 완료되었음을 표시하는 완료 메시지를 상기 제어 유닛으로부터 수신하기 위한 제1 시구간이고,
    상기 메시지는 판독 교환 콘사이즈(REC) 메시지이며,
    상기 메시지를 전송하는 것은 상기 제1 시구간내에 상기 완료 메시지를 수신하지 못한 것에 응답하여 행해지며,
    상기 채널 서브시스템은, 또한,
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있는지 여부를 표시하는, 상기 REC 메시지에 대한 응답을 수신하고;
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있다는 것을 표시하는 상기 응답에 응답하여, 상기 동작의 완료를 위한 추가적인 제2 시구간을 설정하며;
    상기 제어 유닛이 상기 동작을 계속 수행하고 있는지 여부를 판단하기 위해 상기 추가적인 제2 시구간의 만료시에 상기 REC 메시지를 재전송하는 것
    을 수행하는 것인, 통신 처리 장치.
  21. 입력/출력 처리 시스템에서의 제어 유닛과 채널 서브시스템간의 통신을 처리하기 위한 방법에 있어서,
    입력/출력 동작을 개시시키기 위한 커맨드를 상기 채널 서브시스템으로부터 상기 제어 유닛에 전송하는 것;
    상기 동작의 완료를 위한 시구간을 설정하는 것; 및
    상기 시구간내에 상기 동작이 완료되지 않은 것에 응답하여, 상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있는 지의 여부를 결정하기 위한 메시지를 전송하는 것
    을 포함하는, 통신 처리 방법.
  22. 제21 항에 있어서, 상기 메시지는 판독 교환 콘사이즈(REC; Read Exchange Concise) 메시지인 것인, 통신 처리 방법.
  23. 제21 항에 있어서,
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있다는 것을 표시하는 상기 응답에 응답하여, 추가적인 시구간 이후에 상기 메시지를 상기 제어 유닛에 재전송하는 것
    을 더 포함하는, 통신 처리 방법.
  24. 제21 항에 있어서, 상기 메시지를 전송하는 것은: i) 상기 동작의 완료, 및 ii) 상기 제어 유닛이 상기 커맨드에 대한 어떠한 교환 개설도 갖고 있지 않다는 것을 표시하는 상기 메시지에 대한 응답의 수신 중 하나가 발생할 때 까지 상기 메시지를 주기적으로 전송하는 것을 포함하는 것인, 통신 처리 방법.
  25. 제21 항에 있어서,
    상기 커맨드를 전송하는 것은 전송 제어 워드(TCW)를 지원하는 프로토콜을 사용하는 전송 모드에서 커맨드를 전송하는 것을 포함하고,
    상기 시구간은 상기 동작이 완료되었음을 표시하는 완료 메시지를 상기 제어 유닛으로부터 수신하기 위한 제1 시구간이고,
    상기 메시지는 판독 교환 콘사이즈(REC) 메시지이며,
    상기 메시지를 전송하는 것은 상기 제1 시구간내에 상기 완료 메시지를 수신하지 못한 것에 응답하여 행해지며,
    상기 방법은,
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있는지 여부를 표시하는, 상기 REC 메시지에 대한 응답을 수신하고;
    상기 제어 유닛이 상기 커맨드에 대한 교환 개설을 갖고 있다는 것을 표시하는 상기 응답에 응답하여, 상기 동작의 완료를 위한 추가적인 제2 시구간을 설정하며;
    상기 제어 유닛이 상기 동작을 계속 수행하고 있는지 여부를 판단하기 위해 상기 추가적인 제2 시구간의 만료시에 상기 REC 메시지를 재전송하는 것
    을 더 포함하는 것인, 통신 처리 방법.
KR1020107016972A 2008-02-14 2009-02-09 입력/출력 동작을 모니터링하기 위한 데이터 처리 KR101190998B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/031,023 2008-02-14
US12/031,023 US8312189B2 (en) 2008-02-14 2008-02-14 Processing of data to monitor input/output operations
PCT/EP2009/051446 WO2009101051A1 (en) 2008-02-14 2009-02-09 Processing of data to monitor input/output operations

Publications (2)

Publication Number Publication Date
KR20100125235A KR20100125235A (ko) 2010-11-30
KR101190998B1 true KR101190998B1 (ko) 2012-10-16

Family

ID=40736009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107016972A KR101190998B1 (ko) 2008-02-14 2009-02-09 입력/출력 동작을 모니터링하기 위한 데이터 처리

Country Status (11)

Country Link
US (1) US8312189B2 (ko)
EP (1) EP2176772B1 (ko)
JP (1) JP4917173B2 (ko)
KR (1) KR101190998B1 (ko)
CN (1) CN101946241B (ko)
AT (1) ATE492848T1 (ko)
BR (1) BRPI0908823B1 (ko)
CA (1) CA2704131C (ko)
DE (1) DE602009000464D1 (ko)
IL (1) IL207121A (ko)
WO (1) WO2009101051A1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500023B2 (en) * 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7502873B2 (en) 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US7904605B2 (en) 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US7840718B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US7917813B2 (en) 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8176222B2 (en) * 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US7840717B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US7904606B2 (en) 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8751774B2 (en) * 2011-03-31 2014-06-10 Denso International America, Inc. Method and system for controlling message traffic between two processors
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) * 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) * 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
CN103076753B (zh) * 2012-12-27 2015-01-07 南京因泰莱电器股份有限公司 一种模拟量通道可配置方法
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US10152413B2 (en) * 2015-06-08 2018-12-11 Samsung Electronics Co. Ltd. Nonvolatile memory module and operation method thereof
DE102015223581A1 (de) * 2015-11-27 2017-06-01 Volkswagen Aktiengesellschaft Schwingungsdämpfer mit hydraulischem Zuganschlag
CN106353587B (zh) * 2016-10-21 2020-06-09 成都前锋电子仪器有限责任公司 一种功率传感器数据处理方法及系统
US11275675B2 (en) 2020-03-31 2022-03-15 International Business Machines Corporation Validation of a subset of a plurality of responses during protocol testing

Family Cites Families (195)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US625399A (en) * 1899-05-23 And carl werder
GB1264096A (ko) 1970-06-27 1972-02-16
US4004277A (en) 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US3943283A (en) 1974-06-17 1976-03-09 International Business Machines Corporation Bidirectional single wire data transmission and wrap control
US4380046A (en) 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4374415A (en) 1980-07-14 1983-02-15 International Business Machines Corp. Host control of suspension and resumption of channel program execution
US4414644A (en) 1981-04-03 1983-11-08 International Business Machines Corporation Method and apparatus for discarding data from a buffer after reading such data
US4455605A (en) 1981-07-23 1984-06-19 International Business Machines Corporation Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices
US4779188A (en) 1983-12-14 1988-10-18 International Business Machines Corporation Selective guest system purge control
US4870566A (en) 1984-08-27 1989-09-26 International Business Machines Corp. Scannerless message concentrator and communications multiplexer
US4837677A (en) 1985-06-14 1989-06-06 International Business Machines Corporation Multiple port service expansion adapter for a communications controller
US4760518A (en) 1986-02-28 1988-07-26 Scientific Computer Systems Corporation Bi-directional databus system for supporting superposition of vector and scalar operations in a computer
JPS6336461A (ja) 1986-07-31 1988-02-17 Pfu Ltd 汎用チャネル制御方式
US4926320A (en) 1987-04-07 1990-05-15 Nec Corporation Information processing system having microprogram-controlled type arithmetic processing unit
US4866609A (en) 1988-06-22 1989-09-12 International Business Machines Corporation Byte count handling in serial channel extender with buffering for data pre-fetch
JPH0283757A (ja) 1988-09-21 1990-03-23 Hitachi Ltd 通信制御システム
US5016160A (en) 1988-12-15 1991-05-14 International Business Machines Corporation Computer system having efficient data transfer operations
EP0412268B1 (en) 1989-08-11 1996-09-11 International Business Machines Corporation Apparatus for interconnecting a control unit having a parallel bus with a channel having a serial link
GB9012970D0 (en) 1989-09-22 1990-08-01 Ibm Apparatus and method for asynchronously delivering control elements with pipe interface
EP0424618A3 (en) 1989-10-24 1992-11-19 International Business Machines Corporation Input/output system
JPH04649A (ja) 1990-04-18 1992-01-06 Nec Corp リモートチャネル装置の障害情報転送方式
CA2037708C (en) 1990-05-04 1998-01-20 Richard J. Eickemeyer General purpose compound apparatus for instruction-level parallel processors
CA2054026A1 (en) 1990-10-31 1992-05-01 William Monroe Turpin Goal oriented electronic form system
US5386512A (en) 1991-07-19 1995-01-31 International Business Machines Corporation System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information
US5388219A (en) 1992-03-02 1995-02-07 International Business Machines Corporation Efficient channel and control unit for host computer
JP2532194B2 (ja) 1992-03-30 1996-09-11 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサと結合機能間に対するメッセ―ジ経路指定機能を有するデ―タ処理システム
CA2086691C (en) 1992-03-30 1997-04-08 David A. Elko Communicating messages between processors and a coupling facility
US5526484A (en) 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
JP2840511B2 (ja) 1992-12-10 1998-12-24 富士通株式会社 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法
US5528755A (en) 1992-12-22 1996-06-18 International Business Machines Corporation Invalid data detection, recording and nullification
US5517670A (en) 1992-12-30 1996-05-14 International Business Machines Corporation Adaptive data transfer channel employing extended data block capability
US5461721A (en) 1993-04-14 1995-10-24 International Business Machines Corporation System for transferring data between I/O devices and main or expanded storage under dynamic control of independent indirect address words (IDAWs)
US5465359A (en) 1993-11-01 1995-11-07 International Business Machines Corporation Method and system for managing data and users of data in a data processing system
US5584039A (en) 1993-11-08 1996-12-10 International Business Machines Corporation System for coordinating execution of multiple concurrent channel programs without host processor involvement using suspend and resume commands to control data transfer between I/O devices
JP3528094B2 (ja) 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
US5860022A (en) 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
EP0712220A1 (en) 1994-11-08 1996-05-15 International Business Machines Corporation Hop-by-hop flow control in an ATM network
US5613163A (en) 1994-11-18 1997-03-18 International Business Machines Corporation Method and system for predefined suspension and resumption control over I/O programs
US5600793A (en) 1994-12-20 1997-02-04 International Business Machines Corporation Method and system of bi-directional parallel port data transfer between data processing systems
GB2291990A (en) 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
US5831985A (en) 1995-11-09 1998-11-03 Emc Corporation Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system
US5768620A (en) 1996-04-09 1998-06-16 International Business Machines Corporation Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system
US5894583A (en) 1996-04-09 1999-04-13 International Business Machines Corporation Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems
US5758190A (en) 1996-04-09 1998-05-26 International Business Machines Corporation Control unit threshold timeout controls for software missing interrupt handlers in operating systems
US6044444A (en) 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
SG74611A1 (en) 1997-02-14 2000-08-22 Canon Kk Data communication apparatus and method
JP3697831B2 (ja) 1997-04-18 2005-09-21 株式会社日立製作所 コンピュータシステム
TW375529B (en) * 1997-05-14 1999-12-01 Sega Corp Data transmission method and game system using the same
US5918028A (en) 1997-07-08 1999-06-29 Motorola, Inc. Apparatus and method for smart host bus adapter for personal computer cards
JP3566514B2 (ja) * 1997-09-25 2004-09-15 キヤノン株式会社 記録装置及び信号制御方法
US6654954B1 (en) 1998-02-17 2003-11-25 International Business Machines Corporation Computer system, program product and method utilizing executable file with alternate program code attached as a file attribute
US6360282B1 (en) 1998-03-25 2002-03-19 Network Appliance, Inc. Protected control of devices by user applications in multiprogramming environments
US6353612B1 (en) 1998-06-19 2002-03-05 Brocade Communications Systems, Inc. Probing device
US6693880B2 (en) 1998-09-10 2004-02-17 International Business Machines Corporation System of controlling the flow of information between senders and receivers across links being used as channels
US6202095B1 (en) 1998-10-07 2001-03-13 International Business Machines Corporation Defining characteristics between processing systems
US6230218B1 (en) 1998-10-14 2001-05-08 International Business Machines Corporation Apparatus for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6185631B1 (en) 1998-10-14 2001-02-06 International Business Machines Corporation Program for transferring execution of certain channel functions to a control unit and having means for combining certain commands and data packets in one sequence
US6343335B1 (en) 1998-10-29 2002-01-29 International Business Machines Corporation System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
KR100273641B1 (ko) 1998-11-11 2000-12-15 윤종용 공통 메모리 스위치에서 셀 그룹 처리장치 및 그 처리방법
JP3990833B2 (ja) 1998-12-11 2007-10-17 キヤノン株式会社 通信制御方法及び装置
US6347334B1 (en) 1999-01-06 2002-02-12 Mcdata Corporation Self-description extended link service for networks
US6772207B1 (en) 1999-01-28 2004-08-03 Brocade Communications Systems, Inc. System and method for managing fibre channel switching devices
US6484217B1 (en) 1999-04-20 2002-11-19 International Business Machines Corporation Managing shared devices in a data processing system
US6401223B1 (en) 1999-05-21 2002-06-04 Unisys Corporation Programmable system for invalidating pending requests within a data processing system
US6546435B1 (en) 1999-06-15 2003-04-08 Matsushita Electric Works, Ltd. Portable programming device for supervisory remote control system
US6718139B1 (en) 1999-09-13 2004-04-06 Ciena Corporation Optical fiber ring communication system
US6609165B1 (en) 1999-09-27 2003-08-19 International Business Machines Corporation Method and apparatus for using fibre channel extended link service commands in a point-to-point configuration
US6754185B1 (en) * 1999-09-27 2004-06-22 Koninklijke Philips Electronics N.V. Multi link layer to single physical layer interface in a node of a data communication system
US6651125B2 (en) * 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
JP3349490B2 (ja) * 2000-02-14 2002-11-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 画像表示方法、画像表示システム、ホスト装置、画像表示装置、およびディスプレイ用インターフェイス
US6963910B1 (en) * 2000-03-03 2005-11-08 International Business Machines Corporation Graphical user interface for creating assets
US6584511B1 (en) 2000-03-24 2003-06-24 Unisys Corporation Loop initialization procedure exception handling for fibre channel transmissions
US6963940B1 (en) 2000-03-30 2005-11-08 International Business Machines Corporation Measuring utilization of individual components of channels
US6658603B1 (en) 2000-04-17 2003-12-02 International Business Machines Corporation Method and apparatus for efficiently generating and implementing engine error codes and verifying the correctness of the implementation of the engine error codes
US6594785B1 (en) 2000-04-28 2003-07-15 Unisys Corporation System and method for fault handling and recovery in a multi-processing system having hardware resources shared between multiple partitions
US6862322B1 (en) 2000-05-19 2005-03-01 International Business Machines Corporation Switchable-bandwidth optical receiver
US6609161B1 (en) 2000-06-01 2003-08-19 Adaptec, Inc. Two-dimensional execution queue for host adapters
JP2002016655A (ja) 2000-06-28 2002-01-18 Sony Corp 伝送方法、伝送システム、伝送装置及び伝送制御装置
US6662319B1 (en) 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Special encoding of known bad data
US6694390B1 (en) 2000-09-11 2004-02-17 Intel Corporation Managing bus transaction dependencies
US7292597B2 (en) 2000-09-28 2007-11-06 Teridian Semiconductor Corp. Method and apparatus for transparent implementation of link-suspend capabilities in network devices
US6678748B2 (en) * 2000-09-29 2004-01-13 Emc Corporation Method for optimizing multiple input/output requests to a single logical device
US6697983B1 (en) * 2000-10-24 2004-02-24 At&T Wireless Services, Inc. Data link layer tunneling technique for high-speed data in a noisy wireless environment
US6622268B2 (en) 2000-11-29 2003-09-16 Intel Corp Method and apparatus for propagating error status over an ECC protected channel
US7127514B2 (en) 2000-12-28 2006-10-24 Microsoft Corporation Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
US7155569B2 (en) 2001-02-28 2006-12-26 Lsi Logic Corporation Method for raid striped I/O request generation using a shared scatter gather list
US6834363B2 (en) 2001-03-22 2004-12-21 International Business Machines Corporation Method for prioritizing bus errors
US6898202B2 (en) 2001-06-27 2005-05-24 International Business Machines Corporation Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device
US20030056000A1 (en) 2001-07-26 2003-03-20 Nishan Systems, Inc. Transfer ready frame reordering
US6754738B2 (en) 2001-09-28 2004-06-22 International Business Machines Corporation Low overhead I/O interrupt
US7315911B2 (en) 2005-01-20 2008-01-01 Dot Hill Systems Corporation Method for efficient inter-processor communication in an active-active RAID system using PCI-express links
US6859866B2 (en) 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US6745299B2 (en) 2001-11-19 2004-06-01 Hewlett-Packard Development Company, L.P. Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms
US7599360B2 (en) 2001-12-26 2009-10-06 Cisco Technology, Inc. Methods and apparatus for encapsulating a frame for transmission in a storage area network
US7007142B2 (en) * 2002-02-19 2006-02-28 Intel Corporation Network data storage-related operations
US6898723B2 (en) 2002-04-01 2005-05-24 Mitac International Corp. Method for verifying clock signal frequency of computer sound interface that involves checking whether count value of counter is within tolerable count range
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
JP4704659B2 (ja) * 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US20030208581A1 (en) 2002-05-02 2003-11-06 Behren Paul D. Von Discovery of fabric devices using information from devices and switches
US7120728B2 (en) 2002-07-31 2006-10-10 Brocade Communications Systems, Inc. Hardware-based translating virtualization switch
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US6826661B2 (en) 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures
US20040054776A1 (en) 2002-09-16 2004-03-18 Finisar Corporation Network expert analysis process
US7539777B1 (en) 2002-10-25 2009-05-26 Cisco Technology, Inc. Method and system for network time protocol forwarding
US7080094B2 (en) 2002-10-29 2006-07-18 Lockheed Martin Corporation Hardware accelerated validating parser
US7386704B2 (en) 2002-10-31 2008-06-10 Lockheed Martin Corporation Pipeline accelerator including pipeline circuits in communication via a bus, and related system and method
US7202801B2 (en) 2002-12-11 2007-04-10 Geospatial Technologies, Inc. Method and apparatus for an automated location-based, dynamic notification system (ALDNS)
US7277387B2 (en) 2003-01-30 2007-10-02 Wind River Systems, Inc. Package manager
JP2004252884A (ja) * 2003-02-21 2004-09-09 Ntt Docomo Inc コンテンツ配信変換装置及びコンテンツ配信変換方法
US7324455B2 (en) 2003-03-14 2008-01-29 International Business Machines Corporation Transfer of error-analysis and statistical data in a fibre channel input/output system
US6915378B2 (en) 2003-04-23 2005-07-05 Hypernova Technologies, Inc. Method and system for improving the performance of a processing system
US7085898B2 (en) 2003-05-12 2006-08-01 International Business Machines Corporation Coherency management for a “switchless” distributed shared memory computer system
US7000036B2 (en) 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7058735B2 (en) 2003-06-02 2006-06-06 Emulex Design & Manufacturing Corporation Method and apparatus for local and distributed data memory access (“DMA”) control
TWI271626B (en) 2003-06-17 2007-01-21 Delta Electronics Inc Data transmission method for microprocessors of programmable logic controller
JP2005025481A (ja) * 2003-07-02 2005-01-27 Hitachi Ltd メッセージ通信方法およびその実施計算機システム
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7124207B1 (en) 2003-08-14 2006-10-17 Adaptec, Inc. I2O command and status batching
US7149823B2 (en) 2003-08-29 2006-12-12 Emulex Corporation System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur
CN1864377B (zh) 2003-10-17 2010-09-01 日本电信电话株式会社 邮件投递系统、邮件投递方法
KR20050043426A (ko) 2003-11-06 2005-05-11 삼성전자주식회사 파이프라인 버스 시스템에서 커맨드 전송 방법 및 장치
US20050105456A1 (en) 2003-11-18 2005-05-19 Cookson Christopher J. Double-sided optical disc
US7634582B2 (en) 2003-12-19 2009-12-15 Intel Corporation Method and architecture for optical networking between server and storage area networks
US7564791B2 (en) 2003-12-29 2009-07-21 Intel Corporation Monitoring packet flows
US7382733B2 (en) 2004-02-12 2008-06-03 International Business Machines Corporation Method for handling reordered data packets
US7133988B2 (en) 2004-02-25 2006-11-07 Hitachi, Ltd. Method and apparatus for managing direct I/O to storage systems in virtualization
TWI369616B (en) 2004-02-27 2012-08-01 Eplus Capital Inc System and method for user creation and direction of a rich-content life-cycle
US20050223291A1 (en) 2004-03-24 2005-10-06 Zimmer Vincent J Methods and apparatus to provide an execution mode transition
JP2005293363A (ja) * 2004-04-01 2005-10-20 Toshiba Corp ディスクアレイコントローラおよび情報処理装置
US8171170B2 (en) * 2004-04-30 2012-05-01 Emc Corporation Storage switch task processing synchronization
US7240273B2 (en) 2004-05-13 2007-07-03 Industrial Technology Research Institute Cyclic redundancy check modification for message length detection and error detection
US7555554B2 (en) 2004-08-06 2009-06-30 Microsoft Corporation System and method for generating selectable extension to media transport protocol
US7711871B1 (en) 2004-08-30 2010-05-04 Crossroads Systems, Inc. Interface device and method for command processing
US7443798B2 (en) 2004-09-03 2008-10-28 Agere Systems Inc. Transmit adaptive equalization for communication system with one or more serial data channels
US7577772B2 (en) 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
GB2419198A (en) 2004-10-14 2006-04-19 Hewlett Packard Development Co Identifying performance affecting causes in a data storage system
US7398335B2 (en) 2004-11-22 2008-07-08 Qlogic, Corporation Method and system for DMA optimization in host bus adapters
JP4575119B2 (ja) 2004-11-25 2010-11-04 株式会社日立製作所 ストレージシステム
US7164425B2 (en) 2004-12-21 2007-01-16 Qlogic Corporation Method and system for high speed network application
US7672323B2 (en) 2005-01-14 2010-03-02 Cisco Technology, Inc. Dynamic and intelligent buffer management for SAN extension
US20060167818A1 (en) * 2005-01-21 2006-07-27 David Wentker Methods and system for performing data exchanges related to financial transactions over a public network
US7526633B2 (en) 2005-03-23 2009-04-28 Qualcomm Incorporated Method and system for encoding variable length packets with variable instruction sizes
JP2006277583A (ja) 2005-03-30 2006-10-12 Hitachi Ltd データ処理システム、データ処理方法、及びプログラム
US7970953B2 (en) 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
JP2007058646A (ja) 2005-08-25 2007-03-08 Hitachi Ltd データ処理システム
US20070072543A1 (en) 2005-09-06 2007-03-29 Nokia Corporation Enhanced signaling of pre-configured interaction message in service guide
US7577773B1 (en) 2005-09-09 2009-08-18 Qlogic, Corporation Method and system for DMA optimization
JP4527640B2 (ja) 2005-09-15 2010-08-18 株式会社ソニー・コンピュータエンタテインメント データ読出装置
JP2007122108A (ja) 2005-10-25 2007-05-17 Hitachi Ltd セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御
US7484021B2 (en) 2005-10-27 2009-01-27 Cisco Technology, Inc. Technique for implementing virtual fabric membership assignments for devices in a storage area network
US20070162631A1 (en) 2005-12-28 2007-07-12 International Business Machines Corporation Method for selectable software-hardware internet SCSI
US7594057B1 (en) 2006-01-09 2009-09-22 Qlogic, Corporation Method and system for processing DMA requests
JP2007199975A (ja) 2006-01-26 2007-08-09 Hitachi Ltd データ処理システム及びデータ処理方法
US9032164B2 (en) 2006-02-17 2015-05-12 Emulex Corporation Apparatus for performing storage virtualization
US7743197B2 (en) 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
US20080040519A1 (en) 2006-05-02 2008-02-14 Alacritech, Inc. Network interface device with 10 Gb/s full-duplex transfer rate
US8381214B2 (en) 2006-05-05 2013-02-19 Microsoft Corporation Extensible job submission
US20070266443A1 (en) * 2006-05-12 2007-11-15 Hitachi Global Storage Technologies Netherlands B.V. Certified HDD with network validation
US7826349B2 (en) 2006-05-30 2010-11-02 Intel Corporation Connection management mechanism
US20080043563A1 (en) 2006-08-15 2008-02-21 International Business Machines Corporation Flexibly controlling the transfer of data between input/output devices and memory
US8032581B2 (en) 2006-08-30 2011-10-04 International Business Machines Corporation Persistent information unit pacing
US7500030B2 (en) 2006-08-30 2009-03-03 International Business Machines Corporation Control of information units in fibre channel communications
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7502873B2 (en) 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7797414B2 (en) 2007-01-31 2010-09-14 International Business Machines Corporation Establishing a logical path between servers in a coordinated timing network
US8451809B2 (en) * 2007-04-13 2013-05-28 Hart Communication Foundation Wireless gateway in a process control environment supporting a wireless communication protocol
US7765336B2 (en) 2007-06-11 2010-07-27 Emulex Design & Manufacturing Corporation Autonomous mapping of protected data streams to fibre channel frames
US8020074B2 (en) * 2007-08-24 2011-09-13 Datadirect Networks, Inc. Method for auto-correction of errors in a RAID memory system
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US7904605B2 (en) 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US7908403B2 (en) 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US7840718B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US7840717B2 (en) 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US7917813B2 (en) 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
GB2460841B (en) 2008-06-10 2012-01-11 Virtensys Ltd Methods of providing access to I/O devices
US7983257B2 (en) 2008-07-18 2011-07-19 Emulex Design & Manufacturing Corporation Hardware switch for hypervisors and blade servers
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8055807B2 (en) 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US20100064072A1 (en) 2008-09-09 2010-03-11 Emulex Design & Manufacturing Corporation Dynamically Adjustable Arbitration Scheme
JP5107880B2 (ja) 2008-12-10 2012-12-26 株式会社日立製作所 データ転送処理装置及び方法
CN101551736B (zh) * 2009-05-20 2010-11-03 杭州华三通信技术有限公司 基于地址指针链表的缓存管理装置和方法

Also Published As

Publication number Publication date
KR20100125235A (ko) 2010-11-30
CA2704131C (en) 2017-09-19
CN101946241A (zh) 2011-01-12
BRPI0908823B1 (pt) 2020-02-11
CN101946241B (zh) 2013-08-21
ATE492848T1 (de) 2011-01-15
JP2011512586A (ja) 2011-04-21
JP4917173B2 (ja) 2012-04-18
WO2009101051A1 (en) 2009-08-20
US8312189B2 (en) 2012-11-13
EP2176772B1 (en) 2010-12-22
IL207121A0 (en) 2010-12-30
EP2176772A1 (en) 2010-04-21
IL207121A (en) 2014-01-30
CA2704131A1 (en) 2009-08-20
US20090210571A1 (en) 2009-08-20
BRPI0908823A2 (pt) 2016-09-20
DE602009000464D1 (de) 2011-02-03

Similar Documents

Publication Publication Date Title
KR101190998B1 (ko) 입력/출력 동작을 모니터링하기 위한 데이터 처리
US9298379B2 (en) Bi-directional data transfer within a single I/O operation
US7840718B2 (en) Processing of data to suspend operations in an input/output processing log-out system
KR101242959B1 (ko) I/o 동작의 상태를 결정하기 위한 컴퓨터 명령어 및 응답
US8214562B2 (en) Processing of data to perform system changes in an input/output processing system
KR101242896B1 (ko) I/o 처리 시스템의 채널 서브시스템에서 제어 블록에 대한 간접 데이터 주소지정 제공
US8176222B2 (en) Early termination of an I/O operation in an I/O processing system
US8196149B2 (en) Processing of data to determine compatability in an input/output processing system
KR101231555B1 (ko) 예약된 디바이스 액세스 경쟁을 감소시키기 위한 컴퓨터 판독가능 기록매체, 디바이스, 및 방법
US8166206B2 (en) Cancel instruction and command for determining the state of an I/O operation
US7840717B2 (en) Processing a variable length device command word at a control unit in an I/O processing system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190927

Year of fee payment: 8