设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 大数据 > 正文

如何挖掘NAND Flash的IO性能

发布时间:2021-03-14 12:18 所属栏目:125 来源:网络整理
导读:作者简介 吴忠杰 现任职务: Memblaze ?高级总监 NAND Flash 芯片是构成 SSD 的基本存储单元, NAND Flash 芯片工艺的发展、结构的变化将会推动整个闪存存储产业的高速发展。在设计闪存存储系统的时候,特别是在设计 NAND Flash 控制器、 SSD 盘或者卡的时候

如何挖掘NAND Flash的IO性能

作者简介

吴忠杰

现任职务:Memblaze ?高级总监


如何挖掘NAND Flash的IO性能


NAND Flash芯片是构成SSD的基本存储单元,NAND Flash芯片工艺的发展、结构的变化将会推动整个闪存存储产业的高速发展。在设计闪存存储系统的时候,特别是在设计NAND Flash控制器、SSD盘或者卡的时候,都需要深入的了解NAND Flash的操作方法、接口命令及其时序。


一个NAND Flash芯片虽然非常小,采用LGA或者TSOP的封装形式,但是,其内部结构还是非常复杂的。特别是随着存储密度的不断提高,NAND Flash内部抽象的概念也越来越多,例如Flash颗粒、Device、Die、Plane、Block和Page。颗粒就是我们通常所看到的一个基本芯片封装颗粒;每个颗粒可以封装多个Device,每个Device可以看成是一个独立的Chip,拥有独立的控制、数据信号线;每个Device可以由多个Die构成,多个Die之间内部有独立的操作寄存器、状态指示信号,对外的信号线是共享的;一个Die又可以分成多个Plane,每个Plane拥有独立的数据寄存器组,可以在一定情况下对多个Plane进行并发操作;一个Plane可以分成若干个Block;每个Block又是一个独立的数据块擦除单元;一个Block最后又被分成很多个Page页,每个Page页是读写操作的基本单元。

?

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

?

如何挖掘NAND Flash的IO性能

?

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

?

如何挖掘NAND Flash的IO性能

?

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

?

如何挖掘NAND Flash的IO性能

?

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

?

如何挖掘NAND Flash的IO性能

?

在了解到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的并发写操作时序如下图所示:

?

如何挖掘NAND Flash的IO性能

?

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读