CN105612493A - 编程存储器控制器以允许执行主动式存储器操作 - Google Patents

编程存储器控制器以允许执行主动式存储器操作 Download PDF

Info

Publication number
CN105612493A
CN105612493A CN201380079948.4A CN201380079948A CN105612493A CN 105612493 A CN105612493 A CN 105612493A CN 201380079948 A CN201380079948 A CN 201380079948A CN 105612493 A CN105612493 A CN 105612493A
Authority
CN
China
Prior art keywords
memory
active
volatile
time
controller
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
CN201380079948.4A
Other languages
English (en)
Inventor
K.T.林
N.穆拉利马诺哈
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.)
Hewlett Packard Development Co LP
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN105612493A publication Critical patent/CN105612493A/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/1689Synchronisation and timing concerns
    • 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
    • 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/0613Improving I/O performance in relation to throughput
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

示例实施方式涉及执行主动式存储器操作。在示例实施方式中,存储器控制器可以被编程为使得存储器控制器分配比以通信方式耦合到存储器控制器的存储器的定时规范所要求的更多的时间用于标准存储器操作。可以标识分配用于标准存储器操作的额外时间。在额外时间期间可以执行主动式存储器操作。

Description

编程存储器控制器以允许执行主动式存储器操作
背景技术
存储器控制器可以用于控制对存储器的访问,并且对于易失性存储器可以控制何时刷新存储器中的数据位。当系统中的易失性存储器中的数据被刷新时,存储器可以暂时不可用于系统的其他组件。存储器的定时规范可以定义用于确定刷新周期花费多长时间和刷新周期应该多久一次发生,以及对存储器执行读取和写入操作要求多少时间的各种定时参数。
附图说明
下面的详细描述参考附图,其中:
图1是与示例存储器控制器进行通信以启用执行主动式存储器操作的示例存储器模块的框图;
图2是与示例存储器控制器进行通信以启用选择主动式存储器操作的示例存储器模块的框图;
图3是与示例存储器控制器进行通信以启用寄存器编程从而允许执行主动式存储器操作的示例存储器模块的框图;
图4是与示例存储器控制器进行通信以启用选择主动式存储器操作和控制对易失性存储器中的数据的访问的示例存储器模块的框图;
图5是用于执行主动式存储器操作的示例方法的流程图;
图6是用于编程寄存器以允许执行主动式存储器操作和选择主动式存储器操作的示例方法的流程图;
图7是用于确定何时应该执行主动式存储器操作的示例方法的流程图;
图8是用于允许执行选择的主动式存储器操作的示例方法的流程图;以及
图9是用于分配时间来执行主动式存储器操作的示例方法的流程图。
具体实施方式
系统中的主存储器控制器可以将请求发送到易失性存储器来执行各种操作,诸如读取、写入或刷新数据。可以用定时约束来编程主存储器控制器,根据该定时约束,存储器控制器可以等待一定时间量以用于易失性存储器对相应类型的请求进行响应。如果易失性存储器违反定时约束(例如,在分配时间段内未响应于特定请求),则系统崩溃可能发生和/或主存储器控制器可以认为易失性存储器是损坏或失效的。
主动式存储器可以紧密地耦合到易失性存储器,以允许某些操作(诸如过滤)在非常物理接近易失性存储器处发生。因为其接近易失性存储器,所以主动式存储器可以以比外部处理器更高的带宽和更低的延迟进行操作,并且可以访问外部处理器不能访问的地方。主动式存储器可以暂时利用易失性存储器来执行某些操作,在某些操作期间易失性存储器可能不可用于响应于来自外部主存储器控制器的请求。因为主存储器控制器的定时约束倾向于严格,所以主动式存储器可能无法在不违反外部主存储器控制器的定时约束的情况下利用易失性存储器并且执行例如过滤操作。
根据上文,本公开提供用于编程主存储器控制器以留出时间用于主动式存储器执行例如过滤操作而不违反主存储器控制器的定时约束。存储器控制器可以被编程为使得在存储器控制器将读取/写入/刷新请求发送到易失性存储器之后,存储器控制器等待响应的时间长度对要执行的读取/写入/刷新操作以及主动式存储器执行附加操作足够长。主动式存储器可以基于在完成读取/写入/刷新操作后余下多少额外时间来选择要执行的附加操作。
现在参考附图,图1是与示例存储器控制器120进行通信以启用执行主动式存储器操作的示例存储器模块100的框图。存储器模块100可以是直插式存储器模块,诸如单列直插式存储器模块(SIMM)或双列直插式存储器模块(DIMM),或适合于安装易失性存储器集成电路(IC)的任何存储器模块。在图1中,存储器模块100包括易失性存储器102和主动式存储器104。
易失性存储器102可以包括形式为IC的随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)。易失性存储器102可以包含或存储用于由处理器分析的可执行指令和/或数据。数据可以被写入到易失性存储器102和从易失性存储器102读取,并且存储在易失性存储器102中的数据位可以被定期刷新,以避免数据丢失。如本文中使用的术语“刷新”指代维护操作,在该维护操作期间在易失性存储器的存储器单元中的数据被读取和重写到相应的存储器单元。在其期间执行刷新操作的时间长度可以在本文中被称为刷新周期。关于存储器执行的读取、写入和刷新操作可以在本文中被统称为标准存储器操作。如本文中使用的术语“标准存储器操作”可以指代读取、写入和刷新操作的任何一个。易失性存储器102的定时规范可以指定执行对易失性存储器102的标准存储器操作要求多少时间(例如,在易失性存储器102接收读取命令与输出数据之间时钟周期的数目)。
执行标准存储器操作的命令可以从存储器控制器120被传输到存储器模块100。存储器控制器120可以通过主动式存储器104以通信方式耦合到易失性存储器102。存储器控制器120可以经由数据总线(诸如双倍数据速率类型三(DDR3)总线)以通信方式耦合到存储器模块100。数据总线类型和/或速度可以对应于易失性存储器102的存储器类型/操作速度。存储器控制器120可以是集成到存储器模块100外部的处理器中或在单独IC上的数字电路。存储器控制器120可以控制何时存储器模块100外部的组件能够访问易失性存储器102,并且可以管理来自易失性存储器102和去到易失性存储器102的数据流。例如,当正在刷新易失性存储器102中的数据位时,存储器控制器120可以暂停来自外部组件的访问易失性存储器102的请求。
存储器控制器120可以包括寄存器122,寄存器122可以与分配用于标准存储器操作的时间相关联。可以用用于确定多少时间被分配用于标准存储器操作的值来编程寄存器122。例如,可以用用于确定多少时间被分配用于发生在非易失性存储器102中的刷新周期的值来编程寄存器122。应该理解的是,除了寄存器122以外,存储器控制器120可以具有更多的寄存器,并且附加寄存器可以与相同标准存储器操作或不同标准存储器操作相关联。在一些实施方式中,易失性存储器102可以包括多种存储器类型;附加寄存器可以用于确定分配用于针对与寄存器122中的值被用于的存储器类型相同的存储器类型或不同的存储器类型的标准存储器操作的时间。
分配用于标准存储器操作的时间量可以大于易失性存储器102的定时规范针对标准存储器操作要求的时间量。分配用于标准存储器操作的时间量和定时规范针对标准存储器操作要求的时间量之间的差在本文中可以被称为“额外时间”。在额外时间期间,主动式存储器104可以使用来自易失性存储器102的数据执行除了标准存储器操作以外的操作。非标准存储器操作可以包括过滤、搜索、压缩、和/或传递数据,并且可以在本文中被统称为主动式存储器操作。如本文中使用的术语“主动式存储器操作”可以指代由存储器模块上的主动式存储器执行的除了读取、写入或刷新操作以外的任何操作。
主动式存储器104可以以通信方式耦合到存储器模块100上的易失性存储器102和存储器控制器120。主动式存储器104可以包括存储器中处理器、现场可编程门阵列(FPGA)和/或逻辑核,并且可以紧密地耦合到易失性存储器102。主动式存储器104可以包括用于存储从易失性存储器102读取的数据的缓冲器,并且在对易失性存储器102执行标准存储器操作时可以处理缓冲器中的数据。主动式存储器104可以把数据从易失性存储器102读取到缓冲器中,并且使用数据执行主动式存储器操作。主动式存储器也可以在本文中被称为增强的缓冲器。主动式存储器104可以把从易失性存储器102读取的数据传输到存储器控制器120或存储器模块100外部的另一组件。
如图1中图示并在下面详细描述的,主动式存储器104可以包括模块106、108和110。模块可以包括编码在机器可读存储介质上和可由主动式存储器104的处理器执行的一组指令。附加地或作为替代方案,模块可以包括硬件设备,硬件设备包括用于实施以下描述的功能的电子电路。
寄存器编程模块106可以使存储器控制器120被编程为使得存储器控制器120分配比易失性存储器102的定时规范所要求的更多的时间用于标准存储器操作。例如,易失性存储器102的定时规范可能要求第一时间长度用于要在易失性存储器102中完成的刷新周期,并且寄存器编程模块106可以使存储器控制器120被编程为使得存储器控制器120分配比第一时间长度更长的第二时间长度用于刷新周期。作为另一示例,易失性存储器102的定时规范可能要求刷新操作之间的第一时间长度(例如,定时规范可能要求刷新周期每7.5微秒发生一次),并且寄存器编程模块106可以使存储器控制器120被编程为使得在每个刷新周期完成之后,存储器控制器120在短于第一时间长度的第二时间长度(例如,5微秒)之后传输另一刷新命令到易失性存储器102。即,存储器控制器120可以被编程为使得刷新命令被传输得比易失性存储器102的定时规范所要求的更频繁。应该理解的是,寄存器编程模块106可以使存储器控制器120被编程为分配比刷新操作更多的时间用于其他类型的标准存储器操作。例如,存储器控制器120可以被编程为允许比易失性存储器102的定时规范所要求的更长的读取/写入延迟时间。
在一些实施方式中,寄存器编程模块106可以确定要编程到存储器控制器120的可编程寄存器(诸如寄存器122)中的值。例如,如果可编程寄存器中的值对应于多少个时钟周期被分配用于刷新周期,并且易失性存储器102的定时规范指定完成刷新周期所要求的时间长度,则寄存器编程模块106可以基于存储器控制器120的操作频率计算多少个时钟周期发生在指定的时间长度期间。寄存器编程模块106然后可以选择大于计算的时钟周期数目的值被编程到可编程寄存器中。在一些实施方式中,寄存器编程模块106可以读取存储在存储器模块100上的非易失性存储器(例如,串行存在检测ROM或电可擦除可编程只读存储器)中的定时规范的延迟时间,并且可以使用延迟时间来计算要编程到可编程寄存器中的值,以使得更多时间被分配用于标准存储器操作。
寄存器编程模块106可以使存储器控制器120在存储器控制器120的启动时间期间或者在存储器控制器120的运行时间期间被编程。在一些实施方式中,寄存器编程模块106可以与基本输入/输出系统(BIOS)进行通信,以使存储器控制器120被编程。BIOS可以包括存储在服务器硬件内的机器可读指令(例如,低级软件)。BIOS可以控制初始化和编程硬件组件的配置,以使它们能够一起操作。BIOS可以具有关于存储器模块100、易失性存储器102和存储器模块100上的任何其他易失性存储器的延迟值的信息。在存储器控制器120的启动期间,BIOS可以通过软件应用编程接口(API)馈送延迟值到存储器控制器120中的寄存器。在一些实施方式中,寄存器编程模块106可以修改BIOS中的延迟值(例如,通过闪烁(flashing)BIOS)或将不同延迟值发送到BIOS,并且BIOS可以以修改/不同的延迟值更新存储器控制器120中的寄存器,该修改/不同的延迟值可以增加分配用于标准操作的时间量。BIOS可以在存储器控制器120的运行时间期间或在存储器控制器120的下次启动时间期间更新寄存器。
额外时间模块108可以标识分配用于标准存储器操作的额外时间。在一些实施方式中,额外时间模块108可以标识要对易失性存储器102执行的标准存储器操作,并确定易失性存储器102的定时规范要求多长时间用于标识的标准存储器操作。额外时间模块108可以确定存储器控制器120已分配多少时间用于标准存储器操作(例如,通过读取存储在寄存器122中的值),并且可以从分配时间减去所要求的时间来确定多少额外时间被分配用于标准存储器操作。在一些实施方式中,额外时间模块108可以检测由存储器控制器120传输的命令以对易失性存储器102执行标准存储器操作,确定存储器控制器120已分配多少时间用于标准存储器操作以及在执行标准存储器操作中监控进展。如果在分配时间已完全过去之前完成标准存储器操作,则额外时间模块108可以指示额外时间已被分配用于标准存储器操作。
执行主动式存储器操作模块110可以在分配用于标准存储器操作的额外时间期间执行主动式存储器操作。例如,执行主动式存储器操作模块110可以过滤主动式存储器104缓冲器中的数据(例如,对缓冲器中的数据执行文本搜索以标识与指定准则有关的数据),压缩缓冲器中的数据,从主动式存储器104内移动数据到缓冲器,和/或访问存储在存储器模块100内的数据结构(例如,红黑树)内的节点。在一些实施方式中,执行主动式存储器操作模块110可以在检测到来自额外时间模块108的额外时间已被分配用于标准存储器操作的指示之后执行主动式存储器操作。
图2是与示例存储器控制器220进行通信以启用选择主动式存储器操作的示例存储器模块200的框图。存储器模块200可以是直插式存储器模块,诸如SIMM或DIMM,或适合于安装易失性存储器IC的任何存储器模块。在图2中,存储器模块200包括易失性存储器202、主动式存储器204、存储器控制器230和非易失性存储器232。
易失性存储器202可以类似于易失性存储器102(例如,具有类似于易失性存储器102的功能和/或组件)。易失性存储器202的定时规范可以指定要求多少时间对易失性存储器202执行标准存储器操作。执行标准存储器操作的命令可以从可能包括寄存器222的存储器控制器220被传输到存储器模块200。存储器控制器220和寄存器222可能分别类似于存储器控制器120和寄存器122。存储器控制器220可以经由数据总线(诸如DDR3总线)以通信方式耦合到存储器模块200。数据总线类型和/或速度可以对应于易失性存储器202的存储器类型/操作速度。
应该理解的是,除了寄存器222以外,存储器控制器220可以具有更多的寄存器,并且附加寄存器可以与相比于与寄存器222相关联的标准存储器操作相同的标准存储器操作或不同的标准存储器操作相关联。在一些实施方式中,易失性存储器202可以包括多种存储器类型;附加寄存器可以用于确定分配用于针对与寄存器222中的值所用于的存储器类型相同的存储器类型或不同的存储器类型的标准存储器操作的时间。分配用于标准存储器操作的时间量可以大于易失性存储器202的定时规范要求的用于标准存储器操作的时间量。在额外时间期间,主动式存储器204可以执行主动式存储器操作。
主动式存储器204可以以通信方式耦合到存储器模块200上的易失性存储器202、非易失性存储器232和存储器控制器230,以及耦合到存储器控制器220。非易失性存储器232可以包括电可擦除可编程只读存储器(EEPROM)、闪速存储器和/或甚至未通电时也保留存储的数据的其他存储器。存储器控制器230可以是存储器模块200上的内部存储器控制器,并且可以是控制主动式存储器204和存储器模块200内的其他组件访问易失性存储器202和非易失性存储器232的数字电路。存储器控制器230可以管理易失性存储器202、非易失性存储器232和存储器模块200内的其他组件之间的数据流。虽然在图2中将存储器控制器230与主动式存储器204分离地示出,但是应该理解的是,在一些实施方式中,存储器控制器230可以集成到主动式存储器204中。
主动式存储器204可以包括存储器中处理器、FPGA和/或逻辑核,并且可以紧密地耦合到易失性存储器202。主动式存储器204可以包括用于存储从易失性存储器202和/或非易失性存储器232读取的数据的缓冲器,并且在对易失性存储器202执行标准存储器操作时可以处理缓冲器中的数据。如图2中图示并在下面详细描述的,主动式存储器204可以包括模块206、208、210、212、214和216。模块可以包括编码在机器可读存储介质上和可由主动式存储器204的处理器执行的一组指令。附加地或作为替代,模块可以包括硬件设备,硬件设备包括用于实施以下描述的功能的电子电路。
主动式存储器204的模块206、208和210可以类似于主动式存储器104的模块106、108和110。数据模块212可以从易失性存储器202和/或非易失性存储器232读取数据和写入数据到易失性存储器202和/或非易失性存储器232,并且可以在易失性存储器202和非易失性存储器232之间传递数据。例如,数据模块212可以把数据从非易失性存储器232读取到主动式存储器204上的缓冲器中,并且可以将缓冲器中的数据写入到易失性存储器202。在一些实施方式中,数据模块212可以把从易失性存储器202和/或非易失性存储器232读取的数据传输到存储器控制器220或存储器模块200外部的另一组件。
刷新命令模块214可以检测由存储器控制器220发出的刷新命令,并且确定是否执行检测到的刷新命令。存储器控制器220可以被编程为比易失性存储器202的定时规范所要求的更加频繁地传输刷新命令,并且因此易失性存储器202中的数据可以被保留,即使每次存储器控制器220发出刷新命令时不执行刷新周期。当刷新命令模块214检测到由存储器控制器220发出的刷新命令来刷新易失性存储器202的一组数据位时,刷新命令模块214可以确定多久之前对于该组数据位完成上次刷新周期。如果确定的时间小于易失性存储器202的定时规范所要求的刷新周期之间的最大时间,则刷新命令模块214可以确定检测到的刷新命令不应该被执行。如果检测到的刷新命令不被执行,则执行主动式存储器操作模块210可以使用存储器控制器220已分配用于刷新周期的时间来执行主动式存储器操作。
在一些实施方式中,存储器控制器220发出刷新命令的频率可以是由易失性存储器202的定时规范所要求的刷新频率的倍数。刷新命令模块214可以使用计数器来确定何时应该执行检测到的刷新命令。例如,存储器控制器220可以被编程为以易失性存储器202的定时规范所要求的频率的四倍发出刷新命令。刷新命令模块214可以在每次检测到刷新命令时使计数器递增,并且当计数器值是四的倍数时可以确定检测到的刷新命令要被执行。当计数器值不是四的倍数时,刷新命令模块214可以确定检测到的刷新命令不要被执行。
在一些实施方式中,额外时间模块208可以确定多少额外时间被分配用于标准存储器操作,如上文关于图1讨论的那样。选择主动式存储器操作模块216可以基于分配多少额外时间来选择主动式存储器操作。选择主动式存储器操作模块216可以确定完成多个主动式存储器操作的每一个花费多长时间,并且可以选择多个主动式存储器操作中的花费比分配的额外时间量更少时间的一个主动式存储器操作。
在一些实施方式中,选择主动式存储器操作模块216可以选择要执行的主动式存储器操作,并且确定要求多少时间执行选择的主动式存储器操作。寄存器编程模块206可以使存储器控制器220被重新编程为使得由存储器控制器220分配用于标准存储器操作的时间足以执行标准存储器操作和选择的主动式存储器操作。寄存器编程模块206可以计算标准存储器操作花费多少时间,然后将标准存储器操作时间添加到选择的主动式存储器操作时间以确定编程到存储器控制器220的寄存器中的值。
图3是与示例存储器控制器320进行通信以启用寄存器编程从而允许执行主动式存储器操作的示例存储器模块300的框图。存储器模块300可以是直插式存储器模块,诸如SIMM或DIMM,或适合于安装易失性存储器IC的任何存储器模块。在图3中,存储器模块300包括易失性存储器302和主动式存储器304。
易失性存储器302可以类似于易失性存储器102。易失性存储器302的定时规范可以指定要求多少时间对易失性存储器302执行标准存储器操作。执行标准存储器操作的命令可以从可能包括寄存器322的存储器控制器320被传输到存储器模块300。存储器控制器320和寄存器322可以分别类似于存储器控制器120和寄存器122。存储器控制器320可以经由数据总线以通信方式耦合到存储器模块300。数据总线类型和/或速度可以对应于易失性存储器302的存储器类型/操作速度。
应该理解的是,除了寄存器322以外,存储器控制器320可以具有更多的寄存器,并且附加寄存器可以与相比于与寄存器322相关联的标准存储器操作相同的标准存储器操作或不同的标准存储器操作相关联。在一些实施方式中,易失性存储器302可以包括多种存储器类型;附加寄存器可以用于确定分配用于针对与寄存器322中的值所用于的存储器类型相同的存储器类型或不同的存储器类型的标准存储器操作的时间。分配用于标准存储器操作的时间量可以大于易失性存储器302的定时规范要求的用于标准存储器操作的时间量。在额外时间期间,主动式存储器304可以执行主动式存储器操作。
主动式存储器304可以以通信方式耦合到存储器模块300上的易失性存储器302和存储器控制器320。主动式存储器304可以包括存储中处理器、FPGA和/或逻辑核,并且可以紧密地耦合到易失性存储器302。主动式存储器304可以包括用于存储从易失性存储器302读取的数据的缓冲器,并且在对易失性存储器302执行标准存储器操作时可以处理缓冲器中的数据。主动式存储器304可以把从易失性存储器302读取的数据传输到存储器控制器320或存储器模块300外部的另一组件。
如图3中图示并在下面详细描述的,主动式存储器304可以包括模块306、308和310。模块可以包括编码在机器可读存储介质上和可由主动式存储器304的处理器执行的一组指令。附加地或作为替代,模块可以包括硬件设备,硬件设备包括用于实施以下描述的功能的电子电路。
寄存器编程模块306可以使存储器控制器320的寄存器(例如,寄存器322)被编程为使得存储器控制器320基于以第一频率的易失性存储器302的操作来分配时间用于标准存储器操作。在一些实施方式中,寄存器编程模块306可以检测操作易失性存储器302的频率;检测到的频率可以比第一频率更快。例如,检测到的频率可以是在正常功率或高功率模式期间操作易失性存储器302的频率,并且第一频率可以是在功率节省模式期间操作易失性存储器302的频率。为了获得更多时间用于主动式存储器304执行主动式存储器操作,寄存器编程模块306可以使存储器控制器320被编程为基于处于第一频率而不是检测到的操作频率的易失性存储器302的操作来分配用于标准存储器操作的时间。因为可以以比第一频率更快的频率操作易失性存储器302,所以可以在短于用于标准存储器操作的分配时间的时间长度中对易失性存储器302完成标准操作,从而导致用于要执行的主动式存储器操作的额外时间。
标准存储器操作模块308可以使标准存储器操作在分配用于标准存储器操作的时间期间对易失性存储器302执行。分配用于标准存储器操作的时间可以基于处于第一频率的易失性存储器302的操作,如上文讨论的那样。在分配的时间期间,易失性存储器302可以以高于第一频率的第二频率操作。标准存储器操作模块308可以检测和/或接收来自存储器控制器320的执行标准存储器操作的命令。响应于检测/接收到执行标准存储器操作的命令,标准存储器操作模块308可以标识要执行的标准存储器操作的类型,并且发起适当的标准存储器操作。
执行主动式存储器操作模块310可以在分配用于标准存储器操作的时间期间执行主动式存储器操作。在一些实施方式中,执行主动式存储器操作模块310可以在分配用于标准存储器操作的时间期间监控标准存储器操作的进展。如果分配的时间在已完成标准存储器操作时未用尽,则执行主动式存储器操作模块310可以执行主动式存储器操作。在一些实施方式中,执行主动式存储器操作模块310可以在分配用于标准存储器操作的时间期间执行主动式存储器操作而不是标准存储器操作。例如,当存储器控制器320发出刷新命令时,执行主动式存储器操作模块310可以在分配用于刷新周期的时间开始时执行主动式存储器操作,如果在发出刷新命令的时间处易失性存储器302的定时规范不要求刷新命令被执行的话。可以不执行刷新命令的情况以上关于图2进行讨论。
图4是与示例存储器控制器420进行通信以启用选择主动式存储器操作和控制对易失性存储器中的数据的访问的示例存储器模块400的框图。存储器模块400可以是直插式存储器模块,诸如SIMM或DIMM,或适合于安装易失性存储器IC的任何存储器模块。在图4中,存储器模块400包括易失性存储器402、主动式存储器404和存储器控制器430。
易失性存储器402可以类似于易失性存储器302。易失性存储器402的定时规范可以指定要求多少时间对易失性存储器402执行标准存储器操作。执行标准存储器操作的命令可以从可能包括寄存器422的存储器控制器420被传输到存储器模块400。存储器控制器420和寄存器422可以分别类似于存储器控制器320和寄存器322。存储器控制器420可以经由数据总线以通信方式耦合到存储器模块400。数据总线类型和/或速度可以对应于易失性存储器402的存储器类型/操作速度。
应该理解的是,存储器控制器420可以具有除了寄存器422以外的更多寄存器,并且附加寄存器可以与相比于与寄存器422相关联的标准存储器操作相同的标准存储器操作或不同的标准存储器操作相关联。在一些实施方式中,易失性存储器402可以包括多种存储器类型;附加寄存器可以用于确定分配用于针对与寄存器422中的值所用于的存储器类型相同的存储器类型或不同的存储器类型的标准存储器操作的时间。分配用于标准存储器操作的时间量可以大于易失性存储器402的定时规范要求的用于标准存储器操作的时间量。在额外时间期间,主动式存储器404可以执行主动式存储器操作。
主动式存储器404可以以通信方式耦合到存储器模块400上的易失性存储器402和存储器控制器430,以及存储器控制器420。存储器控制器430可以是存储器模块400上的内部存储器控制器,并且可以是控制主动式存储器404和存储器模块400内的其他组件访问易失性存储器402的数字电路。存储器控制器430可以管理易失性存储器402和存储器模块400内的其他组件(例如,主动式存储器404)之间的数据流。可以以高于操作存储器控制器420的频率的频率操作存储器控制器430,和/或以高于存储器控制器420基于其来分配用于标准存储器操作的时间频率的频率操作存储器控制器430。虽然在图4中将存储器控制器430与主动式存储器404分离地示出,但是应该理解的是,在一些实施方式中,存储器控制器430可以集成到主动式存储器404中。
主动式存储器404可以包括存储器中处理器、FPGA和/或逻辑核,并且可以紧密地耦合到易失性存储器402。主动式存储器404可以包括用于存储从易失性存储器402读取的数据的缓冲器,并且在对易失性存储器402执行标准存储器操作时可以处理缓冲器中的数据。如图4中图示并在下面详细描述的,主动式存储器404可以包括模块406、408、410、412和414。模块可以包括编码在机器可读存储介质上并可由主动式存储器404的处理器执行的一组指令。附加地或作为替代,模块可以包括硬件设备,硬件设备包括用于实施以下描述的功能的电子电路。
主动式存储器404的模块406、408和410可以类似于主动式存储器304的模块306、308和310。在一些实施方式中,标准存储器操作模块408可以确定执行标准存储器操作需要的时间长度。可以基于处于高于第一频率的第二频率的易失性存储器402的操作来确定时间长度,存储器控制器420基于第一频率分配用于标准存储器操作的时间。选择主动式存储器操作模块412可以选择要在用于标准存储器操作的分配时间期间执行的主动式存储器操作。可以基于用于标准存储器操作的分配时间和执行标准存储器操作需要的确定时间长度之间的差做出选择。
数据模块414可以从易失性存储器402读取数据。可以将数据读取到主动式存储器404的缓冲器中。执行主动式存储器操作模块410可以使用从易失性存储器402读取的数据执行主动式存储器操作。在一些实施方式中,存储器模块400可以包括非易失性存储器,并且数据模块414可以在易失性存储器402和非易失性存储器之间传递数据。例如,数据模块414可以把数据从非易失性存储器读取到主动式存储器404上的缓冲器中,并且可以将缓冲器中的数据写入到易失性存储器402。在一些实施方式中,数据模块414可以把从易失性存储器402和/或非易失性存储器读取的数据传输到存储器控制器420或存储器模块200外部的另一组件。
有关启用执行主动式存储器操作的方法关于图5-9进行讨论。图5是用于执行主动式存储器操作的示例方法500的流程图。虽然下面关于图1的主动式存储器104描述方法500的执行,但是应该理解的是,方法500的执行可以由其他适合设备(诸如,主动式存储器204)执行。可以以存储在机器可读存储介质上的可执行指令的形式和/或以电子电路的形式实施方法500。
方法500可以在块502中开始,在块502中主动式存储器104可以使存储控制器被编程,使得存储器控制器分配比存储器的定时规范所要求的更多的时间用于标准存储器操作。存储器控制器可以例如直接或经由主动式存储器104以通信方式耦合到存储器。存储器可以是易失性存储器,诸如易失性存储器102。
接下来,在块504中,主动式存储器104可以标识分配用于标准存储器操作的额外时间。例如,主动式存储器104可以:检测由存储器控制器传输的用于对存储器执行标准存储器操作的命令;确定存储器控制器已分配多少时间用于标准存储器操作;以及在执行标准存储器操作中监控进展。主动式存储器104可以把额外时间标识为被分配用于标准存储器操作的时间和在完成标准存储器操作之后剩余的时间。
最后,在块506中,主动式存储器104可以在额外时间期间执行主动式存储器操作。主动式存储器操作可以包括过滤、压缩和/或传递数据。
图6是用于编程寄存器以允许执行主动式存储器操作和选择主动式存储器操作的示例方法600的流程图。虽然下面参考图2的主动式存储器204描述方法600的执行,但是应该理解的是,方法600的执行可以由其他适合设备(诸如,主动式存储器104)执行。可以以存储在机器可读存储介质上的可执行指令的形式和/或以电子电路的形式实施方法600。
方法600可以在块602中开始,在块602中主动式存储器204可以确定要被编程到可编程寄存器中的值。例如,可编程寄存器中的值可以对应于多少个时钟周期被分配用于易失性存储器上的刷新周期,并且易失性存储器的定时规范可以指定完成刷新周期所要求的时间长度。主动式存储器204可以基于以通信方式耦合到易失性存储器的存储器控制器的操作频率来计算多少个时钟周期发生在指定的时间长度期间。主动式存储器204可以选择大于计算的时钟周期数目的值被编程到可编程寄存器中。
在块604中,主动式存储器204可以与BIOS进行通信。主动式存储器204可以传输在块602中确定的值到BIOS,BIOS可以将该值编程到存储器控制器的寄存器中。以上关于图1讨论与BIOS的通信。
在块606中,主动式存储器204可以确定多少额外时间被分配用于标准存储器操作。例如,主动式存储器204可以标识要对存储器执行的标准存储器操作,并且确定存储器的定时规范要求多长时间用于标识的标准存储器操作。主动式存储器204可以确定以通信方式耦合到存储器的存储器控制器已分配多少时间用于标准存储器操作(例如,通过读取存储在存储器控制器的寄存器中的值),并且可以从分配的时间减去所要求的时间来确定多少额外时间被分配用于标准存储器操作。
最后,在块608中,主动式存储器204可以基于分配多少额外时间来选择主动式存储器操作。主动式存储器204可以确定完成多个主动式存储器操作的每一个花费多长时间,并且可以选择花费比分配的额外时间量更少的时间的多个主动式存储器操作中的一个。
图7是用于确定何时应该执行主动式存储器操作的示例方法700的流程图。虽然下面参考图2的主动式存储器204描述方法700的执行,但是应该理解的是,方法700的执行可以由其他适合设备(诸如,主动式存储器104)执行。可以以存储在机器可读存储介质上的可执行指令的形式和/或以电子电路的形式实施方法700。
方法700可以在块702中开始,在块702中主动式存储器204可以检测由存储器控制器发出的刷新命令。存储器控制器可以发出刷新命令来刷新以通信方式耦合到主动式存储器204和存储器控制器的易失性存储器中的一组数据位。主动式存储器204和易失性存储器可以在安装在相同直插式存储器模块(例如,存储器模块200)上的相应IC上,并且存储器控制器可以在直插式存储器模块外部。
在块704中,主动式存储器204可以确定是否应执行检测到的刷新命令。例如,主动式存储器204可以确定多久之前对被刷新命令作为目标的该组数据位完成上次刷新周期。如果确定的时间小于易失性存储器的定时规范所要求的刷新周期之间的最大时间,则主动式存储器204可以确定检测到的刷新命令不应该被执行。当主动式存储器204确定不应该执行检测到的刷新命令时,方法700可以进行到块710,在块710中主动式存储器204可以执行主动式存储器操作。
当主动式存储器204确定应该执行检测到的刷新命令时,方法700可以进行到块706,在块706中主动式存储器204可以对易失性存储器执行刷新操作。方法700然后可以进行到块708,在块708中主动式存储器204可以确定是否在刷新操作后存在余下的足够时间来执行主动式存储器操作。当主动式存储器204确定不存在余下的足够时间来执行主动式存储器操作时,方法700可以循环回到块702。当主动式存储器204确定存在余下的足够时间来执行主动式存储器操作时,方法700可以进行到块710。在一些实施方式中,主动式存储器204可以基于在完成刷新操作后余下多少时间来选择要在块710中执行的主动式存储器操作。
图8是用于允许执行选择的主动式存储器操作的示例方法800的流程图。虽然下面参考图3的主动式存储器304描述方法800的执行,但是应该理解的是,方法800的执行可以由其他适合设备(诸如,主动式存储器404)执行。可以以存储在机器可读存储介质上的可执行指令的形式和/或以电子电路的形式实施方法800。
方法800可以在块802中开始,在块802中主动式存储器304可以选择要执行的主动式存储器操作。在一些实施方式中,可以基于主动式存储器304的缓冲器中的数据的类型和/或量来选择主动式存储器操作。例如,如果缓冲器几乎是满的,则可以选择数据压缩操作。
接下来,在块804中,主动式存储器304可以确定执行选择的主动式存储器操作要求多少时间。例如,主动式存储器304可以确定执行选择的主动式存储器操作花费多少个时钟周期。在一些实施方式中,主动式存储器304可以基于主动式存储器304的操作频率把多个时钟周期转换到时间长度。
最后,在块806中,主动式存储器304可以使存储器控制器被重新编程,使得由存储器控制器分配用于标准存储器操作的时间足以执行标准存储器操作和选择的主动式存储器操作。在一些实施方式中,主动式存储器304可以确定要被编程到存储器控制器的寄存器中的值。为了使存储器控制器被重新编程,主动式存储器304可以与BIOS进行通信,如以上关于图1讨论的那样。
图9是用于分配时间以执行主动式存储器操作的示例方法900的流程图。虽然下面参考图3的主动式存储器304描述方法900的执行,但是应该理解的是,方法900的执行可以由其他适合设备(诸如,主动式存储器404)执行。可以以存储在机器可读存储介质上的可执行指令的形式和/或以电子电路的形式实施方法900。
方法900可以在块902中开始,在块902中主动式存储器304可以使存储器控制器的寄存器被编程为使得存储器控制器基于处于第一频率的易失性存储器的操作分配用于标准存储器操作的时间。主动式存储器304可以以通信方式耦合到易失性存储器和存储器控制器。主动式存储器304和易失性存储器可以在安装在相同直插式存储器模块(例如,存储器模块300)上的相应IC上,并且存储器控制器可以在直插式存储器模块外部。
接下来,在块904中,在易失性存储器正在以不同于第一频率的第二频率操作时,主动式存储器304可以在分配的时间期间使标准存储器操作对易失性存储器执行。第二频率可以高于第一频率。主动式存储器304可以检测和/或接收来自存储器控制器的执行标准存储器操作的命令。响应于检测/接收到执行标准存储器操作的命令,主动式存储器304可以标识要执行的标准存储器操作的类型,并且发起适当的标准存储器操作。
最后,在块906中,主动式存储器304可以在分配用于标准存储器操作的时间期间执行主动式存储器操作。在一些实施方式中,主动式存储器304可以在分配用于标准存储器操作的时间期间监控标准存储器操作的进展。主动式存储器304可以在已完成标准存储器操作时执行主动式存储器操作。
前述公开描述了主动式存储器,该主动式存储器可以执行主动式存储器操作以及这样的主动式存储器与易失性存储器和存储器控制器的交互。本文中描述的示例实施方式启用存储器控制器的编程以允许执行主动式存储器操作和确定在其下可以执行主动式存储器操作的环境。

Claims (15)

1.一种用于执行主动式存储器操作的方法,所述方法包括:
使存储器控制器被编程为使得存储器控制器分配比第一存储器的定时规范所要求的更多的时间用于标准存储器操作,其中存储器控制器以通信方式耦合到第一存储器;
标识分配用于标准存储器操作的额外时间;以及
在额外时间期间执行主动式存储器操作。
2.权利要求1的方法,其中存储器控制器包括与分配用于标准存储器操作的时间相关联的可编程寄存器,所述方法进一步包括确定要被编程到可编程寄存器中的值。
3.权利要求1的方法,其中标识额外时间包括:
检测由存储器控制器发出的刷新命令;以及
确定是否执行检测到的刷新命令。
4.权利要求1的方法,进一步包括:
确定多少额外时间被分配用于标准存储器操作;以及
基于多少额外时间被分配来选择主动式存储器操作。
5.权利要求1的方法,进一步包括:
选择要执行的主动式存储器操作;
确定执行选择的主动式存储器操作要求多少时间;以及
使存储器控制器被重新编程为使得由存储器控制器分配用于标准存储器操作的时间足以执行标准存储器操作和选择的主动式存储器操作。
6.权利要求1的方法,其中使存储器控制器被编程包括与基本输入/输出系统(BIOS)进行通信。
7.一种用于执行主动式存储器操作的系统,所述系统包括:
易失性存储器,其中定期刷新存储在易失性存储器中的数据;以及
主动式存储器,以通信方式耦合到易失性存储器和第一存储器控制器,其中主动式存储器用于:
使第一存储器控制器的寄存器被编程为使得第一存储器控制器分配比易失性存储器的定时规范所要求的更多的时间用于刷新易失性存储器;
标识分配用于刷新易失性存储器的额外时间;以及
在额外时间期间执行主动式存储器操作。
8.权利要求7的系统,进一步包括:
非易失性存储器,以通信方式耦合到主动式存储器;以及
第二存储器控制器,控制主动式存储器对易失性存储器和非易失性存储器的访问。
9.权利要求8的系统,其中主动式存储器进一步用于在易失性存储器和非易失性存储器之间传递数据。
10.权利要求7的系统,其中主动式存储器进一步用于从易失性存储器读取数据,并且其中使用从易失性存储器读取的数据执行主动式存储器操作。
11.权利要求7的系统,其中主动式存储器进一步用于:
检测由第一存储器控制器发出的刷新命令;以及
确定是否执行检测到的刷新命令,其中如果检测到的刷新命令不被执行,则执行主动式存储器操作。
12.权利要求7的系统,其中主动式存储器进一步用于:
确定多少额外时间被分配用于刷新易失性存储器;以及
基于多少额外时间被分配来选择主动式存储器操作。
13.一种用于执行主动式存储器操作的系统,所述系统包括:
易失性存储器;
主动式存储器,以通信方式耦合到易失性存储器和第一存储器控制器,其中主动式存储器用于:
使第一存储器控制器的寄存器被编程为使得第一存储器控制器基于处于第一频率的易失性存储器的操作分配用于标准存储器操作的时间;
在分配的时间期间使标准存储器操作对易失性存储器执行,其中在分配的时间期间以高于第一频率的第二频率操作易失性存储器;以及
在分配的时间期间执行主动式存储器操作。
14.权利要求13的系统,其中主动式存储器进一步用于:
确定执行标准存储器操作需要的时间长度,其中基于处于第二频率的易失性存储器的操作确定所述时间长度;以及
基于分配的时间和确定的时间长度之间的差选择主动式存储器操作。
15.权利要求13的系统,进一步包括以通信方式耦合到易失性存储器的第二存储器控制器,其中:
第二存储器控制器控制主动式存储器对易失性存储器的访问;
以第二频率操作第二存储器控制器;
主动式存储器进一步用于从易失性存储器读取数据;以及
使用从易失性存储器读取的数据执行主动式存储器操作。
CN201380079948.4A 2013-09-30 2013-09-30 编程存储器控制器以允许执行主动式存储器操作 Pending CN105612493A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/062667 WO2015047402A1 (en) 2013-09-30 2013-09-30 Programming memory controllers to allow performance of active memory operations

Publications (1)

Publication Number Publication Date
CN105612493A true CN105612493A (zh) 2016-05-25

Family

ID=52744275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380079948.4A Pending CN105612493A (zh) 2013-09-30 2013-09-30 编程存储器控制器以允许执行主动式存储器操作

Country Status (4)

Country Link
US (1) US20160239211A1 (zh)
EP (1) EP3053023A1 (zh)
CN (1) CN105612493A (zh)
WO (1) WO2015047402A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084050A (zh) * 2019-06-14 2020-12-15 北京北方华创微电子装备有限公司 信息记录方法及系统
CN112753069A (zh) * 2018-09-20 2021-05-04 Ati科技无限责任公司 存储器时序参数的动态配置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138686A1 (en) * 2001-01-12 2002-09-26 Liuxi Yang Method for programming memory controller in a high performance microprocessor
US6684278B1 (en) * 1999-07-16 2004-01-27 Mitsubishi Denki Kabushiki Kaisha Microcomputer and memory access control method
US20040260884A1 (en) * 2003-06-18 2004-12-23 Daniel Poznanovic System and method of enhancing efficiency and utilization of memory bandwidth in reconfigurable hardware
CN1977336A (zh) * 2004-05-21 2007-06-06 拉姆伯斯公司 改善支持多存储器访问延迟的计算机存储器系统的性能的系统和方法
CN101036131B (zh) * 2004-11-22 2011-01-26 英特尔公司 支持时间上多路复用的纠错编码的存储器事务猝发操作和存储器组件
CN1864140B (zh) * 2003-10-08 2013-03-20 艾利森电话股份有限公司 用于具有多个处理器和一个存储器系统的系统的存储器接口

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778237A (en) * 1995-01-10 1998-07-07 Hitachi, Ltd. Data processor and single-chip microcomputer with changing clock frequency and operating voltage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684278B1 (en) * 1999-07-16 2004-01-27 Mitsubishi Denki Kabushiki Kaisha Microcomputer and memory access control method
US20020138686A1 (en) * 2001-01-12 2002-09-26 Liuxi Yang Method for programming memory controller in a high performance microprocessor
US20040260884A1 (en) * 2003-06-18 2004-12-23 Daniel Poznanovic System and method of enhancing efficiency and utilization of memory bandwidth in reconfigurable hardware
CN1864140B (zh) * 2003-10-08 2013-03-20 艾利森电话股份有限公司 用于具有多个处理器和一个存储器系统的系统的存储器接口
CN1977336A (zh) * 2004-05-21 2007-06-06 拉姆伯斯公司 改善支持多存储器访问延迟的计算机存储器系统的性能的系统和方法
CN101036131B (zh) * 2004-11-22 2011-01-26 英特尔公司 支持时间上多路复用的纠错编码的存储器事务猝发操作和存储器组件

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112753069A (zh) * 2018-09-20 2021-05-04 Ati科技无限责任公司 存储器时序参数的动态配置
CN112753069B (zh) * 2018-09-20 2022-11-08 Ati科技无限责任公司 存储器时序参数的动态配置
CN112084050A (zh) * 2019-06-14 2020-12-15 北京北方华创微电子装备有限公司 信息记录方法及系统

Also Published As

Publication number Publication date
EP3053023A1 (en) 2016-08-10
US20160239211A1 (en) 2016-08-18
WO2015047402A1 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
US10209902B1 (en) Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data
CN103562883B (zh) 存储器装置中的动态存储器高速缓存大小调整
JP6805205B2 (ja) メモリ内のデータを管理するための装置および方法
JP6521692B2 (ja) 不揮発性メモリ及びメモリコントローラを含むメモリシステムの動作方法
US10241701B2 (en) Solid state memory system with power management mechanism and method of operation thereof
US9269417B2 (en) Memory refresh management
US8902649B2 (en) Nonvolatile memory device and related method of operation
US20190065089A1 (en) Memory device with power management
KR20120010992A (ko) 전력 소모를 제한하기 위해 비휘발성 메모리에서의 동작들을 동적으로 제어하는 방법들 및 시스템들
CN104750618A (zh) 数据储存装置以及快闪存储器控制方法
KR20140102771A (ko) 전류 스파이크를 제한하기 위한 동작들의 제어 및 시차를 둔 실행
CN111796771B (zh) 闪存控制器、固态硬盘及其控制器、闪存命令管理方法
CN103593242A (zh) 基于Yarn框架的资源共享控制系统
CN109313620A (zh) 存储器协议
CN104919438A (zh) 存储器装置中的自动后台操作的主机控制的启用
CN105612493A (zh) 编程存储器控制器以允许执行主动式存储器操作
CN103927203A (zh) 一种计算机系统及控制方法
US20200004636A1 (en) Data Storage System with Strategic Contention Avoidance
US20160225446A1 (en) Stress trim and modified ispp procedures for pcm
CN117093509A (zh) 一种基于贪婪算法的片上内存地址分配方法和系统
CN115373852A (zh) 基于i/o调度的功耗控制方法、固态硬盘控制器及固态硬盘
CN104750425A (zh) 一种存储系统及其非易失性存储器的控制方法
CN105989888A (zh) 非易失性存储器件及其操作方法和具有其的测试系统
US9952779B2 (en) Parallel scheduling of write commands to multiple memory devices
CN110675902A (zh) 存储系统和存储系统的操作方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160525