VOGONS


First post, by simon_e_hall

User metadata
Rank Member
Rank
Member

Quick question,

been around the net looking for a definitive answer to this, but without joy.

I have a number of disk controllers with built in cache on them, but the documents with them are fairly poor. I am intrested in how they might work with smartdrv instaled:

Can you/ should you run these with smartdrv? If so what are the joys or nightmares regarding this.

My gut says no, as I was always taught not to run two disk caches at the sametime (but that was two software caches), but I am intrested to see other peoples take on this/ experience, or if there is some documentaiton out there on this.

It is really annoying as older versions of Windows always install smartdrv and I always remove it.

Now this may spark that old debate of which is the better method, at the end of the day on my older builds I love these old cache cards, just because I love them.

Reply 2 of 7, by Babasha

User metadata
Rank Oldbie
Rank
Oldbie

Cache controller accelerates disk operations with hdd plate(s). Ex. read/write whole continuous track(s) not sector(s)
HDD can read 1 track **** sectors, CACHE CONTROLLER can read 1-st, 2-nd ****** sectors

While SMARTDRV (or other cache-utilities) accelerates file-system operations. Ex. read/write file-system components over many non-continuous tracks
SMARTDRV can read 1 track ** file-system clusters, 8 track *** file-system clusters, 63-68 ** file-system clusters

Need help? Begin with photo and model of your hardware 😉

Reply 3 of 7, by vstrakh

User metadata
Rank Member
Rank
Member
Babasha wrote on 2022-11-16, 07:43:

Cache controller accelerates disk operations with hdd plate(s).
..
While SMARTDRV (or other cache-utilities) accelerates file-system operations.

Unrelated but very similar example - the 286 CPU has 6-byte FIFO for instruction bytes, same as the earlier 8086.
But it also has a FIFO for 3 decoded instructions, taking bytes from 6-byte "cache" and producing 3-instruction "cache".
As long as the two caches belong to different stages of data handling process - there's nothing wrong having both active.

Reply 4 of 7, by Zup

User metadata
Rank Oldbie
Rank
Oldbie

There are some things to note:
- Usually, the controller caché size is less than the caché that you can create in RAM (i.e.: via SMARTDRV or the caché included in Windows).
- I really doubt that MS-DOS is aware of the caché in the controller. That means that, if write caché is enabled, that data will be lost on power off...
- ...although most controllers use batteries to back-up caché and try to write the changes on next power on (and they would disable write caché if batteries are non-present or drained).

So, if you're going to configure disk caché on your controller, please do NOT enable write caché unless you're sure that your system is fully aware of that caché and is flushed on power off. SMARTDRV will flush their write cachés when returning to DOS prompt, maybe when Ctrl+Alt+Del is pressed, but never when powering off via the case power switch. The controller would only do it when directed to (or when powering on after an unexpected power off).

I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...

I'm selling some stuff!

Reply 5 of 7, by simon_e_hall

User metadata
Rank Member
Rank
Member
vstrakh wrote on 2022-11-16, 07:56:
Unrelated but very similar example - the 286 CPU has 6-byte FIFO for instruction bytes, same as the earlier 8086. But it also ha […]
Show full quote
Babasha wrote on 2022-11-16, 07:43:

Cache controller accelerates disk operations with hdd plate(s).
..
While SMARTDRV (or other cache-utilities) accelerates file-system operations.

Unrelated but very similar example - the 286 CPU has 6-byte FIFO for instruction bytes, same as the earlier 8086.
But it also has a FIFO for 3 decoded instructions, taking bytes from 6-byte "cache" and producing 3-instruction "cache".
As long as the two caches belong to different stages of data handling process - there's nothing wrong having both active.

Very out the box look at the problem, I like it.

Reply 6 of 7, by simon_e_hall

User metadata
Rank Member
Rank
Member
Zup wrote on 2022-11-16, 15:42:
There are some things to note: - Usually, the controller caché size is less than the caché that you can create in RAM (i.e.: via […]
Show full quote

There are some things to note:
- Usually, the controller caché size is less than the caché that you can create in RAM (i.e.: via SMARTDRV or the caché included in Windows).
- I really doubt that MS-DOS is aware of the caché in the controller. That means that, if write caché is enabled, that data will be lost on power off...
- ...although most controllers use batteries to back-up caché and try to write the changes on next power on (and they would disable write caché if batteries are non-present or drained).

So, if you're going to configure disk caché on your controller, please do NOT enable write caché unless you're sure that your system is fully aware of that caché and is flushed on power off. SMARTDRV will flush their write cachés when returning to DOS prompt, maybe when Ctrl+Alt+Del is pressed, but never when powering off via the case power switch. The controller would only do it when directed to (or when powering on after an unexpected power off).

Something for me to test here as well, if memory recalls I can disable the flush on returning to the prompt through a Smartdrv switch, so might try an experiment (or 20).

Reply 7 of 7, by simon_e_hall

User metadata
Rank Member
Rank
Member

Cool a couple of intresting points there, I have tried seaching old PC magazine archives and PDF manuals on a few controllers and non mention (or have not found yet), if it is advisable or not running a software cache (such as smartdrv) with a hardware controller cache, seems very odd. Or maybe such a niche back in the day it was never covered.

Again, I am happy with how smartdrv works and hardware caches work, it is just has anyone run them both together? Or has any real life experience doing it. I might have to set some time aside and come up with a test for data integrity/ speed etc.