Dvds discs have to be read 16 sectors at a time. The PO error correction can only be done on 16 particular consecutive sectors. Not one sector at a time.
IIRC on some drives depending on how large the cache is, the dvd drive will read several consecutive 16-sector blocks into the cache. For example on current LG drives with a 512k cache (ie. GH24NSD0 or D1, etc …) , the drive will fill up the cache with ten 16-sector blocks.
Depending on which scsi read command is used, it gets the data of a particular sector by either reading the cache or do a “force unit access” to read the data directly from the dvd disc itself. IIRC, the generic read command can be satisfied by either method. The “fua” flag turned on will always read directly from the disc itself. The “streaming” flag will read from the cache.