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

文档序号:10534419阅读:184来源:国知局
一种信息处理方法及电子设备的制造方法
【专利摘要】本发明公开了一种信息处理方法及电子设备,其中,方法包括:获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合;基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道,并通过所述通道向所述N个存储单元发送指令;其中,所述为N个存储单元切换分配所述通道,并通过所述通道获取到所述N个存储单元的操作指令包括:每次为第n存储单元分配所述通道,基于第n存储单元的操作指令集合中的控制位,向第n存储单元发送与第n存储单元对应的操作指令集合中的第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令。
【专利说明】
_种信息处理方法及电子设备
技术领域
[0001] 本发明涉及信息处理领域中的存储设备管理技术,尤其涉及一种信息处理方法及 电子设备。
【背景技术】
[0002] 芯片控制器NFC(NAND Flash Controller),是一种控制NAND Flash存储芯片读写 操作的逻辑电路,常存在于SSD(固态硬盘)和CPU SoC芯片中。由于NAND Flash的接口控制 时序复杂、NAND Flash的工艺种类繁多(3^:、1^(:、孔(:、30)、嫩冊?1&811厂家采用了私有而 非公有的命令格式,NAND Fish控制器的设计需要考虑很多因素。现在常用的设计方式有两 种:基于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,也就是说,通过采用本方案,能够将宏指令、子程序之间的区分采用调度 位和返回位来控制,而需要说明的是,宏指令中的多条微指令为时间上不可分割的多个指 令,所以微指令中不会设置第一控制位或第二控制位。
[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,也就是说,通过采用本方案,能够将宏指令、子程序之间的区分采用调度 位和返回位来控制,而需要说明的是,宏指令中的多条微指令为时间上不可分割的多个指 令,所以微指令中不会设置第一控制位或第二控制位。
[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,也就是说,通过采用本方案,能够将宏指令、子程序之间的区分采用调度 位和返回位来控制,而需要说明的是,宏指令中的多条微指令为时间上不可分割的多个指 令,所以微指令中不会设置第一控制位或第二控制位。
[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,也就是说,通过采用本方案,能够将宏指令、子程序之间的区分采用调度 位和返回位来控制,而需要说明的是,宏指令中的多条微指令为时间上不可分割的多个指 令,所以微指令中不会设置第一控制位或第二控制位。
[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] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读 存储器(R0M,Read_0nly Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或 者光盘等各种可以存储程序代码的介质。
[0148] 或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品 销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施 例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以 是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。 而前述的存储介质包括:移动存储设备、R〇M、RAM、磁碟或者光盘等各种可以存储程序代码 的介质。
[0149] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1. 一种信息处理方法,应用于电子设备,其特征在于,所述方法包括: 获取到针对存储设备的N个存储单元中每个存储单元的操作指令集合,其中,所述N个 存储单元通过同一通道连接数据总线,N为大于等于2的整数; 基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切换分配所述通道, 并通过所述通道向所述N个存储单元发送指令; 其中,所述为N个存储单元切换分配所述通道,并通过所述通道获取到所述N个存储单 元的操作指令包括:每次为第η存储单元分配所述通道,基于第η存储单元的操作指令集合 中的控制位,向第η存储单元发送与第η存储单元对应的操作指令集合中的第m组指令;直至 向N个存储单元发送完毕操作指令集合中的指令;η为大于等于1、小于等于N的整数,m为大 于等于1的整数。2. 根据权利要求1所述的方法,其特征在于,所述控制位至少包括有:第一控制位、以及 第二控制位; 其中,所述第一控制位,位于每一组指令中的预设第一位置处,用于指示针对第η存储 单元的所述第m组指令发送完毕、且能够开始对第η+1存储单元进行调度; 所述第二控制位,位于针对第η存储单元的全部指令的预设第二位置处,用于指示已发 送完成第η存储单元的全部指令。3. 根据权利要求2所述的方法,其特征在于,所述向第η存储单元发送与第η存储单元对 应的操作指令集合中的第m组指令,包括: 读取到第m组指令的第一控制位,确定完成向第η存储单元发送第m组指令;保存所述第 η个存储单元的执行状态。4. 根据权利要求1-3任一项所述的方法,其特征在于,所述向第η存储单元发送与第η存 储单元对应的操作指令集合中的第m组指令之后,所述方法还包括: 切换所述通道至第η+1存储单元,通过所述通道向第η+1存储单元发送操作指令集合中 的指令。5. 根据权利要求2所述的方法,其特征在于,所述直至向N个存储单元发送完毕操作指 令集合中的指令,包括: 判断是否读取到N个存储单元的全部的第二控制位,若读取到N个存储单元的全部的第 二控制位,则确定N个存储单元发送完毕操作指令集合中的指令。6. -种电子设备,其特征在于,包括: 命令调度器,用于获取到针对存储设备的N个存储单元中每个存储单元的操作指令集 合,其中,所述N个存储单元通过同一通道连接数据总线,N为大于等于2的整数; 微码控制器,用于基于每个存储单元的操作指令集合对应的控制位,为N个存储单元切 换分配所述通道,并通过所述通道向所述N个存储单元发送指令; 其中,所述微码控制器,具体用于每次为第η存储单元分配所述通道,基于第η存储单元 的操作指令集合中的控制位,向第η存储单元发送与第η存储单元对应的操作指令集合中的 第m组指令;直至向N个存储单元发送完毕操作指令集合中的指令;η为大于等于1、小于等于 N的整数,m为大于等于1的整数。7. 根据权利要求6所述的电子设备,其特征在于,所述控制位至少包括有:第一控制位、 以及第二控制位; 其中,所述第一控制位,位于每一组指令中的预设第一位置处,用于指示针对第η存储 单元的所述第m组指令发送完毕、且能够开始对第η+1存储单元进行调度; 所述第二控制位,位于针对第η存储单元的全部指令的预设第二位置处,用于指示已发 送完成第η存储单元的全部指令。8. 根据权利要求7所述的电子设备,其特征在于,所述电子设备还包括: 指令调度器,用于读取到第m组指令的第一控制位,确定完成向第η存储单元发送第m组 指令; 相应的,存储器,用于保存所述第η个存储单元的执行状态。9. 根据权利要求6-8任一项所述的电子设备,其特征在于,所述微码控制器,具体用于 切换所述通道至第η+1存储单元,通过所述通道向第η+1存储单元发送操作指令集合中的指 令。10. 根据权利要求8所述的电子设备,其特征在于,所述指令调度器,用于判断是否读取 到N个存储单元的全部的第二控制位; 相应的,所述命令调度器,还用于若确定所述指令调度器读取到N个存储单元的全部的 第二控制位,则确定N个存储单元发送完毕操作指令集合中的指令。
【文档编号】G06F3/06GK105892944SQ201610193050
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】杨碧波, 闻军会, 毛兴中
【申请人】联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1