OSHTTRP2 - MEMORY PROBLEMS UNDER OS/2 02/07/96 ======================================================================= Memory Problems under OS/2--All OS/2 Releases ======================================================================= Please Read Entire Document for Full Explanation of Procedures -------------------------------------------------------------- DESCRIPTION Under OS/2, memory problems can cause a TRAP0002 or other TRAP error messages. These traps and their associated register information can vary, and usually occur intermittently. A TRAP0002 message indicates that the operating system detected a hardware memory-parity error on the system board or on an expansion adapter. Memory problems also can result in the following symptoms: * Other intermittent lockups, traps, or IPEs * Intermittent application errors * "Snow" or similar on-screen noise corruption. RESOLUTION The common sources of these problems are: * Mismatched memory, such as single in-line memory modules (SIMMs) of differing speeds or from different manufacturers. This is the most likely cause if you recently added RAM to the system, or if the system is a "home-grown" or no-name clone assembled from various parts. SIMMs of different classes (such as 1- by 3-bit and 1- by 9-bit SIMMs) should never be mixed. Also, 1- by 9-bit SIMMs are more reliable than 1- by 3-bit SIMMs. * Slow memories: Some 486 and higher systems require 60-ns or 70-ns RAM chips. * Cache problems and other memory parity errors. Solutions include: * Removing defective SIMMs * Replacing SIMMs * Reseating a PCMCIA DRAM card * Disabling shadow RAM * Disabling "hidden refresh" and "fast decode enable" if your system has an AMI BIOS * Tuning wait states * Disabling cache during installation * Turning turbo switch off OS/2 is a 32-bit operating system that handles data in 32-bit words, and some systems with timing problems might encounter problems with OS/2. DOS and other operating systems do not stress a system's memory the way OS/2 does. For example, DOS uses 1 MB of low memory, while OS/2 is loaded into high memory that has never before been stressed by an operating system. DOS is a single-task operating system, while OS/2 is multitasking, which also stresses the memory in an OS/2 environment. TRAP0002 errors almost always are memory-related, and other traps can be too. Traps that occur intermittently or during heavy memory use, such as the simultaneous use of multiple Windows applications, are resolved by removing or replacing RAM. On IBM hardware, possible causes of a TRAP0002 error include: * 110 error: System-board memory-parity error * 111 error: Memory-expansion adapter parity error * 112 error: Watchdog timer error (could be hardware or software) * 113 error: DMA arbitration error (could be hardware or software) The most common type of TRAP0002 error is caused by memory, but also can be caused by a system board, a Micro Channel adapter failure, timing problems, and other hardware errors, particularly those associated with ISA bus-mastering adapters. A TRAP0002 error is rarely caused by software errors, because software usually does not access the processor's nonmaskable interrupt (NMI) line. The NMI line is set when the system detects a memory parity error. A TRAP0002 error occurs only when the NMI line is set. When any trap occurs, especially a TRAP0002: * Check the failing system for mismatched SIMMs from different manufacturers or different classes. * Make sure all RAM is of the same model and speed. * Contact the suppliers of the RAM chips or the memory adapter to have these components tested. When a memory-expansion adapter is used, make sure the SIMMs on the card are from the same manufacturer and are the same speed as those on the motherboard. If a problem is traced to an expansion adapter, check with the system's manufacturer to find out if the adapter is recommended for your system. Because memory-parity errors are caused by timing-related problems, try placing the adapter in another slot to reduce the distance between the adapter and the processor, and to reduce memory access time. Make sure the memory wait states are matched to the speed of the processor bus. Some systems automatically tune these wait states; others let you change these settings, and still others require memory of a certain rated speed or higher. A 486DX2/66 system has a 66-MHz internal bus, but its external (processor) bus, which connects to the memory and other system components, runs at 33 MHz. This system can operate with zero wait states only if it is equipped with 60-ns, or faster, RAM. If the system has 70-ns or 80-ns RAM, it must be set up for one wait state. The processor speed relates to wait states as follows: Memory Speed Required Processor Clock Period for 0 Wait State --------- ------------ --------------------- 486DX/25 40 ns 80 ns 486DX/33 30 ns 60 ns 486DX/50 20 ns 40 ns Because the SIMM is precharged on one clock cycle and accessed on the next, its speed rating is twice the period of the fastest clock rate it can accommodate. If the clock period is less than half the SIMM's rated speed, wait states must be introduced. ______________________________________________________________________ IBM disclaims all warranties, whether express or implied, including without limitation, warranties of fitness and merchantability with respect to the information in this document. By furnishing this document, IBM grants no licenses to any related patents or copyrights. Copyright (c) 1994, 1996 IBM Corporation. Any trademarks and product or brand names referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.