如何挖掘NAND Flash的IO性能
所以,从上述的描述来看,虽然两个Plane之间的数据寄存器是完全独立的,但是,操作寄存器是共享的,可以让读写和擦除操作在这两个Plane上并发执行。但是,这种并发操作的条件是两个Plane必须同时进行相同的操作。而不是两个Plane可以随意、独立、并发执行不同的操作。这就是两个Plane并发操作的局限,但是即使是这样,如果软件层能够设计好的算法,能够充分的让多个Plane并发执行,那么IO性能还是可以大幅度的提升。 ? 在NAND Flash芯片中,一个真正的独立并发单元是Die。以MT29F128G为例,一个Device内部有两个Die,在芯片内部,这两个Die拥有独立的操作寄存器、状态信号线,对外的控制、状态信号线是共享的。在这种情况下,芯片提供了一种Interleave的操作方式,可以完全并发这两个Die的读写、擦除操作。下图是两个Die的并发读时序图: ? ? 从上图可以看出,两个Die内部拥有独立R/B#信号线,对外的状态信号线是内部状态信号的“逻辑与”结果。两个Die的操作可以独立、并发,只不过由于共享对外接口,因此在数据输出时还需要串行化。 ? Interleave的并发写时序如下图所示: ? ? 和并发读操作类似,两个Die可以完全独立的并发执行写操作。 ? 在Device级别这种并发操作显得更加随意。不同的Device拥有完全独立的对外接口,因此,两个Device可以同时执行独立的操作。 ? 综上而言,在NAND Flash芯片内部有3种并发执行单元,分别是Device、Die和Plane。其中Plane是数据寄存器独立,因此,多个Plane之间可以并发的执行相同的操作;Die拥有独立的操作寄存器、独立的内部状态信号线,共享外部接口,因此,多个Die之间可以独立并发操作;Device之间拥有独立的控制、数据信号线,因此,多个Device之间可以随意并发。利用好NAND Flash芯片内部的这些并发单元,可以很好的提升闪存存储的IO性能。 ? 转载自:http://alanwu.blog.51cto.com/3652632/1544227 微信搜索ssdfans,扫描或长按下面二维码图片关注ssdfans微信公众号,每天看一篇SSD好文! (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |