CN110023914B - 用于重复写入存储器的可编程数据样式 - Google Patents

用于重复写入存储器的可编程数据样式 Download PDF

Info

Publication number
CN110023914B
CN110023914B CN201780072822.2A CN201780072822A CN110023914B CN 110023914 B CN110023914 B CN 110023914B CN 201780072822 A CN201780072822 A CN 201780072822A CN 110023914 B CN110023914 B CN 110023914B
Authority
CN
China
Prior art keywords
command
data
memory
data pattern
write
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
Application number
CN201780072822.2A
Other languages
English (en)
Other versions
CN110023914A (zh
Inventor
S·汤米施玛
K·S·贝恩斯
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN110023914A publication Critical patent/CN110023914A/zh
Application granted granted Critical
Publication of CN110023914B publication Critical patent/CN110023914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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/38Information transfer, e.g. on bus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

用于重复写入存储器的可编程数据样式可以使得能够高效地将数据样式写入多个存储器位置,而无需针对每次写入发送数据样式。在一个实施例中,存储器设备包括:输入/输出(I/O)电路,其用于接收命令;寄存器,其用于存储值,该值用于指示响应于接收到命令要写入的数据样式的源;以及存取电路,其用于响应于接收到命令而基于由寄存器中的值指示的源将数据样式写入存储器。

Description

用于重复写入存储器的可编程数据样式
优先权要求
本申请根据35U.S.C.§365(c)要求享有2016年12月27日提交的题为“PROGRAMMABLE DATA PATTERN FOR REPEATED WRITES TO MEMORY”的美国申请第15/391,684号的优先权,其全部内容通过引用结合于此。
技术领域
本说明书总体上涉及存储器,并且更具体地,涉及用于重复写入存储器而不要求针对每次写入发送数据样式(data pattern)的可编程数据样式。
版权声明/许可
本专利文件的公开内容的部分可能包含受版权保护的材料。版权所有者不反对任何人复制专利和商标局专利文件或记录中出现的专利文件或专利公开内容,但在其他方面保留所有版权。版权声明适用于以下描述的和在随附的附图中的所有数据以及下面描述的任何软件:版权所有
Figure GDA0004051004500000011
2016,Intel公司,保留所有权利。
背景技术
存储器资源用于在电子设备和其他计算环境中存储信息。典型地通过由存储器控制器发送的命令对存储器资源进行存取。例如,存储器控制器通过信号线将读取命令和写入命令发送到存储器设备,信号线包括用于传输命令的命令信号线和用于传输数据的数据信号线。通过数据信号线传输数据经常是限制系统性能的瓶颈,并且还可能消耗大量功率。
发明内容
根据本公开的实施例,提供了一种存储器设备,包括:输入/输出(I/O)电路,其用于从存储器控制器接收写入数据样式的第一命令,以及接收第二命令;寄存器,其用于存储指示响应于接收到所述第二命令要写入的数据样式的源的值;以及存取电路,其用于响应于接收到所述第二命令而基于所述寄存器中的指示所述源为所述存储器设备的数据信号线的值将根据所述第一命令锁存的数据样式写入存储器,所述数据信号线与所述存储器设备和所述存储器控制器之间的数据总线耦合。
根据本公开的另一实施例,提供了一种存储器控制器,包括:命令电路,其用于:生成将数据样式写入存储器设备的第一命令;生成第二命令,其中,响应于所述第二命令要被写入的所述数据样式的源是基于寄存器的,并且生成用于对所述寄存器进行编程以指示响应于接收到所述第二命令要被写入的所述数据样式的源的第三命令;以及输入/输出(I/O)电路,其用于:将所述第三命令发送至所述存储器设备以对所述寄存器进行编程,发送写入所述数据样式的第一命令;并且发送所述第二命令以使得基于所述寄存器中的指示所述源为所述存储器设备的数据信号线的值将根据所述第一命令的数据样式写入,所述数据信号线与所述存储器设备和所述存储器控制器之间的数据总线耦合。
根据本公开的又一实施例,提供了一种存储器系统,包括:处理器;以及存储器设备,其与所述处理器通信地耦合,所述存储器设备包括:输入/输出(I/O)电路,其用于从存储器控制器接收写入数据样式的第一命令,以及接收第二命令;寄存器,其用于存储指示响应于接收到所述第二命令要写入的数据样式的源的值;以及存取电路,其用于响应于接收到所述第二命令而基于所述寄存器中指示所述源为所述存储器设备的数据信号线的值将根据所述第一命令锁存的数据样式写入存储器,所述数据信号线与所述存储设备和所述存储器控制器之间的数据总线耦合。
附图说明
以下描述包括对附图的讨论,附图具有通过本发明实施例的实现方式的示例的方式给出的图示。附图应通过示例的方式而不是通过限制的方式来理解。如本文使用的,对一个或多个“实施例”的引用应理解为描述本发明的包括一个或多个特定特征、结构或特性的至少一个实现方式。因此,本文中出现的诸如“在一个实施例中”或“在替代实施例中”之类的短语描述了本发明的各种实施例和实现方式,并且不一定都指代相同的实施例。然而,这些实施例也不一定是相互排斥的。
图1是根据实施例的可以执行将可编程数据样式重复写入存储器的系统的框图。
图2是根据实施例的可以执行将可编程数据样式重复写入存储器的系统的框图。
图3是根据实施例的具有用于执行对可编程数据样式的重复写入的控制逻辑的存储器设备的框图。
图4是存储器设备的典型写入驱动器的电路逻辑图的示例。
图5是根据实施例的存储器设备的写入驱动器的电路逻辑图,该写入驱动器用于实现将可编程数据样式重复写入存储器。
图6是根据实施例的用于控制写入存储器的数据样式的模式寄存器的示例。
图7是根据实施例的将数据样式写入存储器的方法的流程图。
图8A、图8B、图8C和图8D是根据实施例的将数据样式写入存储器的方法的流程图。
图9A和图9B是根据实施例的将数据样式写入存储器的方法的流程图。
图10A和图10B是示出根据实施例的用于将数据样式写入存储器的操作的时序图。
图11是根据实施例的其中可以实现将可编程数据样式重复写入存储器的计算系统的框图。
图12是根据实施例的其中可以实现将可编程数据样式重复写入存储器的移动设备的框图。
以下是对特定细节和实现方式的描述,包括对附图的描述,附图可以描绘下面描述的实施例中的一些或所有实施例,并且讨论了本文提出的发明构思的其他潜在实施例或实现方式。
具体实施方式
本文描述了用于重复写入存储器的可编程数据样式的装置、系统和方法。
计算系统的操作有时可能涉及将样式(例如,全零、全一或另一数据样式)重复写入存储器。例如,一些应用的执行涉及在执行期间的不同时间将存储器的块清零(例如,通过写入零)。在一个这样的示例中,一些图形密集型应用可能涉及将零写入存储器的块以快速地使显示器的区域变黑。在另一示例中,一些系统可能要求快速写入零以用于纠错编码(ECC)初始化或校准。使用标准存储器写入命令重复写入零可能导致通过数据总线重复发送相同的数据样式,这是对系统资源的低效使用。在一些情况下,要用零或另一数据样式填充的存储器单元的数量可能是显著的(例如,存储器芯片上的整个页或每个存储器单元),并且针对每次写入发送数据样式可能是显著的功耗来源。
存在一些技术以改进写入全零的效率。例如,一些计算系统实现专门用于写入零的命令。然而,可能存在计算系统将除了全零之外的数据样式重复写入存储器的情形。例如,应用可以使得使用一来填充存储器的块以快速地使显示器的区域变白。在另一示例中,一些计算系统包括在将数据写入存储器之前修改(例如,加扰)数据的安全特征。在一个这样的示例中,处理器可以请求将零写入存储器,但是出于安全目的,存储器控制器可以将要写入存储器的数据修改为不同的样式(例如,零和一的组合)。在一个这样的示例中,存储在存储器中的数据是重复数据样式,而不是全零。因此,仅解决对全零的高效写入的现有技术不能用于重复写入不同的数据样式。
与限于写入零的现有技术不同,在一个实施例中,存储器控制器可以使得全零、全一或另一数据样式被写入存储器,而无需通过数据总线重复发送数据样式。根据实施例,存储器控制器可以发送单个命令或多个命令以使得数据样式被重复写入(例如,相同的数据样式将被写入多个存储器位置)。根据实施例,不管是利用单个写入命令还是多个写入命令实现重复写入,要重复写入的数据样式是可编程的而不是限于全零。
在一个实施例中,存储器设备包括模式寄存器,其指示响应于命令要写入的数据样式的源。例如,在一个实施例中,模式寄存器包括这样的字段:其可以被编程为指示全零的数据样式的源,全一的数据样式的数据源,或存储器设备的存储来自先前写入命令的数据样式的数据锁存器。在一个这样的实施例中,存储器设备的写入电路可以包括用于基于存储在模式寄存器中的值来选择数据样式源的电路(例如,复用器或其他选择电路)。
根据实施例,模式寄存器通过指示数据样式的源来指示要写入什么数据样式。例如,如果期望数据样式为全零,则数据样式的源可以是与存储器管芯内部的低参考电压(例如,地)相连的输入端。在另一示例中,如果期望数据样式为全一,则数据样式的源可以是与存储器管芯内部的高参考电压(例如,电压源)相连的输入端。在一个实施例中,数据样式基于来自先前存储器写入的锁存在数据锁存器中的数据。
因此,与限于写入全零的数据样式的现有技术不同,实施例使得能够将可编程数据样式高效地写入存储器,而不要求针对每次写入发送数据样式。
图1是根据实施例的可以执行将可编程数据样式重复写入存储器而无需重复发送数据样式的系统的框图。系统100包括计算设备中的存储器子系统的元件。处理器110表示执行操作系统(OS)和应用的主机计算平台(其可以统称为存储器的“主机”)的处理单元。OS和应用执行导致存储器存取的操作。处理器110可以包括一个或多个单独的处理器。每个单独的处理器可以包括单个处理单元、多核心处理单元或组合。处理单元可以是诸如CPU(中央处理单元)之类的主处理器、诸如GPU(图形处理单元)之类的外围处理器或组合。系统100可以实现为SOC(片上系统),或者以独立组件实现。
存储器控制器120表示用于系统100的一个或多个存储器控制器电路或设备。存储器控制器120表示响应于处理器110执行操作而生成存储器存取命令的控制逻辑。存储器控制器120对一个或多个存储器设备140进行存取。
对存储器设备的引用可以适用于不同的存储器类型。在一个实施例中,存储器设备140包括易失性存储器设备。易失性存储器是如果到设备的电力中断则其状态(以及因此存储在其上的数据)不确定的存储器。非易失性存储器指代即使到设备的电力中断其状态也确定的存储器。动态易失性存储器要求刷新存储在设备中的数据以维持状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器),或诸如同步DRAM(SDRAM)之类的一些变体。如本文中描述的存储器子系统可以与许多存储器技术兼容,例如,DDR3(双倍数据速率版本3,JEDEC(联合电子设备工程委员会)于2007年6月27日的原始发布版本,当前发布版本21)、DDR4(DDR版本4,JEDEC于2012年9月发布的初始规范)、DDR4E(DDR版本4扩展,目前由JEDEC讨论)、LPDDR3(低功率DDR版本3,JESD209-3B,JEDEC 2013年8月)、LPDDR4(低功耗双倍数据速率(LPDDR)版本4,JESD209-4,最初由JEDEC于2014年8月发布)、WIO2(Wide I/O2(WideIO2),JESD229-2,最初由JEDEC于2014年8月发布)、HBM(高带宽存储器,JESD235,最初由JEDEC于2013年10月发布)、DDR5(DDR版本5,目前由JEDEC讨论)、LPDDR5(目前由JEDEC讨论)、HBM2(HBM版本2,JESD235a,最初由JEDEC于2016年1月发布)、HBM3(HBM版本3,目前由JEDEC讨论)或其他存储器技术或存储器技术的组合,以及基于这些规范的衍生物或扩展的技术。
除易失性存储器之外或作为其替代,在一个实施例中,对存储器设备的引用可以指代这样的非易失性存储器设备:即使到该设备的电力中断,其状态也是确定的。在一个实施例中,非易失性存储器可以是字节或块可寻址的。块可寻址或字节可寻址非易失性存储器可以包括但不限于3-D交叉点存储器、使用硫属化合物相变材料(例如,硫属化合物玻璃)的存储器、多阈值级别NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、包含忆阻器技术的磁阻随机存取存储器(MRAM)存储器或自旋移矩MRAM(STT-MRAM),或上述存储器中的任何存储器的组合或其他非易失性存储器类型。
本文涉及“RAM”或“RAM设备”的描述可以适用于允许随机存取的任何存储器设备,无论是易失性的还是非易失性的。“DRAM”指代动态RAM,并且是易失性的。存储器设备或DRAM可以指代管芯本身,指代包括一个或多个管芯的封装存储器产品,或两者。
存储器设备140按不同的通道组织和管理,其中每个通道耦合到并联地耦合到多个存储器设备的总线和信号线。每个通道可独立操作。因此,每个通道被独立地存取和控制,并且定时、数据传送、命令和地址交换以及其他操作对于每个通道是单独的。如本文所使用的,耦合可以指电耦合、通信耦合、物理耦合或这些耦合的组合。物理耦合可以包括直接接触。电耦合包括允许组件之间的电流动或允许组件之间的信令或两者的接口或互连。通信耦合包括使得组件能够交换数据的连接,包括有线的或无线的。
在一个实施例中,针对每个通道的设置由单独的模式寄存器或其他寄存器设置来控制。在一个实施例中,每个存储器控制器120管理单独的存储器通道,但是系统100可以被配置为具有由单个存储器控制器管理的多个通道,或者在单个通道上具有多个存储器控制器。在一个实施例中,存储器控制器120是主机处理器110的一部分,例如,与处理器在相同管芯上实现或在相同的封装空间中实现的逻辑(如框101所示)。
存储器控制器120包括输入/输出(I/O)接口逻辑122,用于耦合到系统总线或存储器总线或两者,例如,如上面涉及的存储器通道。I/O接口逻辑122(以及存储器设备140的I/O接口逻辑142)可以包括引脚、焊盘、连接器、信号线、迹线或电线,或用于连接设备的其他硬件,或这些的组合。I/O接口逻辑122可以包括硬件接口。如图所示,I/O接口逻辑122至少包括用于信号线的驱动器/收发器。通常,集成电路接口内的电线与焊盘、引脚或连接器耦合,以使信号线或迹线或其他电线在设备之间接合。I/O接口逻辑122可以包括驱动器、接收器、收发器或终端电阻或者其他电路或电路的组合,以用于在设备之间在信号线上交换信号。信号交换包括发送或接收中的至少一个。尽管图1将I/O接口逻辑122和142示出为包括双向连接,但是一些实施例包括单向连接。虽然示出为将I/O 122从存储器控制器120耦合到存储器设备140的I/O 142,但是应理解,在其中存储器设备140的组被并行地存取的系统100的实现方式中,多个存储器设备可以包括到存储器控制器120的相同接口的I/O接口。在系统100包括一个或多个存储器模块130的实现方式中,除了存储器设备本身上的接口硬件之外,I/O 142可以包括存储器模块的接口硬件。其他存储器控制器120将包括到其他存储器设备140的单独的接口。
系统总线可以实现为将存储器控制器120耦合到存储器设备140的多条信号线。系统总线至少包括时钟(CLK)132、命令/地址(CMD)134、读取DQ 136以及零或更多其他信号线138。在一个实施例中,存储器控制器120与存储器之间的总线或连接可以称为存储器总线。用于CMD的信号线可以称为“C/A总线”(或ADD/CMD总线,或指示命令和地址信息的传送的一些其他指定),并且用于写入和读取DQ的信号线可以称为“数据总线”。在一个实施例中,独立通道具有不同的时钟信号、C/A总线、数据总线和其他信号线。因此,在独立接口路径可以被认为是单独的系统总线的意义上,可以认为系统100具有多条“系统总线”。应理解,除了明确示出的线之外,系统总线还可以包括选通信令线、警报线、辅助线以及其他信号线。
应该理解,系统总线包括被配置为以带宽操作的命令总线134。在一个实施例中,命令信号线和写入信号线可以包括用于从主机到存储器的写入数据和命令数据的单向线,并且读取DQ 136可以包括用于从存储器到主机的读取数据的单向线。在一个实施例中,数据总线可以包括用于读取数据和用于写入/命令数据的双向线。基于系统100的设计,或者如果设计支持多个实现方式情况下的实现方式,数据总线可以具有每个存储器设备140更多或更少的带宽。例如,数据总线可以支持具有x32接口、x16接口、x8接口或其他接口的存储器设备。约定“xW”表示与存储器控制器120交换数据的信号线的数量,其中W是指代存储器设备140的接口大小的二进制整数。存储器设备的接口大小是关于系统100中的每个通道可以并发地使用多少个存储器设备或者多少个存储器设备并联地耦合到相同信号线的控制因素。术语“耦合”可以指直接或间接物理地、电地和/或通信地连接的元件,并且在本文中可以与术语“连接”互换使用。物理耦合可以包括直接接触。电耦合包括允许组件之间的电流动和/或信令的接口或互连。通信耦合包括使得组件能够交换数据的连接,包括有线连接和无线连接。
存储器设备140表示系统100的存储器资源。在一个实施例中,每个存储器设备140是单独的存储器管芯。在一个实施例中,每个存储器设备140可以每个设备或管芯与多个(例如,2个)通道接合。每个存储器设备140包括I/O接口逻辑142,其具有由设备的实现方式确定的带宽(例如,x16或x8或某种其他接口带宽)。I/O接口逻辑142使得存储器设备能够与存储器控制器120接合。I/O接口逻辑142可以包括硬件接口,并且可以与存储器控制器的I/O 122一致,但是处于存储器设备端部。在一个实施例中,多个存储器设备140并联地连接到相同的数据总线。例如,系统100可以配置有并联耦合的多个存储器设备140,其中每个存储器设备响应命令,并且存取每个存储器设备内部的存储器资源160。对于写入操作,个体存储器设备140可以写入整体数据字的一部分,并且对于读取操作,个体存储器设备140可以取出整体数据字的一部分。作为非限制性示例,特定存储器设备可以分别提供或接收128位数据字中的8位用于读取或写入事务,或者256位数据字中的8位或16位(取决于x8或x16设备)。该字的其余位将由其他存储器设备并行地提供或接收。
在一个实施例中,存储器设备140直接设置在计算设备的主板或主机系统平台(例如,其上设置有处理器110的PCB(印刷电路板))上。在一个实施例中,存储器设备140可以组织成存储器模块130。在一个实施例中,存储器模块130可以表示双列直插式存储器模块(DIMM)。在一个实施例中,存储器模块130可以表示多个存储器设备共享存取或控制电路的至少一部分的其他组织,该存取或控制电路可以是与主机系统平台分开的电路、分开的设备或分开的板。存储器模块130可以包括多个存储器设备140,并且存储器模块可以包括对到设置在存储器模块上的、所包括的存储器设备的多个单独的通道的支持。
存储器设备140各自包括存储器资源160。存储器资源160表示数据的存储器位置或存储位置的个体阵列。典型地,存储器资源160作为数据的行进行管理,经由字线(行)和位线(行内的个体位)控制来进行存取。存储器资源160可以被组织为存储器的单独的通道、列(rank)和存储体。通道是到存储器设备140内的存储位置的独立控制路径。列指代跨多个存储器设备的公共位置(例如,不同设备内的相同行地址)。存储体指代存储器设备140内的存储器位置的阵列。在一个实施例中,将存储器的存储体划分为子存储体,其中共享电路的至少一部分(例如,驱动器、信号线、控制逻辑)用于子存储体。应理解,存储器位置的通道、列、存储体或其他组织以及组织的组合可以与物理资源重叠。例如,可以通过特定通道作为特定存储体(其也可以属于列)存取相同的物理存储器位置。因此,将以包容性而非排他性的方式理解存储器资源的组织。
在一个实施例中,存储器设备140包括一个或多个寄存器144。寄存器144表示一个或多个存储设备或存储位置,其提供用于存储器设备的操作的配置或设置。在一个实施例中,寄存器144可以为存储器设备140提供存储位置,用于存储数据以供作为控制或管理操作的一部分由存储器控制器120存取。在一个实施例中,寄存器144包括一个或多个模式寄存器。在一个实施例中,寄存器144包括一个或多个多用途寄存器。寄存器144内的位置配置可以将存储器设备140配置为以不同的“模式”操作,其中命令信息可以基于模式触发存储器设备140内的不同操作。另外或可替代地,取决于模式,不同模式还可以从地址信息或其他信号线触发不同的操作。寄存器144的设置可以指示针对I/O设置(例如,用于指示数据样式或用于将数据样式写入存储器的数据源)、定时、终端电阻或ODT(管芯上终端电阻)、驱动器配置或其他I/O设置的配置。
存储器设备140包括控制器150,其表示存储器设备内的控制逻辑,用于控制存储器设备内的内部操作。例如,控制器150对由存储器控制器120发送的命令进行解码,并且生成内部操作以执行或满足命令。控制器150可以称为内部控制器。控制器150可以基于寄存器144来确定选择什么模式,并且基于选定的模式来配置用于存取存储器资源160的操作或其他操作的内部执行。控制器150生成控制信号以控制存储器设备140内的位的路由,以针对选定的模式提供恰当的接口,并且将命令引导至恰当的存储器位置或地址。
再次参考存储器控制器120,存储器控制器120包括命令(CMD)逻辑124,其表示用于生成要发送到存储器设备140的命令的逻辑或电路。典型地,存储器子系统中的信令包括命令内或伴随命令的地址信息,用于指示或选择存储器设备应执行命令的一个或多个存储器位置。在一个实施例中,存储器设备140的控制器150包括命令逻辑152,用于接收并解码经由I/O 142从存储器控制器120接收的命令和地址信息。基于接收到的命令和地址信息,控制器150可以控制存储器设备140内的逻辑和电路执行命令的操作的定时。控制器150负责在存储器设备140内遵从标准或规范,例如,定时和信令要求。存储器控制器120还可以通过存取调度和控制来确保遵从标准或规范。
在一个实施例中,存储器控制器120包括刷新(REF)逻辑126。在存储器设备140是易失性的并且需要刷新以维持确定性状态的情况下可以使用刷新逻辑126。在一个实施例中,刷新逻辑126指示用于刷新的位置和要执行的刷新的类型。刷新逻辑126可以在存储器设备140内触发自刷新,并且通过发送刷新命令以触发执行刷新操作来发出外部刷新。例如,在一个实施例中,系统100支持所有存储体刷新以及每个存储体刷新,或其他所有存储体命令以及每个存储体命令。所有存储体命令导致并联耦合的所有存储器设备140内的选定存储体的操作。每个存储体命令导致指定存储器设备140内的指定存储体的操作。在一个实施例中,存储器设备140内的控制器150包括刷新逻辑154,用于在存储器设备140内应用刷新。在一个实施例中,刷新逻辑154生成内部操作,以根据从存储器控制器120接收的外部刷新来执行刷新。刷新逻辑154可以确定刷新是否指向存储器设备140,以及响应于命令对什么存储器资源160进行刷新。对于自刷新,刷新逻辑154控制响应于进入低功率模式而刷新和基于来自存储器控制器的命令进行自刷新的定时和执行。
如上面提到的,在一个实施例中,存储器控制器120可以向存储器设备140发送命令,以使得数据样式被写入存储器,而无需针对每次写入发送数据样式。例如,存储器控制器120的命令逻辑124可以生成这样的命令,并且I/O电路122可以通过C/A总线134将命令发送到存储器设备140。在一个实施例中,命令可以是经修改的写入命令,其使得存储器设备140响应于该命令而将数据样式写入存储器。术语“写入-强制”或“强制-写入”(WRITE-F)在本文中用于指代这样的命令:使得存储器设备140响应于该命令写入可编程数据样式而不要求针对每次写入发送数据。然而,这样的命令可以具有不同的名称(例如,WRITE-X或WRITEX或其他名称),或者可以是使得数据样式被写入的命令序列。
在一个实施例中,WRITE-F命令可以是在存储器设备中产生多次内部写入的单个命令。在一个这样的实施例中,存储器控制器发送WRITE-F命令一次,以使得数据样式被写入多个存储器位置,而无需针对每次写入通过数据总线发送样式或命令。在另一实施例中,存储器控制器针对每次写入发送WRITE-F命令,但是不针对每次写入发送数据样式。根据实施例,无论单个WRITE-F命令触发多少次内部写入,WRITE-F命令都可以使得数据样式被写入存储器,而无需在每次数据样式被写入时通过数据总线发送数据样式。因此,根据实施例,命令逻辑包括用于生成WRITE-F命令或者相当的命令或命令序列的电路。
存储器设备140包括用于接收WRITE-F命令的I/O电路142。存储器设备140的内部控制器150包括用于解码WRITE-F命令的命令逻辑152。存储器设备还包括寄存器(例如,寄存器144),用于存储指示响应于接收到WRITE-F命令要写入什么数据样式的值。在一个实施例中,寄存器包括“数据状态”字段,但是在其他实施例中,寄存器字段或多个字段的名称可以是不同的。数据状态指代写入数据是来自外部数据线还是来自其他源。根据实施例,数据状态字段可以被设置为指示多个“模式”中的一个,包括以下中的一个或多个:“全零”模式、“全一”模式、“外部或锁存的数据”模式或另一种数据样式模式。根据实施例,数据状态字段指示数据样式的多个源中的一个。例如,如果期望的数据样式为全零,则数据状态字段可以指示数据样式的源是与地相连的输入端。在另一示例中,如果期望的数据样式是全一,则数据状态字段可以指示数据样式的源是与电压源相连的输入端。在一个实施例中,数据状态字段可以指示源是存储器设备的存储来自先前存储器写入的数据样式的数据锁存器。
然后,存储器设备140的控制器150可以将由模式寄存器指示的数据样式写入存储器。例如,如果模式寄存器指示“全零”的源,则控制器150将全零写入存储器。如果模式寄存器指示“全一”的源,则控制器150将全一写入存储器。
在一个实施例中,如果模式寄存器指示数据样式源是外部数据,则控制器150写入根据先前写入命令存储在数据锁存器中的锁存的数据样式。在一个这样的示例中,存储器控制器120将具有期望写入样式的第一写入命令发送到存储器设备,使得数据样式被锁存在存储器设备的数据锁存器中。然后,存储器控制器120发送第二命令(例如,WRITE-F命令),该命令使得存储器设备140将锁存的数据写入存储器,而无需再次通过数据总线的信号线接收数据样式。
根据实施例,存储器设备可以响应于WRITE-F命令而执行单次写入或多次写入。例如,在一个实施例中,存储器设备响应于接收到WRITE-F命令而执行一次写入;因此,在一个这样的实施例中,存储器控制器将多个WRITE-F命令发送到存储器设备,以便将数据样式写入多个存储器位置。在另一实施例中,存储器设备响应于接收到单个WRITE-F命令而执行多个写入操作。在一个这样的实施例中,存储器设备可以以各种方式确定要执行多少次写入,例如,模式寄存器设置、命令编码或其他方式。因此,通过使用WRITE-F命令和模式寄存器来指示响应于接收到WRITE-F命令要写入的数据样式的源,存储器控制器可以将数据样式写入存储器,而无需通过数据总线多次传送数据样式。与解决重复写入零的现有解决方案不同,实施例可以实现可编程数据样式的高效写入,该可编程数据样式可以是除全零之外的样式。
图2是根据实施例的可以执行将可编程数据样式重复写入存储器的系统的框图。系统200示出了根据图1的系统100的系统的一个示例。系统200包括处理器210,处理器210可以是或包括一个或多个处理器,处理器的执行生成对存储在存储器230中的数据或代码或两者的请求。存储器230表示存储器资源,例如,上面关于图1描述的存储器资源。存储器控制器220响应于通过处理器210的执行创建的存储器请求,生成针对存储器230的特定地址或存储位置的存储器存取命令。存储器控制器220包括映射信息,映射信息用于将处理器210中的数据地址信息与存储器230中的物理位置映射。在一个实施例中,存储器控制器220是集成存储器控制器(例如,iMC)。在一个实施例中,存储器控制器220是独立控制器设备或独立电路。在一个实施例中,处理器210和存储器控制器220是公共SOC的一部分。
存储器控制器220包括I/O 222,其表示接口硬件和逻辑,例如,上面关于系统100的I/O 122描述的内容。存储器230的I/O 232具有用于与存储器控制器220交换数据和命令的对应信号线。命令逻辑224表示使得存储器控制器220能够向存储器230发出命令的逻辑。命令可以包括用于设置存储器230的模式的命令。命令可以包括用于对存储器230的一个或多个存储器位置进行存取的命令。例如,命令逻辑224可以包括用于生成WRITE-F命令以使得存储器设备将数据样式写入存储器的逻辑。在一个实施例中,存储器230包括多个单独的存储器设备,并且I/O 222可以并联地与多个设备接合。存储器230包括存储器阵列240,其表示硬件存储位置。
存储器230包括命令执行逻辑234,其表示使得存储器230能够对存储器设备内的命令解码的逻辑。例如,命令执行逻辑234包括用于对从存储器控制器220发送的WRITE-F命令解码的逻辑。基于对命令解码,命令执行逻辑234可以生成一个或多个内部命令以执行命令要求的操作。内部命令可以包括设置开关、门或其他硬件资源的逻辑值或组合,以用于执行期望的操作。存储器230包括存取电路242,其表示用于对存储器阵列240进行存取的电路。在一个实施例中,存取电路242包括用于选择存储器阵列240的特定列和行的列和行逻辑257。列和行逻辑257可以包括诸如解码器、缓冲器、计数器和驱动器之类的电路,以使得能够选择存储器阵列240的一个或多个存储体244的特定行246的特定位。响应于对接收到的命令中的地址信息进行地址解码,列逻辑可以发出列地址选通(CAS)并且行逻辑可以发出行地址选通(RAS)。在一个实施例中,列和行逻辑包括复用器、逻辑门或其他电路或电路的组合,以用于对地址信息解码。
存取电路242还包括写入电路254和读取电路256。写入电路254包括用于使得能够将数据写入阵列240的存储器单元的电路,并且读取电路256包括用于使得能够读取存储在存储器阵列240的存储器单元中的数据的电路。写入电路254可以包括例如写入驱动器,其用于与存储器阵列240的读出放大器接合,以将数据驱动到存储器单元中。读取电路256可以包括一个或多个读取驱动器,其用于与存储器阵列240的读出放大器接合,以读取存储的数据。在一个实施例中,存取电路242包括用于每个存储体的读取驱动器和写入驱动器。尽管存取电路242被示为在存储器阵列240外部,但是在一些实施例中,存储器阵列240包括存取电路242。例如,在一些实施例中,存取电路包括在每个存储体244中。
在一个实施例中,存储器230包括模式寄存器236或等同物,以存储至少部分地控制存储器230的操作的配置信息。模式寄存器236内的设置控制存储器230的操作的模式或状态,并且可以控制接收到的命令如何解码以便由存储器230执行。在一个实施例中,模式寄存器236包括用于控制数据状态的一个或多个位,如上面关于图1描述的。
在一个实施例中,写入电路254包括用于使得WRITE-F命令能够执行以写入数据样式的电路。根据一个实施例,写入电路254取决于模式寄存器设置将数据样式从多个源中的一个写入存储器。例如,在一个实施例中,写入电路254包括复用器(例如,下面描述的图5所示的),用于基于存储在模式寄存器236中的值来选择多个数据源中的一个。例如,写入驱动器电路中的复用器的输入端可以包括来自数据锁存器、地、电压源或另一数据样式源的数据信号线。取决于模式寄存器中的值,存取电路242将响应于该命令而使得多个数据样式中的一个被写入存储器阵列240中的存储器单元。因此,在一个实施例中,存储器控制器220不需要针对与WRITE-F命令相关联的每次写入发送数据样式。通过避免针对每次写入发送数据,实施例可以实现对被多次写入的可编程数据样式的更高效写入。
图3是根据实施例的具有用于执行对可编程数据样式的重复写入的控制逻辑的存储器设备的框图。DRAM 300表示根据本文描述的任何系统的存储器设备的一个示例,其可以使用DRAM将数据样式写入多个存储器位置。控制逻辑302表示根据本文描述的任何实施例的存储器设备内的控制器或控制逻辑。控制逻辑302接收时钟(CLK)信号、时钟使能(CKE)信号和命令(CMD)信号,并且根据这些信号控制DRAM 300的操作。控制逻辑302可以基于存储在(多个)模式寄存器(MR)306中的设置进行操作。(多个)模式寄存器306可以包括用于控制数据状态的一个或多个位,如上面提到的。在一个实施例中,控制逻辑302提供对不同存储体组中的存储器存储体的控制,并且响应于来自存储器控制器或主机的单个命令而生成多个内部操作。
地址寄存器304接收地址信息(ADDR),例如,行地址信号和存储体地址信号,以识别将受特定命令影响的存储器部分。地址寄存器304将地址信息分发至行地址复用器310、存储体控制逻辑322、列地址计数器324和模式寄存器306。行地址复用器310将行地址信息和来自刷新计数器312的信号作为输入,并且控制用于每个存储体组的行地址锁存器(RAL)和解码器。该逻辑可以连接到组成存储体组的多个存储体。存储体控制逻辑322选择将针对接收到的存储器存取操作(命令)选择哪个存储体组。列地址计数器324生成用于选择用于操作的列的信号。在一个实施例中,控制逻辑302包括计数器(未明确示出),用于针对单个命令通过选定的存储体组在内部生成存储体组地址和序列。因此,可以针对单个命令对一个或多个选定的存储体组进行存取。
用于存储体组的行地址锁存器和解码器选择存储体/存储体组在(多个)存储器阵列中的地址,并且可以取决于操作激活读出放大器。I/O门控340可以将数据放入读出放大器以进行写入操作,并且可以读出数据以进行读取操作。列解码器330接收存储体控制逻辑选择和列地址计数器选择,并且针对I/O门控340进行列选择。
在一个实施例中,DRAM 300包括ZQCal 380,用于关于数据总线上的数据提供阻抗校准功能。在一个实施例中,DRAM 300包括ODT(管芯上终端电阻)控制372,用于控制施加到数据总线的I/O的输入和/或输出阻抗电路。ODT 374表示可以根据关于给定事务的、DRAM300的阻抗的配置设置来应用的阻抗电路。
读取接口350被耦合以从I/O门控340接收数据位以进行读取操作。读取接口350可以包括读取锁存器和复用器,并且将选定的输出数据馈送到读取驱动器352,读取驱动器352将数据放置在数据总线的信号线(DATA)上。用于驱动数据总线的定时由DLL 354提供,DLL 354由控制逻辑302控制。驱动器352可以基于伴随数据信号的定时来驱动数据选通线。
写入驱动器360从数据总线接收写入数据,并且将其输入到写入数据接口362的数据锁存器(也可以称为输入寄存器或输入缓冲器)中。数据接口362可以向I/O门控340提供数据。根据实施例,数据接口362包括写入数据锁存器363和解复用器365(用于串行到并行转换)。数据锁存器363通常经由I/O电路(例如,DRAM DQ接收器)从数据总线接收外部写入数据,并且通过时钟切换来锁存外部数据。根据实施例,解复用器365(或其他串行到并行变换器)典型地将串行双倍数据速率(DDR)数据格式改变为并行数据格式。根据实施例,数据锁存器363锁存写入数据,直到下一个新数据到达。因此,在执行写入操作之后,用于该写入操作的接收到的数据被锁存在DRAM管芯内。
再次参考I/O门控340,在一个实施例中,I/O门控340包括与上面关于图2描述的写入电路254和读取电路256相同或类似的写入电路和读取电路。例如,I/O门控340可以包括一个或多个写入驱动器(例如,在读出放大器与数据接口362之间的内部写入驱动器,区别于在数据接口362与外部信号线之间的写入驱动器360),用于将数据驱动到读出放大器中以锁存新的期望逻辑状态。在现有的存储器设备中,写入驱动器基于由存储器控制器经由数据总线发送的外部数据将数据写入存储器单元。相反,在一个实施例中,I/O门控340中的写入驱动器取决于寄存器设置(例如,上面描述的数据状态字段)基于来自先前写入命令或其他源的锁存的数据将数据驱动到存储器阵列中。例如,可以控制I/O门控340中的写入驱动器,以基于在存储器管芯内部的源写入来自数据总线的数据,或者可替代地,全零、全一或不同的样式。在一个实施例中,数据样式基于锁存的数据(例如,锁存在数据接口362的数据锁存器363中的数据)。因此,在一个这样的实施例中,存储器控制器可以通过首先发送具有数据样式的标准存储器写入命令来控制要由WRITE-F命令写入的数据样式,这使得数据样式被锁存在数据锁存器363中。然后,存储器控制器可以在没有数据的情况下发送WRITE-F命令,并且内部数据锁存器363将保持来自先前写入命令的相同数据,直到利用另一个常规写入命令接收到新数据。
在一个实施例中,存储器设备可以包括用于在内部计算与WRITE-F命令相关联的一个或多个内部写入的存储器地址的电路。例如,在一个实施例中,DRAM 300接收WRITE-F命令和初始地址(例如,行地址和列地址)。然后,DRAM 300可以使用从存储器控制器发送的行和列地址信息将数据样式存储到该地址。对于后续WRITE-F命令(或由WRITE-F命令引起的后续内部写入),DRAM可以使用计数器电路(例如,列地址计数器324中的计数器电路)计算下一列地址。计数器电路可以使用最初发送的列地址计算下一列地址(例如,通过递增最初发送的列地址)。因此,存储器控制器不需要针对每次写入通过地址信号线发送地址信息。在其他实施例中,存储器控制器确实针对每个WRITE-F命令发送地址信息。
因此,在实施例中,写入驱动器包括用于选择多个源中的一个用于写入数据样式的电路,这可以使得能够减少或消除通过数据总线对数据样式的传输。根据实施例,还可以减少存储器控制器发送的命令和地址信息。
图4是根据实施例的存储器设备的典型写入驱动器400的电路逻辑图的示例。在一个实施例中,写入驱动器400包括用于与存储器阵列接合并且将数据驱动到阵列的存储器单元中的电路。例如,典型写入驱动器可以位于图3的I/O门控块340中。写入驱动器电路400接收数据信号(DATA)和写入使能信号(WRITE)作为输入。写入驱动器电路400输出全局输入/输出(I/O)信号(GIO和#GIO)。
当写入使能信号生效时,数据信号线上的数据在全局I/O线上输出。例如,在所示实施例中,写入驱动器电路400包括:反相器404,其接收到写入驱动器电路400的数据信号(DATA);以及反相器406,其接收写入使能信号(WRITE)。所示的写入驱动器电路400还包括:NOR门408,其接收反相器404、406的输出作为输入;以及NOR门410,其接收反相器406的输出以及反相器412的输出,反相器412接收反相器404的输出作为输入。写入驱动器电路400还包括以推挽放大器配置布置的一对反相器电路420、422,其驱动相关联的全局输入/输出(I/O)线(GIO和#GIO信号线)。反相器电路420、422基于由NOR门408、410和相关联的反相器414、418的输出定义的一对输入将全局I/O线驱动到逻辑高或逻辑低。因此,在所示出的实施例中,当写入使能信号生效时,在写入驱动器电路400的数据总线上接收的数据被驱动到相关联的全局I/O线。因此,在全局I/O信号线上从典型写入驱动器输出的数据来自单个源:针对当前写入命令通过数据总线发送的数据。
相反,如图5所示,根据实施例,写入驱动器的输出可以基于数据总线或一个或多个其他源。图5是根据实施例的存储器设备的写入驱动器的电路逻辑图。在一个实施例中,写入驱动器500包括用于与存储器阵列接合并且将数据驱动到阵列的存储器单元中的电路。例如,写入驱动器500可以位于图3的I/O门控块340中。在一个实施例中,存储器阵列中的每个存储体包括写入驱动器,例如,图5的写入驱动器500。
类似于图4,写入驱动器电路500接收数据信号线(DATA)和写入使能信号(WRITE)作为输入,并且输出通用输入/输出(I/O)信号(GIO和#GIO)。然而,与图4的写入驱动器400不同,写入驱动器电路500包括用于使得能够对在通用I/O信号线上输出的数据源进行编程的电路。具体地,在图5所示的实施例中,写入驱动器电路500包括复用器506,用于在数据信号线(DATA)、电压源或地之间选择数据源。根据实施例,数据信号线最终与在存储器设备与存储器控制器之间的数据总线的数据信号线耦合。然而,可以存在中间电路和内部数据信号线的一个或多个中间集合。复用器506的输出端501被输入到NOR门508和反相器504,反相器504输入到另一个NOR门510。写入使能信号被输入到反相器507,反相器507也输入到NOR门508、510。NOR门508、510的输出端被输入到反相器电路520和522。所示实施例中的反相器电路520、522被配置为推挽放大器,每个推挽放大器包括一对匹配的晶体管。NOR门508的输出端耦合到晶体管T2的栅极并输入到反相器518,反相器518具有与晶体管T3的栅极耦合的输出端。NOR门510的输出端耦合到晶体管T4的栅极并且耦合到反相器514,反相器514具有耦合到晶体管T1的输出端。
与图4中所示的典型写入驱动器电路400不同,写入驱动器电路500包括复用器506,用于使得能够选择多个数据源中的一个。在一个实施例中,复用器506的选择输入(SEL)基于存储在模式寄存器中的值。在一个实施例中,模式寄存器包括一个或多个字段(例如,上面描述的数据状态字段),用于指示响应于WRITE-F命令要被写入的数据样式的源。在一个这样的实施例中,模式寄存器可以包括一个或多个字段,用于指示复用器506的输入端是数据信号线还是另一输入端,例如,地或电压源。因此,在一个这样的实施例中,复用器506包括:与电压源耦合的输入端(输入端1),与数据信号线耦合的输入端(输入端2),以及与地相连的输入端(输入端3)。其他实施例可以包括具有更少、更多或不同输入端的复用器。在所示实施例中,数据驱动器电路500将基于复用器506的选定的输入端在全局I/O信号线上输出0或1。因此,包括诸如写入驱动器500之类的写入驱动器的存储器设备可以实现响应于命令要被写入的数据样式的灵活性。
图6是根据实施例的用于控制被写入存储器的数据样式的源的模式寄存器的示例。模式寄存器600表示支持将数据样式写入多个存储器位置的系统中的存储器设备或DRAM设备中的模式寄存器的实施例。因此,模式寄存器600可以表示根据图1的系统100或图2的系统200的存储器设备的模式寄存器。在一个实施例中,模式寄存器600提供模式寄存器设置(MRS)命令如何能够设置模式寄存器配置以指示响应于WRITE-F命令要被写入存储器的数据样式的源的示例。
配置设置602表示用于控制数据状态的字段或一个或多个位。在一个这样的实施例中,可以将设置602设置为指示全零的数据样式的源的值(例如,设置602中的值“1”指示全零的数据样式的内部源)。在一个实施例中,设置602可以被设置为指示全一的数据样式的源的值(例如,设置602中的值“2”指示全一的数据样式的内部源)。在一个实施例中,设置602可以被设置为指示外部写入数据源的值(例如,设置602中的值“0”指示数据样式基于外部写入数据)。注意,虽然基于外部数据的数据样式有时被称为除全零或全一之外的样式,但外部数据可以是零和一的任意组合,包括全零或全一。
在一个实施例中,写入驱动器电路中的复用器的选择输入是基于存储在模式寄存器600中的值的。例如,参考图5,复用器506具有基于存储在诸如模式寄存器600之类的模式寄存器中的值的选择输入。在图5和图6所示的示例中,如果在设置602中存储“0”以指示数据样式基于外部写入数据,则选择输入端2;如果在设置602中存储“0”指示全零的数据样式的源,则选择输入端3;并且如果在设置602中存储“2”指示全一的数据样式的源,则选择输入端1。因此,在所示实施例中,如果数据状态寄存器字段被设置为指示全零或全一的数据样式的值,则写入驱动器忽略或绕过数据信号线上存在的数据(如果有的话),而是写入如数据状态字段指示的全零或全一。否则,如果数据状态寄存器字段被设置为指示数据样式基于外部数据的值,则写入驱动器写入数据信号线上的数据样式(例如,来自先前写入的存储在数据锁存器中的数据样式)。
在一个实施例中,数据状态字段被初始化(例如,在系统启动时)为这样的值:该值使得写入驱动器根据正常操作从数据信号线写入数据。例如,DRAM可以具有上电重置,用于在上电期间和在初始化之前将模式寄存器600重置为“0”作为默认值。在一个这样的实施例中,为了绕过信号线上的数据,存储器控制器发送用于将数据状态字段602编程为用于选择全零或全一的数据样式源的值的命令。另外,在完成绕过数据信号线的WRITE-F命令之后,存储器控制器或存储器设备可能需要将数据状态字段重置或设置为与正常操作一致。例如,在一个实施例中,如果存储器控制器在数据状态字段602中存储指示全零或全一的数据样式的值(例如,如图6所示的值“1”或“2”),则在完成(多个)WRITE-F命令之后,存储器控制器重置数据状态字段以指示数据样式基于外部写入数据(例如,如图6所示的值“0”)。因此,在一个实施例中,模式寄存器包括一个或多个位以实现用于写入存储器的可编程数据样式。
图7是根据实施例的将数据样式写入存储器的方法的流程图。图7的方法700可以由存储器设备执行,例如,图1的存储器设备140或图2的存储器230。
方法700开始于在操作702处存储器设备从存储器控制器接收命令。该命令可以使得存储器设备将数据样式写入存储器中的一个或多个位置。在一个实施例中,该命令可以是多个命令中的一个(例如,命令序列),以使得数据样式被写入多个存储器位置。在一个实施例中,该命令是WRITE-F命令,使得数据样式被写入存储器,而无需针对每次写入通过数据总线发送数据样式。
该方法还涉及在操作704处检测模式寄存器设置,该模式寄存器设置指示响应于该命令要写入的数据样式的源。例如,响应于接收到WRITE-F命令,存储器设备可以基于模式寄存器设置(例如,图6的设置602)检测或确定要写入什么数据样式。在一个这样的实施例中,存储器设备确定要写入的数据样式来自多个源中的一个,例如,全零的数据样式的源、全一的数据样式的源、存储器设备的数据锁存器或另一个源。
在操作706处,响应于接收到命令,存储器设备基于模式寄存器设置将数据样式写入存储器。例如,在一个实施例中,响应于接收到命令(例如,WRITE-F命令),存储器设备基于模式寄存器设置写入数据样式,该数据样式是全零、全一或另一数据样式。
图8A、图8B、图8C和图8D是根据实施例的将数据样式写入存储器的方法的流程图。方法800A-800D可以由存储器设备执行,例如,图1的存储器设备140或图2的存储器230。方法800A-800D示出了用于将数据样式写入存储器而无需针对每次写入通过数据总线传送数据样式的若干方法。其他方法也是可能的。图8A的方法800A和图8B的方法800B示出了其中数据样式的源是例如与地或电压源相连的输入端的实施例。图8C的方法800C和图8D的方法800D类似于方法800A和800B,但是示出了其中数据样式基于来自先前存储器写入的锁存的数据的实施例。图8A和图8C示出了其中针对每次写入重复WRITE-F命令的实施例,而图8B和图8D示出了其中单个WRITE-F命令导致数据样式的多次内部写入的实施例。
参考图8A,方法800A开始于在操作802处存储器设备接收设置模式寄存器以指示数据样式的源的命令。例如,存储器设备可以从存储器控制器接收模式寄存器设置(MRS)命令以将值存储在模式寄存器中。在一个这样的实施例中,存储在模式寄存器中的值指示响应于写入数据样式的命令要使用多个数据样式源中的哪一个。例如,模式寄存器可以设置为这样的值:指示全一、全零或另一数据样式源的数据样式的源。
在操作804处,存储器设备还接收基于模式寄存器将数据样式写入存储器的命令。例如,存储器设备接收WRITE-F命令,以将数据样式写入存储器,而无需通过数据总线接收数据样式。在所示实施例中,数据样式不基于数据总线上的外部数据。相反,数据样式的源由模式寄存器指示,例如,图6的模式寄存器600。例如,在一个实施例中,模式寄存器指示数据样式的源是全零、全一或另一数据样式的源。例如,模式寄存器可以指示源是与地相连或与电压源相连的输入端,以分别写入全零或全一的数据样式。
在一些实施例中,存储器控制器针对每个WRITE-F命令发送地址信息(例如,行和/或列地址)。在其他实施例中,存储器控制器针对WRITE-F命令的突发中的初始WRITE-F命令发送地址信息,但针对突发中的后续WRITE-F命令不发送地址信息。相反,在一个这样的实施例中,存储器设备针对后续WRITE-F命令计算地址。例如,在一个实施例中,存储器控制器随着初始WRITE-F命令发送列地址,并且存储器设备针对后续WRITE-F命令计算(例如,利用计数器电路)下一列地址。因此,如果存储器设备针对WRITE-F命令从存储器控制器接收到地址信息(805是(YES)分支),则在操作806处存储器设备利用接收到的地址信息将由模式寄存器指示的数据样式写入存储器阵列。如果存储器设备针对WRITE-F命令没有从存储器控制器接收到地址信息(805否(NO)分支),则在操作810处存储器设备计算地址信息,然后在操作806处写入数据样式。因此,存储器控制器可以随着每个WRITE-F命令发送地址信息,或者可以发送少于所有WRITE-F命令的地址信息。在一个实施例中,存储器设备不包括用于列地址生成的计数器,并且存储器设备针对每个WRITE-F命令利用外部列地址捕获后续WRITE-F命令。在另一实施例中,列地址生成或对外部列地址的接收可以是可选的或可编程的。
再次参考操作806,响应于WRITE-F命令,存储器设备将由模式寄存器指示的数据样式写入存储器阵列。例如,如果模式寄存器包含指示全零的源的值,则存储器设备的写入电路忽略外部数据线上的数据(如果有的话)并写入全零。例如,数据样式可以基于存储器设备中的与地相连的内部输入端或信号线。在另一示例中,寄存器指示全一的源,并且存储器设备的写入电路忽略外部数据线上的数据而是写入全一。例如,数据样式可以基于存储器设备中的与电压源相连的内部输入端或信号线。在一个实施例中,写入电路可以包括复用器,用于选择适当的数据样式源以写入期望的数据样式(例如,图5的写入驱动器500中的复用器)。
在一个实施例中,存储器设备继续接收WRITE-F命令以基于模式寄存器写入数据样式。例如,存储器控制器可以发送多个连续(back-to-back)WRITE-F命令(例如,作为突发操作)。因此,如果存储器设备继续接收WRITE-F命令,(809是分支),则重复操作804、805和806。否则,如果存储器设备没有接收到写入相同样式的后续WRITE-F命令(809否分支),则可以改变数据样式。如上面提到的,在完成利用WRITE-F命令将数据样式写入多个存储器位置之后,可能需要在重新开始标准写入操作之前重置模式寄存器。例如,如果数据状态寄存器指示数据样式应该为全零,则在一个实施例中,写入驱动器包括用于忽略来自数据总线的数据的电路。对于大多数标准写入命令,忽略来自数据总线的数据是不期望的。因此,存储器控制器或存储器设备可以使得数据状态字段被设置为“正常”操作模式,其中写入驱动器写入来自数据总线的数据。在一个实施例中,为了改变数据样式(操作812是分支),存储器设备可以接收用于将模式寄存器设置为期望数据样式源的值的另一命令。
因此,与重复写入数据样式的典型方法对比,图8A的方法可以实现相同结果而无需针对每次写入通过数据总线发送信息。在期望数据样式为全零、全一的情况下,在将数据样式写入多个存储器位置之前,甚至没有一次要求存储器控制器发送数据样式。而且,与涉及写入全零的现有技术对比,图8A的方法使得能够将除全零之外的存储器样式(例如,全一或包括一和零两者的另一数据样式)写入存储器,而无需针对每次写入通过数据总线发送样式。
图8B还示出了其中数据样式的源是例如与地或电压源相连的输入端的实施例。图8B的方法800B的大部分操作与方法800A的操作相同或类似。然而,不同于其中存储器设备接收用于数据样式的每次写入的命令(如由操作809指示的)的方法800A,800B的方法示出了其中单个命令导致数据样式多次写入存储器的实施例。例如,在方法800B中,重复操作806、808和810,直到由在操作804处接收的单个命令引起的所有写入完成。
图8C是根据实施例的将数据样式写入存储器的方法的另一流程图。如上面提到的,图8C可以示出其中数据样式源是存储器设备的数据锁存器的实施例,该数据锁存器存储根据先前存储器写入锁存的数据。图8C中所示实施例与图8A和图8B不同的一个方面在于方法800C不包括设置模式寄存器(例如,图8C的流程图未示出与图8A的操作802相当的操作)。在一个这样的实施例中,不需要设置模式寄存器,因为默认值(例如,模式寄存器被初始化的值)指示数据样式将基于外部数据。然而,在另一实施例中,方法800C可以包括设置模式寄存器(例如,从存储器控制器接收设置模式寄存器的命令)。
因此,假设模式寄存器指示数据样式将基于外部数据(无论是由于接收到MRS命令还是由于初始化值是期望值),图8C的方法800C开始于在操作820处接收将数据样式锁存在锁存器电路中的命令。在一个实施例中,当存储器设备执行标准写入命令(例如,WRITE命令)时,数据被锁存到存储器设备上的数据锁存器中。因此,在一个实施例中,存储器控制器发送具有期望数据样式的写入命令,并且存储器设备锁存数据样式。例如,参考图3,数据接口逻辑362包括数据锁存器363,用于锁存与写入命令相关联的数据。
在数据被锁存之后,在操作822处,存储器设备可以接收将锁存的数据样式写入存储器的命令。例如,存储器设备可以接收如上面描述的WRITE-F命令。在图8C所示的实施例中,模式寄存器指示数据样式的源是存储器设备的数据锁存器(例如,图6的模式寄存器600的数据状态字段中的值“0”)。
与上面讨论的图8A类似,在一些实施例中,存储器控制器针对每个WRITE-F命令发送地址信息(例如,行和/或列地址)。在其他实施例中,存储器控制器针对WRITE-F命令的突发中的初始WRITE-F命令发送地址信息,但针对突发中的后续WRITE-F命令中不发送地址信息。相反,在一个这样的实施例中,存储器设备针对后续WRITE-F命令计算地址。例如,在一个实施例中,存储器控制器随着初始WRITE-F命令发送列地址,并且存储器设备针对后续WRITE-F命令计算(例如,利用计数器电路)下一列地址。因此,如果存储器设备针对WRITE-F命令从存储器控制器接收到地址信息(823是分支),则在操作824处存储器设备将锁存的数据样式写入存储器阵列。如果存储器设备针对WRITE-F命令没有从存储器控制器接收到地址信息(823否分支),则在操作828处存储器设备计算地址信息,然后在操作824处写入锁存的数据样式。因此,存储器控制器可以随着每个WRITE-F命令发送地址信息,或者可以发送少于所有WRITE-F命令的地址信息。
参考操作824,存储器设备然后将锁存的数据样式写入存储器。存储器设备可以继续接收WRITE-F命令以写入相同样式(826是分支),在这种情况下,重复操作822、823和824。否则,如果存储器设备没有继续接收到写入相同样式的WRITE-F命令(826否分支),则可以改变数据样式。例如,如果需要改变数据样式(例如,以便将不同数据样式写入多个存储器位置),(操作830是分支),则存储器控制器可以发送具有不同样式的另一写入命令,从而使得在操作820处存储器设备锁存新数据样式。还可以通过改变寄存器设置来改变数据样式的源(例如,关于图8A的操作812和802描述的)。否则,如图所示的方法800C完成(830否分支)。
图8D还示出了其中数据样式基于来自先前写入命令的锁存的数据的实施例。图8D的方法800D的大部分操作与方法800C的操作相同或类似。然而,不同于其中存储器设备接收用于数据样式的每次写入的命令(如由操作826指示的)的方法800C,800D的方法示出了其中单个命令导致数据样式多次写入存储器的实施例。例如,在方法800D中,重复操作824、827和828,直到由在操作822处接收的单个命令引起的所有写入完成。
图9A和图9B是根据实施例的将数据样式写入存储器的方法的流程图。与可以由存储器设备执行的图8A-8D的方法不同,图9A和图9B示出了根据实施例的由存储器控制器执行的方法。例如,诸如图1的存储器控制器120或图2的存储器控制器220之类的存储器控制器可以执行图9A的方法900A和图9B和方法900B。方法900A示出了其中数据样式的源是与地、电压源或另一源相连的输入端的方法,并且方法900B示出了其中数据样式的源是数据锁存器的方法,该数据锁存器包含来自先前写入命令的数据。因此,方法900A示出了与800A或800B相同或类似的方法,但是从存储器控制器的角度而不是从存储器设备的角度。类似地,方法900B示出了与800C或800D相同或类似的方法,但是从存储器控制器的角度。
方法900A开始于在操作902处发送设置模式寄存器的命令。例如,存储器控制器可以发送模式寄存器设置(MRS)命令,以将指示数据样式的源(例如,全零、全一或不同源的数据样式的源)的值存储在模式寄存器中。
在操作904处,存储器控制器还发送使得数据样式被写入存储器的命令。例如,在一个实施例中,存储器控制器将WRITE-F命令发送到存储器设备。在一个实施例中,不要求存储器控制器通过数据总线发送数据样式,因此使得能够降低功耗。
在操作906处,存储器控制器可以继续发送使得基于模式寄存器将数据样式写入存储器的命令。例如,存储器控制器可以将连续WRITE-F命令发送到存储器设备。在一个这样的实施例中,存储器控制器仅随着初始WRITE-F命令(例如,在操作904中参考的命令)发送地址信息,并且不随着后续WRITE-F命令发送地址信息(例如,在操作906中参考的命令)。在其他实施例中,存储器控制器可以随着每个WRITE-F命令发送地址信息(例如,列地址)。
方法900B示出了其中数据样式基于锁存的数据的方法。因此,方法900B涉及在操作910处发送具有期望数据样式的写入命令。例如,存储器控制器发送具有期望数据样式作为写入数据的单个写入命令。存储器设备接收写入命令和数据,并且将数据锁存,作为将数据存储在存储器单元中的过程的一部分。
在将写入命令发送到存储器设备之后,在操作912处,存储器控制器发送使得数据样式被写入存储器的第二命令。例如,在一个实施例中,存储器控制器将WRITE-F命令发送到存储器设备。在一个这样的实施例中,存储器设备使用根据先前写入命令锁存的数据样式,因此不要求存储器控制器随着WRITE-F命令再次发送数据样式。
在操作914处,存储器控制器可以继续发送命令以使得基于模式寄存器将数据样式写入存储器。例如,存储器控制器可以将连续WRITE-F命令发送到存储器设备。在一个这样的实施例中,存储器控制器仅随着初始WRITE-F命令(例如,在操作904中参考的命令)发送地址信息,并且不随着后续WRITE-F命令(例如,在操作906中参考的命令)发送地址信息。因此,根据实施例,存储器控制器可以使得数据样式被写入多个存储器位置,而无需针对每次写入发送数据样式或地址信息。
图10A和图10B是示出根据实施例的用于将数据样式写入存储器的操作的时序图。图10A的时序图1000A和图10B的时序图1000B示出了选定的定时元素,并且不一定是发生的所有信号或操作的完整表示。此外,所示的框不一定传达比例或时间量。相反,该图说明了操作的相对顺序。图10A的时序图1000A示出了基于模式寄存器写入数据样式,其中数据样式的源是与地或电压源相连的输入端(例如,图8A的方法800A和图9A的方法900A)。图10B的时序图1000B示出了根据实施例的基于锁存的数据写入数据样式(例如,图8A的方法800A和图9A的方法900A)。
参考图10A,时序图示出了通过接合存储器控制器和存储器设备的信号线发送的信号。例如,时序图1000A示出了时钟信号1002(CLK)、命令信号1004(CMD)、地址信号1006(ADDR)和数据信号1008(DQ),其实现存储器控制器与存储器设备之间的通信。根据实施例,时钟信号1002、命令信号1004、地址信号1006和数据信号1008是耦合存储器控制器和存储器设备的外部信号线。时序图1000A中的外部信号可以与图1的系统100或图2的系统200或者包括存储器控制器和存储器设备的另一系统一致。时序图1000A还示出了在存储器设备内部生成并且不用于与存储器控制器通信的内部信号。例如,时序图示出了字线1007,选定全局输入/输出(I/O)对1010(注意,在所示实施例中,全局I/O对1010的虚线表示#GIO)。
如上面提到的,时序图1000A示出了其中模式寄存器(例如,图6的寄存器600)已经被编程为指示数据样式的源不是来自先前写入命令的锁存的数据的情况。相反,数据样式基于例如与地或电压源相连的输入端。因此,在时序图1000A中,假设存储器控制器已经将模式寄存器编程为指示期望数据样式。
时序图1000A示出了使得数据样式被写入存储器的WRITE-F命令。在图10A所示的实施例中,存储器控制器在时间1003经由命令信号1004发送激活命令(ACT),以激活由地址信号1006识别的行(存储体行)。激活命令使得内部字线信号1007变为生效。在发送激活命令之后(例如,在时间tRCD之后,该时间tRCD是存储器设备的ACT到内部读取或写入延迟时间),存储器控制器发送WRITE-F命令。存储器控制器还发送对应的列地址(存储体列)以识别要写入数据样式的存储器位置。注意,存储器控制器不针对WRITE-F命令通过数据线1008发送数据。相反,存储器设备根据模式寄存器设置来写入数据样式。例如,存储器设备写入这样的数据样式:全零、全一或另一数据样式。
在ACT命令之后的一段时间之后,存储器控制器在时间1005经由命令信号1004发送第一写入-强制命令(WRITE-F)。所示时序图中的ACT命令与第一WRITE-F命令之间的时间段是tRCD,但是其他时间延迟也是可能的。存储器设备还针对WRITE-F命令将列地址(存储体列)发送到存储器设备。第一WRITE-F命令使得选定全局输入/输出对1010反映数据样式,这导致选定列选择线(CSL)的生效。选定列生效线的生效使得数据样式被驱动到位线对1014上,因此存储在存储器设备的选定存储器单元中。
如时序图1000A中所示,存储器控制器在时间1011通过命令信号线1004发送第二WRITE-F命令。尽管仅示出了两个WRITE-F命令,但是存储器控制器可以发出更少或附加的WRITE-F命令。例如,考虑其中由ACT以存储体和行地址激活的页大小通常为8Kb或1Kb的实施例。对于8Kb的页大小,可以根据实施例通过列地址选择CSL线,并且带入和带出64b、128b或256b的数据。在其中对CSL线的选择使得能够响应于对CSL线的选择而读取或写入128b数据的示例中,一个WRITE-F操作可以将指示的数据样式写入8192b(8Kb)存储器单元的128个存储器单元中。因此,在一个这样的示例中,如果应用或系统希望将数据样式写入整个页(例如,在该示例中为8192b),则存储器控制器将引起64个WRITE-F操作(基于8192b/128b=64次写入)。在该示例中,64个WRITE-F操作可以根据本文描述的任何实施例发生。例如,在一个实施例中,单个WRITE-F命令可以引起足够的内部写入操作以用数据样式填充整个页。在另一实施例中,存储器控制器针对每次写入发送写入命令或WRITE-F命令以用数据样式填充页。例如,在一个这样的实施例中,存储器控制器针对每次写入发送WRITE-F命令。在另一实施例中,存储器控制器首先发送写入命令随后是足够的WRITE-F命令以用数据样式填充页(在上面的示例中,1个写入命令,随后是63个WRITE-F命令)。
在所示实施例中,两个连续WRITE-F命令之间的时间延迟是tCCD_L,其是长列到列延迟(例如,对于到同一存储体的命令)。tCCD定时参数定义了在对不同存储器列的选择之间必须经过的最小周期数。然而,在其他实施例中,写入命令与写入-强制命令之间的时间可以是tCCD_S,其是短列到列延迟(例如,对于到不同存储体的命令),或者某个其他时间段。在所示实施例中,针对后续WRITE-F命令,存储器控制器不经由地址信号1006发送另外的地址信息,或者不经由DQ信号1008发送数据。相反,存储器设备响应于接收到WRITE-F命令而确定要写入数据样式的下一个存储器位置的地址,而不是依赖于通过地址信号线接收附加地址信息。例如,存储器设备上的计数器电路(例如,列地址计数器)针对后续WRITE-F命令计算列地址。存储器设备继续将数据样式写入选定行的附加列,直到存储器设备停止接收WRITE-F命令。因此,存储器设备将数据样式写入多个存储器位置,而无需针对每次写入接收数据样式或地址。
在完成最后一列写入之后,可以在时间1009通过预充电命令(PRE)将字线和列线去激活,存储器控制器可以在最后一列写入之后一定量的时间发出预充电命令(PRE),该时间量由存储器设备的写入恢复时间(tWR)定义。如上面讨论的,tWR定时参数定义了写入操作之后要求的最小时钟周期数,以确保写入的内容被正确地存储在对应的存储器单元中。
时序图1000B示出了具有数据样式的写入命令,随后是WRITE-F命令,以使得锁存的数据样式被写入多个存储器位置。时序图100B示出了与时序图1000A类似的信号。例如,时序图1000示出了时钟信号1002(CLK)、命令信号1004(CMD)、地址信号1006(ADDR)和数据信号1008(DQ),其实现存储器控制器与存储器设备之间的通信。时序图1000中的信号可以与图1的系统100或图2的系统200或者包括存储器控制器和存储器设备的另一系统一致。
如上面提到的,时序图1000B首先示出存储器写入命令。因此,在图10所示的实施例中,存储器控制器在时间1003经由命令信号1004发送激活命令(ACT),以激活由地址信号1006识别的行(存储体行)。激活命令使得内部字线信号1007变为生效。在发送激活命令之后(例如,在时间tRCD之后,该时间tRCD是存储器设备的ACT到内部读取或写入延迟时间),存储器控制器在时间1005发送写入命令(WRT)。存储器控制器还发送对应的列地址(存储体列),以识别要写入DQ 1008上的数据(数据样式)的存储器位置。写入命令使得数据被锁存并在选定全局I/O对1010上输出,这使得选定列选择线变为生效,这使得数据被输出到位线对1014,然后被写入指定的存储器位置。因此,如上面讨论的,对写入命令的处理使得存储器设备在将数据存储在存储器单元中之前锁存数据。然后,存储器设备可以使用锁存的数据来处理后续WRITE-F命令。
在一段时间之后,存储器控制器经由命令信号1004发送写入-强制命令(WRITE-F)。所示时序图中的写入命令与写入-强制命令之间的时间段是tCCD_L,但是在其他实施例中,写入命令与写入-强制命令之间的时间可以是tCCD_S,其是短列到列延迟(例如,对于到不同存储体的命令),或者是某个其他时间段。在所示实施例中,针对写入-强制命令,存储器控制器不经由地址信号1006发送另外的地址信息,或者不经由DQ信号1008发送数据。相反,如上面关于图10A讨论的,存储器设备响应于接收到WRITE-F命令而确定要写入数据样式的下一个存储器位置的地址,而不是依赖于通过地址信号线1006接收附加地址信息。
存储器设备继续将数据样式写入选定行的附加列,直到存储器设备停止接收WRITE-F命令。在所示示例中,给定写入之间的延迟是tCCD_L,但是在其他实施例中,延迟可以是tCCD_S或另一延迟。时序图1000B示出了两个WRITE-F命令,但是根据实施例,存储器控制器可以发出更少或附加的WRITE-F命令。因此,存储器设备将数据样式写入多个存储器位置,而无需针对每次写入接收数据样式或地址。
在完成最后一列写入之后,可以在时间1009通过预充电命令(PRE)将字线和列线去激活,存储器控制器可以在最后一列写入之后一定量的时间发出预充电命令(PRE),该时间量由存储器设备的写入恢复时间(tWR)定义。
因此,时序图1000A和1000B示出了根据实施例的WRITE-F命令。时序图1000A和1000B仅仅是示例,并且其他实施例可以包括不同的时序和特征。例如,时序图1000A和1000B示出了其中存储器控制器针对每个后续写入通过命令总线发送WRITE-F命令的实施例。然而,在其他实施例中,单个命令可以使得存储器设备执行多次内部写入。在另一示例中,其他实施例可以涉及针对每次写入发送地址信息而不是存储器设备计算后续列地址。
图11是根据实施例的其中可以实现将可编程数据样式重复写入存储器的计算系统的框图。
系统1100表示根据本文描述的任何实施例的计算设备,并且可以是膝上型计算机、台式计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、路由或交换设备、嵌入式计算设备或其他电子设备。
系统1100包括处理器1110,其为系统1100提供处理、操作管理和指令的执行。处理器1110可以包括任何类型的微处理器、中央处理单元(CPU)、图形处理单元(GPU)、处理核心或为系统1100提供处理的其他处理硬件,或处理器的组合。处理器1110控制系统1100的整体操作,并且可以是或包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等,或这些设备的组合。
在一个实施例中,系统1100包括耦合到处理器1110的接口1112,接口1112可以表示用于需要更高带宽连接的系统组件(例如,存储器子系统1120或图形接口组件1140)的较高速接口或高吞吐量接口。接口1112可以表示“北桥”电路,其可以是独立组件或集成在处理器管芯上。图形接口1140与图形组件接合,用于向系统1100的用户提供视觉显示。在一个实施例中,图形接口1140基于存储在存储器1130中的数据或基于由处理器1110执行的操作或两者来生成显示。
存储器子系统1120表示系统1100的主存储器,并且提供对要由处理器1110执行的代码或要在执行例程中使用的数据值的存储。存储器子系统1120可以包括一个或多个存储器设备1130,例如,只读存储器(ROM)、闪速存储器、一种或多种随机存取存储器(RAM)或其他存储器设备或这些设备的组合。
存储器1130存储并托管操作系统(OS)1132以提供用于在系统1100中执行指令的软件平台,以及其他。另外,应用1134可以在OS 1132的软件平台上从存储器1130执行。应用1134表示具有其自己的操作逻辑以实现对一个或多个函数的执行的程序。进程1136表示向OS 1132或一个或多个应用1134或组合提供辅助功能的代理或例程。OS 1132、应用1134和进程1136提供用于提供系统1100的功能的逻辑。在一个实施例中,存储器子系统1120包括存储器控制器1122,其是用于生成命令并且向存储器1130发出命令的存储器控制器。应理解,存储器控制器1122可以是处理器1110的物理部分或接口1112的物理部分。例如,存储器控制器1122可以是集成存储器控制器,其集成到具有处理器1110的电路上。
虽然未具体示出,但是应理解,系统1100可以包括设备之间的一个或多个总线或总线系统,例如,存储器总线、图形总线、接口总线或其他。总线或其他信号线可以将组件通信地或电地耦合在一起,或者通信地和电地两者耦合组件。总线可以包括物理通信线、点对点连接、桥接器、适配器、控制器或其他电路或组合。总线可以包括例如系统总线、外围组件互连(PCI)总线、超传输(HyperTransport)或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)或电气和电子工程师协会(IEEE)标准1394总线(通常称为“Firewire”)中的一个或多个。
在一个实施例中,系统1100包括接口1114,其可以耦合到接口1112。接口1114可以是比接口1112低速的接口。在一个实施例中,接口1114可以是“南桥”电路,其可以包括独立组件和集成电路。在一个实施例中,多个用户接口组件或外围组件或两者耦合到接口1114。网络接口1150向系统1100提供通过一个或多个网络与远程设备(例如,服务器或其他计算设备)通信的能力。网络接口1150可以包括以太网适配器、无线互连组件、USB(通用串行总线)或基于其他有线或无线标准的或专有的接口。网络接口1150可以与远程设备交换数据,这可以包括发送存储在存储器中的数据或接收要存储在存储器中的数据。
在一个实施例中,系统1100包括一个或多个输入/输出(I/O)接口1160。I/O接口1160可以包括用户通过其与系统1100交互的一个或多个接口组件(例如,音频、字母数字、触觉/触摸或其他接合)。外围接口1170可以包括上面没有具体提到的任何硬件接口。外设通常指代与系统1100从属地连接的设备。从属连接是系统1100提供操作在其上执行并且用户与其交互的软件平台或硬件平台或两者的连接。
在一个实施例中,系统1100包括以非易失性方式存储数据的存储子系统1180。在一个实施例中,在某些系统实现方式中,存储装置1180的至少某些组件可以与存储器子系统1120的组件重叠。存储子系统1180包括(多个)存储设备1184,其可以是或包括用于以非易失性方式存储大量数据的任何常规介质,例如,一个或多个基于磁性、固态或光的盘或组合。存储设备1184保持代码或指令和数据1186处于持久状态(即,尽管中断到系统1100的电力,仍保留该值)。存储设备1184通常可以被认为是“存储器”,虽然存储器1130典型地是向处理器1110提供指令的执行或操作存储器。而存储设备1184是非易失性的,存储器1130可以包括易失性存储器(即,如果到系统1100的电力中断,则值或数据状态是不确定的)。在一个实施例中,存储子系统1180包括与存储设备1184接合的控制器1182。在一个实施例中,控制器1182是接口1114或处理器1110的物理部分,或者可以包括在处理器1110和接口1114两者中的电路或逻辑。
电源1102向系统1100的组件提供电力。更具体地,电源1102典型地与系统1100中的一个或多个电力供应1104接合,以向系统1100的组件提供电力。在一个实施例中,电力供应1104包括插入壁式插座的AC到DC(交流到直流)适配器。这种AC电力可以是可再生能源(例如,太阳能)电源1102。在一个实施例中,电源1102包括DC电源,例如,外部AC到DC转换器。在一个实施例中,电源1102或电力供应1104包括无线充电硬件,以经由接近充电场来充电。在一个实施例中,电源1102可以包括内部电池或燃料电池源。
在一个实施例中,根据上面描述的实施例,存储器子系统1120实现用于多次写入存储器的可编程数据样式。
图12是根据实施例的其中可以实现将数据样式写入多个存储器位置的方法的移动设备的框图。设备1200表示移动计算设备,例如,计算平板电脑、移动电话或智能电话、支持无线的电子阅读器、可穿戴计算设备或其他移动设备或嵌入式计算设备。应理解,一般性地示出了组件中的某些组件,并且并非这种设备的所有组件在设备1200中示出。
设备1200包括处理器1210,其执行设备1200的主要处理操作。处理器1210可以包括一个或多个物理设备,例如,微处理器、应用处理器、微控制器、可编程逻辑器件或其他处理单元。由处理器1210执行的处理操作包括对其上执行应用和设备功能的操作平台或操作系统的执行。处理操作包括关于与人类用户或与其他设备的I/O(输入/输出)的操作,关于功率管理的操作,关于将设备1200连接到另一设备的操作,或组合。处理操作还可以包括关于音频I/O、显示I/O或其他接合或组合的操作。处理器1210可以执行存储在存储器中的数据。处理器1210可以写入或编辑存储在存储器中的数据。
在一个实施例中,系统1200包括一个或多个传感器1212。传感器1212表示嵌入式传感器或与外部传感器的接口或其组合。传感器1212使得系统1200能够监测或检测其中实现系统1200的环境或设备的一个或多个条件。传感器1212可以包括环境传感器(例如,温度传感器、运动检测器、光检测器、照相机、化学传感器(例如,一氧化碳、二氧化碳或其他化学传感器))、压力传感器、加速度计、陀螺仪、医疗或生理传感器(例如,生物传感器、心率监测器、血糖监测器或用于检测医疗或生理属性的其他传感器)或其他传感器,或组合。传感器1212还可以包括用于生物识别系统(例如,指纹检测器、面部检测或识别系统或检测或识别用户特征的其他系统)的传感器。应广义地理解传感器1212,并且不限制可以利用系统1200实现的许多不同类型的传感器。在一个实施例中,一个或多个传感器1212经由与处理器1210集成的前端电路耦合到处理器1210。在一个实施例中,一个或多个传感器1212经由系统1200的另一组件耦合到处理器1210。
在一个实施例中,设备1200包括音频子系统1220,其表示与向计算设备提供音频功能相关联的硬件组件(例如,音频硬件和音频电路)和软件组件(例如,驱动程序、编解码器)。音频功能可以包括扬声器或耳机输出,以及麦克风输入。用于这些功能的设备可以集成到设备1200中,或者连接到设备1200。在一个实施例中,用户通过提供由处理器1210接收并处理的音频命令来与设备1200进行交互。
显示子系统1230表示提供用于呈现给用户的视觉显示的硬件组件(例如,显示设备)和软件组件(例如,驱动程序)。在一个实施例中,显示器包括用于用户与计算设备进行交互的触觉组件或触摸屏元件。显示子系统1230包括显示接口1232,其包括用于向用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示接口1232包括与处理器1210(例如,图形处理器)分开的逻辑,用于执行与显示相关的至少一些处理。在一个实施例中,显示子系统1230包括向用户提供输出和输入两者的触摸屏设备。在一个实施例中,显示子系统1230包括向用户提供输出的高清晰度(HD)显示器。高清晰度可以指代具有大约100PPI(每英寸像素)或更大的像素密度的显示器,并且可以包括诸如全HD(例如,1080p)、视网膜显示器、4K(超高清晰度或UHD)或者其他之类的格式。在一个实施例中,显示子系统1230基于存储在存储器中的数据和由处理器1210执行的操作来生成显示信息。
I/O控制器1240表示关于与用户的交互的硬件设备和软件组件。I/O控制器1240可以操作以管理作为音频子系统1220或显示子系统1230或两者的一部分的硬件。另外,I/O控制器1240示出了连接到设备1200的附加设备的连接点,用户可以通过该连接点与系统交互。例如,可以附接到设备1200的设备可以包括麦克风设备、扬声器或立体声系统、视频系统或其他显示设备、键盘或小键盘设备或与特定应用一起使用的其他I/O设备(例如,读卡器或其他设备)。
如上面提到的,I/O控制器1240可以与音频子系统1220或显示子系统1230或两者进行交互。例如,通过麦克风或其他音频设备的输入可以针对设备1200的一个或多个应用或功能提供输入或命令。另外,可以提供音频输出来代替显示输出或者除了显示输出之外还提供音频输出。在另一示例中,如果显示子系统包括触摸屏,则显示设备还用作输入设备,其可以至少部分地由I/O控制器1240管理。设备1200上还可以存在附加按钮或开关以提供由I/O控制器1240管理的I/O功能。
在一个实施例中,I/O控制器1240管理诸如传感器1212、加速度计、照相机、光传感器或其他环境传感器、陀螺仪、全球定位系统(GPS)或可以包括在设备1200中的其他硬件之类的设备。输入可以是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(例如,滤除噪声,针对亮度检测对显示器进行调整,针对照相机应用闪光灯或其他特征)。
在一个实施例中,设备1200包括管理电池电力使用、电池充电以及与功率节省操作相关的特征的功率管理1250。功率管理1250管理来自电源1252的电力,电源1252向系统1200的组件提供电力。在一个实施例中,电源1252包括插入壁式插座的AC到DC(交流到直流)适配器。这种AC电力可以是可再生能源(例如,太阳能、基于运动的电力)。在一个实施例中,电源1252仅包括DC电力,其可以由DC电源提供,例如,外部AC到DC转换器。在一个实施例中,电源1252包括无线充电硬件,以经由接近充电场来充电。在一个实施例中,电源1252可以包括内部电池或燃料电池源。
存储器子系统1260包括用于在设备1200中存储信息的(多个)存储器设备1262。存储器子系统1260可以包括非易失性存储器设备(如果到存储器设备的电力中断则状态不改变)或易失性存储器设备(如果到存储器设备的电力中断则状态是不确定的)或组合。存储器1260可以存储应用数据、用户数据、音乐、照片、文档或其他数据,以及与系统1200的应用和功能的执行相关的系统数据(无论是长期的还是临时的)。在一个实施例中,存储器子系统1260包括存储器控制器1264(其也可以被认为是系统1200的控制的一部分,并且可以潜在地被认为是处理器1210的一部分)。存储器控制器1264包括调度器,用于生成命令并向存储器设备1262发出命令。设备1200还包括存储子系统1206。存储子系统1206包括一个或多个存储设备1201和用于控制对存储设备1201的存取的控制器1205。
连接1270包括硬件设备(例如,无线或有线的连接器和通信硬件,或有线硬件和无线硬件的组合)和软件组件(例如,驱动程序、协议栈),以使得设备1200能够与外部设备进行通信。外部设备可以是单独的设备,例如,其他计算设备、无线接入点或基站,以及诸如耳机、打印机或其他设备之类的外设。在一个实施例中,系统1200与外部设备交换数据以供存储在存储器中或在显示设备上显示。交换的数据可以包括要存储在存储器中的数据,或者已经存储在存储器中的数据,以便读取、写入或编辑数据。
连接1270可以包括多种不同类型的连接。概括而言,设备1200被示为具有蜂窝连接1272和无线连接1274。蜂窝连接1272通常指代通过无线载波提供的蜂窝网络连接,例如,经由GSM(全球移动通信系统)或变体或衍生物、CDMA(码分多址)或变体或衍生物、TDM(时分复用)或变体或衍生物、LTE(长期演进——也称为“4G”)或其他蜂窝服务标准提供的。无线连接1274指代非蜂窝的无线连接,并且可以包括个域网(例如,蓝牙)、局域网(例如,WiFi)或广域网(例如,WiMax)或其他无线通信,或组合。无线通信指代通过使用调制电磁辐射通过非固体介质来传送数据。有线通信通过固体通信介质发生。
外围连接1280包括硬件接口和连接器,以及用于进行外围连接的软件组件(例如,驱动程序、协议栈)。应理解,设备1200既可以是到其他计算设备的外围设备(“至”1282),也可以使外围设备与其连接(“自”1284)。设备1200通常具有“对接”连接器,以连接到其他计算设备,用于诸如管理(例如,下载、上传、改变、同步)设备1200上的内容的目的。另外,对接连接器可以允许设备1200连接到某些外设,其允许设备1200控制到例如视听系统或其他系统的内容输出。
除了专有对接连接器或其他专有连接硬件之外,设备1200可以经由常见连接器或基于标准的连接器进行外围连接1280。常见类型可以包括通用串行总线(USB)连接器(其可以包括许多不同硬件接口中的任何一个)、包括MiniDisplayPort(MDP)的DisplayPort、高清晰度多媒体接口(HDMI)、Firewire或其他类型。
在一个实施例中,根据上面描述的实施例,存储器子系统1120实现用于多次写入存储器的可编程数据样式。因此,根据实施例,用于多次写入存储器的可编程数据样式能够实现将样式高效地写入存储器中的多个位置。
以下是本公开的一些实施例。在一个实施例中,一种存储器设备包括:输入/输出(I/O)电路,其用于接收命令;寄存器,其用于存储值,该值用于指示响应于接收到命令要写入的数据样式的源;以及存取电路,其用于响应于接收到命令而基于由寄存器中的值指示的源将数据样式写入存储器。在一个实施例中,寄存器用于指示多个数据样式源中的一个,多个数据样式源包括全零的数据样式的源。在一个实施例中,多个数据样式源还包括全一的数据样式的源。在一个实施例中,多个数据样式源还包括存储器设备的数据锁存器,该数据锁存器用于存储根据先前命令锁存的数据样式。在一个实施例中,存取电路用于将数据样式写入存储器,而无需针对写入通过数据总线接收数据样式。
在一个实施例中,I/O电路用于在接收命令之前接收用于写入数据样式一次的第一命令。存储器设备包括数据锁存器,该数据锁存器用于响应于接收到第一命令而锁存数据样式,并且响应于接收到命令,存取电路用于写入由数据锁存器根据第一命令锁存的数据样式。在一个实施例中,寄存器用于指示多个数据样式源中的一个,存取电路包括用于选择多个数据样式源中的一个的复用器。在一个实施例中,复用器包括与地相连的输入端、与电压源耦合的输入端以及与数据信号线耦合的输入端。在一个实施例中,复用器的选择输入是基于寄存器中的值的,并且响应于寄存器中的值指示全零的样式要被写入,复用器用于基于对与地相连的输入端的选择而输出“0”。在一个实施例中,响应于寄存器中的值指示全一的样式要被写入,复用器用于基于对与电压源耦合的输入端的选择而输出“1”。在一个实施例中,响应于寄存器中的值指示锁存的数据样式要被写入,复用器用于基于对与数据信号线耦合的输入端的选择而输出“0”或“1”。
在一个实施例中,I/O电路用于不接收与命令相关联的地址信息,并且存取电路用于基于与先前接收的命令相关联的先前接收的地址信息来计算用于写入数据样式的地址。在一个这样的实施例中,存取电路包括计数器电路,该计数器电路用于基于与先前接收的命令相关联的先前接收的列地址来确定用于写入数据样式的列地址。
在一个实施例中,一种存储器控制器包括命令电路,其用于:生成用于使得数据样式被写入存储器的命令,其中,要被写入的数据样式的源是基于寄存器的;以及生成用于对寄存器进行编程以指示响应于接收到命令要被写入的数据样式的源的命令。存储器控制器还包括输入/输出(I/O)电路,其用于:发送用于对寄存器进行编程的命令,以及发送用于使得数据样式被写入的命令。在一个实施例中,命令电路用于对寄存器进行编程以指示多个数据样式源中的哪一个要被写入,多个数据样式源包括全零的数据样式的源。在一个实施例中,多个数据样式源还包括全一的样式的源。在一个实施例中,多个数据样式源还包括存储器设备的数据锁存器,该数据锁存器用于存储根据先前命令锁存的数据样式。在一个实施例中,I/O电路用于发送用于使得数据样式被写入存储器的命令而无需通过数据总线发送数据样式。在一个实施例中,在发送用于使得数据样式被写入存储器的命令之前,I/O电路用于发送用于写入数据样式一次的第一命令。
在一个实施例中,一种系统包括处理器和与处理器通信耦合的存储器设备,其中,存储器设备是根据本文的任何实施例的。在一个实施例中,该系统还包括与处理器通信耦合的存储器控制器,其中,存储器控制器是根据本文描述的任何实施例的。在一个实施例中,该系统还包括通信地耦合到处理器的显示器、通信地耦合到处理器的网络接口或者耦合以向系统提供电力的电池中的任一个。
在一个实施例中,一种存储器设备包括:用于接收命令的单元;用于存储值的单元,该值用于指示响应于接收到命令要写入的数据样式的源;以及用于响应于接收到命令而基于由寄存器中的值指示的数据样式将数据样式写入存储器的单元。在一个实施例中,用于存储值的单元用于指示多个数据样式源中的一个,多个数据样式源包括全零的数据样式的源。在一个这样的实施例中,多个数据样式源还包括全一的样式的源。在一个实施例中,多个数据样式源还包括存储器设备的数据锁存器,该数据锁存器用于存储根据先前命令锁存的数据样式。在一个实施例中,用于将数据样式写入存储器的单元用于将数据样式写入存储器,而无需针对写入通过数据总线接收数据样式。在一个实施例中,用于接收命令的单元用于在接收命令之前接收用于写入数据样式一次的第一命令,其中,存储器设备包括数据锁存器,该数据锁存器用于响应于接收到第一命令而锁存数据样式,并且其中,响应于接收到命令,用于写入数据样式的单元用于写入由锁存器响应于接收到第一命令而锁存的数据样式。
在一个实施例中,用于存储值的单元用于指示多个数据样式源中的一个,其中,用于写入数据样式的单元包括复用器,该复用器用于选择多个数据样式源中的一个。在一个实施例中,用于接收命令的单元用于不接收与命令相关联的地址信息,并且包括用于基于与先前接收的命令相关联的先前接收的地址信息来计算用于写入数据样式的地址的单元。在一个这样的实施例中,用于计算地址的单元包括计数器电路,该计数器电路用于基于与先前接收的命令相关联的先前接收的列地址来确定用于写入数据样式的列地址。
在一个实施例中,一种方法包括:接收命令;将值存储在硬件寄存器中,该值用于指示响应于接收到命令要写入的数据样式的源;以及响应于接收到命令而基于由寄存器中的值指示的源将数据样式写入存储器。在一个实施例中,寄存器用于指示多个数据样式源中的一个,多个数据样式源包括全零的数据样式的源。在一个实施例中,多个数据样式源还包括全一的数据样式的源。在一个实施例中,多个数据样式源还包括存储器设备的数据锁存器,该数据锁存器存储根据先前命令锁存的数据样式。在一个实施例中,该方法还涉及在接收命令之前接收用于写入数据样式一次的第一命令,响应于接收到第一命令而将数据样式锁存在数据锁存器中,以及响应于接收到命令而写入数据锁存器根据第一命令锁存的数据样式。在一个实施例中,响应于寄存器中的值指示全零的样式要被写入,基于对与地相连的复用器输入端的选择而写入零。在一个实施例中,响应于寄存器中的值指示全一的样式要被写入,基于对与电压源耦合的复用器输入端的选择而写入一。在一个实施例中,响应于寄存器中的值指示锁存的数据样式要被写入,基于对与数据信号线耦合的复用器输入端的选择而写入锁存的数据样式。在一个实施例中,该方法还涉及基于与先前接收的命令相关联的先前接收的地址信息来计算用于写入数据样式的地址。
在一个实施例中,一种方法涉及:生成用于使得数据样式被写入存储器的命令,其中,要被写入的数据样式的源是基于寄存器的;生成用于对寄存器进行编程以指示响应于接收到命令要被写入的数据样式的源的命令;发送用于对寄存器进行编程的命令;以及发送用于使得数据样式被写入的命令。在一个实施例中,寄存器用于指示多个数据样式源中的一个,多个数据样式源包括全零、全一或存储器设备的数据锁存器的样式的源,该数据锁存器用于存储根据先前命令锁存的数据样式。在一个实施例中,该方法涉及不随着用于使得数据样式被写入的命令通过数据总线发送数据样式。在一个实施例中,该方法还涉及在发送用于使得数据样式被写入存储器的命令之前,发送用于写入数据样式一次的第一命令。
本文描述的各种组件可以是用于执行所描述的操作或功能的单元。本文描述的每个组件包括软件、硬件或软件和硬件的组合。这些组件可以实现为软件模块、硬件模块、特定用途的硬件(例如,专用硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路等。
除了本文描述的内容之外,可以对所公开的本发明的实施例和实现方式进行各种修改而不脱离其范围。因此,本文的图示和示例应被解释为说明性的而非限制性的意义。应仅通过参考所附权利要求来衡量本发明的范围。

Claims (20)

1.一种存储器设备,包括:
输入/输出(I/O)电路,其用于:
从存储器控制器接收写入数据样式的第一命令,以及
接收第二命令;
寄存器,其用于存储指示响应于接收到所述第二命令要写入的数据样式的源的值;以及
存取电路,其用于响应于接收到所述第二命令而基于所述寄存器中的指示所述源为所述存储器设备的数据信号线的值将根据所述第一命令锁存的数据样式写入存储器,所述数据信号线与所述存储器设备和所述存储器控制器之间的数据总线耦合。
2.如权利要求1所述的存储器设备,其中,所述寄存器用于指示多个数据样式源中的一个,所述多个数据样式源包括全零的数据样式的源。
3.如权利要求2所述的存储器设备,其中,所述多个数据样式源还包括全一的数据样式的源。
4.如权利要求1所述的存储器设备,其中:
所述存取电路用于将所述数据样式写入存储器而无需针对所述第二命令通过数据总线接收所述数据样式。
5.如权利要求1所述的存储器设备,其中:
所述存储器设备包括数据锁存器,所述数据锁存器用于响应于接收到所述第一命令而锁存所述数据样式;并且
其中,响应于接收到所述第二命令,所述存取电路用于写入由所述数据锁存器根据所述第一命令锁存的所述数据样式。
6.如权利要求1所述的存储器设备,其中:
其中,所述寄存器用于指示多个数据样式源中的一个;并且
所述存取电路包括复用器,所述复用器用于选择所述多个数据样式源中的一个。
7.如权利要求6所述的存储器设备,其中:
所述复用器包括:与地相连的输入端、与电压源耦合的输入端以及与数据信号线中的一条耦合的输入端。
8.如权利要求7所述的存储器设备,其中:
所述复用器的选择输入是基于所述寄存器中的所述值的;并且
其中,响应于所述寄存器中的所述值指示全零的样式要被写入,所述复用器用于基于对所述与地相连的输入端的选择而输出“0”。
9.如权利要求7所述的存储器设备,其中:
所述复用器的选择输入是基于所述寄存器的;并且
其中,响应于所述寄存器中的值指示全一的样式要被写入,所述复用器用于基于对所述与电压源耦合的输入端的选择而输出“1”。
10.如权利要求7所述的存储器设备,其中:
所述复用器的选择输入是基于所述寄存器的;并且
其中,响应于所述寄存器中的值指示所述源为所述存储器设备的数据信号线,所述复用器用于基于对与所述数据信号线中的一条耦合的输入端的选择而输出“0”或“1”。
11.如权利要求1所述的存储器设备,其中:
所述输入/输出电路用于接收不具有相关联的地址信息的第二命令;并且
其中,所述存取电路用于基于与所述第一命令相关联的地址信息来计算用于写入所述数据样式的地址。
12.如权利要求11所述的存储器设备,其中:所述存取电路包括计数器电路,所述计数器电路用于基于与所述第一命令相关联的列地址来确定用于写入所述数据样式的列地址。
13.一种存储器控制器,包括:
命令电路,其用于:
生成将数据样式写入存储器设备的第一命令;
生成第二命令,其中,响应于所述第二命令要被写入的所述数据样式的源是基于寄存器的,并且
生成用于对所述寄存器进行编程以指示响应于接收到所述第二命令要被写入的所述数据样式的源的第三命令;以及
输入/输出(I/O)电路,其用于:
将所述第三命令发送至所述存储器设备以对所述寄存器进行编程,
发送写入所述数据样式的第一命令;并且
发送所述第二命令以使得基于所述寄存器中的指示所述源为所述存储器设备的数据信号线的值将根据所述第一命令的数据样式写入,所述数据信号线与所述存储器设备和所述存储器控制器之间的数据总线耦合。
14.如权利要求13所述的存储器控制器,其中,所述命令电路用于对所述寄存器进行编程以指示多个数据样式源中的哪一个要被写入,所述多个数据样式源包括全零的数据样式的源。
15.如权利要求14所述的存储器控制器,其中,所述多个数据样式源还包括全一的样式的源。
16.如权利要求14所述的存储器控制器,其中,所述多个数据样式源还包括所述存储器设备的数据信号线。
17.如权利要求13所述的存储器控制器,其中:
所述输入/输出电路用于发送所述第二命令而无需针对所述第二命令通过数据总线发送所述数据样式。
18.一种存储器系统,包括:
处理器;以及
存储器设备,其与所述处理器通信地耦合,所述存储器设备包括:
输入/输出(I/O)电路,其用于:
从存储器控制器接收写入数据样式的第一命令,以及
接收第二命令;
寄存器,其用于存储指示响应于接收到所述第二命令要写入的数据样式的源的值;以及
存取电路,其用于响应于接收到所述第二命令而基于所述寄存器中指示所述源为所述存储器设备的数据信号线的值将根据所述第一命令锁存的数据样式写入存储器,所述数据信号线与所述存储器设备和所述存储器控制器之间的数据总线耦合。
19.如权利要求18所述的系统,还包括:
存储器控制器,其与所述处理器通信地耦合,其中,所述存储器控制器包括:
命令电路,其用于:
生成将数据样式写入存储器设备的第一命令;
生成第二命令,以及
生成用于对所述寄存器进行编程以指示响应于接收到所述第二命令要被写入的所述数据样式的源的第三命令;以及
输入/输出(I/O)电路,其用于:
将所述第三命令发送至所述存储器设备以对所述寄存器进行编程,
发送写入所述数据样式的第一命令;并且
发送所述第二命令以使得基于所述寄存器中的指示所述源为所述存储器设备的数据信号线的值将根据所述第一命令的数据样式写入到所述存储器设备,所述数据信号线与所述存储器设备和所述存储器控制器之间的数据总线耦合。
20.如权利要求18所述的系统,还包括:
通信地耦合到所述处理器的显示器、通信地耦合到所述处理器的网络接口或者耦合以向所述系统提供电力的电池中的任一个。
CN201780072822.2A 2016-12-27 2017-11-07 用于重复写入存储器的可编程数据样式 Active CN110023914B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/391,684 2016-12-27
US15/391,684 US10490239B2 (en) 2016-12-27 2016-12-27 Programmable data pattern for repeated writes to memory
PCT/US2017/060448 WO2018125385A1 (en) 2016-12-27 2017-11-07 Programmable data pattern for repeated writes to memory

Publications (2)

Publication Number Publication Date
CN110023914A CN110023914A (zh) 2019-07-16
CN110023914B true CN110023914B (zh) 2023-06-02

Family

ID=62625582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780072822.2A Active CN110023914B (zh) 2016-12-27 2017-11-07 用于重复写入存储器的可编程数据样式

Country Status (4)

Country Link
US (1) US10490239B2 (zh)
CN (1) CN110023914B (zh)
DE (1) DE112017006599T5 (zh)
WO (1) WO2018125385A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10249351B2 (en) 2016-11-06 2019-04-02 Intel Corporation Memory device with flexible internal data write control circuitry
US10566038B2 (en) 2017-05-29 2020-02-18 Samsung Electronics Co., Ltd. Method of controlling on-die termination and system performing the same
US10346244B2 (en) 2017-08-10 2019-07-09 Micron Technology, Inc. Shared address counters for multiple modes of operation in a memory device
US10672496B2 (en) * 2017-10-24 2020-06-02 Micron Technology, Inc. Devices and methods to write background data patterns in memory devices
US10824503B2 (en) * 2017-11-14 2020-11-03 Micron Technology, Inc. Systems and methods for performing a write pattern in memory devices
US10825491B2 (en) 2017-12-11 2020-11-03 Micron Technology, Inc. Systems and methods for writing zeros to a memory array
US10402116B2 (en) 2017-12-11 2019-09-03 Micron Technology, Inc. Systems and methods for writing zeros to a memory array
US10795830B2 (en) * 2018-07-20 2020-10-06 Qualcomm Incorporated Write access control for double data rate write-x/datacopy0 commands
US10726905B2 (en) * 2018-09-21 2020-07-28 Micron Technology, Inc. Memory device with improved writing features
US11360704B2 (en) * 2018-12-21 2022-06-14 Micron Technology, Inc. Multiplexed signal development in a memory device
KR20200078994A (ko) * 2018-12-24 2020-07-02 에스케이하이닉스 주식회사 터미네이션을 수행하는 반도체 장치 및 이를 포함하는 반도체 시스템
US11307791B2 (en) 2019-05-24 2022-04-19 Texas Instruments Incorporated Quick clearing of registers
US11036432B2 (en) * 2019-07-09 2021-06-15 Micron Technology, Inc. Low power mode for a memory device
US11327867B2 (en) * 2020-10-09 2022-05-10 Micron Technology, Inc. On-die logic analyzer
US11914532B2 (en) * 2021-08-31 2024-02-27 Apple Inc. Memory device bandwidth optimization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0194434A (ja) * 1987-10-06 1989-04-13 Nec Corp マイクロプログラム制御回路
CN101075482A (zh) * 2006-05-19 2007-11-21 富士通株式会社 半导体存储器及其测试方法
JP2009187669A (ja) * 2009-05-28 2009-08-20 Elpida Memory Inc 半導体記憶装置
CN106126447A (zh) * 2015-05-07 2016-11-16 三星电子株式会社 控制存储装置的方法、存储器模块和存储系统

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381368A (en) 1993-12-10 1995-01-10 Micron Semiconductor, Inc. Hardware implemented row copy enable mode for DRAMS to create repetitive backgrounds for video images or DRAM testing
US5625601A (en) 1994-04-11 1997-04-29 Mosaid Technologies Incorporated DRAM page copy method
US5440517A (en) 1994-08-15 1995-08-08 Micron Technology, Inc. DRAMs having on-chip row copy circuits for use in testing and video imaging and method for operating same
US5835436A (en) 1995-07-03 1998-11-10 Mitsubishi Denki Kabushiki Kaisha Dynamic type semiconductor memory device capable of transferring data between array blocks at high speed
JPH09288888A (ja) 1996-04-22 1997-11-04 Mitsubishi Electric Corp 半導体記憶装置
TW349196B (en) 1996-10-18 1999-01-01 Ibm Cached synchronous DRAM architecture having a mode register programmable cache policy
EP0935252B1 (en) 1996-10-28 2004-04-21 Mitsubishi Denki Kabushiki Kaisha Memory integrated circuit device with structure compatible with logic
KR100234714B1 (ko) 1996-12-30 1999-12-15 김영환 페이지 카피 모드를 갖는 디램
JPH10302459A (ja) 1997-04-28 1998-11-13 Mitsubishi Electric Corp 半導体記憶装置
JP2000067577A (ja) 1998-06-10 2000-03-03 Mitsubishi Electric Corp 同期型半導体記憶装置
JP3765931B2 (ja) 1998-10-15 2006-04-12 富士通株式会社 バッファ制御方法及びバッファ制御装置
JP4748828B2 (ja) 1999-06-22 2011-08-17 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP3457611B2 (ja) 2000-02-16 2003-10-20 日本電気株式会社 半導体記憶装置
JP4707244B2 (ja) 2000-03-30 2011-06-22 ルネサスエレクトロニクス株式会社 半導体記憶装置および半導体装置
WO2003036850A1 (en) 2001-10-22 2003-05-01 Rambus Inc. Phase adjustment apparatus and method for a memory device signaling system
KR100609038B1 (ko) 2004-05-06 2006-08-09 주식회사 하이닉스반도체 직렬 입/출력 인터페이스를 가진 멀티-포트 메모리 소자
US7342835B2 (en) 2005-04-14 2008-03-11 Winbond Electronics Corp. Memory device with pre-fetch circuit and pre-fetch method
US20070011596A1 (en) 2005-06-22 2007-01-11 Jungwon Suh Parity check circuit to improve quality of memory device
JP5400262B2 (ja) 2005-12-28 2014-01-29 ピーエスフォー ルクスコ エスエイアールエル 半導体装置
US7596039B2 (en) 2007-02-14 2009-09-29 Micron Technology, Inc. Input-output line sense amplifier having adjustable output drive capability
JP5063337B2 (ja) 2007-12-27 2012-10-31 株式会社日立製作所 半導体装置
US8205138B2 (en) 2008-08-07 2012-06-19 International Business Machines Corporation Memory controller for reducing time to initialize main memory
US8134852B2 (en) 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
JP2010140579A (ja) 2008-12-15 2010-06-24 Elpida Memory Inc 半導体記憶装置
US8386736B2 (en) 2008-12-18 2013-02-26 Spansion Llc Rapid memory buffer write storage system and method
JP2010152962A (ja) 2008-12-24 2010-07-08 Toshiba Corp 半導体記憶装置
KR20110004164A (ko) 2009-07-07 2011-01-13 삼성전자주식회사 반도체 메모리 장치
US9001607B2 (en) 2009-08-19 2015-04-07 Samsung Electronics Co., Ltd. Method and design for high performance non-volatile memory
US9881099B2 (en) 2010-05-24 2018-01-30 International Business Machines Corporation System, method and computer program product for data transfer management
US9418016B2 (en) 2010-12-21 2016-08-16 Intel Corporation Method and apparatus for optimizing the usage of cache memories
KR101970712B1 (ko) 2012-08-23 2019-04-22 삼성전자주식회사 단말기의 데이터 이동장치 및 방법
KR102007364B1 (ko) 2012-08-28 2019-08-05 에스케이하이닉스 주식회사 반도체 메모리 장치
US9098400B2 (en) 2012-10-31 2015-08-04 International Business Machines Corporation Dynamic tuning of internal parameters for solid-state disk based on workload access patterns
KR102067029B1 (ko) 2012-12-13 2020-01-16 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
US20140177347A1 (en) 2012-12-20 2014-06-26 Advanced Micro Devices, Inc. Inter-row data transfer in memory devices
US9489997B2 (en) 2013-07-03 2016-11-08 Crossbar, Inc. Hardware assisted meta data lookup
US9443614B2 (en) 2013-12-30 2016-09-13 Qualcomm Incorporated Data pattern generation for I/O testing
US9418752B2 (en) 2014-03-27 2016-08-16 Intel Corporation Ramping inhibit voltage during memory programming
US9922695B2 (en) 2015-03-25 2018-03-20 Intel Corporation Apparatus and method for page copying within sections of a memory
US9805802B2 (en) 2015-09-14 2017-10-31 Samsung Electronics Co., Ltd. Memory device, memory module, and memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0194434A (ja) * 1987-10-06 1989-04-13 Nec Corp マイクロプログラム制御回路
CN101075482A (zh) * 2006-05-19 2007-11-21 富士通株式会社 半导体存储器及其测试方法
JP2009187669A (ja) * 2009-05-28 2009-08-20 Elpida Memory Inc 半導体記憶装置
CN106126447A (zh) * 2015-05-07 2016-11-16 三星电子株式会社 控制存储装置的方法、存储器模块和存储系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"PMSS: A programmable memory system and scheduler for complex memory patterns";Tassadaq Hussain等;《Journal of Parallel and Distributed Computing》;20141031;第74卷(第10期);第2983-2993页 *
"基于FPGA的SDRAM控制器设计";周昆正等;《现代电子技术》;20030731(第13期);第63-65、77页 *

Also Published As

Publication number Publication date
US10490239B2 (en) 2019-11-26
US20180181344A1 (en) 2018-06-28
WO2018125385A1 (en) 2018-07-05
DE112017006599T5 (de) 2019-10-02
CN110023914A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN110023914B (zh) 用于重复写入存储器的可编程数据样式
US10755753B2 (en) Memory device with flexible internal data write control circuitry
US10636476B2 (en) Row hammer mitigation with randomization of target row selection
CN109074851B (zh) 利用额外系统位的内部错误校验和校正(ecc)
TWI721003B (zh) 記憶體裝置及用於記憶體管理的系統
CN107924698B (zh) Dram设备、错误校正管理的方法和存储器控制器
US10679698B2 (en) Memory preset adjustment based on adaptive calibration
CN109582596B (zh) 从具有不同读取和写入定时的模式寄存器进行读取
US11989106B2 (en) Inline buffer for in-memory post package repair (PPR)
US10621121B2 (en) Measurement and optimization of command signal timing margins
CN115798538A (zh) 针对存储设备识别和功率管理控制应用片选
CN109661654B (zh) 存储器中的差错校验和纠正码的扩展应用
US10599206B2 (en) Techniques to change a mode of operation for a memory device
US11314589B2 (en) Read retry to selectively disable on-die ECC
EP3314446A1 (en) Internal consecutive row access for long burst length
US11704194B2 (en) Memory wordline isolation for improvement in reliability, availability, and scalability (RAS)
US9953694B2 (en) Memory controller-controlled refresh abort
US20180121123A1 (en) Efficiently training memory device chip select control
US11200113B2 (en) Auto-increment write count for nonvolatile memory
CN113434330A (zh) 行可寻址且列可寻址的存储器中的动态数据的错误纠正
CN117099075A (zh) 针对长突发长度的存储器数据传送的双倍取得

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200825

Address after: Tokyo, Japan

Applicant after: Sony Corp.

Address before: California, USA

Applicant before: INTEL Corp.

GR01 Patent grant
GR01 Patent grant