Tuesday, August 28, 2012

Serial ATA AHCI

AHCI 1.3 Specification (Download PDF)

U-boot AHCI Driver

U-boot Synopsys AHCI Driver

Linux AHCI Driver

Linux Synopsys AHCI Driver


Linux Block I/O Layer

Linux Block I/O Layer





Performance
Access Time = Command Overhead + Seek Time + Settle Time + Rotational Latency
  • Command Overhead: Disk controller process the disk request, that includes translating the LBA number into the CHS tuple.
  • Seek Time: Moving the disk arms so the heads are aligned with the correct cylinder.
  • Settle Time: To stabilize the disk heads before reading or writing data.
  • Rotational Latency: Waiting for the requested sector to arrive at the location of the disk heads.
Performance Metrics
  • Throughput
  • Latency
Tuning I/O Performance


Benchmark Tools
IOZone:

For example:
[ ]# /ust/bin/iozone -a > /root/iozone.log
[ ]# /usr/bin/iozone/Generate_Graphs /root/iozone.log

Fileop: Filesystem IO benchmarking tool










It looks like "NOOP" is the best one in this case.

Reference:
1.Linux SCSI Subsystem
2. 10 iozone Examples for Disk I/O Performance Measurement on Linux
3. Measuring & Optimizing I/O Performance

Tuesday, August 14, 2012

Protocol Analyser

PCI Express
Summit T2-16 PCI Express Protocol Analyzer
Summit Z2-16 PCI Express Multi-Lane Exerciser

USB

SATA
   LeCroy Sierra M6-2 SAS/SATA Protocol Analyzer

SD/SDIO/MMC
   Finisar Bus Doctor SD/SDIO/MMC Protocol Analyzer