I have had the idea of a Ultimate CDROM Drive for a while, and now that RAM is very cheap to buy it just might be feasible.

A CD-ROM drive with 800MB of ram on it (as there are 800MB cd's now!). When ever you mount the CD-ROM (Most Operating Systems does this on disk insertion) the CD-ROM drive takes an image of the CD, storing everything from it into the RAM. This way, whenever you do a request on files the cd does not have to respin the cd to find its position as it will be in memory.

I am aware of programs you can get to create an image of a CD on your hard drive and mount it as a virtual CD-ROM drive, but this will not take up any additional space.

This would mean that the speed of accessing the CD's information would be limited to the 33MB/sec restriction on the cable for the CD-ROM Drive and would cut down considerably lookup times on files etc. Which can always be increased by giving it a ATA100 connector.

Some sort of CPU will be needed on the CD-ROM drive but im sure that a low spec processor will do the trick and by now it must be dirt cheap to make them.

Prolly about 16 MB of intelligent read-ahead cache would make more sense for the "Ultimate" CD-ROM. The queueing of the disk to cache would take about four minutes on even the fastest readers, and most (non gaming/music) applications of the CD-ROM are installation. A four minute wait for a three minute improvement on an installation would be, in most folks eyes, unacceptable.

Most of what you consider slow access is likely caused by having to spin the drive up, not access speed. In Half-Life, this reared its ugly head when the music kicked on and paused the game (on my computer) for about 2-3 seconds.

Not only would cache be more efficient (best bang for the buck), but a CD that can hold 650, 700 or 800MB of information actually holds much more in the form of error correction - which is why you'll see ISOs that are apparently larger than the data they hold.

You would need to copy this error info to the memory as well since many copy protection schemes rely on it.

A GB of memory isn't too expensive now, but most cd-rom access is less than a few MB, so it would actually be less effective to spend the 2 minutes or so to copy the entire CD to the memory. It would be better, since HD space is /so/ much cheaper to use a virtual CD program that puts the image on the HD, and simulates one or more CD-ROM drives. Then you are relieved of even the burden of putting the CD into the drive when you want to play.

The original idea expressed on this node is not merely a simple yet massive application of the idea of a RAM disk. That would have its advantages, but it would also have a probably unacceptable extended read-in period during which other system activities would be suspended because of the data bus being used by the conventional CD-ROM drive that lies at the foundation of the virtual device.

This 'ultimate CDROM drive' is not that. This would use its own bank of RAM, not competing for time on the data bus. Then it can be reading in the data while you're doing other things. I mean other things on your computer. The computer won't even realize that the CD-ROM is working away at mirroring the CD on RAM. Sure, it will be a few minutes before the steady-state ultra-rapid access kicks in completely, but in the mean time it won't be slower than otherwise (because it can set aside the reading-in for a few moments to give you a requested page off the CD). After the read-in period it'll be zippy indeed!

Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.