控制密集型控制系统及其方法技术方案

技术编号:18575560 阅读:31 留言:0更新日期:2018-08-01 10:34
公开了控制密集型控制系统及其方法。所公开的方法包括第一处理器生成第一命令并发送给第二处理器;在第二处理器中由第一线程处理第一命令;第一线程生成第一存储器访问命令;响应于所生成的第一存储器访问命令被填充至提交队列,所述第一线程让步(yield);第一存储器访问命令处理完成后,恢复生成所述第一存储器访问命令的所述第一线程;以及第一线程使用所述第一存储器访问命令的处理结果。

Control intensive control system and its method

A control intensive control system is disclosed and a method thereof. The disclosed method includes the first processor generating the first command and sending it to the second processor; in the second processor, the first command is processed by the first thread; the first thread generates the first memory access command; the first memory access command is filled to the cross queue in response to the generated first memory access command, and the first thread concession (yield) After the first memory access command processing is completed, the first thread that generates the first memory access command is restored; and the first thread uses the processing result of the first memory access command.

【技术实现步骤摘要】
控制密集型控制系统及其方法
本申请涉及固态存储设备(SolidStorageDevice,SSD),更具体地,本申请涉及改进存储器控制器的大并发IO处理能力。
技术介绍
参看图1,展示了存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(SerialAdvancedTechnologyAttachment,串行高级技术附件)、SCSI(SmallComputerSystemInterface,小型计算机系统接口)、SAS(SerialAttachedSCSI,串行连接SCSI)、IDE(IntegratedDriveElectronics,集成驱动器电子)、USB(UniversalSerialBus,通用串行总线)、PCIE(PeripheralComponentInterconnectExpress,PCIe,高速外围组件互联)、NVMe(NVMExpress,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM芯片105以及DRAM(DynamicRandomAccessMemory,动态随机访问存储器)110。NAND闪存、相变存储器、FeRAM(FerroelectricRAM,铁电存储器)、MRAM(MagneticRandomAccessMemory,磁阻存储器)、RRAM(ResistiveRandomAccessMemory,阻变存储器)等是常见的NVM。接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。控制部件104用于控制在接口103、NVM芯片105以及DRAM110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field-programmablegatearray,现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以耦合到DRAM110,并可访问DRAM110的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。在控制部件104中运行的软件和/或固件(下面统称为“固件”)可被存储在NVM芯片105或另外的固件存储器中。在固态存储设备102上电时,从固件存储器将固件加载到DRAM110和/或控制部件104内部的存储器中。可选地,通过接口103或调试接口接收并加载固件。控制部件104通过闪存接口控制器向NVM芯片105发送的命令包括,例如,读出、编程和/或擦除等。命令还包括暂停(suspend)命令,用于临时暂停已发送给NVM芯片105的命令的执行。由于编程、擦除等命令的执行时间同读出命令相比相对较长。若读出命令跟在编程或擦除命令之后向NVM芯片105发出,则读出命令需要等待编程或擦除命令的执行完成后才能得到执行,继而导致读出操作的响应时间较长,并导致存储设备102的读出延迟增大。类似地,若编程命令跟在擦除命令之后向NVM芯片105发出,编程命令需要等待擦除命令的执行完成后才能执行,继而导致编程命令的响应时间较长。通过向NVM芯片105发出暂停(suspend)命令,可以临时暂停编程或擦除命令在NVM芯片105上的执行,继而NVM芯片105能够响应读出命令,并在读出命令执行完成后,通过向NVM芯片105发出恢复(resume)命令,来恢复对被暂停的编程或擦除命令的执行。在NVM芯片105执行编程或擦除命令期间,可多次接收暂停命令,以及恢复命令,并使同一编程或擦除命令被暂停以及恢复多次。在公开号为US2013/0198451A1的美国专利申请中,提供了暂停命令的有条件执行。在接收到读/写命令时,基于暂停策略而计算暂停阈值,并判断在前的擦除操作是否满足暂停阈值。若满足暂停阈值,则暂停在前的擦除操作,若不满足暂停阈值,则完成在前的擦除操作。在公开号为CN1414468A的中国专利申请中,提供了通过执行微指令序列来处理CPU(CentralProcessingUnit,中央处理单元)命令的方案。当CPU要处理特定命令时,转换逻辑电路将特定命令转换成与之对应的微指令序列,通过执行微指令序列来实现特定命令的功能。微指令序列或者微指令序列的模板存储在ROM(ReadOnlyMemory,只读存储器)中。在将特定命令转换成微指令序列过程中,可对微指令序列模板进行填充,使之与特定命令相对应。由于用于NVM存储器中的NVM控制器通常耦合到多个NVM芯片,NVM芯片包括多个LUN(逻辑单元)或管芯,多个LUN和管芯可以并行响应及访问NVM命令,又由于每个LUN或管芯上可以有多个待处理的NVM命令,因此NVM控制器需要对多个NVM命令或多段微指令序列进行调度,以维护多个在处理中或待处理的NVM命令,或者维护多段用于生成NVM命令的微指令序列。
技术实现思路
虽然现有技术中提供了通过检查暂停阈值来确定是否发出暂停命令的方案,但依然希望提供更多的灵活性,来控制暂停命令的发出时机。并且被期待的是,存储设备的用户能够参与对闪存暂停命令的发出的时机的灵活控制,而不是依赖于存储控制器对访问NVM芯片的多个命令实施调度。为实现上述目的,本专利技术通过微指令序列的执行来响应来自主机或用户的命令。通过微指令处理器对微指令序列的执行,向NVM芯片发出操作命令和/或接收从NVM芯片读出的数据或其他信息。存储设备的用户通过对微指令序列的编程、更新和/或修改,能够参与对闪存暂停命令的发出的时机的灵活控制。根据本申请的第一方面,提供了根据本申请第一方面的第一存储器访问处理方法,包括:第一处理器生成第一命令并发送给第二处理器;在第二处理器中由第一线程处理第一命令;第一线程生成第一存储器访问命令;响应于所生成的第一存储器访问命令被填充至提交队列,所述第一线程让步(yield);第一存储器访问命令处理完成后,恢复生成所述第一存储器访问命令的所述第一线程;以及第一线程使用所述第一存储器访问命令的处理结果。根据根据本申请第一方面的第一存储器访问处理方法,提供了根据本申请第一方面的第二存储器访问处理方法,还包括:响应于所述第一线程让步,所述本文档来自技高网
...

【技术保护点】
1.一种存储器访问处理方法,包括:第一处理器生成第一命令并发送给第二处理器;在第二处理器中由第一线程处理第一命令;第一线程生成第一存储器访问命令;响应于所生成的第一存储器访问命令被填充至提交队列,所述第一线程让步(yield);第一存储器访问命令处理完成后,恢复生成所述第一存储器访问命令的所述第一线程;以及第一线程使用所述第一存储器访问命令的处理结果。

【技术特征摘要】
2017.01.22 CN 20171005330291.一种存储器访问处理方法,包括:第一处理器生成第一命令并发送给第二处理器;在第二处理器中由第一线程处理第一命令;第一线程生成第一存储器访问命令;响应于所生成的第一存储器访问命令被填充至提交队列,所述第一线程让步(yield);第一存储器访问命令处理完成后,恢复生成所述第一存储器访问命令的所述第一线程;以及第一线程使用所述第一存储器访问命令的处理结果。2.根据权利要求1所述的方法,还包括:响应于所述第一线程让步,所述第二处理器调度第二线程处理第一处理器发送给第二处理器的第二命令;以及第二线程生成第二存储器访问命令;响应于所生成的第二存储器访问命令被填充至提交队列,所述第二线程让步。3.根据权利要求1-2之一所述的方法,其中所述第一处理器将第一命令填充至命令队列,以将所述第一命令发送给所述第二处理器。4.根据权利要求1-3之一所述的方法,还包括:总线控制器处理第一存储器访问命令,将所述第一存储器访问命令的处理结果存储到所述第一线程的上下文存储器,以及将指示所述第一存储器访问命令处理完成的完成队列条目填充到所述完成队列。5.根据权利要求1-4之一所述的方法,还包括:总线控制器处理第一存储器访问命令,将所述第一存储器访问命令的处理结果存储到指示所述第一存储器访问命令处理完成的完成队列条目,以及将所述完成队列条目填充到所述完成队列。6.根据权利要求1-...

【专利技术属性】
技术研发人员:沈飞王晨阳伍德斌
申请(专利权)人:厦门鑫忆讯科技有限公司
类型:发明
国别省市:福建,35

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

1