CN113626264A - 存储器模块、计算系统以及计算系统的启动方法 - Google Patents
存储器模块、计算系统以及计算系统的启动方法 Download PDFInfo
- Publication number
- CN113626264A CN113626264A CN202110286953.9A CN202110286953A CN113626264A CN 113626264 A CN113626264 A CN 113626264A CN 202110286953 A CN202110286953 A CN 202110286953A CN 113626264 A CN113626264 A CN 113626264A
- Authority
- CN
- China
- Prior art keywords
- memory
- module
- training
- computing system
- memory module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0407—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Memory System (AREA)
- Information Transfer Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了一种存储器模块、计算系统以及计算系统的启动方法。所述计算系统的启动方法,计算系统包括存储器模块,存储器模块包括连接到多个存储器装置的处理装置,所述方法包括:对计算系统上电;在对计算系统上电之后,通过存储器模块中的处理装置对所述多个存储器装置执行第一存储器训练,并且生成指示第一存储器训练的完成的模块就绪信号;在对计算系统上电之后,通过主机装置执行第一启动序列,主机装置执行包括在计算系统中的基本输入/输出系统(BIOS)存储器的BIOS代码;在执行第一启动序列之后,在主机装置中等待将从存储器模块接收模块就绪信号;以及在主机装置中接收模块就绪信号,并且基于模块就绪信号执行第二启动序列。
Description
于2020年5月7日在韩国知识产权局提交的并且名称为“包括安装有处理装置的存储器模块的计算系统的启动方法”的第10-2020-0054780号韩国专利申请通过引用全部包含于此。
技术领域
实施例涉及包括安装有处理装置的存储器模块的计算系统的启动方法。
背景技术
计算系统根据架构配置提供能力和功能。诸如高性能和/或图形算法的应用是数据密集型的和计算密集型的。
发明内容
实施例针对一种存储器模块,所述存储器模块包括:印刷电路板;多个存储器装置,结合到印刷电路板;以及处理装置,结合到印刷电路板并连接到所述多个存储器装置。当所述存储器模块上电时,处理装置可对所述多个存储器装置执行存储器训练,在完成存储器训练之后生成模块就绪信号,并且将模块就绪信号发送到所述存储器模块的外部。
实施例还针对一种计算系统,所述计算系统包括:板;主机装置,安装在所述板上;存储器模块,安装在所述板上并连接到主机装置,存储器模块包括多个存储器装置和连接到所述多个存储器装置的处理装置;以及基本输入/输出系统(BIOS)存储器,被配置为存储用于启动所述计算系统的BIOS代码。当所述计算系统上电时,存储器模块的处理装置可对所述多个存储器装置执行存储器训练,在完成存储器训练之后生成模块就绪信号,并且将模块就绪信号发送到主机装置。
实施例还针对一种计算系统的启动方法,计算系统包括存储器模块,存储器模块包括连接到多个存储器装置的处理装置,所述方法包括:对计算系统上电;在对计算系统上电之后,通过存储器模块中的处理装置对所述多个存储器装置执行第一存储器训练,并且生成指示第一存储器训练的完成的模块就绪信号;在对计算系统上电之后,通过主机装置执行第一启动序列,主机装置执行包括在计算系统中的基本输入/输出系统(BIOS)存储器的BIOS代码;在执行第一启动序列之后,在主机装置中等待将从存储器模块接收模块就绪信号;以及在主机装置中接收模块就绪信号,并且基于模块就绪信号执行第二启动序列。
附图说明
通过参照附图详细描述示例实施例,对于本领域技术人员而言,特征将变得清楚,在附图中:
图1是概念性地示出根据示例实施例的包括安装有处理装置的存储器模块的计算系统的框图;
图2是示出图1的存储器模块的框图;
图3是示出根据示例实施例的启动计算系统的方法的流程图;
图4是用于具体描述由图3的存储器模块中的处理装置进行的第一存储器训练的流程图;
图5是具体示出由图3的CPU执行的第一启动序列的流程图;以及
图6是具体示出由图3的CPU执行的第二启动序列的流程图。
具体实施方式
图1是概念性地示出根据示例实施例的包括安装有处理装置的存储器模块的计算系统的框图。
参照图1,根据示例实施例的计算系统100可包括安装在板(或称为计算系统板)101上的主机装置(或主机)110、存储器模块120和基本输入/输出系统(BIOS)存储器150。主机装置110可通过存储器总线140连接到存储器模块120并与存储器模块120通信。
可使用表述“连接的”和/或“结合的”以及其派生词来描述一些示例。这些术语不意在彼此同义。例如,使用术语“连接的”和/或“结合的”的描述可指示两个或更多个元件彼此直接物理接触或电接触。此外,术语“连接”和/或“结合”可表示两个或更多个元件彼此不直接接触,但仍然彼此协作或交互。
主机装置110可以是例如计算装置(诸如,膝上型计算机、台式计算机、服务器计算机、工作站、便携式通信终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、智能电话、平板PC和其他合适的计算机)、虚拟机或其虚拟计算装置。在一种实施方式中,主机装置110可以是包括在计算系统100中的组件的一部分(诸如,图形卡)。主机装置110可以是在计算系统100中执行通用计算机操作的功能块,并且可对应于中央处理器(CPU)、数字信号处理器(DSP)或应用处理器(AP)。在本说明书中,主机装置110可被称为CPU 110。
CPU 110可被配置为执行可由一个或多个机器执行的指令或软件、固件或它们的组合。CPU 110可包括任何数量的处理器核。例如,CPU 110可包括单核或者可包括多核(诸如,双核、四核和六核)。尽管在图1中示出包括一个CPU 110的计算系统100,但是根据实施例,计算系统100可包括多个CPU。CPU 110可通过各种接口(诸如,串行外围接口(SPI)或低引脚数(LPC)总线)连接到BIOS存储器150。
BIOS存储器150可存储用于启动计算系统100的BIOS代码。BIOS存储器150可利用非易失性存储器装置来实现。非易失性存储器装置可利用电可擦除可编程只读存储器(EEPROM)、闪存、电阻式RAM(RRAM)、磁RAM(MRAM)、相变RAM(PRAM)、铁电RAM(FRAM)、纳米浮栅存储器(NFGM)、聚合物RAM(PoRAM)或与其类似的存储器来实现。
BIOS代码可以是或可包括检测计算系统100的硬件(诸如,板101、存储器模块120、键盘和磁盘驱动器)并验证它们是否正常操作的开机自检(POST)代码,和/或可以是POST代码的一部分。BIOS代码可包括用于初始化存储器模块120的存储器参考代码(memoryreference code,MRC)。MRC可包括被配置为允许CPU 110与存储器模块120正常地互操作的各种算法。
通过由CPU 110执行的MRC,存储在存储器模块120的串行存在检测(SPD)存储器装置(或SPD存储器)104中的SPD数据可通过存储器总线140来读取,并且用于使用SPD数据控制存储器模块120的频率、时序、驱动和详细操作参数可被设置。SPD数据可包括存储器模块120的类型、包括在存储器模块120中的存储器装置的类型、操作时序信息、制造信息、修订代码和序列号。存储器模块120的内置自检(BIST)和/或存储器训练可通过MRC代码来执行。
为了简洁起见,存储器总线140被示出为通过CPU 110与存储器模块120的连接引脚106之间的一条信号线表示,但是它可通过多条信号线表示。存储器总线140可被实现为包括多条信号线的一个通道,或者可被实现为多个通道。此外,一个或多个存储器模块120可连接到每个通道。
存储器总线140可由传输命令/地址的命令/地址信号线和传输数据的数据线组成。此外,存储器总线140可包括信号从存储器模块120发送到CPU110所通过的模块就绪信号(图2中的RDY_DIMM)线250(参见图2)。
模块就绪信号RDY_DIMM指示:在计算系统100的启动操作期间,在存储器模块120中的处理装置130和存储器装置121至129之间执行存储器训练之后,由处理装置130进行的存储器训练完成。在存储器模块120的存储器装置121至129通过处理装置130被执行主要存储器训练之后,模块就绪信号RDY_DIMM可用作指示CPU 110准备好执行次要存储器训练的基本信号。
存储器模块120可被配置为执行处理功能,并且可包括例如印刷电路板102以及结合到印刷电路板102的处理装置130、存储器装置121至129以及SPD存储器装置104。存储器模块120可被实现为合适类型的存储器模块。例如,存储器模块120可被实现为双列直插式存储器模块(DIMM)、寄存的DIMM(Registered DIMM,RDIMM)、低负载DIMM(LRDIMM)、全缓冲DIMM(FBDIMM)、小外形DIMM(SODIMM)等。
处理装置130可作为CPU 110的加速器或协处理器来操作。处理装置130可被实现为在其中各种功能块和/或多个IP被集成在一个半导体集成电路中的片上系统(SoC)。IP表示可集成到SoC中的电路、逻辑或它们的组合。
处理装置130可用作高效地执行CPU 110的特定功能的加速器,并且可包括作为专用于处理图形数据的功能块的图形处理器(GPU)、作为用于高效地执行AI计算和推断的块的神经处理器(NPU)、和/或作为专用于数据传输的块的数据处理器(DPU)。
处理装置130可包括存储器控制器132,存储器控制器132控制到存储器装置121至129的数据发送和来自存储器装置121至129的数据接受。存储器控制器132可根据处理装置130的存储器请求来访问存储器装置121至129。根据示例实施例,存储器控制器132可根据CPU 110的存储器请求来访问存储器装置121至129。在这种情况下,存储器控制器132可被配置为允许由CPU 110控制的存储器装置121至129的访问对于处理装置130是透明的(transparent)。
存储器控制器132可包括存储器物理层接口(PHY)234(参见图2),存储器物理层接口(PHY)234(参见图2)用于与存储器装置121至129接口连接(诸如,选择与存储器位置对应的行和列、将数据写入存储器位置或读取写入的数据)。
存储器装置121至129可在处理装置130中的存储器控制器132的控制下写入数据或读取数据。例如,存储器装置121至129可以是DRAM装置或易失性存储器装置(诸如,同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、低功率双倍数据速率SDRAM(LPDDRSDRAM)、图形双倍数据速率SDRAM(GDDR SDRAM)、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM、DDR5 SDRAM、宽I/O DRAM、高带宽存储器(HBM)、混合存储器立方体(HMC)等)中的任何一个。在下文中,为了便于描述,存储器装置121至129统称为DRAM 121至129。
图2是示出图1的存储器模块的框图。
参照图2,存储器模块120可包括包含存储器控制器132的处理装置130和DRAM 121至129。存储器控制器132可包括寄存器控制字(register control word,RCW)230、训练电路232和存储器PHY 234。
RCW 230可被设置以控制存储器模块120的初始化特性和/或操作特性。RCW 230可包括配置存储器控制器132使得存储器控制器132可与DRAM 121至129正常互操作的各种算法。例如,指示DRAM 121至129的频率、时序、驱动和详细操作参数的代码可被设置在RCW230中。DRAM 121至129的存储器训练可根据RCW 230的代码来执行。
训练电路232可在存储器控制器132的控制下执行与DRAM 121至129的存储器核相关联的存储器核参数训练和/或针对除了存储器核之外的剩余外围电路的外围电路参数训练。训练电路232可确定DRAM 121至129的存储器核参数和/或外围电路参数的最佳参数。训练电路232可在存储器控制器132的控制下执行DRAM 121至129的存储器训练。
存储器PHY 234可包括针对存储器控制器132与DRAM 121至129之间的高效通信所需的信号、频率、时序、驱动、详细操作参数和功能而设置的物理或电层和逻辑层。存储器PHY 234可支持联合电子设备工程委员会(JEDEC)标准DDR和/或LPDDR协议的特征。
存储器PHY 234可通过存储器接口240将存储器控制器132连接到DRAM 121至129。为了简洁起见,存储器接口240被示出为连接到存储器控制器132与DRAM121至129之间的一条信号线,但是实际上可通过多条信号线连接。存储器接口240可包括用于将存储器控制器132连接到DRAM121至129的连接器。连接器可被实现为引脚、球(ball)、信号线或其他硬件组件。例如,可通过存储器接口240在存储器控制器132与DRAM 121至129之间发送和接收时钟信号、命令、地址、数据等。
DRAM 121至129中的每个可包括模式寄存器组(MRS)220、存储器核和除存储器核之外的其他外围电路。存储器核可包括存储器单元阵列、行解码器、列解码器以及感测放大器单元。存储器单元阵列可包括多条字线和多条位线、以及形成在字线与位线相交的点的多个存储器单元。在一种实施方式中,行解码器启用与行地址对应的字线,感测放大器单元感测并放大连接到启用的字线的存储器单元的数据并将该数据发送到位线,列解码器以突发模式(burst mode)递增地增加接收的列地址并选择与递增地增加的列地址对应的位线。
MRS 220可被编程为设置DRAM的多个操作选项、各种功能、特性和模式。当从存储器控制器132发出MRS命令时,可使用提供给存储器接口240的地址总线的适当位值对MRS220进行编程。
例如,MRS 220可用于控制突发长度BL、CAS延迟CL、写入均衡启用/禁用、数据端子参考电压(data terminal reference voltage,VrefDQ)训练等。突发长度BL可被提供以设置可针对读取命令和/或写入命令访问的列位置的最大数量。CAS延迟CL可被提供以定义读取命令与有效输出数据的第一位之间的时钟循环延时。写入均衡可被提供以在写入操作期间启用或禁用时钟信号与数据选通信号之间的偏斜补偿(skew compensation)。VrefDQ训练可被提供以设置用于读取输入或输出到数据(DQ)端子的数据的参考电压。可基于驱动连接到数据(DQ)端子的输入/输出缓冲器的电源电压VDDQ来训练VrefDQ训练。
此外,MRS 220可用于控制与DRAM的通用功能、特性和模式有关的延迟锁定环(DLL)重置、DLL启用/禁用、输出驱动强度、附加延迟、终端数据选通(TDQS)启用/禁用、输入/输出缓冲器启用/禁用、CAS延迟、动态终止(dynamic termination)、光循环冗余校验(CRC)(Light Cyclic Redundancy Check)、多用途寄存器(MPR)位置功能、MPR操作功能、减速模式(gear down mode)、MPR读取格式、断电模式、Vref监视、读取前导码训练模式、读取前导码功能、写入前导码功能、命令和地址(C/A)奇偶校验功能、CRC错误状态、C/A奇偶校验错误状态、片上终结(On Die Termination,ODT)功能、数据掩码功能、写入数据总线反转(DBI)功能、读取DBI功能、错误检测码(EDC)保持模式等。
根据示例实施例,当计算系统100上电时,存储器模块120可通过存储器模块120内的处理装置130对DRAM 121至129执行第一存储器训练。同时,计算系统100可根据上电通过CPU 110执行启动操作,以执行BIOS代码的一部分。
存储器模块120的DRAM121至129的第二存储器训练可包括在用于通过CPU 110执行BIOS代码的启动操作中。在第二存储器训练的实施方式中,第一存储器训练可能已经完成(即,可在确认存储器模块120处于就绪状态之后执行第二存储器训练),这可有益于减少计算系统100的启动时间。此外,通过向CPU 110通知存储器模块120的就绪状态,最小启动时间可被设置。
存储器模块120的存储器控制器132可在处理装置130对DRAM 121至129的第一存储器训练完成之后输出模块就绪信号RDY_DIMM。训练电路232可通过执行DRAM 121至129的第一存储器训练,来生成指示存储器训练完成的模块就绪信号RDY_DIMM。存储器模块120可通过存储器模块120的连接引脚106之中的未使用的引脚,将模块就绪信号RDY_DIMM输出到存储器模块120的外部。根据示例实施例,存储器模块120可通过存储器模块120的连接引脚106之中的专用于模块就绪信号的引脚,输出模块就绪信号RDY_DIMM。
从存储器模块120输出的模块就绪信号RDY_DIMM可通过形成在计算系统100的板101上的专用信号线250发送到CPU 110。专用信号线250(或称为模块就绪信号RDY_DIMM线)可被包括在存储器总线140中并且连接到CPU 110。
根据示例实施例,模块就绪信号RDY_DIMM可通过形成在计算系统100的板101上的中断信号线被发送到CPU 110。CPU 110可包括系统管理模式(SMM),并且SMM可允许CPU 110在用于监视和管理系统资源和功率使用的替代环境中操作(例如,执行特定系统级代码)。可通过系统管理中断(SMI)进入SMM。CPU 110可包括SMI封装引脚,并且SMI封装引脚可连接到中断信号线。CPU 110可通过中断信号线和SMI封装引脚接收模块就绪信号RDY_DIMM。重新使用板101中的现有中断信号线可节省板101中的大量占用空间,并且避免将附加导线延伸到CPU 110的成本。此外,避免附加导线可消除来自附加导线的存在的潜在电磁干扰(EMI)。
图3是示出根据示例实施例的启动计算系统的方法的流程图。
参照与图1和图2相关的图3,在操作S100中,可向计算系统100供电,并且计算系统100可上电(S100)。操作S100可包括计算系统100被重置或者计算系统100的电力状态被转变的情况。根据示例实施例,当计算系统100上电时,为了计算系统100的正确操作,可执行对计算系统100的硬件组件上电复位(POR)操作。例如,当提供给存储器模块120的电源电压电平稳定地保持恒定时,为了存储器模块120的正确操作,处理装置130和DRAM 121至129可执行POR操作。
在计算系统100上电之后,计算系统100的启动操作可被划分为由存储器模块120中的处理装置130执行的第一启动操作S320和S322以及由CPU110执行从BIOS存储器150读取的BIOS代码的第二启动操作S330、S332、S334、S336和S338。处理装置130执行的第一启动操作可与CPU 110执行的第二启动操作中的一些第二启动操作被同时执行。CPU 110执行的第二启动操作中的剩余的第二启动操作可在检查存储器模块120的模块就绪状态之后进行。
在计算系统100上电之后,存储器模块120可通过处理装置130执行第一存储器训练(S320)。处理装置130中的存储器控制器132的训练电路232可对DRAM121至129执行训练。例如,可执行时钟训练、地址训练、写入/读取均衡、写入/读取重新居中训练(write/readre-center training)等。将参照图4描述在操作S320中的由处理装置130进行的第一存储器训练的详细描述。
当由处理装置130进行的第一存储器训练S320完成时(即,在训练电路232中完成针对DRAM 121至129的第一存储器训练之后),存储器模块120可生成指示第一存储器训练完成的模块就绪信号RDY_DIMM(S322)。模块就绪信号RDY_DIMM可被发送到CPU 110。
在计算系统100上电之后,CPU 110可对计算系统100执行第一启动序列(S330)。第一启动序列可被配置为读取关于CPU 110、存储器模块120和计算系统板101的存储的标识(ID)信息。根据示例实施例,可从包括在存储器模块120中的SPD存储器装置104读取存储的ID信息,或者从BIOS存储器150读取存储的ID信息。包括在BIOS存储器150中的BIOS代码可包括用于读取关于CPU 110、存储器模块120和计算系统板101的存储的ID信息的指令。CPU110可通过执行BIOS代码来提取CPU 110、存储器模块120和计算系统板101的ID(例如,序列号)。将参照图5描述操作S330中的第一启动序列的详细描述。
在执行第一启动序列(S330)之后,CPU 110可检查是否从存储器模块120接收到模块就绪信号RDY_DIMM(S332)。如果未接收到模块就绪信号RDY_DIMM(S332:否)(即,如果存储器模块120中的处理装置130对DRAM 121至129的第一存储器训练未完成),则如S332和S334循环所示,CPU 110可等待直到由处理装置130进行的第一存储器训练完成并且模块就绪信号RDY_DIMM被接收到为止(S334)。
如果从存储器模块120接收到模块就绪信号RDY_DIMM(S332:是)(即,如果存储器模块120中的处理装置130对DRAM 121至129的第一存储器训练完成),则CPU 110可对计算系统100执行第二启动序列(S336)。第二启动序列可被配置为通过CPU 110初始化存储器模块120,并且对DRAM 121至129执行第二存储器训练。CPU 110对DRAM 121至129的第二存储器训练可类似于在操作S320中执行的处理装置130对DRAM 121至129的第一存储器训练。CPU 110对DRAM 121至129的第二存储器训练可包括例如时钟训练、地址训练、写入/读取均衡、写入/读取重新居中训练等。将参照图6描述操作S336中的第二启动序列的详细描述。
如果CPU 110对计算系统100的第二启动序列成功完成并且没有检测到硬件故障,则激活启动的计算系统100(S338)。计算系统100可执行各种计算功能。
在上述计算系统的启动方法中,在存储器模块120中的处理装置130与DRAM 121至129之间主要地执行存储器训练之后,在CPU 110与DRAM 121至129之间次要地执行存储器训练。由于DRAM 121至129的存储器训练被执行两次,因此,可以更充分地确保计算系统的稳定性。
图4是用于具体描述由图3的存储器模块中的处理装置进行的第一存储器训练(S320)的流程图。
参照图2、图3和图4,当计算系统100上电时,存储器模块120可上电(S310)。在存储器模块120上电之后,存储器控制器132可设置RCW 230以控制DRAM 121至129的初始化特性和/或操作特性(S401)。存储器控制器132可将指示DRAM 121至129的频率、时序、驱动和详细操作参数的代码存储在RCW 230中,以与DRAM 121至129正常地互操作。
DRAM 121至129可设置MRS 220,MRS 220设置DRAM 121至129的多个操作选项、各种功能、特性和模式(S402)。例如,用于设置突发长度BL、CAS延迟CL、MPR操作功能、MPR读取格式、写入均衡、VrefDQ训练、读取/写入DBI功能等的代码可被设置在MRS 220中。
存储器控制器132的训练电路232可通过存储器接口240执行用于控制信号CTL的时钟训练(S403)。控制信号CTL可包括片选信号CS、时钟启用信号CKE、行地址选通信号RAS、列地址选通信号CAS和写入启用信号WE。可执行时钟训练,使得从存储器控制器132发送的控制信号CTL与时钟信号CLK可由DRAM121至129同步地接收。
存储器控制器132的训练电路232可通过存储器接口240执行用于命令CMD的时钟训练(S404)。命令CMD可包括预充电命令、激活命令、读取命令和写入命令。可执行时钟训练,使得从存储器控制器132发送的命令CMD可由DRAM 121至129与时钟信号CLK同步地接收。
存储器控制器132可执行用于识别由DRAM 121至129通过存储器接口240接收的信号的接受(或接收)启用的训练(S405)。DRAM 121至129可向训练电路232提供识别接受从存储器控制器132发送的信号的接受启用信号。训练电路232可包括用于保持接收启用信号的断言(assertion)与来自存储器控制器132的信号的发送一致的缓冲和时序电路。可在接受启用训练处理期间确定训练电路232中的接受启用信号的断言时序。
存储器控制器132的训练电路232可对通过存储器接口240从DRAM 121至129输出的数据DQ执行基本数据选通信号(DQS)训练(或称为读取DQ/DQS基本训练)(S406)。当DRAM121至129的数据选通信号DQS与数据DQ一起被输出到存储器控制器132时,训练电路232可执行读取重新居中训练,使得数据选通信号(DQS)边沿在数据(DQ)窗中居中。
可使用MRS 220的MPR操作功能和MPR读取格式,来执行操作S403中的用于控制信号CTL的时钟训练、操作S404中的用于命令CMD的时钟训练、操作S405中的用于接受启用的训练和/或操作S406中的用于数据DQ的数据选通信号(DQS)训练。可通过读取MPR中的预设时序校准位序列,来执行用于控制信号CTL的时钟训练、用于命令CMD的时钟训练和接受启用训练。此外,可通过读取MPR中的预设数据模式,来训练用于数据DQ的数据选通信号(DQS)训练。操作S403至S406的训练是使用MPR的外围电路(而不是使用DRAM 121至129的存储器核)的参数训练。
存储器控制器132的训练电路232可通过存储器接口240接收与DRAM121至129的写入操作相关联的写入均衡命令,并且执行写入均衡以补偿接收的时钟信号CLK与数据选通信号DQS之间的偏斜(S407)。写入均衡是这样的功能:使用时钟信号CLK对从存储器控制器132输出的数据选通信号DQS进行采样并且检测数据选通信号DQS与时钟信号CLK之间的相位关系以调整数据选通信号DQS的延时。
存储器控制器132的训练电路232可针对通过存储器接口240输入到DRAM 121至129的数据DQ执行数据选通信号DQS的训练(或称为写入DQ/DQS基本训练)(S408)。当数据选通信号DQS与数据DQ一起从存储器控制器132输入时,DRAM 121至129可执行写入重新居中训练,使得数据选通信号(DQS)边沿在数据(DQ)窗中居中。
存储器控制器132的训练电路232可执行减小通过存储器接口240输入到DRAM 121至129或从DRAM 121至129输出的数据DQ之间的数据输入/输出时间差的写入/读取数据去偏斜操作(或称为发送/接收每比特去偏斜)(S409)。因为当在写入模式下写入数据DQ之间的偏斜增加时,有效数据窗减小,所以DRAM 121至129可执行写入数据去偏斜操作以补偿数据偏斜,以便确保有效数据裕度。因为当在读取模式下读取数据DQ之间的偏斜增加时,有效数据窗减小,所以DRAM 121至129可执行读取数据去偏斜操作以补偿数据偏斜,以便确保有效数据裕度。
存储器控制器132的训练电路232可执行VrefDQ训练,以设置用于通过存储器接口240读取输入到DRAM 121至129或从DRAM 121至129输出的数据DQ的参考电压(VrefDQ)电平(S410)。DRAM 121至129可训练参考电压VrefDQ的训练值、VrefDQ的训练范围等。DRAM 121至129可执行VrefDQ训练,使得参考电压(VrefDQ)电平进入被示出为多个数据(DQ)转变的重叠的数据(DQ)眼图的中间。
为了存储器控制器132正确地识别从DRAM 121至129读取的数据,重要的是确定读取数据是有效的时的时间。为了使DRAM 121至129正确地识别从存储器控制器132接收的写入数据,重要的是确定写入数据是有效的时的时间。为此,指示在将数据DQ输入到数据选通信号DQS之前或将数据DQ从数据选通信号DQS输出之前数据DQ是否是有效的预定前导码时间可被设置。存储器控制器132的训练电路232可对通过存储器接口240输入到DRAM 121至129或从DRAM121至129输出的数据DQ执行高级数据选通信号(DQS)训练(或称为发送/接收DQ/DQS高级训练)(S411)。
训练电路232可执行启用训练以使数据选通信号DQS能够在根据写入命令输入数据DQ之前或在根据读取命令输出数据DQ之前具有一个时钟周期或两个时钟周期前导码时间。用于数据选通信号DQS的启用训练可执行调整DLL的延时的操作,直到启用信号的断言与数据选通信号DQS中的前导码指示匹配为止。
操作S408至S411的训练可以是使用DRAM 121至129的存储器核的核参数训练。训练电路232可完成DRAM 121至129的外围电路参数训练和核参数训练,并且将优化的外围电路参数和核参数存储在参数存储区域中。参数存储区域可以是例如扩展模式寄存器组(EMRS)或单独的参数寄存器单元、或非易失性存储器(诸如,闪存、EPROM、EEPROM等)。DRAM121至129可在设置有存储在参数存储区域中的优化的外围电路参数和核参数的环境下写入或读取数据。
图5是具体示出由图3的CPU执行的第一启动序列S330的流程图。
参照图1、图3和图5,在计算系统100上电之后,CPU 110可检测计算系统100的硬件配置。CPU 110可检测硬件配置之中的存储器模块120的配置(S501)。CPU 110可检查存储器模块120的类型和/或存储器属性。例如,CPU 110可从SPD存储器装置检查存储器模块120的类型和/或存储器属性。存储器模块120的类型可以是RDIMM、LRDIMM、FBDIMM和SODIMM中的任何一种。存储器属性可由存储列(或称为存储排,rank)的数量、数据宽度、数据带宽等组成。例如,存储器属性可由1个存储列、x4、1600MHz等组成。
为了计算系统100的正确操作,CPU 110可在上电之后检查对计算系统100的硬件组件执行的上电复位(POR)操作(S502)。具体地,CPU 110可检查对处理装置130和DRAM 121至129执行的POR操作,以用于存储器模块120的正确操作。
CPU 110可对计算系统100的双倍数据速率(DDR)时钟进行初始化(S503)。CPU 110可检查计算系统100的电源电压VDD和存储器模块120的存储列(S504)。CPU 110可获得存储在包括在存储器模块120中的SPD存储器装置104中的SPD数据(S505)。SPD数据可包括存储器模块120的类型、包括在存储器模块120中的存储器装置的类型、操作时序信息、制造信息、修订代码和序列号。
在计算系统100的上电之后,CPU执行的第一启动序列(S330)可包括检测存储器模块120的配置(S501)、检查POR操作(S502)、初始化DDR时钟(S503)、检查电源电压VDD和存储器模块120的存储列(S504)以及获得SPD数据(S505)。在本示例实施例中,CPU执行的第一启动序列S330被描述为五个操作,但是第一启动序列S330还可包括各种操作。
在执行第一启动序列(S330)之后,CPU 110可检查是否从存储器模块120接收到模块就绪信号RDY_DIMM(S332),等待直到接收到模块就绪信号RDY_DIMM(S334)为止,并且在接收到模块就绪信号RDY_DIMM时执行第二启动序列S336。
图6是具体示出由图3的CPU执行的第二启动序列S336的流程图。
参照图1、图3和图6,CPU 110可检查从存储器模块120接收到模块就绪信号RDY_DIMM(S332:是),并且测试计算系统100的组件(S601)。例如,CPU 110可对提供给计算系统100的组件的时钟执行粗略测试。CPU 110可执行粗略测试以使时钟信号的相位同步并保持恒定的操作频率。
CPU 110可对存储器模块120的DRAM121至129的输入/输出(IO)接口进行初始化(S602)。此时,存储器模块120的存储器控制器132可被配置为允许由CPU 110控制的DRAM121至129的输入/输出接口对于存储器模块120的处理装置130是透明的。
在对存储器模块120的DRAM 121至129的输入/输出接口进行初始化之后(S602),CPU 110可对DRAM 121至129执行第二存储器训练。在一个示例中,通过CPU 110执行的第二存储器训练对于处理装置可以是透明的。CPU 110对DRAM 121至129进行的输入/输出接口初始化和第二存储器训练可类似于图4中描述的由存储器模块120的处理装置130对DRAM121至129进行的第一存储器训练S320。
通过CPU 110对DRAM 121至129的输入/输出接口进行初始化(S602)可包括与以下操作类似的操作:图4的操作S401中的设置RCW 230使得存储器控制器132与DRAM 121至129的初始化特性和/或操作特性匹配的操作、以及操作S402中的设置对DRAM 121至129的多个操作选项、各种功能、特性和模式进行设置的MRS 220的操作。
此后,CPU 110可对DRAM 121至129执行第二存储器训练。CPU 110可对DRAM 121至129的控制信号CTL执行时钟训练(S603)。通过CPU 110对DRAM 121至129的控制信号CTL执行时钟训练(S603)可类似于图4的操作S403中的时钟训练操作,时钟训练操作被执行使得从存储器控制器132发送的控制信号CTL可与时钟信号CLK被DRAM 121至129同步地接收。
CPU 110可对DRAM 121至129的命令CMD执行时钟训练(S604)。通过CPU 110对DRAM121至129的命令CMD执行时钟训练(S604)可类似于图4的操作S404中的时钟训练操作,时钟训练操作被执行使得从存储器控制器132发送的命令CMD可与时钟信号CLK被DRAM 121至129同步地接收。
CPU 110可执行用于识别在DRAM 121至129中接收的信号的接受启用训练(S605)。通过CPU 110执行用于识别由DRAM 121至129接收的信号的接受启用训练(S605)可类似图4的操作S405中的接受启用训练操作,在接受启用训练操作中,识别接受从存储器控制器132发送的信号的接受启用信号的断言被执行以与来自存储器控制器132的信号的发送匹配。
CPU 110可对从DRAM121至129输出的数据DQ执行基本数据选通信号(DQS)训练(S606)。通过CPU 110对从DRAM121至129输出的数据DQ执行基本数据选通信号(DQS)训练(S606)可类似于图4的操作S406中的读取重新居中训练操作,读取重新居中训练操作被执行,使得当DRAM 121至129的数据选通信号DQS与数据DQ一起被输出到存储器控制器132时,数据选通信号(DQS)边沿在数据(DQ)窗中居中。
CPU 110可执行与DRAM 121至129的写入操作相关联的写入均衡(S607)。通过CPU110执行与DRAM121至129的写入操作相关联的写入均衡(S607)可类似于以下操作:将图4的步骤S407的从存储器控制器132输出的数据选通信号DQS采样为时钟信号CLK并且检测数据选通信号DQS与时钟信号CLK之间的相位关系以调整数据选通信号DQS的延时。
CPU 110可对输入到DRAM121至129的数据DQ执行数据选通信号DQS的训练(S608)。通过CPU 110对输入到DRAM121至129的数据DQ执行数据选通信号DQS的训练(S608)可类似于以下操作:图4的操作S408中的执行写入重新居中训练使得当数据选通信号DQS与数据DQ一起从存储器控制器132输入到DRAM121至129时,数据选通信号(DQS)边沿在数据(DQ)窗中居中的操作。
CPU 110可执行写入/读取数据去偏斜操作以减小输入到DRAM 121至129或从DRAM121至129输出的数据DQ之间的数据输入/输出时间差(S609)。通过CPU 110执行写入/读取数据去偏斜操作以减小输入到DRAM 121至129或从DRAM121至129输出的数据DQ之间的数据输入/输出时间差(S609)可类似于图4的操作S409中的写入数据去偏斜操作和读取数据去偏斜操作。
CPU 110可执行VrefDQ训练以设置用于读取输入到DRAM121至129或从DRAM121至129输出的数据DQ的参考电压(VrefDQ)电平(S610)。通过CPU 110执行VrefDQ训练以设置用于读取输入到DRAM 121至129或从DRAM 121至129输出的数据DQ的参考电压(VrefDQ)电平(S610)可类似于图4的操作S410中的执行VrefDQ训练使得参考电压(VrefDQ)电平进入数据(DQ)眼图的中间的操作。
CPU 110可执行数据选通信号(DQS)训练,以设置指示在数据DQ输入到DRAM 121至129的数据选通信号DQS或数据DQ从DRAM 121至129的数据选通信号DQS输出之前数据DQ是否是有效的预定前导码时间(S611)。通过CPU 110执行数据选通信号(DQS)训练以设置指示在将数据DQ输入到DRAM 121至129的数据选通信号DQS之前或将数据DQ从DRAM 121至129的数据选通信号DQS输出之前数据DQ是否是有效的预定前导码时间(S611)可类似于以下操作:图4的操作S411中的执行启用训练以允许数据选通信号DQS在根据写入命令输入数据DQ之前或在根据读取命令输出数据DQ之前具有一个时钟周期或两个时钟周期前导码时间并且调整DLL的延迟直到启用信号的断言与数据选通信号DQS中的前导码指示匹配为止的操作。
存储器控制器132可通过CPU 110完成DRAM 121至129的第二存储器训练,并将DRAM 121至129的优化的外围电路参数和核参数存储在参数存储区域中。
通过总结和回顾,应用(诸如,深度神经网络)可使用具有大的计算和存储器能力的计算系统来更准确地训练或学习不同的数据集。考虑到训练数据集的增加、模型参数的增加以及处理的中间结果的增加,这样的计算系统可包括配备有用于训练人工神经网络或人工智能的处理装置的存储器模块以及以存储器为中心的动态随机存取存储器(DRAM)。当计算系统被启动时,作为开机自检(POST)的一部分,包括在计算系统中的存储器模块的训练和/或测试可被执行。
包括处理装置的存储器模块可使用存储器模块中的处理装置与DRAM之间的接口调谐操作,并且在处理装置与DRAM之间的接口调谐操作完成之后,主机装置可被通知。因此,包括安装有处理装置的存储器模块的计算系统可在启动时使用新的启动序列来实现。
如上所述,实施例可提供安装有处理装置的存储器模块、包括存储器模块的计算系统以及计算系统的启动方法。
在此公开了示例实施例,并且虽然采用了特定的术语,但是它们仅以一般的和描述性的含义来使用和解释,而不是为了限制的目的。在一些情况下,如本领域普通技术人员自提交本申请时将清楚的是,除非另外特别指示,否则结合特定实施例描述的特征、特性和/或元件可单独使用,或者可与结合其他实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解的是,在不脱离如权利要求中阐述的本发明的精神和范围的情况下,可进行形式上和细节上的各种改变。
Claims (20)
1.一种存储器模块,包括:
印刷电路板;
多个存储器装置,结合到印刷电路板;以及
处理装置,结合到印刷电路板并连接到所述多个存储器装置,
其中,当所述存储器模块上电时,处理装置对所述多个存储器装置执行存储器训练,在完成存储器训练之后生成模块就绪信号,并且将模块就绪信号发送到所述存储器模块的外部。
2.根据权利要求1所述的存储器模块,其中,模块就绪信号通过所述存储器模块的连接引脚之中的未使用的引脚输出到所述存储器模块的外部。
3.根据权利要求1所述的存储器模块,其中,模块就绪信号通过所述存储器模块的连接引脚之中的专用于模块就绪信号的引脚输出到所述存储器模块的外部。
4.根据权利要求1至3中的任意一项所述的存储器模块,其中:
处理装置包括存储器控制器,存储器控制器控制用于所述多个存储器装置的存储器训练,并且
存储器控制器使用训练电路执行存储器训练并生成模块就绪信号。
5.根据权利要求1至3中的任意一项所述的存储器模块,其中,所述存储器模块是双列直插式存储器模块。
6.一种计算系统,包括:
板;
主机装置,安装在所述板上;
存储器模块,安装在所述板上并连接到主机装置,存储器模块包括多个存储器装置和连接到所述多个存储器装置的处理装置;以及
基本输入/输出系统存储器,被配置为存储用于启动所述计算系统的基本输入/输出系统代码,
其中,当所述计算系统上电时,存储器模块的处理装置对所述多个存储器装置执行存储器训练,在完成存储器训练之后生成模块就绪信号,并且将模块就绪信号发送到主机装置。
7.根据权利要求6所述的计算系统,其中,存储器模块通过存储器模块的连接引脚之中的未使用的引脚将模块就绪信号输出到存储器模块的外部。
8.根据权利要求6所述的计算系统,其中,存储器模块通过存储器模块的连接引脚之中的专用于模块就绪信号的引脚将模块就绪信号输出到存储器模块的外部。
9.根据权利要求6所述的计算系统,其中,模块就绪信号通过形成在所述板上的中断信号线发送到主机装置。
10.根据权利要求6所述的计算系统,其中,模块就绪信号通过形成在所述板上的模块就绪信号线发送到主机装置。
11.一种计算系统的启动方法,计算系统包括存储器模块,存储器模块包括连接到多个存储器装置的处理装置,所述启动方法包括:
对计算系统上电;
在对计算系统上电之后,通过存储器模块中的处理装置对所述多个存储器装置执行第一存储器训练,并且生成指示第一存储器训练的完成的模块就绪信号;
在对计算系统上电之后,通过主机装置执行第一启动序列,主机装置执行包括在计算系统中的基本输入/输出系统存储器的基本输入/输出系统代码;
在执行第一启动序列之后,在主机装置中等待将从存储器模块接收模块就绪信号;以及
在主机装置中接收模块就绪信号,并且基于模块就绪信号执行第二启动序列。
12.根据权利要求11所述的启动方法,其中,第一存储器训练的执行和第一启动序列的执行被并行执行。
13.根据权利要求11所述的启动方法,其中:
第一启动序列被配置为读取关于计算系统的硬件组件的标识信息,以及
第一启动序列包括从存储器模块的串行存在检测存储器检查存储器模块的类型和存储器属性。
14.根据权利要求13所述的启动方法,其中,存储器模块是双列直插式存储器模块。
15.根据权利要求11所述的启动方法,其中,第二启动序列包括通过主机装置对存储器模块的所述多个存储器装置执行第二存储器训练。
16.根据权利要求15所述的启动方法,其中,通过主机装置执行的第二存储器训练对于处理装置是透明的。
17.根据权利要求11至16中的任意一项所述的启动方法,还包括:在执行第一存储器训练之后,通过存储器模块的连接引脚之中的未使用的引脚将模块就绪信号从存储器模块输出到存储器模块的外部。
18.根据权利要求11至16中的任意一项所述的启动方法,还包括:在执行第一存储器训练之后,通过存储器模块的连接引脚之中的专用于模块就绪信号的引脚将模块就绪信号从存储器模块输出到存储器模块的外部。
19.根据权利要求11至16中的任意一项所述的启动方法,还包括:通过形成在计算系统的板上的中断信号线将模块就绪信号发送到主机装置。
20.根据权利要求11至16中的任意一项所述的启动方法,还包括:通过形成在计算系统的板上的模块就绪信号线将模块就绪信号发送到主机装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0054780 | 2020-05-07 | ||
KR1020200054780A KR20210136480A (ko) | 2020-05-07 | 2020-05-07 | 프로세싱 장치가 실장된 메모리 모듈을 포함하는 컴퓨팅 시스템의 부팅 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113626264A true CN113626264A (zh) | 2021-11-09 |
Family
ID=78377868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110286953.9A Pending CN113626264A (zh) | 2020-05-07 | 2021-03-17 | 存储器模块、计算系统以及计算系统的启动方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11620135B2 (zh) |
KR (1) | KR20210136480A (zh) |
CN (1) | CN113626264A (zh) |
SG (1) | SG10202103077YA (zh) |
TW (1) | TWI806018B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116738237A (zh) * | 2023-08-11 | 2023-09-12 | 芯耀辉科技有限公司 | 一种存储器系统的训练方法及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230025601A1 (en) * | 2021-07-23 | 2023-01-26 | Micron Technology, Inc. | Initializing memory systems |
US12001356B2 (en) * | 2021-08-31 | 2024-06-04 | Micron Technology, Inc. | Delay elements for command timing in a memory device |
US11875875B2 (en) * | 2021-12-29 | 2024-01-16 | Advanced Micro Devices, Inc. | Variable tick for DRAM interface calibration |
US11823770B1 (en) * | 2022-05-03 | 2023-11-21 | Realtek Semiconductor Corporation | Memory system and memory access interface device thereof |
US20230386563A1 (en) * | 2022-05-25 | 2023-11-30 | Samsung Electronics Co., Ltd. | Memory device, electronic device including the same, and operating method of electronic device |
US20230386534A1 (en) * | 2022-05-25 | 2023-11-30 | Samsung Electronics Co., Ltd. | Methods of operating a near memory processing-dual in-line memory module (nmp-dimm) for performing a read operation and an adaptive latency module and a system thereof |
US20240211160A1 (en) * | 2022-12-27 | 2024-06-27 | Advanced Micro Devices, Inc. | System Memory Training with Chipset Attached Memory |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7647467B1 (en) * | 2006-05-25 | 2010-01-12 | Nvidia Corporation | Tuning DRAM I/O parameters on the fly |
TW201013686A (en) | 2008-09-26 | 2010-04-01 | Asustek Comp Inc | Method of detecting memory training result applied to a computer system |
KR20120085968A (ko) * | 2011-01-25 | 2012-08-02 | 삼성전자주식회사 | 컴퓨팅 시스템의 부팅 방법 및 이를 수행하는 컴퓨팅 시스템 |
US20120284576A1 (en) * | 2011-05-06 | 2012-11-08 | Housty Oswin E | Hardware stimulus engine for memory receive and transmit signals |
US9684520B2 (en) * | 2011-10-20 | 2017-06-20 | Smart Modular Technologies, Inc. | Computing system with non-disruptive fast memory restore mechanism and method of operation thereof |
CN103197933A (zh) | 2012-01-06 | 2013-07-10 | 华硕电脑股份有限公司 | 计算机及其快速启动方法 |
US20140032826A1 (en) * | 2012-07-25 | 2014-01-30 | Samsung Electronics Co., Ltd. | Method of training memory core and memory system |
US9317212B2 (en) | 2012-12-18 | 2016-04-19 | Intel Corporation | Method and apparatus for controlling a storage device |
US9552176B2 (en) | 2013-04-12 | 2017-01-24 | Microsoft Technology Licensing, Llc | Block storage using a hybrid memory device |
US9146848B2 (en) * | 2013-04-30 | 2015-09-29 | Hewlett-Packard Development Company, L.P. | Link training for a serdes link |
US9477409B2 (en) | 2014-06-27 | 2016-10-25 | Intel Corporation | Accelerating boot time zeroing of memory based on non-volatile memory (NVM) technology |
US9639495B2 (en) * | 2014-06-27 | 2017-05-02 | Advanced Micro Devices, Inc. | Integrated controller for training memory physical layer interface |
US9990448B2 (en) | 2015-03-17 | 2018-06-05 | Ca, Inc. | Data center floor plan mapping using location-aware device |
US10025747B2 (en) * | 2015-05-07 | 2018-07-17 | Samsung Electronics Co., Ltd. | I/O channel scrambling/ECC disassociated communication protocol |
US9792190B2 (en) | 2015-06-26 | 2017-10-17 | Intel Corporation | High performance persistent memory |
US9959918B2 (en) * | 2015-10-20 | 2018-05-01 | Samsung Electronics Co., Ltd. | Memory device and system supporting command bus training, and operating method thereof |
CN107393578B (zh) * | 2016-05-16 | 2020-07-28 | 中国长城科技集团股份有限公司 | 一种内存训练的方法和装置 |
US10163485B2 (en) * | 2016-05-25 | 2018-12-25 | Mediatek Inc. | Memory module, memory controller and associated control method for read training technique |
KR102707683B1 (ko) * | 2016-07-12 | 2024-09-20 | 삼성전자주식회사 | 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법 |
KR102719623B1 (ko) * | 2017-01-13 | 2024-10-18 | 삼성전자주식회사 | 트레이닝 동작을 수행하는 메모리 시스템 |
US10719058B1 (en) * | 2017-09-25 | 2020-07-21 | Cadence Design Systems, Inc. | System and method for memory control having selectively distributed power-on processing |
US11455261B2 (en) | 2017-09-29 | 2022-09-27 | Intel Corporation | First boot with one memory channel |
US10890963B2 (en) | 2017-11-24 | 2021-01-12 | Insyde Software Corp. | System and method for platform sleep state enhancements using non-volatile dual in-line memory modules |
US10431305B2 (en) | 2017-12-14 | 2019-10-01 | Advanced Micro Devices, Inc. | High-performance on-module caching architectures for non-volatile dual in-line memory module (NVDIMM) |
JP2020047340A (ja) * | 2018-09-19 | 2020-03-26 | キオクシア株式会社 | 不揮発性メモリ及びメモリシステム |
US11894084B2 (en) * | 2019-02-08 | 2024-02-06 | Intel Corporation | Selective margin testing to determine whether to signal train a memory system |
KR20210033719A (ko) * | 2019-09-19 | 2021-03-29 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그 동작 방법 |
-
2020
- 2020-05-07 KR KR1020200054780A patent/KR20210136480A/ko active Search and Examination
- 2020-12-09 US US17/115,924 patent/US11620135B2/en active Active
-
2021
- 2021-03-17 CN CN202110286953.9A patent/CN113626264A/zh active Pending
- 2021-03-17 TW TW110109551A patent/TWI806018B/zh active
- 2021-03-25 SG SG10202103077YA patent/SG10202103077YA/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116738237A (zh) * | 2023-08-11 | 2023-09-12 | 芯耀辉科技有限公司 | 一种存储器系统的训练方法及系统 |
CN116738237B (zh) * | 2023-08-11 | 2023-11-24 | 芯耀辉科技有限公司 | 一种存储器系统的训练方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
SG10202103077YA (en) | 2021-12-30 |
KR20210136480A (ko) | 2021-11-17 |
TW202143038A (zh) | 2021-11-16 |
US11620135B2 (en) | 2023-04-04 |
TWI806018B (zh) | 2023-06-21 |
US20210349730A1 (en) | 2021-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI806018B (zh) | 記憶體模組以及計算系統 | |
US10621121B2 (en) | Measurement and optimization of command signal timing margins | |
US10679698B2 (en) | Memory preset adjustment based on adaptive calibration | |
US7454586B2 (en) | Memory device commands | |
US12093195B2 (en) | Techniques for command bus training to a memory device | |
US10957414B1 (en) | Method of test and repair of memory cells during power-up sequence of memory device | |
CN109661654B (zh) | 存储器中的差错校验和纠正码的扩展应用 | |
US10599206B2 (en) | Techniques to change a mode of operation for a memory device | |
US20220130841A1 (en) | Semiconductor device using different types of through-silicon-vias | |
US11983410B2 (en) | Method optimizing DQ calibration pattern for memory device and computing system performing same | |
US11664083B2 (en) | Memory, memory system having the same and operating method thereof | |
EP4141872A1 (en) | Memory controller and memory system including the same | |
CN113050883A (zh) | 存储器装置、包括存储器装置的存储器系统及其操作方法 | |
US20210406208A1 (en) | Apparatuses and methods for writing data to a memory | |
CN115223649A (zh) | 信息检测方法及装置、电子设备 | |
US20240361823A1 (en) | Semiconductor memory device, electronic device and method for setting the same | |
US11328786B2 (en) | Memory module storing test pattern information, computer system comprising the same, and test method thereof | |
US20220208286A1 (en) | Dynamic detection and dynamic adjustment of sub-threshold swing in a memory cell sensing circuit | |
KR102458340B1 (ko) | 메모리 장치 | |
US20240118970A1 (en) | Techniques for memory scrubbing associated with reliability availability and serviceability features | |
US20230223096A1 (en) | Configurable ecc mode in dram | |
KR20240034087A (ko) | 온도 정보를 참조하여 리트레이닝을 수행하는 메모리 장치 및 메모리 컨트롤러, 그리고 이들을 포함하는 전자 장치 |
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 |