Memory Chip Parity Errors *********************************************** If you encounter the message "parity error" while operating your PC, a malfunction has occurred somewhere in the PC's memory (RAM). In many instances, a parity error can be traced to a defective RAM chip or one that is seated poorly in its socket. To find the cause of the parity error, turn off the PC, wait about five seconds, and turn it on again. After flipping the power switch on, the PC automatically runs a series of diagnostics which tests different parts of the system. If a memory problem exists, a PARITY CHECK 1 or PARITY CHECK 2 error message will appear. This article will help you interpret these error messages, isolate defective memory chips, and correct the situation. System Board Memory Early PCs have system boards which hold only 64K of RAM. These system boards have four parallel rows (or banks) of nine 16K 4116 RAM chips. Newer PCs and XTs with 256K system boards have four parallel rows of nine 64K 4164 RAM chips. In both cases, each row has eight chips for memory (data bits) and one for parity checking (parity bit). When facing the PC chassis from the front, the row of chips closest to the front is designated row 3, with the next row being row 2, then row 1, and row 0 next to the expansion slots. In each row or bank, the chip on the extreme left, slightly separated from the data bits, is the parity bit chip. Expansion Board Memory The amount of memory contained on expansion boards varies widely from manufacturer to manufacturer. While the early expansion memory boards only contained 64K memory, the current standard seems to be memory boards in one of three configurations: 256K, 384K, or 512K. Most memory boards still use the 64K 4164 RAM chip, although use of the newer 256K 41256 RAM chip has become more prevalent as its availability has increased and unit cost has dropped substantially (from $60/chip to $7/chip during the past six months). The introduction of 80286-based computers like the AT has also impacted the popularity of mega-memory expansion cards because the 80286 can address up to 16 megabytes of RAM, as compared to the 1 megabyte limitation of 8088-based PCs. To simplify matters, we will limit our discussion here to those expansion memory boards that use the 64K RAM chips. In general, these expansion boards comprise from four (256K) to eight (512K) parallel rows of nine 64K memory chips. The rows are usually arranged horizontally, numbered from 1 to 8, and are populated sequentially from right to left (row 1 is on the extreme right; row 8 on the extreme left). Memory Error Messages Now that you know which row is where and its "numeric" position indicator, you can begin to isolate which chip may be causing the parity error. If your computer has a memory problem, a memory error message will appear on the monitor during the start-up diagnostic (Power-On Self Test) or when performing system diagnostics. This memory error message consists of two parts: a four-digit error code followed by the numbers 201, e.g. 3040 201; and either a PARITY CHECK 1 or PARITY CHECK 2 message. A PARITY CHECK 1 message indicates that the memory error was detected on the system board memory; a PARITY CHECK 2 message identifies a memory error on a memory expansion board. PARITY CHECK 1 -- System Board Memory Errors The first number of the memory error code indicates which 64K bank of memory is involved. On PCs with 256K system boards, this can be rows 0, 1, 2, or 3. On 64K system board PCs, the number 0 represents the entire 64K bank of 36 16K chips. For PCs with 64K system boards, the second digit can be 0, 4, 8, or C, and points to the 16K bank within the 64K which is failing; 0 is row 0, 4 is row 1, 8 is row 2, and C is row 3. In contrast, for PCs with 256K system boards, the second digit of the error message identifies the 4K page in the memory chip that is failing; this number is not needed to identify the problem chip and should be ignored. The third and fourth digits represent which bit position (or RAM chip) in the 64K row is causing the error condition. This number represents the hexadecimal address of the chip within the row. Table 1 provides the address for each of the chips on a 64K or 256K system board: Bank 64K 256K Parity Bit Bit Bit Bit Bit Bit Bit Bit Number System System Bit 0 1 2 3 4 5 6 7 0 00 0x 00 01 02 04 08 10 20 40 80 1 04 1x 00 01 02 04 08 10 20 40 80 2 08 2x 00 01 02 04 08 10 20 40 80 3 0C 3x 00 01 02 04 08 10 20 40 80 M E M O R Y C H I P S F R O N T O F C O M P U T E R Table 1. System Board Memory Addresses. Using the error message example given earlier, 3040 201, we can quickly identify the faulty chip as the eighth chip (Bit 6) in the first row from the front (Bank 3) of a 256K system board. PARITY CHECK 2 -- Expansion Board Memory Errors The procedures for diagnosing errors in memory contained on expansion boards is similar to that used for system board memory diagnosis. The first number of the memory error code indicates which 64K bank of memory is involved. On PCs with 256K system boards, this can be row 4 or greater; on 64K system board PCs, row 1 or greater. For both 64K and 256K system board PCs, the second digit is not used and should be ignored. The third and fourth digits contain the hexadecimal address (within the row) of the problem memory chip. Because there are numerous third-party manufacturers of expansion memory boards and because each manufacturer may use a different configuration and/or bank numbering scheme, the rules for identifying errant memory chip addresses for your expansion board might be different. You should check the documentation provided with your expansion board as reference for proper diagnosis of expansion board memory problems. For demonstration purposes, however, the following example uses a 384K memory expansion board (AST Six Pak Plus), configured with six banks of chips, numbered 1 to 6, from right to left. Table 2 provides the address for each of the chips on the expansion memory card. Notice that the starting address for the rows of memory chips is different for the 64K and 256K system boards. This is due to the fact that the expansion board rows begin addressing where the system board stops: for the 64K board, starting address is 1x; the starting address for the 256K system board is 4x (x can be any number). Bank No. 6 5 4 3 2 1 64K System 6x 5x 4x 3x 2x 1x 256K System 9x 8x 7x 6x 5x 4x ___________________________________________________ Parity Bit 00 00 00 00 00 00 M Bit 7 80 80 80 80 80 80 E Bit 6 40 40 40 40 40 40 M Bit 5 20 20 20 20 20 20 O Bit 4 10 10 10 10 10 10 R Bit 3 08 08 08 08 08 08 Y Bit 2 04 04 04 04 04 04 C H Bit 1 02 02 02 02 02 02 I P Bit 0 01 01 01 01 01 01 S BOTTOM OF EXPANSION BOARD Table 2. Expansion Board Memory Addresses. Using the above table, we can see that a 7120 201 error code identifies the errant memory chip as the sixth chip from the bottom (Bit 5) in the fourth bank from the right (Bank 4) in a 256K system board machine. Correcting Memory Errors Now that we have identified the problem chip, we should verify it by replacing it with a spare chip and run the diagnostics again and see whether the error is corrected. If no spare chip is available, exchange the suspect chip with another one in an adjacent bank. If we have correctly identified the problem chip, the diagnostics will display a different memory code -- that of the location where we put the suspected chip. If, however, the error code continues to identify the original location, a problem may exist with the socket and you should contact your dealer for assistance. If the system board or expansion board switches are not set properly or a chip is missing, the bit position in the error code may be AA, FF, 55, or 01. If you are experiencing problems with more than one memory chip, the bit position code displayed will be the sum (in Hexadecimal) of the problem chip locations and consequently, will not match any of the values in Table 1 or 2. When this happens, the resultant error code could be any number from FF to 00. Diagnosis of the errant chips will involve a trial and error process of switching several chips from the identified row to an adjacent row. Reseat Chips Before Switching Before switching chips in the "suspect" row, however, remove all chips and reseat them in their sockets. Run the diagnostics again. Because many parity problems are due to poor contacts between chips and sockets, this trick may eliminate the parity error. RAM chip failures are rather rare. The most difficult parity error or memory error to locate is one which occurs "intermittently". For example, heat generated by expansion boards, disk drives or other add-ons may cause a memory chip or some other memory-related component to shift sufficiently to break the electrical contact. You may never find this particular problem since the same set of conditions may not be duplicated exactly during diagnostics. A Simple, Do-It-Yourself Remedy What has been discussed here is a simple method to troubleshoot your PC. If in doubt, professional service technicians have the tools to diagnose memory problems instantly. But performing these simple checks yourself can save you money, especially if the cause is a poorly socketed chip. ----------------- END -----------------