- 带宽需求整理
芯片传输系统中所需要的“带宽”是DDR控制系统最重要的需求。评估芯片的带宽需求可以帮助确认选择DDR颗粒的位宽及颗粒数、控制器的传输效率、DDR颗粒工作频率等,这些重要指标可以帮助后面的控制器及PHY IP选型。
业务的最大带宽需要跟SE确认芯片的最大带宽的工作场景,需要注意的是:
- 实际业务读和写即对于存储系统的两个方向的操作都应算入总的带宽需求
- 实际的带宽需要考虑业务的开销,高于理论纯业务端口带宽
- DDR理论带宽= 颗粒位宽 * DDR工作频率 * 2
- 实际带宽还需要考虑控制器业务的调度效率(粗略估计可以按照50%评估)
- 不同的业务帧长也会影响调度效率,最差情况分块65、129、257这种帧长,若业务有相关帧长的最低流量要求评估带宽时需要着重考虑
- 考虑不同的颗粒及最大工作频率
- 1 DDR协议、工作频率及理论带宽
DDR协议 | Width(bit) | Per-pin data rate(Gbps) | 理论带宽(Gbps) |
DDR4 | 64 | 3.2 | 204.8 |
LPDDR4 | 64 | 4.266 | 273 |
DDR5 | 64 | 5.6 | 358.4 |
GDDR6 | 32 | 16 | 512 |
HBM | 1024 | 2 | 2048 |
DDR协议、工作频率及理论带宽
1.2 从DDR4颗粒突发角度估算不同帧长业务带宽方法
- 采用8组 DDR4-3200 64BIT X16配置(理论带宽64*3200=204.8Gbps)
- 每次DDR4突发块单元为64Bytes(BL8 64BIT)
- 当客户送来的突发块大小为1Byte,最为浪费,因为还要占用64Bytes的操作时间
- DDR4控制器总线效率采用60%来估算
- 64Bytes刚好是一次突发可以写完,没有额外开销,效率最高
- 65Bytes是2次突发可以写完
- 但最后一个Byte占用了一个完整的突发时间,可以认为65Bytes是1个突发加1个突发的额外开销,开销所占比例为M=1/2.
- 如果65Bytes的流量为B,则所需DDR带宽为B/(1-m)=2B
65 byte 业务为DDR 控制器的设计接收的最差数据图案,即理论上需要达到的最高数据带宽。
- 129Bytes是3次突发可以写完
- 但最后一个Byte占用了一个完整的突发时间,可以认为129Bytes是2个突发加1个突发的额外开销,开销所占比例为M=1/3
- 如果129Bytes的流量为B,则所需DDR带宽为B/(1-m)=1.5B
- 257Bytes是5次突发可以写完
- 但最后一个Byte占用了一个完整的突发时间,可以认为257Bytes是4个突发加1个突发的额外开销,开销所占比例为1/5
- 如果257Bytes的流量为B,则所需DDR带宽为B/(1-m)=1.25B
- 65Bytes时开销所占比例最高,65Bytes为极端情况
- DDR带宽需求为3.3B(最差情况).
- 帧长越长,开销所占比例越低,DDR带宽需求越接近1.7B