A GUIDE TO MEMORY TESTING AND ERRORS
Most people we talk to who used DOS diagnostics
are aware that those utilities are often inaccurate when testing
memory, and are actually unable to test certain areas of the
memory.
Normally the OS assigns a block of memory
to an application, which can play around within that block
by using logical addressing. The application knows where specific
contents are relative to the other contents of the block,
but it doesn’t know where the block is physically located
in memory, which makes it very difficult to know just which
chip or module is at fault when an error occurs.
To complicate things even more, most systems
use a cache, which stores the RAM contents being currently
used by the CPU in order to provide faster access to those
contents. When a memory test writes to memory and then reads
back different data, did the error occur in the RAM or in
the cache?
Microscope will test all Base, Extended,
Expanded and all Cache memory. On the memory test it will
tell you the beginning and ending address, the block that
is being tested, and the segment within the block that failed.
This way you know that bank Zero,
module one of SIMM is the failure. Because you
did that test outside of DOS you know it’s a hardware
failure and not a software one.
So, while most of the time when Windows freezes
up it’s the fault of Windows itself, sometimes though
it’s not the software but the hardware, and in those
cases the memory is almost always the culprit.
Fortunately, the Micro-Scope diagnostic software
is an excellent tool to figure out which is which.
Below is an overview on memory errors,
giving you the most likely reason for each failure, so that
you can quickly pin point a solution.
MEMORY ERRORS
AND TESTING
Screen –
Memory Tests
BASE MEMORY
TESTS
Refresh Errors – If
a refresh error occurs while testing Base Memory, the memory
controller or the PIT chip are the likely suspects.
Data Errors – Indicates
a failure of a memory chip. The segment, offset, expected
data, received data and XOR are given. The XOR is all bits
within the offset that failed.
Address Errors – The
failing address line will be indicated on the screen. This
could be due to a bad trace or buffer circuit on the motherboard,
or in some cases by a defective SIMM or DIMM.
Parity Errors – Almost
always a failure of the memory chip. The segment, offset,
expected data, received data and XOR are provided.
CACHE MEMORY
A Cache Memory failure could
be either the static RAM or the Cache Controller. The segment
within the cache, the offset, expected data, received data
and XOR are given. The XOR is all bits that failed within
the given offset.
The Cache Memory tests are functionally the
same as those for Extended Memory, except that the cache is
not flushed during the test.
EXPANDED MEMORY
Note: To properly perform
the Expanded Memory tests, first perform a warm boot so that
the EMM drivers are loaded.
Page Frame – This
error indicates that the page frame (block within Base Memory)
could not be allocated. Try changing the page frame in the
Expanded Memory software setup, since this area may be used
by another device or program.
Number of Pages –
This error indicates that the number of pages allocated by
the Expanded Memory driver is incorrect.
EMM Version – If this
error occurs, the expected version of the EMM driver could
not be detected by the diagnostic.
Handles and Allocation of Memory
– This error indicates the Expanded Memory
driver is unable to allocate a memory block. Reduce the number
of handles and try again.
Map Memory to Physical Memory
– The EMM driver could not allocate a memory block.
Either the memory block is being used or the EMM driver is
failing.
Compare Memory – This
error means there was a failure of the Compare performed on
the data written to memory. Test the indicated area as Extended
Memory.
De-allocate Memory –
This error will occur if the EMM driver cannot de-allocate
a block of memory, and indicates a failure of the EMMdriver.
Conform that the EMM driver has been loaded with a warm boot.
Refresh Error – There
is either a failure in the refresh circuitry or the EMM driver
is not addressing the correct location where data was written
prior to this error occurring. Use the Extended Memory test
to verify this error.
EXTENDED MEMORY ERRORS
Unlike expanded
memory, the Extended Memory tests will NOT run if the EMM
drivers are loaded. Always do a cold boot to Micro-Scope’s
own operating system before testing Extended Memory.
All Extended Memory tests will state the Offset from 1 Megabyte,
the Segment, the EXP (expected data), REC (received data)
and an XOR (the failing bit). Use the Offset to determine
the bank in which the failure occurred, the Segment to determine
the 64K block within the bank, and the XOR to determine the
specific bits that are failing.
For example:
| Offset = |
0001 First megabyte beyond
1MB. |
| Segment = |
1000 Second 64K block in Offset. |
| XOR = |
10 Bit 4 is failing. |
The
actual memory segment may be affected by the computer’s
paging layout.
Refresh Error – Either
an intermittent error is occurring at the given location,
or the refresh circuitry for the memory is failing. If this
error occurs at different locations each time, the fault is
in the refresh circuits.
Parity – The memory
location indicated has a defective parity cell.
Data Bit Error – The
Data Received does not match the Data Expected for the given
location. The XOR will show the conflicting bit(s).
A20 Line Not Open – The
keyboard controller would not allow the CPU to enter Protected
Mode. Either the keyboard controller chip is malfunctioning
or the A20 line is defective.
Note: Faster Tests Available
Extended Memory has long
and short versions for the Bit test and the Grid test. The
reason the long versions are so time-consuming is because
of the need to flush the cache after each step to ensure that
the test is looking at RAM rather than the cache.
If the cache is disabled in CMOS, these same
tests can be run from the Cache Memory Tests menu, but will
take place in RAM since cache is disabled. In this way, the
tests will be completed in a much shorter amount of time.
The cache must be re-enabled once the tests are completed.
However, to use Micro-Scope to its best advantage,
it helps to understand not only the various Microscope tests,
but also the different types of memory error. There is a lot
to say on the topic, so for more in depth information on memory
errors and some data about memory testing in general CLICK
HERE.
MICRO-SCOPE
AND DATA RECOVERY
HOW
TO CREATE AUTOMATED BATCH TESTS
USING
MICRO-SCOPE TO REMOVE VIRUSES
Recent Review:
"In
the service business, time is money. The Micro2000 Universal
Diagnostic Toolkit is worth its weight in gold for any service
company. The cost of the product is quickly recovered because
of faster turn around time when fixing problem systems. The
product also helps control business costs simply because technicians
are more accurately diagnosing what parts they require for
system repairs." Compunotes
Click on the FEATURES link above for a full listing
of all the features!
- Works on all Intel compatible computers.
- Operating system independent.
- LAN Card Testing.
- Unlimited memory testing.
- Multi-processor testing.
- Much more...
Platforms Supported - Micro-Scope runs on ANY PC with
an Intel or Intel compatible processor (from 386/486 to the
latest Pentium, AMD and Cyrix CPUs), with ISA, EISA, PCI,
PCMCIA, Plug & Play, and hosting any operating system including
all Windows versions, DOS, OS2, Linux and UNIX.
|