CN104471645B - 采用检错编码的事务的存储器设备的定时优化装置和方法 - Google Patents
采用检错编码的事务的存储器设备的定时优化装置和方法 Download PDFInfo
- Publication number
- CN104471645B CN104471645B CN201280071929.2A CN201280071929A CN104471645B CN 104471645 B CN104471645 B CN 104471645B CN 201280071929 A CN201280071929 A CN 201280071929A CN 104471645 B CN104471645 B CN 104471645B
- Authority
- CN
- China
- Prior art keywords
- logic
- frame
- write
- sdram
- crc
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- 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/0653—Monitoring storage devices or 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/24—Accessing extra cells, e.g. dummy cells or redundant cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
系统、方法和装置旨在优化在主机和存储器设备之间连续事务的周转定时。主机包括构造帧逻辑,构造帧逻辑生成包括多个数据位以及附在数据位结束处的错误位校验和的写入帧。主机还包括配置成容许所述写入帧至存储器设备的传递的总线架构以及定义周转时间开始于紧随写入帧的数据位的传递之后的时刻的逻辑。周转时间测量随后的写入帧要被传递时的时间延迟。以这种方式,优化周转时间以实现连续数据操作的更早启动,从而减少连续紧接的事务的总等待时间。
Description
技术领域
本公开的实施例一般涉及集成电路的领域,并且更具体地涉及用于在具有共享错误位码的普通帧中的数据的传递中优化错误位校验和定时的系统、方法和装置。
背景技术
随着电子和计算设备发展到提供更多功能性并且处理更多内容,传递信息至关联存储器系统的速率持续增加。除了这些更快的传递速率,还要求通过检错实现的数据完整性以及数据安全性。
但是,提供数据完整性和错误保护的传统方法还会影响存储器处理效率并且危害总体系统性能。
发明内容
按照本公开的一个实施例,提供一种集成电路,包括:
构造帧逻辑,所述构造帧逻辑配置成生成写入帧,所述写入帧包括多个数据位以及附在所述数据位的结束处的错误位校验和;
总线架构,所述总线架构配置成容许所述写入帧至存储器设备的传递;
逻辑,所述逻辑配置成定义周转时间开始于紧随所述写入帧的所述数据位的传递之后的时刻,所述周转时间测量随后的写入帧被传递时的时间延迟。
按照本公开的一个实施例,提供一种方法,包括:
生成写入帧,所述写入帧包括多个数据位以及附在所述数据位的结束处的错误位校验和;
将所述写入帧传递至存储器设备;以及
定义周转时间开始于紧随所述数据位的传递之后的时刻,所述周转时间测量随后的写入帧被传递时的时间延迟。
按照本公开的一个实施例,提供一种系统,包括:
主机,所述主机包括:
构造帧逻辑,所述构造帧逻辑配置成生成写入帧,所述写入帧包括多个数据位以及附在所述数据位的结束处的错误位校验和;
总线架构,所述总线架构配置成容许所述写入帧至存储器设备的传递;
逻辑,所述逻辑配置成定义周转时间开始于紧随所述写入帧的所述数据位的传递之后的时刻,所述周转时间测量随后的写入帧被传递时的时间延迟;以及
经由所述总线架构耦合到所述主机的所述存储器设备。
按照本公开的一个实施例,提供一种减少紧接的数据事务的等待时间的系统,包括:存储器控制器和同步动态随机存取存储器SDRAM设备,
所述存储器控制器包括:
循环冗余校验CRC逻辑,所述循环冗余校验CRC逻辑生成CRC校验和,
构造帧逻辑,所述构造帧逻辑形成十单位间隔UI数据帧,在前八个单位间隔中具有64位数据,在第九个单位间隔中具有8位CRC校验和,其中时钟周期包括两个UI,
事务逻辑,所述事务逻辑将所述十UI数据帧传递到所述SDRAM设备;以及
所述SDRAM设备具有:
具有多个存储地址的DRAM核,
事务逻辑,响应于在写等待时间之后的第五时钟周期的开始而开始周转时间。
按照本公开的一个实施例,提供一种同步动态随机存取存储器SDRAM设备,所述SDRAM设备包括:
具有多个存储地址的DRAM核;
构造帧逻辑,所述构造帧逻辑从存储器控制器接收十单位间隔UI数据帧,在前八个单位间隔中具有64位数据,在第九个单位间隔中具有8位CRC校验和,其中时钟周期包括两个UI;以及
事务逻辑,响应于在写等待时间之后的第五时钟周期的开始而开始周转时间。
按照本公开的一个实施例,提供一种减少紧接的数据事务的等待时间的系统,包括:存储器控制器和同步动态随机存取存储器SDRAM设备,
所述存储器控制器包括:
循环冗余校验CRC逻辑,所述循环冗余校验CRC逻辑生成CRC校验和,
构造帧逻辑,所述构造帧逻辑形成十单位间隔UI数据帧,在前八个单位间隔中具有64位数据,在第九个单位间隔中具有8位CRC校验和,
事务逻辑,所述事务逻辑将所述十UI数据帧传递到所述SDRAM设备;以及
所述SDRAM设备具有:
用来存储数据的DRAM核,
事务逻辑,在循环冗余校验和的传递期间开始周转时间。
按照本公开的一个实施例,提供一种减少紧接的数据事务的等待时间的存储器控制器,包括:
循环冗余校验CRC逻辑,所述循环冗余校验CRC逻辑生成CRC校验和,
构造帧逻辑,所述构造帧逻辑形成十单位间隔UI数据帧,在前八个单位间隔中具有64位数据,在第九个单位间隔中具有8位CRC校验和,
事务逻辑,所述事务逻辑将所述十UI数据帧传递到同步动态随机存取存储器SDRAM设备,其中,使在后续数据帧之前的周转时间在传递整个十UI数据帧之前开始。
附图说明
在附图的各图中以举例的方式并不以限制的方式示出本公开的实施例,附图中类似的参考标号指代相似的元件。
图1按照本公开的一个实施例,描绘示出计算系统的所选方面的高级框图。
图2按照本公开的一个实施例,描绘写入数据帧格式。
图3按照本公开的一个实施例,描绘用于优化连续事务的周转定时的高级事务周期方案。
图4按照本公开的一个实施例,描绘示出连续事务的已优化的周转定时的定时图。
图5按照本公开的一个实施例,描绘用于优化连续事务的周转定时的过程的功能流程图。
具体实施方式
本公开的实施例一般针对用于优化在主机和存储器设备之间连续事务的周转定时的系统、方法和装置。主机包括用于生成写入帧的构造帧逻辑,写入帧包括多个数据位以及附在数据位的结束处的错误位校验和。主机还包括容许写入帧至存储器设备的传递的总线架构,以及定义周转时间开始于紧随写入帧的数据位的传递之后的时刻的逻辑。周转时间测量随后的写入帧将要被传递时的时间延迟。以这种方式,优化周转时间以实现连续数据操作的更早启动,从而减少连续紧接的事务的总等待时间。
转向附图,图1是按照本公开的一个实施例示出所实现的计算系统的所选方面的高级框图。系统100可以表示可包括具有自更新模式的存储器设备的许多电子和/或计算设备中的任一个。这些电子和/或计算设备可以包括服务器、台式机、膝上型电脑、移动设备、智能电话、游戏设备、平板计算机、联网设备等。在所示实施例中,系统100包括主机110(例如,存储器控制器)和存储器设备120(例如,DRAM)。在备选实施例中,系统100可以包括更多元件,更少元件和/或不同的元件。此外,虽然系统100可以被描绘为包含分立的元件,但是会理解,这些元件可以集成在一个平台上。
互连101将主机110与存储器设备120相链接。在一些实施例中,互连101(至少部分)是点对点互连。在其它实施例中,互连101(至少部分)是多站式总线。在一些实施例中,互连101至少部分遵从定义双倍数据速率总线(例如,DDR1、DDR2、DDR3、DDR4等等)的标准和/或规范中的一个或多个。在所示实施例中,互连101包括命令/地址通道102以及数据(或DQ)通道104。在其它实施例中,互连101可以包括更多元件、更少元件和/或不同的元件。
命令/地址(C/A)通道102提供用于发送命令和地址到存储器设备120的多个通道。DQ通道104提供双向读/写数据总线。在备选实施例中,DQ通道104可以是单向的。为了易于描述,参考×8数据宽度的存储器设备描述本公开的实施例。但是,要理解,本公开的实施例可以包括诸如×4、×16、×32等其它设备数据宽度。
主机110控制至存储器设备120和从存储器设备120的数据的传递。在一些实施例中,主机110作为一个或多个处理器集成在相同的管芯上。在其它实施例中,主机110是计算系统的芯片组的一部分。主机110可以使用各种命令来控制数据的传递。例如,用于全写的命令编码可以定义为“W”。在一些实施例中,主机110支持用于部分写的命令(例如,Wm),其中使用一个或多个数据屏蔽位屏蔽至少一些写入数据。
主机110包括诸如例如错误校验和(CRC)逻辑112、构造帧逻辑114以及使能/禁止逻辑116之类的检错能力及其它。CRC逻辑112使主机110能够支持带内CRC机制。例如,CRC逻辑112使主机110能够生成在一个或多个数据帧中(例如,通过DQ通道104)传递的CRC校验和。在一些实施例中,可以生成CRC校验和以用于部分写入帧。CRC校验和可以保护写入帧中的(至少一些)数据位以及(至少一些)数据屏蔽位。在一些实施例中,在普通帧中(例如,通过DQ通道104)传递数据位、数据屏蔽位以及对应校验和。
在一些实施例中,能够有选择地使能或者禁止保护数据帧的CRC的使用。例如,在所示实施例中,主机110包括使能/禁止逻辑116以有选择地使能或者禁止CRC的使用。在一些实施例中,使能/禁止逻辑116可以包括一个或多个寄存器位(例如,模式寄存器组或MRS位)。
主机110还可以包括构造帧逻辑114。构造帧逻辑114包括组装将要传递至存储器设备120的帧的逻辑。类似地,逻辑114还可以包括拆分从存储器设备120接收的帧的逻辑。在一些实施例中,构造帧逻辑114能够组装不止一种类型的数据帧(例如,数据帧106A、106B和106C)。
存储器设备120(至少部分)提供用于系统100的主系统存储器。在一些实施例中,存储器设备120包含DRAM设备(例如,DDR1、DDR2、DDR3、DDR4等)。存储器设备120包括错误校验和(CRC)逻辑122、构造帧逻辑124以及使能/禁止逻辑126。在一些实施例中,CRC逻辑122使存储器设备120能够支持带内CRC机制(例如,在DQ线104上)。术语“带内CRC机制”指支持CRC(或其它错误位方案)而不增加额外的管脚。CRC逻辑122可以包括CRC生成逻辑以基于接收的数据帧生成本地校验和。可以将本地校验和与帧中传达的校验和进行比较以确定是否存在任何传送错误。当传送错误发生时,存储器设备120可以用信号通知主机110。
构造帧逻辑124包括组装从主机110传递的帧的逻辑。逻辑124还可以包括拆分从主机110接收的帧的逻辑。在一些实施例中,构造帧逻辑124能够组装不止一种类型的数据帧(例如,数据帧106A、106B、106C)。
如上面所指出,在一些实施例中,能够有选择地使能或者禁止保护数据帧的CRC的使用。例如,在所示实施例中,存储器设备120包括使能/禁止逻辑126以有选择地使能或者禁止CRC的使用。在一些实施例中,使能/禁止逻辑126可以包括一个或多个寄存器位(例如,模式寄存器组或MRS位)。
在很多实施例中,将CRC使能,使得带内CRC字节被提供以确保针对传送错误的保护。同样地,图2按照本公开的一个实施例示出具有CRC字节的×8写入数据帧200的所选方面。具体地说,写入数据帧200表示正在写入存储器的数据帧。写入数据帧200包含十个单位间隔(UI)格式,其中带内CRC校验和字节附在帧的结束处。在所示实施例中,前八个UI传达写入数据字节(例如,UI 0到UI 7),而UI 8传达CRC字节并且不使用UI 9,从而UI 9包含全“l”。在一些实施例中,前八个UI(例如,UI 0到UI 7)传达写入数据字节,UI 8传达CRC字节,并且UI 9传达数据屏蔽字节。在任何情况下,将要传递的写入数据帧200包含10个UI。
在包含写入数据帧200的10个UI的一些实现中,只有表示写入数据的前八个UI(例如,UI 0-UI 7)被处理以存取、复制和/或存储数据至/从DRAM存储器设备核。换言之,写入数据帧200的表示CRC校验和字节的最后2个UI(例如,UI 8和UI 9)将不被传递至DRAM核。这是由于校验和过程被并行执行并且不要求存取或传递至DRAM核,在校验和过程中将写入数据帧200的2个CRC UI与本地CRC校验和数据进行比较以确定任何传送错误。
但是,即使DRAM存储器设备没有使用最后2个CRC UI,事务定时周期,即处理写入操作并且计及周转延迟和解决等待时间所花费的时间,可以基于全部10个UI写入数据帧200。例如,对于CRC使能情形,在处理多个紧接的写-到-读和/或写-到-写的事务中,虽然DRAM设备没有使用包含CRC校验和字节的最后两个UI,但是用于启动紧接的连续事务的定时可以基于10个UI写入数据帧。
应当理解,基于DRAM存储器设备未使用的UI的事务定时可以降低处理效率并且影响总体系统性能。为此,图3按照本公开的各种实施例描绘事务周期方案300。事务方案300通过定义连续事务的周转定时紧接处理写入数据之后开始而不考虑处理CRC字节所花费的时间,表示更统一和有效率的事务定时周期而不管是否使能CRC。
具体来说,按照本公开的各种实施例,事务方案300标识时钟周期(例如,CI 0-CI5),时钟周期指示执行各种事务所花费的时间。例如,图3描绘用于如下项的事务定时:(a)不同的DRAM存储体组之间的写-到-读事务(tWTR_S);(b)用于相同的DRAM存储体组的写-到-读事务(tWTR_L);以及(c)写入恢复(tWR)。与上面所公开的非限制性实施例一致,为了理解,事务方案300采用包含10个UI格式的具有CRC字节的×8写入数据帧200,其中8个UI传达写入数据,并且最后2个UI传达CRC字节或者传达一个CRC字节和一个伪字节(即,全“l”)。此外,事务周期方案300反映双倍数据速率(DDR)总线接口,其中对于每个时钟周期CI的上升沿和下降沿都执行操作(即,双泵激总线),使得在每个时钟周期CI期间处理两个UI。
如图3所示,所指出的事务中任一个的执行包括共同的初始写入等待时间段(tWL),tWL可以持续一个或多个时钟周期(例如,CI i-j)。tWL一般反映在主机110(例如,存储器控制器)提供写入数据之前的时间流逝。
在初始tWL时段之后,对于包含不同DRAM存储体组之间的写-到-读操作的事务(WTR_S),8个UI写入数据经过4个时钟周期(例如,CI 0-CI 3)被处理,而2个UI CRC(包括伪字节)在时钟周期CI 4中被处理。但是,不是规定用于(不同的DRAM存储体组之间的)随后的写-到-读操作的周转时间tWTR_S开始于时钟周期CI 5的开头(即,在CI 4中处理2个UI CRC之后),而是定义周转时间开始于CI 4的开头(即,在处理了8个UI写入数据之后)。
沿着类似思路,对于相同的DRAM存储体组的写-到-读操作(WTR_L),8个UI写入数据被示出将经过4个时钟周期(例如,CI 0-CI 3)被处理,而2个UI CRC被示出将在时钟周期CI 4中被处理。再次,用于接下来的写-到-读操作(对于相同的DRAM存储体组)的周转时间tWTR_L(与CI 5的开头相对比)开始于CI 4的开头。如图3所描绘,对于写入恢复定时(tWR)同样如此。
这样做,事务周期方案300通过将周转定时提前一个时钟周期,利用在处理2个UICRC期间没有DRAM核参与。这使主机110(例如,存储器控制器)能够提前一个时钟周期启动下一个连续的事务。同样地,事务周期方案300提供优化的周转时间段以及连续数据操作的更早启动,从而减少诸如顺序写入、读取以及写入恢复操作之类的紧接的事务的总等待时间。
图4按照本公开的各种实施例示出定时图400。与上述事务周期方案300一致,定时图400提供用于×8写入数据帧200的操作的更细节的表示,×8写入数据帧200具有表达数据的8个UI以及表达CRC字节(或者一个CRC字节和一个伪字节)的最后2个UI。会理解的是,定时图400可以应用于其它格式,诸如,例如×4写入数据帧。
具体来说,定时图400指示在时刻T8发出写入命令。在九个时钟间隔的写入等待时间tWL之后,由主机100(例如,存储器控制器)在时刻T17提供写入数据。如图4所示,用于10个UI帧的处理持续5个时钟周期,就是说,从T17到T22。但是,用于写-到-读tWTR和写入恢复tWR的周转时间开始于在时刻T21在4个时钟周期的结束处。这说明与等待直到处理了全部10个UI数据帧200之后相对比,用于tWTR和tWR的周转时间被定义成在处理了数据的8个UI之后开始。因而,主机110(例如,存储器控制器)能够提前一个时钟周期触发或启动接下来的紧接的事务。
为此,图5按照本公开的各种实施例示出过程500,过程500是示出用于优化周转定时的方法的所选方面的流程图。在框502,过程500提供写入帧的生成。如上面所指出,主机110(例如,存储器控制器)包括提供命令和对应地址信息以及数据至存储器设备120的逻辑。主机110还包括生成错误位校验和(例如,CRC校验和)的错误校验和(CRC)逻辑112以及将数据位和错误位校验和组装到帧中的构造帧逻辑114,该帧将被传递至存储器设备120。
在框504,经由数据总线将数据帧传递至存储器设备120。传递之后,在框506,定义周转时间的开头开始于紧接已传递数据位之后的时刻。就是说,周转时间提前了与传递CRC校验和所花费的时间对应的时间间隔(例如,一个或两个时钟周期)。
在框508,主机110采用所定义的更早的周转时间以触发连续紧接的写入帧的传递。因而,过程500提供优化的周转时间段以及连续数据操作的更早启动,从而减少诸如顺序写入、读取以及写入恢复操作之类的紧接的事务的总等待时间。
将理解的是,还可以将本公开的实施例的元件作为用于存储机器可执行指令的机器可读介质来提供。机器可读介质可以包括,但不限于,闪存、光盘、压缩盘只读存储器(CD-ROM)、数字通用/视频盘(DVD)ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、磁或光卡、传播介质或者适合于存储电子指令的其它类型的机器可读介质。例如,本公开的实施例可以作为计算机程序下载,可以经由通信链路(例如,调制解调器或网络连接)经由载波或其它传播介质中实施的数据信号从远程计算机(例如,服务器)将该计算机程序传递至请求计算机(例如,客户端)。
在上面的描述中,使用某些术语来描述本公开的实施例。例如,术语“逻辑”表示执行一个或多个功能的硬件、固件、软件(或其任意组合)。例如,“硬件”的例子包括,但不限于,集成电路、有限状态机或者甚至组合逻辑。集成电路可以采用诸如微处理器、专用集成电路、数字信号处理器、微控制器等等之类的处理器的形式。
应当理解,本说明书通篇对于“一个实施例”或者“实施例”的引用意味着:结合该实施例所描述的具体特征、结构或者特性包括在本公开的至少一个实施例中。因此,强调和应理解的是,在本说明书的各个部分中对于“实施例”或者“一个实施例”或者“备选实施例”的两个或更多引用不一定全部指代相同的实施例。另外,具体特征、结构或者特性可适当地组合于本公开的一个或多个实施例中。
类似地,应当理解,在本公开的实施例的前面的描述中,为了简化帮助理解各种创造性方面的一个或多个的公开,有时将各种特征一起组合在单个的实施例、图形或其描述中。但是,这种公开方法不要解释为反映以下意图:所要求保护的主题需要与每个权利要求中清楚记载的特征相比更多的特征。而是,正如以下的权利要求所反映的,创造性方面在于少于单个前面所公开的实施例的所有特征。因此,伴随详细描述的权利要求在此清楚地结合于这个详细描述中。
Claims (38)
1.一种集成电路,包括:
构造帧逻辑,所述构造帧逻辑配置成生成写入帧,所述写入帧包括多个数据位以及附在所述数据位的结束处的错误位校验和;
总线架构,所述总线架构配置成容许所述写入帧至存储器设备的传递;
配置成定义周转时间开始于紧随所述写入帧的所述数据位的传递之后的时刻的逻辑,所述周转时间测量随后的写入帧被传递时的时间延迟。
2.如权利要求1所述的集成电路,其中,所述存储器设备包含×8动态随机存取存储器DRAM设备。
3.如权利要求1所述的集成电路,其中,所述存储器设备包含×4动态随机存取存储器DRAM设备。
4.如权利要求1所述的集成电路,其中,所述错误位校验和包含循环冗余码CRC校验和。
5.如权利要求1所述的集成电路,其中,所述写入帧包含十个单位间隔格式,其中所述数据位占据八个单位间隔并且所述错误位校验和包含两个单位间隔。
6.如权利要求5所述的集成电路,其中,所述两个单位间隔错误位校验和包括包含所述错误位校验和的一个单位间隔以及包含伪信息的一个单位间隔。
7.如权利要求1所述的集成电路,其中,所述周转时间的开始被应用到写入恢复操作。
8.一种方法,包括:
生成写入帧,所述写入帧包括多个数据位以及附在所述数据位的结束处的错误位校验和;
将所述写入帧传递至存储器设备;以及
定义周转时间开始于紧随所述数据位的传递之后的时刻,所述周转时间测量随后的写入帧被传递时的时间延迟。
9.如权利要求8所述的方法,其中,所述存储器设备包含×8动态随机存取存储器DRAM设备。
10.如权利要求8所述的方法,其中,所述存储器设备包含×4动态随机存取存储器DRAM设备。
11.如权利要求8所述的方法,其中,所述错误位校验和包含循环冗余码CRC校验和。
12.如权利要求8所述的方法,其中,所述写入帧包含十个单位间隔格式,其中所述数据位占据八个单位间隔并且所述错误位校验和包含两个单位间隔。
13.如权利要求12所述的方法,其中,所述两个单位间隔错误位校验和包括包含所述错误位校验和的一个单位间隔以及包含伪信息的一个单位间隔。
14.如权利要求8所述的方法,其中,所述周转时间的开始被应用到写入恢复操作。
15.一种系统,包括:
主机,所述主机包括:
构造帧逻辑,所述构造帧逻辑配置成生成写入帧,所述写入帧包括多个数据位以及附在所述数据位的结束处的错误位校验和;
总线架构,所述总线架构配置成容许所述写入帧至存储器设备的传递;
配置成定义周转时间开始于紧随所述写入帧的所述数据位的传递之后的时刻的逻辑,所述周转时间测量随后的写入帧被传递时的时间延迟;以及
经由所述总线架构耦合到所述主机的所述存储器设备。
16.如权利要求15所述的系统,其中,所述存储器设备包含×8动态随机存取存储器DRAM设备。
17.如权利要求15所述的系统,其中,所述存储器设备包含×4动态随机存取存储器DRAM设备。
18.如权利要求15所述的系统,其中,所述错误位校验和包含循环冗余码CRC校验和。
19.如权利要求15所述的系统,其中,所述写入帧包含十个单位间隔格式,其中所述数据位占据八个单位间隔并且所述错误位校验和包含两个单位间隔。
20.如权利要求15所述的系统,其中,所述周转时间的开始被应用到写入恢复操作。
21.一种减少紧接的数据事务的等待时间的系统,包括:存储器控制器和同步动态随机存取存储器SDRAM设备,
所述存储器控制器包括:
循环冗余校验CRC逻辑,所述循环冗余校验CRC逻辑生成CRC校验和,
构造帧逻辑,所述构造帧逻辑形成十单位间隔UI数据帧,在前八个单位间隔中具有64位数据,在第九个单位间隔中具有8位CRC校验和,其中时钟周期包括两个UI,
事务逻辑,所述事务逻辑将所述十UI数据帧传递到所述SDRAM设备;以及
所述SDRAM设备具有:
具有多个存储地址的DRAM核,
事务逻辑,响应于在写等待时间之后的第五时钟周期的开始而开始周转时间。
22.如权利要求21所述的系统,其中,所述周转时间由tWTR_S参数来定义。
23.如权利要求21所述的系统,其中,所述周转时间由tWTR_L参数来定义。
24.如权利要求21所述的系统,其中,所述周转时间由tWR参数来定义。
25.如权利要求21所述的系统,其中,所述SDRAM设备是DDR4 SDRAM设备。
26.如权利要求21所述的系统,其中,所述SDRAM设备是DDR1 SDRAM设备、DDR2 SDRAM设备或DDR3 SDRAM设备。
27.一种同步动态随机存取存储器SDRAM设备,所述SDRAM设备包括:
具有多个存储地址的DRAM核;
构造帧逻辑,所述构造帧逻辑从存储器控制器接收十单位间隔UI数据帧,在前八个单位间隔中具有64位数据,在第九个单位间隔中具有8位CRC校验和,其中时钟周期包括两个UI;以及
事务逻辑,响应于在写等待时间之后的第五时钟周期的开始而开始周转时间。
28.如权利要求27所述的SDRAM设备,其中,所述周转时间由tWTR_S参数来定义。
29.如权利要求27所述的SDRAM设备,其中,所述周转时间由tWTR_L参数来定义。
30.如权利要求27所述的SDRAM设备,其中,所述周转时间由tWR参数来定义。
31.如权利要求27所述的SDRAM设备,其中,所述SDRAM设备是DDR4 SDRAM设备。
32.如权利要求27所述的SDRAM设备,其中,所述SDRAM设备是DDR1 SDRAM设备、DDR2SDRAM设备或DDR3 SDRAM设备。
33.一种减少紧接的数据事务的等待时间的系统,包括:存储器控制器和同步动态随机存取存储器SDRAM设备,
所述存储器控制器包括:
循环冗余校验CRC逻辑,所述循环冗余校验CRC逻辑生成CRC校验和,
构造帧逻辑,所述构造帧逻辑形成十单位间隔UI数据帧,在前八个单位间隔中具有64位数据,在第九个单位间隔中具有8位CRC校验和,
事务逻辑,所述事务逻辑将所述十UI数据帧传递到所述SDRAM设备;以及
所述SDRAM设备具有:
用来存储数据的DRAM核,
事务逻辑,在循环冗余校验和的传递期间开始周转时间。
34.如权利要求33所述的系统,其中,所述周转时间由tWTR_S参数来定义。
35.如权利要求33所述的系统,其中,所述SDRAM设备是DDR4 SDRAM设备。
36.一种减少紧接的数据事务的等待时间的存储器控制器,包括:
循环冗余校验CRC逻辑,所述循环冗余校验CRC逻辑生成CRC校验和,
构造帧逻辑,所述构造帧逻辑形成十单位间隔UI数据帧,在前八个单位间隔中具有64位数据,在第九个单位间隔中具有8位CRC校验和,
事务逻辑,所述事务逻辑将所述十UI数据帧传递到同步动态随机存取存储器SDRAM设备,其中,使在后续数据帧之前的周转时间在传递整个十UI数据帧之前开始。
37.如权利要求36所述的存储器控制器,其中,所述周转时间由tWTR_S参数来定义。
38.如权利要求36所述的存储器控制器,其中,所述SDRAM设备是DDR4 SDRAM设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/030525 WO2013147733A1 (en) | 2012-03-26 | 2012-03-26 | Timing optimization for memory devices employing error detection coded transactions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104471645A CN104471645A (zh) | 2015-03-25 |
CN104471645B true CN104471645B (zh) | 2017-04-12 |
Family
ID=49260810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280071929.2A Active CN104471645B (zh) | 2012-03-26 | 2012-03-26 | 采用检错编码的事务的存储器设备的定时优化装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9619316B2 (zh) |
KR (1) | KR101700492B1 (zh) |
CN (1) | CN104471645B (zh) |
TW (2) | TWI511133B (zh) |
WO (1) | WO2013147733A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013147733A1 (en) | 2012-03-26 | 2013-10-03 | Intel Corporation | Timing optimization for memory devices employing error detection coded transactions |
US10236045B2 (en) | 2012-09-21 | 2019-03-19 | Samsung Electronics Co., Ltd. | Semiconductor memory device having detection clock patterns phase-inverted from each other and detection clock generating method thereof |
US11797186B2 (en) | 2019-12-20 | 2023-10-24 | Micron Technology, Inc. | Latency offset for frame-based communications |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735869A (zh) * | 2001-09-27 | 2006-02-15 | 英特尔公司 | 降低存储器访问等待时间的存储器访问调度方法和装置 |
CN101325090A (zh) * | 2007-05-15 | 2008-12-17 | 英特尔公司 | 通过使循环冗余码线路相对于数据线路偏移改善等待时间 |
CN101364209A (zh) * | 2007-06-05 | 2009-02-11 | 英特尔公司 | 将数据屏蔽位传送到存储器装置的系统、方法和设备 |
CN101441896A (zh) * | 2007-11-19 | 2009-05-27 | 英特尔公司 | 存储器技术的可靠性、可用性和可服务性解决方案 |
CN101609418A (zh) * | 2008-06-18 | 2009-12-23 | 英特尔公司 | 在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统 |
CN101868788A (zh) * | 2007-11-19 | 2010-10-20 | 拉姆伯斯公司 | 基于周转事件的调度 |
CN101978356A (zh) * | 2008-06-16 | 2011-02-16 | 英特尔公司 | 用单独循环冗余码帧的有效带内可靠性 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI225260B (en) | 2002-10-07 | 2004-12-11 | Samsung Electronics Co Ltd | Circuits and methods for providing page mode operation in semiconductor memory device having partial activation architecture |
US20060164909A1 (en) * | 2005-01-24 | 2006-07-27 | International Business Machines Corporation | System, method and storage medium for providing programmable delay chains for a memory system |
KR100732194B1 (ko) | 2005-10-17 | 2007-06-27 | 삼성전자주식회사 | 메모리 모듈과 메모리 시스템 및 그 제어방법 |
US7810013B2 (en) * | 2006-06-30 | 2010-10-05 | Intel Corporation | Memory device that reflects back error detection signals |
KR100808053B1 (ko) | 2006-09-29 | 2008-02-28 | 주식회사 하이닉스반도체 | 메모리장치의 딜레이 선택회로. |
KR20090074969A (ko) | 2008-01-03 | 2009-07-08 | 삼성전자주식회사 | 레이턴시를 제어하는 반도체 메모리 장치 |
US8281101B2 (en) | 2008-12-27 | 2012-10-02 | Intel Corporation | Dynamic random access memory with shadow writes |
US7969813B2 (en) | 2009-04-01 | 2011-06-28 | Micron Technology, Inc. | Write command and write data timing circuit and methods for timing the same |
WO2013147733A1 (en) | 2012-03-26 | 2013-10-03 | Intel Corporation | Timing optimization for memory devices employing error detection coded transactions |
-
2012
- 2012-03-26 WO PCT/US2012/030525 patent/WO2013147733A1/en active Application Filing
- 2012-03-26 KR KR1020147027307A patent/KR101700492B1/ko active IP Right Grant
- 2012-03-26 US US13/997,908 patent/US9619316B2/en active Active
- 2012-03-26 CN CN201280071929.2A patent/CN104471645B/zh active Active
-
2013
- 2013-03-25 TW TW102110501A patent/TWI511133B/zh active
- 2013-03-25 TW TW104130850A patent/TWI590246B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735869A (zh) * | 2001-09-27 | 2006-02-15 | 英特尔公司 | 降低存储器访问等待时间的存储器访问调度方法和装置 |
CN101325090A (zh) * | 2007-05-15 | 2008-12-17 | 英特尔公司 | 通过使循环冗余码线路相对于数据线路偏移改善等待时间 |
CN101364209A (zh) * | 2007-06-05 | 2009-02-11 | 英特尔公司 | 将数据屏蔽位传送到存储器装置的系统、方法和设备 |
CN101441896A (zh) * | 2007-11-19 | 2009-05-27 | 英特尔公司 | 存储器技术的可靠性、可用性和可服务性解决方案 |
CN101868788A (zh) * | 2007-11-19 | 2010-10-20 | 拉姆伯斯公司 | 基于周转事件的调度 |
CN101978356A (zh) * | 2008-06-16 | 2011-02-16 | 英特尔公司 | 用单独循环冗余码帧的有效带内可靠性 |
CN101609418A (zh) * | 2008-06-18 | 2009-12-23 | 英特尔公司 | 在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2013147733A1 (en) | 2013-10-03 |
KR101700492B1 (ko) | 2017-01-26 |
US20150058706A1 (en) | 2015-02-26 |
TW201626384A (zh) | 2016-07-16 |
US9619316B2 (en) | 2017-04-11 |
CN104471645A (zh) | 2015-03-25 |
KR20150006418A (ko) | 2015-01-16 |
TWI590246B (zh) | 2017-07-01 |
TW201403600A (zh) | 2014-01-16 |
TWI511133B (zh) | 2015-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3702927B1 (en) | Flit-based parallel-forward error correction and parity | |
CN106575517B (zh) | 用于提供比较访问功能的存储器设备 | |
CN104317766B (zh) | 用于改进串行端口存储器通信等待时间和可靠性的方法和系统 | |
EP3702926B1 (en) | Flit-based packetization | |
TWI430085B (zh) | 具有分離循環冗餘碼訊框之有效率帶內可靠性技術的方法、積體電路與系統以及動態隨機存取記憶體裝置 | |
CN109074851A (zh) | 利用额外系统位的内部错误校验和校正(ecc) | |
KR101031436B1 (ko) | 메모리 기술에 대한 신뢰성, 가용성 및 서비스편의성 해결책 | |
CN101325090B (zh) | 通过使循环冗余码线路相对于数据线路偏移改善等待时间 | |
CN101937726A (zh) | 针对存储器的快速数据眼再训练 | |
CN104205755A (zh) | 用于在计算设备的网络触发的唤醒期间延迟分组的方法、设备和系统 | |
CN102150215A (zh) | 用于带内数据掩码比特传输的系统、方法和装置 | |
CN109918226A (zh) | 一种静默错误检测方法、装置及存储介质 | |
CN104471645B (zh) | 采用检错编码的事务的存储器设备的定时优化装置和方法 | |
TWI704453B (zh) | 具有通訊機制的計算系統及其操作方法 | |
US20110004817A1 (en) | Crc management method performed in sata interface and data storage device using crc management method | |
CN117099075A (zh) | 针对长突发长度的存储器数据传送的双倍取得 | |
WO2015158264A1 (zh) | 控制内存芯片的方法、芯片控制器和内存控制器 | |
CN108139993B (zh) | 内存装置、内存控制器、数据缓存装置及计算机系统 | |
CN101364209A (zh) | 将数据屏蔽位传送到存储器装置的系统、方法和设备 | |
US20220091927A1 (en) | Method and apparatus to reduce bandwidth overhead of crc protection on a memory channel | |
CN104025198B (zh) | 相变存储器与开关(pcms)写错误检测 | |
CN103389924B (zh) | 应用于随机存储器的ecc存储系统 | |
US11029879B2 (en) | Page size synchronization and page size aware scheduling method for non-volatile memory dual in-line memory module (NVDIMM) over memory channel | |
CN114443516A (zh) | 接口电路、包括接口电路的处理器以及处理包的方法 | |
KR20230091006A (ko) | 적응형 더블 디바이스 데이터 정정 스페어링을 위한 어드레스 생성 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |