HMTT v2: HMTT for DDR2

Features

  • 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

Framework

  • Memory Trace Board (MTB)
  • Kernel Synchronization Module (KSMod)
  • Trace packets capture and analysis Toolkit

[framework]

Hardware Design

  • Power supply
  • DDR2 gold-finger
  • 3 GE PHY
  • SMA ports
  • DDR2 Register
  • Xilinx Virtex-4 FPGA

The FPGA Physical Block Diagram

[fpga]

Simplified State Machine

[state]

HMTT Hardware Board

[board]

hmtt-v2.0

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

[configuration]

A sample of collecting virtual memory trace with the HMTT system

[software]

Combination With Other Tools

  • Combination with simulators
  • Combination with binary instrumentation