CN107977325B - 存储器控制器、存储器系统和操作存储器控制器的方法 - Google Patents
存储器控制器、存储器系统和操作存储器控制器的方法 Download PDFInfo
- Publication number
- CN107977325B CN107977325B CN201710790161.9A CN201710790161A CN107977325B CN 107977325 B CN107977325 B CN 107977325B CN 201710790161 A CN201710790161 A CN 201710790161A CN 107977325 B CN107977325 B CN 107977325B
- Authority
- CN
- China
- Prior art keywords
- address
- memory
- extended
- cpu
- mmu
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
公开存储器控制器、存储器系统和操作存储器控制器的方法。一种存储器控制器包括:CPU,选择存储体;存储器,存储与所选择的存储体相关联的第一扩展地址;以及存储器管理单元(MMU),克隆第一扩展地址并且将克隆的第一扩展地址存储在第二扩展地址中。MMU包括监听逻辑,所述监听逻辑存储对应于第一扩展地址的第一地址,从CPU接收第二地址,比较第一地址和第二地址,并且响应于第一地址和第二地址的比较提供更新信号。MMU还包括克隆寄存器,所述克隆寄存器响应于更新信号,使用从CPU接收的输入数据更新存储在第二扩展地址中的地址。存储器和MMU二者经由低延迟接口直接连接到CPU。
Description
本申请要求2016年10月24日提交的第10-2016-0138239号韩国专利申请的优先权,所述韩国专利申请的主题通过引用整体包含于此。
技术领域
本发明构思总体上涉及存储器控制器、包括存储器控制器的存储器系统,和/或操作存储器控制器或存储器系统的方法。更具体地讲,本发明构思涉及存储器控制器、基于闪存的存储器系统以及操作所述存储器系统的方法。
背景技术
特定的现代电子装置包含可包括“内置闪存”或“片上系统”(SoC)装置的存储器资源。即,一个或多个闪存单元阵列和相关的外围电路可被布置在单个半导体芯片上,以整体地或部分地形成集成电路。外围电路可多方面地包括:高压电路、用于组成的微控制器或处理器的逻辑电路等。
在以下称为SoC存储器系统的大量装置中,存在通常必须在大小、功耗、操作速度(或频率)和数据吞吐量(带宽)之间做出的权衡。一般来说,更大的带宽带来更高的单位成本和增加的物理尺寸(即,降低的部件集成密度)。因此,SoC存储器系统将经常包括提供高带宽能力的存储器子系统或部件(以下称为“高带宽存储器”)和提供相对较低带宽能力的其他存储器子系统或部件(“低带宽存储器”)。这些不同的SoC存储器子系统或部件在操作上是不同的,至少在性能方面是不同的,但是通常以多级方案来配置,以解决组成的SoC存储器系统的操作所呈现的不同需求和权衡。
在这个背景下,相对于中央处理器(CPU),高带宽存储器将呈现相对低的数据/信号延迟。高带宽存储器还可经专用接口由CPU直接访问。因此,从系统配置的观点来看,高带宽存储器可被认为是低级存储器。相反,低带宽存储器被配置为使用系统总线协议访问其他SoC存储器系统部件。因此,低带宽存储器可被认为是高级存储器。
现代SoC存储器系统需要大数据存储容量,因此通常包括大容量数据存储装置。
鉴于SoC存储器系统的这些共同方面,已经提出各种操作方法来有效地存储和访问数据。在这方面,所谓的“体存储扩展方法”是一种通常理解的方法。体存储扩展方法是将可互换的物理存储器映射到相同的地址空间,以增加可用存储量的方法。然而,当体存储扩展方法用于控制现代SoC存储器系统的操作时,特定延时(或延迟)问题可不利地影响整体性能。即,在使用系统总线协议的Soc存储器系统中访问低带宽存储器可引入附加的信号延迟,从而降低性能。例如,在上述配置中,通常需要频繁地改变(或更新)与存储器的存储体扩展相关联的扩展地址。
发明内容
在一个方面,本发明构思提供一种存储器控制器,当需要根据闪存的存储体扩展来更新扩展地址时,所述存储器控制器通过使用具有高带宽的低级存储器接口呈现出改进的操作速度和性能。
在另一方面,本发明构思提供了一种包括所述类型的存储器控制器以及使用相应的操作方法的存储器系统。
在一个方面,本发明构思提供了一种存储器控制器,包括:中央处理单元(CPU),从包括在主存储器中的多个存储体中选择存储体;存储器,经由低延迟接口直接连接到所述CPU,其中,所述存储器存储与所选择的存储体相关联的第一扩展地址;以及存储器管理单元(MMU),经由低延迟接口直接连接到所述CPU,其中,所述MMU克隆第一扩展地址并且将克隆的第一扩展地址存储在第二扩展地址中。所述MMU包括:监听逻辑,存储对应于第一扩展地址的第一地址,从所述CPU接收第二地址,比较第一地址和第二地址,并且响应于第一地址和第二地址的比较提供更新信号;以及克隆寄存器,响应于更新信号,使用从所述CPU接收的输入数据更新存储在第二扩展地址中的地址。
在另一方面,本发明构思提供了一种存储器系统,包括:主存储器,包括多个存储体;以及存储器控制器,控制所述主存储器的操作。所述存储器控制器包括:中央处理器(CPU),从所述多个存储体中选择存储体;存储器,经由低延迟接口直接连接到所述CPU,其中,所述存储器存储与所选择的存储体相关联的第一扩展地址;存储器管理单元(MMU),经由低延迟接口直接连接到所述CPU,其中,所述MMU克隆第一扩展地址,并且将克隆的第一扩展地址存储在第二扩展地址中;主存储器控制器,使用从第二扩展地址提取的地址来访问所选择的存储体。响应于CPU将所选择的存储体从第一存储体改变为与第一存储体不同的第二存储体,所述存储器使用与第二存储体相关联的地址更新第一扩展地址,并且所述MMU使用用于更新第一扩展地址的地址来更新存储在第二扩展地址中的地址。
在另一方面,本发明构思提供了一种操作存储器控制器的方法,所述存储器控制器访问存储在包括多个存储体的主存储器中的数据,并且所述存储器控制器包括中央处理器(CPU)、经由低延迟接口连接到所述CPU的存储器以及经由低延迟接口直接连接到所述CPU的存储器管理单元(MMU)。所述方法包括:在所述存储器中将第一地址存储为识别所述多个存储体中的选择的存储体的第一扩展地址;在所述MMU中克隆第一扩展地址,并且在所述MMU中将克隆的第一扩展地址存储在第二扩展地址中;当从所述CPU接收到第二地址时,监听第一扩展地址和第二扩展地址中的至少一个,并且比较第一地址和第二地址;在所述MMU中,响应于第一地址和第二地址的比较提供更新信号;在所述MMU的克隆寄存器中,响应于更新信号,使用从所述CPU接收的输入数据更新存储在第二扩展地址中的地址。
附图说明
通过参考附图详细描述本发明构思的示例实施例,本发明构思的上述和其它方面和特征将变得更加清楚,其中:
图1是示出根据本发明构思的一些实施例的存储器系统的框图;
图2是示出根据本发明构思的一些实施例的存储器控制器的框图;
图3是示出根据本发明构思的一些实施例的存储器控制器的框图;
图4是示出根据本发明构思的一些实施例的存储器控制器的存储器管理单元(MMU)的组成元件的框图;
图5是示出根据本发明构思的一些实施例的存储器控制器的MMU的克隆寄存器的框图;
图6是示出根据本发明构思的一些实施例的包括在存储器控制器中的MMU的存储体选择操作的概念图;
图7是示出根据本发明构思的一些实施例的存储器控制器的操作的时序图;
图8、图9和图10是进一步示出存储器控制器的操作的各个框图。
具体实施方式
除非另有定义,否则在此使用的所有技术术语和科学术语具有与本发明构思所属领域的普通技术人员通常理解的含义相同的含义。应当注意,在此提供的示例、示例性术语和描述的使用意在教导创造和使用本发明构思。本发明构思的范围不仅限于这里呈现的书面描述和示出的实施例。
以下,将关于图1至图9中的一个或多个来描述包括“存储器控制器和/或包含存储器控制器的存储器系统”的本发明构思的特定实施例。
图1是示出根据本发明构思的实施例的存储器系统的框图。
参考图1,存储器系统总体包括:主机400和存储装置1000。存储装置1000包括:存储器控制器100和主存储器300,其中,可使用单个芯片、多个互连的芯片、模块和/或装置来实现各种配置。例如,存储器控制器100和主存储器300可被实现作为连接到单独的主机400的单个存储装置1000。可选择地,主机400、存储器控制器100和/或主存储器300可被集成在单个装置中。
主机400(例如)响应于应用或文件系统的执行将向存储器控制器100发出各种数据访问请求。数据访问请求可包括导致在存储器控制器100的控制下针对主存储器300的相应的操作的定义和执行的读请求、写请求、擦除请求等。
本领域技术人员将认识到主存储器300可被不同地配置。例如,存储器单元阵列的存储器单元可以以大量的串、行、列和/或存储体来布置。这里,假设主存储器300包括多个存储体,将认识到,随着包括在主存储器300中的存储体的数量增加,主存储器300的数据存储容量也增加。
为了本说明书,还假设包括在主存储器300中的每个存储体使用由存储器控制器100控制的同一寻址方案,以这种方式,将被访问的存储体可被动态地改变。这种方法是一种存储体扩展方法。在这个背景下,当存储器控制器100控制主存储器300的操作时,存储器控制器100确定是否访问包括在主存储器300中的多个存储体中的特定存储体。以下将进一步解释这种示例性方法。
图2是进一步示出根据本发明构思的实施例的存储器控制器100的一个示例的框图。
参考图2,存储器控制器100包括中央处理器(CPU)110、存储器120、存储器管理单元(以下,称为“MMU”)130、主存储器控制器140、主机接口(“主机I/F”)150和总线170。
CPU 110可用于执行存储器控制器100的功能操作所必需的特定逻辑和/或算术运算。图2中值得注意的是,CPU 110经由低延迟接口(即,在类似假设下,提供比总线170提供的性能好的性能的接口)直接(即,不使用总线170)连接到存储器120和MMU 130。在执行一个或多个数据访问操作期间,CPU 110将从主存储器300的存储体中选择特定的存储体(以下,称为“所选择的存储体”),然后将地址传送到所选择的存储体以及存储器120和存储器管理单元130。
在本发明构思的特定实施例中,存储器120可作为各种高速缓冲存储器运行,存储器120存储将由CPU 110处理的数据并直接连接到CPU 110,以便有效地交换数据。因此,存储器120可被认为是相对于存储器控制器100的低延迟、高带宽存储器。值得注意的是,图2中示出的存储器120被配置为经由“专用”接口实现CPU 110的直接访问。这种配置(经由专用接口的直接访问)确保存储器120相对于CPU 110作为有效的低级存储器操作。
存储器120可包括易失性存储器和/或非易失性存储器。例如,存储器120可以是安装在CPU 110内部或紧密围绕CPU 110(例如,包括CPU 110的芯片)的紧耦合存储器(TCM),以便快速访问主存储器300的大数据容量。在本发明构思的特定实施例中,存储器120可包括高速同步随机存取存储器(SRAM)。
MMU 130可用于将地址提供给主存储器300的所选择的存储体。在这方面,所提供的地址可在特定寻址方案中在功能上从包括在主存储器300中的多个存储体中选择所选择的存储体。
这里,主存储器300可用于将接收到的地址内部分配给多个存储体。因此,在MMU130接收并存储与多个存储体相关联的地址时,所选择的存储体的识别还可涉及CPU 110的指定。因此,MMU 130将存储的地址传送到还控制主存储器300的操作的主存储器控制器140。这里,由MMU 130提供的地址可经总线170传送(或发送)到主存储器控制器140。
在本发明构思的特定实施例中,MMU 130提供用于选择存储体的扩展地址(“EA”)。扩展地址对应于包括在主存储器300中的每个存储体的唯一地址。即,通过在多个存储体中分配每个唯一地址,可有效地增加由存储器控制器100控制的主存储器300中的存储体的数量。在这方面,还可增加存储装置1000的存储容量。
与存储器120类似,MMU 130是能够实现与CPU 110的快速数据交换的低延迟、高带宽部件。
在特定的现代和比较的存储器系统中,模拟MMU将在连接到存储器系统的总线的同时,在体存储器扩展控制方法下操作。在这种配置中,MMU作为提供相对较低带宽的高级存储器的部分。因此,如前所述,这种比较的配置易受由所选择的存储体的频繁改变(即,扩展地址的频繁更新)导致的性能下降的影响。
相反,图2的MMU 130经由专用接口直接连接到CPU 110。因此,MMU 130作为低级存储器的部分与存储器120配合工作。结果,即使MMU 130需要频繁更新扩展地址,也可防止存储装置1000的性能下降。
主存储器控制器140可用于在存储器控制器100和主存储器300之间交换命令和数据,并还可用于控制主存储器300的操作。主存储器控制器140可从CPU 110接收数据并且从MMU 130接收地址,以便将它们提供给主存储器300的存储体。
主机I/F 150可使用一个或多个常规理解的协议来操作,所述协议用于将数据、地址和/或命令信息(以下,单独或统称为“数据/地址/命令”)中的至少一个从主机传送到存储器控制器。例如,主机I/F 150可被配置为经由通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、PCI-Express(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、以及集成驱动电子(IDE)协议中的至少一个与主机400通信。
总线170可用于在CPU 110、存储器120、MMU 130、主存储器控制器140和主机I/F150之间不同地传送(接收和/或发送)数据/地址/命令。例如,总线170可用于将由CPU 110和/或MMU 130提供的数据/地址/命令传送到主存储器控制器140。在本发明构思的特定实施例中,总线170可以是提供存储器系统100的互连部件之间的信号路径的多层部件(或部件集合)。在这方面,总线170可以与常规地用于在CPU 110、存储器120、MMU 130、主存储器控制器140和/或主机I/F 150之间交换数据/地址/命令的一个或多个协议一致地操作。在本发明构思的特定实施例中,总线170可使用SoC目标片上总线协议访问一个或多个存储器系统部件。例如,总线170可构成多层高级高性能总线(AHB)或多层高级可扩展接口(AXI)等。
图3是进一步示出根据本发明构思的一些实施例图1和图2的存储器控制器100的一个示例的框图。
参考图3,存储器控制器100再次包括使用提供高带宽的低延迟接口如上所述互连的CPU 110、存储器120和MMU 130。即,CPU 110可在不需要使用总线170的情况下,与存储器120和MMU 130中的一个或两者交换数据/地址/命令。
例如,CPU 110可用于临时存储由存储器120经由低延迟接口频繁使用的数据,并且还可用于在MMU 130中存储所选择的存储体的地址。
在本发明构思的特定实施例中,存储器120可包括代码存储器,代码存储器包括能够存储由CPU 110处理的命令的固件和/或能够存储数据的数据存储器。
在本发明构思的特定实施例中,例如图3和图4所示,存储器120包括对应于所选择的存储体的第一扩展地址(EA1)。例如,第一扩展地址(EA1)可存储在存储器120的固件中。利用这种配置,存储器120可使用存储器地址(MA)访问第一扩展地址(EA1),其中,存储器地址(MA)识别存储器120中存储第一扩展地址(EA1)的地址。CPU 110可访问存储器120的存储器地址(MA),以更新第一扩展地址(EA1)。
在图3所示的实施例中,MMU 130包括:监听逻辑210和克隆寄存器220。利用这种配置或其等效物(软件和/或硬件),MMU 130可克隆(即,复制)第一扩展地址(EA1),并且将克隆的第一扩展地址(EA1)存储在MMU 130的第二扩展地址(EA2)中,以使MMU 130能够例如响应于时钟或选通信号输出存储在第二扩展地址(EA2)中的地址。
因此,在一个操作方法中,监听逻辑210存储与存储器120的第一扩展地址(EA1)相关的地址(MA),从CPU 110接收对应的地址(ADDRESS)来比较存储的地址(MA),然后作为比较的结果,输出更新信号(SOUT)。
因此,监听逻辑210可用于确定由CPU 110提供的地址(ADDRESS)是否与存储的地址(MA)相同。如果接收到的地址(ADDRESS)与存储的地址(MA)相同,则监听逻辑210还可用于可能参考通常用于存储器系统并且(例如)由CPU 110提供的一个或多个控制信号(例如,片选信号(CS)和/或写信号(WEN)等),确定是否将所选择的存储体(即,由CPU 110选择的存储体)的地址更新到第二扩展地址(EA2)。
在上述示例中,克隆寄存器220用于将克隆的第一扩展地址(EA1)存储在第二扩展地址(EA2)中。即,克隆寄存器220从监听逻辑210接收更新信号(SOUT)并且从CPU 110接收数据(DATA)。例如,当更新信号(SOUT)使能时,克隆寄存器220可将接收到的数据(DATA)存储在第二扩展地址(EA2)中。即,当第一扩展地址(EA1)的值被更新时,克隆寄存器220可用于克隆所述值并将所述值存储在第二扩展地址(EA2)中。
假设作为一个示例,CPU110响应于施加的时钟输出“L”位数据,而MMU 130则响应于施加的时钟输出存储在第二扩展地址(EA2)中的“M”位地址。在确定存储在第二扩展地址(EA2)中的地址与第一扩展地址(EA1)相同的情况下,存储在第二扩展地址(EA2)中的地址指示将被CPU 110访问的主存储器300的存储体。
由CPU 110输出的L位数据和由MMU 130存储的M位地址可经由总线170传送到主存储器控制器140。例如,CPU可输出32位数据,并且MMU 130可输出4位地址。因此,主存储器控制器140可接收通过将输出数据和地址相加获得的36位数据。
主存储器控制器140然后可用于从输入数据中提取所选择的存储体的地址。即,主存储器控制器140可从输入数据提取存储在第二扩展地址(EA2)中的地址,之后访问包括在图3的主存储器300中的多个存储体310、320、330和340中对应于所述地址的所选择的存储体。
如上文所述,总线170可用于在CPU 110、MMU 130和主存储器控制器140之间传送数据/地址/命令。总线170可具有比在CPU 110和存储器120之间或在CPU 110和MMU 130之间使用的低延迟接口相对高的高延迟。
图4是进一步示出根据本发明构思的一些实施例的图1、图2和图3的储器控制器100,特别是MMU 130的一个示例的框图。
参考图4,在存储器控制器100中,假设CPU 110将片选信号(CS)、写信号(WEN)、地址(ADDRESS)和数据(DATA)提供给存储器120和MMU 130
这里,存储器120可以以包括多个存储区域的离散或分布的方式不同地构成。这样的区域可在存储器120内被控制(例如,物理上和/或逻辑上被划分和访问)。例如,存储器120可包括代码存储器以及存储数据的数据存储器,代码存储器包括存储能够由CPU 110处理的命令的固件。
不同地提供的片选信号(CS)可用于选择存储器120中的多个区域中的任何一个。例如,片选信号(CS)可用于选择对应于第一扩展地址(EA1)的存储器120的区域。因此,当片选信号(CS)使能时,存储器120可更新第一扩展地址(EA1)。
写信号(WEN)可用于指示是否将输入数据(DATA)存储在存储器120中。例如,当写信号(WEN)使能时,存储器120可根据由CPU 110提供的地址(ADDRESS)来存储数据(DATA)。
在本发明构思的特定实施例中,当片选信号(CS)和写信号(WEN)使能,并且从CPU110接收的地址(ADDRESS)和与第一扩展地址(EA1)相关的地址(MA)相同时,第一扩展地址(EA1)将被从CPU 110接收的数据(DATA)更新。
与存储器120类似,MMU 130可从CPU 110接收片选信号(CS)、写信号(WEN)、地址(ADDRESS)和数据(DATA)。
在图4的示出的示例中,包括在MMU 130中的监听逻辑210包括寄存器212、比较器214和门元件216。寄存器212可用于存储存储器120的地址(MA),并且将存储的地址(MA)传送到比较器214,其中,第一扩展地址(EA1)存储在存储器120的地址(MA)中。
比较器214从寄存器212接收地址(MA)并且从CPU 110接收地址(ADDRESS),以确定存储的地址(MA)和接收的地址(ADDRESS)是否相同。如果存储的地址(MA)和接收的地址(ADDRESS)相同,则比较器214输出使能逻辑信号,如果存储的地址(MA)和接收的地址(ADDRESS)不同,则比较器214输出禁用逻辑信号。
门元件216(例如,逻辑与门)接收比较器214的输出以及片选信号(CS)和写信号(WEN)。因此,当片选信号(CS)、写信号(WEN)和比较器214的输出信号全部使能时,门元件216将输出使能的更新信号(SOUT)。
克隆寄存器220从门元件216接收更新信号(SOUT)并且从CPU 110接收数据(DATA)。如果更新信号(SOUT)使能,则包括在克隆寄存器220中的第二扩展地址(EA2)中存储的地址可被数据(DATA)更新。结果,存储在第二扩展地址(EA2)中的数据可被设置为与第一扩展地址(EA1)相同。以这种方式,MMU 130监听存储在存储器120中的第一扩展地址(EA1),并且可用于根据需要克隆数据和更新数据。
克隆寄存器220可以以这种方式用来存储存储在第二扩展地址(EA2)中的数据,并且(例如,响应于时钟信号,未示出)经由总线170将所述数据传送到主存储器控制器140。克隆寄存器220可包括用于保持存储在第二扩展地址(EA2)中的数据的锁存器或触发器。
如前所述,MMU 130包括与CPU 110直接连接(例如,允许直接访问)的专用接口。结果,MMU 130可执行监听功能,所述监听功能确定存储在存储器120中的第一扩展地址(EA1)是否应以相对高的速度被数据更新。当第一扩展地址(EA1)被所述数据更新时,克隆所述数据并将所述数据存储在第二扩展地址(EA2)中以及经由总线170将所述数据发送到主存储器控制器140的操作也可被高速地执行。即使当选择的存储体被频繁更新时,所述方法也避免了使用扩展存储体的存储装置1000的性能下降。
图5是进一步示出根据本发明构思的一些实施例的图1、图2、图3和图4的存储器控制器100的MMU 130的克隆寄存器220的一个示例的框图。
参考图5,克隆寄存器220包括被配置为存储(或保持)施加的数据的触发器。这里,触发器包括复用器226和锁存器227。
利用这种配置,复用器226从锁存器227接收输出值(OUT2)作为第一输入值(即,经由示出的反馈信号),并且还从CPU 110接收数据(DATA)作为第二输入值。复用器226响应于输入更新信号(SIN)选择性地输出第一输入值或第二输入值。例如,当输入更新信号(SIN)为“0”时,复用器226输出锁存器227的输出值(OUT2),当输入更新信号(SIN)为“1”时,复用器226输出从中央处理器110输入的数据(DATA)。
随后,锁存器227响应于时钟信号(CLK)进行操作,并且将值更新为从复用器226接收的数据(DATA)。
例如,当输入更新信号(SIN)禁用时,由于复用器226输出锁存器227的输出值,并且锁存器227按照原样接收输出值,所以保持存储在锁存器227中的数据的值。相反,当输入更新信号(SIN)使能时,复用器226输出从中央处理器110输入的数据(DATA),并且锁存器227将值更新为输入数据(DATA)。
图6是示出根据本发明构思的一些实施例的由包括在图1、图2、图3、图4和图5的存储器控制器100中的MMU 130执行的存储体选择操作的概念图。
参考图6,可通过将从CPU 110输出的数据(OUT1)和从MMU 130输出的地址值(OUT2)相加获得数据集。然后,数据集可被传送到主存储器控制器140,其中,主存储器控制器140可通过提取指示多个存储体中的所选择的存储体的地址值(OUT2),来确定需要访问的存储体。
扩展上述示例,假设CPU 110输出32位数据,并且假设MMU响应于时钟信号输出4位地址。主存储器控制器140接收所得到的36位数据。
可将唯一地址分配给主存储器300的每个存储体。例如,“0000”的地址值表示第一存储体(存储体0),“0001”的地址值可表示第一存储体(存储体1)。
当主存储器控制器140接收N位地址时,主存储器控制器140理论上可控制2N个存储体。例如,从存储器管理单元130接收4位地址的主存储器控制器140可控制24(16)个存储体。
从MMU 130传送的地址的大小可随着总体存储器系统设计而变化。但是随着地址的大小增加,可由主存储器控制器140控制(即,唯一选择)的存储体的数量也增加,并且可更好地适应主存储器300的存储容量。
图7是进一步示出根据本发明构思的一些实施例的存储器控制器的操作的时序图。图8、图9和图10是分别与图4的框图相比较的框图,并且进一步示出根据图7的时序和假设图6的数据集的存储器控制器100的操作。
参考图7和图8,假设由CPU 110输出的片选信号(CS)和写信号(WEN)在t=t0时处于禁用状态(L)。因此,从CPU 110输出的数据(DATA)不被存储在存储器120中。
从CPU 110输出的地址(ADDRESS)被施加到监听逻辑210的比较器214,并且比较器214比较存储在寄存器212中的存储器120的存储的(或第一)地址(A1)和从CPU 110接收的(或第二)地址(A2)。
由于来自CPU 110的第二地址(A2)在t=t0时与存储在寄存器212中的第一地址(A1)不同,所以比较器214输出禁用信号(L)。由于门元件216接收禁用信号(L),因此不考虑片选信号(CS)和写信号(WEN),门元件216输出禁用状态(L)的更新信号(SOUT)。
克隆寄存器220从CPU 110接收(输入)数据(XX)并且从监听逻辑210接收具有禁用状态(L)的更新信号(SOUT)。因此,克隆寄存器220不在第二扩展地址(EA2)中更新输入数据(XX),并且克隆寄存器220按照原样输出存储在第二扩展地址(EA2)中的地址值(“00”)。
主存储器控制器140从CPU 110接收输出数据(OUT_DATA)并且从克隆寄存器220接收地址值(“00”)。输出数据(OUT_DATA)和地址(“00”)可被同时发送到主存储器控制器140。其后,主存储器控制器140可提取接收到的地址值(例如,“00”),并且访问对应于地址值“00”的主存储器300的存储体310(存储体0)。
现在参考图7和图9,从CPU 110输出的片选信号(CS)和写信号(WEN)在t=t2时处于使能状态(H)。由CPU输出的第一地址(A1)与存储器120中的地址(A1)相同。因此,使用由CPU 110提供的输入数据(“01”)更新存储在存储器120中的第一扩展地址(EA1)。即,响应于CPU 110的所选择的存储体的地址被更新。
因此,比较器214比较存储在寄存器212中的第一地址(A1)和从CPU 110接收的地址(A1)。由于从CPU 110接收的第二地址(A1)在t=t2时与存储在寄存器212中的第一地址(A1)相同,所以比较器214输出使能信号(H)。由于门元件216从比较器214接收使能信号(H),并且片选信号(CS)和写信号(WEN)都处于使能状态(H),因此门元件216输出具有使能状态(H)的更新信号(SOUT)。
克隆寄存器220从CPU 110接收输入数据(“01”),并且从监听逻辑210接收具有使能状态(H)的更新信号(SOUT)。克隆寄存器220将输入数据(“01”)更新到第二扩展地址(EA2)。其后,克隆寄存器220输出存储在第二扩展地址(EA2)中的更新的地址(“00”→“01”)的值。
主存储器控制器140从CPU 110接收输出数据(OUT_DATA),并且从克隆寄存器220接收更新的地址(“00”→“01”)。输出数据(OUT_DATA)和更新的地址(“00”→“01”)可同时传送到主存储器控制器140。
其后,主存储器控制器140可提取接收到的地址(“01”),并开始访问对应于更新的地址(“01”)的主存储器300的存储体310。
参考图7,存储器120的第一扩展地址(EA1)在t=t1时被更新,并且存储在MMU的第二扩展地址(EA2)中的地址在t=t2时被更新。因此,MMU 130能够监听存储器120的第一扩展地址(EA1),并且在L1(t2-t1)的延迟时间后更新存储在第二扩展地址(EA2)中的地址。尽管在图7的时序图中延迟时间L1表示为单个时钟周期,但是延迟时间L1可随存储器系统设计而变化。
以这种方式,本发明构思的实施例在用于选择特定存储体的地址的更新中呈现相对低的延迟。因此,特征允许本发明构思的实施例总体上以更高的速度进行操作。
现在参考图7和图10,假设由CPU 110提供的片选信号(CS)和写信号(WEN)在t=t3时转变为禁用状态(L)。因此,由CPU 110提供的输入数据(DATA)不被存储在存储器120中。
由CPU 110提供的地址(ADDRESS)被施加到监听逻辑210的比较器214。比较器214比较存储在寄存器212中的第一地址(A1)和从CPU 110接收的第二地址(A3)。
由于在t=t3时第二地址(A3)与存储在寄存器212中的第一地址(A1)不同,所以比较器214输出禁用信号(L)。由于门元件216接收禁用信号(L),因此不考虑片选信号(CS)和写信号(WEN),门元件216输出禁用状态(L)的更新信号(SOUT)。
克隆寄存器220从CPU 110接收输入数据(YY),并且从监听逻辑210接收具有禁用状态(L)的更新信号(SOUT)。克隆寄存器220不将输入数据(YY)更新到第二扩展地址(EA2),并且克隆寄存器220继续输出存储在第二扩展地址(EA2)中的先前的地址(“01”)。
主存储器控制器140从CPU 110接收输出数据(OUT_DATA)并且从克隆寄存器220接收先前的地址(“01”)。输出数据(OUT_DATA)和先前的地址(“01”)可同时传送到主存储器控制器140。
然后,主存储器控制器140可提取接收到的地址(这里,先前的地址“01”),并且继续访问主存储器300的第二存储体320(存储体1)。
因此,当由CPU 110选择的存储体从第一存储体(例如,310)被更新为第二存储体(例如,320)时,存储器120可将第一扩展地址(EA1)更新为第二存储体(例如,320)的对应地址(“01”),并且MMU 130可将存储在第二扩展地址(EA2)中的地址更新为与第一扩展地址(EA1)(“01”)相同。更新到第二扩展地址(EA2)的地址值(“01”)和中央处理单元110的输出值可发送到主存储器控制器140。
尽管已经参照示例性实施例具体示出和描述了本发明构思,但是本领域普通技术人员将会理解,在不脱离由所附权利要求限定的本发明构思的范围的情况下,可以在形式和细节上进行各种改变。
Claims (20)
1.一种存储器控制器,包括:
中央处理器CPU,从包括在主存储器中的多个存储体中选择存储体;
存储器,经由低延迟接口直接连接到所述CPU,其中,所述存储器存储与所选择的存储体相关联的第一扩展地址;
存储器管理单元MMU,经由低延迟接口直接连接到所述CPU,其中,所述MMU克隆第一扩展地址并且将克隆的第一扩展地址存储在第二扩展地址中;
其中,所述MMU包括:
监听逻辑,存储对应于第一扩展地址的第一地址,从所述CPU接收第二地址,比较第一地址与第二地址,并且响应于第一地址和第二地址的比较提供更新信号;
克隆寄存器,响应于更新信号,使用从所述CPU接收的输入数据更新存储在第二扩展地址中的地址。
2.如权利要求1所述的存储器控制器,其中,当更新信号使能时,克隆寄存器更新存储在第二扩展地址中的地址。
3.如权利要求1所述的存储器控制器,其中,所述监听逻辑包括:
寄存器,存储第一地址;
比较器,比较存储在所述寄存器中的第一地址和第二地址;
门,接收来自所述CPU的写信号和所述比较器的输出,并且输出更新信号。
4.如权利要求3所述的存储器控制器,其中,当第二地址与第一地址不相同时,所述比较器输出禁用信号;当第二地址与第一地址相同时,所述比较器输出使能信号。
5.如权利要求3所述的存储器控制器,其中,当所述比较器的输出和写信号二者使能时,所述门输出使能更新信号。
6.如权利要求3所述的存储器控制器,其中,所述门还从所述CPU接收片选信号,片选信号选择对应于第一扩展地址的存储器的区域;
当所述比较器的输出、写信号和片选信号使能时,所述门输出使能更新信号。
7.如权利要求3所述的存储器控制器,其中,所述门包括与门。
8.如权利要求1所述的存储器控制器,其中,响应于所述CPU将所选择的存储体从第一存储体改变为与第一存储体不同的第二存储体,所述存储器更新第一扩展地址,并且所述MMU更新存储在第二扩展地址中的地址。
9.如权利要求1所述的存储器控制器,其中,所述克隆寄存器包括用于保持存储在第二扩展地址中的数据的锁存器。
10.如权利要求1所述的存储器控制器,其中,所述存储器和所述MMU经由同一低延迟接口直接连接到所述CPU。
11.一种存储器系统,包括:
主存储器,包括多个存储体;
存储器控制器,控制所述主存储器的操作;
其中,所述存储器控制器包括:
中央处理器CPU,从所述多个存储体中选择存储体;
存储器,经由低延迟接口直接连接到所述CPU,其中,所述存储器存储与所选择的存储体相关联的第一扩展地址;
存储器管理单元MMU,经由低延迟接口直接连接到所述CPU,其中,所述MMU克隆第一扩展地址,并且将克隆的第一扩展地址存储在第二扩展地址中;
主存储器控制器,使用从第二扩展地址提取的地址来访问所选择的存储体,
响应于所述CPU将所选择的存储体从第一存储体改变为与第一存储体不同的第二存储体,所述存储器使用与第二存储体相关联的地址更新第一扩展地址,并且所述MMU使用用于更新第一扩展地址的地址来更新存储在第二扩展地址中的地址。
12.如权利要求11所述的存储器系统,其中,所述MMU包括:
监听逻辑,确定第一扩展地址是否已被更新以及存储在第二扩展地址中的地址是否已被更新;
克隆寄存器,将克隆的第一扩展地址存储在第二扩展地址中,并且输出从第二扩展地址提取的地址。
13.如权利要求12所述的存储器系统,其中,所述监听逻辑包括:
寄存器,存储与第一扩展地址相关联的第一地址;
比较器,比较存储在所述寄存器中的第一地址和从所述CPU接收的第二地址;
门,接收来自所述CPU的写信号和所述比较器的输出,并且输出更新信号。
14.如权利要求11所述的存储器系统,还包括:
总线,在所述CPU和所述MMU与所述主存储器控制器之间交换数据、地址和命令信息中的至少一个,其中,从所述CPU接收的数据以及从所述MMU接收的存储在第二扩展地址中的地址经由所述总线同时传送到所述主存储器控制器。
15.如权利要求14所述的存储器系统,其中,所述主存储器控制器从第二扩展地址提取地址,并且访问对应于提取的地址的所选择的存储体。
16.一种操作存储器控制器的方法,所述存储器控制器访问存储在包括多个存储体的主存储器中的数据,并且所述存储器控制器包括中央处理器CPU、经由低延迟接口连接到所述CPU的存储器以及经由低延迟接口直接连接到所述CPU的存储器管理单元MMU,所述方法包括:
在所述存储器中将识别所述多个存储体中的选择的存储体的第一扩展地址存储在第一地址中;
在所述MMU中克隆第一扩展地址,并且在所述MMU中将克隆的第一扩展地址存储在第二扩展地址中;
当从所述CPU接收到第二地址时,监听第一扩展地址和第二扩展地址中的至少一个,并且比较第一地址和第二地址;
在所述MMU中,响应于第一地址和第二地址的比较提供更新信号;
在所述MMU的克隆寄存器中,响应于更新信号,使用从所述CPU接收的输入数据更新存储在第二扩展地址中的地址。
17.如权利要求16所述的方法,其中,监听第一扩展地址和第二扩展地址中的至少一个,并且比较第一地址和第二地址的步骤包括:
在寄存器中存储第一地址;
比较存储在所述寄存器中的第一地址和第二地址来产生比较器的输出;
响应从所述CPU接收的写信号和所述比较器的输出,提供更新信号。
18.如权利要求17所述的方法,其中,当第二地址与第一地址不同时,所述比较器的输出为禁用信号;当第二地址与第一地址相同时,所述比较器的输出为使能信号。
19.如权利要求17所述的方法,其中,当所述比较器的输出和写信号二者使能时,更新信号为使能更新信号。
20.如权利要求17所述的方法,其中,监听第一扩展地址和第二扩展地址中的至少一个,并且比较第一地址和第二地址的步骤还包括:
从所述CPU接收选择对应于第一扩展地址的存储器的区域的片选信号;
当所述比较器的输出、写信号和所述片选信号使能时,更新信号为使能更新信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160138239A KR102514717B1 (ko) | 2016-10-24 | 2016-10-24 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR10-2016-0138239 | 2016-10-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107977325A CN107977325A (zh) | 2018-05-01 |
CN107977325B true CN107977325B (zh) | 2022-12-13 |
Family
ID=61970360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710790161.9A Active CN107977325B (zh) | 2016-10-24 | 2017-09-05 | 存储器控制器、存储器系统和操作存储器控制器的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10261714B2 (zh) |
KR (1) | KR102514717B1 (zh) |
CN (1) | CN107977325B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190115811A (ko) * | 2018-04-04 | 2019-10-14 | 에스케이하이닉스 주식회사 | 확장 메모리 카드를 포함하는 데이터 처리 시스템 |
US12045121B2 (en) | 2021-11-12 | 2024-07-23 | Samsung Electronics Co., Ltd. | Security IC and operating method thereof |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1060731A (zh) * | 1990-10-01 | 1992-04-29 | 国际商业机器公司 | 直接或交叉存储器存取用的存储器控制器 |
CN101506895A (zh) * | 2006-08-22 | 2009-08-12 | 莫塞德技术公司 | 可扩缩的存储器系统 |
CN102122271A (zh) * | 2011-03-01 | 2011-07-13 | 株洲南车时代电气股份有限公司 | 一种nand闪存控制器及其控制方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5671391A (en) | 1994-01-10 | 1997-09-23 | Ncr Corporation | Coherent copyback protocol for multi-level cache memory systems |
US6240501B1 (en) * | 1997-09-05 | 2001-05-29 | Sun Microsystems, Inc. | Cache-less address translation |
US6237064B1 (en) | 1998-02-23 | 2001-05-22 | Intel Corporation | Cache memory with reduced latency |
JP2002259208A (ja) | 2000-12-28 | 2002-09-13 | Canon Inc | メモリ制御装置及び方法 |
US6842831B2 (en) | 2002-04-25 | 2005-01-11 | Intel Corporation | Low latency buffer control system and method |
US7356713B2 (en) * | 2003-07-31 | 2008-04-08 | International Business Machines Corporation | Method and apparatus for managing the power consumption of a data processing system |
CN1898641B (zh) * | 2003-10-23 | 2015-03-25 | 密克罗奇普技术公司 | 微控制器指令集 |
US7500062B2 (en) | 2005-11-17 | 2009-03-03 | International Business Machines Corporation | Fast path memory read request processing in a multi-level memory architecture |
US7890699B2 (en) | 2008-01-10 | 2011-02-15 | International Business Machines Corporation | Processing unit incorporating L1 cache bypass |
US20100332718A1 (en) * | 2009-06-26 | 2010-12-30 | Micron Technology, Inc. | System and method for providing configurable latency and/or density in memory devices |
US9176903B2 (en) | 2010-11-09 | 2015-11-03 | Rambus Inc. | Memory access during memory calibration |
US9129071B2 (en) | 2012-10-24 | 2015-09-08 | Texas Instruments Incorporated | Coherence controller slot architecture allowing zero latency write commit |
US9600413B2 (en) | 2013-12-24 | 2017-03-21 | Intel Corporation | Common platform for one-level memory architecture and two-level memory architecture |
JP5950286B2 (ja) | 2014-05-29 | 2016-07-13 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | アドレス変換テーブルを書き込む装置及び方法 |
US9928119B2 (en) * | 2015-12-22 | 2018-03-27 | International Business Machines Corporation | Translation entry invalidation in a multithreaded data processing system |
-
2016
- 2016-10-24 KR KR1020160138239A patent/KR102514717B1/ko active IP Right Grant
-
2017
- 2017-09-05 CN CN201710790161.9A patent/CN107977325B/zh active Active
- 2017-09-06 US US15/696,940 patent/US10261714B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1060731A (zh) * | 1990-10-01 | 1992-04-29 | 国际商业机器公司 | 直接或交叉存储器存取用的存储器控制器 |
CN101506895A (zh) * | 2006-08-22 | 2009-08-12 | 莫塞德技术公司 | 可扩缩的存储器系统 |
CN102122271A (zh) * | 2011-03-01 | 2011-07-13 | 株洲南车时代电气股份有限公司 | 一种nand闪存控制器及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107977325A (zh) | 2018-05-01 |
KR102514717B1 (ko) | 2023-03-27 |
KR20180044567A (ko) | 2018-05-03 |
US20180113641A1 (en) | 2018-04-26 |
US10261714B2 (en) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102683696B1 (ko) | 호스트 메모리 버퍼(Host Memory Buffer)를 관리하기 위한 NVMe(Non-Volatile Memory Express) 컨트롤러를 포함하는 솔리드 스테이트 저장 장치(solid state storage device), 이를 포함하는 시스템 및 호스트의 호스트 메모리 버퍼를 관리하는 방법 | |
US7958298B2 (en) | System and method for providing address decode and virtual function (VF) migration support in a peripheral component interconnect express (PCIE) multi-root input/output virtualization (IOV) environment | |
US10991446B2 (en) | Electronic device performing training on memory device by rank unit and training method thereof | |
KR100868393B1 (ko) | 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리 | |
TWI709854B (zh) | 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 | |
US11709777B2 (en) | Memory system | |
US9990143B2 (en) | Memory system | |
US10169242B2 (en) | Heterogeneous package in DIMM | |
CN107257964B (zh) | Dram电路、计算机系统和访问dram电路的方法 | |
US20140068125A1 (en) | Memory throughput improvement using address interleaving | |
US9990283B2 (en) | Memory system | |
US7376791B2 (en) | Memory access systems and methods for configuring ways as cache or directly addressable memory | |
CN107977325B (zh) | 存储器控制器、存储器系统和操作存储器控制器的方法 | |
US20170109070A1 (en) | Memory system | |
US6360305B1 (en) | Method and apparatus for optimizing memory performance with opportunistic pre-charging | |
US20170109067A1 (en) | Memory system | |
US20170109061A1 (en) | Memory system | |
US10445240B2 (en) | Bus-based cache architecture | |
JP2022151589A (ja) | スケーリング可能なメタデータを有するダイナミックランダムアクセスメモリ(dram) | |
CN117120992A (zh) | 用于多队列存储器控制器的信用方案 | |
CN109643295B (zh) | 从发起者节点访问耦合到目标节点的存储器 | |
US12019545B2 (en) | Memory system and operating method thereof | |
US11620228B2 (en) | Coherent memory access | |
US20170109069A1 (en) | Memory system |
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 |