广告

硬盘驱动技术在嵌入式应用中的整合方案

2006-10-23 阅读:
便携式数字消费类应用中日益提升的性能要求对系统存储容量提出了新的要求。由于硬盘驱动技术在尺寸外型、容量、可靠性和价格方面有了显著提高,因此在MP3播放器、个人媒体播放器、GPS定位系统、车载资讯娱乐系统、手持游戏设备和智能电话等诸多便携式产品中已经开始广泛采用硬盘驱动技术。

便携式数字消费类应用中日益提升的性能要求对系统存储容量提出了新的要求。由于硬盘驱动技术在尺寸外型、容量、可靠性和价格方面有了显著提高,因此在MP3播放器、个人媒体播放器、GPS定位系统、车载资讯娱乐系统、手持游戏设备和智能电话等诸多便携式产品中已经开始广泛采用硬盘驱动技术。

目前硬盘驱动器采用的主流接口是高技术配置接口标准(ATA),即大家熟知的IDE接口。目前在嵌入式市场领域绝大多数硬盘驱动器都采用了并行ATA接口。表1概括了硬盘驱动器支持的ATA规范不同模式及相应的最大理论数据传输速率。部分硬盘驱动器同时也支持Compact Flash (CF)规范、安全数字输入/输出(SDIO)标准和串行ATA规范。由于并行ATA和Compact Flash是便携手持市场的最普遍的两个标准,因此本文侧重讨论这两个规范。Compact Falsh规范(2004年12月颁布的第3版)能够在与标准IDE完全相同的真IDE模式下操作。与2.1版相比,CF3.0增加了极端直接内存访问(Ultra DMA)模式。

硬盘驱动器并不需要支持以上所有的模式。目前,1.8英寸硬盘能够支持所有的模式,1英寸硬盘能支持到UDMA4模式。考虑到便携消费类市场对尺寸和功耗的要求,因此本文侧重于讨论1.8英寸或更小尺寸的硬盘驱动器。这些微硬盘的实际数据吞吐量远小于他们的理论值。硬盘的直径直接影响了数据传输率。例如,1英寸硬盘驱动器比2.5英寸硬盘驱动器要慢许多,这是因为硬盘外直径变小,意味着最快外围磁轨的线速度也将同样变小。

目前嵌入式微处理器内置对CF接口的支持,某些微处理器拥有支持与硬盘驱动器连接的IDE控制器。绝大多数用于便携式低功耗应用的嵌入式处理器都支持CF接口,但是缺乏专用的IDE控制器。虽然CF3.0支持真IDE模式和ATA规范的部分标准,但是这种方法必须依靠处理器本身来控制ATA时序和建立数据连接。从而造成了性能瓶颈,而且从系统角度来看,这种模式在传输大量数据时效率不高。

在嵌入式领域,当设计者希望采用硬盘驱动器(或迷你硬盘)技术,他们可以选用CF接口、通用I/O端口或者一个带有用于连接某些逻辑电路的CPLD的外部总线接口等方案来实现连接。这使得他们可以采用现有的主处理器架构和软件环境来更快地推出产品,取得市场先机。但是,尽管这种方法简单且划算,在采用这种方法前,设计者必须充分理解它对系统性能的影响。因此,在选择一个特定的系统方案之前,有必要为终端应用确定一个清晰的、可量化的性能目标,因为只有这样,才能够应用该目标来指导系统划分过程和决定是否有必要改善性能。

对于一个给定的系统,有许多整合硬盘驱动器的方法,具体应该采取那种方法取决于主处理器。本文的目的不是为了详细说明所有可能的实现方案,而是将两者看成一个整体并对各个方案的系统级别权衡和优缺点进行讨论。

方案1:外部总线接口与简单CPLD

图1所示,方案1采用一个外部总线接口或GPIO端口和一个用于连接逻辑电路(glue logic)的CPLD。主CPU控制ATA时序和与硬盘相关的任务。

本方法只需要控制信号和主处理器的部分寻址信号与CPLD连接来产生硬盘驱动器所需的接口信号。当系统中存在其他设备共享数据总线时,还需要额外的分离逻辑部件将总线与系统的其他部分分离开来。从硬件角度来讲,这个方案非常简单、直接而且提供了应用所需的存储。然而,系统设计者需要考虑数据吞吐量的可能瓶颈和对主处理器的影响。当满足以下两个条件其一时,本方案才是一个性价比高并具有竞争力的解决方案。

1. 硬盘读写的数据中不包括极大数量的数据文件或丰富的多媒体内容;

2. 性能和数据吞吐量不是系统的关键性要求


表1:ATA特定操作模式的理论最大吞吐量


图1:主ATA控制与CPLD解决方案

不过法这种方法也存在缺点。当处理器负责产生ATA时序和控制时候,它将花费额外的周期来处理时序和数据移动。系统中将存在多少性能瓶颈取决于是否存在DMA控制器和主处理器在外部总线接口和主内存之间的数据传输效率。如果再加上微处理器在每次数据读写中对来自硬盘驱动器的IO-RDY信号反应的等待时间,将造成一个很严重的性能瓶颈。由于本方案直接与每个驱动器相关的任务挂钩,因此对CPU占用率产生了很大的影响。可以想象,主CPU的绝大多数时间被用来为硬盘服务而不是执行与应用相关的任务。实际应用中数据传输的最大速率请参见表2。


表2:实际应用条件下的性能测试结果

方案2:外部总线接口和QuickLogic IDE控制器

图2对方案2进行了说明,可以看出,方案2采用一个外部总线接口或GPIO端口和外部硬件中的专用QuickLogic IDE控制器来加速对硬盘驱动器(HDD)的读写。


图2:本地总线接口到QuickLogic IDE控制器的解决方案

本方案通过在硬件中增加一个外部IDE控制器来加速硬盘驱动器数据传输和读写控制,从而降低了流程中主处理器的负载。在本方案中,只有主处理器的本地存储器总线连接到IDE桥接设备。外部IDE控制器拥有一片用于数据双向传输缓冲的容量为512字节的嵌入式内存,缓冲内存使得主处理器实现了直接在512字节扇区内执行读写操作而不必等待中断或外部连接IDE设备准备好以后。主处理器在等待中断信号或者IDE控制器发送的512字节扇区数据准备完毕信号的同时可以不间断地运行其他任务。

在数据扇区准备好后在调用中断机制,这使得系统可以实现比轮流检测(polling)机制更好的性能。与中断机制不同,轮流检测在增加了软件投入的同时降低了系统的性能。如果在CPU中存在供外部设备使用的DMA控制器,通过对主内存数据扇区的DMA操作,可以进一步提升系统性能。由于硬盘消耗大量的静态电流,因此微瓦FPGA能够关闭硬盘的电源,降低不读取数据时硬盘的功耗。iPOD也采用同样的机理。使用微瓦FPGA来控制硬盘功耗的主要优点是,可以在数据传输完成以后切断电流关闭硬盘以节省功耗。理论上,它还可以被用来在上电时同时启动硬盘驱动器和初始化寄存器。在该流程完成后,它将发送一个中断信号到CPU,这减少了处理器在处理断电和上电任务的负载。

使用QuickLogic超低功耗IDE控制器设备作为低功耗嵌入式处理器的配套芯片,大大提高了整体的系统吞吐量,降低了硬盘驱动器相关任务的CPU占用率,并通过降低硬盘驱动器的工作时间来降低系统功耗。与基于SRAM和闪存的技术相比,QuickLogic的低功耗Vialink互联技术大幅降低了功耗。而采用SRAM和闪存技术方案的设计将消耗几百毫安培的电流。相对于简单的CPLD方案,只需要增加少量成本,采用QuickLogic的低功耗IDE桥控制器就可以实现用高能效的方法来大幅提升系统性能,最终改善终端用户的体验。

本硬件方案既简单又直接,不过设计者需要注意与主微处理器架构和等待时间相关的数据吞吐量方面的潜在问题。必须认真考虑支持平台应用所期望的系统性能。例如,在便携式媒体处理器中,有可能存在多个图像处理器共同一条总线的情况。如果希望得到更高的性能,可以考虑采用类似方案3的系统性能最佳优化方案。

方案3:QuickLogic IDE与SDRAM控制器

如图3所示,通过对主存储器的直接存取,采用外部硬件中专用的QuickLogic IDE与SDRAM控制器来加速硬盘驱动器的读写速率。


图3:采用专用的QuickLogic IDE与SDRAM控制器解决方案

如果主处理器的本地总线或者SDRAM控制器允许外部设备来控制总线并直接向主存储器写入数据,那么桥接器可以向主存储器直接存取512字节扇区的数据。这样将大大节省主处理器的周期,消除了主处理器对本地总线进行传输请求的响应等待时间,并且可以减少微处理器进行磁盘相关数据传输操作的执行时间。这使得主处理器可以同时运行其他系统功能或者降低操作速度来节省功耗。主处理器并不积极地参与跟硬盘驱动器之间的数据传输。预先在主存储器中写入数据可以防止在执行某些应用中出现遗漏。

对主存储器更快而更有效的数据传输降低了硬盘驱动器的活动时间,从而降低了硬盘驱动器的整体功耗,根据具体应用的不同,功耗降低的程度也不相同。由硬件来控制数据的传输可以大大增强系统的性能,是一个完整的单芯片配套解决方案。由于基本数据的传输都在硬件中进行处理,不必再担心中断反应时间和中断堆栈。UDMA的ATA-66也应能够在此方案中实现。该方案比方案2能够更有效地提高系统性能。

一般情况下,只能有一个外部主设备可以对SDRAM进行直接访问。大部分具有外部图形协处理器或者其他应用相关的硬件加速器的CPU都具有专供该外部设备使用的SDRAM控制,使得IDE失去了用武之地。虽然可编程QuickIDE桥接处理器中使用的某些仲裁逻辑可以允许超过一个的总线主控,但是一般情况下,系统要求专用硬件加速器必须具有优先级别和总线读写。方案3有利于提升性能和驱动程式开发,但是随着系统内存总线速度的提升和向DDR SDRAM技术的转移,允许外部内存总线主控的CPU已经不再是主流产品。而且,由于SDRAM控制器和用于控制的外部总线接口,这种方案还需要配备更多的逻辑电路,这就不可避免地提高了该方案的成本。

还有其它一些方法本文没有提及。本文只列举了在提供硬盘驱动器连接的同时用最高能效率的方法来提高系统性能的几个方案。表2展示了本文中讨论的某些选项在实际应用条件下的性能测试结果。

本文小结

用于低功耗应用领域的嵌入式处理器缺乏硬盘控制器,这使得系统设计者不得不自己解决这个连接性难题。毫无疑问的是,支持下一代迷你硬盘的标准例如CE-ATA(类似SDIO协议)和iVDR(基于串行ATA)可能进一步延缓在新SoC上硬盘驱动器控制器的出现。

系统设计者面临着几个不同的实现方案。具体采用哪个方案取决于系统设计者对系统性能、系统成本和系统功耗的综合考虑。传统的选择程序是确认满足某个特殊的性能指标。然后,集中精力来实现系统成本的最小化。然而,由于处理器和硬盘消耗了大量的系统功耗,因此,要想实现主内存和硬盘驱动之间的更有效的信息传递必然会影响电池的寿命。巧妙地采用桥接器可以提高主内存和硬盘驱动这两个子系统处于节电状态的时间百分比从而实现更高的电池效率。

QuickLogic提供了超低功耗的IDE桥接控制器作为配套芯片来连接低功耗嵌入式处理器,从而在提升系统性能的同时减少了硬盘存储相关作业的CPU占用率,最大限度地降低了功耗。QuickLogic提供的IDE桥接器可以在实际应用中实现10~13MBps的数据传输速率。特别重要的是,这个产品是基于QuickLogic 微瓦FPGA技术。这意味着移动平台系统设计者可以跨越基于传统SRAM的FPGA造成的功耗限制和CPLD性能的挑战,本产品还同时遵循正兴起的在未来几年内可能影响数字消费市场领域的总线标准,并具有整合额外系统功能的能力。

配套芯片方法可以为系统设计者们提供更多的工具来权衡系统性能和功耗,从而实现两者的最佳搭配。在便携式系统增加额外系统功能的同时,必须注意不能够影响电池的寿命。系统性能和功耗的最佳搭配是通过在基于可编程逻辑的配套设备中,采用硬件方法实现大量的数学算法和数据通道管理,而不是在嵌入式处理器上用软件的方法来实现。如果想进一步了解通过硬件加速实现的性能和功耗改善,请参考QuickLogic“使用硬件加速优化基于软件的嵌入式系统”白皮书。

作者:Brian Faith

逻辑产品总监

QuickLogic公司

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
您可能感兴趣的文章
相关推荐
    广告
    近期热点
    广告
    广告
    可能感兴趣的话题
    广告
    广告
    向右滑动:上一篇 向左滑动:下一篇 我知道了