CompuServe Messages

#AMI BIOS & CACHE?

    16-Apr-94 09:21:53
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