12.07.2015 Views

SCSI Primary Commands - 2.pdf

SCSI Primary Commands - 2.pdf

SCSI Primary Commands - 2.pdf

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

18 July 2001 T10/1236-D Revision 207.2.7.2 Segment descriptor processingIn processing a segment descriptor, the copy manager may be required:a) To read source data by issuing data input commands to the source device;b) To process data, an operation that generally designates data as destination data intended for transfer tothe destination device; andc) To write some or all of the destination data to the destination device.The number of blocks to read and write, the number of bytes to process, and the nature of processing are determinedby the segment descriptor type code, the parameters of the segment descriptor, and the amount of residualsource or destination data retained from the previous segment, if any.Except as otherwise specified by particular segment descriptor type codes:a) Just enough whole-block read operations shall be performed to supply, together with residual source datafrom the previous segment or segments, the number of bytes to be processed;b) Processing consists of removing bytes from the source data and designating them as destination data,without change.c) As many whole-block write operations as possible shall be performed with the destination data, includingany residual destination data from the previous segment or segments.Any residual source data from the previous segment or segments shall be processed before any data read from thesource device during processing of the current segment descriptor. Any residual destination data from the previoussegment or segments shall be written before any data processed during processing of the current segmentdescriptor.Exceptions and clarifications to these general rules are described in table 29 and the subclauses it references.Table 29 — Descriptor Type Code Dependent Copy Manager Processing (part 1 of 2)Segment Descriptor Type Code Reference Description00h (block→stream) or0Bh (block→stream+application client)02h (block→block) or0Dh (block→block+application client)with DC=002h (block→block) or0Dh (block→block+application client)with DC=101h (stream→block) or0Ch (stream→block+application client)09h (stream→block) 7.2.7.1203h (stream→stream) or0Eh (stream→stream+application client)a7.2.7.3 The number of bytes processed is determined by theBLOCK DEVICE NUMBER OF BLOCKS field for the sourceblocks (see applicable type code definition subclauses7.2.7.5for details). a7.2.7.5 The number of blocks or byte range specified shall beoutput to the destination device. If residual destinationdata is sufficient to perform the output then no datashall be processed. Otherwise, just as much data as7.2.7.3 needed shall be processed (which may involve readingdata from the source device) so that the destinationdata (which includes any residual destination data fromthe previous segment) is sufficient. a7.2.7.6 The number of bytes specified in the segmentdescriptor shall be processed. aFor segment descriptor type codes 0Bh, 0Ch, 0Dh and 0Eh, a copy of the processed data shall also be heldfor retrieval by the application client.dpANS <strong>SCSI</strong> <strong>Primary</strong> <strong>Commands</strong> - 2 (SPC-2) 59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!