Technical Description of OBD-II Trouble Code
Error in Internal Control Module Random Access Memory (RAM)
What does that signify?
This diagnostic trouble code (DTC) is a generic powertrain code that is applicable to OBD-II equipped vehicles (Dodge, Chevrolet, BMW, Saturn, Kia, VW, etc.). Although it is a generic code, the specific repair steps may vary depending on the make and model of the vehicle.
When the stored code P0604 appears, it indicates that the powertrain control module (PCM) has detected an internal random access memory (RAM) error. This code is specific to the PCM itself.
In relation to the PCM, RAM allows for the quick retrieval of regularly accessed data when requested. The PCM is initially programmed with essential engine management information at the factory. The PCM contains a large amount of information, and accessing all of it every time an engine management response is initiated would be time-consuming. The RAM contains a specific amount of data that enables the PCM to respond faster in situations that occur repeatedly and rapidly.
Specific settings for engine and transmission management are programmed into the RAM for each vehicle produced. This not only helps manage engine efficiency and performance more rapidly, but also allows for recognition and interaction 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 intended, a code P0604 will be stored and a malfunction indicator lamp (MIL) may illuminate. Depending on the severity of the malfunction, multiple failure cycles may be required for MIL illumination.
Photo of a PCM with the cover removed:

Other trouble codes related to internal control module errors include:
Code Severity & Symptoms
Conditions that may cause a P0604 code to be stored can significantly affect engine management. A stored code P0604 should be considered severe.
Symptoms of a P0604 code may include:
Causes
Possible causes for this code include:
Diagnostic and Repair Procedures
Diagnosing a stored code P0604 can be challenging, even for experienced and well-equipped technicians. However, there are a few preliminary tests that can be performed before seeking professional assistance.
With any diagnosis, it is advisable to start with a visual inspection of engine management wiring harnesses and connectors. Damaged or burned wiring and connectors 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, make a note of them in case this turns out 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 was stored in error.
If the P0604 is immediately reset, test the battery voltage to the PCM. The RAM requires a minimum of 12.5 volts to function properly. Corroded or loose battery terminals could result in 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, revealing their deficiency.
If the PCM has not been programmed correctly, 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 cause the same problem, resulting in a stored P0604 code.
Controllers that 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 do not have 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 relevant information available.
Additional diagnostic notes: