CN109857331A - 指令处理方法及使用所述方法的储存控制器 - Google Patents
指令处理方法及使用所述方法的储存控制器 Download PDFInfo
- Publication number
- CN109857331A CN109857331A CN201711237957.8A CN201711237957A CN109857331A CN 109857331 A CN109857331 A CN 109857331A CN 201711237957 A CN201711237957 A CN 201711237957A CN 109857331 A CN109857331 A CN 109857331A
- Authority
- CN
- China
- Prior art keywords
- group
- processor
- instruction
- output instruction
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明提出一种指令处理方法及使用所述方法的储存控制器。指令处理方法包括:接收多个输入输出指令;根据输入输出指令的处理器使用指数,将输入输出指令分类成多个群组;从群组中选择第一群组,重置计时器并根据第一群组的输入输出指令来获得对应第一群组的到期时间,并执行第一群组的输入输出指令;以及当第一群组的到期时间到期时,从群组中选择第二群组并重置计时器,其中当第一群组的处理器使用指数小于门槛值时,在到期时间到期之前降低处理器的时脉。如此一来,能对处理器资源进行更有效率的利用。
Description
技术领域
本发明涉及一种指令处理方法及使用所述方法的储存控制器,尤其涉及一种能够最大化处理器使用率的指令处理方法及使用所述方法的储存控制器。
背景技术
在一般的储存装置中,通常是通过储存控制器从主机系统收指令,并将指令传送到指令队列中等待执行。当储存控制器在执行指令时会根据指令来存取储存媒介,例如非易失性存储器模块,以执行读取或写入等功能。
然而,从主机系统接收到的指令有许多不同的类别,而每一种类别的指令的处理器执行时间及数据传输时间都不同。有些指令的处理器执行时间小于数据传输时间,而其他指令的处理器执行时间大于数据传输时间。当不同种类的指令从指令队列输出并执行时,处理器执行时间大于数据传输时间的指令会产生很多零散的处理器闲置时间,而这些时间的处理器资源相当于被浪费掉了。因此,如何对处理器资源进行更有效率的利用,是本领域技术人员应致力的目标。
发明内容
本发明提供一种指令处理方法及使用所述方法的储存控制器,以节省系统耗电量或充分利用处理器闲置时间的效能。
本发明提出一种指令处理方法,适用于储存控制器。储存控制器用于存取储存媒体并耦接至主机系统。指令处理方法包括:接收多个输入输出指令。指令处理方法还包括根据上述输入输出指令的处理器使用指数,将上述输入输出指令分类成多个群组。指令处理方法还包括从上述群组中选择第一群组,重置计时器并根据第一群组的输入输出指令来获得对应第一群组的到期时间(expiration time),并执行第一群组的输入输出指令。指令处理方法还包括当第一群组的到期时间到期时,从上述群组中选择第二群组并重置计时器。其中当第一群组的处理器使用指数小于门槛值时,在到期时间到期之前降低处理器的时脉。
在本发明的一实施例中,上述群组包括第三群组,当第三群组的输入输出指令的处理器使用指数都小于第一值且第一值小于门槛值时,处理器在第三群组的到期时间到期之前将处理器的原始时脉降低为原始时脉乘以第一值。
在本发明的一实施例中,上述储存控制器通过主机接口与主机系统沟通,且主机接口支持乱序执行(out-of-order execution,OOE)功能。
在本发明的一实施例中,上述处理器使用指数为处理器输入输出指令执行时间除以对应的数据传输时间。
在本发明的一实施例中,上述门槛值为1。
在本发明的一实施例中,上述处理器输入输出指令执行时间为输入输出指令的其中之一所对应的多个函式的处理器的执行时间,上述函式直接相关于输入输出指令的该其中之一的数据传输。
在本发明的一实施例中,上述数据传输时间为输入输出指令的其中之一的估计数据传输时间。
在本发明的一实施例中,上述储存控制器通过查找表将输入输出指令的传输方向及大小映射到上述群组的群组索引上,并通过指令排序器来查找查找表,其中指令排序器将输入输出指令分类成上述群组。
在本发明的一实施例中,上述储存控制器通过查找表将输入输出指令的传输方向及大小映射到数据传输时间上,并通过每个群组所对应的指令队列管理器来查找上述查找表。
在本发明的一实施例中,上述到期时间为第一群组的输入输出指令的数据传输时间的总合,其中数据传输时间从查找表来获得。
本发明提出一种储存控制器,用于存取储存媒体并耦接至主机系统。储存控制器包括:指令排序器;多个指令队列管理器,耦接到指令排序器;仲裁器,耦接到上述指令队列管理器;计时器,耦接到仲裁器;以及处理器,耦接到指令排序器、上述指令队列管理器及仲裁器的至少其中之一。其中指令排序器从主机系统接收多个输入输出指令。指令排序器根据输入输出指令的处理器使用指数,将输入输出指令分类成多个群组。仲裁器从上述群组中选择第一群组,重置计时器并根据第一群组的输入输出指令来获得对应第一群组的到期时间,并由处理器执行第一群组的输入输出指令。当第一群组的到期时间到期时,仲裁器从上述群组中选择第二群组并重置计时器。其中当第一群组的处理器使用指数小于门槛值时,在到期时间到期之前降低处理器的时脉。
在本发明的一实施例中,上述群组包括第三群组,当第三群组的输入输出指令的处理器使用指数都小于第一值且第一值小于门槛值时,处理器在第三群组的到期时间到期之前将处理器的原始时脉降低为原始时脉乘以第一值。
在本发明的一实施例中,上述储存控制器通过主机接口与主机系统沟通,且主机接口支持乱序执行(out-of-order execution,OOE)功能。
在本发明的一实施例中,上述处理器使用指数为处理器输入输出指令执行时间除以对应的数据传输时间。
在本发明的一实施例中,上述门槛值为1。
在本发明的一实施例中,上述处理器输入输出指令执行时间为输入输出指令的其中之一所对应的多个函式的处理器的执行时间,上述函式直接相关于输入输出指令的该其中之一的数据传输。
在本发明的一实施例中,上述数据传输时间为输入输出指令的其中之一的估计数据传输时间。
在本发明的一实施例中,上述储存控制器通过查找表将输入输出指令的传输方向及大小映射到上述群组的群组索引上,并通过指令排序器来查找查找表,其中指令排序器将输入输出指令分类成上述群组。
在本发明的一实施例中,上述储存控制器通过查找表将输入输出指令的传输方向及大小映射到数据传输时间上,并通过每个群组所对应的指令队列管理器来查找上述查找表。
在本发明的一实施例中,上述到期时间为第一群组的输入输出指令的数据传输时间的总合,其中数据传输时间从查找表来获得。
基于上述,本发明的指令处理方法及使用所述方法会将输入输出指令根据处理器使用指数分成多个群组。在执行一个群组的输入输出指令之前会先重置计时器并根据此群组的输入输出指令来获得此群组的到期时间。若所执行群组的处理器使用指数小于门槛值,则可在此群足的到期时间到期之前降低处理器的时脉。通过根据处理器使用指数对输入输出指令分群组,可将处理器使用率较少的指令集中在同一群组,从而集中处理器闲置时间。因此,就可利用处理器闲置时间来处理其他指令或在上述闲置时间降低处理器的时脉。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1为根据本发明的一实施例所示的主机系统及储存装置的方块图。
图2为根据本发明的一实施例所示的指令处理方法的流程图。
图3为根据本发明的另一实施例所示的指令处理方法的流程图。
图4为根据本发明的另一实施例所示的指令处理方法的流程图。
图5A及图5B为根据本发明的一实施例所示的指令处理方法的范例。
符号说明:
10:主机系统;
20:储存装置;
100:主机存储器;
200:储存控制器;
300:动态随机存取存储器;
201、202:处理器;
210:指令输入器;
220:指令排序器;
230:查找表;
240_0~240_N-1:指令队列管理器;
241_0~241_N-1:指令队列;
250:仲裁器;
260:计时器;
270:数据传输电路;
280:储存媒体接口电路;
300:动态随机存取存储器;
400_0~400_n:储存媒体;
S201、S203、S205、S207:指令处理方法的步骤;
S301、S303、S305、S307、S309、S311、S313:指令处理方法的步骤;
S401、S403、S405、S407、S409、S411、S413:指令处理方法的步骤;
510、520、521、522:指令队列;
530、540:时间关系图;
541、542:闲置时间。
具体实施方式
一般而言,储存装置包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与储存装置控制器(也称,储存控制器或储存控制电路)。通常储存装置是与主机系统一起使用,以使主机系统可将数据写入至储存装置或从储存装置中读取数据。
图1为根据本发明的一实施例所示的主机系统及储存装置的方块图。
请参照图1,主机系统(Host System)10包括主机处理器(未示于图中)、主机存储器(Host Memory)100及数据传输接口电路(Data Transfer Interface Circuit)(未示于图中)。在本实施例中,数据传输接口电路耦接(也称,电性连接)至主机处理器与主机存储器100。在另一实施例中,主机处理器、主机存储器100与数据传输接口电路之间利用系统总线(System Bus)彼此耦接。
储存装置20包括储存控制器(Storage Controller)200、动态随机存取存储器(Dynamic Random Access Memory,DRAM)300、储存媒体(Storage Media)400_0至400_n及连接接口电路(Connection Interface Circuit)(未示于图中)。储存媒体400_0至400_n可为可复写式非易失性存储器模块(Rewritable Non-Volatile Memory Module)。
在本实施例中,主机系统10是通过数据传输接口电路与储存装置20的连接接口电路(又称为储存装置20的主机接口)至储存装置20来进行数据的存取操作。例如,主机系统10可经由数据传输接口电路将数据储存至储存装置20或从储存装置20中读取数据。
在本实施例中,主机处理器、主机存储器100及数据传输接口电路可设置在主机系统10的主机板上。数据传输接口电路的数目可以是一或多个。通过数据传输接口电路,主机板可以经由有线或无线方式耦接至储存装置20。储存装置20可例如是随身盘、记忆卡、固态硬盘(Solid State Drive,SSD)或无线存储器储存装置。无线存储器储存装置可例如是近距离无线通讯(Near Field Communication,NFC)存储器储存装置、无线传真(WiFi)存储器储存装置、蓝牙(Bluetooth)存储器储存装置或低功耗蓝牙存储器储存装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器储存装置。此外,主机系统10也可以通过系统总线耦接至全球定位系统(Global Positioning System,GPS)模块、网路接口卡、无线传输装置、键盘、屏幕、喇叭等各式I/O装置。
在本实施例中,数据传输接口电路与连接接口电路是相容于高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准的接口电路。并且,数据传输接口电路与连接接口电路之间是利用快速非易失性存储器(Non-VolatileMemory express,NVMe)控制器接口、进阶主机控制器接口(Advanced Host ControllerInterface,AHCI)或PCIe架构队列接口(PCIe architecture Queuing Interface,PQI)等协定来进行数据的传输并可具有乱序执行(out-of-order execution,OOE)功能。其中快速非易失性存储器协定可具有输入输出提交队列(Input/Output Submission Queue,IOSQ)及输入输出完成队列(Input/Output Completion Queue,IOCQ)架构,进阶主机控制器接口协定可具有(Native Command Queue,NCQ)指令支持,PCIe架构队列接口协定可具有输入队列(Input Queue,IQ)及输出队列(Output Queue,OQ)架构。
然而,必须了解的是,本发明不限于此,数据传输接口电路与连接接口电路也可以是符合并行高级附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、串行高级附件(Serial Advanced Technology Attachment,SATA)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(MemoryStick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体储存卡(MultiMedia Card,MMC)接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated DeviceElectronics,IDE)标准或其他适合的标准。此外,在另一实施例中,连接接口电路可与储存控制器200封装在一个芯片中,或者连接接口电路是布设于一包含储存控制器200的芯片外。
在本实施例中,主机存储器100用以暂存主机处理器所执行的指令或数据。例如,在本范例实施例中,主机存储器100可以是动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)等。然而,必须了解的是,本发明不限于此,主机存储器100也可以是其他适合的存储器。
在本实施例中,储存控制器200包括处理器201、指令输入器210、指令排序器220、查找表230、指令队列管理器240_0至240_N-1、仲裁器250及计时器260。指令队列管理器240_0至240_N-1分别具有指令队列241_0至241_N-1。处理器201负责主机输入输出指令的处理。除了处理器201之外,储存控制器200还可包括一到多个处理器202,负责主机输入输出指令以外的指令的处理。
当指令输入器210从主机存储器100接收到多个指令时,指令输入器210会将指令传送到指令排序器220,由指令排序器220通过查找表230将指令依照处理器使用指数(CPUEffort Index,CEI)分成不同群组,再将不同群组的指令分别传送到指令队列241_0至241_N-1。仲裁器250会从指令队列241_0至241_N-1中选择其中一个指令群组来执行,并且通过计时器260来管控指令执行的到期时间。关于处理器使用指数的计算方法及计时器260的管控方法,将于下文中详细说明。
在本实施例中,储存控制器200还包括数据传输电路270与储存媒体接口电路280。当指令被执行时,数据传输电路270用以接受处理器201的指示来与主机存储器100进行数据的传输。例如,经由连接接口电路从主机系统10(如,主机存储器100)读取数据,并且将所读取的数据经由储存媒体接口电路280写入至储存媒体400_0至400_n中。又例如,经由储存媒体接口电路280从储存媒体400_0至400_n读取数据,并且将所读取的数据经由连接接口电路写入至主机系统10(如,主机存储器100)中。储存媒体接口电路280用以接受处理器201的指示,配合数据传输电路270来进行对于储存媒体400_0至400_n的数据的写入(也称,程序化,Programming)、读取操作。储存媒体接口电路280也可对储存媒体400_0至400_n进行抹除操作。此外,通过储存媒体接口电路280写入储存媒体400_0至400_n的数据可以先暂存在动态随机存取存储器300中,且储存媒体接口电路280从储存媒体400_0至400_n读出的数据也可暂存在动态随机存取存储器300中。
值得注意的是,计时器260可由硬件电路来实作。指令输入器210、指令排序器220及仲裁器250可由硬件电路或固件的方式来实作。而查找表230则可由固件方式来实作,在系统初始化的过程中,可预先定义每一群组指令所对应的处理器使用指数范围,并将上述处理器使用指数范围及对应的指令群组程式化进入查找表中。此外,查找表也会记录每个指令群组中不同指令的处理时间。
图2为根据本发明的一实施例所示的指令处理方法的流程图。
请参照图2,在步骤S201中,接收多个输入输出指令。具体来说,指令输入器210可从主机存储器100接收多个输入输出指令。
在步骤S203中,根据输入输出指令的处理器使用指数,将输入输出指令分类成多个群组。具体来说,指令排序器220会根据处理器使用指数(CPU Effort Index,CEI)将指令输入器210的输入输出指令分类(categorize)成多个群组,并将不同群组的输入输出指令分别传送到指令队列管理器240_0至240_N-1的指令队列241_0至241_N-1中。
值得注意的是,处理器使用指数(CEI)为处理器输入输出指令执行时间除以对应的数据传输时间。处理器输入输出指令执行时间为一个输入输出指令所对应的多个函式(function)的该处理器的执行时间,该些函式直接相关于该些输入输出指令的该其中之一的数据传输。上述函式例如是直接存储器存取(Direct Memory Access,DMA)的硬件引擎激活、内部缓冲器(buffer)配置、储存媒体存取协定的指令发布(command issue)、由处理器201分派工作到其他处理器202等等。另一方面,执行固态硬盘的垃圾收集操作的时间则不属于处理器输入输出指令执行时间。上述数据传输时间则为一个输入输出指令被执行时所对应的估计总数据传输时间。
在本实施例中,储存控制器200可通过查找表230将输入输出指令的传输方向及大小映射到对应群组的群组索引上,并通过指令排序器220来查找该查找表230。此外,储存控制器200还通过查找表230将输入输出指令的传输方向及大小映射到数据传输时间上,并通过每个群组所对应的指令队列管理器240_0至240_N-1来查找查找表230。
在步骤S205中,从上述群组中选择第一群组,重置计时器260并根据第一群组的输入输出指令来获得对应第一群组的到期时间,并执行第一群组的输入输出指令。具体来说,仲裁器250会选择第一群组(例如,指令队列)来执行第一群组的输入输出指令(例如,指令队列241_1中的输入输出指令)。当第一群组被仲裁器250选到时,仲裁器250会重置(reset)计时器260并且根据第一群组的输入输出指令来获得对应第一群组的到期时间,再将到期时间传送到计时器260。
在步骤S207中,当第一群组的到期时间到期时,从群组中选择第二群组并重置计时器,其中当第一群组的处理器使用指数小于门槛值时,在到期时间到期之前降低处理器的时脉。具体来说,当第一群组的到期时间到期时,也就是仲裁器250从计时器260接收到到期通知时,仲裁器250会选择下一个群组的指令来执行,并重复重置计时器260等步骤。值得注意的是,到期时间为第一群组的输入输出指令的数据传输时间的总合,其中数据传输时间可从查找表230来获得。
在本实施例中,当一个群组的输入输出指令的输入输出指令(CEI)都小于等于1时,代表处理器201在执行此群组的指令时会有空闲时间,因此处理器201可在此群组的到期时间到期之前降低处理器201的时脉,以达成省电效果。在另一实施例中,当一个群组的输入输出指令的输入输出指令(CEI)都小于等于1时,若处理器201成执行用来激活数据传输所有必要函数,且此群组的到期时间还没到期,则处理器201可利用等待数据传输的闲置时间,进行主机输入输出指令处理以外的工作。
图3为根据本发明的另一实施例所示的指令处理方法的流程图。
请参照图3,在步骤S301中,仲裁器250从指令队列241_0至241_N-1中选择下一个群组。
在步骤S303中,仲裁器250判断选定群组中是否有任何待执行(pending)的输入输出指令。若选定群组中没有任何待执行的输入输出指令则回到步骤S301。
若选定群组中有待执行的输入输出指令则在步骤S305中,进一步判断选定群组的输入输出指令的处理器使用指数是否小于门槛值。
若选定群组的输入输出指令的处理器使用指数不小于门槛值则直接在步骤S309中,激活所有数据的传输。
若选定群组的输入输出指令的处理器使用指数小于门槛值则先在步骤S307中,降低处理器201的时脉。接着才在步骤S309中,激活所有数据的传输。
在步骤S311中,仲裁器250会判断选定群组的到期时间是否已经到期。
若选定群组的到期时间已经到期,在步骤S313中,将处理器201的时脉设定回预设时脉。接着回到步骤S301中,继续选择下一个群组。
图4为根据本发明的另一实施例所示的指令处理方法的流程图。
请参照图4,在步骤S401中,仲裁器250从指令队列241_0至241_N-1中选择下一个群组。
在步骤S403中,仲裁器250判断选定群组中是否有任何待执行(pending)的输入输出指令。若选定群组中没有任何待执行的输入输出指令则回到步骤S401。
若选定群组中有待执行的输入输出指令则在步骤S405中,激活所有数据的传输。
在步骤S407中,判断选定群组的输入输出指令的处理器使用指数是否小于门槛值。
若选定群组的输入输出指令的处理器使用指数不小于门槛值,则在完成所有数据传输后直接回到步骤S401。
若选定群组的输入输出指令的处理器使用指数小于门槛值,在步骤S409中,判断是否存在输入输出指令以外的待执行工作。
若不存在输入输出指令以外的待执行工作,则在完成所有数据传输后直接回到步骤S401。
若存在输入输出指令以外的待执行工作,则在步骤S411中,仲裁器250会判断选定群组的到期时间是否已经到期。
若选定群组的到期时间已经到期,则直接回到步骤S401。
若选定群组的到期时间还没到期,则在步骤S413中,由处理器201执行其他工作,并在执行完上述其他工作后回到步骤S409,继续判断是否存在输入输出指令以外的待执行工作。值得注意的是,上述其他工作所需花费的时间需要在选定群组的到期时间到期之前完成。
图5A及图5B为根据本发明的一实施例所示的指令处理方法的范例。
请参照图5A及图5B,在本范例中,假设共有六个种类的主机输入输出指令A、B、C、D、E、F。以指令A为例,指令A的处理器输入输出指令执行时间(以虚线表示)为2,且数据传输时间(以实线表示)为1,因此指令A的处理器使用指数(即,CEI0)为2/1。指令B到F的处理器输入输出指令执行时间、数据传输时间及CEI1到CEI5则可以此类推。
在本范例的指令处理方法中,可将指令A到F分类(categorize)为群组0、群组1及群组2。其中群组0包括CEI≧1的指令,也就是指令A、B、C。群组1包括0.25<CEI<1的指令,也就是指令D、E。群组2包括CEI≦0.25的指令,也就是指令F。
指令队列510是未使用本发明的指令处理方法的指令队列的范例。而指令队列520、指令队列521、指令队列522则是根据本发明的指令处理方法将指令队列510分类成多个群组。
时间关系图530显示了指令队列510被执行时,处理器输入输出指令执行时间(实线部分)及数据传输时间(虚线部分)的关系。从时间关系图530可看出,虽然处理器201有许多闲置时间,但闲置时间分散在各个不同的时间区段,无法进行有效的利用。
时间关系图540则显示了指令队列520、指令队列521、指令队列522依序被执行时,处理器输入输出指令执行时间(实线部分)及数据传输时间(虚线部分)的关系。在本发明的指令处理方法中,通过CEI将指令分组,当群组中指令的CEI小于1时可将指令执行时处理器201的闲置时间整合成一个连续的区段,例如群组1的闲置时间541及群组2的闲置时间542。在闲置时间541及闲置时间542中,处理器201可用来执行其他的工作。
另一方面,以群组2为范例,当仲裁器250选择执行群组2的指令时,就可根据群组2的CEI来降低处理器201的时脉。因为群组2的指令的CEI都小于0.25,因此在执行群组2的指令时就可以将处理器201的时脉降低为原始时脉乘上1/4,直到要执行下一个群组的指令(即,群组2的到期时间到期)之前,再将处理器201的时脉调整回原始时脉。如此一来,在执行CEI小于1的群组的指令时可以通过处理器201的降频以达到省电效果。
综上所述,本发明的指令处理方法及使用所述方法会将输入输出指令根据处理器使用指数分成多个群组。在执行一个群组的输入输出指令之前会先重置计时器并根据此群组的输入输出指令来获得此群组的到期时间。若所执行群组的处理器使用指数小于门槛值,则可在此群足的到期时间到期之前降低处理器的时脉。通过根据处理器使用指数对输入输出指令分群组,可将处理器使用率较少的指令集中在同一群组,从而集中处理器闲置时间。因此,就可利用处理器闲置时间来处理其他指令以更有效地利用处理器资源,或在上述闲置时间降低处理器的时脉以达到省电效果。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视所附的权利要求所界定者为准。
Claims (20)
1.一种指令处理方法,适用于储存控制器,所述储存控制器用于存取储存媒体并耦接至主机系统,其特征在于,所述指令处理方法包括:
接收多个输入输出指令;
根据所述多个输入输出指令的处理器使用指数,将所述多个输入输出指令分类成多个群组;
从所述多个群组中选择第一群组,重置计时器并根据所述第一群组的所述多个输入输出指令来获得对应所述第一群组的到期时间,并执行所述第一群组的所述多个输入输出指令;以及
当所述第一群组的所述到期时间到期时,从所述多个群组中选择第二群组并重置所述计时器,
其中当所述第一群组的所述处理器使用指数小于门槛值时,在所述到期时间到期之前降低所述处理器的时脉。
2.根据权利要求1所述的指令处理方法,其特征在于,其中所述多个群组包括第三群组,当所述第三群组的所述多个输入输出指令的所述处理器使用指数都小于第一值且所述第一值小于所述门槛值时,所述处理器在所述第三群组的所述到期时间到期之前将所述处理器的原始时脉降低为所述原始时脉乘以所述第一值。
3.根据权利要求1所述的指令处理方法,其特征在于,其中所述储存控制器通过主机接口与所述主机系统沟通,且所述主机接口支持乱序执行功能。
4.根据权利要求1所述的指令处理方法,其特征在于,其中所述处理器使用指数为处理器输入输出指令执行时间除以对应的数据传输时间。
5.根据权利要求4所述的指令处理方法,其特征在于,其中所述门槛值为1。
6.根据权利要求4所述的指令处理方法,其特征在于,其中所述处理器输入输出指令执行时间为所述多个输入输出指令的其中之一所对应的多个函式的所述处理器的执行时间,所述多个函式直接相关于所述多个输入输出指令的所述其中之一的数据传输。
7.根据权利要求4所述的指令处理方法,其特征在于,其中所述数据传输时间为所述多个输入输出指令的其中之一的估计数据传输时间。
8.根据权利要求1所述的指令处理方法,其特征在于,其中所述储存控制器通过查找表将所述多个输入输出指令的传输方向及大小映射到所述多个群组的群组索引上,并通过指令排序器来查找所述查找表,其中所述指令排序器将所述多个输入输出指令分类成所述多个群组。
9.根据权利要求4所述的指令处理方法,其特征在于,其中所述储存控制器通过查找表将所述多个输入输出指令的传输方向及大小映射到所述数据传输时间上,并通过每个所述群组所对应的指令队列管理器来查找所述查找表。
10.根据权利要求9所述的指令处理方法,其特征在于,其中所述到期时间为所述第一群组的所述多个输入输出指令的所述数据传输时间的总合,其中所述数据传输时间从所述查找表来获得。
11.一种储存控制器,用于存取储存媒体并耦接至主机系统,其特征在于,所述储存控制器包括:
指令排序器;
多个指令队列管理器,耦接到所述指令排序器;
仲裁器,耦接到所述多个指令队列管理器;
计时器,耦接到所述仲裁器;以及
处理器,耦接到所述指令排序器、所述多个指令队列管理器及所述仲裁器的至少其中之一,其中
所述指令排序器从所述主机系统接收多个输入输出指令,
所述指令排序器根据所述多个输入输出指令的处理器使用指数,将所述多个输入输出指令分类成多个群组,
所述仲裁器从所述多个群组中选择第一群组,重置所述计时器并根据所述第一群组的所述多个输入输出指令来获得对应所述第一群组的到期时间,并由所述处理器执行所述第一群组的所述多个输入输出指令,
当所述第一群组的所述到期时间到期时,所述仲裁器从所述多个群组中选择第二群组并重置所述计时器,
其中当所述第一群组的所述处理器使用指数小于门槛值时,在所述到期时间到期之前降低所述处理器的时脉。
12.根据权利要求11所述的储存控制器,其特征在于,其中所述多个群组包括第三群组,当所述第三群组的所述多个输入输出指令的所述处理器使用指数都小于第一值且所述第一值小于所述门槛值时,所述处理器在所述第三群组的所述到期时间到期之前将所述处理器的原始时脉降低为所述原始时脉乘以所述第一值。
13.根据权利要求11所述的储存控制器,其特征在于,其中所述储存控制器通过主机接口与所述主机系统沟通,且所述主机接口支持乱序执行功能。
14.根据权利要求11所述的储存控制器,其特征在于,其中所述处理器使用指数为处理器输入输出指令执行时间除以对应的数据传输时间。
15.根据权利要求14所述的储存控制器,其特征在于,其中所述门槛值为1。
16.根据权利要求14所述的储存控制器,其特征在于,其中所述处理器输入输出指令执行时间为所述多个输入输出指令的其中之一所对应的多个函式的所述处理器的执行时间,所述多个函式直接相关于所述多个输入输出指令的所述其中之一的数据传输。
17.根据权利要求15所述的储存控制器,其特征在于,其中所述数据传输时间为所述多个输入输出指令的其中之一的估计数据传输时间。
18.根据权利要求11所述的储存控制器,其特征在于,其中所述储存控制器通过查找表将所述多个输入输出指令的传输方向及大小映射到所述多个群组的群组索引上,并通过指令排序器来查找所述查找表,其中所述指令排序器将所述多个输入输出指令分类成所述多个群组。
19.根据权利要求14所述的储存控制器,其特征在于,其中所述储存控制器通过查找表将所述多个输入输出指令的传输方向及大小映射到所述数据传输时间上,并通过每个所述群组所对应的指令队列管理器来查找所述查找表。
20.根据权利要求19所述的储存控制器,其特征在于,其中所述到期时间为所述第一群组的所述多个输入输出指令的所述数据传输时间的总合,其中所述数据传输时间从所述查找表来获得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711237957.8A CN109857331B (zh) | 2017-11-30 | 2017-11-30 | 指令处理方法及使用所述方法的储存控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711237957.8A CN109857331B (zh) | 2017-11-30 | 2017-11-30 | 指令处理方法及使用所述方法的储存控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857331A true CN109857331A (zh) | 2019-06-07 |
CN109857331B CN109857331B (zh) | 2022-03-25 |
Family
ID=66888193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711237957.8A Active CN109857331B (zh) | 2017-11-30 | 2017-11-30 | 指令处理方法及使用所述方法的储存控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857331B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101137106A (zh) * | 2006-09-28 | 2008-03-05 | 中兴通讯股份有限公司 | 一种集群系统的撤销重组群组的系统 |
US20130111242A1 (en) * | 2011-10-28 | 2013-05-02 | Daniel S. Heller | System and method for managing clock speed based on task urgency |
US20130308456A1 (en) * | 2012-05-18 | 2013-11-21 | Alcatel-Lucent Usa Inc. | System And Method For Implementing Active Queue Management Enhancements For Variable Bottleneck Rates |
CN104584671A (zh) * | 2012-07-02 | 2015-04-29 | 阿尔卡特朗讯公司 | 分组移动网络中数据传输的支持 |
US20160026386A1 (en) * | 2014-07-22 | 2016-01-28 | Sandisk Enterprise Ip Llc | Suspending and Resuming Non-Volatile Memory Operations |
CN107025063A (zh) * | 2016-01-29 | 2017-08-08 | 大心电子股份有限公司 | 内存管理方法、内存储存装置及内存控制电路单元 |
-
2017
- 2017-11-30 CN CN201711237957.8A patent/CN109857331B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101137106A (zh) * | 2006-09-28 | 2008-03-05 | 中兴通讯股份有限公司 | 一种集群系统的撤销重组群组的系统 |
US20130111242A1 (en) * | 2011-10-28 | 2013-05-02 | Daniel S. Heller | System and method for managing clock speed based on task urgency |
US20130308456A1 (en) * | 2012-05-18 | 2013-11-21 | Alcatel-Lucent Usa Inc. | System And Method For Implementing Active Queue Management Enhancements For Variable Bottleneck Rates |
CN104584671A (zh) * | 2012-07-02 | 2015-04-29 | 阿尔卡特朗讯公司 | 分组移动网络中数据传输的支持 |
US20160026386A1 (en) * | 2014-07-22 | 2016-01-28 | Sandisk Enterprise Ip Llc | Suspending and Resuming Non-Volatile Memory Operations |
CN107025063A (zh) * | 2016-01-29 | 2017-08-08 | 大心电子股份有限公司 | 内存管理方法、内存储存装置及内存控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
CN109857331B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042297B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US10248181B2 (en) | Enabling a non-core domain to control memory bandwidth in a processor | |
US10372379B2 (en) | Command processing method and storage controller using the same | |
KR101988260B1 (ko) | 임베디드 멀티미디어 카드, 및 이의 동작 방법 | |
CN112204524A (zh) | 用于硬件加速的硬件资源的嵌入式调度 | |
US20170031632A1 (en) | Data storage device, method of operating the same, and data processing system including the same | |
CN112256601A (zh) | 数据存取控制方法、嵌入式存储系统及嵌入式设备 | |
KR20140142793A (ko) | 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 | |
KR20130009926A (ko) | 유연한 플래시 명령어 | |
CN105373338A (zh) | 一种flash的控制方法和控制器 | |
US11868626B2 (en) | Storage device set including storage device and reconfigurable logic chip, and storage system including the storage device set | |
EP2546756A2 (en) | Effective utilization of flash interface | |
CN109582377A (zh) | Bios选项修改方法、装置、设备及存储介质 | |
CN115687174A (zh) | 一种固态硬盘动态垃圾回收的方法及固态硬盘 | |
EP3884386A1 (en) | Programming and controlling compute units in an integrated circuit | |
TWI474254B (zh) | 用於在一記憶體系統中執行命令的方法與裝置及資料儲存系統 | |
CN104035539B (zh) | 指示移动设备中的临界电池状态 | |
CN113656334B (zh) | 一种数据传输处理方法和装置 | |
CN102542525B (zh) | 一种信息处理设备以及信息处理方法 | |
US10481811B2 (en) | Asynchronous copying of data within memory | |
CN109857331A (zh) | 指令处理方法及使用所述方法的储存控制器 | |
CN109582338A (zh) | Bios选项修改方法、装置、设备及存储介质 | |
US10191659B2 (en) | Buffer memory management method, memory control circuit unit and memory storage device | |
CN112765070A (zh) | 一种数据传输调试方法、系统、电子设备及存储介质 | |
KR20170073266A (ko) | 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |