SET READ AHEAD comments and questions
Henry.Gabryjelski at microsoft.com
Tue Jul 25 09:47:30 PDT 2006
* From the T10 Reflector (t10 at t10.org), posted by:
* "Henry Gabryjelski" <Henry.Gabryjelski at microsoft.com>
Thank you for your explanation, it is very helpful. Although I understand
that the DVD-Video format allows playback of multi-angle with no
interruption, PC players who play looped A->B video segments, or is playing a
user-selected "highlights" list still required the SET READ AHEAD command.
So, perhaps this command was originally designed for the high-overhead/low
performance system, but also became useful for additional PC-only
To add more detail to the above example, please consider a player unit with a
1x drive (for any media) where the player allows storing of a "highlights" or
"favorite scenes" information for a disc. In this case, the original on-disc
structures will allow seamless playback only until a jump between
non-contiguous areas occurs. For example, consider a disc with three areas
(A->B, C->D, E->F) which a user considers of interest, each of which is only
a portion of a video file:
Playback of A->B, C->D, and E->F will each be seamless when played
individually due to video format requirements. However, attempts to
seamlessly playback all three in order would fail as the drive read-ahead
fills the internal buffer with sectors between B and C (unused), when the
application requires a jump from sector B to sector C. Thus, for an
application or device which wishes to support seamless playback of such a
"highlights" or "favorite scenes", the support SET READ AHEAD is required for
The Microsoft live UDF file system supports defragmentation APIs, and thus an
application may determine the LBA for any given file. This enables the use
of IOCTL_STORAGE_SET_READ_AHEAD even on the new disc formats. So, the use of
the live file system does not prevent the use of the SET READ AHEAD command
From: owner-mtfuji5 at avc-pioneer.com [mailto:owner-mtfuji5 at avc-pioneer.com] On
Behalf Of keiji_katata at post.pioneer.co.jp
Sent: Monday, July 24, 2006 9:06 PM
To: mtfuji5 at avc-pioneer.com
Cc: t10 at t10.org
Subject: Re: SET READ AHEAD comments and questions
if a VOB file transition skipped some space, the 1x drive would be unable to
continue to offer seamless playback without a method for the PC player
software to indicate this transition point.
This is not correct. Many CE players use (had used) 1X playback speed reader
unit. DVD Video format allows such 1X players to play multi-angle view back
as seamless without special buffer control on Reader drive.
SET READ AHEAD command was prepared to guarantee the seamless playback with
high overhead/low performance PC system. At that time, PC system used pure
PIO mode data transfer. CPU read a word from ATAPI port, wrote the word to
MPEG2 decode module. 5.1ch audio decode, Navigation control and DVD CSS
decode were done with PIO data transfer too.
On new media formats, 1X data transfer speed should have some margin as well
as DVD Video format. And already PC drives have 2X data reading speed on the
new media formats. So there is no problem.
New media/video formats use Full file system. Direct sector access scheme
that is used by DVD Video may not be able to used for the new media/video
Does Live UDF support IOCTL_STORAGE_SET_READ_AHEAD to read files?
"Henry Gabryjelski" <Henry.Gabryjelski at microsoft.com>@avc-pioneer.com on
mtfuji5 at avc-pioneer.com$B$KJV?.$7$F$/$@$5$$(J
$BAw?.<T(J: owner-mtfuji5 at avc-pioneer.com
$B08 at h(J: <mtfuji5 at avc-pioneer.com>, <t10 at t10.org>
$B7oL>(J: SET READ AHEAD comments and questions
Microsoft has some questions regarding the current attempt to obsolete the
SET READ AHEAD command. This command is currently exposed in Windows XP (and
later) via IOCTL_STORAGE_SET_READ_AHEAD and IOCTL_DVD_SET_READ_AHEAD.
Our understanding is that this command was created for the first (1x) DVD-ROM
drives so that PC player software would be able to optimize the drive's
read-ahead cache for DVD playback. In particular, most read-ahead cache on
drives at that time would read ahead linearly.
Unfortunately, if a VOB file transition skipped some space, the 1x drive
would be unable to continue to offer seamless playback without a method for
the PC player software to indicate this transition point.
Clearly this optimization is not required any longer for the current DVD-ROM
drive market, as speeds for the drives are now at least 8x read speed for all
drives and can maintain (or "catch up") seamless playback without this
optimization. However, it seems that this optimization may once again be
required for any new format (i.e. the new blue laser disc
formats) which has non-CE hardware produced at 1x speed ("1x drive A/V
Please help us to understand the reasons why this command has been requested
to become obsolete. In addition, if the above "1x drives A/V stream" issue
is already mitigated by other factors, please include this in the reply.
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org
More information about the T10