6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Jul 04, 2024 8:56 am

All times are UTC




Post new topic Reply to topic  [ 18 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: A robust RAM test
PostPosted: Mon Aug 27, 2018 3:08 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8239
Location: Midwestern USA
Jeff_Birt wrote:
I would not suggest an exhaustive RAM test as described here as a boot up procedure but rather a diagnostic procedure for an ailing system.

Nor would I. However, it would be useful to be able to determine how much RAM a system has, which means testing the full extent of address space in some fashion. The C-64 did this (the kernel RAMTAS subroutine), although with usually predictable results. In the case of a 65C816 system, a test to determine how much extended RAM is available would be necessary. Otherwise, the operating system wouldn't know how much space it would have to assign to tasks.

Quote:
As far as RAM and decoding logic not failing, it sure does. These are common problems on 30-40 year old systems. Both SRAM and DRAM and the decoding logic do fail and being able to diagnose the problem accurately is important.

Discrete logic seldom fails once past infant mortality. If it does the system is likely going to crash immediately or very soon after power-on.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: A robust RAM test
PostPosted: Mon Aug 27, 2018 7:39 pm 
Offline

Joined: Mon May 21, 2018 8:09 pm
Posts: 1462
I agree that a comprehensive RAM test is useful for diagnostic purposes. This should look for four classes of problem:

1: Single bits stuck on or off. This test should also be able to detect completely missing RAM.

2: Addressing uniqueness. This can be done by writing low-order bytes of addresses to all locations, then verifying them; then repeat for high-order bytes, and on a 24-bit address (or other paging) system, repeat also for bank address. This should be enough to catch errors both internal to a RAM chip, and in external decode logic.

3: Writes to one address "leaking" to other addresses. Testing for this is more complex than the above, and errors of this type are probably rarer.

4: Refresh adequacy - only relevant for DRAMs, not SRAMs. This requires writing some data to the addresses of interest, then purposefully avoiding access to those addresses (or related ones which might provoke a refresh of them) for a while - also known as a "bit fade" test. This covers potential shortcomings in the refresh-generating logic of the support hardware (eg. the BBC Micro had special measures to ensure adequate refresh when in MODE 7, since as that display mode covered only 1KB RAM, fewer addresses were inherently generated by the 6845). It also covers a potential ageing fault of DRAMs.

A much simpler test can be used to determine RAM quantity, given some very minor assumptions such as the minimum size of a RAM device. You really only need to write two values (and verify them) at *one* address to verify that there is RAM at that address, and infer that there is also RAM at addresses related to it (eg. in the same 4KB page, if your RAMs are all 32Kbit or larger). This should be a very fast operation, even if you have potentially several megabytes to check for - and it can be done non-destructively.


Top
 Profile  
Reply with quote  
 Post subject: Re: A robust RAM test
PostPosted: Mon Aug 27, 2018 8:28 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3366
Location: Ontario, Canada
BigDumbDinosaur wrote:
Discrete logic seldom fails once past infant mortality.
Yup. The curve for the failure rate slopes downward after the "infant" phase; then the rate levels off. Just a reminder: much later the failure rate starts slowly going back up again, resulting in what's known as the bathtub curve, shown below in blue. (The Wikipedia graph doesn't specifically pertain to IC failure rates. But I recall seeing a graph which did, and the plot had a much wider, flatter bottom and a gentler upward curve on the right.)
https://en.wikipedia.org/wiki/Bathtub_curve

-- Jeff


Attachments:
bathtub curve.png
bathtub curve.png [ 20.69 KiB | Viewed 1626 times ]

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: