首页 / 专利库 / 电脑零配件 / 微码 / 一种信息处理方法及电子设备

一种信息处理方法及电子设备

阅读:442发布:2020-05-11

专利汇可以提供一种信息处理方法及电子设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种信息处理方法及 电子 设备,其中,方法包括:获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合;基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;其中,所述为N个存储单元切换分配所述通道,并通过所述通道获取到所述N个存储单元的操作指令包括:每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令。,下面是一种信息处理方法及电子设备专利的具体信息内容。

1.一种信息处理方法,应用于电子设备,其特征在于,所述方法包括:
获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合,其中,所述N个存储单元通过同一通道连接数据总线,N为大于等于2的整数;
基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;
其中,所述为N个存储单元切换分配所述通道,并通过所述通道获取到所述N个存储单元的操作指令包括:每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令;n为大于等于1、小于等于N的整数,m为大于等于1的整数;
所述向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令之后,所述方法还包括:
切换所述通道至第n+1存储单元,通过所述通道向第n+1存储单元发送操作指令集合中的指令;
所述控制位至少包括有:第一控制位、以及第二控制位;
其中,所述第一控制位,位于每一组指令中的预设第一位置处,用于指示针对第n存储单元的所述第m组指令发送完毕、且能够开始对第n+1存储单元进行调度;
所述第二控制位,位于针对第n存储单元的全部指令的预设第二位置处,用于指示已发送完成第n存储单元的全部指令。
2.根据权利要求1所述的方法,其特征在于,所述向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令,包括:
读取到第m组指令的第一控制位,确定完成向第n存储单元发送第m组指令;保存所述第n个存储单元的执行状态。
3.根据权利要求1所述的方法,其特征在于,所述直至向N个存储单元发送完毕操作指令集合中的指令,包括:
判断是否读取到N个存储单元的全部的第二控制位,若读取到N个存储单元的全部的第二控制位,则确定N个存储单元发送完毕操作指令集合中的指令。
4.一种电子设备,其特征在于,包括:
命令调度器,用于获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合,其中,所述N个存储单元通过同一通道连接数据总线,N为大于等于2的整数;
微码控制器,用于基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;
其中,所述微码控制器,具体用于每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令;n为大于等于1、小于等于N的整数,m为大于等于1的整数;
所述微码控制器,具体用于切换所述通道至第n+1存储单元,通过所述通道向第n+1存储单元发送操作指令集合中的指令;
所述控制位至少包括有:第一控制位、以及第二控制位;
其中,所述第一控制位,位于每一组指令中的预设第一位置处,用于指示针对第n存储单元的所述第m组指令发送完毕、且能够开始对第n+1存储单元进行调度;
所述第二控制位,位于针对第n存储单元的全部指令的预设第二位置处,用于指示已发送完成第n存储单元的全部指令。
5.根据权利要求4所述的电子设备,其特征在于,所述电子设备还包括:
指令调度器,用于读取到第m组指令的第一控制位,确定完成向第n存储单元发送第m组指令;
相应的,存储器,用于保存所述第n个存储单元的执行状态。
6.根据权利要求5所述的电子设备,其特征在于,所述指令调度器,用于判断是否读取到N个存储单元的全部的第二控制位;
相应的,所述命令调度器,还用于若确定所述指令调度器读取到N个存储单元的全部的第二控制位,则确定N个存储单元发送完毕操作指令集合中的指令。

说明书全文

一种信息处理方法及电子设备

技术领域

[0001] 本发明涉及信息处理领域中的存储设备管理技术,尤其涉及一种信息处理方法及电子设备。

背景技术

[0002] 芯片控制器NFC(NAND Flash Controller),是一种控制NAND Flash存储芯片读写操作的逻辑电路,常存在于SSD(固态硬盘)和CPU SoC芯片中。由于NAND Flash的接口控制时序复杂、NAND Flash的工艺种类繁多(SLC、MLC、TLC、3D)、NAND Flash厂家采用了私有而非公有的命令格式,NAND Flsh控制器的设计需要考虑很多因素。现在常用的设计方式有两种:基于FSM(有限状态机),采用硬连线电路来实现控制时序。基于Micro Sequencer(微序列器),采用可编程微码控制器来实现控制时序。但是,无论上述哪种控制器,都无法保证灵活的控制时序,从而无法进一步的提升其处理效率。

发明内容

[0003] 本发明实施例提供一种信息处理方法及电子设备,能够至少解决现有技术中存在的上述问题。
[0004] 本发明实施例的技术方案是这样实现的:
[0005] 本发明实施例提供一种信息处理方法,包括:
[0006] 获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合,其中,所述N个存储单元通过同一通道连接数据总线,N为大于等于2的整数;
[0007] 基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;
[0008] 其中,所述为N个存储单元切换分配所述通道,并通过所述通道获取到所述N个存储单元的操作指令包括:每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令;n为大于等于1、小于等于N的整数,m为大于等于1的整数。
[0009] 本发明实施例提供一种电子设备,包括:
[0010] 命令调度器,用于获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合,其中,所述N个存储单元通过同一通道连接数据总线,N为大于等于2的整数;
[0011] 微码控制器,用于基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;
[0012] 其中,所述微码控制器,具体用于每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令;n为大于等于1、小于等于N的整数,m为大于等于1的整数。
[0013] 本发明实施例提供一种信息处理方法及电子设备,能够基于操作指令集合中包含的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令。如此,可通过进行控制位的设计灵活的控制存储设备的指令执行,灵活的控制在多个操作指令中进行切换,并且能够适应多种存储设备的操作时序,从而使得存储设备中的多个存储单元能够交织的进行操作,提升了处理效率。附图说明
[0014] 图1为本发明实施例中信息处理方法的实现流程示意图;
[0015] 图2为本发明实施例指令组成示意图;
[0016] 图3为存储设备及其逻辑单元与通道之间的关系示意图;
[0017] 图4为本发明实施例针对逻辑单元的调度示意图;
[0018] 图5为现有技术中写入指令的一种时序图;
[0019] 图6为现有技术中写入指令的另一种时序图;
[0020] 图7为本发明实施例电子设备组成结构示意图一;
[0021] 图8为本发明实施例电子设备组成结构示意图二。

具体实施方式

[0022] 下面结合附图和具体实施例对本发明作进一步详细说明。
[0023] 实施例一、
[0024] 本发明实施例提供了一种信息处理方法,应用于电子设备,如图1所示,包括:
[0025] 步骤101:获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合,其中,所述N个存储单元通过同一通道连接数据总线,N为大于等于2的整数;
[0026] 步骤102:基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;
[0027] 其中,所述为N个存储单元切换分配所述通道,并通过所述通道获取到所述N个存储单元的操作指令包括:每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令;n为大于等于1、小于等于N的整数,m为大于等于1的整数。
[0028] 这里,所述存储设备可以为固态硬盘(SSD,Solid State Drives),其中,所述存储单元可以为每一个存储设备中包含的多个逻辑单元。
[0029] 所述操作指令集合可以包括有针对N个存储单元的操作指令,其中,针对每一个存储单元的全部操作指令组成子程序;
[0030] 每一个存储单元对应有m组操作指令,这m组操作指令可以组成m个宏指令;进一步地,所述每一个宏指令可以由至少一个微指令组成。
[0031] 具体来说,在微码设计中,多条微指令组合成一个时间上不可拆分的宏指令,控制NAND Flash总线上多个周期的操作;多条宏指令组合成一个时间上可拆分为多个宏指令的子程序,控制总线上多个周期的操作,完成一次NAND Flash总线命令。比如,参见图2,微码指令划分:宏指令、微指令、子程序:
[0032] 一条微指令对应一个周期==一条微指令;
[0033] 多条微指令对应一次调度==一条宏指令;
[0034] 多条宏指令对应一次返回==一个子程序。
[0035] 所述为N个存储单元切换分配所述通道,可以参见图3,具备4个通道,每个通道内4个芯片,每个芯片内2个逻辑单元,图中可以看出每一个SSD芯片中包含有两个逻辑单元,也就是具备有两个存储单元。而针对芯片的操作指令仅通过一个通道来执行指令分配,所以就需要在多个存储单元之间进行通道的切换。
[0036] 每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令,可以为:分配通道给第n个存储单元,向所述第n存储单元写入操作指令集合中的第m组指令,当读取到所述第m组指令的控制为时,确定向下一个存储单元进行指令写入;以此类推。
[0037] 进一步地,本实施例中所述控制位至少包括有:第一控制位、以及第二控制位;
[0038] 其中,所述第一控制位,位于每一组指令中的预设第一位置处,用于指示针对第n存储单元的所述第m组指令发送完毕、且能够开始对第n+1存储单元进行调度;所述预设第一位置处可以为每一组指令的最后一比特位;所述第一控制位可以理解为调度位,也就是说,当读取到第一控制位时,可以确定第m组指令发送完毕,进而可以基于该调度位,确定执行第n+1存储单元的一组指令发送。
[0039] 所述第二控制位,位于针对第n存储单元的全部指令的预设第二位置处,用于指示已发送完成第n存储单元的全部指令;所述预设第二位置处可以为第n存储单元的全部指令的最后一个比特位;所述第二控制位可以理解为返回位,用于指示第n存储单元的子程序发送完成。
[0040] 参见表1,也就是说,通过采用本方案,能够将宏指令、子程序之间的区分采用调度位和返回位来控制,而需要说明的是,宏指令中的多条微指令为时间上不可分割的多个指令,所以微指令中不会设置第一控制位或第二控制位。
[0041]  第一控制位(调度位) 第二控制位(返回位)
微指令 0 0
宏指令 1 0
子程序 0 1
[0042] 表1
[0043] 这样的微码设计,对应了NAND Flash总线上可以在时间和空间上划分的各种操作。从时间上看,NAND Flash总线上单周期的操作对应一个命令/地址/数据的传输周期,多个周期不可拆分的操作对应一组命令序列/地址序列/数据序列,多周期的组合对应一条NAND Flash命令包含的命令序列、地址序列、数据序列。从空间上看,一个NAND Flash通道内,多个LUN的命令操作可以交织执行。
[0044] 可见,通过采用上述方案,就能够基于操作指令集合中包含的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令。如此,可通过进行控制位的设计灵活的控制存储设备的指令执行,灵活的控制在多个操作指令中进行切换,提高了存储单元的指令的并行度;并且能够适应多种存储设备的操作时序,从而使得存储设备中的多个存储单元能够交织的进行操作,提升了操作效率。
[0045] 实施例二、
[0046] 本发明实施例提供了一种信息处理方法,应用于电子设备,如图1所示,包括:
[0047] 步骤101:获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合,其中,所述N个存储单元通过同一通道连接数据总线,N为大于等于2的整数;
[0048] 步骤102:基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;
[0049] 其中,所述为N个存储单元切换分配所述通道,并通过所述通道获取到所述N个存储单元的操作指令包括:每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令;n为大于等于1、小于等于N的整数,m为大于等于1的整数。
[0050] 这里,所述存储设备可以为固态硬盘(SSD,Solid State Drives),其中,所述存储单元可以为每一个存储设备中包含的多个逻辑单元。
[0051] 所述操作指令集合可以包括有针对N个存储单元的操作指令,其中,针对每一个存储单元的全部操作指令组成子程序;
[0052] 每一个存储单元对应有m组操作指令,这m组操作指令可以组成m个宏指令;进一步地,所述每一个宏指令可以由至少一个微指令组成。
[0053] 具体来说,在微码设计中,多条微指令组合成一个时间上不可拆分的宏指令,控制NAND Flash总线上多个周期的操作;多条宏指令组合成一个时间上可拆分为多个宏指令的子程序,控制总线上多个周期的操作,完成一次NAND Flash总线命令。比如,参见图2,微码指令划分:宏指令、微指令、子程序:
[0054] 一条微指令对应一个周期==一条微指令;
[0055] 多条微指令对应一次调度==一条宏指令;
[0056] 多条宏指令对应一次返回==一个子程序。
[0057] 所述为N个存储单元切换分配所述通道,可以参见图3,具备4个通道,每个通道内4个芯片,每个芯片内2个逻辑单元,图中可以看出每一个SSD芯片中包含有两个逻辑单元,也就是具备有两个存储单元。而针对芯片的操作指令仅通过一个通道来执行指令分配,所以就需要在多个存储单元之间进行通道的切换。
[0058] 每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令,可以为:分配通道给第n个存储单元,向所述第n存储单元写入操作指令集合中的第m组指令,当读取到所述第m组指令的控制为时,确定向下一个存储单元进行指令写入;以此类推。
[0059] 进一步地,本实施例中所述控制位至少包括有:第一控制位、以及第二控制位;
[0060] 其中,所述第一控制位,位于每一组指令中的预设第一位置处,用于指示针对第n存储单元的所述第m组指令发送完毕、且能够开始对第n+1存储单元进行调度;所述预设第一位置处可以为每一组指令的最后一比特位;所述第一控制位可以理解为调度位,也就是说,当读取到第一控制位时,可以确定第m组指令发送完毕,进而可以基于该调度位,确定执行第n+1存储单元的一组指令发送。
[0061] 所述第二控制位,位于针对第n存储单元的全部指令的预设第二位置处,用于指示已发送完成第n存储单元的全部指令;所述预设第二位置处可以为第n存储单元的全部指令的最后一个比特位;所述第二控制位可以理解为返回位,用于指示第n存储单元的子程序发送完成。
[0062] 参见表1,也就是说,通过采用本方案,能够将宏指令、子程序之间的区分采用调度位和返回位来控制,而需要说明的是,宏指令中的多条微指令为时间上不可分割的多个指令,所以微指令中不会设置第一控制位或第二控制位。
[0063]  第一控制位(调度位) 第二控制位(返回位)
微指令 0 0
宏指令 1 0
子程序 0 1
[0064] 表1
[0065] 进一步地,从通道中获取并分配针对同一个通道内多个存储单元,即LUN发送的命指令;一个通道在管理多个LUN的命令操作时,需要查询调度位和返回位的状态,从而能够进行多组指令,比如宏指令,之间的交织操作和子程序的返回处理操作。
[0066] 本实施例具体针对如何进行存储单元之间的状态记录以及如何确定是否切换到下一个存储单元进行指令发送的操作进行具体说明:
[0067] 所述向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令,包括:
[0068] 读取到第m组指令的第一控制位,确定完成向第n存储单元发送第m组指令;保存所述第n个存储单元的执行状态。
[0069] 基于本实施例的上述介绍,可以理解到一组指令相当于一个宏指令,当读取到宏指令中的第一控制位即调度位时,就能够确定本次针对存储单元的指令调度已经完成,此时,需要对该存储单元的执行中间状态进行记录。比如,可以记录当前第n存储单元已经完成发送第m组指令。
[0070] 与其相应的,所述向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令之后,所述方法还包括:
[0071] 切换所述通道至第n+1存储单元,通过所述通道向第n+1存储单元发送操作指令集合中的指令。
[0072] 具体来说,可以为首先查看所述第n+1存储单元当前记录的执行状态,如果查看到第n+1存储单元当前记录的执行状态为完成第x组指令,并且还具备第x+1组指令需要发送,那么就将通道切换至第n+1存储单元,并通过所述通道向其发送指令;如果查看到第n+1存储单元当前记录的执行状态为结束状态,那么就停止处理,继续查看第n+2组存储单元当前记录的执行状态,依此类推。
[0073] 经过上述处理后,本实施例确定完成存储设备中全部存储单元的指令发送的方式如下:
[0074] 所述直至向N个存储单元发送完毕操作指令集合中的指令,包括:
[0075] 判断是否读取到N个存储单元的全部的第二控制位,若读取到N个存储单元的全部的第二控制位,则确定N个存储单元发送完毕操作指令集合中的指令。
[0076] 具体的,可以为查看记录的针对N个存储单元的状态记录,若均记录为读取到第二控制位即处于结束状态,则确定N个存储单元发送完毕;若存在任意一个存储单元的状态记录处于中间状态,则继续调度该存储单元剩余的至少一组指令。
[0077] 下面结合图4详细说明本实施例在操作场景中的应用:
[0078] 在一个通道内获得针对存储设备的两个存储单元,即LUN的操作指令集合;
[0079] 先发送LUN 1的子程序调用;执行4条微指令组合而成的一条宏指令,在宏指令完成时,调度位为1;得到调度位控制时,切换状态并保存LUN 1命令的执行中间状态;其中,具体的,可以为保存上述中间状态到可以根据LUN编号寻址的状态存储器组中;
[0080] 发送LUN 2的子程序调用;执行3条微指令组合而成的一条宏指令,在宏指令完成时,调度位为1;指令调度器得到调度位控制时,切换微码控制器的状态,保存LUN 2命令的执行中间状态;
[0081] 加载LUN 1命令保存的中间状态;微码控制器继续执行LUN 1命令,当调度位为1时,微码控制器切换至LUN 2命令中间状态,继续执行LUN 2命令;如此交织操作,直到LUN 1命令对应的微码子程序执行完毕,返回位为1,命令调度器处理器最终状态;命令调度器切换至LUN 2执行,直到其返回位为1,处理最终状态。
[0082] 进一步地,结合当前技术中提高SSD访问性能的处理进行分析:通常通过增加深度和宽度两种方式提高SSD存储容量、提高SSD访问性能。具体如下:
[0083] 增加深度:在一个NAND Flash芯片中,挂接封装多个逻辑单元(LUN)。逻辑单元之间共享一个总线。
[0084] 增加深度:在一个NAND Flash通道中,挂接多个NAND Flash芯片。芯片之间共享一个总线
[0085] 增加宽度:在一个NAND Flash控制器上,挂接多个NAND Flash通道。每个通道有独立的总线。
[0086] 其中,增加通道深度的一个优势是,可以掩盖单个逻辑单元内部操作的延时,通过并发多个逻辑单元的操作来提高通道中共享的数据总线的利用效率,提高性能。如图5、或者图6所示,表示了一个通道内,3个逻辑单元分别执行3个命令的并行操作的时序,其中白色部分为逻辑单元内部操作的延时,通过并行操作,白色部分被有色部分掩盖。而采用本发明实施例提供的方案,就能够通过控制逻辑单元进行交织操作,从而减少逻辑单元内的操作延时。
[0087] 可见,通过采用上述方案,就能够基于操作指令集合中包含的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令。如此,可通过进行控制位的设计灵活的控制存储设备的指令执行,灵活的控制在多个操作指令中进行切换,并且能够适应多种存储设备的操作时序,从而使得存储设备中的多个存储单元能够交织的进行操作,提升了操作效率。
[0088] 实施例三、
[0089] 本发明实施例提供了一种电子设备,如图7所示,包括:
[0090] 命令调度器71,用于获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合,其中,所述N个存储单元通过同一通道连接数据总线,N为大于等于2的整数;
[0091] 微码控制器72,用于基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;
[0092] 其中,所述微码控制器72,具体用于每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令;n为大于等于1、小于等于N的整数,m为大于等于1的整数。
[0093] 这里,所述存储设备可以为固态硬盘(SSD,Solid State Drives),其中,所述存储单元可以为每一个存储设备中包含的多个逻辑单元。
[0094] 所述操作指令集合可以包括有针对N个存储单元的操作指令,其中,针对每一个存储单元的全部操作指令组成子程序;
[0095] 每一个存储单元对应有m组操作指令,这m组操作指令可以组成m个宏指令;进一步地,所述每一个宏指令可以由至少一个微指令组成。
[0096] 具体来说,在微码设计中,多条微指令组合成一个时间上不可拆分的宏指令,控制NAND Flash总线上多个周期的操作;多条宏指令组合成一个时间上可拆分为多个宏指令的子程序,控制总线上多个周期的操作,完成一次NAND Flash总线命令。比如,参见图2,微码指令划分:宏指令、微指令、子程序:
[0097] 一条微指令对应一个周期==一条微指令;
[0098] 多条微指令对应一次调度==一条宏指令;
[0099] 多条宏指令对应一次返回==一个子程序。
[0100] 所述为N个存储单元切换分配所述通道,可以参见图3,具备4个通道,每个通道内4个芯片,每个芯片内2个逻辑单元,图中可以看出每一个SSD芯片中包含有两个逻辑单元,也就是具备有两个存储单元。而针对芯片的操作指令仅通过一个通道来执行指令分配,所以就需要在多个存储单元之间进行通道的切换。
[0101] 每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令,可以为:分配通道给第n个存储单元,向所述第n存储单元写入操作指令集合中的第m组指令,当读取到所述第m组指令的控制为时,确定向下一个存储单元进行指令写入;以此类推。
[0102] 进一步地,本实施例中所述控制位至少包括有:第一控制位、以及第二控制位;
[0103] 其中,所述第一控制位,位于每一组指令中的预设第一位置处,用于指示针对第n存储单元的所述第m组指令发送完毕、且能够开始对第n+1存储单元进行调度;所述预设第一位置处可以为每一组指令的最后一比特位;所述第一控制位可以理解为调度位,也就是说,当读取到第一控制位时,可以确定第m组指令发送完毕,进而可以基于该调度位,确定执行第n+1存储单元的一组指令发送。
[0104] 所述第二控制位,位于针对第n存储单元的全部指令的预设第二位置处,用于指示已发送完成第n存储单元的全部指令;所述预设第二位置处可以为第n存储单元的全部指令的最后一个比特位;所述第二控制位可以理解为返回位,用于指示第n存储单元的子程序发送完成。
[0105] 参见表1,也就是说,通过采用本方案,能够将宏指令、子程序之间的区分采用调度位和返回位来控制,而需要说明的是,宏指令中的多条微指令为时间上不可分割的多个指令,所以微指令中不会设置第一控制位或第二控制位。
[0106]  第一控制位(调度位) 第二控制位(返回位)
微指令 0 0
宏指令 1 0
子程序 0 1
[0107] 表1
[0108] 这样的微码设计,对应了NAND Flash总线上可以在时间和空间上划分的各种操作。从时间上看,NAND Flash总线上单周期的操作对应一个命令/地址/数据的传输周期,多个周期不可拆分的操作对应一组命令序列/地址序列/数据序列,多周期的组合对应一条NAND Flash命令包含的命令序列、地址序列、数据序列。从空间上看,一个NAND Flash通道内,多个LUN的命令操作可以交织执行。
[0109] 可见,通过采用上述方案,就能够基于操作指令集合中包含的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令。如此,可通过进行控制位的设计灵活的控制存储设备的指令执行,灵活的控制在多个操作指令中进行切换,提高了存储单元的指令的并行度;并且能够适应多种存储设备的操作时序,从而使得存储设备中的多个存储单元能够交织的进行操作,提升了操作效率。
[0110] 实施例四、
[0111] 本发明实施例提供了一种电子设备,如图8所示,包括:
[0112] 命令调度器81,用于获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合,其中,所述N个存储单元通过同一通道连接数据总线,N为大于等于2的整数;
[0113] 微码控制器82,用于基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;
[0114] 其中,所述微码控制器82,具体用于每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令;n为大于等于1、小于等于N的整数,m为大于等于1的整数。
[0115] 这里,所述存储设备可以为固态硬盘(SSD,Solid State Drives),其中,所述存储单元可以为每一个存储设备中包含的多个逻辑单元。
[0116] 所述操作指令集合可以包括有针对N个存储单元的操作指令,其中,针对每一个存储单元的全部操作指令组成子程序;
[0117] 每一个存储单元对应有m组操作指令,这m组操作指令可以组成m个宏指令;进一步地,所述每一个宏指令可以由至少一个微指令组成。
[0118] 具体来说,在微码设计中,多条微指令组合成一个时间上不可拆分的宏指令,控制NAND Flash总线上多个周期的操作;多条宏指令组合成一个时间上可拆分为多个宏指令的子程序,控制总线上多个周期的操作,完成一次NAND Flash总线命令。比如,参见图2,微码指令划分:宏指令、微指令、子程序:
[0119] 一条微指令对应一个周期==一条微指令;
[0120] 多条微指令对应一次调度==一条宏指令;
[0121] 多条宏指令对应一次返回==一个子程序。
[0122] 所述为N个存储单元切换分配所述通道,可以参见图3,具备4个通道,每个通道内4个芯片,每个芯片内2个逻辑单元,图中可以看出每一个SSD芯片中包含有两个逻辑单元,也就是具备有两个存储单元。而针对芯片的操作指令仅通过一个通道来执行指令分配,所以就需要在多个存储单元之间进行通道的切换。
[0123] 每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令,可以为:分配通道给第n个存储单元,向所述第n存储单元写入操作指令集合中的第m组指令,当读取到所述第m组指令的控制为时,确定向下一个存储单元进行指令写入;以此类推。
[0124] 进一步地,本实施例中所述控制位至少包括有:第一控制位、以及第二控制位;
[0125] 其中,所述第一控制位,位于每一组指令中的预设第一位置处,用于指示针对第n存储单元的所述第m组指令发送完毕、且能够开始对第n+1存储单元进行调度;所述预设第一位置处可以为每一组指令的最后一比特位;所述第一控制位可以理解为调度位,也就是说,当读取到第一控制位时,可以确定第m组指令发送完毕,进而可以基于该调度位,确定执行第n+1存储单元的一组指令发送。
[0126] 所述第二控制位,位于针对第n存储单元的全部指令的预设第二位置处,用于指示已发送完成第n存储单元的全部指令;所述预设第二位置处可以为第n存储单元的全部指令的最后一个比特位;所述第二控制位可以理解为返回位,用于指示第n存储单元的子程序发送完成。
[0127] 参见表1,也就是说,通过采用本方案,能够将宏指令、子程序之间的区分采用调度位和返回位来控制,而需要说明的是,宏指令中的多条微指令为时间上不可分割的多个指令,所以微指令中不会设置第一控制位或第二控制位。
[0128]  第一控制位(调度位) 第二控制位(返回位)
微指令 0 0
宏指令 1 0
子程序 0 1
[0129] 表1
[0130] 进一步地,从通道中获取并分配针对同一个通道内多个存储单元,即LUN发送的命指令;一个通道在管理多个LUN的命令操作时,需要查询调度位和返回位的状态,从而能够进行多组指令,比如宏指令,之间的交织操作和子程序的返回处理操作。
[0131] 本实施例具体针对如何进行存储单元之间的状态记录以及如何确定是否切换到下一个存储单元进行指令发送的操作进行具体说明:
[0132] 所述电子设备还包括:
[0133] 指令调度器83,用于读取到第m组指令的第一控制位,确定完成向第n存储单元发送第m组指令;
[0134] 相应的,所述存储器84,用于保存所述第n个存储单元的执行状态。
[0135] 基于本实施例的上述介绍,可以理解到一组指令相当于一个宏指令,当读取到宏指令中的第一控制位即调度位时,就能够确定本次针对存储单元的指令调度已经完成,此时,需要对该存储单元的执行中间状态进行记录。比如,可以记录当前第n存储单元已经完成发送第m组指令。
[0136] 与其相应的,所述微码控制器,具体用于切换所述通道至第n+1存储单元,通过所述通道向第n+1存储单元发送操作指令集合中的指令。
[0137] 具体来说,可以为首先查看所述第n+1存储单元当前记录的执行状态,如果查看到第n+1存储单元当前记录的执行状态为完成第x组指令,并且还具备第x+1组指令需要发送,那么就将通道切换至第n+1存储单元,并通过所述通道向其发送指令;如果查看到第n+1存储单元当前记录的执行状态为结束状态,那么就停止处理,继续查看第n+2组存储单元当前记录的执行状态,依此类推。
[0138] 经过上述处理后,本实施例确定完成存储设备中全部存储单元的指令发送的方式如下:
[0139] 所述指令调度器,用于判断是否读取到N个存储单元的全部的第二控制位;
[0140] 相应的,所述命令调度器,还用于若确定所述指令调度器读取到N个存储单元的全部的第二控制位,则确定N个存储单元发送完毕操作指令集合中的指令。
[0141] 具体的,可以为查看记录的针对N个存储单元的状态记录,若均记录为读取到第二控制位即处于结束状态,则确定N个存储单元发送完毕;若存在任意一个存储单元的状态记录处于中间状态,则继续调度该存储单元剩余的至少一组指令。
[0142] 下面结合图4详细说明本实施例在操作场景中的应用:
[0143] 在一个通道内的命令调度器获得针对两个LUN的命令后,先向微码控制器发送LUN 1的子程序调用;微码控制器执行4条微指令组合而成的一条宏指令,在宏指令完成时,调度位为1;指令调度器得到调度位控制时,切换微码控制器的状态,保存LUN 1命令的执行中间状态,发送LUN 2的子程序调用;
[0144] 微码控制器执行3条微指令组合而成的一条宏指令,在宏指令完成时,调度位为1;指令调度器得到调度位控制时,切换微码控制器的状态,保存LUN 2命令的执行中间状态,向微码控制器加载LUN 1命令保存的中间状态;
[0145] 微码控制器继续执行LUN 1命令,当调度位为1时,微码控制器切换至LUN 2命令中间状态,继续执行LUN 2命令;如此交织操作,直到LUN 1命令对应的微码子程序执行完毕,返回位为1,命令调度器处理器最终状态;命令调度器切换至LUN 2执行,直到其返回位为1,命令调度器处理器最终状态。
[0146] 可见,通过采用上述方案,就能够基于操作指令集合中包含的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令。如此,可通过进行控制位的设计灵活的控制存储设备的指令执行,灵活的控制在多个操作指令中进行切换,并且能够适应多种存储设备的操作时序,从而使得存储设备中的多个存储单元能够交织的进行操作,提升了操作效率。
[0147] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0148] 或者,本发明上述集成的单元如果以软件功能模的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0149] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈