CN115469816A - 存储器的读写切换方法、装置、设备及存储介质 - Google Patents

存储器的读写切换方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115469816A
CN115469816A CN202211359720.8A CN202211359720A CN115469816A CN 115469816 A CN115469816 A CN 115469816A CN 202211359720 A CN202211359720 A CN 202211359720A CN 115469816 A CN115469816 A CN 115469816A
Authority
CN
China
Prior art keywords
read
command buffer
command
write
write command
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
Application number
CN202211359720.8A
Other languages
English (en)
Other versions
CN115469816B (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Moore Threads Technology Co Ltd
Original Assignee
Moore Threads Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Moore Threads Technology Co Ltd filed Critical Moore Threads Technology Co Ltd
Priority to CN202211359720.8A priority Critical patent/CN115469816B/zh
Publication of CN115469816A publication Critical patent/CN115469816A/zh
Application granted granted Critical
Publication of CN115469816B publication Critical patent/CN115469816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供的一种存储器的读写切换方法、装置、设备及存储介质,该方法包括:通过检测读命令缓冲器中的第一命令消息列,若第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个超时的最大读延时敏感命令,直至超时的最大读延时敏感命令为空。采用本技术方案,能够解决存储器读写转化方式耗时长的问题,进而提高带宽的占用率,降低命令延时。

Description

存储器的读写切换方法、装置、设备及存储介质
技术领域
本申请涉及存储器技术领域,尤其涉及一种存储器的读写切换方法、装置、设备及存储介质。
背景技术
DDR SDRAM(Double Data Rate SDRAM,双倍速率同步动态随机存储器)从读转向写或者从写转向读都需要花费额外的转换时间,进而会占用DDR的带宽,同时CPU或GPU等***对读写延时也有不同的需求。
但是,目前DDR的读写转换方式耗时较长,进而导致带宽损失较大。
因此,亟需一种存储器的读写切换方法,能够解决上述问题。
发明内容
本申请提供一种存储器的读写切换方法、装置、设备及存储介质,能够解决存储器读写转化方式耗时长的问题,进而提高带宽的占用率。
第一方面,本申请提供一种存储器的读写切换方法,应用于调度器,包括:
检测读命令缓冲器中的第一命令消息列;
若所述第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个所述超时的最大读延时敏感命令,直至所述超时的最大读延时敏感命令为空。
在一个可选的示例中,该方法还包括:
检测写命令缓冲器中的第二命令消息列;
根据所述第二命令消息列中写命令消息的数量,确定是否执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;其中,所述第二命令消息列表征多个待写入的写命令消息。
在一个可选的示例中,根据所述第二命令消息列中写命令消息的数量,确定是否执行由所述读命令缓冲器切换至所述写命令缓冲器的操作,包括:
若所述第二命令消息列中所述写命令消息的数量超过第一阈值、且所述第一命令消息列中不包括超时的最大读延时敏感命令,则执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;
若所述第二命令消息列中的所述写命令消息的数量未超过所述第一阈值,则无需执行对所述读命令缓冲器的切换操作。
在一个可选的示例中,若所述第二命令消息列中的所述写命令消息的数量未超过所述第一阈值,则无需执行对所述读命令缓冲器的切换操作之后,还包括:
若所述第一命令消息列为空、所述第二命令消息列不为空、且满足所述读命令缓冲器切换至所述写命令缓冲器的条件,则执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;
若所述第一命令消息列不为空、所述第二命令消息列为空或不满足所述读命令缓冲器切换至所述写命令缓冲器的条件,则无需执行对所述读命令缓冲器的切换操作。
在一个可选的示例中,所述读命令缓冲器切换至所述写命令缓冲器的条件,包括:在所述读命令缓冲器的停留时间超过第一预设时间。
在一个可选的示例中,所述方法还包括:
在接收到写命令缓冲器发出的报警消息、且所述第一命令消息队列不包括超时的最大读延时敏感命令的情况下,执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;其中,所述报警消息用于指示执行由所述读命令缓冲器切换至所述写命令缓冲器的操作。
在一个可选的示例中,所述方法还包括:
执行所述写命令缓冲器中的所述写命令消息,直至所述写命令消息的数量低于第二阈值;其中,第一阈值大于第二阈值。
在一个可选的示例中,执行由所述读命令缓冲器切换至所述写命令缓冲器的操作之后,还包括:
若所述第二命令消息列为空、且满足所述写命令缓冲器切换至所述读命令缓冲器的条件,则执行由所述写命令缓冲器切换至所述读命令缓冲器的操作。
在一个可选的示例中,若所述读命令缓冲器非空,所述调度器停留于所述写命令缓冲器的时间超过第三预设时间,则切换至所述读命令缓冲器。
第二方面,本申请提供一种存储器的读写切换装置,应用于调度器,所述装置包括:
第一检测单元,用于检测读命令缓冲器中的第一命令消息列;
第一执行单元,用于若所述第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个所述超时的最大读延时敏感命令,直至所述超时的最大读延时敏感命令为空。
在一个可选的示例中,该装置,还包括:
第二检测单元,用于检测写命令缓冲器中的第二命令消息列;
第二执行单元,用于根据所述第二命令消息列中写命令消息的数量,确定是否执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;其中,所述第二命令消息列表征多个待写入的写命令消息。
在一个可选的示例中,第二执行单元,包括:
第一判断模块,用于若所述第二命令消息列中所述写命令消息的数量超过第一阈值、且所述第一命令消息列中不包括超时的最大读延时敏感命令,则执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;
第二判断模块,用于若所述第二命令消息列中的所述写命令消息的数量未超过所述第一阈值,则无需执行对所述读命令缓冲器的切换操作。
在一个可选的示例中,第二判断模块之后,还包括:
第三判断模块,用于若所述第一命令消息列为空、所述第二命令消息列不为空、且满足所述读命令缓冲器切换至所述写命令缓冲器的条件,则执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;
第四判断模块,用于若所述第一命令消息列不为空、所述第二命令消息列为空或不满足所述读命令缓冲器切换至所述写命令缓冲器的条件,则无需执行对所述读命令缓冲器的切换操作。
在一个可选的示例中,所述读命令缓冲器切换至所述写命令缓冲器的条件,包括:在所述读命令缓冲器的停留时间超过第一预设时间。
在一个可选的示例中,所述装置还包括:
发出模块,用于在接收到写命令缓冲器发出的报警消息、且所述第一命令消息队列不包括超时的最大读延时敏感命令的情况下,执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;其中,所述报警消息用于指示执行由所述读命令缓冲器切换至所述写命令缓冲器的操作。
在一个可选的示例中,所述装置还包括:
执行模块,用于执行所述写命令缓冲器中的所述写命令消息,直至所述写命令消息的数量低于第二阈值;其中,第一阈值大于第二阈值。
在一个可选的示例中,所述装置,还包括:
第三执行单元,用于若所述第二命令消息列为空、且满足所述写命令缓冲器切换至所述读命令缓冲器的条件,则执行由所述写命令缓冲器切换至所述读命令缓冲器的操作。
在一个可选的示例中,所述装置,还包括:
第四执行单元,用于若所述读命令缓冲器非空,所述调度器停留于所述写命令缓冲器的时间超过第三预设时间,则切换至所述读命令缓冲器。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面所述的方法。
本申请提供的一种存储器的读写切换方法、装置、设备及存储介质,通过检测读命令缓冲器中的第一命令消息列,若所述第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个所述超时的最大读延时敏感命令,直至所述超时的最大读延时敏感命令为空。采用本技术方案,能够解决存储器读写转化方式耗时长的问题,进而提高带宽的占用率,降低命令延时。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据本申请实施例一提供的一种存储器的读写切换方法的框架示意图;
图2是根据本申请实施例二提供的一种存储器的读写切换方法的流程示意图;
图3是根据本申请实施例三提供的一种存储器的读写切换方法的流程示意图;
图4是根据本申请实施例三提供的读命令缓冲器的结构示意图和写命令缓冲器的结构示意图;
图5是根据本申请实施例四提供的一种存储器的读写切换方法的流程示意图;
图6是根据本申请实施例五提供的一种存储器的读写切换装置的示意图;
图7是根据本申请实施例六提供的一种存储器的读写切换装置的示意图;
图8是根据一示例性实施例示出的一种电子设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请提供的存储器的读写切换方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1是根据本申请实施例一提供的一种存储器的读写切换方法的框架示意图,图示中由多个主控制器下发多个读命令消息和多个写命令消息至调度器,并由调度器将读命令消息和写命令消息下发至DDR SDRAM(Double Data Rate SDRAM,双倍速率同步动态随机存储器)中。其中,调度器中包括两个存储结构,分别是RCB(Read command Buffer,读命令缓冲器)和WCB(Write command Buffer,写命令缓冲器)。
图2是根据本申请实施例二提供的一种存储器的读写切换方法的流程示意图,其中,该方法应用于调度器,实施例二中包括如下步骤:
S201、检测读命令缓冲器中的第一命令消息列。
在一个示例中,第一命令消息列包括多个待读取的读命令消息和至少一个超时的最大读延时敏感命令,进一步地,读命令消息包括最大延时敏感命令和一般读命令消息。
最大读延时敏感命令为该最大延时敏感命令已经达到必须处理的时间的上限后生成的。具体的,每一个最大延时敏感命令中存储有一个定时器,该定时器会对最大延时敏感命令进行计时,当最大延时敏感命令超过预设的时间后,将最大延时敏感命令变为超时的最大读延时敏感命令。其中,预设的时间是可以根据需要进行设置的,并且设置的预设的时间可以是小于该命令实际能够接受的延时时长的。
其中,最大读延时敏感命令为最高优先级,在最大读延时敏感命令存在时,则一定要切换至读命令缓冲器中,处理读命令缓冲器中的最大读延时敏感命令,进而保证最大读延时敏感命令延时可控。
S202、若所述第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个所述超时的最大读延时敏感命令,直至所述超时的最大读延时敏感命令为空。
若第一命令消息列不为空,则说明第一命令消息列中包括多个读命令消息,或者还包括超时的最大读延时敏感命令。
本实施例中,如果第一命令消息列中存在至少一个超时的最大读延时敏感命令,则优先执行每一个超时的最大读延时敏感命令,直至所有的超时的最大读延时敏感命令为空。
本申请提供的一种存储器的读写切换方法,通过检测读命令缓冲器中的第一命令消息列,如果第一命令消息列存在超时的最大读延时敏感命令,则优先处理超时的最大读延时敏感命令,并将所有的超时的最大读延时敏感命令处理完毕。采用本技术方案,能够将所有亟需处理的最大读延时敏感命令优先处理完毕,进而实现读命令缓冲器的第一优先级。
图3是根据本申请实施例三提供的一种存储器的读写切换方法的流程示意图,其中,该方法应用于调度器,实施例三中包括如下步骤:
S301、检测读命令缓冲器中的第一命令消息列。
示例性地,本步骤可以参见上述步骤S201,不再赘述。
S302、若第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个超时的最大读延时敏感命令,直至超时的最大读延时敏感命令为空。
示例性地,本步骤可以参见上述步骤S202,不再赘述。
S303、检测写命令缓冲器中的第二命令消息列。
在一个示例中,写命令缓冲器中存储有第二命令消息列。具体的,读命令缓冲器的结构示意图和写命令缓冲器的结构示意图可以参见图4,可以从图4中看出,读命令缓冲器中包括多个读命令消息和超时的最大读延时敏感命令。写命令缓冲器中包括多条写命令消息。
S304、根据第二命令消息列中写命令消息的数量,确定是否执行由读命令缓冲器切换至写命令缓冲器的操作;其中,第二命令消息列表征多个待写入的写命令消息。
本实施例中,获取第二命令消息列中的写命令消息的数量,如果数量满足预设的要求,则由读命令缓冲器切换至写命令缓冲器,从处理读命令消息转至处理写命令消息。
本申请提供的一种存储器的读写切换方法,通过检测读命令缓冲器中的第一命令消息列,如果第一命令消息列存在超时的最大读延时敏感命令,则优先处理超时的最大读延时敏感命令,并将所有的超时的最大读延时敏感命令处理完毕后,检测写命令缓冲器中的第二命令消息列,并根据第二命令消息列中写命令消息的数量,由读命令缓冲器切换至写命令缓冲器,并执行写命令缓冲器中的写命令消息。采用本技术方案,能够解决在写命令消息不被阻塞的前提下尽量减小读延时,并且对延时非常敏感的读命令消息,可以保证最大程度的延时可控。
图5是根据本申请实施例四提供的一种存储器的读写切换方法的流程示意图,其中,该方法应用于调度器,实施例四中包括如下步骤:
S501、检测读命令缓冲器中的第一命令消息列。
示例性地,本步骤可以参见上述步骤S201,不再赘述。
S502、若第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个超时的最大读延时敏感命令,直至超时的最大读延时敏感命令为空。
示例性地,本步骤可以参见上述步骤S202,不再赘述。
S503、检测写命令缓冲器中的第二命令消息列。
示例性地,本步骤可以参见上述步骤S303,不再赘述。
S504、若第二命令消息列中写命令消息的数量超过第一阈值、且第一命令消息列中不包括超时的最大读延时敏感命令,则执行由读命令缓冲器切换至写命令缓冲器的操作。
本实施例中,第一阈值是写命令缓冲器中设置的写命令消息的上限值,超过第一阈值,则说明第二命令消息列中写命令消息的数量太多,需要调度器去处理写命令缓冲器中的写命令消息,因此,需要由读命令缓冲器切换至写命令缓冲器。本实施例中,超过的含义是大于或者等于。
在一个可选的示例中,该方法还包括:
在接收到写命令缓冲器发出的报警消息、且所述第一命令消息队列不包括超时的最大读延时敏感命令的情况下,执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;其中,所述报警消息用于指示执行由所述读命令缓冲器切换至所述写命令缓冲器的操作。
本实施例中,当写命令缓冲器中写命令消息的数量超过了第一阈值,则发出报警消息,以提示调度器处理写命令缓冲器中的写命令消息。
在一个可选的示例中,方法还包括:
执行写命令缓冲器中的写命令消息,直至写命令消息的数量低于第二阈值;其中,第一阈值大于第二阈值。
本实施例中,第二阈值为第二命令消息列中写命令消息的下限值,如果低于第二阈值,则说明第二命令消息列已经存在一定的冗余给新下发的写命令消息,并且在写命令消息的数量低于第二阈值后,解除报警消息。
S505、若第二命令消息列中的写命令消息的数量未超过所述第一阈值,则无需执行对读命令缓冲器的切换操作。
本实施例中,如果第二命令消息列为空,则说明写命令缓冲器中没有写命令消息需要处理,如果第二命令消息列中的写命令消息的数量未超过第一阈值,则说明写命令缓冲器还有存储空间可以用于待下发的写命令消息。
S506、若第一命令消息列为空、第二命令消息列不为空、且满足读命令缓冲器切换至写命令缓冲器的条件,则执行由读命令缓冲器切换至写命令缓冲器的操作。
本实施例中,第一命令消息列为空,则说明读命令缓冲器中没有读命令消息需要处理,第二命令消息列不为空,则说明写命令缓冲器中存在写命令消息需要处理,此时,若满足从读命令缓冲器切换至写命令缓冲器的条件,则可以由读命令缓冲器切换至写命令缓冲器,然后处理写命令缓冲器中的写命令消息。
S507、若第一命令消息列不为空、第二命令消息列为空或不满足读命令缓冲器切换至写命令缓冲器的条件,则无需执行对读命令缓冲器的切换操作。
本实施例中,无需执行对读命令缓冲器的切换操作可以有如下几种情况:
第一种情况为第一命令消息列不为空;
第二种情况为第二命令消息列为空;
第三种情况为不满足读命令缓冲器切换至写命令缓冲器的条件;
第四种情况为第一命令消息列不为空和第二命令消息列为空;
第五种情况为第一命令消息列不为空和不满足读命令缓冲器切换至写命令缓冲器的操作;
第六种情况为第二命令消息列为空和不满足读命令缓冲器切换至写命令缓冲器的操作;
第七种情况为第一命令消息列不为空、第二命令消息列为空和不满足读命令缓冲器切换至写命令缓冲器的条件。
在一个可选的示例中,读命令缓冲器切换至写命令缓冲器的条件,包括:在读命令缓冲器的停留时间超过第一预设时间。
本实施例中,第一预设时间是用户预先设置的读命令缓冲器切换至写命令缓冲器的时间,具体的第一预设时间可以用标识t_r2w_delay表示。其中,第一预设时间的数值为非0值。
在一个可选的示例中,若所述读命令缓冲器非空,所述调度器停留于所述写命令缓冲器的时间超过第三预设时间,则切换至所述读命令缓冲器。
本实施例中,在读命令缓冲器非空的情况下,控制器未切换到读命令缓冲器,即调度器停留于写命令缓冲器的时间超过第三预设时间,则强制转入读命令缓冲器。
本实施例中,读命令缓冲器中配置有一个定时器,可以计算调度器在读命令缓冲器中的未处理时间,如果调度器在写命令缓冲器中的停留时间超过了第三预设时间,则强制转入读命令缓冲器。其中,在读命令缓冲器的未处理时间的数值等于第三预设时间的数值。
在一个可选的示例中,执行由读命令缓冲器切换至写命令缓冲器的操作之后,还包括:
若第二命令消息列为空、且满足写命令缓冲器切换至读命令缓冲器的条件,则执行由写命令缓冲器切换至读命令缓冲器的操作。
在一个示例中,如果第二命令消息列为空,并且满足写命令缓冲器切换至读命令缓冲器的条件,则说明写命令缓冲器中的写命令消息已经无需处理,因此,此时可以将写命令缓冲器切换至读命令缓冲器。其中,写命令缓冲器切换至读命令缓冲器的条件为在写命令缓冲器的停留时间超过第二预设时间。其中,第二预设时间可以用标识t_w2r_delay表示。其中,第二预设时间的具体数值可以为0。
本申请提供的一种存储器的读写切换方法,通过设置读命令缓冲器和写命令缓冲器之间的切换条件,使得读命令缓冲器和写命令缓冲器可以不受输入读写命令消息顺序的影响,自适应地选择执行读命令消息和写命令消息,大大减小读写转换次数,提高带宽利用率。
图6是根据本申请实施例五提供的一种存储器的读写切换装置的示意图,实施例五中的装置60,包括:
第一检测单元601,用于检测读命令缓冲器中的第一命令消息列。
第一执行单元602,若第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个超时的最大读延时敏感命令,直至超时的最大读延时敏感命令为空。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图7是根据本申请实施例六提供的一种存储器的读写切换装置的示意图,实施例六中的装置70,包括:
第一检测单元701,用于检测读命令缓冲器中的第一命令消息列;
第一执行单元702,用于若所述第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个所述超时的最大读延时敏感命令,直至所述超时的最大读延时敏感命令为空。
在一个可选的示例中,该装置,还包括:
第二检测单元703,用于检测写命令缓冲器中的第二命令消息列;
第二执行单元704,用于根据所述第二命令消息列中写命令消息的数量,确定是否执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;其中,所述第二命令消息列表征多个待写入的写命令消息。
在一个可选的示例中,第二执行单元704,包括:
第一判断模块7041,用于若所述第二命令消息列中所述写命令消息的数量超过第一阈值、且所述第一命令消息列中不包括超时的最大读延时敏感命令,则执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;
第二判断模块7042,用于若所述第二命令消息列中的所述写命令消息的数量未超过所述第一阈值,则无需执行对所述读命令缓冲器的切换操作。
在一个可选的示例中,第二判断模块7042之后,还包括:
第三判断模块7043,用于若所述第一命令消息列为空、所述第二命令消息列不为空、且满足所述读命令缓冲器切换至所述写命令缓冲器的条件,则执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;
第四判断模块7044,用于若所述第一命令消息列不为空、所述第二命令消息列为空或不满足所述读命令缓冲器切换至所述写命令缓冲器的条件,则无需执行对所述读命令缓冲器的切换操作。
在一个可选的示例中,所述读命令缓冲器切换至所述写命令缓冲器的条件,包括:在所述读命令缓冲器的停留时间超过第一预设时间。
在一个可选的示例中,所述装置还包括:
发出模块7045,用于在接收到写命令缓冲器发出的报警消息、且所述第一命令消息队列不包括超时的最大读延时敏感命令的情况下,执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;其中,所述报警消息用于指示执行由所述读命令缓冲器切换至所述写命令缓冲器的操作。
在一个可选的示例中,所述装置还包括:
执行模块7046,用于执行所述写命令缓冲器中的所述写命令消息,直至所述写命令消息的数量低于第二阈值;其中,第一阈值大于第二阈值。
在一个可选的示例中,所述装置,还包括:
第三执行单元705,用于若所述第二命令消息列为空、且满足所述写命令缓冲器切换至所述读命令缓冲器的条件,则执行由所述写命令缓冲器切换至所述读命令缓冲器的操作。
在一个可选的示例中,所述装置,还包括:
第四执行单元706,用于若所述读命令缓冲器非空,所述调度器停留于所述写命令缓冲器的时间超过第三预设时间,则切换至所述读命令缓冲器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8是根据一示例性实施例示出的一种电子设备的框图,该设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/ O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述电子设备的存储器的读写切换方法。
本申请还公开了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如本实施例中所述的方法。
本申请以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或电子设备上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据电子设备)、或者包括中间件部件的计算***(例如,应用电子设备)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和电子设备。客户端和电子设备一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-电子设备关系的计算机程序来产生客户端和电子设备的关系。电子设备可以是云电子设备,又称为云计算电子设备或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称 "VPS")中,存在的管理难度大,业务扩展性弱的缺陷。电子设备也可以为分布式***的电子设备,或者是结合了区块链的电子设备。应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (13)

1.一种存储器的读写切换方法,其特征在于,应用于调度器,所述方法包括:
检测读命令缓冲器中的第一命令消息列;
若所述第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个所述超时的最大读延时敏感命令,直至所述超时的最大读延时敏感命令为空。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测写命令缓冲器中的第二命令消息列;
根据所述第二命令消息列中写命令消息的数量,确定是否执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;其中,所述第二命令消息列表征多个待写入的写命令消息。
3.根据权利要求2所述的方法,其特征在于,根据所述第二命令消息列中写命令消息的数量,确定是否执行由所述读命令缓冲器切换至所述写命令缓冲器的操作,包括:
若所述第二命令消息列中所述写命令消息的数量超过第一阈值、且所述第一命令消息列中不包括超时的最大读延时敏感命令,则执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;
若所述第二命令消息列中的所述写命令消息的数量未超过所述第一阈值,则无需执行对所述读命令缓冲器的切换操作。
4.根据权利要求3所述的方法,其特征在于,若所述第二命令消息列中的所述写命令消息的数量未超过所述第一阈值,则无需执行对所述读命令缓冲器的切换操作之后,所述方法还包括:
若所述第一命令消息列为空、所述第二命令消息列不为空、且满足所述读命令缓冲器切换至所述写命令缓冲器的条件,则执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;
若所述第一命令消息列不为空、所述第二命令消息列为空或不满足所述读命令缓冲器切换至所述写命令缓冲器的条件,则无需执行对所述读命令缓冲器的切换操作。
5.根据权利要求4所述的方法,其特征在于,所述读命令缓冲器切换至所述写命令缓冲器的条件,包括:在所述读命令缓冲器的停留时间超过第一预设时间。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到写命令缓冲器发出的报警消息、且所述第一命令消息队列不包括超时的最大读延时敏感命令的情况下,执行由所述读命令缓冲器切换至所述写命令缓冲器的操作;其中,所述报警消息用于指示执行由所述读命令缓冲器切换至所述写命令缓冲器的操作。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
执行所述写命令缓冲器中的所述写命令消息,直至所述写命令消息的数量低于第二阈值;其中,第一阈值大于第二阈值。
8.根据权利要求2-4中任一项所述的方法,其特征在于,执行由所述读命令缓冲器切换至所述写命令缓冲器的操作之后,还包括:
若所述第二命令消息列为空、且满足所述写命令缓冲器切换至所述读命令缓冲器的条件,则执行由所述写命令缓冲器切换至所述读命令缓冲器的操作。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述读命令缓冲器非空,所述调度器停留于写命令缓冲器的时间超过第三预设时间,则切换至所述读命令缓冲器。
10.一种存储器的读写切换装置,其特征在于,应用于调度器,所述装置包括:
第一检测单元,用于检测读命令缓冲器中的第一命令消息列;
第一执行单元,用于若所述第一命令消息列中存在至少一个超时的最大读延时敏感命令,则执行每一个所述超时的最大读延时敏感命令,直至所述超时的最大读延时敏感命令为空。
11.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-9中任一项所述的方法。
13.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现如权利要求1-9中任一项所述的方法。
CN202211359720.8A 2022-11-02 2022-11-02 存储器的读写切换方法、装置、设备及存储介质 Active CN115469816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211359720.8A CN115469816B (zh) 2022-11-02 2022-11-02 存储器的读写切换方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211359720.8A CN115469816B (zh) 2022-11-02 2022-11-02 存储器的读写切换方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115469816A true CN115469816A (zh) 2022-12-13
CN115469816B CN115469816B (zh) 2024-01-30

Family

ID=84336327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211359720.8A Active CN115469816B (zh) 2022-11-02 2022-11-02 存储器的读写切换方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115469816B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934002A (zh) * 2023-03-08 2023-04-07 阿里巴巴(中国)有限公司 固态硬盘的访问方法、固态硬盘、存储***及云服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694610A (zh) * 2009-10-16 2010-04-14 成都市华为赛门铁克科技有限公司 命令处理方法、装置和存储设备
WO2020077495A1 (zh) * 2018-10-15 2020-04-23 华为技术有限公司 命令调度方法、装置及存储介质
CN112578999A (zh) * 2019-09-27 2021-03-30 英特尔公司 专注于延时的读取操作和专注于带宽的读取操作之间的动态改变
WO2022155970A1 (zh) * 2021-01-25 2022-07-28 华为技术有限公司 一种内存控制方法及内存控制装置
CN114844844A (zh) * 2022-04-25 2022-08-02 平安普惠企业管理有限公司 延时消息处理方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694610A (zh) * 2009-10-16 2010-04-14 成都市华为赛门铁克科技有限公司 命令处理方法、装置和存储设备
WO2020077495A1 (zh) * 2018-10-15 2020-04-23 华为技术有限公司 命令调度方法、装置及存储介质
CN112578999A (zh) * 2019-09-27 2021-03-30 英特尔公司 专注于延时的读取操作和专注于带宽的读取操作之间的动态改变
WO2022155970A1 (zh) * 2021-01-25 2022-07-28 华为技术有限公司 一种内存控制方法及内存控制装置
CN114844844A (zh) * 2022-04-25 2022-08-02 平安普惠企业管理有限公司 延时消息处理方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934002A (zh) * 2023-03-08 2023-04-07 阿里巴巴(中国)有限公司 固态硬盘的访问方法、固态硬盘、存储***及云服务器
CN115934002B (zh) * 2023-03-08 2023-08-04 阿里巴巴(中国)有限公司 固态硬盘的访问方法、固态硬盘、存储***及云服务器

Also Published As

Publication number Publication date
CN115469816B (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
EP3382520B1 (en) Method and apparatus for operating a display of a mobile terminal
US20170322709A1 (en) Split-screen display method, apparatus and medium
EP3188066A1 (en) A method and an apparatus for managing an application
EP3046016A1 (en) Method and apparatus for switching display mode
EP2993584A1 (en) Method and device for controlling background application
EP2677415A2 (en) Terminal and Method of Operating the Terminal
EP3382527A1 (en) Method and apparatus for managing a shared storage system
EP3015983A1 (en) Method and device for optimizing memory
EP3828832B1 (en) Display control method, display control device and computer-readable storage medium
EP3249505A1 (en) Method and device for controlling state of touch screen, electronic device
CN105511777B (zh) 触控显示屏上的会话显示方法及装置
EP3232325B1 (en) Method and device for starting application interface
CN109547782B (zh) Mpm候选列表构建方法、装置、电子设备及存储介质
CN108829475B (zh) Ui绘制方法、装置及存储介质
EP3236355A1 (en) Method and apparatus for managing task of instant messaging application
US9678868B2 (en) Method and device for optimizing memory
CN115469816B (zh) 存储器的读写切换方法、装置、设备及存储介质
CN110968523A (zh) 内存碎片整理的方法和装置
CN108874450B (zh) 唤醒语音助手的方法及装置
EP4134793A1 (en) Method and apparatus for controlling input function, and storage medium
CN111722919B (zh) 运行后台应用程序的方法、装置、存储介质及电子设备
CN112988105A (zh) 播放状态控制方法、装置、电子设备和存储介质
US10572308B2 (en) Method and apparatus for monitoring virtual document object model
CN111124099A (zh) 状态控制方法、装置及存储介质
CN115348478B (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
GR01 Patent grant
GR01 Patent grant