CN101473438B - 具有单个接口的混合存储器设备和方法 - Google Patents

具有单个接口的混合存储器设备和方法 Download PDF

Info

Publication number
CN101473438B
CN101473438B CN2007800212183A CN200780021218A CN101473438B CN 101473438 B CN101473438 B CN 101473438B CN 2007800212183 A CN2007800212183 A CN 2007800212183A CN 200780021218 A CN200780021218 A CN 200780021218A CN 101473438 B CN101473438 B CN 101473438B
Authority
CN
China
Prior art keywords
memory
type
controller
data
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2007800212183A
Other languages
English (en)
Other versions
CN101473438A (zh
Inventor
R·帕纳巴克
J·克里西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101473438A publication Critical patent/CN101473438A/zh
Application granted granted Critical
Publication of CN101473438B publication Critical patent/CN101473438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs

Abstract

所描述的是一种技术,按照该技术,存储器控制器是其中具有不同类型的存储器(例如,SDRAM和闪存)的混合存储器设备的一个组件,其中该控制器操作使得该存储器设备只拥有为一类存储器定义的、关于电压和访问协议的单个存储器接口。例如,该控制器允许具有标准SDRAM接口的存储器设备提供对SDRAM和非易失性存储器的访问,该非易失性存储器被覆盖在易失性存储器地址空间的一个或多个指定块中(或相反)。命令协议将存储器页映射到易失性存储器接口地址空间,例如,准许单个引脚兼容多芯片封装替换想要提供非易失性存储的任何计算设备中的现有易失性存储器设备,而只要求对该设备进行软件改变以访问该闪存。

Description

具有单个接口的混合存储器设备和方法
背景
各种现有的和新的计算设备都利用高速、易失性存储器(例如,动态随机存取存储器,即DRAM)来保存操作指令和数据。这种设备包括移动电话、电视机顶盒、个人计算机存储器等。越来越多的计算设备还包括大量相对并不昂贵的非易失性NAND闪存来存储应用程序和数据。
然而,许多现有的基于DRAM的计算机设备被设计为不具有适当的支持NAND闪存的总线接口;支持NAND闪存要求昂贵且冗长地重新设计设备芯片组。类似地,大多数基于NAND闪存的设备不能简单地添加DRAM。例如,要将闪存置入曾经是基于DRAM的设备的经更新的模型中要求对设备物理体系结构的显著改变,或反之亦然。
尽管易失性和非易失性存储器的组合在许多情况下提供好处,但对厂商来说重新设计设备芯片组的代价太过昂贵/冒险,因此厂商放弃本来可以因在设备中具有易失性和非易失性存储器而实现的新的特征和商业模型。此外,没有直接的方式来使用现有体系结构模型和例如用NAND闪存更新现有的基于DRAM的设备;例如,整个电路板将需要被重新设计和替换,而不是仅仅向现有设备添加或改变其中的存储器(并适当地更新软件)。此外,非易失性和基于DRAM的存储器之间的总线速度具有巨大的差异。
概述
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一些代表性概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于以任何方式帮助确定所要求保护的主题的范围。
简言之,此处所描述的本主题的各方面针对一种包括第一类存储器(例如,易失性DRAM类存储器)和对应于该第一类存储器的接口以及第二类存储器(例如,非易失性闪存类存储器)的混合存储器设备。该存储器设备包括耦合到接口、第一类存储器和第二类存储器的控制器。基于在接口处接收到的诸如命令和/或存储器地址等信息,控制器确定诸如I/O请求(例如,读或写)等命令是针对第一类存储器的还是针对第二类存储器。
因此,通过在混合存储器设备的控制器处接收命令、地址和数据,软件(例如,设备固件或程序)可以经由为一类存储器定义的单个接口来访问不同类型的存储器。控制器包括这样的逻辑,该逻辑确定在第一类存储器的接口上接收到的命令/地址是否针对与该存储器设备相关联的第二类存储器,并且如果是,则向该第二类存储器输出信号以向该第二类存储器传输至少一个命令和/或在该第二类存储器上执行至少一个数据输入/输出(I/O)操作。
结合附图阅读以下详细描述,本发明的其他优点会变得显而易见。
附图简述
作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中:
图1示出可以将本发明的各方面并入其中的计算设备的说明性示例。
图2是包括控制器和各自都可通过为一个存储器类型所定义的单个接口来访问的两类存储器的示例混合存储器设备的表示。
图3A是具有SDRAM接口的示例混合存储器设备的表示,该混合存储器设备具有SDRAM和可经由SDRAM可寻址空间中指定的存储器块来访问的闪存。
图3B是具有SDRAM接口的示例混合存储器设备的表示,该混合存储器设备具有SDRAM和可经由SDRAM可寻址空间中多个指定的存储器块来访问的闪存。
图4是对应于第一类存储器的、具有用于与第二类存储器传递数据和命令的各部分的可寻址存储器空间的表示。
图5是可被合并入混合存储器设备的一合适类型的SDRAM设备的示例表示。
图6是具有SDRAM接口的混合存储器设备的示例表示,该混合存储器设备含有诸如图5的设备等SDRAM设备和闪存设备。
图7是用于控制SDRAM设备和闪存的时序图的示例表示。
图8是对应于控制器可以如何将闪存数据输出到被配置为猝发数据输出的SDRAM设备的示例步骤的表示。
图9是如何将闪存添加到双列直插式存储器模块(DIMMM)以将闪存添加到基于DRAM(包括SDRAM)的个人计算机存储器的表示。
详细描述
示例性操作环境
图1示出计算设备188的一些合适的功能组件的示例,如可在手持式/袖珍型/图形输入板型个人数字助理、电器、移动电话等中找到的那些,包括处理器189、存储器190、显示器192和键盘193(其可为物理或虚拟键盘)。存储器190一般包括易失性存储器(例如,RAM)和非易失性存储器(例如,ROM、PCMCIA卡等)。此外,如下将描述的,示例性存储器190包括包含超过一类存储器的的混合存储器设备(对应于一个或多个芯片),该超过一类的存储器诸如闪存和DRAM或闪存和SDRAM(同步DRAM),且其中一类共享另一类的接口。操作系统193可以驻留在存储器190中,并在处理器189上执行,如基于Microsoft?的操作系统或另一操作系统。
一个或多个应用程序194和数据195可存在于存储器190中,例如,程序194运行在操作系统193上。应用程序的示例包括电子邮件程序、时间安排程序、PIM(个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序等等。计算设备188还可以包括其它组件196,如加载到存储器190的、在处理器189上执行的通知管理器。例如,该通知管理器可以处理例如来自应用程序195的通知请求。
计算设备188具有电源197,例如实现为一个或多个电池或光电系统。电源197还可包括取代内置电池或对其重新充电的外部电源,诸如AC适配器或通电对接基座。
图1中所表示的示例性计算设备188被示为具有三类示例外部输出设备,包括显示器192、其它输出机制198(例如,一个或多个发光二极管,即LED)和例如耦合到集成扬声器和/或音频插孔的音频发生器199。这些输出设备的一个或多个可直接耦合到电源197,以便在被激活时,即使处理器189和其它组件可能关闭以节省电池电量,它们也保留一段由通知机制指示的保持通电时间。例如,LED可以保持发光(只要有一些电量可用),直到用户采取动作为止。其它的设备可被配置为在系统的其余部分被关闭时或在启动之后的某一段有限时间处关闭。
具有单个接口的混合存储器设备
此处所描述的技术的各方面一般针对就在计算设备中具有相对大量的易失性和非易失性存储器而言来扩展计算设备(如设备188)的存储器,而不要求对该计算设备的现有物理架构的改变。一般而言,此处的描述提供通过添加或替换包含SDRAM和NAND闪存的混合存储器设备(例如,包括一个或多个芯片)来将NAND闪存合并入基于SDRAM的设备的示例,其中该混合存储器设备具有与传统SDRAM组件相同的接口(包括引脚分配、电压协议和访问协议)。然而,可以理解,这些方面和概念适用于任一类或多类易失性和/或非易失性存储器,例如可以使用各类DRAM(例如,EDO)来代替SDRAM,可反过来将DRAM或SDRAM合并入基于闪存的设备中,可将基于NOR的闪存与SDRAM和/或与基于NAND的闪存混合在一起,静态RAM(SRAM)或其它类型的RAM可以是各类存储器中的一类,可以添加更多易失性存储器来代替现有易失性存储器设备,可以添加更多非易失性存储器来代替现有非易失性存储器设备,等等。注意,将不同的存储器类型合并到混合存储器设备(具有通常对应于给定设计的原始类型的存储器的接口)通常将总体存储器添加到设备,但不必增加(且如果设计者需要也可以减少)原始类型的存储器的量和/或存储器的总量。
此外,可以理解,此处所描述的概念不限于所考虑的传统计算设备(例如,台式、笔记本、膝上型或基于图形输入板的计算机系统,个人数字助理,袖珍型个人计算机等),而相反地可被用在需要将数据存储在易失性或非易失性存储器中的任何设备中,包括移动电话、机顶盒、混合硬盘、电视机、遥控器、视听设备、电器、家用电器等。这些设备的每一个都可以将非易失性存储器添加到易失性存储器,或反之亦然,或增加存储器而无需高代价和高风险地重新设计硬件。以此方式,例如,如下将描述的,诸如移动电话等具有易失性存储器的设备现在可以仅仅通过替换存储器芯片(或多个芯片),并更新某些固件以便对非易失性存储起作用,而在其中包括大量的非易失性存储来例如存储程序、音乐、图像等。
如此,本发明不限于此处所描述的示例、结构或功能。相反,此处所描述的任何示例、结构或功能都是非限制性的,并且本发明一般能够以在计算和数据存储方面提供好处和优点的各种方式来使用。
转到附图的图2,示出包括易失性存储器204(例如,SDRAM)和非易失性存储器206(例如,NAND闪存)的混合存储器设备202设备的概括的示例概念。控制器208包含基于例如在固件/软件处始发并通过CPU来寻址的地址和命令,来确定要访问存储器204或206的哪一个的逻辑。
如图2所示,控制器208可以包括包含一个或多个缓冲区的缓冲区组210,或以其它方式与之相关联,在一实现中该缓冲区组被用于速度匹配的目的。例如,当前,SDRAM显著快于闪存,并且因而具有在外部组件看来是SDRAM设备的接口的混合存储器芯片需要在缓冲区组210(例如,SDRAM、DRAM或SRAM)中缓冲数据以遵守关于速度和输出要求的SDRAM协议,包括猝发模式要求。因此,缓冲区组210通常包括诸如SDRAM或静态RAM(SRAM)等至少与给定SDRAM芯片和其协议所要求的一样快的存储器,否则该混合设备有时在外部组件看来是坏存储器。注意,将快速存储器(例如,SDRAM)添加到较慢(例如,闪存)接口的混合存储器设备不需要这一缓冲区。
图3A示出一混合存储器设备302A一般如何操作的示例概念,其中闪存306被安排为一些数目的块(例如,块F-1到F-n)并通过SDRAM接口来访问。混合存储器设备302A还包括SDRAM设备304。如下将描述的,片上控制器308A(例如,对应于图2的控制器208)确定关于CPU 389处始发的当前地址,要访问SDRAM 304或闪存的哪一部分。一般而言,控制器308A从CPU 389接收根据传统SDRAM协议输出的命令、数据和地址。注意,不要求CPU了解关于混合芯片上的不同类型的存储器的任何事情,且CPU在其现有的基于SDRAM的总线上正常操作。
在图3A中,控制器308包括可以检测被发送到该混合设备的作为其接口的一部分的SDRAM地址线的地址的逻辑。可寻址地址范围中的某些地址对应于SDRAM,且对于这些地址,控制器308A允许SDRAM设备304处理地址、命令和数据(例如,转发等效的各个1和0或不禁止设备看到这些1和0)。结果,对于那些地址来说,混合设备担当常规的SDRAM设备。
然而,控制器308已知可寻址范围中的某些地址(通常包括被称为指定块320的毗邻范围)是与闪存相关联的,且本质上充当进入闪存306的窗口。例如,在一类闪存设备中,指定块可以对应于闪存块大小,例如,128KB。在传输指定块320中的地址时,控制器308禁用(实际地或有效地)SDRAM设备304。控制器308改为向闪存设备306发送命令,或控制对闪存设备306的读和写数据流程。取决于设计,控制器308可以通过改变设备304的要禁用的适当的设备输入线(例如,芯片启用线),通过不将所接收到的地址转发到设备304,和/或通过转发地址(例如,如果需要用于刷新)但不允许数据写入或返回供读取的任何数据,来禁用SDRAM组件304。
注意,闪存306的量不限于指定块320的大小;相反,可存在多个闪存块(或其它闪存安排),且控制器308根据标识要访问总闪存306的哪一部分(例如,块)的附加映射信息来访问每一块等等。该附加映射信息可被写入到控制器308已知的其它存储器位置,例如,在可寻址存储器的高位(或可能作为指定块的补充)。可以更新已经存在于基本上所有计算设备上的固件330,以根据合适的协议经由CPU 389来读取和写入该信息,(如图3A中的从固件330穿过CPU 389到控制器308A的虚线所示);以此方式,命令、数据和状态信息332可在设备固件330(和/或其它请求代码,出于简便,此后称为固件330)和混合存储器设备302A之间传递。
图3B是与图3A的概念相类似的概念的表示,除了在图3B中,替换控制器308B可具有对应于多个窗口320A和320B的分别映射到多个闪存块(例如,当前是图3B中的闪存块A1和B0)的多个缓冲区310-1和310-2之外。如可易于理解的,尽管在图3B中只示出两个这种并行(并且因而通常更快)的访问,但可以使用任何实际数量。
作为控制器如何将一个窗口(图3A)或多个窗口(图3B)映射到闪存的正确的一个或多个部分的示例,图4示出对应于常规SDRAM设备的范围的线性表示的地址范围440,其在该示例中是4M字,每字16字节。出于简明的目的,将参考图3A的单个指定块320来描述映射,然而,容易理解,本质上能够以相同的方式来执行分开的映射。
在图4的示例中,对应于SDRAM地址空间的最后两个块被控制器308和固件330用作到闪存设备306的命令通道444和数据通道442。块442和444中的映射和其它信息332(图3)可由控制器308经由控制器308和该附加信息的源(例如,固件代码330)所理解的任何合适的协议来读取和写入。因此,通过在控制器308处访问附加信息332(或图3B中的333),例如,最后两个1KB字块,建立用于与闪存设备306进行通信的命令和数据路径。其它信息也可存在于这些空间中。例如,设备固件330可以使用该部分存储器来采用程序引导协议,固件330通过该协议可以确定存储器设备是否真是混合设备,因为一般而言,否则图3的混合存储器设备302A一般将不能区别于常规的SDRAM设备。经由这些块传递的其它可能的数据可以例如通知控制器308A指定块320(或图3B中的块)位于可寻址存储器中的哪里;例如,以此方式,指定块可以移动,包括在需要时动态地移动。
转向一示例混合存储器设备的操作的解释,一合适的命令协议包括用来为闪存设备传输地址块和命令信息(例如,图3A中的332)的串行协议。注意,控制器308A负责命令和地址信息的转换,该协议可被配置为访问不同类型的闪存设备;例如,一类NAND设备使用NOR SRAM接口,藉此控制逻辑访问数据块,该数据随后被串行化以适合SDRAM数据传输协议。向闪存306写入数据将同样由控制器308A如闪存协议所要求地转换,例如,一次向一个这种闪存设备写入2KB。
容易理解,因为SDRAM目前比闪存快一个或多个数量级,所以该协议包括供控制器308A在闪存读或写请求忙碌时和在请求就绪时向固件330发信号的方法。可以使用位置332中的状态寄存器。例如,固件330经由命令块332发送读或写命令;可以是作为该命令的一部分的一个比特的状态可以由控制器在接收到闪存请求时设置为0以指示忙碌。注意,如果在读请求时控制器308A了解指定块已经包含用于当前映射的正确数据,则控制器308A不必将该状态翻转为忙碌。
在典型的情况下,控制器308A将状态设置为忙碌,且对于读取,并开始用所请求的数据填充缓冲区310。在缓冲区包含正确的数据时(预想到后续的读请求,其可能多于所请求的数据),控制器308A将状态切换为就绪。固件330由于其发送请求而正在轮询状态,其随后了解到可以读取所请求的数据,随后控制器308A可以从缓冲区310中输出该数据。例如,根据SDRAM协议,控制器在请求单个输出时输出对应于所请求的地址的单组数据(例如,字节),或者输出以该地址开始的多组数据的定时猝发输出,其中输出的组数对应于当前猝发模式。注意,当前猝发模式可以经由硬连线设置来建立,包括指示该猝发模式是软控制的设置;无论如何,控制器308A经由SDRAM等效设置线和/或命令已知该模式(对于软控制猝发)。
写入被似地处理,控制器308A将指定块处的数据复制到缓冲区310,而控制器提供固件所轮询的忙碌信号,直到写请求通过向较慢闪存写入而实际完成为止。如同读请求一样,对于写请求,混合存储器设备302A在CPU 389看来是以正确的SDRAM速度操作,且CPU不知道固件330和控制器308A之间进行的任何状态轮询。因此,经由该协议,从CPU的观点来看,同步存储器正确地操作,但从请求实体的观点来看,其实际上异步地操作。
因此,通过向包括SDRAM和闪存的、具有标准SDRAM接口的混合存储器设备添加存储器控制器,闪存被覆盖在SDRAM地址空间中。使用命令协议(例如,串行)来管理闪存块/页到SDRAM地址空间的映射。这准许单个引脚兼容多芯片封装替换想要提供闪存的任何计算设备中的现有SDRAM设备,而只需对该设备进行固件改变就可做到这点。例如,常规的盘驱动器的缓冲区可用提供闪存的单个芯片升级来替换,藉此闪存可以与新固件一起使用来将现有驱动器升级为混合驱动器。进一步的示例包括向机顶盒设计或当时没有设计内置大容量存储但现在例如由于某些新应用或商业模型而需要该内置大容量存储的移动电话设计添加非易失性存储。
作为一特定架构的示例,图5和图6示出对实际SDRAM和NAND闪存设备的使用,其中接口和内部组件被配置为用于一个示例SDRAM电压协议和SDRAM访问协议,藉此现只需软件改变(例如,在设备固件中)即可在封装中利用非易失性存储器。然而,可以理解,基本上可以使用具有所定义的寻址特性的任何设备。注意,图5和图6示出对作为常见应用的16位数据路径的使用,然而容易理解,其它数据路径宽度以相同的方式工作。在该示例中,描述了可以物理地替换计算设备中的SDRAM芯片、但合并了易失性SDRAM存储器以及非易失性NAND闪存两者的多芯片封装。
图5中所表示的SDRAM设备504包括支持1字节、2字节、8字节或页传输等的猝发模式设备(例如,Micron?MT48LC4M16A2设备),并且例如,可被用在包括2GB NAND闪存606的混合存储器设备602(图6)中。如在图5的SDRAM设备的示例架构中所表示的,如同常规的SDRAM设备一样,该混合存储器设备接受地址线(例如,A0-A11、BA0-BA1)上的RAS/CAS(公知的行访问选通脉冲和列访问选通脉冲)信号,并且对于非单字节的读或写,顺序地从RAS/CAS起始地址读取或写入数据。注意,使用该类型存储器的计算设备缓冲串行地访问的数据,在许多计算设备中这通常由板上高速缓存来完成。
因为数据是基于起始地址来串行地提供的,所以主设备(例如,CPU)和SDRAM 504之间的(相对低等待时间)存储器控制器308能够检测到正被发送到芯片的地址。通过检测特定地址范围,可以使用SDRAM接口的CE#(启用)来将设备504置入其中数据由另一源提供的刷新周期。
在图5中,控制器308的控制逻辑检测发送到SDRAM的地址。如上所述,在传输了指定块中的地址时,控制器知道请求是针对闪存的;注意在该示例架构中,SDRAM设备是通过阻止CE#传到该设备来禁用的。控制器的控制逻辑随后或者可以向闪存设备606发送命令,或者可以经由数据传输逻辑控制对该闪存设备的读和写数据的流程。注意,到SDRAM设备的命令流是不中断的,且该多芯片封装设备的初始化只要求控制逻辑检测SDRAM的操作猝发模式来理解要在向存储器数据总线传输闪存数据时使用的数据猝发。
因此,在该其中经由在分开的地址总线上的RAS/CAS传输将地址发送到SDRAM的架构中,通过检测控制逻辑中的RAS/CAS周期,就能够适当地从闪存606和向其传输命令和数据。向闪存606的命令块写入的串行协议允许支持该闪存设备的协议。
图6中所表示的闪存设备(例如,Micron?MT29F2G16AABWP设备)具有多路复用总线,由此数据I/O、地址和命令共享相同的引脚。注意,只对于x16配置中的数据才使用I/O引脚I/O[15:8],而地址和命令在I/O[7:0]上提供。命令序列通常包括命令锁存周期、地址锁存周期和数据周期,其或为读或为写。控制信号CE#、WE#、RE#、CLE、ALE和WP#控制闪存设备的读和写操作。注意,在不同的闪存上,例如Micron?GbMT29F8G08FAB设备,CE#和CE2#每个都控制独立的4Gb阵列。CE2#对于其自己的阵列与CE#一样运作,且关于CE#所描述的操作也适用于CE2#。
使用CE#来启用设备。在CE#为低且设备不在忙碌状态时,闪存将接受命令、数据和地址信息。在设备不执行操作时,CE#引脚通常被拉高且该设备进入待机模式。如果CE#变高同时尽管数据正在传输且设备不忙碌,则存储器将进入待机。这有助于降低能耗。
CE#“不在乎”操作允许NAND闪存驻留在与其它闪存或SRAM设备相同的异步存储器总线上。在NAND闪存忙于内部操作时,存储器总线上的其它设备随后可被访问。这一能力是用于在同一总线上要求多个NAND设备的设计的,例如,可以编程一个设备而读取另一设备。高位CLE(HIGHCLE)信号指示正在发生命令周期。高位ALE(HIGH ALE)信号表示正在发生地址输入周期。在CE#和ALE为低且CLE为高,并且设备不忙时,在WE#的上升沿将命令写入命令寄存器。其例外是读状态和复位命令。
使用该特定组件,在WE#的上升沿将命令传输到命令寄存器;只在线I/O[7:0]上输入命令。对于具有x16接口的设备,在发布命令时,需要在线I/O[15:8]上写入0。在CE#和CLE为低且ALE为高,并且设备不忙碌时,在WE#的上升沿将地址写入地址寄存器。只在I/O[7:0]上输入地址;对于具有x16接口的设备,在发出地址时需要在I/O[15:8]上写入0。通常,所有5个地址周期都被写入设备中。其例外是块擦除命令,它只要求3个地址周期。
此处所例示的闪存设备是多路复用设备,由此地址、命令和数据以串行的方式流过简单的16位接口。图7例示符合所例示的闪存设备的时序的地址、命令和数据传输协议的串行特性。注意,地址、命令和数据是通过顺序地向命令和数据块写入来从SDRAM接口(其不是多路复用的)发送的。
如上所述,通过检测对SDRAM的地址空间中的命令块的写入,控制器508可以将所需数据传输到闪存设备。可以扩展上述地址传输以示出到闪存设备的地址信息的传输。同样如上所述,该闪存的地址信息是通过执行对SDRAM上的命令块地址的多个写入来传输的。SDRAM数据在该区域中是不可用的,因为该设备将被取消选中而不进行这些写入。以此串行方式,可以从闪存设备读取和向其写入地址、数据和命令信息。如上所述,控制逻辑实现进一步的命令协议,例如,准许闪存设备从SDRAM设备速度考虑中隔离。例如,通过在控制逻辑中缓冲闪存设备的状态,可以向串行协议添加指示忙碌和执行状态的附加命令响应。从闪存设备所返回的数据和状态被缓冲到数据传输逻辑中的一小块SRAM中,以使对闪存的读和写速度匹配SDRAM的速度。
到闪存设备的串行传输的典型示例在图8中表示,其表示固件330对为控制闪存306所保留的SDRAM地址空间332(图3)的示例读取和写入。一般而言,在步骤802,固件通过向控制器检测的地址空间332写入IDLE(空闲)命令来发送闪存命令。
在步骤804,固件发送包括指示要使用哪一块和哪一地址的5个地址写入的闪存块地址请求,以及一个对命令地址空间的写命令。控制器随后拥有其执行该写入的所需要的信息。
在步骤806和808的每一步,固件330通过发出写命令和猝发读来轮询状态,经由步骤810循环直到检测到就绪状态为止,并发送闪存读猝发(步骤812)。
在一替换实现中,基于寄存器的协议通过加载一系列寄存器来提供对闪存的访问,包括在设置忙碌字的情况下写入寄存器来开始命令的执行。这允许单页写入来发起对一个或多个闪存块的写入或取出。在该替换中,在命令完成时,控制器切换该忙碌字。所支持的命令包括取出地址/块(或取出地址范围)、写入地址/块(或写入地址范围)和删除地址/块(或删除地址范围)。
此外,因为控制器包括逻辑,所以控制器可以执行闪存管理。例如,闪存在一定数量的读和写之后磨损,并且因而控制器可以重新映射访问以平衡各个可用闪存块的使用,这被称为磨损均匀化。控制器逻辑还可以执行检错和纠错,并通过逻辑地移除已知的坏块以使其不可用来执行坏块管理。
图9是双列直插式存储器模块(DIMM)902的示例表示,其例示出闪存可以如何被添加到常规个人计算机系统存储器中。物理闪存芯片可与SDRAM芯片位于同一侧,位于相对侧,或两者皆可。控制器可以位于DIMM自身上,或另选地可以在其外部,其具有视需要禁用SDRAM并替换闪存数据的能力
在个人计算机开机时,BIOS(固件)测试混合DIMM存储器的存在,并且如果存在,则从闪存中加载至少一些SDRAM存储器(其代码)。非易失性闪存的存在允许从存储在闪存中的数据中引导或恢复操作。例如,数据从被映射到存储器块的CPU存储器中访问,并从SDRAM或闪存中解析。如果存在足够的闪存,则出于休眠目的,可以保留整个SDRAM或加载整个操作系统,而不必访问诸如硬盘驱动器等外围设备。
尽管本发明易于作出各种修改和替换构造,其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。

Claims (18)

1.一种在存储器设备中的方法,包括:
在控制器处,在所述存储器设备处经由为与所述存储器设备相关联的第一类存储器定义的接口来接收命令、地址和数据;
在所述控制器处确定在所述存储器设备处接收到的信息是否对应于与所述存储器设备相关联的第二类存储器,并且如果是,则向所述第二类存储器输出信号以向所述第二类存储器传输至少一个命令和/或在所述第二类存储器上执行至少一个数据输入/输出(I/O)操作;
其中所述第一类存储器包括易失性存储器,而所述第二类存储器包括非易失性存储器。
2.如权利要求1所述的方法,其特征在于,还包括在所接收到的信息对应于所述第二类存储器时,禁用所述第一类存储器。
3.如权利要求1所述的方法,其特征在于,还包括在所接收到的信息对应于所述第二类存储器时,输出忙碌指示,在所述第二类存储器上执行数据I/O操作,以及在所述数据I/O操作完成时输出就绪指示。
4.如权利要求1所述的方法,其特征在于,还包括在所接收到的信息对应于所述第二类存储器时,在所述存储器设备的另一组一个或多个位置处访问命令信息和/或数据寻址信息。
5.如权利要求4所述的方法,其特征在于,所接收到的信息对应于数据寻址信息,且所述方法还包括读取所述数据寻址信息以将所接收到的地址映射到所述第二类存储器的多个可能的部分中的一部分。
6.一种在存储器设备中的系统,包括:
第一类存储器;
对应于所述第一类存储器以使所述存储器设备用所述第一类存储器的访问协议来操作的接口;
第二类存储器;以及
耦合到所述接口、所述第一类存储器和所述第二类存储器的控制器,其中基于在所述接口处接收到的信息,所述控制器确定经由所述接口接收到的其它信息是适用于所述第一类存储器还是适用于所述第二类存储器;
其中所述第一类存储器包括易失性存储器,而所述第二类存储器包括非易失性存储器。
7.如权利要求6所述的系统,其特征在于,所述第一类存储器包括易失性存储器,所述第二类存储器包括非易失性存储器,并且其中在所述接口处接收到的信息的至少一部分是在对应于所述第一类存储器的存储器地址中接收的,所述至少一部分信息被所述控制器用来确定经由所述接口接收到的相关信息是适用于所述第一类存储器还是适用于所述第二类存储器。
8.如权利要求7所述的系统,其特征在于,所述易失性存储器包括SDRAM类或DRAM类存储器,并且其中经由所述接口接收到的所述存储器地址和相关信息包括行访问选通脉冲、列访问选通脉冲和控制信息。
9.如权利要求7所述的系统,其特征在于,所述非易失性存储器包括闪存,并且所述系统还包括与所述控制器相关联的、用于缓冲用所述闪存执行的数据I/O操作的缓冲区。
10.如权利要求9所述的系统,其特征在于,还包括状态指示符,其中所述控制器经由所述状态指示符发出数据I/O操作是忙碌还是已完成的信号。
11.如权利要求6所述的系统,其特征在于,所述存储器设备被合并到双列直插式存储器模块中。
12.如权利要求6所述的系统,其特征在于,所述控制器还包括用于存储器管理的装置。
13.如权利要求6所述的系统,其特征在于,所述控制器在对应于所述第一类存储器的一组一个或多个位置处访问命令信息和/或数据寻址信息。
14.一种在计算设备中的系统,包括:
包括对应于第一类存储器的接口、第二类存储器和控制器的混合存储器设备,其中所述第一类存储器包括易失性存储器,而所述第二类存储器包括非易失性存储器;以及
经由所述接口向所述控制器发起命令的组件,所述发起命令包括通过向所述第一类存储器的一个或多个地址写入命令相关数据,所述命令相关数据包括针对在所述第二类存储器上的数据输入/输出操作的至少一个命令。
15.如权利要求14所述的系统,其特征在于,所述控制器通过向所述第一类存储器的一个或多个地址写入状态相关数据来用所述第二类存储器的数据输入/输出操作的状态信息向所述组件发信号。
16.如权利要求14所述的系统,其特征在于,所述组件包括在所述计算设备的固件上执行的代码。
17.如权利要求14所述的系统,其特征在于,所述第一类存储器对应于易失性存储器,而所述第二类存储器包括非易失性存储器,寻址到所述第一类存储器中的特定位置的数据由所述控制器控制来访问所述第二类存储器。
18.如权利要求14所述的系统,其特征在于,还包括与所述控制器相关联的、用于缓冲用所述第二类存储器执行的数据I/O操作的缓冲区。
CN2007800212183A 2006-06-07 2007-06-01 具有单个接口的混合存储器设备和方法 Active CN101473438B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/449,435 US7716411B2 (en) 2006-06-07 2006-06-07 Hybrid memory device with single interface
US11/449,435 2006-06-07
PCT/US2007/013127 WO2007145883A1 (en) 2006-06-07 2007-06-01 Hybrid memory device with single interface

Publications (2)

Publication Number Publication Date
CN101473438A CN101473438A (zh) 2009-07-01
CN101473438B true CN101473438B (zh) 2012-06-13

Family

ID=38823267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800212183A Active CN101473438B (zh) 2006-06-07 2007-06-01 具有单个接口的混合存储器设备和方法

Country Status (11)

Country Link
US (2) US7716411B2 (zh)
EP (1) EP2025001B1 (zh)
JP (2) JP2009540431A (zh)
KR (1) KR101159400B1 (zh)
CN (1) CN101473438B (zh)
BR (1) BRPI0711731A2 (zh)
ES (1) ES2718463T3 (zh)
MX (1) MX2008014859A (zh)
RU (1) RU2442211C2 (zh)
TW (1) TWI420302B (zh)
WO (1) WO2007145883A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
CN105247617A (zh) * 2013-06-27 2016-01-13 英特尔公司 混合存储器设备
CN111226195A (zh) * 2017-08-21 2020-06-02 开利公司 包含可寻址回路和自动固件升级的消防和安全系统

Families Citing this family (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250295B2 (en) 2004-01-05 2012-08-21 Smart Modular Technologies, Inc. Multi-rank memory module that emulates a memory module having a different number of ranks
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8619452B2 (en) 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US7516293B2 (en) * 2006-09-08 2009-04-07 International Business Machines Corporation Increased performance using mixed memory types
US8745315B2 (en) 2006-11-06 2014-06-03 Rambus Inc. Memory Systems and methods supporting volatile and wear-leveled nonvolatile physical memory
US8135900B2 (en) 2007-03-28 2012-03-13 Kabushiki Kaisha Toshiba Integrated memory management and memory management method
JP5032172B2 (ja) * 2007-03-28 2012-09-26 株式会社東芝 統合メモリ管理装置及び方法並びにデータ処理システム
US8427891B2 (en) * 2007-04-17 2013-04-23 Rambus Inc. Hybrid volatile and non-volatile memory device with a shared interface circuit
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
US8301833B1 (en) 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
DE102007038543B4 (de) * 2007-08-16 2022-09-01 Robert Bosch Gmbh Begleit-Chip zur Anwendung in einer Motorsteuerung
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
US8275945B2 (en) 2008-02-05 2012-09-25 Spansion Llc Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer
US8332572B2 (en) * 2008-02-05 2012-12-11 Spansion Llc Wear leveling mechanism using a DRAM buffer
US8352671B2 (en) * 2008-02-05 2013-01-08 Spansion Llc Partial allocate paging mechanism using a controller and a buffer
US8209463B2 (en) * 2008-02-05 2012-06-26 Spansion Llc Expansion slots for flash memory based random access memory subsystem
JP2009211192A (ja) * 2008-02-29 2009-09-17 Toshiba Corp メモリシステム
US8082384B2 (en) 2008-03-26 2011-12-20 Microsoft Corporation Booting an electronic device using flash memory and a limited function memory controller
US20090313416A1 (en) * 2008-06-16 2009-12-17 George Wayne Nation Computer main memory incorporating volatile and non-volatile memory
US10236032B2 (en) * 2008-09-18 2019-03-19 Novachips Canada Inc. Mass data storage system with non-volatile memory modules
US8599625B2 (en) * 2008-10-23 2013-12-03 Marvell World Trade Ltd. Switch pin multiplexing
CN101510174B (zh) * 2008-11-07 2012-05-02 慧帝科技(深圳)有限公司 一种快闪记忆体更新资料的管理方法及相关的记忆卡
KR100987332B1 (ko) 2008-11-07 2010-10-18 서울대학교산학협력단 메모리 구조에 따른 메모리 관리 장치
US8370603B2 (en) 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
US20140325129A1 (en) * 2008-12-31 2014-10-30 Micron Technology, Inc. Method and apparatus for active range mapping for a nonvolatile memory device
US8327087B1 (en) * 2008-12-31 2012-12-04 Micron Technology, Inc. Method and apparatus for an always open write-only register based memory mapped overlay interface for a nonvolatile memory
KR101583002B1 (ko) * 2009-02-23 2016-01-21 삼성전자주식회사 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법
EP2441007A1 (en) 2009-06-09 2012-04-18 Google, Inc. Programming of dimm termination resistance values
CN102063939B (zh) * 2009-11-18 2015-01-28 中兴通讯股份有限公司 一种电可擦除可编程只读存储器的实现方法和装置
CN102110057B (zh) * 2009-12-25 2013-05-08 澜起科技(上海)有限公司 存储器模组及存储器模组内的数据交换方法
US8612809B2 (en) 2009-12-31 2013-12-17 Intel Corporation Systems, methods, and apparatuses for stacked memory
JP5570619B2 (ja) 2010-02-23 2014-08-13 ラムバス・インコーポレーテッド 異なるメモリ種類にアクセスする異なる速度での時分割多重化
JP5607175B2 (ja) * 2010-03-08 2014-10-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データ記憶装置及び方法
US20110255335A1 (en) * 2010-04-20 2011-10-20 Alessandro Grossi Charge trap memory having limited charge diffusion
US20120026802A1 (en) * 2010-07-30 2012-02-02 Emanuele Confalonieri Managed hybrid memory with adaptive power supply
KR101670055B1 (ko) * 2010-08-30 2016-11-09 삼성전자 주식회사 디지털 영상 처리 장치의 제어 방법, 상기 방법을 적용한 디지털 영상 처리 장치, 상기 디지털 영상 처리 장치를 포함하는 통신 시스템
JP2012063874A (ja) * 2010-09-14 2012-03-29 Toshiba Corp チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器
KR20120028484A (ko) 2010-09-15 2012-03-23 삼성전자주식회사 모바일 기기에 채용하기 적합한 복합형 반도체 장치
EP2453377A1 (en) * 2010-11-15 2012-05-16 Gemalto SA Method of loading data into a portable secure token
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9141527B2 (en) * 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
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
US9176671B1 (en) 2011-04-06 2015-11-03 P4tents1, LLC Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system
US8930647B1 (en) 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
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
US9170744B1 (en) 2011-04-06 2015-10-27 P4tents1, LLC Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
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
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US9098209B2 (en) 2011-08-24 2015-08-04 Rambus Inc. Communication via a memory interface
WO2013028827A1 (en) 2011-08-24 2013-02-28 Rambus Inc. Methods and systems for mapping a peripheral function onto a legacy memory interface
US11048410B2 (en) 2011-08-24 2021-06-29 Rambus Inc. Distributed procedure execution and file systems on a memory interface
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US9361986B2 (en) 2011-09-19 2016-06-07 Sandisk Technologies Inc. High endurance non-volatile storage
KR20130032772A (ko) * 2011-09-23 2013-04-02 삼성전자주식회사 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US20140165196A1 (en) 2012-05-22 2014-06-12 Xockets IP, LLC Efficient packet handling, redirection, and inspection using offload processors
WO2013177310A2 (en) 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US9183910B2 (en) 2012-05-31 2015-11-10 Samsung Electronics Co., Ltd. Semiconductor memory devices for alternately selecting bit lines
KR20130143210A (ko) * 2012-06-21 2013-12-31 삼성전자주식회사 메모리 확장 장치
US9252996B2 (en) 2012-06-21 2016-02-02 Micron Technology, Inc. Apparatuses and methods to change information values
US20140101370A1 (en) * 2012-10-08 2014-04-10 HGST Netherlands B.V. Apparatus and method for low power low latency high capacity storage class memory
US20140108705A1 (en) 2012-10-12 2014-04-17 Sandisk Technologies Inc. Use of High Endurance Non-Volatile Memory for Read Acceleration
US10019176B2 (en) 2012-10-30 2018-07-10 Hewlett Packard Enterprise Development Lp Smart memory buffers
WO2014081719A1 (en) * 2012-11-20 2014-05-30 Peddle Charles I Solid state drive architectures
US9147461B1 (en) 2012-11-28 2015-09-29 Samsung Electronics Co., Ltd. Semiconductor memory device performing a refresh operation, and memory system including the same
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
US9250954B2 (en) 2013-01-17 2016-02-02 Xockets, Inc. 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
CN103970219B (zh) * 2013-01-30 2018-03-20 鸿富锦精密电子(天津)有限公司 存储设备及支持所述存储设备的主板
KR101752583B1 (ko) * 2013-03-14 2017-07-11 마이크론 테크놀로지, 인크. 트레이닝, 데이터 조직, 및/또는 섀도잉을 포함하는 메모리 시스템들 및 방법들
US10372551B2 (en) 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
US9569144B2 (en) 2013-03-27 2017-02-14 Hitachi, Ltd. DRAM with SDRAM interface, and hybrid flash memory module
WO2014155592A1 (ja) * 2013-03-27 2014-10-02 株式会社日立製作所 Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール
US9552176B2 (en) * 2013-04-12 2017-01-24 Microsoft Technology Licensing, Llc Block storage using a hybrid memory device
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
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
WO2014203383A1 (ja) * 2013-06-20 2014-12-24 株式会社日立製作所 異種メモリを混載したメモリモジュール、及びそれを搭載した情報処理装置
US20160139807A1 (en) * 2013-07-09 2016-05-19 Hewlett-Packard Development Company, L.P. Write flow control for memory modules that include or interface with non-compliant memory technologies
US9921980B2 (en) 2013-08-12 2018-03-20 Micron Technology, Inc. Apparatuses and methods for configuring I/Os of memory for hybrid memory modules
JP6090057B2 (ja) * 2013-08-15 2017-03-08 富士ゼロックス株式会社 状態情報記録装置及びプログラム
US10185515B2 (en) * 2013-09-03 2019-01-22 Qualcomm Incorporated Unified memory controller for heterogeneous memory on a multi-chip package
JP6072661B2 (ja) * 2013-09-30 2017-02-01 ルネサスエレクトロニクス株式会社 データ処理装置、マイクロコントローラ、及び半導体装置
CN111274063B (zh) 2013-11-07 2024-04-16 奈特力斯股份有限公司 混合内存模块以及操作混合内存模块的系统和方法
US11182284B2 (en) 2013-11-07 2021-11-23 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
KR102195896B1 (ko) * 2014-01-10 2020-12-28 삼성전자주식회사 디스크 캐시 제어 장치 및 방법
US9342402B1 (en) 2014-01-28 2016-05-17 Altera Corporation Memory interface with hybrid error detection circuitry for modular designs
US9237670B2 (en) 2014-02-26 2016-01-12 Samsung Electronics Co., Ltd. Socket interposer and computer system using the socket
CN103942159A (zh) * 2014-03-19 2014-07-23 华中科技大学 一种基于混合存储设备的数据读写方法与装置
US9911477B1 (en) 2014-04-18 2018-03-06 Altera Corporation Memory controller architecture with improved memory scheduling efficiency
US20150347151A1 (en) * 2014-05-28 2015-12-03 Diablo Technologies Inc. System and method for booting from a non-volatile memory
US9811263B1 (en) 2014-06-30 2017-11-07 Altera Corporation Memory controller architecture with improved memory scheduling efficiency
US10430092B1 (en) * 2014-07-28 2019-10-01 Rambus Inc. Memory controller systems with nonvolatile memory for storing operating parameters
US9715453B2 (en) * 2014-12-11 2017-07-25 Intel Corporation Computing method and apparatus with persistent memory
US10318340B2 (en) * 2014-12-31 2019-06-11 Ati Technologies Ulc NVRAM-aware data processing system
KR102355436B1 (ko) * 2015-01-09 2022-01-26 에스케이하이닉스 주식회사 데이터 저장 장치
KR102076196B1 (ko) * 2015-04-14 2020-02-12 에스케이하이닉스 주식회사 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법
CN107710175B (zh) * 2015-04-20 2021-12-14 奈特力斯股份有限公司 存储器模块以及操作系统和方法
US10339081B2 (en) 2015-05-09 2019-07-02 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
US10261697B2 (en) 2015-06-08 2019-04-16 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
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
US10078448B2 (en) 2015-07-08 2018-09-18 Samsung Electronics Co., Ltd. Electronic devices and memory management methods thereof
US20170060434A1 (en) * 2015-08-27 2017-03-02 Samsung Electronics Co., Ltd. Transaction-based hybrid memory module
KR102367512B1 (ko) 2015-09-08 2022-02-24 삼성전자주식회사 시스템 온 패키지
US10031674B2 (en) * 2015-10-07 2018-07-24 Samsung Electronics Co., Ltd. DIMM SSD addressing performance techniques
US10331586B2 (en) 2015-10-30 2019-06-25 Samsung Electronics Co., Ltd. Nonvolatile memory device for providing fast booting and system including the same
WO2017078681A1 (en) * 2015-11-03 2017-05-11 Hewlett-Packard Development Company, L.P. Operating mode memory migration
US9971511B2 (en) 2016-01-06 2018-05-15 Samsung Electronics Co., Ltd. Hybrid memory module and transaction-based memory interface
US20170220252A1 (en) * 2016-01-29 2017-08-03 Faraday&Future Inc. Flash emulated eeprom wrapper
US10146704B2 (en) * 2016-02-16 2018-12-04 Dell Products L.P. Volatile/non-volatile memory device access provisioning system
US10534619B2 (en) 2016-02-26 2020-01-14 Smart Modular Technologies, Inc. Memory management system with multiple boot devices and method of operation thereof
US10163508B2 (en) * 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
US10621119B2 (en) 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10592114B2 (en) 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US10310547B2 (en) * 2016-03-05 2019-06-04 Intel Corporation Techniques to mirror a command/address or interpret command/address logic at a memory device
US10810144B2 (en) * 2016-06-08 2020-10-20 Samsung Electronics Co., Ltd. System and method for operating a DRR-compatible asynchronous memory module
US10186309B2 (en) 2016-06-29 2019-01-22 Samsung Electronics Co., Ltd. Methods of operating semiconductor memory devices and semiconductor memory devices
US10692555B2 (en) 2016-06-29 2020-06-23 Samsung Electronics Co., Ltd. Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices
KR102554496B1 (ko) 2016-07-14 2023-07-13 에스케이하이닉스 주식회사 복수개의 메모리 모듈을 포함하는 데이터 처리 시스템
US9916256B1 (en) 2016-09-12 2018-03-13 Toshiba Memory Corporation DDR storage adapter
KR20180030329A (ko) * 2016-09-13 2018-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10552053B2 (en) 2016-09-28 2020-02-04 Seagate Technology Llc Hybrid data storage device with performance mode data path
DE102017105155B4 (de) 2016-11-11 2023-09-07 Sandisk Technologies Llc Schnittstelle für einen nichtflüchtigen speicher
CN108121664A (zh) * 2016-11-28 2018-06-05 慧荣科技股份有限公司 数据储存装置以及其操作方法
KR20180078512A (ko) 2016-12-30 2018-07-10 삼성전자주식회사 반도체 장치
JP6391719B2 (ja) * 2017-01-10 2018-09-19 マイクロン テクノロジー, インク. トレーニング、データ再構築および/またはシャドウィングを含むメモリシステムおよび方法
TWI705374B (zh) * 2017-01-23 2020-09-21 威鋒電子股份有限公司 電子裝置及其操作方法
US11175853B2 (en) * 2017-05-09 2021-11-16 Samsung Electronics Co., Ltd. Systems and methods for write and flush support in hybrid memory
US10496584B2 (en) * 2017-05-11 2019-12-03 Samsung Electronics Co., Ltd. Memory system for supporting internal DQ termination of data buffer
US10403342B2 (en) * 2017-06-20 2019-09-03 Aspiring Sky Co. Limited Hybrid flash memory structure
US10845866B2 (en) * 2017-06-22 2020-11-24 Micron Technology, Inc. Non-volatile memory system or sub-system
KR102412609B1 (ko) 2017-11-03 2022-06-23 삼성전자주식회사 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법
KR102101622B1 (ko) * 2017-12-06 2020-04-17 주식회사 멤레이 메모리 제어 장치 및 이를 포함하는 컴퓨팅 디바이스
US11216370B2 (en) * 2018-02-20 2022-01-04 Medtronic, Inc. Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set
KR20190105337A (ko) 2018-03-05 2019-09-17 삼성전자주식회사 반도체 메모리 장치
US10534731B2 (en) 2018-03-19 2020-01-14 Micron Technology, Inc. Interface for memory having a cache and multiple independent arrays
US10705963B2 (en) * 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
TWI668575B (zh) * 2018-07-26 2019-08-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US10977198B2 (en) 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface
EP3839954A4 (en) * 2018-10-16 2021-08-25 Huawei Technologies Co., Ltd. HYBRID STORAGE DEVICE AND ACCESS PROCESS
US11048654B2 (en) * 2018-10-24 2021-06-29 Innogrit Technologies Co., Ltd. Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface
TWI739075B (zh) * 2019-01-03 2021-09-11 慧榮科技股份有限公司 閃存的資料寫入方法及電腦程式產品
US11199991B2 (en) 2019-01-03 2021-12-14 Silicon Motion, Inc. Method and apparatus for controlling different types of storage units
KR20210017109A (ko) 2019-08-07 2021-02-17 삼성전자주식회사 스토리지 장치
RU2757659C1 (ru) * 2020-06-16 2021-10-19 Александр Георгиевич Носков Накопитель магнитный с разделёнными областями
KR20220029914A (ko) 2020-09-02 2022-03-10 삼성전자주식회사 펄스 진폭 변조 기반 데이터 스트로브 신호를 생성하는 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템
US20220083252A1 (en) * 2020-09-14 2022-03-17 Micron Technology, Inc. Indication-based avoidance of defective memory cells
CN114895847A (zh) * 2020-10-12 2022-08-12 长江存储科技有限责任公司 非易失性存储器、存储装置及非易失性存储器的操作方法
KR20220077400A (ko) 2020-12-02 2022-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법
US11803326B2 (en) * 2021-04-23 2023-10-31 Macronix International Co., Ltd. Implementing a read setup burst command in 3D NAND flash memory to reduce voltage threshold deviation over time
KR102483906B1 (ko) * 2021-07-14 2022-12-30 서울시립대학교 산학협력단 Nand 플래시 메모리와 sram이 융합된 nas 메모리 셀 및 이를 이용한 nas 메모리 어레이
CN116955241B (zh) * 2023-09-21 2024-01-05 杭州智灵瞳人工智能有限公司 兼容多类型存储介质的存储芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581505A (en) * 1989-05-15 1996-12-03 Dallas Semiconductor Corp. Ram/ROM hybrid memory architecture
US6496854B1 (en) * 1996-07-01 2002-12-17 Sun Microsystems, Inc. Hybrid memory access protocol in a distributed shared memory computer system
CN1441338A (zh) * 2002-02-27 2003-09-10 微软公司 开放式体系结构闪存驱动程序
US6804146B2 (en) * 1995-04-21 2004-10-12 Mark B. Johnson Hybrid semiconductor—magnetic spin based memory

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05299616A (ja) * 1992-04-16 1993-11-12 Hitachi Ltd 半導体記憶装置
JPH06195258A (ja) * 1992-07-08 1994-07-15 Nec Corp 半導体記憶装置
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5701433A (en) * 1994-10-14 1997-12-23 Compaq Computer Corporation Computer system having a memory controller which performs readahead operations which can be aborted prior to completion
US5634112A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation Memory controller having precharge prediction based on processor and PCI bus cycles
US6418506B1 (en) * 1996-12-31 2002-07-09 Intel Corporation Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array
US6850995B1 (en) * 1999-01-25 2005-02-01 Canon Kabushiki Kaisha Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process
US6380581B1 (en) 1999-02-26 2002-04-30 Micron Technology, Inc. DRAM technology compatible non volatile memory cells with capacitors connected to the gates of the transistors
KR100313514B1 (ko) * 1999-05-11 2001-11-17 김영환 하이브리드 메모리 장치
KR100383774B1 (ko) 2000-01-26 2003-05-12 삼성전자주식회사 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
US7073014B1 (en) 2000-07-28 2006-07-04 Micron Technology, Inc. Synchronous non-volatile memory system
JP3871853B2 (ja) * 2000-05-26 2007-01-24 株式会社ルネサステクノロジ 半導体装置及びその動作方法
JP2002259443A (ja) * 2001-02-28 2002-09-13 Ricoh Co Ltd 文書管理システム、文書検索方法および文書検索プログラム
US6327207B1 (en) * 2001-04-09 2001-12-04 Lsi Logic Corporation Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
JP4059002B2 (ja) * 2001-06-13 2008-03-12 株式会社日立製作所 メモリ装置
TWI240864B (en) * 2001-06-13 2005-10-01 Hitachi Ltd Memory device
JP2003006041A (ja) 2001-06-20 2003-01-10 Hitachi Ltd 半導体装置
US6670234B2 (en) 2001-06-22 2003-12-30 International Business Machines Corporation Method of integrating volatile and non-volatile memory cells on the same substrate and a semiconductor memory device thereof
US6799231B2 (en) * 2002-10-22 2004-09-28 Asix Electronics Corp. Virtual I/O device coupled to memory controller
US7613880B2 (en) * 2002-11-28 2009-11-03 Renesas Technology Corp. Memory module, memory system, and information device
US7752380B2 (en) 2003-07-31 2010-07-06 Sandisk Il Ltd SDRAM memory device with an embedded NAND flash controller
US6859068B1 (en) * 2003-08-08 2005-02-22 Sun Microsystems, Inc. Self-correcting I/O interface driver scheme for memory interface
US7171526B2 (en) 2003-11-07 2007-01-30 Freescale Semiconductor, Inc. Memory controller useable in a data processing system
US6862206B1 (en) * 2003-12-19 2005-03-01 Hewlett-Packard Development Company, L.P. Memory module hybridizing an atomic resolution storage (ARS) memory and a magnetic memory
KR101085406B1 (ko) 2004-02-16 2011-11-21 삼성전자주식회사 불 휘발성 메모리를 제어하기 위한 컨트롤러
US20050204091A1 (en) 2004-03-11 2005-09-15 Kilbuck Kevin M. Non-volatile memory with synchronous DRAM interface
US20060184710A1 (en) * 2005-02-17 2006-08-17 Nokia Inc. Bridge between a single channel high speed bus and a multiple channel low speed bus
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
US7360022B2 (en) * 2005-12-29 2008-04-15 Intel Corporation Synchronizing an instruction cache and a data cache on demand
US8427891B2 (en) * 2007-04-17 2013-04-23 Rambus Inc. Hybrid volatile and non-volatile memory device with a shared interface circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581505A (en) * 1989-05-15 1996-12-03 Dallas Semiconductor Corp. Ram/ROM hybrid memory architecture
US6804146B2 (en) * 1995-04-21 2004-10-12 Mark B. Johnson Hybrid semiconductor—magnetic spin based memory
US6496854B1 (en) * 1996-07-01 2002-12-17 Sun Microsystems, Inc. Hybrid memory access protocol in a distributed shared memory computer system
CN1441338A (zh) * 2002-02-27 2003-09-10 微软公司 开放式体系结构闪存驱动程序

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US8990441B2 (en) 2013-03-14 2015-03-24 Microsoft Technology Licensing, Llc Assigning priorities to data for hybrid drives
US9323460B2 (en) 2013-03-14 2016-04-26 Microsoft Technology Licensing, Llc Assigning priorities to data for hybrid drives
CN105247617A (zh) * 2013-06-27 2016-01-13 英特尔公司 混合存储器设备
CN105247617B (zh) * 2013-06-27 2020-06-12 英特尔公司 混合存储器设备
CN111226195A (zh) * 2017-08-21 2020-06-02 开利公司 包含可寻址回路和自动固件升级的消防和安全系统

Also Published As

Publication number Publication date
CN101473438A (zh) 2009-07-01
JP2011181098A (ja) 2011-09-15
US8423700B2 (en) 2013-04-16
EP2025001A4 (en) 2010-07-28
MX2008014859A (es) 2008-12-01
RU2442211C2 (ru) 2012-02-10
EP2025001A1 (en) 2009-02-18
JP5613103B2 (ja) 2014-10-22
BRPI0711731A2 (pt) 2011-11-29
RU2008148129A (ru) 2010-06-10
EP2025001B1 (en) 2019-01-23
TW200745848A (en) 2007-12-16
ES2718463T3 (es) 2019-07-02
TWI420302B (zh) 2013-12-21
WO2007145883A1 (en) 2007-12-21
US20070288683A1 (en) 2007-12-13
US7716411B2 (en) 2010-05-11
JP2009540431A (ja) 2009-11-19
KR20090026276A (ko) 2009-03-12
US20100217924A1 (en) 2010-08-26
KR101159400B1 (ko) 2012-06-28

Similar Documents

Publication Publication Date Title
CN101473438B (zh) 具有单个接口的混合存储器设备和方法
JP6986369B2 (ja) メモリモジュール、これを含むシステム及びその動作方法
US7539842B2 (en) Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US9772803B2 (en) Semiconductor memory device and memory system
US20080010418A1 (en) Method for Accessing a Non-Volatile Memory via a Volatile Memory Interface
US20080010420A1 (en) Method for Accessing Control Registers via a Memory Device
US11640308B2 (en) Serial NAND flash with XiP capability
US20080010419A1 (en) System and Method for Issuing Commands
CN101206626A (zh) 对共用总线进行控制的方法和设备
US7925819B2 (en) Non-volatile memory storage system and method for reading an expansion read only memory image thereof
US20080007569A1 (en) Control protocol and signaling in a new memory architecture
CN103093802A (zh) 存储器中的峰值功率管理机构
US8402199B2 (en) Memory management system and method thereof
US7386654B2 (en) Non-volatile configuration data storage for a configurable memory
JP3862031B2 (ja) マイクロプロセッサ
KR20090095842A (ko) 메모리 복사 방법 및 그 방법을 이용하는 컴퓨터 시스템
JP2006065887A (ja) マイクロプロセッサ
JP2002063149A (ja) データ処理システム
JP2003216478A (ja) インタフェース回路及び半導体装置
KR20070096183A (ko) 컴퓨터 시스템의 스토리지 제어장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.