RAMEXAM PRESS RELEASE ===================== AVOID BEING BITTEN BY A BAD BYTE Few components in your PC are as crucial to its operation as memory and the hardware that manages memory. Defective memory can cause data loss, prevent your monitor from displaying properly or even cause your hard disk to crash. Every element in your system depends on RAM (random access memory). Unfortunately, RAM fails and when it does, lost work is an inevitable result. In the case of RAM failure, prevention is the only medicine. This document was created to help you understand the role that RAM plays, why it fails and how to take the steps necessary to prevent the loss of work that usually accompanies a RAM failure. WHAT IS MEMORY? The words "computer memory" are ambiguous. They are often used to describe fixed and floppy disk storage, system and adapter "read only memory" (ROM), video adapter "random access memory" (RAM) and so on. For the purpose of this document, the term "computer memory" (or just "memory") refers to the row or rows of system RAM chips that exist somewhere in your PC. This is the memory in which your software runs. The capacity of PC memory to store information is measured in bytes. A typical PC today comes standard with several megabytes of RAM. A megabyte equals one million bytes (actually 1,048,576) - approximately the amount of memory needed to hold the text for a 600 page paperback novel. Each byte on an IBM compatible system contains eight bits. This means that the average PC with four megabytes of RAM has over 33 million bits -- each one ready and waiting for your valuable information. Let's take a look at just one bit of memory. Each bit "holds" one of two values -- 0 or 1 -- depending on its electrical state. All the information in your PC amounts to nothing more than a series of bits. For example, the word "memory" has six characters, each represented as a byte in memory, for a total of 48 bits of information: 01101101 01100101 01101101 01101111 01110010 01111001 m e m o r y Each bit is significant. What would happen if the last bit was stored in a defective memory chip and was stuck as zero? The new word would be "memorx". And if your software program got loaded into the defective bit then there is a very good chance your system would crash. Your PC operates on the assumption that each bit (all 33 million in the above example) functions perfectly every time you use your PC. WHY MEMORY FAILS People expect most machines to break eventually. We look at all the moving parts -- think about hard drives spinning rapidly for hours on end, car engines running for thousands of miles -- and we know that eventually the machine will stop working. We see it happen every day. Why, then, should we be so surprised to learn that system memory fails also? RAM itself may not spin, chug or move, but it is acted upon in countless ways -- ways that, given RAM's fragile nature, can have devastating effects. In addition to faulty RAM, errors may occur due to faults in the memory subsystem - the hardware that manages the RAM. Unfortunately, there is no way for software to determine the difference between defective RAM and a defective memory subsystem. The causes for failure, though, are the same. Here are some of the most common (though by no means all) causes of system memory failure: Static Electricity If you have opened your personal computer then you know that under the metal case are relatively vulnerable electronics. Brushing against system RAM while carrying even the slightest static charge can destroy a chip by subjecting the it to momentary discharges of excessive electricity. Power Surges (large and small) We all know about the devastating effect lightning can have on a PC. While a $20 surge protector may reduce risk, it does not eliminate it. In fact, power brown-outs -- where power levels dip momentarily (because somebody upstairs just started their blow dryer) -- are not handled by most surge protectors and can be just as damaging over time as surges. Actually, your PC is hit with a power surge every time it is turned on and electricity rushes into the cold system. Even when these brown-outs and surges do not cause immediate problems, they stress the semiconductor chips, which has a cumulative damaging effect. Dust, Smoke and Pet Hair Did you ever wonder why the television is usually the dustiest spot in the house? Dust and other air impurities are attracted by the electrical charge inside appliances like your TV and PC where they settle. Over time, these materials can build up enough to carry electrical charges and "short" the PC's circuitry. The dust also forms a blanket, diminishing the electronics' ability to release heat and stay cool. This results in heat stress and additional potential damage. Changes in Temperature Put your hand on the back of a PC that has been running for several hours. It is very warm. As with all things, PC components expand when their temperatures increase. Components of different materials (like the metal RAM prongs and the plastic material they are attached to) expand and contract at different rates. Listen closely to your PC creak when turned off after hours of use. This expansion and contraction can, over time, stress the system RAM as well as the connections between the RAM and the other components. Though we can take precautions, there are no guaranteed methods for eliminating all chances of memory error. What we can do, though, is minimize our chances of losing work because of defective memory by using RAMexam to test for it regularly. WHAT IS RAMEXAM? RAMexam is a sophisticated, yet easy to use, software utility that tests system RAM and identifies defective memory before it leads to lost work and data. While the causes of memory failure are many, the types of RAM failure are few. RAMexam operates using the knowledge of these limited (but not singular) ways that memory fails. Currently available, general-purpose diagnostic software always implements less sophisticated algorithms that can miss errors, including situations where bits are unreliable only when other bits hold specific values. Under such circumstances there is no assurance that memory errors will be detected: "Traditional tests include many well-known tests such as GALPAT, checkerboard, sliding diagonal, etc. (Breuer, 1976). These tests were not based on a fault model (such as the stuck-at, coupling or pattern sensitive fault models); consequently, their quality, in terms of fault coverage, cannot be proved." (1) Additionally, "The RAM test algorithms [of the types implemented in RAMexam] are more effective than the traditional tests (such as Zero-One) which are still often used. The new algorithms are superior in terms of the required execution time as well as the degree of fault coverage... Zero-One and Checkerboard [tests] have a very questionable fault coverage." (2) RAMexam uses an underlying consistent fault model to detect RAM errors efficiently even in complex, multiple fault situations. Using sophisticated strategies of writing and reading bit patterns in memory -- where each strategy targets a specific type of failure -- RAMexam provides faster and more effective testing. Here is a description of the categories of failures for which RAMexam tests: Stuck-At Fault: One or more bits retains the value that exists in the memory when the system boots, regardless of attempts to write new values into the memory. Transition Fault: Once changed, the value in the defective bit becomes stuck-at. Unlinked Inversion: A bit changes spontaneously and erroneously as the result of change to a bit elsewhere in memory. Linked Inversion: A bit changes spontaneously and erroneously as the result of changes to two or more bits elsewhere in memory. Unlinked Idempotent: A bit becomes stuck-at as the result of a change to a bit elsewhere in memory. Linked Idempotent: A bit becomes stuck-at as the result of changes to two or more bits elsewhere in memory. RAMexam detects singular and multiple (coupled) occurrences of the above errors. WAYS TO USE RAMEXAM RAMexam may be used several ways: * You can run RAMexam every time you boot your system by including RAMexam in your AUTOEXEC.BAT. When running RAMexam this way, you should use the command line switch for a "Quick" test. Running RAMexam at system start-up will add between a few seconds and a few minutes to the time it takes to boot your system, depending on how much memory you have and the speed of your system. RAMexam includes RSetup, a utility that can configure your system testing automatically. * You can run RAMexam as often as you like from the DOS prompt. RAMexam's interactive interface and on-line help make it easy to choose the appropriate test. * RAMexam can test only available memory (you wouldn't want a memory tester to write through existing data in memory). You can use RAMexam for more extensive testing by running it on a "clean" system without resident software such as disk caches, RAM disks and memory managers active. Running RAMexam with no other software active is the most effective way to test your system. The MAKEBOOT program, which is included with RAMexam, will create a bootable diskette for this purpose. This provides an easy way to test your system memory fully. A WORD ABOUT WINDOWS & MEMORY TESTING When Microsoft Windows starts up one of the first things it does is to grab almost every available byte of system memory. Conventional memory, high DOS memory (UMBs) and extended memory are all allocated. Windows users should be especially zealous about doing periodic RAM testing because Windows is one of the few applications to use the multiple megabytes of RAM on most systems. Frequently, a system will run without incident until Windows loads -- at which point Windows accesses a byte of defective RAM that previously had not been used. RAM testing is an effective pre-treatment because it allows you to find the defective RAM before Windows trips on it. MS-DOS 6.2 MEMORY TESTING Microsoft recently acknowledged the need to test system memory regularly. The extended memory provider (HIMEM.SYS) that is included in MS-DOS 6.2 and later includes a basic memory test. Unfortunately, DOS's memory test has the following limitations: * It performs only a single, basic test that can only detect the simplest errors, which are likely to be found earlier by the system's power-on-self-test * It tests only extended memory, not conventional memory. * It includes no scheduling capability. * The only way to invoke the test is to reboot the system. The inclusion of the test within the operating system, though, supports the premise that RAM does fail and the only way to avoid lost work is to take preventive steps, including RAM testing. A NOTE FOR OS/2 USERS RAMexam can test the memory on systems that run OS/2 -- in fact RAMexam will test RAM on any Intel 386, 486 or Pentium compatible microprocessor regardless of the operating system. The user will need access to a system running DOS so that they can first install RAMexam on that system and use MAKEBOOT.COM to create a bootable test diskette. (MAKEBOOT will not run in an OS/2 DOS session because OS/2 does not support the necessary DOS SYS.COM command.) Once created, the diskette can be used to test any Intel 386 compatible or above based system. HOW TO AVOID MEMORY ERRORS As with most of life, a byte of prevention is worth a megabyte of cure. Maintaining a proper environment for your PC can significantly reduce the chance of memory failure. Here are some tips: * Work in a dust-free environment. * Keep pets away from computer work areas. * Do not smoke in the same room as your PC. * Plug your PC into its own electrical circuit. * Use a surge protector or, even better, an uninterruptable power supply (UPS). * If you use a modem or fax board, make sure that you use a telephone line surge protector. * Always use a grounding cable when opening your PC. Even with these precautions, there is no guarantee that RAM will not fail. RAM testing, though, will significantly reduce the risk of losing work to defective RAM. CONCLUSION Trusting your documents to a personal computer can be risky. Hard disks crash, viruses strike and RAM fails. The risk of suffering serious setbacks, though, can be substantially reduced by taking easy precautions. Just as you would back-up your hard disk and run an anti-virus utility, you should periodically test your system RAM. When you use RAMexam, you benefit from the years of memory management experience that only Qualitas, the makers of 386MAX and BlueMAX, can bring. RAMexam is unique in that it is the only dedicated RAM testing utility available. Unlike system diagnostic utilities that are designed to identify problems after you experience symptoms, RAMexam is designed to detect problems before you suffer their consequences. Founded in 1983, Qualitas, Inc. is a leading developer of high-performance system utility software. With a commitment to cutting-edge technical development, Qualitas has built a reputation for quality, performance and value. For additional information, contact: Qualitas, Inc., 7101 Wisconsin Avenue, Bethesda, Maryland 20814, 301-907-6700 or at 800-733-1377. RAMexam will be released very shortly at a $29.95* retail price (plus $5.00 for shipping and handling). It can be ordered now from Customer Service at 301-907-6700. * The price had previously been quoted here as $19.95. That was a misprint. ======================================================================== Footnotes: 1 van de Goor, A.J. Testing Semiconductor Memories: Theory and Practice, pp. 7-8. 2 van de Goor, A.J. Testing Semiconductor Memories: Theory and Practice, p. 164. Additional Reading: Abadir, Magdy S. and Reghbati, Hassan K. Sept. 1983. "Functional Testing of Semiconductor Random Access Memories", ACM Computing Surveys, pp. 175-198. van de Goor, A.J. March, 1990. "An Overview of Deterministic Functional RAM Chip Testing", ACM Computing Surveys, pp. 5-33. van de Goor, A.J. 1991. Testing Semiconductor Memories: Theory and Practice. John Wiley & Sons, West Sussex, England November 1993 Qualitas, Inc.