CN107544923A - 用于控制对存储器设备的访问的装置以及相关方法 - Google Patents

用于控制对存储器设备的访问的装置以及相关方法 Download PDF

Info

Publication number
CN107544923A
CN107544923A CN201710475609.8A CN201710475609A CN107544923A CN 107544923 A CN107544923 A CN 107544923A CN 201710475609 A CN201710475609 A CN 201710475609A CN 107544923 A CN107544923 A CN 107544923A
Authority
CN
China
Prior art keywords
training
memory
access
physical layer
memory devices
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
CN201710475609.8A
Other languages
English (en)
Other versions
CN107544923B (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.)
ARM Ltd
Original Assignee
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN107544923A publication Critical patent/CN107544923A/zh
Application granted granted Critical
Publication of CN107544923B publication Critical patent/CN107544923B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Human Computer Interaction (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

本公开涉及用于控制对存储器设备的访问的装置以及相关方法。描述了用于在被用于控制对存储器设备的访问的装置内执行维护操作的技术。该装置具有用于存储将要向存储器设备发出的访问请求的存储设备和用于在存储设备内提供的存储元件上执行维护操作的维护电路。存储器访问执行电路被用于向物理层接口发出从存储设备中选择的访问请求,以用于从物理层接口到存储器设备的向前传播。控制电路响应于训练事件而发起对物理层接口的训练操作。此外,控制电路还响应于训练事件而在训练操作正在被执行时触发由维护电路执行维护操作。

Description

用于控制对存储器设备的访问的装置以及相关方法
技术领域
本公开涉及一种用于控制对存储器设备的访问的装置,以及一种在这种装置内执行维护操作的方法。
背景技术
用于控制对存储器设备的访问的装置可以从多个源接收访问请求,并且可以访问存储设备,在该存储设备中可以缓冲将要向存储器设备发出的访问请求。存在可以期望在这种存储设备内的至少一些存储元件上执行的各种类型的维护操作。例如,某些维护操作可以被执行以试图提高存储器访问操作的整体性能,而其他维护操作可以被执行以试图改进鲁棒性,例如通过试图检测硬错误的发生。然而,这些维护操作的执行可能会影响装置的整体性能。
因此,期望提供一种用于处理这类维护操作的改进的技术。
发明内容
在第一示例配置中,提供了一种用于控制对存储器设备的访问的装置,该装置包括:存储设备,用于存储将要向所述存储器设备发出的访问请求;维护电路,用于在存储设备内提供的存储元件上执行维护操作;存储器访问执行电路,用于向物理层接口发出从存储设备中选择的访问请求,以用于从物理层接口到存储器设备的向前传播;以及控制电路,用于响应于训练事件而发起对物理层接口的训练操作;控制电路还响应于训练事件而在训练操作正在被执行时触发由维护电路执行维护操作。
在另一示例配置中,提供了一种在控制对存储器设备的访问的装置内执行维护操作的方法,该方法包括:在存储设备中存储将要向存储器设备发出的访问请求;采用维护电路来对在存储设备内提供的存储单元执行维护操作;向物理层接口发出从存储设备中选择的访问请求,以用于从物理层接口到存储器设备的向前传播;响应于训练事件,采用控制电路来发起对物理层接口的训练操作;以及使得控制电路在训练操作正在被执行时触发由维护电路执行维护操作。
在又一示例配置中,提供了一种用于控制对存储器设备的访问的设备,该设备包括:存储装置,用于在存储设备中存储将要向存储器设备发出的访问请求;维护装置,用于在存储装置内提供的存储单元上执行维护操作;存储器访问执行装置,用于向物理层接口发出从存储装置中选择的访问请求,以用于从物理层接口到存储器设备的向前传播;控制装置,用于响应于训练事件而发起对物理层接口的训练操作;所述控制装置还响应于训练时间而在训练操作正在被执行时触发由维护电路执行维护操作。
附图说明
将仅通过示例的方式,参考如附图所示的实施例来进一步描述本技术,其中:
图1是根据一个实施例的系统的框图;
图2是更详细地示出根据一个实施例的图1的存储器控制器和物理层接口的框图;
图3是示出根据一个实施例的图2的物理层训练电路的操作的流程图;
图4是示出根据一个实施例的SRAM维护的执行的流程图;和
图5是示出根据一个实施例的图2的调度器的操作的流程图。
具体实施方式
在参考附图讨论实施例之前,提供了对实施例的以下描述。
在许多现代系统中,系统的多个组件可以一起集成在芯片上,并且一个或多个组件可能需要与存储器设备进行通信。存储器设备可以采用各种形式,一个示例是动态随机存取存储器(DRAM),并且在现代系统中存储容量可以相当大。通常,存储器设备本身可以在片外提供,而片上存储器控制器被用于控制对该存储器设备的访问。
存储器控制器通常可以访问存储设备,在存储设备中可以缓冲要向存储器设备发出的访问请求。存在可以期望在这种存储设备中的至少一些存储元件上执行的各种类型的维护操作。例如,某些维护操作可以被执行以试图提高存储器访问操作的整体性能,例如,通过合并某些访问请求,和/或通过执行某些调度/排序功能来在将存储设备内的存储器请求向存储器设备发出之前对存储器请求进行排序。这样的任务可以作为后台操作被执行,但是在当处理访问请求以便执行对存储器设备的访问时所需的存储设备中的常规读/写活动与为了执行所需的维护任务而需要的存储设备中的读/写活动之间,将存在对存储设备的访问带宽的争用。因此,这样的后台维护任务有可能影响性能,特别是随着存储设备的尺寸以及因此要维护的存储元件的数量的增加。
此外,还可以期望执行其他类型的维护操作。例如,内置自检(BIST)操作可以被执行以检查存储元件的正确操作,特别是当存在硬错误时进行检测。虽然传统上这样的BIST任务可能在某些应用(例如,高度错误不耐受的应用)中仅作为制造测试的一部分(或者在启动时)被执行,但是还可以期望允许这样的BIST测试在存储器控制器的实时使用期间作为维护操作被执行。然而,这类维护操作的执行可能会对设备的整体性能产生影响。
因此,本文描述的实施例旨在提供一种用于处理这类维护操作的改进的技术。
根据一个实施例,提供了一种用于控制对存储器设备的访问的装置,该装置具有存储设备,用于存储将要向存储器设备发出的访问请求;以及维护电路,用于在存储设备内提供的存储元件上执行维护操作。还提供了存储器访问执行电路,用于向存储器设备发出从存储设备中选择的访问请求。访问请求的发出是通过中间物理层接口进行的,该接口从存储器访问执行电路接收访问请求并管理访问请求到存储器设备的向前传播。物理层接口被提供用于管理与存储器设备的通信(考虑与存储器设备的物理连接的本质)。该物理连接通常将包括多个相对较长的物理线连接,并且需要操作为高速并行接口。物理层接口以维护经由该物理连接与存储器设备的同步通信的方式进行操作。
由于物理连接的本质,可能引入时变效应(time varying effect),该时变效应可能影响正确同步各种信号的能力,因此通常情况下,这样的物理层接口需要经受周期性的训练操作,在该训练操作期间,通过物理连接将测试命令发送到存储器控制器,以便能够执行被用于确保与存储器设备的同步通信的相位延迟电路等的任何必要的再校准。具体地,可以提供响应于训练事件来发起对物理层接口的训练操作的控制电路。训练事件可以采用各种形式,例如周期性定时器的时间推移、或接近错误条件的指示,例如通过分析在物理层接口和存储器设备之间的物理连接上传递的信号的一个或多个属性。
根据本文所描述的实施例,利用需要对物理层接口执行周期性训练操作的优点,还使用这些时间段来在存储设备内所提供的存储元件上执行维护操作,从而使得能够隐藏这种维护操作的潜在性能影响。具体地,在针对物理层接口执行训练操作时,不能处理未决访问请求,因此在该时间段期间不执行有效的存储器访问处理。根据所描述的实施例,控制电路响应于训练事件,在训练操作正在被执行时触发由维护电路执行维护操作。因此,维护操作在未决访问请求不能被处理的时候被执行,因此在该时间段期间执行维护操作不会对存储器访问的性能产生进一步的影响。
因此,通过在已经存在的存储器访问功能的“停工期”(由于在物理层接口上执行训练操作)期间触发执行这些维护操作,提供了一种用于促进维护操作的执行的非常有效的机制。这在以下情形中尤其有利:需要执行的维护任务的数量处于可能通过引入访问存储元件的争用源而影响存储器访问操作的整体性能的水平。具体地,存储元件将需要在执行对未决访问请求的常规处理以访问所需的存储器设备中的数据时进行访问,并且如果维护操作在同样的时间也需要访问存储元件,则可以妥协执行,特别是随着所需的维护任务量的增加。
控制电路可以通过多种方式来响应于训练事件而触发由维护电路执行维护操作。例如,在一个实施例中,控制电路可以被布置为向维护电路发出控制信号以触发维护操作的执行。因此,在这样的实施例中,控制电路能够直接接触维护电路,以便触发维护操作的执行。
在替代实施例中,控制电路可以不直接接触维护电路,而是可以执行将会触发维护操作的执行的替代动作。例如,在一个实施例中,控制电路可以响应于训练事件而将控制寄存器更新为触发由维护电路执行维护操作的值。作为具体示例,控制寄存器可以被布置,以使得当其值被更新到预定值时引起中断发生,这可能例如使得触发维护操作的执行的异常例程被执行。因此,控制电路可以响应于训练事件而将控制寄存器的值更新到该预定值,从而发起中断机制以触发维护操作的执行。
在一个实施例中,为了帮助维护电路规划将要在由控制电路触发维护操作时执行的维护活动,控制电路可被布置为发出对训练操作的预期持续时间的指示,并且维护电路然后可以被布置为在确定将要经受维护操作的存储元件时参考该指示。因此,可以通知维护电路可以执行维护操作且不会对数据访问性能产生任何影响的可用时间长度,因为已知在执行训练操作时针对未决访问请求将不发生对存储器设备的数据访问。
由控制电路提供的对训练操作的预期持续时间的指示可以采用各种形式。例如,可以直接标识有关的时间段,例如参考多个时钟周期。可替换地,标识由训练操作正在执行的训练的类型可能就足够了。具体地,根据训练事件的本质,需要执行的训练的类型可能不同,不同类型的训练可能具有不同的预期持续时间。在一个实施例中,维护电路可以被布置为访问存储的时间信息,该信息标识针对多种不同类型的训练中的每一种的训练操作的预期持续时间。在这种情况下,控制电路在触发维护操作时发出的指示可以被布置为提供对训练操作所执行的训练的类型的指示,维护电路然后使用该信息来确定可用于执行维护任务的时间。
在替代实施例中,控制电路可以不提供任何时间指示信息,而是可以被布置为在训练操作完成时通知维护电路。在这样的实施例中,维护电路然后可以继续执行维护任务,直到被通知训练操作完成的时间为止。例如,它可以响应于该信息而在下一适合点处终止维护操作,例如,当进行中的任何维护任务(在维护电路被告知训练操作完成时)已经完成时。
作为另一替代实施例,当维护操作由控制电路触发时,维护电路可以被布置为在默认时间段执行维护操作。可以通过各种方式选择默认时间段,而且可以例如对应于训练操作的最小预期持续时间。
控制电路可以采用各种形式。在一个实施例中,它可以采用被配置为执行训练操作的专用硬件电路的形式。此外,该硬件电路将被配置为发出信号以在发起训练操作时触发维护操作的执行。然而,在替代实施例中,控制电路可以采用更通用的处理电路的形式,其被布置为执行固件以实施训练操作。然后,当发起训练操作时,固件还将使得发出必要的信号来触发维护操作的执行。
在其中控制电路是专用硬件电路的一个实施例中,该专用硬件电路可以被提供有特定路径,通过该路径,该专用硬件电路可以直接向维护电路发出触发信号以发起维护操作。
在其中控制电路采取执行固件的更通用的处理电路的形式的一个实施例中,该处理电路可以经由外围总线连接到系统内的各种其他组件,包括用于控制系统内的组件的操作的一些控制寄存器系统。这些控制寄存器中的一个可以被布置成以下寄存器:当该寄存器被设置为特定值时,触发中断以使得发起维护操作。
包含将要经受维护操作的存储元件的存储设备可以采用各种形式。在一个实施例中,存储设备包括未决访问请求缓冲器,并且至少访问请求的数据部分被存储在经受维护操作的存储元件中。例如,在一个具体实施例中,访问请求的数据部分可以被存储在存储设备内的静态随机存取存储器(SRAM)单元中,并且这些SRAM单元可以进行维护操作。在一个实施例中,存储设备可以使用其他结构来存储请求的其他部分。例如,可以使用触发器(flop)来存储与每个访问请求相关联的命令/地址信息。这种存储结构可能不需要进行维护操作,因此可能不是整个存储设备都要进行维护操作。然而,在替代实施例中,每个访问请求的所有信息可以被存储在包含命令/地址信息的SRAM单元中,并且所有这些SRAM单元可以进行维护操作。
除了未决访问请求缓冲器之外,或者作为这种缓冲器的替代物,存储设备可以包括其他组件,例如缓存结构,并且缓存结构的至少一部分可以由经受维护操作的存储单元形成。例如,在片上系统(SoC)中,末级缓存可能在功能上与存储器控制器相当紧密地耦合,因此缓存的区域可以用于保存访问请求信息。因此,由于在物理层接口经受训练操作的时间段期间没有有效的访问请求被处理的事实,所以在该时间段期间对这种缓存结构的访问可以显著减少或停止。于是该时间段也表示用于对缓存结构内的存储元件执行维护任务的合适的时间段,因此来自控制电路的触发信号可以传播到这种缓存结构上以在该时间段期间发起那些维护任务。
维护操作可以采用各种形式。例如,在一个实施例中,维护电路包括内置自检(BIST)控制器,其被布置为执行维护操作,以便提供错误鲁棒性维护。具体地,由BIST控制器执行的维护操作可以试图确定存储元件中存在任何硬错误。例如,针对用于存储一个或多个数据值的一系列存储元件,该一个或多个数据值可以被临时缓冲在其他地方,然后可以使用已知的样本对这一系列存储元件执行一系列写入和读取访问,以便试图检测读取的样本与写入的样本不同的任何情况,从而可以指示硬故障。这可能是个时间密集型的操作,如果在访问请求正在被有效处理的“实时”使用期间执行,可能会显著影响存储器访问的性能。然而,通过将这些操作限制在物理层接口被训练的时间段,则不存在这样的影响,因此这提供了用于执行这样的BIST测试的非常有效的机制。
作为替代方案或另外地,维护电路可以包括调度电路,该调度电路被布置为执行维护操作,以便改善由访问请求标识的存储器访问的执行。与上述BIST型的维护操作相比,由调度电路执行的维护操作可以试图使用诸如访问请求合并和调度/重排序技术之类的技术来寻求对存储器访问的执行的优化。在这样的维护可以在系统的实时使用期间作为后台任务来执行的时候,执行这种维护所花费的时间可能随着存储设备的大小的增大而增大,因此针对执行这种后台维护任务存在如下可能:由于它们在访问存储元件时发生争用,影响了实际的访问请求处理的执行;或者调度电路难以找到足够的时间来执行期望的维护任务。然而,通过允许调度电路在物理层接口被训练的时间段内执行这样的维护任务,维护电路可以执行这样的维护任务而不发生关于有效数据访问流量的任何争用。因此,例如,通过在进行训练操作的时间段期间增大维护存储元件的速率,可以在这样的时间段期间增大维护任务的效率。这可以在没有影响存储器访问活动的执行的任何风险的情况下完成,因为在物理层接口训练发生期间,停止了任何事件中的存储器访问活动。
训练操作可以采用各种形式。然而,在一个实施例中,训练操作调整物理层接口的操作以补偿在物理层接口和存储器设备之间的连接上传播的信号的延迟。
在另一个实施例中,本技术提供了一种在控制对存储器设备的访问的装置内执行维护操作的方法,包括:在存储设备中存储将要向存储器设备发出的访问请求;采用维护电路来在存储设备内所提供的存储单元上执行维护操作;向物理层接口发出从存储设备中选择的访问请求,以用于从物理层接口到存储器设备的向前传播;响应于训练事件,采用控制电路来发起物理层接口的训练操作;并且使得控制电路在训练操作正在被执行时触发由维护电路执行维护操作。
现在将参考附图描述具体实施例。
图1是根据一个实施例的数据处理系统的框图。如图所示,多个请求设备10、15、20被布置为发出针对保存在存储器设备40中的数据的访问请求。请求设备可以采用各种形式,例如,可以包括中央处理单元(CPU)、图形处理单元(GPU)、缓存等。存储器设备40具有与之相关联的存储器控制器30,其被布置为从请求设备10、15、20接收各种访问请求,然后调度这些处理请求以用于在存储器设备40内进行处理。经由中间物理层接口35将访问请求从存储器控制器30发出至存储器设备40。存储器设备40通常在片外被提供,并且存储器控制器30和存储器设备40之间的物理连接通常可以比较需要被用来提供高速并行接口的多条相对较长的电线。物理层接口35采用用于在这些连接线上保持高速的同步通信的机制,以确保能够实现高速并行接口。
请求设备10、15、20可以通过多种方式与存储器控制器30耦合,但是在图1所示的布置中,假设存在中间互连结构25,请求设备通过该中间互连结构25与存储器控制器30通信。除了提供用于将各种请求设备与存储器控制器(以及实际上连接到互连25的任何其它从设备)互连的路由接口之外,互连还可以包含其他功能。例如,互连可以被布置为实现缓存一致性协议,以确保系统内各种缓存的内容保持一致。这些缓存可以包括与每个请求设备10、15、20相关联地在本地提供的缓存以及其他共享缓存,该缓存的一个示例可以是在互连25内提供的末级缓存60。
存储器装置40可以采用各种形式,但在一个实施例中是动态随机存取存储器(DRAM)设备,其可以以一系列rank、bank、行和列的标准方式组织。
尽管在一个实施例中,单个存储器控制器30可以控制整个存储器设备,但在一些实施例中,存储器设备被划分成多个部分,每个部分具有相关联的单独的存储器控制器和相关联的物理层接口。考虑DRAM的示例,存储器设备可以被划分到多个信道40、55,每个信道具有单独的存储器控制器30、45和相关联的物理层接口35、50。另一存储器控制器45和物理层接口50将以与存储器控制器30和物理层接口35相同的方式构造,稍后将参考图2讨论更多细节。
在一个实施例中,各种请求设备10、15、20,互连25和存储器控制器30、45全部可以在片上系统(SoC)内提供。在一个实施例中,物理层接口35、50也可以在片上提供,或者可以在与存储器控制器30、45的接口处在片外提供。在一个实施例中,存储器设备40、55在片外提供,并且通过连接线与物理层接口35、50相连接。
通常,存在用于在各种组件之间路由的通信的片上通信协议。在一个实施例中,片上使用的协议可能与用于与存储器设备通信(在图1中参考各种互连被示意性地示出)的协议不同。例如,片上通信协议可以具有至少一个信道,通过该信道可以从请求设备10、15、20发出请求,其中单独的写入数据信道和读取数据信道用于写入数据和读取数据的传播。实际上,请求信道可以包括一个或多个单独的信道,例如单独的写地址信道和单独的读地址信道。还可以提供用于将响应路由返回请求设备的响应信道。响应数据可以采用各种形式,并且可以包括例如用于确认写入请求已经被接受用于处理的确认信号。响应信道也可用于指示特定访问请求在何时由于某些原因失败。
在一个具体的示例实施例中,片上通信协议可以是英国剑桥的ARM公司开发的AMBA可扩展接口(AXI)协议。
在一个实施例中,存储器控制器30、45将不仅处理对未决访问请求的调度,而且还执行协议转换以从片上通信协议转换为用于与片外存储器设备40、55进行通信的通信协议。对于DRAM存储器设备,通信协议可能需要通过命令传播路径发出不同类型的一系列命令,并且在数据路径上传播写入数据和读取数据。
图2是更详细地示出根据一个实施例的在存储器控制器30和物理层接口35内提供的组件的框图。存储器控制器30包括协议转换器100,用于在互连25上使用的通信协议和被用于与存储器装置40进行通信的协议之间进行转换。随着每个请求被接收,请求被转换并且然后被置于未决访问请求缓冲器(一个或多个)110中。缓冲器中的每个未决访问请求将标识将要访问的地址以及诸如将要执行的访问的类型之类的关联信息。在写入请求的情况下,写入数据也可以被缓冲在(一个或多个)未决访问请求缓冲器中。
调度器电路120被用于对(一个或多个)未决访问请求缓冲器中的内容执行调度操作,以便确定向存储器设备发出未决访问请求的顺序。这可以考虑存储器设备的结构和组织,以便优化存储器访问的执行。例如,当在DRAM存储器中打开了特定页面时,通常继续访问该页面的内容比关闭该页面并打开另一页面更高效。因此,未决访问请求可以由调度器重新排序,目的是试图对DRAM存储器中的打开的页面执行多次访问。访问执行电路130被用于向物理层接口发出从缓冲器110选择的访问请求(按照调度器120排列的顺序),以用于通过物理连接介质向前传播至存储器设备40。
物理层接口35包括命令模块145和数据模块140,该命令模块145用于发出命令信号并且该命令信号将标识访问的类型和被访问的地址,该数据模块140用于将写入数据输出到存储器设备或用于从存储器设备接收读取数据。
同步控制部件150控制命令模块和数据模块的操作,以便通过物理层接口35和存储器设备40之间的物理连接来维持同步通信。同步控制块包括多个电路,例如锁相环电路和延迟锁定环电路,它们被配置为试图考虑物理层接口和存储设备之间的路径中的相对延迟和绝对延迟两者。在一个实施例中,与来自命令模块的命令信号相关联地发出时钟信号以提供定时参考,并且与数据信号相关联地发出选通信号,以确保数据被锁存在时钟信号的适当的时钟边沿上。
随着时间的推移,由于各种因素例如工作温度和电压的变化等的原因,在物理层接口35和存储器设备40之间的连接上传播的信号中可能发生漂移。因此,训练操作可以需要在物理层接口35上周期性地执行,以便更新同步控制块150的配置(调整相位延迟等)。物理层训练电路160可以被提供来按需要或者在需要时执行这样的训练操作,并且可以使用多种已知技术中的任意技术来应用许多处理,诸如读/写调平、数据眼训练(data eyetraining)、逐位数据偏移校正控制和PVT(进程、电压、温度)补偿。训练电路160可以被布置为例如周期性地发起训练操作(例如经过预定时间段),或者可以被布置为主动监测通过与存储器设备的连接传输的信号的质量,以便检测这种漂移问题何时到达存在错误可能即将发生的不可接受概率的点。信号中有许多属性可以被监控,例如数据采集时的信噪比。当超过阈值时,可以发起训练操作。
每当执行训练操作时,有必要停止未决访问请求的执行,因此在物理层接口35正在进行训练操作的时间段期间,将不会从访问执行电路130发出未决访问请求。
用于形成(一个或多个)未决访问请求缓冲器110的存储结构可以采用各种形式。然而,在一个实施例中,至少用于存储写入数据(以及在经由访问执行电路返回到协议转换器以向前传播到互连时被临时缓冲的任何读取数据)的存储元件包括SRAM单元。在一些实施例中,访问请求信息的其余部分(例如,地址和访问类型信息)可以被存储在不同存储结构(例如,触发器)中,或者这样的信息也可以在需要的时候被存储在SRAM单元中。
在一个实施例中,内置自检(BIST)控制器170被提供来对SRAM单元执行周期性的检查,以便确定任何硬错误的存在,其中硬错误指示各个SRAM单元的操作中的故障。通常情况下,这样的BIST测试程序在制造时执行(可选地,在启动时执行),但是之前不认为在存储器控制器的“有效”操作期间执行这种检测是必要的。然而,某些新兴的应用对错误变得非常敏感,并且在这样的应用中,在使用存储器控制器的同时能够周期性地执行这样的BIST测试是有利的,使得可以绕过任何故障单元并且不再使用故障单元(通常可以提供一定数量的可以被切换至的冗余单元来代替任何这种被绕过的单元进行切换)。
然而,BIST测试过程可能相对漫长,可能会影响存储器访问处理的整体性能。例如,典型的BIST测试操作可以将当前数据内容从一系列存储器单元临时存储到缓冲器中,然后执行一个或多个写入和读取序列,其中已知样本被写入至单元中,然后从单元中读回,以便检测任何单元呈现硬错误的情况。假设通过了测试过程,那么被临时缓冲的数据可以被写回到单元中,并且BIST控制器170可以更新其记录以标识这一系列单元已经通过了测试。如果任何单元测试失败,那么该失败条件可以被标记给合适的代理(如固件代理),然后可以运行一个进程来使受影响的一个或多个SRAM单元无效,并且在理想情况下利用冗余单元来替代。应当理解,由于需要多个写入和读取序列,这在进行处理未决访问请求所需的正常的读取/写入活动时,带来了访问SRAM单元的重要争用来源,因此可能潜在地显著不利地影响存储器访问处理性能。
在一个实施例中,通过将BIST控制器170布置为在针对物理层接口35执行训练操作时执行这样的BIST测试来减轻这种潜在的影响。具体地,当使得训练电路确定在物理层接口35上发起训练操作的训练事件发生时,物理层训练电路160被布置为还向BIST控制器170发出触发信号以触发BIST维护操作的执行。这意味着BIST维护操作可以在没有有效的未决访问请求可以被处理的时间段期间被执行,因此不会出现这类争用问题。
训练电路160可以是用于通过以下操作来执行训练操作的专用硬件电路:与同步控制块150联络,以使得向存储器发出一系列测试命令,同时监测各种信号,以便确定如何最好地调整在同步控制块150内维护的各种同步控制参数。在这样的实施例中,训练电路可以被提供有专用连接,训练电路可以经由专用链接将触发信号直接发送到BIST控制器170,如图2所示。
然而,在替代实施例中,训练电路160可以由执行固件的更通用的处理器来实现,以便执行训练操作。通常,这样的处理器可以经由外围总线与存储器控制器30和物理层接口35的各种组件连接,以便不仅对物理层接口35执行训练操作,而且还在存储器控制器的控制寄存器180中设置值以控制存储器控制器的操作。在一个这样的实施例中,控制寄存器180中的一个可以被用于维护一个值,当该值被设置成预定值时,触发引起执行异常例程的中断以便由BIST控制器170发起BIST维护操作。因此,如图2中的虚线所示,不是直接向BIST控制器发出触发信号,在这样的实施例中,训练电路160可以更新相关的控制寄存器180,以便触发由BIST控制器170执行BIST维护操作。
在使用固件方法的替代实施例中,可以使用任何其他握手方法来代替控制寄存器的更新方法。
一旦BIST控制器170以这种方式被触发来执行BIST维护操作,则可以使用多种机制来确定BIST控制器应该持续执行该维护操作多长时间。如果可以保证整个SRAM单元块在物理层接口35进行训练操作的时间段内进行BIST维护,那么仅对所有的SRAM单元执行完整的BIST测试过程,然后终止。然而,如果BIST测试操作的持续时间有可能超过执行训练操作所花费的时间,则采取措施来确保BIST测试操作在多个阶段执行(每个阶段都被执行以配合训练操作)可能是合适的。
在后一种情况下,在一个实施例中,BIST控制器可以被提供有与训练操作的期望时间长度相关的信息。这可以由与触发信息相关联的训练电路160直接提供,然后BIST控制器相应地调整经受BIST测试过程的SRAM单元的数量。或者,BIST控制器可以访问一些被存储的信息190,该信息190提供关于不同类型的训练事件的预期时间的信息,并且训练电路160可以与触发或更新信号相关联地提供与将由当前训练操作执行的训练的类型相关的信息。具体地,根据使得训练被发起的训练事件的本质,所执行的训练的类型可能不同,因此持续时间可能不同。然而,通过向BIST控制器提供关于正在执行的训练的类型的信息以及通过访问存储装置190中的该信息,BIST控制器可以再次确定其可用于执行BIST测试的合适的时间长度,并且相应地选择要进行BIST测试的SRAM单元。
BIST控制器170可以保留哪些SRAM单元已经被测试的记录,以使得当每个训练操作发生时,它可以对另外的SRAM单元块执行测试,以便随着时间的推移对所有SRAM单元执行BIST测试。
作为另一替代实施例,如果没有从训练电路160提供时间信息,则BIST控制器可以被布置为仅在预定时间段内执行BIST测试。例如,该预定时间段可以被设置,以表示训练操作的预期最短时间段,从而确保在训练操作完成时任何BIST测试都完成,因此当系统在物理层接口35上的训练操作结束之后再次生效时,BIST测试不会影响处理未决访问请求的效率。
虽然在上述示例中,在进行训练操作时执行的维护操作是BIST测试操作,但维护操作可以替代地或者另外地采用其他形式。例如,调度器120可以被布置为在存储器控制器的有效操作期间执行作为后台任务的某些维护操作,以便试图提高存储器访问操作的整体性能。例如,它可以试图合并某些请求并且可以对未决访问请求缓冲器110中的内容执行某些调度/重排序操作。虽然这些操作可以在正常使用期间作为后台活动来执行,但是在维护本身开始影响访问请求的吞吐量(由于在对SRAM单元的读取和写入访问中引入了争用)之前可以被执行的这种类型的维护的数量存在限制。因此,在一个实施例中,触发信号还可以可选地被提供给调度器120(或者实际上可以被提供给调度器而不是BIST控制器170),以使得调度器能够在训练电路160对物理层接口35执行其训练操作的时间段期间更积极地执行这种维护操作。特别地,由于已知在该时间段期间将不处理未决访问请求,因此排除了争用问题,并且调度器可以增加SRAM单元进行这种维护操作的速率。如果需要,调度器120还可以访问存储器190中的训练事件类型定时,以便确定在其间积极地调度这种维护操作的合适的时间长度。
图3是示出一个实施例中的训练电路160的操作的流程图。在步骤200处,训练电路确定是否发生了物理层(“phy”)训练事件。如前所述,这样的训练事件可能由于定时器的时间推移而发生,或者由于训练电路监测到通过物理层接口35发出的、指示正在逼近错误点的各种信号,例如由于各种物理线路上的信号的漂移。
一旦检测到训练事件,则在步骤205处确定将要执行的训练的类型。然后在步骤210处,触发信号被发送(可选地具有相关联的定时信息),从而针对(一个或多个)未决访问请求缓冲器110的SRAM单元发起SRAM维护,然后在步骤215处,训练操作在物理层接口35处被执行。此后,该过程可以返回到步骤200,或者可选地,可以在训练电路通知SRAM维护电路训练操作完成的情况下实现步骤220。然后,维护电路(无论是BIST控制器170还是调度器120)可以使用该信息来终止正在进行的维护操作,因为一旦训练操作完成,存储器控制器30可以返回到有效操作,其中可以再次开始处理访问请求以发出至存储器设备40。
图4是示出根据一个实施例的可以执行的SRAM维护操作的流程图。虽然将参考BIST控制器170的操作来描述该过程,但是如果调度器120被布置为通过执行某些维护操作来响应触发信号,则调度器120可以应用相同的逻辑处理。
在步骤300处,确定是否从训练电路接收到触发信号,一旦接收到,则在步骤305处确定物理层训练操作的长度是否是可确定的。如前所述,这可能是由于训练电路直接识别其预期执行训练操作的时间长度,或者由训练电路识别执行的训练的类型,以及BIST控制器访问附加的信息来确定这种训练的预期时间长度。假设关于训练操作的预期时间长度是可确定的,则过程进行到步骤310,在步骤310处,维护电路参考其先前的维护记录,以便确定哪些SRAM单元(在图4中也称为SRAM条目)进行过SRAM维护。在一个实施例中,可以循环执行SRAM维护,使得最近测试过的单元是经受当前SRAM维护任务块的那些单元。在当前迭代期间进行SRAM维护的SRAM单元的数量然后将考虑在步骤305获得的时间信息来确定。
然后在步骤315处,对所选择的SRAM单元执行SRAM维护,此后在步骤320处更新SRAM维护记录以标识已经进行了SRAM维护的那些单元。然后,该过程返回到步骤300。
如果在步骤305处确定训练操作的预期时间长度是不可确定的,则过程进行到步骤325处,在步骤325处,参考先前的维护记录来确定要进行SRAM维护的第一个SRAM单元。此后,在步骤330处,在预定时间段内、或直到维护电路被通知训练操作已经完成为止,在一系列SRAM单元(从在步骤325中识别的第一条目开始)上执行SRAM维护。此时,该过程进行到步骤320,在步骤320处,更新SRAM维护记录,并且过程返回到步骤300。
尽管在到现在为止所描述的实施例中,假设了针对在(一个或多个)未决访问请求缓冲器110中存在的SRAM单元执行维护操作,另外地或替代地,这样的维护操作可以针对系统内的其他存储结构执行。作为一个具体示例,图1所示的末级缓存60可以与存储器控制器相对紧密地耦合,使得该缓存的至少大部分被用于将与未决访问请求相关的信息存储到存储器设备40。该缓存还可以包括期望经受某些SRAM维护操作的SRAM单元。假设该级别的缓存与存储器控制器相当紧密地耦合,则在物理层接口35正在经受训练操作的时间段期间,对该缓存的访问很可能会显著减少或者实际停止。因此,这代表了对该缓存执行一些所需的SRAM维护操作的理想时间段。因此,如果需要,由训练电路发出的触发信号可以被发出至针对这样的缓存60的维护控制电路,以便在针对物理层接口35执行训练操作的时段期间发起针对缓存的维护任务。
图5是示出一个实施例中的调度器120的操作(特别是调度器关于维护操作的操作)的流程图,在调度器将某些维护操作作为后台任务来执行的实施例中,其可以被配置为响应于来自训练电路的触发信号而加速执行那些维护操作。在步骤350处,确定是否已经从训练电路160接收到触发信号。如果没有,则如步骤355所示,调度器在存储器控制器有效处理访问请求的同时,继续执行后台维护任务。这些后台维护任务可以包括某些调度/排序任务和/或请求合并任务,如前所述。同时,调度器通常将在缓冲器中的未决访问请求之间执行仲裁,以便确定访问执行电路130经由物理层接口35向存储器设备40发出哪些访问请求。该过程继续,直到在步骤350处检测到触发信号的接收。
一旦接收到触发信号,则过程替代为进行到图5所示的流程的左手侧的分支。在步骤360处,停止仲裁过程,因为在物理层训练操作正在进行时将不会发出未决访问请求。然后在步骤365处,调度器采用积极的维护,其中由于常规读/写活动不存在对SRAM带宽的争用,因此作为后台维护任务执行的维护任务通常以加速的速率执行。具体地,常规读/写活动当前没有发生,因为在当前时间存储器控制器没有对存储器访问进行处理。仲裁过程的停止以及积极维护的执行继续,直到在步骤370确定针对物理层接口35的训练操作已经结束为止,此时该过程返回到步骤350。此时,不会接收到触发信号,并且该过程然后将进行到步骤355,在步骤355处,恢复调度器的正常操作。
当(一个或多个)缓冲器110的尺寸增大时,以图5中示意性示出的方式来操作调度器可能是特别有益的。例如,在通知调度器关于如何重新排序未决访问请求的信息被存储在SRAM存储器中的情况下,该排序功能可能需要较长的时间,或者可以通过花费更长的时间来通读其他SRAM条目而变得更好,并且通过在物理层接口经受训练操作的时段中集中执行这些任务,可以提供这种额外的时间,而不影响存储器访问请求的整体处理性能。
从上述实施例可以看出,这样的实施例通过将这些维护操作集中到系统事务已经需要被停止(由于需要对物理层接口进行训练操作)的时间段内来执行,提供了用于处理关于与存储器控制器相关联的存储元件的维护操作的改进的机制。具体地,通过实施物理层接口训练而引入的停工期也被用于在这段时间内对存储元件执行某些维护操作,阻止执行这些维护操作对系统的存储器访问性能具有不利影响。在所需维护任务的运行时间与执行训练操作所需的时间不匹配的情况下,可以将维护电路配置为执行部分维护,以便在每个物理层训练过程期间仅测试SRAM存储器阵列的某些部分,因此通过多次迭代的训练操作,可以测试整个SRAM阵列。
在本申请中,词语“配置为...”被用于表示装置的元件具有能够执行定义的操作的配置。在这种上下文中,“配置”表示硬件或软件的互连的布置或方式。例如,装置可以具有提供定义的操作的专用硬件,或者处理器或其他处理设备可以被编程以执行功能。“配置为”并不意味着装置元件需要以任何方式进行更改,以便提供定义的操作。
尽管在此参照附图详细描述了说明性实施例,但是应当理解,权利要求书不限于这些精确的实施例,并且本领域技术人员可以对其进行各种改变、添加和修改而不脱离所附权利要求的范围和精神。例如,可以将独立权利要求的特征与从属权利要求的特征进行各种组合。

Claims (15)

1.一种用于控制对存储器设备的访问的装置,包括:
存储设备,用于存储将要向所述存储器设备发出的访问请求;
维护电路,用于在所述存储设备内提供的存储元件上执行维护操作;
存储器访问执行电路,用于向物理层接口发出从所述存储设备中选择的访问请求,以用于从所述物理层接口到所述存储器设备的向前传播;以及
控制电路,用于响应于训练事件而发起对所述物理层接口的训练操作;
所述控制电路还响应于所述训练事件而在所述训练操作正在被执行时触发由所述维护电路执行所述维护操作。
2.根据权利要求1所述的装置,其中,所述控制电路被布置为向所述维护电路发出控制信号以触发所述维护操作的执行。
3.根据权利要求1所述的装置,其中,所述控制电路响应于所述训练事件而将控制寄存器更新为触发所述维护电路执行所述维护操作的值。
4.根据权利要求1所述的装置,其中,所述控制电路被布置为发出对所述训练操作的预期持续时间的指示,并且所述维护电路被布置为在确定将要经受所述维护操作的存储元件时参考所述指示。
5.根据权利要求4所述的装置,其中,对所述训练操作的预期持续时间的所述指示指示将由所述训练操作执行的训练的类型,并且所述维护电路可以访问存储的时间信息,其中所述时间信息标识针对多种不同类型的训练中的每种类型的训练的所述训练操作的预期持续时间。
6.根据权利要求1所述的装置,其中,所述控制电路被布置为通知所述维护电路所述训练操作的完成。
7.根据权利要求1所述的装置,其中,当所述维护操作由所述控制电路触发时,所述维护电路被布置为在默认时间段执行所述维护操作。
8.根据权利要求1所述的装置,其中,所述控制电路是以下各项中的一项:被配置为执行所述训练操作的硬件电路;以及被布置为执行固件以实施所述训练操作的处理电路。
9.根据权利要求1所述的装置,其中,所述存储设备包括未决访问请求缓冲器,并且至少所述访问请求的数据部分被存储在经受所述维护操作的存储元件中。
10.根据权利要求1所述的装置,其中,所述存储设备包括缓存结构,并且所述缓存结构的至少一部分由经受所述维护操作的存储元件形成。
11.根据权利要求1所述的装置,其中,所述维护电路包括内置自检控制器,其被布置为执行所述维护操作,以便提供错误鲁棒性维护。
12.根据权利要求1所述的装置,其中,所述维护电路包括调度电路,其被布置为执行所述维护操作,以便改善由所述访问请求标识的存储器访问的执行。
13.如权利要求12所述的装置,其中:
在所述训练操作不被执行时,所述调度电路执行后台维护操作,同时还执行对所述访问请求的仲裁以确定由所述存储器访问执行电路发出哪些访问请求;以及
在所述训练操作正在被执行时,所述调度电路停止执行仲裁,并且执行所述后台维护操作的加速版本作为所述维护操作,以便在所述训练操作正在被执行的时间段期间提高维护存储元件的速率。
14.根据权利要求1所述的装置,其中,所述训练操作调整所述物理层接口的操作以补偿在所述物理层接口和所述存储器设备之间的连接上传播的信号中的延迟。
15.一种在控制对存储器设备的访问的装置内执行维护操作的方法,包括:
在存储设备中存储将要向所述存储器设备发出的访问请求;
采用维护电路来在所述存储设备内提供的存储单元上执行维护操作;
向物理层接口发出从所述存储设备中选择的访问请求,以用于从所述物理层接口到所述存储器设备的向前传播;
响应于训练事件,采用控制电路来发起对所述物理层接口的训练操作;以及
使得所述控制电路在所述训练操作正在被执行时触发由所述维护电路执行所述维护操作。
CN201710475609.8A 2016-06-28 2017-06-21 用于控制对存储器设备的访问的装置以及相关方法 Active CN107544923B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16176680.3A EP3264276A1 (en) 2016-06-28 2016-06-28 An apparatus for controlling access to a memory device, and a method of performing a maintenance operation within such an apparatus
EP16176680.3 2016-06-28

Publications (2)

Publication Number Publication Date
CN107544923A true CN107544923A (zh) 2018-01-05
CN107544923B CN107544923B (zh) 2023-09-01

Family

ID=56296561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710475609.8A Active CN107544923B (zh) 2016-06-28 2017-06-21 用于控制对存储器设备的访问的装置以及相关方法

Country Status (4)

Country Link
US (1) US10540248B2 (zh)
EP (1) EP3264276A1 (zh)
JP (1) JP2018005902A (zh)
CN (1) CN107544923B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110476153A (zh) * 2018-03-09 2019-11-19 深圳市汇顶科技股份有限公司 访问指令sram的方法和电子设备
CN110618903A (zh) * 2018-06-19 2019-12-27 北京忆恒创源科技有限公司 电子设备测试方法与装置
CN115344215A (zh) * 2022-08-29 2022-11-15 深圳市紫光同创电子有限公司 存储器训练方法及系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339050B2 (en) * 2016-09-23 2019-07-02 Arm Limited Apparatus including a memory controller for controlling direct data transfer between first and second memory modules using direct transfer commands
US10347357B2 (en) * 2017-04-24 2019-07-09 Intel Corporation Post-packaging environment recovery of graphics on-die memory
JP2020047340A (ja) 2018-09-19 2020-03-26 キオクシア株式会社 不揮発性メモリ及びメモリシステム
KR20210069514A (ko) 2019-12-03 2021-06-11 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 트레이닝 방법
US20220147267A1 (en) * 2020-11-10 2022-05-12 Micron Technology, Inc. ERROR INJECTION METHODS USING SOFT POST-PACKAGE REPAIR (sPPR) TECHNIQUES AND MEMORY DEVICES AND MEMORY SYSTEMS EMPLOYING THE SAME
TWI811606B (zh) * 2020-12-31 2023-08-11 新唐科技股份有限公司 事件觸發主控端、控制晶片及控制方法
WO2023177582A1 (en) * 2022-03-14 2023-09-21 Micron Technology, Inc. Host controlled media testing of memory

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101063949A (zh) * 2006-04-25 2007-10-31 国际商业机器公司 执行存储器维护操作的方法和装置
CN101290805A (zh) * 2007-04-17 2008-10-22 株式会社瑞萨科技 半导体器件和数据处理系统
US20130117513A1 (en) * 2011-11-07 2013-05-09 International Business Machines Corporation Memory queue handling techniques for reducing impact of high latency memory operations
US20130227183A1 (en) * 2010-11-09 2013-08-29 Rambus Inc. Memory access during memory calibration
US20140281161A1 (en) * 2013-03-14 2014-09-18 Micron Technology, Inc. Memory systems and methods including training, data organizing, and/or shadowing
US20150378603A1 (en) * 2014-06-27 2015-12-31 Advanced Micro Devices, Inc. Integrated controller for training memory physical layer interface
US20160064066A1 (en) * 2009-01-22 2016-03-03 Rambus Inc. Maintenance operations in a dram

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999046775A2 (en) * 1998-03-10 1999-09-16 Rambus, Inc. Performing concurrent refresh and current control operations in a memory subsystem
US6631440B2 (en) * 2000-11-30 2003-10-07 Hewlett-Packard Development Company Method and apparatus for scheduling memory calibrations based on transactions
GB2451668A (en) * 2007-08-08 2009-02-11 Advanced Risc Mach Ltd Error correction in a set associative cache
US9176859B2 (en) * 2009-01-07 2015-11-03 Siliconsystems, Inc. Systems and methods for improving the performance of non-volatile memory operations
US8127087B2 (en) * 2009-02-12 2012-02-28 International Business Machines Corporation Memory controller for improved read port selection in a memory mirrored system
US8230260B2 (en) * 2010-05-11 2012-07-24 Hewlett-Packard Development Company, L.P. Method and system for performing parallel computer tasks
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US20160239442A1 (en) * 2015-02-13 2016-08-18 Qualcomm Incorporated Scheduling volatile memory maintenance events in a multi-processor system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101063949A (zh) * 2006-04-25 2007-10-31 国际商业机器公司 执行存储器维护操作的方法和装置
CN101290805A (zh) * 2007-04-17 2008-10-22 株式会社瑞萨科技 半导体器件和数据处理系统
US20160064066A1 (en) * 2009-01-22 2016-03-03 Rambus Inc. Maintenance operations in a dram
US20130227183A1 (en) * 2010-11-09 2013-08-29 Rambus Inc. Memory access during memory calibration
US20130117513A1 (en) * 2011-11-07 2013-05-09 International Business Machines Corporation Memory queue handling techniques for reducing impact of high latency memory operations
US20140281161A1 (en) * 2013-03-14 2014-09-18 Micron Technology, Inc. Memory systems and methods including training, data organizing, and/or shadowing
US20150378603A1 (en) * 2014-06-27 2015-12-31 Advanced Micro Devices, Inc. Integrated controller for training memory physical layer interface

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110476153A (zh) * 2018-03-09 2019-11-19 深圳市汇顶科技股份有限公司 访问指令sram的方法和电子设备
CN110618903A (zh) * 2018-06-19 2019-12-27 北京忆恒创源科技有限公司 电子设备测试方法与装置
CN115344215A (zh) * 2022-08-29 2022-11-15 深圳市紫光同创电子有限公司 存储器训练方法及系统

Also Published As

Publication number Publication date
JP2018005902A (ja) 2018-01-11
CN107544923B (zh) 2023-09-01
EP3264276A1 (en) 2018-01-03
US20170371560A1 (en) 2017-12-28
US10540248B2 (en) 2020-01-21

Similar Documents

Publication Publication Date Title
CN107544923A (zh) 用于控制对存储器设备的访问的装置以及相关方法
JP6535517B2 (ja) データ処理装置用のメモリ・ビルトイン・セルフテスト
EP3270290B1 (en) Ddr memory error recovery
US7310752B2 (en) System and method for on-board timing margin testing of memory modules
CN104412327B (zh) 内建自测试以及修复装置及方法
CN106201793A (zh) 半导体装置和诊断测试方法
EP1703398B1 (en) Techniques for soft error correction
US7519886B2 (en) Apparatus and method for integrated functional built-in self test for an ASIC
JPH02280236A (ja) チャネルエラーインジェクション装置
CN110580235B (zh) 一种sas扩展器通信方法及装置
US9519442B2 (en) Method for concurrent system management and error detection and correction requests in integrated circuits through location aware avoidance logic
JP2015154417A (ja) プログラマブル回路装置、コンフィギュレーション情報修復方法
Shibin et al. Asynchronous fault detection in IEEE P1687 instrument network
KR102584651B1 (ko) 데이터 처리
JP2001167005A (ja) メモリ診断方法とメモリ診断回路および半導体記憶装置
US20070055480A1 (en) System and method for self-diagnosis in a controller
KR940002904B1 (ko) 데이타 처리 시스템 및 이 시스템에 있어서의 다수 메모리 어레이 테스팅 방법
US10248479B2 (en) Arithmetic processing device storing diagnostic results in parallel with diagnosing, information processing apparatus and control method of arithmetic processing device
US11187748B2 (en) Procedure for reviewing an FPGA-program
EP3553662A1 (en) Intergral post package repair
JP2017532671A (ja) マルチプロセッサシステムにおけるメモリの管理
US20110271061A1 (en) Storage controller and storage subsystem
JP6042046B1 (ja) メモリ診断装置及びメモリ診断プログラム
JP2020003923A (ja) マルチコア通信システム
JP2004164666A (ja) 記憶制御装置

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