CN107851075A - 用于存储器的频率重置的系统、方法和装置 - Google Patents

用于存储器的频率重置的系统、方法和装置 Download PDF

Info

Publication number
CN107851075A
CN107851075A CN201680044540.7A CN201680044540A CN107851075A CN 107851075 A CN107851075 A CN 107851075A CN 201680044540 A CN201680044540 A CN 201680044540A CN 107851075 A CN107851075 A CN 107851075A
Authority
CN
China
Prior art keywords
memory
frequency
processor
set point
reset
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
Application number
CN201680044540.7A
Other languages
English (en)
Inventor
E·乔斯
王涛
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107851075A publication Critical patent/CN107851075A/zh
Pending legal-status Critical Current

Links

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Abstract

本公开的一些方面包括诸如DRAM等存储器的自刷新条目序列,该自刷新条目序可以用于避免系统处理器与系统存储器之间的频率失配。自刷新条目序列可以发信号通知存储器重置频率设定点状态并且在自刷新过程退出时默认为上电状态。另一方面,可以使用新的模式寄存器来指示在下一自刷新条目命令之后需要重置频率设定点。在这方面,响应于崩溃事件的发生,处理器将执行模式寄存器写入命令,随后是自刷新条目。然后,存储器将在自刷新条目执行结束时重置到默认频率设定点。

Description

用于存储器的频率重置的系统、方法和装置
相关申请的交叉引用
本专利申请要求于2015年7月31日提交的题为“SYSTEMS,METHODS,AND APPARATUSFOR FREQUENCY RESET OF A MEMORY”的美国临时专利申请No.62/199,639的权益,该专利申请被转让给本申请的受让人并且明确地通过引用而整体并入本文。
技术领域
本公开总体上涉及双倍数据速率(DDR)存储器系统,并且更具体地但不排他地,涉及动态随机存取存储器(DRAM)DDR系统。
背景技术
高速DRAM(诸如用于移动设备应用)使用频率设定点(FSP)来在宽频率范围内操作DRAM IO引脚。提供了两个操作点(FSP0和FSP1),并且片上系统(SoC)可以基于操作频率来使用其中任何一个操作点,以控制通过IO引脚的、SoC与DRAM之间的通信。例如,FSP0可以涵盖从0到1GHz的操作,而FSP1可以涵盖从1GHz到2GHz的操作。这支持多个操作设置,每个操作设置针对特定频带而被微调。目前,FSP的标准操作以JEDEC JESD209-4LPDDR4行业标准为指导。在上电时,SoC默认为FSP0,其具有默认设置以在无端接的低频环境下进行操作。在时钟频率切换期间,需要特定的FSP切换序列来在FSP之间进行切换。
在使用DRAM作为系统存储器的多核处理器系统中,DRAM经常用于在导致系统停机的灾难性事件中存储崩溃日志。这些事件通常由系统中的过期看门狗定时器(基于硬件或软件的)或由重置开关的手动应用来触发。系统需要将崩溃日志清空到DRAM中,并且重置SoC以在稍后读出崩溃日志以用于进一步调试调查。在这个系统刷新期间,DRAM在SoC重置期间进入自刷新(SR)状态,以保持DRAM内容。当SoC被重置时,它进入上电状态,在该状态下,它认为DRAM处于FSP0。系统崩溃可能发生在任何给定的频率,因此DRAM可能处于FSP0或FSP1。由于IO设置失配(片上端接(ODT)信号、驱动器强度等),SoC与DRAM之间在FSP设置上的这种失配将导致SoC失去与DRAM的可靠通信。这种失配防止DRAM产生自刷新和使用模式寄存器写入命令来重置FSP。在这种情况下,驻留在DRAM中的崩溃日志将会丢失,这严重影响了导致崩溃的系统事件的调试和根本原因分析。JEDECJESD209-4LPDDR4目前还没有解决这个问题的方法。
因此,需要改进传统方法的系统、装置和方法,包括由此提供的有助于防止重置事件期间的FSP失配的改进方法、系统和装置。
发明内容
以下呈现涉及与本文中公开的装置和方法相关联的一个或多个方面和/或示例的简化概述。因此,以下概述不应当被认为是与所有预期方面和/或示例有关的广泛概要,以下概述也不应当被认为是标识与所有预期的方面和/或示例有关的关键或重要的元素或者界定与任何特定方面和/或示例相关联的范围。因此,以下概述的唯一目的是在下文给出具体实施方式之前以简化的形式呈现涉及与本文中公开的装置和方法有关的一个或多个方面和/或示例的某些概念。
在一个方面,一种用于第一存储器的频率重置的方法,包括:当处理器以第一频率设定点处操作并且第一存储器以第一频率设定点处操作时,由处理器发出重置命令;由处理器向第一存储器发出自刷新命令,自刷新命令包括频率重置条目;将处理器设置在第二频率设定点;由处理器发出用以将第一存储器设置在第二频率设定点的寄存器写入命令;以及将第一存储器设置在第二频率设定点。
在另一方面,一种非暂态计算机可读介质,包含用于使处理器执行过程的程序指令,该过程包括:当处理器以第一频率设定点操作并且第一存储器以第一频率设定点操作时发出重置命令;向第一存储器发出自刷新命令,自刷新命令包括频率重置条目;将处理器设置在第二频率设定点;发出用以将第一存储器设置在第二频率设定点的寄存器写入命令;以及将第一存储器设置在第二频率设定点。
在又一方面,一种用于检查第一存储器的重置条件的方法,包括:当处理器以第一频率设定点操作并且第一存储器以第一频率设定点时,由处理器发起重置条件检查;对自上一重置命令以来由第一存储器接收到的处理器命令数进行计数;对自第一存储器接收到上一重置命令以来的时钟周期数进行计数;确定处理器命令数是否超过命令重置值;确定时钟周期数是否超过时钟重置值;如果处理器命令数超过命令重置值或者如果时钟周期数超过时钟重置值,由处理器发出重置命令,包括:向第一存储器发出自刷新命令,自刷新命令包括频率重置条目;将处理器设置在第二频率设定点;发出用以将第一存储器设置在第二频率设定点的寄存器写入命令;以及将第一存储器设置在第二频率设定点。
在又一方面,一种非暂态计算机可读介质,包含用于使处理器执行过程的程序指令,该过程包括:当处理器以第一频率设定点操作并且第一存储器以第一频率设定点操作时,发起重置条件检查;对自上一重置命令以来由第一存储器接收到的处理器命令数进行计数;对自第一存储器接收到上一重置命令以来的时钟周期数进行计数;确定处理器命令数是否超过命令重置值;确定时钟周期数是否超过时钟重置值;如果处理器命令数超过命令重置值或者如果时钟周期数超过时钟重置值,发出重置命令,包括:向第一存储器发出自刷新命令,自刷新命令包括频率重置条目;将处理器设置在第二频率设定点;发出用以将第一存储器设置在第二频率设定点的寄存器写入命令;以及将第一存储器设置在第二频率设定点。
在又一方面,一种用于控制第一存储器的频率设定点重置的模式寄存器,包括:频率重置条件计数,指示用于重置第一存储器的频率重置条件;频率重置条件,指示自第一存储器接收到上一重置命令以来由第一存储器接收到的处理器命令数或自第一存储器接收到上一重置命令以来已经发生的时钟周期数;频率写入重置值,指示频率重置条件何时已经满足;频率重置值,指示用于第一存储器的频率设定点;以及频率重置条目,指示当频率重置条件已经满足时第一存储器是否已经重置。
基于附图和具体实施方式,与本文中公开的装置和方法相关联的其他特征和优点对于本领域技术人员将是清楚的。
附图说明
当结合附图进行考虑时,通过参考以下具体实施方式,将更容易地获得对本公开的方面及其伴随的各种优点的更完整理解,附图被呈现是用于解释说明而不是对本公开的限制,并且在附图中:
图1A示出了根据本公开的一些示例的示例性部分处理流程。
图1B示出了根据本公开的一些示例的具有断电序列的示例性部分处理流程。
图2示出了根据本公开的一些示例的另一示例性部分处理流程。
图3A示出了根据本公开的一些示例的用于FSP重置序列的示例性状态图。
图3B示出了根据本公开的一些示例的用于断电序列的示例性状态图。
图4示出了根据本公开的一些示例的示例性模式寄存器条目。
图5示出了根据本公开的一些示例的示例性用户设备(UE)。
图6示出了根据本公开的一些示例的示例性处理器。
根据惯例,附图描绘的特征可能不是按比例绘制的。因此,为了清楚起见,所示特征的尺寸可能被任意扩大或缩小。根据惯例,为了清楚起见,一些附图被简化。因此,附图可能没有描绘特定装置或方法的所有组件。此外,贯穿说明书和附图,相同的附图标记表示相同的特征。
具体实施方式
本文中公开的示例性方法、装置和系统有利地解决了行业需求以及其他先前未标识的需求,并且减轻了常规方法、装置和系统的缺点。例如,可以使用DRAM的特殊自刷新(SR)条目序列来避免上述频率失配。这将发信号通知DRAM重置FSP状态并且在SR退出过程时默认为FSP0的上电状态。在一个方面,可以使用新的模式寄存器(MR)写入命令来指示在下一SR条目命令之后FSP需要被重置。在这方面,响应于崩溃事件的发生,SoC将执行MR写入命令,随后是SR条目。然后,在SR条目执行结束时,DRAM将重置为FSP0。在另一方面,可以在SR条目命令中编码FSP重置请求。DRAM将对这个信息进行解码并且在SR条目执行结束时执行FSP重置。在任一方面,SoC都可以安全地将DRAM置于SR状态,并且在发生崩溃事件时保存DRAM的内容(特别是崩溃日志)。在SR持续时间期间,DRAM可以保持在FSP0的上电状态。在SoC重置之后,系统可以安全地重置到匹配DRAM FSP0状态的无端接的低频IO设置。SoC然后可以执行SR退出命令,在SR退出命令时,DRAM操作设置处于FSP0。因此,SoC和DRAM的FSP状态将始终匹配。这将避免丢失与DRAM的通信并且允许安全地读出崩溃日志。
图1A示出了根据本公开的一些示例的用于重置存储器的FSP的示例性部分处理流程。如图1A所示,部分处理100开始于由系统发出系统重置命令(框110)。在这个示例中,在系统重置命令被发出时,系统处理器(即,SoC)处于第一频率设定点(FSP1),并且系统存储器(即主存储器,诸如DRAM等)也以第一频率设定点(FSP1)操作。在框120中,系统可以在系统重置过程中进入自刷新条目,该系统重置过程包括用于主存储器的FSP重置命令(参见图4的SR条目的示例)。在框130中,除了SR状态条目之外,SoC可以重置,并且崩溃日志可以被存储在SoC的高速缓冲存储器(即,L2高速缓冲存储器或与主存储器不同的类似的暂态存储器)中。在框140中,SoC存储器子系统可以在第二频率设定点(FSP0)初始化。在框150中,SoC将退出系统重置过程的自刷新部分。在框160中,可以发出寄存器写入命令,以将主存储器配置在第二频率设定点(FSP0)。这将主存储器重置到FSP0。在框170中,系统将崩溃日志从系统高速缓冲存储器清空到主存储器或传送到主存储器。在框180中,系统可以访问现在存储在主存储器中的崩溃日志,以用于调试或类似的例程,因为SoC和主存储器两者都以FSP0操作并且在IO通信中没有频率失配。虽然只讨论了两个FSP,但是应当理解,系统可以使用多于两个FSP。除了手动重置开关被切换或者系统崩溃导致系统自动重置发生之外,系统重置命令还可以在多个不同的条件下发出。图2描述了可能需要发出系统重置命令的其他条件的一些示例。
图1B示出了根据本公开的一些示例的用于断电存储器的示例性部分处理流程。如图1B所示,部分处理105开始于系统存储器(即主存储器,诸如DRAM等)和系统处理器(即,SoC)以第一频率设定点FSP1操作(框115)。在框125中,系统处理器确定需要系统存储器停机和系统重置。在框135中,系统处理器向系统存储器发送断电命令,并且将系统处理器改变为以第二频率设定点FSP0操作。在框145中,系统处理器确定系统存储器的存储器重启是需要的或适当的。在框155中,系统处理器向系统存储器发送上电命令,以在FSP0上电。在框165中,系统处理器执行SR退出并且恢复正常的存储器操作,因为系统处理器和系统存储器都以FSP0操作并且在IO通信中没有频率失配。虽然只讨论了两个FSP,但是应当理解,系统可以使用多于两个FSP。确定需要系统存储器停机和重启可以基于很多不同的条件,包括手动重置开关被切换或者系统崩溃导致系统自动重置发生。
图2示出了根据本公开的一些示例的用于FSP重置序列的另一示例性部分处理流程。如图2所示,部分处理200在框210中开始,其中SoC和主存储器都在相同的FSP操作,该FSP在这个示例中可以是FSP0或FSP1。然而,应当理解,系统可以有多于两个FSP。在框220中,可以发起FSP重置条件检查,以检查可能需要系统重置的条件。在FSP重置条件检查发起之后,部分处理200执行两个检查。在框230中,系统检查以通过例如使用计数器来查看是否已经接收到多个命令。在框240中,系统检查以查看在某个事件之前是否发生了多个时钟周期,例如自SoC访问主存储器以来已经发生多个时钟周期。在框250中,系统确定框230中的检查或框240中的检查是否揭示FSP重置条件已经满足。如果框230或240处的检查揭示FSP重置条件尚未满足,则部分处理200返回到框210。如果框230或240处的检查揭示FSP重置条件已经满足,则部分处理200移到框260。在框260中,发起FSP重置序列,例如关于图1描述的FSP重置序列。在框270中,系统可以在FSP重置序列之后返回空闲(或正常操作)。
图3A示出了根据本公开的一些示例的用于FSP重置序列的示例性状态图300。如图3A所示,系统可以开始于空闲状态310。当处于空闲状态310时,可能发生导致自刷新条目命令312(即,SRE)被发出的FSP重置状态。系统然后进入自刷新状态320。在进入自刷新状态320之后,系统可以执行自动FSP重置序列330(参见例如图1A、图1B、图2和图3B)。一旦自动FSP重置序列330结束,则自刷新状态320可以发出自刷新退出命令314(即,SRX)并且然后系统将返回到空闲状态310。这之后可以是发出模式寄存器写入命令316(即,MRW)。当模式寄存器写入命令316被发出时,系统移到模式寄存器写入状态340。在模式寄存器写入状态340期间,系统可以将系统高速缓冲存储器中的崩溃日志传送到系统主存储器。之后,系统返回到空闲状态310。
图3B示出了根据本公开的一些示例的用于断电序列的示例性状态图305。如图3B所示,系统可以开始于空闲状态315。当处于空闲状态315时,可能发生导致断电命令313(即,CKE=H)被发出的断电条件。系统随后进入断电状态325。在进入断电状态325之后,系统可以执行自动FSP重置序列335(参见例如图1A、图1B、图2和图3A)。一旦自动FSP重置序列335结束,则断电状态325可以发出断电退出命令317(即,CKE=L)并且然后系统将返回到空闲状态315。这之后可以是发出模式寄存器写入命令319(即,MRW)。当模式寄存器写入命令319被发出时,系统移到模式寄存器写入状态345。在模式寄存器写入状态345期间,系统可以将系统高速缓冲存储器中的崩溃日志传送到系统主存储器。之后,系统返回到空闲状态315。
图4示出了根据本发明的一些实例的示例性模式寄存器条目。如图4所示,模式寄存器写入命令410可以包括多个条目,诸如FSP重置条件计数412、FSP重置条件414、FSP写入重置值416、FSP操作重置值418和FSP重置条目420。虽然在该示例中示出了五个条目,但是应当理解,可以使用多于或少于五个条目。取决于操作数3(OP[3])的条件,FSP重置条件计数412可以利用操作数4-7(OP[4:7]),操作数4-7(OP[4:7])包括用于有效命令或时钟周期计数的数据。FSP重置条件414可以利用操作数3(OP[3]),操作数3(OP[3])包括将重置条件指示为在FSP重置之前且在模式寄存器写入命令之后的特定有效命令数的数据(OP[3]=0)或者在FSP重置之前且在模式寄存器写入命令之后的特定时钟周期数的数据(OP[3]=1)。FSP写入重置值416可以利用操作数2(OP[2]),操作数2(OP[2])包括当重置条件满足时指示FSP写入重置为0的数据(OP[2]=0)或者当重置条件满足时指示FSP写入重置为1的数据(OP[2]=1)。FSP操作重置值418可以利用操作数1(OP[1]),该操作数1(OP[1])包括当重置条件满足时指示FSP重置为0的数据(OP[1]=0)或者当重置条件满足时指示FSP重置为1的数据(OP[1]=1)。FSP重置条目420可以利用操作数0(OP[0]),操作数0(OP[0])包括当重置条件不满足时不指示FSP重置的数据(OP[0]=0)或者当重置条件满足时指示FSP重置的数据(OP[0]=1)。
在本描述中,使用某些术语来描述某些特征。术语“移动设备”可以描述并且不限于音乐播放器、视频播放器、娱乐单元、导航设备、通信设备、移动设备、移动电话、智能电话、个人数字助理、固定位置终端、平板计算机、计算机、可穿戴设备、膝上型计算机、服务器、机动车辆中的车载设备、和/或通常由人携带和/或具有通信能力(例如,无线、蜂窝、红外、短距离无线电等)的其他类型的便携式电子设备。此外,术语“用户设备”(UE)、“移动终端”、“移动设备”和“无线设备”可以是可互换的。
根据上述示例的过程、状态和命令(例如,过程100、过程105、过程200、状态图300、状态图305和模式寄存器写入命令410)可以用于多个不同的应用,诸如在移动设备的电路组件中。参考图5作为示例,具有平台502的UE 500(这里是无线设备)可以接收和执行从无线电接入网(RAN)传输的软件应用、数据和/或命令,这些软件应用、数据和/或命令可能最终来自核心网络、因特网和/或其他远程服务器和网络。平台502可以包括收发器506,收发器506可操作地耦合到专用集成电路(“ASIC”508)或者其他处理器、微处理器、逻辑电路或诸如SoC等其他数据处理设备。ASIC 508或其他处理器执行应用程序编程接口(“API”)510层,该API510层与无线设备的存储器512(即,以上描述的主存储器)中的任何常驻程序对接。存储器512可以由随机存取存储器(DRAM)或计算机平台常用的任何类似的存储器组成。平台502还可以包括本地数据库514,其可以保存没有在存储器512中主动使用的应用。本地数据库514通常是闪存单元,但是可以是本领域已知的任何辅助存储设备,诸如磁介质、EEPROM、光学介质、磁带、软盘或硬盘等。如本领域已知的,平台502的内部组件还可以可操作地耦合到外部设备,诸如天线522、显示器524、即按即说按钮528和小键盘526,以及其他组件。
UE 500与RAN之间的无线通信可以基于不同的技术,诸如码分多址(CDMA)、W-CDMA、时分多址(TDMA)、频分多址(FDMA)、正交频分复用(OFDM)、全球移动通信系统(GSM)、3GPP长期演进(LTE)、或者可以在无线通信网络或数据通信网络中使用的其他协议。
图6描绘了诸如上述ASIC 508或SoC等示例性处理器10的功能框图。处理器10根据控制逻辑14来执行指令执行管线12中的指令。控制逻辑14设置和清除一个或多个状态寄存器16中的比特,以指示例如当前指令集操作模式、关于算术运算和逻辑比较的结果(零、进位、相等、不相等)的信息等。在一些示例中,指令执行管线12可以是具有多个并行管线的超标量设计。指令执行管线12也可以被称为执行单元。通用寄存器(GPR)文件20提供由管线12可访问的通用寄存器24的列表,并且该列表包括存储器层级的顶部。通用寄存器24中的一个通用寄存器可以被配置为时钟周期计数器,该时钟周期计数器用于对自存储器接收到上一重置命令以来的时钟周期数进行计数,并且通用寄存器24中的另一通用寄存器可以被配置为处理器命令计数器,该处理器命令计数器用于对自上一重置命令以来由存储器接收到的处理器命令数进行计数。例如,如果确定处理器命令数超过命令重置值或者如果时钟周期数超过时钟重置值,处理器10可以发出新的重置命令。时钟计数器和处理器命令计数器也可以是不同的寄存器或存储器组件,诸如数据高速缓存(D-cache)30。
以不同指令集操作模式执行来自至少两个指令集的指令的处理器10还包括调试电路18,调试电路18操作以在每个指令的执行时将至少预定目标指令集操作模式与当前指令集操作模式相比较并且提供两者之间的匹配的指示,如上文在图1A至图5的示例中所描述的。
管线12从指令高速缓存(I-cache)26提取指令,其中存储器地址转换和权限由指令侧转换后备缓冲器(ITLB)28管理。数据从D-cache 30被访问(诸如可以暂时存储崩溃日志),其中存储器地址转换和权限由主转换后备缓冲器(TLB)32管理。在各种示例中,ITLB28可以包括TLB 32的一部分的副本。备选地,ITLB 28和TLB 32可以被集成。类似地,在处理器10的各种示例中,I-cache26和D-cache 30可以被集成或被统一。此外,I-cache 26和D-cache30可以是L1高速缓存。I-cache 26和/或D-cache 30中的未命中将导致通过存储器接口34对主(片外)存储器38、40的访问。主存储器38可以包括可配置为存储主存储器38的当前FSP的第一模式寄存器39,并且主存储器40还可以包括可配置为存储主存储器40的当前FSP的第二模式寄存器41。存储器接口34可以是到总线互连42的主输入,该主输入实现到一个或多个主存储器38、40的共享总线,这些主存储器可以并入根据本公开的一些示例的改进的FSP处理。附加的主设备(未示出)可以另外地连接到总线互连42。
处理器10可以包括输入/输出(I/O)接口44,其可以是外围总线上的主设备,I/O接口44可以跨外围总线、经由总线46来访问各种外围设备48、50。本领域技术人员将认识到,处理器10的很多变体是可能的。例如,处理器10可以包括用于I-cache 26和D-cache 30中的任一者或两者的二级(L2)高速缓存。另外,可以在特定示例中省略在处理器10中描绘的一个或多个功能块。可以驻留在处理器10中的其他功能块(诸如JTAG控制器、指令预解码器、分支目标地址高速缓存等)与本公开的描述没有密切关系,并且为了清楚起见而被省略。
本文中使用词语“示例性”来表示“用作示例、实例或说明”。本文中描述为“示例性”的任何细节不一定被解释为比其他示例优选或有利。同样,术语“示例”不要求所有示例都包括所讨论的特征、优点或操作模式。在本说明书中使用术语“在一个示例中”、“示例”、“在一个特征中”和/或“特征”不一定指代同一特征和/或示例。此外,特定特征和/或结构可以与一个或多个其他特征和/或结构组合。而且,本文描述的装置的至少一部分可以被配置为执行本文描述的方法的至少一部分。
本文中使用的术语仅用于描述特定示例的目的,而无意限制本公开的示例。如本文中使用的,除非上下文另外明确指出,否则单数形式“一个”、“一”和“该”旨在也包括复数形式。还应当理解,当在本文中使用时,术语“包括”、“包括的”、“包含”和/或“包含的”指定存在所提及的特征、整体、步骤、操作、元素和/或组件,但是并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或其组合的存在或添加。
应当注意,术语“连接”、“耦合”或其任何变体表示元件之间的直接或间接的任何连接或耦合,并且可以包括两个元件之间的中间元件的存在,这两个元件经由中间元件“连接”或“耦合”在一起。
本文中对使用诸如“第一”、“第二”等指定的元素的任何引用不限制这些元素的数目和/或顺序。相反,这些指定被用作区分两个或更多个元素和/或元素的实例的便利方法。因此,对第一和第二元素的引用并不表示只能使用两个元素,也不表示第一元素必须在第二元素之前。而且,除非另有说明,一组元素可以包括一个或多个元素。
此外,在例如由计算设备的元件执行的动作序列方面来描述很多示例。应当认识到,本文中描述的各种动作可以由特定电路(例如,专用集成电路(ASIC))、通过由一个或多个处理器执行的程序指令、或者通过两者的组合来执行。此外,本文中描述的这些动作序列可以被认为完全被体现在任何形式的计算机可读存储介质(例如,非暂态计算机可读存储介质)内,在该计算机可读存储介质中存储有相应的一组计算机指令,计算机指令在执行时使相关联的处理器执行本文中描述的功能。因此,本公开的各个方面可以以很多不同的形式来实施,所有这些都被认为在所要求保护的主题的范围内。另外,对于本文中描述的每个示例,任何这样的示例的相应形式可以在本文中被描述为例如“被配置为执行所描述的动作的逻辑”。
本申请中描绘的任何陈述或示出的内容旨在向公众提供任何组件、步骤、特征、益处、优点或等同物,而不管该组件、步骤、特征、益处、优点或等同物是否在权利要求书中叙述。
此外,本领域技术人员将认识到,结合本文中公开的示例描述的各种说明性的逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,上文已经在其功能方面一般性地描述了各种说明性的组件、块、模块、电路和步骤。这样的功能是以硬件还是软件来实现取决于特定应用和施加在整个系统上的设计约束。本领域技术人员可以针对每个特定应用以各种方式实现所描述的功能,但是这样的实现决定不应当被解释为导致偏离本公开的范围。
结合本文中公开的示例描述的方法、序列和/或算法可以直接以硬件、处理器执行的软件模块或两者的组合来实施。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域已知的任何其他形式的存储介质中。示例性存储介质耦合到处理器,使得处理器可以从存储介质读取信息和向存储介质写入信息。在备选方式中,存储介质可以与处理器成一体。
结合本文中公开的各方面描述的各种说明性逻辑块、模块和电路可以用被设计为执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件、或者其任何组合来实现或执行。通用处理器可以是微处理器,但是在替代方式中,处理器可以是任何传统的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合(例如,DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器结合DSP内核的、或者任何其他这样的配置)。
虽然已经结合设备描述了一些方面,但是不用说,这些方面也构成对相应方法的描述,并且因此设备的框或组件也应当被理解为相应的方法步骤或方法步骤的特征。类似地,结合或作为方法步骤描述的方面也构成对相同设备的相应块或细节或特征的描述。方法步骤中的一些或全部可以由硬件装置(或使用硬件装置)来执行,诸如例如微处理器、可编程计算机或电子电路。在一些示例中,可以由这样的装置来执行一些或多个最重要的方法步骤。
在上面的详细描述中可以看出,不同的特征在示例中被分组在一起。这种公开的方式不应当被理解为所要求保护的示例意图需要比相应权利要求中明确提到的更多特征。相反,情况是这样的,即创造性内容可以存在于逼所公开的单个示例的所有特征更少的特征中。因此,以下权利要求由此应当被认为被并入说明书中,其中每个权利要求本身可以作为单独的示例。尽管每个权利要求本身可以作为单独的示例,但应当注意,尽管从属权利要求可以在权利要求中涉及与一个或多个权利要求的特定组合,但是其他示例也可以包含或包括所述从属权利要求与任何其他从属权利要求的主题的组合或者任何特征与其他从属权利要求和独立权利要求的组合。本文中提出了这样的组合,除非明确表示特定的组合不是所意图的。此外,即使所述权利要求不直接依赖于独立权利要求,也可以将权利要求的特征包括在任何其他独立权利要求中。
此外应当注意,在说明书或权利要求书中公开的方法可以由包括用于执行该方法的各个步骤或动作的装置的设备来实现。
此外,在一些示例中,单独的步骤/动作可以被细分成多个子步骤或者包含多个子步骤。这样的子步骤可以被包含在单个步骤的公开内容中并且是单个步骤的公开内容的一部分。
尽管前述公开内容示出了本公开的说明性示例,但是应当注意,在不脱离由所附权利要求限定的本公开内容的范围的情况下,可以进行各种改变和修改。根据本文中描述的本公开的示例的方法权利要求的功能、步骤和/或动作不需要以任何特定的顺序执行。另外,众所周知的元素未被详细描述或者可以被省略,以防模糊本文中公开的方面和示例的相关细节。此外,虽然本公开的元素可以以单数形式描述或要求保护,但是除非明确说明限于单数形式,否则复数形式是可预期的。

Claims (20)

1.一种用于第一存储器的频率重置的方法,所述方法包括:
当处理器以第一频率设定点操作并且所述第一存储器以所述第一频率设定点操作时,由所述处理器发出重置命令;
由所述处理器向所述第一存储器发出自刷新命令,所述自刷新命令包括频率重置条目;
将所述处理器设置在第二频率设定点;
由所述处理器发出用以将所述第一存储器设置在所述第二频率设定点的寄存器写入命令;以及
将所述第一存储器设置在所述第二频率设定点。
2.根据权利要求1所述的用于频率重置的方法,还包括在将所述处理器设置在所述第二频率设定点之前,将崩溃日志存储在第二存储器中。
3.根据权利要求2所述的用于频率重置的方法,还包括在将所述第一存储器设置在所述第二频率设定点之后,将所述崩溃日志存储在所述第一存储器中。
4.根据权利要求1所述的用于频率重置的方法,其中所述第一存储器被并入选自包括以下各项的组中的设备内:音乐播放器、视频播放器、娱乐单元、导航设备、通信设备、移动设备、移动电话、智能电话、个人数字助理、固定位置终端、平板计算机、计算机、可穿戴设备、膝上型计算机、服务器和机动车辆中的车载设备,并且所述第一存储器还包括所述设备。
5.一种非暂态计算机可读介质,包含用于使处理器执行过程的程序指令,所述过程包括:
当所述处理器以第一频率设定点操作并且第一存储器以所述第一频率设定点操作时,发出重置命令;
向所述第一存储器发出自刷新命令,所述自刷新命令包括频率重置条目;
将所述处理器设置在第二频率设定点;
发出用以将所述第一存储器设置在所述第二频率设定点的寄存器写入命令;以及
将所述第一存储器设置在所述第二频率设定点。
6.根据权利要求5所述的非暂态计算机可读介质,还包括在将所述处理器设置在所述第二频率设定点之前,将崩溃日志存储在第二存储器中。
7.根据权利要求6所述的非暂态计算机可读介质,还包括在将所述第一存储器设置在所述第二频率设定点之后,将所述崩溃日志存储在所述第一存储器中。
8.一种用于检查第一存储器的重置条件的方法,所述方法包括:
当处理器以第一频率设定点操作并且所述第一存储器以所述第一频率设定点操作时,由所述处理器发起重置条件检查;
对自上一重置命令以来由所述第一存储器接收到的处理器命令数进行计数;
对自所述第一存储器接收到所述上一重置命令以来的时钟周期数进行计数;
确定所述处理器命令数是否超过命令重置值;
确定所述时钟周期数是否超过时钟重置值;
如果所述处理器命令数超过所述命令重置值或者如果所述时钟周期数超过所述时钟重置值,由所述处理器发出重置命令,包括:
向所述第一存储器发出自刷新命令,所述自刷新命令包括频率重置条目;
将所述处理器设置在第二频率设定点;
发出用以将所述第一存储器设置在所述第二频率设定点的寄存器写入命令;以及
将所述第一存储器设置在所述第二频率设定点。
9.根据权利要求8所述的用于检查重置条件的方法,还包括在将所述处理器设置在所述第二频率设定点之前,将崩溃日志存储在第二存储器中。
10.根据权利要求9所述的用于检查重置条件的方法,还包括在将所述第一存储器设置在所述第二频率设定点之后,将所述崩溃日志存储在所述第一存储器中。
11.根据权利要求8所述的用于检查重置条件的方法,其中所述第一存储器被并入选自包括以下各项的组中的设备内:音乐播放器、视频播放器、娱乐单元、导航设备、通信设备、移动设备、移动电话、智能电话、个人数字助理、固定位置终端、平板计算机、计算机、可穿戴设备、膝上型计算机、服务器和机动车辆中的车载设备,并且所述第一存储器还包括所述设备。
12.一种非暂态计算机可读介质,包含用于使处理器执行过程的程序指令,所述过程包括:
当所述处理器以第一频率设定点操作并且第一存储器以所述第一频率设定点操作时,发起重置条件检查;
对自上一重置命令以来由所述第一存储器接收到的处理器命令数进行计数;
对自所述第一存储器接收到所述上一重置命令以来的时钟周期数进行计数;
确定所述处理器命令数是否超过命令重置值;
确定所述时钟周期数是否超过时钟重置值;
如果所述处理器命令数超过所述命令重置值或者如果所述时钟周期数超过所述时钟重置值,发出重置命令,包括:
向所述第一存储器发出自刷新命令,所述自刷新命令包括频率重置条目;
将所述处理器设置在第二频率设定点;
发出用以将所述第一存储器设置在所述第二频率设定点的寄存器写入命令;以及
将所述第一存储器设置在所述第二频率设定点。
13.根据权利要求12所述的非暂态计算机可读介质,还包括在将所述处理器设置在所述第二频率设定点之前,将崩溃日志存储在第二存储器中。
14.根据权利要求13所述的非暂态计算机可读介质,还包括在将所述第一存储器设置在所述第二频率设定点之后,将所述崩溃日志存储在所述第一存储器中。
15.一种用于控制第一存储器的频率设定点重置的模式寄存器,所述模式寄存器包括:
频率重置条件计数,指示用于重置所述第一存储器的频率重置条件;
频率重置条件,指示自所述第一存储器接收到上一重置命令以来由所述第一存储器接收到的处理器命令数或者自所述第一存储器接收到所述上一重置命令以来已经发生的时钟周期数;
频率写入重置值,指示所述频率重置条件何时已经满足;
频率重置值,指示用于所述第一存储器的频率设定点;以及
频率重置条目,指示当所述频率重置条件已经满足时所述第一存储器是否已经重置。
16.根据权利要求15所述的模式寄存器,其中所述频率重置条件计数包括多个操作数条件。
17.根据权利要求16所述的模式寄存器,其中所述模式寄存器被并入所述第一存储器中。
18.根据权利要求17所述的模式寄存器,其中所述频率重置条件计数由处理器更新。
19.根据权利要求18所述的模式寄存器,其中所述模式寄存器连接到第二存储器,所述第二存储器被配置为存储崩溃日志。
20.根据权利要求19所述的模式寄存器,其中所述第一存储器被并入选自包括以下各项的组中的设备内:音乐播放器、视频播放器、娱乐单元、导航设备、通信设备、移动设备、移动电话,智能电话、个人数字助理、固定位置终端、平板计算机、计算机、可穿戴设备、膝上型计算机、服务器和机动车辆中的车载设备,并且所述第一存储器还包括所述设备。
CN201680044540.7A 2015-07-31 2016-06-02 用于存储器的频率重置的系统、方法和装置 Pending CN107851075A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562199639P 2015-07-31 2015-07-31
US62/199,639 2015-07-31
US15/170,742 US10331526B2 (en) 2015-07-31 2016-06-01 Systems, methods, and apparatus for frequency reset of a memory
US15/170,742 2016-06-01
PCT/US2016/035520 WO2017023408A1 (en) 2015-07-31 2016-06-02 Systems, methods, and apparatus for frequency reset of a memory

Publications (1)

Publication Number Publication Date
CN107851075A true CN107851075A (zh) 2018-03-27

Family

ID=57883569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680044540.7A Pending CN107851075A (zh) 2015-07-31 2016-06-02 用于存储器的频率重置的系统、方法和装置

Country Status (9)

Country Link
US (1) US10331526B2 (zh)
EP (1) EP3304325B1 (zh)
JP (1) JP2018528510A (zh)
KR (1) KR20180035815A (zh)
CN (1) CN107851075A (zh)
BR (1) BR112018002030A2 (zh)
CA (1) CA2989298A1 (zh)
TW (1) TW201712681A (zh)
WO (1) WO2017023408A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9978437B2 (en) 2015-12-11 2018-05-22 Micron Technology, Inc. Apparatuses and methods for dynamic voltage and frequency switching for dynamic random access memory
US10599206B2 (en) * 2017-06-02 2020-03-24 Intel Corporation Techniques to change a mode of operation for a memory device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090225616A1 (en) * 2008-03-05 2009-09-10 Wolfgang Hokenmaier Memory that retains data when switching partial array self refresh settings
CN101960532A (zh) * 2008-03-28 2011-01-26 英特尔公司 用于节省存储器自刷新功率的系统、方法和装置
CN102402454A (zh) * 2010-09-10 2012-04-04 联想(北京)有限公司 一种调节内存运行频率的方法及电子设备
US20140244914A1 (en) * 2008-02-05 2014-08-28 Spansion Llc Mitigate flash write latency and bandwidth limitation

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5229970A (en) * 1991-04-15 1993-07-20 Micron Technology, Inc. Circuit for synchronizing refresh cycles in self-refreshing drams having timing circuit shutdown
US5446695A (en) * 1994-03-22 1995-08-29 International Business Machines Corporation Memory device with programmable self-refreshing and testing methods therefore
KR100276386B1 (ko) * 1997-12-06 2001-01-15 윤종용 반도체메모리장치의리프레시방법및회로
US7088633B2 (en) * 2004-05-27 2006-08-08 Qualcomm Incorporated Method and system for providing seamless self-refresh for directed bank refresh in volatile memories
US8593470B2 (en) * 2005-02-24 2013-11-26 Ati Technologies Ulc Dynamic memory clock switching circuit and method for adjusting power consumption
US7639764B2 (en) * 2005-08-17 2009-12-29 Atmel Corporation Method and apparatus for synchronizing data between different clock domains in a memory controller
US7369451B2 (en) * 2005-10-31 2008-05-06 Mosaid Technologies Incorporated Dynamic random access memory device and method for self-refreshing memory cells
JP4967561B2 (ja) * 2006-09-20 2012-07-04 富士通株式会社 移動通信端末、移動通信システム、基地局及び通信方法
US8069327B2 (en) * 2006-12-28 2011-11-29 Intel Corporation Commands scheduled for frequency mismatch bubbles
US7624310B2 (en) * 2007-07-11 2009-11-24 Micron Technology, Inc. System and method for initializing a memory system, and memory device and processor-based system using same
US20090024916A1 (en) * 2007-07-20 2009-01-22 Burckart Erik J Seamless Asynchronous Updates of Dynamic Content
JP4517312B2 (ja) * 2008-07-08 2010-08-04 ソニー株式会社 メモリアクセス制御装置および撮像装置
US9536579B2 (en) * 2011-12-29 2017-01-03 Renesas Electronics Corporation Semiconductor integrated circuit capable of precisely adjusting delay amount of strobe signal
JP2014019354A (ja) * 2012-07-20 2014-02-03 Toyota Motor Corp ハイブリッド自動車
US9704557B2 (en) * 2013-09-25 2017-07-11 Qualcomm Incorporated Method and apparatus for storing retention time profile information based on retention time and temperature
KR102216559B1 (ko) * 2013-12-09 2021-02-17 삼성전자주식회사 멀티 칩 패키지에 적합한 반도체 메모리 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140244914A1 (en) * 2008-02-05 2014-08-28 Spansion Llc Mitigate flash write latency and bandwidth limitation
US20090225616A1 (en) * 2008-03-05 2009-09-10 Wolfgang Hokenmaier Memory that retains data when switching partial array self refresh settings
CN101960532A (zh) * 2008-03-28 2011-01-26 英特尔公司 用于节省存储器自刷新功率的系统、方法和装置
CN102402454A (zh) * 2010-09-10 2012-04-04 联想(北京)有限公司 一种调节内存运行频率的方法及电子设备

Also Published As

Publication number Publication date
WO2017023408A1 (en) 2017-02-09
EP3304325A1 (en) 2018-04-11
EP3304325B1 (en) 2019-03-20
US20170031785A1 (en) 2017-02-02
JP2018528510A (ja) 2018-09-27
BR112018002030A2 (pt) 2018-09-11
TW201712681A (zh) 2017-04-01
CA2989298A1 (en) 2017-02-09
US10331526B2 (en) 2019-06-25
KR20180035815A (ko) 2018-04-06

Similar Documents

Publication Publication Date Title
US9146607B1 (en) Methods and apparatus to selectively power functional units
CN104756090B (zh) 提供扩展的缓存替换状态信息
Chen et al. Energy-aware adaptive restore schemes for MLC STT-RAM cache
CN108701079A (zh) 具有自适应预取的闪存读取高速缓存的系统和方法
CN101606135B (zh) 时钟控制装置、时钟控制方法、时钟控制程序及集成电路
CN107533442A (zh) 用于对异构系统存储器中的存储器功率消耗进行优化的系统和方法
CN110312994A (zh) 使用指令地址映射绕过加载指令的存储器访问
CN105359109A (zh) 基于次计算机中的存储器错误移动主计算机中的对象
RU2730440C1 (ru) Средство для расширения возможностей исключительного удержания кеш-строки в фоновом процессе приватного кеша
US8904114B2 (en) Shared upper level cache architecture
CN110620585A (zh) 支持压缩数据的随机访问
CN106030549A (zh) 用于对晶片外高速缓存存储器的标签集高速缓存的方法、装置和系统
CN106557436A (zh) 终端的内存压缩功能使能方法及装置
CN107733982A (zh) 一种数据同步方法、终端设备、云端服务器及系统
CN107257978A (zh) 抵抗旁路攻击的定制保护
CN108875046A (zh) 一种存储系统访问方法、装置及电子设备
CN110413432A (zh) 一种信息处理方法、电子设备及存储介质
CN107851075A (zh) 用于存储器的频率重置的系统、方法和装置
KR20180099680A (ko) 블록―원자 실행 모델을 사용하는 프로세서-기반 시스템에서 부분적으로 실행된 명령 블록들의 재생
US9710349B2 (en) Storing first computer trace information in memory of second computer
US10649773B2 (en) Processors supporting atomic writes to multiword memory locations and methods
CN107908552A (zh) 一种基于链接的测试方法、装置及设备
US10747644B2 (en) Method of executing instructions of core, method of debugging core system, and core system
TWI498812B (zh) 資料存取方法以及使用此資料存取方法的電子裝置
CN108228484A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180327

WD01 Invention patent application deemed withdrawn after publication