S3C6410 IDE硬盘接口性能测试

      因项目需要,要验证在S3C6410系统下面挂硬盘存储大量数据的方案,目前市场上的6410开发板由于成本和定位的原因,99.99%都没把6410的ATA接口留出。放狗搜了半天,找来找去也就只有立宇泰一家的6410支持ATA接口,打开一看,只有wince下面的测试报告,PIO模式,支持单硬盘,但读写速度只有区区的2.88MB/S,连个NAND Flash的速度都比不上,更不用说SD卡的速度了,好好的一个ATA的接口基本上也成了摆设。没有现成可用的,那就只有自己做了。

      一看手册,S3C6410 ATA接口还支持多种模式:PCMCIA模式、TrueIDE模式。 PCMCIA模式比较偏门,基本不考虑;TrueIDE模式又分PIO模式和UMDA模式,考虑到性能上的要求,硬件设计直接采用了UMDA模式,毕竟这个支持UMDA-66,理论的极限传输速率达到66MB/S,这个可是6410所有外设接口中性能最高的了。

     几经波折,带有ATA硬盘接口的板子----FLX6410终于出来了,接着便是一个漫长的驱动移植过程。功夫不负有心人,UMDA模式的硬盘驱动最终还是整起来了,激动人心的时刻到了,到底6410这个ATA接口在UDMA-66模式下的性能能达到多少呢? 为了方便测试,直接在FLX6410的硬盘上安装了ARM版本的Debian6,这样Linux下的工具就要啥有啥了。惯例,正式测试前先把测试环境列一下:

硬件环境:

FLX6410开发板,带2.5寸 IDE硬盘接口和CF卡接口(工作在UDMA-66模式下)

CPU主频:800MHz

内存容量:512MB mDDR

NAND Flash:mtdblock3: K9LAG08U0M PCB0 容量2GB (对比测试用)

硬盘型号:hda: ST980815A, ATA DISK drive 容量: 80GB    

              hdb: TRANSCEND 133X CF CARD  容量: 4GB

SDHC卡: mmcblk0p1: ADATA  SDHC CLASS 4  CARD      容量:4GB (对比测试用)

软件环境:

OS:Debian6 Linux armel kernel-2.6.38.2

测试工具: hdparm (读取测试)


测试截图1(2.5寸硬盘与CF卡):

S3C6410 IDE硬盘接口性能测试_第1张图片


测试截图2(NAND Flash、SDHC卡和2.5寸硬盘)


测试结果主要有这几点:

1、2.5寸硬盘的读取速度达到了36MB/S左右(考虑到机械硬盘的读写基本对称,其写入速度应该也在36MB/S左右);

2、Transecond的133X的CF的读取速度也不俗,达到了34MB/S左右(这个明显超过了133X的速度(1X=150KB/S,133X=19.48MB/S),看来133X指的是CF卡的写入速度);

3、SDHC CLASS4的卡读取速度在12MB/S左右,大概只有2.5寸硬盘速度的1/3;

4、NAND Flash的读取速度是这几个当中最慢的,最有3MB/S左右。

  

从测试结果来看,UDMA模式下,S3C6410的ATA接口的性能确实是所有外设当中最高的,而且还不是高一点点的问题,都是几倍于其他外设接口的关系,只可惜这个接口一直没被好好利用起来。


遗留问题:

      UDMA-66的理论最大传输速度是66MB/S,目前FLX6410 2.5寸硬盘的36MB/S的读写速度离这个还有一定的差距,到底是驱动程序的效率问题还是CPU IO处理能力的问题、6410 ATA接口的实际最大吞吐量能达到多少等等的还有待进一步测试验证。


你可能感兴趣的:(c,Debian,测试,Flash,测试工具,WinCE)