P0604 Internal Control Module Random Access Memory (RAM) Error
OBD-II Trouble Code Technical Description
ASE Certified Technician
Internal Control Module Random Access Memory (RAM) Error
What does that mean?
This diagnostic trouble code (DTC) is a generic powertrain code, which means that it applies to OBD-II equipped vehicles (Dodge, Chevrolet, BMW, Saturn, Kia, VW, etc.). Although generic, the specific repair steps may vary depending on make/model.
When a stored code P0604 presents itself, it means that the powertrain control module (PCM) has detected an internal random access memory (RAM) error. This type of code applies to the PCM itself.
RAM, as it pertains to the PCM, allows regularly accessed data to be rapidly located when requested. The PCM is programmed from the factory with vital engine management information. There is in fact so much information programmed into the PCM that it would take too much time to access every bit of it, every time an engine management response was initiated. The RAM contains a select, set amount of data that allows the PCM to respond faster in situations which occur repeatedly and in rapid sequence.
Particular settings for engine and transmission management are programmed into the RAM for every vehicle produced. It not only helps to manage engine efficiency and performance more rapidly but also serves to recognize and interact with other onboard vehicle control modules.
If the PCM detects a discrepancy between the RAM and other controllers, or if the RAM fails to function as designed, a code P0604 will be stored and a malfunction indicator lamp (MIL) may be illuminated. Depending upon the severity of the malfunction, multiple failure cycles may be necessary for MIL illumination.
Photo of a PCM with the cover removed:
Other internal control module error trouble codes include:
- P0601 Internal Control Module Memory Check Sum Error
- P0602 Control Module Programming Error
- P0603 Internal Control Module Keep Alive Memory (KAM) Error
- P0605 Internal Control Module Read Only Memory (ROM) Error
Code Severity & Symptoms
Conditions which may cause a P0604 to be stored may affect engine management in a serious manner. A stored code P0604 should be considered severe.
Symptoms of a P0604 code may include:
- No start condition
- Multiple drivability issues
- Harsh or erratic automatic transmission shifting
- Diminished fuel economy
- • The engine may stall or run roughly (especially at idle)
Possible causes for this code include:
- PCM programming error
- New or incorrect PCM
- Aftermarket (high-performance) PCM program installed
- Blown ECM/PCM fuse
- Low battery voltage or complete battery discharge
- Bad ECM/PCM power supply relay
- A defective ECM/PCM
- Open or shorted wiring or connectors in the CAN harness
- Insecure control module ground strap or broken ground wire
Diagnostic and Repair Procedures
It can be challenging to diagnose a stored code P0604, even for the most experienced and well equipped technician. However, there are a few preliminary tests that can be performed before passing the problem off to a professional.
With almost any diagnosis, I like to begin with a visual inspection of engine management wiring harnesses and connectors. Wiring and connectors that have been damaged or burned should be repaired or replaced before proceeding.
Connect the scanner to the vehicle diagnostic connector and retrieve all stored codes and freeze frame data. Before clearing the codes, write them down just in case this proves to be an intermittent problem. A code P0604 should be diagnosed and repaired before attempting to diagnose any other stored codes, as other stored codes are likely to be false. Now, clear the codes and hope that the P0604 has been stored in error.
If the P0604 is immediately reset, test battery voltage to the PCM. The RAM requires a minimum of 12.5-volts to function properly. Battery terminals that are corroded or loose could mean that there is inadequate voltage reaching the RAM. Test PCM fuses for battery voltage with the circuit loaded. Corroded fuses may appear normal until a load is applied to the circuit and then their deficiency will be discovered.
If the PCM has not been programmed properly the RAM will not function or may not be recognized. If the PCM for the vehicle in question has been recently replaced, it may have been improperly programmed or not programmed at all. A used controller (from another vehicle) will not work unless it has been reprogrammed specifically for the vehicle in question. Aftermarket (high-performance) programmers may also propose the same problem, causing a P0604 to be stored.
Controllers which have been incorrectly programmed or replaced may be reprogrammed using a factory dedicated scanner. Most dealerships offer PCM programming for a nominal fee, if you cannot gain access to such a scanner. Several aftermarket PCM manufacturers offer preprogrammed controllers for certain models. Check with your auto parts supplier and have the vehicle identification number, mileage, and other pertinent information available.
Additional diagnostic notes:
- Loss of battery power is the leading cause of RAM failure
- New or used, a replacement PCM will need to be programmed to match the vehicle in question
- Aftermarket or high-performance programmers will frequently require time for other controllers to recognize them - if they ever do
Related P0604 DTC Discussions
- There are currently no related topics in our forums. Post a new forum topic now.
Need more help with a p0604 code?
If you still need help regarding the P0604 trouble code, please post your question in our FREE car repair forums.
NOTE: This information is presented for information purposes only. It is not intended as repair advice and we are not responsible for any actions you take on any vehicle. All information on this site is copyright protected.