I am trying to validate the SCSI commands in our USB drive product, and use
file copy back and forth to create more traffic.
However, I noticed the SCSI read command is passed down to USB device only
the first time read. I think there must be some disk cache enabled. but I
already set the disk policy as "Optimize for quick removal", which, I
believe, is supposed to disable the disk cache.

Anyone has idea how to set up the system to allow me to see every read in
device ?

-Gary

Re: how to disable USB disk cache by Uwe

Uwe
Wed Apr 18 04:38:05 CDT 2007

Gary Li wrote:
> I am trying to validate the SCSI commands in our USB drive product, and use
> file copy back and forth to create more traffic.
> However, I noticed the SCSI read command is passed down to USB device only
> the first time read. I think there must be some disk cache enabled. but I
> already set the disk policy as "Optimize for quick removal", which, I
> believe, is supposed to disable the disk cache.
>
> Anyone has idea how to set up the system to allow me to see every read in
> device ?

These policies have no meaning in most cases. Only the
write caching on FAT/FAT32 formatted non removable drives
is affected. Read caching is always on.

Just use FILE_FLAG_NO_BUFFERING. It really works as long
as there is no NTFS file compression involved.


Uwe

Re: how to disable USB disk cache by garyli

garyli
Sun Apr 22 02:58:00 CDT 2007

Does it mean I have to write my own test software (with
FILE_FLAG_NO_BUFFERING in CreateFile() ?) to generat the repeated read SCSI
command, and no OS utility I can use to generate the traffic ?

-Gary

"Uwe Sieber" wrote:

> Gary Li wrote:
> > I am trying to validate the SCSI commands in our USB drive product, and use
> > file copy back and forth to create more traffic.
> > However, I noticed the SCSI read command is passed down to USB device only
> > the first time read. I think there must be some disk cache enabled. but I
> > already set the disk policy as "Optimize for quick removal", which, I
> > believe, is supposed to disable the disk cache.
> >
> > Anyone has idea how to set up the system to allow me to see every read in
> > device ?
>
> These policies have no meaning in most cases. Only the
> write caching on FAT/FAT32 formatted non removable drives
> is affected. Read caching is always on.
>
> Just use FILE_FLAG_NO_BUFFERING. It really works as long
> as there is no NTFS file compression involved.
>
>
> Uwe
>

Re: how to disable USB disk cache by Uwe

Uwe
Mon Apr 23 05:24:02 CDT 2007


Yes, as far as I know FILE_FLAG_NO_BUFFERING is the only way to
bypass read caching. For a shot test you can try my little ugly
FileCacheTest tool:
http://www.uwe-sieber.de/files/filecachetest.zip


Uwe



Gary Li wrote:
> Does it mean I have to write my own test software (with
> FILE_FLAG_NO_BUFFERING in CreateFile() ?) to generat the repeated read SCSI
> command, and no OS utility I can use to generate the traffic ?
>
> -Gary
>
> "Uwe Sieber" wrote:
>
>> Gary Li wrote:
>>> I am trying to validate the SCSI commands in our USB drive product, and use
>>> file copy back and forth to create more traffic.
>>> However, I noticed the SCSI read command is passed down to USB device only
>>> the first time read. I think there must be some disk cache enabled. but I
>>> already set the disk policy as "Optimize for quick removal", which, I
>>> believe, is supposed to disable the disk cache.
>>>
>>> Anyone has idea how to set up the system to allow me to see every read in
>>> device ?
>> These policies have no meaning in most cases. Only the
>> write caching on FAT/FAT32 formatted non removable drives
>> is affected. Read caching is always on.
>>
>> Just use FILE_FLAG_NO_BUFFERING. It really works as long
>> as there is no NTFS file compression involved.
>>
>>
>> Uwe
>>