#AMI BIOS & CACHE?
16-Apr-94 09:21:53
Sb: #97417-#AMI BIOS & CACHE?
Fm: John Ellis 72440,3046
To: David Stinnett 70214,774
David,
A standard "read" with "write" enabled, reads and writes to the disk
automatically, the cache being a buffer. This is the default for SMARTDRV for
DOS ver 5.0. With DOS 6 this can be enabled with the /F switch which is also
the default. A "delayed write" can be designated with a /N "writes cached data
when the system is idle." This is the fastest cache but has the greatest risk.
There is also a similar "write" called a "staged write." The staged write is a
timed write, specified by the operator. This is not available with SMARTDRV.
Another delayed write is for SMARTDV; is activated with /C, which is for cached
disks. This not only writes to the cached disk but also insures that the data
is physically written. /N on the other hand will write to the disk but if the
disk is cached, the data stays in the cache until either the drive physically
loads it after a specified time or new data has pushed it through, or a /C
command is instituted by the operator. If you use the /C switch, whenever you
do a control-alt-del it makes sure that data is physically written to the disk.
However if you just power down and have a cached disk, you run the risk of
losing the data. You can also use the /R switch which clears the contents of
the cache, "including writing all write-cached information to disk, and
restarts SMARTDRV." All this stuff is documented in the DOS 6.2 Help file.
Often there is a problem with SMARTDRV, EMM386 with Write enabled and certain
SCSI or EDSI drives. Enabling Double Buffering will solve the problem.
However this is not a problem when one just uses HIMEM.SYS. The obvious
drawback is that your applications have to support extended memory and that
without EMM386 you can't load drivers high unless you use a memory manager like
QEMM.
Fast! Cache has several other options. It can be setup for extended or expanded
memory specifically. It also allows you to do "staged writes."
As every system is different, like some IDE and SCSI controllers have seperate
internal cache built into their controllers, or external cache on their bus
interface cards there is no one solution. Most IDE and SCSI have EDSI built
into their electronics which make them incompatible with SMARTDRV when used
with EMM386 and "write" enabled. Double Buffering may provide a solution. The
other solution is of course to turn "write" off.
-JE