Service Interaction Protocol
Write Memory By Address
0x3DProtocol Identifier
Allows the tester to write specific data bytes to absolute memory addresses (RAM, EEPROM, Flash).
Overview
ISO 14229-1
“The client uses this service to write information into the server at one or more contiguous memory addresses.”
warning _entry
Critical Security Risk This service provides low-level access to the ECU’s memory. Improper use can overwrite firmware, corrupt calibration data, or brick the ECU. It is almost always protected by Security Access (0x27).
info _entry
Common Uses
- Writing Calibration parameters (RAM).
- Programming Configuration data (VIN, Options).
- Applying temporary Software Patches.
Message Format
The request uses an ALFID (Address and Length Format Identifier) byte to define the size of the address and data length parameters.
Byte | Name | Description |
|---|---|---|
| 0 | SID | 0x3D |
| 1 | ALFID | Format byte (e.g., 0x44 for 32-bit addr/size) |
| 2... | Address | Starting memory address |
| N... | Size | Number of bytes to write |
| M... | Data | Actual data payload |
Example: Write RAM
Writing value 0x012C (300) to Address 0x20001000.
tx_packet
Request
3D 44 20 00 10 00 00 00 00 04 00 00 01 2C> SID | ALFID(4/4) | Address | Size(4) | Data(4)
rx_packet
Response
7D 44 20 00 10 00> Positive Response (Address echoed, data NOT echoed)
Workflow & Logic

Click to Enlarge
The validation and execution flow for a Write Memory request.
Negative Response Codes
Logic_Exceptions
Critical_Error_Paths
NRC_0x13
Incorrect Message Length
The length of the message does not match the ALFID definition or expected data size.
SEQ_DIAGRAM_DUMPOFFSET_0x7F
Incorrect Message Length Flow
2 stepsTester
ECU
NRC_0x31
Request Out Of Range
The address is invalid, restricted (e.g., ROM), or the write exceeds memory boundaries.
SEQ_DIAGRAM_DUMPOFFSET_0x7F
Request Out Of Range Flow
2 stepsTester
ECU
NRC_0x33
Security Access Denied
The memory region is protected and the ECU is currently Locked.
SEQ_DIAGRAM_DUMPOFFSET_0x7F
Security Access Denied Flow
2 stepsTester
ECU
NRC_0x7F
Service Not Supported In Active Session
Service 0x3D is typically only allowed in Extended (0x03) or Programming (0x02) sessions.
SEQ_DIAGRAM_DUMPOFFSET_0x7F
Service Not Supported In Active Session Flow
2 stepsTester
ECU