CN109964213A - 在基于处理器的***中提供经扩展动态随机存取存储器突发长度 - Google Patents

在基于处理器的***中提供经扩展动态随机存取存储器突发长度 Download PDF

Info

Publication number
CN109964213A
CN109964213A CN201780069229.2A CN201780069229A CN109964213A CN 109964213 A CN109964213 A CN 109964213A CN 201780069229 A CN201780069229 A CN 201780069229A CN 109964213 A CN109964213 A CN 109964213A
Authority
CN
China
Prior art keywords
burst
memory
data
length
indicator
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.)
Granted
Application number
CN201780069229.2A
Other languages
English (en)
Other versions
CN109964213B (zh
Inventor
K·S·贝恩斯
W·奎因
王力永
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN109964213A publication Critical patent/CN109964213A/zh
Application granted granted Critical
Publication of CN109964213B publication Critical patent/CN109964213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/1678Details of memory controller using bus width
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

公开在基于处理器的***中提供经扩展动态随机存取存储器DRAM突发长度。一方面,一种基于处理器的***包含提供4位宽数据存取(“x4”)和128位内部数据预取的DRAM电路(例如,安置在公共x4/x8裸片上)。当在x4模式中操作时,所述DRAM电路经配置以提供32位的经扩展DRAM突发长度(“BL32”)。所述DRAM电路从以通信方式耦合到所述DRAM电路的存储器控制器接收存储器读取请求,预取128位数据,并响应于所述存储器读取请求将所有所述128位所获取数据返回到所述存储器控制器。在一些方面,所述DRAM电路还可从所述存储器控制器接收包含128位写入数据的存储器写入命令,并将所述128位写入数据写入到存储器,而无需执行读取/修改/写入RMW操作。

Description

在基于处理器的***中提供经扩展动态随机存取存储器突发 长度
相关申请的交叉引用
本申请主张2017年11月29日申请且名称为“在基于处理器的***中提供经扩展动态随机存取存储器突发长度(PROVIDING EXTENDED DYNAMIC RANDOM ACCESS MEMORY(DRAM)BURST LENGTHS IN PROCESSOR-BASED SYSTEMS)”的第15/825,724号美国专利申请的优先权,所述专利申请主张2016年12月1日申请且名称为“在基于处理器的***中提供经扩展动态随机存取存储器突发长度(PROVIDING EXTENDED DYNAMIC RANDOM ACCESSMEMORY(DRAM)BURST LENGTHS IN PROCESSOR-BASED SYSTEMS)”的第62/428,638号美国临时专利申请的优先权,前述申请的内容以全文引用的方式并入本文中。
技术领域
本公开的技术大体上涉及基于处理器的***的存储器***,并且具体地说,涉及动态随机存取存储器(DRAM)中的存储器突发长度。
背景技术
动态随机存取存储器(DRAM)是一种其中数据的个别位使用在存储器电路内包括一个晶体管和一个电容器的一对存储的计算机存储器的普遍形式。双倍数据速率(DDR)存储器是一类通过在时钟信号的上升和下降边沿两者上启用数据传递来提供高数据传递速率的DRAM,由此使给定时钟频率下的数据总线带宽加倍。联合电子元件技术委员会(JEDEC)已建立多代DDR存储器的规范,包含DDR1、DDR2、DDR3和DDR4,其中DDR5的规范即将出现。
DRAM电路可使用提供四(4)个或八(8)个数据引脚(在本文中分别被称作“x4”或“4位宽”和“x8”或“8位宽”)用于输入和输出的公共裸片来实施。可传入和传出DRAM电路的数据量是使用中数据引脚的数目和DRAM电路的“突发长度”的函数。如本文中所使用,“突发长度”是指可通过每一数据引脚作为单个传输单元(“突发”)传输的数据的位的数目。因此,例如,DRAM突发长度为16(BL16)的x4DRAM电路可一次传递64位数据(即,四(4)个数据引脚中的每一个传递16位数据),而BL16的x8DRAM电路可一次传递128位数据(即,八(8)个数据引脚中的每一个传递16位数据)。
因为可以使用公共裸片来实施x4和x8DRAM电路,所以基于公共裸片的DRAM电路可经配置以在内部执行128位数据的预取以供所有外部读取和写入,而不管在单个存储器操作中实际可传输的位的数目是多少。这可以为BL16的x8DRAM电路提供最佳性能,但是可能会导致使用BL16的x4DRAM电路的有效性能和功率消耗变差。举例来说,x4DRAM电路的存储器读取操作需要DRAM电路获取128位数据,使用错误校正码(ECC)校正任一个位错误,向存储器控制器提供所获取数据的64位子集,并舍弃所获取数据的其它64位。对于存储器写入操作,仅64位写入数据被DRAM电路接收以写入到存储器。然而,DRAM电路仍然必须在内部获取128位数据,执行错误校正,将64位写入数据合并到128位所获取数据中,重新计算128位数据的ECC,最后将所有数据写回到存储器。这一系列操作需要通过DRAM电路来执行读取/修改/写入(RMW)操作,这在计算资源和功率消耗方面可能较为昂贵。因此,希望为实施于公共x4/x8裸片上的x4DRAM电路提供更高效的机制以执行存储器读取和写入操作。
发明内容
公开于具体实施方式中的方面包含在基于处理器的***中提供经扩展动态随机存取存储器(DRAM)突发长度。在这方面,一方面,一种基于处理器的***包含提供4位宽数据存取和128位内部数据预取的DRAM电路(例如,安置在公共x4/x8裸片上)。当在x4模式中操作时,DRAM电路经配置以提供32位的经扩展DRAM突发长度(BL32)。DRAM电路从以通信方式耦合到DRAM电路的存储器控制器接收存储器读取请求。DRAM电路经配置以预取128位数据,然后响应于存储器读取请求,将所有128位所获取数据返回到存储器控制器。在一些方面,DRAM电路还可从存储器控制器接收包含128位写入数据的存储器写入命令,并且可将128位写入数据写入到存储器,而无需执行读取/修改/写入(RMW)操作。一些方面可实现DRAM电路的BL32模式可由存储器控制器动态选择,例如通过设置或清除读取和写入命令中的位以在BL16或BL32之间转换。在一些方面,由DRAM电路提供的一或多个模式寄存器中的模式寄存器经配置以启用用于即时选择BL16或BL32的模式。
另一方面,提供一种用于提供经扩展DRAM突发长度的基于处理器的***。基于处理器的***包括配置成提供4位宽数据存取和128位内部数据预取的DRAM电路。基于处理器的***另外包括以通信方式耦合到DRAM电路的存储器控制器。DRAM电路经配置以通过配置成从存储器控制器接收存储器读取请求来提供32位的经扩展DRAM突发长度。DRAM电路经另外配置以执行128位数据的内部预取。DRAM电路经配置以生成所有128位数据的错误校正码(ECC)。DRAM电路还经配置以响应于存储器读取请求,将所有128位数据返回到存储器控制器。
另一方面,提供一种用于提供经扩展DRAM突发长度的方法。方法包括通过经配置以提供4位宽数据存取和128位内部数据预取的DRAM电路从存储器控制器接收存储器读取请求。方法另外包括执行128位数据的内部预取,并生成所有128位数据的ECC。方法还包括响应于存储器读取请求,通过DRAM电路将所有128位数据返回到存储器控制器。
另一方面,一种基于处理器的***为使用4位宽数据存取的DRAM提供经扩展DRAM突发长度。基于处理器的***包括用于从存储器控制器接收存储器读取请求的装置。基于处理器的***另外包括用于执行128位数据的内部预取的装置,及用于生成所有128位数据的ECC的装置。基于处理器的***还包括用于响应于存储器读取请求而将所有128位数据返回到存储器控制器的装置。
附图说明
图1是示例性基于处理器的***的框图,所述基于处理器的***包含存储器控制器和经配置以提供经扩展DRAM突发长度的动态随机存取存储器(DRAM)电路;
图2是说明使用图1的存储器控制器和DRAM电路提供经扩展DRAM突发长度的示例性过程的流程图;以及
图3是可包含图1的存储器控制器和DRAM电路的示例性基于处理器的***的框图。
具体实施方式
现参考图,对本公开的若干示例性方面加以描述。词“示例性”在本文中用于意指“充当实例、例子或说明”。本文中描述为“示例性”的任何方面无需理解为比其它方面优选或有利。
公开于具体实施方式中的方面包含在基于处理器的***中提供经扩展动态随机存取存储器(DRAM)突发长度。因此,在这方面,图1说明示例性基于处理器的***100,所述基于处理器的***100包含中央处理单元(CPU)102、存储器控制器104和DRAM电路106,所述DRAM电路106用于使用32位的经扩展DRAM突发长度(即,“BL32”)来执行存储器操作。在一些方面,存储器控制器104设置于与含有CPU 102的半导体裸片分开的半导体裸片上,而一些方面实现存储器控制器104与CPU 102设置于相同半导体裸片上。不管裸片配置如何,提供存储器控制器104,使得CPU 102可通过内部***总线向存储器控制器104进行存储器存取请求,并通过存储器控制器104从存储器接收数据。
图1的基于处理器的***100可涵盖以下中的任一个:已知数字逻辑元件、半导体电路、处理核心和/或存储器结构及其它元件或其组合。本文中所描述的方面不限于元件的任何特定布置,且所公开的技术可轻易地扩展到半导体裸片或封装上的各种结构和布局。应理解,除了图1中所说明的那些之外,基于处理器的***100的一些方面可另外包含元件。
如图1中所见,DRAM电路106组织成多个库(bank)群组108(0)-108(X),每一库群组由多个库110(0)-110(Y)、112(0)-112(Y)组成。多个库110(0)-110(Y)、112(0)-112(Y)中的每一个包含对应存储器阵列114(0)-114(Y)、116(0)-116(Y)。对库群组108(0)-108(X)中的每一个的存储器存取可通过内部控制器118使用局部输入/输出(I/O)门控120(0)-120(X)和全局I/O门控122来控制。应理解,在一些方面,DRAM电路106可含有比图1中所说明的更多或更少的库群组108(0)-108(X)、库110(0)-110(Y)、112(0)-112(Y)、存储器阵列114(0)-114(Y)、116(0)-116(Y)和/或局部输入/输出(I/O)门控120(0)-120(X)。
为了与存储器控制器104通信,DRAM电路106提供数据接口124。在图1的实例中,数据接口124提供总共八(8)个数据引脚126(0)-126(7)。DRAM电路106的一些方面可采用所有八(8)个数据引脚126(0)-126(7)(即,“x8”或“8位宽”配置)来向存储器控制器104传输数据和从存储器控制器104接收数据。在这些使用16的DRAM突发长度(即,“BL16”)的方面中,在每一存储器存取操作期间,DRAM电路106可经配置以提供128位内部预取,并且因此可以读取和写入如由单元128表示的128位数据。
然而,DRAM电路106的一些方面可经配置以仅使用数据引脚126(0)-126(7)中的四(4)个(即,“x4”或“4位宽”配置)。当在这些使用BL16方面中执行存储器读取操作时,DRAM电路106可撷取含有128位数据的单元128,但是只能向存储器控制器104传输64位数据,例如单元130(0)、130(1)中的一个。这导致存储器带宽、计算资源和功率浪费。类似地,为了将64位数据写入到存储器,DRAM电路104可执行读取/修改/写入(RMW)操作以获取含有128位数据的单元128,利用待写入的64位新数据(例如,单元130(0)、130(1)中的一个)更新它并写入所述数据。此类RMW操作在计算资源和功率消耗方面可能较为昂贵。
因此,图1的DRAM电路106的方面经配置以在x4配置中操作时提供32的经扩展DRAM突发长度(即,“BL32”)。在这些方面中,DRAM电路106可从存储器控制器104接收存储器读取请求132。存储器控制器104经配置以了解BL32经扩展DRAM突发长度,它预期响应于存储器读取请求132而接收每突发128位数据。因此,DRAM电路106获取具有128位数据的单元128,生成所有128位数据的错误校正码(ECC),并响应于存储器读取请求132而将所有128位数据返回到存储器控制器104。
对于存储器写入操作,DRAM电路106的方面接收存储器写入请求134,包含128位写入数据136。在接收到写入数据136时,DRAM电路106经配置以写入写入数据136,而无需执行RMW操作。在一些方面,作为存储器写入操作的部分,DRAM电路106可经配置以生成ECC和/或对写入数据136执行错误校正。
根据一些方面,DRAM电路106可经配置以启用突发长度的“即时”选择(即,使得用于存储器读取和写入操作的突发长度在DRAM电路106的正常操作过程期间能够被修改)。在一些此类方面中,DRAM电路106的模式寄存器138提供突发长度模式指示符(“BL MODEINDICATOR”)140,所述突发长度模式指示符指示是否启用即时突发长度选择。应理解,图1的模式寄存器138可以是由DRAM电路106提供的多个模式寄存器中的一个。即时突发长度选择模式(例如,指示是否允许即时突发长度选择)在突发长度模式指示符140处于设定状态时通过DRAM电路106启用,并在突发长度模式指示符140不处于设定状态时停用。根据一些方面,突发长度模式指示符140可包括添加到模式寄存器138中的新的位,或可包括模式寄存器138内已存在的位,所述位略微改动以指示即时突发长度选择模式。
当突发长度模式指示符140处于设定状态时,存储器读取请求132和/或存储器写入请求134可分别包含突发长度选择指示符142和144,以指示应该是BL16还是BL32模式供DRAM电路106使用。举例来说,如果对应突发长度选择指示符142或144不处于设定状态,那么DRAM电路106可经配置以使用常规BL16模式来执行存储器读取操作或存储器写入操作,且如果对应突发长度选择指示符142或144处于设定状态,那么在BL32模式中操作。这可使得存储器控制器104能够调整DRAM电路106的操作以优化所选突发长度的存储器存取操作,并允许不同突发长度用于不同应用。在一些方面,突发长度选择指示符142和/或144可分别包括存储器读取请求132和/或存储器写入请求134内的常规突发突变(BC)指示符(未示出),所述指示符作为突发长度选择指示符142和/或144而进行略微改动。
图2说明用于提供经扩展DRAM突发长度的图1的存储器控制器104和DRAM电路106的示例性操作。为清楚起见,在描述图2时引用图1的元件。在图2中,操作开始于DRAM电路106从存储器控制器104接收存储器读取请求122(框200)。DRAM电路106获取128位数据(框202)。接着,响应于存储器读取请求122,DRAM电路106将所有128位数据返回到存储器控制器104(框204)。在一些方面,DRAM电路106还可从存储器控制器104接收包括128位写入数据126的存储器写入请求124(框206)。接着,DRAM电路106可响应于存储器写入请求124而写入128位写入数据126,而无需执行RMW操作(框208)。
图2说明用于提供经扩展DRAM突发长度的图1的存储器控制器104和DRAM电路106的示例性操作。为清楚起见,在描述图2时引用图1的元件。在一些方面,图2中所说明的操作开始于DRAM电路106响应于突发长度模式指示符140处于设定状态而启用即时突发长度模式选择(框200)。在这方面,DRAM电路106在本文中可被称为“用于响应于突发长度模式指示符处于设定状态而启用即时突发长度模式选择的装置”。随后,DRAM电路106从存储器控制器104接收存储器读取请求132(框202)。因此,DRAM电路106在本文中可被称为“用于从存储器控制器接收存储器读取请求的装置”。
DRAM电路106执行128位数据的内部预取(框204)。因此,DRAM电路106在本文中可被称为“用于执行128位数据的内部预取的装置”。DRAM电路106生成所有128位数据的ECC(框205)。因此,DRAM电路106在本文中可被称为“用于生成所有128位数据的错误校正码(ECC)的装置”。接着,响应于存储器读取请求132,DRAM电路106将所有128位数据返回到存储器控制器104(框206)。在这方面,DRAM电路106在本文中可被称为“用于响应于存储器读取请求而将所有128位数据返回到存储器控制器的装置”。在一些方面,用于将128位数据返回到存储器控制器106的框206的操作可以另外响应于检测到存储器读取请求132的突发长度选择指示符142处于设定状态。在这些方面中,DRAM电路106在本文中可被称为“用于另外响应于检测到存储器读取请求的突发长度选择指示符处于设定状态而返回所有128位数据的装置”。
根据一些方面,DRAM电路106还可从存储器控制器104接收包括128位写入数据136的存储器写入请求134(框208)。因此,DRAM电路106在本文中可被称为“用于接收包括128位写入数据的存储器写入请求的装置”。在这些方面中,DRAM电路106生成128位写入数据136的ECC(框209)。在这方面,DRAM电路106在本文中可被称为“用于生成128位写入数据的ECC的装置”。接着,DRAM电路106响应于存储器写入请求134而写入128位写入数据136,而无需执行读取/修改/写入(RMW)操作(框210)。因此,DRAM电路106在本文中可被称为“用于响应于存储器写入请求而写入128位写入数据而无需执行读取/修改/写入(RMW)操作的装置”。一些方面可实现用于写入128位写入数据136的框210的操作另外响应于检测到存储器写入请求134的突发长度选择指示符144处于设定状态。在这些方面,DRAM电路106在本文中可被称为“用于另外响应于检测到存储器写入请求的突发长度选择指示符处于设定状态而写入128位写入数据的装置”。
根据本文所公开的方面在基于处理器的***中提供经扩展DRAM突发长度可设置于任何基于处理器的装置中或集成到任何基于处理器的装置中。实例包含但不限于机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、全球定位***(GPS)装置、移动电话、蜂窝式电话、智能手机、会话起始协议(SIP)电话、平板计算机、平板手机、服务器、计算机、便携式计算机、移动计算装置、可穿戴计算装置(例如,智能手表、健康或健身追踪器、眼镜等)、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视、调谐器、收音机、卫星收音机、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器、便携式数字视频播放器、汽车、车辆组件、航空电子***、无人机和直升机。
在这方面,图3说明可采用图1中所说明的存储器控制器104和DRAM电路106的基于处理器的***300的实例。基于处理器的***300包含一或多个CPU 302,每一CPU包含一或多个处理器304。CPU 302可具有耦合到处理器304以快速存取临时存储的数据的高速缓存存储器306,并且在一些方面中可与图1的CPU 102相对应。CPU 302耦合到***总线308,并且可使包含在基于处理器的***300中的主装置和从属装置相互耦合。众所周知,CPU 302通过借助***总线308交换地址、控制和数据信息与这些其它装置通信。例如,作为从属装置的实例,CPU 302可将总线交易请求传送到存储器控制器310。根据一些方面,存储器控制器310可与图1的存储器控制器104相对应。
其它主装置和从属装置可连接到***总线308。如图3中所说明,作为实例,这些装置可包含存储器***312、一或多个输入装置314、一或多个输出装置316、一或多个网络接口装置318和一或多个显示控制器320。输入装置314可包含任何类型的输入装置,包含但不限于输入键、开关、语音处理器等。输出装置316可包含任何类型的输出装置,包含但不限于音频、视频、其它视觉指示符等。网络接口装置318可以是经配置以允许来自及前往网络322的数据交换的任何装置。网络322可以是任何类型的网络,包含但不限于有线或无线网络、私用或公用网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、BLUETOOTHTM网络和因特网。网络接口装置318可经配置以支持所要的任何类型的通信协议。存储器***312可包含一或多个存储器单元324(0)-324(N)。在一些方面,图1的DRAM电路106可与图3的一或多个存储器单元324(0)-324(N)中的每一个相对应。
CPU 302还可经配置以通过***总线308存取显示控制器320,以便控制发送到一或多个显示器326的信息。显示控制器320通过一或多个视频处理器328向显示器326发送信息以供显示,所述一或多个视频处理器328将所述信息处理成以适用于显示器326的格式显示。显示器326可包含任何类型的显示器,包含但不限于阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器等。
所属领域的技术人员将另外了解,结合本文中所公开的各方面描述的各种说明性逻辑块、模块、电路和算法可实施为电子硬件、存储在存储器或另一计算机可读媒体中且由处理器或其它处理装置执行的指令,或这两者的组合。作为实例,本文中所描述的主装置和从属装置可用于任何电路、硬件组件、集成电路(IC)或IC芯片中。本文中所公开的存储器可以是任何类型和大小的存储器,并且可经配置以存储所要的任何类型的信息。为了清楚地说明这一可互换性,上文已大体上关于各种说明性组件、块、模块、电路和步骤的功能性对它们加以描述。如何实施此功能性取决于特定应用、设计选项和/或强加于整个***的设计约束。所属领域的技术人员可以针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为引起对本公开的范围的偏离。
结合本文中所公开的方面描述的各种说明性逻辑块、模块和电路可通过以下各项来实施或执行:处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或它们经设计以执行本文中所描述的功能的任何组合。处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心结合,或任何其它此类配置)。
本文中所公开的方面可以硬件和存储于硬件中的指令来体现,且可驻存于(例如)随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可装卸式磁盘、CD-ROM或所属领域中已知的任何其它形式的计算机可读媒体中。示例性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可驻存在ASIC中。ASIC可驻存在远程站中。在替代方案中,处理器和存储媒体可作为离散组件驻存在远程站、基站或服务器中。
还应注意,描述本文中的示例性方面中的任一者中所描述的操作步骤是为了提供实例和论述。可以用除了所说明的顺序之外的大量不同顺序执行所描述的操作。此外,单个操作步骤中所描述的操作实际上可在许多不同步骤中执行。另外,可组合在示例性方面中所论述的一或多个操作步骤。应理解,所属领域的技术人员将容易清楚,流程图中所说明的操作步骤可以进行大量不同修改。所属领域的技术人员还将了解,可使用多种不同技术和技艺中的任一者来表示信息和信号。例如,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。
提供本公开的先前描述以使所属领域的技术人员能够制造或使用本公开。所属领域技术人员将容易清楚对本发明的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本发明的精神或范围。因此,本公开并非意图限于本文中所描述的实例和设计,而应被赋予与本文中所公开的原理和新颖特征相一致的最广范围。

Claims (23)

1.一种用于提供经扩展动态随机存取存储器DRAM突发长度的基于处理器的***,包括:
DRAM电路,其经配置以提供4位宽数据存取和128位内部数据预取;以及
存储器控制器,其以通信方式耦合到所述DRAM电路;
所述DRAM电路经配置以通过配置成进行以下操作来提供32位的经扩展DRAM突发长度:
从所述存储器控制器接收存储器读取请求;
执行128位数据的内部预取;
生成所有所述128位数据的错误校正码ECC;以及
响应于所述存储器读取请求,将所有所述128位数据返回到所述存储器控制器。
2.根据权利要求1所述的基于处理器的***,其中:
所述DRAM电路包括模式寄存器,所述模式寄存器包括突发长度模式指示符;以及
所述DRAM电路经配置以响应于所述突发长度模式指示符处于设定状态而启用即时突发长度模式选择。
3.根据权利要求1所述的基于处理器的***,其中:
所述存储器读取请求包括突发长度选择指示符;以及
所述DRAM电路经配置以响应于检测到所述存储器读取请求的所述突发长度选择指示符处于设定状态而提供所述32位的经扩展DRAM突发长度。
4.根据权利要求3所述的基于处理器的***,其中所述突发长度选择指示符包括所述存储器读取请求的突发突变BC指示符,所述指示符作为所述突发长度选择指示符而进行略微改动。
5.根据权利要求1所述的基于处理器的***,其中所述DRAM电路经另外配置以:
从所述存储器控制器接收包括128位写入数据的存储器写入请求;
生成所述128位写入数据的ECC;以及
响应于所述存储器写入请求而写入所述128位写入数据,而无需执行读取/修改/写入RMW操作。
6.根据权利要求5所述的基于处理器的***,其中:
所述存储器写入请求包括突发长度选择指示符;以及
所述DRAM电路经配置以响应于检测到所述存储器写入请求的所述突发长度选择指示符处于设定状态而提供所述32位的经扩展DRAM突发长度。
7.根据权利要求6所述的基于处理器的***,其中所述突发长度选择指示符包括所述存储器写入请求的突发突变BC指示符,所述指示符作为所述突发长度选择指示符而进行略微改动。
8.根据权利要求1所述的基于处理器的***,其集成到集成电路IC中。
9.根据权利要求1所述的基于处理器的***,其集成到选自由以下组成的群组的装置中:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;全球定位***GPS装置;移动电话;蜂窝式电话;智能手机;会话起始协议SIP电话;平板计算机;平板手机;服务器;计算机;便携式计算机;移动计算装置;可穿戴计算装置(例如,智能手表、健康或健身追踪器、眼镜等);台式计算机;个人数字助理PDA;监视器;计算机监视器;电视;调谐器;收音机;卫星收音机;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频光盘DVD播放器;便携式数字视频播放器;汽车;车辆组件;航空电子***;无人机;以及直升机。
10.一种用于提供经扩展动态随机存取存储器DRAM突发长度的方法,包括:
通过经配置以提供4位宽数据存取和128位内部数据预取的DRAM电路从存储器控制器接收存储器读取请求;
执行128位数据的内部预取;
生成所有所述128位数据的错误校正码ECC;以及
响应于所述存储器读取请求,通过所述DRAM电路将所有所述128位数据返回到所述存储器控制器。
11.根据权利要求10所述的方法,其中:
所述DRAM电路包括模式寄存器,所述模式寄存器包括突发长度模式指示符;以及
所述方法另外包括响应于所述突发长度模式指示符处于设定状态而启用即时突发长度模式选择。
12.根据权利要求10所述的方法,其中:
所述存储器读取请求包括突发长度选择指示符;以及
通过所述DRAM电路将所有所述128位数据返回到所述存储器控制器另外响应于检测到所述存储器读取请求的所述突发长度选择指示符处于设定状态。
13.根据权利要求12所述的方法,其中所述突发长度选择指示符包括所述存储器读取请求的突发突变BC指示符,所述指示符作为所述突发长度选择指示符而进行略微改动。
14.根据权利要求10所述的方法,另外包括:
通过所述DRAM电路从所述存储器控制器接收包括128位写入数据的存储器写入请求;
生成所述128位写入数据的ECC;以及
响应于所述存储器写入请求而写入所述128位写入数据,而无需执行读取/修改/写入RMW操作。
15.根据权利要求14所述的方法,其中:
所述存储器写入请求包括突发长度选择指示符;以及
写入所述128位写入数据另外响应于检测到所述存储器写入请求的所述突发长度选择指示符处于设定状态。
16.根据权利要求15所述的方法,其中所述突发长度选择指示符包括所述存储器写入请求的突发突变BC指示符,所述指示符作为所述突发长度选择指示符而进行略微改动。
17.一种用于为使用4位宽数据存取的动态随机存取存储器DRAM提供经扩展DRAM突发长度的基于处理器的***,包括:
用于从存储器控制器接收存储器读取请求的装置;
用于执行128位数据的内部预取的装置;
用于生成所有所述128位数据的错误校正码ECC的装置;以及
用于响应于所述存储器读取请求而将所有所述128位数据返回到所述存储器控制器的装置。
18.根据权利要求10所述的基于处理器的***,另外包括:
模式寄存器,其包括突发长度模式指示符;以及
用于响应于所述突发长度模式指示符处于设定状态而启用即时突发长度模式选择的装置。
19.根据权利要求10所述的基于处理器的***,另外包括:
所述存储器读取请求包括突发长度选择指示符;以及
用于将所有所述128位数据返回到所述存储器控制器的所述装置包括用于另外响应于检测到所述存储器读取请求的所述突发长度选择指示符处于设定状态而返回所有所述128位数据的装置。
20.根据权利要求19所述的基于处理器的***,其中所述突发长度选择指示符包括所述存储器读取请求的突发突变BC指示符,所述指示符作为所述突发长度选择指示符而进行略微改动。
21.根据权利要求17所述的基于处理器的***,另外包括:
用于接收包括128位写入数据的存储器写入请求的装置;
用于生成所述128位写入数据的ECC的装置;以及
用于响应于所述存储器写入请求而写入所述128位写入数据而无需执行读取/修改/写入RMW操作的装置。
22.根据权利要求21所述的基于处理器的***,其中:
所述存储器写入请求包括突发长度选择指示符;以及
用于写入所述128位写入数据的所述装置包括用于另外响应于检测到所述存储器写入请求的所述突发长度选择指示符处于设定状态而写入所述128位写入数据的装置。
23.根据权利要求22所述的基于处理器的***,其中所述突发长度选择指示符包括所述存储器写入请求的突发突变BC指示符,所述指示符作为所述突发长度选择指示符而进行略微改动。
CN201780069229.2A 2016-12-01 2017-11-30 在基于处理器的***中提供经扩展动态随机存取存储器突发长度 Active CN109964213B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662428638P 2016-12-01 2016-12-01
US62/428,638 2016-12-01
US15/825,724 2017-11-29
US15/825,724 US10503435B2 (en) 2016-12-01 2017-11-29 Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems
PCT/US2017/063921 WO2018102538A1 (en) 2016-12-01 2017-11-30 Providing extended dynamic random access memory (dram) burst lengths in processor-based systems

Publications (2)

Publication Number Publication Date
CN109964213A true CN109964213A (zh) 2019-07-02
CN109964213B CN109964213B (zh) 2023-04-28

Family

ID=60788691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780069229.2A Active CN109964213B (zh) 2016-12-01 2017-11-30 在基于处理器的***中提供经扩展动态随机存取存储器突发长度

Country Status (5)

Country Link
US (1) US10503435B2 (zh)
EP (1) EP3549024A1 (zh)
KR (1) KR102520152B1 (zh)
CN (1) CN109964213B (zh)
WO (1) WO2018102538A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114153402A (zh) * 2022-02-09 2022-03-08 阿里云计算有限公司 存储器及其数据读写方法
CN114174976A (zh) * 2019-07-31 2022-03-11 美光科技公司 从多个写入操作模式选择写入操作模式
CN114341812A (zh) * 2019-08-29 2022-04-12 美光科技公司 具有用户定义的操作的半导体装置及相关联的方法及***
CN114341813A (zh) * 2019-08-29 2022-04-12 美光科技公司 具有修改命令的半导体装置以及相关联方法和***
US11687403B2 (en) 2019-08-29 2023-06-27 Micron Technology, Inc. Semiconductor device with modified access and associated methods and systems
US12050808B2 (en) 2022-01-31 2024-07-30 Micron Technology, Inc. Selecting a write operation mode from multiple write operation modes

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210093B2 (en) 2019-04-08 2021-12-28 Micron Technology, Inc. Large data read techniques
KR20230016990A (ko) 2021-07-27 2023-02-03 에스케이하이닉스 주식회사 컬럼동작을 수행하는 메모리장치
KR20240000773A (ko) 2022-06-24 2024-01-03 에스케이하이닉스 주식회사 프로세싱-인-메모리 컴퓨팅 시스템 및 그의 메모리 컨트롤러
KR20240083588A (ko) 2022-12-05 2024-06-12 김민섭 내용물을 쉽게 먹을 수 있는 캔

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1809817A (zh) * 2003-06-20 2006-07-26 飞思卡尔半导体公司 用于动态预取缓冲器配置和替换的方法及设备
CN101243420A (zh) * 2005-06-23 2008-08-13 高通股份有限公司 非dram指示符和存取未存储于dram阵列中的数据的方法
CN101647004A (zh) * 2007-02-12 2010-02-10 美光科技公司 存储器阵列错误校正设备、***和方法
CN101652757A (zh) * 2007-04-13 2010-02-17 Rgb网络有限公司 具有两个路径的同步动态随机存取存储器卷积交织器
CN101876944A (zh) * 2009-11-26 2010-11-03 威盛电子股份有限公司 动态随机存取存储器控制器和控制方法
US20150213859A1 (en) * 2014-01-27 2015-07-30 SK Hynix Inc. Burst length control circuit
US20160092307A1 (en) * 2014-09-26 2016-03-31 Nadav Bonen Exchanging ecc metadata between memory and host system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ZA947317B (en) * 1993-09-24 1995-05-10 Qualcomm Inc Multirate serial viterbi decoder for code division multiple access system applications
US6795899B2 (en) 2002-03-22 2004-09-21 Intel Corporation Memory system with burst length shorter than prefetch length
US9171585B2 (en) * 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8335894B1 (en) * 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US20080086577A1 (en) 2006-10-04 2008-04-10 Mediatek Inc. Digital Television System, Memory Controller, and Method for Data Access
EP3200189B1 (en) * 2007-04-12 2021-06-02 Rambus Inc. Memory system with point-to-point request interconnect
US7558887B2 (en) 2007-09-05 2009-07-07 International Business Machines Corporation Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel
KR100936792B1 (ko) * 2008-07-10 2010-01-14 주식회사 하이닉스반도체 반도체 메모리 장치의 라이트 데이터 로딩 제어 회로 및방법
US8239590B1 (en) 2009-01-31 2012-08-07 Xilinx, Inc. Method and apparatus for transferring data between two different interfaces
US20140325105A1 (en) * 2013-04-26 2014-10-30 Advanced Micro Devices, Inc. Memory system components for split channel architecture
US9190129B2 (en) * 2013-05-31 2015-11-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Continuous tuning of preamble release timing in a double data-rate memory device interface
US20160092383A1 (en) 2014-09-26 2016-03-31 Kuljit S. Bains Common die implementation for memory devices
US9704563B2 (en) * 2014-12-08 2017-07-11 Intel Corporation Apparatus, method and system for performing successive writes to a bank of a dynamic random access memory
US9870325B2 (en) * 2015-05-19 2018-01-16 Intel Corporation Common die implementation for memory devices with independent interface paths
US10140175B2 (en) 2015-11-20 2018-11-27 Qualcomm Incorporated Protecting an ECC location when transmitting correction data across a memory link
US10268541B2 (en) * 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1809817A (zh) * 2003-06-20 2006-07-26 飞思卡尔半导体公司 用于动态预取缓冲器配置和替换的方法及设备
CN101243420A (zh) * 2005-06-23 2008-08-13 高通股份有限公司 非dram指示符和存取未存储于dram阵列中的数据的方法
CN101647004A (zh) * 2007-02-12 2010-02-10 美光科技公司 存储器阵列错误校正设备、***和方法
CN101652757A (zh) * 2007-04-13 2010-02-17 Rgb网络有限公司 具有两个路径的同步动态随机存取存储器卷积交织器
CN101876944A (zh) * 2009-11-26 2010-11-03 威盛电子股份有限公司 动态随机存取存储器控制器和控制方法
US20150213859A1 (en) * 2014-01-27 2015-07-30 SK Hynix Inc. Burst length control circuit
US20160092307A1 (en) * 2014-09-26 2016-03-31 Nadav Bonen Exchanging ecc metadata between memory and host system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114174976A (zh) * 2019-07-31 2022-03-11 美光科技公司 从多个写入操作模式选择写入操作模式
CN114341812A (zh) * 2019-08-29 2022-04-12 美光科技公司 具有用户定义的操作的半导体装置及相关联的方法及***
CN114341813A (zh) * 2019-08-29 2022-04-12 美光科技公司 具有修改命令的半导体装置以及相关联方法和***
CN114341813B (zh) * 2019-08-29 2022-11-08 美光科技公司 具有修改命令的半导体装置以及相关联方法和***
US11687406B2 (en) 2019-08-29 2023-06-27 Micron Technology, Inc. Semiconductor device with user defined operations and associated methods and systems
US11687403B2 (en) 2019-08-29 2023-06-27 Micron Technology, Inc. Semiconductor device with modified access and associated methods and systems
US11755412B2 (en) 2019-08-29 2023-09-12 Micron Technology, Inc. Semiconductor device with modified command and associated methods and systems
US12045129B2 (en) 2019-08-29 2024-07-23 Lodestar Licensing Group Llc Semiconductor device with user defined operations and associated methods and systems
US12050808B2 (en) 2022-01-31 2024-07-30 Micron Technology, Inc. Selecting a write operation mode from multiple write operation modes
CN114153402A (zh) * 2022-02-09 2022-03-08 阿里云计算有限公司 存储器及其数据读写方法

Also Published As

Publication number Publication date
US20180157441A1 (en) 2018-06-07
KR20190088989A (ko) 2019-07-29
WO2018102538A1 (en) 2018-06-07
CN109964213B (zh) 2023-04-28
KR102520152B1 (ko) 2023-04-07
EP3549024A1 (en) 2019-10-09
US10503435B2 (en) 2019-12-10

Similar Documents

Publication Publication Date Title
CN109964213A (zh) 在基于处理器的***中提供经扩展动态随机存取存储器突发长度
TWI796490B (zh) 在向量處理器為基礎裝置中提供多重元件多重向量(memv)暫存器檔案存取
EP2946302B1 (en) Heterogeneous memory systems, and related methods and computer-readable media for supporting heterogeneous memory access requests in processor-based systems
CN109478177B (zh) 双数据率命令总线
US8615638B2 (en) Memory controllers, systems and methods for applying page management policies based on stream transaction information
CN109840223A (zh) 存储器装置、包括其的电子装置和电子装置的操作方法
US9881680B2 (en) Multi-host power controller (MHPC) of a flash-memory-based storage device
CN110083555A (zh) 具有独立接口路径的存储器设备的通用管芯实现
TW201118568A (en) Memory controller page management devices, systems, and methods
US10372635B2 (en) Dynamically determining memory attributes in processor-based systems
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
US20160371222A1 (en) COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
KR20160034978A (ko) 메모리 컨트롤러 커넥터의 메모리 커넥터에의 매핑
CN114258533A (zh) 在基于处理器的设备中优化对页表条目的访问
US11194744B2 (en) In-line memory module (IMM) computing node with an embedded processor(s) to support local processing of memory-based operations for lower latency and reduced power consumption
JP2019509557A (ja) ダイナミックランダムアクセスメモリ(dram)キャッシュインジケータキャッシュを使用するスケーラブルdramキャッシュ管理の提供
CN108780422A (zh) 在基于中央处理单元cpu的***中使用压缩指示符ci提示目录来提供存储器带宽压缩
US11880686B2 (en) Devices transferring cache lines, including metadata on external links
US20240004577A1 (en) Extending functionality of memory controllers in a processor-based device
CN109716308A (zh) 用于减小高速缓冲存储器中的功率消耗及读取误差的高速缓冲存储器时钟产生电路
US20190213150A1 (en) Bus controller and related methods
WO2023235055A1 (en) Computer memory systems employing localized generation of global bit line (gbl) clock signal to reduce clock signal read path divergenge for improved signal tracking, and related methods

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