CN110033815B - 配置为选择性地引导存储器的ram控制器及其操作方法 - Google Patents

配置为选择性地引导存储器的ram控制器及其操作方法 Download PDF

Info

Publication number
CN110033815B
CN110033815B CN201811541505.3A CN201811541505A CN110033815B CN 110033815 B CN110033815 B CN 110033815B CN 201811541505 A CN201811541505 A CN 201811541505A CN 110033815 B CN110033815 B CN 110033815B
Authority
CN
China
Prior art keywords
memory
memories
boot
related information
reset signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811541505.3A
Other languages
English (en)
Other versions
CN110033815A (zh
Inventor
柳成宪
金正烈
禹美英
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110033815A publication Critical patent/CN110033815A/zh
Application granted granted Critical
Publication of CN110033815B publication Critical patent/CN110033815B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/783Masking faults in memories by using spares or by reconfiguring using programmable devices with refresh of replacement cells, e.g. in DRAMs
    • 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 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)
  • Electrotherapy Devices (AREA)

Abstract

随机存取存储器(RAM)控制器与多个存储器连接。随机存取存储器控制器基于关于多个存储器的引导相关信息选择性地引导多个存储器中的至少一个存储器。

Description

配置为选择性地引导存储器的RAM控制器及其操作方法
相关申请的交叉引用
本专利申请要求于2017年12月18日向韩国知识产权局提交的第10-2017-0174422号韩国专利申请的优先权,其公开内容通过引用整体并入本文。
技术领域
本文公开的本公开的实施例涉及半导体器件。更具体地,本公开涉及一种被配置为选择性地引导存储器的随机存取存储器(random-access memory,RAM)控制器。
背景技术
半导体存储器是指使用诸如硅(Si)、锗(Ge)、砷化镓(GaAs)、磷化铟(InP)等的半导体来实现的存储器器件。半导体存储器器件大致分为易失性存储器器件或者非易失性存储器器件。
易失性存储器器件是如果电源关闭则丢失存储在其中的数据的存储器器件,而非易失性存储器器件是即使电源关闭也保留存储在其中的数据的存储器器件。动态随机存取存储器(dynamic random-access memory,DRAM)是一种具有快速访问速度的易失性存储器器件,以使得DRAM在计算***中广泛用作操作存储器、缓冲存储器、主存储器等。由于越来越需要管理大量数据,所以诸如针对服务器的行业对DRAM的需求正在增加。
就必须长时间且不间断操作的行业的存储器的特性而言,DRAM的可靠性是非常重要的。然而,由于DRAM总是操作以保留和管理存储在其中的数据,所以可能会不必要地增加DRAM的退化。为了解决这种问题,行业正在研究适当分配连接到DRAM的通道的方式。然而,由于全部DRAM都在引导过程中进行操作,所以在全部DRAM都被退化的情况下,上述方式和现有方式之间没有区别。因此,为了解决上述问题,需要用于改善DRAM的可靠性和寿命的技术。
发明内容
本公开的实施例提供了一种被配置为选择性地引导多个存储器的RAM控制器。
本公开的实施例提供了一种选择性地引导连接到RAM控制器的多个存储器的方法。
根据示例性实施例,与多个存储器连接的随机存取存储器(RAM)控制器可以包括复位控制单元,该复位控制单元基于关于多个存储器的引导相关信息选择性地引导多个存储器中的至少一个存储器。
根据示例性实施例,与多个存储器连接的RAM控制器的操作方法可以包括接收复位信号,基于关于多个存储器的引导相关信息选择多个存储器中的至少一个存储器,并且将复位信号提供给所选择的至少一个存储器。
根据示例性实施例,与多个存储器连接的电子设备可以包括运行引导代码的只读存储器(read only memory,ROM)、随着引导代码的运行生成复位信号的复位电路、以及基于关于多个存储器的引导相关信息选择性地将复位信号提供给多个存储器中的至少一个存储器的RAM控制器。
附图说明
通过参考附图详细描述其示例性实施例,本公开的以上和其他目的和特征将变得显而易见。
图1是示出根据实施例的包括RAM控制器的电子设备的示例性配置的框图。
图2是示出图1所示的RAM控制器和连接到该RAM控制器的多个存储器的框图。
图3是示出图1和图2所示的RAM控制器的示例性配置的框图。
图4是示出根据本公开实施例的电子设备的示例性配置的框图。
图5是示出图4所示的RAM控制器的示例性配置的框图。
图6是示出图4所示的RAM控制器的另一示例性配置的框图。
图7是示出提供给在图6的实施例中所选择的存储器的信号波形的时序图。
图8是示出根据本公开实施例的电子设备的操作方法的流程图。
图9是示出图8所示的操作S130的流程图。
图10是示出图8所示的操作S130的另一实施例的流程图。
图11是概念性地示出根据本公开实施例的如何重新配置要被引导的存储器的数量的框图。
图12是示出根据本公开实施例的电子设备的示例性配置的框图。
图13是示出根据本公开实施例的电子设备的操作方法的流程图。
图14是概念性地示出根据本公开实施例的如何重新配置要被引导的存储器的数量的框图。
图15是示出根据本公开实施例的电子设备的操作方法的流程图。
图16是示出以上实施例中描述的多个存储器器件中的任意一个存储器器件的框图。
图17是示出根据本公开的连接到RAM控制器的存储器模块的框图。
图18是示出根据本公开的连接到RAM控制器的存储器模块的框图。
图19是示出应用根据本公开实施例的RAM控制器和连接到该RAM控制器的多个存储器的服务器***的视图。
具体实施方式
下面,可以详细且清楚地描述本公开的实施例以达到本领域普通技术人员容易实现本文描述的发明概念的程度。
图1是示出根据实施例的包括RAM控制器140的电子设备100的示例性配置的框图。连接到电子设备100的多个存储器10和储存器20与电子设备100一起在图1中示出。另外,供应电源电压VDD的电力管理集成电路30(power management integrated circuit,PMIC)与电子设备100一起在图1中示出。RAM控制器140可以利用电路、利用运行指令的处理器或者电路和运行指令的处理器的组合来实现。类似地,本文描述的单元,包括复位控制单元,可以利用电路、利用运行指令的处理器、或者电路和运行指令的处理器的组合来实现。本文描述的“逻辑”也是如此。
电子设备100可以包括一个或多个处理器110、ROM 120(只读存储器)、复位电路130、RAM控制器140、非易失性存储器接口电路150、通信模块160和总线170。例如,电子设备100可以是诸如台式计算机、膝上型计算机、平板电脑、智能手机、可穿戴设备、视频游戏机、工作站、服务器等电子设备中的一个。可选地,电子设备100可以是在这种电子设备内实现的片上***(system on chip,SoC)。
处理器110可以控制电子设备100的总体操作。处理器110可以处理各种算术运算和/或逻辑运算。为此,处理器110可以包括专用集成电路(application specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、专用微处理器、微处理器等。例如,处理器110可以包括一个或多个处理器内核,并且可以利用通用处理器、专用处理器或应用处理器来实现。
在电子设备100的引导操作中,处理器110可以将存储在ROM 120中的引导代码加载到多个存储器10中的至少一个存储器,并且可以控制电子设备100的引导操作。另外,在电子设备100的操作中,处理器110可以将存储在ROM 120中的更新代码加载到存储器10中的至少一个存储器,并且可以控制更新存储在储存器20中的固件的操作。
ROM 120可以存储引导代码和更新代码。引导代码可以包括用于在引导电子设备100时初始化电子设备100的组件的代码。例如,引导代码可以包括用于加载存储在储存器20中的固件的代码。更新代码可以包括用于更新存储在储存器20中的固件的代码。
复位电路130可以生成用于初始化电子设备100的组件和连接到电子设备100的组件的复位信号。例如,复位信号可以是通电复位(power on reset,POR)信号和/或硬件复位信号。复位电路130可以基于在电子设备100的引导操作中从电力管理集成电路30提供的电力来生成复位信号。
RAM控制器140可以提供电子设备100和存储器10之间的接口。RAM控制器140可以根据处理器110或任意硬件功能块(例如,其他知识产权块(IP块)(诸如可以作为知识产权被单独保护或可被保护的独特电路))的请求来访问存储器10中的至少一个存储器。例如,RAM控制器140可以根据处理器110的写入请求将数据记录在存储器10中的至少一个存储器中。例如,RAM控制器140可以根据处理器110的读取请求从存储器10读取数据。如稍后将更全面描述的,RAM控制器140可以被配置为在电子设备100的引导操作中仅引导存储器10的至少一个存储器。
通信模块160可以与电子设备100的外部设备/***进行通信。例如,通信模块160可以是独立于处理器110制成的知识产权块、电路或半导体芯片。可选地,在处理器110是利用应用处理器来实现的情况下,通信模块160的至少一部分的功能可以作为处理器110合并在应用处理器中。
例如,通信模块160可以支持诸如长期演进(long term evolution,LTE)、全球微波互联接入(worldwide interoperability for microwave access,WiMax)、全球移动通信***(global system for mobile communication,GSM)、码分多址(code divisionmultiple access,CDMA)、蓝牙、近场通信(near field communication,NFC)、无线保真(wireless fidelity,Wi–Fi)、射频识别(radio frequency identification,RFID)等各种无线通信协议中的至少一种。和/或诸如传输控制协议/互联网协议(transfer controlprotocol/Internet protocol,TCP/IP)、通用串行总线(universal serial bus,USB)、火线等各种有线通信协议中的至少一种。
总线170可以提供电子设备100的组件之间的通信路径。电子设备100的组件可以基于总线170的总线格式彼此交换数据。例如,总线格式可以包括诸如USB、小型计算机***接口(small computer system interface,SCSI)、快速***组件互连(peripheralcomponent interconnect express,PCIe)、移动PCIe(mobile PCIe,M–PCIe)、高级技术附件(advanced technology attachment,ATA)、并行ATA(parallel ATA,PATA)、串行ATA(serial ATA,SATA)、串行连接SCSI(serial attached SCSI,SAS)、集成驱动电子设备(integrated drive electronics,IDE)、增强型IDE(enhanced IDE,EIDE)、快速非易失性存储器(nonvolatile memory express,NVMe)、通用闪存(universal flash storage,UFS)等各种接口协议中的一种或多种。
用于存储数据的各种器件可以连接到电子设备100。例如,存储器10可以连接到电子设备100以用于临时存储数据,并且储存器20可以连接到电子设备100以用于(半)永久地存储数据。
在引导操作期间,将操作***(operating system,OS)、基本应用程序和/或固件加载到存储器10。例如,在电子设备100的引导操作期间,可以根据引导序列将存储在储存器20中的OS图像加载到存储器10中的至少一个存储器。操作***OS可以支持电子设备100的总体输入/输出操作。另外,可以将由用户选择的或用于提供基本服务的应用程序和/或固件加载到存储器10中的至少一个存储器。
存储器10可以存储要用于电子设备100的操作的数据。例如,存储器10可以临时存储由处理器110处理或将由处理器110处理的数据。例如,存储器10可以包括诸如动态随机存取存储器(DRAM)、同步DRAM(synchronous DRAM,SDRAM)等的易失性存储器。和/或诸如相变RAM(phase-change RAM,PRAM)、磁阻RAM(magneto-resistive RAM,MRAM)、电阻RAM(resistive RAM,ReRAM)、铁电RAM(ferro-electric,FRAM)等的非易失性存储器。然而,为了便于描述,下面假设存储器10是基于双数据速率(double data rate,DDR)接口的DRAM。
储存器20可以包括一个或多个存储器器件和控制器。储存器20的存储器器件可以保留数据而不管电源如何。例如,储存器20可以包括诸如快闪存储器、PRAM、MRAM、ReRAM或FRAM的非易失性存储器器件。例如,储存器20可以包括诸如固态驱动器(solid-statedrive,SSD)、可移动储存器、嵌入式储存器等的存储介质。
电力管理集成电路30可以为电子设备100、存储器10和储存器20供电。电力管理集成电路30可以被配置为生成适合各个组件的电压电平。具体地,电力管理集成电路30可以生成用于复位电路130生成复位信号的电压。
然而,根据实施例,图1中电子设备100的一个或多个元件(例如,诸如但不限于通信模块160等的组件)可以省略。
图2是示出RAM控制器140和连接到该RAM控制器140的存储器10的框图,所述RAM控制器140和存储器10已在图1中示出。为了更好地理解,将一起参考图1和图2给出描述。
RAM控制器140可以与从第一存储器11至第n存储器1n的多个存储器连接。然而,有时针对一些操作,RAM控制器140也可以不用电连接到存储器11至1n中的一个或多个存储器。例如,RAM控制器140可以被配置为在电子设备100的引导操作中仅引导存储器11至1n中的至少一个存储器。为了仅引导至少一个存储器,RAM控制器140可以被配置为将由复位电路130生成的复位信号提供给从存储器11至1n中选择的至少一个存储器。
为了说明清楚,提供给第一存储器11的复位信号用第一复位信号RESET1标记,提供给第二存储器12的复位信号用第二复位信号RESET2标记,以及提供给第n存储器1n的复位信号用第n复位信号RESETn标记。然而,复位信号RESET1至RESETn可以来自或基于由复位电路130生成的相同复位信号。
RAM控制器140可以通过共同连接到多个存储器11至1n的线向所选择的至少一个存储器提供时钟CK(clock,时钟)、命令CMD(command,命令)和地址ADDR(address,地址)。RAM控制器140可以与从存储器11至1n中所选择的至少一个存储器交换数据“DATA”。由于仅引导由复位信号初始化的存储器,所以数据“DATA”仅在RAM控制器140和已初始化的存储器之间进行交换。
另外,每当电子设备100被引导时,RAM控制器140可以通过使用存储器11至1n的引导相关信息,允许不同的存储器被引导。例如,RAM控制器140可以基于包括存储器11至1n中的每一个存储器的引导操作次数和/或存储器11至1n中的每一个存储器的操作时间的引导相关信息,在存储器11至1n中选择要被引导的存储器。结果,引导操作可以从具有最小引导操作次数或者具有最短操作时间的存储器开始顺序执行。
换句话说,RAM控制器140可以计数存储器11至1n中的每一个存储器的引导操作次数以用作引导相关信息的基础。RAM控制器140还可以检查与存储器11至1n中的每一个存储器相关联的各个操作时间以用作引导相关信息的基础。可以由计数器随时间计数存储器11至1n中的每一个存储器的引导操作次数,诸如随固定时间或随具有变化的起始点的可变时间(诸如基于事件的时间)计数。可变起始时间的示例可以是在器件或***中的安装时间,针对从第一存储器11到第n存储器1n的不同的存储器,该安装时间可以变化。操作时间也可以由计时器随时间计数或检查,诸如随固定时间或可变时间计数或检查。
根据顺序引导存储器11至1n的方案,不会不必要地引导全部存储器11至1n,而是仅引导与驱动电子设备100所必需的容量相对应的存储器(或多个存储器)。换句话说,可以仅使用一个存储器的容量,以避免不必要地引导其他存储器。因此,因为防止了存储器由于不必要的引导而被过度退化,所以可以改善存储器11至1n的整个可靠性和寿命。
图3是示出图1和图2所示的RAM控制器140的示例性配置的框图。RAM控制器140可以包括复位控制单元141。RAM控制器140可以进一步包括事务处理器TP(transactionprocessor,事务处理器)、请求缓冲器RB(request buffer,请求缓冲器)、命令处理器CP(command processor,命令处理器)、数据缓冲器DB(data buffer,数据缓冲器)和地址生成器AG(address generator,AG)。
复位控制单元141可以被配置为基于存储器11至1n的引导相关信息选择存储器11至1n中的至少一个存储器,并且将复位信号RESET提供给所选择的存储器。例如,复位控制单元141可以被配置为测量和存储存储器11至1n中的每一个存储器的引导操作次数和/或操作时间(即,引导相关信息)。例如,复位控制单元141可以包括诸如现场可编程门阵列(FPGA)、寄存器等的电路。
复位控制单元141可以更新存储器11至1n中的每一个存储器的引导相关信息,并且引导相关信息可以在下一次引导操作中使用。例如,在下一次引导操作中,复位控制单元141可以基于更新后的引导相关信息,从存储器11至1n中选择具有最小引导操作次数或者被驱动最少时间量的存储器。
事务处理器TP可以处理多个写入和读取请求。例如,事务处理器TP可以包括用于仲裁或分类写入和读取请求的各种逻辑电路。例如,事务处理器TP可以按顺序方式(即,先进先出方式)对请求进行分类/排序。可选地,事务处理器TP可以根据被优化以访问存储器11至1n的各种算法来分类/排序请求。分类后/排序后的请求可以存储在请求缓冲器RB中。
另外,事务处理器TP可以仲裁对交换数据“DATA”的处理。例如,事务处理器TP可以按顺序方式(即,先进先出方式)处理数据的输入/输出。可选地,事务处理器TP可以根据用于优化数据的输入/输出吞吐量的各种算法来处理数据的输入/输出。由事务处理器TP处理或将由事务处理器TP处理的数据“DATA”可以存储在数据缓冲器DB中。
图3所示的示例是复位信号RESET被输入到事务处理器TP。然而,在另一实施例中,复位信号RESET可以被直接输入到复位控制单元141。
命令处理器CP可以基于存储在请求缓冲器RB中的请求,生成用于在从存储器11至1n中选择的存储器上执行读取操作或写入操作的命令CMD。
地址生成器AG可以基于写入和读取请求和/或由命令处理器CP生成的命令CMD,来生成用于访问存储器11至1n中所选择的存储器的地址ADDR。
RAM控制器140的包括事务处理器TP、请求缓冲器RB、数据缓冲器DB、命令处理器CP和地址生成器AG的上述示例性配置仅显示了关于生成访问存储器11至1n所需的各种信号的示例。也就是说,应用复位控制单元141的RAM控制器140的配置不限于此,并且RAM控制器可以具有用于控制多个存储器的各种配置。
图4是示出根据本公开实施例的电子设备的示例性配置的框图。图4的实施例显示复位控制单元141(参考图3)是利用引导排序逻辑142和存储器选择器144来实现。本文描述为电子设备的元件的逻辑通过运行指令的处理器、或者电路和运行指令的处理器的组合实现为电路。为了更好地理解,除了电子设备之外,连接到电子设备的存储器11至1n一起在图4中示出,并且将一起参考图1和图3给出描述。
电子设备包括ROM 120、复位电路130和RAM控制器140。RAM控制器140可以包括引导排序逻辑142和存储器选择器144。存储器11至1n可以连接到RAM控制器140。在图4中,连接多个存储器11至1n和RAM控制器140的线是通过其传输复位信号的线,并且为了说明的简洁,没有示出任意其他的线。
如果电子设备100通电,则可以基于存储在ROM 120中的引导代码来执行初始化操作。作为使用引导代码的初始化操作的一部分,ROM 120可以基于由电力管理集成电路30生成的电力生成复位信号RESET。例如,复位信号RESET可以是通电复位(POR)信号或硬件复位信号。
RAM控制器140可以管理用于在存储器11至1n中选择要被引导的存储器的引导相关信息。例如,引导排序逻辑142可以基于引导相关信息来管理要被引导的存储器。引导相关信息包括关于存储器11至1n中的每一个存储器的引导操作次数的信息和/或关于存储器11至1n中的每一个存储器进行操作的时间的信息。例如,引导排序逻辑142可以包括诸如FPGA、寄存器等用于存储引导相关信息的电路。
RAM控制器140可以基于引导相关信息选择要被引导的存储器。例如,RAM控制器140可以从存储器11至1n中选择具有最小引导操作次数或具有最短操作时间的存储器。例如,存储器选择器144可以包括诸如开关或多路复用器的、用于在引导排序逻辑142的控制下选择存储器的电路。
图5是示出图4所示的RAM控制器的示例性配置的框图。RAM控制器140可以包括引导排序逻辑142、存储器选择器144和计数器146。
在电子设备100的引导操作中,由复位电路130生成的复位信号RESET可以被输入到存储器11至1n中的仅一个存储器(或少于全部的存储器)。取而代之的是,引导排序逻辑142可以允许存储器选择器144基于引导相关信息,选择具有最小引导操作次数的存储器。例如,引导相关信息可以是与存储器11至1n中的每一个存储器的ID和引导操作次数NoB(number of booting operations,引导操作次数)相关联的表。
假设直到先前的引导操作(即,不包括当前的引导操作)为止,每个存储器的引导操作次数与存储在引导排序逻辑142中的表的引导操作次数相同。也就是说,假设第一存储器11的引导操作次数是“100”,并且从第二存储器12至第n存储器1n的剩余存储器中的每一个存储器的引导操作次数是“99”。
如果检测到复位信号RESET,则引导排序逻辑142可以通过参考表来确定存储器11至1n中具有最小引导操作次数的存储器将被引导。例如,引导排序逻辑142可以确定存储器(即,第二存储器12)必须按ID次序被引导,或者可以确定第二存储器12至第n存储器1n中的任意存储器必须被引导。
存储器选择器144可以基于引导排序逻辑142的确定结果来选择要被引导的存储器(例如,第二存储器12)。例如,存储器选择器144可以包括用于将复位信号RESET提供给所选择的存储器的晶体管或多路复用器。当选择第二存储器12时,可以将复位信号RESET提供给第二存储器12。在这种情况下,第二存储器12可以被复位信号RESET初始化,从而伴随初始化操作执行各种训练操作。
另外,计数器146可以检测从复位电路130接收的复位信号RESET,并且检测结果可以用于更新存储在引导排序逻辑142中的表。也就是说,由于第二存储器12在当前引导操作中被引导,所以引导排序逻辑142可以更新第二存储器12被引导的次数。
图6是示出图4所示的RAM控制器的另一示例性配置的框图。不同于图5的实施例的引导排序逻辑142,根据图6所示的实施例的引导排序逻辑142使用关于引导存储器11至1n的更精确的信息。RAM控制器140可以包括引导排序逻辑142、存储器选择器144和计时器148。
如果在电子设备100的引导操作中检测到来自复位电路130的复位信号RESET的输入,则计时器148可以检查接收到复位信号RESET的时间点。
引导排序逻辑142基于引导相关信息,在存储器11至1n中确定要被引导的存储器。引导相关信息可以包括关于存储器11至1n中的每一个存储器的ID和操作时间OPT(operating time,操作时间)的信息。例如,引导相关信息可以以表的形式在引导排序逻辑142中被管理/存储。例如,引导排序逻辑142可以以小时/分钟/秒(hh/mm/ss,hour/minute/second)为单位管理存储器11至1n中的每一个存储器的操作时间,但是操作时间的单位不限于此。
在确定存储器11至1n中的第二存储器12的操作时间最短的情况下,引导排序逻辑142控制存储器选择器144,以使得复位信号RESET被提供给第二存储器12。在这种情况下,仅初始化存储器11至1n中的第二存储器12,并且剩余的存储器11和13至1n没有被初始化。
之后,如果检测到断电,则计时器148可以检查检测到断电的时间。从接收到复位信号RESET的时间点到检测到断电的时间点的时间可以被视为第二存储器12的操作时间。引导排序逻辑142可以更新记录在包括引导相关信息的表中的第二存储器12的操作时间。
图7是示出提供给在图6的实施例中所选择的存储器(即,第二存储器12)的信号波形的时序图。图7中例示了提供给第二存储器12的各种信号中的一些信号。为了更好地理解,将一起参考图1和图6给出描述。
如果电子设备100通电,则将电力管理集成电路30生成的电源电压VDD提供给电子设备100的各种组件。即使例示了一种电源电压VDD,但是可以理解,电子设备100提供驱动电子设备100的组件或连接到电子设备100的组件所需的各种电压电平。
如果电子设备100通电,则运行存储在ROM 120中的引导代码,并且因此,复位电路130生成信号RESET。例如,复位信号RESET可以是在逻辑低时段中被激活的低使能信号(或低激活信号)。
计时器148可以检查复位信号RESET从逻辑低转变为逻辑高的第一时间点t1。由于第二存储器12是在第一时间点t1被引导,所以第二存储器12可以被视为从第一时间点t1开始操作。之后,随着时钟CK_t和CK_c、时钟使能信号CKE(clock enable signal,时钟使能信号)和命令CMD被提供给第二存储器12,可以在第二存储器12上执行各种训练操作,并且可以进行数据交换。
如果电子设备100断电,则复位信号RESET可以从逻辑高转变为逻辑低。计时器148可以检查复位信号RESET从逻辑高转变为逻辑低的第二时间点t2。这样,从第一时间点t1到第二时间点t2的时间可以被视为第二存储器12的操作时间。
引导排序逻辑142可以参考第二存储器12的操作时间来更新与引导相关信息相关联的表。更新后的引导相关信息可以用于下一次引导操作。
根据参考图5至图7描述的实施例,不同于在电子设备的引导操作中连接到电子设备的全部存储器一起被引导的通常情况,在电子设备100的引导操作中,除了所选择的第二存储器12之外的剩余存储器11和13至1n不被引导。因此,由于防止了对于引导操作不必要的存储器被引导,所以可以防止存储器被退化。这可以意味着改善了存储器11至1n的整体可靠性和寿命。
图8是示出根据本公开实施例的电子设备的操作方法的流程图。为了更好地理解,将一起参考图1和图4给出描述。
在操作S110中,电子设备100通电。电力管理集成电路30可以提供操作连接到电子设备100的组件(例如,存储器10和储存器20)以及电子设备100的组件所需的各种电压电平。当电子设备100通电时,运行存储在ROM120中的引导代码。
在操作S120中,复位电路130可以生成复位信号RESET。复位信号RESET可以初始化电子设备100的组件和连接到电子设备100的组件。例如,复位信号RESET可以是通电复位(POR)信号或硬件复位信号。
在操作S130中,可以将复位信号RESET提供给基于引导相关信息从存储器11至1n中选择的存储器。例如,引导相关信息可以包括关于存储器11至1n中的每一个存储器的引导操作次数和/或操作时间的信息。根据上面的描述,仅复位所选择的存储器,剩余的存储器不被引导。
图9是示出图8的操作S130的流程图。为了更好地理解,将一起参考图5和图9给出描述。
在操作S141中,RAM控制器140接收复位信号RESET。
在操作S143中,选择具有最小引导操作次数的存储器。例如,引导排序逻辑142可以通过参考包括关于存储器的ID和引导操作次数的信息的表来控制存储器选择器144。存储器选择器144可以是被配置为在引导排序逻辑142的控制下执行切换操作以将复位信号RESET提供给要被引导的存储器的电路。
在操作S145中,可以增加与所选择的存储器的引导操作次数相关联的计数值。例如,如果第二存储器12被选择为要被引导的存储器,则取决于确定第二存储器12具有最小引导操作次数的结果,第二存储器12的引导操作次数可以增加“1”。
在操作S147中,将复位信号RESET提供给所选择的存储器。由于存储器选择器144仅选择存储器11至1n中的一个存储器,所以不用将复位信号RESET提供给未选择的存储器。之后,取决于给定的过程,可以在所选择的存储器上执行各种训练操作,并且可以在所选择的存储器上执行读取和写入操作。
图10是示出图8所示的操作S130的另一实施例的流程图。为了更好地理解,将一起参考图6和图7给出描述。
在操作S151中,记录接收到复位信号RESET的时间。例如,RAM控制器140可以检测复位信号RESET(例如,低使能信号)从逻辑低转变为逻辑高的时间点。尚未被选择但将要被选择的存储器的操作时间可以从接收到复位信号RESET的时间点开始计算。
在操作S152中,从存储器11至1n中选择具有最短操作时间的存储器。例如,引导排序逻辑142可以基于包括关于存储器11至1n中的每一个存储器的ID和操作时间的信息的表来选择要被引导的存储器。例如,可以以小时/分钟/秒为单位来管理关于操作时间的信息,但是操作时间不限于这些单位。
在操作S153中,将复位信号RESET提供给所选择的存储器。这样,可以在所选择的存储器上执行各种训练操作,并且可以在所选择的存储器上执行读取和写入操作。
在操作S154中,可以检测断电。如果检测到断电,则在操作S155中,可以记录检测到断电的时间。例如,RAM控制器140可以检测复位信号RESET(例如,低使能信号)从逻辑高转变为逻辑低的时间点,并且计时器148可以记录复位信号RESET从逻辑高转变为逻辑低的时间点。
在操作S156中,更新与引导相关信息相关联的表的操作时间。也就是说,复位信号RESET从逻辑低转变为逻辑高的时间点t1和复位信号RESET从逻辑高转变为逻辑低的时间点t2之间的时间可以被视为所选择的存储器的操作时间。更新后的表可以用于在下一次引导操作中从存储器11至1n中选择要被引导的存储器。
图11是概念性地示出根据本公开实施例的如何重新配置要被引导的存储器数量的框图。
以上实施例是在多个存储器中仅一个存储器被引导的条件下描述的。然而,控制电子设备所需的操作***OS或固件FW(firmware,固件)可能会被不断地更新和修补到更高版本。这伴随着操作***OS或固件FW容量的增加。因此,在驱动如此更新后或修补后的操作***OS和/或固件FW所需的最小容量超过被引导的存储器的容量的情况下,操作***OS和/或固件FW可能不能正常操作。图11的实施例建议了针对这种情况的解决方案。
第一存储器11的容量在更新或修补之前足以驱动固件FW。假设第一存储器11的容量在更新或修补之后不足以加载和驱动固件FW。在这种情况下,RAM控制器240可以执行重新配置操作,以使得多个存储器中的两个或多个存储器被引导。
可以在各个时间点执行重新配置操作。例如,如果在电子设备的操作期间检测到操作***OS和/或固件FW的更新,则RAM控制器240比较引导存储器(例如,第一存储器11)的容量和要被更新的操作***OS和/或固件FW的容量以获得比较结果,并且确定引导存储器的容量是否足以驱动要被更新的操作***OS和/或固件FW。
在确定第一存储器11的容量不足以驱动要被更新的操作***OS和/或固件FW的情况下,RAM控制器240(详细地,引导排序逻辑242)可以执行重新配置操作,以使得多个存储器被引导。引导排序逻辑242可以是,例如引导排序逻辑电路。由于可能难以选择性地仅引导单个存储器(例如,第二存储器12)或少于多个存储器中的全部存储器,所以在电子设备的操作期间,多个存储器可以在电子设备的下一次引导操作中全部被引导。
当执行重新配置操作以使得两个或多个存储器同时被引导时,在电子设备的下一次引导操作中,更新后或修补后的操作***OS和/或固件FW可以正常操作。例如,更新后或修补后的操作***OS和/或固件FW可以被适当地分布和加载到两个或多个被引导的存储器,并且可以由处理器(例如,图1的110)驱动。
图12是示出根据本公开实施例的电子设备的示例性配置的框图。电子设备200可以包括ROM 220、复位电路230和RAM控制器240。RAM控制器240可以包括引导排序逻辑242、存储器选择器244和计时器248。除了电子设备200的组件之外,连接到电子设备200的存储器11至1n一起被示出。
如果电子设备200通电,则运行存储在ROM 220中的引导代码,并且因此,复位电路230生成复位信号RESET。计时器248检测复位信号RESET并检查复位信号RESET从逻辑低转变为逻辑高的第一时间点。引导排序逻辑242通过参考包括关于存储器11至1n中的每一个存储器的ID和操作时间的信息的表(即,引导相关信息)来控制存储器选择器244,以使得具有最短操作时间的两个存储器被引导。通过存储器选择器144的切换操作将复位信号RESET提供给第一存储器11和第n存储器1n。
如果电子设备200断电,则计时器248检查复位信号RESET从逻辑高转变为逻辑低的第二时间点。由计时器248检查的第一时间点和第二时间点之间的时间可以是第一存储器11和第n存储器1n的操作时间。引导排序逻辑242可以更新引导相关信息,并且更新后的引导相关信息可以在下一次引导操作中使用。
在图12的实施例中,选择存储器11至1n中的两个存储器。然而,所选择的存储器的数量可能不限于此。也就是说,引导排序逻辑142可以执行重新配置操作,以使得取决于操作***OS和/或固件FW的容量选择适当数量的存储器。
另外,参考图12,基于存储器11至1n的操作时间,在引导排序逻辑242的控制之下引导两个或多个存储器。例如,如在参考图5给出的描述中,引导排序逻辑242可以基于存储器11至1n中的每一个存储器的引导操作次数,从存储器11至1n中选择两个或多个要被引导的存储器。
图13是示出根据本公开实施例的电子设备的操作方法的流程图。详细地,图13的实施例显示了引导排序逻辑的重新配置操作。为了更好地理解,将一起参考图12和图13给出描述。
在操作S210中,电子设备200通电。可以运行存储在ROM(图1的120)中的引导代码,并且复位电路(图1的130)可以生成复位信号。根据以上实施例中描述的方案,连接到RAM控制器240的存储器11至1n中的一些存储器可以被复位。
在操作S220中,可以确定是否存在要被更新的固件(或操作***)。如果存在要被更新的固件(或操作***),则执行操作S230。
在操作S230中,确定关于所引导的存储器的容量是否足以驱动要被更新的固件。如果确定所引导的存储器的容量足以驱动要被更新的固件,则RAM控制器240可以检测固件的附加更新(S220)。相反,在所引导的存储器的容量不足以驱动要被更新的固件的情况下,执行操作S240。
在操作S240中,执行重新配置操作以重新配置要被引导的存储器的数量。由于所引导的存储器的容量不足以驱动要被更新的固件,所以可以增加在下一次引导操作中要被引导的存储器数量。
图14是概念性地示出根据本公开实施例的如何重新配置要被引导的存储器数量的框图。不同于参考图11至图13描述的实施例,将描述用于减少要被引导的存储器数量的重新配置操作。
假设取决于用于增加要被引导的存储器数量的重新配置操作,第一存储器11和第二存储器12同时被引导。然而,由于各种原因(例如,用户的人为删除等),操作***OS和/或固件FW的一部分可能被降级或删除。在这种情况下,引导第一存储器11和第二存储器12两者可能是不必要的。
为此,RAM控制器240可以周期性地检查被驱动的操作***OS和/或固件FW的容量。如果确定即使减少要被引导的存储器的数量(存储器数量),驱动操作***OS和/或固件FW也没有问题,则引导排序逻辑242可以执行用于减少所引导的存储器数量(存储器数量)的重新配置操作。如果完成了重新配置操作,则在下一次引导操作中,可以引导减少数量的存储器(例如,第一存储器11和第二存储器12中的任意一个)。
图15是示出根据本公开实施例的电子设备的操作方法的流程图。为了更好地理解,将一起参考图12和图14给出描述。
在操作S310中,电子设备200通电。
在操作S320中,确定是否要请求降级/删除固件或者降级操作***。用户可以人工做出删除或降级请求,但是删除或降级请求的性质不限于此。在检测到固件降级/删除的情况下,执行操作S330。
在操作S330中,确定存储器是否被过度引导。例如,引导排序逻辑242可以通过比较要由引导代码运行的操作***或固件的总容量和要同时被引导的存储器的总容量以获得比较结果,来确定存储器是否被过度引导。
如果在减少要被引导的存储器的数量(存储器数量)的情况下,要被引导的存储器的容量不足以驱动操作***或固件,则可以执行操作S320。相反,如果在减少要被引导的存储器的数量的情况下,要被引导的存储器的容量足以驱动操作***或固件,则可以执行操作S340。
在操作S340中,执行重新配置操作以重新配置要被引导的存储器的数量。由于存储器被过度引导,则可以减少在下一次引导操作中要被引导的存储器数量。
图16是示出上述实施例中描述的从第一存储器11到第n存储器1n的存储器器件中的任意一个存储器器件的框图。参考图16,存储器器件300可以包括存储体310、行解码器320、列解码器330、命令解码器340、地址缓冲器350、写入驱动器和读出放大器360以及输入/输出电路370。
存储体310可以包括多个存储器单元。存储器单元可以与字线WL(word lines,字线)和位线BL(bit lines,位线)连接。存储器单元可以通过控制字线WL和位线BL来存储数据。存储器单元中的每一个存储器单元可以是包括储能电容器和传输晶体管的DRAM单元。仅示出了一个存储体310作为示例,但是存储体的数量可以根据JEDEC标准进行各种改变。
行解码器320可以通过字线WL与存储体310连接。行解码器320可以基于从命令解码器340接收到的命令CMD和从地址缓冲器350接收到的地址ADDR来选择字线WL中的任意一个。例如,地址ADDR可以是行地址,并且命令CMD可以是行地址选通(RAS,row addressstrobe)信号。
列解码器330可以通过位线BL与存储体310连接。列解码器330可以基于从命令解码器340接收到的命令CMD和从地址缓冲器350接收到的地址ADDR来选择位线BL中的任意一个。例如,地址ADDR可以是列地址,并且命令CMD可以是列地址选通(CAS,column addressstrobe)信号。
写入驱动器和读出放大器360可以将写入数据存储在由行解码器320和列解码器330选择的存储器单元中。为此,写入驱动器和读出放大器360可以驱动输入/输出线GIO(input/output lines,输入/输出线)。写入驱动器和读出放大器360可以从由行解码器320和列解码器330选择的存储器单元读取数据。例如,写入驱动器和读出放大器360可以读出和放大根据读取数据确定的输入/输出线GIO的电压。
命令解码器340可以从外部(例如,主机或RAM控制器)接收命令CMD并且将其解码。例如,命令解码器340可以解码激活命令、写入命令、读取命令、预充电命令等。
地址缓冲器350可以从外部接收地址ADDR并将其存储。详细地,地址缓冲器350可以接收和存储与激活命令相关联的存储体地址和行地址RA(row address,行地址)、与写入命令或读取命令相关联的列地址CA(column address,列地址)、与预充电命令相关联的存储体地址、用于设置模式寄存器的操作码等。
地址缓冲器350可以将行地址RA提供给行解码器320,并且可以将列地址CA提供给列解码器330。地址缓冲器350可以分别将行地址RA和列地址CA提供给行解码器320和列解码器330。
输入/输出电路370可以通过多条数据线与外部交换数据。
图17是示出连接到RAM控制器的存储器模块1000的框图。例如,图17所示的存储器模块1000可以具有负载降低的双列直插式存储器模块(load reduced dual in-linememory module,LRDIMM)的结构。存储器模块1000可以包括RCD 1100(register clockdriver,寄存器时钟驱动器)、DRAM器件1210至1290以及多个数据缓冲器DB。
RCD 1100可以从外部(例如,主机或RAM控制器)接收命令/地址C/A(command/address,接收命令/地址)和时钟信号CK。取决于接收到的信号,RCD 1100可以向DRAM器件1210至1290提供命令/地址C/A,并且可以控制数据缓冲器DB。另外,RCD 1100可以从RAM控制器接收复位信号RESET以初始化DRAM器件1210至1290。
DRAM器件1210至1290可以分别通过存储器数据线MDQ(memory data line,存储器数据线)与数据缓冲器DB连接。在与外部交换数据之前,DRAM器件1210至1290可以被复位信号RESET初始化。数据缓冲器DB可以通过多条数据线DQ(data line,数据线)与外部(例如,主机或RAM控制器)交换数据。
图18是示出连接到RAM控制器的存储器模块2000的框图。在实施例中,图18所示的存储器模块2000可以具有注册的双列直插式存储器模块(registered dual in-linememory module,RDIMM)的结构。不同于图17所示的存储器模块1000,存储器模块2000可以不包括数据缓冲器。例如,存储器模块2000可以被***到DIMM(dual in-line memorymodule,双列直插式存储器模块)插槽中以与外部交换数据。
图19是示出应用RAM控制器和连接到该RAM控制器的多个存储器的服务器***的视图。参考图19,服务器***3000可以包括多个服务器机架3100。多个服务器机架3100中的每一个服务器机架可以包括多个存储器模块3200。存储器模块3200可以由被包括在服务器***3000或多个服务器机架3100中的每一个服务器机架中的RAM控制器控制。
例如,存储器模块3200可以具有双列直插式存储器模块的形式,可以被***电连接到RAM控制器的DIMM插槽中,并且可以与RAM控制器通信。例如,存储器模块3200可以用作服务器***3000的操作存储器。
构成服务器***3000的存储器模块3200可以根据参考图1至图18描述的方法被引导。也就是说,不会引导安装在服务器***3000中的全部存储器,而是基于本说明书中描述的方案来引导存储器。因此,可以减少要被不必要地引导的存储器的数量。这可以意味着服务器***3000的整个寿命被延长。
根据本公开的实施例,不是多个存储器中的全部存储器而是多个存储器中的一些存储器基于引导相关信息被选择性地引导。
由于防止了一些存储器被不必要地引导,所以可以延长存储器的整个寿命。
虽然已经参考其示例性实施例描述了被配置为选择性地引导存储器的RAM控制器及其操作方法的(多个)发明概念,但是对于本领域普通技术人员来说显而易见的是,在不脱离所附权利要求中阐述的本公开的精神和范围的情况下,可以对其进行各种改变和修改。

Claims (15)

1.一种与多个存储器连接的随机存取存储器控制器,包括:
复位控制单元,被配置为基于关于所述多个存储器的引导相关信息选择性地引导所述多个存储器中的至少一个存储器,
其中,所述引导相关信息包括关于所述多个存储器中的每一个存储器的引导操作次数和分别与所述多个存储器相关联的操作时间中的至少一个的信息,并且
其中,所述复位控制单元还被配置为从所述多个存储器当中选择具有最小引导操作次数或最短操作时间的存储器作为要被选择性引导的存储器。
2.根据权利要求1所述的随机存取存储器控制器,其中,所述复位控制单元还被配置为通过将复位信号提供给所述至少一个存储器来初始化所述至少一个存储器。
3.根据权利要求1所述的随机存取存储器控制器,其中,所述复位控制单元包括:
引导排序逻辑电路,被配置为基于所述引导相关信息确定所述要被选择性引导的存储器作为确定结果;
计数器,被配置为对所述多个存储器中的每一个存储器的引导操作次数进行计数以用作所述引导相关信息的基础;和
存储器选择器,被配置为基于所述引导排序逻辑电路的确定结果将复位信号提供给所述至少一个存储器。
4.根据权利要求1所述的随机存取存储器控制器,其中,所述复位控制单元包括:
引导排序逻辑电路,被配置为基于所述引导相关信息确定所述要被选择性引导的存储器作为确定结果;
计时器,被配置为检查与所述多个存储器相关联的各个操作时间以用作所述引导相关信息的基础;和
存储器选择器,被配置为基于所述引导排序逻辑电路的确定结果将复位信号提供给所述至少一个存储器。
5.根据权利要求4所述的随机存取存储器控制器,其中,所述最短操作时间是基于所述复位信号从逻辑低转变为逻辑高的第一时间点与所述复位信号从逻辑高转变为逻辑低的第二时间点之间的时间。
6.根据权利要求1所述的随机存取存储器控制器,其中,所述多个存储器是基于双数据速率(DDR)接口。
7.根据权利要求1所述的随机存取存储器控制器,其中,所述至少一个存储器是第一存储器,并且
其中,当要被加载到所述第一存储器的操作***或固件的容量超过所述第一存储器的容量时,所述复位控制单元还被配置为选择性地引导所述第一存储器和所述多个存储器中的第二存储器。
8.根据权利要求7所述的随机存取存储器控制器,其中,当所述随机存取存储器控制器选择性地引导所述第一存储器和第二存储器中的一个存储器并且要被加载到所述第一存储器和第二存储器的操作***或固件的容量小于所述第一存储器和第二存储器中的任意一个存储器的容量时,所述复位控制单元还被配置为除了选择性地引导所述第一存储器和第二存储器中的任意一个存储器之外不选择性地引导所述第一存储器和第二存储器中的剩余一个存储器。
9.一种操作与多个存储器连接的随机存取存储器控制器的方法,所述方法包括:
接收复位信号;
基于关于所述多个存储器的引导相关信息,选择所述多个存储器中的至少一个存储器作为所选择的至少一个存储器;和
将所述复位信号提供给所选择的至少一个存储器,
其中,所述引导相关信息包括关于所述多个存储器中的每一个存储器的引导操作次数和分别与所述多个存储器相关联的操作时间中的至少一个的信息,并且
其中,从所述多个存储器当中基于具有最小引导操作次数或最短操作时间来选择所选择的至少一个存储器。
10.根据权利要求9所述的方法,还包括:
将关于所选择的至少一个存储器的引导操作次数的信息更新为所述引导相关信息。
11.根据权利要求9所述的方法,还包括:
检查所述复位信号从逻辑低转变为逻辑高的第一时间点;和
检查所述复位信号从逻辑高转变为逻辑低的第二时间点。
12.根据权利要求11所述的方法,还包括:
基于所述第一时间点和第二时间点之间的时间,将关于所选择的至少一个存储器的操作时间的信息更新为所述引导相关信息。
13.根据权利要求9所述的方法,还包括:
检测被加载到所选择的至少一个存储器的操作***或固件的更新;
比较要被更新的操作***或固件的容量和所选择的至少一个存储器的容量以获得比较结果;和
基于所述比较结果,调整所述多个存储器中要被选择性引导的存储器的数量。
14.一种与多个存储器连接的随机存取存储器控制器,包括:
复位控制单元,被配置为基于关于所述多个存储器的引导相关信息选择性地引导所述多个存储器中的至少一个存储器,
其中,所述复位控制单元还被配置为通过将复位信号提供给所述至少一个存储器来初始化所述至少一个存储器,并且
其中,所述引导相关信息包括关于所述多个存储器中的每一个存储器的引导操作次数的第一信息和关于所述多个存储器中的每一个存储器的操作时间的第二信息中的至少一个,
其中,所述复位控制单元被配置为将所述复位信号提供给所述至少一个存储器,并且所述至少一个存储器在所述多个存储器当中具有最小引导操作次数或最短操作时间。
15.根据权利要求14所述的随机存取存储器控制器,其中,所述复位控制单元包括:
引导排序逻辑电路,被配置为基于所述引导相关信息来确定要被选择性引导的存储器作为确定结果;
计数器,被配置为对所述多个存储器中的每一个存储器的引导操作次数进行计数以用作所述引导相关信息的基础,或者计时器,用于检查所述多个存储器中的每一个存储器的操作时间以用作所述引导相关信息的基础;和
存储器选择器,被配置为基于所述引导排序逻辑电路的确定结果,将所述复位信号提供给所述至少一个存储器。
CN201811541505.3A 2017-12-18 2018-12-17 配置为选择性地引导存储器的ram控制器及其操作方法 Active CN110033815B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0174422 2017-12-18
KR1020170174422A KR102445674B1 (ko) 2017-12-18 2017-12-18 선택적으로 메모리를 부팅시키도록 구성되는 램 컨트롤러 및 그 동작 방법

Publications (2)

Publication Number Publication Date
CN110033815A CN110033815A (zh) 2019-07-19
CN110033815B true CN110033815B (zh) 2024-05-28

Family

ID=66816049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811541505.3A Active CN110033815B (zh) 2017-12-18 2018-12-17 配置为选择性地引导存储器的ram控制器及其操作方法

Country Status (3)

Country Link
US (1) US10990281B2 (zh)
KR (1) KR102445674B1 (zh)
CN (1) CN110033815B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209468A (zh) * 2019-05-24 2019-09-06 北京百度网讯科技有限公司 用于启动虚拟机的方法、装置、设备和介质
DE112019007572T5 (de) * 2019-07-26 2022-04-28 Mitsubishi Electric Corporation Speicherprogrammierbare Steuerung, Einstellwerkzeug und Programm
CN114594991A (zh) * 2020-12-03 2022-06-07 意法半导体股份有限公司 硬件加速器设备、对应的***和操作方法
KR20220085237A (ko) 2020-12-15 2022-06-22 삼성전자주식회사 스토리지 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법
KR20220142197A (ko) * 2021-04-14 2022-10-21 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988035A (zh) * 2005-12-22 2007-06-27 三星电子株式会社 多路可存取半导体存储器器件
CN103456356A (zh) * 2012-05-31 2013-12-18 三星电子株式会社 半导体存储器装置和相关的操作方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5284830A (en) 1975-12-30 1977-07-14 Larsen Ole J F Device for making deposit on bottom under water and protecting the deposit
JPH08179937A (ja) * 1994-12-27 1996-07-12 Canon Inc ブートプログラム切替え装置及びその方法
US6047347A (en) * 1997-02-04 2000-04-04 Advanced Micro Devices, Inc. Computer system with programmable bus size
JP4014801B2 (ja) * 2000-12-28 2007-11-28 株式会社ルネサステクノロジ 不揮発性メモリ装置
US7272709B2 (en) * 2002-12-26 2007-09-18 Micron Technology, Inc. Using chip select to specify boot memory
KR20050060395A (ko) * 2003-12-16 2005-06-22 삼성전자주식회사 멀티 부트 방법 및 이를 이용한 시스템
US7162627B2 (en) 2004-07-28 2007-01-09 Inventec Corporation Method of sequentially selecting bootable memory module for booting
EP1850486A4 (en) 2005-02-03 2008-05-07 Matsushita Electric Ind Co Ltd PARALLEL INTERLACER, PARALLEL DISINTERLACER AND INTERLACING METHOD
US7490177B2 (en) 2006-01-23 2009-02-10 Infineon Technologies Ag System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
EP2102867B1 (en) 2006-12-14 2013-07-31 Rambus Inc. Multi-die memory device
KR20090016286A (ko) * 2007-08-10 2009-02-13 엘지전자 주식회사 컴퓨터 시스템 및 그 부팅제어방법
KR101211503B1 (ko) 2007-10-02 2012-12-12 삼성전자주식회사 부팅 시스템, 그 시스템을 구비한 화상형성장치 및 그제어방법
US8587337B1 (en) 2009-01-31 2013-11-19 Xilinx, Inc. Method and apparatus for capturing and synchronizing data
TWI474260B (zh) 2009-02-16 2015-02-21 Asustek Comp Inc 電腦系統與其主機板上之記憶體電路和開機方法
JP5337661B2 (ja) 2009-10-09 2013-11-06 株式会社日立製作所 メモリ制御装置及びメモリ制御装置の制御方法
US8856482B2 (en) 2011-03-11 2014-10-07 Micron Technology, Inc. Systems, devices, memory controllers, and methods for memory initialization
TWI436278B (zh) * 2011-03-14 2014-05-01 Shuttle Inc 電腦快速開機系統及其方法
US8885424B2 (en) 2012-11-08 2014-11-11 SK Hynix Inc. Integrated circuit and memory device
EP2972809B1 (en) * 2013-03-14 2020-12-30 Microchip Technology Incorporated Boot sequencing for multi boot devices
KR102178833B1 (ko) * 2013-12-12 2020-11-13 삼성전자주식회사 메모리 시스템 및 이를 포함하는 컴퓨팅 시스템
KR102148889B1 (ko) * 2014-08-18 2020-08-31 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템
US10896047B2 (en) * 2015-12-28 2021-01-19 Hewlett-Packard Development Company, L.P. Booting a computer using a wireless network connection
US11243782B2 (en) * 2016-12-14 2022-02-08 Microsoft Technology Licensing, Llc Kernel soft reset using non-volatile RAM
SG10201700003SA (en) * 2017-01-03 2018-08-30 Intel Corp Hardware assisted fault injection detection
TWI591538B (zh) * 2017-01-18 2017-07-11 新唐科技股份有限公司 微控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988035A (zh) * 2005-12-22 2007-06-27 三星电子株式会社 多路可存取半导体存储器器件
CN103456356A (zh) * 2012-05-31 2013-12-18 三星电子株式会社 半导体存储器装置和相关的操作方法

Also Published As

Publication number Publication date
KR20190073101A (ko) 2019-06-26
CN110033815A (zh) 2019-07-19
US20190187899A1 (en) 2019-06-20
KR102445674B1 (ko) 2022-09-22
US10990281B2 (en) 2021-04-27

Similar Documents

Publication Publication Date Title
CN110033815B (zh) 配置为选择性地引导存储器的ram控制器及其操作方法
CN110534140B (zh) 存储器装置、存储器***和存储器装置的操作方法
US9653141B2 (en) Method of operating a volatile memory device and a memory controller
CN107068175B (zh) 易失性存储器设备、其信息提供方法及其刷新控制方法
US9870293B2 (en) Memory device performing post package repair (PPR) operation
US9978430B2 (en) Memory devices providing a refresh request and memory controllers responsive to a refresh request
US9767882B2 (en) Method of refreshing memory device
US7496719B2 (en) Universal nonvolatile memory boot mode
TWI688858B (zh) 記憶體裝置、包括一記憶體裝置之設備及用於實施計數器之方法
US20140237177A1 (en) Memory module and memory system having the same
CN106856097B (zh) 半导体器件和包括它的半导体***
CN111133512A (zh) 用于将零写入到存储器阵列的***和方法
KR20160094767A (ko) 아이들 구간에서 정보 전달 기능을 수행하는 메모리 장치 및 방법
US10761969B2 (en) Nonvolatile memory device and operation method thereof
KR20180104839A (ko) 데이터 전송 트레이닝 방법 및 이를 수행하는 데이터 저장 장치
US9390778B2 (en) Semiconductor memory devices and memory systems including the same
KR20150025782A (ko) 메모리 장치 및 이를 포함하는 컴퓨터 시스템
KR20130011033A (ko) 불휘발성 메모리를 포함하는 메모리 시스템 및 그것의 제어 방법
US11036493B2 (en) Memory system and operating method thereof
US20180314437A1 (en) Iterative write sequence interrupt
US11443784B2 (en) Command buffer chip with dual configurations
CN112306398A (zh) 存储装置及其操作方法
KR20180113521A (ko) 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법
CN111108560A (zh) 用于将零写入到存储器阵列的***和方法
CN110442302B (zh) 存储器***及用于操作存储器***的方法

Legal Events

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