手机/通信/网络设备 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
移动电话面临选择:尺寸、成本与带宽 |
|
作者:Stephan Rosner, Jeremy Mah |
|
随着应用的日益广泛,在增加内存带宽的同时还需要尽量减小器件的尺寸和成本,这正是移动电话制造商所面向的两难抉择。新型手机要提供种类丰富的功能(如视频、音乐、导航以及网络等),需要比现有产品高得多的数千兆位级的内存带宽,因此好的内存控制器接口应该能够满足未来新一代应用的需求。
例如一个分辨率为1280×1024、刷新速率60Hz的24位(RGB)彩色编码LCD就需要1.5Gbps的内存缓冲器读/写带宽,而总的存储器带宽则需要达到3.7Gbps。该带宽可用于驱动外置显示器的常规分辨率,并没有计算底色等。将手机显示器与目前计算机的图形系统进行比较并不过分,移动电话也同计算机采用的方法类似,即通过集成了千兆赫兹的处理器和DDR DRAM主存储器。这些系统都需要80至400Gbps的内存带宽。
在一个集成了2个处理器内核(一个用于基带处理,另一个用于应用程序处理)的典型高端产品中,两个处理器均需要以非易失性(Flash)存储器来存放代码,以易失性存储器(SRAM和DRAM)作为待处理数据的暂存缓冲器。
当应用程序处理器执行用户可装入的多媒体应用程序时,就需要大量可快速访问的存储器。然而,这种速度需求超过了现有最快的Flash存储器的访问速度。为达到这类性能,可以用较便宜的NAND或MirrorBit ORNAND闪存来存放代码,然后将其复制到更快的DARM中来执行。因此,应用程序处理器一般需要NAND或ORNAND以及DRAM存储器。
相对而言,基带处理器要执行深层的嵌入协议栈。这种代码通常从闪存中直接执行(本地执行或XIP),并且需要对闪存进行随机访问。只有NOR闪存支持高效的XIP模式,因此通常选择这种存储器存放基带代码。DRAM能够作为暂存缓冲器被应用程序处理器和基带处理器所共享,或者NOR存储器结合SRAM或专用pSARM来支持基带处理器。
集成如此多种类的存储器通常需要超过100个引脚专门作为存储器接口,而这一数量占据了整个手机CPU引脚总数的大约30%。TI的OMAP 1611和STMicroelectronics的Nomadik“宏”架构就是高性能CPU的代表,它们就含有大量连接存储器的引脚。
随着用户对新型手机功能需求的增加,如LAN连接、GPS功能以及移动TV(TV-on-mobile)等,OEM商们面临着更大的挑战。上述性能需要更强的处理能力,进而需要更大的内存带宽来支持这种处理能力。这就意味着必须增加引脚的数量以支持增强的数据处理能力。目前的系统内存已占用了整个CPU很大一部分引脚数量,若要再增加引脚就会带来诸多的问题和技术挑战:
◆每个引脚都会直接为手机CPU增加0.4美分的成本,进而导致信号和相关电源/地引脚的总体成本会提高60美分。
◆减少引脚数量可以缩小封装体积不降低其成本。
◆对于焊盘有限的设计而言,I/O的数量将直接会降低裸片成本。
◆采用大量引脚的CPU需要更多层的电路板用于信号走线,这样将增加系统的成本。
◆通过过孔连接多层板的布线方式会引来噪声问题。
◆为容纳更多的引脚就需要更大的面积,但这样做又与手机小型化、超薄化的趋势背道而驰。
单纯采用不集成这些先进功能的作法,而等待开发出快速存储器的解决方案显然并非上策。扩展存储器总线接口再技术上具有可能性,但由于增加了CPU更多数量的引脚,这种方法也就不太合理。因而存储器总线必须向着利于DRAM性能的方向发展,同时允许新的I/O技术支持频率变化并减少引脚数量。考虑到围绕存储器系统而构建的众多基础技术,想要从根本上改变内存总线事实上非常困难。
解决方案之一
内存控制器含有两个接口。主机接口将控制器与系统总线相连,存储器接口则将控制器与存储器件相连。两个接口分别工作在各自的时钟域中并通常具有独立的FIFO队列。这就使得存储器控制器可以通过替换高速、少引脚数量总线的队列便捷地重新分区主机接口和存储器接口。
以这种方式对存储器系统进行再分配为主机和存储器系统之间提供了统一的总线标准,同时考虑到了密度、内存类型以及速度等级等性能指标。此外该方法还最小化了外部总线的负担,因而允许更高的总线频率,这是减少引脚数量的预备条件。此外,重新分区也同时限制了存储器件和多芯片封装(MCP)之间大量引脚的接口,从而能够降低手机的成本并允许在MCP中容纳更多的存储模块(图1)。
1. 主机与存储器系统之间的统一总线可尽量减轻外部总线的负担 主机与客户机接口之间的总线以DDR存储器总线来实现,因此作为实例存储器系统的总体外部引脚数量如下所述:
控制总线:15个引脚
地址总线:12个引脚
数据总线:8至16个引脚
整个存储器系统的全部引脚数量大约在35至43之间。
根据时钟频率的不同,以上所推荐的系统划分可使外部存储器带宽仅在使用43个引脚的情况下就可达到10Gbps,因而能够将外部引脚的数量减少约60%,同时还能显著地增强系统性能。相比而言,目前的存储器接口通常只能支持数兆bps的带宽。此外由于减少了引脚的数量,单个CPU的成本也得到了控制。最为重要的是,这种方法将存储器与总线各自独立起来,从而能够建立分层的存储器-系统架构,甚至允许总线移植到超高速的差分结构中,而对于存储器来说则是一种透明的模式。基于这种方式,存储器件可以开发成直接与总线相连的产品,也可开发成经重配置总线接口之后再与总线连接的结构。
这种方法的主要缺点是需要在存储器系统中增加芯片,即需要采用MCP或PoP封装技术。不过MCP作为主要封装技术对于手机存储系统基本是可以接受的。另外一个缺陷是在客户接口中构建芯片所带来的成本开销。但相信这种成本的增加换来的是存储器总线引脚数量的减少和系统性能的改善,同时提高了存储系统频率、引脚数量以及存储器类型的可扩展性(包括易失性和非易失性存储器)。
延迟
客户端与主机接口之间的总线可以被所有存储器件所共享(图2),虽然目前的系统中通常只有静态存储器(NOR、SRAM和NAND)共享总线。因此必须谨慎设计系统以避免DRAM存储器的延迟问题,这种问题对整个系统的性能有着重大影响。
2.存储器间的共享总线 只有当处理单倍数据率(SDR)器件时延迟问题才能得到解决。对于这种情况,静态存储器和动态SDR可以分路使用,即在每半个时钟周期中使一种存储器工作在DDR模式下(图3)。通过比较传统存储子系统和重新分区的子系统在时序上的区别可以看到,后者能够避免延迟带来的损失。
3.该图描述了在重新分区的存储器系统中如何避免延迟问题 顶部的波形显示传统存储器系统中对存储器访问的时序图,该系统包含了一个主机控制器、主机焊接层和存储器,但不包括(蓝色)客户机控制器和焊接层。
几乎所有的逻辑操作都发生时钟边沿(通常是上升沿),主机控制器在上升沿建立信号,该信号在下一个上升沿时被捕获。如果这种存储器系统在上升沿的同时输出信号就不存在延迟问题。
在重新分区的结构中,控制器在上升沿建立信号,焊层在下一个下降沿捕获信号。客户控制器在下一个上升沿将信号输出,因此存储器在芯片能够在接口得到同样的时序。
在一个时钟周期内建立不可避免的延迟系统时序是可能的,但在多数情况下,延迟损失是可以预防的。为弥补这种不能避免的相对小的延迟可以增加预取(pre-fetch)功能。在访问数据n的期间,可以自动读取数据n+1,从而达到改善延迟性能的目标。
预取存储器子系统可以平均增加15%的带宽(由于延迟的改善)。这对于需要大量预取的随机数据和DSP操作都是有利的。预取并不会引起性能的降低,但如果预取的数据不是CPU所需的则会导致功耗的浪费。因此实现预取规划的逻辑还是比较简单的。预取缓冲器可以在客户总线接口中实现以避免使用用户的存储器。
对带宽的影响
对于存储器系统而言持续带宽是一个重要参数。如上所述,引入重新分区存储器控制的客户接口会增加存储器访问的延迟,而延迟则对持续带宽具有很大影响。
由于持续带宽是评价存储器系统性能的一个关键指标,就必须考虑慢速和快速存储器如何在同一总线上操作的问题。持续带宽是最小的总线和器件带宽,较慢的Flash存储器工作频率最高为100MHz,需要更多的容量。相对于DRAM而言,对Flash的访问很少,因此如果高峰数据能够通过暂时缓存在DRAM中并提供与Flash间更加恒定的流量时,则慢速持续带宽是可以接受的。如果宽度W的Nburst是可变的,则持续带宽可表示为:峰值带宽可表示为:多数手机应用如声音记录和数字相片证明“突发”操作并不总是需要匹配目标存储器带宽与峰值应用的带宽。在那种情况下,管理暂存缓冲器非常关键,因为它占用了更长的时间在后台拷贝数据,同时也为CPU暂时存储了数据。重新分区存储器系统允许采用双端口的RAM进行后台拷贝,其中端口A覆盖的存储空间为Ma,端口B覆盖了剩余的存储空间Mb。M、Ma以及Mb之间的关系为:重新配置的存储空间Ma和Mb可以写入一个寄存器中,因而Ma变成Ma prime,而Mb变为Mb prime:Mailbox表示存储器的空间,一次指派给端口A,一次指派给端口B。从A到B重新指派Mailbox可以拷贝大量的数据,而实际上并不移动数据,类似于通过“C”中的一个数据结构指针指向另一个数据结构。因此每个端口都有一个已知的私有存储范围Ma(prime)/Mailbox或Mb(prime)/Mailbox以及一个共享的Mailbox。当通过在Mailbox中存放数据执行后台拷贝,然后重新将Mailbox指派给该端口执行后台拷贝时(如Flash存储器),就可以简单地保持数据的一致性。
信号
最简单的情形下,连接主机系统的静态和动态存储器均为SDR器件,并共享一个公用存储器总线。这时可以采用一个简单的方法实现DDR模式下共享总线的操作。时钟的上升沿可用于所有DRAM操作,下降沿则可用于所有SRAM操作。在本质上,主机控制器在一个DDR流中复用两个SDR数据流,因此可以为SRAM和DRAM提供两个独立的通道。
如果主机的SRAM和DRAM控制器在上升沿进行操作,则对于一个通道的延迟为零,而对于另外一个通道的延迟为半个时钟周期。通过重新分区时序这种延迟就可以消除。设动态和静态SDR存储器具有同等宽度,则DDR总线带宽(BW)为:另一方面,如果采用DDR存储器还没有简单的映射方法。不过有一种简单的扩展方式也可以支持DDR器件。
SDR方法定义了一种共享总线上的时隙方案(timeslot),这种时隙就是半个时钟周期中两个捕获的时钟边沿间的时间。时隙在SRAM和DRAM间是均匀分配的。为满足DDR器件的带宽需求,总线必须采用fbus时钟,BWstatic是SRAM所需的带宽,BWdyn是DRAM所需的带宽,width则表示连接存储器与主机系统的总线数据引脚的数量:对于任意时间周期,DDR方案都比SDR能提供更多的时钟沿和更多的时隙,因此带宽和延迟需求都可以在很小的区间内进行调节。下式表示了这种方案下的最大延迟:上述情况下,周期(period)表示时隙分配的周期时间,一种器件只能分配一个时隙。降低延迟可以通过提供总线和时隙频率来实现。
建立存储器系统总线只能辅助性地提高DRAM通道的延迟性能。手机的每32字节缓存线需要16个节拍,而PC机每32字节缓存即仅需要4个节拍,一个周期附加的延迟达到了每节拍1/8周期,性能降低不超过12.5%,很容易通过超频总线进行补偿。如果在存储器通道中允许采用集成的非授权MUX结构就不会有附加延迟出现。这样做会影响的设计,因为时序关闭带来的复杂性使得设计更加困难,通常需要考虑ASIC设计问题。
这种存储器系统应该是易于被接受的,因为它允许采用现有的存储器系统。同时实现主机接口和规范的DRAM/SRAM控制器是可能的。主机CPU的DRAM控制器能够与新的存储器主机接口共享DRAM焊盘。如果SRAM控制器的焊盘以粘接方式实现,则同样的CPU裸片就能配置为支持传统或新型存储器系统的器件。对于主机控制器增加的是门的数量。
总之,不同的存储器系统均可用于相同的主机平台,并根据性能和成本扩展多种系统。重新分区的方法减轻了外部总线的负担并为主机和存储器系统之间提供了统一的的总线标准,从而将外部存储器带宽提高到10Gbps并减少了60%的引脚数量,进而降低了每个CPU的成本。此外,这种方式还为存储器系统提供了一个独立的物理层,可以将现有存储器总线透明地移植到未来的架构当中。(end)
|
|
文章内容仅供参考
(投稿)
(5/29/2006) |
对 手机/通信/网络设备 有何见解?请到 手机/通信/网络设备论坛 畅所欲言吧!
|