Minutes of SBP-2/Isochronous Ad-hoc meeting
Stephen Finch/SSI1
Stephen_Finch/SSI1.SSI1 at notes-gw.tus.ssi1.com
Thu Dec 12 10:24:00 PST 1996
* From the SCSI Reflector (scsi at symbios.com), posted by:
* Stephen Finch/SSI1 <Stephen_Finch/SSI1.SSI1 at notes-gw.tus.ssi1.com>
*
Minutes/notes from the SBP-2 Isochronous study meeting held December 10 and 11,
1996 at the Sony facilities in San Jose. This group wishes to thank Sony for
providing both the meeting facilities and beverages and snacks for breaks.
This meeting was an open, ad-hoc meeting which was established via X3T10. The
purpose of the meeting is to determine a common understanding of isochronous
transfers in the 1394 environment from which we can move forward.
Attendance:
Richard Mourn Symbios Logic richard.mourn at symbios.com
Peter Johansson Congruent Software pjohansson at aol.com
Ron Roberts Apple rkroberts at aol.com
Joe Wach Seagate joe_wach at notes.seagate.com
Steven W. Brown Firefly swb at fireflyinc.com
Hugh Curley Knowledgetek hcurley at indra.com
Pete McLean Maxtor pete_mclean at maxtor.com
John Fuller Microsoft jfuller at microsoft.com
Steve Finch Silicon Systems Inc steve.finch at tus.ssi1.com
Mike McMurdie Adaptec mcmurdie at corp.adaptec.com
Dave Evans Symbios Logic dave.evans at symbios.com
Hisato Shima Sony shima at ssl.sel.sony.com
John Packer Adaptec john_packer at corp.adaptec.com
Peter Johansson agreed to act as chair of the meeting. Steve Finch agreed to
take notes.
It was agreed that there is a need to educate the others within the storage
industry about Isochronous Transfers on 1394. It was agreed that it would be
helpful to provide basic tutorial at the January 20-21, 1997 X3T10 SBP-2
Working Group. Estimated length for this tutorial is 1 hour. Hugh Curley of
KnowledgeTek volunteered to be the presenter and to put together such a
presentation.
Today, isochronous transfers are being used by consumer A/V devices. IEC-1883
defines the isochronous protocol used in consumer A/V devices. Includes
Function Control Protocol (FCP).
AV/C is a 1394 TA Specification describing some protocol and command set for
DVCR (camcorder).
The existing SBP-2 draft has a set of commands addressing isochronous
transfers. The isochronous sections have, by common consent of the working
group, been largely ignored in preference to addressing the more immediate
needs of asynchronous transfers in the storage arena.
A lively and informative discussion about isochronous transfers, capabilities,
restrictions and usage ensued. The following information found its way onto
various papers, white boards and overheads, all hand drawn and often radically
modified on the fly. An attempt was made to capture the final state of each
page.
==========================================================
First Paper Sheet was an attempt to see where isochronous transfers were used
and what issues existed:
PRODUCTS:
ISOCH Playback device
ISOCH Record device
Question: Raw storage or file system storage or both
<<editors note: Raw storage meant record and play back without the ability to
provide random access to the data. Random access is used needed for
applications to make use of the recorded data, such as in editing. File
system access is how storage is used today in computer systems.)
----------------------------------
DESIGN GOALS:
Multiple streams
Robustness across bus resets
Continued support of PCRs (Plug Control Registers) to maintain compatibility
with A/V equipment.
If so, how is this managed
Concurrent asynchronous and isochronous activity
permit isolation of functions to enable various performance levels of storage
devices
async only
isoch only
async and isoch without concurrency
multiple isoch channels
multiple isoch and async concurrency
levels of bandwidth supported
Support of Common Isochronous Packet (CIP) or other generic packets
format needs enough inf. for off-line edits
==========================================================
Second Paper Sheet:
Issues:
ERROR REPORTING/RECOVERY
running of not
CHUNK SIZE
login??
command??
elsewhere??
<editors note: Chunk size was a term used to describe many things at the
meeting. Its definition seemed to changed depending on who was talking and
what was being discussed (at least to this observer). The final definition
seemed to be: that size that the host computer must meet of exceeds on every
ORB sent to the isochronous task set control engine. See min_transfer_length as
presently defined by SBP-2>
==========================================================
First White Board:
Attempt to define the typical startup and usage of an isochronous storage
device in record mode:
Isoch Login:
---> rate (affects max. aggregate payload)
---> # channels
<--- chunk size
async read --->
+---------+
| |
| v
| check stream ready
| |
+---------+
STREAM CONTROL STREAM TASK SET
------------------ -----------------
a) stream GO b) Read
: read
: read
stream STOP
==========================================================
Second White Board:
The data stream could look like:
cycle start
ch1, length n1
ch7, length n2
ch63, length n3
other channels
async traffic
cycle start
ch1, length n4
ch7, length n5/n5A ; original size was n5, and this
; size of data was originally
; recorded, but the size was changed
; to n5A during editing. n5A could
; be larger or smaller than the
; original n5
ch63, length n6
other channels
async traffic
cycle start
ch1, length n7
ch63, length n9 ; note: channel 7 missing
other channels
async traffic
cycle start
ch1, length n10
ch7, length n11
ch63, length n12
other channels
async traffic
Key points:
1. What is played back is what was recorded: a sequence of packets. For this
sequence to useful, it must maintain the (time based) order and size of the
packets. If no edits are applied, play back must be the same as what was
recorded. The device can not change the size or content of the packet, nor
affect the time ordered delivery of the data.
2. A stream can consist of multiple channels of related data (e.g., one video
and two audio channels) and may be a subset of all channels currently active on
the bus. The terms STREAM and CHANNEL have separate meanings.
3. The talker places a packet on the bus for each isochronous cycle, although
the listener may not see it. The packet for a channel could be missing due to a
transmission error (packets with bad CRC are thrown away) and this could occur
on arbitrary cycles.
4. We need to allow for editing of data for one or more channels and these
edits could result in less/more data than originally recorded. These changes
could effectively change the chunk size of the data recorded. These issues
must be dealt with by our solution.
==========================================================
Summary of other key points covered in the discussions:
1. The storage device will need to add information (headers) to the stream
data during the recording process to facilitate playback. The headers
envisioned include:
cycle start
packet data
null packet (some questioned the need)
2. These headers must defined in standards to allow:
a. applications to access and modify the stream data
b. interchangeable media to be recorded on one manufactures device and played
back on anothers.
3. There was an issue raised regarding error tolerance. A key point to keep
in mind is that delays of data are just as serious a problem as bad data, and
possibly even worse. It was pointed out that some A/V-tuned disk drives have
modes of operation which can be invoked to minimize delays in data delivery.
One is the ability to disable re-reads (and associated rotational delays) as a
form of error recovery, selecting instead to deliver data which may contain
errors. The problem envisioned was if error retries are disabled and such an
error were to occur it is possible that the portion of the sector which was in
fact in error was a size value in one of the control fields (CIPs) inserted
into the data stream by the recording device. Since the size fields are used
to determine the location of the next CIP, if a size field is corrupted it
might not be possible to re-establish CIP positioning and the results could be
that we would be unable to continue playback at all. It was agreed by all that
this must be addressed. Several ideas were kicked around, but no decision was
made.
END DAY 1.
Started a review of sections in SBP-2 that deal with isochronous transfers.
Discussion went to discussion of how a disk is used in a camera-only
environment and then moved to a computer system (editing, etc.). Desire is for
disk to be usable in this mode AND as a standard disk drive. Two types of disk
drive is not acceptable.
Isoch Login changed to Create Stream. Discussed streams as unidirectional
(previously stated, but made clear to group)
The group reviewed the sections of SBP-2 that relate to isochronous operation.
Many changes were suggested that the editor agreed to make, but most of these
changes were not of a major nature (i.e., were more of the nature of
clarifications and editorial changes). Those that might be of significance
include:
1. All of section 12.1 will be replaced with a few paragraphs and a pointer to
1394A which will have all of the plug control descriptions.
2. Add a figure which provides a basis of description of streams. Such
diagram has possibly new names for stream controller and stream command
processing. This was based on a lively discussion resulting in general
agreement that the new diagram and change in names will add a lot of clarity to
the document without changing any functionality.
A general discussion of errors and recover/notification occurred. A basic
foundation was tentatively agreed to, but no modifications to the document were
discussed.
*
* For SCSI Reflector information, send a message with
* 'info scsi' (no quotes) in the message body to majordomo at symbios.com
More information about the T10
mailing list