CN106775503A - 一种执行操作指令的方法及装置 - Google Patents
一种执行操作指令的方法及装置 Download PDFInfo
- Publication number
- CN106775503A CN106775503A CN201710099557.9A CN201710099557A CN106775503A CN 106775503 A CN106775503 A CN 106775503A CN 201710099557 A CN201710099557 A CN 201710099557A CN 106775503 A CN106775503 A CN 106775503A
- Authority
- CN
- China
- Prior art keywords
- operational order
- read operation
- operation instruction
- obtaining
- instruction
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提出一种执行操作指令的方法及装置。一种执行操作指令的方法,包括:获取读操作指令;判断是否存在正在被执行的操作指令;如果存在正在被执行的操作指令,则进一步判断所述正在被执行的操作指令是否为读操作指令;如果所述正在被执行的操作指令不是读操作指令,则暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。采用上述技术方案,在获取到读操作指令时,判断是否有正在执行的非读操作指令,如果有正在执行的非读操作指令,则将正在执行的非读操作指令暂停,优先执行获取的读操作指令,能够有效缩短读操作指令的等待时间。
Description
技术领域
本发明涉及数据存储及存储器读写操作技术领域,尤其涉及一种执行操作指令的方法及装置。
背景技术
随着互联网、云计算、物联网等技术的发展及广泛应用,在人类生活中,时时刻刻都会产生海量的数据需要处理及存储,信息技术的高速发展对存储系统的性能提出了更高的要求。固态硬盘因其读写速度快、能耗较低,而被广泛采用。
由于在固态硬盘的最小操作单元上,同一时刻只能执行一种操作指令,因此,当有多个操作指令待执行时,需要在执行完成当前操作指令后,再执行下一条操作指令。在固态硬盘读写操作中,执行一条写操作指令所需的时间大概是执行一条读操作指令所需的时间的10倍左右,因此,如果在读操作指令之前有写操作指令在执行,则待执行的读操作指令需要等待很长时间才能被执行,尤其是在读操作指令之前有多个写操作时,读操作指令的等待时间过长,延长了固态硬盘的读延时。
发明内容
基于上述现有技术的缺陷和不足,本发明提出一种执行操作指令的方法及装置,采用本发明技术方案,在接收到读操作指令时,优先执行读操作指令,缩短了读操作指令的等待时间。
一种执行操作指令的方法,包括:
获取读操作指令;
判断是否存在正在被执行的操作指令;
如果存在正在被执行的操作指令,则进一步判断所述正在被执行的操作指令是否为读操作指令;
如果所述正在被执行的操作指令不是读操作指令,则暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。
优选地,在执行获取的所述读操作指令之后,该方法还包括:
继续执行被暂停的所述操作指令。
优选地,该方法还包括:
如果不存在正在被执行的操作指令,则直接执行获取的所述读操作指令。
优选地,该方法还包括:
如果所述正在被执行的操作指令是读操作指令,则等待所述正在被执行的操作指令执行结束后,执行获取的所述读操作指令。
优选地,所述暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令,包括:
挂起所述正在被执行的操作指令;
记录所述正在被执行的操作指令被挂起时的状态信息;
执行获取的所述读操作指令。
一种执行操作指令的装置,包括:
指令获取单元,用于获取读操作指令;
第一判断单元,用于判断是否存在正在被执行的操作指令;
第二判断单元,用于当所述第一判断单元判断存在正在被执行的操作指令时,进一步判断所述正在被执行的操作指令是否为读操作指令;
处理单元,用于当所述第二判断单元判断所述正在被执行的操作指令不是读操作指令时,暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。
优选地,所述处理单元还用于:
在执行获取的所述读操作指令后,继续执行被暂停的所述操作指令。
优选地,所述处理单元还用于:
在所述第一判断单元判断不存在正在被执行的操作指令时,直接执行获取的所述读操作指令。
优选地,所述处理单元还用于:
在所述第二判断单元判断所述正在被执行的操作指令是读操作指令时,等待所述正在被执行的操作指令执行结束后,执行获取的所述读操作指令。
优选地,所述处理单元暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令时,具体用于:
挂起所述正在被执行的操作指令;记录所述正在被执行的操作指令被挂起时的状态信息;执行获取的所述读操作指令。
本发明提出的执行操作指令的方法,包括:获取读操作指令;判断是否存在正在被执行的操作指令;如果存在正在被执行的操作指令,则进一步判断所述正在被执行的操作指令是否为读操作指令;如果所述正在被执行的操作指令不是读操作指令,则暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。采用上述技术方案,在获取到读操作指令时,判断是否有正在执行的非读操作指令,如果有正在执行的非读操作指令,则将正在执行的非读操作指令暂停,优先执行获取的读操作指令。采用上述技术方案,能够有效缩短读操作指令的等待时间,将上述方法应用于固态硬盘,能有效缩短固态硬盘读时延。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例提供的一种执行操作指令的方法的流程示意图;
图2是本发明实施例提供的另一种执行操作指令的方法的流程示意图;
图3是本发明实施例提供的另一种执行操作指令的方法的流程示意图;
图4是本发明实施例提供的一种执行操作指令的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种执行操作指令的方法,参见图1所示,该方法包括:
S101、获取读操作指令;
具体的,本发明实施例技术方案可应用于固态硬盘的控制管理器。上述控制管理器用于接收固态硬盘的闪存转化层中的闪存通道控制器下发的操作指令,并将接收的操作指令转发至相应的最小操作单元。
同样的,在本发明实施例中,控制管理器也是接收闪存通道控制器下发的操作指令,具体为获取闪存通道控制器下发的读操作指令。
S102、判断是否存在正在被执行的操作指令;
当控制管理器获取到读操作指令后,首先判断是否存在正在被执行的操作指令。
需要说明的是,在固态硬盘中,操作指令具体作用于固态硬盘的最小操作单元上。因此对于一条读操作指令来说,其所指向的最小操作单元是确定的。而在一个最小操作单元上,只能同时执行一种操作指令,为了避免在获取的读操作指令所指向的最小操作单元上发生指令冲突,在步骤S102中,判断是否存在正在被执行的操作指令时,具体为判断在获取的读操作指令所指向的最小操作单元上,是否有正在被执行的操作指令。
如果存在正在被执行的操作指令,则进一步执行步骤S103、判断所述正在被执行的操作指令是否为读操作指令;
具体的,如果在获取的读操作指令所指向的最小操作单元上,有正在被执行的操作指令,那么还需进一步判断在获取的读操作指令所指向的最小操作单元上正在执行的操作指令是不是读操作指令。
如果所述正在被执行的操作指令不是读操作指令,则执行步骤S104、暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。
具体的,如果在获取的读操作指令所指向的最小操作单元上正在执行的操作指令不是读操作指令,那么暂停对该操作指令的执行,并开始执行获取的读操作指令。由于获取的读操作指令所指向的最小操作单元上正在执行的操作指令不是读操作指令,那么可以确定正在执行的操作指令是写操作指令或擦除操作指令。在固态硬盘读写擦操作中,执行读操作的时间要远远小于执行写操作和执行擦操作的时间。因此,在本发明实施例中,当发现有写操作或擦操作与读操作冲突时,优先执行读操作,对写操作和擦操作不会带来太大影响,同时又缩短了读操作的等待时间。
本发明提出的执行操作指令的方法,包括:获取读操作指令;判断是否存在正在被执行的操作指令;如果存在正在被执行的操作指令,则进一步判断所述正在被执行的操作指令是否为读操作指令;如果所述正在被执行的操作指令不是读操作指令,则暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。采用上述技术方案,在获取到读操作指令时,判断是否有正在执行的非读操作指令,如果有正在执行的非读操作指令,则将正在执行的非读操作指令暂停,优先执行获取的读操作指令。采用上述技术方案,能够有效缩短读操作指令的等待时间,将上述方法应用于固态硬盘,能有效缩短固态硬盘读时延。
可选的,在本发明的另一个实施例中,在执行获取的所述读操作指令之后,该方法还包括:
继续执行被暂停的所述操作指令。
具体的,在执行完获取的读操作指令后,本发明实施例返回被暂停的操作指令,并继续执行。
可选的,在本发明的另一个实施例中,参见图2所示,该方法还包括:
如果不存在正在被执行的操作指令,则执行步骤S204、直接执行获取的所述读操作指令。
具体的,当获取读操作指令后,如果确定在获取的读操作指令所指向的最小操作单元上,没有正在被执行的操作,则可以直接在获取的读操作指令所指向的最小操作单元上执行获取的操作指令。
本实施例中的步骤S201、S202、S203、S205,分别对应图1所示的方法的实施例中的步骤S101、S102、S103、S104,其具体内容请参见对应的方法实施例的内容,此处不再赘述。
可选的,在本发明的另一个实施例中,参见图3所示,该方法还包括:
如果所述正在被执行的操作指令是读操作指令,则执行步骤S305、等待所述正在被执行的操作指令执行结束后,执行获取的所述读操作指令。
具体的,当获取读操作指令后,如果检验判断在获取的读操作指令所指向的最小操作单元上,有正在执行的操作指令,并且正在被执行的操作指令是读操作指令,那么需等待当前正在被执行的读操作指令被执行完毕后,再执行获取的读操作指令,以免影响当前读操作指令的执行时长。
本实施例中的步骤S301~S304分别对应图1所示的方法实施例中的步骤S101~S104,其具体内容请参见对应图1所示的方法的实施例的内容,此处不再赘述。
可选的,在本发明的另一个实施例中,所述暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令,包括:
挂起所述正在被执行的操作指令;
记录所述正在被执行的操作指令被挂起时的状态信息;
执行获取的所述读操作指令。
具体的,当判断在获取的读操作指令所指向的最小操作单元上正在执行的操作指令不是读操作指令时,将正在执行的操作指令挂起,并记录在挂起时的状态信息,然后开始执行获取的读操作指令。其中,记录正在被执行的操作指令被挂起时的状态信息,是为了便于在执行完毕获取的读操作指令后,从记录的状态信息开始,继续执行挂起的操作指令。
本发明实施例还公开了一种执行操作指令的装置,参见图4所示,包括:
指令获取单元401,用于获取读操作指令;
第一判断单元402,用于判断是否存在正在被执行的操作指令;
第二判断单元403,用于当第一判断单元402判断存在正在被执行的操作指令时,进一步判断所述正在被执行的操作指令是否为读操作指令;
处理单元404,用于当第二判断单元403判断所述正在被执行的操作指令不是读操作指令时,暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。
具体的,本实施例中各个单元的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
本发明提出的执行操作指令的装置,在执行操作指令时,首先由指令获取单元401获取读操作指令;然后第一判断单元402判断是否存在正在被执行的操作指令;如果存在正在被执行的操作指令,则第二判断单元403进一步判断所述正在被执行的操作指令是否为读操作指令;如果所述正在被执行的操作指令不是读操作指令,则处理单元404暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。采用上述技术方案,在获取到读操作指令时,判断是否有正在执行的非读操作指令,如果有正在执行的非读操作指令,则将正在执行的非读操作指令暂停,优先执行获取的读操作指令。采用上述技术方案,能够有效缩短读操作指令的等待时间,将上述方法应用于固态硬盘,能有效缩短固态硬盘读时延。
可选的,在本发明的另一个实施例中,处理单元404还用于:
在执行获取的所述读操作指令后,继续执行被暂停的所述操作指令。
具体的,本实施例中的处理单元404的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
可选的,在本发明的另一个实施例中,处理单元404还用于:
在所述第一判断单元判断不存在正在被执行的操作指令时,直接执行获取的所述读操作指令。
具体的,本实施例中的处理单元404的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
可选的,在本发明的另一个实施例中,处理单元404还用于:
在所述第二判断单元判断所述正在被执行的操作指令是读操作指令时,等待所述正在被执行的操作指令执行结束后,执行获取的所述读操作指令。
具体的,本实施例中的处理单元404的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
可选的,在本发明的另一个实施例中,处理单元404暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令时,具体用于:
挂起所述正在被执行的操作指令;记录所述正在被执行的操作指令被挂起时的状态信息;执行获取的所述读操作指令。
具体的,本实施例中的处理单元404的具体工作内容,请参见对应的方法实施例的内容,此处不再赘述。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种执行操作指令的方法,其特征在于,包括:
获取读操作指令;
判断是否存在正在被执行的操作指令;
如果存在正在被执行的操作指令,则进一步判断所述正在被执行的操作指令是否为读操作指令;
如果所述正在被执行的操作指令不是读操作指令,则暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。
2.根据权利要求1所述的方法,其特征在于,在执行获取的所述读操作指令之后,该方法还包括:
继续执行被暂停的所述操作指令。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
如果不存在正在被执行的操作指令,则直接执行获取的所述读操作指令。
4.根据权利要求1所述的方法,其特征在于,该方法还包括:
如果所述正在被执行的操作指令是读操作指令,则等待所述正在被执行的操作指令执行结束后,执行获取的所述读操作指令。
5.根据权利要求1所述的方法,其特征在于,所述暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令,包括:
挂起所述正在被执行的操作指令;
记录所述正在被执行的操作指令被挂起时的状态信息;
执行获取的所述读操作指令。
6.一种执行操作指令的装置,其特征在于,包括:
指令获取单元,用于获取读操作指令;
第一判断单元,用于判断是否存在正在被执行的操作指令;
第二判断单元,用于当所述第一判断单元判断存在正在被执行的操作指令时,进一步判断所述正在被执行的操作指令是否为读操作指令;
处理单元,用于当所述第二判断单元判断所述正在被执行的操作指令不是读操作指令时,暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令。
7.根据权利要求6所述的装置,其特征在于,所述处理单元还用于:
在执行获取的所述读操作指令后,继续执行被暂停的所述操作指令。
8.根据权利要求6所述的装置,其特征在于,所述处理单元还用于:
在所述第一判断单元判断不存在正在被执行的操作指令时,直接执行获取的所述读操作指令。
9.根据权利要求6所述的装置,其特征在于,所述处理单元还用于:
在所述第二判断单元判断所述正在被执行的操作指令是读操作指令时,等待所述正在被执行的操作指令执行结束后,执行获取的所述读操作指令。
10.根据权利要求6所述的装置,其特征在于,所述处理单元暂停执行所述正在被执行的操作指令,执行获取的所述读操作指令时,具体用于:
挂起所述正在被执行的操作指令;记录所述正在被执行的操作指令被挂起时的状态信息;执行获取的所述读操作指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710099557.9A CN106775503A (zh) | 2017-02-23 | 2017-02-23 | 一种执行操作指令的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710099557.9A CN106775503A (zh) | 2017-02-23 | 2017-02-23 | 一种执行操作指令的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106775503A true CN106775503A (zh) | 2017-05-31 |
Family
ID=58960044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710099557.9A Pending CN106775503A (zh) | 2017-02-23 | 2017-02-23 | 一种执行操作指令的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775503A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111917620A (zh) * | 2020-08-19 | 2020-11-10 | 潍柴动力股份有限公司 | Mcu业务处理方法、装置、电子设备及可存储介质 |
CN117406935A (zh) * | 2023-12-13 | 2024-01-16 | 苏州萨沙迈半导体有限公司 | 数据读取方法及装置、读写控制器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410905A (zh) * | 2006-03-28 | 2009-04-15 | 诺基亚公司 | 减小非易失性存储器读取延迟的方法和设备 |
CN102483951A (zh) * | 2009-08-28 | 2012-05-30 | 微软公司 | 可中断的nand闪存 |
US20160004437A1 (en) * | 2014-07-04 | 2016-01-07 | Yoon Kim | Storage device and read methods thereof |
CN106293623A (zh) * | 2015-05-18 | 2017-01-04 | 北京忆芯科技有限公司 | 微指令序列执行方法及其装置 |
-
2017
- 2017-02-23 CN CN201710099557.9A patent/CN106775503A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410905A (zh) * | 2006-03-28 | 2009-04-15 | 诺基亚公司 | 减小非易失性存储器读取延迟的方法和设备 |
CN102483951A (zh) * | 2009-08-28 | 2012-05-30 | 微软公司 | 可中断的nand闪存 |
US20160004437A1 (en) * | 2014-07-04 | 2016-01-07 | Yoon Kim | Storage device and read methods thereof |
CN106293623A (zh) * | 2015-05-18 | 2017-01-04 | 北京忆芯科技有限公司 | 微指令序列执行方法及其装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111917620A (zh) * | 2020-08-19 | 2020-11-10 | 潍柴动力股份有限公司 | Mcu业务处理方法、装置、电子设备及可存储介质 |
CN111917620B (zh) * | 2020-08-19 | 2021-12-21 | 潍柴动力股份有限公司 | Mcu业务处理方法、装置、电子设备及可存储介质 |
CN117406935A (zh) * | 2023-12-13 | 2024-01-16 | 苏州萨沙迈半导体有限公司 | 数据读取方法及装置、读写控制器 |
CN117406935B (zh) * | 2023-12-13 | 2024-02-20 | 苏州萨沙迈半导体有限公司 | 数据读取方法及装置、读写控制器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8601315B2 (en) | Debugger recovery on exit from low power mode | |
CN106790599B (zh) | 一种基于多核无锁环形缓冲区的共生虚拟机通信方法 | |
CN103150188B (zh) | 非x86指令集计算机的x86兼容显卡快速初始化方法 | |
CN104123171B (zh) | 基于numa架构的虚拟机迁移方法及系统 | |
EP2728471B1 (en) | Method and terminal for managing application | |
CN104092822A (zh) | 基于人脸检测和眼球跟踪的手机状态切换方法及系统 | |
CN106775503A (zh) | 一种执行操作指令的方法及装置 | |
CN104346194A (zh) | 一种启动文件加载方法、装置及电子设备 | |
CN105264970A (zh) | 一种降低功耗的方法、装置及移动终端 | |
CN106200860B (zh) | 硬盘功耗、硬盘功耗管理服务控制方法及装置 | |
CN102222036B (zh) | 一种自动化测试方法和设备 | |
CN108196954A (zh) | 一种文件读写方法、系统、设备及计算机存储介质 | |
CN106598194A (zh) | 一种单线总线系统的通信方法 | |
CN102841894A (zh) | 一种文件分配表的数据存储方法 | |
CN103596229B (zh) | 小区重选方法及移动终端 | |
CN105573877A (zh) | 一种信息处理方法及电子设备 | |
CN103543982A (zh) | 一种时钟频率管理方法及移动设备 | |
CN101763306A (zh) | 前端性能自动测试方法、测试装置和测试系统 | |
CN106547577A (zh) | 一种微控制器芯片烧录的方法和装置 | |
CN108958655B (zh) | 一种固态硬盘的数据擦写方法、装置、设备及存储介质 | |
JP2002183105A5 (zh) | ||
CN104317656B (zh) | 一种块设备输入输出请求调度的方法及装置 | |
CN104182490B (zh) | 一种管理数据访问的方法及装置 | |
CN108170380A (zh) | 一种固态硬盘提升顺序读性能的方法及固态硬盘 | |
CN104111382A (zh) | 一种电容的容值检测方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |