[rescue] Nano-tech storage (was: Tape drive woes)

Francisco Javier Mesa-Martinez lefa at ucsc.edu
Tue Sep 14 20:44:22 CDT 2004

On Tue, 14 Sep 2004, Sheldon T. Hall wrote:

> Actually I was thinking that "paging" would just go away.  If all the
> storage is the same speed (essentially RAM in today's paradigm) there
> wouldn't be any point.  The purpose of paging, as I understand it, is to
> keep in fast storage (RAM) the stuff currently in use, and let the stuff
> you're not using live on the slower storage (disk).  If you back up to tape,
> you can think of that as an even slower paging device.

Not necessarily, paging allows mostly for an easier way of dealing with
multiprogramming/multiuser environments. Since you can keep pointers to
pages in your TLB which is a definite space and access time savings, since
you just keep ranges in your translation rather than specific collection of pointers.
Having a single physical and logical chunk of memory would be useful only
for single programmed archiectures really, unless you wanted to do some
pseudo protection mechanism, but the software overhead would be
significant and rather flimsy (it has been done before though). Virtual
memory is sometimes misunderstood as a ways to increase the memory
available to a single process, but in fact is mostly a mehcanism for
allowing multiple processes to share the computational resources
present in a single machine. Without paging your translation tables even
for a moderate number of processes would grow rather large and would end
up taking a considerable space out of your storage.

The problem is that memory will never be as fast as the CPU, and even if
it is close you still have to leave the processor, which is costly in
terms of latency. So memory hierarchies will be present for a long time,
starting with registers, then cache, and then RAM. The main problem with
video memory integration is that the reduced number of ports that a normal
RAM bank has, and thus even though it is possible to do a shared video/RAM
architecture (the O2 for example), you end up with a penalty in the
overall performance. And that video ram is still mostly texture and other
information memory, most graphics susbsystems still keep some fast
multiported video ram for the frame buffer near the display HW. SGI found
that the hard way. You can check the performance between an O2 and an
Octane using the same processor...

> So ... if all your storage, i.e. what's now main-RAM, video RAM, and disk,
> is one big hunk of solid state nano-whatever, you wouldn't need paging or
> separate video memory.  The area of memory set aside for video could expand
> or contract as needed, simply by the OS moving some border pointer or
> something.  If you weren't using the video on the machine, that memory would
> be used as main-RAM. You wouldn't even need to "load" stuff into memory from
> "disk," as it would already be there and could be manipulated directly where
> it is, at least on single-user computers.  Even on multi-user machines,
> "loading" stuff would just be a memory-to-memory copy operation ... or maybe
> the OS will just keep a diff of the "copies" of the file used by different
> processes.

The abstractions used in today's systems work wether your are using a
large unified memory or a small fast memory coupled with non solid state
storage. Paging allows for all those mechanisms... The problem is that
things are not modified even if they are in memory, as far as the computer
is concerned its only real active storage are the registers. The rest of
the memory whether it is in RAM or HDD or even tape is really irelevant,
even if all your data was in RAM and no need for HDD would ever arouse you
could still function almos optimally with the current architectures of HW
and OS. :)

> Of course, I don't design computers, although I have used 'em for quite some
> years, so I may have this all wrong.

Don't worry, as usual the devil are in the details. And most of the
computer architecture is actually a reinvention of the wheel, in this case
the IBM Stretch :).

More information about the rescue mailing list