存储器了解

1、sdio

之前弄过一个wifi模块,在stm32单片机上,基于sdio开发的。

SDIO-Wifi模块是基于SDIO接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户主平台数据通过SDIO口到无线网络之间的转换。SDIO具有传输数据快,兼容SD、MMC接口等特点。

寄存器里触发function,用sdio的协议,通过发命令和数据来控制的。

SDIO 本身是一种相当单纯的技术,透过 SD 的 I/O 接脚来连接外部外围,并且透过 SD 上的 I/O 数据接位与这些外围传输数据。

 

CLK信号:HOST给DEVICE的 时钟信号,每个时钟周期传输一个命令。

CMD信号:双向 的信号,用于传送 命令 和 反应。

DAT0-DAT3 信号:四条用于传送的数据线。

VDD信号:电源信号。

VSS1,VSS2:电源地信号。

2、ufs,nand, ssd,emmc

都是属于闪存(Flash Memory)的不同种类,区别主要在于控制器,接口标准以及更底层的 Flash 芯片标准。它们在电脑/手机等系统中的主要作用是作为存储设备(storage)/文件系统。(注意它们虽然也叫memory,但和运存的 memory是完全两回事儿)。

以前电脑系统中的主要的存储设备是机械式磁盘,访问速度慢,体积庞大,功耗高,而且对震动非常敏感,因此很难用于小型化的移动设备里。Flash Memory 出现后,由于没有移动部件,几乎完美解决了以上机械硬盘的各种问题,因此很快在各种移动设备中获得广泛应用。(当然,Flash的写操作和寿命的问题也比较复杂,但这不是本文的讨论重点) 而且基于Flash 的 SSD 硬盘性能普遍好于传统机械硬盘,因此也成为了PC/服务器的主流存储设备。

SSD 主要作用是取代 PC/服务器 上的 HDD 硬盘,它需要:

  • 超大容量(百GB~TB级别)
  • 极高的并行性以提高性能
  • 对功耗,体积等要求并不敏感
  • 兼容已有接口技术 (SATA,PCI等)

而 eMMC 和 UFS主要都是针对移动设备发明的,它们需要:

  • 适当的容量
  • 适当的性能
  • 对功耗 ,体积的要求极其敏感
  • 仅需遵循一定的接口标准 (稍后解释)

一个SSD,为了达到高并行高性能的要求,有多个Flash 芯片,这样就可以在每个芯片上进行相互独立的读写操作,以并行性来提高硬盘吞吐量,还可以增加冗余备份。而手机中为了节省空间和功耗,通常只有一片密度较高的 Flash 芯片。

MMC前面加了个embedded,主要就是为了突出现在这个设备是embedded 在电路板上。eMMC 和 MMC一样,沿用了 8 bit 的并行接口。在传输速率不高的时代,这个接口够用了。但随着设备对接口的带宽要求越来越高,想把并行接口速率提高也越来越难。eMMC 的最新 5.1标准理论最高值最高可以达到400 MB/s,再往上提高频率也不是不行,但就未必划算了

与其用一个比较宽的并行接口以较低的速率传输,用一个串行接口用非常高的速率传输似乎更划算一些(带宽,功率,成本各方面综合考虑)。所以这个时候 UFS 应运而生,用高速串行接口取代了并行接口,而且还是全双工的,也就是可以读写同时进行。所以相比 eMMC, UFS的理论性能提高不少,甚至可以达到一些SSD的水准。

电脑上,从HDD 到SSD,从SATA SSD到PCIe SSD,硬盘是越来越快;

手机上,从SD卡,到eMMC卡,再到UFS卡,存储卡的速度也是越来越快。现在一般手机配的是eMMC,旗舰高端手机配的是UFS。

UFS最新标准是UFS3.0,于2018年1月30日发布。它最大带宽可以达到2163MB/s!4倍SATA3.0的速度 (600MB/s),超过PCIe3.0x2的速度(2GB/s单向速度)。不过,目前市面上的UFS产品还是UFS2.0/2.1,其最大带宽1081MB/s,也是秒杀一般的SSD。

UFS为什么能那么快?

首先,它在数据信号传输上,使用的是差分串行传输。这是UFS快的基础。所有的高速传输总线,如SATA,PCIe,SAS,都是串行差分信号。串行,可以使用更快的时钟(时钟信息可以嵌在数据流中);差分信号,即用两根信号线上的电平差表示0或者1。与单端信号传输相比,差分信号抗干扰能力强,能提供更宽的带宽(跑得更快)。打个比方,假设用两个信号线上电平差表示0和1,具体来讲,差值大于0,表示1,差值小于0,表示0。如果传输过程中存在干扰,两个线上加了近乎同样大小的干扰电平,两者相减,差值几乎不变,你大爷还是你大爷。但对单端信号传输来说,就很容易受干扰,比如0-1V表示0,1-3V表示1,一个本来是0.8V的电压,加入干扰,变成1.5V,相当于0变成1,数据就出错了,你大妈已经不是你大妈了。抗干扰能力强,因而可以用更快的速度进行数据传输,从而能提供更宽的带宽了。

UFS的前辈是eMMC,使用的是并行数据传输。并行最大的问题是速度上不去,因为一旦时钟上去,干扰就变大,信号完整性无法保证。

其次,UFS和PCIe一样,支持多通道数据传输,目前最多支持两个通道。多通道可以让UFS在成本、功耗和性能之间做取舍。

还有,它是全双工工作模式,就是读写可以并行。它的前辈eMMC是半双工,读写不能同时进行。

UFS协议上层,怎样来充分发挥底层速度快的优势呢?

UFS支持命令队列,就是主机一下可以发很多个命令下去,然后UFS设备支持并行和乱序执行,谁先完成谁先返回状态。这种命令处理方式叫做异步命令处理。而它的前辈eMMC,是不支持命令队列的,命令一个一个执行,或者一包一包(每个包里面含有若干个命令)执行,前面命令没有执行完成,后面的命令是不能发下去的。这种命令处理方式叫做同步命令处理。

如果说eMMC是手机中的HDD,那么UFS就是手机中的SSD。

Flash又分NAND Flash和NOR Flash,NOR型存储内容以编码为主,其功能多与运算相关;NAND型主要功能是存储资料,如数码相机中所用的记忆卡。

  现在大部分的SSD都是用来存储不易丢失的资料,所以SSD存储单元会选择NAND Flash芯片。这里我们讲的就是SSD中的NAND Flash芯片。

(1)Nor Flash:主要用来执行片上程序

  优点:具有很好的读写性能和随机访问性能,因此它先得到广泛的应用;

  缺点:单片容量较小且写入速度较慢,决定了其应用范围较窄。

(2)NAND Flash:主要用在大容量存储场合

  优点:优秀的读写性能、较大的存储容量和性价比,因此在大容量存储领域得到了广泛的应用;

  缺点:不具备随机访问性能。

 

参考链接:https://zhuanlan.zhihu.com/p/26551438

https://www.cnblogs.com/Christal-R/p/7230304.html

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值