存储器基础入门

2023-11-17

1、泰瑞达机台

      Magnum VU本身作为一个灵活,集合式的测试平台,可以支持所有NAND以及MCP(MCP (Multiple Chip Package) 存储器,MCP是在一个塑料封装外壳内,垂直堆叠大小不同的各类存储器或非存储器芯片,是一种一级单封装的混合技术,用此方法节约小巧印刷电路板PCB空间。本质就是积木式)类产品的测试。不仅仅可以支持最前沿的符合UFS3.0, uMCP和PCIe Gen4协议的移动/车载产品,同时也支持遵循ONFI和Toggle协议的SSD NAND。当然, 传统NAND相关的产品,包括 UFS 2.1, PCIe Gen3,e.MMC和eMCP也同样在支持列表当中。Magnum VU最大配置可以支持768颗被测产品同时测试,且支持每颗被测产品均工作在双链路16Gbps的条件下。使得平台能在配置不变的前提下,拥有更好的信号收/发性能,同时能支持所有的测试协议。

 

2、存储器术语

2.1 机械和固态

机械硬盘是磁头读取转动的磁碟,顺序读写;

固态硬盘是主控读写nandflash,按位读写。

ROM的发展历程:

2.2 nand 

nand flash的表现形式为人熟知的就是U盘和SSD。

 

NVMe:NVM Express(NVMe),或称非易失性内存主机控制器接口规范(Non-Volatile Memory express),是一个逻辑设备接口规范。他是与AHCI类似的、基于设备逻辑接口的总线传输协议规范(相当于通讯协议中的应用层),用于访问通过PCI-Express(PCIe)总线附加的非易失性内存介质,虽然理论上不一定要求 PCIe 总线协议。

SSD(固态硬盘)最为主流的传输协议有两种。一种是AHCI协议,另一种是NVMe协议。一般来说,基于NVMe协议的SSD在读写性能上都远远超过了SATA接口极限的6Gbps。比如三星 960PRO NVME SSD就是采用NVMe协议,有着非常高的速度性能。

目前支持NVMe协议的SSD在接口类型上,也几乎都是M.2接口,走PCIe通道的,也就是说所有基于SATA接口的SSD都无法支持NVMe协议传输协议,无法享受全新协议带来的极限性能。

 

PATA:Parallel Advanced Technology Attachment

IDE:Integrated Drive Electronics

AHCI:Serial ATA Advanced Host Controller Interface

SATA:Serial Advanced Technology Attachment即为Serial ATA

SCSI:Small Computer System Interface

SAS:Serial Attached SCSI

SSD:Solid State Disk或Solid State Drive

FC:光纤通道的英文拼写是Fibre Channel,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。它以点对点(或是交换)的配置方式在系统之间采用了光缆连接。即, 硬盘本身是不具备FC接口的, 插硬盘的机柜上带有FC接口, 通过光纤与光纤交换机互联.

 

传输总线(物理层协议,大部分还包括了链路层和传输层协议):PCIE SATA (P)ATA SCSI SAS ,民用领域从ATA到SATA,服务器领域从SCSI到SAS。SAS可以兼容SATA。传输总线相当于道路类型,如普通公路、高速公路、火车轨道、高铁轨道、航空线路,直接决定了物理上的传输上限,不同总线物理接口不同。

应用层协议:交通工具。IDE  AHCI   SATA  NVMe 。一般来说交通工具是和道路类型绑定的,如火车就只能走轨道,而不能走公路,但是一种道路类型可以走不同的交通工具,如公路既可以走货车,也可以走小汽车,小汽车比货车跑的快 ,同理,ATA总线可以跑IDE协议,也可以跑ACHI协议,AHCI协议比IDE协议快。

PC端:IDE和AHCI跑在PATA上,SATA跑在SATA上。服务器端:SCSI和SAS跑在SCSI上。  都是机械式硬盘。

SSD:PC端和服务器端都可以使用,传输总线是PCIE,应用层协议是NVMe。

                            SSD通信协议

2.3 mobile nand

       mobile nand在移动端使用的nand flash。典型的有emmc,ufs。

       eMCP是结合eMMC和MCP封装而成的智慧型手机记忆体标准,与传统的MCP相较之下,eMCP因为有内建的NAND Flash控制晶片,可以减少主晶片运算的负担,并且管理更大容量的快闪记忆体。以外型设计来看,不论是eMCP或是eMMC内嵌式记忆体设计概念,都是为了让智慧型手机的外型厚度更薄,机壳密闭度更完整。

       uMCP即基于UFS的多芯片包(uMCP)利用了超快通用闪存(UFS)2.1控制器,为细长设计提供了大的性能和功率节省。结合了LPDRAM、NAND和车载控制器的微米uMCP,比双芯片移动解决方案(PoP+离散NAND)使用少40%的空间,减少了内存占用,并支持更灵活的系统设计。我们的MCP使用先进的封装技术,将移动DRAM堆叠在管理的NAND之上,这允许适合较小的智能手机设计的高密度、低功耗存储解决方案。

 

ufs2.1性能是emmc5.1的三倍差不多,就是说ufs很强,但这不是说emmc弱,目前仍有笔记本使用emmc的存储。

emmc5.0速度320MB/s
emmc5.1速度500MB/s
ufs2.0 hs-g2 速度 720MB/s,理论上达到5.8Gbps,
ufs2.1 hs-g3 速度 1.45GB/s,理论上达到11.6Gbps,
ufs3.0 速度2.9GB/s,理论上达到23.3Gbps

2.4 nand和mnand区别 

从物理存储介质上来说,nand和mnand是一样的,都是nand flash,按位读写,用到PC和手机上就变成了SSD和ROM,根据使用场景不同,SSD比ROM容量大。最重要的区别就是对存储单元的管理上,即存储控制器和通信协议。

手机上再从eMMC到UFS的转型,eMMC和UFS是协议栈,定义了控制器从底层物理接口到应用层的全部内容。

PC上就是 PCIE+NVMe。

手机上的nand颗粒还有SLC、MLC和TLC之分。

2.5 UFS vs  NVMe

UFS和NVMe都可以看作是应用层的协议,从iPhone 6s开始,苹果在手机闪存上引入了NVMe协议(NVMe本来是用在SSD上的)。UFS常见于Android阵营的高端旗舰机型中,有UFS 2.0 HS-G3和UFS 3.0 HS-G3两种。

速度比较:

     UFS采用两条lane,2.1的最大带宽为11.6Gbps,约为1200MB/s;NVMe链路层采用PCIe,目前PCIe是3.0,一般采用4条lane,带宽4000MB/s,就算2个lane,也是2000MB/s,>1200MB/s。UFS3.0可以达到2400MB/s,PCIe 4.0 4 lane,8000MB/s。

命令集比较:

UFS采用UCS命令集,它是SCSI命令的一个子集。NVMe采用为NAND flash量身定制的精简ATA命令集,大大减少命令的复杂度,恐怖的命令队列数目和深度又保证了4K小文件的迅速读写。两者相比UFS命令集和理论处理能力上又大大落于下风。

 

为了控制成本,Android不用NVMe。emmmmm。

 

参考链接:http://www.teradyne.cn/products/test-solutions/semiconductor-test/magnum-vu

https://blog.csdn.net/carlsun80/article/details/78658581

https://www.jdbbs.com/thread-8531406-1-1.html

http://www.ssdfans.com/blog/2018/05/17/onfi与toggle协议之争/(三星东芝一伙过)

http://www.starjade.cn/jishu/jiejue/gutai/2018-03-30/111.html

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

https://www.cnblogs.com/awpatp/archive/2013/01/29/2881431.html

http://www.elecfans.com/d/874199.html

http://mini.eastday.com/bdmip/171224224412350.html#

http://www.sohu.com/a/196510603_616364

https://www.cnblogs.com/jinanxiaolaohu/p/10037725.html

https://forum.huawei.com/enterprise/zh/forum.php?mod=viewthread&tid=352721

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

存储器基础入门 的相关文章

随机推荐

  • 基于SSM的高校共享单车管理系统的设计与实现

    末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 Vue 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Maven项目 是
  • java线程5种状态_Java线程的5种状态及切换(透彻讲解)-京东面试

    一 Thread的几个重要方法 我们先了解一下Thread的几个重要方法 a start 方法 开始执行该线程 b stop 方法 强制结束该线程执行 c join方法 等待该线程结束 d sleep 方法 线程进入等待 e run 方法
  • JAVA多人聊天室(多线程基础聊天室可以私聊/群聊)

    创建一个类定义聊天的规则 package com test tcpmap 该程序定义了聊天的规则 public interface CrazyitProtocol 定义协议字符串的长度 int PROTOCOL LEN 2 下面是一些协议字
  • JWT的使用详解

    背景 公司处在前后端分离的转折阶段 作为后端人员 要找到一个适用于接口验证的方式 公司仍保持后端使用Laravel框架 而laravel框架默认的是 web 方式 web 方式是使用 session 来进行用户认证 当然也是可以使用 但是有
  • php 上传 excel xlsx_Vue自定义指令实现快速读取Excel

    前几天因为业务需求 所维护的而后台中出现了大量关于上传下载Excel的操作 因为我们的后台是基于Vue 并且是在 vue element admin 的基础上结合实际需求开发而来 vue element admin 中也有一些相关操作 Ex
  • Linux主线程与子线程关系

    问题背景 起因 笔者在开发一个统计Linux系统各个进程 线程loading的软件 精度高于top命令 目前是间隔500ms采样一次 在内核遍历所有线程时 发现如果有的线程在采样间隔中间退出的话 for each process不能遍历到该
  • 你了解Java的内部类吗

    系列文章 该文章为第一篇 前言 内部类顾名思义指的就是一个类声明在另一个类的内部 我们在平时读源码时或多或少见过内部类 但自己写的代码中可能基本不使用或很少使用他们 即使用了可能也不太清楚为什么要使用 只知道可以使用 文章开始之前先罗列一下
  • Numpy章节 3 高级功能

    章节 3 高级功能 1 数组的迭代和排序 NumPy提供了迭代数组元素的方法 并且可以对数组进行排序 示例代码 arr np array 3 1 5 2 4 迭代数组元素 for x in arr print x 输出 3 1 5 2 4
  • matlab运行一直正忙,MATLAB运行时一直处于忙的状态,是不是程序存在死循环

    本帖最后由 安然娜124 于 2016 4 26 21 37 编辑 疑惑 1 该程序点击运行后一直处于忙的状态 好久都没反应 不知道是程序中for语句太多导致的 还是语句存在死循环 2 如果程序可以运行 不管出没出结果 是不是都代表所编的程
  • 使用JavaScript调用常用浏览器,解决IE浏览器兼容性问题

    目录 前言 JavaScript代码 此贴为个人学习记录 便于以后使用 前言 开发中经常会遇到用户使用IE浏览器的情况 但是由于各种兼容问题 网页实际显示效果和开发的效果有较大出入 所以有了以下解决方案 如果当前网页用户使用IE浏览器打开
  • Pytorch中经常见到的View( )函数

    Pytorch里经常会见到tensor view a b c a b c等等都是函数内的参数 可以理解为reshape功能 重构张量的维度 比如 a torch Tensor 2 3 print a tensor 0 0000 0 0000
  • 3D星球动画html,基于Three.js实现的3D土星(星球)动画

    JavaScript 语言 JaveScriptBabelCoffeeScript 确定 function getMat color our material is a phong material with no shininess hi
  • 【c++primer第五版】第六章函数-函数基础、参数传递、返回类型、函数重载、函数指针

    目录 函数基础 局部对象 函数声明 参数传递 main 处理命令行选项 特殊用途语言特性 调试帮助 函数匹配 函数指针 函数是一个命名了的代码块 通过调用相应的函数来执行相应的代码 函数可以有0或多个参数 通常会产生一个结果 也可以重载函数
  • QT——C++ 多线程05

    目录标题 一 创建多线程的方式 一 方式一 二 方式二 三 方式三 一 创建多线程的方式 QT创建 使用 多线程的方式有三种 直接创建QThread 对象 重写run方法 最后调用start方法启动线程 通过调用QObject类提供的mov
  • k8s基础概念、ETCD

    原理 和k8s结合点 etcd与k8s的交集 维护 基础概念 物理组件 逻辑组件 网络组件 工作负载 1 物理组件 Master Control plane kube apiserver 提供唯一api接口 提供集群管理接口 用户认证授权
  • 【Qt】使用 setWindowFlags 方法设置窗体的最小化、最大化、关闭按钮

    一 设置方法 void setWindowFlags Qt WindowFlags type Qt WindowFlags 有很多参数 其中 窗口最小化按钮 Qt WindowMinimizeButtonHint 窗口最大化按钮 Qt Wi
  • html 识别文本中的\n 进行换行

    文本内容有 n 怎么换行 1 v html渲染 使用正则将 n 替换成 br 标签 再用v html渲染 this content value replace n g br div div 2 使用css的white space div t
  • 学好少儿编程做人工智能开拓者

    乔布斯曾经说过 人人都应该学习编程 因为它教会你如何思考 格物斯坦小坦克认为少儿编程教育已经不再是一个遥远的话题 它逐渐成为一个趋势 成为一个现实 少儿教育编程行业领域的火爆 也反映出了国家对于少儿编程教育的重视 以及行业对编程人才的刚性需
  • 虚拟化技术7小问

    目录 kvm中的虚拟机cpu核心大于1 虚拟机就不能启动 只能设置为1的时候虚拟机才能启动 是什么原因 如何查看虚拟机宿主机的CPU是否支持硬件虚拟化 宿主机支持虚拟化 是不是还要开启相关的设置 虚拟机中再安装的虚拟机是不是只能是单核的虚拟
  • 存储器基础入门

    1 泰瑞达机台 Magnum VU本身作为一个灵活 集合式的测试平台 可以支持所有NAND以及MCP MCP Multiple Chip Package 存储器 MCP是在一个塑料封装外壳内 垂直堆叠大小不同的各类存储器或非存储器芯片 是一