CN110214316A - 具有命令优先权的存储器协议 - Google Patents
具有命令优先权的存储器协议 Download PDFInfo
- Publication number
- CN110214316A CN110214316A CN201880008383.3A CN201880008383A CN110214316A CN 110214316 A CN110214316 A CN 110214316A CN 201880008383 A CN201880008383 A CN 201880008383A CN 110214316 A CN110214316 A CN 110214316A
- Authority
- CN
- China
- Prior art keywords
- rid
- order
- register
- priority
- assigned
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
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)
- Read Only Memory (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Dram (AREA)
Abstract
本发明包含与具有命令优先权的存储器协议有关的设备及方法。实例设备可基于寄存器中经指派到读取识别RID号码的优先权来执行包含所述RID号码的命令。所述设备可为非易失性双列直插式存储器模块NVDIMM装置。
Description
技术领域
本发明大体上涉及存储器装置,且更特定来说,涉及用于具有命令优先权的存储器协议的设备及方法。
背景技术
存储器装置通常被提供为计算机或其它电子装置中的内部、半导体、集成电路。存在许多不同类型的存储器,包含易失性存储器及非易失性存储器。易失性存储器可需要电力来维护其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)等等。非易失性存储器可在未被供电时通过保存所存储的数据而提供持久数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM)等等。
存储器还用作广泛范围的电子应用的易失性及非易失性数据存储装置。非易失性存储器可用于例如个人计算机、便携式记忆棒、数字相机、蜂窝电话、便携式音乐播放器,例如MP3播放器、电影播放器,及其它电子装置。存储器单元可经布置成阵列,其中所述阵列用于存储器装置中。
存储器可为用于计算装置中的存储器模块(例如双列直插式存储器模块(DIMM))的部分。存储器模块可包含:易失性存储器,例如(举例来说)DRAM;及/或非易失性存储器,例如(举例来说)快闪存储器或RRAM。DIMM可在计算系统中使用主存储器。
附图说明
图1A是根据本发明的若干实施例的呈包含存储器系统的计算系统的形式的设备的框图。
图1B是根据本发明的若干实施例的呈双列直插式存储器模块(DIMM)的形式的设备的框图。
图2A到2B是根据本发明的若干实施例的若干操作的图式。
图3A到3D是根据本发明的若干实施例的若干寄存器的图式。
具体实施方式
本发明包含与具有命令优先权的存储器协议有关的设备及方法。实例设备可基于寄存器中经指派到读取识别(RID)号码的优先权来执行包含所述RID号码的命令。
在若干实施例中,主机可将若干命令发送到设备。若干命令中的每一者可经指派可用于确定与若干命令相关联的优先权的读取识别(RID)号码。设备可定位针对寄存器或若干寄存器中的若干命令的优先权。(若干)寄存器可具有经指派到RID的范围的优先权。设备可基于(若干)寄存器中的优先权信息来执行从最高到最低优先权的命令。可由主机更新(若干)寄存器,以改变经指派到RID的范围的优先权信息。还可由主机更新寄存器,以改变经指派到优先权信息的RID的范围。可在命令被发送到设备之前由主机更新(若干)寄存器,使得将基于(若干)寄存器中的优先权信息来执行被发送到设备的命令。可在命令已被发送到设备之后由主机更新(若干)寄存器,使得被发送到设备的命令的优先权将改变并基于(若干)寄存器中的经更新的优先权信息来执行。
在本发明的以下详细描述中,参考形成本发明的一部分的附图,且在其中以说明方式展示可如何实践本发明的若干实施例。这些实施例被足够详细地描述以使所属领域的一般技术人员能够实践本发明的所述实施例,且应理解,可利用其它实施例,且可在不脱离本发明的范围的情况下作出过程、电性及/或结构改变。如本文中所使用,标示符“N”指示本发明的若干实施例中可包含如此标示的若干特定特征。
如本文中所使用,“若干”某物可指此类事物中的一或多者。例如,若干存储器装置可指存储器装置中的一或多者。另外,如本文中所使用,例如“N”的标示符(尤其关于附图中的参考元件符号)指示本发明的若干实施例中可包含如此标示的若干特定特征。
本文中的图遵循编号惯例,其中第一数字或前几个数字对应于附图编号且其余数字识别附图中的元件或组件。可通过使用类似数字而识别不同图之间的类似元件或组件。应了解,可添加、交换及/或消除本文中的各种实施例中所展示的元件,以便提供本发明的若干额外实施例。另外,图中所提供元件的比例及相对尺度希望绘示本发明的各种实施例,而不被用于限制意义。
图1A是根据本发明的一或多个实施例的包含呈若干存储器系统104-1……104-N的形式的设备的计算系统100的功能框图。如本文中所使用,“设备”可指但不限于各种结构中的任一者或结构的组合,例如(举例来说)电路或电路系统、裸片或若干裸片、模块或若干模块、装置或若干装置,或系统或若干系统。在图1A中所绘示的实施例中,存储器系统104-1……104-N可包含一或多个存储器模块,例如(举例来说)双列直插式存储器模块(DIMM)110-1、……、110-X、110-Y。存储器系统104-1……104-N可包含任何类型的存储器装置,例如具有存储器的DIMM,其将与图1A及1B相关联地被描述。DIMM 110-1、……、110-X、110-Y可包含易失性存储器及/或非易失性存储器。在若干实施例中,存储器系统104-1、……、104-N可包含多芯片装置。多芯片装置可包含若干不同存储器类型及/或存储器模块。例如,存储器系统可包含模块的任何类型上的非易失性或易失性存储器。下文与图1A到5相关联地描述的实例使用DIMM作为存储器模块,但本发明的协议可在存储器可执行非确定性命令的任何存储器系统上使用。在图1A中,存储器系统104-1经由通道112-1耦合到主机,可包含DIMM110-1、……、110-X,其中DIMM 110-1是NVDIMM且110-X是DRAM DIMM。在此实例中,每一DIMM110-1、……、110-X、110-Y包含控制器114。控制器114可从主机102接收命令并控制DIMM上的命令执行。此外,在若干实施例中,可由无控制器的存储器装置(例如DIMM)实施本发明的协议,且使用本发明的协议的命令执行可内建于存储器装置中。主机102可取决于DIMM中的存储器类型而使用本发明的协议及/或先前协议将命令发送到DIMM 110-1、……、110-X、110-Y。例如,主机可使用本发明的协议以在同一通道(例如通道112-1)上与NVDIMM通信,并使用先前协议以与DRAM DIMM通信,两者都是在同一存储器系统上。根据本发明的协议,主机及NVDIMM可经由读取就绪(R_RDY)信号、读取发送(R_SEND)信号、写入信用增量(WC_INC)信号及读取识别(RID)信号而通信。读取就绪(R_RDY)信号、读取发送(R_SEND)信号、写入信用增量(WC_INC)信号及读取识别(RID)信号可经由先前协议(例如DDR4)中未使用的或是来自先前协议(例如DDR4)的被改变用途(例如不同地使用)的引脚的引脚被发送,使得本协议与先前协议兼容。此外,引脚可经指派到正在开发的协议(例如DDR5)中的读取就绪(R_RDY)信号、读取发送(R_SEND)信号、写入信用增量(WC_INC)信号及读取识别(RID)信号。
如图1A中所绘示,主机102可耦合到存储器系统104-1……104-N。在若干实施例中,每一存储器系统104-1……104-N可经由通道耦合到主机102。在图1A中,存储器系统104-1经由通道112-1耦合到主机102,且存储器系统104-N经由通道112-N耦合到主机102。主机102可为膝上型计算机、个人计算机、数字相机、数字记录及回放装置、移动电话、PDA、记忆卡读取器、接口集线器以及其它主机系统,并可包含存储器存取装置,例如处理器。所属领域的一般技术人员将了解,“处理器”可意指一或多个处理器,例如并行处理系统、若干协处理器等等。
主机102包含主机控制器108以与存储器系统104-1……104-N通信。主机控制器108可经由通道112-1……112-N将命令发送到DIMM 110-1、……、110-X、110-Y。主机控制器108可与DIMM 110-1、……、110-X、110-Y及/或DIMM 110-1、……、110-X、110-Y中的每一者上的控制器114通信,以读取、写入及擦除数据,以及其它操作。物理主机接口可提供接口用于在存储器系统104-1……104-N与具有用于物理主机接口的兼容接受器的主机102之间传递控制、地址、数据及其它信号。信号可例如经由通道112-1……112-N在若干总线(例如数据总线及/或地址总线)上于102与DIMM110-1、……、110-X、110-Y之间传达。
主机控制器108及/或DIMM上的控制器114可包含控制电路系统,例如硬件、固件及/或软件。在一或多个实施例中,主机控制器108及/或控制器114可为耦合到包含物理接口的印刷电路板的专用集成电路(ASIC)。此外,每一DIMM 110-1、……、110-X、110-Y可包含易失性及/或非易失性存储器的缓冲器116,及寄存器118。缓冲器116可用于缓冲在读取命令及/或写入命令的执行期间使用的数据。缓冲器116可被分成写入缓冲器及读取缓冲器。专用于写入缓冲器的空间量及专用于读取缓冲器的空间量可由主机控制器108控制。主机可基于正被发送到特定DIMM的命令类型来控制专用于写入缓冲器及读取缓冲器的缓冲器116中的空间量。在若干实施例中,DIMM可具有固定写入缓冲器大小及/或固定读取缓冲器大小。寄存器118可用优先权信息被编程以确定用于执行命令的优先权。
DIMM 110-1、……、110-X、110-Y可为存储器系统提供主存储器,或可用作贯穿存储器系统的额外存储器或存储装置。每一DIMM 110-1、……、110-X、110-Y可包含存储器单元(例如非易失性存储器单元)的一或多个阵列。所述阵列可为例如具有NAND架构的快闪阵列。实施例不限于特定类型的存储器装置。例如,存储器装置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快闪存储器等等。
图1A的实施例可包含未绘示以免混淆本发明的实施例的额外电路系统。例如,存储器系统104-1……104-N可包含地址电路系统以锁存通过I/O电路系统经由I/O连接提供的地址信号。可由行解码器及列解码器接收及解码地址信号以存取DIMM110-1、……、110-X、110-Y。所属领域的一般技术人员将了解,地址输入连接的数目可取决于DIMM 110-1、……、110-X、110-Y的密度及架构。
图1B是根据本发明的若干实施例的呈双列直插式存储器模块(DIMM)110的形式的设备的框图。在图1B中,DIMM 110可包含控制器114。控制器114可包含可为缓冲器116及/或若干寄存器118的存储器,例如SRAM存储器。DIMM 110可包含耦合到控制器的若干存储器装置113-1、……、113-Z。存储器装置113-1、……、113-Z可包含非易失性存储器阵列及/或易失性存储器阵列。存储器装置113-1、……、113-Z可包含可用于在存储器装置113-1、……、113-Z上执行命令的控制电路系统117(例如硬件、固件及/或软件)。控制电路系统117可从控制器114接收命令。控制电路系统117可经配置以执行命令来在存储器装置113-1、……、113-Z中读取及/或写入数据。
图2A到2B是根据本发明的若干实施例的若干操作的图式。图2A绘示执行三个读取操作的实例。命令信号222可从主机被发送到NVDIMM。命令信号222可包含激活命令及读取命令。在图2A中,第一激活命令242-100、第一读取命令244-100、第二激活命令242-200、第二读取命令244-200、第三激活命令242-300及第三读取命令244-300从主机被发送到NVDIMM。主机可将主机读取识别(RID)号码指派到读取命令。主机RID号码可包含于读取命令中,并在将读取命令从主机发送到NVDIMM时传输到NVDIMM。在图2A中,第一读取命令244-100可经指派100的主机RID,第二读取命令244-200可经指派200的主机RID,且第三读取命令244-300可经指派300的主机RID。主机可基于若干寄存器中的优先权信息来指派主机RID号码。例如,如果主机期望要在其它命令之前执行命令,那么主机可将在(若干)寄存器中经指派高优先权的RID的范围中的RID指派到所述命令。
在本发明的协议中,读取命令可相继地被发送而不考虑时序参数。这与由于时钟时序参数而必须将命令间隔开相比使命令较快被发送,因此NVDIMM可较快开始处理命令,这可减少对命令的时延。
在图2A中,一旦NVDIMM已接收到读取命令244-100、244-200及244-300,NVDIMM就可确定与命令相关联的优先权。NVDIMM可检验寄存器或若干寄存器以定位与命令244-100、244-200及244-300的RID相关联的优先权。可在命令从主机被发送到NVDIMM之前及/或之后编程寄存器。在图2A中所描述的实例中,在命令被发送到NVDIMM之前编程寄存器。例如,寄存器可将高优先权指派到具有RID 100到199的命令,将中优先权指派到具有RID 200到299的命令,且将低优先权指派到具有RID 300到399的命令。命令244-100将具有高优先权并可被首先执行,命令244-200将具有中优先权并一旦具有高优先权的所有命令已被执行就可被执行,且命令244-300将具有低优先权并一旦具有高优先权及中优先权的所有命令已被执行就可被执行。
因为可响应于具有高优先权而首先执行命令244-100,所以NVDIMM可检验NVDIMM的缓冲器及/或高速缓存并在NVDIMM的非易失性存储器中定位与读取命令244-100相关联的数据。一旦控制器定位数据并具有准备发送回到主机的数据,NVDIMM控制器就可将读取就绪命令发送到主机。当NVDIMM接收到若干读取命令时,NVDIMM控制器基于寄存器或若干寄存器中的优先权信息来返回与读取命令相关联的数据。例如,读取命令包含RID,且NVDIMM控制器基于命令的RID来定位将优先权指派到读取命令的寄存器中的RID。
在图2A中,读取命令244-100可包含指示命令244-100要以高优先权返回的RID。读取就绪指示符可通过将读取就绪信号从低切换(例如转换)到高或从高切换(例如转换)到低而被发送到主机,以指示与命令244-100相关联的数据准备被发送到主机。主机可通过检测读取就绪信号的转换而检测读取就绪指示符。响应于接收到读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器,以指示主机准备接收与命令244-100相关联的数据。读取发送指示符可由主机随时发送到NVDIMM控制器,而不考虑时序参数。当读取发送命令被发送到NVDIMM控制器时,主机可通过时序来控制数据总线上的业务。读取发送指示符可包含将读取发送信号从低切换到高,这是由NVDIMM控制器检测。NVDIMM控制器可响应于接收到读取发送指示符而在DQ+ECC引脚224上发送与命令244-100相关联的数据246-100。此外,当数据246-100被发送到主机时,读取识别(RID)信号248-100在RID引脚226上被发送到主机。RID信号248-100包含由NVDIMM指派到数据区块的存储器装置RID号码,并用于识别与被发送到主机的数据246-100相关联的读取命令。数据246-100经指派100的存储器装置RID号码。由于NVDIMM命令能够响应于以与接收读取命令的顺序不同的顺序的读取命令,故主机在无RID信号的情况下将不知道特定数据传输与哪个读取命令相关联。RID信号可包含n位,其中n是1或更多位。例如,RID信号可在2位RID总线上传输。主机可发出的未处理读取的数目可取决于RID信号中的位的数目、数据包中的差拍的数目,及NVDIMM控制器可支持的读取的数目。例如,如果数据突发是8个差拍,且RID信号是2位,那么主机可发出的未处理读取的数目是22*8=65,536。此外,NVDIMM可具有可由主机读取的寄存器以进一步限制主机可发出的未处理读取命令的数目,且主机可跟踪主机已发出的未处理读取的数目。
在图2A中,读取命令244-200可包含指示命令244-200要以中优先权返回的RID。因为命令244-100已被执行,且不存在具有高优先权的其它命令待执行,所以可执行命令244-200。读取就绪指示符可通过将读取就绪信号从低切换(例如转换)到高或从高切换(例如转换)到低而被发送到主机,以指示与读取命令244-200相关联的数据准备被发送到主机。主机可通过检测读取就绪信号的转换而检测读取就绪指示符。响应于接收到读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器,以指示主机准备接收与读取命令244-200相关联的数据。读取发送指示符可由主机随时发送到NVDIMM控制器,而不考虑时序参数。当读取发送命令被发送到NVDIMM控制器时,主机可通过时序来控制数据总线上的业务。读取发送指示符可包含将读取发送信号从低切换到高,这是由NVDIMM控制器检测。NVDIMM控制器可响应于接收到读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-200相关联的数据246-200。此外,当数据246-200被发送到主机时,读取识别(RID)信号248-200在RID引脚226上被发送到主机。RID信号248-200包含由NVDIMM指派到数据区块的存储器装置RID号码,并用于识别与被发送到主机的数据246-200相关联的读取命令。数据246-200经指派200的存储器装置RID号码。
在图2A中,读取命令244-300可包含指示命令244-300要以中优先权返回的RID。因为命令244-100及244-200已被执行,且不存在具有高或中优先权的其它命令待执行,所以可执行命令244-300。读取就绪指示符可通过将读取就绪信号从低切换(例如转换)到高或从高切换(例如转换)到低而被发送到主机,以指示与读取命令244-300相关联的数据准备被发送到主机。主机可通过检测读取就绪信号的转换而检测读取就绪指示符。响应于接收到读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器,以指示主机准备接收与读取命令244-300相关联的数据。读取发送指示符可由主机随时发送到NVDIMM控制器,而不考虑时序参数。当读取发送命令被发送到NVDIMM控制器时,主机可通过时序来控制数据总线上的业务。读取发送指示符可包含将读取发送信号从低切换到高,这是由NVDIMM控制器检测。NVDIMM控制器可响应于接收到读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-300相关联的数据246-300。此外,当数据246-300被发送到主机时,读取识别(RID)信号248-300在RID引脚226上被发送到主机。RID信号248-300包含由NVDIMM指派到数据区块的存储器装置RID号码,并用于识别与被发送到主机的数据246-300相关联的读取命令。数据246-300经指派300的存储器装置RID号码。
在若干实施例中,读取发送信号可为从低到高到低的脉冲式,或发送命令可用于指示主机准备接收数据。脉冲式读取发送信号可由主机定时以与在共同通道上被发送到DIMM的其它信号协调,这些通常以时钟边缘捕获,其中DIMM中的一些可能或可能不使用本发明的协议。
图2B绘示执行三个读取操作的实例。在图2B的实例中,针对命令的优先权可在命令被发送到NVDIMM之后被改变。在图2B中,第一激活命令242-100、第一读取命令244-100、第二激活命令242-200、第二读取命令244-200、第三激活命令242-300及第三读取命令244-300从主机被发送到NVDIMM。主机可将主机读取识别(RID)号码指派到读取命令。主机RID号码可包含于读取命令中,并在将读取命令从主机发送到NVDIMM时传输到NVDIMM。在图2A中,第一读取命令244-100可经指派100的主机RID,第二读取命令244-200可经指派200的主机RID,且第三读取命令244-300可经指派300的主机RID。
在本发明的协议中,读取命令可相继地被发送而不考虑时序参数。这与由于时钟时序参数而必须将命令间隔开相比使命令较快被发送,因此NVDIMM可较快开始处理命令,这可减少对命令的时延。
在图2B中,一旦NVDIMM已接收到读取命令244-100、244-200及244-300,NVDIMM就可确定与命令相关联的优先权。NVDIMM可检验寄存器或若干寄存器以定位与命令244-100、244-200及244-300的RID相关联的优先权。可在命令从主机被发送到NVDIMM之前及/或之后编程寄存器。在图2B中所描述的实例中,寄存器在命令被发送到NVDIMM之前被编程并接着在命令已经被发送到NVDIMM之后被更新。例如,寄存器最初经编程以将高优先权指派到具有RID 100到199的命令,将中优先权指派到具有RID 200到299的命令,且将低优先权指派到具有RID 300到399的命令。一旦命令已被发送到NVDIMM,寄存器就经更新以将高优先权指派到具有RID 100到199及300到399的命令,且将中优先权指派到具有RID 200到299的命令。主机可更新寄存器以改变针对命令的优先权。主机可响应于例如命令处于队列中达阈值时间段而更新优先权。此外,主机可响应于例如主机针对与命令相关联的数据具有时间灵敏需求而更新优先权。命令244-100及244-300将具有高优先权并可在具有中及/或低优先权的命令之前被执行,且命令244-200将具有中优先权并一旦具有高优先权的所有命令已被执行就可被执行。
因为命令244-100可响应于具有高优先权而被首先执行,所以NVDIMM可检验NVDIMM的缓冲器及/或高速缓存并在NVDIMM的非易失性存储器中定位与读取命令244-100相关联的数据。一旦控制器定位数据并具有准备发送回到主机的数据,NVDIMM控制器就可将读取就绪命令发送到主机。当NVDIMM接收到若干读取命令时,NVDIMM控制器基于寄存器或若干寄存器中的优先权信息来返回与读取命令相关联的数据。例如,读取命令包含RID,且NVDIMM控制器基于命令的RID来定位将优先权指派到读取命令的寄存器中的RID。
在图2B中,读取命令244-100可包含指示命令244-100要以高优先权返回的RID。读取就绪指示符可通过将读取就绪信号从低切换(例如转换)到高或从高切换(例如转换)到低而被发送到主机,以指示与命令244-100相关联的数据准备被发送到主机。主机可通过检测读取就绪信号的转换而检测读取就绪指示符。响应于接收到读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器,以指示主机准备接收与命令244-100相关联的数据。读取发送指示符可由主机随时发送到NVDIMM控制器,而不考虑时序参数。当读取发送命令被发送到NVDIMM控制器时,主机可通过时序来控制数据总线上的业务。读取发送指示符可包含将读取发送信号从低切换到高,这是由NVDIMM控制器检测。NVDIMM控制器可响应于接收到读取发送指示符而在DQ+ECC引脚224上发送与命令244-100相关联的数据246-100。此外,当数据246-100被发送到主机时,读取识别(RID)信号248-100在RID引脚226上被发送到主机。RID信号248-100包含由NVDIMM指派到数据区块的存储器装置RID号码,并用于识别与被发送到主机的数据246-100相关联的读取命令。数据246-100经指派100的存储器装置RID号码。
在图2B中,读取命令244-300可包含指示命令244-300要以中优先权返回的RID。因为命令244-100已被执行,且命令244-300是具有高优先权的剩余命令,所以可接着执行命令244-300。读取就绪指示符可通过将读取就绪信号从低切换(例如转换)到高或从高切换(例如转换)到低而被发送到主机,以指示与读取命令244-300相关联的数据准备被发送到主机。主机可通过检测读取就绪信号的转换而检测读取就绪指示符。响应于接收到读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器,以指示主机准备接收与读取命令244-300相关联的数据。读取发送指示符可由主机随时发送到NVDIMM控制器,而不考虑时序参数。当读取发送命令被发送到NVDIMM控制器时,主机可通过时序来控制数据总线上的业务。读取发送指示符可包含将读取发送信号从低切换到高,这是由NVDIMM控制器检测。NVDIMM控制器可响应于接收到读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-300相关联的数据246-200。此外,当数据246-300被发送到主机时,读取识别(RID)信号248-300在RID引脚226上被发送到主机。RID信号248-300包含由NVDIMM指派到数据区块的存储器装置RID号码,并用于识别与被发送到主机的数据246-300相关联的读取命令。数据246-300经指派300的存储器装置RID号码。
在图2B中,读取命令244-200可包含指示命令244-300要以中优先权返回的RID。因为命令244-100及244-300已被执行,且不存在具有高优先权的其它命令待执行,所以可执行命令244-200。读取就绪指示符可通过将读取就绪信号从低切换(例如转换)到高或从高切换(例如转换)到低而被发送到主机,以指示与读取命令244-200相关联的数据准备被发送到主机。主机可通过检测读取就绪信号的转换而检测读取就绪指示符。响应于接收到读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器,以指示主机准备接收与读取命令244-200相关联的数据。读取发送指示符可由主机随时发送到NVDIMM控制器,而不考虑时序参数。当读取发送命令被发送到NVDIMM控制器时,主机可通过时序来控制数据总线上的业务。读取发送指示符可包含将读取发送信号从低切换到高,这是由NVDIMM控制器检测。NVDIMM控制器可响应于接收到读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-200相关联的数据246-200。此外,当数据246-200被发送到主机时,读取识别(RID)信号248-200在RID引脚226上被发送到主机。RID信号248-200包含由NVDIMM指派到数据区块的存储器装置RID号码,并用于识别与被发送到主机的数据246-200相关联的读取命令。数据246-200经指派200的存储器装置RID号码。
图3A到3D是根据本发明的若干实施例的若干寄存器的图式。图3A包含寄存器318,其将读取识别(RID)号码的范围指派到优先权信息。在图3A中,寄存器318将RID范围350-1(RID 0:99)指派到低优先权352-1,将RID范围350-2(RID 100:199)指派到高优先权352-3,将RID范围350-3(RID 200:299)指派到中优先权352-2,将RID范围350-4(RID 300:399)指派到低优先权352-1,且将RID范围350-M(RID MaxRID-99:MaxRID)指派到低优先权352-1。在若干实施例中,可使用任何大小的若干寄存器中的任一者以将优先权指派到RID。
图3B包含将读取识别(RID)号码的范围指派到优先权信息的寄存器318-1、……、318-M。在图3B中,寄存器318-1将RID范围350-1(RID 0:99)指派到低优先权352-1,寄存器318-2将RID范围350-2(RID 100:199)指派到高优先权352-3,寄存器318-3将RID范围350-3(RID 200:299)指派到中优先权352-2,寄存器318-4将RID范围350-4(RID300:399)指派到低优先权352-1,且寄存器318-M将RID范围350-M(RID MaxRID-99:MaxRID)指派到低优先权352-1。可更新寄存器318-1、……、318-M以改变与其相关联的RID范围。此外,可更新寄存器318-1、……、318-M以改变与其相关联的优先权信息。
在图3C中,寄存器318-1、……、318-M全部可经指派相同优先权信息,例如(举例来说)高优先权352-3。当RID范围的全部经指派相同优先权信息时,执行命令而不考虑优先权。当主机不期望执行具有优先权的命令时,可由主机将寄存器318-1、……、318-M更新成全部具有相同优先权。
图3D包含将优先权信息指派到RID的范围的寄存器318-H、318-M及318-L。在图3D中,寄存器318-H将高优先权指派到RID的范围,寄存器318-M将中优先权指派到RID的范围,且寄存器318-L将低优先权指派到RID的范围。可更新寄存器318-H、318-M及318-L以改变RID范围,使得与具有RID范围中的RID的命令相关联的优先权被更新。在图3D中,寄存器318-H将高优先权指派到RID范围,其中下限RID 360为100且上限RID 362为199,下限RID360为400且上限RID 362为499,及下限RID 360为x且上限RID 362为x+99。寄存器318-M将中优先权指派到RID范围,其中下限RID360为200且上限RID 362为299,下限RID 360为y且上限RID 362为y+99,及下限RID 360为z且上限RID 362为z+99。寄存器318-L将低优先权指派到RID范围,其中下限RID 360为0且上限RID 362为99,下限RID 360为300且上限RID 362为399,及下限RID 360为MaxRID-99且上限RID 362为MaxRID。与寄存器318-H、318-M及318-L相关联的RID的范围可包含可由主机及/或NVDIMM用以指派到命令的任何下限RID 360及/或上限RID 362。
尽管已在本文中绘示及描述了特定实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所展示的特定实施例。本发明希望涵盖本发明的各种实施例的调适或变化。应理解,已以说明性方式而非限制性方式做出上述描述。所属领域的技术人员在检视上述描述后就将明白上述实施例的组合及未在本文中特别描述的其它实施例。本发明的各种实施例的范围包含使用上述结构及方法的其它应用。因此,应参考所附权利要求书连同涵括此类权利要求书的等效物的全部范围确定本发明的各种实施例的范围。
在前述具体实施方式中,出于简化本发明的目的,各种特征在单个实施例中分组在一起。本发明的此方法不应被解释为反映本发明的所揭示实施例必须使用多于在每一权利要求中明确叙述的特征的意图。实情是,如所附权利要求书所反映,发明主题在于少于单个所揭示实施例的所有特征。因此,所附权利要求书据此并入具体实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (22)
1.一种设备,其包括:
存储器装置;及
控制器,其耦合到所述存储器装置,经配置以:
基于寄存器中经指派到读取识别RID号码的优先权来执行包含所述RID号码的命令。
2.根据权利要求1所述的设备,其中所述存储器装置是非易失性双列直插式存储器模块NVDIMM装置。
3.根据权利要求1所述的设备,其中通过重新编程所述寄存器而改变经指派到所述RID号码的所述优先权。
4.根据权利要求1所述的设备,其中基于经指派到所述RID号码的所述优先权在另一命令之前执行所述命令,且其中所述另一命令在所述命令正被发送到所述存储器装置以供执行之前被发送到所述存储器装置以供执行。
5.根据权利要求1到4中任一权利要求所述的设备,其中所述寄存器包含RID号码的多个范围,且其中RID号码的所述多个范围中的每一者经指派优先权信息。
6.根据权利要求1到4中任一权利要求所述的设备,其中所述控制器基于所述寄存器中的所述RID号码及优先权信息来确定何时执行所述命令。
7.一种设备,其包括:
存储器装置;及
控制器,其耦合到所述存储器装置,经配置以:
接收具有第一读取识别RID号码的第一命令、具有第二RID号码的第二命令及具有第三RID号码的第三命令;及
基于寄存器中的优先权信息来依序执行所述第一命令、所述第二命令及所述第三命令。
8.根据权利要求7所述的设备,其中所述寄存器经编程到针对包含所述第一RID的RID的第一范围的高优先权、针对包含所述第二RID的RID的第二范围的中优先权,及针对包含所述第三RID的RID的第三范围的低优先权。
9.根据权利要求8所述的设备,其中基于经指派到所述第一RID的所述高优先权来首先执行所述第一命令,基于经指派到所述第二RID的所述中优先权来其次执行所述第二命令,且基于经指派到所述第三RID的所述低优先权来再其次执行所述第三命令。
10.根据权利要求7所述的设备,其中所述寄存器经编程使得RID的第一范围、RID的第二范围及RID的第三范围全部具有相同优先级,且其中所述控制器执行所述第一命令、所述第二命令及所述第三命令而未基于所述寄存器中的所述优先权信息来对命令进行优先排序。
11.一种设备,其包括:
存储器装置;及
控制器,其耦合到所述存储器装置,经配置以:
编程多个寄存器,其中所述多个寄存器中的每一者经指派读取识别RID号码的范围及优先权信息;
基于所述多个寄存器中的所述优先权信息来执行多个命令。
12.根据权利要求11所述的设备,其中所述多个寄存器能够经重新编程以改变经指派到所述寄存器的所述特定优先权信息。
13.根据权利要求11到12中任一权利要求所述的设备,其中所述多个寄存器能够经重新编程以改变经指派到所述寄存器的RID号码的所述范围。
14.一种方法,其包括:
从主机接收多个命令以供在存储器装置上执行;及
基于寄存器中的优先权信息来执行所述多个命令。
15.根据权利要求14所述的方法,其中执行所述多个命令包含定位所述寄存器中的优先权信息,其中读取识别RID号码的多个范围各自经指派优先权信息。
16.根据权利要求14所述的方法,其进一步包含编程所述寄存器以将优先权信息指派到读取识别RID号码的多个范围。
17.根据权利要求14所述的方法,其中执行所述多个命令包含在执行其它命令之前执行具有高优先权的命令。
18.根据权利要求14所述的方法,其中执行所述多个命令包含响应于所述寄存器将共享优先权信息指派到与所述多个命令相关联的读取识别RID号码来执行命令而不考虑优先权。
19.根据权利要求14所述的方法,其进一步包含重新编程所述寄存器以在已执行所述多个命令的一部分之后将优先权信息指派到读取识别RID号码的多个范围。
20.一种方法,其包括:
编程多个寄存器,其中所述多个寄存器中的每一者经指派读取识别RID号码的特定范围及优先权信息。
21.根据权利要求20所述的方法,其进一步包含基于多个命令的RID号码及所述多个寄存器的所述优先权信息来确定首先要执行的所述多个命令的第一部分。
22.根据权利要求21所述的方法,其中包含基于所述多个命令的RID号码及所述多个寄存器的所述优先权信息来确定要在所述第一部分之后执行的所述多个命令的第二部分。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762449689P | 2017-01-24 | 2017-01-24 | |
US62/449,689 | 2017-01-24 | ||
US15/613,408 US11003602B2 (en) | 2017-01-24 | 2017-06-05 | Memory protocol with command priority |
US15/613,408 | 2017-06-05 | ||
PCT/US2018/014345 WO2018140301A1 (en) | 2017-01-24 | 2018-01-19 | Memory protocol with command priority |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110214316A true CN110214316A (zh) | 2019-09-06 |
Family
ID=62906270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880008383.3A Pending CN110214316A (zh) | 2017-01-24 | 2018-01-19 | 具有命令优先权的存储器协议 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11003602B2 (zh) |
EP (1) | EP3574410A4 (zh) |
KR (1) | KR102307229B1 (zh) |
CN (1) | CN110214316A (zh) |
TW (1) | TWI661308B (zh) |
WO (1) | WO2018140301A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116324743A (zh) * | 2020-11-05 | 2023-06-23 | 谷歌有限责任公司 | 存储器请求优先级升级 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11404095B1 (en) * | 2021-01-21 | 2022-08-02 | Micron Technology, Inc. | Reduced pin status register |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107324A1 (en) * | 2002-12-02 | 2004-06-03 | John Nystuen | DDR SDRAM memory controller with multiple dependency request architecture and intelligent requestor interface |
US20040264284A1 (en) * | 2003-06-27 | 2004-12-30 | Priborsky Anthony L | Assignment of queue execution modes using tag values |
US20050160320A1 (en) * | 2004-01-08 | 2005-07-21 | International Business Machines Corporation | Method for verification of command processing in a computer system design having a multiple priority command queue |
US20090138665A1 (en) * | 2006-07-21 | 2009-05-28 | Canon Kabushiki Kaisha | Memory controller |
US20120311277A1 (en) * | 2011-06-01 | 2012-12-06 | Chu Michael H M | Memory controllers with dynamic port priority assignment capabilities |
US20130060981A1 (en) * | 2011-09-06 | 2013-03-07 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US20130128675A1 (en) * | 2011-11-21 | 2013-05-23 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, memory system and controller operating method |
US20130262761A1 (en) * | 2012-03-29 | 2013-10-03 | Samsung Electronics Co., Ltd. | Memory device and method of operating the same |
US20140240326A1 (en) * | 2013-02-28 | 2014-08-28 | Daniel F. Cutter | Method, Apparatus, System For Representing, Specifying And Using Deadlines |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590345A (en) | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5452311A (en) | 1992-10-30 | 1995-09-19 | Intel Corporation | Method and apparatus to improve read reliability in semiconductor memories |
US5574944A (en) | 1993-12-15 | 1996-11-12 | Convex Computer Corporation | System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context |
US5774683A (en) | 1996-10-21 | 1998-06-30 | Advanced Micro Devices, Inc. | Interconnect bus configured to implement multiple transfer protocols |
US5937423A (en) | 1996-12-26 | 1999-08-10 | Intel Corporation | Register interface for flash EEPROM memory arrays |
US6832280B2 (en) * | 2001-08-10 | 2004-12-14 | Freescale Semiconductor, Inc. | Data processing system having an adaptive priority controller |
US6738831B2 (en) | 2001-12-12 | 2004-05-18 | Intel Corporation | Command ordering |
US6941428B2 (en) * | 2002-09-25 | 2005-09-06 | International Business Machines Corporation | Memory controller optimization |
US7308524B2 (en) | 2003-01-13 | 2007-12-11 | Silicon Pipe, Inc | Memory chain |
US7139878B2 (en) | 2003-06-20 | 2006-11-21 | Freescale Semiconductor, Inc. | Method and apparatus for dynamic prefetch buffer configuration and replacement |
US7711889B2 (en) | 2006-07-31 | 2010-05-04 | Kabushiki Kaisha Toshiba | Nonvolatile memory system, and data read/write method for nonvolatile memory system |
US8074022B2 (en) | 2006-09-28 | 2011-12-06 | Virident Systems, Inc. | Programmable heterogeneous memory controllers for main memory with different memory modules |
US20090276556A1 (en) | 2006-10-04 | 2009-11-05 | Mediatek Inc. | Memory controller and method for writing a data packet to or reading a data packet from a memory |
US7904644B1 (en) | 2006-11-01 | 2011-03-08 | Marvell International Ltd. | Disk channel system with sector request queue |
US20080162735A1 (en) * | 2006-12-29 | 2008-07-03 | Doug Voigt | Methods and systems for prioritizing input/outputs to storage devices |
US7596643B2 (en) | 2007-02-07 | 2009-09-29 | Siliconsystems, Inc. | Storage subsystem with configurable buffer |
KR100904758B1 (ko) | 2007-02-08 | 2009-06-29 | 삼성전자주식회사 | 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법 |
US7924521B1 (en) | 2007-04-10 | 2011-04-12 | Marvell International Ltd. | Data wedge format table synchronization |
US7996599B2 (en) | 2007-04-25 | 2011-08-09 | Apple Inc. | Command resequencing in memory operations |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8006047B2 (en) | 2007-06-27 | 2011-08-23 | Hitachi Global Storage Technologies Netherlands B.V. | Storage device with write barrier sensitive write commands and write barrier insensitive commands |
TW200929237A (en) | 2007-12-21 | 2009-07-01 | Winbond Electronics Corp | Memory architecture and configuration method thereof |
US20090327535A1 (en) | 2008-06-30 | 2009-12-31 | Liu Tz-Yi | Adjustable read latency for memory device in page-mode access |
US8332608B2 (en) * | 2008-09-19 | 2012-12-11 | Mediatek Inc. | Method of enhancing command executing performance of disc drive |
KR101525872B1 (ko) * | 2008-11-06 | 2015-06-04 | 삼성전자주식회사 | 반도체 메모리 시스템의 동작 방법 |
EP2394221A4 (en) | 2009-02-09 | 2012-11-21 | Rambus Inc | NON-VOLATILE MEMORY WITH MULTIPLE LEVELS WITH SYNCHRONIZED CONTROL |
US7983107B2 (en) | 2009-02-11 | 2011-07-19 | Stec, Inc. | Flash backed DRAM module with a selectable number of flash chips |
US8285917B2 (en) | 2009-03-26 | 2012-10-09 | Scaleo Chip | Apparatus for enhancing flash memory access |
CN101908368A (zh) * | 2009-06-04 | 2010-12-08 | 威刚科技(苏州)有限公司 | 电子存储装置及其操作方法 |
JPWO2011043012A1 (ja) | 2009-10-05 | 2013-02-28 | パナソニック株式会社 | 不揮発性半導体記憶装置、信号処理システム、及び信号処理システムの制御方法、並びに不揮発性半導体記憶装置の書き換え方法 |
US8499106B2 (en) | 2010-06-24 | 2013-07-30 | Arm Limited | Buffering of a data stream |
US9141538B2 (en) * | 2010-07-07 | 2015-09-22 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive |
US8949502B2 (en) | 2010-11-18 | 2015-02-03 | Nimble Storage, Inc. | PCIe NVRAM card based on NVDIMM |
JP5296041B2 (ja) * | 2010-12-15 | 2013-09-25 | 株式会社東芝 | メモリシステムおよびメモリシステムの制御方法 |
WO2012087971A2 (en) | 2010-12-20 | 2012-06-28 | Marvell World Trade Ltd. | Descriptor scheduler |
JP2012234363A (ja) * | 2011-04-28 | 2012-11-29 | Toshiba Corp | メモリシステム |
US8799557B1 (en) | 2011-10-13 | 2014-08-05 | Netapp, Inc. | System and method for non-volatile random access memory emulation |
US8880819B2 (en) | 2011-12-13 | 2014-11-04 | Micron Technology, Inc. | Memory apparatuses, computer systems and methods for ordering memory responses |
KR101366960B1 (ko) * | 2011-12-23 | 2014-02-25 | 한양대학교 산학협력단 | 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 |
JP6053384B2 (ja) * | 2012-08-08 | 2016-12-27 | キヤノン株式会社 | 情報処理装置、メモリ制御装置およびその制御方法 |
US9122401B2 (en) | 2012-08-23 | 2015-09-01 | Apple Inc. | Efficient enforcement of command execution order in solid state drives |
US9250814B2 (en) | 2013-02-11 | 2016-02-02 | Apple Inc. | Command order re-sequencing in non-volatile memory |
US8595427B1 (en) | 2013-03-08 | 2013-11-26 | Avalanche Technology, Inc. | Non-volatile block storage module using magnetic random access memory (MRAM) |
US9128634B1 (en) | 2013-03-11 | 2015-09-08 | Marvell International Ltd. | Systems and methods of packed command management for non-volatile storage devices |
US9741442B2 (en) | 2013-03-12 | 2017-08-22 | Sandisk Technologies Llc | System and method of reading data from memory concurrently with sending write data to the memory |
JP6146128B2 (ja) * | 2013-05-20 | 2017-06-14 | ヤマハ株式会社 | データ処理装置 |
WO2014193376A1 (en) | 2013-05-30 | 2014-12-04 | Hewlett-Packard Development Company, L.P. | Separate memory controllers to access data in memory |
US20150067291A1 (en) * | 2013-08-30 | 2015-03-05 | Kabushiki Kaisha Toshiba | Controller, memory system, and method |
US10108372B2 (en) | 2014-01-27 | 2018-10-23 | Micron Technology, Inc. | Methods and apparatuses for executing a plurality of queued tasks in a memory |
US9454310B2 (en) | 2014-02-14 | 2016-09-27 | Micron Technology, Inc. | Command queuing |
WO2015126518A2 (en) * | 2014-02-20 | 2015-08-27 | Rambus Inc. | High performance persistent memory |
US20150279463A1 (en) | 2014-03-31 | 2015-10-01 | Dell Products, L.P. | Adjustable non-volatile memory regions of dram-based memory module |
KR102249416B1 (ko) | 2014-06-11 | 2021-05-07 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템의 구동 방법 |
US9870318B2 (en) | 2014-07-23 | 2018-01-16 | Advanced Micro Devices, Inc. | Technique to improve performance of memory copies and stores |
US9489239B2 (en) | 2014-08-08 | 2016-11-08 | PernixData, Inc. | Systems and methods to manage tiered cache data storage |
US9721660B2 (en) | 2014-10-24 | 2017-08-01 | Microsoft Technology Licensing, Llc | Configurable volatile memory without a dedicated power source for detecting a data save trigger condition |
US20160232112A1 (en) | 2015-02-06 | 2016-08-11 | Futurewei Technologies, Inc. | Unified Memory Bus and Method to Operate the Unified Memory Bus |
US20170160929A1 (en) * | 2015-12-02 | 2017-06-08 | Hewlett Packard Enterprise Development Lp | In-order execution of commands received via a networking fabric |
US10613763B2 (en) | 2016-04-21 | 2020-04-07 | Adesto Technologies Corporation | Memory device having multiple read buffers for read latency reduction |
US10534540B2 (en) | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
US10261907B2 (en) | 2017-03-09 | 2019-04-16 | International Business Machines Corporation | Caching data in a redundant array of independent disks (RAID) storage system |
-
2017
- 2017-06-05 US US15/613,408 patent/US11003602B2/en active Active
-
2018
- 2018-01-19 WO PCT/US2018/014345 patent/WO2018140301A1/en unknown
- 2018-01-19 EP EP18744999.6A patent/EP3574410A4/en not_active Ceased
- 2018-01-19 CN CN201880008383.3A patent/CN110214316A/zh active Pending
- 2018-01-19 KR KR1020197024511A patent/KR102307229B1/ko active IP Right Grant
- 2018-01-23 TW TW107102386A patent/TWI661308B/zh active
-
2021
- 2021-05-10 US US17/315,871 patent/US11586566B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107324A1 (en) * | 2002-12-02 | 2004-06-03 | John Nystuen | DDR SDRAM memory controller with multiple dependency request architecture and intelligent requestor interface |
US20040264284A1 (en) * | 2003-06-27 | 2004-12-30 | Priborsky Anthony L | Assignment of queue execution modes using tag values |
US20050160320A1 (en) * | 2004-01-08 | 2005-07-21 | International Business Machines Corporation | Method for verification of command processing in a computer system design having a multiple priority command queue |
US20090138665A1 (en) * | 2006-07-21 | 2009-05-28 | Canon Kabushiki Kaisha | Memory controller |
US20120311277A1 (en) * | 2011-06-01 | 2012-12-06 | Chu Michael H M | Memory controllers with dynamic port priority assignment capabilities |
US20130060981A1 (en) * | 2011-09-06 | 2013-03-07 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US20130128675A1 (en) * | 2011-11-21 | 2013-05-23 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, memory system and controller operating method |
US20130262761A1 (en) * | 2012-03-29 | 2013-10-03 | Samsung Electronics Co., Ltd. | Memory device and method of operating the same |
CN103366801A (zh) * | 2012-03-29 | 2013-10-23 | 三星电子株式会社 | 存储器装置及其操作方法 |
US20140240326A1 (en) * | 2013-02-28 | 2014-08-28 | Daniel F. Cutter | Method, Apparatus, System For Representing, Specifying And Using Deadlines |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116324743A (zh) * | 2020-11-05 | 2023-06-23 | 谷歌有限责任公司 | 存储器请求优先级升级 |
Also Published As
Publication number | Publication date |
---|---|
EP3574410A4 (en) | 2020-08-26 |
TWI661308B (zh) | 2019-06-01 |
US11586566B2 (en) | 2023-02-21 |
US20210263867A1 (en) | 2021-08-26 |
KR102307229B1 (ko) | 2021-10-01 |
US20180210847A1 (en) | 2018-07-26 |
KR20190101494A (ko) | 2019-08-30 |
US11003602B2 (en) | 2021-05-11 |
EP3574410A1 (en) | 2019-12-04 |
TW201833786A (zh) | 2018-09-16 |
WO2018140301A1 (en) | 2018-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102442495B1 (ko) | 메모리 프로토콜 | |
CN109471593B (zh) | 存储装置及其数据训练方法 | |
US10310734B2 (en) | Tier mode for access operations to 3D memory | |
CN109074333A (zh) | 非确定性存储器协议 | |
US20140075107A1 (en) | Interface for storage device access over memory bus | |
JP6802933B2 (ja) | 自動動的ワード線開始電圧のための装置及び方法 | |
US10725902B2 (en) | Methods for scheduling read commands and apparatuses using the same | |
TWI668703B (zh) | 具有可程式化緩衝器及快取大小的記憶體協定 | |
TWI660367B (zh) | 記憶體控制器 | |
US20210208815A1 (en) | Storage device and operating method thereof | |
CN110214316A (zh) | 具有命令优先权的存储器协议 | |
KR102267388B1 (ko) | 메모리 프로토콜 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190906 |