HMTT v2: HMTT for DDR2


  • Supports DDR2 400MHz

  • Supported memory size can be up to 32GB

  • Max trace transmission bandwidth is 3Gb/s

  • Developed at Linux 2.6.14, can be ported to other versions with few efforts, such as 2.6.18

  • Partly support multi-channel synchronization

  • Partly support energy-consumption calculation


  • Memory Trace Board (MTB)

  • Kernel Synchronization Module (KSMod)

  • Trace packets capture and analysis Toolkit


Hardware Design

  • Power supply

  • DDR2 gold-finger

  • 3 GE PHY

  • SMA ports

  • DDR2 Register

  • Xilinx Virtex-4 FPGA

The FPGA Physical Block Diagram


Simplified State Machine


HMTT Hardware Board


Software Design

Kernel Synchronization Module (KSMod)

  • One module is added to alter the first page's cache attribution

  • Another module is a more important module which provides the hmtt_printk routine to collect page table information and to store the information in a kernel-user shared buffer

  • One kernel patch for pgtable.h records each update of page table

  • Another kernel patch for entry.S sends identifiers to MTB when kernel-enter and kernel-exit occur (optional)

Trace packets capture and analysis Toolkit

  • Memory Trace Board (MTB) Configuration

  • Trace Dumping and Replay

MTB Configuration Mechanism


A sample of collecting virtual memory trace with the HMTT system


Combination With Other Tools

  • Combination with simulators

  • Combination with binary instrumentation