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