Technical Description of OBD-II Trouble Code
VIN Not Programmed or Incompatible – ECM/PCM
What does that signify?
This is a generic diagnostic trouble code (DTC) that is applicable to many OBD-II vehicles (1996-newer). This includes vehicles from various manufacturers such as Ford, Hyundai, Toyota, Lotus, Dodge, Ram, Honda, Cummins, etc. While it is a generic code, the specific repair steps may vary depending on the year, make, model, and powertrain configuration of the vehicle.
When a code P0630 is stored, it indicates that the engine control module (ECM) or powertrain control module (PCM) does not recognize the 17-character vehicle identification number (VIN).
Every vehicle produced in North America is assigned a unique VIN. This alphanumeric code represents the country of manufacture, year, make, model, special equipment, engine size/type, and the production sequence of the vehicle. No two vehicles have the same VIN.
Since the implementation of OBD-II diagnostic systems, the VIN has been programmed into each ECM/PCM after it is installed in the vehicle. Other controllers may also be programmed to recognize the VIN, but federal regulations require the ECM/PCM to be programmed accordingly.
The main reason for programming the ECM/PCM to recognize the VIN is to deter vehicle and controller theft, as well as prevent odometer tampering. Controllers cannot be swapped between vehicles without being programmed to match the specific vehicle. The ECM/PCM also stores the vehicle’s mileage. If controllers could be freely swapped, odometer readings would be less accurate or completely unreliable. When an ECM/PCM is replaced, it must be programmed with the vehicle’s odometer reading and VIN, among other things.
If the ECM/PCM fails to find or recognize the VIN, a code P0630 will be stored and a malfunction indicator lamp (MIL) may illuminate. The ECM/PCM searches for the VIN during the key-on self-test. In most cases, the ECM/PCM will not function without VIN recognition.
Photo of a PCM with the cover removed:

What is the severity of this DTC?
Since the ECM/PCM is unlikely to function without VIN recognition, a stored code P0630 should be considered severe.
What are some of the symptoms of the code?
Symptoms of a P0630 trouble code may include:
What are some of the common causes of the code?
Possible causes for this code may include:
What are some P0630 troubleshooting steps?
Unlike most other stored codes, the P0630 is usually related to ECM/PCM failure or some type of programming error. Due to the critical parameters that must be programmed into the ECM/PCM (VIN and mileage), reprogramming equipment should only be used by qualified personnel. Without the means to reprogram the specific controller, successfully repairing the issue will be highly unlikely.
To arrive at a reasonable diagnosis of a code P0630, you will need a diagnostic scanner and a reliable source of vehicle information. Use the vehicle information source to search for relevant technical service bulletins (TSB) that match the vehicle make and model, exhibited symptoms, and the stored code. This will help guide you in the right direction.
I would connect the diagnostic scanner to the vehicle’s diagnostic port and compare the VIN displayed on the scanner to the actual VIN located on the lower driver side of the windshield. If the etched VIN tag does not match the VIN displayed on the scanner, it is possible that the ECM/PCM has been swapped from another vehicle.
If the VIN is not displayed on the scanner, suspect that the ECM/PCM has been replaced without being programmed to match the vehicle. If this is not the case, ECM/PCM failure or a programming error may be the cause.
In some cases, aftermarket replacement ECM/PCMs that have been reprogrammed to match the vehicle may be available. If this is an option, you will need to provide the parts vendor with the vehicle’s mileage, VIN, and any other relevant data.
Unfortunately, there is no foolproof method for testing the ECM/PCM. However, it is relatively safe to assume that unless there has been a controller replacement without proper programming, some type of controller failure has occurred.
Any replacement of an OBD-II controller will likely require reprogramming.