CN101017460A - 统一的存储器和控制器 - Google Patents
统一的存储器和控制器 Download PDFInfo
- Publication number
- CN101017460A CN101017460A CNA2006100644983A CN200610064498A CN101017460A CN 101017460 A CN101017460 A CN 101017460A CN A2006100644983 A CNA2006100644983 A CN A2006100644983A CN 200610064498 A CN200610064498 A CN 200610064498A CN 101017460 A CN101017460 A CN 101017460A
- Authority
- CN
- China
- Prior art keywords
- bus
- storer
- address
- ram
- memory
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/225—Hybrid cache memory, e.g. having both volatile and non-volatile portions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
具有控制器的存储器装置。该控制器具有用于接收RAM地址信号的第一地址总线,用于接收RAM数据信号的第一数据总线,用于接收RAM控制信号的第一控制总线。该控制器还具有与易失性RAM存储器接口连接的第二地址总线、第二数据总线、和第二控制总线。该控制器还具有与非易失性NAND存储器接口连接的第三地址/数据总线,和与非易失性NAND存储器接口连接的第三控制总线。该控制器还具有非易失性可引导存储器,用于在第一地址总线上接收第一地址并将第一地址映射到非易失性NAND存储器中的第二地址的装置,以及用于保持存储在作为高速缓存的易失性RAM存储器中的数据与在非易失性NAND存储器中的第二地址处的数据之间的数据一致性的装置。
Description
本申请要求于2005年12月28日提交的临时申请60/754,937的优先权,在此并入其公开的全部内容。
技术领域
本发明涉及一种存储器装置,更具体地说,涉及一种这样的存储器装置,该存储器装置具有接收常规随机地址格式的地址和数据的能力,并将该数据/地址映射到NOR存储器、RAM存储器、用作用于NAND存储器的高速缓存由此模拟伪NOR(PNOR)操作的RAM存储器、以及ATA格式的非易失性NAND存储器。所述地址和数据通过单个总线或多个总线从一个或多个处理器接收。本发明还涉及一种用在这种存储器装置中的具有嵌入式可引导NOR存储器的存储器控制器。
背景技术
易失性随机存取存储器,诸如SRAM或DRAM(或者SDRAM)或者PSRAM(下文统称为RAM),是本领域中公知的。典型地,这些类型的易失性存储器在地址总线上接收地址信号,在数据总线接上收数据信号,并且在控制总线上接收控制信号。
并行NOR型非易失性存储器也是本领域公知的。典型地,它们在与提供给RAM的相同类型的地址总线上接收地址信号,在与提供给RAM的相同类型的数据总线上接收数据信号,并且在与提供给RAM的相同类型的控制总线上接收控制信号。与RAM类似,NOR存储器是随机存取存储器装置。然而,由于NOR存储器需要某些操作,而RAM不需要,诸如扇区擦除或者块擦除,因此这些具有命令的性质的操作以特定数据模式的序列被提供给NOR装置。这称为NOR协议命令。在现有技术中,存在两种类型的NOR协议命令:1)与最初由Intel发布的协议命令集兼容的那些协议命令;2)与最初由AMD发布的协议命令集兼容的那些协议命令。在任一种情况下,NOR存储器都电接口连接至与RAM所接口连接的相同的地址、数据和控制总线。而且,常规的NOR存储器装置也可以以公知的常规格式,如SPI、LPC或固件集线器,串行地提供数据、地址和控制信号。
NAND型非易失性存储器也是本领域公知的。然而,与并行的NOR装置不同,NAND存储器将数据存储在可随机存取的块中,其中块内的单元被以顺序的格式存储。而且,地址和数据信号被提供在相同的总线上,但采用的是多路复用的方式。NAND存储器具有的优点是,它们比NOR装置更致密,从而降低了每比特数据的存储成本。
由于NAND装置的每比特数据的较低的成本,已经尝试使用NAND装置来模拟NOR装置的操作。被称为OneNAND(三星公司的商标)的一种这样的装置使用RAM存储器来临时缓冲数据到NAND存储器和从NAND存储器临时缓冲数据,由此模拟NOR存储器的操作。然而,OneNAND装置被认为受到两个缺点的影响。第一,与OneNAND界面连接的用户或主机装置被认为必须留意数据一致性。在数据一致性中,由于用户或主机向RAM写入,因此RAM中的数据可能新于(并且从此不同于)在NAND中最初读取RAM中的数据的位置中的数据。因而,在OneNAND装置中用户或主机必须进行这样的动作,即将来自RAM的数据写回NAND中的最终位置以便存储该数据,或记住RAM中的数据是更新的数据。被认为是OneNAND装置的缺点的第二个问题是它不能提供自动地址映射。在OneNAND装置中,一旦数据被写入该OneNAND装置的RAM部分中,主机或用户必须发出命令或命令序列以向该OneNAND装置的NAND部分中的最终位置写入该RAM部分中的数据。类似地,对于读操作,主机或用户必须从OneNAND的NAND部分中的特定区域发出读命令,以将该数据载入RAM部分中,然后从该RAM部分读出数据。
被认为具有类似缺陷的另一现有技术装置是来自M Systems的DiskOnChip装置。在DiskOnChip装置中,具有有限量的RAM的控制器控制NAND存储器的操作。然而,DiskOnChip装置的控制器部分被认为不具备任何板上非易失性可引导存储器,如NOR存储器。
于2006年3月9日公布的美国专利申请2006/0053246中示出了表明模拟NOR存储器操作的具有控制器的NAND存储器的使用的现有技术公开物。尽管该公开物示出了具有连接到多个处理器的控制器的NAND存储器的使用,但是看起来该NAND存储器不能通过ATA格式操作直接存取。因而,在没有与外部直接存取的情况下,对该NAND存储器的所有存取必须借助控制器来完成。
因而,需要一种没有这些缺点并具有提供现有技术中没有发现的另外的存储器存取特性的能力的存储器装置。
发明内容
在本发明中,通用的存储器装置具有控制器。该控制器具有用于从主机装置接收地址信号和数据信号的第一总线、用于与NAND存储器接口连接的第二总线;和用于与RAM存储器接口连接的第三总线;以及用于与NOR存储器接口连接的第四总线。NAND存储器连接到第二总线。RAM存储器连接到第三总线。NOR存储器连接到第四总线。该存储器控制器响应于NOR协议命令、RAM协议命令和ATA NAND协议命令。
本发明还涉及一种用在这种存储器装置中的存储器控制器。
最后本发明还涉及存储器控制器与不同类型的存储器NOR、RAM和NAND的多种组合,以便作为NOR存储器、RAM存储器、NOR模拟存储器和ATANAND存储器工作。
附图说明
图1是包括存储器控制器、连接到单个主机系统或用户的存储器装置的第一实施例的方框图。
图2是示出在存储器装置外部由主机或用户所见的地址空间与图1中所示的存储器装置的第一实施例中的NOR存储器、RAM存储器和NAND存储器的映射的存储器映射图。
图3是用于该存储器装置中的控制器的详细方框电路图。
图4是包含存储器控制器、与单个主机系统或用户相连接的存储器装置的第二实施例的方框图。
图5是示出在存储器装置外部由主机或用户所见的地址空间与图4中所示的存储器装置的第二实施例中的NOR存储器、RAM存储器和NAND存储器的映射的存储器映射图。
图6是包含本发明的存储器控制器、通过单个总线与多个主机系统或用户以及多个请求总线相连接的本发明的存储器装置的第三实施例的方框图。
图7是包含本发明的存储器控制器、通过多个总线与多个主机系统或用户相连接的本发明的存储器装置的第四实施例的方框图。
图8是包含本发明的存储器控制器、通过多个总线与多个主机系统或用户相连接的本发明的存储器装置的第五实施例的方框图。
图9是包含本发明的存储器控制器、通过多个总线与多个主机系统或用户相连接的本发明的存储器装置的第六实施例的方框图。
具体实施方式
参考图1,示出了存储器装置10的第一实施例。存储器装置10包括存储器控制器12,NAND存储器14,以及RAM存储器16。存储器装置10与主机装置20通过第一RAM地址总线22,第一RAM数据总线24,以及多个控制信号例如等待26,RST#28,以及CE#,OE#,和WE#30接口连接,其全部是用于RAM总线的控制信号的领域中的技术人员所熟知的。以下除非另有规定,等待26,RST#28以及CE#,OE#,和WE#30上的所有控制信号被称为第一RAM控制总线32。第一RAM地址总线22,第一RAM数据总线24和第一RAM控制总线32从主机装置20连接到存储器装置10的存储器控制器12。进一步地,如之前所讨论的,存储器装置10和主机转置20之间的接口连接可以通过串行总线,其中数据、地址和控制总线串行地连接在主机装置20和存储器装置10之间。这种存储器装置10也在本发明的范围内。
存储器控制器12具有第二RAM地址总线(与第一RAM地址总线22类似),第二RAM数据总线(与第一RAM数据总线24类似),以及第二控制总线(与第一RAM控制总线32类似),其全部被共同地简单示为连接到RAM存储器16的第二RAM总线40。存储器控制器12还具有连接到NAND存储器14的NAND地址/数据总线和NAND控制总线(其全部被共同地示为NAND总线42)。RAM存储器16可以集成或嵌入在存储器控制器12中,作为单芯片集成电路。可替换地,RAM存储器16可以是与存储器控制器12分开的集成电路。可替换地,部分RAM存储器16可以与存储器控制器12集成以及部分RAM存储器16可以与存储器控制器12分开。RAM存储器16作为单独管芯(die)的优点将在下文中讨论。然而,RAM存储器16与存储器控制器12集成的优点是在操作中RAM存储器16可以更快速。
在一个实施例中,存储器控制器12为单个集成电路管芯。该控制器还具有嵌入在该存储器控制器集成电路管芯内的第一NOR存储器44,第二NOR存储器62,SRAM存储器46,以及SDRAM控制器48(用于控制RAM 16的操作,如果RAM 16为SDRAM类型的RAM存储器,并且在存储器控制器12之外)。当然,第一NOR存储器44和第二NOR存储器62可以是相同的物理NOR存储器的一部分。在图3中示出了存储器控制器12的实施例的详细的方框图。正如在此所使用的,“NOR存储器”意指任何类型的随机存取非易失性存储器。该NOR存储器包括但不限于浮栅型存储器,ROM,或使用俘获材料的单元等。进一步如在此所使用的,“NAND存储器”意指任何类型的串行存取非易失性存储器,其可以包括有缺陷的单元。
在一个实施例中,存储器控制器12,RAM存储器16和NAND存储器14中的每一个由单个集成电路管芯制成并且采用MCP(多芯片封装)方式被封装在一起。这种配置的优点是,对于要求大(或小)容量的存储器的用户或主机20而言,存储器的容量可以通过简单地改变容易可用的NAND存储器14的管芯或者如果速度是一个因素则改变容易可用的RAM存储器16来改变。因此,在单独的管芯中具有存储器控制器12,RAM存储器16和NAND存储器14意味着能够容易地制造存储器装置10的不同尺寸和速度或性能。
当然,也能将存储器控制器12,RAM存储器16和NAND存储器14制成单一的集成电路管芯。如果存储器控制器12,RAM存储器16和NAND存储器14由单一的集成电路管芯制成,则还可以进行供应以提供外部NAND总线42以便另外从外部提供的NAND存储器能够附着到存储器装置10以扩展存储器装置10的存储器容量。
参考图2,示出了说明如主机装置20所见的并且映射到图1所示的存储器装置10的第一实施例中的地址映射的存储器映射。如主机装置20所见的存储器映射具有两个一般部分:随机存取和大容量存储存取。随机存取部分占用较低的存储器地址位置(尽管那不是必要条件)。在随机存取部分内,最低的存储器地址用于NOR存储器存取部分50,之后是伪NOR(PNOR)存储器存取部分52,之后是RAM存取部分54,之后是结构存取部分56。每个部分将进行如下说明。
如主机装置20所见的NOR存储器存取部分50在于,当主机20在该部分50中进行操作时,结果是对物理NOR存储器44的操作。因此,存储器部分50与物理NOR存储器44的映射为一对一的。换句话说,分配给NOR部分50的存储器空间的量依赖于在存储器装置10中可用的NOR存储器44的量。在一个实施例中,嵌入在存储器控制器12中的NOR存储器44的量为4兆位,且具有2K字扇区大小和32K字块大小。进一步地,当主机装置20认为其正对NOR部分50进行操作时(如在发布读取/写入/擦除等的命令中),作为结果而发生的操作是直接对NOR存储器44进行。该NOR部分50可以由正在设法存储要求无等待时间的随机存取的性能关键代码/数据的主机装置20来使用。进一步地,如果程序存储在NOR存储器44中,则其能够在NOR存储器44内被原位执行。因此NOR存储器44能够存储“引导”主机装置20的程序或代码。
如主机装置20所见的PNOR部分52在于,当主机20在该部分52中进行操作时,主机20认为其正对非易失性的RAM存储器16进行操作。因此,对于主机装置20,其能够类似对任何其它RAM存储器16那样对PNOR部分52进行操作,除了存储在PNOR部分52中的数据是非易失性的以外,全部都不用发布NOR协议命令。在一个实施例中,PNOR部分52恰似NAND存储器那样被分成页,且每页为8K字节,2K字节或512字节。在操作过程中,当主机装置20与存储器装置10接口连接时,其与RAM存储器16接口连接,且存储器控制器12将数据备份到NAND存储器14以及从NAND存储器14备份数据,并且保持在RAM存储器16和NAND存储器14之间的数据一致性,并且存储器控制器12将由主机装置20提供的地址映射到NAND存储器14中的实际数据的地址。由于可用的NAND存储器14的量大于实际的RAM存储器16,因此PNOR部分52可以是比RAM存储器16中可用的实际存储器的量大得多的存储器空间。
进一步地,PNOR部分52能够分为四(4)个区域,每一个映射到区(zone):RAM存储器16中的区0,区1,区2以及区3。每个区能具有不同程度的映射。在从PNOR部分52中的区域到RAM存储器16中的区的映射是一对一的情况下,于是这被称为“静态分页模式”。在从PNOR部分52中的区域到RAM存储器16中的区的映射是多对一的情况下,于是这被称为“动态分页模式”。静态分页模式映射将导致最小的等待时间,因为PNOR部分52中的存储器空间的量,例如256页(或在2K字节页的情况下为512K字节),总是映射到RAM 16中的相同量的存储器空间,例如256页(或512K字节),其又映射到NAND存储器14中的256页(或512K字节)中。在那种情况下,尽管由于RAM存储器16也是随机存取所以在操作过程中存取时没有等待时间,但是在最初从NAND存储器14到RAM存储器16和从RAM存储器16到NAND存储器14的加载和存储时存在等待时间。在动态分页模式映射中,例如映射映射到RAM存储器16的512页的PNOR部分52中的存储器空间的40,000页,其又映射到NAND存储器14的40,000页,将出现更大量的等待时间。该等待时间将出现在最初的数据/程序从NAND存储器14到RAM 16中的加载中,以及在从PNOR部分52重新获得数据/程序的操作过程中,如果存在高速缓存缺失,则其可能要求数据/程序首先从NAND存储器14加载到RAM 16中。因此,对于PNOR部分52的等待时间将根据所配置的区的大小而不同。RAM存储器16的每个区的边界,并且因此,多少存储器空间从PNOR部分52的每个区域被映射到RAM存储器16中,可以由主机装置20或用户来设置。结果,主机装置20能够配置四个区在静态分页模式下操作以存储/重新获得程序或时间临界(time critical)数据,或在动态分页模式下操作以存诸/重新获得程序或非时间关键的数据,结果是如果存在高速缓存缺失则存在等待时间。
在为静态分页模式配置区的情况下,数据读取一致性不是问题,因为PNOR部分52中的相同量的存储器空间总是映射到RAM存储器16中的相同量的空间中。然而,数据写入一致性仍然必须执行。但是,在为动态分页模式配置区的情况下,必须提供数据一致性。主机装置20能够配置该区以两个高速缓存一致性模式的一个进行操作。在第一模式中,主机装置20启动高速缓存一致性模式。在该模式中,主机装置20刷新(flush)RAM存储器16中的高速缓存操作,如且当主机装置20需要时。在第二模式中,存储器控制器12通过刷新RAM存储器16中的高速缓存操作,如且当主机装置20需要时,来启动高速缓存一致性模式,以保持RAM存储器16中的高速缓存和NAND存储器14之间的数据的一致性。
一旦由用户设置了PNOR部分52的存储器空间的量和其到RAM存储器16的映射,RAM存储器16中的可用存储器空间的剩余部分就可用于RAM存储器存取部分。如主机装置20所见的RAM存储器存取部分54在于,当主机20在该部分54中进行操作时,结果是对物理RAM存储器16进行的操作。因此,存储器部分54与物理RAM存储器16的映射是一对一的。进一步地,分配给RAM部分54的存储器空间的量依赖于在存储器装置10中可用的RAM存储器16的总量,以及PONR存储器52的存储器空间部分到RAM存储器16的映射程度。当主机认为其对RAM部分54进行操作时(如在发布读取/写入等的命令中),作为结果而发生的操作是直接对RAM存储器16进行的。该RAM部分54可以由正设法使用存储器空间作为缓冲区的主机装置20来使用。由于在每个区中的PNOR部分52的存储器空间到RAM存储器16的映射可以由用户来设置,并且RAM存储器16的总量是已知的,因此PNOR部分52和RAM部分54之间的边界间接地由用户来设置。因此,如果需要具有大量的缓冲器,则可以通过在一个或多个区中减少PNOR部分52和RAM存储器16之间的映射来分配更大量的RAM部分54。此外,通过复位存储器控制器12,并在每个区中重建PNOR部分52的存储器空间和RAM存储器16之间的映射,PNOR部分52和RAM部分54之间的边界在存储器装置10的操作过程中可以改变。
对于RAM存储器16的每个区的存储器映射的边界和PNOR部分52的存储器空间的大小可以预先分配并存储到存储器控制器12中的非易失性结构寄存器60中。对于结构寄存器60的存取通过结构存取部分56来进行。非易失性的结构寄存器60可以是嵌入式NOR存储器62的一部分。可替换地,对于RAM存储器16的每个区的存储器映射的边界和PNOR部分52的存储器空间的大小可以由用户通过一个或多个芯片选择引脚来选择。在那种情况下,当存储器控制器12被加电时,不同存储器的边界能够重新设置。NOR存储器62还能够存储用于在启动期间通过存储器控制器12的执行以及用于存储器控制器12和MCU 64的操作的固件代码61。
最后,在大容量存诸存取部分58中,当主机装置20存取存储器空间的该部分时,主机装置20认为其正在存取ATA盘驱动器。存储器控制器12使用公知的闪存文件系统(FFS)协议将逻辑ATA盘驱动器空间地址转变为NAND存储器14物理空间地址。在一个实施例中,对于读取操作,大容量存储取部分58的开始部分包括加载到ATA任务文件寄存器79中的16字节逻辑地址。存储器控制器12解码该16字节的任务命令和逻辑地址并将其转变为用于存取NAND存储器14内的特定“页”的物理地址。读取来自NAND存储器14中的页的512字节的该页,然后将其加载到数据寄存器81中,在此由主机装置20顺序地或者随机地存取它们。对于写入操作,发生了反转。将要存储512字节的数据处的逻辑地址首先加载到任务文件寄存器79中。将写入命令写入到任务文件寄存器79中。存储器控制器12解码任务文件寄存器中的作为写入命令的命令并将其转变为物理地址以存取NAND存储器14中的该特定页,并在该位置将该512字节存储到数据寄存器81中。在另一个实施例中,可以存在采用所谓的乒乓(ping-pong)式结构的两个数据寄存器81(a和b)(未示出)。在那种情况下,数据寄存器中的一个81a被用于向主机装置20提供512字节的数据以及之前从NAND存储器14的一页加载的数据,而另一个数据寄存器81b用于将数据从NAND存储器14的另一页加载到数据寄存器81b中,以在来自数据寄存器81a的数据被完全读出后将数据提供给主机装置20。以这种方式,能够发生跨越来自NAND存储器14的数据的多页的连续读取操作。数据寄存器81(a和b)也能够以乒乓方式用于写入操作,因此数据的多个连续页可以写入到NAND存储器14中并且具有很少的或没有等待设立时间。
如之前所讨论的,存储器装置10和主机装置20之间的接口连接可以通过串行总线进行。特别地,这样的串行总线可以连接存储器装置10的NOR或PNOR区域与主机装置20,且常规并行总线连接存储器装置10的RAM部分与主机装置20。
参考图3示出了与RAM存储器16和NAND存储器14接口连接的存储器控制器12的详细方框图。存储器控制器12具有微控制器64。微控制器64完成或执行FFS的所有簿记功能。此外,其完成或执行缺陷管理(DM)和高速缓存数据一致性算法,以及高速缓存刷新替换算法。最后,微控制器64完成或执行高速缓存分页方案算法。所有这些操作都是借助存储在NOR存储器62中的固件或程序代码61来实现的,包括存储器控制器12的启动操作或初始化。
微控制器64连接到第二NOR存储器62,其如之前所讨论的也存储用于通过微控制器64来执行的固件61。除了存储非易失性结构寄存器60之外,NOR存储器62还存储用于FFS和DM的操作的固件。
微控制器64还通过MUX 74与SRAM存储器46接口连接。SRAM存储器64用作微控制器64的局部高速缓冲器以存储运行时间数据。此外,SRAM存储器46能够存储缺陷映射高速缓存,和FFS数据结构。
尽管,相对于硬件部件对存储器控制器12进行了详细描述,但是下文中所描述的所有功能也可以采用用于通过微控制器64执行的软件来实现。
存储器控制器12包括当前高速缓存页地址寄存器66,其可以被实施为具有内容可寻址存储器66的性质。CAM 66的功能是当在对PNOR部分52的读取或写入操作期间存在存取失败时保持当前PNOR高速缓存页地址并更新CAM 66。CAM 66内的每个入口具有三个部分:页地址部分66a,索引地址部分66b,以及状态部分66c。随后关于存储器控制器和CAM存储器66的操作的讨论是关于下述实例的,然而应当理解本发明并不限于下述实例。假设来自主机装置20的地址为32比特,其包含21个最高有效位(位11-31)以及11个最低有效位(位0-10)。该21个最高有效位包括页地址,而该11个最低有效位包含偏移地址。CAM存储器66中的每一个入口还包含包括21比特的页地址部分66a,包括9比特的索引地址部分66b,以及包括12比特的状态部分,其由下述构成:1比特的有效(或无效);1比特的污损(dirty)(或干净(clean));1比特的静态(或动态);1比特的主机启动的高速缓存一致性(或控制器启动的);以及8比特的最后存取时间标记。在32比特来自主机装置20的情况下,该主机装置能够寻址232字节或1GB量的存储器空间。如下文中将要讨论的,存储器控制器12使用来自CAM存储器66的9比特的索引地址部分与来自主机装置20的偏移地址的11比特来形成20比特地址,从而能够寻址1MB的RAM 16。当然,这些数字仅是作为实例的并且没有限制本发明。
存储器控制器12还包括命中/失败比较逻辑68。该命中/失败比较逻辑68从地址总线22接收地址信号,以及从控制总线32接收控制信号。然后该命中/失败比较逻辑68将来自主机装置20的32比特的地址的21比特的页地址发送到CAM存储器66。CAM存储器66将那些21比特的页地址与存储在CAM存储器66的每个入口中的页地址66a 进行比较。如果命中,即来自主机装置20的该21比特的页地址与CAM存储器66中的入口之一相匹配,则CAM存储器66输出相关联的9比特的索引地址66b到MUX 70。如果失败,则该命中/失败比较逻辑68产生读取失败信号或写入失败信号。将该读取失败信号和写入失败信号提供给微代码控制器(MCC)储误码校正(ECC)单元72作为用于MCC/ECC单元72执行数据一致性的信号。提供给MCC/ECC单元72的该信号是命中信号:其表明存储在RAM存储器16中的当前页地址中的一个是如在地址总线22上所提供的来自主机装置20的地址,或者是失败信号:其表明存储在RAM存储器16中的当前页地址中没有一个是如在地址总线22上所提供的来自主机装置20的地址。最后,该命中/失败比较逻辑68还连接到等待状态信号26。当存储器控制器12希望通知主机装置20存储器控制器12希望保持总线循环操作时产生等待状态信号26。等待状态信号26被取消声明(de-asserted)以释放总线22/24/32来允许主机装置20重新开始操作。被存储器控制器12声明(assert)的等待状态信号26的一个实例是在存在读取/写入失败并且存储器控制器12需要从NAND存储器14中的地址重新获得数据并将其加载到RAM存储器16中时。在从NAND存储器14重新获得数据并将其加载到RAM存储器16中的时间期间,由存储器控制器12来声明等待状态信号26。
存储器控制器12还包括在微控制器64的控制下进行操作的MCC/ECC单元72。MCC/ECC单元72监视读取失败/写入失败信号用于高速缓存数据一致性、刷新替换和分页操作。此外,在微控制器64的控制下,其操作NAND存储器14并且提供NAND存储器14的缺陷管理操作。进一步地,在微控制器64的控制下,MCC/ECC单元72提供DMA功能以在NAND存储器14、RAM存储器16和SRAM存储器46之间移动数据。最后,MCC/ECC单元72对存储在NAND存储器14中的数据执行错误检测和校正。
存储器控制器12还包括提供安全和数字版权管理的密码引擎90。此外,存储器控制器12可以具有嵌入其中即形成在同一集成电路管芯上的附加RAM存储器92,以用于增加RAM存储器16的量。如之前所表明的,RAM存储器16可以是独立的集成电路管芯,在这种情况下,嵌入到存储器控制器12中的RAM存储器92扩充了RAM存储器16。然而,如果RAM存储器16和存储器控制器12集成到相同管芯中,则RAM存储器16和RAM存储器92都可以是同一个存储器阵列的一部分。
现在将相对于所述多种操作模式来描述存储器装置10。在加电期间,命中/失败比较逻辑68产生等待信号并声明该等待状态信号26。存储器控制器12从非易失性寄存器60读取结构参数并将它们加载到非易失性寄存器46(其可以是SRAM 46的一部分)。静态页,即静态地映射到PNOR部分52的来自NAND存储器14的数据也从NAND存储器14中读出并存储到RAM存储器16中。这由微控制器64通过MCC/ECC 72执行FFS协议以将来自NAND存储器14的页地址进行转变并产生物理地址和控制信号给NAND存储器14以从其重新获得数据并将它们存储到RAM存储器16中来完成。在加电期间,MCU 64和MCC/ECC 72还扫描NAND存储器14以发现主索引表。读取主索引表并将其存储到本地SRAM存储器46中。MCU 64将核对主索引表的数据结构完整性。MCU 64和MCC/ECC72也扫描NAND存储器14以确定是否需要重建主索引表。MCU 64和MCC/ECC72还将来自NAND存储器14的两页数据送入本地SRAM存储器64中。被称为V页的来自NAND存储器14的首先两页数据包含用于将主机装置20的逻辑地址映射到NAND存储器14的物理地址的数据并且具有跳过NAND存储器14中的有缺陷的扇区的能力。然后FFS准备好接受映射转变请求。然后命中/失败比较逻辑68取消声明等待状态信号26,即释放等待状态信号26。
应当注意的是在加电期间,当存储器控制器12正从NAND存储器14重新获得静态页并将其存储到RAM存储器16中,以及执行其它辅助操作(overhead)功能,例如更新NAND存储器14的主索引表时,存储器装置10仍然可被主机装置20使用。特别地,由于等待状态信号26的声明只影响指向对存储器空间的PNOR部分52的寻址请求的那些操作,所以即使在加电期间NOR存储器44也可以被主机装置20存取。
NOR存储器操作
在NOR存储器44读取操作中,主机装置20将在存储器空间的NOR存储器存取部分50内的地址总线22上的地址信号发送到存储器装置10。此外,由主机装置20将在控制总线32上的适当的控制信号发送到存储器装置10。由于地址信号处于除了在PNOR存储器存取部分52中以外的空间中,因此命中/失败比较逻辑68未被激活,并且等待状态信号26未被声明。将地址信号和控制信号提供给NOR存储器44,在此读取来自于所提供的地址的数据。然后将该数据沿数据总线提供到MUX 84并且沿数据总线24向外提供到主机装置20,从而完成读取循环。
在NOR存储器44写入或者编程操作中,主机装置20将在存储器空间的NOR存储器存取部分50内的地址总线22上的地址信号发送到存储器装置10。此外,由主机装置20将在控制总线32上的适当的控制信号发送到存储器装置10。由于地址信号处于除了在PNOR存储器存取部分52中以外的空间中,因此命中/失败比较逻辑68未被激活,并且等待状态信号26未被声明。将地址信号和控制信号提供给NOR存储器44。将要被写入或编程的数据和程序命令沿数据总线24从主机装置20发送到存储器控制器12和MUX 84中。然后将数据从MUX 84发送到NOR存储器44,在这里在地址总线22上所提供的地址处数据被编程到NOR存储器44中。主机装置20能够执行字节程序操作,允许将NOR存储器44以一个字节接一个字节为基础进行编程。当数据被写入到NOR存储器44中时,完成写入或编程循环。
在NOR存储器44擦除操作中,例如扇区擦除,或块擦除,主机装置20将在存储器空间的NOR存储器存取部分50内的地址总线22上的地址信号发送到存储器装置10。此外,由主机装置20将在控制总线32上的适当的控制信号发送到存储器装置10。由于地址信号处于除了在PNOR存储器存取部分52中以外的空间中,因此命中/失败比较逻辑68未被激活,并且等待状态信号26未被声明。将地址信号和控制信号提供给NOR存储器44。沿数据总线24将表示擦除命令协议的数据信号从主机装置20发送到存储器控制器12和MUX 84中。然后从MUX 84将数据发送到NOR存储器44,在这里由NOR存储器44对数据进行解码然后执行擦除操作。当NOR存储器44完成擦除循环时,完成了擦除循环。
PNOR存储器操作-读取
在PNOR存储器读取操作中,主机装置20将在存储器空间的PNOR存储器存取部分52内的地址总线22上的地址信号发送到存储器装置10。存在两种可能性:读取命中和读取失败。
在读取命中的情况下,在地址总线22上提供的地址信号的页地址部分由命中/失败比较逻辑68接收,并与当前在RAM存储器16中的,如被存储在CAM 66中的地址进行比较。如果在地址总线22上提供的页地址在存储在CAM 66中的页地址之内,则命中。命中/失败逻辑68激活MUX 70,以便然后将地址和控制信号引导到RAM存储器16,并且将来自CAM存储器66的相关联的索引地址66b与来自主机装置20的偏移地址串接以寻址RAM存储器16。然后将从RAM存储器16的较低地址读出的数据发送到MUX 80,在这里然后将它们提供给MUX 84(MUX 80的默认状态),其已经被命中/失败比较逻辑68指示(未示出)允许将数据沿数据总线24发送到主机装置20,从而完成读取循环。
在读取失败的情况下,存在多种可能性。首先是被称为无高速缓存刷新的读取失败的可能性。在来自地址总线22的地址信号的页地址部分与来自CAM 66的页地址寄存器66a的比较导致失败的情况下,即地址总线22上的页地址不在存储于RAM存储器16中的页地址之内,那么命中/失败比较逻辑68发送读取失败信号到MCC/ECC单元72以便MCC/ECC单元72启动读取一致性循环。此外,命中/失败比较逻辑68声明在等待状态信号26上的信号。在MCU 64的控制下,MCC/ECC单元72执行FFS操作以将由主机装置20提供的地址转变为NAND存储器14中的物理地址。然后MCC/ECC单元72产生适当的地址和控制信号给NAND存储器14,和适当的地址和控制信号给RAM存储器16。
从NAND存储器14读取包含来自地址总线22上所指定的地址的数据的整页数据,并将其经过MUX 80传送到RAM存储器16,在此其被写入到由MCC/ECC单元72所指定的RAM存储器16中的整页位置中,并且由MCC/ECC单元72在其上进行操作以通过错误校正检查等来确保数据的完整性。然后更新当前的页地址寄存器CAM 66以在当前读取失败地址内添加该地址页的地址。命中/失败比较逻辑68取消声明在等待状态信号26上的信号。此外,MCU 64切换MUX80到默认位置。命中/失败比较逻辑68发送索引地址66b到MUX 70,在这里其与来自地址总线22的偏移地址部分相结合,以寻址RAM存储器16。然后来自对RAM存储器16的该读取操作的数据通过MUX 80以及通过MUX 84被提供到至主机装置20的数据总线24,从而完成该循环。由于从NAND存储器14读出的数据的量是以页为基础的,因此整页的数据必须被存储到RAM存储器16中。这种没有高速缓存刷新的读取失败的情况假设RAM存储器16的整页可用于存储来自NAND存储器14的数据,或者将存储整页数据的RAM存储器16中的位置包含一致的数据(和NAND存储器14中的数据相同),然后从NAND存储器14读出的整页的数据能够被存储到RAM存储器16中的位置中。高速缓存刷新意味着从RAM存储器16到NAND存储器14的数据写入,由此刷新数据一致性问题的高速缓存(RAM存储器16)。
读取失败的另一个可能的情况被称为具有高速缓存刷新的读取失败。在该情况下,在不重写RAM存储器16中某些比NAND存储器14中的数据更新的数据的情况下,来自NAND存储器14的整页数据不能被存储在RAM存储器16中。这产生了数据一致性问题。因此,在来自NAND存储器14的处于不同位置的数据可以被读取到RAM存储器16中之前,RAM存储器16中的数据页必须首先写入到NAND存储器14中。操作顺序如下。来自主机装置20的地址总线22的地址信号的页地址部分与来自CAM 66的页地址信号66a进行比较以确定是否来自地址总线22的地址信号在当前页地址的任何一个之内。该比较导致失败,使得命中/失败比较逻辑68发送读取失败信号到MCC/ECC单元72以便MCC/ECC单元72启动读取一致性循环。此外,命中/失败比较逻辑68声明在等待状态信号26上的信号。MCC/ECC单元72在MCU 64的控制下确定RAM存储器16中的数据页必须首先写入到NAND存储器16中,因为存在数据一致性问题来自NAND存储器14的数据应当被读取到RAM存储器16中。MCU64执行FFS操作以将来自RAM存储器16的地址转变为NAND存储器14中的地址。
从RAM存储器16读取整页的数据,该整页的数据经过MUX 80并提供到NAND存储器14,在此将它们存储到NAND存储器14中。其后,由MCU64通过FFS操作将来自主机装置20的地址变换为物理NAND地址。然后在MCU 64的指示下MCC/ECC单元72产生适当的地址和控制信号给NAND存储器14并且使用来自CAM存储器66的索引地址66b、控制信号和来自MCC/ECC 72的偏移地址部分来寻址RAM存储器16。从NAND存储器14读出的整页的数据之后被通过MUX 80从NAND存储器14传送到RAM存储器16,在此其被写入到由MCC/ECC单元72和索引地址66b所指定的RAM存储器16中的位置页中,并且通过MCC/ECC单元72在其上被操作以通过错误校正检查等确保数据的完整性。CAM 66的当前页地址寄存器66a之后被更新以添加包含当前读取失败地址的页地址,以及与其相关联的索引地址66b。命中/失败比较逻辑68取消声明在等待状态信号26上的信号。此外,MCU 64将MUX 80切换到默认位置。命中/失败比较逻辑68发送索引地址66a到MUX 70,在此它们和来自地址总线22的偏移地址结合以启动RAM存储器16中的读取操作。然后将该数据从RAM存储器16中读出,并且通过MUX 80以及通过MUX 84将该数据提供到至主机装置20的数据总线24,从而完成读取循环。
在读取命中、没有高速缓存刷新的读取失败、以及具有高速缓存刷新的读取失败的每种情况下,从主机装置20的角度来观察,该操作与对RAM装置的读取没有任何的不同,且在读取失败的情况下存在等待时间。主机装置20不必处理地址转变和/或数据一致性。
PNOR存储器操作一写入
在PNOR存储器写入操作中,主机装置20将在存储器空间的PNOR存储器存取部分52内的地址总线22上的地址信号连同将被写入到RAM存储器16中的数据一起发送到存储器装置10。存在两种可能性:写入命中和写入失败。
在写入命中的情况下,在地址总线22上提供的地址信号的页地址部分由命中/失败比较逻辑68来接收,并与CAM 66中的页地址66a进行比较,其反映当前存储在RAM存储器16中的数据。在地址总线22上提供的页地址在CAM 66中所存储的页地址之内。命中/失败逻辑68激活MUX 70以便然后将地址和控制信号引导到RAM存储器16。来自CAM 66的索引地址66b和来自地址总线22的地址信号的偏移地址部分相结合以产生用于通过MUX 70存取RAM存储器16的地址信号。通过MUX 84提供来自数据总线24的数据并通过MUX 80将该数据提供给RAM存储器16,在此其然后被写入到RAM存储器16中,从而完成写入命中循环。
应当注意的是在写入命中操作之后,RAM存储器16中的数据将与来自NAND存储器14中的同样位置的数据不一致。实际上,RAM存储器16中的数据将是最当前的数据。为了解决数据一致性的问题,存在两种解决方案。
第一,在按照需要的基础上,存储器装置10能够自动解决数据一致性的问题。如之前所讨论的,例如,在具有高速缓存刷新操作的读取失败的情况下,如果RAM存储器16中的数据页需要被替换以存储新要求的来自NAND存储器14的数据页,则RAM存储器16中的更为当前的数据将被写回到NAND存储器14中。如下文将要讨论的,MCU 64还将通过在具有高速缓存刷新操作的写入失败中将数据写回到NAND存储器14中来对RAM存储器16中的数据执行高速缓存刷新。
对于数据一致性问题的替换解决方案是在主机装置20的控制下执行数据一致性。因此,主机装置20可以发布高速缓存刷新命令使得存储器控制器12将来自RAM存储器16的不一致的数据写回到NAND存储器14中。该操作的优点是其能够由主机装置20在任何时间执行,包含但是不限于关键事件,例如改变应用,关闭,或接收到的低功率中断。然而,由于存储器控制器12还能够自动执行数据一致性,在主机装置20的用户未能执行数据一致性操作的情况下,这样的操作还将根据需要由存储器控制器12来执行。
在写入失败的情况下,存在多种可能性。首先是被称为没有高速缓存刷新的写入失败的可能性。在来自地址总线22的地址信号的页地址部分与来自CAM 66的页地址信号66a的比较导致失败的情况下,即地址总线22上的地址不在存储于RAM存储器16中的页地址之内,那么命中/失败比较逻辑68发送写入失败信号到MCC/ECC单元72。此外,命中/失败比较逻辑68声明在等待状态信号26上的信号。MCC/ECC单元72确定是否来自NAND存储器14的新数据页,包含来自主机装置20的在地址总线22上所指定的地址处的数据,将存储在旧的一致数据或RAM存储器16的空白区域之上。在那种情况下,在将数据从NAND存储器14传送到RAM存储器16中的位置之前,不需要存储器控制器12执行写入一致性循环。MCC/ECC单元72在MCU 64的控制下执行FFS操作来将由主机装置20提供的地址转变成NAND存储器14中的物理地址。然后MCC/ECC单元72产生适当的地址和控制信号给NAND存储器14,以及适当的地址和控制信号给RAM存储器16。
包含来自在地址总线22上所指定的地址的数据的整页的数据,被从NAND存储器14中读出并经过MUX 80传送到RAM存储器16,在此其被写入到由MCC/ECC单元72和索引地址66b所指定的RAM存储器16中的整页位置中,并且通过MCC/ECC单元72在其上被操作以通过错误校正检查等确保数据的完整性。然后更新CAM 66的当前页地址寄存器66a以在当前的写入失败地址和相关联的索引地址66b(索引地址66b是RAM存储器16中的较高的9比特地址,在此存储数据页)内添加该地址页的地址。命中/失败比较逻辑68取消声明在等待状态信号26上的信号。此外,MCU将MUX 80切换到默认位置。命中/失败比较逻辑68发送索引地址66b到MUX 70,在此它们与来自地址22的偏移地址相结合,以启动RAM存储器16中的写入操作。然后从主机装置20经过MUX 84以及经过MUX 80将数据写入到RAM存储器16中,从而完成该循环。现在在RAM存储器16中的数据不再与在NAND存储器14中的相同地址处的数据相一致。该一致性问题由存储器控制器12自动地根据需要启动写入高速缓存刷新来解决,或由主机装置20在任何时间启动写入高速缓存刷新来解决,全部都如之前所讨论的。
另一个写入失败的可能的情况被称为具有高速缓存刷新的写入失败。在该情况下,在不重写RAM存储器16中某些比NAND存储器14中的数据更新的数据的情况下,来自NAND存储器14的整页的数据不能被存储到RAM存储器16中。这产生数据一致性问题。因此,在来自NAND存储器14的处于不同位置的数据能够被读取到RAM存储器16中之前,RAM存储器16中的数据页必须首先被写入到NAND存储器14中。操作的顺序如下。来自主机装置20的地址总线22的信号的页地址部分与来自CAM 66的页地址信号66a进行比较以确定是否来自地址总线22的地址信号在当前页地址的任何一个之内。该比较导致失败,使命中/失败比较逻辑68发送写入失败信号到MCC/ECC单元72以便MCC/ECC单元72启动写入一致性循环。此外,命中/失败比较逻辑68声明在等待状态信号26上的信号。因为存在数据一致性问题来自NAND存储器14的数据应当被读取到RAM存储器16中,所以MCC/ECC单元72在MCU64的控制下确定RAM存储器16中的数据页必须首先写入到NAND存储器16中。MCU单元64执行FFS操作以将来自RAM存储器16的地址转变为NAND存储器14中的地址。
从RAM存储器16读取整页数据,并且该整页数据经过MUX 80并提供到NAND存储器14,在此它们被存储到NAND存储器14中。其后,通过FFS操作将来自主机装置20的地址变换为物理NAND地址。然后MCC/ECC单元72使用来自FFS的物理NAND地址产生适当的地址和控制信号给NAND存储器14,以及索引地址和控制信号给RAM存储器16。然后将自NAND存储器14读取的整页的数据从NAND存储器14经过MUX 80传送到RAM存储器16,在此其被写入到借助来自MCC/ECC单元72的偏移地址和来自索引地址寄存器66b的索引地址所指定的RAM存储器16中的位置页中,并且通过MCC/ECC单元72在其上被操作以通过错误校正检查等确保数据的完整性。然后将CAM 66的当前页地址寄存器进行更新以添加包含当前读取失败地址的页地址66a和相关联的索引地址66b。命中/失败比较逻辑68取消声明在等待状态信号26上的信号。此外,MCU将MUX 80切换到默认位置。命中/失败比较逻辑68发送索引地址66b到MUX70,在此它们与来自地址总线22的偏移地址相结合以形成写入到RAM存储器16中的地址。然后从主机装置20到数据总线24经过MUX 84并且经过MUX 80将数据写入到RAM存储器16中。与前面关于没有高速缓存刷新的写入失败的讨论相类似,现在RAM存储器16中的数据是更为当前的并且产生了数据一致性问题,该问题能够通过主机装置20启动高速缓存刷新,或通过存储器控制器12启动高速缓存刷新操作来解决。
在写入命中,没有高速缓存刷新的写入失败、和具有高速缓存刷新的写入失败的每一种情况下,从主机装置20的角度来观察,该操作与对RAM装置的写入没有任何的不同,且在写入失败的情况下具有等待时间。主机装置20不必处理地址转变和/或数据一致性。
为了进一步减小在具有高速缓存刷新的读取失败或具有高速缓存刷新的写入失败的情况下由首先执行从RAM存储器16到NAND存储器14的写入操作以解决数据一致性问题的需要所引起的等待时间,可以执行如下操作。将被写入到NAND存储器14中的数据页首先从RAM存储器16写入到本地SRAM 46中。这是比直接写入到NAND存储器14中快得多的操作。其后,具有高速缓存刷新的读取失败或写入失败高速缓存刷新操作继续进行,似乎其是没有高速缓存刷新的读取失败或没有高速缓存刷新操作的写入失败。在读取失败或写入失败操作完成后,当存储器装置10空闲或存取局限于在NOR存储器存取部分50或RAM存储器存取部分54或结构寄存器存取部分56中的操作时,存储在本地SRAM 46中的数据能够在后台操作中被写入到NAND存储器14中。
应当注意,在PNOR操作中,从主机装置20的角度来观察,该操作与对RAM存储器所执行的没有任何的不同,且数据是非易失性的,但是主机装置20不发布NOR协议命令,例如扇区或块擦除。然而,在本发明内存储器装置10还能够使用RAM存储器16和NAND存储器14模拟NOR操作。在那样的情况下,对于NOR存储器存取部分50进行映射的存储器空间将延伸以超过仅对NOR存储器44的映射。NOR存储器存取部分50能够被映射到RAM存储器16的一部分,且RAM存储器16被静态地映射到NAND存储器14,从而在存取的过程中不出现等待问题。来自NAND存储器14的数据在加电时将被加载到RAM 16中,并且对NOR存储器存取部分50的读取/写入将从RAM存储器16读取或写入到RAM存储器16。仅其它的变化将用于存储器控制器12响应于NOR协议命令。如之前所讨论的,当由主机装置20发布这样的NOR协议命令时,它们被提供作为唯一的数据模式的序列。在数据总线24上提供的数据将经过MUX 84并且经过MUX 80。由于在地址总线上提供的地址表明操作将在由RAM存储器16所模拟的NOR存储器存取部分50中进行,因此切换MUX 74以允许MCU 64接收该数据模式。一旦该数据模式被解码为NOR命令,则MCU利用那些NOR命令操作NAND存储器14,如果例如该命令为擦除。当然,作为易失性存储器的RAM存储器16不必被“擦除”。因此,借助模拟NOR存储器44的RAM存储器16,NOR协议命令的执行将导致比执行NOR协议命令的真实NOR存储器44更快的操作。进一步地,该模拟操作不需要模拟全部NOR协议命令集。代替地,控制器12能够模拟部分NOR协议命令集。因此,如这里所使用的,术语“NOR协议命令”表示来自由例如英特尔公司或AMD公司所发布的全部NOR协议命令集的一个或多个命令。
RAM存储器操作
在RAM存储器16读取操作中,主机装置20将在存储器空间的RAM存储器存取部分54内的地址总线22上的地址信号发送到存储器装置10。此外,由主机装置20将在控制总线32上的适当的控制信号发送到存储器装置10。由于地址信号在RAM存储器存取部分54中,因此命中/失败比较逻辑68激活MUX 70以允许来自地址总线22和控制总线32的地址/控制信号被提供给RAM存储器16。然而,等待状态信号26没有被声明。此外,来自主机装置20的地址被解码并且连同来自控制总线32的控制信号一起形成提供给RAM存储器16的地址信号,在此读取来自所提供的地址的数据。然后将该数据沿数据总线提供到MUX 80和MUX 84并且沿数据总线24向外提供到主机装置20,从而完成读取循环。
在RAM存储器16写入操作中,主机装置20将在存储器空间的RAM存储器存取部分54内的地址总线22上的地址信号发送到存储器装置10。此外,由主机装置20将在控制总线32上的适当的控制信号发送到存储器装置10。由于地址信号在RAM存储器存取部分54中,因此命中/失败比较逻辑68激活MUX 70以允许来自地址总线22和控制总线32的地址/控制信号被提供给RAM存储器16。然而,等待状态信号26没有被声明。此外,来自主机装置20的地址被解码并且连同来自控制总线32的控制信号一起形成提供给RAM存储器16的地址信号,在此将来自数据总线24的数据在所提供的地址处写入到RAM存储器16中。
由主机装置20的观察,RAM存储器存取部分中的读取或写入操作与存取RAM装置没有任何的不同且没有等待。
结构寄存器操作
在结构寄存器操作中,主机装置20将在存储器空间的结构寄存器存取部分56内的地址总线22上的地址信号发送到存储器装置10。此外,由主机装置20将在控制总线32上的适当的控制信号发送到存储器装置10。然后将数据写入到非易失性寄存器60中。
NAND存储器操作
在NAND存储器14读取操作中,主机装置20将在存储器空间的大容量存储存取部分58或ATA存储器存取部分58内的地址总线22上的地址信号发送到存储器装置10。此外,由主机装置20将在控制总线32上的适当的控制信号发送到存储器装置10。由于地址信号处于除了在PNOR存储器存取部分52中以外的空间中,因此命中/失败比较逻辑68未被激活,并且等待状态信号26未被声明。主机装置20遵从ATA协议以对于ATA读取/写入命令来读取/写入任务文件寄存器79。任务文件寄存器79包括用于存储:命令、状态、柱面(cylinder)、磁头(head)、扇区等的寄存器。MCC/ECC单元72在MCU 64的控制下操作将主逻辑地址转变为NAND物理地址的闪存文件系统,且具有避免使用有缺陷的NAND扇区的能力。参考美国专利6,427,186;6,405,323;6,141,251和5,982,665,其公开的全部内容被并入作为参考。每个来自主机装置20的逻辑地址在被称为V页的表中具有入口。该入口的内容指向存储逻辑地址数据的物理地址。
为了从NAND存储器14读取数据页,将地址信号和控制信号提供给NAND存储器14。主机装置20遵从ATA协议,并且任务文件寄存器79存储命令和逻辑地址。每个扇区大小为512字节。主机装置20通过读取存储器空间的任务文件寄存器存取部分58中的状态寄存器79来检验存储器10是否准备就绪。主机装置20将“读取”命令写入到存储器空间58内的命令寄存器79中。MCU64执行逻辑地址到物理地址的FFS转变并且MCC/ECC单元72在MCU 64的控制下从NAND存储器14读取数据,并将数据页传送到缓冲器81中。在整页数据被存储到数据寄存器81中,并且通过MCC/ECC单元72在其上被操作以通过错误校正检查等确保数据的完整性之后,沿数据总线24将数据从存储器控制器12中读出。
写入NAND存储器14的操作与从NAND存储器14读取的操作相类似。主机装置20通过读取任务存储器空间58部分中的状态寄存器79来检查存储器10是否准备就绪。主机装置20将一页数据写入到数据寄存器81中,然后将“写入”命令和逻辑地址一起写入到命令寄存器79中。其后,使用FFS的MCU 64将逻辑地址转变为物理地址并且MCC/ECC单元72在MCU 64的控制下将来自ATA缓冲器81的该一页数据写入到NAND存储器14中。
FFS通过定位将要被更新的页的物理地址来更新数据页。FFS发现已擦除的扇区作为“缓冲器扇区”或者如果没有已擦除的扇区,则其首先对扇区执行擦除操作。然后FFS读取旧的还没有被修改并且编程到缓冲器扇区的数据。然后FFS将更新的页数据进行编程。然后其等待下一请求。如果下一页在同一个擦除扇区上,则FFS继续更新操作。如果下一页在正传送的擦除扇区之外,则未修改数据的其余部分将被复制到缓冲器扇区。映射表入口被改变为缓冲器扇区物理地址。然后开始新的页更新操作。
参考图4示出了存储器装置10的第二实施例。存储器装置110与图1所示的存储器装置10相类似。因此,类似的数字代表类似的部分。存储器装置110和存储器装置10之间唯一的不同点为在存储器装置100中,第二RAM总线40直接将RAM存储器100连接到主机装置20,而不是连接到存储器控制器12。因此,在存储器装置110中,主机装置具有对RAM存储器100的直接存取和控制。
存储器装置10的实施例和存储器装置110的实施例之间的该不同点反映在图5所示的存储器映射中。与存储器装置10类似,对存储器装置10的存储器映射包括映射到NOR存储器44的NOR存储器存取部分50、映射到存储器装置110中的RAM存储器16的PNOR存储器存取部分52,其然后被映射到NAND存储器14、以及映射到RAM存储器16的RAM存储器存取部分54。然而,在RAM存储器100可直接被主机装置20通过第二RAM总线40存取的情况下,对存储器装置110的存储器映射还包含另一个RAM存储器存取部分55,其直接映射到RAM存储器100。然后存储器装置110进一步包括结构寄存器存取部分56,以及最后包括ATA存储器存取部分58,其与关于存储器装置10所描述的类似。
在存储器控制器12与主机装置20和NAND存储器14接口连接的情况下,存储器装置10比现有技术中的存储器装置提供更多的保护。特别地,存储器控制器12能够限制对存储在NAND存储器14中的特定数据的存取,如在涉及数字版权管理的关注中。进一步地,存储器控制器12能够加密存储于NAND存储器14中的数据来保护敏感的数据。最后,存储器控制器12能够提供保护以避免NAND存储器14的一个或多个特定部分中的意外数据擦除。最后利用存储在NOR存储器62中的程序,存储器控制器12成为自启动装置,因为它不需要来自主机装置20的初始命令。
参考图6,示出了本发明的存储器装置210的方框图。该存储器装置210类似于存储器装置10。它包括类似于存储器控制器12、连接到NAND存储器14和RAM存储器16的存储器控制器112。该控制器112被连接到单个总线23,其是图1中所示的第一RAM地址总线22、第一RAM数据总线24、和第一RAM控制总线32的集合。然而,不同于图1所示的实施例,该单个总线23被连接到多个处理器120(a-c)。该多个处理器120(a-c)中的每一个可以对总线23进行存取,从而对存储器装置210存取。因此,该单个总线23被所有处理器120(a-c)共享。
为了由处理器120(a-c)中的每一个存取存储器装置210,每个处理器120具有向控制器112发送信号请求允许存取总线23的相关联的总线请求信号线122、以及来自存储器装置210的控制器112的许可该请求的总线许可信号线124。因而,当由控制器112对处理器120之一许可允许时,至其他处理器120的总线许可线124将处于禁止模式。每个处理器120可以存取如图2所示的存储器装置210中的所有存储器空间,或者存储器装置210中的存储器空间可以被划分使得仅特定地址空间可用于特定处理器120。存储器装置210的实施例的缺点在于所有处理器120必须共享同一总线23。因此可能存在性能损失(performance hit)。
参考图7,示出了本发明的存储器装置310的另一个实施例的方框图。存储器装置310类似于存储器装置210。它包括连接到NAND存储器14和RAM存储器16的存储器控制器212。存储器控制器212被连接到三个总线23(a-c),其每一个是图1中所示的第一RAM地址总线22、第一RAM数据总线24和第一RAM控制总线32的集合。总线23(a-c)的每一个连接到单个处理器120(a-c)。该多个处理器120(a-c)中的每一个可以存取它的总线23,由此对存储器装置310进行存取。
进一步地,存储器控制器212包括多个控制器12(a-c),且每个控制器12具有专用的相关联的NOR存储器44和SRAM存储器46。因此,每个处理器120具有相关联的专用总线23和相关联的专用控制器12。因而,与图6所示的存储器装置210的实施例不同,每个处理器120无需请求(和等待)总线许可。此外,由于每个控制器12具有专用的NOR存储器44,因此图2所示的地址空间中的NOR存储器存取部分50可被每个处理器120单独寻址。此外,每个处理器120专用的每个控制器12中的SRAM 46用作专用于为该处理器120服务的一级高速缓存。存储器装置310具有NAND存储器14和SDRAM存储器16,其通常被所有处理器120共享。因而,对NAND存储器14或者SDRAM存储器16的存取的请求必须提供给仲裁电路250。结果,控制器12请求对SDRAM存储器16进行存取,它在至仲裁电路250的总线请求线上请求,并且仲裁电路250通过发送总线许可信号给进行请求的控制器12来进行响应。然后仲裁电路250禁止其它控制器12对该总线的存取。这类似于前面关于图6所示的对总线23的存取所述的方案。类似于图1所示和所描述的实施例,从存储器控制器212,单个总线40连接到SDRAM 16,并且单个总线42连接到NAND存储器14。
在操作中,当存在命中时在处理器120的一侧不存在性能退化。当每个处理器请求对NOR存储器地址空间50存取时,也不存在性能退化。如果每个处理器120请求在PNOR空间52或RAM地址空间54中的地址并且存在一级高速缓存失败,即在相关联的SRAM 46中未发现数据,那么每个控制器12访问仲裁电路250,寻求对至SDRAM 16的总线的控制。如果二级高速缓存也失败,则控制器12将寻求对至NAND存储器14的总线的控制。当从NAND存储器14中重新获得数据以填充二级高速缓存存储器SDRAM 16时,相同的数据也可以写入到进行请求的控制器12的一级高速缓存SRAM存储器46中(取决于SDRAM存储器46的大小)。如果所有处理器120(a-c)使用单独的地址范围,则将保持单个高速缓存。如果所有处理器120(a-c)共享相同的地址范围,则将使用修改、独占、共享、无效(MESI)高速缓存协议。具有单个高密度存储器SDRAM存储器16或NAND存储器14比多个低密度存储器更节省成本。
参考图8,示出了本发明的存储器装置410的另一实施例的方框图。存储器装置410类似于存储器装置310。它包括类似于存储器控制器212的存储器控制器312,其通过单个总线42连接到NAND存储器14,并通过多个总线40(a-c)连接到多个RAM存储器16。存储器控制器312连接到三个总线23(a-c),其每一个是图1中所示的第一RAM地址总线22、第一RAM数据总线24和第一RAM控制总线32的集合。总线23(a-c)中的每一个连接到相关联的处理器120(a-c)。该多个处理器120(a-c)中的每一个可以存取其总线23,从而对存储器装置410进行存取。
此外,存储器控制器312包括多个控制器12(a-c)且每个控制器12具有专用的相关联的NOR存储器44和SRAM存储器46,以及具有相关联的专用SDRAM存储器16。因此,每个处理器120具有相关联的专用总线23、相关联的专用控制器12、和相关联的SDRAM存储器16。因而,与图7所示的存储器装置310的实施例不同,如果期望对存储在SDRAN存储器16中的二级高速缓存进行存取,则每个处理器120无需请求(和等待)总线许可。此外,由于每个控制器12具有专用的NOR存储器44,因此NOR存储器存取部分50可被每个处理器120单独寻址。此外,每个控制器12中的SRAM 46和每个处理器120专用的SDRAM16用作专用于为该处理器120服务的一级和二级高速缓存。存储器装置410具有NAND存储器14,其通常被所有处理器120共享。因而,对NAND存储器14的存取的请求必须提供给仲裁电路250。
在操作中,当存在命中时在处理器120的一侧不存在性能退化。当每个处理器请求对NOR存储器地址空间50存取时,也不存在性能退化。如果每个处理器120请求在PNOR空间52或RAM地址空间54中的地址并且存在一级高速缓存失败,即在相关联的SRAM 46中未发现数据,那么每个控制器12访问相关联的SDRAM存储器16。如果二级高速缓存也失败,则控制器12将寻求对至NAND存储器14的总线的控制。当从NAND存储器14中重新获得数据时,它填充二级高速缓存存储器SDRAM 16。如果所有处理器120(a-c)使用单独的地址范围,则将保持单个高速缓存。如果所有处理器120(a-c)共享相同的地址范围,则将使用修改、独占、共享、无效(MESI)高速缓存协议。具有单个高密度NAND存储器14比多个低密度存储器更节省成本。
参考图9,示出了本发明的存储器装置510的另一实施例的方框图。存储器装置510类似于存储器装置410。它包括类似于存储器控制器312的存储器控制器412,其通过单个总线42连接到NAND存储器14。存储器控制器312连接到三个总线23(a-c),其每一个是图1中所示的第一RAM地址总线22、第一RAM数据总线24和第一RAM控制总线32的集合。总线23(a-c)的每一个连接到相关联的处理器120(a-c)。该多个处理器120(a-c)中的每一个可以存取其总线23,从而对存储器装置410进行存取。
此外,存储器控制器312还包括多个控制器12(a-c)且每个控制器12具有集成在其中的专用的相关联的NOR存储器44和SRAM存储器46以及SDRAM16。因而,与图8所示的存储器装置410的实施例不同,存储器装置510不具有在存储器控制器412外部将存储器控制器412连接到SDRAM 16的任可总线40。在所有其他方面中,存储器装置510与存储器装置410类似。
本发明存在多个方面。首先,存储器装置10、110、210、310、410或510为通用的存储器装置。该存储器装置具有存储器控制器,该存储器控制器具有用于接收RAM地址信号的第一地址总线,用于接收RAM数据信号的第一数据总线,以及用于接收RAM控制信号的第一控制总线。存储器控制器具有嵌入在其中的NOR存储器并且进一步具有用于接口连接易失性的RAM存储器的第二地址总线,用于接口连接易失性的RAM存储器的第二数据总线,以及用于接口连接易失性的RAM存储器的第二控制总线。该控制器进一步具有用于接口连接非易失性NAND存储器的第三地址/数据总线,和用于接口连接非易失性NAND存储器的第三控制总线。该存储器装置进一步具有连接到所述第二地址总线,所述第二数据总线和所述第二控制总线的RAM存储器。该存储器装置进一步具有连接到第三地址/数据总线和第三控制总线的非易失性NAND存储器。该控制器响应于在第一地址总线上提供的地址信号,由此NOR存储器响应于在第一地址总线上提供的第一地址范围,由此RAM存储器响应于在第一地址总线上提供的第二地址范围,以及由此NAND存储器响应于在第一地址总线上提供的第三地址范围。
在本发明的另一方面中,该存储器装置是通用的存储器装置,其中用户能够限定存储器空间分配。该存储器装置具有存储器控制器,该存储器控制器具有用于接收RAM地址信号的第一地址总线,用于接收RAM数据信号的第一数据总线,和用于接收RAM控制信号的第一控制总线。该存储器控制器具有嵌入在其中的NOR存储器并且进一步具有用于接口连接易失性RAM存储器的第二地址总线,用于接口连接易失性RAM存储器的第二数据总线,以及用于接口连接易失性RAM存储器的第二控制总线。该控制器进一步具有用于接口连接非易失性NAND存储器的第三地址/数据总线,和用于接口连接非易失性NAND存储器的第三控制总线。该存储器装置进一步具有与所述第二地址总线,所述第二数据总线,以及所述第二控制总线相连接的RAM存储器。该存储器装置进一步具有与第三地址/数据总线和第三控制总线相连接的非易失性NAND存储器。该存储器装置响应于限定存储器空间分配的用户,其中在第一地址总线上提供的第一地址范围内,该存储器装置响应于NOR存储器操作,包含响应于NOR协议命令,以及在第一地址总线上提供的第二地址范围内,该存储器装置响应于RAM操作,以及在地址总线上提供的第三地址范围内,该存储器装置响应于用作ATA盘驱动装置的NAND存储器,其中第一,第二和第三地址范围都可以由用户限定。
在本发明的另一方面中,该存储器装置具有存储器控制器,该存储器控制器具有用于接收RAM地址信号的第一地址总线,用于接收RAM数据信号的第一数据总线,和用于接收RAM控制信号的第一控制总线。该存储器控制器进一步具有用于接口连接易失性RAM存储器的第二地址总线,用于接口连接易失性RAM存储器的第二数据总线,以及用于接口连接易失性RAM存储器的第二控制总线。该控制器进一步具有用于接口连接非易失性NAND存储器的第三地址/数据总线,和用于接口连接非易失性NAND存储器的第三控制总线。该存储器装置进一步具有与所述第二地址总线,所述第二数据总线,以及所述第二控制总线相连接的RAM存储器。该存储器装置进一步具有与第三地址/数据总线和第三控制总线相连接的非易失性NAND存储器。该控制器进一步具有用于接收第一地址总线上的第一地址并将第一地址映射到非易失性NAND存储器中的第二地址的装置,且易失性RAM存储器对于到或来自非易失性NAND存储器中的第二地址的数据用作高速缓存,以及用于保持存储于作为高速缓存的易失性RAM存储器中的数据和在非易失性NAND存储器中的第二地址处的数据之间的数据一致性的装置。另外,用于保持存储于易失性RAM存储器中的数据和存储于非易失性NAND存储器中的数据之间的数据一致性的装置可以基于硬件或者基于软件。最后,用于在非易失性NAND存储器中将第一地址总线上的地址映射到第二地址上的地址的装置也可以基于硬件或者基于软件。
在本发明的另一方面中,该存储器装置具有存储器控制器,该存储器控制器用于接收NOR地址信号的第一地址总线,用于接收NOR数据信号和数据协议命令的第一数据总线,和用于接收NOR控制信号的第一控制总线。该存储器控制器进一步具有用于接口连接易失性RAM存储器的第二地址总线,用于接口连接易失性RAM存储器的第二数据总线,以及用于接口连接易失性RAM存储器的第二控制总线。该控制器进一步具有用于接口连接非易失性NAND存储器的第三地址/数据总线,和用于接口连接非易失性NAND存储器的第三控制总线。该存储器装置进一步具有与所述第二地址总线,所述第二数据总线,以及所述第二控制总线相连接的RAM存储器。该存储器装置进一步具有与第三地址/数据总线和第三控制总线相连接的非易失性NAND存储器。该控制器进一步操作RAM存储器以模拟包含NOR协议命令的NOR存储器装置的操作。
Claims (40)
1.一种存储器控制器,包括:
第一总线,用于从主机装置接收地址信号和数据信号;
第二总线,用于与易失性RAM存储器装置接口连接;
第三总线,用于与NAND存储器装置接口连接;
非易失性存储器,用于存储用于所述存储器控制器的可引导代码,所述可引导代码用于启动所述控制器的操作;
用于从第一总线接收第一地址并用于将所述第一地址映射到所述NAND存储器装置的第二地址,以及用于操作作为用于至或来自所述NAND存储器装置中的第二地址的数据的高速缓存的所述易失性RAM存储器装置的装置;以及
用于保持存储在所述NAND存储器装置中的所述第二地址处的数据与存储在用作高速缓存的所述易失性RAM存储器中的数据之间的数据一致性的装置。
2.如权利要求1所述的存储器控制器,进一步包括连接到所述第二总线的RAM。
3.如权利要求1所述的存储器控制器,进一步包括:
用于从所述第一总线接收NOR协议命令,并用于对所述NAND存储器装置操作所述NOR命令的装置。
4.一种存储器控制器,包括:
第一总线,用于从主机装置接收地址信号和数据信号;
第二总线,用于与易失性RAM存储器装置接口连接;
第三总线,用于与NAND存储器装置接口连接;
NOR存储器,用于存储用于所述存储器控制器的可引导代码,所述可引导代码用于启动所述控制器的操作;
用于从所述第一总线接收NOR协议命令,并用于操作所述NOR存储器,以及用于操作所述易失性RAM存储器装置以模拟NOR存储器的操作的装置;以及
用于操作作为ATA存储装置的NAND存储器装置的装置。
5.如权利要求4所述的存储器控制器,进一步包括:
寄存器,用于存储来自主机装置的结构参数,所述结构参数用于将来自第一总线的地址分成NOR操作、RAM操作和NAND操作。
6.如权利要求4所述的存储器控制器,进一步包括连接到所述第二总线的易失性RAM存储器装置。
7.如权利要求4所述的存储器控制器,其中用于操作所述易失性RAM存储器装置以模拟NOR存储器的操作的所述装置进一步包括:
用于从第一总线接收第一地址并且用于将所述第一地址映射到所述NAND存储器装置的第二地址,以及用于操作作为用于至或来自所述NAND存储器装置中的第二地址的数据的高速缓存的所述易失性RAM存储器装置的装置;以及
用于保持存储在所述NAND存储器装置中的所述第二地址处的数据与存储在用作高速缓存的所述易失性RAM存储器中的数据之间的数据一致性的装置。
8.一种存储器控制器,包括:
第一总线,用于从主机装置接收地址信号和数据信号;
第二总线,用于与易失性RAM存储器装置接口连接;
第三总线,用于与NAND存储器装置接口连接;
寄存器,用于存储来自主机装置的结构参数,所述结构参数用于将来自第一总线的地址分成由所述RAM存储器装置进行的操作和由所述NAND存储器装置进行的操作。
9.一种存储器控制器,包括:
第一总线,用于从主机装置接收地址信号和数据信号;
第二总线,用于与易失性RAM存储器装置接口连接;
NOR非易失性存储器装置,其中所述NOR非易失性存储器装置存储被配置用于操作控制器的程序代码,由此被所述控制器接收的所述第一总线上的第一地址用于响应于NOR协议命令操作该NOR存储器,被所述控制器接收的所述第一总线上的第二地址用于响应于RAM存储器协议操作该RAM存储器,以及被所述控制器接收的所述第一总线上的第三地址用于模拟NOR协议命令来操作该RAM存储器。
10.一种存储器控制器,包括:
第一总线,用于从主机装置接收地址信号和数据信号;
第二总线,用于与易失性RAM存储器装置接口连接;
NOR非易失性存储器装置;以及
寄存器,用于存储来自主机装置的结构参数,所述结构参数用于将来自第一总线的地址分成由作为NOR存储器装置的所述NOR存储器装置、作为RAM存储器装置的所述RAM存储器装置、和模拟NOR存储器装置的操作的所述RAM存储器装置进行的操作。
11.一种NOR存储器,包括:
存储器控制器的第一集成电路管芯,其具有用于接收NOR协议命令信号的第一总线;
所述存储器控制器进一步具有用于采用NAND存储器协议与NAND存储器装置进行通信的第二总线;
所述存储器控制器进一步具有NOR存储器,其用于存储用于启动所述存储器控制器的操作的程序代码,并用于从所述第一总线接收NOR协议命令并响应于其在所述第二总线上发出NAND协议命令,以模拟NOR存储器装置的操作;
NAND存储器装置的第二集成电路管芯,其被连接到所述第一集成电路装置的所述第二总线;
其中所述第一和第二集成电路装置被一起封装在同一封装中。
12.如权利要求11所述的NOR存储器,进一步包括:
所述第一集成电路管芯进一步具有第三总线,其用于采用RAM存储器协议与RAM存储器装置进行通信。
13.如权利要求12所述的NOR存储器,进一步包括:
连接到所述第三总线的RAM存储器。
14.如权利要求13所述的NOR存储器,其中所述RAM存储器是独立的集成电路管芯,并被封装在与所述第一和第二集成电路管芯相同的封装中。
15.如权利要求13所述的NOR存储器,其中所述RAM存储器与具有所述存储器控制器的所述第一集成电路管芯集成在一起。
16.如权利要求13所述的NOR存储器,其中所述RAM存储器用作操作用于模拟所述NOR协议命令的所述NAND存储器装置的高速缓存。
17.如权利要求13所述的NOR存储器,进一步包括:
存储器控制器的所述第一集成电路管芯进一步具有寄存器,其用于存储用于将来自第一总线的地址分成NOR操作和使用所述NAND存储器的NOR模拟操作的参数。
18.如权利要求17所述的NOR存储器:
其中所述寄存器用于存储用于将来自第一总线的地址分成NOR操作、使用所述NAND存储器的NOR模拟操作、RAM操作和NAND操作的参数;并且
其中用于分开来自第一总线的地址的所述参数是来自主机装置的结构参数。
19.一种通用存储器,包括:
存储器控制器,其具有用于从主机装置接收地址信号和数据信号的第一总线、用于与NAND存储器接口连接的第二总线;和用于与RAM存储器接口连接的第三总线;以及用于与NOR存储器接口连接的第四总线;
连接到所述第二总线的NAND存储器;
连接到所述第三总线的RAM存储器;
连接到所述第四总线的NOR存储器;并且
其中所述存储器控制器响应于在所述第一总线上提供的NOR协议命令、RAM协议命令和ATA NAND协议命令。
20.如权利要求19所述的通用存储器,其中所述通用存储器是单片集成电路管芯。
21.如权利要求19所述的通用存储器,其中所述存储器控制器是第一集成电路管芯,所述NAND存储器是第二集成电路管芯,所述RAM存储器是第三集成电路管芯,以及所述NOR存储器被集成在所述存储器控制器中。
22.如权利要求21所述的通用存储器,其中所述第一、第二和第三集成电路管芯被封装在一起。
23.如权利要求19所述的通用存储器,其中所述存储器控制器是第一集成电路管芯,所述NAND存储器是第二集成电路管芯,所述RAM存储器和所述NOR存储器被集成在所述存储器控制器中。
24.如权利要求23所述的通用存储器,其中所述第一和第二集成电路管芯被封装在一起。
25.如权利要求19所述的通用存储器,其中所述NOR存储器用于存储程序代码,其被配置用以响应于作为NOR地址的所述第一总线上的第一地址;作为RAM地址的所述第一总线上的第二地址;以及作为ATA NAND地址的所述第一总线上的第三地址。
26.如权利要求25所述的通用存储器,其中所述NOR存储器用于进一步存储被配置用于启动所述存储器控制器的操作的程序代码。
27.如权利要求26所述的通用存储器,其中所述存储器控制器进一步包括:
寄存器,用于存储来自主机装置的结构参数,所述结构参数将来自第一总线的地址分成NOR操作、使用所述NAND存储器的NOR模拟操作、RAM操作和ATANAND操作。
28.如权利要求27所述的通用存储器,其中所述NOR存储器用于进一步存储被配置用于使所述RAM存储器用作用于使用所述NAND存储器的NOR模拟操作的高速缓存的程序代码。
29.一种主机可确定的存储器,包括:
存储器控制器,其具有用于连接到主机装置并用于接收地址信号和数据信号的第一总线;用于连接到NOR存储器的第二总线;用于连接到RAM存储器的第三总线;用于连接到NAND存储器的第四总线;
连接到所述第二总线的NOR存储器;
连接到所述第三总线的RAM存储器;
连接到所述第四总线的NAND存储器;以及
寄存器,用于存储来自主机装置的结构参数,所述结构参数用于将来自第一总线的第一地址分成NOR操作,将来自第一总线的第二地址分成使用所述NAND存储器的NOR模拟操作,将来自第一总线的第三地址分成RAM操作,以及将来自第一总线的第四地址分成ATA NAND操作。
30.如权利要求29所述的主机可确定的存储器,其中所述NOR存储器与所述存储器控制器集成到同一集成电路管芯中。
31.如权利要求30所述的主机可确定的存储器,其中所述RAM存储器与所述存储器控制器集成到同一集成电路管芯中。
32.如权利要求30所述的主机可确定的存储器,其中所述RAM存储器是第一集成电路管芯,以及所述存储器控制器是第二集成电路管芯,并且其中所述第一集成电路管芯与所述第二集成电路管芯封装在一起。
33.如权利要求29所述的主机可确定的存储器,其中所述NOR存储器用于存储被配置用于启动所述存储器控制器的操作的程序代码。
34.一种NOR模拟存储器,包括:
存储器控制器,其具有用于存储用于启动存储器控制器的操作的程序代码的非易失性存储器,并具有用于从主机装置接收地址和数据信号的第一总线;用于与RAM存储器接口连接的第二总线;以及用于与NAND存储器接口连接的第三总线;
连接到所述第二总线的易失性RAM存储器;
连接到所述第三总线的NAND存储器;
用于从所述第一总线接收NOR协议命令和第一地址,并用于将所述第一地址映射到所述NAND存储器中的第二地址,以及用于响应其来操作所述NAND存储器的装置,并且所述RAM存储器用作用于至或来自该NAND存储器中的第二地址的数据的高速缓存;以及
用于保持作为高速缓存的RAM中所存储的数据与在NAND存储器中的第二地址处的数据之间的数据一致性的装置。
35.如权利要求34所述的NOR模拟存储器,其中所述用于接收的装置和所述用于保持的装置包括存储在所述非易失性存储器中的程序代码。
36.如权利要求34所述的NOR模拟存储器,其中所述易失性RAM被嵌入到所述存储器控制器中,并且其中所述存储器控制器是第一集成电路管芯,以及其中所述NAND存储器是第二集成电路管芯,并且其中所述第一和第二管芯封装在一起。
37.一种存储器装置,包括:
存储器控制器,其具有用于与多个主机装置接口连接的多个第一总线,且每个第一总线与每个主机装置连接;并具有多个第二总线;
连接到该多个第二总线并具有输出总线的仲裁电路;
连接到仲裁电路的输出总线的NAND存储器;并且
其中所述主机装置的每一个具有通过所述仲裁电路对所述NAND存储器的存取。
38.如权利要求37所述的存储器装置,进一步包括:
所述存储器控制器具有多个第三总线;
连接到该多个第三总线并具有输出总线的第二仲裁电路;
连接到第二仲裁电路的输出总线的易失性RAM存储器;并且
其中所述主机装置的每一个具有通过所述第二仲裁电路对所述易失性RAM存储器的存取。
39.一种存储器装置,包括:
存储器控制器,其具有用于与多个主机装置接口连接的第一总线,且每个主机装置被提供有来自所述存储器控制器的用于许可对所述第一总线的存取的单独的控制信号;该存储器控制器还具有多个第二总线和多个第三总线;
连接到该多个第二总线并具有第一输出总线的第一仲裁电路;
连接到第一仲裁电路的第一输出总线的NAND存储器;
其中所述主机装置的每一个具有通过所述第一仲裁电路对所述NAND存储器的存取;
连接到该多个第三总线并具有第二输出总线的第二仲裁电路;
连接到第二仲裁电路的第二输出总线的易失性RAM存储器;并且
其中所述主机装置的每一个具有通过所述第二仲裁电路对所述易失性RAM存储器的存取。
40.一种存储器装置,包括:
存储器控制器,其具有用于与多个主机装置接口连接的多个第一总线,且每个第一总线用于从不同的主机装置接收地址信号和数据信号,用于与NAND存储器接口连接的第二总线;和用于与RAM存储器接口连接的第三总线;以及用于与NOR存储器接口连接的第四总线;
连接到所述第二总线的NAND存储器;
连接到所述第三总线的RAM存储器;
连接到所述第四总线的NOR存储器;并且
其中所述存储器控制器响应于在所述不同的第一总线的每一个上提供的NOR协议命令、RAM协议命令和ATA NAND协议命令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75493705P | 2005-12-28 | 2005-12-28 | |
US60/754937 | 2005-12-28 | ||
US11/637420 | 2006-12-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101017460A true CN101017460A (zh) | 2007-08-15 |
Family
ID=38700898
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100643904A Pending CN101013351A (zh) | 2005-12-28 | 2006-12-27 | 硬盘驱动器高速缓存存储器及重放装置 |
CNA2006100644983A Pending CN101017460A (zh) | 2005-12-28 | 2006-12-27 | 统一的存储器和控制器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100643904A Pending CN101013351A (zh) | 2005-12-28 | 2006-12-27 | 硬盘驱动器高速缓存存储器及重放装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7519754B2 (zh) |
JP (1) | JP2007183961A (zh) |
KR (1) | KR20070070122A (zh) |
CN (2) | CN101013351A (zh) |
TW (1) | TWI317478B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
CN102460402A (zh) * | 2009-06-30 | 2012-05-16 | 柰米闪芯积体电路有限公司 | 用于混合数据、编码及缓冲存储器集成在芯片上具有基于nand的nor、nand闪存及sram的内存系统 |
CN102591816A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种多通道Nandflash存储系统 |
CN103890688A (zh) * | 2011-07-28 | 2014-06-25 | 奈特力斯公司 | 一种flash-dram混合存储器模块 |
WO2014139047A1 (en) * | 2013-03-14 | 2014-09-18 | Micron Technology, Inc. | Memory systems and methods including training,data organizing,and/or shadowing |
CN104461959A (zh) * | 2014-11-05 | 2015-03-25 | 福州瑞芯微电子有限公司 | 区分NOR Flash与NAND Flash的方法和装置 |
CN107229417A (zh) * | 2016-03-25 | 2017-10-03 | 三星电子株式会社 | 数据存储设备及其操作方法 |
CN108549609A (zh) * | 2011-09-30 | 2018-09-18 | 英特尔公司 | 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram) |
US10719246B2 (en) | 2013-06-11 | 2020-07-21 | Netlist, Inc. | Non-volatile memory storage for multi-channel memory system |
CN114049905A (zh) * | 2021-12-16 | 2022-02-15 | 西安紫光国芯半导体有限公司 | 非易失三维存储单元、存储方法、芯片组件和电子设备 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060064386A1 (en) | 2004-09-20 | 2006-03-23 | Aaron Marking | Media on demand via peering |
US11734393B2 (en) | 2004-09-20 | 2023-08-22 | Warner Bros. Entertainment Inc. | Content distribution with renewable content protection |
US8135900B2 (en) * | 2007-03-28 | 2012-03-13 | Kabushiki Kaisha Toshiba | Integrated memory management and memory management method |
JP5032172B2 (ja) * | 2007-03-28 | 2012-09-26 | 株式会社東芝 | 統合メモリ管理装置及び方法並びにデータ処理システム |
US7958301B2 (en) * | 2007-04-10 | 2011-06-07 | Marvell World Trade Ltd. | Memory controller and method for memory pages with dynamically configurable bits per cell |
US8904098B2 (en) | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
US20080306723A1 (en) * | 2007-06-08 | 2008-12-11 | Luca De Ambroggi | Emulated Combination Memory Device |
US7996600B2 (en) * | 2007-08-30 | 2011-08-09 | Unity Semiconductor Corporation | Memory emulation in an electronic organizer |
US8164656B2 (en) * | 2007-08-31 | 2012-04-24 | Unity Semiconductor Corporation | Memory emulation in an image capture device |
US9201790B2 (en) * | 2007-10-09 | 2015-12-01 | Seagate Technology Llc | System and method of matching data rates |
US8165621B2 (en) * | 2007-10-10 | 2012-04-24 | Unity Semiconductor Corporation | Memory emulation in a cellular telephone |
US7751221B2 (en) * | 2007-12-21 | 2010-07-06 | Unity Semiconductor Corporation | Media player with non-volatile memory |
US7913030B2 (en) * | 2007-12-28 | 2011-03-22 | Sandisk Il Ltd. | Storage device with transaction logging capability |
US7979662B2 (en) * | 2007-12-28 | 2011-07-12 | Sandisk Il Ltd. | Storage device with transaction indexing capability |
KR101553532B1 (ko) | 2008-04-17 | 2015-09-16 | 삼성전자주식회사 | 스토리지 장치 |
CN101788951B (zh) * | 2008-08-15 | 2012-10-10 | 北京北大众志微系统科技有限责任公司 | 一种网络计算机的存储方法 |
US8281169B2 (en) | 2008-08-27 | 2012-10-02 | Wireless Silicon Group, Inc. | Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM) |
US8156320B2 (en) * | 2008-08-27 | 2012-04-10 | Wireless Silicon Group, Llc | Method and apparatus for fast booting a portable computing device allowing for immediate operation |
US8250285B2 (en) * | 2008-09-10 | 2012-08-21 | Infinte Mormories Ltd. | Non-volatile dual memory die for data storage devices |
DE112008004010T5 (de) * | 2008-09-15 | 2011-06-30 | Hewlett-Packard Development Company, L.P., Tex. | Verfahren und Vorrichtung zum Verwalten eines nichtflüchtigen Disk-Cache |
EP2454736A4 (en) * | 2009-07-17 | 2013-08-28 | Secure Content Storage Ass Llc | DETECTION OF MULTIMEDIA CLONES BY NON-AUTONOMOUS SINGLE PAIRING |
CN101702139B (zh) * | 2009-11-24 | 2011-11-30 | 中兴通讯股份有限公司 | 一种访问Nand闪存数据的方法和装置 |
JP2011197819A (ja) * | 2010-03-17 | 2011-10-06 | Toshiba Corp | 半導体装置 |
JP5532059B2 (ja) * | 2012-01-27 | 2014-06-25 | 株式会社日立製作所 | 半導体装置 |
US9128822B2 (en) * | 2012-06-22 | 2015-09-08 | Winbond Electronics Corporation | On-chip bad block management for NAND flash memory |
US9330007B2 (en) | 2012-11-30 | 2016-05-03 | Dell Products, Lp | Systems and methods for dynamic optimization of flash cache in storage devices |
CN103871447B (zh) * | 2012-12-14 | 2017-03-01 | 华邦电子股份有限公司 | 与非门快闪存储器阵列及芯片及其存取、读取及管理方法 |
US9324450B2 (en) | 2013-03-13 | 2016-04-26 | Winbond Electronics Corporation | NAND flash memory |
US9449032B2 (en) * | 2013-04-22 | 2016-09-20 | Sap Se | Multi-buffering system supporting read/write access to different data source type |
US10185515B2 (en) | 2013-09-03 | 2019-01-22 | Qualcomm Incorporated | Unified memory controller for heterogeneous memory on a multi-chip package |
US9442798B2 (en) | 2014-07-31 | 2016-09-13 | Winbond Electronics Corporation | NAND flash memory having an enhanced buffer read capability and method of operation thereof |
US9367392B2 (en) | 2014-08-01 | 2016-06-14 | Winbond Electronics Corporation | NAND flash memory having internal ECC processing and method of operation thereof |
US10866737B2 (en) * | 2015-09-17 | 2020-12-15 | Intel Corporation | Apparatus, method and system to store information for a solid state drive |
CN105512054B (zh) | 2015-12-09 | 2018-11-09 | 上海兆芯集成电路有限公司 | 主机接口控制器以及储存装置控制方法 |
US10067877B1 (en) * | 2016-06-30 | 2018-09-04 | EMC IP Holding Company LLC | Method, apparatus and computer program product for use in managing multi-cache data storage systems |
TWI814647B (zh) * | 2022-11-24 | 2023-09-01 | 慧榮科技股份有限公司 | 執行主機命令的方法及電腦程式產品及裝置 |
Family Cites Families (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4534011A (en) * | 1982-02-02 | 1985-08-06 | International Business Machines Corporation | Peripheral attachment interface for I/O controller having cycle steal and off-line modes |
JPS61114631A (ja) * | 1984-11-07 | 1986-06-02 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 通信アダプタ |
US4860192A (en) * | 1985-02-22 | 1989-08-22 | Intergraph Corporation | Quadword boundary cache system |
US4837677A (en) * | 1985-06-14 | 1989-06-06 | International Business Machines Corporation | Multiple port service expansion adapter for a communications controller |
US5276807A (en) * | 1987-04-13 | 1994-01-04 | Emulex Corporation | Bus interface synchronization circuitry for reducing time between successive data transmission in a system using an asynchronous handshaking |
US5134706A (en) * | 1987-08-07 | 1992-07-28 | Bull Hn Information Systems Inc. | Bus interface interrupt apparatus |
US4974153A (en) * | 1987-09-04 | 1990-11-27 | Digital Equipment Corporation | Repeater interlock scheme for transactions between two buses including transaction and interlock buffers |
US4955024A (en) * | 1987-09-14 | 1990-09-04 | Visual Information Technologies, Inc. | High speed image processing computer with error correction and logging |
US4965717A (en) * | 1988-12-09 | 1990-10-23 | Tandem Computers Incorporated | Multiple processor system having shared memory with private-write capability |
US5189665A (en) * | 1989-03-30 | 1993-02-23 | Texas Instruments Incorporated | Programmable configurable digital crossbar switch |
US5805792A (en) * | 1989-07-31 | 1998-09-08 | Texas Instruments Incorporated | Emulation devices, systems, and methods |
US5218686A (en) * | 1989-11-03 | 1993-06-08 | Compaq Computer Corporation | Combined synchronous and asynchronous memory controller |
GB9019022D0 (en) * | 1990-08-31 | 1990-10-17 | Ncr Co | Work station or similar data processing system including interfacing means to microchannel means |
US5210530A (en) * | 1991-01-04 | 1993-05-11 | Codex Corporation | Network management interface with internal dsd |
KR960001273B1 (ko) * | 1991-04-30 | 1996-01-25 | 가부시키가이샤 도시바 | 단일칩 마이크로컴퓨터 |
US5778418A (en) * | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
US5341487A (en) * | 1991-12-20 | 1994-08-23 | International Business Machines Corp. | Personal computer having memory system with write-through cache and pipelined snoop cycles |
JPH0727494B2 (ja) * | 1992-01-02 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | キャッシュ・スヌープ/データ無効化機能を有するコンピュータ・システム |
US5379415A (en) * | 1992-09-29 | 1995-01-03 | Zitel Corporation | Fault tolerant memory system |
JP2541767B2 (ja) * | 1992-11-12 | 1996-10-09 | インターナショナル・ビジネス・マシーンズ・コーポレイション | スマ―ト・バス制御ユニット |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5561819A (en) * | 1993-10-29 | 1996-10-01 | Advanced Micro Devices | Computer system selecting byte lane for a peripheral device during I/O addressing technique of disabling non-participating peripherals by driving an address within a range on the local bus in a DMA controller |
US5446869A (en) * | 1993-12-30 | 1995-08-29 | International Business Machines Corporation | Configuration and RAM/ROM control of PCI extension card residing on MCA adapter card |
US5535340A (en) * | 1994-05-20 | 1996-07-09 | Intel Corporation | Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge |
KR100258986B1 (ko) * | 1995-06-07 | 2000-06-15 | 윤종용 | 두 개의 상호 비동기적인 버스들 사이의 데이터의 동기 전송에누적하는 시간 지연 감소 |
US5721839A (en) * | 1995-10-13 | 1998-02-24 | Compaq Computer Corporation | Apparatus and method for synchronously providing a fullness indication of a dual ported buffer situated between two asynchronous buses |
US5844856A (en) * | 1996-06-19 | 1998-12-01 | Cirrus Logic, Inc. | Dual port memories and systems and methods using the same |
US5729760A (en) * | 1996-06-21 | 1998-03-17 | Intel Corporation | System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode |
US5805835A (en) * | 1996-07-15 | 1998-09-08 | Micron Electronics, Inc. | Parallel architecture computer system and method |
US5999997A (en) * | 1996-07-26 | 1999-12-07 | Compaq Computer Corporation | Two computers cooperating via interconnected busses |
GB9622687D0 (en) * | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | An integrated circuit with tap controller |
JP3607439B2 (ja) * | 1996-11-11 | 2005-01-05 | 株式会社日立製作所 | 半導体集積回路装置 |
US6098110A (en) * | 1996-12-30 | 2000-08-01 | Compaq Computer Corporation | Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses |
US5926629A (en) * | 1997-02-18 | 1999-07-20 | Advanced Micro Devices, Inc. | Continuously operating interconnection bus |
US5941968A (en) * | 1997-04-14 | 1999-08-24 | Advanced Micro Devices, Inc. | Computer system for concurrent data transferring between graphic controller and unified system memory and between CPU and expansion bus device |
US5990914A (en) * | 1997-09-09 | 1999-11-23 | Compaq Computer Corporation | Generating an error signal when accessing an invalid memory page |
US5905509A (en) * | 1997-09-30 | 1999-05-18 | Compaq Computer Corp. | Accelerated Graphics Port two level Gart cache having distributed first level caches |
US5937425A (en) | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
US6029253A (en) * | 1997-10-30 | 2000-02-22 | Micron Electronics, Inc. | Method for synchronizing data with a bi-directional buffer |
JPH11238030A (ja) * | 1998-02-20 | 1999-08-31 | Mitsubishi Electric Corp | Pci−pciブリッジおよびそのための先入れ先出しメモリ |
US6199167B1 (en) * | 1998-03-25 | 2001-03-06 | Compaq Computer Corporation | Computer architecture with password-checking bus bridge |
US6163815A (en) * | 1998-05-27 | 2000-12-19 | International Business Machines Corporation | Dynamic disablement of a transaction ordering in response to an error |
US6415353B1 (en) * | 1998-10-01 | 2002-07-02 | Monolithic System Technology, Inc. | Read/write buffers for complete hiding of the refresh of a semiconductor memory and method of operating same |
US6199137B1 (en) * | 1999-01-05 | 2001-03-06 | Lucent Technolgies, Inc. | Method and device for controlling data flow through an IO controller |
US6330635B1 (en) * | 1999-04-16 | 2001-12-11 | Intel Corporation | Multiple user interfaces for an integrated flash device |
US6658006B1 (en) * | 1999-06-03 | 2003-12-02 | Fujitsu Network Communications, Inc. | System and method for communicating data using modified header bits to identify a port |
DE69919992T2 (de) * | 1999-06-09 | 2005-01-20 | Texas Instruments Inc., Dallas | Verteilter Speicher mit programmierbarer Grösse |
EP1059587B1 (en) * | 1999-06-09 | 2007-04-18 | Texas Instruments Incorporated | Host access to shared memory with a high priority mode |
US6363446B1 (en) * | 1999-06-12 | 2002-03-26 | Micron Technology, Inc. | Method for selectively encoding bus grant lines to reduce I/O pin requirements |
US6421765B1 (en) * | 1999-06-30 | 2002-07-16 | Intel Corporation | Method and apparatus for selecting functional space in a low pin count memory device |
KR100383774B1 (ko) * | 2000-01-26 | 2003-05-12 | 삼성전자주식회사 | 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템 |
US6502146B1 (en) * | 2000-03-29 | 2002-12-31 | Intel Corporation | Apparatus and method for dedicated interconnection over a shared external bus |
US6934785B2 (en) * | 2000-12-22 | 2005-08-23 | Micron Technology, Inc. | High speed interface with looped bus |
US6510488B2 (en) | 2001-02-05 | 2003-01-21 | M-Systems Flash Disk Pioneers Ltd. | Method for fast wake-up of a flash memory system |
US6882082B2 (en) * | 2001-03-13 | 2005-04-19 | Micron Technology, Inc. | Memory repeater |
US20020138702A1 (en) * | 2001-03-26 | 2002-09-26 | Moshe Gefen | Using non-executable memory as executable memory |
US6813673B2 (en) * | 2001-04-30 | 2004-11-02 | Advanced Micro Devices, Inc. | Bus arbitrator supporting multiple isochronous streams in a split transactional unidirectional bus architecture and method of operation |
US6868460B1 (en) * | 2001-06-05 | 2005-03-15 | Silicon Motion, Inc. | Apparatus for CD with independent audio functionality |
JP4049297B2 (ja) | 2001-06-11 | 2008-02-20 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
US7386653B2 (en) * | 2001-08-06 | 2008-06-10 | Sandisk Il Ltd | Flash memory arrangement |
KR100393619B1 (ko) | 2001-09-07 | 2003-08-02 | 삼성전자주식회사 | 휴대 단말기의 메모리 장치 및 그 제어방법 |
US6636935B1 (en) * | 2001-09-10 | 2003-10-21 | Rambus Inc. | Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules |
US6633944B1 (en) * | 2001-10-31 | 2003-10-14 | Lsi Logic Corporation | AHB segmentation bridge between busses having different native data widths |
KR20040080928A (ko) * | 2002-01-31 | 2004-09-20 | 마츠시타 덴끼 산교 가부시키가이샤 | 정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및정보 처리 방법 |
US6683817B2 (en) | 2002-02-21 | 2004-01-27 | Qualcomm, Incorporated | Direct memory swapping between NAND flash and SRAM with error correction coding |
US20030206442A1 (en) * | 2002-05-02 | 2003-11-06 | Jerry Tang | Flash memory bridiging device, method and application system |
FI20021620A (fi) | 2002-09-10 | 2004-03-11 | Nokia Corp | Muistirakenne, järjestelmä ja elektroniikkalaite sekä menetelmä muistipiirin yhteydessä |
JP4499982B2 (ja) | 2002-09-11 | 2010-07-14 | 株式会社日立製作所 | メモリシステム |
JP2004118544A (ja) | 2002-09-26 | 2004-04-15 | Renesas Technology Corp | メモリシステム |
KR100786603B1 (ko) | 2002-11-28 | 2007-12-21 | 가부시끼가이샤 르네사스 테크놀로지 | 메모리 모듈, 메모리시스템 및 정보기기 |
JP2005010942A (ja) * | 2003-06-17 | 2005-01-13 | Matsushita Electric Ind Co Ltd | ブートコードが格納されるシーケンシャルアクセス・メモリデバイスを備えた装置及び前記装置の起動方法 |
US7752380B2 (en) * | 2003-07-31 | 2010-07-06 | Sandisk Il Ltd | SDRAM memory device with an embedded NAND flash controller |
JP4606009B2 (ja) * | 2003-10-20 | 2011-01-05 | 三洋電機株式会社 | プログラム処理装置 |
JP2005190312A (ja) * | 2003-12-26 | 2005-07-14 | Toshiba Corp | マルチチップパッケージ型メモリシステムおよびコンピュータシステム |
JP2005157528A (ja) * | 2003-11-21 | 2005-06-16 | Fuji Xerox Co Ltd | メモリ装置 |
US7127549B2 (en) * | 2004-02-04 | 2006-10-24 | Sandisk Corporation | Disk acceleration using first and second storage devices |
US7136973B2 (en) * | 2004-02-04 | 2006-11-14 | Sandisk Corporation | Dual media storage device |
US7610433B2 (en) | 2004-02-05 | 2009-10-27 | Research In Motion Limited | Memory controller interface |
US20050204091A1 (en) * | 2004-03-11 | 2005-09-15 | Kilbuck Kevin M. | Non-volatile memory with synchronous DRAM interface |
DK3422583T3 (da) * | 2004-08-30 | 2020-09-28 | Google Llc | System og fremgangsmåde for at tilvejebringe ikke-flygtig hukommelsesadministration i trådløse telefoner |
US7334107B2 (en) * | 2004-09-30 | 2008-02-19 | Intel Corporation | Caching support for direct memory access address translation |
-
2006
- 2006-12-11 US US11/637,419 patent/US7519754B2/en active Active
- 2006-12-18 TW TW095147453A patent/TWI317478B/zh not_active IP Right Cessation
- 2006-12-26 JP JP2006357456A patent/JP2007183961A/ja active Pending
- 2006-12-27 CN CNA2006100643904A patent/CN101013351A/zh active Pending
- 2006-12-27 CN CNA2006100644983A patent/CN101017460A/zh active Pending
- 2006-12-28 KR KR1020060136569A patent/KR20070070122A/ko not_active Application Discontinuation
-
2009
- 2009-02-13 US US12/371,494 patent/US20090150588A1/en not_active Abandoned
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102460402A (zh) * | 2009-06-30 | 2012-05-16 | 柰米闪芯积体电路有限公司 | 用于混合数据、编码及缓冲存储器集成在芯片上具有基于nand的nor、nand闪存及sram的内存系统 |
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
CN102591816A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种多通道Nandflash存储系统 |
CN107656700B (zh) * | 2011-07-28 | 2020-09-01 | 奈特力斯公司 | 一种flash-dram混合存储器模块 |
CN103890688B (zh) * | 2011-07-28 | 2017-10-13 | 奈特力斯公司 | 一种flash‑dram混合存储器模块 |
CN107656700A (zh) * | 2011-07-28 | 2018-02-02 | 奈特力斯公司 | 一种flash‑dram混合存储器模块 |
CN103890688A (zh) * | 2011-07-28 | 2014-06-25 | 奈特力斯公司 | 一种flash-dram混合存储器模块 |
CN108549609B (zh) * | 2011-09-30 | 2022-06-21 | 英特尔公司 | 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram) |
CN108549609A (zh) * | 2011-09-30 | 2018-09-18 | 英特尔公司 | 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram) |
WO2014139047A1 (en) * | 2013-03-14 | 2014-09-18 | Micron Technology, Inc. | Memory systems and methods including training,data organizing,and/or shadowing |
US10719246B2 (en) | 2013-06-11 | 2020-07-21 | Netlist, Inc. | Non-volatile memory storage for multi-channel memory system |
CN104461959A (zh) * | 2014-11-05 | 2015-03-25 | 福州瑞芯微电子有限公司 | 区分NOR Flash与NAND Flash的方法和装置 |
CN104461959B (zh) * | 2014-11-05 | 2017-04-19 | 福州瑞芯微电子股份有限公司 | 区分NOR Flash与NAND Flash的方法和装置 |
CN107229417A (zh) * | 2016-03-25 | 2017-10-03 | 三星电子株式会社 | 数据存储设备及其操作方法 |
CN107229417B (zh) * | 2016-03-25 | 2022-03-22 | 三星电子株式会社 | 数据存储设备及其操作方法 |
US11182078B2 (en) | 2016-03-25 | 2021-11-23 | Samsung Electronics Co., Ltd. | Method of accessing a data storage device using a multi-access command |
CN114049905A (zh) * | 2021-12-16 | 2022-02-15 | 西安紫光国芯半导体有限公司 | 非易失三维存储单元、存储方法、芯片组件和电子设备 |
CN114049905B (zh) * | 2021-12-16 | 2024-04-09 | 西安紫光国芯半导体有限公司 | 非易失三维存储单元、存储方法、芯片组件和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
KR20070070122A (ko) | 2007-07-03 |
TWI317478B (en) | 2009-11-21 |
US7519754B2 (en) | 2009-04-14 |
US20090150588A1 (en) | 2009-06-11 |
CN101013351A (zh) | 2007-08-08 |
US20070233933A1 (en) | 2007-10-04 |
TW200745851A (en) | 2007-12-16 |
JP2007183961A (ja) | 2007-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101017460A (zh) | 统一的存储器和控制器 | |
EP1804156A2 (en) | Unified memory and controller | |
US20090157946A1 (en) | Memory having improved read capability | |
US9910602B2 (en) | Device and memory system for storing and recovering page table data upon power loss | |
US7373452B2 (en) | Controller for controlling nonvolatile memory | |
US20070016719A1 (en) | Memory device including nonvolatile memory and memory controller | |
KR970008188B1 (ko) | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 | |
US5787493A (en) | Control method and apparatus for direct execution of a program on an external apparatus using a randomly accessible and rewritable memory | |
KR100630980B1 (ko) | 메모리 카드 및 반도체 장치 | |
US7193923B2 (en) | Semiconductor memory device and access method and memory control system for same | |
US7739443B2 (en) | Memory controller, memory device and control method for the memory controller | |
JP4524309B2 (ja) | フラッシュメモリ用のメモリコントローラ | |
US7441070B2 (en) | Method for accessing a non-volatile memory via a volatile memory interface | |
JP2017220237A (ja) | メモリモジュール、これを含むシステム及びその動作方法 | |
US20030028728A1 (en) | Cache memory control device | |
US20080010419A1 (en) | System and Method for Issuing Commands | |
US5148526A (en) | Data processing system with an enhanced cache memory control | |
US20080162611A1 (en) | Methods and apparatus for marking objects for garbage collection in an object-based memory system | |
US10769074B2 (en) | Computer memory content movement | |
US20080007569A1 (en) | Control protocol and signaling in a new memory architecture | |
JP6228523B2 (ja) | メモリ制御回路および半導体記憶装置 | |
TW202015057A (zh) | 快閃記憶體控制器、快閃記憶體控制器的控制方法及相關的電子裝置 | |
JPH0210446A (ja) | バッファ記憶装置 | |
CN111831589A (zh) | 提高io命令处理并行性的方法与装置 | |
JP2923273B2 (ja) | データ処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070815 |