SuperDisk-NT and SuperCache-NT: Super Speed for Your Disk

Give your machine a performance boost using a RAM disk and disk caching software that runs under NT.

John Enck

March 31, 1997

9 Min Read
ITPro Today logo in a gray background | ITPro Today

RAM DISKS AND DISK CACHING CAN CLEARLY INCREASE NT PERFORMANCE

Okay, here's an easy trivia question: What's the slowest device in yourcomputer? No, it's not your fingers on the keyboard or your brain (those partsbelong to you, not your computer). The answer, of course, is your disk drive.Think about it: Your disk drive spins around like a miniature washing machineand employs little robot arms that spastically jump back and forth across thesurface of the medium to read and write your information. This spinning andjumping are slow, mechanical processes that drag in comparison to the electronicspeed of memory and bus access.

Despite its lack of speed, your disk is a crucial component in your system.Your disk contains the software programs you use and the information youmaintain. As an added bonus, Windows NT uses your disk as virtual memory. Diskaccess is on the critical path of several NT functions, so anything you can doto speed disk access results in real-life system performance improvements.

But how can you accelerate disk access? You certainly can't make the diskspin quicker or the arms move faster. However, you can use two time-provenmethods to speed your disk access: RAM disks and disk caching. A RAM disk letsyou carve out a chunk of memory and use it like a disk drive (albeit anincredibly fast disk drive), and disk caching keeps a copy of frequentlyaccessed information in RAM, where you can access it at electronic speed, notmechanical speed.

Can these methods be effective in an NT environment? Let's look at twoproducts that implement RAM disks and disk caching--EEC Systems' SuperDisk-NTand SuperCache-NT--and see whether they can improve performance in an NT system.

Cram That RAM
With a conventional RAM disk, a device driver grabs part of your memory atboot time and uses that memory to emulate a disk drive. The size of the diskdrive the RAM disk emulates is equal to the amount of memory you're willing toassign--for example, a RAM disk takes 10MB of RAM to emulate a 10MB disk. Onceyour RAM disk is running, you can copy programs and files to the RAM disk andrun those programs or read those files from there. You typically copy thesefiles from your hard disk to the RAM disk as part of your logon scriptprocessing.

Notice I said read those files, and not read/write thosefiles. One problem with a RAM disk is that it exists only in memory. If yoursystem loses power or NT crashes (hey, it happens), you lose everything inmemory, including everything on your RAM disk. For this reason, you rarely storedynamic data on a RAM disk. EEC Systems' RAM disk implementation, SuperDisk-NT,has an interesting and viable solution to this problem, RAM disk mirroring,which posts RAM disk updates to a hard disk. But before we get to that, let'slook at SuperDisk-NT's basic operations.

You can download a zipped SuperDisk-NT file from EEC Systems' Web site.When you do, you automatically receive a 30-day evaluation license via email. Iused SuperDisk-NT version 2.2.2 for my testing. After you download the file, youextract the program files from the zipped file and run the setup program, whichcopies the driver software to the NT driver directory and then runs thelicensing and configuration program (sdconfig).

As you see in Screen 1, sdconfig lets you configure the amount of memoryyou want to allocate for your RAM disk (RamDisk-NT size). You must then rebootyour system before your new configuration takes effect. After rebooting, youwill have a new drive type in your My Computer container.

What's the performance advantage of using a RAM disk? The answer depends onhow many programs or how much of one application you can run off a RAM disk. Inmy case, I copied Netscape Navigator 3.0 to my RAM disk and ran it from thereinstead of my hard disk. My load time dropped from 20 seconds to 10 seconds,which is pretty impressive considering Navigator still had to read most of itsconfiguration information (e.g., bookmarks, history files) from the hard disk. Ialso noticed Navigator ran quicker on the RAM disk than from my hard disk,because the RAM disk, instead of my hard disk, satisfied the DLL and plug-incalls.

One SuperDisk-NT feature I was unable to test was its mirroringcapabilities (I did not have a disk partition small enough to match my availablememory). If you create a RAM disk the same size as one of your hard diskpartitions (FAT or NTFS), you can automatically mirror all the information onthat disk partition and automatically intercept reads and writes to thatpartition. When you use the RAM disk in this capacity, the mirror disk assumesthe drive letter of the disk partition, so the mirroring is invisible to you andyour applications. The RAM disk, not the hard disk, satisfies all reads to themirrored partition and writes all changes through to the hard disk. This featureis nice if you can spare enough RAM to mirror one of your partitions or if youcan create a partition small enough for your memory resources to mirror.

I found some minor, but annoying, problems with SuperDisk-NT. First, thesdconfig program doesn't show you the current configuration settings when yourun it--it always displays default values. Therefore, you have no idea what thecurrent settings are unless you peek at the Registry. Second, getting sdconfigto use a memory size other than the default size (24MB in my case, which was toolarge to practically allocate for a RAM disk on my system) is tricky. If you'renot careful, you can end up allocating more memory than you intend to. EECSystems claims to have addressed these problems in its latest release, but I wasunable to verify this claim.

Are these problems enough to keep you from using SuperDisk-NT? I don'tthink so, but they are enough to get on your nerves.

Cache as Cache Can
The second way of speeding disk access is disk caching. This method usesmemory to buffer reads and writes to your hard disk. Caching also includes somepredictive intelligence, so it can read more of the disk than your program asksfor. This scalability means information is already in memory when your programasks. "But wait," I hear you say. "NT already does caching, sowhy do I need another caching program?" NT caches operating system objectsand files. Unfortunately, NT caches lots of information that doesn't necessarilyenhance application performance, and you have little control over NT's cachingparameters. So if you want to cache your application-specific data, you can bebetter off with a separate caching program.

As with SuperDisk-NT, you can download a zipped SuperCache-NT file from EECSystems' Web site. I downloaded and tested version 1.3.2. You can extract thezipped file right away, but you have to wait for a 30-day license to arriveseparately via email--downloading the software automatically generates thislicense as a by-product. After you extract the program files from the zippedfile, you run a setup program that copies the driver software to the NT driverdirectory and then runs the licensing and configuration program (scconfig).

As you see in Screen 2, scconfig lets you configure which drive partitionyou want to cache (SuperCache-NT supports both FAT and NTFS). You must thenreboot your system to put the new configuration into effect. After you reboot,the SuperCache-NT service activates and intercepts read/write requests to thehard disk partition you specified. As with all caching technology, the newlycreated disk cache doesn't provide immediate benefit--you must wait until thecache builds up to the point where it contains frequently accessed information.

I put SuperCache-NT through several mixed input and output tests. Thesetests involved repeated movement of 20MB of files out of and into a directory onthe cached partition and random read/writes to one 20MB file on the cachedpartition. SuperCache-NT reduced disk access time on my system by about 10percent. This reduction might not seem dramatic, but it is a step in the rightdirection. Let me caution you that you may experience better or worseperformance on your system using SuperCache-NT. The effectiveness of your cacherelates directly to how your programs perform disk input and output, so you justhave to see for yourself.

Unfortunately, SuperCache-NT has some important limitations. You can't useit to cache your boot partition or to cache removable media such as Iomega's Zipdrives. These two limitations really restrict where you can deploySuperCache-NT. For example, I have no use for SuperCache-NT on my laptop becauseI have one internal hard disk partition and one external Zip drive. Keep in mindthat the minimum requirement for SuperCache-NT is a system with two hard diskpartitions. (According to EEC Systems, the latest release allows caching of theboot partition.)

As with SuperDisk-NT, I had my share of problems with SuperCache-NT. Themost serious one occurs if you ignore the warnings and configure SuperCache-NTto cache your boot partition. In this case, your system won't come up againafter you reboot (it hangs during the blue screen load process). This problemcan be extremely serious if you don't have another way to boot your system andaccess the NT file structure. I was fortunate to have another NT installation onthe disk, so I could boot the other copy of NT and go in and remove the driverfrom my NTFS partition. I would have been in big trouble, and very angry, if Ihad not had that safety net.

The version of SuperCache-NT I tested also had a serious bug that caused itto hang my system if the memory available was less than the memory SuperCache-NTcalculated it needed to cache my partition. As a result, SuperCache-NT hung mysystem with 32MB of RAM and a 2GB drive, but worked fine on a system with 64MBof RAM and a 2GB drive. EEC Systems assures me it has fixed this problem in thelatest release.

Two less serious, but certainly annoying, problems stem from theconfiguration program. As in the case of SuperDisk-NT, SuperCache-NT doesn'tshow you the current settings for your cache environment; you always see thedefault parameters. As a result, you have no easy way of telling whetherSuperCache-NT is even running. Because the configuration program doesn't tellyou, you have to go into the Devices applet in the Control Panel to learnwhether the SuperCache-NT service is running. Again, EEC says it has addressedthese problems in its latest release.

I find the problems associated with SuperCache-NT to be much more seriousthan the problems I found with SuperDisk-NT. After all, you need to seriouslyconsider whether to use any software that can lock up your system during theboot process. However, if you are an experienced systems administrator and areprepared to recover from this problem, I encourage you to see what SuperCache-NTcan do in your environment.

Speed is Good
SuperDisk-NT and SuperCache-NT offer a means to improve disk accessperformance. EEC Systems wrote both programs as multi-threaded drivers that cantake advantage of multi-processor environments. EEC Systems says its latestreleases of SuperDisk-NT and SuperCache-NT address all the problems Iencountered. On the bottom line, I encourage you to look at both products--just don't test them on production systems. Once you verify that they work withyour hardware configurations, you can deploy them in your production environmentwithout worry.

SuperDisk-NT

EEC Systems * 508-443-5106Web: http://www.eecsys.comPrice: $133 (SuperDisk-NT); $133 (SuperCache-NT)

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like