Memtest86, e820 Std vs. e820 All

  • Thread starter Thread starter M.H.
  • Start date Start date
M

M.H.

I'm running Memtest86 on another machine, and when running in e820 Std
mode, it goes for so far nearly an hour with no errors. When running in
e820 All mode, it generates thousands of errors within a few minutes.
Is my RAM really that defective, or is e820 All mode not working
properly on my setup? Thanks.
 
M.H. said:
I'm running Memtest86 on another machine, and when running in e820 Std
mode, it goes for so far nearly an hour with no errors. When running in
e820 All mode, it generates thousands of errors within a few minutes.
Is my RAM really that defective, or is e820 All mode not working
properly on my setup? Thanks.

You can get the source code for the program, and perhaps the options you
are using are explained there ?

Paul
 
Paul said:
You can get the source code for the program, and perhaps the options you
are using are explained there ?

Paul
Staring at the source code, I'm guessing the e820 options live in
memsize.c, and that's what is run when you go to config, and hit
navigate to the memsize function. I vaguely understand the gist of it,
but it does not explain how e820 Std and e820 All work in the program,
unless perhaps you have an in-depth understanding of e820 already. I
barely understand (some of) the basics to C, not e820 memory mapping. :-P
 
M.H. said:
I'm running Memtest86 on another machine, and when running in e820 Std
mode, it goes for so far nearly an hour with no errors. When running
in
e820 All mode, it generates thousands of errors within a few minutes.
Is my RAM really that defective, or is e820 All mode not working
properly on my setup? Thanks.


Without having to reboot from the CD-ROM to run memtest to see what
options are available in THAT program, WHICH version of memtest are you
using? Are you using the one from www.memtest.org or the one from
www.memtest86.com? Use the 2nd one.
 
M.H. said:
Staring at the source code, I'm guessing the e820 options live in
memsize.c, and that's what is run when you go to config, and hit
navigate to the memsize function. I vaguely understand the gist of it,
but it does not explain how e820 Std and e820 All work in the program,
unless perhaps you have an in-depth understanding of e820 already. I
barely understand (some of) the basics to C, not e820 memory mapping. :-P

Did you start with the Readme file ? I downloaded

http://www.memtest.org/download/1.70/memtest86+-1.70.tar.gz

and there is a Readme. See section 6. Looks like they
call the BIOS, the BIOS delivers a table of segments, and
then they choose which of those segments to include in the
test.

"The BIOS-All option is more thorough but could be unstable
with some motherboards."

It is also interesting about them mentioning issues above 3GB.
So testing a 4GB config may be problematic as well, in the
sense that the whole memory might not get tested. You would think
in that case, that they could use the Top Of Memory or Top of Memory 2
registers, to figure out where the top is. (But maybe the concept of
Top Of Memory is not standardized, and custom programming per
chipset is not something you'd want to try as a substitute.)

That Readme seems to suggest to me, that "e820" is a service
call to the BIOS. So somewhere, the services that e820 delivers
must be defined. At least one previous service (microcode) was
defined in an Intel architecture document, but I don't know, in
general, where BIOS services are standardized. I cannot imagine
AMI and Award agreeing on anything.

Paul
 
Vanguard said:
Without having to reboot from the CD-ROM to run memtest to see what
options are available in THAT program, WHICH version of memtest are you
using? Are you using the one from www.memtest.org or the one from
www.memtest86.com? Use the 2nd one.
Using the version from Memtest86.com. Wasn't sure what the difference
between memtest86 and memtest86+ was, so just used the original.
 
Paul said:
Did you start with the Readme file ? I downloaded

http://www.memtest.org/download/1.70/memtest86+-1.70.tar.gz

and there is a Readme. See section 6. Looks like they
call the BIOS, the BIOS delivers a table of segments, and
then they choose which of those segments to include in the
test.

"The BIOS-All option is more thorough but could be unstable
with some motherboards."

It is also interesting about them mentioning issues above 3GB.
So testing a 4GB config may be problematic as well, in the
sense that the whole memory might not get tested. You would think
in that case, that they could use the Top Of Memory or Top of Memory 2
registers, to figure out where the top is. (But maybe the concept of
Top Of Memory is not standardized, and custom programming per
chipset is not something you'd want to try as a substitute.)

That Readme seems to suggest to me, that "e820" is a service
call to the BIOS. So somewhere, the services that e820 delivers
must be defined. At least one previous service (microcode) was
defined in an Intel architecture document, but I don't know, in
general, where BIOS services are standardized. I cannot imagine
AMI and Award agreeing on anything.

Paul
I've read the Readme, also available at memtest86.com, Technical Info.
The machine only has 512MB installed, and the motherboard can support
3GB maximum (which makes sense, as anything over 3GB isn't usable to
32-bit Windows, I think?). I understand that e820 is some sort of call
to the BIOS to report memory segments and I think mapping. What I don't
understand is why "e820 Std" works no problem, but "e820 All" generates
thousands and thousands of reported memory errors.
 
M.H. said:
I've read the Readme, also available at memtest86.com, Technical Info.
The machine only has 512MB installed, and the motherboard can support
3GB maximum (which makes sense, as anything over 3GB isn't usable to
32-bit Windows, I think?). I understand that e820 is some sort of call
to the BIOS to report memory segments and I think mapping. What I don't
understand is why "e820 Std" works no problem, but "e820 All" generates
thousands and thousands of reported memory errors.

Because maybe "e820 All" causes a conflict between the BIOS use of memory
and the OS. Say the BIOS stomps on a segment, while it is being tested.

Paul
 
Back
Top