Data Maps and the NV Ram

In all the current applications of ROCS, static data tables are required to initialize and configure the system. In the simplest case, this is a mapping of the external N-Value to an internal channel number. Although these tables are loaded by commands they need to be stored in such a way that,

they are held in non-volatile storage so that they can be made available as the system is initialized.
the resulting data need to be made available to any process that requires it

Although the tables could be held in files, the fact that the PowerPC is diskless would mean a continual reliance on the NFS subsystem. It was therefore decided to make use of non-volatile (battery backed) RAM to hold these tables. There are two possibilities here, the SAC card has sockets for 512Kb of memory and a battery. Unfortunately though the card is an old design which is only writable in 8 and 16 bit quantities. Because of this, several implementations have opted to use a separate Themis TSVME 206 card containing 2Mb of battery backed RAM.

It should be noted that this RAM is only available to the rocsfe program which uses the data to autostart the system. Data that is to be made generally available is stored in maps in shared memory and will be detailed in a subsequent section. These maps may contain data from several of the tables. For example, the ROCS/Mugef implementation combines all the tables which are indexed by N-Value into a single NVMap.