Shadow RAM Failure
Explanation: Shadowing refers to the system copying the contents of ROM code into system RAM to improve performance. The error results from attempts to shadow one or more of the system ROMs which is failing and therefore causing an error.
As discussed in our articles regarding memory (see our Performance Center) and the UMA (Upper Memory Area), ROM and RAM, there is a full 384 KB area of RAM in the UMA. When any addresses in the UMA region are used by ROMs, the RAM underlying them is hidden, although that doesn’t mean that it isn’t used.
One problem with ROMs that are used for the system BIOS and video BIOS, is that they are relatively slow. The access time of ROMs is usually between 120 and 200 ns, compared to system RAM which is typically 50 to 70 ns. In addition, system RAM is accessed 32 bits at a time, while ROMs are usually 16 bits wide. The result of this is that accesses to the BIOS code are very slow relative to accesses to code in the system memory.
Since there is RAM underneath the ROMs, most systems have the ability to “mirror” the ROM code into this RAM to improve performance. This is called ROM Shadowing, and is controlled using a set of BIOS parameters. There is normally a separate parameter to control the shadowing of the system BIOS, the video BIOS and adapter ROM areas.
When shadowing of a region of memory is enabled, at boot time the BIOS copies the contents of the ROM into the underlying RAM, write-protects the RAM and then disables the ROM. To the system the shadow RAM appears as if it is ROM, and it is also write-protected the way ROM is. This write-protection is important to remember, because if you enable shadowing of memory addresses that are being used for RAM, the device using it will cease to function when the RAM can no longer be written to (it is locked out by the shadowing). Some network cards for example use parts of the memory region they occupy for both ROM and RAM functions. Enabling shadowing there will cause the card to hang due to the write-protection. Similarly, you should never turn on shadowing of the regions of memory being used for an EMS frame buffer or for UMBs.
In normal circumstances, the system BIOS and video BIOS are the only areas shadowed. This, in theory, causes problems with some operating systems. There are also rumors of video cards that don’t function correctly when video BIOS shadowing is off, but we haven’t encountered that.
Shadowing of the system BIOS works properly in almost every system. Shadowing of the video card usually works. Shadowing of adapter ROMs only works sometimes, depending on the system and the peripheral. Turning on shadowing may reveal a general problem with the hardware, but usually if shadowing is the only thing causing the problem, the device you are trying to shadow simply isn’t designed to work with it. For example, many adapters use both ROM and RAM in their address spaces, and shadowing will cause these to stop functioning altogether.
Diagnosis: There are various possible reasons for a failure of this sort, from memory problems to incorrect BIOS settings.
Turn off shadowing in the System BIOS.
Notice: Windows® 95, Windows® 98, Windows® NT, Windows® 2000 and Microsoft® Office are registered trademarks or trademarks of the Microsoft Corporation.
All other trademarks are the property of their respective owners.