What does it mean?
This diagnostic trouble code (DTC) is a generic powertrain code, meaning it applies to vehicles equipped with OBD-II (Dodge, Chevrolet, BMW, Saturn, Kia, VW, etc.). Although generic, specific repair steps may vary by make/model.
When a stored P0604 code appears, it means the Powertrain Control Module (PCM) has detected an internal random access memory (RAM) error. This type of code applies to the PCM itself.
RAM, in relation to the PCM, allows for quick access to frequently requested data on demand. The PCM is factory-programmed with vital engine management information. In fact, there is so much information programmed into the PCM that it would take too long to access it every time an engine management response is triggered. RAM contains a selected and defined amount of data that enables the PCM to respond faster in situations that occur repeatedly and in rapid sequence.
Specific parameters for engine and transmission management are programmed into the RAM for each vehicle produced. It not only allows for quicker management of engine efficiency and performance 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 is not functioning as expected, a P0604 code 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 the MIL to light up.
Photo of a PCM with the cover removed:

Powertrain Control Module PCM
Other internal control module error codes include:
P0601 Internal Control Module Memory Checksum 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 and Symptoms
Conditions that can lead to the storage of a P0604 can seriously affect engine management. A stored P0604 code should be considered severe.
Symptoms of a P0604 code may include:
No-start condition
Multiple driveability issues
Harsh or erratic automatic transmission shifting
Reduced fuel economy
Engine may stall or run rough (especially at idle)
Causes
Possible causes of this code include:
PCM programming error
New or incorrect PCM
Aftermarket (high-performance) PCM program installed
Blown ECM/PCM fuse
Low battery voltage or completely discharged battery
Faulty ECM/PCM power relay
A defective ECM/PCM
Open or shorted wiring or connectors in the CAN harness
Unsecured control module ground strap or broken ground wire
Diagnostic and Repair Procedures
Diagnosing a stored P0604 code can be challenging, even for the most experienced and well-equipped technician. However, a few preliminary tests can be performed before handing the issue over to a professional.
With almost all diagnostics, I like to start with a visual inspection of the engine management cable harnesses and connectors. Damaged or burnt wiring and connectors should be repaired or replaced before proceeding.
Connect the scanner to the vehicle’s diagnostic connector and retrieve all stored codes and freeze frame data. Before clearing the codes, write them down in case it turns out to be an intermittent issue. A P0604 code should be diagnosed and repaired before attempting to diagnose any other stored codes, as other stored codes are likely false. Now, clear the codes and hope that the P0604 was stored in error.
If the P0604 immediately resets, test the battery voltage to the PCM. RAM requires a minimum of 12.5 volts to function properly. Corroded or loose battery terminals may mean inadequate voltage is reaching the RAM. Test the PCM fuses for battery voltage with the circuit loaded. Corroded fuses may appear normal until a load is applied to the circuit, at which point their fault will be discovered.
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 only work if it has been reprogrammed specifically for the vehicle in question. Aftermarket (high-performance) programmers can also cause the same issue, resulting in the storage of a P0604.
Improperly programmed or replaced controllers can be reprogrammed using a dedicated factory scanner. Most dealerships offer PCM programming for a modest fee if you cannot access such a scanner. Several aftermarket PCM manufacturers offer pre-programmed controllers for certain models. Check with your auto parts supplier and have the vehicle identification number, mileage, and other relevant information on hand.