CN1228715C - 从基于快速存储器的主存储器中读出数据的方法 - Google Patents

从基于快速存储器的主存储器中读出数据的方法 Download PDF

Info

Publication number
CN1228715C
CN1228715C CNB021605157A CN02160515A CN1228715C CN 1228715 C CN1228715 C CN 1228715C CN B021605157 A CNB021605157 A CN B021605157A CN 02160515 A CN02160515 A CN 02160515A CN 1228715 C CN1228715 C CN 1228715C
Authority
CN
China
Prior art keywords
address
short
dram
access storage
chip
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 - Lifetime
Application number
CNB021605157A
Other languages
English (en)
Other versions
CN1430151A (zh
Inventor
D·R·米尔斯
B·L·迪佩特
S·森班丹
B·麦科米克
R·D·帕什利
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1430151A publication Critical patent/CN1430151A/zh
Application granted granted Critical
Publication of CN1228715C publication Critical patent/CN1228715C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/0607Interleaved addressing
    • 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
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select 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
    • G11C7/1072Input/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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

描述了可被切换至4种不同的读出方式的快速存储器芯片(320)。还描述了利用了这些方式的计算机系统(100、200、300、800、1300、1500)和体系。在第一种读出方式即异步快速方式中,快速存储器(130)被作为标准快速存储器读出。在第二种方式即同步快速方式中,向快速存储器芯片(320)提供时钟信号和每时钟信号一个地址地指定属于一数据串的一系列地址。在第三种方式即异步DRAM(动态随机存取存储器)方式中,快速存储器(130)模拟DRAM。在第四种读出方式即同步DRAM方式中,组合第二和第三种方式的特点,得到模拟同步DRAM的快速存储器。

Description

从基于快速存储器的主存储器中读出数据的方法
本申请是1996年12月3日进入国家阶段的名称为“基于快速存储器的主存储器”的国际专利申请PCT/US95/07062(中国申请号95193421.X)的分案申请。
技术领域
本发明涉及计算机系统体系结构的领域。具体来说,本发明涉及采用大块可擦除非易失半导体存储器作为主存储器的计算机系统。
背景技术
由于现代计算机程序已变得越来越复杂,所以现代个人计算机系统也不得不变得越来越复杂,以便适应这些计算机程序。计算机程序由比以往代码指令多的大量代码指令组成,平均来说,当计算机程序正在被执行时,它们要求对较大量的数据文件进行访问,这些数据文件被读出和被写入。
一般来说,个人计算机系统的核心是在微处理器芯片上的中央处理单元(CPU)。为了使个人计算机能够以适时的方式执行更大的程序,以越来越高的操作速度运行的新的微处理器芯片不断地被开发。通常利用CMOS(互补金属一氧化物半导体)技术来开发这些微处理器芯片。CMOS芯片最大的功率消耗出现在时钟脉冲的前沿和后沿(即当时钟信号从低电压状态转换至较高电压状态和从较高电压状态转换至低电压状态时)。
一旦提高微处理器的操作速度,在一特定时间间隔内的时钟脉冲的个数就增多,于是增大了在这一时间间隔内微处理器的功耗。另外,微处理器产生了更多的热量,为了防止损坏计算机系统内的部件,必需消除这些热量。
在设计个人计算机系统时,功耗和散热都造成严重的问题。对于通常由电池后备的便携式计算机更是如此。计算机消耗的功率越多,计算机能够以给定容量的电池为动力运行的时间就越短。因此,随着计算机操作速度的提高,设计人员面临几种讨厌的可供选择的方案。
如果使用相同容量的电池,则一旦提高操作速度就必需减少计算机系统的有效操作时间。相反地,如果要保持有效操作时间不变,就或者必需增加额外的电池,这样会增大计算机的体积和重量,或者采用非常规的、因此是昂贵的电池技术(或者采用这两种方案)。
便携式计算机的趋势是更小、更快、更廉价和更轻便。因此,需要增加额外的电池、或采用更昂贵的电池是显然不利的。为了消除高速微处理器产生的更多的热量,增加冷却风扇或采用其它冷却技术的需求更加重了这种不利。
还有,因为微处理器以更高速度运行,所以它们能够在给定的时间内执行更多的指令,并因此同样能够在该段时间内处理更大量的数据。在具有快速微处理器的计算机系统中已出现了会妨碍有效地利用这种微处理器更高的速度的瓶颈。这种瓶颈是提供微处理器执行的指令的总线(或一些总线)以及微处理器在执行这些指令时将使用的数据。
如果下一条要被执行的指令在微处理器需要它时不能得到,则微处理器就必需在该所需指令被检索和被提供给微处理器期间不工作地等待(即插入等待周期)。另外,如果下一条要被执行的指令需要不是立即可被微处理器得到的数据,则微处理器也必需等待,直到该数据已被检索到为止。在这一空闲时间内,微处理器时钟继续变换其状态,于是不必要地消耗功率并产生必需被消除的热量。
为了减少微处理器遇到这些等待周期的频率,许多高性能微处理器都具有称为主高速缓存的小的内部高速缓存。经常要被执行的指令以及执行这些指令经常所需的数据被存储在该内部高速缓存内,因此它们可被微处理器的CPU立即进行访问。
计算机程序的顺序特性使得当程序内的某一指令被执行时,下一条要被执行的指令很可能将是跟在当前执行指令之后的指令。因此,当一指令要被执行时,就检查高速缓存,确定是否在该高速缓存内立即可得到该所需指令的拷贝。如果所需指令的拷贝存储在该高速缓存内(称为高速缓存选中),就能够立即把该指令的拷贝从该高速缓存提供给CPU,在指令从无论其存储在计算机系统的何处被检索至微处理器芯片期间,CPU不需要等待。
相反地,如果所需指令的拷贝没有存储在高速缓存内(称为高速缓存落空),则在指令从其存储在计算机系统的任何地方被检索至微处理器芯片期间,CPU就必需等待。实际上,不是只检索要被执行的下一条指令,而是通过检索要被执行的下一条指令以及跟在该要被执行的下一条指令之后的一定数目的指令而形成高速缓存存储界(cache line)。因此,如果随后的指令实际上需要执行,CPU就可以立即从高速缓存存储界内得到它们。由于程序的顺序特性,利用高速缓存的好处同样适用于程序所使用的数据。
因为内部高速缓存每次被填充高速缓存存储界,所以许多微处理器能够以突发方式接受数据。在一般的成串读出中,微处理器规定要被读入到高速缓存存储界的数据或指令的第一地址。然后,存储在高速缓存存储界的地址处的数据或指令被顺序地从它们存储在计算机系统内的地方传送至微处理器。
经常利用静态随机存取存储器(SRAM)来形成微处理器的内部高速缓存。因为每一SRAM单元由6×8个晶体管组成,所以在一微处理器芯片上只能容纳相当小的SRAM高速缓存。此外,SRAM是易失的,即SRAM只有在有足够的电力进行工作时才保持所存储的信息。如果没有电源,SRAM高速缓存的内容将丢失。
某些微处理器是动态的,即如果它们被断电,则当恢复供电时,它们不能直接回复到断电时它们所处的状态。一旦恢复供电,必须重新初始化微处理器,将可能丢失以前执行过的至少某些处理步骤。
另一些微处理器是静态的,即它们可进入节能的深度省电状态,然后相当迅速地回复到就在它们进入该深度省电状态之前所处的状态。
如上所述,数据和指令被存储在计算机系统内,被通过一个(或多个)总线系统提供给微处理器。因为大部分相当快的随机存取存储器都是易失的和相当昂贵的,所以一般的计算机系统把代码和数据存储在例如软盘或硬盘这样的相当廉价的、非易失的存储器内。
因为非易失存储器的访问速度相当低,所以一般的计算机系统还有由易失存储器组成的主存储器。当要执行程序时,计算机系统利用称为遮蔽(shadowing)的技术把执行该程序所需的代码和数据从低速非易失存储器拷贝至较快的易失存储器。然后用主存储器内的阴影拷贝来执行程序。如果在程序执行过程中对阴影拷贝进行了任何改动,可以在程序结束执行时把该阴影拷贝回拷至较慢的非易失存储器。另外,因为预料之外的停电会造成易失主存储器内容的丢失,所以通常保存在程序执行过程中产生的中间结果。
最普通的主存储器是动态随机存取存储器(DRAM)。因为相同复杂度的DRAM存储的数据约是SRAM的4倍,所以即使它比SRAM慢,它也用得比SRAM广泛。
DRAM把信息存储在包含电容器的集成电路内。因为电容器随着时间的推移会失去它们的电荷,所以必需利用使DRAM芯片不断地“刷新”(再充电)的逻辑来控制DRAM。当DRAM正在被刷新时,它不能被微处理器读出或写入。因此,如果微处理器必需在DRAM正在被刷新时对其进行访问,就出现了一个或多个等待状态。
在某些计算机系统中,SRAM代替DRAM用作主存储器。利用SRAM作为主存储器的一个优点是与DRAM比可相对快地进行访问。另外,因为SRAM不需要被刷新,所以总是可被微处理器进行访问,于是消除了当在DRAM正在被刷新期间试图进行访问时微处理器必需包括等待状态的与DRAM相关的需要。还有,因为不必考虑对刷新周期进行控制,所以不需要刷新还简化了对具有基于SRAM的主存储器的计算机系统的设计。事实上,在电源出现故障时可用简单的备用电池来保留SRAM的内容。当然,如果该备用电池失效,SRAM主存储器的内容也将丢失。
不是完全利用SRAM来组成主存储器,而是通常利用DRAM来实现主存储器,然后用基于SRAM的外部高速缓存(即在微处理器芯片之外的高速缓存)来补充该基于DRAM的主存储器。因为外部高速缓存没有被包括在微处理器芯片上,所以通常可使其能够比内部高速缓存存储更多的数据和指令。但是,因为外部高速缓存不在微处理器芯片上,所以它必需利用通常构成数据和指令进入和离开该微处理器芯片的瓶颈的总线之一来把数据和指令提供给微处理器。
高速微处理器芯片一般利用一条或多条高速总线与计算机系统的其余部分对接。这些总线的第一种是称为主存储器总线的相当高速的异步总线。这些总线的第二种是称为局部总线的相当高速的同步总线。主存储器总线和局部总线的典型操作速度在16至33MHz的范围内,趋势是总线越来越快。
尽管大多数微处理器能够利用主存储器总线直接对接,但某些微处理器没有提供与局部总线的外部接口。这些微处理器一般利用称为扩展总线的相当低速的同步总线进行对接。扩展总线的典型操作速度在8至12MHz的范围内。
主存储器(或DRAM)总线被微处理器芯片用来访问主存储器。一般来说,微处理器不是直接与DRAM芯片对接而是与DRAM控制器芯片连接,该DRAM控制器芯片再与DRAM芯片或与一些DRAM芯片连接。DRAM控制器控制由微处理器初启的对DRAM芯片的访问。DRAM控制器还控制额外开销维护、例如刷新周期以便定期刷新DRAM的内容。某些微处理器具有直接设在它们内部的DRAM控制器。经常是把DRAM或SRAM芯片封装在表面安装组件内并把几个DRAM或SRAM连接到一小电路板,形成所谓的单列直插存储器模块(SIMM)。然后通过简单地用一种SIMM换另一种SIMM就能够相当容易地修改计算机系统内的主存储器的总容量(或访问速度)。基于SRAM的外部高速缓存也可以利用DRAM总线与微处理器连接。
如果计算机系统具有局部总线,那么微处理器就能够以相当快的速度访问与该局部总线连接的设备。因此,宽带宽设备、例如图形适配器卡和快速输入/输出设备通常直接与该局部总线连接。有时候外部高速缓存与局部总线连接而不与DRAM总线连接。还可以通过利用被设计成为与局部总线对接的DRAM控制器把DRAM连接至该局部总线来补充(或代替)在主存储器总线上的主存储器。
与局部总线连接的每一设备都具有相关的容性负载。随着局部总线上的负载增大,局部总线的最高操作速度就减小,而驱动总线所需的功率就增大。因此,与局部总线连接的一设备可以是从该局部总线至称为高速外部总线(例如外围部件互连(PCI)总线)的另一总线的外部总线桥。总线桥把与高速外部总线连接的设备与高速局部总线隔离开来。
与局部总线连接的另一设备通常是把高性能局部总线与较低性能的扩展总线连接的扩展总线桥。计算机系统的窄带宽部件然后被连接到该较低性能的扩展总线。通常与扩展总线连接的一种设备使用快速存储器。快速存储器通常是高密度、非冒失的读-写存储器。基于快速存储器的设备的一些例子是BIOS ROM和硬盘的替代物。
快速存储器在擦除方面与普通的EEPROM(电可擦可编程只读存储器)不同。普通EEPROM利用选择晶体管对各个字节的擦除进行控制。相反地,快速存储器利用一个晶体管单元获得了非常高的密度。对于一般的快速存储器阵列,逻辑“1”指即使有也极少数的电子积聚在与一位单元相关的浮栅上。逻辑“零”指许多电子积聚在与该位单元相关的浮栅上。不进行预先擦除,就不能够从逻辑零状态至逻辑1状态地重写快速存储器阵列的每一位。在快速擦除操作期间,同时向一块或整个芯片内的每一存储单元的源极提供高电压。这样就实现了整个阵列或整块擦除。
在快速存储器阵列已被擦除之后,逻辑“1”就被存储在该快速存储器阵列的每一位单元内。该快速存储器阵列的每一个位单元然后就可从逻辑“1”至逻辑“零”地被编程(重写),已知这种编程只是向包含与擦除状态相关的固有电子数的浮栅增加电子。快速存储器的编程操作也称为写操作。
与一般快速存储器阵列相关的读操作非常类似于与其它只读存储器相关的读操作。一般高速快速存储器阵列的读操作需要约80纳秒(ns)。但是,快速存储器阵列的写和擦除操作却非常慢。一般来说,擦除操作需要约1秒。快速存储器阵列一个字的写操作需要约10微秒。
1992年7月1日公开的英国专利GB2 251 324A描述了使用快速存储器的计算机系统。该专利公开了把快速存储器加入计算机系统的各种结构。在此引用的一种结构是可变文件结构。对于可变文件结构,计算机代码被邻接地存储在快速存储器内,使CPU能够执行直接来自快速存储器阵列的计算机代码,不需要RAM。描述了允许来自所有快速存储器阵列的直接代码执行的直接映射可变文件结构。还描述了允许来自一部分快速存储器阵列的直接代码执行的页面映射可变文件结构。因此,快速存储器能够起便携计算机内的主存储器的作用,向用户提供了与基于磁盘的系统的那些功能类似的一些功能。
ROM可执行DOS已商品化,为系统制造商和最终用户提供了若干种便利。首先,因为大多数操作系统由固定代码组成,所以执行DOS所需的系统RAM的容量从50K减少到15K,于是节省了系统空间及电能,其次,DOS现在可被永久地存储在例如快速存储器这样的单个ROM型的器件内并可从该器件中执行。这样就能够提供从包装箱取出就能够工作的系统。最后,因为消除了传统的磁盘至DRAM引导功能和软件下装步骤,所以用户欣赏到“即时”演示。
例如,通过把应用软件和操作系统代码存储在“驻留快速存储器阵列”(RFA)内,用户实际上欣赏到即时演示和适当的代码执行。因为RFA与ROM不同,它是系统内可更新的,所以RFA还防止了软件过时。存储在快速存储器而不是在磁盘内的驻留软件延长了电池寿命并提高了系统可靠性。
因为擦除快速存储器和把数据写入快速存储器是与把信息重新写入磁盘完全不同的操作,所以已开发了新的软件技术来允许快速存储器模拟磁盘的功能。例如微软的Flash File System(FFS)这样的文件管理软件允许快速存储部件和快速存储插件模拟磁盘的文件存储能力。微软的FFS透明地处理快速存储块之间的数据交换,这类似于MS-DOS处理磁盘扇区之间的数据交换的方式。在FFS下,用户能够输入MS-DOS或Windows命令,不必考虑系统安装的是快速存储器还是磁盘。快速文件编排系统使快速存储器的管理对用户完全透明。已有类似于微软FFS的快速文件编排系统或正在为除DOS和Windows外的其它操作系统开发这种系统。
快速存储器极其适合作为一种固态盘或作为DRAM和电池后备的静态RAM的价格有效的和高可靠的替代物。其固有的优于这些技术的优点使其在便携系统特别有用,便携系统在保持高性能和全面功能度的同时还要求最大可能的低功耗、小尺寸和坚固度。
但是,快速存储器一般都具有异步接口,规定要被读出的地址,然后在设定的时间之后从快速存储器芯片输出存储在该规定地址的内容。只有在快速存储器芯片已输出数据之后才能够把下一要被读出的地址传送给快速存储器芯片。局部总线这样的高速总线能够以33MHz的速率运行,总线的每一周期约为30ns。相反地,一般的高性能快速存储器的读访问时间约为80ns。因此,如果要把快速存储器作为主存储器,则对快速存储器的每一次存储器访问都包含等待状态和零等待状态因而从快速存储器中不能支持背对背成串读周期。对于具有类似于快速存储器的读等待的其它设备也是如此。因此,利用已有技术,把这些存储器作为高速微处理器的主存储器是不现实的。
发明内容
因此,本发明的一个目的是与易失存储器比较,根据非易失存储器提供有效的存储器分级结构,在这种存储器分级结构中,数据和应用程序都被存储在随机存取非易失存储器内,直接根据该随机存取非易失存储器执行应用程序。
本发明的另一个目的是使快速存储器能够利用任何同步总线以最佳的同步方式进行操作。
本发明的另一个目的是使快速存储器能够利用任何同步总线以最佳的同步方式进行操作,以便提供可以代替易失主存储器的低成本、低功耗的替代物,和以便消除把代码和数据从硬盘传送至主存储器所需的时间。
本发明的另一个目的是使快速存储器能够利用任何同步总线以最佳的同步方式进行操作,以便CPU能够直接执行快速存储器的程序,与基于易失存储器的主存储器相比,性能没有任何降低。
本发明的另一个目的是使快速存储器能够利用任何同步总线以最佳的同步方式进行操作以及由此消除把昂贵的存储器子系统设计、例如交错加入系统的需要。
本发明的另一个目的是使快速存储器能够利用任何同步总线以最佳的同步方式进行操作以及由此支持背对背脉冲串周期并因此保证以迅速和最佳的方式对高速缓存存储界进行填充。
本发明的另一个目的是使快速存储器能够利用任何异步主存储器总线以最佳的异步方式进行操作。
本发明的另一个目的是使快速存储器能够利用任何异步主存储器总线以最佳的异步方式进行操作,以便提供可以代替基于易失存储器的主存储器的低成本、低功耗的替代物,和以便也消除把代码和数据从硬盘传送至主存储器所需的时间。
本发明的另一个目的是使快速存储器能够利用任何异步主存储器总线以最佳的异步方式进行操作,以便CPU能够直接执行快速存储器的程序,与易失存储器相比,性能没有任何降低。
本发明的另一个目的是使快速存储器能够利用任何异步主存储器总线以最佳的异步方式进行操作以及消除使用定制的控制器的需要。
本发明的另一个目的是使快速存储器能够利用任何异步主存储器总线以最佳的异步方式进行操作,以便向已有的主存储器控制器提供非粘合接口并因此降低成本和减轻局部总线上的负载。
描述了可被切换至4种不同的读出方式的快速存储器芯片。还描述了利用了这些方式的计算机系统和体系。在第一种读出方式即异步快速方式中,快速存储器被作为标准快速存储器读出。在这一方式中,在能够指定要被读出的第二地址之前必需结束第一地址的内容的读出。
在第二种读出方式即同步快速方式中,向快速存储器芯片提供时钟信号和指定属于一数据串的一系列地址,其中每个时钟分段信号对应一个地址。然后,按照提供地址的顺序在后续时钟分段信号期间内顺序地输出存储在为该数据串指定的地址处的内容。另一方面,如果在快速存储器芯片处于同步方式时向其提供了一个地址,就将在该快速存储器芯片内产生该数据串的后续地址,然后从该快速存储器芯片提供该数据串作为输出。
在第三种读出方式即异步DRAM(动态随机存取存储器)方式中,快速存储器模拟DRAM。于是利用行和列地址选通信号把行和列地址选通至快速存储器。快速存储器然后在内部把行和列地址变换为单个地址并提供存储在该单个地址处的数据作为输出。此外,虽然快速存储器不需要扩充预充电期或不需要被刷新,但当处于异步DRAM方式时,快速存储器如DRAM那样地响应预充电期和刷新周期。因此,当处于异步DRAM方式时,快速存储器能够被标准DRAM控制器进行控制。
在第四种读出方式即同步DRAM方式中,组合第二和第三种方式的特点,得到模拟同步DRAM的快速存储器。于是通过利用RAS和CAS信号把行和列地址选通至快速存储器就指定了要被作为数据串读出的地址。快速存储器然后根据后续时钟分段信号顺序地提供数据串的数据作为输出。
参看附图以及以下的详细描述将清楚本发明的其它目的、特点和优点。
附图说明
举例说明本发明,本发明不局限于附图中的各图,在附图中,相同的标号表示相同的元件,其中:
图1表示具有利用高速总线与快速主存储器连接的微处理器的计算机系统;
图2表示把静态微处理器与快速主存储器结合,构成了低功耗,但高性能的计算机系统的计算机系统;
图3表示交错几个异步快速存储器单元来支持同步背对背数据串读周期的快速存储器子系统;
图4是说明异步快速存储器的读周期的时序图;
图5表示图3的快速存储器子系统的状态转换图;
图6表示快速存储器集成电路的方框图,该集成电路具有从快速存储器阵列的内部存储体中支持同步背对背数据串读周期的同步快速接口;
图7是说明具有同步快速接口的快速存储器的背对背数据串读周期的时序图;
图8是说明利用高速同步总线和总线专门粘合逻辑与微处理器连接的通用同步快速接口的快速存储器单元的计算机系统的方框图;
图9是具有异步主存储器接口的快速存储器集成电路的方框图;
图10是说明具有异步主存储器接口的快速存储器的列和行地址多路复用的异步读周期的时序图;
图11是说明具有异步主存储器接口的快速存储器的刷新周期的时序图;
图12是具有异步主存储器接口的快速存储器集成电路的异步主存储器接口单列直插存储器模块的方框图;
图13是利用动态随机存取存储器控制器来访问基于快速存储器的异步主存储器接口单列直插存储器模块的计算机系统的方框图;
图14是具有同步主存储器接口的快速存储器集成电路的方框图;
图15是利用同步动态随机存取存储器控制器来访问基于快速存储器的同步主存储器接口单列直插存储器模块的计算机系统的方框图。
具体实施方式
图1表示其中的微处理器110利用高速总线120与快速存储器130连接的计算机系统100。在计算机系统100中,快速存储器130被用来代替某些(如果不是全部的话)易失主存储器(未示出)。因此,快速存储器120被用来代替例如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)这样的易失主存储器,以便为计算机系统100提供高速非易失主存储器。
基于易失主存储器的计算机体系在断电时将失去主存储器内的所有信息。但是,基于快速存储器的非易失主存储器缩短或消除了在通电时从磁盘获取信息的冗长处理。因此,当程序一开始被执行时,基于快速主存储器的计算机系统100的系统性能高于基于易失主存储器的计算机系统的系统性能。
此外,通过利用快速存储器作为主存储器,就不再需要复制在磁盘和RAM上的阴影信息,于是因消除存储器复制就减小了存储器成本。
还有,通过把信息存储在非易失快速存储器内,因为不需要易失存储器的备用电池和因为磁盘访问被减至最少或被消除,所以减少了功耗。
图2表示其中的静态微处理器210利用高速总线220与快速主存储器230和电池后备的SRAM240连接的计算机系统200。总线桥280连接高速总线220和低速总线260。低速非易失存储器250与低速总线260连接。
在一般的现代基于易失主存储器的计算机系统中,有4至8兆字节的易失主存储器,其中的约一半将被用来存储操作系统、应用程序的可执行代码和不变的数据文件。主存储器的余下部分通常包含被经常读出和写入的数据文件(和偶尔使用的应用程序的可执行代码)。前一种信息被存储在通常被称为“常读”文件的文件内而后一种信息被存储在通常被称为“读/写”文件的文件内。在计算机系统200中,快速存储器230被用来存储常读文件而SRAM240被用来存储目前使用的读/写文件。
举例最能说明利用具有系统200的基于快速存储器的主存储器结构的计算机系统能够获得的好处。假定用户具有一台计算机和经常在视窗操作系统环境中用该台计算机来运行字处理器应用程序(写信)。再假定该用户偶尔用该台计算机玩电子游戏。
因为大多数计算机操作系统(和应用程序)都是设计成根据随机存取存储器(即可被读出和写入的存储器)来执行的,所以没有作出努力来把它们的存储器地址空间分成只读区和读/写区。实际上,极少的存储器地址空间将被写入。大多数存储器地址空间将被读出,以便提供偶尔变化的代码指令和数据。
写入可ROM化的程序来提供可从只读存储器(ROM)执行的代码。在可ROM化的程序中,仔细地写入代码以确保大多数存储器地址空间是只读的。如果存储器地址空间的某些部分是必需被写入的,这些部分就被包含在(可被保存至读/写存储器的)分离的读/写存储器地址空间内。目前在市场上可买到Windows的可ROM化的版本、基本“磁盘操作系统(DOS)”以及例如字处理程序这样的流行应用程序。
因此,计算机系统200的用户可得益于把可ROM化的DOS、可ROM化的Windows和可ROM化的字处理程序的只读部分存储在快速存储器230内。这些程序的读/写部分和应用程序的其余部分以及文件可存储在低速非易失存储器250内。
然后,当用户启动计算机系统200写信时,DOS、Windows和字处理器的只读部分将驻留在快速存储器230内。如果这些程序需要任何读/写文件(例如系统配置信息),这些(通常小的)文件就利用总线桥280和低速总线260迅速地从低速非易失存储器250装载至电池后备的SRAM240。总之,DOS、Windows和字处理程序的主要部分将驻留在非易失快速存储器230内,系统一通电就能够直接根据非易失主存储器230适当地执行它们。因此,对用户来说就好象计算机系统200一启动就装载了字处理器并且该字处理器做好了写信的准备。
用户然后能够检索SRAM240中的包含以前书写的信的文件以便进行修改(从该文件所存储的低速非易失存储器250)。或者用户能够打开在SRAM240的存储器地址空间内的一新文件并能够利用该新文件来开始写一封全新的信。
在写了一会儿信之后,假定用户决定玩存储在低速非易失存储器250内的一个计算机游戏。在这种情况下,与被选择游戏相关的程序将被装入SRAM250,游戏开始。
如果用户想休息,他可以暂停游戏,让计算机系统200继续运行。在用户离开期间,静态微处理器210将感知用户的不活动性并通过省电信号线270把省电信号传送给快速存储器230。然后静态微处理器210和快速存储器230将进入低功耗状态。
快速存储器230和低速非易失存储器250都是非易失的。此外,快速存储器230处于其节能省电状态时将消耗非常少的电能,在用户离开期间,非易失存储器250将不必被访问。还有,因为微处理器210是静态微处理器,所以它将消耗极少的电能,一旦其进入深度省电状态就保持这种状态。还有,不会丢失存储在电池后备的SRAM240内的读/写文件(包括游戏的可执行代码)。
然后,当此用户返回时,此游戏几乎能够立即从其被暂停的地方继续执行。这是因为,当用户离开时即使消耗非常小的能量,计算机系统200的状态也将被保持。
此外,如果用户想要升级DOS或Windows操作系统或者升级存储在快速主存储器230中的程序,由于其写快速存储器的能力,这将是容易做到的。写快速存储器所需的擦除和然后的编程操作将意味着与其中的主存储器为诸如DRAM的易失性存储器相比,这将花费更长的时间才能将程序存储到快速存储器230中。但是,无论如何,程序的安装不会频繁地执行并且通常是相当长时间的处理。因此,与系统200一启动,一个程序就能够从非易失性快速存储器230中立即执行的好处相比,安装此程序到非易失性快速存储器230中所需的额外时间是不重要的。
写快速主存储器230的能力还意味着用户能够安装一不同的程序来代替目前存储在快速主存储器230中的字处理程序(或者除了目前存储在快速主存储器230中的字处理程序外还能够安装一不同的程序)。因此,通过安装一个竞争的字处理程序到快速主存储器230中,用户能够切换到此竞争的字处理程序。另一方面,例如,用户能够安装一空白表格程序或图形设计程序到快速存储器230中以替代目前存储在其中的字处理程序。
并且,在此快速存储器230中提供了足够的空间,此用户能够在其中安装额外的应用程序。因此,例如,如果此用户有一目前最受欢迎的特定的计算机游戏,那么它就能被安装而驻留在此快速存储器230中。
注意,即使一程序不是可ROM化的,此程序也能被安装在快速存储器230中。如上所述,因为能够写快速存储器,所以,一快速文件系统允许标准应用程序在快速存储器230中执行。但是,当标准(即不能ROM化的)程序在快速主存储器中执行时,快速存储器的非对称性读/写将引起一需要承担的性能恶化。
但是,有一些方法能够用于减轻这些性能问题。一种方法是,当此应用程序正在执行时,操作系统将此应用程序的存储器地址空间标注为只读。然后,如果此应用程序试图写快速主存储器230,那么将引起一中断并且一错误处理程序使能够再对SRAM存储器240进行写入。接下来,当在处理过程中有一个间歇时,作为一后台操作,此信息能够从SRAM240写到快速存储器230中。在实行中,一部分SRAM240能够用作快速主存储器240的一个写高速缓存。
采用一部分SRAM240作为一个写高速缓存的一个好处是存储在快速存储器230中的应用程序不需要是可ROM化的。另一个好处是应用程序存储地址空间的写区域将可能相对好地定位。在这样的幸运情况下,任何对此写高速缓存的顺序读或写操作将得益于SRAM240的较快的访问。还有,由于被回写到应用程序存储空间的信息是短暂的这种情况(即从此应用程序的一次执行到下次执行不会节省)频繁地出现,因此,当此应用程序终止时任何在此写高速缓存中的短暂信息将不必回写到此快速存储器230。
从上述的例子中可以看到,与具有基于传统的易失性主存储器的结构的计算机系统相比,有许多有益的和协合的效果产生于具有计算机系统200的非易失性主存储器计算机系统结构。
第一,当首先加电时计算机200能够立即启动。因此,不需要花费时间和能源以加载操作系统和经常使用的诸如字处理器的应用程序到主存储器中,它们总是在主存储器中并且实际上是立即可使用的。
第二,不需要在慢非易失性存储器250中存储一操作系统(例如DOS和Windows)的拷贝或者经常使用的应用程序(例如字处理程序)。因此,如果需要遮蔽这些文件,慢非易失性存储器250就可以比所需的要小些。
第三,采用下面将更详细地描述的不同于异步(易失性)DRAM的技术,能够成串读快速存储器230。因此,与如果采用基于异步DRAM的主存储器相比,用于微处理器210的内部高速缓存215的一高速缓存存储界能够更快地根据快速存储器220进行填充。
第四,与易失性DRAM相比,SRAM240能够被更快地读写。因此,与如果采用基于DRAM的主存储器相比,用于微处理器210的内部高速缓存215的一高速缓存存储界能够更快地根据SRAM240进行填充。还有,与如果采用基于DRAM的存储器的情况相比,从SRAM240中执行的程序能够更快地被访问,因而能够更快地被执行。
第五,一部分SRAM240能够用于为快速存储器220提供一外部高速缓存,因而进一步增加了执行速度。
第六,一较低性能的微处理器能够用于提供在采用基于DRAM的主存储器的情况下相同水平的性能。这是因为,由需要加载操作系统和程序引起的基于易失性DRAM的主存储器的低带宽限制将被消除。而操作系统和程序被存储在非易失性快速主存储器230中。这还因为,与采用DRAM主存储系统的情况相比,在系统200中,在微处理器210的数据和程序指令需求与基于快速存储器230/SRMA240的主存储器供给它们的能力之间将具有更好的匹配。这将导致微处理器210的更少的空闲等待状态。经常地,微处理器210将能够操作在零等待状态。因此,即使由于微处理器210是一较低性能的微处理器而在其中只有较少的周期能够工作,但是,当此微处理器等待代码或数据时,可用于此微处理器的周期将浪费得较少。
第七,由于对于一给定的性能级别,微处理器210能够使用较低的时钟速率,因此,与如果一基于DRAM的主存储器需要采用较快的处理器相比,微处理器210将较便宜,并有较小的散热问题以及使用较小的功率。
第八,由于微处理器210和快速存储器230在其不需要时能够进入一深度省电(deep powerdown)模式,因而进一步节省能源。
因此,当其主要部分的主(执行)存储器为快速存储器时,一个非易失性读/写通用计算机体系能够用上述的结构来实现。
根据系统200的需求,档案存储(即慢的非易失性存储器250)可以或不必存在于此系统中。如果存在,系统200的需求能够管理用于提供它(即机械、光或固态)的技术。还有,根据系统200的特别需求,电池后备的SRAM240能够被非易失性RAM(NVRAM)、电可擦可编程ROM(EEPROM)、DRAM、SRAM、或者电池后备的SRAM替换。
系统200的上述每一配置的根本主题是,微处理器210的CPU根据需要从随机访问非易失性(快速)存储器230取出代码和/或数据并回写不同的数据和/或程序,如前面所述,这些新的信息可以写或不写到主存储器中的同样的地方。基于RAM的系统本来就易失性的。虽然基于ROM的主存储器系统是非易失性的,但是却不提供回写到此ROM的能力。
快速存储器不是象DRAM那样的对称技术,即,它不允许字节随读速度而发生变化。因此,在一个实施例中,为了修改一文件或程序,被改变的部分移到字节可变存储器(例如NVRAM、EEPROM、SRAM或DRAM)中,然后修改,并且然后回写到快速主存储器。此可变存储器可以是分离的存储器芯片和/或被集成到一CPU或微处理器上。没有被改变的数据由此CPU从快速存储器中直接读取。与一基于磁盘的系统相比,这种配置实质上消除了用于读和未改变的数据的磁盘下载,因而提供了较快的读性能。对于写,其回写在性能上与磁盘不相上下。由于其读周期较快,因而提供了较高的整个系统性能。
这些配置的每一个的关键是一快速存储器用作一主存储器并且其读速度约等于或超过DRAM的读取速度。有四个基本的方法可以实现它。第一种方法是提供一硬件控制器,此硬件控制器能够对多于一个的常规异步快速主存储器芯片交错读操作。
用于异步快速主存储器的多芯片交错
图3说明了一个快速存储器子系统,其中四个快速存储器集成电路320(#1至#4)在一控制单元的控制下交错以提供一成串读能力。虽然图3显示了四个快速集成电路320,但是,可以理解的是,如果每个集成电路320的数据宽度不是所示的双字,那么适当数量的快速集成电路320与此图中的每个电路320同时提供,从而提供一双字数据宽度。在这个例子中,所述控制器采用完全可编程门阵列(FPGA)310实现。在一替换的实施例中,采用交错技术提供其交错控制。
图4说明了用于诸如图3所示的快速存储器电路320的典型异步快速存储器的读周期。从图4中可以看到,此快速存储器的那些数据线(Dout)在一读周期的前后是三态的(在图中表示为OPEN)。这意味着那些数据线已被置为高阻态。
图4的读周期开始于输出使能(OE#)和芯片使能(CE#)信号的输出从低电平(VL)到高电平(VH)的跃变。然后,如果一写使能(WE#)信号还不是高电平,则其跃变到高电平以表示一读操作和被读的地址放在此快速芯片的地址引线(A0至A19)上。然后,存储在此特定地址中的数据从此快速阵列内部被取出。此读处理所需的时间数是一公知的常数。一旦此时间数已经过去,则此OE#信号变为低电平,并且从此特定地址读的数据被此快速芯片驱动而输出到所述的那些数据线上(Dout)。当所述CE#和OE#信号再变为高电平时,此读周期结束(或许开始下一个读周期)。
注意在图4中,直到前一个读周期已经结束为止,一个新的读地址不能指定。因此,单个标准的异步快速存储器单元不能交错以支持快的背对背(back to back)读周期。在下一个读周期能够开始之前,必须等待第一个读周期结束。
标准异步快速元件的总访问时间(TACC)能够分成两部分。第一,有一时间用于地址译码和芯片使能,选择此快速阵列中被读的那些适当的位并且然后读取它们存储的数据(TACC-TOE)。第二,需要有一时间以通过输出缓冲器驱动这些信息到数据总线上(TOE)。只要知道了用于数据成串读的单个地址,也就知道了那些数据成串读的地址的其余部分。因此,再参见图3,交错利用数据串的这种特性缓冲了跨越两个或更多快速芯片的第一访问时间(TACC-TOE)从而提供具有一改善的平均读访问时间的脉冲串。
考虑一个20MHz同步局部总线(即每个时钟周期约为50ns)的情况。在其速度上,一个典型的微处理器将有2-1-1-1脉冲串的最大成串读能力。这就意味着,当此微处理器读一串数据时,此串数据将由四个双字数据构成,它是相同高速缓存存储界的每一部分。此外,一旦此微处理器指定此数据串的第一地址在两个周期内(在本例中约为100ns)就将不能接收存储在此地址中的内容。然后,在接下来的三个时钟周期中,此微处理器将能够接收所述高速缓存存储界的第二、第三和第四地址的各自的内容。
如果每个快速存储器芯片320有一个小于2个时钟周期的(TACC-TOE)和一个小于40ns的(TOE),那么快速存储器子系统300将能够一与由此微处理器可达到的最大成串读能力相匹配的成串读。这是因为,FPGA310一接收被读数据串的第一地址,它就将启动所有的四个快速存储器芯片320并且命令每一个芯片320和其它的芯片320一起读此数据串的地址之一。在第一个两周期后,存储在此数据串的第一地址中的数据将可从快速存储器芯片320#1中得到。然后,在其后面的每个顺序的周期中,存储在此数据串的后面地址中的数据可(从快速芯片320#2、然后是#3、最后是#4)得到。
这意味着在本例中,快速存储器子系统300将能够在五个时钟周期期间(约250ns)提供四个双字数据的一数据读脉冲串,因而提供了约50ns的平均读时间。如果不采用交错(例如,如果仅使用一个快速存储器芯片320),那么用于每个地址的读时间将需要三个周期(即,两个周期用于(TACC-TOE),一个周期用于(TOE))。并且每个读操作将必须等待更早的读操作的完成。采用上面所述的数据,对于单个异步快速存储器320的数据“串”的每个地址将需要150ns。因此,如果不使用交错,那么可达到的最快的脉冲串速度将是需要600ns完成(4×150)的3-3-3-3脉冲串。
时钟信号CLK协调快速存储器子系统300的操作。在子系统300中,四个字节快速存储器页由存储空间AX-AO的公共地址A21-A2选择。较高位的地址(AX-A22)译码系统存储分配图中的4兆字节快速阵列。地址A1和A0和RD#(读)信号输入到FPGA310,使得FPGA310产生用于快速存储元件320(#1-#3)的输出启动信号。因此,在一个实施例中,快速子系统300的系统地址和快速存储器元件320的关系如下:
系统地址    元件  元件
地址
0            #1    0
1            #2    0
2            #3    0
3            #4    0
4            #1    1
5            #2    1
等等…
从存储器子系统300中访问的一个读数据串序列将如下进行:
首先,处理器将发信号表示要从系统地址0读数据。信号CE#将启动快速存储器320#1至#4并且信号ADDR将向它们提供地址0。FPGA310将译码系统地址位A1和A0,并且,由于它们都是零,因而将启动用于快速元件320#1的OE#信号。由于这是对四个字节页的第一次访问,因此此访问将需要150ns(即,三个50ns时钟周期)。
第二,执行顺序代码的处理器将从系统地址1读。元件320#1至#4将保持允许状态,而输入到它们中的地址(ADDR)将保持为零。然后,FPGA310将译码系统地址位A1和A0上的“01”,并且启动用于元件320#2的OE#线。由于用于元件320#2的数据已经被选择和读取,因此,用于元件320#2的访问时间将仅有50ns的时延(即,一个时钟周期)。
然后,同样的50ns访问将跟着分别用于系统地址2和3从元件#3和#4中读取。
如果下一个数据串从地址4开始,则此处理器将在下一个周期中从系统地址4读。这将使系统地址A2从零变到一,因而招致另一个用于对元件320#1的访问的整整150ns时延。因为这是一个新的4字节页,因此,从每个快速存储器320中读取新的数据。但是,再一次,后面的对系统地址5、6和7的每个访问将仅仅需要50ns。
FPGA310译码较低的地址,并且相应地,在一交错页内产生OE#信号到快速存储器器件320。先前的例子采用四字节页,所以译码地址A1和A0。对于一个两字节页,仅仅需要检测地址A0,而一个八字节页将采用地址A2至A0。
FPGA310将检测所有的较高地址位(在此例中即为AX至A22),为的是首先决定存储器子系统300是否将被访问,然后确定是否产生了对相同页的访问,并且相应地调节等待状态返回到处理器(通过READY信号输出)。此功能由图3中的比较逻辑子块340实现。
此外,FPGA310将区分对快速存储器320的读或写,并且相应地调节等待状态。图5说明了用于由FPGA逻辑310实现的硬件交错的状态变迁示意图。
状态变迁示意图500开始于初始状态500,在初始状态500中,FPGA正在等待对子系统300的一快速存储器320的访问。当FPGA检测到对子系统300的快速存储器320的一访问开始时,在状态520中产生一测试以确定是否象先前的访问一样是对相同的四字节页的访问,如果是象先前的访问一样对相同的四字节页的访问,那么,变迁524被引到状态530并且产生一测试以确定此访问是否为一读操作。
如果在状态530中确定此访问是一个读操作,那么,被读的信息已是可得到的,并且产生一变迁从路径534到达读状态560并执行读操作。在此读操作执行后,从读状态560产生一变迁而回到初始状态510并且等待下一次访问。
现在回到状态530,如果在状态530中确定此访问不是一个读操作,那么从路径532变迁到等待状态产生状态550,并且在执行一擦除(如果需要)和编程信息时执行适当数量的等待状态。
现在回到状态520,如果在状态520中确定此访问不是对象前面的访问一样的相同的四字节页的访问,那么,从路径522变迁到状态540并且锁存一新地址用于页比较。然后,在状态550,当访问新的四字节页的同时执行一适当数量的等待状态。
注意,此快速存储器的写操作不能象其读操作那样具有交错的优点,这是因为没有用于写操作的等同的TACC或TOE。虽然存储器子系统300支持背对背读脉冲串并且减小用于顺序访问的平均读访问时间,但是,它增加了用于访问常规异步快速存储器芯片所需的整个系统硬件的复杂性。
但是,如前所述,一个写高速缓存或软件交错技术能够用于使程序最大化和存储器子系统300的擦除性能。此外,在一可ROM化的程序从快速存储器子系统300中执行的情况下,在此程序的执行期间将没有任何到此快速存储器的写操作。在这样的情况下,快速存储器的较慢的写性能将仅仅在偶尔安装此程序的新的可ROM化版本时是一个因素。
用于快速主存储器的同步快速接口(SFI)
除了需要FPGA310的附加系统复杂性外,一个诸如子系统300的存储器子系统将必须至少有两个快速存储器芯片320以便在其间交错(在图3的例子中有四个)。此外,如果附加的快速存储器芯片被加到子系统300,它们也必须(至少)成对地加上去。而且,加到子系统300的每个快速存储器芯片同时启动,并且因此子系统300消耗大量的电能。另一方面,整个同步快速接口能够合并到单个快速存储器芯片上。
图6说明了一个同步快速接口(SF1)快速存储器集成电路600的方框图,此集成电路600含有在单个快速存储器芯片中的整个同步快速接口。此同步快速接口提供一种装置,此装置将从一控制器中出现的同步周期转换到此快速核心能够理解的异步协议。此器件从内部分成两个存储体并且其最低有效地址用于区分这两个存储体。简单地说,此器件在内部交错。用户能够管理用于所述交替存储体的背对背周期,并且,在初始时延等于一异步快速访问时间后,数据将以一约等于此异步快速访问时间的一半的速率输出到其输出总线上。因此,采用这种接口的所述器件建立了一个明显小于异步快速器件访问时间的用于顺序读访问的平均访问时间。
一时钟输入是所述接口的一部分,一地址锁存允许引线用于指示一有效地址提供在地址总线上。此器件的所有外部操作同步到此时钟的上升沿。ALE#信号在此时钟的上升沿被采样,并且,如果其被有效地采样,那么提供在地址总线上的地址就被锁存到此部分并且一访问开始。用户能够每时钟周期交替地选通地址至所述器件。在一个初始延迟后,与这些地址相对应的数据与此时钟的上升沿同步地输出到数据总线上。用户能够使此器件以高如33MHz的频率循环,并能够期待在其间没有任何等待地执行背对背脉冲串周期。还有,本设计的另一方面是可编程的等待时间,它使用户能够在地址选通和有效数据之间定义时钟周期等待时间。
在图6中,SFI600的快速阵列分成两个存储体,快速存储体A610和快速存储体B620。模式寄存器680能够设置成SFI允许模式和SFI禁止模式。因此,当模式寄存器680被设置时,信号交错允许信号(IE)启动交错控制逻辑和地址变迁检测(ATD)逻辑570、晶体管-晶体管逻辑(TTL)级672、存储体选择逻辑674和总线逻辑640。当SFI被允许时,交错控制670和存储体选择逻辑674操作以便在快速存储体A610和快速存储体B620之间以一种方法交错读(和写)操作,此种方法类似于图3的子存储器系统300中FPGA310交错访问快速芯片320的方法。因此,当模式寄存器680已经设置到SFI模式时,单个SFI快速芯片600能够支持背对背读脉冲串。
在SFI模式中,一被访问的地址在地址总线A19至A0上和一时钟脉冲(CLK)、一地址锁存允许信号(ALE#)一起提供给TTL级672。输出允许和写允许信号也提供给TTL级672。然后,地址A19至A1从TTL级672提供到存储体A地址锁存器630和存储体B地址锁存器632。信号CLK、ALE#和A0提供给交错控制逻辑和ATD逻辑670。
根据低位地址(A0),交错控制逻辑670分别采用信号地址锁存允许A(ALEA)和地址锁存允许B(ALEB)控制存储体A地址锁存器630和存储体B地址锁存器632。因此,交错控制逻辑670控制剩下的较高位的地址以访问快速存储体A510或快速存储体B520。信号地址变迁检测A(ATDA)和地址变址检测B(ATDB)从交错控制逻辑和地址变迁检测逻辑670中输出,以分别准备快速阵列存储体A610和B620被读取。
当存储体A610被读时,数据多路复用器(MUX)650从快速存储体A610的读放大器中接收输入信号S/AOUTA。当存储体B620被读时,数据多路复用器MUX650也从快速存储体B的读放大器中接收输入信号S/AOUTB。存储体选择逻辑674接入作为输入的信号CLK、ALE#和A0并提供输出信号存储体选择(BS)。信号BS用于控制数据MUX650,使得它交错对存储体A610和B620的数据读操作并且控制数据进入输出缓冲器660。然后输出缓冲器660驱动读出的数据到SFI快速芯片600的数据输入/输出(I/O)缓冲器690上。
因此,当SFI快速600处于SFI模式时如果执行一读访问,那么,在执行前面的访问的同时能够开始对下一个地址的访问。如果被读的下一个地址不属于当前正在被读的存储体,那么在前面的访问的输出正在被锁存到输出缓冲器660中和正在被驱动到数据I/O缓冲器690上的同时,下一个地址能够控制相应的存储体(A610或B620)。还有,本设计的另一方面是可编程的等待时间,它使用户能够在地址选择和在数据I/O缓冲器690中提供的有效数据之间定义时钟周期等待时间。
另一方面,多于两个的存储体能够用于SFI芯片600,比芯片600提供有用于选择适当存储体的适当数量的地址位。因此,如果四个存储体被交错,那么两个地址位将被用于在这些存储体中选择。
图7是一个时序图,说明了用于图6的SFI快速600的一个持续读脉冲串周期。在图7中,同步时钟信号CLK操作在33MHz,因此信号CLK的每个脉冲(T1至T8)长度为30ns。当被读的第一地址(ADDR0)送到地址引线上并且地址锁存启动信号ALE#变为低以表示被读的一有效地址已准备好时,读脉冲串开始于时钟脉冲T1的上升沿。注意,地址ADDR0的低位A0在时钟脉冲T1的上升沿为低。因此,地址ADDR0属于存储体A并且存储体A将被读以取出存储在地址ADDR0中的数据。
当被读的第二地址(ADDR1)送到地址引线上时,所述读脉冲串在时钟脉冲T2的上升沿继续进行。在一个实施例中,地址锁存启动信号ALE#变为高,然后变为低以表示被读的有效地址准备好。可替换的是,地址锁存启动信号ALE#简单地保持低以表示被读的另一个有效地址准备好。注意在时钟脉冲T2的上升沿,地址ADDR1的低位A0为高。因此,地址ADDR1属于存储体B并且存储体B将被读以取出存储在地址ADDR1中的数据,由于地址ADDR0和ADDR1属于不同的快速存储体,因此两个地址单元能够同时读取。
当被读的第三地址(ADDR2)送到地址引线上并且地址锁存启动信号ALE#保持低以表示被读的另一个有效地址已准备好时,所述读脉冲串在时钟脉冲T3的上升沿继续进行。注意在T3期间,从存储体A的ADDR0的读操作(开始于T1期间)结束。因此,在T3期间,存储体选择信号BS变为低以控制从ADDR0读取的数据送到所述输出缓冲器中被锁存。然后在脉冲T4开始时,ADDR0的数据被驱动输出到SFI芯片的数据I/O缓冲器中。
同时,由于地址ADDR2的低位A0在时钟脉冲73的上升沿为低,因此,地址ADDR2属于存储体A并且存储体A将被读以取出存储在地址ADDR2中的数据。存储体A的地址ADDR0的输出已经锁存到所述输出缓冲器中,所以可以开始读存储体A的ADDR2。此外,由于ADDR2和ADDR1属于不同的存储体。因而能够同时读取这两个地址单元。
当新地址在每个时钟周期被输入以及此地址的数据在两个脉冲后被输出时,这种成串读能够无限地继续下去(或者至少到SFI快速芯片600的地址空间耗尽为止)。
再参见图6,为了让SFI芯片600真正地和与其通信的高速同步总线匹配,总线逻辑块640接收并提供用于SFI600的总线专用信号。因此,例如,此特定的高速同步总线需要在每个写操作接收一奇偶校验位并且然后送回以作为一个信号交换。在一个实施例中,接口逻辑600将在写操作期间锁存和检测写入快速存储器600的所有位,并且在其写后的“信号交换”过程中提供这些奇偶校验数据。另一方面,通过在对快速存储器600的写尝试期间检测数据,接口逻辑640能够采用由所述高速同步总线使用的相同奇偶校验算法以产生用于所述写后的“信号交换”所需的奇偶校验信息。
此外,所述总线协议也可是这样,即当数据被读时所述奇偶校验位需要从SFI600发送。由于快速存储器不需要此奇偶校验位和数据一起存储。因此,当读数据时,总线逻辑640将采用由所述高速同步总线使用的相同奇偶校验算法以产生所需的奇偶校验位。这样,在快速存储器600的读操作期间,逻辑640将从快速存储器600的输出取得奇偶校验位以用于传送到所述高速同步总线。因此,通过在对快速存储器600的写尝试期间和对快速存储器600的读尝试期间检测数据,接口逻辑640将产生所需的奇偶校验信息。
当模式寄存器680没有设置到表示SFI模式时,交错控制670的同步存储体交错控制功能无效并且SFI快速芯片600将用作标准异步快速存储器芯片。在这样的情况下,象送到总线逻辑640的总线专门输入信号一样,所述的CLK和ALE#信号也将被忽略。而信号CE#和OE#被用于访问采用图4中所述类型的异步读信号的SFI快速600。
在一个实施例中,采用相联存储器实现模式寄存器680。另一方面,在另一个实施例中,没有模式寄存器680,芯片600的SFI功能不能被禁止,而且SFI芯片600将不能用作一标准异步快速存储器。
在一个实施例中,所述SFI快速存储器600的每个字/字节的读操作需要一个地址。而另一方面,一些数据串处理总线通过提供一开始地址,然后重复地发读信号而不提供附加的地址信息来开始多个读数据串访问。另一方面,为了适应这些处理器,SFI快速芯片600将锁存数据串的开始地址,并且将利用片内计数器来产生整个数据串读序列的顺序地址。在这样的情况下,SFI芯片600将包含一个全地址锁存器和一个与SFI快速存储器阵列600的可寻址空间匹配的多位计数器。在提供所述的开始地址后,此计数器逻辑将自动增量(根据此总线为线性或非线性序列)并且将地址送到所述SFI快速存储体。这就允许在最高系统性能中具有长度不确定的多个数据串访问。
图8说明了一个采用交错通用SFI芯片方法的计算机系统800。在图8中,SFI快速芯片860有一个通用同步快速存储器接口。粘合逻辑(Glue logic)830是一个位于微处理器810和SFI快速芯片860之间的分离的集成电路芯片,它用于提供SFI芯片860至高速同步总线820的对接所需的电路。
图8的方法的一个好处是在SFI快速芯片860中提供一通用接口870可以允许存储体A880和B890的成串读操作。因此,为了执行交错,不需要成对的异步快速芯片,而是能够以单个芯片为单位扩展快速主存储器子系统。同时,当与图3中的FPGA310比较时,由于粘合逻辑830不必包括需要用于任意SFI芯片860的通用同步接口控制逻辑870,因此SFI粘合逻辑830的设计更简单。
此外,由于总线专用控制逻辑850是在粘合逻辑830而不是在SFI芯片860中实现,因此,单个SFI芯片860能够用于与许多不同的同步总线对接。
此方法的另一附加的好处是,当与标准异步快速芯片比较时,SFI芯片860仅需要有两个附加针(即CLK和ALE#)。需要用于同步总线820的任意其它信号由粘合逻辑830以一种对SFI芯片860透明的方式提供。典型地,一快速芯片安装在诸如薄而小的外形封装(TSOP)的小型封装中,由于小的封装尺寸,一标准异步快速芯片将几乎采用了所述封装的所有可用的针。当提供一通用同步快速接口时,即使在将SFI快速芯片860安装到小型封装中所施加的限制下,所需的所述两个附加的针也是可得到的。
注意所述粘合逻辑830包括数据串逻辑840。这是因为,如前所述,不同的微处理器810采用不同的数据串定序序列。
一个通用序列是线性寻址序列。在此线性寻址序列中,一个数据串从其开始地址顺序增加。典型地,在这种序列中,所述数据串将在所述高速缓存存储界上从最低地址开始被读取并且将通过所述高速缓存存储界的地址而增加。
另外的数据串序列是非线性寻址序列。在这种序列中,此数据串读操作不必从一高速缓存存储界的最低地址开始,如果此数据串正从此高速缓存存储界的最低地址开始,那么此非线性寻址序列表现得与所述线性序列一样。另一方面,如果此数据串在此高速缓冲线的一地址而不是最低地址上开始,那么此数据串的其后地址将以一种方法产生,这种方法就是保证此高速缓存存储界的每个地址将被访问并且它们将以一种在奇和偶地址存储体之间交错的方法被访问。
数据串逻辑840取一个数据串的第一数据地址,并且根据微处理器810所需的无论什么样的寻址序列而产生此数据串的剩余地址。
注意,由于线性和非线性数据串序列都在奇和偶存储体之间交错,因此SFI芯片860将在存储体之间交错而与数据串逻辑840产生的序列(线性或非线性)无关。
用于快速主存储器的异步主存储器接口(AMMI)
同步快速接口(SFI)支持背对背数据串,因而允许快速存储器用作主存储器。但是,可能有这样的场合,其系统限制阻止了到高速同步总线的同步快速接口的使用。一种这样的情况是其中已经有一些元件耦合到所述高速同步总线上。在这样的一种情况中,SFI芯片(或者其粘合逻辑控制器芯片)的附加耦合将增加此高速同步总线的容性负载而到达其不能再支持所需性能级的地步。另一个这样的情况是其中的SFI芯片需要一个粘合逻辑控制器芯片和当系统设计禁止此芯片的附加费用时施加的费用限制。
此外,许多可携带的系统没有局部总线(即没有高速同步总线)。典型地,在这些系统中,CPU和外围设备控制器一起集成到一个微处理器芯片上。在这样的系统中,系统中只有一异步主存储器总线和一相对低的扩展总线可用。
与现存的一样的异步快速存储器必须在其系统内部通过一定制的控制器对接到所述扩展总线。此扩展总线上的总线周期一般较慢。因此,由于每个扩展周期一般长于一快速存储器的异步访问时间,因此,当与所述扩展总线对接时,此同步快速接口不能提供实际上的好处。
在任何计算机系统中,异步主存储器接口(AMMI)允许快速存储器对接到所述异步高快主存储器总线。实际上,此AMMI允许快速存储器芯片仿真异步DRAM芯片。除了提供低成本、低功率的快速主存储器外,通过允许非易失性快速存储器代替易失性DRAM用作主存储器,此AMMI还消除了将程序或数据从硬盘传送到DRAM的需的时间。因此,正如SFI的情况一样,当与易失性主存储器比较时,CPU能够直接在快速主存储器外执行程序而没有任何性能上的降低。
由于所述AMMI允许一快速芯片仿真DRAM芯片,此AMMI消除了对定制控制器的需求。这样就为一个系统中存在的DRAM控制器提供了一个非粘合接口并且因而减小了成本和局部总线的负载。
此AMMI改进了系统性能并且在可携带的计算机系统中提供了硬盘的代替物。在系统结构只有最小的改变的情况下,它还提供了快速存储外的较快的执行。而且,不需要任何附加外设逻辑就能增加系统的性能。
图9说明了具有一异步主存储器接口的快速存储器芯片的一个实施例的方框图。在图9所示的实施例中,快速芯片900能够象一标准异步快速存储器芯片一样操作或者能够仿真一DRAM。其所采用的特定的寻址模式由模式寄存器910是否已被设置来确定。因此,如果模式寄存器910已经设置成表示需要异步主存储器接口,那么AMMI快速芯片900将仿真一DRAM芯片。另一方面,如果模式寄存器910没有设置成表示需要异步主存储器接口,那么AMMI快速芯片将不仿真一DRAM芯片。在后一种情况中,AMMI芯片900的DRAM仿真电路将是无效的,并且AMMI快速芯片900将象一标准异步快速存储器芯片一样操作。在一个实施例中,模式寄存器910采用内容可寻址存储器实现。
图10说明了当一AMMI快速芯片900仿真-DRAM时的一个读周期。由于此AMMI快速芯片900正在仿真一DRAM芯片,因此图10也说明了一典型的DRAM芯片的一个读周期。
此异步主存储器接口提供了一种装置,此装置翻译DRAM周期并将这些周期转换成能够用于访问一快速存储器阵列的协议。为了减少一典型的DRAM器件的引线数,一个DRAM多路复用十位行地址和十位列地址,而不是象快速存储器那样采用单一的20位地址。通过提供在现有技术的异步快速器件中没有出现的两个附加引线来实现一DRAM的地址信号多路复用。
因此,在一个DRAM中,一个行地址选通(RAS#)引线和一个列地址选通(CAS#)引线分别用于控制行和列地址的选通和锁存。一般地,这些地址在选通脉冲的下降沿锁存并且用于访问所述DRAM阵列中的特定位。由于AMMI快速存储器芯片900能够仿真DRAM芯片,因此AMMI快速芯片900具有分别用于接收行和列地址选通信号的行和列地址引线。
有些DRAM器件采用不是十位的行和列地址。例如,一个DRAM器件的行和列地址可以仅需要八位。整个下面的讨论将采用十位行和列地址。但是,可以理解的是,采用其它大小的行和列地址也能实现AMMI快速900。
从图10中可以看到,一仿真DRAM的AMMI快速芯片900的读周期从RAS#和CAS#信号均为高以及多位数据输出信号(DOUT)为不定(三态)时开始。然后,十位行地址送到快速芯片900的地址引线A0至A9上,并且RAS#信号变为低以表示一有效地址已选通到所述的AMMI快速芯片中。(注意,在八位行地址的情况下,此八位行地址应送到快速芯片的地址引线A0至A7上)。
在行地址已被选择到AMMI快速芯片900中后,在一预定的时期内此RAS#信号继续保持低。在一个标准DRAM中,此RAS#在下一个读周期之前的读周期结束时保持高以便预充电。当然,由于快速存储器不是以DRAM的基于电容的存储技术为基础,因此,快速阵列不需要一DRAM所需的长预充电时间。另一方面,由于AMMI快速900正仿真DRAM,因此它必须象一DRAM一样起作用。
一旦所述行地址已经锁存在AMMI快速芯片900中,WRITE#信号从低到高的翻转就表示一读操作。然后,十位列地址在AMMI快速芯片900的地址引线A0至A9上被认定。接下来,CAS#信号被认定并且列地址被锁存在AMMI快速芯片900中。然后,十位行地址和十位列地址在AMMI快速芯片900中合并以形成一个二十位地址,此二十位地址用于指定在快速阵列中被读的存储单元。一旦被读,此二十位地址单元中的内容就被驱动到AMMI快速芯片900的数据引线上以作为多位信号数据输出(data out)(DOUT)。然后,在CAS#变为高后,此多位信号数据输出(DOUT)又变为三态。
同时,在行地址已经被选通到AMMI快速芯片900中并且RAS#已经为了产生行预充电而足够长时间地保持低后(如果一DRAM正在被访问),RAS#信号翻转回到高。在列地址已经被选通到AMMI快速芯片900中后,CAS#信号也翻转回到高。
再参见图9,存储在模式寄存器910中的模式值提供给控制逻辑920。控制逻辑920的一个输出是一个地址多路复用器选择(AMS)信号。信号AMS控制地址多路复用器(MUX)930。接下来,地址多路复用器930控制在AMMI快速900的地址引线A0至A9上认定的十位地址到地址锁存器940的适当部分中。
地址锁存器940分成高十位部分942和低十位部分944,用于分别存储快速地址950的十位高位和低位地址。被分离的地址950是一个用于寻址快速阵列960的二十位地址。控制逻辑920的另一个输出是一个多位地址锁存控制(ALC)信号,此信号控制在地址锁存器940的高部分942和低部分944中的地址锁存。
存储在模式控制器910中的模式值还提供给控制旁通多路复用器(MUX)955。当快速芯片900正操作为一个标准异步快速芯片时,到旁通多路复用器955的输入是来自地址锁存器940的被分离的地址950和在快速芯片900的地址引线A0至A19上认定的二十位外部快速地址。从旁通多路复用器900的输出是提供给快速阵列960的快速地址957。
因此,当AMMI快速芯片900正操作为一个标准异步快速芯片时,一个二十位快速地址将在快速芯片900的地址引线A0至A19上认定。来自模式寄存器910的信号915将设置旁通多路复用器955,以便控制在快速芯片900的地址引线A0至A19上认定的二十位快速地址作为快速地址957送到快速阵列960。
另一方面,当AMMI芯片900正在仿真一DRAM芯片时,快速芯片900的地址引线A0至A9将被多路复用。首先,十位行地址将放到快速芯片900的地址引线A0至A9上并且RAS#信号将指示此行地址已准备好被选通到此快速芯片中。然后,十位列地址放到快速芯片900的地址引线A0至A9上并且CAS#信号将指示此列地址已准备好被选通到此快速芯片中。
注意,在所述DRAM仿真模式中,没有地址信号将被放到此快速芯片的地址引线A10至A19上。因此,当所述行地址被选通到AMMI快速器件900中时,控制逻辑920将设置地址多路复用器920以控制在快速芯片的地址引线A0至A9上认定的十位行地址到地址锁存器940的低部分944中。然后,信号ALC将使在快速芯片900的地址引线A0至A9上认定的十位行地址被地址锁存器940的低部分944锁存。
然后,当CAS#信号指明所述列地址被选通到AMMI快速器件900中时,控制逻辑920将设置地址多路复用器920以控制在快速芯片的地址引线A0至A9上认定的十位列地址到地址锁存器940的高部分942中。然后,信号ALC将使在快速芯片的地址引线A0至A9上认定的十位列地址被地址锁存器940的高部分锁存。这样,十位行地址将在AMMI快速存储器900的内部与十位列地址合并,以便形成存储在锁存器940中的并且能够用于寻址快速阵列960的二十位被分离的快速地址950。来自模式寄存器910的信号915将设置旁通多路复用器955,以便控制存储在地址锁存器940中的所述二十位被分离的快速地址作为快速地址957送到快速阵列960。
不管AMMI芯片900是否操作为一标准快速芯片或正模拟一DRAM芯片,一旦整个二十位快速地址950已被提供到快速阵列960,存储在快速阵列960的地址950中的内容就被从快速阵列960中取出并且通过总线970送到数据锁存器980。来自控制逻辑920的数据锁存控制(DLC)信号控制数据锁存器980。在适当的时刻,数据锁存器980驱动已经从快速阵列960读出的数据到数据总线990(和AMMI快速900的数据引线)上。然后,在读周期结束时,控制逻辑920使数据锁存器980变为三态。诸如快速页模式等的其它DRAM读访问被同样地处理。
在一个替换实施例中,AMMI快速芯片900是一个专用的DRAM仿真器件并且不能用作标准快速芯片。在此替换实施例中,不需要快速芯片的模式寄存器910和地址引线A10至A19。此实施例启动到AMMI芯片900的一个较低针计数接口,并且此实施例对限制空间的设计情况特别有吸引力。
另外,控制逻辑920包含用于当快速芯片900仿真DRAM时,翻译此快速芯片900不需要的DRAM周期的逻辑。如上所述,与DRAM不同,快速存储器不需具备DRAM通常都需要的扩充预充电或各种刷新周期。图11说明了仿真一DRAM的AMMI快速芯片的一个典型的刷新周期。由于仿真DRAM的一AMMI快速芯片将象一DRAM芯片一样工作,因此,图11说明了一个典型的用于DRAM的刷新周期。
注意,图11的刷新周期象图10的读周期一样开始。因此,在此刷新周期开始时,列地址选通信号(CAS#)变为高,并且当行地址选通信号(RAS#)变为低时一个行地址送到AMMI快速芯片900的地址引线A0至A19上。
但是,与图10的读周期不同,在图11的刷新周期期间,在(被刷新行的)行地址已经选通到AMMI快速存储器芯片900中以后,没有列地址被选通到此快速芯片中。而RAS#信号在一足够长的时期内保持低,以便允许指定的行被刷新(如果一DRAM被刷新),并且在整个这个时期内CAS#信号保持高。在刷新周期期间,AMMI快速芯片900的数据引线保持不定态(三态)。
再参照图9,当在DRAM仿真模式中时,控制逻辑920将识别一刷新周期式样并且在整个刷新周期保持数据锁存器为三态。另外的标准刷新周期(例如CAS在RAS之前(CBR)刷新。自刷新和隐式刷新周期)在现有技术中是公知的,并且有相同的处理。照这样,就实现了从AMMI快速芯片900至DRAM控制器的一个非粘合接口。
另一方面,通过采用一DRAM控制器控制对AMMI快速芯片900的访问,在保持DRAM仿真的好处的同时消除了与DRAM仿真有关的某些效率低的东西,其中的DRAM控制器已经被修改,以便对如下情况补偿,即被控制的某些-如果不是全部-“DRAM”实际上作为仿真DRAM的AMMI快速芯片900。在这样的情况下,将保持AMMI快速芯片900的行和列地址的多路复用。但是,DRAM控制器将被修改,使得DRAM控制器将不强迫AMMI快速芯片900等待一个长的(和不需要的)行预充电期直到结束。此DRAM控制器将还被修改以消除AMMI快速存储器900的刷新周期。这种方法的DRAM控制器将不强迫AMMI快速芯片900在长的(和不需要的)刷新周期期间不被占用。因此,就一可编程DRAM控制器来说,此DRAM控制器能够被编程以产生最优化的访问AMMI快速芯片的DRAM控制信号。美国专利No.4,785,428描述了一个适当的可编程DRAM控制器的例子,其名称为Programmable MemoryArray Control Signals,作者为Bajwa等,公开于1988年11月15日。
即使当被控制的每种DRAM类型相互之间具有不同的时序周期,某些可编程DRAM控制器也允许由相同的控制器同时控制多于一种类型的控制器。这由提供多于一个的DRAM存储体以及允许此控制器具有用于每个存储体的被编程的不同访问周期时序来实现。然后将DRAM分组,使得在特定的存储体中的所有DRAM为同样的类型。
因此,在一个实施例中,一可编程控制器能够逐个存储体地编程,AMMI快速存储器900位于一个存储体内,而标准DRAM位于另一个存储体内。然后,此可编程DRAM控制器能够编程以便采用标准DRAM时序周期控制在所述DRAM存储体中的DRAM。此可编程控制器还能够编程以便控制正在以一种方法仿真DRAM的AMMI快速存储器900的存储体,其中的方法已经优化以满足AMMI快速存储器900的需求。
另一方面,不采用一可编程控制器,能够提供一种专用的不可编程DRAM控制器,此控制器已经为了对AMMI快速存储器900的访问而优化。此专用不可编程控制器能够专门控制AMMI快速存储器900,或者也能够控制一个或多个常规DRAM存储体。
在另外一个替换实施例中,已被设计对接到高速同步总线(即局部总线)的一个DRAM控制器能够用于控制对AMMI快速存储器900的访问。
仿真DRAM的一AMMI快速芯片900的编程以一种类似于写DRAM的方式执行。与一读操作的情况一样,控制逻辑920翻译快速芯片的控制针上的命令并且根据异步主存储器快速器件900所需的协议发送它们。
由于编程(和擦除)快速存储器需要比写DRAM更长的时间,因此,与那么较早提及的类似的方法能够用于将编程AMMI快速器件900所需时间的影响最小化。例如,不论何时需要写AMMI快速芯片900时,快速文件系统软件能够插入等待状态。通过采用AMMI快速器件900存储不频繁改变的数据和可ROM化的程序,并且通过将能够快速写的存储器技术补充到AMMI快速存储器900中,对AMMI快速存储器900的写的数量能够显著地减小。另一方面,可以提供一个写高速缓存以存储编程到AMMI快速芯片900中的信息。否则,AMMI快速存储器900的编程能够在空闲时期的情况下执行。
图12说明了采用一个或多个AMMI快速存储器芯片建立一与DRAM兼容的SIMM的方法。这种方法允许AMMI SIMM 1200包含一个直接插入准备用于DRAM的一个SIMM插座中的AMMI快速存储器芯片。因此,一标准DRAM控制器能够控制AMMI SIMM 1200。在不需要改变系统硬件的情况下,此AMMI SIMM使系统能够访问数据并且直接执行存储在快速存储器900中的代码,就好象这些代码存储在DRAM中。
图12说明了与单个AMMI快速芯片900在一起的一AMMISIMM 1200。在一替换实施例中AMMI SIMM 1200和两个或多个AMMI快速存储器芯片900在一起。
AMMI快速芯片900的一个优点是,如果在系统中有一个DRAM控制器,那么,对AMMI快速存储器芯片900的硬件接口将由于AMMI芯片仿真DRAM的能力而明显地简化。AMMI SIMM 1200还简化了快速主存储器增加到一计算机系统中。这是因为,AMMI SIMM 1200允许一DRAM控制器不仅对接到单独的快速存储器元件,而且对接到含有一个或多个AMMI快速器件900的工业标准SIMM。快速存储器兼容性所需的所有附加电路直接包含在AMMI SIMM 1200中。
当与相同密度的DRAM芯片比较时,AMMI快速存储器芯片900可以有几个额外的针。例如,AMMI快速芯片900可以有一个RY/BY#输出针,以便指示此芯片何时准备好被访问和何时由于忙而不能被访问(例如,当此快速阵列正在编程或当一快速块正在擦除时)。因此,在SIMM1200上的AMMI快速芯片900的RY/BY#输出针不是简单地连接(即“悬空”)。代替采用RY/BY#针以确定AMMI快速芯片900何时准备好或忙。系统软件采用在芯片900中的探询元件状态寄存器以确定此芯片的编程/擦除状态。
当在仿真DRAM时,AMMI快速芯片900将在行和列地址选通到芯片900中时,将其多路复用到地址引线A0至A9上。因此,当AMMI快速芯片900是AMMI SIMM 1100的一部分时,它将不使用地址引线A10至A19。这样,当AMMI快速芯片900和AMMI SIMM 1200在一起时,其地址引线A10至A19将不连接。
RAS#和CAS#都直接提供到AMMI快速芯片900。它们也和DRAMWRITE#信号一起提供到读/写逻辑1210。WRITE#信号表示一个读操作或一个写操作是否执行。AMMI SIMM 1200的逻辑1210将提供给AMMISIMM 1200的RAS#、CAS#和WRITE#信号翻译成用于AMMI快速芯片900的适当的同步输出允许(OE#)和写允许(WE#)信号。
虽然不是所有的快速存储器芯片都需要外部的编程电压(VPP),但是,在图12的实施例中,AMMI快速芯片900需要一外部VPP(例如12伏)。VPP不作为标准SIMM接口的一部分提供给SIMM。但是,系统操作电压VCC(例如3.3或5伏)却作为标准SIMM接口的一部分提供给SIMM。因此,在图12中的实施例中,作为AMMI SIMM 1200的一部分提供的VPP转换器1220获取系统操作电压VCC并将其转换到用于AMMI快速芯片900的VPP。适当的VPP电压转换器1220在现有技术中是公知的并已用于商业中。这些电压转换器1220一般起DC-DC转换器或电压泵的作用。
快速芯片900的WP#输入连接到快速存储器VCC输入。VCC也直接提供到AMMI芯片900。
最后,AMMI快速存储器900的PWD#输入耦合到SIMM内的编程电压监控器件1230,此监控器件1230诸如由Maxim IntegratedProducts,Sunnyvale,California制造的Maxin MAX 705。除非电源电压在容许的范围之内,VPP监控器电路1230将使AMMI快速存储器900保持在深度省电模式,因而防止AMMI快速存储器900的无意识的写或擦除操作。
这种方法允许含有AMMI快速存储器900的AMMI SIMM 1200采用不属于标准SIMM接口的一部分的VPP编程/擦除电压,并且还直接插入准备用于DRAM的插座中。当然,在一个替换的实施例中,其中AMMI快速存储器芯片900不需要所述外部电源VPP,AMMI SIMM 1200将不需要VPP转换器1200。VPP监控器1230将能用于监控VCC
对于一个实施例,其中的SIMM引出线允许附加产生特定的输入/输出信号,其中的一个信号能够在不编程或擦除时关断VPP。还有一个信号能够控制信号RP#以提供电源管理,并且控制信号WP#,使其控制块锁定或不锁定。
图13是一个方框图,说明了采用多个AMMI快速SIMM作为主存储器的一个计算机系统的主存储器的结构。在计算机系统1300中,微处理器1310包括单板DRAM控制器1330。DRAM控制器1330通过主存储器总线1320依次耦合到DRAM SIMM 1360和AMMI快速SIMM1350。DRAM SIMM 1360和AMMI快速SIMM 1350共同形成微处理器1310的主存储器的一部分。
当微处理器1310访问存储在DRAM SIMM 1360或AMMI快速SIMM1350中的代码或数据时,微处理器1310的DRAM控制器1330将一个访问请求送到主存储器总线1320上。此访问请求将根据主存储器总线1320的异步协议而送到DRAM SIMM 1360或AMMI快速SIMM 1350。由于AMMI快速SIMM 1350含有一个或多个正在仿真异步DRAM器件的AMMI快速器件。因此,DRAM控制器1330将能够采用DRAM访问协议(即通过选通行和列地址)而访问AMMI快速SIMM 1350。DRAM控制器1330将也为AMMI快速SIMM 1350产生DRAM刷新周期并提供预充电延迟,虽然在AMMI快速SIMM 1350中的快速器件不需要它们。
此外,在计算机系统1300中,微处理器1310通过高速同步局部总线1325耦合到DRAM控制器1335。DRAM控制器1335通过主存储器总线1345依次耦合到DRAM SIMM 1365和AMMI快速SIMM 1355。DRAMSIMM 1365和AMMI快速SIMM 1355共同形成微处理器1310的主存储器的一部分。
当微处理器1310访问存储在DRAM SIMM 1365和AMMI快速SIMM1355中的代码或数据时,微处理器1310将一个访问请求送到局部总线1325上。此访问请求将根据局部总线1325的同步协议而产生。然后,DRAM控制器1335将翻译此访问请求并采用主存储器总线1345的协议而将此访问请求送到DRAM SIMM 1365或AMMI快速SIMM 1355。由于AMMI快速SIMM 1355含有一个或多个正在仿真异步DRAM器件的AMMI快速器件,因此DRAM控制器1330将能够采用DRAM访问协议(即通过选通行和列地址)而访问AMMI快速SIMM 1355。DRAM控制器1335也将为AMMI快速SIMM 1350产生DRAM刷新周期并提供预充电延迟,虽然在AMMI快速SIMM 1355中的快速器件不需要它们。
第二高速缓存1375也耦合到局部总线1325。如果微处理器1310试图从DRAM SIMM 1360或1365或AMMI快速SIMM 1350或1355中访问数据或指令,而这些数据或指令在高速缓存1375中可获得,那么此访问将产生到高速缓存1375中而代替之。
注意,有一个计算机系统1300的替换实施例,其中计算机系统1300采用图13所述的主存储容量的一个子集。因此,在一个实施例中,微处理器1300将通过主存储器总线1300寻址其所有的主存储器。另一方面,微处理器1300将通过局部总线1325寻址其所有的主存储器。在这样的情况下,微处理器1310不需要包含单板DRAM控制器1330。
在另一个实施例中,在系统1300中没有第二高速缓存1375。此外,有一个替换实施例,其中由DRAM控制器1330或DRAM控制器1335控制的所有主存储器分别由AMMI快速SIMM 1350或1355构成。此外,在另一个实施例中,局部总线1325通过一个总线桥耦合到主存储器总线1320,而不是直接耦合到微处理器1310。
用于快速主存储器的同步主存储器接口(SMMI)
由于处理器已经变得越来越快,因此,异步DRAM已经变得越来越不能为满足处理器所支持的处理速度而以足够快的速度提供数据和指令。最近的一种解决方案是已经介绍的同步DRAM。同步DRAM采用一外部时钟信号而使在DRAM集成电路内部的交错同步,因而与异步的所能提供的相比,同步DRAM提供了较快的数据串访问。
图14是一个方框图,说明了能够仿真一同步DRAM集成电路芯片的快速存储器集成电路。在图14描述的实施例中,同步主存储器接口(SMMI)快速存储单元1400结合了(图6的)SFI快速600的内部快速存储体交错功能和(图9的)AMMI快速存储器900的行和列地址多路复用。
在图14描述的SMMI快速1400的实施例中,根据模式寄存器1480中的设置的判定,SMMI快速1400工作于四个模式的其中之一。在第一模式-异步快速模式中,快速存储器1400象标准快速存储器一样读操作。在此模式中,第一地址中的内容的读操作必须在能够确定被读的第二地址之前完成。
在第二模式-同步快速模式中,时钟信号CLK提供给SMMI快速芯片1400并且确定一系列属于一数据串的地址,每个时钟分段信号(clock tick)对应一个地址。然后,存储在用于数据串的指定地址中的内容在连续的时钟分段信号期间按照提供地址的顺序输出。另一方面,如果当其工作在同步模式时单个地址提供给SMMI快速芯片1400,那么此数据串的其后的地址将在SMMI快速芯片1400内部产生,并且,然后此数据串将作为输出从此快速芯片中提供。
在第三种模式-异步DRAM(动态随机访问存储器)模式中,SMMI快速存储器1400仿真异步DRAM。因此,采用行(RAS#)和列(CAS#)地址选通信号将行和列地址选通到快速芯片1400中。然后,SMMI快速存储器1400在内部将这些行和列地址转换成单个地址,并且提供存储在此单个地址中的数据作为输出。此外,虽然此SMMI快速存储器1400不需要一扩充的预充电期或刷新,但是,当在所述异步DRAM模式中时,所述快速存储器1400象一异步DRAM一样响应预充电期和刷新周期。因此,当在所述异步DRAM模式中时,SMMI快速存储器1440能够被标准DRAM控制器控制。
最后,在第四模式-同步DRAM模式中,合并第二和第三模式的性能而产生仿真同步DRAM的快速存储器。因此,通过采用RAS#和CAS#信号选通行和列地址到此快速存储器中而确定被读数据串的地址。然后,根据其后的时钟分段信号,此数据串的数据从快速存储器中作为输出顺序地提供。
在一个替换实施例中,SMMI快速1400仅仅有一个模式-同步DRAM仿真模式,或者有同步DRAM模式和仅仅一个或两个其它的模式。
在图14所描述的四个模式实施例中,模式寄存器1480有一个多位输出模式允许信号ME,此信号反映了SMMI快速1400的当前模式。信号ME提供给存储体选择逻辑1474、总线逻辑1440、TTL级1472、逻辑和ATD控制块1470。根据SMMI快速器件1400的当前模式,这些电路各不相同地控制SMMI快速1400的功能。
因此,当SMMI快速器件1400操作在同步快速模式时,总线逻辑1440将象图6中的总线逻辑640一样起作用,而在其它模式中总线逻辑1440将无效。注意,在一个替换实施例中,其中的SMMI快速器件1400象一通用同步快速器件一样操作,但逻辑1440将不是芯片1400的一部分,而是由片外提供。
当SMMI快速器件1400同步地操作时,在同步快速或同步DRAM仿真模式中,TTL级1472、存储体选择逻辑1474、逻辑和ATD电路1470将控制对快速存储体A1410和B1420的访问交错。在一个替换实施例中,当SMMI快速器件1400处于这些同步模式中时,交错将在SMMI快速器件1400内多于两个快速存储体之间执行。
同样地,当SMMI快速器件1400仿真DRAM时,在异步或同步DRAM仿真模式中,TTL级1472、存储体选择逻辑1474、逻辑和ATD电路1470将通过地址多路复用器1492、1494控制行和列地址的多路复用,并且控制输出缓冲器1460的三态。
一基于SMMI快速器件的同步SIMM能够采用上述技术和图12的AMMI SIMM 1200共同构成。这将通过将AMMI SIMM 1200和一个或多个SMMI快速器件1400(而不是AMMI快速器件900)放在一起,并且通过提供一时钟信号到每一个SMMI快速器件实现。
图15是一个方框图,说明了采用一些SMMI快速SIMM作主存储器的一计算机系统的主存储器结构。在计算机系统1500中,微处理器1510包括单板同步DRAM控制器1530。同步DRAM控制器1530通过同步主存储器总线1520依次耦合到同步DRAM SIMM 1560和SMMI快速SIMM 1550。同步DRAM SIMM 1560和SMMI快速SIMM 1550共同构成微处理器1510的主存储器的一部分。
当微处理器1510访问存储在同步DRAM SIMM 1560或SMMI快速SIMM 1550中的代码或数据时,微处理器1510的同步DRAM控制器1530将一个访问请求放到同步主存储器总线1520上。此访问请求将根据同步主存储器总线1520的同步协议而送到同步DRAM SIMM 1560或SMMI快速SIMM 1550。由于SMMI快速SIMM 1550含有一个或多个仿真同步DRAM器件的SMMI快速器件,因此,同步DRAM控制器1530将能够采用同步DRAM访问协议(即,通过选通行和列地址和提供一时钟信号)访问SMMI快速SIMM 1550。DRAM控制器1530也将为SMMI快速SIMM 1550产生DRAM刷新周期并提供预充电延迟,虽然在SMMI快速1550中的快速器件并不需要它们。
此外,在计算机系统1500中,微处理器1510通过高速同步局部总线1525耦合到同步DRAM控制器1535。同步DRAM控制器1535通过同步主存储器总线1545依次耦合到同步DRAM SIMM 1565和SMMI快速SIMM 1555。同步DRAM SIMM 1565和SMMI快速SIMM 1555共同形成微处理器1510的主存储器的一部分。
当微处理器1510访问存储在同步DRAM SIMM 1565或SMMI快速SIMM 1555中的代码或数据时,微处理器1510将一个访问请求送到局部总线1525上。此访问请求将根据局部总线1525的同步协议而产生。然后,同步DRAM控制器1535将翻译此访问请求并采用同步主存储器总线1545的同步协议而将此访问请求送到同步DRAM SIMM 1565或SMMI快速SIMM 1555。由于SMMI快速SIMM 1555含有一个或多个正在仿真同步DRAM器件的SMMI快速器件,因此,同步DRAM控制器1530将能够采用同步DRAM访问协议(即,通过选通行和列地址并且通过提供一时钟信号)而访问SMMI快速SIMM 1555。同步DRAM控制器1535也将为SMMI快速SIMM 1550产生同步DRAM刷新周期并提供预充电延迟,虽然在SMMI快速SIMM 1555中的快速器件并不需要它们。
第二高速缓存1575也耦合到局部总线1525。如果微处理器1510试图从同步DRAM SIMM 1560或1565或SMMI快速SIMM 1550或1555中访问数据或指令,而这些数据或指令在高速缓存1575中可获得,那么此访问将产生到高速缓存1575中而代替之。
注意,有一个计算机系统1500的替换实施例,其中计算机系统1500采用图15所述的主存储容量的一个子集。因此,在一个实施例中,微处理器1500将通过主存储器总线1520寻址其所有的主存储器。另一方面,微处理器1500将通过局部总线1525寻址其所有的主存储器。在这样的情况下,微处理器1500不需要包含单板同步DRAM控制器1530。
在另一个实施例中,在系统1500中没有第二高速缓存1575。此外,有一个替换实施例,其中由同步DRAM控制器1530或同步DRAM控制器1535控制的所有主存储器分别由SMMI快速SIMM 1550或1555构成。此外,在另一个实施例中,局部总线1525通过一总线桥耦合到主存储器总线1520,而不是直接耦合到微处理器1510。
在前面的说明书中,本发明已经参照具体的实施例进行了描述,但是,显而易见的是,在不脱离本发明的较宽的精神和范围的情况下,如后面所附加的权利要求所述,可以对本发明作出各种修改和变形。因此,本说明书和附图应理解为解释性的而不是一种限制。

Claims (12)

1.一种读出数据的方法,它包括以下步骤:
a)通过接收多个复用地址和含有第一选通信号及第二选通信号的控制信号,锁存选出的复用地址的第一部分,以及锁存选出的复用地址的第二部分来指定与一数据串对应的多个地址,其中第一和第二部分组成一个解复用地址;
b)根据所述地址从快速存储器读出数据;
c)提供与时钟信号同步的数据;和
d)以串读取模式重复a)到c)的步骤,使到存储在多个地址的数据在随后的时钟周期期间被依次提供。
2.根据权利要求1的方法,其特征在于第一选通信号是一行地址信号,其中锁存选出的复用地址的第一部分是根据行地址选通信号来进行的。
3.根据权利要求1的方法,其特征在于第二选通信号是一列地址信号,其中锁存选出的复用地址的第二部分是根据列地址选通信号来进行的。
4.根据权利要求1的方法,其特征在于还包括以下步骤:
e)如果控制信号指明一个再刷新周期,则提供一第三态输出。
5.根据权利要求4的方法,其特征在于一个第一和第二选通信号的序列指明一个再刷新周期。
6.根据权利要求1的方法,其特征在于还包括以下步骤:
e)如果控制信号指明一个预充电周期,则提供一第三态输出存储器。
7.一种读出数据的方法,它包括以下步骤:
a)通过接收多个复用地址和含有第一选通信号及第二选通信号的控制信号,锁存选出的复用开始地址的第一部分,以及锁存选出的复用开始地址的第二部分来指定与一数据串对应的多个地址中的一个开始地址,其中第一和第二部分组成一个解复用地址;
b)根据所述地址从快速存储器读出数据;
c)提供与时钟信号同步的数据;和
d)产生一个串读取地址作为所述的开始地址;和
e)以串读取模式重复a)到c)的步骤,使到存储在多个地址的数据在随后的时钟周期期间从所述的开始地址被依次提供。
8.根据权利要求7的方法,其特征在于第一选通信号是一行地址信号,其中锁存选出的复周开始地址的第一部分是根据行地址选通信号来进行的。
9.根据权利要求7的方法,其特征在于第二选通信号是一列地址信号,其中锁存选出的复用开始地址的第二部分是根据列地址选通信号来进行的。
10.根据权利要求7的方法,其特征在于还包括以下步骤:
f)如果控制信号指明一个再刷新周期,则提供一第三态输出。
11.根据权利要求7的方法,其特征在于一个第一和第二选通信号的序列指明一个再刷新周期。
12.根据权利要求7的方法,其特征在于还包括以下步骤:
f)如果控制信号指明一个预充电周期,则提供一第三态输出存储器。
CNB021605157A 1994-06-03 2002-12-25 从基于快速存储器的主存储器中读出数据的方法 Expired - Lifetime CN1228715C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/253,499 US5696917A (en) 1994-06-03 1994-06-03 Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US253499 1994-06-03

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN95193421A Division CN1102772C (zh) 1994-06-03 1995-06-01 基于快速存储器的主存储器

Publications (2)

Publication Number Publication Date
CN1430151A CN1430151A (zh) 2003-07-16
CN1228715C true CN1228715C (zh) 2005-11-23

Family

ID=22960536

Family Applications (2)

Application Number Title Priority Date Filing Date
CN95193421A Expired - Lifetime CN1102772C (zh) 1994-06-03 1995-06-01 基于快速存储器的主存储器
CNB021605157A Expired - Lifetime CN1228715C (zh) 1994-06-03 2002-12-25 从基于快速存储器的主存储器中读出数据的方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN95193421A Expired - Lifetime CN1102772C (zh) 1994-06-03 1995-06-01 基于快速存储器的主存储器

Country Status (7)

Country Link
US (4) US5696917A (zh)
EP (1) EP0765498A4 (zh)
KR (1) KR100281432B1 (zh)
CN (2) CN1102772C (zh)
AU (1) AU2765895A (zh)
BR (1) BR9507911A (zh)
WO (1) WO1995034030A2 (zh)

Families Citing this family (435)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW261687B (zh) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
KR970008188B1 (ko) 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5526320A (en) * 1994-12-23 1996-06-11 Micron Technology Inc. Burst EDO memory device
US6801979B1 (en) * 1995-07-31 2004-10-05 Lexar Media, Inc. Method and apparatus for memory control circuit
DE19539746A1 (de) * 1995-10-26 1997-04-30 Sel Alcatel Ag Rechner
US5835970A (en) * 1995-12-21 1998-11-10 Cypress Semiconductor Corp. Burst address generator having two modes of operation employing a linear/nonlinear counter using decoded addresses
US6209071B1 (en) * 1996-05-07 2001-03-27 Rambus Inc. Asynchronous request/synchronous data dynamic random access memory
JP3761635B2 (ja) * 1996-07-12 2006-03-29 株式会社ダックス メモリボード、メモリアクセス方法及びメモリアクセス装置
US6047361A (en) * 1996-08-21 2000-04-04 International Business Machines Corporation Memory control device, with a common synchronous interface coupled thereto, for accessing asynchronous memory devices and different synchronous devices
US5901298A (en) * 1996-10-07 1999-05-04 Intel Corporation Method for utilizing a single multiplex address bus between DRAM, SRAM and ROM
KR100229897B1 (ko) * 1997-01-10 1999-11-15 윤종용 직접 메모리 억세스 전송방법에 따른 타이밍 모드선택장치
US6067593A (en) * 1997-07-18 2000-05-23 Avido Systems, Inc. Universal memory bus and card
US6021478A (en) * 1997-06-30 2000-02-01 Ford Motor Company Method for operating a microprocessor and a burst memory using a chip enable and an output enable signal
US6108745A (en) * 1997-10-31 2000-08-22 Hewlett-Packard Company Fast and compact address bit routing scheme that supports various DRAM bank sizes and multiple interleaving schemes
JPH11143718A (ja) * 1997-11-05 1999-05-28 Nec Corp Bios格納並びに制御方法
US6266751B1 (en) * 1997-11-14 2001-07-24 Agere Systems Guardin Corp. Continuously sliding window method and apparatus for sharing single-ported memory banks between two agents
US6175893B1 (en) * 1998-04-24 2001-01-16 Western Digital Corporation High bandwidth code/data access using slow memory
US6073206A (en) 1998-04-30 2000-06-06 Compaq Computer Corporation Method for flashing ESCD and variables into a ROM
JP4060442B2 (ja) * 1998-05-28 2008-03-12 富士通株式会社 メモリデバイス
US6313845B1 (en) * 1998-06-30 2001-11-06 3Dlabs Inc. Ltd. Method and apparatus for transporting information to a graphic accelerator card
KR100285063B1 (ko) * 1998-08-13 2001-03-15 윤종용 동기형 램 장치와 시스템 버스를 공유하는 동기형 플래시 메모리 장치의 소거 및 쓰기 방법
JP2000181796A (ja) * 1998-12-14 2000-06-30 Nec Corp 情報処理装置
US6262596B1 (en) * 1999-04-05 2001-07-17 Xilinx, Inc. Configuration bus interface circuit for FPGAS
US6255848B1 (en) * 1999-04-05 2001-07-03 Xilinx, Inc. Method and structure for reading, modifying and writing selected configuration memory cells of an FPGA
DE60012081T2 (de) * 1999-05-11 2004-11-18 Fujitsu Ltd., Kawasaki Nichtflüchtige Halbleiterspeicheranordnung, die eine Datenleseoperation während einer Datenschreib/lösch-Operation erlaubt
US6671769B1 (en) * 1999-07-01 2003-12-30 Micron Technology, Inc. Flash memory with fast boot block access
US6505259B1 (en) * 1999-08-27 2003-01-07 Intel Corporation Reordering of burst data transfers across a host bridge
US6327175B1 (en) * 1999-09-13 2001-12-04 Cypress Semiconductor Corporation Method and apparatus for controlling a memory array with a programmable register
US6425062B1 (en) * 1999-09-14 2002-07-23 Intel Corporation Controlling burst sequence in synchronous memories
US7098899B1 (en) * 1999-09-21 2006-08-29 Intel Corporation Dual form low power, instant on and high performance, non-instant on computing device
US6931474B1 (en) 1999-09-23 2005-08-16 Intel Corporation Dual-function computing system having instant-on mode of operation
US6550028B1 (en) * 1999-10-19 2003-04-15 Advanced Micro Devices, Inc. Array VT mode implementation for a simultaneous operation flash memory device
CN1088218C (zh) * 1999-11-14 2002-07-24 邓国顺 用于数据处理系统的快闪电子式外存储方法及其装置
EP1103978B1 (en) * 1999-11-25 2009-01-28 STMicroelectronics S.r.l. Non-volatile memory device with burst mode reading and corresponding reading method
DE69940473D1 (de) * 1999-11-25 2009-04-09 St Microelectronics Srl Leseverfahren für nichtflüchtige Speicheranordnung mit automatischer Erkennung eines Burstlesebetriebs sowie entsprechende Leseschaltung
EP1122735B1 (en) 2000-01-31 2010-09-01 STMicroelectronics Srl Interleaved data path and output management architecture for an interleaved memory and load pulser circuit for outputting the read data
US6452864B1 (en) 2000-01-31 2002-09-17 Stmicroelectonics S.R.L. Interleaved memory device for sequential access synchronous reading with simplified address counters
EP1122733A1 (en) 2000-01-31 2001-08-08 STMicroelectronics S.r.l. Internal regeneration of the address latch enable (ALE) signal of a protocol of management of a burst interleaved memory and relative circuit
EP1122887A1 (en) 2000-01-31 2001-08-08 STMicroelectronics S.r.l. Pre-charging circuit of an output buffer
EP1122739A3 (en) 2000-01-31 2003-12-17 STMicroelectronics S.r.l. Accelerated carry generation.
US6624679B2 (en) 2000-01-31 2003-09-23 Stmicroelectronics S.R.L. Stabilized delay circuit
DE60019081D1 (de) * 2000-01-31 2005-05-04 St Microelectronics Srl Verschachtelter Burst-Speicher mit Burst-Zugriff bei synchronen Lesezyklen, wobei die beiden untergeordneten Speicherfelder unabhängig lesbar sind mit wahlfreiem Zugriff während asynchroner Lesezyklen
EP1122736B1 (en) * 2000-01-31 2009-10-28 STMicroelectronics S.r.l. ATD generation in a synchronous memory
EP1122737A1 (en) 2000-01-31 2001-08-08 STMicroelectronics S.r.l. Circuit for managing the transfer of data streams from a plurality of sources within a system
EP1130601B1 (en) * 2000-02-29 2005-01-26 STMicroelectronics S.r.l. Column decoder circuit for page reading of a semiconductor memory
EP1130517B1 (en) 2000-03-02 2004-05-26 STMicroelectronics S.r.l. Redundancy architecture for an interleaved memory
EP1269473B1 (en) * 2000-03-30 2014-06-11 Round Rock Research, LLC Synchronous flash memory with non-volatile mode register
US6654847B1 (en) 2000-06-30 2003-11-25 Micron Technology, Inc. Top/bottom symmetrical protection scheme for flash
US6785764B1 (en) 2000-05-11 2004-08-31 Micron Technology, Inc. Synchronous flash memory with non-volatile mode register
AU2001249686A1 (en) * 2000-03-30 2001-10-15 Micron Technology, Inc. Interface command architecture for synchronous flash memory
US6728161B1 (en) * 2000-06-30 2004-04-27 Micron Technology, Inc. Zero latency-zero bus turnaround synchronous flash memory
US6851026B1 (en) * 2000-07-28 2005-02-01 Micron Technology, Inc. Synchronous flash memory with concurrent write and read operation
EP1269476B1 (en) * 2000-03-30 2009-09-02 Micron Technology, Inc. Synchronous flash memory
JP4524439B2 (ja) * 2000-03-30 2010-08-18 ラウンド ロック リサーチ、エルエルシー ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ
US7073014B1 (en) * 2000-07-28 2006-07-04 Micron Technology, Inc. Synchronous non-volatile memory system
US6314049B1 (en) * 2000-03-30 2001-11-06 Micron Technology, Inc. Elimination of precharge operation in synchronous flash memory
US6615307B1 (en) * 2000-05-10 2003-09-02 Micron Technology, Inc. Flash with consistent latency for read operations
DE60142959D1 (de) * 2000-03-30 2010-10-14 Round Rock Res Llc Sektoren eines synchronen flash-speichers
US6715091B1 (en) * 2000-04-10 2004-03-30 Intel Corporation System for rearranging plurality of memory storage elements in a computer process to different configuration upon entry into a low power mode of operation
EP1148508A1 (en) * 2000-04-10 2001-10-24 STMicroelectronics S.r.l. Synchronization circuit for read paths of an electronic memory
DE10024880C1 (de) 2000-05-19 2001-09-06 Daimler Chrysler Ag Aktiv belüftbares Sitzmodul für einen Fahrzeugsitz
US6621761B2 (en) * 2000-05-31 2003-09-16 Advanced Micro Devices, Inc. Burst architecture for a flash memory
US6304497B1 (en) 2000-06-30 2001-10-16 Micron Technology, Inc. Synchronous memory status register
US6278654B1 (en) 2000-06-30 2001-08-21 Micron Technology, Inc. Active terminate command in synchronous flash memory
US6442076B1 (en) 2000-06-30 2002-08-27 Micron Technology, Inc. Flash memory with multiple status reading capability
US6675255B1 (en) 2000-06-30 2004-01-06 Micron Technology, Inc. Device initialize command for a synchronous memory
US6697907B1 (en) 2000-06-30 2004-02-24 Micron Technology, Inc. Hardware initialization of a synchronous memory
US20050135180A1 (en) * 2000-06-30 2005-06-23 Micron Technology, Inc. Interface command architecture for synchronous flash memory
US6785765B1 (en) * 2000-06-30 2004-08-31 Micron Technology, Inc. Status register to improve initialization of a synchronous memory
US6728798B1 (en) * 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
US6396728B1 (en) 2000-07-28 2002-05-28 Micron Technology, Inc. Array organization for high-performance memory devices
US6307779B1 (en) 2000-07-28 2001-10-23 Micron Technology, Inc. Method and circuitry for bank tracking in write command sequence
US6246626B1 (en) 2000-07-28 2001-06-12 Micron Technology, Inc. Protection after brown out in a synchronous memory
US6883044B1 (en) * 2000-07-28 2005-04-19 Micron Technology, Inc. Synchronous flash memory with simultaneous access to one or more banks
US6366524B1 (en) 2000-07-28 2002-04-02 Micron Technology Inc. Address decoding in multiple-bank memory architectures
US6445603B1 (en) 2000-08-21 2002-09-03 Micron Technology, Inc. Architecture, package orientation and assembly of memory devices
US6496425B1 (en) 2000-08-21 2002-12-17 Micron Technology, Inc Multiple bit line column redundancy
US6275446B1 (en) 2000-08-25 2001-08-14 Micron Technology, Inc. Clock generation circuits and methods
US6507525B1 (en) 2000-08-25 2003-01-14 Micron Technology, Inc. Differential sensing in a memory
US6877100B1 (en) * 2000-08-25 2005-04-05 Micron Technology, Inc. Adjustable timing circuit of an integrated circuit by selecting and moving clock edges based on a signal propagation time stored in a programmable non-volatile fuse circuit
US6504768B1 (en) 2000-08-25 2003-01-07 Micron Technology, Inc. Redundancy selection in memory devices with concurrent read and write
US6359821B1 (en) 2000-08-25 2002-03-19 Micron Technology, Inc. Differential sensing in a memory with reference current
US6310809B1 (en) 2000-08-25 2001-10-30 Micron Technology, Inc. Adjustable pre-charge in a memory
US6445625B1 (en) 2000-08-25 2002-09-03 Micron Technology, Inc. Memory device redundancy selection having test inputs
US6541849B1 (en) * 2000-08-25 2003-04-01 Micron Technology, Inc. Memory device power distribution
US6304488B1 (en) 2000-08-25 2001-10-16 Micron Technology, Inc. Current limiting negative switch circuit
US6327202B1 (en) 2000-08-25 2001-12-04 Micron Technology, Inc. Bit line pre-charge in a memory
US6711701B1 (en) * 2000-08-25 2004-03-23 Micron Technology, Inc. Write and erase protection in a synchronous memory
US6691204B1 (en) * 2000-08-25 2004-02-10 Micron Technology, Inc. Burst write in a non-volatile memory device
US6580659B1 (en) 2000-08-25 2003-06-17 Micron Technology, Inc. Burst read addressing in a non-volatile memory device
US6496434B1 (en) 2000-08-25 2002-12-17 Micron Technology Inc. Differential sensing in a memory using two cycle pre-charge
US7152133B2 (en) * 2000-08-30 2006-12-19 Dearborn Group, Inc. Expanded functionality protocol adapter for in-vehicle networks
US6307790B1 (en) 2000-08-30 2001-10-23 Micron Technology, Inc. Read compression in a memory
US6410968B1 (en) * 2000-08-31 2002-06-25 Micron Technology, Inc. Semiconductor device with barrier layer
US6304510B1 (en) 2000-08-31 2001-10-16 Micron Technology, Inc. Memory device address decoding
JP4223667B2 (ja) * 2000-09-18 2009-02-12 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置
US6704835B1 (en) * 2000-09-26 2004-03-09 Intel Corporation Posted write-through cache for flash memory
DE10052210B4 (de) * 2000-10-20 2004-12-23 Infineon Technologies Ag Integrierte Schaltung mit einer synchronen und asynchronen Schaltung sowie Verfahren zum Betrieb einer solchen integrierten Schaltung
US6774426B2 (en) 2000-12-19 2004-08-10 Micron Technology, Inc. Flash cell with trench source-line connection
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US6862651B2 (en) * 2000-12-20 2005-03-01 Microsoft Corporation Automotive computing devices with emergency power shut down capabilities
US6801994B2 (en) 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
US6449193B1 (en) * 2000-12-28 2002-09-10 Texas Instruments Incorporated Burst access memory system
TW539950B (en) * 2000-12-28 2003-07-01 Sony Corp Data recording device and data write method for flash memory
US6766413B2 (en) 2001-03-01 2004-07-20 Stratus Technologies Bermuda Ltd. Systems and methods for caching with file-level granularity
US6874102B2 (en) * 2001-03-05 2005-03-29 Stratus Technologies Bermuda Ltd. Coordinated recalibration of high bandwidth memories in a multiprocessor computer
US6564286B2 (en) * 2001-03-07 2003-05-13 Sony Corporation Non-volatile memory system for instant-on
US6549467B2 (en) 2001-03-09 2003-04-15 Micron Technology, Inc. Non-volatile memory device with erase address register
US6452836B1 (en) 2001-03-09 2002-09-17 Micron Technology, Inc. Non-volatile memory device with erase cycle register
US6400611B1 (en) * 2001-03-23 2002-06-04 Atmel Corporation Independent asynchronous boot block for synchronous non-volatile memory devices
US6782435B2 (en) 2001-03-26 2004-08-24 Intel Corporation Device for spatially and temporally reordering for data between a processor, memory and peripherals
US6490202B2 (en) 2001-04-06 2002-12-03 Micron Technology, Inc. Non-volatile memory device with erase register
US6865702B2 (en) * 2001-04-09 2005-03-08 Micron Technology, Inc. Synchronous flash memory with test code input
KR100832222B1 (ko) * 2001-06-09 2008-05-23 자프 아게 메인 메모리 데이터베이스 시스템의 색인 구조를 위한캐쉬에 최적화된 동시성 제어방법
JP4049297B2 (ja) * 2001-06-11 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
US7386653B2 (en) * 2001-08-06 2008-06-10 Sandisk Il Ltd Flash memory arrangement
TW539946B (en) * 2001-08-07 2003-07-01 Solid State System Company Ltd Window-based flash memory storage system, and the management method and the access method thereof
JP3932166B2 (ja) * 2001-08-07 2007-06-20 シャープ株式会社 同期型半導体記憶装置モジュールおよびその制御方法、情報機器
US6625081B2 (en) 2001-08-13 2003-09-23 Micron Technology, Inc. Synchronous flash memory with virtual segment architecture
EP1421588B1 (en) * 2001-08-29 2012-01-18 MediaTek Inc. Method and apparatus utilizing flash burst mode to improve processor performance
US6741497B2 (en) * 2001-08-30 2004-05-25 Micron Technology, Inc. Flash memory with RDRAM interface
US6560161B1 (en) * 2001-08-30 2003-05-06 Micron Technology, Inc. Synchronous flash memory command sequence
GB0123416D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
US6760881B2 (en) 2001-10-16 2004-07-06 International Business Machines Corporation Method for combining refresh operation with parity validation in a DRAM-based content addressable memory (CAM)
US6870770B2 (en) * 2001-12-12 2005-03-22 Micron Technology, Inc. Method and architecture to calibrate read operations in synchronous flash memory
US6678205B2 (en) 2001-12-26 2004-01-13 Micron Technology, Inc. Multi-mode synchronous memory device and method of operating and testing same
US6772276B2 (en) * 2002-01-04 2004-08-03 Intel Corporation Flash memory command abstraction
JP4061272B2 (ja) * 2002-01-09 2008-03-12 株式会社ルネサステクノロジ メモリシステム及びメモリカード
JP2003223792A (ja) * 2002-01-25 2003-08-08 Hitachi Ltd 不揮発性メモリ及びメモリカード
US6721227B2 (en) 2002-02-11 2004-04-13 Micron Technology, Inc. User selectable banks for DRAM
US6799257B2 (en) 2002-02-21 2004-09-28 Intel Corporation Method and apparatus to control memory accesses
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7010662B2 (en) * 2002-02-27 2006-03-07 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US7085879B2 (en) * 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
US6690606B2 (en) * 2002-03-19 2004-02-10 Micron Technology, Inc. Asynchronous interface circuit and method for a pseudo-static memory device
US20040078558A1 (en) * 2002-03-25 2004-04-22 Sprangle Eric A. Method and apparatus to process instructions in a processor
US7003684B2 (en) * 2002-03-27 2006-02-21 Via Technologies, Inc. Memory control chip, control method and control circuit
US6799256B2 (en) * 2002-04-12 2004-09-28 Advanced Micro Devices, Inc. System and method for multi-bit flash reads using dual dynamic references
DE60336461D1 (de) * 2002-04-30 2011-05-05 Dsp Group Switzerland Ag Lüchtigen speicher in einer integrierten schaltung und integrierte schaltung hierfür
US6833575B2 (en) * 2002-08-29 2004-12-21 Micron Technology, Inc. Dopant barrier for doped glass in memory devices
US20040054846A1 (en) * 2002-09-16 2004-03-18 Wen-Tsung Liu Backup device with flash memory drive embedded
US7146469B2 (en) * 2002-10-24 2006-12-05 Sony Corporation Method, apparatus, and system for improving memory access speed
US7093101B2 (en) * 2002-11-21 2006-08-15 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
CN1324482C (zh) * 2003-01-31 2007-07-04 鑫创科技股份有限公司 窗口基底闪存储存系统的存取方法
US6920524B2 (en) 2003-02-03 2005-07-19 Micron Technology, Inc. Detection circuit for mixed asynchronous and synchronous memory operation
US7127564B2 (en) * 2003-02-28 2006-10-24 Standard Microsystems Corporation Double buffered flash programming
US20040243284A1 (en) * 2003-05-28 2004-12-02 Caterpillar Inc. Methods and systems for modifying flash files
ITMI20031126A1 (it) * 2003-06-05 2004-12-06 St Microelectronics Srl Dispositivo di memoria di massa basato su una memoria
CA2479868A1 (en) * 2003-09-02 2005-03-02 Ronald E. Brick Light fixture
US7225318B2 (en) * 2003-10-08 2007-05-29 Intel Corporation Dynamic prefetch in continuous burst read operation
JP4114749B2 (ja) * 2003-11-07 2008-07-09 ローム株式会社 メモリ制御装置および電子装置
KR100564598B1 (ko) * 2003-12-22 2006-03-29 삼성전자주식회사 동기식 플래쉬 메모리장치 및 이를 동작시키는 방법
DE10361059A1 (de) * 2003-12-22 2005-07-28 Micronas Gmbh Verfahren und Vorrichtung zum Steuern eines Speicherzugriffs
US7081897B2 (en) * 2003-12-24 2006-07-25 Intel Corporation Unified memory organization for power savings
KR100598097B1 (ko) * 2003-12-29 2006-07-07 삼성전자주식회사 듀얼 칩 패키지
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
US7532537B2 (en) 2004-03-05 2009-05-12 Netlist, Inc. Memory module with a circuit providing load isolation and memory domain translation
US7289386B2 (en) 2004-03-05 2007-10-30 Netlist, Inc. Memory module decoder
US7916574B1 (en) 2004-03-05 2011-03-29 Netlist, Inc. Circuit providing load isolation and memory domain translation for memory module
US7095247B1 (en) * 2004-03-25 2006-08-22 Lattice Semiconductor Corporation Configuring FPGAs and the like using one or more serial memory devices
KR100620645B1 (ko) * 2004-04-13 2006-09-13 주식회사 하이닉스반도체 동기 및 비동기 병용 모드 레지스터 세트를 포함하는psram
US7975094B2 (en) * 2004-04-15 2011-07-05 Marvell International Technology Ltd. Programmable I/O interface
US20050232034A1 (en) * 2004-04-19 2005-10-20 Tatung Co., Ltd. Auxiliary device for operating M-DOC series flash memory and non-X86 system processor in synchronism
US8224649B2 (en) * 2004-06-02 2012-07-17 International Business Machines Corporation Method and apparatus for remote command, control and diagnostics of systems using conversational or audio interface
US8010734B2 (en) * 2004-06-04 2011-08-30 Broadcom Corporation Method and system for reading instructions from NAND flash memory and writing them into SRAM for execution by a processing device
US7151709B2 (en) * 2004-08-16 2006-12-19 Micron Technology, Inc. Memory device and method having programmable address configurations
US7123047B2 (en) * 2004-08-18 2006-10-17 Intel Corporation Dynamic on-die termination management
US7363397B2 (en) * 2004-08-26 2008-04-22 International Business Machines Corporation System and method for DMA controller with multi-dimensional line-walking functionality
US7558900B2 (en) * 2004-09-27 2009-07-07 Winbound Electronics Corporation Serial flash semiconductor memory
US8341371B2 (en) * 2005-01-31 2012-12-25 Sandisk Il Ltd Method of managing copy operations in flash memories
US7589648B1 (en) 2005-02-10 2009-09-15 Lattice Semiconductor Corporation Data decompression
US20060190757A1 (en) * 2005-02-22 2006-08-24 Wickeraad John A Monitoring multiple clock domains
KR100590388B1 (ko) * 2005-03-10 2006-06-19 주식회사 하이닉스반도체 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법
US7265578B1 (en) 2005-04-04 2007-09-04 Lattice Semiconductor Corporation In-system programming of non-JTAG device using SPI and JTAG interfaces of FPGA device
US7849253B2 (en) * 2005-04-04 2010-12-07 Standard Microsystems Corporation Method for fast access to flash-memory media
US7397274B1 (en) 2005-04-07 2008-07-08 Lattice Semiconductor Corporation In-system programming of a non-compliant device using multiple interfaces of a PLD
US7184327B2 (en) * 2005-04-14 2007-02-27 Micron Technology, Inc. System and method for enhanced mode register definitions
US8244958B2 (en) * 2005-05-09 2012-08-14 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
DE602005015689D1 (de) * 2005-06-10 2009-09-10 Sony Ericsson Mobile Comm Ab Prozessorgesteuertes Gerät mit verschiedenen Betriebsarten
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
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US20080028136A1 (en) * 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US7609567B2 (en) * 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8060774B2 (en) * 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8090897B2 (en) * 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
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
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
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
US7560956B2 (en) * 2005-08-03 2009-07-14 Micron Technology, Inc. Method and apparatus for selecting an operating mode based on a determination of the availability of internal clock signals
US7426607B2 (en) 2005-08-05 2008-09-16 Infineon Technologies Ag Memory system and method of operating memory system
GB2444663B (en) 2005-09-02 2011-12-07 Metaram Inc Methods and apparatus of stacking drams
KR100699268B1 (ko) * 2005-09-16 2007-03-28 삼성전자주식회사 하드 디스크 드라이브의 플래쉬 메모리를 메인 &비디오메모리로 사용 할 수 있는 컴퓨터
JP2007115099A (ja) * 2005-10-21 2007-05-10 Toshiba Corp メモリシステム、及び記録メディア
JP2007140733A (ja) * 2005-11-16 2007-06-07 Renesas Technology Corp 半導体処理装置及び半導体集積回路
US20070143547A1 (en) * 2005-12-20 2007-06-21 Microsoft Corporation Predictive caching and lookup
US7554357B2 (en) * 2006-02-03 2009-06-30 Lattice Semiconductor Corporation Efficient configuration of daisy-chained programmable logic devices
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7436708B2 (en) * 2006-03-01 2008-10-14 Micron Technology, Inc. NAND memory device column charging
US7512507B2 (en) * 2006-03-23 2009-03-31 Micron Technology, Inc. Die based trimming
US7849302B2 (en) 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory
US7345926B2 (en) 2006-04-24 2008-03-18 Sandisk Corporation High-performance flash memory data transfer
US7525855B2 (en) 2006-04-24 2009-04-28 Sandisk Corporation Method of high-performance flash memory data transfer
US7499339B2 (en) 2006-07-19 2009-03-03 Sandisk Corporation High-performance flash memory data transfer
US7366029B2 (en) 2006-04-24 2008-04-29 Sandisk Corporation High-performance flash memory data transfer
US7499369B2 (en) 2006-07-19 2009-03-03 Sandisk Corporation Method of high-performance flash memory data transfer
CN101479804B (zh) * 2006-04-24 2013-05-01 桑迪士克科技公司 快闪存储器装置及其操作方法
US7366028B2 (en) 2006-04-24 2008-04-29 Sandisk Corporation Method of high-performance flash memory data transfer
US7447096B2 (en) * 2006-05-05 2008-11-04 Honeywell International Inc. Method for refreshing a non-volatile memory
US7292487B1 (en) * 2006-05-10 2007-11-06 Micron Technology, Inc. Independent polling for multi-page programming
US7570078B1 (en) 2006-06-02 2009-08-04 Lattice Semiconductor Corporation Programmable logic device providing serial peripheral interfaces
US7495970B1 (en) * 2006-06-02 2009-02-24 Lattice Semiconductor Corporation Flexible memory architectures for programmable logic devices
US7378873B1 (en) 2006-06-02 2008-05-27 Lattice Semiconductor Corporation Programmable logic device providing a serial peripheral interface
US7716411B2 (en) 2006-06-07 2010-05-11 Microsoft Corporation Hybrid memory device with single interface
KR100765786B1 (ko) * 2006-06-12 2007-10-12 삼성전자주식회사 플래시 메모리 시스템, 그 프로그램을 위한 호스트 시스템및 프로그램 방법
US7521969B2 (en) * 2006-07-28 2009-04-21 Lattice Semiconductor Corporation Switch sequencing circuit systems and methods
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
US7456672B1 (en) 2006-09-11 2008-11-25 Lattice Semiconductor Corporation Clock systems and methods
US7511641B1 (en) 2006-09-19 2009-03-31 Lattice Semiconductor Corporation Efficient bitstream compression
US7483334B2 (en) 2006-09-26 2009-01-27 Micron Technology, Inc. Interleaved input signal path for multiplexed input
US7558907B2 (en) * 2006-10-13 2009-07-07 Spansion Llc Virtual memory card controller
KR100791839B1 (ko) * 2006-10-31 2008-01-07 삼성전자주식회사 데이터 읽기 시 데이터 스트로브 신호를 발생할 수 있는비휘발성 메모리 장치와 그 방법
US20080131088A1 (en) * 2006-11-30 2008-06-05 Mitac Technology Corp. Image capture method and audio-video recording method of multi-media electronic device
CN101622594B (zh) * 2006-12-06 2013-03-13 弗森-艾奥公司 使用空数据令牌指令管理来自于请求设备的数据的装置、系统和方法
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8266405B2 (en) 2006-12-13 2012-09-11 Cypress Semiconductor Corporation Memory interface configurable for asynchronous and synchronous operation and for accessing storage from any clock domain
US7567471B2 (en) * 2006-12-21 2009-07-28 Intel Corporation High speed fanned out system architecture and input/output circuits for non-volatile memory
WO2008081214A1 (en) * 2006-12-28 2008-07-10 Nokia Corporation Memory unit access
KR100897601B1 (ko) * 2006-12-29 2009-05-14 삼성전자주식회사 시스템의 오작동 방지를 위한 비휘발성 메모리 모듈 및이를 구비한 시스템
CN101617371B (zh) 2007-02-16 2014-03-26 莫塞德技术公司 具有多个外部电源的非易失性半导体存储器
US8086785B2 (en) 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
WO2008101316A1 (en) 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US20080270811A1 (en) * 2007-04-26 2008-10-30 Super Talent Electronics Inc. Fast Suspend-Resume of Computer Motherboard Using Phase-Change Memory
KR100914265B1 (ko) * 2007-05-10 2009-08-27 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법
US7779217B2 (en) * 2007-05-21 2010-08-17 Sandisk Il Ltd. Systems for optimizing page selection in flash-memory devices
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
US20080306723A1 (en) * 2007-06-08 2008-12-11 Luca De Ambroggi Emulated Combination Memory Device
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
JP5030698B2 (ja) * 2007-07-24 2012-09-19 株式会社リコー 半導体装置及びノイズ低減方法
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
US8402241B2 (en) * 2007-10-02 2013-03-19 Advanced Micro Devices, Inc. Method and apparatus to control access to device enable features
US8132040B1 (en) 2007-10-25 2012-03-06 Lattice Semiconductor Corporation Channel-to-channel deskew systems and methods
KR101237005B1 (ko) 2007-11-09 2013-02-26 삼성전자주식회사 저항체를 이용한 비휘발성 메모리 장치, 이를 포함하는메모리 시스템, 및 이의 구동 방법
US7902865B1 (en) 2007-11-15 2011-03-08 Lattice Semiconductor Corporation Compression and decompression of configuration data using repeated data frames
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8185685B2 (en) * 2007-12-14 2012-05-22 Hitachi Global Storage Technologies Netherlands B.V. NAND flash module replacement for DRAM module
CN101903953B (zh) 2007-12-21 2013-12-18 莫塞德技术公司 具有功率节省特性的非易失性半导体存储器设备
US8291248B2 (en) 2007-12-21 2012-10-16 Mosaid Technologies Incorporated Non-volatile semiconductor memory device with power saving feature
US7934052B2 (en) 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
US20090259793A1 (en) * 2008-04-10 2009-10-15 Sony Corporation And Sony Electronics Inc. System and method for effectively implementing an erase mode for a memory device
US8154901B1 (en) 2008-04-14 2012-04-10 Netlist, Inc. Circuit providing load isolation and noise reduction
US20090273686A1 (en) * 2008-05-02 2009-11-05 Nokia Corporation Methods, computer program products and apparatus providing improved image capturing
TWI397855B (zh) * 2008-05-07 2013-06-01 Sunplus Mmedia Inc 減少接腳數之方法以及使用其之微處理器
US8219741B2 (en) * 2008-10-24 2012-07-10 Microsoft Corporation Hardware and operating system support for persistent memory on a memory bus
US20110258362A1 (en) * 2008-12-19 2011-10-20 Mclaren Moray Redundant data storage for uniform read latency
KR101573047B1 (ko) * 2009-01-23 2015-12-02 삼성전자주식회사 복합 메모리 장치 및 이를 이용한 i/o 처리 방법
US9489326B1 (en) * 2009-03-09 2016-11-08 Cypress Semiconductor Corporation Multi-port integrated circuit devices and methods
US8595398B2 (en) * 2009-03-09 2013-11-26 Cypress Semiconductor Corp. Multi-port memory devices and methods
EP2441007A1 (en) 2009-06-09 2012-04-18 Google, Inc. Programming of dimm termination resistance values
US9123409B2 (en) * 2009-06-11 2015-09-01 Micron Technology, Inc. Memory device for a hierarchical memory architecture
US9128632B2 (en) 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
US8255733B1 (en) 2009-07-30 2012-08-28 Lattice Semiconductor Corporation Clock delay and skew control systems and methods
WO2011031796A2 (en) * 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
CN102598019B (zh) * 2009-09-09 2015-08-19 才智知识产权控股公司(2) 用于分配存储的设备、系统和方法
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
CN102597910B (zh) 2009-09-09 2015-03-25 弗森-艾奥公司 存储设备中用于功率减小管理的装置、系统及方法
US8601222B2 (en) 2010-05-13 2013-12-03 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
CN101706788B (zh) * 2009-11-25 2012-11-14 惠州Tcl移动通信有限公司 一种嵌入式文件系统的跨区访问方法
US8489803B2 (en) * 2009-12-14 2013-07-16 Smsc Holdings S.A.R.L. Efficient use of flash memory in flash drives
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
JP2010225161A (ja) * 2010-04-13 2010-10-07 Renesas Electronics Corp 半導体記憶装置
WO2012016089A2 (en) 2010-07-28 2012-02-02 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US8682639B2 (en) * 2010-09-21 2014-03-25 Texas Instruments Incorporated Dedicated memory window for emulation address
KR101113188B1 (ko) 2010-09-30 2012-02-16 주식회사 하이닉스반도체 동작 속도가 가변되는 비휘발성 메모리 장치 및 이를 위한 상보신호 제어 방법
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
WO2012100087A2 (en) 2011-01-19 2012-07-26 Fusion-Io, Inc. Apparatus, system, and method for managing out-of-service conditions
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US8966191B2 (en) 2011-03-18 2015-02-24 Fusion-Io, Inc. Logical interface for contextual storage
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
US8537613B2 (en) 2011-03-31 2013-09-17 Sandisk Technologies Inc. Multi-layer memory system
US8930647B1 (en) 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
US9176671B1 (en) 2011-04-06 2015-11-03 P4tents1, LLC Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system
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
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
US8656088B2 (en) 2011-05-20 2014-02-18 International Business Machines Corporation Optimized flash based cache memory
US9201794B2 (en) 2011-05-20 2015-12-01 International Business Machines Corporation Dynamic hierarchical memory cache awareness within a storage system
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US8462561B2 (en) 2011-08-03 2013-06-11 Hamilton Sundstrand Corporation System and method for interfacing burst mode devices and page mode devices
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US9058289B2 (en) 2011-11-07 2015-06-16 Sandisk Enterprise Ip Llc Soft information generation for memory systems
KR20130070251A (ko) * 2011-12-19 2013-06-27 에스케이하이닉스 주식회사 브릿지 칩셋 및 그것을 포함하는 데이터 저장 시스템
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US8954672B2 (en) * 2012-03-12 2015-02-10 Advanced Micro Devices, Inc. System and method for cache organization in row-based memories
KR101429183B1 (ko) * 2012-05-09 2014-08-12 주식회사 디에이아이오 반도체 메모리 시스템 및 이의 동작 방법
US10387331B2 (en) * 2012-06-05 2019-08-20 Vmware, Inc. Process for maintaining data write ordering through a cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US9229829B2 (en) * 2012-07-25 2016-01-05 GlobalFoundries, Inc. Synchronous mode replication to multiple clusters
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US9013930B2 (en) * 2012-12-20 2015-04-21 Winbond Electronics Corp. Memory device with interleaved high-speed reading function and method thereof
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9965397B2 (en) * 2013-02-26 2018-05-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast read in write-back cached memory
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US20140278329A1 (en) * 2013-03-15 2014-09-18 Mentor Graphics Corporation Modeling Content-Addressable Memory For Emulation
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
TWI493569B (zh) * 2013-03-25 2015-07-21 Winbond Electronics Corp 記憶體裝置以及由記憶體裝置中讀取資料之方法
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
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
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
CN105706064B (zh) 2013-07-27 2019-08-27 奈特力斯股份有限公司 具有本地分别同步的内存模块
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US9361221B1 (en) 2013-08-26 2016-06-07 Sandisk Technologies Inc. Write amplification reduction through reliable writes during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9440086B2 (en) * 2013-09-11 2016-09-13 Medtronic, Inc. Optimized flash memory device for miniaturized devices
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
CN105934747B (zh) 2013-11-07 2020-03-06 奈特力斯股份有限公司 混合内存模块以及操作混合内存模块的系统和方法
US11182284B2 (en) 2013-11-07 2021-11-23 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
TWI553641B (zh) * 2013-12-09 2016-10-11 慧榮科技股份有限公司 資料儲存裝置及其模式偵測方法
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9368199B2 (en) * 2014-09-02 2016-06-14 Kabushiki Kaisha Toshiba Memory device
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
CN104391676B (zh) * 2014-11-10 2017-11-10 中国航天科技集团公司第九研究院第七七一研究所 一种低成本高带宽的微处理器取指方法及其取指结构
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
JP6841609B2 (ja) 2015-07-10 2021-03-10 3スキャン インコーポレイテッド 組織学的染色の空間的多重化
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US10331586B2 (en) 2015-10-30 2019-06-25 Samsung Electronics Co., Ltd. Nonvolatile memory device for providing fast booting and system including the same
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
CN106649136B (zh) * 2015-11-03 2022-09-23 西安中兴新软件有限责任公司 一种数据存储方法和存储装置
US9965017B2 (en) 2016-04-12 2018-05-08 International Business Machines Corporation System and method for conserving energy in non-volatile dual inline memory modules
US10679722B2 (en) 2016-08-26 2020-06-09 Sandisk Technologies Llc Storage system with several integrated components and method for use therewith
CN109698002B (zh) * 2017-10-23 2020-11-10 北京兆易创新科技股份有限公司 存储阵列数据的锁存方法及装置
US10658047B1 (en) * 2018-10-31 2020-05-19 Micron Technology, Inc. Implementing sticky read using error control success rate associated with a memory sub-system
KR20220008428A (ko) * 2020-07-13 2022-01-21 삼성전자주식회사 고효율 입출력 인터페이스를 지원하는 불휘발성 메모리 장치
DE102021103872A1 (de) * 2020-07-13 2022-01-13 Samsung Electronics Co., Ltd. Nichtflüchtige speichervorrichtung, die eine hocheffiziente e/a-schnittstelle unterstützt

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4034354A (en) * 1975-11-21 1977-07-05 The Bendix Corporation Programmable interface controller for numerical machine systems
US4089052A (en) * 1976-12-13 1978-05-09 Data General Corporation Data processing system
US4307447A (en) * 1979-06-19 1981-12-22 Gould Inc. Programmable controller
JPS5654532A (en) * 1979-10-11 1981-05-14 Hitachi Ltd Initializing method for main memory device
US4630230A (en) * 1983-04-25 1986-12-16 Cray Research, Inc. Solid state storage device
US4596004A (en) * 1983-09-14 1986-06-17 International Business Machines Corporation High speed memory with a multiplexed address bus
US5357459A (en) * 1985-07-15 1994-10-18 Texas Instruments Incorporated Nonvolatile capacitor random access memory
JPS63138598A (ja) * 1986-11-28 1988-06-10 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US5276812A (en) * 1987-01-29 1994-01-04 Kabushiki Kaisha Toshiba Address multiplexing apparatus
US4816814A (en) * 1987-02-12 1989-03-28 International Business Machines Corporation Vector generator with direction independent drawing speed for all-point-addressable raster displays
JPH0827662B2 (ja) * 1987-06-12 1996-03-21 沖電気工業株式会社 比較電圧発生回路及びそれを用いた電圧検出回路
NL8701392A (nl) * 1987-06-16 1989-01-16 Philips Nv In verschillende modes schakelbare geheugeninrichting.
US4785428A (en) * 1987-06-18 1988-11-15 Intel Corporation Programmable memory array control signals
JPS6454543A (en) * 1987-08-25 1989-03-02 Mitsubishi Electric Corp Information processor
CA1320276C (en) * 1987-09-04 1993-07-13 William F. Bruckert Dual rail processors with error checking on i/o reads
US4847758A (en) * 1987-10-30 1989-07-11 Zenith Electronics Corporation Main memory access in a microprocessor system with a cache memory
US4918587A (en) * 1987-12-11 1990-04-17 Ncr Corporation Prefetch circuit for a computer memory subject to consecutive addressing
JP2595314B2 (ja) * 1988-06-30 1997-04-02 三菱電機株式会社 誤書き込み防止機能を備えたicカ―ド
US5101490A (en) * 1989-01-10 1992-03-31 Bull Hn Information Systems Inc. Peripheral device controller with an EEPROM with microinstructions for a RAM control store
US5287457A (en) * 1989-01-13 1994-02-15 International Business Machines Corporation Computer system DMA transfer
US5043874A (en) * 1989-02-03 1991-08-27 Digital Equipment Corporation Memory configuration for use with means for interfacing a system control unit for a multi-processor system with the system main memory
JPH0812646B2 (ja) * 1989-03-03 1996-02-07 三菱電機株式会社 半導体集積回路
DE69034191T2 (de) * 1989-04-13 2005-11-24 Sandisk Corp., Sunnyvale EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
US5251227A (en) * 1989-08-01 1993-10-05 Digital Equipment Corporation Targeted resets in a data processor including a trace memory to store transactions
US5261064A (en) * 1989-10-03 1993-11-09 Advanced Micro Devices, Inc. Burst access memory
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
DE69123987T2 (de) * 1990-01-31 1997-04-30 Hewlett Packard Co Stossbetrieb für Mikroprozessor mit externem Systemspeicher
KR100214435B1 (ko) * 1990-07-25 1999-08-02 사와무라 시코 동기식 버스트 엑세스 메모리
WO1992007317A1 (en) * 1990-10-12 1992-04-30 Intel Corporation Slow memory refresh in a computer with a limited supply of power
JP2740063B2 (ja) * 1990-10-15 1998-04-15 株式会社東芝 半導体記憶装置
US5274763A (en) * 1990-12-28 1993-12-28 Apple Computer, Inc. Data path apparatus for IO adapter
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5146546A (en) * 1991-04-29 1992-09-08 Monarch Marking Systems, Inc. Printer with hardware symbol data accessing scheme
US5197034A (en) * 1991-05-10 1993-03-23 Intel Corporation Floating gate non-volatile memory with deep power down and write lock-out
JPH04372030A (ja) * 1991-06-21 1992-12-25 Meidensha Corp プロセッサのメモリアクセス方式
US5307314A (en) * 1991-07-15 1994-04-26 Micron Technology, Inc. Split read/write dynamic random access memory
US5369748A (en) * 1991-08-23 1994-11-29 Nexgen Microsystems Bus arbitration in a dual-bus architecture where one bus has relatively high latency
US5291580A (en) 1991-10-04 1994-03-01 Bull Hn Information Systems Inc. High performance burst read data transfer operation
US5359569A (en) * 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
US5263003A (en) 1991-11-12 1993-11-16 Allen-Bradley Company, Inc. Flash memory circuit and method of operation
US5333276A (en) * 1991-12-27 1994-07-26 Intel Corporation Method and apparatus for priority selection of commands
US5471632A (en) * 1992-01-10 1995-11-28 Digital Equipment Corporation System for transferring data between a processor and a system bus including a device which packs, unpacks, or buffers data blocks being transferred
JP3275398B2 (ja) * 1992-02-18 2002-04-15 株式会社日立製作所 フラッシュメモリを用いた情報処理装置
US5375222A (en) * 1992-03-31 1994-12-20 Intel Corporation Flash memory card with a ready/busy mask register
JP3152732B2 (ja) * 1992-03-31 2001-04-03 株式会社東芝 画像形成記憶装置
US5422855A (en) * 1992-03-31 1995-06-06 Intel Corporation Flash memory card with all zones chip enable circuitry
US5428579A (en) * 1992-03-31 1995-06-27 Intel Corporation Flash memory card with power control register and jumpers
US5388224A (en) * 1992-04-24 1995-02-07 Digital Equipment Corporation Processor identification mechanism for a multiprocessor system
US5265218A (en) * 1992-05-19 1993-11-23 Sun Microsystems, Inc. Bus architecture for integrated data and video memory
US5379384A (en) * 1992-06-05 1995-01-03 Intel Corporation Configuration data loopback in a bus bridge circuit
US5306963A (en) * 1992-06-19 1994-04-26 Intel Corporation Address transition detection noise filter in pulse summation circuit for nonvolatile semiconductor memory
TW235363B (zh) * 1993-01-25 1994-12-01 Hitachi Seisakusyo Kk
JP3476231B2 (ja) * 1993-01-29 2003-12-10 三菱電機エンジニアリング株式会社 同期型半導体記憶装置および半導体記憶装置
US5331601A (en) * 1993-02-04 1994-07-19 United Memories, Inc. DRAM variable row select
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5302866A (en) * 1993-03-18 1994-04-12 Xilinx, Inc. Input circuit block and method for PLDs with register clock enable selection
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
US5353256A (en) * 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
US5453957A (en) * 1993-09-17 1995-09-26 Cypress Semiconductor Corp. Memory architecture for burst mode access
US5729709A (en) 1993-11-12 1998-03-17 Intel Corporation Memory controller with burst addressing circuit
US5448521A (en) * 1993-11-12 1995-09-05 International Business Machines Corporation Connecting a short word length non-volatile memory to a long word length address/data multiplexed bus
US5526311A (en) * 1993-12-30 1996-06-11 Intel Corporation Method and circuitry for enabling and permanently disabling test mode access in a flash memory device
US5491827A (en) * 1994-01-14 1996-02-13 Bull Hn Information Systems Inc. Secure application card for sharing application data and procedures among a plurality of microprocessors
US5438549A (en) * 1994-02-28 1995-08-01 Intel Corporation Nonvolatile memory with volatile memory buffer and a backup power supply system
US5721860A (en) 1994-05-24 1998-02-24 Intel Corporation Memory controller for independently supporting synchronous and asynchronous DRAM memories
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5748914A (en) * 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory

Also Published As

Publication number Publication date
US6026465A (en) 2000-02-15
CN1155341A (zh) 1997-07-23
US6385688B1 (en) 2002-05-07
US5696917A (en) 1997-12-09
WO1995034030A2 (en) 1995-12-14
BR9507911A (pt) 1997-08-12
WO1995034030A3 (en) 1996-01-18
CN1102772C (zh) 2003-03-05
US6564285B1 (en) 2003-05-13
EP0765498A2 (en) 1997-04-02
EP0765498A4 (en) 1999-04-14
AU2765895A (en) 1996-01-04
KR100281432B1 (ko) 2001-02-01
CN1430151A (zh) 2003-07-16

Similar Documents

Publication Publication Date Title
CN1228715C (zh) 从基于快速存储器的主存储器中读出数据的方法
CN1288530C (zh) 用于恢复存储器初始化值的方法和系统
CN1153221C (zh) 可以减少备用时耗电的同步式半导体存储器
CN1107958C (zh) 有能将测试方式可靠复位的电路的同步型半导体存储装置
CN1189890C (zh) 具有多个低功耗模式的半导体存储器件
CN1249586C (zh) 闪速存储器系统
CN1186729C (zh) 从虚地址计算页表索引的方法和装置
CN1225697C (zh) 半导体存储器
CN1278243C (zh) 用于合并存贮的数据项的按块擦除存储系统和方法
CN1137440C (zh) 带程序暂停命令的非易失性可写存储器
CN1885277A (zh) Dram芯片设备以及包括该设备的多芯片封装
CN100350393C (zh) 半导体存储装置
CN1249585C (zh) 闪速存储器系统
CN1276359C (zh) 用于检查和操作数据的存储器引擎
JPH01251247A (ja) キヤツシユメモリサブシステム
CN1482619A (zh) 使用动态随机存取存储器和闪存的系统和方法
US20100057979A1 (en) Data transmission method for flash memory and flash memory storage system and controller using the same
CN1720494A (zh) 减少微处理器的功率消耗的寄存器堆选通方法
CN1411070A (zh) 半导体存储器件
CN1612346A (zh) 多芯片封装型存储器系统
CN1197082C (zh) 使用存储器的方法、两维数据存取存储器以及操作处理设备
CN1426586A (zh) 半导体存储器件
CN1701387A (zh) 半导体存储器设备
CN1222738A (zh) 具有多个存储体的半导体存储器
CN1959841A (zh) 存储电路

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
C17 Cessation of patent right
CX01 Expiry of patent term

Expiration termination date: 20150601

Granted publication date: 20051123