一种提高通道内3DNANDFLASH并行度的方法及系统技术方案

技术编号:33024819 阅读:22 留言:0更新日期:2022-04-15 08:58
本发明专利技术根据3D NAND FLASH的读写特性,在一条写命令和写数据中穿插入其他FLASH的命令,降低通道的读延迟,提高读写擦并行度。为了保证写性能和读性能的平衡,设计了一套根据新命令、读命令反馈和定时器触发的判断流程,依据该流程在一条写命令的lower page和middle page的busy时间段内,插入其他NAND FLASH的读/擦命令、读/擦数据的同时,不会牺牲太多的写性能。可根据用户需求,实时调节写延迟,换取低读延迟,并提高同一通道内NAND FLASH并行度。度。度。

【技术实现步骤摘要】
一种提高通道内3D NAND FLASH并行度的方法及系统


[0001]本专利技术涉及数据存储领域,具体是一种提高通道内3D NAND FLASH并行度的方法及系统。

技术介绍

[0002]以3D NAND FLASH为存储介质的固态硬盘通常要求快速响应上位机的读命令,即拥有较低的读延迟。固态硬盘的一个通道会接入多个3D NAND FLASH,它们独立工作,通过片选信号CE进行选择。3D NAND FLASH的写特性要求每次连续写入三页数据,因此读写混合时,同一通道内如果一个3D NAND FLASH正在执行写命令,则会占用通道,其他NAND FLASH无法进行读数据传输,因此读延迟增大。

技术实现思路

[0003]本专利技术要解决的技术问题是提供一种提高通道内3D NAND FLASH并行度的方法及系统,根据3D NAND FLASH的读写特性,在写命令和写数据中穿插入其他FLASH的命令,降低通道的读延迟,提高读写擦并行度。
[0004]了解决所述技术问题,本专利技术采用的技术方案是:一种提高通道内3D NAND FLASH并行度的方法,其特征在于:本方法不仅在一条写命令的upper page的写busy时间内插入其他NAND FLASH的读/擦命令、读/擦数据,还在该条写命令的lower page和middle page的busy时间段内,插入其他NAND FLASH的读/擦命令、读/擦数据。
[0005]进一步的,在一条写命令的lower page和middle page的busy时间段内,插入其他NAND FLASH的读/擦命令,在一条写命令的upper page的写busy时间内插入NAND FLASH的读/擦数据。
[0006]进一步的,在一条写命令内同时插入其他NAND FLASH的读/擦命令或读/擦数据的执行流程为:S01)、等待新命令或读/擦命令有反馈或定时器到时;S02)、判断定时器是否到时,如果是,执行步骤S03),如果不是,执行步骤S04);S03)、向下发送一页写命令和数据,如果是lower page或middle page写,则同时打开计时器,拉起写执行标志位,如果是upper page写,则拉低写执行标志位;S04)、判断条件1是否成立,条件1为条件2或条件3,条件2为当前写正在执行且允许插入读数据且读/擦命令有反馈,条件3为当前没有写正在执行却有读/擦反馈,条件1如果成立,执行步骤S05),条件1如果不成立,执行步骤S06);S05)、向下发送读/擦数据,然后转到步骤S01);S06)、判断是否有新命令,如果是,执行步骤S07),如果不是,执行步骤S08);S07)、如果是新的读/擦命令,向下发送读/擦命令同时挂起读数据任务,然后转到步骤S01);S08)、判断当前是否有其他FLASH正在执行写,如果是,转到步骤S01),如果不是,
执行步骤S09);S09)、判断写命令是否不允许插入其他命令,如果是,则向下发送连续三页写命令以及数据,如果不是,则转到步骤S03)。
[0007]进一步的,通过改变定时器周期从而调节写延迟牺牲度。
[0008]本专利技术还提供了一种提高通道内3D NAND FLASH并行度的系统,本系统不仅在一条写命令的upper page的写busy时间内插入其他NAND FLASH的读/擦命令、读/擦数据,还在该条写命令的lower page和middle page的busy时间段内,插入其他NAND FLASH的读/擦命令、读/擦数据;本系统包括仲裁模块、定时器、写控制模块、存放读数据命令挂起的队列以及命令产生模块;仲裁模块连接定时器以及输入的新命令和读命令反馈,根据输入的新命令、读命令反馈以及定时器判断当前需要进行何种任务;命令产生模块与仲裁模块、写控制模块相连,根据仲裁模块输出结果和写控制模块信号向下游输出最终命令;定时器连接于写控制模块与仲裁模块之间,写控制模块控制定时器的启动和关闭,定时器是仲裁模块判断进行何种任务的因素之一;写控制与命令产生模块相连,写控制模块控制写命令拆分或组合;放读数据命令挂起的队列与命令产生模块相连,用于存放挂起的读数据命令。
[0009]进一步的,本系统在一条写命令的lower page和middle page的busy时间段内,插入其他NAND FLASH的读/擦命令,在一条写命令的upper page的写busy时间内插入NAND FLASH的读/擦数据。
[0010]进一步的,本系统的触发条件包括三种:1、新命令到来;2、读命令反馈,3、定时器到时,触发优先级为定时器优先级最高、其次是读命令反馈、最后是新命令;本系统有四种输出情况:1、输出三条连续写命令;2、输出单条写命令;3、输出新插入的命令,如果命令是读命令,需要挂起读数据任务;4、输出读数据任务。
[0011]进一步的,仲裁模块根据输入的新命令、读命令反馈以及定时器判断当前需要进行何种任务以及进行相应任务的流程为:S01)、等待新命令或读/擦命令有反馈或定时器到时;S02)、判断定时器是否到时,如果是,执行步骤S03),如果不是,执行步骤S04);S03)、向下发送一页写命令和数据,如果是lower page或middle page写,则同时打开计时器,拉起写执行标志位,如果是upper page写,则拉低写执行标志位;S04)、判断条件1是否成立,条件1为条件2或条件3,条件2为当前写正在执行且允许插入读数据且读/擦命令有反馈,条件3为当前没有写正在执行却有读/擦反馈,条件1如果成立,执行步骤S05),条件1如果不成立,执行步骤S06);S05)、向下发送读/擦数据,然后转到步骤S01);S06)、判断是否有新命令,如果是,执行步骤S07),如果不是,执行步骤S08);S07)、如果是新的读/擦命令,向下发送读/擦命令同时挂起读数据任务,然后转到步骤S01);S08)、判断当前是否有其他FLASH正在执行写,如果是,转到步骤S01),如果不是,
执行步骤S09);S09)、判断写命令是否不允许插入其他命令,如果是,则向下发送连续三页写命令以及数据,如果不是,则转到步骤S03)。
[0012]进一步的,通过改变定时器周期从而调节写延迟牺牲度。
[0013]本专利技术的有益效果:本专利技术根据3D NAND FLASH的读写特性,在一条写命令和写数据中穿插入其他FLASH的命令,降低通道的读延迟,提高读写擦并行度。为了保证写性能和读性能的平衡,设计了一套根据新命令、读命令反馈和定时器触发的判断流程,依据该流程在一条写命令的lower page和middle page的busy时间段内,插入其他NAND FLASH的读/擦命令、读/擦数据的同时,不会牺牲太多的写性能。可根据用户需求,实时调节写延迟,换取低读延迟,并提高同一通道内NAND FLASH并行度。
附图说明
[0014]图1为本专利技术提高并行度的原理示意图;图2为本专利技术的执行流程图;图3为本专利技术所述系统的原理框图。
具体实施方式...

【技术保护点】

【技术特征摘要】
1.一种提高通道内3D NAND FLASH并行度的方法,其特征在于:本方法不仅在一条写命令的upper page的写busy时间内插入其他NAND FLASH的读/擦命令、读/擦数据,还在该条写命令的lower page和middle page的busy时间段内,插入其他NAND FLASH的读/擦命令、读/擦数据。2.根据权利要求1所述的提高通道内3D NAND FLASH并行度的方法,其特征在于:在一条写命令的lower page和middle page的busy时间段内,插入其他NAND FLASH的读/擦命令,在一条写命令的upper page的写busy时间内插入NAND FLASH的读/擦数据。3.根据权利要求1所述的提高通道内3D NAND FLASH并行度的方法,其特征在于:在一条写命令内同时插入其他NAND FLASH的读/擦命令或读/擦数据的执行流程为:S01)、等待新命令或读/擦命令有反馈或定时器到时;S02)、判断定时器是否到时,如果是,执行步骤S03),如果不是,执行步骤S04);S03)、向下发送一页写命令和数据,如果是lower page或middle page写,则同时打开计时器,拉起写执行标志位,如果是upper page写,则拉低写执行标志位;S04)、判断条件1是否成立,条件1为条件2或条件3,条件2为当前写正在执行且允许插入读数据且读/擦命令有反馈,条件3为当前没有写正在执行却有读/擦反馈,条件1如果成立,执行步骤S05),条件1如果不成立,执行步骤S06);S05)、向下发送读/擦数据,然后转到步骤S01);S06)、判断是否有新命令,如果是,执行步骤S07),如果不是,执行步骤S08);S07)、如果是新的读/擦命令,向下发送读/擦命令同时挂起读数据任务,然后转到步骤S01);S08)、判断当前是否有其他FLASH正在执行写,如果是,转到步骤S01),如果不是,执行步骤S09);S09)、判断写命令是否不允许插入其他命令,如果是,则向下发送连续三页写命令以及数据,如果不是,则转到步骤S03)。4.根据权利要求1所述的提高通道内3D NAND FLASH并行度的方法,其特征在于:通过改变定时器周期从而调节写延迟牺牲度。5.一种提高通道内3D NAND FLASH并行度的系统,其特征在于:本系统不仅在一条写命令的upper page的写busy时间内插入其他NAND FLASH的读/擦命令、读/擦数据,还在该条写命令的lower page和middle page的busy时间段内,插入其他NAND FLASH的读/擦命令、读/擦数据;本系统包括仲裁模块、定时器、写控制模块、存放读数据命令挂起的队列以及命令产生模块;仲裁模块连接定时器以及输入的新命令和读命令反馈,根据输入的新命令、读命...

【专利技术属性】
技术研发人员:李绪金沈力刘奇浩
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1