System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及存储领域,具体是一种优化异常下电速度的系统及方法。
技术介绍
1、ssd在遇到突然断电即异常下电场景时,需要在电容电荷耗尽前将缓存空间中的数据存储至nand flash中,否则这部分数据会丢失,再次上电时无法读取。通常ssd中为成本考量,一般不会使用大电容,异常下电时电容为ssd系统供电时间较短。如异常下电时ssd较为繁忙,有较多读、写或擦除命令累积,则有概率无法在电容供电结束前完成对缓存空间中所有数据的存储。
2、ssd内部nand flash操作主要分为读、写和擦除命令。异常下电时,ssd与host主机的链接已经断开,读命令的数据无法再传输至host,因此host的读命令无需继续执行。而擦除命令因链接断开,不会再收到新的写命令,不需腾出新空间,所以也不需再执行。异常下电时实际需要执行完成的只有写命令和少量ssd内部的读命令,因此需要一种在异常下电发生时,丢弃ssd内积累的读和擦除命令的方法、装置与系统,以提高异常下电速度。
技术实现思路
1、本专利技术要解决的技术问题是提供一种优化异常下电速度的系统及方法,可以减少命令累积,优化异常下电速度。
2、为了解决所述技术问题,本专利技术采用的技术方案是:一种优化异常下电速度的系统,包括硬件命令队列、硬件状态队列、异常下电寄存器和软件驱动,硬件命令队列、硬件状态队列、异常下电寄存器均与软件驱动相连,软件驱动将nand flash命令填入硬件命令队列,nand flash命令通过硬件命令队列执行,执行
3、进一步的,标识位置位表示当前命令在异常下电时需要丢弃,标识位不置位表示当前命令在异常下电时不需要丢弃。
4、进一步的,写命令不置位,读命令和擦除命令置位。
5、本专利技术还公开了一种优化异常下电速度的方法,包括以下步骤:
6、s01)、ssd正常运行时,软件驱动将nand flash命令填入硬件命令队列,同时根据命令类型,将硬件状态队列中对应标志位置位,标志位用于标识当前命令在异常下电时是否需要丢弃不再执行;
7、s02)、硬件命令队列按顺序将命令发送至nand flash执行;
8、s03)、命令执行完成后软件驱动通过硬件状态队列获取命令执行结果;
9、s04)、异常中断发生时,软件驱动操作异常下电寄存器,通知硬件命令队列丢弃被置位的命令,使未被置位命令更快被执行;
10、s05)、软件驱动通过硬件状态队列查询命令丢弃是否成功。
11、进一步的,写命令不置位,读命令和擦除命令置位。
12、本专利技术的有益效果:本专利技术通过命令状态标识,在ssd异常下电时丢弃被标识的命令,可以有效地减少异常下电前积累的不必要nand flash操作,提升异常下电时间,且在ssd命令积累较多的异常下电场景效果明显。
13、通过硬件队列方式实现命令丢弃操作,相对于传统的软件管理方式,节省了软件占用的上下文资源,减少了软件判断逻辑。硬件方式实现运行更快,丢弃命令操作更快,可以节省更多异常下电时间用于其他操作,例如异常下电时发生的错误处理,ssd的异常下电可靠性更高。
14、综上所述,本专利技术对优化异常下电速度有明显提升,有效提高ssd异常下电的可靠性。
本文档来自技高网...【技术保护点】
1.一种优化异常下电速度的系统,其特征在于:包括硬件命令队列、硬件状态队列、异常下电寄存器和软件驱动,硬件命令队列、硬件状态队列、异常下电寄存器均与软件驱动相连,软件驱动将NAND Flash命令填入硬件命令队列,NAND Flash命令通过硬件命令队列执行,执行结果通过状态队列返回软件驱动;同时命令队列中每个命令都设有一个标志位,用于标识当前命令在异常下电时是否需要丢弃不再执行,异常下电寄存器用于在异常下电时配置硬件命令队列中需要被丢弃的命令。
2.根据权利要求1所述的优化异常下电速度的系统,其特征在于:标识位置位表示当前命令在异常下电时需要丢弃,标识位不置位表示当前命令在异常下电时不需要丢弃。
3.根据权利要求2所述的优化异常下电速度的系统,其特征在于:写命令不置位,读命令和擦除命令置位。
4.一种优化异常下电速度的方法,其特征在于:包括以下步骤:
5.根据权利要求4所述的优化异常下电速度的方法,其特征在于:写命令不置位,读命令和擦除命令置位。
【技术特征摘要】
1.一种优化异常下电速度的系统,其特征在于:包括硬件命令队列、硬件状态队列、异常下电寄存器和软件驱动,硬件命令队列、硬件状态队列、异常下电寄存器均与软件驱动相连,软件驱动将nand flash命令填入硬件命令队列,nand flash命令通过硬件命令队列执行,执行结果通过状态队列返回软件驱动;同时命令队列中每个命令都设有一个标志位,用于标识当前命令在异常下电时是否需要丢弃不再执行,异常下电寄存器用于在异常下电时配置硬件命令队列中需要被丢弃的命令。
【专利技术属性】
技术研发人员:王宇,安阳,姚光乐,
申请(专利权)人:山东华芯半导体有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。