《东南大学soc课件8 存储子系统(3学时)教材》由会员分享,可在线阅读,更多相关《东南大学soc课件8 存储子系统(3学时)教材(60页珍藏版)》请在金锄头文库上搜索。
1、1 SoC存储子系统 2 目录 1、存储子系统简介 2、常用的存储器 3、外部存储器控制器EMI 4、SD/MMC控制器 5、存储子系统性能优化 3 核心是解决容量、速度 、价格间的矛盾,建立 起多层存储结构。 一个金字塔结构的多层 存储体系 充分体现出 容量和速度关系 Cache主存层次 : 解决CPU与主存的速度 上的差距 ; 主存辅存层次 : 解决存储的大容量要 求和低成本之间的矛盾 。 多层存储结构概念 4 SoC中存储系统层次性结构 芯片级 板级 嵌入式处理器核(寄存器) 紧密耦合存储 器TCM 片上SRAM 片外SDRAM、SRAM FLASH及其他非易失存 储器 Cache 每b
2、it价格降 低 容量增大 存取时间增大 访问频度降低 存取能耗增大 5 目录 1、存储子系统简介 2、常用的存储器 3、外部存储器控制器EMI 4、SD/MMC控制器 5、存储子系统性能优化 6 随机存取存储器RAM a. 静态RAM 同步SRAM 在统一时钟的控制下同步操作,一般支持突发操作 FIFO 先进先出 Multi-SRAM 具有多数据端口 非挥发 SRAM(NV SRAM) 静态加后备电源 类SRAM 用动态RAM,内部加刷新电路 b. 动态RAM SDRAM DDR II SDRAM DDRIII SDRAM 只读存储器ROM a. 掩膜式ROM b. 可编程的PROM c. 可
3、用紫外线擦除、可编程的EPROM d. 可用电擦除、可编程的E2PROM等 e. 在线编程擦除的FLASH 半导体存储器的分类 7 按构成存储器的器件和存储介质分类 半导体存储器 磁盘和磁带等磁表面存储器 光电存储器 按存取方式分类 随机存储器RAM (Random Access Memory) 只读存储器ROM(Read-Only Memory) 串行访问存储器(Serial Access Storage) 按在计算机中的作用分类 主存储器(内存) 辅助存储器(外存) 高速缓冲存储器 存储器的分类 8 RAM SRAM 面积大 速度快 DRAM 需要隔一定的周期进行刷新 面积小(13个晶体管
4、) 速度慢 SDRAM Synchronous Dynamic Random Access Memory(同步动态随机存储器 ) 数据的读写需要时钟来同步 DDR SDRAM Double Data Rate Synchronous Dynamic Random Access Memory(双 数据率同步动态随机存储器) 允许在时钟脉冲的上升沿和下降沿传输数据,这样不需要提高时钟的频 率就能加倍提高SDRAM的速度 9 FLASH NOR FLASH 容量小 价格贵 可以按位读写 NAND FLASH 容量大 价格便宜 不能按位读写,需要按block进行读写 10 NOR FLASH NOR技
5、术(亦称为Linear技术)闪速存储器是最早出现的Flash Memory,目前仍是多数供应商支持的技术架构。它源于传统的EPROM 器件 在擦除和编程操作较少而直接执行代码的场合,尤其是纯代码存储的 应用中广泛使用,如PC的BIOS固件、移动电话、硬盘驱动器的控制存 储器等。 NOR技术Flash Memory具有以下特点: 程序和数据可存放在同一芯片上,拥有独立的数据总线和地址总线 ,能快速随机读取,允许系统直接从Flash中读取代码执行,而无 需先将代码下载至RAM中再执行; 可以单字节或单字编程,但不能单字节擦除,必须以块为单位或对 整片执行擦除操作,在对存储器进行重新编程之前需要对块
6、或整片 进行预编程和擦除操作。 由于NOR技术Flash Memory的擦除和编程速度较慢,而块尺寸又较 大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存 储的应用中,NOR技术显得力不从心。 11 NAND FLASH技术 NAND技术 Flash Memory具有以下特点: 以页为单位进行读和编程操作,1页为256或512B(字节);以 块为单位进行擦除操作,1块为4K、8K或16KB。具有快编程和快 擦除的功能,其块擦除时间是2ms;而NOR技术的块擦除时间达到 几百ms。 数据、地址采用同一总线,实现串行读取。随机读取速度慢且不 能按字节随机编程。 芯片尺寸小,引脚少,是位
7、成本(bit cost)最低的固态存储器 ,将很快突破每兆字节1美元的价格限制。 芯片包含有失效块,其数目最大可达到335块(取决于存储器密 度)。失效块不会影响有效块的性能,但设计者需要将失效块在 地址映射表中屏蔽起来。 Samsung公司在1999年底开发出世界上第一颗1Gb NAND技术闪速 存储器 基于NAND的存储器可以取代硬盘或其他块设备。 12 NOR 与 NAND FLASH的比较 NORNAND 性能比较读取速度稍快擦除和写入速度远远大于NOR flash 擦除Nor器件时是以64128KB的块进行的,执行 一个写入/擦除操作的时间为15s;擦除Nand器 件是以832KB的
8、块进行的,执行相同的操作最多 只需要4ms。 接口差别Nor Flash带有SRAM接口,有足 够的地址引脚来寻址,可以很容 易地存取其内容的每一字节。用 作程序存储器 Nand器件使用复杂的I/O口来串行地存取数据,各 个产品或厂商的方法可能各不相同。Nand的读和 写操作采用固定大小的块,这一点有点像硬盘管理 此类操作。 容量和成 本 小 ,116MB,成本高,存储代 码 非常大,Nand Flash的单元尺寸几乎是Nor器件的 一半。由于生产过程更为简单,Nand结构可以在 给定的尺寸内提供更高的容量。 16MB512B以上 ,存储数据 可靠性和 耐用性 可擦写10万次可擦写100万次
9、存在位反转和坏区的问题,需要进行EDC/ECC算 法校验和坏区标识管理 易用性可以非常直接地使用基于Nor的闪 存,像SRAM存储器那样连接, 并可以在上面直接运行代码。 由于需要I/O接口,Nand要复杂得多。各种Nand器 件的存取方法因厂家而异。在使用Nand器件时, 必须先写入驱动程序,才能继续执行其它操作。 13 SEP3203的片外存储器 14 Flash存储器接口 Flash设计实例 Nor Flash Nand Flash 15 主存储器的主要技术指标 存储容量 存储器可以容纳的二进制信息量称为存储容量(寻址空 间,由CPU的地址线决定) 实际存储容量:在计算机系统中具体配置了
10、多少内存。 存取速度:存取时间是指从启动一次存储器操作到完成 该操作所经历的时间,又称为读写周期。 可靠性:可靠性是用平均故障间隔时间来衡量(MTBF, Mean Time Between Failures) 功耗:通常是指每个存储元消耗功率的大小 16 6管SRAM WL BL V DD M 5 M 6 M 4 M 1 M 2 M 3 BL Q Q P485 17 8x8SRAM阵列 18 单管DRAM Write: Cs is charged or discharged by asserting WL and BL. Read: Charge redistribution takes pl
11、aces between bit line and storage capacitance Voltage swing is small; typically around 250 mV. 19 ROM WL BL WL BL 1 WL BL WL BL WL BL 0 VDD WL BL GND 二极管ROMMOS ROM 1MOS ROM 2 20 读写时序 读出时间:从存储器中读出数据所需要的时间,等于从提出读请求到数据在输出端上有效之 间的延时。 写入时间:从提出写请求到最终把输入数据写入存储器之间所经过的时间。 读/写周期时间:在前后两次读或写操作之间所要求的最小时间间隔。这一时间通
12、常大于存 取时间。 21 DRAM和SRAM时序比较 DRAM TimingSRAM Timing 地址变化启动存储器操作 22 SRAM接口时序(SRAM, FLASH) SRAM和Nor Flash的读时序 tCS_WAIT:地址有效后片选保持为高电平(无效)的时间 tCS_HOLD:片选从低电平变为高电平之后保持高电平的时间 tOE_WAIT:片选有效后OE保持高电平所需要的时间 tOE_HOLD:OE信号从低电平到高电平后保持高电平所需要的时间 tOE_EN:OE信号保持低电平(有效)需要的时间 SRAM和Nor Flash的写时序 tCS_WAIT:地址有效后片选保持为高电平(无效)
13、的时间 tCS_HOLD:片选从低电平变为高电平之后保持高电平的时间 tWE_WAIT:片选有效后WE保持高电平需要的时间 tWE_HOLD:WE信号从低电平到高电平后保持高电平所需要的时间 tWE_EN:WE信号保持低电平(有效)需要的时间 SDRAM芯片内部组织结构 芯片内部分为四个Bank 每个Bank又分为4096页 每页包含256个单元, 每个单元为16位 即4Banks4096行256单元16Bits 每个Bank为2M字节,整个芯片为8M字节。 因为每个单元是16位,所以需要两个芯片才能构 成32位系统。 SDRAM是多bank结构,其中一个bank在进行预 充电期间,另一个ba
14、nk马上可以被读取,这样当 进行一次读取后,又马上去读取已经预充电bank 的数据时,就无需等待,而是可以直接读取了。 这就大大提高了存储器的访问速度。为了实现这 个功能,SDRAM需要增加对多个bank的管理,实 现控制其中的bank进行预充电。在一个具有两个 以上bank的SDRAM中,一般会有实现bank选择 的引脚,用来实现在多个bank之间的选择。 对SDRAM数据读取要在敏感放大器中进行,将要 读取的页(Page)内容存放在敏感放大器的过程 称为激活(Active)。每个Bank只有一个敏感放 大器,也就是只能有一页数据处于被激活状态。 对其他页数据读取时,需要进页预充电( Pre
15、charge),将敏感放大器的内容写回到 SDRAM的存储体中,再激活(Active)需要读取 的页数据。因此,SDRAM芯片进页访问时,必须 根据当前操作地址对应Bank的状态来发出不同的 命令。SDRAM的这种页组织特性使得访问不同页 的存储单元时,由于需要进页预充电(Precharge )和激活(Activation)的换页操作,造成了存储 单元访问时间不同,这个过程带来的延时可能是 读取时间的几倍至几十倍。 CONTROL LOGIC ROW DECO DER COLUMN DECODER CELL ARRAY BANK #0 SENSE AMPLIFIER ROW DECO DER COLUMN DECODER CELL ARRAY BANK #1 SENSE AMPLIFIER ROW DECO DER COLUMN DECODER CELL ARRAY BANK #2 SENSE AMPLIFIER ROW DECO DER COLUMN DECODER CELL ARRAY BANK #3 SENSE AMPLIFIER SDRAM典型参数 结构参数Bank数目4 每个Bank中行数目1024 每个行中列数目256 单元大小16位 总大小8M字节 时序参数Bank预充