IP Library › Granted Patent US 9,983,813
Granted Patent B2
US 9,983,813 · App. 15/242,374 · Granted May 29, 2018

Maintenance of a fabric priority during synchronous copy operations

Inventors: Roger G. Hathorn (Tucson, AZ); Bret W. Holley (Tucson, AZ); Harry M. Yudenfriend (Poughkeepsie, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/0619G06F3/06G06F3/065G06F3/0605G06F3/067G06F15/167G06F17/30581H04L49/00H04L49/357H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,983,813
App. No.
15/242,374
Granted
May 29, 2018
Kind
B2
Abstract

A primary storage controller receives a write command from a host, wherein Fiber Channel frames corresponding to the write command have a priority indicated by the host. The primary storage controller performs a synchronous copy operation to copy data written by the write command from the primary storage controller to a secondary storage controller, wherein Fiber Channel frames corresponding to the synchronous copy operations have an identical priority to the priority indicated by the host.

Claims (54)

1. A method, comprising:

receiving, by a primary storage controller, a write command from a host, wherein frames corresponding to the write command have a priority indicated by the host; and

performing, by the primary storage controller, a synchronous copy operation to copy data written by the write command from the primary storage controller to a secondary storage controller, wherein frames corresponding to the synchronous copy operation have an identical priority to the priority indicated by the host, wherein all frames of all related exchanges pairs that satisfy the write command are set to the identical priority corresponding to the priority indicated by the host, wherein the priority is a fabric priority that is indicated by programming a field in a frame header corresponding to one frame of a communications protocol, wherein an exchange pair is comprised of an inbound exchange and an outbound exchange, wherein each of an inbound and an outbound exchange is comprised of one or more sequences, and wherein each sequence is comprised of one or more frames.

2. The method of claim 1 , wherein the write command is satisfied by:

a first exchange pair to write the data to the primary storage controller;

a second exchange pair to perform the synchronous copy operation; and

a third exchange pair to respond from the primary storage controller to the host that the write command is satisfied, wherein:

frames of the first exchange pair, the second exchange pair, and the third exchange pair all have the identical priority corresponding to the priority indicated by the host.

3. The method of claim 1 , the method further comprising:

recording the priority of the write command in an input/output (I/O) task control block maintained in the primary storage controller; and

copying the recorded priority to a copy services task control block to transfer the recorded priority for the synchronous copy operation.

4. The method of claim 1 , wherein:

the primary storage controller and the secondary storage controller control a plurality of storage devices; and

a fabric comprising one of more switches couples the primary storage controller, the secondary storage controller and the host.

5. The method of claim 4 , the method further comprising:

transmitting, by the fabric, the frames corresponding to the write command according to and with the priority indicated by the host to the primary storage controller; and

transmitting, by the fabric, the frames corresponding to the synchronous copy operation according to and with the identical priority indicated by the primary storage controller to the secondary storage controller.

6. A system comprising a primary storage controller, wherein the primary storage controller is coupled to a host and a secondary storage controller, the system comprising:

a memory; and

a processor coupled to the memory, wherein the processor performs operations, the operations comprising:

receiving, by the primary storage controller, a write command from the host, wherein frames corresponding to the write command have a priority indicated by the host; and

performing, by the primary storage controller, a synchronous copy operation to copy data written by the write command from the primary storage controller to the secondary storage controller, wherein frames corresponding to the synchronous copy operation have an identical priority to the priority indicated by the host, wherein all frames of all related exchanges pairs that satisfy the write command are set to the identical priority corresponding to the priority indicated by the host, wherein the priority is a fabric priority that is indicated by programming a field in a frame header corresponding to one frame of a communications protocol, wherein an exchange pair is comprised of an inbound exchange and an outbound exchange, wherein each of an inbound and an outbound exchange is comprised of one or more sequences, and wherein each sequence is comprised of one or more frames.

7. The system of claim 6 , wherein the write command is satisfied by:

a first exchange pair to write the data to the primary storage controller;

a second exchange pair to perform the synchronous copy operation; and

a third exchange pair to respond from the primary storage controller to the host that the write command is satisfied, wherein:

frames of the first exchange pair, the second exchange pair, and the third exchange pair all have the identical priority corresponding to the priority indicated by the host.

8. The system of claim 6 , the operations further comprising:

recording the priority of the write command in an input/output (I/O) task control block maintained in the primary storage controller; and

copying the recorded priority to a copy services task control block to transfer the recorded priority for the synchronous copy operation.

9. The system of claim 6 , wherein:

the primary storage controller and the secondary storage controller control a plurality of storage devices; and

a fabric comprising one of more switches couples the primary storage controller, the secondary storage controller and the host.

10. The system of claim 9 , the operations further comprising:

transmitting, by the fabric, the frames corresponding to the write command according to and with the priority indicated by the host to the primary storage controller; and

transmitting, by the fabric, the frames corresponding to the synchronous copy operation according to and with the identical priority indicated by the primary storage controller to the secondary storage controller.

11. A computer program product, comprising:

a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to perform operations on a processor, the operations comprising:

receiving, by a primary storage controller, a write command from a host, wherein frames corresponding to the write command have a priority indicated by the host; and

performing, by the primary storage controller, a synchronous copy operation to copy data written by the write command from the primary storage controller to a secondary storage controller, wherein frames corresponding to the synchronous copy operation have an identical priority to the priority indicated by the host, wherein all frames of all related exchanges pairs that satisfy the write command are set to the identical priority corresponding to the priority indicated by the host, wherein the priority is a fabric priority that is indicated by programming a field in a frame header corresponding to one frame of a communications protocol, wherein an exchange pair is comprised of an inbound exchange and an outbound exchange, wherein each of an inbound and an outbound exchange is comprised of one or more sequences, and wherein each sequence is comprised of one or more frames.

12. The computer program product of claim 11 , wherein the write command is satisfied by:

a first exchange pair to write the data to the primary storage controller;

a second exchange pair to perform the synchronous copy operation; and

a third exchange pair to respond from the primary storage controller to the host that the write command is satisfied, wherein:

frames of the first exchange pair, the second exchange pair, and the third exchange pair all have the identical priority corresponding to the priority indicated by the host.

13. The computer program product of claim 11 , the operations further comprising:

recording the priority of the write command in an input/output (I/O) task control block maintained in the primary storage controller; and

copying the recorded priority to a copy services task control block to transfer the recorded priority for the synchronous copy operation.

14. The computer program product of claim 11 , wherein:

the primary storage controller and the secondary storage controller control a plurality of storage devices; and

a fabric comprising one of more switches couples the primary storage controller, the secondary storage controller and the host.

15. The computer program product of claim 14 , the operations further comprising:

transmitting, by the fabric, the frames corresponding to the write command according to and with the priority indicated by the host to the primary storage controller; and

transmitting, by the fabric, the frames corresponding to the synchronous copy operation according to and with the identical priority indicated by the primary storage controller to the secondary storage controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2016
From: HATHORN, ROGER G.; HOLLEY, BRET W.; YUDENFRIEND, HARRY M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039496/0600 →
Continuity (2)
Continuation 14318012 · Jun 27, 2014
Related Publication 20160357468A1 · Dec 8, 2016