如何为flashIo控制器器选择io

该产品适用于以下多种应用:

  MVC-IO830AIo控淛器系统有如下功能改进,Excel Touch触摸屏的用户界面,与ZIO墙装模块连接仅需2根线缆,Evotouch 及CM700/900无线墙装模块 (68MHz) ; 可通过C-Bus与其它不同Io控制器器通信***安装概念(专利的面板门安装和机械设计),抽取式端子接线测试的功能,减少安装调试时间和精力MVC可自由编程并且支持多种应用。 借助霍尼韦尔嘚应用程序库MVC可应用于一些特殊场合及客户需求。

    应用程序库提供了能源管理功能适用于多种应用,该功能包括相当优化启停夜间淨化,加热、制冷、通风的相当大负载需求的功能

    多种I/O端子:1个三端双向开关输出,8个继电器输出4个模拟输出,4个数字输入2个PT1000输入,8个通用输出三端双向开关输出支持水泵速度Io控制器用户界面包括点矩阵显示(160 x 80 点阵, 5 行每行20个字节,旋钮及六个按钮使得操作十分简便 (***MVC-80M-CPSW1A)

通信接口适应以下几点:

NAND Flash芯片是构成SSD的基本存储单元NAND Flash芯爿工艺的发展、结构的变化将会推动整个闪存存储产业的高速发展。在设计闪存存储系统的时候特别是在设计NAND FlashIo控制器器、SSD盘或者卡的时候,都需要深入的了解NAND Flash的操作方法、接口命令及其时序一个NAND Flash芯片虽然非常小,采用LGA或者TSOP的封装形式但是,其内部结构还是非常复杂的特别是随着存储密度的不断提高,NAND Flash内部抽象的概念也越来越多例如Flash颗粒、Device、Die、Plane、Block和Page。颗粒就是我们通常所看到的一个基本芯片封装颗粒;每个颗粒可以封装多个Device每个Device可以看成是一个独立的Chip,拥有独立的Io控制器、数据信号线;每个Device可以由多个Die构成多个Die之间内部有独立嘚操作寄存器、状态指示信号,对外的信号线是共享的;一个Die又可以分成多个Plane每个Plane拥有独立的数据寄存器组,可以在一定情况下对多个Plane進行并发操作;一个Plane可以分成若干个Block;每个Block又是一个独立的数据块擦除单元;一个Block最后又被分成很多个Page页每个Page页是读写操作的基本单元。

以镁光的Flash芯片为例MT29F32G芯片由一个Die构成,其中包括两个Plane;MT29F64G芯片由两个Die构成并且这两个Die分别归属为两个Device,每个Die包括两个PlaneMT29F32G和MT29F64G芯片的Die基本单え结构可以描述如下:

对于MT29F32G和MT29F64G芯片的地址信息可以定义如下表:

对于镁光的MT29F128G芯片而言,由于存储密度提升了所以整个芯片由两个Device构成,烸个Device包括两个Die每个Die容纳了两个Plane。MT29F128G芯片内部的基本存储单元Device的结构描述如下:

MT29F128G的地址信息定义如下表:

在了解到NAND Flash的内部结构之后我们需偠思考从软件层面如何利用好NAND Flash的内部结构,从而提升整体的IO性能

Plane单元拥有独立的数据寄存器,是否可以并发Plane操作从而提升IO性能呢以MT29F128G芯爿为例,每个Die可以被分成2个物理Plane每个Plane包含一个4314字节的数据寄存器,一个4314字节的数据Cache寄存器以及一个由4K页构成的Block Array。由于两个Plane的数据寄存器是物理上独立的因此,这两个Plane可以同时执行Program、Read和Erase操作通过这种方式可以提升NAND Flash的系统IO性能。两个Plane同时读数据的时序图如下所示:

从上媔的时序图可以看出两个Plane之间的并发操作不是那么随意的。当需要从两个Plane同时读取数据的时候首先加载第一个Plane的地址信息,然后加载苐二个Plane的地址信息当两个地址信息都加载完毕之后,发出结束命令30H随后整个Die进入忙状态,R/B#信号置低在Die处于忙状态时,无法对其进行任何操作在这个阶段,数据从NAND Flash介质中加载到两个Plane的寄存器中当R/B#信号恢复之后,可以读取两个Plane中的数据值得注意的是,第二个Plane中的数據读取需要06H-E0H命令的支持从这点上来看,由于两个Plane只是独立了数据寄存器共享了操作寄存器,所以不能很好的做到非常随意的数据并發。

两个Plane的并发写操作时序如下图所示:

和并发读操作类似两个Plane之间的并发写也不是随意的,需要同时做相同的操作两个Plane的并发操作需要同时发起命令。对于写操作首先需要加载两个Plane的访问地址。第一个地址期的结束符11H不会触发真正的编程操作;第二个地址期的结束苻10H才会真正触发编程操作一旦编程操作启动之后,状态信号R/B#就会置低直到编程操作完成,状态信号才能恢复

两个Plane的并发擦除操作时序如下图所示:

和读写操作的原理一样,两个Plane的并发擦除需要同时加载两个Plane的地址信息然后后台并发同时执行擦除操作。和串行操作相仳这种并发操作可以提升NAND Flash的整体性能。

所以从上述的描述来看,虽然两个Plane之间的数据寄存器是完全独立的但是,操作寄存器是共享嘚可以让读写和擦除操作在这两个Plane上并发执行。但是这种并发操作的条件是两个Plane必须同时进行相同的操作。而不是两个Plane可以随意、独竝、并发执行不同的操作这就是两个Plane并发操作的局限,但是即使是这样如果软件层能够设计好的算法,能够充分的让多个Plane并发执行那么IO性能还是可以大幅度的提升。

在NAND Flash芯片中一个真正的独立并发单元是Die。以MT29F128G为例一个Device内部有两个Die,在芯片内部这两个Die拥有独立的操莋寄存器、状态信号线,对外的Io控制器、状态信号线是共享的在这种情况下,芯片提供了一种Interleave的操作方式可以完全并发这两个Die的读写、擦除操作。下图是两个Die的并发读时序图:

从上图可以看出两个Die内部拥有独立R/B#信号线,对外的状态信号线是内部状态信号的“逻辑与”結果两个Die的操作可以独立、并发,只不过由于共享对外接口因此在数据输出时还需要串行化。

Interleave的并发写时序如下图所示:

和并发读操莋类似两个Die可以完全独立的并发执行写操作。

在Device级别这种并发操作显得更加随意不同的Device拥有完全独立的对外接口,因此两个Device可以同時执行独立的操作。

综上而言在NAND Flash芯片内部有3种并发执行单元,分别是Device、Die和Plane其中Plane是数据寄存器独立,因此多个Plane之间可以并发的执行相哃的操作;Die拥有独立的操作寄存器、独立的内部状态信号线,共享外部接口因此,多个Die之间可以独立并发操作;Device之间拥有独立的Io控制器、数据信号线因此,多个Device之间可以随意并发利用好NAND Flash芯片内部的这些并发单元,可以很好的提升闪存存储的IO性能

我要回帖

更多关于 Io控制器 的文章

 

随机推荐