微指令序列执行方法及其装置制造方法及图纸

技术编号:14399461 阅读:59 留言:0更新日期:2017-01-11 12:43
公开了一种微指令序列的执行方法,包括:处理第一命令,若所述第一命令指示擦除操作,向存储器件发出擦除命令;在所述擦除操作执行过程中,若接收到指示读取操作的第二命令,向所述存储器件发出暂停(suspend)所述擦除操作的命令,并向所述存储器件发出读取命令。还公开了微指令序列的执行装置。

【技术实现步骤摘要】

本专利技术涉及固态存储设备(SolidStorageDevice,SSD),更具体地,本专利技术涉及存储器控制器中微码的执行。
技术介绍
同机械式硬盘相类似,固态存储设备(SSD)也是用于计算机系统的大容量、非易失性存储设备。固态存储设备一般以闪存(Flash)作为存储介质。如图1所示,为现有技术的存储系统的框图。其中主要包括主机系统110和固态存储设备120。其中,固态存储设备120包括接口模块130,存储控制器140,以及由多个闪存颗粒150组成的Flash阵列160。其中,接口模块130主要用于实现与主机系统通信的接口协议,例如SATA(SerialAdvancedTechnologyAttachment,串行高级技术附件)、USB(UniversalSerialBus,通用串行总线)、PCIE(PeripheralComponentInterconnectExpress,快速外围组件互连)、NVMe(NVMExpress)、SCSI(SmallComputerSystemInterface,小型计算机系统接口)、IDE(IntegratedDriveElectronics,集成驱动器电子)等。通过接口模块130,固态存储设备呈现给主机系统的是拥有一定逻辑地址空间或物理地址空间的标准存储设备。存储控制器140是整个存储设备的控制核心,主要负责接口模块130与闪存阵列160之间的控制信号及数据的传输、闪存管理、主机逻辑地址到闪存物理地址的转换或映射、磨损均衡、和/或坏块管理等。可由软件、硬件、固件或者其组合的多种方式实现存储控制器140。存储控制器140通过向闪存阵列160中的闪存颗粒150发送命令来访问闪存颗粒150。访问闪存颗粒150的命令包括,例如,读出、编程和/或擦除等。访问闪存颗粒150的命令还包括暂停(suspend)命令,用于临时暂停已发送给闪存颗粒150的命令的执行。由于编程、擦除等命令的执行时间同读出命令相比相对较长。若读出命令跟在编程或擦除命令之后向闪存颗粒150发出,则读出命令需要等待编程或擦除命令的执行完成后才能得到执行,继而导致读出操作的响应时间较长,并导致存储设备120的读出延迟增大。类似地,若编程命令跟在擦除命令之后向闪存颗粒150发出,编程命令需要等待擦除命令的执行完成后才能执行,继而导致编程命令的响应时间较长。通过向闪存颗粒150发出暂停(suspend)命令,可以临时暂停编程或擦除命令在闪存颗粒150上的执行,继而闪存颗粒150能够响应读出命令,并在读出命令执行完成后,通过向闪存颗粒150发出恢复(resume)命令,来恢复对被暂停的编程或擦除命令的执行。在闪存颗粒150执行编程或擦除命令期间,可多次接收暂停命令,以及恢复命令,并使同一编程或擦除命令被暂停以及恢复多次。在公开号为US2013/0198451A1的美国专利申请中,提供了暂停命令的有条件执行。在接收到读/写命令时,基于暂停策略而计算暂停阈值,并判断在前的擦除操作是否满足暂停阈值。若满足暂停阈值,则暂停在前的擦除操作,若不满足暂停阈值,则完成在前的擦除操作。在公开号为CN1414468A的中国专利申请中,提供了通过执行微指令序列来处理CPU(CentralProcessingUnit,中央处理单元)指令的方案。当CPU要处理特定指令时,转换逻辑电路将特定指令转换成与之对应的微指令序列,通过执行微指令序列来实现特定指令的功能。微指令序列或者微指令序列的模板存储在ROM(ReadOnlyMemory,只读存储器)中。在将特定指令转换成微指令序列过程中,可对微指令序列模板进行填充,使之与特定指令相对应。
技术实现思路
虽然现有技术中提供了通过检查暂停阈值来确定是否发出暂停命令的方案,但依然希望提供更多的灵活性,来控制暂停命令的发出时机。并且被期待的是,存储设备的用户能够参与对闪存暂停命令的发出的时机的灵活控制,而不是依赖于存储控制器对访问闪存颗粒的多个命令实施调度。为实现上述目的,本专利技术通过微指令序列的执行来响应来自主机或用户的命令。通过微指令处理器对微指令序列的执行,向闪存颗粒发出操作命令和/或接收从闪存颗粒读出的数据或其他信息。存储设备的用户通过对微指令序列的编程、更新和/或修改,能够参与对闪存暂停命令的发出的时机的灵活控制。根据本专利技术的第一方面,提供了一种调度微指令序列的第一方法,包括:当接收到第一命令时,执行对应于所述第一命令的第一微指令序列;当接收到第二命令时,若所述第一微指令序列正在执行中,暂停(suspend)所述第一微指令序列;执行对应于所述第二命令的第二微指令序列。根据本专利技术的第一方面,还提供了一种调度微指令序列的第二方法,包括:当接收到第一命令时,执行对应于所述第一命令的第一微指令序列;所述第一微指令序列使控制器执行以下操作:第一微指令序列让步;当接收到第二命令时,执行对应于所述第二命令的第二微指令序列;所述第二微指令序列使控制器执行以下操作:第二微指令序列让步;检查微指令序列执行状态;恢复所述第二微指令序列。根据本专利技术的第一方面的第一方法或第二方法,提供了本专利技术第一方面的第三方法,其中:所述执行对应于所述第一命令的第一微指令序列还包括:启动定时器。根据本专利技术的第一方面的第三方法,提供了本专利技术第一方面的第四方法,其中若所述第一微指令序列正在执行中,以及若所述定时器记录的时间小于阈值,则暂停(suspend)所述第一微指令序列;执行所述第二微指令序列。根据本专利技术的第一方面的第一方法,提供了本专利技术第一方面的第五方法,其中:若所述第一微指令序列正在执行中,以及若所述第二命令的优先级高于所述第一命令,则暂停(suspend)所述第一微指令序列;执行所述第二微指令序列。根据本专利技术的第一方面的上述方法之一,提供了本专利技术第一方面的第六方法,其中:所述第一命令指示存储器擦除操作和/或存储器编程操作;以及所述第二命令指示存储器读取操作。根据本专利技术的第一方面的上述方法之一,提供了本专利技术第一方面的第七方法,其中所述暂停(suspend)所述第一微指令序列包括:向存储器发送暂停存储器擦除操作和/或存储器编程操作的命令。根据本专利技术第一方面的第七方法,提供了本专利技术第一方面的第八方法,第八方法还还包括:响应于所述第二微指令序列执行完成,恢复所述第一微指令序列。根据本专利技术第一方面的第八方法,提供了本专利技术第一方面的第九方法,其中恢复所述第一微指令序列包括:向存储器发送恢复所述存储器擦除操作和/或存储器编程操作的命令。根据本专利技术第一方面的第五方法,提供了本专利技术第一方面的第十方法,该第十方法还包括:调整所述第一命令和/或所述第二命令的优先级。根据本专利技术的第二方面,提供了一种调度存储器操作的第一方法,包括:当接收到第一命令时,若所述第一命令指示擦除操作,执行擦除操作微指令序列;所述擦除操作微指令序列使存储器控制器执行以下操作:向存储器件发出擦除命令;以及擦除操作微指令序列让步(yield);当接收到第二命令时,若所述第二命令指示读取操作,执行读取操作微指令序列;所述读取操作微指令序列使存储器控制器执行以下操作:读取操作微指令序列让步;以及向存储器件发出读取命令;该第一方法还包括检查微指令本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201510253428.html" title="微指令序列执行方法及其装置原文来自X技术">微指令序列执行方法及其装置</a>

【技术保护点】
一种微指令序列的执行方法,包括:处理第一命令,若所述第一命令指示擦除操作,向存储器件发出擦除命令;在所述擦除操作执行过程中,若接收到指示读取操作的第二命令,向所述存储器件发出暂停(suspend)所述擦除操作的命令,并向所述存储器件发出读取命令。

【技术特征摘要】
1.一种微指令序列的执行方法,包括:处理第一命令,若所述第一命令指示擦除操作,向存储器件发出擦除命令;在所述擦除操作执行过程中,若接收到指示读取操作的第二命令,向所述存储器件发出暂停(suspend)所述擦除操作的命令,并向所述存储器件发出读取命令。2.根据权利要求1所述的方法,其中向所述存储器件发出读取命令后,检查执行状态,若所述读取命令的执行未完成,所述微指令序列让步(yield)。3.根据权利要求1或2所述的方法,其中向所述存储器件发出读取命令后,检查执行状态,若所述读取命令的执行完成,获取存储器返回的数据;以及发出恢复所述擦除操作的命令。4.根据权利要求3所述的方法,其中发出恢复所述擦除操作的命令后,所述微指令序列让步(yield)。5.根据权利要求1-4之一所述的方法,其中若所述第一命令指示擦除操作,还启动定时器;以及若接收到指示读取操作的第二命令,且定时器记录...

【专利技术属性】
技术研发人员:王祎磊路向峰
申请(专利权)人:北京忆芯科技有限公司
类型:发明
国别省市:北京;11

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

1