主权项 |
1. A method of executing a Start Subchannel instruction in a computing environment comprising main storage and storage class memory, said method comprising:
based on determining that a subchannel identified by the Start Subchannel instruction is an Asynchronous Data Mover (ADM) subchannel, performing:
obtaining an operation request block from main storage, the operation request block comprising an address of an operation block;based on the address of the operation block, obtaining the operation block from main storage, the operation block consisting of a request block, a response block, and one or more first move specification blocks (MSBs), wherein the request block comprises an MSB count field having a value indicating a number of MSBs associated with a request associated with the operation request block, wherein the response block is configured to hold exception conditions, wherein each first move specification block is configured to include a first operation code field, a first block count field, a first main storage address field, a first storage class memory address field, a first block size field and a first flags field;obtaining a first move specification block of the one or more first move specification blocks, wherein the first flags field of the first move specification block comprises a branch-to-next MSB (BNM) indicator;based on the BNM indicator having a first BNM value, performing an operation based on a first operation code in the obtained first move specification block, the operation being performed on a number of blocks of storage class memory of a size determined by the first block size field, wherein the number of blocks is determined from the first block count field; and
based on the BNM indicator having a second BNM value:
branching to a second non-contiguous MSB located at an address specified by the first main storage address field of the first MSB, wherein the second MSB comprises a second block size field, a second block count field and a second operation code; andperforming an operation based on the second operation code in the obtained second MSB, the operation being performed on a number of blocks of storage class memory of a size determined by the second block size field, wherein the number of blocks is determined from the second block count field. |