CN1947107A - 用于在存储器间传输数据的装置 - Google Patents

用于在存储器间传输数据的装置 Download PDF

Info

Publication number
CN1947107A
CN1947107A CNA2004800410725A CN200480041072A CN1947107A CN 1947107 A CN1947107 A CN 1947107A CN A2004800410725 A CNA2004800410725 A CN A2004800410725A CN 200480041072 A CN200480041072 A CN 200480041072A CN 1947107 A CN1947107 A CN 1947107A
Authority
CN
China
Prior art keywords
memory
fcdp
controller
mpc
register
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.)
Granted
Application number
CNA2004800410725A
Other languages
English (en)
Other versions
CN100538674C (zh
Inventor
J·巴斯托夫
M·格德克
P·马尔拉
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 Deutschland GmbH
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN1947107A publication Critical patent/CN1947107A/zh
Application granted granted Critical
Publication of CN100538674C publication Critical patent/CN100538674C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种用于在存储器之间传输数据的装置,该装置包括存储器控制器和存储器协议控制器(MPC)。

Description

用于在存储器间传输数据的装置
技术领域
本发明涉及一种用于在存储器间传输数据的装置,如权利要求1中前序特征语句中声称的那样。
背景技术
在微处理器系统中,大量数据必须经常在易失性存储器和非易失性存储器之间传输。当使用易失性存储器中的程序时存取速度通常是较高的,并且因此当系统启动时,为了获得较高的运行速度,数据通常会从非易失性存储器传输到易失性存储器中。当程序正在运行时,为了最优化使用有限的易失性存储器和/或在供电故障时确保保护数据,数据同样在易失性存储器和非易失性存储器之间传输。
存储器访问高度地取决于所使用的存储器的类型。例如向易失性异步RAM中存取相对是简单的。其他存储器装置,如非易失性NAND闪存装置,就需要相对复杂的存取协议。具有NAND结构的非易失性存储器装置,例如InfineonNROM,目前普遍地变得更加显著地重要,确切地说是由于移动设备如数字照相机、移动电话、PDA或笔记本电脑上不断增加的存储器需求和其非常低的价格。对那些最后提到的存储器装置的随机存取是非常慢的并且需要在运行程序前将程序和数据传送到更快的易失性存储器(VM)。由于它们的内部结构,读或写相对较大的数据块是最优化的数据传送模式,例如此相对较大的数据块可以是存储页。为了读取访问,在输出读取命令和页地址给NAND闪存装置之后,首先将数据传送到装置中的缓冲器中,并且此通常需要十分之几微秒的传输时间。当NAND闪存装置发信号表示此传输完成,所有页数据(512或2048字节)可以以每秒40MB的高数据速度传送到易失性存储器中。进一步,NAND闪存装置具有比特误差的倾向,在数据传送到易失性存储器前其需要比特误差检测和比特误差校正。
在VM和非易失性存储器(NVM)之间传送的数据以最高可能速度完成以最小化系统启动时间。进一步,当微处理器运行程序时,为了允许程序和数据的动态加载,数据传输时可能的。进一步,微处理器的运行中的数据传送的影响将被最小化。理想地,微处理器在易失性存储器中存储数据传输任务的列表,并仅在这些任务被全部完成以后微处理器才能被中断。
在存储器之间的数据传输通常使用直接存储器存取控制器(DMAC)执行。然而,DMAC局限于简单的存取类型并且不能适应更加复杂数据传输协议。在后面的示例中,由微控制器来控制数据传输。
发明内容
本发明基于提供一种在存储器之间尽可能快地传送数据的装置的目的,并且该装置可以适应更复杂的数据传输协议,但在处理过程中需要尽可能少的硬件,并且具有灵活地匹配广泛不同操作条件的能力。
根据本发明,通过如权利要求1中所声称的装置来达到此目的。
根据本发明的装置的有利的和优选的实施例是权利要求2至20的主旨。
本发明的实质是仅使用专用数据传输控制器而不需要额外的装置,因此全部的硬件就最小化,并且现有的硬件可以再使用,如DMAC或传统的存储器控制器。进一步,由于在硬件中仅执行一种基本的传输协议而使得适应性变得最大化。使用一个或同样的硬件结构,所有对不同应用的进一步适应可以由软件来执行。与现有技术相比,其中各自附加的特定的数据传输控制器由专用硬件来匹配各自特定的应用需求,此增加了产品的适应性,因此对降低成本作出了相当大的贡献。
附图说明
根据本发明的装置的有利的和优选的示范实施例将在下文中参考附图说明,其中:
图1示出了根据本发明具有直接存储器存取控制器的装置的第一示范实施例的结构示意图,
图2示出了根据本发明使用直接存储器存取控制器和传统存储器控制器的装置的第二示范实施例的结构示意图,
图3用示意图示出了NAND闪存写操作的数据流,
图4用示意图示出了NAND闪存读操作的数据流,
图5示出了闪存控制直接存储器存取端口(FCDP)的一个示范实施例的结构示意图,
图6示出了NAND闪存接口的一个示范实施例,
图7用示意图示出了FCDP保护构造的一个示范实施例,
图8用示意图示出了具有(512+16)×8位页大小的NAND闪存页构造的第一示范实施例,
图9用示意图示出了具有(2048+64)×8位页大小的NAND闪存页构造的第二示范实施例,
图10用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFECCCONFIG寄存器,而在这样情况下相关寄存器字段的描述可以在表4中发现,
图11用示意图示出了根据图5中所示FCDP示范实施例的FCDP_MECCPTR寄存器,而在这样情况下相关寄存器字段的描述可以在表5中发现,
图12用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFSECCPTR寄存器,而在这样情况下相关寄存器字段的描述可以在表6中发现,
图13用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFIECCPTR寄存器,而在这样情况下相关寄存器字段的描述可以在表7中发现,
图14用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFMECCST寄存器,而在这样情况下相关寄存器字段的描述可以在表8中发现,
图15用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFSECCST寄存器,而在这样情况下相关寄存器字段的描述可以在表9中发现,
图16示出了保护机构的一个示范实施例的程序运行方案,
图17用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFPASSWD寄存器,而在这样情况下相关寄存器字段的描述可以在表10中发现,
图18用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFPROTCMD寄存器,而在这样情况下相关寄存器字段的描述可以在表11中发现,
图19用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFADDRWIN1L寄存器,而在这样情况下相关寄存器字段的描述可以在表12中发现,
图20用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFADDRWIN1H寄存器,而在这样情况下相关寄存器字段的描述可以在表13中发现,
图21用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFADDRWIN2L寄存器,而在这样情况下相关寄存器字段的描述可以在表14中发现,和
图22用示意图示出了根据图5中所示FCDP示范实施例的FCDP_NFADDRWIN2H寄存器,而在这样情况下相关寄存器字段的描述可以在表15中发现。
具体实施方式
当存储器协议控制器(MPC)与DMAC一起使用时,那么其可以适应复杂的存储器传输协议。用于MPC的命令序列是VM中的命令列表的一部分(见图1)。此列表包括用于MPC的命令和用于NVM的附加命令。将要传送到NVM的数据既可以存储在VM中的单独的列表中,也可以作为命令列表的一部分。
从命令列表中得到的命令通过DMAC传送到NVM。只有MPC命令由MPC解译。用于NVM的命令传到NVM。为了此目的,同样地“输出到NW”命令必须先于NVM命令。由于NVM命令没有在硬件中执行,新的或修改后的NVM命令可以容易地由命令列表的修改来处理。
一旦MPC执行了命令,其通常为DMAC中的命令请求行中下一个命令传送一个请求。然后DMAC从VM传送下一个命令到MPC。持续此序列直到DMAC到达命令列表的末端。然后DMAC传送一个中断信号给微处理器以表明任务已经被完全执行完毕。为了将MPC设为空闲状态,停止命令将作为最后命令输出到MPC。因为一旦VM中建立命令列表的处理完成,微处理器就将在MPC中设置一个“运行”位,所以,通常由微处理器启动传输的开始。在此之后,除非出现错误情况,该处理将不再需要任何微处理器的控制。
MPC命令是在VM和NVM之间预定数量的数据字的传输的命令。在这种情况下,在DMAC的数据请求线中,MPC发出多个请求数据传输的信号。然后,DMAC将在MPC和VM之间执行数据传输。通常,为了尽可能优化使用在两端之间的数据总线特性,在MPC中对该数据进行缓冲。最小化DMAC负载也是一个主要目的。包(脉冲串)中的数据传输可能是最适宜的解决方案。如果到NVM的总线的带宽比到DMAC的总线的带宽窄,在传输开始前,MPC为从NVM中进行读操作收集来自NVM的合适的数据包。至于向NVM进行的写操作,在其请求下一来自DMAC的数据包之前,MPC将等待直到向NVM进行的写操作完全结束。
MPC能够具有多条NVM-专用控制线路,例如NAND闪存装置中的占用/就绪线路。MPC命令可以包括关于以那些控制线路所使用的过程的指令,例如在输出对下一命令的请求之前等待控制线路上的电平切换。
在NAND闪存装置具有其内部页结构的情况下,在命令脚本中,数据传输可以以大的块被处理,此大的块覆盖多个页。由于NAND闪存装置的专有特征,一个文件可能扩展至超过多个页,这些页任意地分布在该装置的地址区域中。一个完整的文件载入操作可以通过一个命令脚本来执行。此命令脚本必须通过运行在微处理器中的NAND闪存文件系统软件来编译。
错误情况由MPC通知微处理器。错误的原因和已被执行的最后命令的地址由微处理器从状态寄存器中读取。所有进一步的请求都被输出到DMAC。微处理器将对错误情况进行处理,并将重启数据传输。由于NVM需要错误检测和错误校正,所以,错误检测代码将由MPC产生,如果需要,错误校正代码也同样由MPC产生。对于读操作,MPC最好先将在读操作期间产生的错误检测代码与非易失性存储器装置(NVM)中存储的错误检测代码继续比较。在读错误的情况下,MPC执行其自身的校正或触发对微处理器的中断。对于写操作,MPC产生错误校正代码,并且将此代码写入到非易失性存储器装置(NVM)中的预定点。对于这一点,以下将进行更加详细地描述。
MPC也可以为写和读操作执行数据压缩和数据解压缩。
如图2中所说明的,如果在同一存储总线上没有附加其他任何协议,而需要对其他的存储器装置进行控制,则MPC也可以与传统存储器控制器一起使用。外部部件可以共用数据线、地址线和控制信号。如图2中所说明的,专用NVM控制线可以直接连到MPC。
在下文中,将参考图3至22具体说明图2中所示的该装置的一个特殊示范实施例。图3用示意图示出了NAND闪存的写操作的数据流,并且图4用示意图示出了NAND闪存的读操作的数据流。图2中的存储器协议控制器(MPC)在图3和4中注解为“闪存控制DMA端口”。FCDP允许闪存装置(NAND闪存和NOR闪存)和RAM之间的独立数据块的传输,这样CPU负荷和片上总线通信量将保持在最小。图3和4中的闪存控制器对应于图2中的传统存储器控制器。
为了减小CPU负荷,在初始化配置处理之后,与DMAC相结合的FCDP在没有进一步支持的条件下能够传送任何需要的数据量(也就是说在NAND闪存的情况下为页)。
此外,FCDP产生用于向NAND闪存装置进行写入操作的错误校正代码(ECC),以及用于从NAND闪存装置进行读出操作的错误校正代码的检测。对NOR闪存装置的读访问通过可配置地址产生器的提供来加速。
为了减少总线数据通信量,使用内部FIFO,FCDP支持四个传输(32位)的脉冲串传送。
为了使得连接闪存和产生装置特定时间匹配成为可能,FCDP需要一个外部存储器控制器或闪存控制器。图5示出了FCDP的结构示意图,在这种情况下FCDP被解释为处于非常高的电平,也就是说再分成更加低级的块。
图5中的FCDP解释为
-同步操作,
-具有单独的块(AHB块/AHB=先进高性能总线=现代高性能总线),
-符合AMBA AHB2.0规范(“AMBA”是先进RISC机器有限公司/ARM Ltd的商标并且事实上表示片上总线的标准),
-具有带有AHB莱特(lite)接口的AHB主设备,
-具有用于ARM主单元DMAC的接口,
-通过硬件ECC支持NAND闪存读/写,
-支持NOR闪存读传输,并且
-支持脉冲串模式的读/写传输。
为了能够获得FCDP的支持,NAND闪存装置必须满足下列要求:
-支持“CE无关”模式,
-仅在地址或命令周期之后操作“占用/就绪”输出,
-列地址包括两个以上地址字节,
-行地址包括四个以上地址字节,
-ECC产生/检测:
-主区域:超过2048字节
-备用区域:超过32字节
-页大小(如果不受ECC的块大小的限制):超过4096字节。
AHB从接口执行下列任务:
-从RAM到FCDP的数据传输(闪存写访问),
-从FCDP到RAM的数据传输(闪存读访问),
-FCDP配置接口,
-FCDP命令接口。
在很多情况下,虽然使用DMA(直接存储器存取)处理数据传输,如果需要,也就是说如果可用的DMA信道是不足的,其也可以通过CPU在中断驱动基线上执行数据传输。
配置接口允许对FCDP控制/状态寄存器的访问。寄存器接口允许被配置成通用操作模式,此模式用于相对大数量的交易,也就是说该交易对现有闪存装置、总线结构、DMA配置、存储器映射等是特殊的。
命令接口用作对FCDP执行的控制传输的目的。许多命令也需要特殊的参数。命令接口能够通过DMA被访问,也就是说当前一页已经被完全作用完时,下一页的复制就被触发。
AHB主设备接口处理传送到外部存储器接口/来自外部存储器接口的传输。取决于如何设置整个系统,可以将其设计成既可以使用为最优化利用带宽的脉冲串传输,也可以使用为减小AHB上判断延迟的单独传输。为了允许有效地使用脉冲串传输,外部存储器接口应当能够缓冲一定量的数据。
FCDP也可以具有FIFO以允许当一侧在处理其他事务时,在另一侧保持传输,例如当总线访问许可未授权或DMA信道未就绪时。当需要时,FIFO同样允许在一个AHB接口上使用脉冲串传输并且在其他AHB接口上使用单独传输。
FCDP实质上使用组合的传输/接收FIFO(TX/RX FIFO),此FIFO是基于上旋(topspin)外围体系结构概念。然而,由于FCDP的特殊需要,存在几处较小的不同和特定特征:
-在FCDP_FIFO_CFG寄存器中不存在“最大接收包大小”的字段,由于FCDP不需要处理任何未请求的传输,也就是说包大小仅通过命令字来限定。
-由于读取和写入交易的包大小由写入FCDP_COMMAND寄存器的命令字来限定,所以既没有“接收包大小”寄存器(RPS_STAT),也没有“传输包大小”寄存器(TPS_CTRL)。
-FIFO总是利用字对齐来进行操作。
-在“接收状态”和“发送状态”之间的切换由写入到FCDP_COMMAND寄存器的命令字来控制。
-FCDP总是流控制器,对于DMA传输,也就是序列控制器。
在此,在说明示范实施例的情况下,FIFO的大小是8×32位。
为了检测NAND闪存装置的位错误并在可能时校正它们,FCDP提供了错误校正代码(ECC)产生和检测机制。ECC算法为汉明码,其允许单个位错误的校正和在一页中超过两位错误的校正。
用于闪存页的主区域中的ECC存储在同一页的备用区域中。在相同的方式,备用区域由第二个ECC进行错误检测,第二ECC同样存储在备用区域中。
一旦提供一个合适的启动,ECC就由FCDP产生并且在写访问中被写入到闪存,达到此目的不需要任何CPU的辅助。在读访问中,ECC由从闪存中获得的数据产生并且与存储在闪存中的ECC进行比较。如果发现不匹配,那么将一个错误中断传给CPU,并且停止进一步的交易。这使得CPU可能检测错误是否被校正,并且,如果可能,校正此错误。
主区域和备用区域ECC的产生和检测能够彼此相互独立地被激活或撤销。为了允许闪存文件系统能够经常地更换一些信息项,备用区域中的一些位将被排除在ECC结果之外。
主区域和备用区域ECC的存储器位置,以及一页中无保护部分的存储器位置是可配置的。
使用一个二维等式检测作为ECC。在速度和区域方面此允许一个有效的硬件实现。
为了检测NAND闪存页中的数据还没有被破坏,存储在闪存中的ECC和当读数据时产生的ECC受到一个异或逻辑操作。这将导致下列情况之一:
-所有位均为0:无错误
-每一奇偶校验位P<x>和其反码P<x>′彼此不相同(P<x><>P<x>′):可校正错误
-仅有一位不为0:ECC中错误
-其他情况(随机数据):不可校正错误
当一个错误发生时,FCDP给CPU产生一个错误中断。然后,错误处理软件以适当的方式处理该错误。
如果发生可校正错误,ECC直接指出页中错误位的位置:P8192、P4096、P2048、……、P16:位错误P8、P4、P2、P1的16位字地址:错误的位的位置。
外部存储接口被用于连接闪存装置。
为了与NAND闪存装置相互作用,外部存储器控制器在异步模式下工作。如图6所示,相应于外部16位字地址A(16)和A(17)的内部位地址A(17)和A(18)上两个地址输出线被用于控制NAND闪存输入信号ALE(地址锁存使能)和CLE(命令锁存使能)。
NAND闪存输出信号R/B仅被FCDP处理。只有在处理执行时间相对较长的命令(读取页、写入页、删除页)时,其被闪存装置设置为低电平。
通过同步或异步NOR闪存接口对装置的读访问,需要具有与AHB从端口相配合的存储器控制器。由于AHB总线上的INCR4请求能够由来自闪存装置的脉冲串传输进行处理(INCR4为通常已被接受的,根据AHB规范中特殊脉冲串请求的缩写,其中脉冲串宽度为增量的/INCR/,也就是说已增加的),连接到同步脉冲串NOR闪存的同步脉冲串模式控制器获得较好的传输速度。
NAND闪存装置和NOR闪存装置通常均具有写保护( WP-写保护)输入。此输入不通过FCDP控制但必须根据装置规范来处理,例如通过将其连接到GPIO(通用输入/输出)或接通复位信号。
通过将一个命令写入到FCDP命令寄存器,从而初始化每个FCDP处理。此通常是通过在RAM中产生一个命令序列并使DMA控制器根据请求准备将命令写入到FCDP来完成的。第一命令请求由软件通过设定DMA命令请求位来触发。一旦前一个命令执行完毕,FCDP将请求其后的每一个命令。STOP命令用于阻止FCDP请求进一步的命令。
表1提供了FCDP命令的综述。如同所看到的,一些命令需要附加的参数。虽然大部分命令以单个32位字的形式存在,但也一部分命令需要第二个32位字以允许32位地址参数的加密。
表1:FCDP命令综述
  命令   写周期   参数   描述
  NF_CMD   1   cmd[7:0]wait   将命令写入到NAND闪存cmd:NAND闪存命令wait:等待完成(R/W信号)
  NF_ADDR   1/2   ncol[1:0]nrow[2:0]waitcol_addr[15:0]row_addr[31:0]   将地址写入到NAND闪存ncol:有效列地址字节的数量nrow:有效行地址字节的数量wait:等待完成(R/W信号)col_addr:列地址row_addr:行地址
  NF_WR   1   count[9:0]burst   将数据写入到NAND闪存count:要写入的32位字的数量burst:在AHB上使用INCR4传输
  NF_RD   1   count[9:0]burst   从NAND闪存读出数据count:要读出的32位字的数量burst:在AHB上使用INCR4传输
  NF_CHECK   1   -   检测NAND闪存的状态
  BM_ADDR   2   addr[31:0]   为脉冲串模式重新加载地址产生器
  BM_WR   1   count[9:0]burst   使用脉冲串模式写数据count:要写入的32位字的数量burst:在AHB上使用INCR4传输
  BM_RD   1   count[9:0]burst   使用脉冲串模式读出数据count:要读出的32位字的数量
  burst:在AHB上使用INCR4传输
 Stop   1 -   停止FCDP;没有进一步的命令被请求
 FLUSH   1 -   “清除”FCDP,复位传输计数器并复位错误状态
下面,表2示出了FCDP寄存器接口的综述。
表2:寄存器编程接口
  寄存器组   寄存器名称   寄存器符号
  控制寄存器   时钟控制寄存器   FCDP_CLC
  模式控制寄存器   FCDP_MODE
  命令寄存器   FCDP_COMMAND
  FIFO配置寄存器   FCDP_FIFO_CFG
  NAND闪存基址寄存器   FCDP_NFBASE
  NAND闪存状态掩码寄存器   FCDP_NFMASK
  NAND闪存状态比较寄存器   FCDP_NFCOMP
  NAND闪存ECC配置寄存器   FCDP_NFECCCONFIG
  NAND闪存主区域ECC指针寄存器   FCDP_NFMECCPTR
  NAND闪存备用区域ECC指针寄存器   FCDP_NFSECCPTR
  NAND闪存无用区域ECC指针寄存器   FCDP_NFIECCPTR
  NAND闪存密码寄存器   FCDP_NFPASSWD
  NAND闪存“保护命令”寄存器   FCDP_NFPROTCMD
  NAND闪存地址窗口1-下限寄存器   FCDP_NFADDRWIN1L
  NAND闪存地址窗口1-上限寄存器   FCDP_NFADDRWIN1H
  NAND闪存地址窗口2-下限寄存器   FCDP_NFADDRWIN2L
  NAND闪存地址窗口2-上限寄存器   FCDP_NFADDRWIN2H
  状态寄存器   传输计数器状态寄存器   FCDP_COUNT
  FIFO状态寄存器  FCDP_FFS_STAT
  NAND闪存状态寄存器  FCDP_NFSTATUS
  NAND闪存主区域ECC状态寄存器  FCDP_NFMECCST
  NAND闪存备用区域ECC状态寄存器  FCDP_NFSECCST
  数据缓冲过程   FIFO写缓冲寄存器  FCDP_WRBUF
  FIFO读缓冲寄存器  FCDP_RDBUF
  中断/DMA寄存器   未中断状态寄存器  FCDP_RIS
  中断掩码控制寄存器  FCDP_IMSC
  已掩蔽中断状态寄存器  FCDP_MIS
  中断复位寄存器  FCDP_ICR
  中断设置寄存器  FCDP_ISR
  DMA激活寄存器  FCDP_DMAE
  标识寄存器   模块标识寄存器  FCDP_ID
  测试寄存器   综合测试控制寄存器  FCDP_ITCR
FCDP产生两种类型的DMA请求,特定的数据请求和命令请求。这为设置DMAC的链接表的创建提供了特别的简化。
只要FCDP命令执行完毕,即产生一个DMA命令请求,并且必须将一个新的命令写入FCDP命令寄存器。该DMA命令请求始终是一个单个的DMA请求。
在闪存读取操作期间FIFO中有足够的数据时,或者在闪存写操作期间FIFO中有足够的空间时,就产生DMA数据请求。所有的传输除最后一个之外均在DMA脉冲串请求中结束,最后一个同样由FCDP命令的传输数量参数确定。最后的传输结束于DMA“最后脉冲串”请求,此请求发送给DMAC,且其必须变成链接表中的下一个条目。
如果没有足够多的DMA信道可用,取而代之,使用数据请求中断、“最后数据请求”中断和命令请求中断也是可能的。
在下文中将对各种中断请求进行更加详细的描述。
-命令请求中断(CMD)
命令请求中断的调用向FCDP表明下一命令能够被写入到命令寄存器(FCDP_COMMAND)并且表明以前命令的执行已经全部完成。命令请求中断能够被用于代替DMA命令请求。
-数据脉冲串请求中断(DAT)
根据现在正在执行的是哪个命令,FCDP输出数据脉冲串请求中断以表明数据必须被写入到写缓冲寄存器(FCDP_WRBUF)中或者表明数据必须被从读缓冲寄存器(FCDP_RDBUF)中读出。脉冲串的大小可以被编程为一个字或四个字。除了最后一个脉冲串之外,为在命令所定义的时序范围内的每个数据脉冲串输出数据脉冲串请求。该数据脉冲串请求中断能够用于取代DMA数据脉冲串请求。
-“最后数据脉冲串”请求中断(LDAT)
“最后数据脉冲串”请求中断,其意义实质上与数据脉冲串请求中断相同。唯一的不同在于LDAT是仅为在命令所定义的时序范围内的最后一个脉冲串输出。LDAT能够用于取代DMA“最后脉冲串”请求。
-主区域ECC错误中断(MECC)
当发现从NAND闪存页中读取的ECC与从此页的主区域中读取数据所产生的ECC不匹配时,发生主区域ECC错误中断,并且在FCDP_NFECCCONFIG寄存器中激活主区域ECC检测。直到所有的传输已经完成并且所有的数据已经从FCDP_RDBUF寄存器中读取后,才内部复位主区域ECC错误中断。然后,FCDP等待刷新命令以确保已经与中断延迟无关地识别该错误。在接收到刷新命令后,FCDP通过请求下一个命令恢复到正常操作。
-备用区域ECC错误中断(SECC)
当发现从NAND闪存页中读取的ECC与从该页的备用区域中读取数据所产生的ECC不匹配时,发生备用区域ECC错误中断,并且在FCDP_NFECCCONFIG寄存器中激活备用区域ECC检测。直到所有的传输已经完成并且所有的数据已经从FCDP_RDBUF寄存器中读取后,才内部上推备用区域ECC错误中断。然后,FCDP等待刷新命令以确保已经与中断延迟无关地识别该错误。在接收到刷新命令后,FCDP通过请求下一个命令恢复到正常操作。
-闪存状态错误中断(ST)
在执行NF_CHECK命令之后,当发现从NAND闪存装置读取的状态字节与NAND闪存状态比较寄存器(FCDP_NFCOMP)中定义的期望值不匹配时,发生闪存状态错误中断。比较是根据NAND闪存状态掩码寄存器(FCDP_NFMASK)来执行的。中断服务程序能够从NAND闪存状态寄存器(FCDP_NFSTATUS)中读取实际的状态字节。在闪存状态错误中断之后,FCDP等待刷新命令以确保已经与中断延迟无关地识别该错误。在接收到刷新命令后,FCDP通过请求下一个命令恢复到正常操作。
-FIFO溢出/欠载错误中断(FIFO)
在FIFO为空期间,当对读缓冲寄存器(FCDP_RDBUF)进行读访问时,或者在FIFO为满期间,当对写缓冲寄存器(FCDP_WRBUF)进行写访问时,则发生FIFO溢出/欠载错误中断。
-保护错误中断(PE)
保护错误中断在下列情况下发生:
-一个已经在NAND闪存“保护命令”寄存器(FCDP_NFPROTCMD)中被指定受保护的命令,在一个在NAND闪存地址窗口寄存器(FCDP_NFADDRWIN1L、FCDP_NFADDRWIN2L)中被指定的受保护NAND闪存地址区域(页)中输出。在NAND闪存处理期间的保护错误中断之后(也就是说不是在保护寄存器FCDP_NFPASSW、FCDP_NFPROTCMD、FCDP_NFADDRWIN1L和FCDP_NFADDRWIN1H配置期间,FCDP_MODE.RUN=“0”),FCDP等待刷新命令以确保已经与中断延迟无关地识别该错误。在接收到刷新命令后,FCDP通过请求下一个命令恢复到正常操作。
-通过将校正密码写入到NAND闪存密码寄存器(FCDP_NFPASSWD)中,没有首先打开NAND闪存“保护命令”寄存器(FCDP_NFPROTCMD),NAND闪存“保护命令”寄存器就被写入。
-通过将校正密码写入到NAND闪存密码寄存器(FCDP_NFPASSWD)中,没有首先打开NAND闪存地址窗口1寄存器(FCDP_NFADDRWIN1L),NAND闪存地址窗口1寄存器就被写入。
-一个错误的密码已经被写入NAND闪存密码寄存器(FCDP_NFPASSWD)。
-命令错误中断(CE)
当未定义命令被写入到命令寄存器FCDP_COMMAND中时,产生命令错误中断。在命令错误中断之后,FCDP等待刷新命令以确保已经与中断延迟无关地识别该错误。在接收到刷新命令后,FCDP通过请求下一个命令恢复到正常操作。
-命令溢出错误中断(CO)
当在前一命令被完全处理之前将命令写入到命令寄存器FCDP_COMMAND时,也就是说下一命令还没有被请求时,产生命令溢出错误中断。
-AHB错误中断(AE)
当FCDP中的AHB主接口检测到AHB错误响应时,产生AHB错误中断。该AHB错误的原因必须通过AHB从模块指示给该接口。一旦产生AHB错误中断,命令执行将立即终止,并且FCDP等待刷新命令以确保已经与中断延迟无关地识别该错误。在接收到刷新命令后,FCDP通过请求下一个命令恢复到正常操作。
NAND闪存装置的基址在FCDP配置寄存器中被指定。AHB主接口为NAND闪存装置仅产生三个不同的地址,这三个不同的地址取决于访问类型:
-<基址>:数据
-<基址>+0×20000:地址
-<基址>+0×40000:命令
当通过NF_WR命令或NF_RD命令选择INCR4脉冲串传输时,根据AHB规范产生地址。
NAND闪存页地址和NAND闪存行地址是FCDP命令序列的一部分,并且它们与AHB地址产生无关。
对于NOR闪存装置,FCDP为每个读访问产生地址和AHB传输类型(时序的或非时序的):<开始>、<开始>+0×04、<开始>+0×08、<开始>+0×0C、……,<开始>表示传输的序列的初始起始地址。根据AHB规范中所定义的,必须要记住的是,<开始>必须要对准字地址的边界并且脉冲串一定不能超过边界1KB。
初始起始地址和将要被执行的脉冲串的数量是FCDP命令序列的一部分。
脉冲串模式写命令与脉冲串模式读命令以相同的方式工作。
硬件保护机构防止无意的或未经许可的NAND闪存删除和写操作。
FCDP将写命令和读命令的地址与可用于写的地址区域进行比较。如果地址不在所允许的地址区域内,则FCDP取消到闪存装置的那些命令的输出并且产生错误中断。
在页基础上执行保护。保护解锁寄存器的内容指定页地址区域。涉及写和删除保护功能的一套NAND闪存命令必须由软件来定义,例如块删除(D0h)和页编程(10h)。如果所指定的页地址没有位于可容许的地址区域(地址窗口)内并且随后的命令指定为保护命令,则产生保护命令中断,并且关键命令将不被送入NAND闪存。
如图7中所示,执行写保护的两个电平N1、N2。只有那些在两个电平N1、N2中均开放的地址区域能被用作写和删除操作。在复位之后,两个锁定处理覆盖了所有地址区域。
第一电平地址窗口寄存器的设定允许地址区域的一部分用作写和删除操作。此第一保护电平N1保护例如用于移动电话的程序和主功能,以防止被改写。
在类似的寄存器中指定第二保护电平N2。其可以用作单独的驱动器,例如用于闪存文件系统。
保护命令设置寄存器和第一电平地址窗口寄存器由密码机构保护。
为了减少动态功率损耗,FCDP提供四种不同操作模式,具体而言:
-睡眠:FCDP_CLC寄存器中的外设时钟已经被切断。在此模式下,仅对寄存器的读访问是可能的。
-配置:FCDP_CLC寄存器中的外设时钟已经被接通,并且运行模式被去激活(FCDP_MODE.RUN=“0”)。在此模式下,除了FCDP_COMMAND之外,对所有的寄存器都是能进行写访问。大部分外设内核的时钟是无效的。
-仅NOR闪存模式操作:FCDP_CLC寄存器中的外设时钟已接通、运行模式使能(FCDP_MODE.RUN=“1”)并且NAND闪存操作被切断(FCDP_MODE.NFEN=“0”)。在此模式下,对配置寄存器的写访问是不可能的。除了NAND闪存命令之外的FCDP命令能被写入到FCDP_COMMAND寄存器中。内核的NAND闪存特殊部分的时钟被切断。
-完全操作:FCDP_CLC寄存器中的外设时钟已接通、运行模式被激活(FCDP_MODE.RUN=“1”)并且NAND闪存操作被启动(FCDP_MODE.NFEN=“1”)。在此模式下,对配置寄存器的写访问是可能的。所有FCDP命令包括NAND闪存命令能被写入到FCDP_COMMAND寄存器。
最后,在描述的示范实施例中的接口将在下文中更详细地说明。
AHB从接口
-支持传输尺寸:32位
-支持脉冲串尺寸:单个、INCR4(FIFO只读/写)
-支持传输响应:对、错。
AHB主接口
-支持传输尺寸:32位(对于某些NAND闪存访问+16位)
-支持脉冲串尺寸:单个、INCR4
-AHB莱特接口
DMAC接口
-支持对数据的脉冲串请求和“最后脉冲串”请求
-单个传输能够以同脉冲串传输一样的方式由DMAC处理
-支持对命令的单个请求
-需要两个独立的用于数据和命令的DMA信道
-所有DMA请求能够象中断一样随意被处理
NAND闪存接口
nand_flash_busy_n_i:链接到闪存装置的Ready/Busy_N输出。此信号完全地异步处理。
调试接口
调试接口允许FCDP的某些内部信号被监控。在装置的监控插脚上对存取有用的这些信号在表3中列出。
表3:监控信号
  位   信号   描述   源
  [5:0]   state   FSM状态   fcdp_control
  6   cmd_ind   命令指示   fcdp_registerblock
  7   cmd_ack   命令确认   fcdp_control
  8   run_ack   运行确认  fcdp_control
  9   wr_req   写请求  fcdp_control
  10   rd_req   读请求  fcdp_control
  11   dtack   数据确认  fcdp_ahb_master
  12   rwack   读/写确认  fcdp_ahb_master
  13   rx_data_ind   数据接收指示  fcdp_control
  14   tx_data_ack   数据传输确认  fcdp_control
  15   kernel_clk_mon   核心时钟状态改变信号  fcdp_clc
在下文中,我们将转为对NAND闪存ECC寄存器的更加全面的描述。
FCDP_NFECCCONFIG寄存器可以指定是否通过NF_WR命令将主区域ECC和备用区域ECC写入NAND闪存,以及是否通过NF_RD命令对它们进行检测。主尺寸(MAINSIZE)字段定义了一页的主区域的大小,该页必须是2的幂(32位字)。
FCDP_NFMECCPTR和FCDP_NFSECCPTR寄存器表示一页中的主区域ECC和备用区域ECC的存储位置。
用于ECC产生/检测的备用区域在由FCDP_NFECCCONFIG.MAINSIZE定义的主区域之后立即开始,并且结束于由FCDP_NFSECCPTR定义的位置。必须使用软件来保证此区域不超过32字节(见图9)。
FCDP_NFIECCPTR寄存器定义在一页的备用区域中的16位字,该16位字不包括在ECC产生中。在示范实施例中,其中是不需要该特征的,FCDP_NFIECCPTR能被设定为在有效页尺寸之外的值。
当FCDP_NFSECCPTR和FCDP_NFIECCPTR必须和一个16位边界对准时,FCDP_NFMECCPTR必须和一个32位地址边界对准。
必须要记住的是,备用区域ECC必须跟随其要保护的备用区域的一部分。
图8示出了页配置的一个实施例。阴影部分不包括在备用区域ECC计算中。
FCDP_NFMECCST和FCDP_NFSECCST寄存器各自表示主区域ECC和备用区域ECC。一旦写命令(NF_WR)已经被完全执行,则两个寄存器显示从写入页数据中计算出的ECC。一旦读命令(NF_RD)已经被完全执行,则两个寄存器显示ECC的结果,该ECC是由具有读ECC的读数据通过异或连接计算得到的。
如果检测启动并且结果不等于零,就产生相关联的ECC错误中断。此时,软件能够读取ECC状态寄存器以确定错误类型并初始化进一步的测量。ECC状态寄存器的配置可以检测其是否是可校正的错误(P<8192..P1>XORP<8192..P1>′),并且允许位错误的位置被有效读取。
在ECC错误中断结束之后,必须将刷新命令写入命令寄存器,确认该错误。
下列表4到9应该和附图10到15被一起阅读(表4-图10、表5-图11、表6-图12、等等)。上述最后提及的多个表和多个附图提供了NAND闪存ECC寄存器的可视化的说明。
表4
  字段   位   类型   描述
  WMECC   0   rw   写主区域ECC0:无效1:有效
  WSECC   1   rw   写备用区域ECC0:无效1:有效
  CMECC   2   Rw   比较主区域ECC0:无效1:有效
  CSECC   3   rw   比较备用区域ECC0:无效1:有效
  -   15:4   0   没有执行、保留的
  MAINSIZE   27:16   rw   主区域尺寸以字节定义主区域的尺寸,尺寸限制于2x个32位字。
  -   31:28   0   没有执行、保留的
表5
 字段   位   类型   描述
 MECCPTR   11:0   rw   主区域ECC指针对准的32位地址
 -   31:12   0   没有执行、保留的
表6
 字段   位   类型   描述
 SECCPTR   11:0   rw   备用区域ECC指针对准的16位地址
 -   31:12   0   没有执行、保留的
表7
 字段   位   类型   描述
 IECCPTR   11:0   rw   无用区域ECC指针对准的16位地址
 -   31:12   0   没有执行、保留的
表8
 字段   位   类型   描述
 MAIN_ECCl   13:0   rh   主区域ECCP8192、P4096、P2048、P1024、P512、……、P1
 -   15:14   0   没有执行、保留的
 MAIN_ECC2   29:16   rh   主区域ECCP8192′、P4096′、P2048′、P1024′、P512′、……、P1′
 -   31:30   0   没有执行、保留的
表9
  字段   位   类型 描述
  SPARE_ECC1   7:0   rh 备用区域ECCP128、P64、P32、……、P1
  -   15:8   0 没有执行、保留的
  SPARE_ECC2   23:16   rh 备用区域ECCP128′、P64′、P32′、……、P1′
  -   31:24   0 没有执行、保留的
参考图16到22,在下文中将更加具体地说明保护寄存器。
图16用图解法示出了保护机构。当指定的NAND闪存行地址(页/块地址)没有位于由NAND闪存地址窗口寄存器(FCDP_NFADDRWIN1L、FCDP_NFADDRWIN1H、FCDP_NFADDRWIN2L和FCDP_NFADDRWIN2H)指定的地址区域中时,那么下列NAND闪存命令与存储在FCDP_NFPROTCMD寄存器中的保护命令列表CMD0……3进行比较。如果发现匹配,则输出保护错误中断,FCDP就停止。否则,NAND闪存命令有效,并且传送到闪存装置(见图7)。
在NF_ADDR命令执行期间,在内部接收NAND闪存行地址。在所有的随后的NF_CMD命令期间,保护机构使用该行地址,直到其他NF_ADDR命令指定新的行地址。因此,为保证保护机构的正确操作,在FCDP_NFPROTCMD寄存器中应该指定第二NAND闪存命令字节(两字节命令周期)。
存在两种可能的方式来切断保护机构:
1.仅遮蔽在FCDP_NFPROTCMD寄存器中指定的命令(也就是说对NAND闪存装置正在使用无效的命令字节)。
2.配置地址窗口寄存器以使其包括全部NAND闪存行地址区域。
CMD1“受保护命令”寄存器和用于第一保护电平N1的地址窗口寄存器(FCDP_NFADDRWIN1L和FCDP_NFADDRWIN1H)均由FCDP_NFPASSWD密码寄存器保护。该密码必须由在复位之后的对该寄存器进行的第一写访问所定义。每个具有相同密码的随后的写访问打开受保护的寄存器用于进行一次并且仅一次写访问。密码寄存器的内容是不能被读取的。
接下来结合图17到22阅读表10到15(表10-图17、表11-图18、表12-图19、等等),表10到15分别提供了单个保护寄存器的更加详细的概述。
表10
  字段   位   类型   描述
  PASSWD   7:0   W   密码在复位之后的第一写访问定义该密码。每个具有正确密码的随后的写访问打开受保护的寄存器用于进行一次并仅一次写访问。具有不正确密码的写访问被忽略。对该寄存器的读取总是返回零。
  -   31:8   0   没有执行、保留的
表11
  字段   位   类型   描述
  CMD0   7:0   rw   命令0定义一个受保护的命令
  CMD1   15:8   rw   命令1定义一个受保护的命令
  CMD2   23:16   rw   命令2定义一个受保护的命令
  CMD3   31:24   rw   命令3定义一个受保护的命令
需要注意的是,只有当使用FCDP_NFPASSWD密码寄存器打开FCDP_NFPROTCMD寄存器时,才能够对FCDP_NFPROTCMD寄存器进行修改。在写访问之后,该寄存器再次关闭。
表12
  字段   位   类型  描述
  ADDR1L   31:0   rw  电平1保护地址窗口下限
需要注意的是,只有当使用FCDP_NFPASSWD密码寄存器打开FCDP_NFADDRWIN1L寄存器时,才能够对FCDP_NFADDRWIN1L寄存器进行修改。在写访问之后,该寄存器再次关闭。
表13
  字段   位   类型  描述
  ADDR1H   31:0   rw  电平1保护地址窗口上限
需要注意的是,只有当使用FCDP_NFPASSWD密码寄存器打开FCDP_NFADDRWIN1H寄存器时,才能够对FCDP_NFADDRWIN1H寄存器进行修改。在写访问之后,该寄存器再次关闭。
表14
  字段   位   类型  描述
  ADDR2L   31:0   rw  电平2保护地址窗口下限
需要注意的是,FCDP_NFADDRWIN2L寄存器是不受密码保护的。
表15
  字段   位   类型  描述
  ADDR2H   31:0   rw  电平2保护地址窗口上限
需要注意的是,FCDP_NFADDRWIN2H寄存器是不受密码保护的。

Claims (20)

1、一种用于在存储器之间传输数据的装置,该装置具有至少一个存储器控制器,其特征在于:该装置还具有存储器协议控制器(MPC)。
2、如权利要求1所述装置,其特征在于:存储器控制器或多个存储器控制器之一是直接存储器存取控制器(DMAC)。
3、如前述权利要求之一的装置,其特征在于:一个或多个存储器控制器与存储器协议控制器(MPC)是串联连接的。
4、如前述权利要求之一的装置,其特征在于:多个存储器之一为易失性存储器(VM)。
5、如权利要求4所述装置,其特征在于:用于存储器协议控制器(MPC)的命令序列为易失性存储器(VM)中的命令列表的一部分。
6、如权利要求5所述装置,其特征在于:一个不同的存储器为非易失性存储器(NVM),并且易失性存储器(VM)中的命令列表包括用于存储器协议控制器(MPC)的命令和用于非易失性存储器(NVM)的另外命令。
7、如权利要求6所述装置,其特征在于:该装置被设计成将从易失性存储器(VM)传输到非易失性存储器(NVM)的数据存储在易失性存储器(VM)的分离列表中,和/或是在易失性存储器(VM)中已经提及的命令列表的一部分。
8、如权利要求6或7所述装置,其特征在于:该装置具有直接存储器存取控制器(DMAC)作为存储器控制器,并且其中其被设计成
来自已经提及的命令列表的命令由直接存储器存取控制器(DMAC)传输到非易失性存储器(NVM),
存储器协议控制器(MPC)仅解译存储器协议控制器命令(MPC命令),并且
用于非易失性存储器(NVM)的每个命令先于一个“输出到非易失性存储器(NVM)”命令,使得用于非易失性存储器(NVM)的命令被传送到非易失性存储器(NVM)。
9、如权利要求8所述装置,其特征在于:该装置被设计成一旦存储器协议控制器(MPC)执行一个命令,其在直接存储器存取控制器(DMAC)的命令请求线上为下一命令传递一个请求,然后直接存储器存取控制器(DMAC)从易失性存储器(VM)中将下一命令传送到存储器协议控制器(MPC),并且持续该序列,直到直接存储器存取控制器(DMAC)执行到命令列表的末端。
10、如权利要求9所述装置,其特征在于:该装置具有微处理器,并且被设计成为了发信号通知任务已经被完全执行完毕,直接存储器存取控制器(DMAC)执行到所提及的命令列表的末端时,传递一个中断信号给微处理器。
11、如权利要求10所述装置,其特征在于:该装置被设计成由微处理器启动数据传输的开始,因为一旦所提及的易失性存储器(VM)中的命令列表的设立处理已经完成,则微处理器在存储器协议控制器(MPC)中设置一个“运行”位,并且因为在此之后,不需要任何进一步的微处理器控制,就可以进行数据传输处理,除非发生错误的情况。
12、如权利要求11所述装置,其特征在于:该装置被设计成由存储器协议控制器(MPC)发信号通知微处理器发生错误情况,错误的原因和所执行的最后命令的地址由微处理器从状态寄存器中读出,并且所有进一步的请求被输出到直接存储器存取控制器(DMAC)。
13、如权利要求12所述装置,其特征在于该装置被设计成由存储器协议控制器(MPC)产生错误检测代码或者错误检测代码和错误校正代码(ECC)。
14、如权利要求13所述装置,其特征在于该装置被设计成,对于读操作,存储器协议控制器(MPC)将读操作期间产生的错误检测代码与存储在非易失性存储器(NVM)中的错误检测代码相比较,并且在读错误的情况下,存储器协议控制器(MPC)执行其自身的校正,或触发对微处理器的中断。
15、如权利要求13或14所述装置,其特征在于该装置被设计成,对于写操作,存储器协议控制器(MPC)产生错误校正代码(ECC)并且将此错误校正代码(ECC)写入到非易失性存储器装置(NVM)中的预定点。
16、如权利要求6-15之一的装置,其特征在于至少一条控制线将存储器协议控制器(MPC)直接连接到非易失性存储器(NVM)。
17、如前述权利要求之一的装置,其特征在于:装置被设计成以数据包的形式进行传输数据。
18、如前述权利要求之一的装置,其特征在于:存储器协议控制器(MPC)中具有数据缓冲器。
19、如前述权利要求之一的装置,其特征在于:存储器协议控制器(MPC)被设计成执行用于写和/或读操作的数据压缩和数据解压缩。
20、如前述权利要求之一的装置,其特征在于:与存储器协议控制器(MPC)串联连接的两个存储器控制器,该存储器协议控制器(MPC)被布置在两个存储器控制器之间,其中一个存储器控制器作为直接存储器存取控制器(DMAC),并且另一个存储控制器作为传统的存储器控制器。
CNB2004800410725A 2004-01-30 2004-12-15 用于在存储器间传输数据的装置 Expired - Fee Related CN100538674C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004004796A DE102004004796B4 (de) 2004-01-30 2004-01-30 Vorrichtung zur Datenübertragung zwischen Speichern
DE102004004796.0 2004-01-30

Publications (2)

Publication Number Publication Date
CN1947107A true CN1947107A (zh) 2007-04-11
CN100538674C CN100538674C (zh) 2009-09-09

Family

ID=34813060

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800410725A Expired - Fee Related CN100538674C (zh) 2004-01-30 2004-12-15 用于在存储器间传输数据的装置

Country Status (4)

Country Link
US (1) US7631153B2 (zh)
CN (1) CN100538674C (zh)
DE (1) DE102004004796B4 (zh)
WO (1) WO2005073865A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404184B (zh) * 2007-10-04 2012-10-10 松下电器产业株式会社 半导体存储装置
CN106021145A (zh) * 2016-05-25 2016-10-12 芯启源(上海)半导体科技有限公司 应用处理器、应用处理装置及命令执行方法
CN106257436A (zh) * 2015-06-16 2016-12-28 Arm 有限公司 发送器、接收器、数据传输系统和数据传送方法
CN108091366A (zh) * 2017-12-29 2018-05-29 中国电子科技集团公司第五十八研究所 Flash读取电路和读取方法
CN108874578A (zh) * 2017-05-16 2018-11-23 迈来芯科技有限公司 用于监管和初始化端口的设备
CN110660421A (zh) * 2018-06-29 2020-01-07 上海磁宇信息科技有限公司 一种带纠错和压缩电路的磁性随机存储器
WO2020062252A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 运算加速器和压缩方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484016B2 (en) * 2004-06-30 2009-01-27 Intel Corporation Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
TWM298188U (en) * 2006-01-23 2006-09-21 Genesys Logic Inc Control device for accessing Non-Volatile memory
US7490177B2 (en) * 2006-01-23 2009-02-10 Infineon Technologies Ag System method for performing a direct memory access for automatically copying initialization boot code in a new memory architecture
US7451263B2 (en) * 2006-02-08 2008-11-11 Infineon Technologies Ag Shared interface for components in an embedded system
US8407429B2 (en) * 2006-06-21 2013-03-26 Element Cxi, Llc Multi-context configurable memory controller
US20080007569A1 (en) * 2006-07-06 2008-01-10 Rom-Shen Kao Control protocol and signaling in a new memory architecture
US20080010419A1 (en) * 2006-07-06 2008-01-10 Rom-Shen Kao System and Method for Issuing Commands
US20080010420A1 (en) * 2006-07-06 2008-01-10 Rom-Shen Kao Method for Accessing Control Registers via a Memory Device
US7441070B2 (en) * 2006-07-06 2008-10-21 Qimonda North America Corp. Method for accessing a non-volatile memory via a volatile memory interface
US20080207252A1 (en) * 2007-02-23 2008-08-28 Magnus Tillgren Mobile telephone with direct memory access
CN101140809A (zh) * 2007-09-07 2008-03-12 炬力集成电路设计有限公司 支持流水线纠错码和可配置操作的flash控制器及其控制方法
JP2009181425A (ja) * 2008-01-31 2009-08-13 Nec Corp メモリモジュール
US8001434B1 (en) 2008-04-14 2011-08-16 Netlist, Inc. Memory board with self-testing capability
JP2010009642A (ja) * 2008-06-24 2010-01-14 Toshiba Corp 半導体記憶装置およびそのテスト方法
US8880970B2 (en) 2008-12-23 2014-11-04 Conversant Intellectual Property Management Inc. Error detection method and a system including one or more memory devices
KR101687038B1 (ko) * 2008-12-18 2016-12-15 노바칩스 캐나다 인크. 에러 검출 방법 및 하나 이상의 메모리 장치를 포함하는 시스템
US8555143B2 (en) * 2008-12-22 2013-10-08 Industrial Technology Research Institute Flash memory controller and the method thereof
KR101056258B1 (ko) * 2009-09-14 2011-08-11 삼성모바일디스플레이주식회사 유기전계발광 표시장치 및 그의 구동방법
CN101894084B (zh) * 2010-04-13 2012-06-27 苏州国芯科技有限公司 一种clb总线内用于写操作的装置
FR2977690B1 (fr) * 2011-07-04 2013-08-02 St Microelectronics Rousset Procede d'initialisation de registres d'organes peripheriques dans un microcontroleur
WO2014203029A1 (en) * 2013-06-17 2014-12-24 Freescale Semiconductor, Inc. Efficient scheduling in asynchronous contention-based system
JP6294732B2 (ja) * 2014-03-31 2018-03-14 株式会社メガチップス データ転送制御装置及びメモリ内蔵装置
US10063263B2 (en) * 2015-05-20 2018-08-28 International Business Machines Corporation Extended error correction coding data storage
US10459855B2 (en) 2016-07-01 2019-10-29 Intel Corporation Load reduced nonvolatile memory interface
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN86103678A (zh) * 1985-06-28 1986-12-31 惠普公司 用于向处理器给出输入/输出通知的装置
US6134630A (en) * 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
US6748457B2 (en) * 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US6735581B2 (en) * 2001-05-08 2004-05-11 Sunflare Co., Inc. Fourier series-based automatic generation system and method for multi-variable fuzzy systems
GB0123422D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved memory controller
US6721820B2 (en) * 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
EP1514176B1 (en) * 2002-06-06 2007-10-10 Nxp B.V. Method and apparatus for writing data to a non-volatile memory

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101404184B (zh) * 2007-10-04 2012-10-10 松下电器产业株式会社 半导体存储装置
CN106257436A (zh) * 2015-06-16 2016-12-28 Arm 有限公司 发送器、接收器、数据传输系统和数据传送方法
CN106257436B (zh) * 2015-06-16 2022-04-26 Arm 有限公司 发送器、接收器、数据传输系统和数据传送方法
CN106021145A (zh) * 2016-05-25 2016-10-12 芯启源(上海)半导体科技有限公司 应用处理器、应用处理装置及命令执行方法
CN106021145B (zh) * 2016-05-25 2019-06-14 芯启源(上海)半导体科技有限公司 应用处理器、应用处理装置及命令执行方法
CN108874578B (zh) * 2017-05-16 2021-01-12 迈来芯科技有限公司 用于监管和初始化端口的设备
CN108874578A (zh) * 2017-05-16 2018-11-23 迈来芯科技有限公司 用于监管和初始化端口的设备
CN108091366B (zh) * 2017-12-29 2021-01-29 中国电子科技集团公司第五十八研究所 Flash读取电路和读取方法
CN108091366A (zh) * 2017-12-29 2018-05-29 中国电子科技集团公司第五十八研究所 Flash读取电路和读取方法
CN110660421A (zh) * 2018-06-29 2020-01-07 上海磁宇信息科技有限公司 一种带纠错和压缩电路的磁性随机存储器
CN110660421B (zh) * 2018-06-29 2021-11-23 上海磁宇信息科技有限公司 一种带纠错和压缩电路的磁性随机存储器
WO2020062252A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 运算加速器和压缩方法
US11960421B2 (en) 2018-09-30 2024-04-16 Huawei Technologies Co., Ltd. Operation accelerator and compression method

Also Published As

Publication number Publication date
WO2005073865A2 (de) 2005-08-11
WO2005073865A3 (de) 2005-11-24
DE102004004796B4 (de) 2007-11-29
CN100538674C (zh) 2009-09-09
US20070028030A1 (en) 2007-02-01
DE102004004796A1 (de) 2005-09-01
US7631153B2 (en) 2009-12-08

Similar Documents

Publication Publication Date Title
CN1947107A (zh) 用于在存储器间传输数据的装置
CN1095116C (zh) 执行两种指令长度代码的处理机及其指令码输入装置
CN1596401A (zh) 非易失性存储器装置的控制方法
CN1249585C (zh) 闪速存储器系统
CN1227589C (zh) 用于保存返回状态的数据处理设备和方法
CN1288530C (zh) 用于恢复存储器初始化值的方法和系统
CN1237455C (zh) 数据传输控制装置、电子设备、及数据传输控制方法
CN1297885C (zh) 高速缓存数据区段的配置与初始化机制
CN1121014C (zh) 具有risc结构的八位微控制器
CN100346285C (zh) 处理器芯片与存储控制系统及方法
CN1292360C (zh) 一种实现自动读写内部集成电路设备的装置和方法
CN1680930A (zh) 减少总线使用时间的系统和控制器
CN1617160A (zh) 用于识别标准卡以及非标准卡的卡识别系统
CN1704911A (zh) 高速缓冲存储器、系统和数据存储方法
CN1690971A (zh) 中断控制装置
CN1892591A (zh) 本地和非本地共享数据结构间的数据对齐
CN1551592A (zh) 数据传输控制装置、电子设备及数据传输控制方法
CN1869952A (zh) 指令执行设备、调试方法、调试设备以及调试程序
CN1264081A (zh) 将生产测试接口接至全局串行总线的方法和装置
CN1297915C (zh) 外部连接设备、主设备及数据通信系统
CN1469254A (zh) 处理器装置、使用它的信息处理装置、编译装置及其方法
CN1521638A (zh) 信息处理设备
CN1275164C (zh) 数据传输控制系统、电子设备、及数据传输控制方法
CN1318242A (zh) 数据传输控制装置和电子设备
CN1504902A (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
ASS Succession or assignment of patent right

Owner name: INFINEON TECHNOLOGIES DELTA GMBH

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG

Effective date: 20120720

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee

Owner name: INTEL MOBILE COMMUNICATIONS GMBH

Free format text: FORMER NAME: INTEL MOBILE COMMUNICATIONS TECHNOLOGY GMBH

Owner name: INTEL MOBILE COMMUNICATIONS TECHNOLOGY GMBH

Free format text: FORMER NAME: INFINEON TECHNOLOGIES DELTA GMBH

CP01 Change in the name or title of a patent holder

Address after: Neubiberg, Germany

Patentee after: Intel Mobile Communications GmbH

Address before: Neubiberg, Germany

Patentee before: Infineon Technologies AG

Address after: Munich, Germany

Patentee after: Infineon Technologies AG

Address before: Munich, Germany

Patentee before: Infineon Technologies AG

Address after: Neubiberg, Germany

Patentee after: Intel Mobile Communications GmbH

Address before: Neubiberg, Germany

Patentee before: Intel Mobile Communications GmbH

TR01 Transfer of patent right

Effective date of registration: 20120720

Address after: Neubiberg, Germany

Patentee after: Infineon Technologies AG

Address before: Munich, Germany

Patentee before: Infineon Technologies AG

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Neubiberg, Germany

Patentee after: Intel Mobile Communications GmbH

Address before: Neubiberg, Germany

Patentee before: Intel Mobile Communications GmbH

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090909

Termination date: 20181215

CF01 Termination of patent right due to non-payment of annual fee