CN110546626A - 事务识别 - Google Patents

事务识别 Download PDF

Info

Publication number
CN110546626A
CN110546626A CN201880021754.1A CN201880021754A CN110546626A CN 110546626 A CN110546626 A CN 110546626A CN 201880021754 A CN201880021754 A CN 201880021754A CN 110546626 A CN110546626 A CN 110546626A
Authority
CN
China
Prior art keywords
tid
memory device
host
command
record
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
CN201880021754.1A
Other languages
English (en)
Inventor
F·F·罗斯
R·M·沃克
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN110546626A publication Critical patent/CN110546626A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Abstract

本发明包含与事务识别有关的设备及方法。一种实例性设备可通过将主机事务识别TID记录与存储器装置事务识别TID记录进行比较来确定与命令相关联的事务识别TID。

Description

事务识别
技术领域
本发明一般来说涉及存储器装置,且更特定来说,涉及用于事务识别的设备及方法。
背景技术
存储器装置通常经提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可需要电力来维持其数据且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)以及其它易失性存储器。非易失性存储器可通过在未被供电时保留所存储数据而提供持久的数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM)以及其它非易失性存储器。
存储器还作为易失性及非易失性数据存储装置以用于宽广范围的电子应用。举例来说,非易失性存储器可用于个人计算机、便携式记忆棒、数码相机、蜂窝式电话、例如MP3播放器的便携式音乐播放器、电影播放器及其它电子装置中。存储器单元可被布置成若干阵列,其中所述阵列用于存储器装置中。
存储器可为用于计算装置中的存储器模块(例如,双列直插式存储器模块(DIMM))的一部分。存储器模块可包含易失性存储器(举例来说,例如DRAM)及/或非易失性存储器(举例来说,例如快闪存储器或RRAM)。DIMM可在计算系统中使用主要存储器。
附图说明
图1A是根据本发明的若干个实施例的呈包含存储器系统的计算系统的形式的设备的框图。
图1B是根据本发明的若干个实施例的呈双列直插式存储器模块(DIMM)的形式的设备的框图。
图2是根据本发明的若干个实施例的一定数目个操作的图式。
图3A到3B是图解说明事务识别(ID)记录的表。
图4是根据本发明的若干个实施例的一定数目个操作的图式。
图5图解说明根据本发明的若干个实施例的用于事务识别的流程图的实例。
具体实施方式
本发明包含与事务识别有关的设备及方法。实例性设备可通过将主机事务识别(TID)记录与存储器装置事务识别(TID)记录进行比较来确定与命令相关联的事务识别(TID)。
在本发明的一或多个实施例中,主机控制器可经配置以:响应于接收到与命令相关联的发射错误而利用状态请求查询存储器装置;从所述存储器装置接收存储器装置事务识别(TID)记录;及通过将主机事务识别(TID)记录与所述存储器装置TID记录进行比较来确定与所述命令相关联的事务识别(TID)。所述主机控制器可经配置以利用命令从所述存储器装置接收数据。所述主机控制器还可经配置以检测所述数据中与所述命令相关联的发射错误,所述发射错误可包含损毁TID。所述主机控制器接着响应于接收到所述发射错误而查询所述存储器装置。
在本发明的一或多个实施例中,所述主机控制器通过识别所述存储器装置TID记录中的从主机TID缺失的TID而确定与所述命令相关联的TID。所述主机控制器可接着通过再次发送具有所确定TID的命令而重新请求数据。接着,所述主机控制器可利用所述命令从所述存储器装置接收所述数据。
在本发明的一或多个实施例中,可产生对应于第一命令及第二命令的第一TID及第二TID。可存储所述第一TID及所述第二TID。可在存储器控制器中执行存储所述第一TID及所述第二TID。可将具有所述第一TID的所述第一命令发送到所述存储器装置且将具有所述第二TID的所述第二命令发送到所述存储器装置。在一或多个实施例中,所述第一命令及所述第二命令可为读取操作命令。可从所述存储器装置提供第一输出数据。所述第一输出数据可包括基于所述第一命令的第一操作结果及伴随所述第一操作结果的第三TID,所述第三TID对应于所述第一TID。可从所述存储器装置提供第二输出数据。所述第二输出数据可包括基于所述第二命令的第二操作结果及伴随所述第二操作结果的第四TID,所述第四TID对应于所述第二TID。当在所述第三TID及所述第四TID中的一者中发现发射错误时,可输出所述第一TID及所述第二TID。
在本发明的一或多个实施例中,可将所述第三TID及所述第四TID与经输出的所述第一TID及所述第二TID进行比较以识别所传回的所述第一TID及所述第二TID中包含所述发射错误的一者。可在主机中执行将所述第三TID及所述第四TID与经输出的所述第一TID及所述第二TID进行比较。如果将所述第三TID识别为包含所述发射错误,那么可将具有所述第一TID的所述第一命令重新发送到所述存储器装置。在一或多个实施例中,所述第三TID可比所述第一操作结果早地从所述存储器装置输出且所述第四TID可比所述第二操作结果早地从所述存储器装置输出。
在本发明的以下详细说明中,参考形成本发明的一部分的随附图式,且图式中以图解说明的方式展示可如何实践本发明的若干个实施例。充分详细地描述这些实施例以使所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出过程、电及/或结构改变。如本文中所使用,指定符“N”指示,如此指定的特定特征中的一定数目个特征可与本发明的若干个实施例包含在一起。
如本文中所使用,“一定数目个”某物可能是指此类事物中的一或多者。举例来说,一定数目个存储器装置可能是指存储器装置中的一或多者。另外,如本文中所使用的例如“N”的指定符(尤其相对于图式中的元件符号)指示如此指定的特定特征中的一定数目个特征可与本发明的若干个实施例包含在一起。
本文中的各图遵循其中第一个数字或前几个数字对应于图式的图编号且其余数字识别图式中的元件或组件的编号惯例。可通过使用类似数字来识别不同图之间的类似元件或组件。如将了解,可添加、交换及/或消除本文中的各种实施例中所展示的元件以便提供本发明的若干个额外实施例。另外,各图中所提供的元件的比例及相对标度打算图解说明本发明的各种实施例且并不在限制意义上使用。
图1A是根据本发明的一或多个实施例的包含呈一定数目个存储器系统104-1…104-N的形式的设备的计算系统100的功能框图。如本文中所使用,“设备”可能是指但不限于各种结构或结构组合中的任一者,举例来说,例如一或若干电路、一或若干裸片、一或若干模块、一或若干装置或者一或若干系统。在图1A中所图解说明的实施例中,存储器系统104-1…104-N可包含一或多个双列直插式存储器模块(DIMM)110-1、…、110-X、110-Y。DIMM110-1、…、110-X、110-Y可包含易失性存储器及/或非易失性存储器。在若干个实施例中,存储器系统104-1、…、104-N可包含多芯片装置。多芯片装置可包含一定数目个不同存储器类型及/或存储器模块。举例来说,存储器系统可在任何类型的模块上包含非易失性或易失性存储器。下文与图1A到5相关联地描述的实例使用DIMM作为存储器模块,但本发明的协议可用于其中存储器可执行非确定性命令的任何存储器系统上。在图1A中,存储器系统104-1经由信道112-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)实施且使用本发明的协议对命令的执行可被构建到存储器装置中。取决于DIMM中的存储器的类型,主机102可使用本发明的协议及/或现有协议将命令发送到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包含用以与存储器系统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与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连接提供的地址信号的地址电路。地址信号可由行解码器及列解码器接收及解码以存取DIMM 110-1、…、110-X、110-Y。所属领域的技术人员将了解,地址输入连接的数目可取决于DIMM110-1、…、110-X、110-Y的密度及架构。
图1B是根据本发明的若干个实施例的呈双列直插式存储器模块(DIMM)110的形式的设备的框图。在图1B中,DIMM 110可包含控制器114。控制器114可包含可为缓冲器116的存储器(例如SRAM存储器)及/或一定数目个寄存器118。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中的数据及/或将数据写入于存储器装置113-1、…、113-Z中。
图2是根据本发明的若干个实施例的一定数目个操作的图式。图2图解说明执行三个读取操作的实例。可将命令信号222从主机发送到存储器装置(例如,图1B中的存储器装置113)。命令信号222可包含激活命令及读取命令。在图2中,将第一激活命令242-100、第一读取命令244-100、第二激活命令242-200、第二读取命令244-200、第三激活命令242-300及第三读取命令244-300从主机(例如,图1A中的主机102)发送到存储器装置(例如,图1B中的存储器装置113)。主机(例如,图1A中的主机102)可将事务识别(TID)号码指派到读取命令。TID号码为由主机(例如,图1A中的主机102)产生的识别符。TID可为由主机(例如,图1A中的主机102)及存储器装置(例如,图1B中的存储器装置113)同时产生的隐式TID。隐式TID可在同步事件之后发生,TID信息可被单独地维持于主机及存储器装置两者上且提供用于从错误事务识别符恢复的方法。TID号码可包含于读取命令中且在将读取命令从主机(例如,图1A中的主机102)发送到存储器装置(例如,图1B中的存储器装置113)时被发射到存储器装置(例如,图1B中的存储器装置113)。在图2中,可向第一读取命令244-100指派TID 123,可向第二读取命令244-200指派TID 131且可向第三读取命令244-300指派TID 117。
响应于接收到读取命令244-100、…、244-300,存储器装置(例如,图1B中的存储器装置113)可检验存储器装置(例如,图1B中的存储器装置113)的缓冲器及/或高速缓冲存储器,且在存储器装置(例如,图1B中的存储器装置113)的非易失性存储器中进行检验以定位与读取命令244-100、…、244-300相关联的数据。存储器装置(例如,图1B中的存储器装置113)可以与由存储器装置(例如,图1B中的存储器装置113)接收命令的次序不同的次序执行操作。一旦存储器装置(例如,图1B中的存储器装置113)定位数据且使数据准备好往回发送到主机(例如,图1A中的主机102),存储器装置(例如,图1B中的存储器装置113)便可将读取就绪命令发送到主机(例如,图1A中的主机102)。可通过以下操作将读取就绪指示符发送到主机(例如,图1A中的主机102):将读取就绪信号从低双态切换(例如,转变)为高或从高双态切换(例如,转变)为低以指示数据相关联命令244-100准备好被发送到主机(例如,图1A中的主机102)。主机(例如,图1A中的主机102)可通过检测读取就绪信号的转变而检测读取就绪指示符。响应于接收到读取就绪指示符,主机(例如,图1A中的主机102)可将读取发送指示符发送到存储器装置控制器(例如,图1A中的存储器装置控制器114)以指示主机(例如,图1A中的主机102)准备好接收与命令244-100相关联的数据。存储器装置控制器(例如,图1A中的存储器装置控制器114)可响应于接收到读取发送指示符而在DQ+ECC引脚224上发送与命令244-100、…、244-300相关联的数据246-100、…、246-300。而且,当将数据246-100、…、246-300发送到主机时,在RSP[n]引脚226上将TID信号248-100、…、248-300发送到主机。TID信号248-100、…、248-300包含由存储器装置(例如,图1B中的存储器装置113)指派到数据组块的TID号码且用于识别与被发送到主机(例如,图1A中的主机102)的数据246-100、…、246-300相关联的读取命令。向数据246-100指派TID号码123、向数据246-200指派TID号码(但在发射被损毁期间)且向数据246-300指派TID号码117。
图3A到3B是图解说明事务识别(TID)记录的表。图3A图解说明存储器装置事务识别(TID)记录的实例。存储器装置TID记录362可被存储达设定时间周期。举例来说,存储器装置TID记录362可存储于缓冲器(例如,图1A中的缓冲器116)中。缓冲器(例如,图1A中的缓冲器116)的大小可基于从主机装置(例如,图1A中的主机102)到存储器装置(例如,图1B中的存储器装置113)的未处理请求的数目。存储器装置事务识别(TID)记录362包含第一存储器装置事务识别(TID)364、第二存储器装置事务识别(TID)366及第三存储器装置事务识别(TID)368。主机可基于用于TID发射中的错误检测方案或通过与主机TID的对应存储器装置TID的伪匹配而确定所述主机TID为损毁或错误的。举例来说,错误检测方案包含错误校正码(ECC)错误的奇偶校验。
图3B图解说明主机事务识别(TID)记录的实例。主机TID记录372可存储于控制器(例如,图1A中的控制器114)中且为已往回发射到主机(例如,图1A中的主机102)的TID的记录。主机TID记录372包含第一主机事务识别(TID)374、第二主机事务识别(TID)376及第三主机事务识别(TID)378。第一存储器装置TID 364对应于第一主机TID 374、第二存储器装置TID 366对应于第二主机TID 376且第三存储器装置TID记录368对应于第三主机TID378。在图3B中,第二主机TID 376由主机(例如,图1A中的主机102)在接收时确定为损毁值。因此,主机(例如,图1A中的主机102)可使用状态请求命令或模式寄存器读取命令来查询存储器装置以获得存储器装置TID记录362。
一旦主机(例如,图1A中的主机102)接收存储器装置TID记录362,主机(例如,图1A中的主机102)便可将主机TID记录372与存储器装置TID记录362进行比较。主机(例如,图1A中的主机102)可通过识别存储器装置TID记录362中的从主机TID记录372缺失的TID来确定与命令相关联的损毁TID。举例来说,存储器装置TID记录362具有第一存储器装置TID 364、第二存储器装置TID 366及第三存储器装置TID 368。然而,主机TID记录仅具有对应于第一存储器装置TID 364的第一主机TID 374及对应于第三存储器装置TID 368的第三主机TID378。因此,主机(例如,图1A中的主机102)可确定TID主机记录376(存储器装置TID 366)从主机TID记录缺失。主机(例如,图1A中的主机102)可接着再次将与命令相关联的所确定TID发送到存储器装置(例如,图1B中的存储器装置113)且从存储器装置(例如,图1B中的存储器装置113)接收与先前损毁TID相关联的数据。
图4是根据本发明的若干个实施例的一定数目个操作的图式。在本发明的一或多个实施例中,主机控制器可经配置以响应于接收到与命令相关联的发射错误(包含损毁TID)而利用状态请求来查询存储器装置且从存储器装置接收存储器装置TID记录。图4图解说明执行查询操作以请求存储器装置TID记录(例如,图3A中的存储器装置TID记录362)的实例。可将命令信号422从主机(例如,图1A中的主机102)发送到存储器装置(例如,图1B中的存储器装置113)。查询460可包含状态请求命令或模式寄存器读取命令。一旦存储器装置(例如,图1B中的存储器装置113)已接收到命令,存储器装置(例如,图1B中的存储器装置113)便可作为响应而在DQ+ECC引脚424上发送存储器装置事务识别(TID)记录462。主机(例如,图1A中的主机102)可接着通过将主机TID记录(例如,图3B中的主机TID记录372)与存储器装置TID记录462进行比较来确定与命令相关联的TID。主机控制器(例如,图1A中的主机控制器108)可接着响应于识别出与命令相关联的TID而通过经由再次发送一命令(其具有与所述命令相关联的TID)重新请求数据来查询存储器装置(例如,图1B中的存储器装置113)。主机(例如,图1A中的主机102)可接着利用命令从存储器装置(例如,图1B中的存储器装置113)接收数据。
图5图解说明根据本发明的若干个实施例的用于事务识别的流程图的实例。可将具有TID的读取命令582从主机(例如,图1A中的主机102)发送到存储器装置(例如,图1B中的存储器装置113)。一旦存储器装置定位数据且使数据准备好往回发送到主机,存储器装置便可将读取就绪命令584发送到主机。响应于接收到读取就绪命令584,主机可将读取发送指示符586发送到存储器装置控制器以指示主机准备好接收与命令相关联的数据(例如,与图2中的命令244-100相关联的数据)。存储器装置控制器(例如,图1A中的存储器装置控制器114)可响应于接收到读取发送指示符586而发送读取数据及TID 588。接着,主机可确定TID是否为损毁的590。如果TID为未损毁的,那么过程结束599。如果TID为损毁的,那么主机可使用状态请求592来查询存储器装置以获得存储器装置TID记录(例如,图3中的存储器装置TID记录362)。存储器装置在接收到状态请求592之后可发送TID记录594。一旦主机(例如,图1A中的主机102)接收到存储器装置TID记录(例如,图3中的存储器装置TID记录362),主机便可将主机TID记录(例如,图3中的主机TID记录372)与存储器装置TID记录(例如,图3中的存储器装置TID记录362)进行比较596。主机可通过确定从主机TID记录(例如,图3中的主机TID记录372)缺失的存储器装置TID记录(例如,图3中的存储器装置TID记录362)而识别损毁的TID 598。
虽然本文中已图解说明及描述了特定实施例,但所属领域的技术人员将了解,旨在实现相同结果的布置可替代所展示的特定实施例。本发明打算涵盖本发明的各种实施例的变更或变化形式。应理解,已以说明性方式而非限制性方式做出以上说明。在审阅以上说明后,所属领域的技术人员将即刻明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的各种实施例的范围包含其中使用以上结构及方法的其它应用。因此,本发明的各种实施例的范围应参考随附权利要求书连同此权利要求书授权的等效物的整个范围来确定。
在前述实施方式中,出于简化本发明的目的,将各种特征一起分组于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比明确陈述于每一技术方案中更多的特征的意图。而是,如随附权利要求书所反映,发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将随附权利要求书并入到实施方式中,其中每一技术方案独立地作为单独实施例。

Claims (20)

1.一种设备,其包括:
存储器装置;及
主机装置,其耦合到所述存储器装置,其中所述主机装置包含主机控制器,所述主机控制器经配置以:
通过将主机事务识别TID记录与存储器装置事务识别TID记录进行比较来确定与命令相关联的事务识别TID。
2.根据权利要求1所述的设备,其中所述主机装置经配置以将所述所确定TID发送到所述存储器装置。
3.根据权利要求1所述的设备,其中所述主机通过识别所述存储器装置TID记录中的从所述主机TID记录缺失的TID而确定与所述命令相关联的所述TID。
4.根据权利要求1到3中的一个权利要求所述的设备,其中所述存储器装置为非易失性双列直插式存储器模块NVDIMM。
5.一种设备,其包括:
存储器装置;及
主机装置,其耦合到所述存储器装置,其中所述主机装置包含主机控制器,所述主机控制器经配置以:
响应于接收到与命令相关联的发射错误而利用状态请求查询所述存储器装置;
从所述存储器装置接收存储器装置事务识别TID记录;及
通过将主机事务识别TID记录与所述存储器装置TID记录进行比较来确定与所述命令相关联的事务识别TID。
6.根据权利要求5所述的设备,其中所述存储器装置经配置以响应于接收到所述查询而发送所述存储器装置TID记录。
7.根据权利要求5到6中任一权利要求所述的设备,其中与所述命令相关联的所述TID为由所述主机装置及所述存储器装置同时产生的隐式TID。
8.根据权利要求5到6中任一权利要求所述的设备,其中所述存储器装置经配置而以与由所述存储器装置接收所述命令的次序不同的次序执行操作。
9.一种设备,其包括:
存储器装置;及
主机装置,其耦合到所述存储器装置,其中所述主机装置包含主机控制器,所述主机控制器经配置以:
利用命令从所述存储器装置接收数据;
检测所述数据中与所述命令相关联的发射错误;
响应于接收到所述发射错误而查询所述存储器装置;
从所述存储器装置接收存储器装置事务识别TID记录;及
通过将主机事务识别TID记录与所述存储器装置TID记录进行比较来确定与所述命令相关联的事务识别TID。
10.根据权利要求9所述的设备,其中所述查询为状态请求命令。
11.根据权利要求9所述的设备,其中所述查询为针对所述存储器装置TID记录的模式寄存器读取命令。
12.一种方法,其包括:
产生第一事务识别TID及第二事务识别TID,所述第一TID及所述第二TID分别对应于第一命令及第二命令;
存储所述第一TID及所述第二TID;
将具有所述第一TID的所述第一命令发送到存储器装置;
将具有所述第二TID的所述第二命令发送到所述存储器装置;
从所述存储器装置提供第一输出数据,所述第一输出数据包括基于所述第一命令的第一操作结果及伴随所述第一操作结果的第三事务识别TID,所述第三TID对应于所述第一TID;
从所述存储器装置提供第二输出数据,所述第二输出数据包括基于所述第二命令的第二操作结果及伴随所述第二操作结果的第四事务识别TID,所述第四TID对应于所述第二TID;及
当在所述第三TID及所述第四TID中的一者中发现发射错误时,输出所述第一TID及所述第二TID。
13.根据权利要求12所述的方法,其进一步包括:
将所述第三TID及所述第四TID与经输出的所述第一TID及所述第二TID进行比较以识别所传回的所述第一TID及所述第二TID中包含所述发射错误的一者。
14.根据权利要求12到13中任一权利要求所述的方法,其进一步包括:
如果将所述第三TID识别为包含所述发射错误,那么将具有所述第一TID的所述第一命令重新发送到所述存储器装置。
15.根据权利要求12到13中任一权利要求所述的方法,其中所述第三TID比所述第一操作结果早地从所述存储器装置输出且所述第四TID比所述第二操作结果早地从所述存储器装置输出。
16.根据权利要求12到13中任一权利要求所述的方法,其中在存储器控制器中执行存储所述第一TID及所述第二TID且在主机中执行将所述第三TID及所述第四TID与经输出的所述第一TID及所述第二TID进行比较。
17.一种方法,其包括:
从存储器装置接收与命令相关联的发射错误;
响应于接收到所述发射错误而查询所述存储器装置;
从所述存储器装置接收存储器装置事务识别TID记录;及
通过识别所述存储器装置TID记录中的从主机事务识别TID记录缺失的事务识别TID而确定与所述命令相关联的事务识别TID。
18.根据权利要求17所述的方法,其中查询所述存储器装置包括针对所述存储器装置TID记录而使用模式寄存器命令。
19.根据权利要求17所述的方法,其进一步包括存储所述存储器装置TID记录达设定时间周期。
20.根据权利要求17所述的方法,其进一步包括基于从主机装置到所述存储器装置的事务速度而设定缓冲器的大小。
CN201880021754.1A 2017-04-11 2018-02-14 事务识别 Pending CN110546626A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/484,744 2017-04-11
US15/484,744 US10635613B2 (en) 2017-04-11 2017-04-11 Transaction identification
PCT/US2018/018106 WO2018190947A1 (en) 2017-04-11 2018-02-14 Transaction identification

Publications (1)

Publication Number Publication Date
CN110546626A true CN110546626A (zh) 2019-12-06

Family

ID=63711578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880021754.1A Pending CN110546626A (zh) 2017-04-11 2018-02-14 事务识别

Country Status (6)

Country Link
US (3) US10635613B2 (zh)
EP (1) EP3610379B1 (zh)
KR (1) KR102306585B1 (zh)
CN (1) CN110546626A (zh)
TW (1) TWI711929B (zh)
WO (1) WO2018190947A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11847037B2 (en) * 2020-09-16 2023-12-19 Kioxia Corporation Device and method for high performance memory debug record generation and management

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344171A (en) * 1980-12-11 1982-08-10 International Business Machines Corporation Effective error control scheme for satellite communications
US20020062459A1 (en) * 2000-08-21 2002-05-23 Serge Lasserre Fault management and recovery based on task-ID
US20060242332A1 (en) * 2005-04-22 2006-10-26 Johnsen Bjorn D Distributed I/O bridging functionality
CN101110047A (zh) * 2006-02-16 2008-01-23 英特尔公司 存储器重放机制
US20090133032A1 (en) * 2007-11-21 2009-05-21 Stuart David Biles Contention management for a hardware transactional memory
CN101861571A (zh) * 2007-11-15 2010-10-13 美光科技公司 用于修改存储器存取次序的系统、设备及方法
CN102707898A (zh) * 2011-01-27 2012-10-03 美光科技公司 事务存储器
CN103270500A (zh) * 2010-12-03 2013-08-28 美光科技公司 事务日志恢复
US20140237157A1 (en) * 2011-02-08 2014-08-21 Diablo Technologies Inc. System and method for providing an address cache for memory map learning
CN106373596A (zh) * 2015-07-22 2017-02-01 株式会社东芝 存储装置和数据转移保存方法

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS561748A (en) 1979-06-20 1981-01-09 Hitachi Ltd Production of electromagnetic clutch motor
US5590345A (en) 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
JPH0561748A (ja) 1991-09-02 1993-03-12 Nippon Telegr & Teleph Corp <Ntt> データベース・アクセスにおける同期確認の自動化方式
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
JP2002023123A (ja) * 2000-07-11 2002-01-23 Fujitsu Ltd 非主要光を導波する光導波路を備える光回路
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
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
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
US7899999B2 (en) * 2007-06-27 2011-03-01 Microsoft Corporation Handling falsely doomed parents of nested transactions
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
TW201013400A (en) * 2008-09-22 2010-04-01 Promise Technology Inc Memory control system, data recovery method and date reading method thereof
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
WO2011043012A1 (ja) 2009-10-05 2011-04-14 パナソニック株式会社 不揮発性半導体記憶装置、信号処理システム、及び信号処理システムの制御方法、並びに不揮発性半導体記憶装置の書き換え方法
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
CN103403681B (zh) 2010-12-20 2018-09-18 马维尔国际贸易有限公司 描述符调度器
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
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
CN105339917A (zh) 2013-05-30 2016-02-17 惠普发展公司,有限责任合伙企业 访问存储器中数据的分离的存储器控制器
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
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
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
US10127074B2 (en) * 2017-01-27 2018-11-13 Futurewei Technologies, Inc. Transaction identification synchronization
US10261907B2 (en) 2017-03-09 2019-04-16 International Business Machines Corporation Caching data in a redundant array of independent disks (RAID) storage system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344171A (en) * 1980-12-11 1982-08-10 International Business Machines Corporation Effective error control scheme for satellite communications
US20020062459A1 (en) * 2000-08-21 2002-05-23 Serge Lasserre Fault management and recovery based on task-ID
US20060242332A1 (en) * 2005-04-22 2006-10-26 Johnsen Bjorn D Distributed I/O bridging functionality
CN101110047A (zh) * 2006-02-16 2008-01-23 英特尔公司 存储器重放机制
CN101861571A (zh) * 2007-11-15 2010-10-13 美光科技公司 用于修改存储器存取次序的系统、设备及方法
US20090133032A1 (en) * 2007-11-21 2009-05-21 Stuart David Biles Contention management for a hardware transactional memory
CN103270500A (zh) * 2010-12-03 2013-08-28 美光科技公司 事务日志恢复
CN102707898A (zh) * 2011-01-27 2012-10-03 美光科技公司 事务存储器
US20140237157A1 (en) * 2011-02-08 2014-08-21 Diablo Technologies Inc. System and method for providing an address cache for memory map learning
CN106373596A (zh) * 2015-07-22 2017-02-01 株式会社东芝 存储装置和数据转移保存方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈启美等: "USB协议层", 《电力自动化设备》 *

Also Published As

Publication number Publication date
EP3610379A4 (en) 2020-12-23
WO2018190947A1 (en) 2018-10-18
US11237995B2 (en) 2022-02-01
TWI711929B (zh) 2020-12-01
EP3610379A1 (en) 2020-02-19
US20180293000A1 (en) 2018-10-11
US10635613B2 (en) 2020-04-28
KR102306585B1 (ko) 2021-09-30
US11755514B2 (en) 2023-09-12
EP3610379B1 (en) 2021-11-17
TW201842450A (zh) 2018-12-01
KR20190129139A (ko) 2019-11-19
US20200250118A1 (en) 2020-08-06
US20220156209A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
US11740797B2 (en) Non-deterministic memory protocol
US9898402B2 (en) Unaligned data coalescing
US10534540B2 (en) Memory protocol
US11853224B2 (en) Cache filter
US11586566B2 (en) Memory protocol with command priority
US11755514B2 (en) Transaction identification
US11099779B2 (en) Addressing in memory with a read identification (RID) number
US11226770B2 (en) Memory protocol
US11687283B2 (en) Memory module interfaces
US20230342058A9 (en) Command bus in memory

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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20231124