案例分析,NAND FLASH流水实现高速存储
流水技术原理
所谓流水线处理,如同生产装配线一样,是将操作执行工作量分成若干个时间上均衡的操作段,从流水线的起点连续地输入,流水线的各操作段以重叠方式执行。这使得操作执行速度只与流水线输入的速度有关,而与处理所需的时间无关。这样,在理想的流水操作状态下,其运行效率很高。
如果某个设计的处理流程分为若干步骤,而且整个数据处理是单流向的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以采用流水线设计方法来提高系统的工作效率。
利用流水线的设计方法,可大大提高系统的工作速度。这种方法可广泛运用于各种设计,特别是大型的、对速度要求较高的系统设计。虽然采用流水线会增大资源的使用,但是它可降低寄存器间的传播延时,保证系统维持高的系统时钟速度。在实际应用中,考虑到资源的使用和速度的要求,可以根据实际情况来选择流水线的级数以满足设计需要。
下面我们以房屋装修为例展示一下流水线的流程,如图3-7所示。
图3-7 房屋装修流水线示意图
房屋装修分4个步骤,分别是水电改造、木工上场、瓦工上场和油工上场。
如果设计团队由4个人员组成,那么在装修A小区某房屋的时候,需要按照上述出场顺序工作。水电改造工人完成A小区的工作后,可以去B小区某房屋工作,B小区工作完毕后,再去C小区工作。同理,木工、瓦工和油工也是如此。
我们可以得出结论,从水平方向上看,对于某个小区的房屋,需要四个人顺序出场;但是基于某个特定人员,在整个平面上来看,在平面方向上是排满饱和的。
所以基于团队,用流水线的方式确保了高效率,每个人工作量饱满,收益最大。
案例:NAND FLASH流水实现高速存储
NAND FLASH的详细介绍见第9章。
我们知道,NAND FLASH的特点是读/写速度比较慢。
以写为例,写数据后,必须有长时间的编程等待时间,编程结束之后,才能进行下一次写数据过程。
例如:K9K4G08UOM这款芯片的最大写入时间(编程时间)为700 μs,写数据阶段的时间为125 μs(2 Kb/16 M,假如用16 MHz时钟,一次写入2 Kb个数据)。评估一下有效的写入速率为2 Kb/(125 μs+700 μs)=2.42 Mb/s。
我们可以利用流水线技术来提高读/写速度,如图3-8所示。
图3-8 FLASH控制器流水线式进行写操作
示例中,我们用了5片芯片,为写入时间(编程时间)分配了800 μs的时间,为写数据分配了200 μs时间,组成了5级流水。第一片芯片写数据结束、编程等待的时候,对第二片芯片进行写数据,第二片芯片写数据结束、编程等待的时候,对第三片芯片进行写数据,以此类推,第五片芯片写数据结束后,重新对第一片芯片进行写数据。
重新评估一下写入速度为2Kb/200 μs=10Mb/s。
当然,上面的计算是为了方便读者理解来设定的,目的是让800 μs成为200 μs的整数倍,图片看上去美观一些。实际上我们还是用125 μs来进行写数据,写入速度接近16Mb/s。
在大容量存储类的项目中,不止使用流水线技术,还采用并行工作方式,优化之后的速度能达到几百兆。
以上介绍的为FLASH写阶段的流水线过程,读和擦除也可以利用流水线技术,此处不展开论述。
专栏推荐,【零基础学FPGA】
本专栏基于Altera公司的器件和Verilog HDL语言。学完以后,相信读者能够掌握FPGA开发的基本技术,并能够独立进行FPGA项目开发。
NAND flash 信号线的理解
上一篇我们已经讲了NAND flash的分类,这一篇介绍NAND flash 的硬件接口。例如
由NAND Flash的原理图封装,然后查看芯片手册。
由图可知:IO0-IO7:既可传送数据也可传送地址,也可以送传命令。那到底是读是写,还是擦除?怎么区分IO0-IO7传送的是数据?地址?命令? 那么就需要通过CLE与ALE的状态来区分了。
假如2440要读取A地址的数据,或将数据写入B地址。当CLE为高电平表示IO0-IO7传送的是命令;当ALE为高电平表示IO0-IO7传送的是地址;当ALE与CLE都为低电平的时候,表示IO0-IO7传送的是数据。
CE:片选。当2440要操作访问Nand的时候,首先必须选中。
RE:读信号,当RE为低的时候,表示数据由Nand流向2240;
WE:写信号,当RE为低电的时候,表示数据由2240流向Nand;
WP:写保护,只能写,不能擦除。
R/B:Ready信号,表示Nand Flash烧写完成
这些引脚具体怎么组合起来的,需要查看手册中的时序图。
发(写)命令的时序图:
首先CE发出片选信号,CLE发出高电平,IO 0-7将命令驱动出去,WE写脉冲,在写脉冲的上升沿,Nand flash在上升沿,将IO 0-7中数据读取出来。
发地址的时序图:
CE片选, ALE由低变高,IO 0-7驱动 数据,WE发出写脉冲。
输入(写)数据的时序图:
CE选中,ALE、CLE低电平,2440 IO 0-7驱动 数据,WE写信号,Nand flash根据ALE、CLE低电平,读取数据。
输出(读)数据的时序图:
CE低电平选中,RE由高变为低(Nand flash收到RE由高变低时,马上准备数据,然后在RE的上升沿将数据发送出去),Nand flash 驱动数据到IO 0-7,在上升沿,2440取数据。
2440这些引脚发出的数据,必须满足Nand flash的时序要求。需要查看2440芯片手册,查看设备哪个寄存器的某些位来控制时序
相关问答
【 nandflash 和norflash的区别正确的是a,nor的读速度比 nand ...[最佳回答]U盘的是NAND.因为nandflash存储比较大,写入速度和清除速度都比nor快,所以经常用在U盘和智能手机中充当硬盘的角色(eMMC),内存就是DRAM了。norf...
nandflash 最快读写速度?NAND闪存的最快读写速度取决于具体的技术和规格。目前,高性能NAND闪存的读取速度可以达到几百兆字节每秒(MB/s),而写入速度通常在几十到一百多兆字节每秒之间...
nand flash 怎么计算速率?nandflash速率的计算通常以MB/s(兆字节每秒)为单位。以峰值读取速率为例,计算公式为:(每次传输的数据量x每秒传输的次数)/1024。例如,如果每次传输的...n...
谁能告诉我存储器dataflash norflash nandflash EEPROM这些的区别啊?norflash,nandflash,EEPROM都是些非易失性存储器,它们都是基于悬浮栅晶体管结构,但具体实现工艺上有差异。EEPROM:(ElectricallyErasableProgra...
nand flash 寿命多长?nand闪存寿命3年左右,寿命基本差不多,个人觉得闪存卡还是寿命短于U盘因为U盘是存储芯片焊接在一个微电路板上的,外面还有塑料或者金属的外壳保护,而闪存里面...
nandflash 是什么?这个应该是手机/相机/PDA上的说明。。。NandFlash是一种存储介质。相当于电脑的硬盘。是用来存储东西的。电脑上可存储的东西,在这里也都能存储。而1GGG8GG...
nand flash 用于什么场景?nandflash用于:1、手机市场;2、便携式消费类电子产品市场:3、PC市场;4、其他嵌入式应用:NORFLASH主要是用在PC的BIOS部分,并且多为4Mb—16Mb小容...n...
norflash和 nandflash 的区别?NANDflash和NORflash的区别一、NANDflash和NORflash的性能比较flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的....
NANDFlash 和NorFlash到底有什么区别?1、存储架构不同NORFlash架构提供足够的地址线来映射整个存储器范围。这提供了随机访问和短读取时间的优势,这使其成为代码执行的理想选择。另一个优点是100...
welldisk是哪个品牌?工业存储专家,国产化内存品牌。威捷科Welldisk将2020年作为公司内存模组、固态存储模组国产化方向战略元年,现已推出基于长鑫DRAM存储芯片的DDR4UDIMM4G、8...