对存储带宽的要求使手机设计面临两难抉择

时间:2013-01-09来源:网络

以这种方式对存储器系统进行重新分配,为主机和存储器系统之间提供了一条统一总线,同时考虑到了密度、存储器类型以及速度级等性能指标。此外,该方法还最小化了外部总线的负荷,因而允许更高的总线频率,这是减少引脚数量的预备条件。而且,重新分区也同时把存储器件之间大量引脚的接口限制为典型多芯片封装(MCP)内部的一种解决方案,这降低了手机成本,并允许在MCP中容纳更多的存储模块(Memory Bank)。

主机与存储器系统之间采用统一总线,可尽量减轻外部总线的负荷。主机接口与客户机接口之间的总线以DDR存储器总线来实现,因此作为实例存储器系统的总体外部引脚数量在35至43之间(控制总线:15个引脚,地址总线:12个引脚,数据总线:8到16个引脚) 。

根据时钟频率的不同,以上所给出的系统划分可使外部存储器带宽仅以43个引脚就达到10Gbps,因而可将外部引脚数目减少约60%,同时大大增强性能。此外,由于引脚数量的减少,单个CPU的成本也随之降低。最为重要的是,这种方法将存储器与总线各自独立开来,从而能够建立起分层的存储器-系统架构,甚至允许以一种对存储器透明的模式把总线移植到超高速的差分结构中。基于这种方式,存储器件可以开发成直接与总线相连,或是可开发成经重配置总线接口之后再与总线连接的结构。

客户机接口与主机接口之间的总线可以被所有存储器件共享,虽然目前的系统中通常只有静态存储器(NOR、SRAM和NAND)共享一条总线。因此必须谨慎设计系统以避免延迟问题,尤其是对DRAM存储器而言,这个问题对系统的整体性能影响最大。

延迟问题

只有当处理单倍数据率(SDR)器件时,延迟问题才能得到解决。在这种情况下,静态存储器可以和动态SDR多路复用,即在每半个时钟周期中利用工作在双倍数据率(DDR)模式下的总线使一种存储器工作。通过访问传统存储子系统和重新分区的子系统的存储器,再对二者在时序上的区别进行比较可以看到,后者能够避免延迟带来的影响。

大部分逻辑操作都发生时钟沿(通常是上升沿)。主机控制器在上升沿创建信号,该信号在下一个上升沿时在迭置焊接层(registered pad layer)被捕获。如果这种重新分区的存储器系统如同惯有的那样在上升沿的同时输出信号,就不存在延迟问题。

在重新分区的结构中,控制器在上升沿建立信号,焊接层(Pad Layer)在下一个下降沿捕获信号。客户机控制器在下一个上升沿将信号输出,因此存储器件在存储接口上得到相同的时序。

建立的系统时序在一个时钟周期内很可能无法避免延迟,但在大多数情况下,延迟损失是可以预防的。为弥补这种不能避免的相对较小的延迟,可以增加预取(prefetch)功能。在存取数据n的期间,可以自动读取数据n+1,这样,延迟问题实际上就得到了改善。

在存储子系统内部采用预取技术(prefetching)的结果是带宽随延迟的改善平均增加15%。这对于可能需要大量预取的随机数据和DSP操作是正确的。预取并不会引起性能的降低,但如果预取的数据并非在放回预取缓存器中之前CPU所需的,则会导致功率的浪费。实现预取方案的逻辑相当直接简单。预取缓存器可以在客户机总线接口中实现以避免使用用户存储器。

对带宽的影响

对于存储器系统而言,恒定带宽(sustained bandwidth)是一个关键参数。如上所述,引入重新分区存储控制器的客户机接口会增加存储器访问的延迟,而延迟对对恒定带宽有很大影响。

由于恒定带宽是评价存储器系统性能的一个关键指标,就必须考虑慢速和快速存储器如何在同一条总线上操作的问题。恒定带宽是最小的总线和器件带宽。较慢的闪存(Flash)存储器工作频率最高为100MHz,需要大得多的容量。相对于DRAM,对闪存的访问很少,因此,如果能够通过在DRAM中临时缓存高峰数据流并使进出Flash的流量更加恒定,则较慢的恒定带宽是可以接受的。若宽度W的Nburst是可变的,则恒定带宽可表示为:

BWsust=W×Nburst/(tini+Nburst–1)×twords/s

峰值带宽可表示为:

BWpeak=W/twords/s

许多手机应用如录音和照相,都证明“突发”活动并不总是需要匹配目标存储器带宽与峰值应用带宽。在那种情况下,对临时缓冲器的管理非常关键,因为它占用了更长的时间在后台复制数据,同时也为CPU提供了临时的数据存储空间。重新分区的存储器系统允许采用双端口(端口A和端口B)的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指派给执行后台复制的该端口时,这就可以以简单的方法保持数据的一致性。

信令问题

在最简单的情形下,连接到主机的静态和动态存储器均为SDR器件,并共享一条存储总线。这时可以采用一个简单的方法来实现DDR模式下共享总线的操作。时钟上升沿可用于所有DRAM操作,下降沿则可用于所有SRAM操作。在本质上,主机控制器在一个DDR流中多路复用了两个SDR数据流,故而可以为SRAM和DRAM提供两个独立的通道。

如果主机的SRAM和DRAM控制器在上升沿进行操作,则这种方案中对于一个通道的延迟为零,而对于另外一个通道的延迟为半个时钟周期。通过重新分区时序,这种延迟就可以消除。

另一方面,采用DDR存储器时,上述简单的映射方案不适用。不过有一种简单的扩展方法也可用于支持DDR器件。

SDR方法定义了一种共享总线上的时隙方案(timeslot),这种时隙就是半个时钟周期中两个捕获的时钟边沿间的时间。时隙在SRAM和DRAM间是均匀分配的。为满足DDR器件的带宽需求,总线必须采用fbus时钟,BWstatic是SRAM所需的带宽,BWdyn是DRAM所需的带宽,width则表示连接存储器与主机系统的总线数据引脚的数量:

Fbus=1/2×((BWstatic+BWdyn)/Width)

对于任意时间周期,DDR方案都比SDR能提供更多的时钟沿和更多的时隙,因此,带宽和延迟需求都可以在比SDR方法更精细的区间内进行调节。

建立存储器系统总线只能辅助性地提高DRAM通道的延迟性能(每个方向不超过一个时钟)。

考虑到手机的每32字节缓存列(Cache line)需要16个节拍,而PC机每32字节缓存列仅需要4个节拍,一个周期附加的延迟造成每节拍1/8周期的负荷,性能降低不超过12.5%,这很容易通过超频总线进行补偿。如果在存储器通道中允许采用集成的非授权mux结构,就不会有附加延迟出现。

这种存储器系统应该是很容易被接受的,因为它允许采用现有的存储器系统。同时实现主机接口和规范的DRAM/SRAM控制器是可能的。主机CPU的DRAM控制器能够与新的存储器主机接口共享DRAM焊盘(通过配置寄存器或键合方式)。如果SRAM控制器的焊盘以键合方式实现,则同样的CPU裸片就能配置为支持传统或新型存储器系统的器件。

总之,不同的存储器系统均可用于相同的主机平台,并可以根据性能和成本扩展多种系统。

重新分区的方法最大限度减轻了外部总线的负荷,并为主机和存储器系统之间提供了一条统一总线,从而将外部存储器带宽提高到10Gbps,并减少了60%的引脚数量,进而降低了每个CPU的成本。此外,这种方式还为存储器系统提供了一个独立的物理层,可以把现有存储器总线透明地移植到未来的架构中。

1 2

关键词: 存储带宽 手机设计

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版