CN109997121B - 存储器协议 - Google Patents
存储器协议 Download PDFInfo
- Publication number
- CN109997121B CN109997121B CN201780073425.7A CN201780073425A CN109997121B CN 109997121 B CN109997121 B CN 109997121B CN 201780073425 A CN201780073425 A CN 201780073425A CN 109997121 B CN109997121 B CN 109997121B
- Authority
- CN
- China
- Prior art keywords
- read
- host
- rid
- memory device
- data blocks
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 23
- 230000009977 dual effect Effects 0.000 abstract description 3
- 239000000872 buffer Substances 0.000 description 16
- 230000007704 transition Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 101710148027 Ribulose bisphosphate carboxylase/oxygenase activase 1, chloroplastic Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 235000021251 pulses Nutrition 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- 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
-
- 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]
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)
- Information Transfer Systems (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Abstract
本发明包含与存储器协议相关的设备及方法。一种实例设备可通过下列步骤执行包含第一数据块及第二数据块的读取命令:将第一读取识别RID号码指派到所述第一数据块且将第二RID号码指派到所述第二数据块;将所述第一数据块及所述第一RID号码发送到主机;及将所述第二数据块及所述第二RID号码发送到所述主机。所述设备可为非易失性双列直插存储器模块NVDIMM装置。
Description
技术领域
本发明大体上涉及半导体装置,且更特定来说,涉及用于存储器协议的设备及方法。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性存储器及非易失性存储器。易失性存储器可需要电力来维持其数据且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)等。非易失性存储器可在未供电时通过保持所存储的数据而提供持久数据且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻性随机存取存储器(MRAM))等。
存储器也用作用于广泛范围的电子应用的易失性及非易失性数据存储装置。非易失性存储器可用于例如个人计算机、便携式存储器棒、数码相机、蜂窝电话、便携式音乐播放器(例如MP3播放器)、电影播放器及其它电子装置。存储器单元可经布置成阵列,其中所述阵列用于存储器装置中。
存储器可为用于计算装置中的存储器模块(例如,双列直插存储器模块(DIMM))的部分。存储器模块可包含易失性存储器(例如,例如DRAM)及/或非易失性存储器(例如,例如快闪存储器或RRAM)。DIMM可使用计算系统中的主存储器。
附图说明
图1是根据本发明的数个实施例的呈包含存储器系统的计算系统的形式的设备的框图。
图2A到2B是根据本发明的数个实施例的数个读取操作的图。
图3是根据本发明的数个实施例的数个寄存器的图。
具体实施方式
本发明包含与存储器协议相关的设备及方法。实例设备可通过下列步骤执行包含第一数据块及第二数据块的读取命令:将第一读取识别(RID)号码指派到所述第一数据块且将第二RID号码指派到所述第二数据块;将所述第一数据块及所述第一RID号码发送到主机;及将所述第二数据块及所述第二RID号码发送到所述主机。
在数个实施例中,读取命令可包含数个数据块且可以特定顺序传回与读取命令相关联的数据块。可由存储器装置中的设置或由读取命令中的位指示数据块传回的顺序。而且,可将与不同读取命令相关联的数据块连续或通过使来自不同命令的数据块交错而发送到主机。还可基于存储器装置对数据存取的时间发送与读取命令相关联的数据块,使得将首先存取的块首先发送到主机。
在本发明的下列详细描述中,参考附图,其形成本发明的一部分,且其中通过说明展示可如何实践本发明的数个实施例。充分详细描述这些实施例以使所属领域的一般技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且在不脱离本发明的范围的情况下做出过程、电及/或结构改变。如本文中使用,指定符“N”指示如此指定的特定特征的数目可包含于本发明的数个实施例中。
如本文中使用,“数个”某物可指代此类事物中的一或多者。举例来说,数个存储器装置可指代存储器装置中的一或多者。另外,如本文中使用,例如“N”的指定符(尤其关于图式中的参考数字)指示如此指定的数个特定特征可包含于本发明的数个实施例中。
本文中的图遵循编号惯例,其中首位数字或前几位数字对应于图式图号且其余数字识别图式中的元件或组件。可通过使用类似数字识别不同图之间的类似元件或组件。如将了解,可添加、交换及/或消除在本文中的各种实施例中展示的元件,以便提供本发明的数个额外实施例。另外,图中提供的元件的比例及相对尺度希望说明本发明的各种实施例且不在限制意义上使用。
图1是根据本发明的一或多个实施例的包含呈数个存储器系统104-1、…、104-N的形式的设备的计算系统100的功能框图。如本文中使用,例如,“设备”可指代(但不限于)任何各种结构或结构组合,例如一电路或若干电路、一裸片或若干裸片、一模块或若干模块、一装置或若干装置或一系统或若干系统。在图1中说明的实施例中,存储器系统104-1、…、104-N可包含一或多个双列直插存储器模块(DIMM)110-1、…、110-X、110-Y。DIMM 110-1、…、110-X、110-Y可包含易失性存储器及/或非易失性存储器。在数个实施例中,存储器系统104-1、…、104-N可包含多芯片装置。多芯片装置可包含数个不同存储器类型及/或存储器模块。举例来说,存储器系统可包含任何类型的模块上的非易失性或易失性存储器。下文结合图1到4描述的实例使用DIMM作为存储器模块,但本发明的协议可用于其中存储器可执行不确定命令的任何存储器系统上。在图1中,经由通道112-1耦合到主机的存储器系统104-1可包含DIMM 110-1、…、110-X,其中DIMM 110-1是NVDIMM且110-X是DRAM DIMM。在此实例中,每一DIMM 110-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及DRAM DIMM两者都在同一存储器系统上。主机及NVDIMM可根据本发明的协议经由读取就绪(R_RDY)信号、读取发送(R_SEND)信号、写入信用增量(WC_INC)信号及读取识别(RID)信号进行通信。可经由未在现有协议(例如,DDR4)中使用的引脚或是来自现有协议(例如,DDR4)的改变用途(例如,以不同方式使用)的引脚发送读取就绪(R_RDY)信号、读取发送(R_SEND)信号、写入信用增量(WC_INC)信号及读取识别(RID)信号使得本协议与现有协议兼容。而且,引脚可经指派到正在开发的协议(例如,DDR5)中的读取就绪(R_RDY)信号、读取发送(R_SEND)信号、写入信用增量(WC_INC)信号及读取识别(RID)信号。
如在图1中说明,主机102可经耦合到存储器系统104-1、…、104-N。在数个实施例中,每一存储器系统104-1、…、104-N可经由通道耦合到主机102。在图1中,存储器系统104-1经由通道112-1耦合到主机102且存储器系统104-N经由通道112-N耦合到主机102。主机102可为膝上型计算机、个人计算机、数码相机、数字记录及回放装置、移动电话、PDA、存储卡读取器、接口集线器及其它主机系统且可包含存储器存取装置(例如,处理器)。所属领域的一般技术人员将了解,“处理器”可意指一或多个处理器,例如并行处理系统、数个共处理器等。
主机102包含与存储器系统104-1、…、104-N通信的主机控制器108。主机控制器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与DIMM 110-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把与命令相关联的数据块传回到主机102的顺序。
DIMM 110-1、…、110-X、110-Y可提供用于存储器系统的主存储器或可用作贯穿存储器系统的额外存储器或存储装置。每一DIMM 110-1、…、110-X、110-Y可包含一或多个存储器单元(例如,非易失性存储器单元)阵列。阵列可为例如具有NAND架构的快闪存储器阵列。实施例不限于特定类型的存储器装置。例如,存储器装置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快闪存储器等。
图1的实施例可包含未经说明以免模糊本发明的实施例的额外电路。举例来说,存储器系统104-1、…、104-N可包含用以锁存通过I/O电路经由I/O连接提供的地址信号的地址电路。可由行解码器及列解码器接收及解码地址信号以存取存储器系统104-1、…、104-N。所属领域的技术人员将了解,地址输入连接的数目可取决于DIMM 110-1、…、110-X、110-Y的密度及架构。
图2A到2B是根据本发明的数个实施例的数个读取操作的图。图2A说明执行两个读取操作的实例。命令信号222可从主机发送到NVDIMM。命令信号222可包含激活命令及读取命令。在图2A中,第一激活命令242-10、第一读取命令244-10、第二激活命令242-12及第二读取命令244-12从主机发送到NVDIMM。读取命令可包含与命令相关联的数据的数量(例如,与读取命令相关联的数据块的数目)的指示。举例来说,读取命令244-10可与2个64B数据块相关联且读取命令244-12可与1个64B数据块相关联。数据块可为在主机与NVDIMM之间传送的数据量。主机可将主机读取识别(RID)号码指派到读取命令。主机RID号码可包含于读取命令中且在读取命令从主机发送到NVDIMM时传输到NVDIMM。在图2A中,第一读取命令244-10可被指派主机RID 10且第二读取命令244-12可被指派主机RID 12。主机可通过使先前指派的主机RID号码增加等于或大于与先前读取命令相关联的数个数据块的数量的值而指派主机RID号码。举例来说,在图2A中,由于读取命令与两个数据块相关联,所以第一读取命令244-10被指派主机RID 10且第二读取命令244-12被指派主机RID 12。NVDIMM将针对与第一读取命令244-10相关联的第二数据块使用存储器装置RID 11,因此当将主机RID指派给第二命令244-12时由主机略过RID 11。
读取命令还可包含传回与读取命令相关联的数据块的顺序的指示。读取命令可包含寄存器地址,NVDIMM可使用所述寄存器地址来定位指示传回与读取命令相关联的数据块的顺序的寄存器。读取命令还可包含优先传回与读取命令相关联的特定数据块的指示。举例来说,读取命令可包含首先传回特定数据块(例如第二块及/或在读取命令中寻址的数据块)的指示。而且,读取命令可包含以基于NVDIMM存取与命令相关联的数据块的时间的顺序传回数据块的指示。举例来说,如果首先存取与读取命令相关联的第三数据块,那么首先将第三数据块传回到主机。
读取命令还可包含指示与命令相关联的优先级及传回数据块的顺序的数个位,例如,较低地址位。位(例如,较低地址位)可指示低优先级或高优先级(例如,是否应在与其它命令相关联的数据块之前传回与命令相关联的数据块)及/或数据块的随机或以顺序传回。指示数据块的随机传回的位(例如,较低地址位)还可指示凭借关键块优先级传回数据块,例如,首先传回关键块或在先就绪先传回的基础上传回数据块。举例来说,当使用3个位以指示优先级及顺序时,地址序列000可指示低优先级及以顺序传回数据块,地址序列001可指示低优先级及在先就绪先传回的基础上随机传回数据块,地址序列010可指示低优先级及凭借关键块优先级随机传回数据块,地址序列100可指示高优先级及以顺序传回数据块,地址序列101可指示高优先级及在先就绪先传回的基础上随机传回数据块,且地址序列110可指示低优先级及凭借关键块优先级随机传回数据块。
在数个实施例中,NVDIMM还可循序及/或交错地传回数据块,此可在NVDIMM的模式寄存器中编程。当循序传回块时,首先传回与命令相关联的第一数据块,接着传回与命令相关联的第二数据块,以此类推。当交错块时,与特定命令相关联的数据块可后续接着与不同命令相关联的块。
在本发明的协议中,可在不考虑时序参数的情况下相继发送读取命令。与归因于时钟时序参数而必须隔开命令相比,此允许更快地发送命令,因此NVDIMM可更快开始处理命令,此可减小命令的延时。
在图2A中,一旦NVDIMM已接收读取命令244-10及244-12,NVDIMM便可确定与读取命令244-10及244-12相关联的数据块数目。NVDIMM可检查NVDIMM的缓冲器及/或高速缓存及NVDIMM的非易失性存储器中的缓冲器及/或高速缓存以定位与读取命令244-10及244-12相关联的数据。一旦控制器定位数据且使数据准备好发送回到主机,NVDIMM控制器便可将读取就绪命令发送到主机。当NVDIMM接收数个读取命令时,NVDIMM控制器以基于读取命令中的指示及/或NVDIMM上的设置的顺序传回与读取命令相关联的数据块。举例来说,如果读取命令包含寄存器地址,那么NVDIMM控制器将寄存器定位于所述地址处,其指示传回与读取命令相关联的数据的顺序。
在图2A中,读取命令244-10可包含指示将传回与命令相关联的第一数据块且接着传回与命令相关联的第二数据块的寄存器的寄存器地址。可通过将读取就绪信号从低切换(例如,转变)到高或从高切换到低而将读取就绪指示符发送到主机以指示与读取命令244-10相关联的第一数据块准备好被发送到主机。主机可通过检测读取就绪信号的转变而检测读取就绪指示符。响应于接收读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器以指示主机准备好接收与读取命令244-10相关联的数据。可在任何时间且不考虑时序参数的情况下通过主机将读取发送指示符发送到NVDIMM控制器。主机可通过计时读取发送命令发送到NVDIMM控制器的时间而控制数据总线上的业务。读取发送指示符可包含将读取发送信号从低切换到高,此由NVDIMM控制器检测。NVDIMM控制器可响应于接收读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-10相关联的第一数据块246-10。而且,当将数据块246-10发送到主机时,在RID引脚226上将读取识别(RID)信号248-10发送到主机。RID信号248-10包含通过NVDIMM指派到数据块的存储器装置RID号码且用于识别与发送到主机的数据块246-10相关联的读取命令。数据块246-10被指派存储器装置RID号码10。归因于NVDIMM命令能够以不同于接收读取命令的顺序的顺序响应于读取命令,主机在无RID信号的情况下不会知道与特定数据传输相关联的读取命令。RID信号可包含n个位,其中n是1或更多个位。举例来说,可在2位RID总线上传输RID信号。主机可发出的未处理读取数目可取决于RID信号中的位数目、数据封包中的拍(beat)数目及NVDIMM控制器可支持的读取数目。举例来说,如果数据突发是8个拍且RID信号是2个位,那么主机可发出的未处理读取的数目是22*8=65,536。而且,NVDIMM可具有可由主机读取的寄存器以进一步限制主机可发出的未处理读取命令的数目且主机可跟踪主机已发出的未处理读取的数目。
可通过将读取就绪信号从低切换(例如,转变)到高或从高切换到低而将读取就绪指示符发送到主机以指示与读取命令244-10相关联的第二数据块准备好被发送到主机。主机可通过检测读取就绪信号的转变而检测读取就绪指示符。响应于接收读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器以指示主机准备好接收与读取命令244-10相关联的第二数据块。可在任何时间且不考虑时序参数的情况下由主机将读取发送指示符发送到NVDIMM控制器。主机可通过计时读取发送命令发送到NVDIMM控制器的时间而控制数据总线上的业务。读取发送指示符可包含将读取发送信号从低切换到高,此由NVDIMM控制器检测。NVDIMM控制器可响应于接收读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-10相关联的第二数据块246-11。而且,当将数据块246-11发送到主机时,在RID引脚226上将读取识别(RID)信号248-11发送到主机。RID信号248-11包含由NVDIMM指派到数据块的存储器装置RID号码且用于识别与发送到主机的数据块246-11相关联的读取命令。数据块246-11被指派存储器装置RID号码11。
在数个实施例中,读取发送信号可从低脉冲到高或从高脉冲到低或SEND命令可用于指示主机准备好接收数据。可通过主机对脉冲读取发送信号计时以与在共同通道上发送到DIMM的其它信号协调,通常使用时钟边缘捕获所述其它信号,其中一些DIMM可使用或可不使用本发明的协议。
响应于接收读取命令244-12,可通过将读取就绪信号从高切换到低而将读取就绪指示符发送到主机以指示与读取命令244-12相关联的数据块准备好被发送到主机。主机可通过检测读取就绪信号从高到低的改变而检测读取就绪指示符。响应于接收读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器以指示主机准备好接收与读取命令244-12相关联的数据块。读取发送指示符可包含将读取发送信号从高切换到低,此由NVDIMM控制器检测。NVDIMM控制器可响应于接收读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-12相关联的数据块246-12。而且,当将数据块246-12发送到主机时,在RID引脚226上将读取识别(RID)信号248-12发送到主机。RID信号248-12包含由NVDIMM指派到数据块的存储器装置RID号码且用于识别与发送到主机的数据块246-12相关联的读取命令。数据块246-12被指派存储器装置RID号码12。
图2B说明执行两个读取操作的实例,其中数据块与首先传回的每一命令的关键块交错。命令信号222可从主机发送到NVDIMM。命令信号222可包含激活命令及读取命令。在图2B中,第一激活命令242-10、第一读取命令244-10、第二激活命令242-20及第二读取命令244-20从主机发送到NVDIMM。读取命令可包含与命令相关联的数据的数量(例如,与读取命令相关联的数据块的数目)的指示。例如,读取命令244-10可与4个64B数据块相关联且读取命令244-20可与2个64B数据块相关联。数据块可为在主机与NVDIMM之间传送的数据量。主机可将主机读取识别(RID)号码指派到读取命令。主机RID号码可包含于读取命令中且在将读取命令从主机发送到NVDIMM时传输到NVDIMM。在图2A中,第一读取命令244-10可被指派主机RID 10且第二读取命令244-20可被指派主机RID 20。
读取命令还可包含传回与读取命令相关联的数据块的顺序的指示。读取命令244-10及读取命令244-20可各自包括将首先传回与读取命令相关联的第一数据块(例如,关键块)的指示。
在图2B中,一旦NVDIMM已接收读取命令244-10及244-20,NVDIMM可确定与读取命令244-10及244-20相关联的数据块数目。NVDIMM可检查NVDIMM的缓冲器及/或高速缓存及NVDIMM的非易失性存储器以定位与读取命令244-10及244-20相关联的数据。一旦控制器定位数据且使数据准备好发送回到主机,NVDIMM控制器便可将读取就绪命令发送到主机。
在图2A中,将数据传送到主机可开始于通过将读取就绪信号从低切换(例如,转变)到高或从高切换到低而将读取就绪指示符发送到主机以指示与读取命令244-10相关联的第一数据块准备好被发送到主机。主机可通过检测读取就绪信号的转变而检测读取就绪指示符。响应于接收读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器以指示主机准备好接收与读取命令244-10相关联的数据。可在任何时间且不考虑时序参数的情况下由主机将读取发送指示符发送到NVDIMM控制器。主机可通过计时读取发送命令发送到NVDIMM控制器的时间而控制数据总线上的业务。读取发送指示符可包含将读取发送信号从低切换到高,此由NVDIMM控制器检测。NVDIMM控制器可响应于接收读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-10相关联的第一数据块246-10。而且,当将数据块246-10发送到主机时,在RID引脚226上将读取识别(RID)信号248-10发送到主机。RID信号248-10包含由NVDIMM指派到数据块的存储器装置RID号码且用于识别与发送到主机的数据块246-10相关联的读取命令。数据块246-10被指派存储器装置RID号码10。
将数据传送到主机可通过以下动作而继续:通过将读取就绪信号从低切换(例如,转变)到高或从高切换到低而将读取就绪指示符发送到主机以指示与读取命令244-20相关联的第一数据块准备好被发送到主机。主机可通过检测读取就绪信号的转变而检测读取就绪指示符。响应于接收读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器以指示主机准备好接收与读取命令244-20相关联的第二数据块。可在任何时间且不考虑时序参数的情况下由主机将读取发送指示符发送到NVDIMM控制器。读取发送指示符可包含将读取发送信号从低切换到高,此由NVDIMM控制器检测。NVDIMM控制器可响应于接收读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-20相关联的第二数据块246-20。而且,当将数据块246-20发送到主机时,在RID引脚226上将读取识别(RID)信号248-20发送到主机。RID信号248-20包含由NVDIMM指派到数据块的存储器装置RID号码且用于识别与发送到主机的数据块246-20相关联的读取命令。数据块246-20被指派存储器装置RID号码20。
一旦已将与读取命令244-10相关联的第一块246-10及与读取命令244-20相关联的第二数据块发送到主机,便可将剩余数据块交错地发送到主机。以交错方式传送与读取命令244-10及244-20相关联的剩余数据块可通过以下动作而继续:通过将读取就绪信号从低切换(例如,转变)到高或从高切换到低而将读取就绪指示符发送到主机以指示与读取命令244-10相关联的第二数据块准备好被发送到主机。主机可通过检测读取就绪信号的转变而检测读取就绪指示符。响应于接收读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器以指示主机准备好接收与读取命令244-10相关联的第二数据块。可在任何时间且不考虑时序参数的情况下由主机将读取发送指示符发送到NVDIMM控制器。读取发送指示符可包含将读取发送信号从低切换到高,此由NVDIMM控制器检测。NVDIMM控制器可响应于接收读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-10相关联的第二数据块246-11。而且,当将数据块246-11发送到主机时,在RID引脚226上将读取识别(RID)信号248-11发送到主机。RID信号248-11包含由NVDIMM指派到数据块的存储器装置RID号码且用于识别与发送到主机的数据块246-11相关联的读取命令。数据块246-11被指派存储器装置RID号码11。
以交错方式传送与读取命令244-10及244-20相关联的剩余数据块可通过以下动作而继续:通过将读取就绪信号从低切换(例如,转变)到高或从高切换到低而将读取就绪指示符发送到主机以指示与读取命令244-20相关联的第二数据块准备好被发送到主机。主机可通过检测读取就绪信号的转变而检测读取就绪指示符。响应于接收读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器以指示主机准备好接收与读取命令244-20相关联的第二数据块。可在任何时间且不考虑时序参数的情况下由主机将读取发送指示符发送到NVDIMM控制器。读取发送指示符可包含将读取发送信号从低切换到高,此由NVDIMM控制器检测。NVDIMM控制器可响应于接收读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-20相关联的第二数据块246-21。而且,当将数据块246-21发送到主机时,在RID引脚226上将读取识别(RID)信号248-21发送到主机。RID信号248-21包含由NVDIMM指派到数据块的存储器装置RID号码且用于识别与发送到主机的数据块246-21相关联的读取命令。数据块246-21被指派存储器装置RID号码21。
以交错方式传送与读取命令244-10及244-20相关联的剩余数据块可通过以下动作而继续:通过将读取就绪信号从低切换(例如,转变)到高或从高切换到低而将读取就绪指示符发送到主机以指示与读取命令244-10相关联的第三数据块准备好被发送到主机。主机可通过检测读取就绪信号的转变而检测读取就绪指示符。响应于接收读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器以指示主机准备好接收与读取命令244-10相关联的第三数据块。可在任何时间且不考虑时序参数的情况下由主机将读取发送指示符发送到NVDIMM控制器。读取发送指示符可包含将读取发送信号从低切换到高,此由NVDIMM控制器检测。NVDIMM控制器可响应于接收读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-10相关联的第三数据块246-12。而且,当将数据块246-12发送到主机时,在RID引脚226上将读取识别(RID)信号248-12发送到主机。RID信号248-12包含由NVDIMM指派到数据块的存储器装置RID号码且用于识别与发送到主机的数据块246-12相关联的读取命令。数据块246-12被指派存储器装置RID号码12。
以交错方式传送与读取命令244-10及244-20相关联的剩余数据块可通过以下动作而继续:通过将读取就绪信号从低切换(例如,转变)到高或从高切换到低而将读取就绪指示符发送到主机以指示与读取命令244-10相关联的第四数据块准备好被发送到主机。主机可通过检测读取就绪信号的转变而检测读取就绪指示符。响应于接收读取就绪指示符,主机可将读取发送指示符发送到NVDIMM控制器以指示主机准备好接收与读取命令244-10相关联的第四数据块。可在任何时间且不考虑时序参数的情况下由主机将读取发送指示符发送到NVDIMM控制器。读取发送指示符可包含将读取发送信号从低切换到高,此由NVDIMM控制器检测。NVDIMM控制器可响应于接收读取发送指示符而在DQ+ECC引脚224上发送与读取命令244-10相关联的第四数据块246-13。而且,当将数据块246-13发送到主机时,在RID引脚226上将读取识别(RID)信号248-13发送到主机。RID信号248-13包含由NVDIMM指派到数据块的存储器装置RID号码且用于识别与发送到主机的数据块246-13相关联的读取命令。数据块246-13被指派存储器装置RID号码13。
图3是根据本发明的数个实施例的数个寄存器的图。图3包含具有对应寄存器地址(RA-1、…、RA-14)及块顺序(CO-1、…、CO-14)的寄存器350-1、…、350-14。在数个实施例中,具有任何大小的任何数目个寄存器可用于确定传回数据块的顺序。可使用读取命令中的1个位寻址寄存器350-1及350-2。寄存器350-1可包含6个位且可经寻址以针对具有2个数据块的命令确定用于传回数据块的顺序。寄存器350-2可包含6个位且可经寻址以针对具有3个数据块的命令确定用于传回数据块的顺序。
可使用读取命令中的2个位寻址寄存器350-3、350-4、350-5及350-6。寄存器350-3可包含12个位且可经寻址以针对具有4个数据块的命令确定用于传回数据块的顺序。寄存器350-4可包含12个位且可经寻址以针对具有5个数据块的命令确定用于传回数据块的顺序。寄存器350-5可包含12个位且可经寻址以针对具有6个数据块的命令确定用于传回数据块的顺序。寄存器350-6可包含12个位且可经寻址以针对具有7个数据块的命令确定用于传回数据块的顺序。
可使用读取命令中的3个位寻址寄存器350-7、350-8、350-9、350-10、350-11、350-12、350-13、350-14。寄存器350-7可包含32个位且可经寻址以针对具有8个数据块的命令确定用于传回数据块的顺序。寄存器350-8可包含32个位且可经寻址以针对具有9个数据块的命令确定用于传回数据块的顺序。寄存器350-9可包含32个位且可经寻址以针对具有10个数据块的命令确定用于传回数据块的顺序。寄存器350-10可包含32个位且可经寻址以针对具有11个数据块的命令确定用于传回数据块的顺序。寄存器350-11可包含32个位且可经寻址以针对具有12个数据块的命令确定用于传回数据块的顺序。寄存器350-12可包含32个位且可经寻址以针对具有13个数据块的命令确定用于传回数据块的顺序。寄存器350-3可包含32个位且可经寻址以针对具有14个数据块的命令确定用于传回数据块的顺序。寄存器350-15可包含32个位且可经寻址以针对具有15个数据块的命令确定用于传回数据块的顺序。
尽管已在本文中说明及描述特定实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所展示的特定实施例。本发明希望涵盖本发明的各种实施例的调适或变化。应理解,已以说明性方式而非限制性方式进行上文描述。所属领域的技术人员在审阅上文描述后将明白上文实施例及本文中未具体描述的其它实施例的组合。本发明的各种实施例的范围包含其中使用上文结构及方法的其它应用。因此,应参考所附权利要求书连同此类权利要求所授权的等效物的全部范围确定本发明的各种实施例的范围。
在前述实施方式中,出于简化本发明的目的而将各种特征集合于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用多于每一权利要求中明确叙述的特征的意图。而是,如下列权利要求反映,本发明标的物在于少于单个所揭示实施例的所有特征。因此,特此将所附权利要求并入实施方式中,其中每一权利要求独立作为单独实施例。
Claims (24)
1.一种存储器设备(100),其包括:
存储器装置(104-1、…、104-N);及
控制器(114),其经耦合到所述存储器装置(104-1、…、104-N),经配置以:
从主机接收读取命令,其中所述读取命令被指派主机读取识别RID号码,所述主机读取识别RID号码以等于或大于与先前读取命令相关联的数个数据块的数量的值被增加,且其中所述读取命令包含第一数据块及第二数据块以特定顺序被传回的指示;以及
通过下列步骤执行与所述第一数据块及所述第二数据块相关联的读取命令(244-10、244-12):
将第一存储器装置读取识别RID号码指派到所述第一数据块且将第二存储器装置读取识别RID号码指派到所述第二数据块,其中所述第一存储器装置读取识别RID号码是所述主机读取识别RID号码;及
将所述第一数据块、所述第一存储器装置读取识别RID号码、所述第二数据块及所述第二存储器装置读取识别RID号码以所指示的所述特定顺序传回所述主机(102)。
2.根据权利要求1所述的存储器设备,其中耦合到所述存储器装置(104-1、…、104-N)的所述控制器(114)经配置以从主机(102)接收读取命令(244-10、244-12),其中所述读取命令(244-10、244-12)包含以特定顺序传回所述第一数据块及所述第二数据块的指示。
3.根据权利要求1所述的存储器设备,其中响应于所述读取命令(244-10、244-12)包含所述第一数据块的地址而在所述第二数据块之前将所述第一数据块发送到所述主机(102)。
4.根据权利要求1所述的存储器设备,其中响应于所述读取命令(244-10、244-12)包含指示在与所述读取命令(244-10、244-12)相关联的任何其它数据块之前发送所述第一数据块的所述指示而在所述第二数据块之前将所述第一数据块发送到所述主机(102)。
5.根据权利要求1所述的存储器设备,其中响应于所述读取命令(244-10、244-12)包含寄存器地址以定位指示传回与所述读取命令(244-10、244-12)相关联的数据块的顺序的寄存器(118、350-1到350-14)而在所述第二数据块之前将所述第一数据块发送到所述主机(102)。
6.根据权利要求1所述的存储器设备,其中响应于所述第一数据块在所述第二数据块之前就绪而在所述第二数据块之前将所述第一数据块发送到所述主机(102)。
7.一种存储器设备(100),其包括:
存储器装置(104-1、…、104-N);及
控制器(114),其经耦合到所述存储器装置(104-1、…、104-N),经配置以:
从主机接收读取命令(244-10、244-12),其中所述读取命令被指派主机读取识别RID号码,所述主机读取识别RID号码以等于或大于与先前读取命令相关联的数个数据块的数量的值被增加,且其中所述读取命令包含数个数据块以及所述数个数据块以特定顺序被传回所述主机的指示;
将存储器装置读取识别RID号码指派到所述数个数据块的每一者,其中所述数个数据块中的第一数据块的存储器装置读取识别RID号码是所述主机读取识别RID号码;及
以由所述读取命令(244-10、244-12)指示的所述特定顺序将所述数个数据块和所述存储器装置读取识别RID号码发送到所述主机。
8.根据权利要求7所述的存储器设备,其中所述存储器装置包含数个寄存器(118、350-1到350-14),其各自指示传回与所述读取命令(244-10、244-12)相关联的所述数个数据块的顺序。
9.根据权利要求7所述的存储器设备,其中所述读取命令(244-10、244-12)包含以基于所述存储器装置(104-1、…、104-N)存取所述数个数据块的时间的所述特定顺序传回所述数个数据块的指示。
10.根据权利要求7所述的存储器设备,其中所述读取命令(244-10、244-12)包含以连续顺序传回所述数个数据块的指示。
11.根据权利要求7所述的存储器设备,其中所述读取命令(244-10、244-12)包含优先传回所述数个数据块的特定块的指示。
12.一种存储器设备(100),其包括:
存储器装置(104-1、…、104-N);及
控制器(114),其经耦合到所述存储器装置(104-1、…、104-N),经配置以:
从主机(102)接收第一读取命令(244-10)及第二读取命令(244-12),其中所述第一读取命令(244-10)与指派了第一主机读取识别RID号码的第一数目个数据块相关联,且所述第二读取命令(244-12)包含指派了第二主机读取识别RID号码的第二数目个数据块,其中所述第二主机读取识别RID号码以等于或大于与所述第一读取命令相关联的所述第一数目个数据块的数量的值被增加;
将第一数目个存储器装置读取识别RID号码指派到所述第一数目个数据块,其中所述第一数目个存储器装置读取识别RID号码以所述第一主机读取识别RID号码开始;
将第二数目个存储器装置读取识别RID号码指派到所述第二数目个数据块,其中所述第二数目个存储器装置读取识别RID号码以所述第二主机读取识别RID号码开始;及
以所述主机指示的特定顺序将具有所述第一数目个存储器装置读取识别RID号码的所述第一数目个数据块及具有所述第二数目个存储器装置读取识别RID号码的所述第二数目个数据块传回到所述主机(102)。
13.根据权利要求12所述的存储器设备,其中所述特定顺序包含在发送任何其它块之前发送由所述第一读取命令(244-10)指示的所述第一数目个数据块的特定块。
14.根据权利要求13所述的存储器设备,其中所述特定顺序包含在发送所述第一数目个数据块的所述特定块之后发送由所述第二读取命令(244-12)指示的所述第二数目个数据块的特定块。
15.根据权利要求12所述的存储器设备,其中所述特定顺序包含以连续顺序交错所述第一数目个数据块与所述第二数目个数据块。
16.根据权利要求12所述的存储器设备,其中所述特定顺序包含基于所述存储器装置(104-1、…、104-N)存取所述第一数目个数据块及所述第二数目个数据块的时间交错所述第一数目个数据块与所述第二数目个数据块。
17.一种用于处理存储器协议的方法,其包括:
将读取命令(244-10、244-12)从主机(102)发送到存储器装置(104-1、…、104-N),其中所述读取命令(244-10、244-12)被所述主机(102)指派主机读取识别RID号码,所述主机读取识别RID号码以等于或大于与先前读取命令相关联的数个数据块的数量的值被增加,且所述读取命令包含所述数个数据块以特定顺序被传回的指示;
经由所述存储器装置(104-1、…、104-N)上的控制器(114)确定与所述读取命令(244-10、244-12)相关联的所述数个数据块的数量且将存储器装置读取识别RID号码指派到所述数个数据块中的每一者,其中第一数目个数据块的存储器装置读取识别RID号码是所述主机读取识别RID号码;及
将与所述读取命令(244-10、244-12)相关联的所述数个数据块和所述存储器装置读取识别RID号码从所述存储器装置(104-1、…、104-N)以所述特定顺序传回到所述主机(102)。
18.根据权利要求17所述的方法,其中发送所述读取命令(244-10、244-12)包含:发送用于将寄存器(118、350-1到350-14)定位于所述存储器装置(104-1、…、104-N)中的寄存器地址,所述寄存器指示将所述数个数据块发送到所述主机(102)的所述特定顺序。
19.根据权利要求17所述的方法,其中发送所述读取命令(244-10、244-12)包含:发送与所述读取命令(244-10、244-12)相关联的所述数个数据块的所述数量的指示。
20.根据权利要求17到19中任一权利要求所述的方法,其中指派存储器装置读取识别RID号码包含:将所述主机读取识别RID号码指派到与所述读取命令(244-10、244-12)相关联的第一数据块且接着将存储器装置读取识别RID号码循序指派到与所述读取命令(244-10、244-12)相关联的每一后续数据块。
21.根据权利要求17到19中任一权利要求所述的方法,其中所述方法包含:将所述存储器装置读取识别RID号码连同被指派所述存储器装置读取识别RID号码的每一相应数据块发送到所述主机(102)。
22.根据权利要求17到19中任一权利要求所述的方法,其进一步包含将另一读取命令从所述主机(102)发送到所述存储器装置(104-1、…、104-N),其中由所述主机(102)将另一主机读取识别RID号码指派给所述另一读取命令,所述另一主机读取识别RID号码增加等于或大于与所述读取命令(244-10、244-12)相关联的所述数个数据块的所述数量的值。
23.一种用于处理存储器协议的方法,其包括:
将数个读取命令(244-10、244-12)从主机(102)发送到存储器装置(104-1、…、104-N),其中所述数个读取命令(244-10、244-12)中的每一者与数据块和主机读取识别RID号码相关联,其中所述数个读取命令中的第一读取命令的第一主机读取识别RID号码以等于或大于与先前读取命令相关联的数据块的数量的值被增加,且其中发送所述数个读取命令包含发送所述数据块以特定顺序被传回的指示;
将存储器装置读取识别RID号码指派到所述数据块的每一者;及
以由所述读取命令(244-10、244-12)指示的顺序将与所述数个读取命令(244-10、244-12)相关联的数据块和所述存储器装置读取识别RID号码回送到所述主机,其中所述数据块的第一数据块的存储器装置读取识别RID号码是所述第一主机读取识别RID号码。
24.根据权利要求23所述的方法,其中发送所述数个读取命令(244-10、244-12)包含:发送基于指派到所述数据块的所述存储器装置读取识别RID号码循序传回与所述数个读取命令(244-10、244-12)相关联的所述数据块的所述指示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/366,504 | 2016-12-01 | ||
US15/366,504 US10585624B2 (en) | 2016-12-01 | 2016-12-01 | Memory protocol |
PCT/US2017/063581 WO2018102336A1 (en) | 2016-12-01 | 2017-11-29 | Memory protocol |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410226540.5A Division CN118227528A (zh) | 2016-12-01 | 2017-11-29 | 存储器协议 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109997121A CN109997121A (zh) | 2019-07-09 |
CN109997121B true CN109997121B (zh) | 2024-03-15 |
Family
ID=62241964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780073425.7A Active CN109997121B (zh) | 2016-12-01 | 2017-11-29 | 存储器协议 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10585624B2 (zh) |
EP (1) | EP3549025B1 (zh) |
KR (1) | KR102267388B1 (zh) |
CN (1) | CN109997121B (zh) |
TW (1) | TWI661298B (zh) |
WO (1) | WO2018102336A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561489A (zh) * | 2001-08-06 | 2005-01-05 | 莱夫特汉德网络公司 | 计算机网络内的数据块存储 |
CN101828175A (zh) * | 2007-10-17 | 2010-09-08 | 美光科技公司 | 用于同步串行接口nand的设定存取及修改的系统及方法 |
CN106126447A (zh) * | 2015-05-07 | 2016-11-16 | 三星电子株式会社 | 控制存储装置的方法、存储器模块和存储系统 |
Family Cites Families (75)
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 |
US6559850B1 (en) | 1998-10-30 | 2003-05-06 | Advanced Micro Devices, Inc. | Method and system for improved memory access in accelerated graphics port systems |
US6738831B2 (en) | 2001-12-12 | 2004-05-18 | Intel Corporation | Command ordering |
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 |
US20050071570A1 (en) * | 2003-09-26 | 2005-03-31 | Takasugl Robin Alexis | Prefetch controller for controlling retrieval of data from a data storage device |
US7644224B2 (en) * | 2005-11-15 | 2010-01-05 | Sandisk Il Ltd. | Flash memory device and method |
US7984359B2 (en) * | 2006-05-01 | 2011-07-19 | Seagate Technology, Llc | Correction of data errors in a memory buffer |
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 |
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 |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8774203B2 (en) * | 2007-06-07 | 2014-07-08 | Intel Corporation | One-way message notification with out-of-order packet delivery |
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 |
WO2010090691A2 (en) | 2009-02-09 | 2010-08-12 | Rambus Inc. | Multiple plane, non-volatile memory 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 |
WO2011028087A1 (es) * | 2009-09-02 | 2011-03-10 | Luis Armando Bravo Castillo | Sistema y método de adquisición y procesamiento de señales mioeléctricas para control de una prótesis de brazo |
TWI454906B (zh) | 2009-09-24 | 2014-10-01 | Phison Electronics Corp | 資料讀取方法、快閃記憶體控制器與儲存系統 |
JPWO2011043012A1 (ja) | 2009-10-05 | 2013-02-28 | パナソニック株式会社 | 不揮発性半導体記憶装置、信号処理システム、及び信号処理システムの制御方法、並びに不揮発性半導体記憶装置の書き換え方法 |
US9465745B2 (en) * | 2010-04-09 | 2016-10-11 | Seagate Technology, Llc | Managing access commands by multiple level caching |
JP2011234308A (ja) * | 2010-04-30 | 2011-11-17 | Toshiba Corp | 通信装置、この通信装置に搭載されるプログラマブルデバイス及びそのプログラム書き込み制御方法 |
US8499106B2 (en) | 2010-06-24 | 2013-07-30 | Arm Limited | Buffering of a data stream |
US8949502B2 (en) | 2010-11-18 | 2015-02-03 | Nimble Storage, Inc. | PCIe NVRAM card based on NVDIMM |
EP2656216B1 (en) | 2010-12-20 | 2018-12-19 | Marvell World Trade Ltd. | Device with descriptor scheduler and corresponding method and system |
US8560778B2 (en) * | 2011-07-11 | 2013-10-15 | Memory Technologies Llc | Accessing data blocks with pre-fetch information |
US20130019057A1 (en) | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
US8799557B1 (en) | 2011-10-13 | 2014-08-05 | Netapp, Inc. | System and method for non-volatile random access memory emulation |
US9442879B2 (en) * | 2011-12-07 | 2016-09-13 | Intel Corporation | Multiple transaction data flow control unit for high-speed interconnect |
US8880819B2 (en) * | 2011-12-13 | 2014-11-04 | Micron Technology, Inc. | Memory apparatuses, computer systems and methods for ordering memory responses |
US9134919B2 (en) * | 2012-03-29 | 2015-09-15 | Samsung Electronics Co., Ltd. | Memory device including priority information and method of operating the same |
US9135192B2 (en) * | 2012-03-30 | 2015-09-15 | Sandisk Technologies Inc. | Memory system with command queue reordering |
US9183078B1 (en) * | 2012-04-10 | 2015-11-10 | Marvell International Ltd. | Providing error checking and correcting (ECC) capability for memory |
JP5814871B2 (ja) * | 2012-07-06 | 2015-11-17 | 株式会社東芝 | メモリシステム |
US9830271B2 (en) * | 2012-07-25 | 2017-11-28 | Vmware, Inc. | Transparent virtualization of cloud storage |
US9122401B2 (en) | 2012-08-23 | 2015-09-01 | Apple Inc. | Efficient enforcement of command execution order in solid state drives |
KR101919903B1 (ko) * | 2012-09-14 | 2018-11-19 | 삼성전자 주식회사 | 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법 |
US9727521B2 (en) * | 2012-09-14 | 2017-08-08 | Nvidia Corporation | Efficient CPU mailbox read access to GPU memory |
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 |
EP3005128B1 (en) | 2013-05-30 | 2018-07-04 | Hewlett-Packard Enterprise Development LP | Separate memory controllers to access data in memory |
TWI493455B (zh) * | 2013-07-02 | 2015-07-21 | Phison Electronics Corp | 命令佇列管理方法、記憶體控制器及記憶體儲存裝置 |
JP6388654B2 (ja) * | 2013-12-26 | 2018-09-12 | インテル・コーポレーション | メモリアクセス中のデータ並べ替え |
US10108372B2 (en) * | 2014-01-27 | 2018-10-23 | Micron Technology, Inc. | Methods and apparatuses for executing a plurality of queued tasks in a memory |
US9323610B2 (en) | 2014-01-30 | 2016-04-26 | Sandisk Technologies Inc. | Non-blocking commands |
US9454310B2 (en) | 2014-02-14 | 2016-09-27 | Micron Technology, Inc. | Command queuing |
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 |
US9870157B2 (en) * | 2015-03-31 | 2018-01-16 | Toshiba Memory Corporation | Command balancing and interleaving for write and reads between front end and back end of solid state drive |
US20160321010A1 (en) * | 2015-04-28 | 2016-11-03 | Kabushiki Kaisha Toshiba | Storage system having a host directly manage physical data locations of storage device |
US20160357462A1 (en) * | 2015-06-08 | 2016-12-08 | Samsung Electronics Co., Ltd. | Nonvolatile Memory Modules and Data Management Methods Thereof |
WO2017056219A1 (ja) * | 2015-09-30 | 2017-04-06 | 株式会社日立製作所 | ストレージ装置およびストレージ装置の制御方法 |
US10621119B2 (en) * | 2016-03-03 | 2020-04-14 | Samsung Electronics Co., Ltd. | Asynchronous communication protocol compatible with synchronous DDR protocol |
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 |
US10679722B2 (en) * | 2016-08-26 | 2020-06-09 | Sandisk Technologies Llc | Storage system with several integrated components and method for use therewith |
US20180059945A1 (en) * | 2016-08-26 | 2018-03-01 | Sandisk Technologies Llc | Media Controller with Response Buffer for Improved Data Bus Transmissions and Method for Use Therewith |
US10261907B2 (en) | 2017-03-09 | 2019-04-16 | International Business Machines Corporation | Caching data in a redundant array of independent disks (RAID) storage system |
US10996888B2 (en) * | 2017-10-31 | 2021-05-04 | Qualcomm Incorporated | Write credits management for non-volatile memory |
-
2016
- 2016-12-01 US US15/366,504 patent/US10585624B2/en active Active
-
2017
- 2017-11-29 EP EP17875494.1A patent/EP3549025B1/en active Active
- 2017-11-29 KR KR1020197018518A patent/KR102267388B1/ko active IP Right Grant
- 2017-11-29 CN CN201780073425.7A patent/CN109997121B/zh active Active
- 2017-11-29 WO PCT/US2017/063581 patent/WO2018102336A1/en unknown
- 2017-12-01 TW TW106142145A patent/TWI661298B/zh active
-
2020
- 2020-03-09 US US16/812,719 patent/US11226770B2/en active Active
-
2022
- 2022-01-14 US US17/575,878 patent/US20220137882A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561489A (zh) * | 2001-08-06 | 2005-01-05 | 莱夫特汉德网络公司 | 计算机网络内的数据块存储 |
CN101828175A (zh) * | 2007-10-17 | 2010-09-08 | 美光科技公司 | 用于同步串行接口nand的设定存取及修改的系统及方法 |
CN106126447A (zh) * | 2015-05-07 | 2016-11-16 | 三星电子株式会社 | 控制存储装置的方法、存储器模块和存储系统 |
Non-Patent Citations (1)
Title |
---|
基于多媒体存储卡的MMC串行通信协议及其应用;陈晓风;《福建师范大学学报(自然科学版)》;20070330(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
KR20190077624A (ko) | 2019-07-03 |
EP3549025B1 (en) | 2021-08-25 |
US20220137882A1 (en) | 2022-05-05 |
CN109997121A (zh) | 2019-07-09 |
US20180157439A1 (en) | 2018-06-07 |
WO2018102336A1 (en) | 2018-06-07 |
TWI661298B (zh) | 2019-06-01 |
US20200210111A1 (en) | 2020-07-02 |
TW201830247A (zh) | 2018-08-16 |
EP3549025A4 (en) | 2020-05-06 |
US11226770B2 (en) | 2022-01-18 |
US10585624B2 (en) | 2020-03-10 |
KR102267388B1 (ko) | 2021-06-22 |
EP3549025A1 (en) | 2019-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740797B2 (en) | Non-deterministic memory protocol | |
US10534540B2 (en) | Memory protocol | |
US11704260B2 (en) | Memory controller | |
US11586566B2 (en) | Memory protocol with command priority | |
CN109997121B (zh) | 存储器协议 | |
KR102306585B1 (ko) | 거래 식별 | |
CN118227528A (zh) | 存储器协议 | |
US11687283B2 (en) | Memory module interfaces |
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 |