CN104981872A - 存储系统 - Google Patents

存储系统 Download PDF

Info

Publication number
CN104981872A
CN104981872A CN201380073070.3A CN201380073070A CN104981872A CN 104981872 A CN104981872 A CN 104981872A CN 201380073070 A CN201380073070 A CN 201380073070A CN 104981872 A CN104981872 A CN 104981872A
Authority
CN
China
Prior art keywords
memory module
equipment
bus
order
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.)
Granted
Application number
CN201380073070.3A
Other languages
English (en)
Other versions
CN104981872B (zh
Inventor
B.奈尔
J.C.贾斯珀
J.V.洛夫莱斯
M.K.纳基穆图
J.朱
T.M.夸赫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN104981872A publication Critical patent/CN104981872A/zh
Application granted granted Critical
Publication of CN104981872B publication Critical patent/CN104981872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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
    • G06F12/023Free address space management
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • 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
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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/1694Configuration of memory controller to different memory types
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • 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
    • 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
    • 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/0683Plurality of storage devices
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • 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/1003Interface circuits for daisy chain or ring bus memory arrangements
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • 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/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/253Centralized memory
    • G06F2212/2532Centralized memory comprising a plurality of modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Abstract

提供了一种在经由总线耦合到主机存储器控制器的存储模块中使用的设备,包括:存储模块控制逻辑,其用来生成具有大于或等于最小脉冲宽度的脉冲宽度的至主机存储器控制器的请求信号,其中所述最小脉冲宽度包括保证所述主机储存器控制器检测所述请求信号所需的多个时钟周期,以及其中所述请求信号的脉冲宽度指示除了至所述主机存储器控制器的请求信号之外的至少一个功能。

Description

存储系统
技术领域
本文所描述的实施例大体涉及存储系统,在该存储系统中主机存储器控制器在单个通道或总线上与具有与耦合到通道和主机存储器控制器的插槽兼容的引脚布局的多个存储模块通信。主机存储器控制器支持由耦合到通道的多个存储模块所使用的协议,诸如双倍数据速率第三代(Double Data Rate Third Generation, DDR3)协议。如果诸如双列直插式存储模块(Dual In-Line Memory Module, DIMM)之类的存储模块具有不同的定时用于在总线上输出数据,诸如具有不同类型的DIMM的情况,则主机存储器控制器必须在不同的耦合DIMM之中为那些定时差进行调整。主机存储器控制器可以传送单周期命令。
背景技术
在使用总线之前,主机存储器控制器必须配置存储模块用于操作。在DDR3协议中,主机存储器控制器可以使用模式寄存器设定(Mode Register Set, MRS)命令在存储模块封装上的存储器芯片中对多达八个模式寄存器进行编程,其中所述存储器芯片诸如动态随机存取存储器(Dynamic Random Access Memory, DRAM)芯片。MRS命令标识存储器芯片上的模式寄存器并且包括指示是否反转数据的反转比特(inversion bit)。在训练了总线之后,主机存储器控制器于是可以使用总线用于读取和写入命令以及传递数据。
命令可以每命令每通路一比特地被发送。在正常定时模式期间,例如1N定时,在命令周期上将芯片选择信号放在总线上以促使所选择的存储模块接受该命令。在高速操作期间,诸如在2N定时期间,主机存储器控制器在命令之前一个时钟周期将芯片选择信号放在总线上以允许附加的设置时间。
时钟使能信号可以被用于管理存储模块中的内部时钟信号。时钟使能(clock enable, CKE)高信号激活内部时钟信号并且贯穿读取和写入访问被维持为高的。至存储模块的CKE低信号去激活内部时钟信号、设备输入缓冲器和输出驱动器。采取CKE低信号功率下降和刷新操作。
当从主机存储器控制器向存储模块传送写入时,在存储模块处的写入可以被直接写入到存储器芯片。然而,在具有写入缓冲器的存储模块中,可以实施信用系统,其中主机存储器控制器被分配最大数目的写入信用并且如果不存在可用的写入信用,就不能发送写入命令。写入信用在发送写入命令时递减。当完成每个写入时存储模块将经由总线发送消息以将信用返回给主机存储器控制器,这在接收到该消息时使写入信用计数器递增。
为了避免当发送读取和写入请求时传送令人烦恼的模式,当前的主机存储器控制器可以对数据加扰以降低重复地产生可以在总线上引起错误的令人烦恼的模式的可能性。在接收到具有写入地址的加扰写入数据时,存储模块在写入地址处存储加扰写入数据。响应于读取请求,将加扰数据进行存储并且经由总线发送给主机存储器控制器以进行解扰和使用。
附图说明
举例来说参考未按比例绘制的附图来描述实施例,其中,同样的附图标记指的是相似的元件。
图1图示具有存储系统的系统的实施例。
图2图示存储模块的实施例。
图3图示存储系统的引脚输出(pin-out)设计的实施例。
图4是用来生成和处理对功能进行编码的请求信号的操作的实施例。
图5图示用来在存储模块中确定定时调整以供输出的操作的实施例。
图6图示模式寄存器设定(MRS)命令的实施例。
图7图示用于生成和处理MRS命令的操作的实施例。
图8和9提供用于以两部分输出命令的定时图表。
图10和11图示用于生成和接受在多个时钟周期上发送的命令的操作的实施例。
图12图示用来指示至存储模块控制器的所支持的接口配置的操作的实施例。
图13图示针对存储模块控制器基于所支持的接口配置使用地址比特的操作的实施例。
图14图示用来使用命令来指示功率管理操作的操作的实施例。
图15图示用来使用写入信用来发送写入命令并且将写入信用返回给主机存储器控制器的操作的实施例。
图16图示用来生成带有写入信用计数器的读取数据分组的操作的实施例。
图17图示用来处理读取数据分组的操作的实施例。
图18图示用来使用错误信号处理错误操作流的操作的实施例。
图19图示用来处理写入错误的操作的实施例。
图20图示用来对经由总线传输的数据进行加扰和解扰的操作的实施例。
图21图示用来对存储模块中的写入数据进行解扰的操作的实施例。
图22图示用来设定指示总线接口配置的参数的操作的实施例。
图23图示用来选择总线接口配置以处理传递请求的操作的实施例。
具体实施方式
在以下描述中阐述了诸如逻辑实现方式、操作码、规定操作数的装置、资源分区/共享/复制实现方式、系统部件的类型和相互关系、以及逻辑分区/集成选择的众多具体细节以便提供本发明的更透彻的理解。然而,由本领域技术人员将意识到的是,本发明可以在没有这样的具体细节的情况下予以实践。在其它情况中,未详细示出控制结构、门级电路和全软件指令序列以便不使本发明模糊。本领域普通技术人员利用所包括的描述将能够在没有过度实验的情况下实现适当的功能性。
本说明书中引用“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可能未必都包括该特定特征、结构或特性。而且,这样的措词未必指的是相同的实施例。
在以下的描述和权利要求书中,可以使用术语“耦合”和“连接”连同它们的衍生体。应当理解这些术语并不意图作为彼此的同义词。“耦合”被用来指示两个或更多个元件彼此协作或交互,其中所述两个或更多个元件可以或者可以不与彼此直接物理或电气接触。“连接”被用来指示彼此耦合的两个或更多个元件之间的通信的建立。某些实施例涉及存储器件电子装配。实施例包括用于形成电子装配的设备和方法两者。
图1图示计算系统2的实施例,所述计算系统2包括典型地安装在母板上的一个或更多个处理器4、主机存储器控制器6和多个存储模块8a、8b。处理器4可以包括中央处理单元、多核处理器。主机存储器控制器6响应于来自处理器4的存储器存取请求经由总线10与多个存储模块8a、8b通信,所述总线10还称为通道、总线接口等,其中两个存储模块8a、8b单独且独立地连接到相同的总线10。主机存储器控制器6可以包括:请求计数器7,其中当接收到用于准予的请求信号时,使所述请求计数器递增,以便当后来基于在请求计数器7中所指示的请求数目发出准予时使用;写入信用计数器9,其指示允许写入请求被发送到存储模块8a、8b之一的信用数目;以及加扰种子值11,其被用来对来自存储模块8a、8b之一的读取请求数据进行解扰。
在图1的实施例中,存储模块8a、8b安装在系统2母板上的插槽或存储器插口中。存储模块8a、8b可以包括相同或不同类型的存储模块,它们具有与母板上的存储器插槽中的引脚布置兼容的引脚布置。此外,存储模块可以支持相同或不同的存储器协议,诸如双倍数据速率第四代(Double Data Rate Fourth Generation, DDR4)协议和附加协议。尽管仅示出了两个存储模块8a、8b,但是可以存在多个存储模块。
存储模块8a、8b中的每一个包括分别在该存储模块的一侧或两侧上的存储器芯片12a、14a、16a、18a以及12b、14b、16b、18b用于存储数据。位于存储模块8a、8b封装的一侧或两侧上的存储器芯片,例如DRAM芯片,包括存储由处理器4使用的数据的存储元件。
每个存储模块8a、8b可以包括存储模块控制器20a、20b,用于与主机存储器控制器6协调存储器管理和访问操作。主机存储器控制器6包括逻辑,用于相对于连接到总线10的存储模块8a、8b管理读取和写入操作和存储器管理操作以及使处理器4与存储模块8a、8b连系(interface)。主机存储器控制器6可以与处理器4集成或者以与系统2母板上的处理器4分开的逻辑来实现。
系统2母板可以包括与不同类型的存储器芯片兼容的存储器插口,用以只要不同类型的存储模块8a、8b与存储器插口中的引脚架构兼容,就允许支持不同类型存储器件的不同类型存储模块8a、8b支持不同的存储器协议。
在一个实施例中,存储模块8a、8b可以包括相同或不同类型的动态随机存取存储器(DRAM)。在一个实施例中,存储模块8a、8b可以包括双列直插式存储模块(DIMM),诸如无缓冲DIMM(UDIMM)、负载减少的双列直插式存储模块(Load Reduced Dual In-Line Memory Module, LRDIMM)、小轮廓双列直插式存储模块(Small Outline Dual In-Line Memory Module, SODIMM)等等。存储模块8a、8b可以实现各种形式的存储器,包括但不限于NAND(闪速)存储器、铁电随机存取存储器(FeTRAM)、基于纳米线的非易失性存储器、诸如相变存储器(PCM)之类的三维(3D)交叉点存储器、结合忆阻器技术的存储器、磁阻式随机存取存储器(MRAM)、自旋传输矩(Spin Transfer Torque, STT)-MRAM等等。
在某些实施例中,因为不同类型的存储模块8a、8b可以被安装和连接到总线10,所以存储模块8a、8b可以支持不同的协议。例如,存储模块8a可以包括遵从双倍数据速率第四代(DDR4)静态DRAM(SDRAM)协议的DIMM类型,而存储模块8b可以使用不同的协议但是在相同的总线10上与使用DDR4协议的存储模块8a兼容。在存储模块8a、8b中还可以使用和实现替代的和不同的协议。
如果存储模块8a、8b支持不同的DRAM协议,则主机存储器控制器6被配置成经由总线10使用不同的协议进行通信,即特定于存储模块8a的第一协议、例如DDR4,以及特定于存储模块8b的第二存储器协议。至存储模块8a的读取和管理请求利用第一存储器协议来实现,而至第二存储模块8b的读取和管理请求使用第二存储器协议来实现。
图2提供如包括执行存储模块操作并且与主机存储器控制器6交互的存储模块控制器20的存储模块8的实施例的其它细节,其中存储模块8诸如存储模块8a、8b。在某些实现方式中,存储模块之一、例如8b,可以包括图2的存储模块,而另一存储模块、例如8a,可以不包括存储模块控制器20,诸如遵从DDR4标准的存储模块8a。在这样的实施例中,存储模块8a可以包括寄存器、诸如具有RDIMM的情况,或包括缓冲器、诸如具有LRDIMM的情况。
存储模块8可以包括:在具有可以使用模式寄存器设定(MRS)命令来配置的数据的存储模块控制器中的模式寄存器22;读取缓冲器24,用来响应于读取命令来缓冲被返回到主机存储器控制器6的读取数据;功率管理操作寄存器26,其指示功率管理操作用以执行;写入缓冲器28,用来在被写入到存储器芯片12、14、16、18之前对写入数据进行缓冲;写入信用计数器30,其指示用以返回到主机存储器控制器6的写入信用的数目;加扰种子值32,其被用来使经由总线10被传递到主机存储器控制器6的读取数据随机化;以及接口参数34,其标识总线10的所支持的接口配置。缓冲器和参数24、26、28、30、32和34可以在存储模块控制器20内实现或者在存储模块8中的存储模块控制器20外部的电路中实现。参数26、30、32和34中的某些参数可以在模式寄存器22中实现。
在某些实施例中,存储模块8a可以包括近存储器,其被配置为用于包括存储模块8b的远存储器的高速缓冲层。在这样的配置中,近存储模块8a应当具有使最频繁存取的系统存储器地址的存取时间降低的效果,其中特定的远存储模块8b被设计成高速缓存所述系统存储器地址。近存储器件可以被配置为用于其远存储器配对物的直接映射高速缓存器。
所描述的存储模块控制器20和主机存储器控制器6实施例可以在硬件逻辑来编码,诸如在专用集成电路(ASIC)、现场可编程门阵列(FPGA)等中来编码。
本发明的实施例的元件还可以被提供为用于存储机器可执行指令的机器可读媒介。机器可读媒介可以包括但不限于快闪速存储器、光盘、紧致磁盘-只读存储器(CD-ROM)、数字多用/视频盘(DVD)ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、传播媒介或适合于存储电子指令的其它类型的机器可读媒介。例如,本发明的实施例可以下载为计算机程序,其可以通过网络传输从远程计算机(例如,服务器)传递到请求计算机(例如,客户端)。
图3图示存储模块8a、8b上的引脚的布置,以及主机存储器控制器6、总线10线路和存储模块8a、8b,其中这样的引脚指定在下面描述或者在本领域中是已知的。
把功能编码在请求信号中
在某些实施例中,存储模块控制器20可以向主机存储器控制器6发送请求信号,例如REQ# 50,以指示对于主机存储器控制器6在读取缓冲器24中存在数据用以作为读取命令的一部分返回。请求信号可以包括图3的引脚输出简图中所示出的REQ#时钟使能(CKE)信号50。存储模块控制器18可以以最小脉冲宽度传输请求信号以保证由主机存储器控制器6检测,在某些实现方式中其可以包括两个时钟周期。存储模块控制器20此外还可以将附加功能编码到针对主机存储器控制器6的请求信号中用以执行。通过将附加功能编码在请求信号中,可以在一个信号中指示多个功能,以便使操作数目和在单个信号中传送的信息最大化。
图4图示由主机存储器控制器6和存储模块控制器20执行以使用请求信号将附加功能传送到主机存储器控制器6的操作的实施例。在发起用来生成请求信号的操作(在块100)时,其中所述请求信号可以是读取命令的一部分以将数据从读取缓冲器24传递回到主机存储器控制器6,存储模块控制器20确定(在块102)用来利用请求信号包括(include with)的功能,该功能可以指示主机存储器控制器6执行的附加功能,诸如特定错误条件或中断或其它功能。存储模块控制器20于是确定(在块104)用来指示或编码所确定的功能的脉冲宽度。例如,可以使用等于用以保证通过主机存储器控制器6检测请求信号的最小脉冲宽度的脉冲宽度来指示或编码第一功能,可以使用比最小脉冲宽度大的附加脉冲宽度来指示附加功能。例如,如果保证检测的最小脉冲宽度是两个时钟,则用于请求信号的该最小脉冲宽度可以指示一个功能,而6、10和14的脉冲宽度可以指示又一附加的不同功能。14的脉冲宽度可以指示灾难性故障。此外,用于请求信号的与不同功能相关联的脉冲宽度可以由最小数目个时钟周期分隔开,诸如在某些实施例中是三个周期,以保证通过主机存储器控制器6的脉冲宽度的恰当检测。存储模块控制器20生成(在块106)具有确定脉冲宽度的请求信号以便发送到主机存储器控制器6。
当在引脚50上检测到(在块108)具有最小或第一脉冲宽度(例如,2个时钟)的请求信号REQ0#时,主机存储器控制器6使请求计数器7递增(在块110),所述请求计数器7指示需要被发送到发送该请求信号的存储模块8b的准予信号的数目。在使请求计数器7递增之后,主机存储器控制器6可以等待直到总线10、即数据总线上的插槽可用于发出多个准予请求,使得在不同的随机时间成批地处理在请求计数器7中所指示的请求。在接收到准予信号时,存储模块控制器20将读取缓冲器24中的数据发送(在块112)到主机存储器控制器6,诸如响应于来自主机存储器控制器6的读取请求而聚集和缓冲的数据。
在确定请求信号50的最小或第一脉冲宽度之后,如果请求信号50(在块114)不继续超过所测量的最小脉冲宽度,则控制结束。否则,如果(在块116)所测量的请求信号不继续超过第二脉冲宽度,例如6个时钟,则主机存储器控制器6可以执行(在块118)与该第二脉冲宽度相关联的第二功能。否则,如果(在块120)请求信号50不继续超过所测量的第三脉冲宽度,例如10个时钟,则主机存储器控制器6可以执行(在块122)与该第三脉冲宽度相关联的第三功能。如果脉冲宽度继续并且第四脉冲宽度、例如14个时钟被测量(在块124),则主机存储器控制器6可以执行(在块126)灾难性故障处理以便主机存储器控制器6执行。
尽管所描述的实施例涉及针对请求信号的四个不同脉冲宽度的四个功能,但是在某些实现方式中可以存在由多于或少于四个脉冲宽度表示的多于或少于四个功能。此外,一个脉冲宽度可以指示多个功能的集合用以执行。
在图4的操作中,在确定出脉冲宽度不继续超过与那些附加功能相关联的脉冲宽度之后,仅处理超出原始请求准予功能的功能。在替代实施例中,在测量与每个附加功能相关联的脉冲宽度时,即使脉冲宽度继续超过该所测量的脉冲宽度,也可以执行该附加功能,因此,当脉冲宽度的测量结果延伸超过触发器脉冲宽度时,执行每个功能。
在图4的所描述的实施例的情况下,可以由存储模块控制器20,通过使用针对存储模块控制器的不同脉冲宽度将不同的功能编码到请求信号中,所述不同脉冲宽度可以由保证主机存储器控制器6检测到脉冲宽度的最小数目时钟分隔开。这样,在单个请求信号中,存储模块控制器20可以用信号通知请求信号,诸如用来返回来自读取缓冲器24的数据的请求,以及多个不同功能之一。
基于与第二存储模块的部件差异调整来自第一存储模块的输出的定时以匹配来自第二存储模块的定时
在某些实现方式中,存储模块8a和8b可以包括具有不同部件的不同类型存储模块。例如,存储模块8a可以包括或可以不包括在存储模块8b中未包括的寄存器和数据缓冲器,反之亦然,以及存储模块8a、8b可以支持不同的存储器协议。所描述的实施例提供用于一个存储模块(诸如8b)的技术,来调整其定时以匹配另一存储模块(例如8a)的定时,使得主机存储器控制器6不必针对来自不同存储模块(诸如不同类型的DIMM)的不同定时进行调整。通过使存储模块控制器20a、20b处理定时调整,避免了在主机存储器控制器处的过多回转周期和性能损失。
图5图示由存储模块控制器20、诸如存储模块控制器20b执行以基于与总线10上的其它存储模块8a、8b的部件差异来调整输出的定时的操作的实施例。在发起(在块200)用来从数据缓冲器24输出数据的操作时,存储模块控制器20b基于在通道上存储模块8a、8b的至少一个中的至少一个部件来确定(在块202)定时调整。块204-208提供用来确定定时调整的操作的实施例。存储模块控制器20b可以响应于具有影响输出的定时的至少一个部件(其不包括在其它第二存储模块8a中)的第一存储模块8b来使定时加速(在块204)。此外,可以响应于总线10上的具有影响在第二存储模块8b处的输出的定时的至少一个部件(其不包括在第一存储模块8b中)的其它第二存储模块8a来将延迟添加到(在块206)定时。
存储模块控制器20b于是可以根据定时的任何添加的延迟或加速确定(在块208)净(net)定时调整。存储模块控制器20b基于所确定的定时调整对从数据缓冲器24至主机存储器控制器6的输出的定时进行调整(在块210),以匹配在第二存储模块8a处的输出的定时。
例如,如果包括执行计算的控制器8b的存储模块8b包括在其它存储模块8a中未发现的数据缓冲器24,则定时调整可以包括当其它第二存储模块8a不包括诸如在第一存储模块8b中所包括的数据缓冲器时使输出的定时加速。在另一实现方式中,如果其它存储模块8a具有未包括在执行计算的存储模块8b中的寄存器,诸如具有RDIMM的情况,则定时调整包括使输出的定时延迟以适应其它存储模块8a中的未包括在进行计算的存储模块8b中的寄存器。如果针对数据缓冲器24的定时的加速大于针对其它存储模块8a中的寄存器所添加的延迟,则净定时调整会包括定时的加速。同样地,如果所添加的延迟大于加速,则净调整会包括向定时添加延迟。如果进行计算的存储模块8b不包括在其它存储模块中所包括的寄存器或数据缓冲器24,诸如如果其它存储模块8a是RDIMM和LRDIMM,则存储模块控制器20b可以使定时延迟,以便说明由其它存储模块8a中的附加部件引起的延迟。
存储模块8a、8b在至总线10的其命令、地址和控制总线上可以具有不同类型的部件,如果它们包括不同类型的DIMM的话,诸如UDIMM、RDIMM和LRDIMM。
在某些所描述的实施例中,对定时进行调整所针对的输出包括总线10中的数据总线上的数据从数据缓冲器24的输出。在替代实施例中,调整的输出信号可以包括除了数据输出之外的输出。
尽管相对于执行定时调整的一个存储模块描述了操作,但是总线10上的一个或多个存储模块8a、8b可以执行图5的定时调整。
在所描述的定时调整的情况下,存储模块控制器20b可以调整其输出的定时,诸如来自数据缓冲器24的输出,以匹配用于类似类型输出的来自其它存储模块8a的定时,使得主机存储器控制器6不需要执行任何定时调整来适应总线10上不同存储模块8a、8b的不同配置。
在模式寄存器设定(MRS)命令中对寄存器的使用进行编码
存储模块控制器20可以包括模式寄存器22。在某些实施例中,存储模块控制器20b可以实施与在其它控制器8a中所使用的第二存储器协议(诸如DDR 4)不同的第一协议。然而,存储模块控制器20b可以支持来自其它存储模块8a的第二协议(诸如DDR4)的某些命令,诸如模式寄存器设定(MRS)命令,还为了与实施第一存储器协议的存储模块控制器20a所使用的不同的目的而使用命令。
图6图示MRS命令250的实施例,其可以或可以不包括来自另一存储器协议(诸如DDR4)的MRS字段。命令250规定了指示MRS操作的操作代码252。地址寄存器A0-A13可以被用来为存储模块控制器20中的模式寄存器22之一提供数据,并且寄存器比特254指示用以将地址A0-A13中的数据写入到的模式寄存器22。例如,如果存在16个模式寄存器22,则四个寄存器比特254,诸如BA0、BA1、BG0、BG1,可以指示存储模块控制器20中的16个模式寄存器22之一来使用。
在一个实施例中,MRS命令250可以包括单周期命令,其可以被用来在针对总线操作训练总线10之前向存储模块8提供配置参数,所述总线操作诸如可以包括两个周期命令的读取和写入操作。这样,MRS命令250使用地址输入信号A0-A17,它们在图3的引脚输出设计中被示出为线52,以及使用命令输入信号BG1:0和BA1:0,它们在图3的引脚输出设计中被分别示出为线54和56。在某些实施例中,地址输入信号A14-16包含MRS命令操作代码。
图7图示由主机存储器控制器6和存储模块控制器20执行以对存储模块控制器20中的模式寄存器22进行编程的操作的实施例。在初始化期间,诸如在针对读取和写入操作训练总线10之前,这可以包括以两个时钟发送的命令,主机存储器控制器6可以生成(在块280)和发送MRS命令250,以指示存储模块控制器20中的模式寄存器22用包括在地址字段A13:0中的数据进行配置,该MRS命令250可以在一个时钟周期上被发送。
存储模块控制器20接收(在块282)MRS命令250以及确定(在块284)在线34和35上的寄存器比特254中所指示的模式寄存器22(图3)。 存储模块控制器20于是将在地址比特A0:A13中所提供的数据写入(在块286)到所确定的模式寄存器22中。
主机存储器控制器6此外还可以使用根据DDR4协议的MRS命令250以发送到实施DDR4协议的存储模块、例如存储模块8a,以便对存储器芯片12a、14a、16a、18a之一上的八模式寄存器之一进行编程,其中,寄存器比特BA0、BA1、BG0标识存储器芯片中的模式寄存器,以及比特BG1指示是否比特被反转。这样,主机存储器控制器6可以针对实施不同存储器协议的存储器控制器20a、20b使用相同的MRS命令,以根据不同的协议引起不同的操作。例如,当MRS命令250被用于支持DDR4的存储模块8a时,MRS命令250将数据写入存储器芯片12a、14a、16a、18a之一中的模式寄存器。当被用于具有存储模块控制器20中的模式寄存器22的存储模块8b时,MRS命令250将数据写入存储模块控制器20中的模式寄存器22,而不是DRAM芯片12、14、16、18。这样,主机存储器控制器6可以使用与支持不同的存储器协议(例如,DDR4和某其它协议)的存储模块相同的MRS命令格式。
当仅对于命令的第一半接收芯片选择信号时由存储模块接受命令的第二半
所描述的实施例提供对于存储模块接受采用多个部分、诸如采用两个半部的命令的技术,其中仅必须接受针对存储模块8的一个芯片选择信号使得存储模块8以自发送了命令的第一半时起的延迟间隔,自动接受命令的第二半。其它实施例提供用于当存储模块8a、8b正以与规则定时模式(例如1N定时)相对比较高的速度进行操作时用于结合延迟以便在高速定时模式、例如2N定时下自动地接受命令的第二半的技术。
在某些实施例中,命令占用每通路两个比特并且在背靠背时钟(back-to-back clock)上被发送。这允许整个地址在一个命令中而不是在两个中被发送,诸如在一个命令中发送行和列信息。存储模块控制器20意识到通过对存储模块控制器20上的模式寄存器22进行编程的主机存储器控制器6的高速(2N)定时模式。
图8提供针对诸如读取命令的命令的规则定时模式(例如1N定时)的定时图表的实施例,所述命令以两部分被发送,其被示出为CMD0a、CMD0b、CMDla、CMDlb、CMD2a、CMD2b。对于第一存储模块8a,主机存储器控制器6可以在时钟周期300上将命令的第一半CMD0a和芯片选择信号S0# 302(在图3中也被示出为SO#线58)放在总线上。 第一存储模块8a在接收到芯片选择信号302时可以在周期300上接受命令的第一半CMD0a,以及此外还可以以自命令的第一半CMD0a起的延迟间隔(诸如在时钟周期304之后的一个时钟周期)自动地接受命令的第二半CMD0b。
主机存储器控制器6可以在时钟周期308上将命令CMD1的第一半CMD1a和芯片选择信号S2# 306(在图3中也被示出为S2#线60)放在总线上以选择第二存储模块8b。第二存储模块8b在接收到芯片选择信号306时可以在周期308接受命令的第一半CMD1a,以及此外还可以在周期310之后的一个时钟周期自动地接受命令的第二半CMD1b。
图9提供针对比规则定时高的速度的高速定时模式(例如2N定时)的定时图表的实施例,其中被示出为CMD0a、CMD0b、CMDla、CMDlb、CMD2a、CMD2b的每个命令的两个部分保持在总线10上达两个时钟周期。主机存储器控制器6可以在时钟周期320上把命令的第一半CMD0a放在总线上达两个周期,并且对于第一存储模块8a在时钟周期324上把芯片选择信号S0#322(在图3中也被示出为SO#线38)放置在总线上自把命令的第一半CMD0a放置在总线10上时起一个周期,因而在高速定时模式下使芯片选择信号延迟。第一存储模块8a在接收到芯片选择信号322时可以在时钟周期324接受命令的第一半CMD0a,以及此外还可以在时钟周期328的开始以延迟间隔(被示为自芯片选择信号322的两个时钟周期)自动地接受命令的第二半CMD0b。
主机存储器控制器6可以在周期330上放出命令的第一半CMD1a,以及对于第二存储模块8b,在周期332上之后的一个周期放出芯片选择信号S2# 332(在图3中也被示出为S2#线60)。第二存储模块8b在芯片选择信号332的时钟周期336上接受命令的第一半CMD1a,以及此外还可以在周期338之后的两个时钟周期自动读取命令的第二半CMD1b。这样,主机存储器控制器6在命令的第一半过半时使芯片信号延迟一个时钟周期,以及存储模块控制器20在读取命令的第一半之后使读取命令的第二半延迟两个周期。
图10图示针对在背对背周期上占用两个比特的命令的1N定时由主机存储器控制器6和存储模块控制器20执行的操作的实施例。主机存储器控制器6可以在初始化期间通过模式寄存器22中的比特对存储模块控制器20进行编程以便在1N定时模式下操作。当在规则定时模式1N下发起(在块350)两周期命令时,主机存储器控制器6在第一时钟周期内将命令的第一半(一个周期)放置(在块352)在总线10上。芯片选择命令也在第一时钟周期被放置(在块354)在总线10上。在存储模块控制器20检测到(在块356)针对当在规则定时模式下被编程时包括存储模块控制器20的特定存储模块8的芯片选择信号时,存储模块控制器20在第一时钟周期上在总线10上接受(在块358)命令的第一半。
此外,主机存储器控制器6在自第一时钟周期起的一个时钟周期的第二时钟周期中将命令的第二半(在背对背周期上自第一半起)放置(在块360)在总线10上。由芯片选择信号选择的存储模块8通过自接收到芯片选择信号和接受了命令的第一半时起等待一个周期延迟,在第二时钟周期上接受(在块362)总线10上的命令的第二半。存储模块控制器20可以在不要求芯片选择信号访问总线10的情况下自动接受总线10上的命令的第二半。
图11图示针对在背对背周期上占用两个比特的命令的高速定时模式(例如,2N)由主机存储器控制器6和存储模块控制器20执行的操作的实施例。存储模块控制器20可以在初始化期间通过模式寄存器22中的比特被编程以在高速定时模式下操作。当在高速定时模式下发起(在块380)两周期命令时,主机存储器控制器6在第一时钟周期内将命令的第一半(一个周期)放置在(在块382)总线10上。然后在第二时钟周期上将选择信号放置(在块384)在总线10上,其中所述第二时钟周期可以是自第一时钟周期起的一个时钟周期。这样,芯片选择信号可以以自放置了命令的第一半起的延迟(诸如一个时钟周期)地被放置在总线上。在存储模块控制器20当在高速定时模式下被编程时检测到(在块386)针对特定模块8的芯片选择信号时,存储模块控制器20以延迟地在第二时钟周期上接受(在块388)总线10上的命令的第一半。
此外,主机存储器控制器6在自第一时钟周期起两个周期的第三时钟周期中将命令的第二半(自第一半起的两个周期)放置(在块390)在总线10上。由芯片选择信号选择的存储模块8中的存储模块控制器20通过自接收到芯片选择信号和接受了命令的第一半时起等待两个周期延迟,在第四时钟周期上接受(在块392)总线10上的命令的第二半。存储模块控制器20可以在不等待总线10上的芯片选择信号的情况下自动接受命令的第二半。
所描述的实施例规定在高速定时模式(例如2N定时)下自发送命令的第一半起使芯片选择信号延迟一个时钟信号。此外,存储模块可以在芯片选择信号之后的两个时钟信号自动接受命令的第二半。在高速模式下,芯片选择信号的该延迟允许附加的设置时间。用于接受命令的第二半的延迟允许在不需要芯片选择信号的情况下自动接受命令。
在替代实施例中,芯片选择信号可以被放置在总线上以及命令的第二半可以以与所描述的一个时钟信号不同的间隔被接受。此外,在替代实施例中,命令可以包括两个以上的部分(例如,比特)和使用两个以上的时钟周期以及在不需要附加芯片选择信号用以接受的情况下,存储模块8a、8b可以以自芯片选择信号起的时钟信号延迟间隔自动接受命令的一个以上的附加部分。
确定如何设定存储模块中的高地址比特
存储模块控制器20可以被配置成在具有不同引脚和接口配置的存储模块8中操作,诸如具有比具有较少引脚的另一存储模块(诸如SO-DIMM)更多的引脚用于寻址的一个存储模块。具有较少寻址引脚的存储模块与具有可用于寻址的更多引脚的存储模块相比可以提供较小的地址空间。所支持的接口配置可以由于主机存储器控制器6和总线10的能力而变化,或者由于存储模块8的引脚和接口配置的能力而变化,其中存储模块8诸如是SO-DIMM或UDIMM。
对于这样的实施例,存储模块控制器20可以使用模式寄存器22之一来指示所支持的接口配置,诸如指示存储模块是否具有可用于高地址比特的引脚。在这样的情况中,如果存储模块控制器20在不具有可用于其它存储模块中的高地址比特的一个或更多个引脚的模块8中进行操作,则对于在该模块中不可用的那些高地址比特,存储模块控制器20会使用预定值,诸如0。这样,当不存在用于接收针对那些高地址比特的值的引脚时,存储模块控制器20为高地址比特假定值0。在一个实施例中,高地址比特可以包括图3的引脚输出简图中所示出的地址比特A17 52和比特C2:0 62。诸如SO-DIMM的某些存储模块可能不包括引脚52和62。
图12图示由存储模块控制器20执行用来配置用于寻址的设置的操作的实施例。主机存储器控制器6可以向存储模块8发送指示所支持的接口配置的MRS信号。在接收到(在块400)指示所支持的接口配置的MRS信号时,存储模块控制器20可以更新由MRS信号所寻址的模式寄存器22,以指示所支持的接口配置,其可以指示DIMM类型,例如SO-DIMM、UDIMM等或者指示接口支持什么,例如指示高地址比特被支持或者不被支持。在响应中,存储模块控制器20设定(在块402)指示接口配置的所寻址的模式寄存器22以指示所通信的接口配置,诸如指示是否支持高地址比特。
图13图示由存储模块控制器20执行用来使用较高级地址比特处理寻址的操作的实施例。在接收到(在块420)来自主机存储器控制器6的具有地址比特的命令时,存储模块控制器20根据模式寄存器22确定所支持的接口配置,该信息指示当前存储模块8是否支持以高地址比特寻址。如果(在块422)所支持的接口配置不支持高地址比特,例如存储模块8不具有引脚52和62,则将针对所接收的地址的至少一个高地址比特设定为预定值,即,当不存在用于高地址比特的引脚时将高地址比特假定为0。如果(在块422)模式寄存器22中所指示的所支持的接口配置指示高地址比特可用,则存储模块控制器20针对在至少一个高地址引脚52、62上接收的地址使用(在块426)至少一个高地址比特。
在替代实施例中,存储模块控制器20可以为除了在存储模块上不具有引脚的高地址比特之外的地址比特提供预定值。
所描述的实施例允许存储模块控制器在具有可用于寻址的不同引脚配置的存储模块内操作,用以为不具有用来提供高地址比特的引脚的存储模块配置提供高阶地址比特。这样,存储模块控制器可以被部署且在诸如SO-DIMM和UDIMM的存储模块中操作,并且提供针对两种接口配置的完全寻址能力。
为CKE低信号提供扩展操作
所描述的实施例提供技术,用以当存储模块控制器在CKE引脚(诸如在图3的引脚输出简图中所示出的引脚64或66)上检测到时钟使能(CKE)低信号时允许在存储模块8中对在稍后时间要执行的功率管理操作进行预配置。这在激活CKE低信号时允许执行扩展系列的功率管理操作,诸如以进入预定义的睡眠状态。
在接收到CKE低信号时,根据先前发送的预CKE命令,能够激活不同的可能睡眠状态。这样的所指示的状态可以包括在高级配置和电源接口(Advanced Configuration and Power Interface,“ACPI”)规范中所规定的那些,诸如对于存储模块8的待机、睡眠或挂起的S3状态,该存储模块以较低的电平保持被供电;存储模块8的内容被保存到非易失性存储器且存储模块8断电的S4休眠状态;以及S5状态,其中存储模块8断电,同时向功率供应单元提供最小功率量。内容所保存到的非易失性存储器可以以各种形式出现,包括但不限于NAND(闪速)存储器、铁电随机存取存储器(FeTRAM)、基于纳米线的非易失性存储器、诸如相变存储器(PCM)的三维(3D)交叉点存储器、结合忆阻器技术的存储器、磁阻式随机存取存储器(MRAM)、自旋传输矩(STT)-MRAM。
图14图示由主机存储器控制器6和存储模块控制器20执行以促进使用CKE低信号的功率管理操作的操作的实施例。为了发起改变功率管理模式的操作,诸如改变成各种识别的睡眠模式之一,主机存储器控制器6经由总线10向存储模块控制器20发送(在块500)预CKE命令,其指示一个或更多个功率管理操作。在一个实施例中,预CKE命令可以指示一个或更多个特定操作或提供表示一系列操作的代码。例如,预CKE命令可以指示功率管理状态,诸如系统状态或睡眠模式,例如ACPI睡眠模式状态的S3、S4和S5,其中存储模块控制器20可以将所述功率管理状态解释为一系列操作用以执行以实现该状态。
在接收到(在块502)预CKE命令时,存储模块控制器20设定功率管理操作寄存器26以指示预CKE命令中所指示的至少一个功率管理操作。在随后时间,当主机存储器控制器6想让存储模块8a、8b实现所指示的功率管理操作的状态改变时,主机存储器控制器6断言(在块506)CKE低信号56,例如在引脚64或66上为低(图2)。在检测到(在块508)CKE低信号时,存储模块控制器20确定(在块510)功率管理操作寄存器56是否指示操作用以执行,诸如指示睡眠模式状态或特定操作。如果无操作被指示,诸如零或缺省值,则存储模块控制器20可以执行(在块512)用于处理CKE低信号的缺省操作,诸如去激活内部时钟信号、预充电断电或自刷新操作。如果在寄存器26中指示操作或功率模式,则存储模块控制器20执行(在块514)在寄存器26中所指示的功率管理操作,以实现规定的功率管理状态,例如睡眠状态。
所描述的实施例提供用于配置存储模块控制器以在后续时间使用CKE低信号执行一系列功率管理操作的技术。在发送预CKE命令之后,主机存储器控制器6将断言CKE低信号用以响应于CKE低信号来触发与通常会被触发的相比更多的所涉及的功率管理操作以改变功率模式。在所描述的实施例的情况下,由于可以利用CKE低信号发起更多的所涉及的功率管理操作,诸如转变到睡眠模式,所以对于功率管理而言需要较少的信号。
提供用于写入命令的主机存储器控制器写入信用 所描述的实施例提供用以通过在返回的读取数据分组中包括写入信用来向主机存储器控制器6提供写入信用以使用用于发送写入命令来降低消耗总线上10的总线带宽的技术。
关于图1,主机存储器控制器6包括写入信用计数器9并且当写入信用计数器9具有正信用时将仅发送写入命令。当发送写入命令时使写入信用计数器9递减。对于每个存储模块8a、8b可以存在一个写入信用计数器9。存储模块8包括写入缓冲器28来缓冲所接收的写入数据,所述写入数据然后后来被降级到存储器芯片12、14、16、18中的存储元件中。存储模块控制器20具有写入信用计数器30,其指示用以返回到主机存储器控制器6的累积的写入信用。写入信用被用来调节写入缓冲器28的使用,因此主机存储器控制器6不发送写入数据以使写入缓冲器28溢出。
图15图示用于主机存储器控制器6和存储模块控制器20处理写入命令的操作的实施例。在生成写入命令时,主机存储器控制器6确定(在块602)写入信用计数器30是否大于0、非空。如果是这样,则向存储模块8发送(在块604)写入命令。如果(在块602)主机写入信用计数器9为空,则主机存储器控制器6等待直到信用可用于发送写入命令为止。
在接收到(在块610)写入命令时,存储模块控制器20将写入数据缓冲(在块612)在写入缓冲器30中。在使写入数据从写入缓冲器30降级(在块614)到存储器芯片12、14、16、18中的存储元件时,存储模块控制器20使写入信用计数器30递增,这指示信用返回到主机存储器控制器6以允许另一写入命令。如果(在块618)写入信用计数器30超过阈值,则存储模块控制器20生成(在块620)读取数据分组,其指示没有读取数据以及指示在写入信用计数器30中所指示的写入信用中的至少一个。将读取数据分组发送到(在块622)主机存储器控制器6以及将写入信用计数器30减少(在块624)所返回的信用数目。在某些实施例中,可以存在返回的有限数目个信用,因此写入信用计数器30可以或可以不减少至0。这样,如果在扩展的时间内不发送读取分组,则存储模块控制器20在没有数据的情况下发送读取数据分组来提供写入信用,因此主机存储器控制器8不缺乏写入信用并且不被阻止发送写入命令。在替代方案中,写入信用可以在除了读取数据分组之外的分组中返回。
图16图示由存储模块控制器20执行来生成读取数据分组以返回到主机存储器控制器4的操作的实施例。在生成(在块640)包括读取数据的读取数据分组以返回到来自主机存储器控制器6的读取请求时,如果(在块642)写入信用计数器30大于0,则存储模块控制器20在读取数据分组中指示(在块644)计数器30中的一些或所有的写入信用,以及向主机存储器控制器6发送(在块646)该读取数据分组。将写入信用计数器30减少(在块648)所返回的写入信用的数目,所述写入信用可以是或可以不是计数器30中的所有信用。这样,在读取数据分组中批处理写入信用以返回到主机存储器控制器6,因而优化用来传送信息的消息使用。由于存在固定的响应集,所以存储模块控制器20在一个分组中可以不指示所有的信用。例如,存储模块控制器20可能能够在读取分组中对于用以返回的写入信用数目指示0、1或4,或者如果在没有读取数据的情况下正返回写入信用(在图15中的块620)则对于非数据分组指示0、1、4或8。
图17图示由主机存储器控制器6执行来处理来自存储模块8的读取数据分组的操作的实施例。在接收到(在块660)读取数据分组时,如果(在块662)读取数据分组指示写入信用,则主机存储器控制器6使写入信用计数器9递增(在块664)在读取数据分组中所指示的写入信用数目。在使写入信用计数器9递增(来自块664)之后,或者如果不存在所提供的写入信用(来自块662的否分支),如果(在块666)读取数据分组包括读取数据,则处理读取数据(在块670)。在读取了该数据之后或者如果该分组不包括数据(来自块666的否分支),则丢弃读取数据分组(在块668)。
所描述的实施例提供技术,用于存储模块8采用通过对已经使用的其它消息或读取分组中的写入信用进行批处理使总线10带宽减小的方式将写入信用传送给主机存储器控制器6。
使用错误信号执行错误处理操作
所描述的实施例提供用于在存储模块8处简化的错误流的技术,用来与主机存储器控制器6协调错误处理。在所描述的实施例中,存储模块控制器20可以用信号通知在图2的引脚输出设计中所示出的错误引脚68 ERR0#上的错误。存储模块控制器20可以断言错误引脚68上的错误(ERR)低信号,以用信号通知错误处理操作的开始,以及断言错误引脚68上的错误(ERR)高信号以用信号通知错误模式已经结束并且总线10被返回到准备好操作的初始状态。这样,用以在总线上10协调存储模块控制器20与主机存储器控制器6之间的错误处理的通信包括有限数目个信号以在更加广泛的错误处理协调的情况下避免消耗带宽。
图18图示用来当在存储模块8中检测到错误时管理错误处理操作的在存储模块控制器20与主机存储器控制器6之间的操作的实施例。在检测到(在块700)错误时,存储模块控制器20断言(在块702)总线10上的第一错误信号,例如引脚68(图2)上的ERR低信号,以便向主机存储器控制器6用信号通知错误处理操作已经开始。在检测到(在块704)第一错误信号(例如,引脚68上的ERR低信号)时,主机存储器控制器6发送(在块706)接收到第一错误信号的确认,并且然后响应于第一错误信号继续挂起(在块708)对具有错误的存储模块8的读取和写入操作。主机存储器控制器6此外还可以执行错误处理操作,诸如将写入信用计数器9设定(在块710)为最大值。这样,主机存储器控制器6假定,作为错误处理的一部分,所有的写入将被从写入缓冲器28充溢(flush)到存储器芯片12、14、16、18中的存储元件。
在接收到(在块712)来自接收第一错误信号的主机存储器控制器6的确认时,存储模块控制器20执行错误处理操作以使总线10返回到初始状态。这样的操作可以包括丢弃(在块716)所有待决读取请求、使在写入缓冲器28中的写入降级(在块718)到存储器芯片12、14、16、18中的存储元件、以及清除(在块722)用以返回的写入信用的写入信用计数器30。在完成错误处理操作之后,存储模块控制器20断言(在块724)第二错误信号,诸如错误引脚68上的ERR高,以用信号通知已经完成错误处理。在检测到(在块726)该第二错误信号时,主机存储器控制器6响应于检测到第二错误信号来重新开始(在块728)对存储模块的读取和写入操作。
在所描述的实施例的情况下,存储模块8和主机存储器控制器6与有限数目个信号协调并且在不互换经由总线所执行的事务和错误的众多通信的情况下执行完全错误处理操作。每个部件8和20假定响应于在存储模块8处的错误,另一个执行对总线10的完全重新初始化。
使用错误信号来指示写入请求错误和写入请求接受
所描述的实施例提供用于存储模块控制器20的技术,用来通过在正发送的写入请求的预定时间内不断言错误信号(诸如错误信号低)来向主机存储器控制器6指示写入请求成功地完成,以及通过断言错误信号来指示写入请求失败。在检测到错误信号时,如果在发送写入请求的预定时间内接收到错误信号,则主机存储器控制器6重新发送写入请求。这样,通过在完成每个写入请求之后不向主机存储器控制器6发送写入完成确认来保全总线10带宽。
图19图示由存储模块控制器20和主机存储器控制器6执行用来指示写入请求的接受以及写入请求中的错误的操作的实施例。当在正处理写入请求之一的情况下存储模块控制器20检测到(在块750)写入错误时,存储模块控制器20断言错误信号,诸如引脚68上的错误低信号ERR0#(图3)。存储模块控制器20保持错误高信号有效以指示没有发生错误。存储模块控制器20可以另外使用引脚68上的ERR0#信号来指示与写入请求错误不相关的错误。此外,存储模块控制器20通过在写入请求的预定时间内、诸如当发送或接收写入请求时不发送错误低信号来隐含地指示写入请求的成功完成。
在主机存储器控制器6检测到(在块754)错误低信号时,如果(在块756)在一个或多个写入请求的预定时间内接收到错误低信号,则主机存储器控制器20重新发送(在块758)在接收错误低信号的预定时间内发送的所确定的一个或多个请求。在某些实施例中,即使错误信号与写入错误无关,主机存储器控制器20也重新发送写入请求。这样,如果在预定时间内未接收到错误信号低,则主机存储器控制器20将写入请求处理为已经成功完成,以及如果在预定时间内接收到错误信号低,即使错误信号低正用信号通知与写入请求错误无关的错误,主机存储器控制器20也将写入请求处理为失败。
在重新发送写入请求(在块758)之后或者如果存在在预定时间内发送的写入请求(来自块756的否分支),主机存储器控制器6确定(在块760)是否存在与错误低信号相关的错误处理操作以与写入错误不相关地执行。如果是这样,则主机存储器控制器6执行(在块762)与写入错误不相关的错误处理操作。
在所描述的实施例的情况下,存储模块8在完成每个写入之后不发送写入完成确认。相反,如果在写入请求之后的预定时间内未接收到错误信号,则主机存储器控制器6假定写入完成。此外,如果在发送写入请求的预定时间内接收到错误信号,则即使存储模块控制器20在用信号通知了与写入错误不相关的错误,主机存储器控制器6也重新发送写入请求。
在存储模块中对读取数据加扰
所描述的实施例提供用于存储模块控制器20的技术,用来对写入数据进行解扰并且存储未加扰的写入数据并且然后对所存储的数据进行加扰以返回到读取请求,这包括读取地址的加扰。执行对正在总线10上传输用于读取和写入这二者的数据进行加扰以避免在传输中出现会在总线10上引起错误的令人烦恼的序列的可能性。
为了允许对读取数据加扰,主机存储器控制器6和存储模块控制器20分别维持加扰种子值11和32(如图1和2中所示)。两个种子值都被初始化成共同值,并且于是在处理了读取数据分组之后递增,使得递增的种子值32和11针对相同的读取数据分组被独立地设定成相同值,并且被用来响应于读取请求,对返回到主机存储器控制器6的读取数据分组中的读取请求数据加扰和解扰。此外,存储模块控制器20和主机存储器控制器6使用种子值11、32来实施用于相同数据加扰算法的电路逻辑,以对数据加扰和解扰,来去除总线10上发生令人烦恼的序列的似然性。在替代实施例中,主机存储器控制器6和存储模块控制器20可以通过本领域中已知的附加操作来更新种子值11和32。
图20图示由存储模块控制器20和主机存储器控制器6执行用来对横跨总线10传输的读取数据加扰的操作的实施例。在从主机存储器控制器6接收到(在块800)针对读取地址的读取请求时,存储模块控制器20从存储元件、例如存储模块8中的DRAM芯片12、14、16、18中检索(在块802)未加扰的读取数据。存储模块控制器20使用(在块804)加扰种子32对所请求的读取数据和读取地址加扰以包括在读取数据分组中来返回(在块806)到来自主机存储器控制器6的读取请求。然后(在块808)更新加扰器种子32。在一个实施例中,于是使用线性反馈移位寄存器(LFSR)电路以伪随机方式更新加扰器种子11、32。
在接收到读取分组时,主机存储器控制器6使用(在块812)加扰器种子11对读取数据分组解扰以确定读取数据和读取地址。然后确定(在块814)与未加扰的地址相关联的读取请求,使得可以将读取数据返回给该读取请求。(在块816)更新加扰器种子11。在替代实施例中,加扰器种子11和32可以在被用来加扰和解扰之前被更新。
图21图示由存储模块控制器20执行用来管理经加扰的写入数据的操作的实施例。在接收到(在块830)来自主机存储器控制器6的具有经加扰的写入数据的写入请求时,存储模块控制器20使用写入请求的写入地址对经加扰的写入数据解扰(在块832),并且然后将未加扰的数据写入(在块834)存储模块8中的存储器芯片12、14、16、18。
所描述的实施例允许存储模块控制器20存储未加扰的读取数据,并且然后通过使用种子值11和12对读取数据和地址这二者加扰以在总线10上返回,其中每个部件8和20更新所述种子值用于加扰和解扰操作。
选择多个总线接口配置之一用以使用
所描述的实施例提供接口参数34,用以在存储模块8中配置,所述接口参数34由存储器控制器20使用来确定由存储模块8使用的总线接口配置。这样,存储模块控制器20可以用不同的总线接口10操作,诸如具有不同总线宽度、即总线数据宽度的总线接口,诸如9比特接口、18比特接口、72比特接口等等。例如,可以实现存储模块控制器20的不同类型的DIMM可以具有不同的总线宽度配置,诸如不同数目的引脚,例如72、168、184、240等等,以实现不同的总线宽度。
图22图示由存储模块控制器20执行用来确定(在块900)接口参数34的操作的实施例。存储模块控制器20可以通过扫描总线10或者通过查询主机存储器控制器6在初始化期间确定总线10接口配置。可替代地,主机存储器控制器6或其它部件可以在初始化期间经由总线10传送关于总线10接口配置的信息,诸如总线宽度、引脚配置等等。在又一实施例中,存储模块8可以具有总线10外部的一个或更多个复用引脚(strapping pin),它们耦合到传送总线10接口配置的存储模块8。主机存储器控制器6或其它部件可以断言关于至少一个复用引脚的总线接口配置。如果仅存在两个所支持的总线接口配置用以传送,则可以使用一个复用引脚。如果存在存储模块控制器20支持的两个以上的所支持的总线接口配置,则可以存在附加引脚来指示两个以上的总线接口配置。在确定了(在块900)总线接口配置时,设定接口参数32用以指示所确定的接口参数。
图23图示由存储模块控制器20执行来基于总线接口配置处理传递请求的操作的实施例。在发起用来处理传递请求的操作(在块930)时,存储模块控制器20选择(在块932)与接口参数32对应的总线接口配置,其中所选择的总线配置可以包括第一、第二、第三或另外的总线配置中的一个,每个具有不同的总线带宽和引脚配置。例如,总线配置可以包括9比特、18比特和72比特数据总线,其中这些总线配置中的每一个可以具有不同数目个引脚。当处理传递请求和其它操作时使用该所选择的总线配置。
存储模块控制器20基于所选择的总线接口配置生成(在块934)多个传递以处理传递请求。例如,如果所选择的总线配置具有比由存储模块控制器20所支持的其它可能配置小的总线带宽,则该总线配置与具有较大总线带宽和更多引脚的所支持的总线接口配置所需要的相比,将需要更多传递来适应其较小的总线带宽。这样,存储模块控制器20可以基于所选择的总线接口配置的总线带宽将传递请求划分成不同数目的总线事务。所生成的传递在所选择的总线接口配置上被传送(在块936)。
所描述的实施例提供可在具有不同总线接口配置的存储模块8中操作的存储模块控制器20,以允许存储模块控制器20支持存储模块8的总线配置,其中所述存储模块以所述总线配置实现。
应当意识到的是,遍及该说明书中对“一个实施例”或“实施例”的引用意味着在本发明的至少一个实施例中包括结合该实施例所描述的特定特征、结构或特性。因此,强调和应当意识到的是,在该说明书的各个部分中对“实施例”或“一个实施例”或“可替代实施例”的两次或更多次引用未必全部指的是相同的实施例。此外,在本发明的一个或更多个实施例中可以适当地组合特定特征、结构或特性。
类似地,应当意识到的是,在本发明实施例的前述描述中,出于使本公开内容流线化的目的,有时将各种特征集合在单个实施例、附图或其描述中,有助于对各个发明性方面中的一个或更多个方面的理解。然而本公开内容的该方法不可被解释为反映以下意图:要求保护的主题需要比在每个权利要求中明白地陈述的特征更多的特征。相反地,由于以下权利要求反映了,发明性方面在于少于单个上述所公开的实施例的所有特征。因而,特此将详细描述之后的权利要求书明确合并到该详细描述中。

Claims (112)

1.一种用于在经由总线耦合到主机存储器控制器的存储模块中使用的设备,包括:
存储模块控制逻辑,其用来生成具有大于或等于最小脉冲宽度的脉冲宽度的至主机存储器控制器的请求信号,其中所述最小脉冲宽度包括保证所述主机存储器控制器检测所述请求信号所需的多个时钟周期,以及其中所述请求信号的脉冲宽度指示除了至所述主机存储器控制器的请求信号之外的至少一个功能。
2.如权利要求1所述的设备,其中,所述请求信号致使所述主机存储器控制器生成准予信号,其中所述存储模块控制逻辑此外:
响应于接收到所述准予信号来向所述主机存储器控制器发送数据。
3.如权利要求2所述的设备,其中,所述脉冲宽度致使所述主机存储器控制器响应于所述请求信号除了发送所述准予信号之外执行由所述脉冲宽度指示的至少一个功能。
4.如权利要求1所述的设备,其中,等于所述最小脉冲宽度的脉冲宽度仅指示所述请求信号而不指示附加功能。
5.如权利要求1所述的设备,其中,生成具有比所述最小脉冲宽度大的至少第一脉冲宽度的请求信号指示至少第一功能,其中生成具有比所述第一脉冲宽度大的至少第二脉冲宽度的请求信号指示至少第二功能,其中生成具有比所述第二脉冲宽度大的至少第三脉冲宽度的请求信号指示至少第三功能。
6.如权利要求5所述的设备,其中,当生成具有所述第一脉冲宽度的请求信号时指示所述第一功能,其中当生成具有所述第二脉冲宽度的请求信号时指示所述第二功能以及其中当生成具有所述第三脉冲宽度的请求信号时指示所述第三功能。
7.如权利要求1所述的设备,其中,所生成的脉冲宽度包括等于所述最小脉冲宽度或是所述最小脉冲宽度倍数的多个脉冲宽度之一,其中所述多个脉冲宽度由保证有所述主机存储器控制器检测所述脉冲宽度所需的最小数目个时钟周期分隔开,以及其中所生成的不同脉冲宽度将不同的功能编码在所述请求信号中。
8.如权利要求7所述的设备,其中,所述最小脉冲宽度包括2个时钟,以及其中以6个、10个和14个时钟的脉冲宽度之一的脉冲宽度生成所述请求信号指示除了对所述请求信号的处理之外,用于所述主机存储器控制器执行的不同功能。
9.如权利要求1所述的设备,其中,所述请求信号包括时钟使能信号。
10.一种经由总线耦合到至少一个存储模块的设备,包括:
主机存储器控制器逻辑,其用来:
检测具有大于或等于最小脉冲宽度的脉冲宽度的来自所述存储模块的请求信号,其中所述最小脉冲宽度包括保证所述主机存储器控制器检测所述请求信号所需的多个时钟周期,以及其中所述请求信号的脉冲宽度指示除了至所述主机存储器控制器的请求信号之外的至少一个功能;
确定与所述请求信号的脉冲宽度对应的功能;以及
执行所确定的功能。
11.如权利要求10所述的设备,其中,所述主机存储器控制器逻辑此外:
响应于接收所述请求信号来生成准予信号以经由总线发送给所述存储模块。
12.如权利要求10所述的设备,其中,所述主机存储器控制器逻辑此外:
确定所述脉冲宽度等于所述最小脉冲宽度,其中响应于所述请求信号的脉冲宽度等于所述最小脉冲宽度,所确定的功能包括没有附加功能的请求信号。
13.如权利要求10所述的设备,其中,所述主机存储器控制器逻辑此外:
确定所述脉冲宽度,
其中所确定的功能包括以下中的至少一个:
响应于所确定的脉冲宽度包括大于或等于所述最小脉冲宽度的至少第一脉冲宽度包括第一功能;
响应于所确定的脉冲宽度包括大于所述第一脉冲宽度的至少第二脉冲宽度包括第二功能;以及
响应于所确定的脉冲宽度包括大于所述第二脉冲宽度的至少第三脉冲宽度包括第三功能。
14.如权利要求13所述的设备,当生成具有所述第一脉冲宽度的请求信号时仅指示所述第一功能,其中当生成具有所述第二脉冲宽度的请求信号时指示所述第二功能以及其中当生成具有所述第三脉冲宽度的请求信号时指示所述第三功能。
15.一种在经由总线耦合到主机存储器控制器和第二存储模块的第一存储模块中实现的设备,包括:
存储模块控制器逻辑,其用来:
基于所述第一存储模块和所述第二存储模块的至少一个中的至少一个部件确定定时调整;以及基于所确定的定时调整来调整至所述主机存储器控制器的输出的定时,以匹配在所述第二存储模块处的输出的定时。
16.如权利要求15所述的设备,其中,确定所述定时调整包括:
响应于具有影响输出的定时的、不包括在所述第二存储模块中的至少一个部件的所述第一存储模块来使定时加速;以及
响应于具有影响所述第二存储模块处的输出的定时的、不包括在所述第一存储模块中的至少一个部件的所述第二存储模块来将延迟添加到定时。
17.如权利要求16所述的设备,其中,确定所述定时调整包括加速定时和添加延迟这二者,其中所确定的定时调整包括添加延迟和加速的净值。
18.如权利要求16所述的设备,其中,所述至少一个部件包括所述第一存储模块中的数据缓冲器,其中所述定时调整包括当所述第二存储模块不包括诸如在所述第一存储模块中所包括的数据缓冲器时使输出的定时延迟。
19.如权利要求16所述的设备,其中,所述至少一个部件包括所述第二存储模块中的寄存器,其中所述定时调整包括当所述第二存储模块包括在所述第一存储模块中不包括的寄存器时使输出的定时延迟。
20.如权利要求19所述的设备,其中,所述第二存储模块中的寄存器在命令、地址和控制总线上。
21.如权利要求15所述的设备,其中,具有经调整的定时的输出包括来自所述第一存储模块的数据缓冲器的输出。
22.如权利要求15所述的设备,其中,所述第一存储模块和第二存储模块包括不同类型的双列直插式存储模块(DIMM)。
23.如权利要求22所述的设备,其中,所述第二存储模块包括无缓冲DIMM(UDIMM)、寄存器式DIMM(RDIMM)、以及负载减少的DIMM(LRDIMM)之一。
24.如权利要求23所述的设备,其中,所述定时调整包括当所述第一存储模块包括数据缓冲器且所述第二存储模块包括UDIMM时使输出的定时加速。
25.如权利要求23所述的设备,其中,所述定时调整包括当所述第二存储模块包括RDIMM且所述第一存储模块不包括寄存器时使输出的定时延迟以及当所述第一存储模块在输出上包括数据缓冲器时使输出的定时加速。
26.如权利要求23所述的设备,其中,所述定时调整包括当所述第二存储模块包括LRDIMM且所述第一存储模块在输出上不包括数据缓冲器时使输出的定时延迟。
27.一种经由总线耦合到存储模块的设备,包括:
主机存储器控制器逻辑,其用来:
通过通道向所述存储模块发送模式寄存器命令以对所述存储模块中的多个模式寄存器之一进行编程,其中所述模式寄存器命令指示所述模式寄存器之一并且包括针对所指示的模式寄存器的数据。
28.如权利要求27所述的设备,其中,所述模式寄存器命令在所述存储模块的初始化期间在训练至所述存储模块的总线用于总线操作之前被发送到所述存储模块。
29.如权利要求28所述的设备,其中,所述模式寄存器命令包括单周期命令,以及其中在训练所述存储模块之后使用两个周期命令来经由总线与所述存储模块通信。
30.如权利要求28所述的设备,其中,所述模式寄存器命令使用地址输入信号和命令输入信号来指示所述模式寄存器之一并且提供针对所指示的模式寄存器的数据。
31.如权利要求30所述的设备,其中,所述模式寄存器命令使用总线上的命令输入信号来指示模式寄存器用来使用以及使用总线上的地址输入信号来提供针对所指示的模式寄存器的数据。
32.如权利要求27所述的设备,其中,所述存储模块包括第一存储模块以及其中所述模式寄存器命令包括第一模式寄存器命令,其中所述主机存储器控制器逻辑此外:
经由总线向第二存储模块发送第二模式寄存器命令,其中所述第一和第二模式寄存器命令具有相同的格式,其中所述第二模式寄存器命令致使所述第二存储模块将模式寄存器中的所述第二模式寄存器命令中的数据存储在所述第二存储模块上的多个存储器芯片之一中。
33.如权利要求27所述的设备,其中,在所述存储模块中存在十六个模式寄存器以及其中所述模式寄存器包括四个输入比特用于指示所述十六个模式寄存器之一用以存储数据。
34.一种在经由总线与主机存储器控制器通信的存储模块中实现的设备,包括:
模式寄存器;
存储模块控制器逻辑,其用来:
通过通道接收来自所述主机存储器控制器的模式寄存器命令以对所述模式寄存器之一进行编程,其中所述模式寄存器命令指示所述模式寄存器之一并且包括针对所指示的模式寄存器的数据;以及
将所述模式寄存器命令中包括的数据写入到所述存储模块控制器中的所指示的模式寄存器。
35.如权利要求34所述的设备,其中,所述模式寄存器命令在所述存储模块的初始化期间在训练至所述存储模块的总线用于总线操作之前被接收。
36.如权利要求35所述的设备,其中,所述模式寄存器命令包括单周期命令,以及其中在训练所述存储模块之后使用两个周期命令用以经由总线在所述存储模块和所述主机存储器控制器之间进行通信。
37.如权利要求34所述的设备,其中,所述模式寄存器命令使用至所述存储模块的地址输入信号和命令输入信号来指示所述模式寄存器之一并且提供针对所指示的模式寄存器的数据。
38.如权利要求37所述的设备,其中,所述模式寄存器命令使用总线上的命令输入信号来指示模式寄存器用以使用以及使用总线上的地址输入信号来提供针对所指示的模式寄存器的数据。
39.一种设备,用来经由总线将数据传递到存储模块,该设备包括:
主机存储器控制器逻辑,其用来:
在第一时钟周期中针对所述存储模块将命令的第一半放置在总线上;
对于所述命令的第一半针对所述存储模块将芯片选择命令放置在总线上;以及
在所述第一时钟周期之后的第二时钟周期中将所述命令的第二半放置在总线上,其中所述存储模块以自接受所述命令的第一半起的延迟间隔,接受所述命令的第二半。
40.如权利要求39所述的设备,其中,所述主机存储器控制器不在总线上放出附加芯片选择命令来指令所述存储模块存取所述命令的第二半。
41.如权利要求39所述的设备,其中,所述第二时钟周期是自所述第一时钟周期起的一个或两个时钟,以及其中所述延迟间隔是自在接受了所述命令的第一半时起的一个或两个时钟周期。
42.如权利要求41所述的设备,其中,所述第二时钟周期是自所述第一时钟周期起的一个时钟,以及所述延迟间隔是自当在规则定时模式下接受了所述芯片选择命令时起的一个时钟周期。
43.如权利要求42所述的设备,其中,所述主机存储器控制器逻辑此外:
发起高速定时模式,其中,在所述高速定时模式下,对于两个时钟周期分别将所述命令的第一半和第二半放置在总线上,当所述第一命令被放置在总线上时自所述第一时钟周期起的一个时钟周期将所述芯片选择命令放置在总线上,所述第二时钟周期是自所述第一时钟周期起的两个时钟,以及所述延迟间隔包括两个时钟周期。
44.如权利要求43所述的设备,其中,所述主机存储器控制器逻辑此外:
在初始化期间对所述存储模块进行编程以指示所述高速定时模式;以及
在初始化期间对所述存储模块进行编程以指示所述规则定时模式。
45.如权利要求39所述的设备,其中,所述命令的第一半和第二半包括针对读取命令的一个地址的部分。
46.一种在经由总线与主机存储器控制器通信的存储模块中实现的设备,包括:
存储模块控制器逻辑,其用来:
针对由所述主机存储器控制器在第一时钟周期上放置在总线上的命令的第一半接收芯片选择命令;
响应于所述芯片选择命令接受总线上的所述命令的第一半;以及
接受在所述第一时钟周期之后的第二时钟周期中由所述主机存储器控制器放置在总线上的所述命令的第二半,所述第二时钟周期是自接受所述命令的第一半起的延迟间隔。
47.如权利要求39所述的设备,其中,所述存储模块在不接收来自所述主机存储器控制器的附加芯片选择信号的情况下自动接受总线上的所述命令的第二半。
48.如权利要求39所述的设备,其中,所述第二时钟周期是自所述第一时钟周期起的一个或两个时钟,以及其中所述延迟间隔是自在接受了所述芯片选择命令时起的一个或两个时钟周期。
49.如权利要求48所述的设备,其中,所述第二时钟周期是自所述第一时钟周期起的一个时钟,以及其中所述延迟间隔是自当在规则定时模式下接受了所述芯片选择命令时起的一个时钟周期。
50.如权利要求49所述的设备,其中,所述存储模块控制器逻辑此外:
发起高速定时模式,其中,在所述高速定时模式下,针对两个时钟周期分别将所述命令的第一半和第二半放置在总线上,当所述第二时钟周期是自所述第一时钟周期起的两个时钟时,当所述第一命令被放置在总线上时自所述第一时钟周期起的一个时钟周期将所述芯片选择命令放置在总线上,以及由所述存储模块使用以确定何时接受所述命令的第二半的延迟间隔包括自接受所述命令的第一半起的两个时钟周期。
51.如权利要求50所述的设备,其中,所述存储模块控制器逻辑此外:
确定所述定时模式是否是高速定时模式,其中响应于确定出所述定时模式是高速定时模式来发起所述高速定时模式;以及
响应于确定出所述定时模式不是高速定时模式来在所述规则定时模式下操作。
52.如权利要求46所述的设备,其中,所述命令的第一半和第二半包括针对读取命令的一个地址的部分。
53.一种在存储模块中用以处理经由总线从主机存储器控制器发送的命令中的地址的设备,包括:
存储模块控制器,用来:
确定高地址比特是否可用于所述存储模块;
响应于确定出高地址比特不可用于在所述存储模块中寻址第一地址空间,在从所述主机存储器控制器传送的地址情况下对于至少一个高地址比特使用预定值;以及
响应于确定出高地址比特可用于寻址第二地址空间来使用在对于至少一个高地址比特所使用的至少一个引脚上从所述主机存储器控制器传送的值,其中所述第二地址空间大于所述第一地址空间。
54.如权利要求53所述的设备,其中,所述存储模块控制器此外:
从所述主机存储器控制器接收指示所述高地址比特可用的命令;以及
设定寄存器以指示所述高地址比特可用,其中确定所述高地址比特是否可用通过读取所述寄存器中的值来进行。
55.如权利要求54所述的设备,其中,基于总线的能力和所述存储模块的接口配置中的至少一个,所述高地址比特不可用。
56.如权利要求55所述的设备,其中,当所述存储模块具有比总线上所支持的更少的引脚被用于寻址时,所述高地址比特不可用。
57.如权利要求56所述的设备,其中,当所述存储模块包括小轮廓双列直插式存储模块(SODIMM)时,所述高地址比特不可用。
58.如权利要求54所述的设备,其中,所述命令包括模式寄存器设定(MRS)命令,以及其中设定的寄存器包括由MRS命令设定的模式寄存器之一。
59.如权利要求53所述的设备,其中,所述存储模块控制器对于总线和所述存储模块上的不同的所支持的接口配置支持不同的寻址能力。
60.一种经由总线耦合到存储模块的设备,包括:
主机存储器控制器逻辑,其用来:
经由总线向所述存储模块发送预时钟使能(CKE)命令,其指示至少一个功率管理操作用以执行;以及
响应于CKE低信号,在发送所述预CKE命令之后断言至所述存储模块的CKE低信号,以致使存储模块控制器执行至少一个所指示的功率管理操作。
61.如权利要求60所述的设备,其中,所述预CKE命令指示多个功率管理状态中的一个,其中所指示的至少一个功率管理操作包括用来将所述存储模块配置成所指示的功率管理状态所执行的多个操作。
62.如权利要求61所述的设备,其中,所述功率管理状态中的每一个包括不同的睡眠状态,其中在不同的睡眠状态下将不同的功率级别应用到所述存储模块中的不同部件,其中发送所述CKE低信号致使所述存储模块控制器执行操作来进入在预CKE命令中所规定的功率管理睡眠状态。
63.一种在经由总线耦合到主机存储器控制器的存储模块控制器中实现的设备,包括:
存储模块控制器逻辑,其用来:
接收指示至少一个功率管理操作用以执行的预时钟使能(CKE)命令;
在接收到所述预CKE信号之后检测CKE低信号;以及
响应于所述CKE低信号执行所述预CKE命令中的所指示的至少一个功率管理操作。
64.如权利要求63所述的设备,其中,所述存储模块控制器逻辑此外:
设定寄存器以指示所述至少一个功率管理操作;以及
响应于所述CKE低信号来确定至少一个功率管理操作用以通过读取所述寄存器来执行。
65.如权利要求64所述的设备,其中,所述存储模块控制器逻辑此外:
响应于不指示至少一个功率管理操作用以执行的寄存器来执行缺省CKE低处理操作。
66.如权利要求63所述的设备,其中,所述预CKE命令指示多个功率管理状态中的一个,其中所执行的至少一个功率管理操作包括用来将所述存储模块配置成所指示的功率管理状态所执行的多个操作。
67.如权利要求60所述的设备,其中,所述功率管理状态中的每一个包括不同的睡眠状态,其中在不同的睡眠状态下将不同的功率级别应用到所述存储模块中的不同部件,其中执行所指示的至少一个功率管理操作进入所述预CKE命令中所规定的功率管理睡眠状态。
68.一种经由总线耦合到存储模块的设备,包括:
主机存储器控制器,用来:
确定从所述存储模块返回的读取数据分组是否指示至少一个写入信用;以及
响应于确定出所述读取数据分组指示至少一个写入信用来使写入信用递增。
69.如权利要求68所述的设备,其中,所述主机存储器控制器此外:
响应于确定出存在可用的写入信用来向所述存储模块发送写入命令;以及
响应于发送所述写入命令使所述写入信用递减。
70.如权利要求68所述的设备,其中,响应于所述主机存储器控制器发送到所述存储模块以读取所述存储模块中的数据的读取请求而返回所述读取数据分组。
71.如权利要求68所述的设备,其中,所述读取数据分组指示多个写入信用。
72.一种在存储模块中的用以处理经由总线来自主机存储器控制器的写入请求的设备,包括:
写入信用计数器;以及
存储模块控制器逻辑,其用来:
响应于完成来自所述主机存储器控制器的写入请求来使所述写入信用计数器递增;
响应于来自所述主机存储器控制器的读取请求来生成读取数据分组;以及
在用以返回到所述主机存储器控制器的读取数据分组中指示在所述写入信用计数器中所指示的写入信用数目。
73.如权利要求72所述的设备,其中,所述存储模块控制器逻辑此外:
通过将写入缓冲器中的针对写入请求的写入数据降级到存储器存储元件来完成所述写入请求。
74.如权利要求72所述的设备,其中,多个写入信用在所述读取数据分组中被指示。
75.如权利要求72所述的设备,其中,所述存储模块控制器逻辑此外:
确定所述写入信用计数器超过阈值;以及
响应于确定出所述写入信用计数器超过阈值,向将所述写入信用中的至少一个返回到所述写入计数器中的主机存储器控制器发送分组。
76.如权利要求75所述的设备,其中,当所述写入信用计数器超过阈值时向所述主机发送指示写入信用数目的分组包括不具有读取数据的读取数据分组。
77.一种在经由总线与主机存储器控制器通信的存储模块中的设备,包括:
存储模块控制器,用来:
响应于检测到错误来断言总线上的错误引脚上的第一错误信号,以向所述主机存储器控制器用信号通知正执行错误处理操作;
响应于检测到错误来执行错误处理操作以将总线返回到初始状态;以及
断言总线上的错误引脚上的第二错误信号,以用信号通知错误处理操作已经完成并且总线返回到了初始状态。
78.如权利要求77所述的设备,其中,所述第一错误信号包括错误信号低,而所述第二错误信号包括错误信号高。
79.如权利要求77所述的设备,其中,所述错误处理操作包括:
丢弃所有待决的读取请求;
使写入缓冲器中的写入降级到所述存储模块中的存储元件;以及
重新设定存储模块控制器缓冲器。
80.如权利要求77所述的设备,其中,所述错误处理操作包括:
重新设定针对用以返回的写入信用的写入信用计数器。
81.如权利要求77所述的设备,其中,响应于接收到来自所述主机存储器控制器的接收到所述第一错误信号的确认来执行所述错误处理操作。
82.一种经由总线耦合到存储模块的设备,包括:
主机存储器控制器逻辑,其用来:
检测来自所述存储模块的在错误引脚上的第一错误信号;
响应于所述第一错误信号来挂起至所述存储模块的读取和写入操作;
检测来自所述存储模块的在错误引脚上的第二错误信号;以及
响应于检测到所述第二错误信号来重新开始至所述存储模块的读取和写入操作。
83.如权利要求82所述的设备,其中,所述第一错误信号包括错误信号低,而所述第二错误信号包括错误信号高。
84.如权利要求82所述的设备,其中,所述主机存储器控制器逻辑此外:
向所述存储模块发送接收到所述第一错误信号的确认,其中响应于发送所述确认来执行挂起读取和写入操作以及执行错误处理操作。
85.如权利要求82所述的设备,其中,所述主机存储器控制器逻辑此外:
响应于所述第一错误信号来设定指示何时可以发送写入命令至最大量的写入信用。
86.一种在经由总线与主机存储器控制器通信的存储模块中的设备,包括:
存储模块控制器逻辑,其用来:
在所述存储模块中检测针对写入请求的写入错误;以及
响应于检测到所述写入错误来断言至所述主机存储器控制器的总线上的错误信号。
87.如权利要求86所述的设备,其中,所述错误信号是至涉及所检测的写入错误的主机存储器控制器的唯一通信。
88.如权利要求86所述的设备,其中,所述错误信号包括总线上的错误引脚上所断言的错误低信号。
89.如权利要求86所述的设备,其中,在所述写入请求的预定时间内不发送所述错误信号指示成功完成了所述写入请求。
90.一种经由总线耦合到存储模块的设备,包括:
主机存储器控制器逻辑,其用来:
向所述存储模块发送写入请求;
检测来自所述存储模块的所断言的错误信号;以及
响应于在发送所述写入请求的预定时间内检测到所述错误信号来重新发送所述写入请求。
91.如权利要求90所述的设备,其中,所述错误信号包括总线上的错误引脚上所断言的错误低信号。
92.如权利要求90所述的设备,其中,所述主机存储器控制器逻辑此外:
响应于在所述预定时间之后未接收到所述错误信号来将所述写入请求处理为成功完成。
93.如权利要求90所述的设备,其中,当在预定时间内接收到错误信号时,如果针对与写入请求错误不相关的错误发送了错误信号,则重新发送所述写入请求。
94.如权利要求90所述的设备,其中,重新发送所述写入请求包括:
确定在所述错误信号的预定时间内发送的多个写入请求,其中所述重新发送包括重新发送所确定的多个写入请求。
95.如权利要求90所述的设备,其中,所述主机存储器控制器逻辑此外:
执行与针对错误信号所确定的写入请求错误不相关的错误处理操作。
96.如权利要求95所述的设备,其中,除了重新发送所述写入请求之外,执行与写入错误不相关的错误处理操作。
97.一种在经由总线与主机存储器控制器通信的存储模块中的设备,包括:
加扰器种子;
存储模块控制器逻辑,其用来:
响应于读取请求来检索存储在所述存储模块的存储元件中的数据;
使用加扰器种子对所检索的数据加扰以包括在读取数据分组中;
将具有经加扰的数据的读取数据分组返回给所述主机存储器控制器;以及
更新所述加扰器种子。
98.如权利要求97所述的设备,其中,所述加扰器种子对包括在所述读取数据分组中的读取数据的地址加扰。
99.如权利要求97所述的设备,其中,更新所述加扰器种子包括以伪随机方式更新所述加扰器种子。
100.如权利要求97所述的设备,其中,所述存储模块控制器逻辑使用加扰器算法来加扰所述读取数据,其中所述加扰算法包括在所述主机存储器控制器处实施的相同加扰器/解扰器算法,用以加扰/对所述读取数据分组中的经加扰的读取数据进行解扰。
101.如权利要求97所述的设备,其中,所述存储模块控制器逻辑此外:
接收具有指示在所述存储模块中的写入地址的经加扰的写入数据的写入请求;
使用所述写入地址对经加扰的写入数据解扰以产生未加扰的写入数据;以及
在所述存储模块中在所述写入地址处存储所述未加扰的写入数据。
102.一种经由总线与存储模块通信的设备,包括:
加扰器种子;
主机存储器控制器逻辑,其用来:
响应于读取请求来接收具有返回的经加扰的读取数据的读取数据分组;
响应于接收到所述读取数据分组来更新所述加扰器种子;以及
使用所述加扰器种子来对经加扰的读取数据进行解扰。
103.如权利要求102所述的设备,其中,将所述读取数据的地址加扰在所述读取数据分组中,其中对经加扰的读取数据解扰此外包括对经加扰的地址解扰以确定返回所述读取数据分组所针对的读取请求。
104.如权利要求103所述的设备,其中,更新所述加扰器种子包括以伪随机方式更新所述加扰器种子。
105.如权利要求97所述的设备,其中,所述主机存储器控制器逻辑使用加扰器算法来加扰所述读取数据,其中所述加扰算法包括在所述主机存储器控制器处实施的相同加扰器/解扰器算法,用以加扰/对所述读取数据分组中的经加扰的读取数据进行解扰。
106.一种在经由总线与主机存储器控制器通信的存储模块中的设备,包括:
存储模块控制器逻辑,其用来:
响应于指示第一接口参数的接口参数,选择具有第一总线宽度的第一总线接口配置以用于经由总线发送数据;以及
响应于指示第二接口参数的接口参数,选择具有第二总线宽度的第二总线接口配置以用于经由总线发送数据,其中所述第一总线宽度具有比所述第二总线宽度少的比特。
107.如权利要求106所述的设备,其中,所述存储模块控制器逻辑此外:
响应于指示所述第一接口参数的接口参数,针对所述第一总线接口配置生成第一数目个传递以执行传递请求;以及
响应于指示所述第二接口参数的接口参数,针对所述第一总线接口配置生成第二数目个传递以执行所述传递请求,其中传递的第一个数目大于传递的第二数目。
108.如权利要求106所述的设备,其中,所述存储模块控制器逻辑此外:
响应于指示第三接口参数的接口参数,选择具有第三总线宽度的第三总线接口配置以用于经由总线发送数据,其中所述第二总线宽度具有比所述第三总线宽度少的比特。
109.如权利要求108所述的设备,其中,所述第一总线宽度包括9个比特,所述第二总线宽度包括18个比特,以及所述第三总线宽度包括72个比特。
110.如权利要求106所述的设备,其中,所述存储模块控制器逻辑此外:
基于在总线上接收的至少一个信号设定所述接口参数。
111.如权利要求106所述的设备,其中,所述存储模块控制器逻辑此外:
通过访问总线确定所述总线的总线宽度,其中所述接口参数指示所确定的总线宽度。
112.如权利要求106所述的设备,其中,所述存储模块控制器逻辑此外:
基于在总线外部的至少一个复用引脚上断言的信号设定所述接口参数,其中所述复用引脚耦合至所述存储模块,其中所述至少一个复用引脚指示总线的第一和第二总线接口配置中的至少一个之一。
CN201380073070.3A 2013-03-15 2013-03-15 存储系统 Active CN104981872B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/032633 WO2014143056A1 (en) 2013-03-15 2013-03-15 A memory system

Publications (2)

Publication Number Publication Date
CN104981872A true CN104981872A (zh) 2015-10-14
CN104981872B CN104981872B (zh) 2018-11-06

Family

ID=51537392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380073070.3A Active CN104981872B (zh) 2013-03-15 2013-03-15 存储系统

Country Status (8)

Country Link
US (11) US9990246B2 (zh)
EP (1) EP2973571B1 (zh)
JP (1) JP6139010B2 (zh)
KR (2) KR101670917B1 (zh)
CN (1) CN104981872B (zh)
BR (4) BR122016007765B1 (zh)
RU (1) RU2628124C2 (zh)
WO (1) WO2014143056A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106611608A (zh) * 2015-10-23 2017-05-03 群联电子股份有限公司 存储器控制电路单元、存储器储存装置与数据传输方法
CN107291421A (zh) * 2017-06-09 2017-10-24 中国电子科技集团公司第四十研究所 一种可编程图形序列发生系统及方法
CN107767897A (zh) * 2016-08-18 2018-03-06 爱思开海力士有限公司 存储器系统及其操作方法
CN107785044A (zh) * 2016-08-26 2018-03-09 闪迪技术有限公司 电缓冲nv‑dimm和其使用方法
CN108140002A (zh) * 2015-12-09 2018-06-08 密克罗奇普技术公司 具有自动从属装置选择产生的串行外围接口
CN108694968A (zh) * 2017-04-05 2018-10-23 联发科技股份有限公司 存储器设备、存储器控制器及相关存储器系统
CN109815173A (zh) * 2017-11-21 2019-05-28 三星电子株式会社 信号接收器的操作方法、脉冲宽度控制器及电子装置
JP2019533244A (ja) * 2016-09-30 2019-11-14 華為技術有限公司Huawei Technologies Co.,Ltd. 不揮発性メモリの持続方法およびコンピューティングデバイス
CN112262365A (zh) * 2018-05-09 2021-01-22 美光科技公司 存储器系统或子系统中的等待时间指示
CN112463070A (zh) * 2016-05-05 2021-03-09 美光科技公司 非确定性存储器协议
CN112534393A (zh) * 2018-08-08 2021-03-19 美光科技公司 存储器系统中的写入积分的主动返回
CN112840311A (zh) * 2018-09-06 2021-05-25 美光科技公司 包含与控制器分离的封装内定序器的存储器子系统

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6139010B2 (ja) 2013-03-15 2017-05-31 インテル・コーポレーション デバイス
WO2014193574A1 (en) 2013-05-13 2014-12-04 Rambus Inc. Buffer circuit with data bit inversion
WO2015011835A1 (ja) * 2013-07-26 2015-01-29 株式会社日立製作所 コンピュータシステム
IN2013CH04449A (zh) * 2013-09-30 2015-04-03 Empire Technology Dev Llc
US9484070B2 (en) * 2014-04-30 2016-11-01 Micron Technology, Inc. Apparatuses supporting multiple interface types and methods of operating the same
US10074417B2 (en) 2014-11-20 2018-09-11 Rambus Inc. Memory systems and methods for improved power management
US10528410B2 (en) * 2014-12-16 2020-01-07 Intel Corporation Apparatus, method and system to exchange error information in a unified protocol communication
US9524249B2 (en) * 2014-12-23 2016-12-20 Intel Corporation Memory encryption engine integration
US10248590B2 (en) 2015-01-28 2019-04-02 Hewlett-Packard Development Company, L.P. Supporting different types of memory devices based on serial presense detect
US9594689B2 (en) * 2015-02-09 2017-03-14 International Business Machines Corporation Designated cache data backup during system operation
US10387259B2 (en) * 2015-06-26 2019-08-20 Intel Corporation Instant restart in non volatile system memory computing systems with embedded programmable data checking
JP2017045311A (ja) * 2015-08-27 2017-03-02 株式会社東芝 メモリシステム
US10031677B1 (en) 2015-10-14 2018-07-24 Rambus Inc. High-throughput low-latency hybrid memory module
US9792224B2 (en) 2015-10-23 2017-10-17 Intel Corporation Reducing latency by persisting data relationships in relation to corresponding data in persistent memory
JP2017097825A (ja) * 2015-11-16 2017-06-01 株式会社東芝 ホスト機器および拡張デバイス
US10163508B2 (en) 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
US9785359B2 (en) * 2016-02-26 2017-10-10 Intel Corporation Sending packets using optimized PIO write sequences without sfences and out of order credit returns
US10592114B2 (en) * 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US10621119B2 (en) 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10310547B2 (en) * 2016-03-05 2019-06-04 Intel Corporation Techniques to mirror a command/address or interpret command/address logic at a memory device
KR102525229B1 (ko) 2016-05-13 2023-04-25 에스케이하이닉스 주식회사 메모리 모듈 및 이를 포함하는 시스템
US10163485B2 (en) * 2016-05-25 2018-12-25 Mediatek Inc. Memory module, memory controller and associated control method for read training technique
US10198204B2 (en) 2016-06-01 2019-02-05 Advanced Micro Devices, Inc. Self refresh state machine MOP array
US10459855B2 (en) 2016-07-01 2019-10-29 Intel Corporation Load reduced nonvolatile memory interface
US10359933B2 (en) * 2016-09-19 2019-07-23 Micron Technology, Inc. Memory devices and electronic systems having a hybrid cache including static and dynamic caches with single and multiple bits per cell, and related methods
US10521351B2 (en) * 2017-01-12 2019-12-31 International Business Machines Corporation Temporarily suppressing processing of a restrained storage operand request
US10180793B2 (en) * 2017-01-31 2019-01-15 Hewlett Packard Enterprise Development Lp Performance attributes for memory
EP3605541A4 (en) 2017-04-14 2020-04-01 Huawei Technologies Co., Ltd. MEMORY REFRESHING TECHNOLOGY AND COMPUTER SYSTEM
US10162406B1 (en) 2017-08-31 2018-12-25 Micron Technology, Inc. Systems and methods for frequency mode detection and implementation
JP2019046051A (ja) * 2017-08-31 2019-03-22 東芝メモリ株式会社 メモリ装置およびデータ処理装置
US10908820B2 (en) 2017-09-14 2021-02-02 Samsung Electronics Co., Ltd. Host-based and client-based command scheduling in large bandwidth memory systems
US10996888B2 (en) * 2017-10-31 2021-05-04 Qualcomm Incorporated Write credits management for non-volatile memory
US10769074B2 (en) 2017-11-09 2020-09-08 Microsoft Technology Licensing, Llc Computer memory content movement
KR102370278B1 (ko) 2017-11-30 2022-03-07 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 그의 동작방법
KR102493964B1 (ko) * 2017-12-18 2023-02-01 삼성전자주식회사 스토리지 컨트롤러, 그것을 포함하는 스토리지 장치, 및 스토리지 컨트롤러의 동작 방법
US11226768B2 (en) * 2018-01-04 2022-01-18 Montage Technology Co., Ltd. Memory controller and method for accessing memory module
CN110008147B (zh) * 2018-01-04 2021-11-19 澜起科技股份有限公司 存储器控制器以及用于对存储模块进行访问的方法
US10929029B2 (en) 2018-01-04 2021-02-23 Montage Technology Co., Ltd. Memory controller and method for accessing memory modules and processing sub-modules
US11048645B2 (en) 2018-02-01 2021-06-29 Samsung Electronics Co., Ltd. Memory module, operation method therof, and operation method of host
US11099995B2 (en) 2018-03-28 2021-08-24 Intel Corporation Techniques for prefetching data to a first level of memory of a hierarchical arrangement of memory
US10963404B2 (en) 2018-06-25 2021-03-30 Intel Corporation High bandwidth DIMM
US10884958B2 (en) 2018-06-25 2021-01-05 Intel Corporation DIMM for a high bandwidth memory channel
KR102029035B1 (ko) * 2018-07-26 2019-10-07 주식회사 우리비전 메인 보드 리버스 인터커넥션을 통한 메모리 모듈의 실장 테스트에 사용되는 메모리 모듈을 수납하는 메인 보드
US11409436B2 (en) 2018-08-08 2022-08-09 Micron Technology, Inc. Buffer management in memory systems for read and write requests
US11074007B2 (en) * 2018-08-08 2021-07-27 Micron Technology, Inc. Optimize information requests to a memory system
US10969994B2 (en) 2018-08-08 2021-04-06 Micron Technology, Inc. Throttle response signals from a memory system
US11061751B2 (en) * 2018-09-06 2021-07-13 Micron Technology, Inc. Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller
US10740031B2 (en) 2018-09-25 2020-08-11 International Business Machines Corporation Interface scheduler for a distributed memory system
KR20200040183A (ko) 2018-10-08 2020-04-17 박흥균 라인 형태의 전자빔 방출 장치
US11650943B2 (en) 2018-10-16 2023-05-16 Micron Technology, Inc. Flexible bus management
US10901657B2 (en) 2018-11-29 2021-01-26 International Business Machines Corporation Dynamic write credit buffer management of non-volatile dual inline memory module
US11403035B2 (en) * 2018-12-19 2022-08-02 Micron Technology, Inc. Memory module including a controller and interfaces for communicating with a host and another memory module
KR20200142219A (ko) * 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
US11699471B2 (en) 2019-09-25 2023-07-11 Intel Corporation Synchronous dynamic random access memory (SDRAM) dual in-line memory module (DIMM) having increased per data pin bandwidth
JP7419010B2 (ja) * 2019-10-04 2024-01-22 キヤノン株式会社 データ処理システムおよびデータ処理システムの制御方法
US11182312B2 (en) * 2020-04-02 2021-11-23 Micron Technology, Inc. Memory sub-system manufacturing mode
US11372544B2 (en) * 2020-09-24 2022-06-28 Netapp, Inc. Write type based crediting for block level write throttling to control impact to read input/output operations
US11709538B2 (en) * 2020-11-19 2023-07-25 Micron Technology, Inc. Minimizing power loss and reset time with media controller suspend
US11609868B1 (en) * 2020-12-31 2023-03-21 Waymo Llc Control calibration timing to avoid memory write blackout period
US11842056B2 (en) * 2021-10-25 2023-12-12 EMC IP Holding Company, LLC System and method for allocating storage system resources during write throttling

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1433025A (zh) * 2001-12-19 2003-07-30 三星电子株式会社 用于控制半导体存储设备的ac定时参数的电路及其方法
CN102096611A (zh) * 2009-12-09 2011-06-15 英特尔公司 用于存储器装置中的差错管理的方法和系统
US20110185256A1 (en) * 2009-09-09 2011-07-28 Advanced Micro Devices, Inc. Adjustment of Write Timing Based on Error Detection Techniques
US20120169375A1 (en) * 2010-12-29 2012-07-05 Stmicroelectronics, Inc. Programmable pulse width discriminator
CN102737718A (zh) * 2011-03-30 2012-10-17 联发科技股份有限公司 存储控制器与存储系统

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4148099A (en) * 1978-04-11 1979-04-03 Ncr Corporation Memory device having a minimum number of pins
US5448706A (en) * 1992-05-13 1995-09-05 Sharp Microelectronics Technology, Inc. Address generator for multi-channel circular-buffer style processing
JP3369227B2 (ja) 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
US5555250A (en) 1994-10-14 1996-09-10 Compaq Computer Corporation Data error detection and correction system
US5784390A (en) 1995-06-19 1998-07-21 Seagate Technology, Inc. Fast AtA-compatible drive interface with error detection and/or error correction
US5805905A (en) 1995-09-06 1998-09-08 Opti Inc. Method and apparatus for arbitrating requests at two or more levels of priority using a single request line
US5610745A (en) * 1995-10-26 1997-03-11 Hewlett-Packard Co. Method and apparatus for tracking buffer availability
JPH1078934A (ja) 1996-07-01 1998-03-24 Sun Microsyst Inc パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム
US6260101B1 (en) 1997-03-07 2001-07-10 Advanced Micro Devices, Inc. Microcontroller having dedicated hardware for memory address space expansion supporting both static and dynamic memory devices
WO1999030240A1 (en) 1997-12-05 1999-06-17 Intel Corporation Memory system including a memory module having a memory module controller
US6088762A (en) 1998-06-19 2000-07-11 Intel Corporation Power failure mode for a memory controller
US6260127B1 (en) 1998-07-13 2001-07-10 Compaq Computer Corporation Method and apparatus for supporting heterogeneous memory in computer systems
US6457081B1 (en) 1998-11-23 2002-09-24 Advanced Micro Devices, Inc. Packet protocol for reading an indeterminate number of data bytes across a computer interconnection bus
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US6683884B1 (en) 2000-03-31 2004-01-27 Intel Corporation Shared credit round robin queuing
US7100028B2 (en) 2000-08-09 2006-08-29 Advanced Micro Devices, Inc. Multiple entry points for system call instructions
US6625685B1 (en) 2000-09-20 2003-09-23 Broadcom Corporation Memory controller with programmable configuration
US6931128B2 (en) 2001-01-16 2005-08-16 Microsoft Corporation Methods and systems for generating encryption keys using random bit generators
US6658523B2 (en) 2001-03-13 2003-12-02 Micron Technology, Inc. System latency levelization for read data
US6615217B2 (en) * 2001-06-29 2003-09-02 Bull Hn Information Systems Inc. Method and data processing system providing bulk record memory transfers across multiple heterogeneous computer systems
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US7076678B2 (en) * 2002-02-11 2006-07-11 Micron Technology, Inc. Method and apparatus for data transfer
US6781911B2 (en) 2002-04-09 2004-08-24 Intel Corporation Early power-down digital memory device and method
US7469420B2 (en) 2002-05-21 2008-12-23 Thomson Licensing Key transport tamper protection
JP4222803B2 (ja) * 2002-09-11 2009-02-12 Necエレクトロニクス株式会社 データ処理装置およびデータ処理回路
KR100524952B1 (ko) 2003-03-07 2005-11-01 삼성전자주식회사 기록 매체의 데이터 보호 방법 및 이를 이용한 디스크드라이브
US7234099B2 (en) 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
KR100475125B1 (ko) 2003-06-21 2005-03-14 삼성전자주식회사 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법
JP2005025903A (ja) 2003-07-01 2005-01-27 Nec Micro Systems Ltd 半導体記憶装置
CN101764804A (zh) * 2003-09-10 2010-06-30 高通股份有限公司 高数据速率接口
US7177989B1 (en) 2003-12-31 2007-02-13 Intel Corporation Retry of a device read transaction
EP1735794B1 (en) 2004-03-31 2011-04-27 Micron Technology, Inc. Reconstruction of signal timing in integrated circuits
US8200879B1 (en) * 2004-06-29 2012-06-12 National Semiconductor Corporation Memory interface including an efficient variable-width bus
US8032674B2 (en) 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7660938B1 (en) * 2004-10-01 2010-02-09 Super Talent Electronics, Inc. Flash card reader and data exchanger utilizing low power extended USB protocol without polling
US7525986B2 (en) 2004-10-28 2009-04-28 Intel Corporation Starvation prevention scheme for a fixed priority PCI-Express arbiter with grant counters using arbitration pools
US7571296B2 (en) * 2004-11-11 2009-08-04 Nvidia Corporation Memory controller-adaptive 1T/2T timing control
US7966439B1 (en) * 2004-11-24 2011-06-21 Nvidia Corporation Apparatus, system, and method for a fast data return memory controller
US20060117160A1 (en) * 2004-12-01 2006-06-01 Intel Corporation Method to consolidate memory usage to reduce power consumption
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
US7319612B2 (en) * 2005-05-18 2008-01-15 Intel Corporation Performing multiple read operations via a single read command
JP2007004522A (ja) 2005-06-24 2007-01-11 Renesas Technology Corp 記憶装置
US8335894B1 (en) * 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8055833B2 (en) * 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
DE102005035207A1 (de) 2005-07-27 2007-02-01 Siemens Ag Verfahren und Vorrichtung zur Datenübertragung zwischen zwei relativ zueinander bewegten Komponenten
US7426607B2 (en) 2005-08-05 2008-09-16 Infineon Technologies Ag Memory system and method of operating memory system
US20110022850A1 (en) 2006-07-26 2011-01-27 Hondar Lee Access control for secure portable storage device
US8272781B2 (en) 2006-08-01 2012-09-25 Intel Corporation Dynamic power control of a memory device thermal sensor
US7900079B2 (en) 2006-08-11 2011-03-01 International Business Machines Corporation Data capture window synchronizing method for generating data bit sequences and adjusting capture window on parallel data paths
US7761725B2 (en) 2006-08-30 2010-07-20 Ati Technologies Ulc Clock generation for synchronous circuits with slow settling control signals
WO2008050394A1 (fr) 2006-10-24 2008-05-02 Fujitsu Limited Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données
US8122202B2 (en) 2007-02-16 2012-02-21 Peter Gillingham Reduced pin count interface
US7624225B2 (en) 2007-03-22 2009-11-24 International Business Machines Corporation System and method for providing synchronous dynamic random access memory (SDRAM) mode register shadowing in a memory system
US8874831B2 (en) * 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US7624211B2 (en) 2007-06-27 2009-11-24 Micron Technology, Inc. Method for bus width negotiation of data storage devices
US7787375B2 (en) 2007-08-06 2010-08-31 International Business Machines Corporation Performing a recovery action in response to a credit depletion notification
US7882324B2 (en) * 2007-10-30 2011-02-01 Qimonda Ag Method and apparatus for synchronizing memory enabled systems with master-slave architecture
US7971081B2 (en) * 2007-12-28 2011-06-28 Intel Corporation System and method for fast platform hibernate and resume
US8045416B2 (en) 2008-03-05 2011-10-25 Micron Technology, Inc. Method and memory device providing reduced quantity of interconnections
US8255783B2 (en) 2008-04-23 2012-08-28 International Business Machines Corporation Apparatus, system and method for providing error protection for data-masking bits
US8154918B2 (en) * 2008-06-30 2012-04-10 Sandisk Il Ltd. Method for page- and block based scrambling in non-volatile memory
TWI370361B (en) * 2008-08-21 2012-08-11 Ili Technology Corp Memory access controlling apparatus and control method thereof
US8639874B2 (en) 2008-12-22 2014-01-28 International Business Machines Corporation Power management of a spare DRAM on a buffered DIMM by issuing a power on/off command to the DRAM device
US20120030396A1 (en) 2009-03-02 2012-02-02 Zhichun Zhu Decoupled Memory Modules: Building High-Bandwidth Memory Systems from Low-Speed Dynamic Random Access Memory Devices
TWI416523B (zh) 2009-06-10 2013-11-21 Silicon Motion Inc 非揮發性記憶體之寫入錯誤管理方法、非揮發性記憶體、記憶卡、以及非揮發性記憶體之控制器
KR101585213B1 (ko) 2009-08-18 2016-01-13 삼성전자주식회사 라이트 레벨링 동작을 수행하기 위한 메모리 장치의 제어 방법, 메모리 장치의 라이트 레벨링 방법, 및 라이트 레벨링 동작을 수행하는 메모리 컨트롤러, 메모리 장치, 및 메모리 시스템
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8996785B2 (en) 2009-09-21 2015-03-31 Aplus Flash Technology, Inc. NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with serial interface
KR101620348B1 (ko) 2009-10-16 2016-05-12 삼성전자주식회사 내부전원 발생장치, 이를 구비한 멀티채널 메모리 장치 및 이를 채용한 프로세싱 시스템
JP5421152B2 (ja) 2010-03-08 2014-02-19 ルネサスエレクトロニクス株式会社 半導体集積回路
JP5139465B2 (ja) 2010-03-31 2013-02-06 株式会社東芝 メモリチップ、情報記憶システム、読み出し装置
US8339891B2 (en) 2010-05-25 2012-12-25 Lsi Corporation Power savings and/or dynamic power management in a memory
US8898511B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8972723B2 (en) 2010-07-14 2015-03-03 Sandisk Technologies Inc. Storage device and method for providing a partially-encrypted content file to a host device
BR112013006329B1 (pt) 2010-09-16 2020-12-01 Apple Inc. controlador de memória compreendendo uma pluralidade de portas, circuito integrado e método
US8615638B2 (en) 2010-10-08 2013-12-24 Qualcomm Incorporated Memory controllers, systems and methods for applying page management policies based on stream transaction information
JP5032647B2 (ja) 2010-11-26 2012-09-26 株式会社東芝 データ記憶装置、コントロール装置及び暗号化方法
US8321649B2 (en) 2011-03-18 2012-11-27 Freescale Semiconductor, Inc. Memory controller address and data pin multiplexing
US8930647B1 (en) 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
WO2012148812A2 (en) 2011-04-29 2012-11-01 Lsi Corporation Encrypted transport solid-state disk controller
JP5720470B2 (ja) 2011-07-27 2015-05-20 富士通株式会社 処理装置,試験信号生成装置及び試験信号生成方法
US9025409B2 (en) * 2011-08-05 2015-05-05 Rambus Inc. Memory buffers and modules supporting dynamic point-to-point connections
US9047418B2 (en) * 2011-11-22 2015-06-02 Icron Technologies Corporation Methods and devices for extending USB 3.0-compliant communication
US9330031B2 (en) 2011-12-09 2016-05-03 Nvidia Corporation System and method for calibration of serial links using a serial-to-parallel loopback
US9417998B2 (en) * 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US8638153B2 (en) * 2012-03-29 2014-01-28 Qualcomm Incorporated Pulse clock generation logic with built-in level shifter and programmable rising edge and pulse width
US8667205B2 (en) 2012-04-30 2014-03-04 International Business Machines Corporation Deadlock resolution in end-to-end credit protocol
JP5836903B2 (ja) * 2012-09-04 2015-12-24 株式会社東芝 情報処理装置
US8730750B1 (en) * 2012-10-28 2014-05-20 Lsi Corporation Memory device with control circuitry for generating a reset signal in read and write modes of operation
US20140122777A1 (en) 2012-10-31 2014-05-01 Mosaid Technologies Incorporated Flash memory controller having multi mode pin-out
JP6139010B2 (ja) 2013-03-15 2017-05-31 インテル・コーポレーション デバイス

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1433025A (zh) * 2001-12-19 2003-07-30 三星电子株式会社 用于控制半导体存储设备的ac定时参数的电路及其方法
US20110185256A1 (en) * 2009-09-09 2011-07-28 Advanced Micro Devices, Inc. Adjustment of Write Timing Based on Error Detection Techniques
CN102096611A (zh) * 2009-12-09 2011-06-15 英特尔公司 用于存储器装置中的差错管理的方法和系统
US20120169375A1 (en) * 2010-12-29 2012-07-05 Stmicroelectronics, Inc. Programmable pulse width discriminator
US8410819B2 (en) * 2010-12-29 2013-04-02 Stmicroelectronics, Inc. Programmable pulse width discriminator
CN102737718A (zh) * 2011-03-30 2012-10-17 联发科技股份有限公司 存储控制器与存储系统

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106611608A (zh) * 2015-10-23 2017-05-03 群联电子股份有限公司 存储器控制电路单元、存储器储存装置与数据传输方法
CN106611608B (zh) * 2015-10-23 2019-01-15 群联电子股份有限公司 存储器控制电路单元、存储器储存装置与数据传输方法
CN108140002A (zh) * 2015-12-09 2018-06-08 密克罗奇普技术公司 具有自动从属装置选择产生的串行外围接口
CN112463070A (zh) * 2016-05-05 2021-03-09 美光科技公司 非确定性存储器协议
CN107767897A (zh) * 2016-08-18 2018-03-06 爱思开海力士有限公司 存储器系统及其操作方法
CN107767897B (zh) * 2016-08-18 2021-04-13 爱思开海力士有限公司 存储器系统及其操作方法
CN107785044B (zh) * 2016-08-26 2021-05-04 闪迪技术有限公司 电缓冲nv-dimm和其使用方法
CN107785044A (zh) * 2016-08-26 2018-03-09 闪迪技术有限公司 电缓冲nv‑dimm和其使用方法
JP2019533244A (ja) * 2016-09-30 2019-11-14 華為技術有限公司Huawei Technologies Co.,Ltd. 不揮発性メモリの持続方法およびコンピューティングデバイス
US10976956B2 (en) 2016-09-30 2021-04-13 Huawei Technologies Co., Ltd. Non-volatile memory persistence method and computing device
US10846018B2 (en) 2017-04-05 2020-11-24 Mediatek Inc. Memory device, memory controller and associated memory system operated according to selected clock signals
CN108694968B (zh) * 2017-04-05 2021-03-26 联发科技股份有限公司 存储器设备、存储器控制器及相关存储器系统
CN108694968A (zh) * 2017-04-05 2018-10-23 联发科技股份有限公司 存储器设备、存储器控制器及相关存储器系统
CN107291421A (zh) * 2017-06-09 2017-10-24 中国电子科技集团公司第四十研究所 一种可编程图形序列发生系统及方法
CN109815173A (zh) * 2017-11-21 2019-05-28 三星电子株式会社 信号接收器的操作方法、脉冲宽度控制器及电子装置
CN109815173B (zh) * 2017-11-21 2024-04-12 三星电子株式会社 信号接收器的操作方法、脉冲宽度控制器及电子装置
CN112262365A (zh) * 2018-05-09 2021-01-22 美光科技公司 存储器系统或子系统中的等待时间指示
CN112534393A (zh) * 2018-08-08 2021-03-19 美光科技公司 存储器系统中的写入积分的主动返回
CN112840311A (zh) * 2018-09-06 2021-05-25 美光科技公司 包含与控制器分离的封装内定序器的存储器子系统

Also Published As

Publication number Publication date
KR101670917B1 (ko) 2016-11-01
BR122016006765B1 (pt) 2022-02-01
US20160132269A1 (en) 2016-05-12
BR112015019459A2 (pt) 2017-07-18
US10579462B2 (en) 2020-03-03
RU2015134146A (ru) 2017-02-17
US20160211973A1 (en) 2016-07-21
US20160148653A1 (en) 2016-05-26
WO2014143056A1 (en) 2014-09-18
BR122016006764A2 (pt) 2019-08-27
US20160099044A1 (en) 2016-04-07
US10152370B2 (en) 2018-12-11
BR122016006764B1 (pt) 2022-02-01
US10198306B2 (en) 2019-02-05
BR122016007765B1 (pt) 2022-03-03
BR112015019459B1 (pt) 2021-10-19
US9852021B2 (en) 2017-12-26
KR20160127168A (ko) 2016-11-02
JP2016514320A (ja) 2016-05-19
US20160098366A1 (en) 2016-04-07
EP2973571A1 (en) 2016-01-20
US20160179604A1 (en) 2016-06-23
US20160210187A1 (en) 2016-07-21
US20160179742A1 (en) 2016-06-23
EP2973571A4 (en) 2016-11-02
EP2973571B1 (en) 2020-04-22
RU2628124C2 (ru) 2017-08-15
BR122016006765A2 (pt) 2019-08-27
US20150149735A1 (en) 2015-05-28
US10795755B2 (en) 2020-10-06
CN104981872B (zh) 2018-11-06
KR20150120359A (ko) 2015-10-27
US20160147678A1 (en) 2016-05-26
US10185618B2 (en) 2019-01-22
US20160098195A1 (en) 2016-04-07
US9990246B2 (en) 2018-06-05
US10783028B2 (en) 2020-09-22
US10747605B2 (en) 2020-08-18
JP6139010B2 (ja) 2017-05-31
BR122016007765A2 (pt) 2019-08-27

Similar Documents

Publication Publication Date Title
CN104981872A (zh) 存储系统
US20200293199A1 (en) Memory device
US11082043B2 (en) Memory device
KR102138110B1 (ko) 플래시 메모리를 기반으로 하는 저장 장치 및 그것의 동작 방법
WO2006055497A2 (en) Command controlling different operations in different chips
US20230367518A1 (en) Memory device
CN108701105A (zh) 将片选信号用于双列直插式存储器模块的技术
JP6370958B2 (ja) デバイス
US11610624B2 (en) Memory device skipping refresh operation and operation method thereof
US11625343B2 (en) Memory with a communications bus for device-to-controller communication, and associated systems, devices, and methods
US11687237B2 (en) Memory device status push within memory sub-system
EP4027248A1 (en) Accelerator controlling memory device, computing system including accelerator, and operating method of accelerator

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant