CN107656700B - 一种flash-dram混合存储器模块 - Google Patents
一种flash-dram混合存储器模块 Download PDFInfo
- Publication number
- CN107656700B CN107656700B CN201710824058.1A CN201710824058A CN107656700B CN 107656700 B CN107656700 B CN 107656700B CN 201710824058 A CN201710824058 A CN 201710824058A CN 107656700 B CN107656700 B CN 107656700B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- controller
- volatile
- subsystem
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
- 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/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/18—Packaging or power distribution
- G06F1/183—Internal mounting support structures, e.g. for printed circuit boards, internal connecting means
- G06F1/185—Mounting of expansion boards
-
- 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
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- 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/1694—Configuration of memory controller to different memory types
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- 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/0613—Improving I/O performance in relation to throughput
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0009—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
- G11C14/0018—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell whereby the nonvolatile element is an EEPROM element, e.g. a floating gate or metal-nitride-oxide-silicon [MNOS] transistor
-
- 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/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种能够连接到主系统的存储控制器集线器(MCH)的存储器模块,包括非易失存储子系统,连接至该非易失存储子系统的数据管理器,连接至该数据管理器并通过该数据管理器可用于与非易失存储子系统交换数据的易失存储子系统,以及可用于接收来自MCH的命令的控制器,该控制器基于该命令管理MCH、易失存储子系统或非易失存储子系统中的任意两个或两个以上间的数据传输。
Description
优先权声明
本发明申请要求享有以下申请的优先权:2011年7月28日提交的申请号为61/512,6871的美国临时专利申请;2012年7月26日提交的申请号为13/559,476的美国专利申请,其为要求2007年6月1日提交的申请号为60/941,586的美国临时专利申请的优先权的2008年6月2日提交的申请号为12/131,873的美国专利继续申请的2008年9月29日提交的申请号为12/240,916的美国专利申请的部分继续申请。上述申请的全部内容都以引用的方式并入到本申请中。
本发明申请也可能被认为与2012年6月28日提交的且在此共同拥有的申请号为13/536,173的共同审理中的美国专利申请有关。
技术领域
本发明涉及计算机存储设备,特别地,涉及采用不同类型存储设备,如Flash和随机存取存储器(Random Access Memories,RAM),的设备。
背景技术
随着技术进步,以及便携式计算设备,如平板笔记本电脑,的使用的增加,更多的数据需要在数据中心间传输,并输入/输出给终端用户。在许多情况下,数据中心通过聚集多个联网服务器建立,以提高性能。
虽然有许多类型的对于应用预期类型而言特定的联网服务器,但是基本概念通常是通过动态地分配计算和存储资源来提高服务器性能。今年来,服务器技术已经发展为针对特定应用,如“金融交易”(例如,记点服务计划、银行同业交易、证据市场交易)、“科学计算”(例如,流体动力学汽车和船舶设计、天气预报、石油和天然气勘探)、“医疗诊断”(例如,基于模糊逻辑的诊断、医用数据处理)、“简单的信息共享和搜索”(例如,网页搜索、零售商店网站、公司主页)、“电子邮件”(信息分发和存档)、“安全服务”、“娱乐”(例如,视频点播),等等。然而,由于高速CPU(中央处理单元)不能在相对低速的存储或内存子系统内外有效地传输数据,特别是由于数据通常通过CPU输入/输出(I/O)通道传输,因此所有这些应用都要承受相同的信息传输瓶颈。
图1所示的配置举例说明了由于CPU的数据传输限制,这种限制与主存储器(例如,硬盘(Hard Disk,HD)或固态驱动器(Solid State Drive,SSD))和内存子系统(例如,与前端总线(Front Side Bus FSB)连接的动态随机访问存储器双列直插式内存模块(DynamicRandom Access Memory Dual In-line Memory Module,DRAM DIMM))间的数据传输有关。在图1所示的配置中,传统存储器配置的SSD/HD和DRAM DIMM通过单独的存储器控制端口(未显示)连接至CPU。图1特别地通过双箭头显示了计算机或服务器主存储器(SSD/HD)与DRAM DIMM间的数据流路径。由于SSD/HD数据I/O和DRAM DIMM数据I/O受CPU控制,CPU需要分配其处理周期来控制这些I/O,这可能包括了CPU周期性执行的中断请求(InterruptRequest,IRQ)服务。可以理解的是,CPU分配越多的时间来控制数据传输流量,CPU不得不用越少的时间执行其他任务。因此,服务器的整体性能将随着CPU耗费在执行数据传输上的时间的增加而恶化。
已经有多种不同的方法来增加进出主存储器,如SSD/HS,到局部存储器,如DRAMDIMM的数据传输吞吐率。在如图2所示的一个实施例中,飞索半导体(Spansion)开发的EcoRAMTM提供了一种假定了DIMM实体尺寸的基于存储SSD的系统。EcoRAMTM由Flash存储器和使用DRAM用作数据缓冲的相对小的存储容量组成。虽然SSD/HD通常通过SATA(serial ATattachment,串行高级技术附件)、USB(Universal Serial Bus,通用串行总线)或PCI-E(Peripheral Component Interface Express,外围组件接口快速)连接,但是EcoRAMTM通过高速接口,如HT(Hyper Transport,超传输)接口,连接至CPU(中央处理单元),因此这种配置方式相比基于标准SSD的系统能够提供更高的吞吐率。例如,相比于使用标准PCI-E总线的NAND SSD存储子系统400MB/s的读速率,EcoRAMTM的读随机访问吞吐率接近3GB/s。这是7.5倍的性能提升。然而,写随机访问吞吐率的性能提升小于2倍(EcoRAM为197MB/s,NANDSSD为104MB/s)。这主要是由于写速率不可能比NAND Flash的写访问时间快。图2是使用具有标准DIMM的SSD的EcoRAMTM的一个实施例,其可以连接至FSB(前端总线)。然而,由于DRAM和Flash的接口协议不同,占用了其中一个服务器CPU插槽的接口设备(EcoRAMAcceleratorTM)被使用,并因此通过减少可用CPU插槽的数量进一步降低服务器性能,并相应地降低整体计算效率。由于读写操作间数据传输吞吐率的巨大不同导致的CPU总线的有限利用,服务器的性能将进一步受到负面影响。
EcoRAMTM架构使得CPU将Flash DIMM控制芯片认作具有大量可供CPU访问的存储空间的处理器。
通常,Flash系统的访问速率受到以下四方面限制:Flash存储器的读/写速率;CPU的FSB总线速率和性能;Flash DIMM控制其的固有延长;HT互连速率和取决于CPU和FlashDIMM控制器芯片中的HT接口控制器的性能。
已经公开的文献结果表明由于读操作的最大吞吐率为1.56GBs,写操作的最大吞吐率为104MBs,上述缺点是明显的。这些速率为工作在400MHz的DRAM读访问速率的25%,和DRAM写访问速率的1.7%。读操作和写操作间访问速率(15到1)的不同突出了这种结构的主要缺点。由于DRAM技术比Flash存储器技术进步得快得多,这种类型架构和JEDEC标准DRAMDIMM间的访问速率的差别预计将越来越大。
发明内容
本发明的一方面提供一种能够连接到主系统的存储控制器的存储器模块。该存储器模块包括非易失存储子系统,数据管理器,其连接至所述非易失存储子系统;易失存储子系统,其连接至所述数据管理器,并可操作,以通过该数据管理器与所述非易失存储子系统交换数据;控制器,其可操作,以接收来自所述存储控制器的命令,该控制器管理(1)所述非易失存储子系统的运作、(2)所述易失存储子系统的运作以及(3)基于至少一个接收到的来自所述存储控制器的命令在所述存储控制器、所述易失存储子系统或所述非易失存储子系统中的任意两个或两个以上之间的数据传输。
本发明的另一方面提供一种通过存储控制器管理存储器模块的方法,该存储器模块包括易失和非易失存储子系统。该方法包括接收来自存储控制器的控制信息,其中,该控制信息使用易失存储子系统的协议接收。该方法还包括识别用于使用接收到的控制信息将数据传入或传出该存储器模块的数据通路,使用该存储器模块的数据管理器和控制器基于至少一个接收到的控制信息和识别的数据通路在存储控制器、易失存储子系统和非易失存储子系统中的任意两个或两个以上间传输数据。
在本发明的存储器模块中,所述数据管理器用于响应接收到的来自控制器的至少一个控制信号和控制信息来控制数据流速率、数据传输大小、数据缓存大小、数据错误监测以及数据错误纠正中的一个或多个。
在本发明的存储器模块中,所述数据管理器基于接收到的来自所述控制器的指令控制存储控制器、易失存储子系统或非易失存储子系统中的任意两个或两个以上间的数据通信。
在本发明的存储器模块中,所述数据通信控制涉及数据流速率、数据传输大小、数据缓存大小、数据传输位宽、格式信息、数据流方向和数据传输起始时间中的任意一个或多个。
在本发明的存储器模块中,所述控制器响应接收到的来自存储控制器的命令以和所述存储器模块的存储地址空间初始化信息中的至少一个来配置易失存储子系统的第一存储地址空间和非易失存储子系统的第二存储地址空间中的至少一个。
在本发明的存储器模块中,所述数据管理器配置为具有两组或两组以上与易失存储子系统和非易失存储子系统中任意一个连接的数据端口的双向数据传输结构。
在本发明的存储器模块中,所述易失存储子系统和非易失存储子系统中的至少一个包括一个或多个存储段。
在本发明的存储器模块中,每个存储段包括至少一个存储电路、存储设备或存储晶粒。
在本发明的存储器模块中,所述易失存储子系统包括DRAM存储器。
在本发明的存储器模块中,所述非易失存储子系统包括Flash存储器。
在本发明的存储器模块中,至少一组数据端口由所述数据管理器进行操作以独自和/或同时地将数据传入或传出所述易失存储子系统或非易失存储子系统中的一个或多个存储段。
在本发明的存储器模块中,所述数据管理器和控制器响应通过控制器接收到的来自存储控制器的存储器访问命令来实现所述存储控制器和非易失存储子系统间的数据传输。
在本发明的存储器模块中,所述易失存储子系统用作所述存储控制器和非易失存储子系统间的数据传输缓存。
在本发明的存储器模块中,所述数据控制器还包括数据格式模块,用于根据接收到的来自控制器的控制信息将数据按一定格式在存储控制器、易失存储子系统和非易失存储子系统中的任意两个或两个以上间传输。
在本发明的存储器模块中,所述数据管理器还包括数据缓存,用以缓存传入到传出非易失存储子系统的数据。
在本发明的存储器模块中,所述控制器用于执行存储器地址转换、存储器地址映射、地址域转换、存储器存取控制、数据错误纠正和易失存储子系统与非易失存储子系统间的数据位宽调节中的一个或多个。
在本发明的存储器模块中,所述控制器用于依照规定的协议实现与主系统的操作。
在本发明的存储器模块中,所述规定的协议选自DDR、DDR2、DDR3和DDR4协议中的一种或多种。
在本发明的存储器模块中,所述控制器能够基于以下至少一种信息配置存储空间:接收到的来自存储控制器的命令;写入寄存器的可编程的值;对应易失存储子系统开始部分的值;对应非易失存储子系统开始部分的值;以及时间值。
在本发明的存储器模块中,所述控制器至少使用所述易失存储子系统开始部分和所述非易失存储子系统开始部分配置所述存储器模块的存储空间,并且该控制器向所述存储控制器给出统一的存储空间。
在本发明的存储器模块中,所述控制器使用专用的分割指令配置存储器模块中的存储空间。
在本发明的存储器模块中,所述控制器在上电过程中用于从非易失存储子系统向易失存储子系统复制启动信息。
在本发明的存储器模块中,所述控制器包括易失存储器控制模块、非易失存储器控制模块、数据管理器控制模块、命令解析模块和调度模块。
在本发明的存储器模块中,从易失存储器控制模块到易失存储子系统的命令从属于从存储控制器到控制器的命令。
在本发明的存储器模块中,所述控制器实现从非易失存储器到易失存储器的数据的预取。
在本发明的存储器模块中,所述预取通过所述存储控制器向所述控制器的寄存器写入请求数据的地址而发出。
在本发明的存储器模块中,所述控制器用于发起所述易失存储子系统中封闭块到所述非易失存储子系统中目标块的数据复制操作。
在本发明的存储器模块中,如果所述封闭块解封,那么所述控制器用于中止所述复制操作,并且从所述非易失存储子系统擦除所述目标块。
在本发明的存储器模块中,所述数据传输包括非易失存储子系统和易失存储子系统间的数据双向传输。
本发明的管理存储器模块的方法还包括操作所述数据管理器控制数据流速率,、数据传输大小、数据位宽大小、数据缓存大小、数据错误监测、数据错误纠正和数据传输起始时间中的一个或多个。
本发明的管理存储器模块的方法还包括操作所述数据管理器控制存储控制器和易失存储子系统和非易失存储子系统中至少一个间的数据通信。
在本发明的管理存储器模块的方法中,所述数据通信控制数据传输大小、格式信息、数据流方向和数据传输起始时间中的任意一个或多个。
在本发明的管理存储器模块的方法中,由通过所述数据管理器的数据通信控制基于接收到的来自所述控制器的指令。
本发明的管理存储器模块的方法还包括将所述数据管理器用作具有两组或两组以上与易失存储子系统和非易失存储子系统中任意一个连接的数据端口的双向数据传输结构。
在本发明的管理存储器模块的方法中,所述易失存储子系统和非易失存储子系统中的至少一个包括一个或多个存储段。
在本发明的管理存储器模块的方法中,每个存储段均包括至少一个存储电路、存储设备或存储晶粒。
在本发明的管理存储器模块的方法中,所述易失存储子系统包括DRAM存储器。
在本发明的管理存储器模块的方法中,所述非易失存储子系统包括Flash存储器。
本发明的管理存储器模块的方法还包括操作所述数据端口独自和/或同时地将数据传入或传出所述易失存储子系统或非易失存储子系统中的一个或多个存储段。
本发明的管理存储器模块的方法还包括响应通过控制器接收到的来自存储控制器的存储器访问命令,使用数据管理器管理所述易失存储子系统和非易失存储子系统间的数据双向传输。
本发明的管理存储器模块的方法还包括使用所述易失存储子系统缓存所述存储控制器和非易失存储子系统间传输的数据。
本发明的管理存储器模块的方法还包括使用所述控制器执行存储器地址转换、存储器地址映射、地址域转换、存储器存取控制、数据错误纠正和易失存储子系统与非易失存储子系统间的数据位宽调节中的一个或多个。
本发明的管理存储器模块的方法还包括使用所述控制器依照规定的协议通过所述易失存储子系统实现与主系统间的通信。
在本发明的管理存储器模块的方法中,所述规定的协议选自DDR、DDR2、DDR3和DDR4协议中的一种或多种。
本发明的管理存储器模块的方法还包括使用所述控制器基于以下至少一种信息配置所述存储器模块中的存储空间:接收到的来自存储控制器的命令;写入寄存器的可编程的值;对应易失存储子系统开始部分的值;对应非易失存储子系统开始部分的值;以及时间值。
在本发明的管理存储器模块的方法中,所述控制器至少使用所述易失存储子系统开始部分和所述非易失存储子系统开始部分配置所述存储器模块的存储空间,并且该控制器向所述存储控制器给出统一的存储空间。
在本发明的管理存储器模块的方法中,所述控制器使用专用的分割指令配置存储器模块中的存储空间。
本发明的管理存储器模块的方法还包括在上电过程中使用所述控制器从非易失存储子系统向易失存储子系统复制启动信息。
在本发明的管理存储器模块的方法中,所述控制器包括易失存储器控制模块,所述方法还包括响应来自所述存储控制器的命令,通过易失存储器控制模块生产命令,并且将生产的命令传输到易失存储子系统中。
本发明的管理存储器模块的方法还包括预取从非易失存储器到易失存储器的数据。
在本发明的管理存储器模块的方法中,所述预取通过所述存储控制器向所述控制器的寄存器写入请求数据的地址而发出。
本发明的管理存储器模块的方法还包括发起所述易失存储子系统中封闭块到所述非易失存储子系统中目标块的数据复制操作。
本发明的管理存储器模块的方法还包括当所述易失存储子系统的封闭块解封时,中止所述复制操作,并擦除所述非易失存储子系统中的所述目标块。
附图说明
以下并入并构成本说明书的一部分的附图,举例说明了本发明的一个或多个实施例,其结合对优选实施例的具体描述,有助于理解本发明原理及实施本发明。
图1为一个常规存储器配置中经过CPU的数据传输路径框图;
图2为一种已知的EcoRAMTM架构框图;
图3A和3B为非易失存储器DIMM或NVDIMM的框图;
图4A和4B为Flash-DRAM混合DIMM或FDHDIMM的框图;
图5A为本发明特定实施例中的存储器模块500的框图;
图5B为展示了图5A所示的存储器模块的部分功能的框图;
图6为展示了数据管理器(DMgr)部分细节的框图;
图7为模组控制器(CDC)的功能框图;
图8A为展示了如图4A和4B所示的现有技术中Flash-DRAM混合DIMM(FDHDIMM)更多细节的框图;
图8B为根据本发明特定实施例的Flash-DRAM混合DIMM(FDHDIMM)的框图;
图9为针对示范的FDHDIMM中数据从Flash存储器传到DRAM存储器以及从DRAM存储器传到Flash存储器的的流程图;
图10为展示了将DRAM地址空间映射到Flash存储空间的框图;
图11为使用各种平均块使用时间的不同DRAM密度在写回Flash存储器的一个队列中对最大允许封闭块的评估表格。
具体实施方式
本文在计算机系统、服务器、控制器、存储器模块、硬盘驱动和软件前提下对实施例进行了描述。本领域的一般技术人员将认识到下面所描述的具体实施例仅用以解释本发明,并不用于限定本发明。本领域技术人员很容易借助本发明的优先想到其他实施例。现在,将做出详细参考以执行附图所示的实施例。附图和以下描述所使用的相同的参考编号涉及相同或相似的物件。
为了本发明的描述更清晰,没有对本文所描述的实现方式的全部常规特征都进行显示和叙述。当然,可以理解的是,在发展任何这样的实际实现中,必须做出许多的特定于实现的决定以实现开发人员的具体目标,如符合应用和业务相关的约束,并且这些具体目标从一种实现方式到另一种实现方式以及从一个开发人员到另一个开发人员将会改变。此外,还可以理解的是,这样的开发工作可能是负责并且费时的,然而,借助于本发明,对于本领域一般技术人员而言这不过是常规工程任务。
根据本发明,本文所述的组件、处理步骤和/或数据结构可以使用各种类型的操作系统、计算平台、计算机程序和/或通用设备实现。此外,本领域一般技术人员将认识到也可以使用具有更少通用用途的设备,如硬连接设备、现场可编程门阵列(Field ProgrammableGate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)等等,而不脱离本发明的范围和精神。由计算机或机器实现的包含一系列处理步骤的方法以及这些处理步骤可以存储为一系列机器可读指令,它们可能存储在有形媒介中,如计算机存储设备(例如,ROM(Read Only Memory,只读存储器)、PROM(Programmable Read OnlyMemory,可编程只读存储器)、EEPROM(Electrically Eraseable Programmable Read OnlyMemory,电可擦除可编程只读存储器)、Flash存储器、跳转驱动(Jump Drive)等等)、磁存储媒质(例如,磁带、磁盘驱动器等等)、光存储媒质(例如,CD-ROM、DVD-ROM、纸卡和纸带等等),以及其他类型的程序存储器。
本文用到的“示范的”术语用来表示“作为一个例子、实例或说明”。本文描述的任何“示范的”实施例不一定被理解为比其他实施例更优或更好。
本文所公开的配置可以提高存储器访问速率和处理读数据吞吐率和写数据吞吐率间的悬殊差异(15比1的比率)。在一个配置中,使用了具有集成的Flash-DRAM的Flash-DRAM混合DIMM(FDHDIMM)。下面将介绍对这种配置的控制方法。
在一些实施例中,DIMM的实际存储密度(大小或容量)和/或DRAM存储器到Flash存储器的比率都是可配置的以实现特定应用的最优化使用(例如,POS、银行同业交易、证券市场交易、如汽车和船舶设计流体动力学等的科学计算、天气预报、石油和天然气勘探、如基于模糊逻辑的诊断、医用数据处理等的医疗诊断、如例如,网页搜索、零售商店网站、公司主页、电子邮件或信息分发和存档等的简单的信息共享和搜索、安全服务以及如视频点播等的娱乐)。
在一些实施例中,所述设备包括具有低密度DRAM的高密度Flash存储器,其中,该DRAM用作读/写操作的数据缓存。该Flash充当主存储器。这里描述的实施例克服了在启动命令(可以称为RAS)和对应的读或写命令(可以称为开始CAS命令)间对长的间隔期的需要。
根据本发明的一个实施例,参考图3A和3B,存储系统300包括非易失(例如,Flash)存储子系统302和易失(例如DRAM)存储子系统304。图3A和3B的例子针对非易失DIMM(NVDIMM)NVDIMM系统架构,该系统可能把包括电池或电容器的电源子系统(未显示)用作能量存储以便在运行过程中检测到发生或预计发生供电中断时将DRAM存储器上的数据复制到Flash存储器上。当供电恢复正常时,发起恢复NVDIMM操作,存储在Flash存储器中的数据被正确地存储进DRAM存储器。在这种架构中,Flash的密度和DRAM存储容量差不多一样,或者在几倍的范围内,然而,在一些应用中,Flash的密度可能更大。这种架构还可能用于提供连接至FSB(前端总线)非易失存储以支持基于RAID(Redundant Array of IndependentDisk,独立磁盘冗余阵列)的系统或其他类型的操作。NVDIMM控制器306接收并解析来自系统存储控制器集线器(Memory Controller Hub,MCH)的命令。该NVDIMM控制器306控制NVDIMM DRAM和Flash存储器的操作。在图3A中,DRAM 304与MCH进行数据通信,而内部总线308用于DRAM存储子系统和Flash存储子系统间的数据传输。在图3B中,NVDIMM 300’的NVDIMM控制器306’监视事件或命令并且使得DRAM 304'和Flash 302'间的第一模式或DRAM和MCH间的第二模式发生数据传输。
根据本发明的一个实施例,Flash-DRAM混合DIMM(FDHDIMM)系统400的一般架构如图4A所示。FDHDIMM与MCH接合以操纵和用作高密度DIMM,其中,与MCH接合的非易失存储子系统(例如,Flash)402由FDHDIMM控制器404控制。虽然MCH通过FDHDIMM控制器与Flash接合,但是FDHDIMM全部性能由Flash访问时间决定。易失存储子系统(例如,DRAM)406主要用作数据缓存或临时存储位置,使得来自Flash存储器402的数据能够以Flash访问速度传输到DRAM 406,并缓存或收集进DRAM 406,而后该易失存储子系统将缓存的数据基于DRAM访问时间传输到MCH。类似地,当MCH传输数据到DRAM 406,FDHDIMM控制器404管理从DRAm406到Flash 402的数据传输。由于Flash存储访问速度(读和写)相对DRAM要慢,(例如,读访问需要几百毫秒),FDHDIMM 400的平均数据吞吐率受限于Flash访问速度。因此,DRAM 406充当需要传入/传出Flash 402的数据的临时存储。此外,根据本发明的一个实施例,MCH将作为高密度DIMM运作的FDHDIMM的物理密度仅识别为Flash密度。
根据本发明的一个实施例,读操作可以由MCH通过向FDHDIMM 400发送启动命令(可以简单地称为RAS,或行地址选通)以进行从Flash 402到DRAM 406的预取读数据操作来执行,预取数据大小为,例如,一页(1KB或2KB,或可以设计为任意大小)。接着MCH发送读命令(可以简单地称为CAS,或列地址选通)以从DRAM读取数据。在这个实施例中,从Flash到DRAM的数据传输发生在Flash访问速率,而从DRAM到MCH的数据传输发生在DRAM访问速率。在这个实施例中,只要读操作执行在预先发送的以从Flash预取数据到DRAM的启动命令打开的页上,数据延迟和吞吐率与任意DRAM操作相同。因此,考虑到从Flash预取数据到DRAM需要花费的时间,RAS(例如,启动命令)和首个CAS(列地址选通,例如,读或写命令)间需要更长的间隔时间。
图4B展示了运作为具有SSD的DDR DIMM的FDHDIMM的例子,其中,FDHDIMM 400'具有到MCH的两个不同接口解析。在第一个接口解析中,MCH把FDHDIMM 400'看作DRAM DIMM和SSD(未显示)的组合。以这种方式,MCH需要管理两个地址空间,一个用于DRAMs 402',另一个用于Flash 404'。MCH连接并控制DRAM存储子系统和Flash存储子系统。这种方式的一个优点是当数据从DRAM转移到Flash或者从Flash到DRAM,CPU不需要在数据路径中。在第二接口解析中,MCH把FDHDIMM 400'看作在扩展的内存空间中具有SSD的DIMM上Flash,该扩展的内存空间在DRAM空间之后。因此,以这种方式,MCH物理地从SSD获取数据到DDR DRAM,接着DRAM将该数据发送到MCH。由于所有的数据传送都发生在FDHDIMM上,这种方式比起通过或经过CPU传送数据提供更好的性能。
根据本发明的一个实施例,如图4B所示,FDHDIMM 400'接收来自MCH的控制信号,其中,该控制信号可能包括专门针对DRAM 402'操作的一个或多个控制信号和专门针对Flash 404'操作的一个或多个控制信息。在这个实施例中,MCH或CPU通过将MCH连接至DRAM的单数据总线接口410连接到FDHDIMM。
图5A和5B为连接到主系统(未显示)的存储器模块500的框图。该主系统可能为服务器或包含存储系统控制器或向一个或多个存储系统提供并控制读/写访问的MCH的任何其他系统,其中,每个存储系统可能包括多个存储子系统、多个存储设备或至少一个存储器模块。术语“读/写访问”表示MCH与存储系统或子系统接口的性能,以向其写入或从其读取数据,该性能取决于特殊时间的特殊要求。
在一些实施例中,存储器模块500为Flash-DRAM混合存储器系统,该系统可能集成有主系统的其他组件。在一些实施例中,存储器模块500为具有DIMM(双内联存储模块)形状因数的Flash-DRAM混合存储器模块,其可以被称作FDHDIMM,然而,可以理解的是,它与上述FDHDIMM和参照图4A和4B的描述在结构和操作上可能不同。存储器模块500包括两个模块上中间组件:控制器和数据管理器。这些模块上中间组件可能是物理上分离的组件、电路或模块,或者它们可能集成到一个集成电路或设备上,或者与其他存储设备集成,例如,在三维堆栈中,或在本领域技术人员已知用以实现特定设计、应用或经济目标的其他可能的若干集成的实施例中的任意一个中。至于DIMM,这些模块上中间组件为DIMM上控制器(CDC)502和DIMM上数据管理器(DMgr)504。尽管DIMM形状因子将占本文讨论的主导地位,可以理解的是,这只是为了便于说明,存储系统也是可以考虑使用其他形状因子。CDC 502和数据管理器DMgr 504用于管理非易失存储子系统(如Flash 506)和易失存储子系统(如DRAM 508)间的接口,以及由MCH 510所代表的主系统。
在一些实施例中,CDC 502控制从DRAM存储器508到Flash存储器506或从Flash存储器506到DRAM存储器508,以及从MCH 510.到Flash 506或从Flash 506到MCH 510的读/写访问。DRAM 508、Flash 506和MCH 510间的读/写访问在这一般可以称为通信,其中,控制和访问信息C/A 560从MCH 510发送到CDC 502,并且可能的数据传输遵循数据550、数据555和/或数据556所示的路径。在一些实施例中,CDC 502执行特定功能来进行存储地址转换,如地址转换、映射或地址域转换、Flash访问控制、数据错误纠正、Flash存储器和DRAM间数据位宽或数据格式调整或数据调制,等等。在一些实施例中,CDC 502确保存储器模块500依照特定工业标准,如DDR、DDR2、DDR3、DDR4协议,提供对MCH的透明操作。在如图5A和5B所示的配置中,没有从MCH 510到Flash 506存储子系统的直接访问。因此,根据一些实施例,Flash访问速度对整个FDHDIMM访问速度的影响微乎其微。在图5B的示意图中,根据一个实施例,CDC控制器505从MCH接收标准DDR命令,解析并生产命令和/或控制信号来控制数据管理器(DMgr)、Flash存储器和DRAM存储器的操作。DMgr控制DRAM、Flash和MCH之间的数据路径的选路,正如下面所提到的。数据路径选路控制信号独立运作没有任何排外性。
参照图6,将对DMgr 504的示范作用进行描述。在一些实施例中,响应来自CDC 502的通信,DMgr 504提供了各种功能来控制数据流速率、数据传输大小、数据缓存大小、数据错误监测或数据错误纠正。例如,这些功能或操作可以即时执行(当数据通过DMgr 504传输)或在DRAM或缓存中缓存或存储的数据上执行。此外,DMgr 504的一个作用是在各种存储子系统或组件和/或MCH 510中提供互操作性。
在一个实施例中,示范的主系统运作开始于初始化。CDC 502从MCH 510接收第一个命令,使用特定存储空间对FDHDIMM 500进行初始化。由MCH 510控制的该存储空间,在初始化期间或初始化完成后可以被配置或编程。MCH 510可以通过针对主系统需要运行或执行的特定应用优化的各种方式对该存储空间进行分割或解析。在一个实施例中,CDC 502使用MCH 510通过第一个命令发送的信息映射实际物理Flash 506和DRAM 508存储空间。在一个实施例中,CDC 502使用接收到的来自主系统的、存储在FDHDIMM 500寄存器中的或存储在非易失存储子系统的存储单元中的存储地址映射信息映射Flash 506和DRAM 508存储子系统中的任意一个的存储地址空间,例如,Flash 506的一部分或单独的非易失存储子系统。在一个实施例中,该存储地址空间信息对应FDHDIMM 500初始化信息的一部分。
在一个实施例中,MCH 510可能发送从Flash 506恢复一定量的数据信息到DRAM508的命令。CDC 502提供控制信息到DMgr 504,从而适当地从Flash 506复制必要信息到DRAM 508。这种操作可以对各种主系统启动操作和/或特定主系统上电操作提供支持。
在一个实施例中,MCH 510发送可能包含各种字段的命令,该字段包括关于数据传输大小、数据格式选项和/或启动时间的控制信息。CDC 502接收并解析该命令,并向DMgr504提供控制信息,从而控制Flash 506、DRAM 508和MCH 510间的数据通信。例如,DMgr 504从CDC 502接收数据传输大小、格式信息、数据流方向(通过一个或多个多路选择器,如下面所述的611、612、621、622),以及实际数据传输的启示时间。DMgr 504还可能从CDC 502接收附加的控制信息,从而建立数据流路径和/或正确地建立数据传输结构。在一些实施例中,DMgr 504还用作双向数据传输结构。例如,DMgr 504可能具有两组以上面向Flash 506和DRAM 508的数据端口。多路选择器611和612提供从DRAM 508(1)和508(2)(DRAM-A和DRAM-B)中任意一个到MCH 510和Flash 506中任意一个的可控制的数据路径。类似的,多路选择器621和622提供从MCH 510和Flash 506中任意一个到DRAM 508(1)和508(2)(DRAM-A和DRAM-B)中任意一个的可控制的数据路径。在一个实施例中,DRAM 508(1)是DRAM 508的一段,而在其他实施例中,DRAM 508(1)是单独的DRAM存储子系统。可以理解的是,每个存储段能够包含一个或多个存储电路、存储设备和/或存储集成电路。当然,DRAM 508的其他配置也是可以的,并且也可以考虑使用复杂数据路径的其他数据传输结构和合适类型的多路选择逻辑。
根据本发明的一个实施例,两组多路选择器611、612和621、622允许从DRAM-A 508(1)和DRAM-B 508(2)到Flash 506的独立数据传输。例如,响应来自CDC 502的一个或多个控制信号或命令,DMgr 504可以通过多路选择器611从DRAM-A 508(1)向MCH 510传输数据,同时,通过多路选择器612从DRAM-B 508(2)向Flash 506传输数据;或者数据通过多路选择器611从DRAM-B 508(2)传输到MCH 510,同时,数据通过多路选择器621从Flash 506传输到DRAM-A 508(1)。此外,通过相同的方式,数据可以以全局或分段方式传入或传出DRAM存储器,数据可以以全局或分段方式传入或传出Flash存储器,因而可以访问并存取Flash存储器。
根据本发明的一个实施例,DMgr 504数据传输结构举例说明的配置还允许CDC502通过使用缓存602缓存来自Flash506的数据,以及匹配MCH 510的数据速率和/或数据格式,从而控制从Flash存储器到MCH的数据传输。如图6所示,缓存602是数据格式模块604的一部分。然而,缓存602也可能是分散式的缓存,这样多路选择器逻辑元件组,显示为多路选择器611、612、621和622,中的每一个均使用一个缓存。可以使用各种缓存配置,诸如大小可编程的缓存,以满足给定系统设计要求,例如,读/写访问时间之间的差异;或整体系统性能,例如,延迟。在一些实施例中,缓存604可以对MCH 510、DRAM508和Flash506间的数据通信路径引入一个或多个时钟周期的时滞。
在一些实施例中,数据格式模块604包括数据格式化子系统(为显示),使得DMgr依照接收到的来自CDC502的控制信息将数据以一定格式传输。上面讨论的数据格式模块602的数据缓存604还支持连接至Flash存储器506工作在第一频率的宽数据总线606,而使用位宽较小且工作在第二频率的数据总线608从DRAM508接收数据,在一些实施例中,该第二频率大于该第一频率。缓存602设计用以匹配DRAM 508和Flash 506间的数据流速率。
寄存器690提供寄存通过C/A 560(图5A)接收来自MCH 510的命令的能力。寄存器690可能将这些命令传达至CDC 502和/或DRAM 508和/或Flash 506。寄存器690将这些寄存的命令传达至CDC 502进行处理。寄存器690还可能包括多个寄存器(未显示),这样其可以提供存储多个命令、一系列命令的能力,或为接收到的来自MCG510的特定命令的缓存和提供受控的执行而提供流水延时。
在一些实施例中,寄存器690可能寄存来自MCH 510的命令,并将寄存的命令传送至DRAM 508和/或Flash 506存储子系统。在一些实施例中,CDC 502通过控制和地址总线C/A 560监控接收到的来自MCH510的命令,并向DMgr 504、DRAM 508或Flash 506提供合适的控制信息以实行这些命令并通过MCH数据总线610在MCH 510和FDHDIMM 500间执行数据传输操作。
图7为CDC 502的功能框图。在一些实施例中,CDC 502主要的功能模块为DRAM控制模块DRAMCtrl 702、Flash控制模块FlashCtrl 704、MCH命令解析模块Cmdlnt 706、DRAM-Flash接口调度模块Scheduler 708和DMgr控制模块DMgrCtrl 710。
根据本发明的一个实施例,DRAMCtrl 702生产独立于MCH 510发出的命令的DRAM命令。根据发明的一个实施例,当MCH 510向当前正在执行来自DRAMCtrl 702命令的相同的DRAM 508发起读/写操作时,CDC 502可能选择指示DRAMCtrl 702中止其操作,从而执行由MCH发起的操作。然而,CDC 502还可能流水化处理该操作,这样其导致在执行MCH的操作前DRAMCtrl 702既可以停止也可以完成它当前的操作。一旦来自MCH 510的命令完成了,CDC502还可以指示DRAMCtrl 702继续它的操作。
根据本发明的一个实施例,FlashCtrl 704为适当地读/写操作生产合适的Flash命令。Cmdlnt 706截获接收到的来自MCH 510的命令,生成合适的控制信息和控制信号,并将它们传送至合适的FDHDIMM功能模块。例如,当MCH发出与当前正在执行的或等待执行的DRAMCtrl 702发起的独立于MCH 510的命令冲突(抵触)的命令,Cmdlnt 706向DRAMCtrl702发出中断信号,从而使得上述来自DRAMCtrl的命令从属与来自MCH的命令。调度器708对Flash-DRAM接口操作进行调度,使得DMgr 504中不存在资源冲突。根据本发明的一个实施例,调度器708基于当前状态和接收到的或可接收到的来自MCH的挂起的命令为DRAMCtrl702和FlashCtrl 704操作分配时隙。DMgrCtrl 710为正确操作及控制数据传输结构生成并发送合适的控制信息和控制信号,以使能或不使能Flash 506、DRAM 508和MCH 510间的数据路径。
FIG.8A为Flash-DRAM混合DIMM(FDHDIMM)801的框图。如图8A所示,Flash-DRAM混合DIMM要求两个分离且独立的地址总线来分别控制地址空间:一个用于Flash存储器Flash803,另一个用于DRAM存储器DRAM 805。MCH 810把DRAM 805和Flash 803看作单独的存储子系统,例如,DRAM存储子系统和SSD/HD存储子系统。在每个地址空间中的存储器均由MCH直接控制。然而,Flash 803和DRAM 805间的DIMM上数据路径807允许Flash 803和DRAM 805间发生直接数据传输以响应来自Ctrl 830的控制信息。在这个实施例中,数据传输机制为执行来自MCH的命令提供直接支持,无需MCH直接控制数据传输,这提高了从Flash 803到DRAM805的数据传输性能。然而,MCH需要同时管理两个地址空间和两个不同的存储器协议。此外,MCH需要将DRAM存储空间映射到Flash存储空间,并且由于Flash存储器和DRAM存储器的数据访问时间不同,因此数据接口时间将会受到负面影响。
根据本发明的一个实施例,Flash-DRAM混合DIMM的存储空间映射如图8B所示。主系统的存储控制器(未显示)使用单一地址空间控制DRAM 508地址空间和Flash 506地址空间。CDC 502从MCH接收存储器访问命令,并为合适的映射和Flash和DRAM存储子系统间的数据传输生成控制信息,以正确实施存储器访问命令。在一个实施例中,主系统的存储控制器视大的Flash存储空间为DRAM存储空间,并且使用访问DRAM的标准DDR(double data rate,双数据速率)协议访问该统一了的存储空间。在这种情况下,该统一了的存储空间可以显示Flash 506和DRAM 508间重叠的存储地址空间。该重叠的存储地址空间可能用作Flash 506和DRAM 508间的数据传输的暂存或缓存。例如,DRAM存储空间可能保存有复制自选择的Flash存储空间的数据,因此MCH能够通过DDR存储器访问命令访问该数据。CDC 502响应接收到的来自主系统存储控制器的命令来控制Flash 506和DRAM508存储子系统。
在一个实施例中,统一了的存储空间对应连续的地址空间,该连续的地址空间包括Flash 506地址空间的第一部分和DRAM 508地址空间的第一部分。Flash 506地址空间的第一部分可以通过保存有对应需要使用的Flash存储大小的第一值的第一可编程寄存器确定。类似的,DRAM 508地址空间的第一部分可以通过保存有对应需要使用的DRAM存储大小的第二值的第二可编程寄存器确定。在一个实施例中,Flash 506地址空间的第一部分和DRAM 508地址空间的第一部分中的任意一个均可以通过对应性能要求或存储器大小的第一值确定,该第一值通过主系统的存储控制器发送的命令由CDC 502接收。
根据本发明的一个实施例,图9为针对示范的FDHDIMM中数据从Flash存储器传到DRAM存储器以及从DRAM存储器传到Flash存储器的流程图。在一些实施例中,从Flash 506到DRAM 508的数据传输按照CDC 502接收的来自主系统存储控制器的存储器访问命令进行。在一些实施例中,CDC 502控制从DRAM 508到Flash 506的数据传输,以避免与当前正执行的任何存储操作冲突。例如,当特定DRAM存储块中的全部页都关闭。CDC 502为了对所需应用的支持最优化,将DRAM存储空间划分为若干块。控制器基于接收到的来自MCH的一个或多个命令、接收到的来自MCH的指令、写入寄存器的可编程值、对应易失存储子系统第一部分的值、对应非易失存储子系统第一部分的值和时序值中的至少一个对存储器模块中的存储空间进行配置。此外,块大小可以由主系统的存储控制器配置,这样,可以优化块中的页数以支持特定的应用或任务。进一步地,块大小可以即时配置,例如,CDC 502可以通过存储器命令或可编程值从存储控制器接收关于需要的块大小的指令。
在一些实施例中,存储控制器使用标准访问协议(如JEDEC的DDR DRAM)通过向CDC502发送存储器访问命令访问存储器模块,其中,CDC 502依次确定数据传输操作的类型以及对应的存储数据信息的目标地址,例如,数据信息存储在DRAM 508或Flash 506存储子系统中。响应读操作时,如果CDC 502确定数据信息,如页(或块),不属于DRAM 508而属于Flash 506,那么CDC 502将发起并控制从Flash 506到DRAM 508的全部必要的数据传输操作,随后再将数据传输到存储控制器。在一个实施例中,一旦CDC 502完成请求的数据信息从Flash 506到DRAM 508的数据传输,CDC 502将通知存储控制器从DRAM 508取回数据信息。在一个实施例中,存储控制器通过向CDC 502中的寄存器写入目标Flash地址和有效的块大小,发起从Flash 506到DRAM 508的数据信息复制。CDC 502依次执行合适的操作并生成控制信息以将数据信息复制到DRAM 508。因此,存储控制器可以使用标准存储器访问命令或协议访问或取回数据信息。
图9为一个示范的流程图,先是起始步骤或上电902,接着为初始化步骤904,存储控制器初始化,在步骤906中,通过向CDC 502的控制寄存器写入目标地址和大小,数据从Flash 506移至DRAM 508,在步骤908中,CDC 502将数据从Flash 506复制至DRAM 508并擦除Flash中的块。从Flash擦除数据信息可能独立于(或同时于)在该流程图中CDC 502执行的其他步骤完成,例如,在擦除Flash块的步骤中,其他步骤可以同时执行。一旦数据信息或数据信息块移到了DRAM 508上,在步骤910,存储控制器可以使用标准存储访问协议或命令操作该数据块。在步骤912,CDC 502检查是否每个DRAM 508块或复制的块都关闭了。如果DRAM 508中每个打开的块都被存储控制器关闭了,在步骤914,CDC 502发起Flash写操作将关闭的块从DRAM 508写到Flash 506。此外,在步骤916,存储控制器重新打开当前正被写进Flash 506的关闭的块,然后CDC 502停止Flash写操作并擦除已经被写入的Flash块,如步骤918所示。否则,CDC 502在步骤920继续并完成向Flash的写操作。
图9中的虚线表示了可以由CDC 502执行的单独的或并行的活动。在任何时候,CDC502接收到来自存储控制器的DRAM加载命令,在步骤922,该存储控制器向RC寄存器写入Flash目标地址和/或块大小信息,如上所述。接着,CDC 502执行加载DRAM w/RC步骤906,并且发起包含步骤908-922的另一活动分支(线路)。在一个实施例中,CDC 502控制DRAM 508和Flash 506间的数据传输操作,这样,Flash 506对存储控制器是完全隐藏的。CDC 502监控由存储控制器使用标准DRAM协议发送的全部存储器访问命令,并且恰当配置并操作Flash 506和DRAM 508存储子系统来执行被请求的存储器访问操作,并因此达到预期的效果。该存储控制器不直接与Flash存储子系统接口。代替的是,该存储控制器与CDC 502和/或DMgr 504接口,如图5和图6所示。此外,存储控制器可能使用一种或多种协议,如DDR、DDR2、DDR3、DDR4协议等等。
根据本发明的一个实施例,图10展示了将DRAM地址空间映射到Flash存储地址空间的例子。形成24位扩展存储页面地址的两组(1002、1004)AD6到AD17的地址位分配为块地址。例如,假定256K字节的块大小,接着24位块地址空间(使用两组AD6到AD17的1002和1004)将能够访问4TB的Flash存储器存储空间。如果存储器模块具有1GB DRAM存储容量,它可以在DRAM存储器中保存大约4K个数据块,每个块包含265K字节数据。对应4K个块的DRAM地址空间可以分配给不同虚拟物理行(rank)和逻辑行(bank),其中,虚拟物理行和逻辑行的数量是可配置的,并且可以进行操作以满足特定设计或性能需求。例如,如果1G字节存储器模块被配置为两个物理行,每个物理行具有八个逻辑行,接着,每个逻辑行可保存250个块或相当于62M字节或62K页面,其中每页对应1K字节。还可以使用具有不同页数、块数、物理行数或逻辑行数的其他配置。此外,图10展示了使用上述块寻址示范地将24位DDR DIMM块地址映射到Flash存储器地址上。该24位地址可以按字段分解,比如逻辑单元号LUN(Logical Unit Number)地址1060字段、块(Block)地址1050字段、平面(Plane)地址1040、页(Page)地址1030,以及一组最低有效地址位A0A1 1020。平面地址1040为块地址的子地址,并且它可以用于支持多页IO以便提高Flash存储子系统的操作。在这个例子中,可以理解的是,该24位地址的每个字段可以分配不同个数的位数。
CDC 502通过对准备写回Flash存储器的块进行排序来管理块写回操作。如上所述,如果写操作的排列了的块中的任意一个页被重新打开,那么CDC 502将停止该排列了的块的写操作,并将该块移除队列。一旦块中的所有页都关闭,那么CDC 502重新开始写回操作并为写操作将该块排序。
根据本发明的一个实施例,执行从Flash 506到DRAM 508示范的读操作大约需要400μs,而执行从Flash 506到DRAM 508示范的写操作大约需要22ms,导致读写比率为55比1。因此,如果主系统的存储控制器花在访问DRAM的块中的数据信息的平均时间为22ms(这为包含一个或多个页的块打开的持续时间),那么从DRAM到Flash的块写回操作不会影响性能,并且读和写访问间的差异因此可能完全对存储控制器隐藏。如果块使用时间为11ms而不是22ms,那么CDC 502控制DRAM 508和Flash 506间的数据传输操作,这样,在队列中不超过9个封闭块可以写回到Flash存储器中,因此标准DDR DRAM操作可以持续大约100ms的平均时间。此外,队列中要写回Flash存储子系统的封闭块的数量随着平均块使用时间以及特定主系统或使用该主系统资源运行的特定应用的性能要求的变化而变化。
因此,要写回Flash的封闭块的最大数可以约为
((每个逻辑行的块数)/(Flash块写时间与Flash块读时间的比率)*((块使用时间)/(Flash块写时间))
为了排列了的写回块持续小于100ms时间周期,使用具有22ms每个块的写访问时间的Flash存储子系统,导致对向Flash 506的写操作最大数量为四的块进行排列。因此,块平均大约88ms(22ms*4)表示每个逻辑行不应有超过四个的需要写回Flash506的块。
上式还表明了更大的DRAM存储空间可以支持更短的块使用时间。例如,2GB DRAM存储器允许8个封闭块写回Flash。图11为使用各种平均块使用时间的不同DRAM密度在写回Flash存储器的一个队列中对最大允许封闭块的评估表格。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (24)
1.一种可连接到主系统的存储控制器的存储器模块,包括:
非易失存储子系统;
数据管理器,其连接至所述非易失存储子系统;
易失存储子系统,其连接至所述数据管理器,并可操作,以通过该数据管理器与所述非易失存储子系统交换数据;
控制器,其可操作,以接收来自所述存储控制器的命令并且产生命令和/或控制信号以管理所述非易失存储子系统的运作、所述易失存储子系统的运作以及基于至少一个接收到的来自所述存储控制器的命令在所述存储控制器、所述易失存储子系统或所述非易失存储子系统中的任意两个或两个以上之间的数据传输,其中:
所述存储器模块配置为使得所述主系统的存储控制器与所述非易失存储子系统之间没有直接访问;
所述控制器利用地址空间信息映射所述易失存储子系统和所述非易失存储子系统中的至少一个的存储地址空间,其中所述地址空间信息是通过所接收的来自所述存储控制器的命令而接收到的;
所述易失存储子系统和所述非易失存储子系统中的所述至少一个包括一个或多个存储段,每个存储段包括至少一个存储电路、存储设备或存储晶粒;且
所述数据管理器被配置为具有两组或两组以上数据端口的双向数据传输结构,所述两组或两组以上数据端口中的第一组数据端口连接到所述易失存储子系统,所述两组或两组以上数据端口中的第二组数据端口连接到所述非易失存储子系统,所述两组或两组以上数据端口能够由所述数据管理器操作,以向所述易失存储子系统或所述非易失存储子系统的一个或多个存储段传入或传出数据。
2.根据权利要求1所述的存储器模块,其特征在于,所述数据管理器可操作以响应接收到的来自所述控制器的控制信号和控制信息中的至少一个来控制数据流速率、数据传输大小、数据缓存大小、数据错误监测以及数据错误纠正中的一个或多个。
3.根据权利要求1所述的存储器模块,其特征在于,所述数据管理器基于接收到的来自所述控制器的指令控制所述存储控制器、所述易失存储子系统或所述非易失存储子系统中的任意两个或两个以上间的数据通信。
4.根据权利要求3所述的存储器模块,其特征在于,所述数据通信控制涉及数据流速率、数据传输大小、数据缓存大小、数据传输位宽、格式信息、数据流方向和数据传输起始时间中的任意一个或多个。
5.根据权利要求1所述的存储器模块,其特征在于,所述控制器响应接收到的来自所述存储控制器的命令和所述存储器模块的存储地址空间初始化信息中的至少一个来配置所述易失存储子系统的第一存储地址空间和所述非易失存储子系统的第二存储地址空间中的至少一个。
6.根据权利要求1所述的存储器模块,其特征在于,所述易失存储子系统包括DRAM存储器。
7.根据权利要求1所述的存储器模块,其特征在于,所述数据管理器还包括数据缓存,所述数据缓存用以缓存传入或传出所述非易失存储子系统的数据。
8.根据权利要求1所述的存储器模块,其特征在于,所述数据管理器还包括数据缓存和数据格式模块,所述数据缓存用以缓存传入或传出所述非易失存储子系统的数据,所述数据格式模块配置为根据接收到的来自所述控制器的控制信息,将在所述存储控制器、所述易失存储子系统和所述非易失存储子系统中的任意两个或更多个之间传输的数据格式化。
9.根据权利要求1所述的存储器模块,其特征在于,所述控制器包括易失存储控制器,所述易失存储控制器可操作,以产生独立于来自所述存储控制器的命令的命令。
10.根据权利要求9所述的存储器模块,其特征在于,所述控制器可操作以当接收到来自所述存储控制器的命令时,管理所述易失存储控制器以中止其操作。
11.根据权利要求9所述的存储器模块,其特征在于,所述控制器可操作以当接收到来自所述存储控制器的命令时,使操作流水化,从而停止或完成该操作。
12.一种通过存储控制器管理存储器模块的方法,该存储器模块包括易失存储子系统和非易失存储子系统,该方法包括:
接收来自所述存储控制器的控制信息,其中,该控制信息使用所述易失存储子系统的协议接收;
识别数据通路,该数据通路用于使用接收到的所述控制信息将数据传入或传出所述存储器模块;
使用所述存储器模块的数据管理器和控制器基于接收到的所述控制信息和识别的所述数据通路中的至少一个,在所述存储控制器、所述易失存储子系统和所述非易失存储子系统中的任意两个或两个以上间传输数据;
操作所述数据管理器作为具有两组或两组以上数据端口的双向数据传输结构,其中,所述两组或两组以上数据端口中的第一组数据端口连接到所述易失存储子系统,所述两组或两组以上数据端口中的第二组数据端口连接到所述非易失存储子系统;
根据从所述存储器模块的控制器接收到的控制信息,操作所述两组或两组以上数据端口,以向所述易失存储子系统或所述非易失存储子系统的一个或多个存储段传入或传出数据;
使用所述存储器模块的控制器执行以下中的一个或多个:存储器地址转换、存储器地址映射、地址域转换、存储器存取控制、数据错误纠正、以及所述存储控制器、所述易失存储子系统与所述非易失存储子系统中的任意两个或更多个之间的数据位宽调节;其中
所述存储器模块配置为使得主系统的存储控制器与所述非易失存储子系统之间没有直接访问;
所述控制器利用从所述存储控制器接收到的地址空间信息映射所述易失存储子系统和所述非易失存储子系统中的至少一个的存储地址空间。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括操作所述数据管理器控制数据流速率、数据传输大小、数据位宽大小、数据缓存大小、数据错误监测、数据错误纠正和数据传输起始时间中的一个或多个。
14.根据权利要求12所述的方法,其特征在于,所述易失存储子系统和非易失存储子系统中的至少一个包括一个或多个存储段。
15.根据权利要求12所述的方法,其特征在于,所述方法还包括响应通过所述控制器接收到的来自所述存储控制器的存储器访问命令,使用所述数据管理器管理所述易失存储子系统和所述非易失存储子系统间的数据双向传输。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括使用所述易失存储子系统缓存所述存储控制器和所述非易失存储子系统间传输的数据。
17.根据权利要求12所述的方法,其特征在于,所述方法还包括使用所述控制器基于以下至少一种信息配置所述存储器模块中的存储空间:接收到的来自所述存储控制器的命令、写入寄存器的可编程的值、对应所述易失存储子系统的开始部分的值、对应所述非易失存储子系统的开始部分的值、以及时间值。
18.根据权利要求17所述的方法,其特征在于,所述控制器至少使用所述易失存储子系统的第一部分和所述非易失存储子系统的第一部分配置所述存储器模块的存储空间,并且该控制器向所述存储控制器给出统一的存储空间。
19.根据权利要求17所述的方法,其特征在于,所述控制器使用专用的分割指令配置所述存储器模块中的存储空间。
20.根据权利要求12所述的方法,其特征在于,所述方法还包括:
当所述存储器模块处于第一工作模式下,即数据在所述易失存储子系统和所述存储控制器间通信时,所述易失存储子系统工作在第一时钟频率;
当所述存储器模块处于第二工作模式下,即数据在所述易失存储子系统和所述非易失存储子系统间通信时,所述非易失存储子系统工作在第二时钟频率;
当所述存储器模块处于所述第二工作模式下,所述易失存储子系统工作在第三时钟频率,该第三时钟频率小于所述第一时钟频率。
21.根据权利要求12所述的方法,其特征在于,所述数据管理器还包括数据缓存和数据格式模块,所述数据缓存用以缓存传入或传出所述非易失存储子系统的数据,所述数据格式模块配置为根据接收到的来自所述控制器的控制信息,将在所述存储控制器、所述易失存储子系统和所述非易失存储子系统中的任意两个或更多个之间传输的数据格式化。
22.根据权利要求12所述的方法,其特征在于,所述控制器包括易失存储控制器,所述易失存储控制器可操作,以产生独立于来自所述存储控制器的命令的命令。
23.根据权利要求22所述的方法,其特征在于,所述控制器可操作以当接收到来自所述存储控制器的命令时,管理所述易失存储控制器以中止其操作。
24.根据权利要求22所述的方法,其特征在于,所述控制器可操作以当接收到来自所述存储控制器的命令时,使操作流水化,从而停止或完成该操作。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161512871P | 2011-07-28 | 2011-07-28 | |
US61/512,871 | 2011-07-28 | ||
US13/559,476 | 2012-07-26 | ||
US13/559,476 US8874831B2 (en) | 2007-06-01 | 2012-07-26 | Flash-DRAM hybrid memory module |
CN201280047758.XA CN103890688B (zh) | 2011-07-28 | 2012-07-28 | 一种flash‑dram混合存储器模块 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280047758.XA Division CN103890688B (zh) | 2011-07-28 | 2012-07-28 | 一种flash‑dram混合存储器模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107656700A CN107656700A (zh) | 2018-02-02 |
CN107656700B true CN107656700B (zh) | 2020-09-01 |
Family
ID=47601785
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280047758.XA Active CN103890688B (zh) | 2011-07-28 | 2012-07-28 | 一种flash‑dram混合存储器模块 |
CN201710824058.1A Expired - Fee Related CN107656700B (zh) | 2011-07-28 | 2012-07-28 | 一种flash-dram混合存储器模块 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280047758.XA Active CN103890688B (zh) | 2011-07-28 | 2012-07-28 | 一种flash‑dram混合存储器模块 |
Country Status (6)
Country | Link |
---|---|
US (7) | US8874831B2 (zh) |
EP (3) | EP3985518A1 (zh) |
KR (1) | KR20140063660A (zh) |
CN (2) | CN103890688B (zh) |
PL (1) | PL3293638T3 (zh) |
WO (1) | WO2013016723A2 (zh) |
Families Citing this family (174)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8301833B1 (en) | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
US8904098B2 (en) | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US9720616B2 (en) * | 2008-06-18 | 2017-08-01 | Super Talent Technology, Corp. | Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED) |
US9164679B2 (en) | 2011-04-06 | 2015-10-20 | Patents1, Llc | System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class |
US8930647B1 (en) | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
US9170744B1 (en) | 2011-04-06 | 2015-10-27 | P4tents1, LLC | Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system |
US9176671B1 (en) | 2011-04-06 | 2015-11-03 | P4tents1, LLC | Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system |
US9158546B1 (en) | 2011-04-06 | 2015-10-13 | P4tents1, LLC | Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory |
US10838646B2 (en) | 2011-07-28 | 2020-11-17 | Netlist, Inc. | Method and apparatus for presearching stored data |
US10198350B2 (en) | 2011-07-28 | 2019-02-05 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US10380022B2 (en) | 2011-07-28 | 2019-08-13 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
US9417754B2 (en) | 2011-08-05 | 2016-08-16 | P4tents1, LLC | User interface system, method, and computer program product |
US11048410B2 (en) | 2011-08-24 | 2021-06-29 | Rambus Inc. | Distributed procedure execution and file systems on a memory interface |
US9098209B2 (en) | 2011-08-24 | 2015-08-04 | Rambus Inc. | Communication via a memory interface |
WO2013028849A1 (en) | 2011-08-24 | 2013-02-28 | Rambus Inc. | Methods and systems for mapping a peripheral function onto a legacy memory interface |
WO2013101201A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Home agent multi-level nvm memory architecture |
US9619406B2 (en) | 2012-05-22 | 2017-04-11 | Xockets, Inc. | Offloading of computation for rack level servers and corresponding methods and systems |
US20130318268A1 (en) | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Offloading of computation for rack level servers and corresponding methods and systems |
US20140089573A1 (en) * | 2012-09-24 | 2014-03-27 | Palsamy Sakthikumar | Method for accessing memory devices prior to bus training |
KR20140064546A (ko) * | 2012-11-20 | 2014-05-28 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 컴퓨터 시스템 |
US10910025B2 (en) * | 2012-12-20 | 2021-02-02 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Flexible utilization of block storage in a computing system |
US9280497B2 (en) | 2012-12-21 | 2016-03-08 | Dell Products Lp | Systems and methods for support of non-volatile memory on a DDR memory channel |
US20140201408A1 (en) | 2013-01-17 | 2014-07-17 | Xockets IP, LLC | Offload processor modules for connection to system memory, and corresponding methods and systems |
US9378161B1 (en) | 2013-01-17 | 2016-06-28 | Xockets, Inc. | Full bandwidth packet handling with server systems including offload processors |
US9727462B2 (en) * | 2013-01-30 | 2017-08-08 | Hewlett Packard Enterprise Development Lp | Runtime backup of data in a memory module |
CN103970219B (zh) * | 2013-01-30 | 2018-03-20 | 鸿富锦精密电子(天津)有限公司 | 存储设备及支持所述存储设备的主板 |
CN105122218B (zh) * | 2013-03-14 | 2019-01-18 | 美光科技公司 | 包含训练、数据组织及/或遮蔽的存储器系统及方法 |
EP2973571B1 (en) | 2013-03-15 | 2020-04-22 | Intel Corporation | A memory system |
US10372551B2 (en) | 2013-03-15 | 2019-08-06 | Netlist, Inc. | Hybrid memory system with configurable error thresholds and failure analysis capability |
US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
US9858181B2 (en) * | 2013-06-20 | 2018-01-02 | Hitachi, Ltd. | Memory module having different types of memory mounted together thereon, and information processing device having memory module mounted therein |
US9921980B2 (en) * | 2013-08-12 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules |
US9436563B2 (en) | 2013-10-01 | 2016-09-06 | Globalfoundries Inc. | Memory system for mirroring data |
US20150106547A1 (en) * | 2013-10-14 | 2015-04-16 | Micron Technology, Inc. | Distributed memory systems and methods |
US9152584B2 (en) * | 2013-10-29 | 2015-10-06 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Providing bus resiliency in a hybrid memory system |
TWI527058B (zh) | 2013-11-01 | 2016-03-21 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置與記憶體控制電路單元 |
US10248328B2 (en) | 2013-11-07 | 2019-04-02 | Netlist, Inc. | Direct data move between DRAM and storage on a memory module |
US11182284B2 (en) | 2013-11-07 | 2021-11-23 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
CN111309256B (zh) * | 2013-11-07 | 2024-04-30 | 奈特力斯股份有限公司 | 混合内存模块以及操作混合内存模块的系统和方法 |
CN104636267B (zh) * | 2013-11-11 | 2018-01-12 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置与存储器控制电路单元 |
KR102156284B1 (ko) * | 2013-11-27 | 2020-09-15 | 에스케이하이닉스 주식회사 | 메모리 및 이를 포함하는 메모리 모듈 |
US9547447B2 (en) * | 2014-01-03 | 2017-01-17 | Advanced Micro Devices, Inc. | Dedicated interface for coupling flash memory and dynamic random access memory |
CN110275840B (zh) * | 2014-02-23 | 2024-03-15 | 拉姆伯斯公司 | 在存储器接口上的分布式过程执行和文件系统 |
EP3129891B1 (de) * | 2014-04-08 | 2018-12-12 | Fujitsu Technology Solutions Intellectual Property GmbH | Verfahren zum verbesserten zugriff auf einen hauptspeicher eines computersystems, entsprechendes computersystem sowie computerprogramm-produkt |
US20150347151A1 (en) * | 2014-05-28 | 2015-12-03 | Diablo Technologies Inc. | System and method for booting from a non-volatile memory |
US9645829B2 (en) * | 2014-06-30 | 2017-05-09 | Intel Corporation | Techniques to communicate with a controller for a non-volatile dual in-line memory module |
US9753793B2 (en) * | 2014-06-30 | 2017-09-05 | Intel Corporation | Techniques for handling errors in persistent memory |
US9747200B1 (en) * | 2014-07-02 | 2017-08-29 | Microsemi Solutions (U.S.), Inc. | Memory system with high speed non-volatile memory backup using pre-aged flash memory devices |
KR20160046391A (ko) * | 2014-10-20 | 2016-04-29 | 삼성전자주식회사 | 하이브리드 딤 스트럭쳐 및 하이브리드 딤 스트럭쳐의 구동 방법 |
WO2016064403A1 (en) * | 2014-10-23 | 2016-04-28 | Hewlett Packard Enterprise Development Lp | Supervisory memory management unit |
US9721660B2 (en) | 2014-10-24 | 2017-08-01 | Microsoft Technology Licensing, Llc | Configurable volatile memory without a dedicated power source for detecting a data save trigger condition |
JP2016091523A (ja) * | 2014-11-11 | 2016-05-23 | レノボ・シンガポール・プライベート・リミテッド | バックアップ・モジュールの容量を拡大する方法、nvdimmシステムおよび情報処理装置 |
US9715453B2 (en) | 2014-12-11 | 2017-07-25 | Intel Corporation | Computing method and apparatus with persistent memory |
US20160098203A1 (en) * | 2014-12-18 | 2016-04-07 | Mediatek Inc. | Heterogeneous Swap Space With Dynamic Thresholds |
US10126950B2 (en) * | 2014-12-22 | 2018-11-13 | Intel Corporation | Allocating and configuring persistent memory |
US10949286B2 (en) | 2015-01-12 | 2021-03-16 | Hewlett Packard Enterprise Development Lp | Handling memory errors in memory modules that include volatile and non-volatile components |
US20160232112A1 (en) * | 2015-02-06 | 2016-08-11 | Futurewei Technologies, Inc. | Unified Memory Bus and Method to Operate the Unified Memory Bus |
US20160246715A1 (en) * | 2015-02-23 | 2016-08-25 | Advanced Micro Devices, Inc. | Memory module with volatile and non-volatile storage arrays |
CN106155926B (zh) * | 2015-04-09 | 2019-11-26 | 澜起科技股份有限公司 | 存储器及存储器的数据交互方法 |
CN107710175B (zh) * | 2015-04-20 | 2021-12-14 | 奈特力斯股份有限公司 | 存储器模块以及操作系统和方法 |
US10649680B2 (en) | 2015-04-30 | 2020-05-12 | Hewlett Packard Enterprise Development Lp | Dual-port non-volatile dual in-line memory modules |
US20170371776A1 (en) * | 2015-04-30 | 2017-12-28 | Hewlett Packard Enterprise Development Lp | Migrating data using dual-port non-volatile dual in-line memory modules |
WO2016175855A1 (en) | 2015-04-30 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Replicating data using dual-port non-volatile dual in-line memory modules |
KR20160131171A (ko) * | 2015-05-06 | 2016-11-16 | 에스케이하이닉스 주식회사 | 배터리를 포함하는 메모리 모듈 |
US11257527B2 (en) | 2015-05-06 | 2022-02-22 | SK Hynix Inc. | Memory module with battery and electronic system having the memory module |
US10025747B2 (en) * | 2015-05-07 | 2018-07-17 | Samsung Electronics Co., Ltd. | I/O channel scrambling/ECC disassociated communication protocol |
US10261697B2 (en) | 2015-06-08 | 2019-04-16 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
US9799402B2 (en) | 2015-06-08 | 2017-10-24 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and program method thereof |
US10152413B2 (en) | 2015-06-08 | 2018-12-11 | Samsung Electronics Co. Ltd. | Nonvolatile memory module and operation method thereof |
KR102290988B1 (ko) * | 2015-06-08 | 2021-08-19 | 삼성전자주식회사 | 불휘발성 메모리 모듈 및 그것의 동작 방법 |
US9619329B2 (en) | 2015-06-22 | 2017-04-11 | International Business Machines Corporation | Converting volatile memory module devices to flashless non-volatile memory module devices |
US9904490B2 (en) | 2015-06-26 | 2018-02-27 | Toshiba Memory Corporation | Solid-state mass storage device and method for persisting volatile data to non-volatile media |
US9645939B2 (en) * | 2015-06-26 | 2017-05-09 | Intel Corporation | Hardware apparatuses and methods for distributed durable and atomic transactions in non-volatile memory |
KR102274038B1 (ko) | 2015-08-03 | 2021-07-09 | 삼성전자주식회사 | 백업 기능을 갖는 메모리 모듈 |
US9720604B2 (en) | 2015-08-06 | 2017-08-01 | Sandisk Technologies Llc | Block storage protocol to RAM bypass |
KR102427262B1 (ko) | 2015-09-11 | 2022-08-01 | 삼성전자주식회사 | 랜덤 액세스 메모리 장치들 및 불휘발성 메모리 장치들을 포함하는 저장 장치 |
KR102430561B1 (ko) | 2015-09-11 | 2022-08-09 | 삼성전자주식회사 | 듀얼 포트 디램을 포함하는 메모리 모듈 |
WO2017058494A1 (en) | 2015-10-01 | 2017-04-06 | Rambus Inc. | Memory system with cached memory module operations |
US10031674B2 (en) * | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
US10503657B2 (en) | 2015-10-07 | 2019-12-10 | Samsung Electronics Co., Ltd. | DIMM SSD Addressing performance techniques |
US20170109101A1 (en) * | 2015-10-16 | 2017-04-20 | Samsung Electronics Co., Ltd. | System and method for initiating storage device tasks based upon information from the memory channel interconnect |
US9880778B2 (en) | 2015-11-09 | 2018-01-30 | Google Inc. | Memory devices and methods |
KR102420152B1 (ko) | 2015-11-18 | 2022-07-13 | 삼성전자주식회사 | 메모리 시스템에서의 다중 통신 장치 |
US10719236B2 (en) * | 2015-11-20 | 2020-07-21 | Arm Ltd. | Memory controller with non-volatile buffer for persistent memory operations |
KR102513903B1 (ko) * | 2015-12-03 | 2023-03-28 | 삼성전자주식회사 | 불휘발성 메모리 모듈 및 메모리 시스템 |
US10303372B2 (en) | 2015-12-01 | 2019-05-28 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and operation method thereof |
KR102513913B1 (ko) * | 2015-12-03 | 2023-03-28 | 삼성전자주식회사 | 불휘발성 메모리 모듈 및 메모리 시스템 |
US10025508B2 (en) | 2015-12-02 | 2018-07-17 | International Business Machines Corporation | Concurrent upgrade and backup of non-volatile memory |
CN105575433B (zh) * | 2015-12-10 | 2019-11-22 | 北京兆易创新科技股份有限公司 | Nand存储器及其平衡wl电压建立时间的装置 |
CN105354156A (zh) * | 2015-12-10 | 2016-02-24 | 浪潮电子信息产业股份有限公司 | 一种支持nvdimm的主板设计方法 |
KR102491651B1 (ko) | 2015-12-14 | 2023-01-26 | 삼성전자주식회사 | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 |
US10019367B2 (en) | 2015-12-14 | 2018-07-10 | Samsung Electronics Co., Ltd. | Memory module, computing system having the same, and method for testing tag error thereof |
CN106886495B (zh) * | 2015-12-15 | 2019-10-18 | 北京兆易创新科技股份有限公司 | 一种嵌入式系统及其控制方法 |
US10437483B2 (en) | 2015-12-17 | 2019-10-08 | Samsung Electronics Co., Ltd. | Computing system with communication mechanism and method of operation thereof |
US9971511B2 (en) | 2016-01-06 | 2018-05-15 | Samsung Electronics Co., Ltd. | Hybrid memory module and transaction-based memory interface |
US20170206165A1 (en) * | 2016-01-14 | 2017-07-20 | Samsung Electronics Co., Ltd. | Method for accessing heterogeneous memories and memory module including heterogeneous memories |
US9891864B2 (en) * | 2016-01-19 | 2018-02-13 | Micron Technology, Inc. | Non-volatile memory module architecture to support memory error correction |
US20170212835A1 (en) * | 2016-01-22 | 2017-07-27 | Samsung Electronics Co., Ltd. | Computing system with memory management mechanism and method of operation thereof |
KR102523141B1 (ko) | 2016-02-15 | 2023-04-20 | 삼성전자주식회사 | 휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 불휘발성 메모리 모듈 |
US10409719B2 (en) | 2016-03-17 | 2019-09-10 | Samsung Electronics Co., Ltd. | User configurable passive background operation |
KR102567279B1 (ko) | 2016-03-28 | 2023-08-17 | 에스케이하이닉스 주식회사 | 비휘발성 듀얼 인 라인 메모리 시스템의 파워 다운 인터럽트 |
KR102547056B1 (ko) | 2016-03-28 | 2023-06-22 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 모듈의 커맨드 어드레스 스누핑 |
KR102535738B1 (ko) | 2016-03-28 | 2023-05-25 | 에스케이하이닉스 주식회사 | 비휘발성 듀얼 인 라인 메모리 시스템, 메모리 모듈, 및 메모리 모듈의 동작 방법 |
CN105938458B (zh) * | 2016-04-13 | 2019-02-22 | 上海交通大学 | 软件定义的异构混合内存管理方法 |
US10152237B2 (en) | 2016-05-05 | 2018-12-11 | Micron Technology, Inc. | Non-deterministic memory protocol |
US10089228B2 (en) * | 2016-05-09 | 2018-10-02 | Dell Products L.P. | I/O blender countermeasures |
KR20170132483A (ko) | 2016-05-24 | 2017-12-04 | 삼성전자주식회사 | 메모리 장치의 구동 방법 |
US10534540B2 (en) | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
US10747694B2 (en) | 2016-06-07 | 2020-08-18 | Ncorium | Multi-level data cache and storage on a memory bus |
US10452539B2 (en) * | 2016-07-19 | 2019-10-22 | Sap Se | Simulator for enterprise-scale simulations on hybrid main memory systems |
US10387127B2 (en) | 2016-07-19 | 2019-08-20 | Sap Se | Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases |
US10698732B2 (en) | 2016-07-19 | 2020-06-30 | Sap Se | Page ranking in operating system virtual pages in hybrid memory systems |
US10540098B2 (en) | 2016-07-19 | 2020-01-21 | Sap Se | Workload-aware page management for in-memory databases in hybrid main memory systems |
US10783146B2 (en) | 2016-07-19 | 2020-09-22 | Sap Se | Join operations in hybrid main memory systems |
US10437798B2 (en) | 2016-07-19 | 2019-10-08 | Sap Se | Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems |
US11977484B2 (en) * | 2016-07-19 | 2024-05-07 | Sap Se | Adapting in-memory database in hybrid memory systems and operating system interface |
US10474557B2 (en) | 2016-07-19 | 2019-11-12 | Sap Se | Source code profiling for line-level latency and energy consumption estimation |
US10339050B2 (en) * | 2016-09-23 | 2019-07-02 | Arm Limited | Apparatus including a memory controller for controlling direct data transfer between first and second memory modules using direct transfer commands |
EP3532933B1 (en) | 2016-10-31 | 2022-03-02 | Rambus Inc. | Hybrid memory module |
KR102649048B1 (ko) | 2016-11-02 | 2024-03-18 | 삼성전자주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
US10585624B2 (en) | 2016-12-01 | 2020-03-10 | Micron Technology, Inc. | Memory protocol |
US10002086B1 (en) | 2016-12-20 | 2018-06-19 | Sandisk Technologies Llc | Multi-channel memory operations based on bit error rates |
KR20180078512A (ko) * | 2016-12-30 | 2018-07-10 | 삼성전자주식회사 | 반도체 장치 |
US11003602B2 (en) | 2017-01-24 | 2021-05-11 | Micron Technology, Inc. | Memory protocol with command priority |
US11397687B2 (en) * | 2017-01-25 | 2022-07-26 | Samsung Electronics Co., Ltd. | Flash-integrated high bandwidth memory appliance |
US10635613B2 (en) | 2017-04-11 | 2020-04-28 | Micron Technology, Inc. | Transaction identification |
CN108877856B (zh) * | 2017-05-10 | 2021-02-19 | 慧荣科技股份有限公司 | 储存装置、记录方法以及预载方法 |
US10496584B2 (en) * | 2017-05-11 | 2019-12-03 | Samsung Electronics Co., Ltd. | Memory system for supporting internal DQ termination of data buffer |
KR102400102B1 (ko) * | 2017-05-11 | 2022-05-23 | 삼성전자주식회사 | 데이터 버퍼의 내부 데이터(dq) 터미네이션을 지원하는 메모리 시스템 |
US11010379B2 (en) | 2017-08-15 | 2021-05-18 | Sap Se | Increasing performance of in-memory databases using re-ordered query execution plans |
US10585754B2 (en) | 2017-08-15 | 2020-03-10 | International Business Machines Corporation | Memory security protocol |
KR102353859B1 (ko) * | 2017-11-01 | 2022-01-19 | 삼성전자주식회사 | 컴퓨팅 장치 및 비휘발성 듀얼 인라인 메모리 모듈 |
US10606513B2 (en) | 2017-12-06 | 2020-03-31 | Western Digital Technologies, Inc. | Volatility management for non-volatile memory device |
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) |
US11334278B2 (en) | 2018-03-01 | 2022-05-17 | Micron Technology, Inc. | Performing operation on data blocks concurrently and based on performance rate of another operation on data blocks |
US11579770B2 (en) * | 2018-03-15 | 2023-02-14 | Western Digital Technologies, Inc. | Volatility management for memory device |
CN108874684B (zh) * | 2018-05-31 | 2021-05-28 | 北京领芯迅飞科技有限公司 | 拆分cache缓存的nvdimm接口数据读写装置 |
US11157319B2 (en) | 2018-06-06 | 2021-10-26 | Western Digital Technologies, Inc. | Processor with processor memory pairs for improved process switching and methods thereof |
US10636455B2 (en) | 2018-07-12 | 2020-04-28 | International Business Machines Corporation | Enhanced NVDIMM architecture |
EP3853738A4 (en) * | 2018-09-17 | 2022-06-22 | Micron Technology, Inc. | CACHE OPERATIONS IN A DUAL-LINE HYBRID MEMORY MODULE |
US10949117B2 (en) * | 2018-09-24 | 2021-03-16 | Micron Technology, Inc. | Direct data transfer in memory and between devices of a memory module |
US10732892B2 (en) * | 2018-09-24 | 2020-08-04 | Micron Technology, Inc. | Data transfer in port switch memory |
US11099779B2 (en) | 2018-09-24 | 2021-08-24 | Micron Technology, Inc. | Addressing in memory with a read identification (RID) number |
US10901657B2 (en) | 2018-11-29 | 2021-01-26 | International Business Machines Corporation | Dynamic write credit buffer management of non-volatile dual inline memory module |
US11163475B2 (en) * | 2019-06-04 | 2021-11-02 | International Business Machines Corporation | Block input/output (I/O) accesses in the presence of a storage class memory |
US11222671B2 (en) | 2019-06-20 | 2022-01-11 | Samsung Electronics Co., Ltd. | Memory device, method of operating the memory device, memory module, and method of operating the memory module |
EP3754512B1 (en) | 2019-06-20 | 2023-03-01 | Samsung Electronics Co., Ltd. | Memory device, method of operating the memory device, memory module, and method of operating the memory module |
US11526441B2 (en) | 2019-08-19 | 2022-12-13 | Truememory Technology, LLC | Hybrid memory systems with cache management |
US11055220B2 (en) | 2019-08-19 | 2021-07-06 | Truememorytechnology, LLC | Hybrid memory systems with cache management |
US11513725B2 (en) * | 2019-09-16 | 2022-11-29 | Netlist, Inc. | Hybrid memory module having a volatile memory subsystem and a module controller sourcing read strobes to accompany read data from the volatile memory subsystem |
US11531601B2 (en) | 2019-12-30 | 2022-12-20 | Advanced Micro Devices, Inc. | Error recovery for non-volatile memory modules |
US11137941B2 (en) * | 2019-12-30 | 2021-10-05 | Advanced Micro Devices, Inc. | Command replay for non-volatile dual inline memory modules |
US11379393B2 (en) * | 2020-02-28 | 2022-07-05 | Innogrit Technologies Co., Ltd. | Multi-frequency memory interface and methods for configurating the same |
CN112000276B (zh) * | 2020-06-19 | 2023-04-11 | 浙江绍兴青逸信息科技有限责任公司 | 一种内存条 |
US11355214B2 (en) * | 2020-08-10 | 2022-06-07 | Micron Technology, Inc. | Debugging memory devices |
KR20220091794A (ko) | 2020-12-24 | 2022-07-01 | 삼성전자주식회사 | 반도체 장치 및 이를 포함하는 전자 장치 |
FR3119483B1 (fr) | 2021-01-29 | 2023-12-29 | Commissariat Energie Atomique | Dispositif comportant un circuit mémoire non volatil |
US11687281B2 (en) * | 2021-03-31 | 2023-06-27 | Advanced Micro Devices, Inc. | DRAM command streak efficiency management |
CN117242522A (zh) * | 2021-05-06 | 2023-12-15 | 超威半导体公司 | 混合库锁存器阵列 |
US11527270B2 (en) * | 2021-05-06 | 2022-12-13 | Advanced Micro Devices, Inc. | Hybrid library latch array |
US11610627B2 (en) | 2021-05-06 | 2023-03-21 | Advanced Micro Devices, Inc. | Write masked latch bit cell |
CN112947996B (zh) | 2021-05-14 | 2021-08-27 | 南京芯驰半导体科技有限公司 | 基于虚拟映射的片外非易失性存储器动态装载系统及方法 |
US12009025B2 (en) | 2021-06-25 | 2024-06-11 | Advanced Micro Devices, Inc. | Weak precharge before write dual-rail SRAM write optimization |
US11586266B1 (en) | 2021-07-28 | 2023-02-21 | International Business Machines Corporation | Persistent power enabled on-chip data processor |
US11494319B1 (en) * | 2021-08-17 | 2022-11-08 | Micron Technology, Inc. | Apparatuses, systems, and methods for input/output mappings |
CN113946290B (zh) * | 2021-10-14 | 2023-06-06 | 西安紫光国芯半导体有限公司 | 基于三维异质集成的存储器件以及存储系统 |
CN114153402B (zh) * | 2022-02-09 | 2022-05-03 | 阿里云计算有限公司 | 存储器及其数据读写方法 |
FR3138709A1 (fr) * | 2022-08-04 | 2024-02-09 | STMicroelectronics (Alps) SAS | Dispositif à mémoire FLASH |
US20240111421A1 (en) * | 2022-09-30 | 2024-04-04 | Advanced Micro Devices, Inc. | Connection Modification based on Traffic Pattern |
CN116719486B (zh) * | 2023-08-10 | 2023-11-17 | 杭州智灵瞳人工智能有限公司 | 一种内置数据自动传输功能的多模存储装置及控制方法 |
CN116955241B (zh) * | 2023-09-21 | 2024-01-05 | 杭州智灵瞳人工智能有限公司 | 兼容多类型存储介质的存储芯片 |
CN117033267B (zh) * | 2023-10-07 | 2024-01-26 | 深圳大普微电子股份有限公司 | 混合存储主控制器及混合存储器 |
CN118051191A (zh) * | 2024-04-16 | 2024-05-17 | 电子科技大学 | 一种支持参数化和并行访问的非易失存储器电路、装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004664A (zh) * | 2006-01-20 | 2007-07-25 | 三星电子株式会社 | 存储卡、非易失性存储器、及其拷回操作的方法 |
CN101017460A (zh) * | 2005-12-28 | 2007-08-15 | 硅存储技术公司 | 统一的存储器和控制器 |
CN101063929A (zh) * | 2006-04-28 | 2007-10-31 | 株式会社东芝 | 使用非易失性闪存的存储装置及其控制方法 |
CN101563729A (zh) * | 2006-12-20 | 2009-10-21 | 莫塞德技术公司 | 具有易失性和非易失性存储器的混合固态存储器系统 |
CN102110057A (zh) * | 2009-12-25 | 2011-06-29 | 澜起半导体(上海)有限公司 | 存储器模组及存储器模组内的数据交换方法 |
Family Cites Families (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2043099A (en) | 1933-10-26 | 1936-06-02 | Gen Electric | Electrical protective system |
US3562555A (en) | 1967-09-01 | 1971-02-09 | Rca Corp | Memory protecting circuit |
US3916390A (en) | 1974-12-31 | 1975-10-28 | Ibm | Dynamic memory with non-volatile back-up mode |
US4234920A (en) | 1978-11-24 | 1980-11-18 | Engineered Systems, Inc. | Power failure detection and restart system |
US4449205A (en) | 1982-02-19 | 1984-05-15 | International Business Machines Corp. | Dynamic RAM with non-volatile back-up storage and method of operation thereof |
US4420821A (en) | 1982-02-19 | 1983-12-13 | International Business Machines Corporation | Static RAM with non-volatile back-up storage and method of operation thereof |
US4607332A (en) | 1983-01-14 | 1986-08-19 | At&T Bell Laboratories | Dynamic alteration of firmware programs in Read-Only Memory based systems |
US4658204A (en) | 1986-02-07 | 1987-04-14 | Prime Computer, Inc. | Anticipatory power failure detection apparatus and method |
US4884242A (en) | 1988-05-26 | 1989-11-28 | Applied Automation, Inc. | Backup power system for dynamic memory |
US4882709A (en) | 1988-08-25 | 1989-11-21 | Integrated Device Technology, Inc. | Conditional write RAM |
US4965828A (en) | 1989-04-05 | 1990-10-23 | Quadri Corporation | Non-volatile semiconductor memory with SCRAM hold cycle prior to SCRAM-to-E2 PROM backup transfer |
GB2256735B (en) | 1991-06-12 | 1995-06-21 | Intel Corp | Non-volatile disk cache |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5490155A (en) | 1992-10-02 | 1996-02-06 | Compaq Computer Corp. | Error correction system for n bits using error correcting code designed for fewer than n bits |
US5430742A (en) | 1992-10-14 | 1995-07-04 | Ast Research, Inc. | Memory controller with ECC and data streaming control |
KR970008188B1 (ko) | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
JPH0729386A (ja) | 1993-07-13 | 1995-01-31 | Hitachi Ltd | フラッシュメモリ及びマイクロコンピュータ |
US5675725A (en) | 1993-07-19 | 1997-10-07 | Cheyenne Advanced Technology Limited | Computer backup system operable with open files |
KR0130873B1 (ko) | 1994-01-11 | 1998-04-20 | 호리에 유키지 | 콤바인의 곡물 탱크 |
US5577213A (en) * | 1994-06-03 | 1996-11-19 | At&T Global Information Solutions Company | Multi-device adapter card for computer |
US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
US5519663A (en) | 1994-09-28 | 1996-05-21 | Sci Systems, Inc. | Preservation system for volatile memory with nonvolatile backup memory |
EP0710033A3 (en) | 1994-10-28 | 1999-06-09 | Matsushita Electric Industrial Co., Ltd. | MPEG video decoder having a high bandwidth memory |
JPH08278916A (ja) | 1994-11-30 | 1996-10-22 | Hitachi Ltd | マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路 |
US5563839A (en) | 1995-03-30 | 1996-10-08 | Simtek Corporation | Semiconductor memory device having a sleep mode |
US5630096A (en) | 1995-05-10 | 1997-05-13 | Microunity Systems Engineering, Inc. | Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order |
US5619644A (en) * | 1995-09-18 | 1997-04-08 | International Business Machines Corporation | Software directed microcode state save for distributed storage controller |
US5799200A (en) | 1995-09-28 | 1998-08-25 | Emc Corporation | Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller |
US5914906A (en) | 1995-12-20 | 1999-06-22 | International Business Machines Corporation | Field programmable memory array |
US6199142B1 (en) | 1996-07-01 | 2001-03-06 | Sun Microsystems, Inc. | Processor/memory device with integrated CPU, main memory, and full width cache and associated method |
US5813029A (en) | 1996-07-09 | 1998-09-22 | Micron Electronics, Inc. | Upgradeable cache circuit using high speed multiplexer |
US5757712A (en) | 1996-07-12 | 1998-05-26 | International Business Machines Corporation | Memory modules with voltage regulation and level translation |
US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US5870350A (en) | 1997-05-21 | 1999-02-09 | International Business Machines Corporation | High performance, high bandwidth memory bus architecture utilizing SDRAMs |
US5991885A (en) | 1997-06-11 | 1999-11-23 | Clarinet Systems, Inc. | Method and apparatus for detecting the presence of a remote device and providing power thereto |
KR100238188B1 (ko) | 1997-09-12 | 2000-01-15 | 윤종용 | 비디오 콘트롤러에서 메모리클럭 발생방법 및 그 장치 |
US6145068A (en) | 1997-09-16 | 2000-11-07 | Phoenix Technologies Ltd. | Data transfer to a non-volatile storage medium |
US5953215A (en) | 1997-12-01 | 1999-09-14 | Karabatsos; Chris | Apparatus and method for improving computer memory speed and capacity |
US6721860B2 (en) | 1998-01-29 | 2004-04-13 | Micron Technology, Inc. | Method for bus capacitance reduction |
US6158015A (en) | 1998-03-30 | 2000-12-05 | Micron Electronics, Inc. | Apparatus for swapping, adding or removing a processor in an operating computer system |
US6216247B1 (en) | 1998-05-29 | 2001-04-10 | Intel Corporation | 32-bit mode for a 64-bit ECC capable memory subsystem |
US6658507B1 (en) | 1998-08-31 | 2003-12-02 | Wistron Corporation | System and method for hot insertion of computer-related add-on cards |
US6269382B1 (en) * | 1998-08-31 | 2001-07-31 | Microsoft Corporation | Systems and methods for migration and recall of data from local and remote storage |
US6363450B1 (en) | 1999-03-17 | 2002-03-26 | Dell Usa, L.P. | Memory riser card for a computer system |
US6336176B1 (en) | 1999-04-08 | 2002-01-01 | Micron Technology, Inc. | Memory configuration data protection |
US6487623B1 (en) | 1999-04-30 | 2002-11-26 | Compaq Information Technologies Group, L.P. | Replacement, upgrade and/or addition of hot-pluggable components in a computer system |
US7827348B2 (en) | 2000-01-06 | 2010-11-02 | Super Talent Electronics, Inc. | High performance flash memory devices (FMD) |
US6336174B1 (en) | 1999-08-09 | 2002-01-01 | Maxtor Corporation | Hardware assisted memory backup system and method |
KR100375217B1 (ko) | 1999-10-21 | 2003-03-07 | 삼성전자주식회사 | 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러 |
US6571244B1 (en) | 1999-10-28 | 2003-05-27 | Microsoft Corporation | Run formation in large scale sorting using batched replacement selection |
JP2001166993A (ja) | 1999-12-13 | 2001-06-22 | Hitachi Ltd | 記憶制御装置およびキャッシュメモリの制御方法 |
US8171204B2 (en) | 2000-01-06 | 2012-05-01 | Super Talent Electronics, Inc. | Intelligent solid-state non-volatile memory device (NVMD) system with multi-level caching of multiple channels |
US6459647B1 (en) | 2000-02-08 | 2002-10-01 | Alliance Semiconductor | Split-bank architecture for high performance SDRAMs |
JP3871853B2 (ja) * | 2000-05-26 | 2007-01-24 | 株式会社ルネサステクノロジ | 半導体装置及びその動作方法 |
US6691209B1 (en) * | 2000-05-26 | 2004-02-10 | Emc Corporation | Topological data categorization and formatting for a mass storage system |
JP3871184B2 (ja) * | 2000-06-12 | 2007-01-24 | シャープ株式会社 | 半導体記憶装置 |
DE10032236C2 (de) | 2000-07-03 | 2002-05-16 | Infineon Technologies Ag | Schaltungsanordnung zum Umschalten einer Receiverschaltung insbesondere in DRAM-Speichern |
US6769081B1 (en) | 2000-08-30 | 2004-07-27 | Sun Microsystems, Inc. | Reconfigurable built-in self-test engine for testing a reconfigurable memory |
US6487102B1 (en) | 2000-09-18 | 2002-11-26 | Intel Corporation | Memory module having buffer for isolating stacked memory devices |
JP3646303B2 (ja) | 2000-12-21 | 2005-05-11 | 日本電気株式会社 | コンピュータシステムとそのメモリ管理方法、及びメモリ管理プログラムを記録した記録媒体 |
US7107480B1 (en) | 2000-12-22 | 2006-09-12 | Simpletech, Inc. | System and method for preventing data corruption in solid-state memory devices after a power failure |
US6662281B2 (en) | 2001-01-31 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Redundant backup device |
JP4817510B2 (ja) | 2001-02-23 | 2011-11-16 | キヤノン株式会社 | メモリコントローラ及びメモリ制御装置 |
US6816982B2 (en) | 2001-03-13 | 2004-11-09 | Gonen Ravid | Method of and apparatus for computer hard disk drive protection and recovery |
US6675272B2 (en) * | 2001-04-24 | 2004-01-06 | Rambus Inc. | Method and apparatus for coordinating memory operations among diversely-located memory components |
US7228383B2 (en) | 2001-06-01 | 2007-06-05 | Visto Corporation | System and method for progressive and hierarchical caching |
JP4049297B2 (ja) | 2001-06-11 | 2008-02-20 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
TWI240864B (en) | 2001-06-13 | 2005-10-01 | Hitachi Ltd | Memory device |
JP4765222B2 (ja) | 2001-08-09 | 2011-09-07 | 日本電気株式会社 | Dram装置 |
US6614685B2 (en) | 2001-08-09 | 2003-09-02 | Multi Level Memory Technology | Flash memory array partitioning architectures |
JP4015835B2 (ja) | 2001-10-17 | 2007-11-28 | 松下電器産業株式会社 | 半導体記憶装置 |
US6771553B2 (en) | 2001-10-18 | 2004-08-03 | Micron Technology, Inc. | Low power auto-refresh circuit and method for dynamic random access memories |
US6799241B2 (en) | 2002-01-03 | 2004-09-28 | Intel Corporation | Method for dynamically adjusting a memory page closing policy |
JP3756818B2 (ja) * | 2002-01-09 | 2006-03-15 | 株式会社メガチップス | メモリ制御回路および制御システム |
JP4082913B2 (ja) * | 2002-02-07 | 2008-04-30 | 株式会社ルネサステクノロジ | メモリシステム |
US20030158995A1 (en) | 2002-02-15 | 2003-08-21 | Ming-Hsien Lee | Method for DRAM control with adjustable page size |
US7249282B2 (en) | 2002-04-29 | 2007-07-24 | Thomson Licensing | Eeprom enable |
US6707748B2 (en) | 2002-05-07 | 2004-03-16 | Ritek Corporation | Back up power embodied non-volatile memory device |
US6810513B1 (en) | 2002-06-19 | 2004-10-26 | Altera Corporation | Method and apparatus of programmable interconnect array with configurable multiplexer |
JP4159415B2 (ja) | 2002-08-23 | 2008-10-01 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
JP4499982B2 (ja) * | 2002-09-11 | 2010-07-14 | 株式会社日立製作所 | メモリシステム |
US7111142B2 (en) | 2002-09-13 | 2006-09-19 | Seagate Technology Llc | System for quickly transferring data |
US6910635B1 (en) | 2002-10-08 | 2005-06-28 | Amkor Technology, Inc. | Die down multi-media card and method of making same |
US8412879B2 (en) * | 2002-10-28 | 2013-04-02 | Sandisk Technologies Inc. | Hybrid implementation for error correction codes within a non-volatile memory system |
US6944042B2 (en) | 2002-12-31 | 2005-09-13 | Texas Instruments Incorporated | Multiple bit memory cells and methods for reading non-volatile data |
US7089412B2 (en) | 2003-01-17 | 2006-08-08 | Wintec Industries, Inc. | Adaptive memory module |
US20040163027A1 (en) | 2003-02-18 | 2004-08-19 | Maclaren John M. | Technique for implementing chipkill in a memory system with X8 memory devices |
US20040190210A1 (en) | 2003-03-26 | 2004-09-30 | Leete Brian A. | Memory back up and content preservation |
US6856556B1 (en) * | 2003-04-03 | 2005-02-15 | Siliconsystems, Inc. | Storage subsystem with embedded circuit for protecting against anomalies in power signal from host |
US7234099B2 (en) | 2003-04-14 | 2007-06-19 | International Business Machines Corporation | High reliability memory module with a fault tolerant address and command bus |
JP2004355351A (ja) * | 2003-05-29 | 2004-12-16 | Hitachi Ltd | サーバ装置 |
US7170315B2 (en) | 2003-07-31 | 2007-01-30 | Actel Corporation | Programmable system on a chip |
US20050044302A1 (en) | 2003-08-06 | 2005-02-24 | Pauley Robert S. | Non-standard dual in-line memory modules with more than two ranks of memory per module and multiple serial-presence-detect devices to simulate multiple modules |
US7231488B2 (en) | 2003-09-15 | 2007-06-12 | Infineon Technologies Ag | Self-refresh system and method for dynamic random access memory |
KR100574951B1 (ko) | 2003-10-31 | 2006-05-02 | 삼성전자주식회사 | 개선된 레지스터 배치 구조를 가지는 메모리 모듈 |
US9213609B2 (en) | 2003-12-16 | 2015-12-15 | Hewlett-Packard Development Company, L.P. | Persistent memory device for backup process checkpoint states |
US7281114B2 (en) | 2003-12-26 | 2007-10-09 | Tdk Corporation | Memory controller, flash memory system, and method of controlling operation for data exchange between host system and flash memory |
KR100528482B1 (ko) | 2003-12-31 | 2005-11-15 | 삼성전자주식회사 | 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템 |
JP4428055B2 (ja) | 2004-01-06 | 2010-03-10 | ソニー株式会社 | データ通信装置及びデータ通信装置のメモリ管理方法 |
KR100606242B1 (ko) | 2004-01-30 | 2006-07-31 | 삼성전자주식회사 | 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치 |
WO2005076137A1 (en) | 2004-02-05 | 2005-08-18 | Research In Motion Limited | Memory controller interface |
KR101133607B1 (ko) | 2004-02-25 | 2012-04-10 | 엘지전자 주식회사 | 드럼세탁기의 댐퍼 핀 |
US7916574B1 (en) | 2004-03-05 | 2011-03-29 | Netlist, Inc. | Circuit providing load isolation and memory domain translation for memory module |
US7532537B2 (en) | 2004-03-05 | 2009-05-12 | Netlist, Inc. | Memory module with a circuit providing load isolation and memory domain translation |
US20050204091A1 (en) * | 2004-03-11 | 2005-09-15 | Kilbuck Kevin M. | Non-volatile memory with synchronous DRAM interface |
JP2007536634A (ja) * | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
DE602004010239T2 (de) | 2004-05-20 | 2008-09-25 | Stmicroelectronics S.R.L., Agrate Brianza | Verbesserter Seitenspeicher für eine programmierbare Speichervorrichtung |
US7535759B2 (en) | 2004-06-04 | 2009-05-19 | Micron Technology, Inc. | Memory system with user configurable density/performance option |
US20060069896A1 (en) | 2004-09-27 | 2006-03-30 | Sigmatel, Inc. | System and method for storing data |
US20060080515A1 (en) | 2004-10-12 | 2006-04-13 | Lefthand Networks, Inc. | Non-Volatile Memory Backup for Network Storage System |
US7200021B2 (en) | 2004-12-10 | 2007-04-03 | Infineon Technologies Ag | Stacked DRAM memory chip for a dual inline memory module (DIMM) |
KR100666169B1 (ko) | 2004-12-17 | 2007-01-09 | 삼성전자주식회사 | 플래쉬 메모리 데이터 저장장치 |
US7360104B2 (en) * | 2005-01-31 | 2008-04-15 | Hewlett-Packard Development Company, L.P. | Redundant voltage distribution system and method for a memory module having multiple external voltages |
US7053470B1 (en) | 2005-02-19 | 2006-05-30 | Azul Systems, Inc. | Multi-chip package having repairable embedded memories on a system chip with an EEPROM chip storing repair information |
US7493441B2 (en) | 2005-03-15 | 2009-02-17 | Dot Hill Systems Corporation | Mass storage controller with apparatus and method for extending battery backup time by selectively providing battery power to volatile memory banks not storing critical data |
KR100759427B1 (ko) * | 2005-03-17 | 2007-09-20 | 삼성전자주식회사 | 전력 소모가 적은 하드디스크 드라이버 및 이를 구비한 정보처리 시스템, 그리고 그들의 데이터 입출력 방법 |
JP4724461B2 (ja) | 2005-05-17 | 2011-07-13 | Okiセミコンダクタ株式会社 | システムlsi |
US20060294295A1 (en) | 2005-06-24 | 2006-12-28 | Yukio Fukuzo | DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device |
US20080126690A1 (en) | 2006-02-09 | 2008-05-29 | Rajan Suresh N | Memory module with memory stack |
US7464225B2 (en) | 2005-09-26 | 2008-12-09 | Rambus Inc. | Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology |
US20070136523A1 (en) * | 2005-12-08 | 2007-06-14 | Bonella Randy M | Advanced dynamic disk memory module special operations |
US7409491B2 (en) | 2005-12-14 | 2008-08-05 | Sun Microsystems, Inc. | System memory board subsystem using DRAM with stacked dedicated high speed point to point links |
US20070147115A1 (en) | 2005-12-28 | 2007-06-28 | Fong-Long Lin | Unified memory and controller |
JP4780304B2 (ja) | 2006-02-13 | 2011-09-28 | 株式会社メガチップス | 半導体メモリおよびデータアクセス方法 |
US7421552B2 (en) | 2006-03-17 | 2008-09-02 | Emc Corporation | Techniques for managing data within a data storage system utilizing a flash-based memory vault |
US7653778B2 (en) | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
US7464240B2 (en) | 2006-05-23 | 2008-12-09 | Data Ram, Inc. | Hybrid solid state disk drive with controller |
US7716411B2 (en) | 2006-06-07 | 2010-05-11 | Microsoft Corporation | Hybrid memory device with single interface |
US8407395B2 (en) | 2006-08-22 | 2013-03-26 | Mosaid Technologies Incorporated | Scalable memory system |
JP4437489B2 (ja) | 2006-10-25 | 2010-03-24 | 株式会社日立製作所 | 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム |
US7724604B2 (en) * | 2006-10-25 | 2010-05-25 | Smart Modular Technologies, Inc. | Clock and power fault detection for memory modules |
US20080126624A1 (en) * | 2006-11-27 | 2008-05-29 | Edoardo Prete | Memory buffer and method for buffering data |
WO2008076790A2 (en) | 2006-12-14 | 2008-06-26 | Rambus Inc. | Multi-die memory device |
US20080189479A1 (en) * | 2007-02-02 | 2008-08-07 | Sigmatel, Inc. | Device, system and method for controlling memory operations |
US7752373B2 (en) | 2007-02-09 | 2010-07-06 | Sigmatel, Inc. | System and method for controlling memory operations |
WO2008131058A2 (en) * | 2007-04-17 | 2008-10-30 | Rambus Inc. | Hybrid volatile and non-volatile memory device |
KR100909965B1 (ko) | 2007-05-23 | 2009-07-29 | 삼성전자주식회사 | 버스를 공유하는 휘발성 메모리 및 불휘발성 메모리를구비하는 반도체 메모리 시스템 및 불휘발성 메모리의 동작제어 방법 |
US8904098B2 (en) | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
US8301833B1 (en) | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US7952179B2 (en) | 2007-06-28 | 2011-05-31 | Sandisk Corporation | Semiconductor package having through holes for molding back side of package |
US7865679B2 (en) | 2007-07-25 | 2011-01-04 | AgigA Tech Inc., 12700 | Power interrupt recovery in a hybrid memory subsystem |
US8200885B2 (en) | 2007-07-25 | 2012-06-12 | Agiga Tech Inc. | Hybrid memory system with backup power source and multiple backup an restore methodology |
US8001434B1 (en) | 2008-04-14 | 2011-08-16 | Netlist, Inc. | Memory board with self-testing capability |
US20090313416A1 (en) * | 2008-06-16 | 2009-12-17 | George Wayne Nation | Computer main memory incorporating volatile and non-volatile memory |
EP2141590A1 (en) * | 2008-06-26 | 2010-01-06 | Axalto S.A. | Method of managing data in a portable electronic device having a plurality of controllers |
US8478928B2 (en) | 2009-04-23 | 2013-07-02 | Samsung Electronics Co., Ltd. | Data storage device and information processing system incorporating data storage device |
KR101606880B1 (ko) | 2009-06-22 | 2016-03-28 | 삼성전자주식회사 | 데이터 저장 시스템 및 그것의 채널 구동 방법 |
US8266501B2 (en) | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
US8898324B2 (en) * | 2010-06-24 | 2014-11-25 | International Business Machines Corporation | Data access management in a hybrid memory server |
US8418026B2 (en) | 2010-10-27 | 2013-04-09 | Sandisk Technologies Inc. | Hybrid error correction coding to address uncorrectable errors |
US8806245B2 (en) | 2010-11-04 | 2014-08-12 | Apple Inc. | Memory read timing margin adjustment for a plurality of memory arrays according to predefined delay tables |
US8713379B2 (en) | 2011-02-08 | 2014-04-29 | Diablo Technologies Inc. | System and method of interfacing co-processors and input/output devices via a main memory system |
KR101800445B1 (ko) | 2011-05-09 | 2017-12-21 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 |
US8792273B2 (en) | 2011-06-13 | 2014-07-29 | SMART Storage Systems, Inc. | Data storage system with power cycle management and method of operation thereof |
CN102411548B (zh) | 2011-10-27 | 2014-09-10 | 忆正存储技术(武汉)有限公司 | 闪存控制器以及闪存间数据传输方法 |
KR101622206B1 (ko) * | 2012-05-02 | 2016-05-18 | 인텔 코포레이션 | 다수의 미디어 액세스 제어기들을 이용하는 데이터의 패킷 프로세싱 |
US20140032820A1 (en) | 2012-07-25 | 2014-01-30 | Akinori Harasawa | Data storage apparatus, memory control method and electronic device with data storage apparatus |
US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
-
2012
- 2012-07-26 US US13/559,476 patent/US8874831B2/en not_active Expired - Fee Related
- 2012-07-28 EP EP21200871.8A patent/EP3985518A1/en active Pending
- 2012-07-28 EP EP12817751.6A patent/EP2737383B1/en active Active
- 2012-07-28 KR KR1020147005608A patent/KR20140063660A/ko not_active Application Discontinuation
- 2012-07-28 WO PCT/US2012/048750 patent/WO2013016723A2/en active Application Filing
- 2012-07-28 CN CN201280047758.XA patent/CN103890688B/zh active Active
- 2012-07-28 PL PL17191878T patent/PL3293638T3/pl unknown
- 2012-07-28 CN CN201710824058.1A patent/CN107656700B/zh not_active Expired - Fee Related
- 2012-07-28 EP EP17191878.2A patent/EP3293638B1/en active Active
-
2014
- 2014-09-17 US US14/489,269 patent/US9158684B2/en active Active
-
2015
- 2015-08-31 US US14/840,865 patent/US9928186B2/en active Active
-
2018
- 2018-03-23 US US15/934,416 patent/US20190004985A1/en not_active Abandoned
-
2020
- 2020-12-30 US US17/138,766 patent/US11016918B2/en active Active
-
2021
- 2021-05-24 US US17/328,019 patent/US11232054B2/en active Active
-
2022
- 2022-01-24 US US17/582,797 patent/US20220222191A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017460A (zh) * | 2005-12-28 | 2007-08-15 | 硅存储技术公司 | 统一的存储器和控制器 |
CN101004664A (zh) * | 2006-01-20 | 2007-07-25 | 三星电子株式会社 | 存储卡、非易失性存储器、及其拷回操作的方法 |
CN101063929A (zh) * | 2006-04-28 | 2007-10-31 | 株式会社东芝 | 使用非易失性闪存的存储装置及其控制方法 |
CN101563729A (zh) * | 2006-12-20 | 2009-10-21 | 莫塞德技术公司 | 具有易失性和非易失性存储器的混合固态存储器系统 |
CN102110057A (zh) * | 2009-12-25 | 2011-06-29 | 澜起半导体(上海)有限公司 | 存储器模组及存储器模组内的数据交换方法 |
Also Published As
Publication number | Publication date |
---|---|
US11016918B2 (en) | 2021-05-25 |
US20210124701A1 (en) | 2021-04-29 |
EP3293638B1 (en) | 2021-10-06 |
EP3985518A1 (en) | 2022-04-20 |
US20150242313A1 (en) | 2015-08-27 |
WO2013016723A3 (en) | 2014-05-08 |
US20190004985A1 (en) | 2019-01-03 |
US11232054B2 (en) | 2022-01-25 |
US20220222191A1 (en) | 2022-07-14 |
US9928186B2 (en) | 2018-03-27 |
KR20140063660A (ko) | 2014-05-27 |
EP2737383A2 (en) | 2014-06-04 |
CN103890688A (zh) | 2014-06-25 |
PL3293638T3 (pl) | 2022-03-28 |
EP2737383A4 (en) | 2015-07-08 |
US20130086309A1 (en) | 2013-04-04 |
EP3293638A1 (en) | 2018-03-14 |
EP2737383B1 (en) | 2017-09-20 |
US20210279194A1 (en) | 2021-09-09 |
US20160196223A1 (en) | 2016-07-07 |
WO2013016723A2 (en) | 2013-01-31 |
CN103890688B (zh) | 2017-10-13 |
US9158684B2 (en) | 2015-10-13 |
US8874831B2 (en) | 2014-10-28 |
CN107656700A (zh) | 2018-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107656700B (zh) | 一种flash-dram混合存储器模块 | |
US11068170B2 (en) | Multi-tier scheme for logical storage management | |
US10318164B2 (en) | Programmable input/output (PIO) engine interface architecture with direct memory access (DMA) for multi-tagging scheme for storage devices | |
US8996781B2 (en) | Integrated storage/processing devices, systems and methods for performing big data analytics | |
US9927999B1 (en) | Trim management in solid state drives | |
CN108228473B (zh) | 通过动态地传送存储器范围分配的负载平衡的方法及系统 | |
CN111684432B (zh) | 对存储媒体的同步存储器总线存取 | |
CN110275840B (zh) | 在存储器接口上的分布式过程执行和文件系统 | |
CN117296033A (zh) | 用于半导体装置的可调定时器组件 | |
EP4379524A1 (en) | Storage device and storage system for direct storage | |
EP4375840A1 (en) | Memory controller, electronic system including the same and method of controlling memory access | |
US20230359578A1 (en) | Computing system including cxl switch, memory device and storage device and operating method thereof | |
US20130151766A1 (en) | Convergence of memory and storage input/output in digital systems | |
WO2024063821A1 (en) | Dynamic and shared cmb and hmb allocation | |
WO2024097493A1 (en) | Write buffer linking for easy cache reads | |
WO2024091764A1 (en) | Data storage device and method for reducing flush latency |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200901 |