Skip to Content
UDS Simulator 2.0 Released
Docs0x23 Read Memory By Address

Service Interaction Protocol

Read Memory

0x23
Protocol Identifier
Allows a diagnostic tester to read raw memory content from an ECU at a specific memory address.
A Service Identifier (SID) is a single-byte value (0x00–0xFF) in position 0 of every UDS request frame. It specifies which diagnostic operation the client wishes the ECU to execute. The positive response echoes the SID with the high bit set (SID + 0x40).

ACCESS_TYPE

RAW_MEMORY
Directly bypasses DIDs to read physical ECU address space (RAM/Flash).

PARAMETERS

ALFID_ENCODED
Address and Size width are dynamic, defined by the first byte (ALFID).

SECURITY

PROTECTED
Critical service. Usually restricted to Bootloader or Engineering sessions.

Overview

ISO 14229-1

“The ReadMemoryByAddress service is used by the client to request memory data from the server at a specified address with a specified length.”

Use Cases

  • Reading calibration data
  • Extracting fault memory buffers
  • Verifying firmware code integrity
  • Development and debugging

Dependencies

  • Extended Session (0x03) usually required
  • Security Access (0x27) for protected regions
  • ALFID must match ECU memory architecture

Default Behavior

Service 0x23 is typically available in Extended (0x03) or Programming (0x02) sessions. It requires the client to provide the memory address and the number of bytes to read. Direct memory access is often protected by Security Access (0x27). The ECU defaults to “no access” for read-protected regions (e.g., security keys, bootloader sections).

ALFID Encoding

The Address and Length Format Identifier (ALFID) is a critical byte that specifies how many bytes the ECU should expect for the address and size parameters.

ALFID Structure
Click to Enlarge

The ALFID byte is split into two nibbles for Length (Bits 7-4) and Address (Bits 3-0).

ALFID
Address Length
Size Length
Architecture
0x111 Byte1 ByteSmall 8-bit MCUs
0x222 Bytes2 Bytes16-bit addressing
0x444 Bytes4 BytesTypical 32-bit systems
0x244 Bytes2 Bytes32-bit addr, 64KB max read

Protocol Anatomy (32-bit Address)

◆ PROTOCOL ANATOMY

View
REQUEST_TX

0x23 READ MEMORY

RESPONSE_RX

0x23 RESPONSE

Request Examples

Workflow: Absolute Memory Read

4 steps
Tester
ECU

32-bit Standard Read

tx_packet

Request

23 44 00 10 20 30 00 00 00 10

> Read 16 bytes (0x10) from 0x00102030

rx_packet

Response

63 AA BB CC DD EE FF 11 22 33 44 55 66 77 88 99 00

> Memory Data returned

Short Address Format

tx_packet

Request

23 22 10 00 00 04

> ALFID 0x22: 2-byte addr, 2-byte size

rx_packet

Response

63 12 34 56 78

> 4 bytes returned

Negative Response Codes

Error_Catalog

Negative Response Codes

THREAT_LEVEL3 HIGH2 MEDIUM5 NRCs TOTAL
ISO_14229_ANNEX_ANRC_ENGINE_V2