CN102103566A - 闪存存储器接口 - Google Patents
闪存存储器接口 Download PDFInfo
- Publication number
- CN102103566A CN102103566A CN2010106008460A CN201010600846A CN102103566A CN 102103566 A CN102103566 A CN 102103566A CN 2010106008460 A CN2010106008460 A CN 2010106008460A CN 201010600846 A CN201010600846 A CN 201010600846A CN 102103566 A CN102103566 A CN 102103566A
- Authority
- CN
- China
- Prior art keywords
- data
- flash memories
- circuit
- interface
- described flash
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Information Transfer Systems (AREA)
Abstract
闪存类型存储器存取和控制受促进(例如作为随机存取存储器)。根据示例实施例,接口在外围接口总线上对闪存存储器电路进行通信并且控制。所述接口使用FIFO缓冲器,其耦合为从所述闪存存储器电路接收数据,并且对于所述闪存存储器电路存储数据,并且提供对所存储的数据的存取。响应于来自处理器的请求,接口控制器经由外围接口总线将所述接口控制器进行通信,以初始化所述闪存存储器电路,并且对其存取数据。在某些应用中,通过将命令发送到闪存存储器电路,闪存存储器电路得以初始化。接口可以进入只读模式,其中,使用来自闪存的对缓冲数据的FIFO,闪存存储器中的数据被存取作为主(计算机)处理器存储器的一部分。
Description
技术领域
本发明通常涉及存储器设备,更具体地说,涉及具有闪存类型接口的存储器设备。
背景技术
闪存存储器是一种非易失性类型的可擦除和可重写存储器,其归因于其相对廉价的性质而体验到巨大成功。在很多情况下,闪存存储器是按较大的块而擦除和编程的。闪存存储器的实现方式已经包括了外部存储器(例如存储卡和闪存驱动器)以及内部存储器(例如用于手持或移动设备的固态存储)。
闪存存储器设备以各种方式而操作。在很多应用中,命令模式用于例如擦除和编程之类的操作,而存储器模式用于从闪存读取数据。在某些应用中,闪存设备使用半双工命令驱动的串行外围接口(SPI)协议,以用于设备设置/初始化,并在然后移动到半双工命令驱动的4比特协议,以用于正常操作。然而,不同闪存设备接受和/或需要不同命令和命令格式。在很多情况下,闪存设备不兼容于特定类型的其它设备或处理器。此外,闪存存储器的很多形式不可被修改为特定应用中所需或期望的快速存取。
这些和其它问题对于串行闪存存储器的利用状况持续提出挑战。
发明内容
本发明通过多个实现方式和应用而例举,以下概述其中某些。
与本发明示例实施例一致,外围接口电路在计算机处理器与闪存存储器电路之间进行接口,所述计算机处理器和闪存存储器电路通过外围接口总线以通信方式连接到所述接口,以对所述闪存存储器电路上存储的、被映射为主处理器存储器的一部分的数据进行存储,并且提供对其的存取。所述接口电路包括先入先出(FIFO)缓冲器和接口控制器。所述FIFO缓冲器耦合为从所述闪存存储器电路接收数据并且将其存储,并且提供数据缓冲。所述接口控制器被配置为经由所述外围接口总线与所述闪存存储器电路进行通信,初始化所述外围接口总线闪存存储器电路,以将数据提供给作为主存储器部分的FIFO缓冲器,并且响应于用于对映射为主存储器部分的地址的存取的请求而从所述闪存提供数据。响应于对映射为主存储器的部分并且在所述FIFO缓冲器中存储有其至少一部分的数据的请求,所述控制器控制所述FIFO缓冲器提供对所存储的数据的存取,并且(根据需要)控制所述闪存存储器电路提供从所述闪存存储器电路中的后续地址到FIFO缓冲器的所请求的数据的平衡。响应于对映射为主存储器的部分并且未存储在所述FIFO缓冲器中的数据的请求,所述控制器控制所述闪存存储器电路将所请求的数据提供给FIFO缓冲器。在任何情况下,控制器读取后续地址的内容,并且将它们存储在FIFO缓冲器中。
另一示例实施例针对一种闪存存储器-接口系统,用于存储并且提供对映射为计算机的主存储器部分进行存储并且提供对其的存取。所述系统包括外围接口总线、闪存存储器电路、FIFO缓冲器和接口电路。所述闪存存储器电路被配置为连接到所述外围接口总线,并且经由其进行通信,并且存储映射为主存储器部分的数据。FIFO缓冲器和接口电路通常结合外围接口电路如上所述而工作。
其它示例实施例针对根据在此讨论的方法中的一个或多个控制接口和/或存储器电路的方法。
以上发明内容并非意图描述本发明的每一实施例或每种实现方式。以下的附图和详细描述更特定地例举各个实施例。
附图说明
通过结合附图考虑以下本发明各个实施例的详细描述,可以更全面地理解本发明,其中:
图1示出根据本发明一个或多个示例实施例的用于在SPI和四元模式下操作闪存存储器电路的信号的图线;
图2示出根据其它示例实施例的用于在串行外围接口(SPI)和四元模式下与闪存存储器电路进行接口并且存取闪存存储器电路的信号的图线;
图3示出根据另一示例实施例的外围闪存接口(SPIFI)模块的框图;
图4示出根据本发明另一示例实施例的利用SPIFI模块的框图;
图5根据本发明另一示例实施例的用于处理器-闪存存储器模块的初始设置的数据流程图;
图6A和图6B示出根据本发明另一示例实施例的在存储器模式下操作的闪存存储器接口系统;以及
图7示出根据本发明另一示例实施例的对于闪存存储器电路的实现方式的FIFO框图。
虽然本发明顺应于各种修改和替换形式,但在附图中已经通过示例的方式示出其细节,并且将对其进行详细描述。然则,应理解,目的并不是将本发明限制为所描述的特定实施例。反之,意图在于覆盖落入包括所附权利要求中所定义的各方面的本发明的精神和范围内的所有修改、等同以及替换。
具体实施方式
本发明被认为可应用于各种不同类型的处理器、设备和布置方式,以用于计算机存储器应用。虽然本发明并非一定如此受限,但通过使用这种情形讨论各示例,可以理解本发明的各方面。
结合各个示例实施例,闪存存储器接口被配置为在计算机处理器(CPU)(可选地,其存储器控制器)与闪存存储器电路之间进行接口,以用于将数据写入到闪存存储器电路,并且从闪存存储器电路读取数据。闪存存储器接口包括:通信端口,用于与闪存存储器电路进行通信;先入先出(FIFO)类型缓冲器,用于存储传送出入所述闪存存储器电路的数据;以及控制器,被配置为响应于所述CPU或存储器控制器,控制将数据写入到所述闪存存储器电路并且从所述闪存存储器电路读取数据。
闪存存储器接口被配置为与一个或多个类型的闪存存储器电路进行接口,并且对所有这些闪存存储器电路提供一致接口,以用于一个或多个各种类型的CPU和/或外围设备进行存取。通过经由通信端口与闪存存储器电路进行接口,闪存存储器接口响应于来自CPU的读取和写入命令。通信是根据串行和4比特双向协议的。例如,半双工命令驱动的串行外围接口(SPI)协议可以用于设备设置/初始化,并在然后使用半双工命令驱动的4比特协议,以用于正常操作。与总线主件进行的操作可以包括字节、半字和字存取。
闪存存储器电路响应于软件驱动的命令(例如来自对闪存进行存取的计算机处理器)和/或当存储器映射的闪存区域被读取时闪存存储器接口自动发送的命令。在某些情况下,命令被划分为包括操作码、地址、中间数据和数据在内的字段。取决于操作码,地址字段、中间数据字段和数据字段是备选的。在某些实现方式中,为了更高的性能,将操作码暗含在读取命令中。数据字段可以根据操作码而划分为输入数据字段和输出数据字段。
在一个特定实现方式中,在与闪存存储器从控器的半双工通信下,闪存存储器接口以主件模式进行操作。在初始设置期间,闪存存储器接口得以初始化,以使得之后,闪存存储器有效地存留(inhabit)CPU的存储器空间的一部分(例如,作为诸如RISC类型(例如来自San Jose,California的ARM Holdings)的处理器的存储器空间的一部分,按与外部存储器接口或RAM控制器相似的方式进行动作)。
当需要擦除或者编程时,闪存存储器接口操作在外围模式下,其中,将有正确序列的值写入(例如经由软件或固件)接口中的寄存器中,以完成编程。在擦除或编程期间,不读取闪存地址块。
闪存存储器接口对于耦合至其的一个或多个闪存存储器电路提供闪存地址块,以用于CPU当存留其存储器空间的一部分时(例如,作为上述ARM存储器的一部分)进行读取。在某些实现方式中,CPU经由顺序或随机加载指令来存取闪存地址块,并且直接处理数据,或者将数据拷贝到随机存取存储器(RAM)。在其它实现方式中,DMA控制器独立于CPU从一个或多个闪存存储器电路依次读取数据,并且可以将数据拷贝到RAM,或者将数据输出到外围。在另外实现方式中,从闪存存储器电路直接执行代码,例如用于不需要高速度的操作(例如,用于非关键代码和设备或系统设置)。
闪存存储器接口包括先入先出(FIFO)缓冲器。在完成对所耦合的闪存存储器电路上的数据的请求之后,闪存存储器接口推测性地读取遵从总线主件所请求的地址的数据,并且将其存储在FIFO中。该方法允许所期望的对闪存存储器电路的依次存取。如果CPU请求已经在FIFO中的数据的地址,则从FIFO提供数据,FIFO然后将被清空,并且包括所提供的数据,并且相应地被重填。
如果CPU请求除了FIFO中的地址之外的地址,则闪存存储器接口刷新FIFO,无效(de-assert)声明片选,以终止读取命令,并且发放具有新地址的读取命令。如果FIFO变满,则闪存存储器接口不连续地对闪存存储器提供时钟。“FIFO满”状态的超时对用于闪存的片选进行无效,这将闪存存储器置于低功率模式下。
闪存存储器接口将对每一命令的格式进行指示的通用方式用于在软件控制下的直接操作,以及用于控制信息,以用于在存储器模式下初始化读取操作。这种通用方法提供对闪存存储器所使用的任何特定命令集合的独立性,包括命令的每一部分是以串行还是四元I/O方式来传送的。
数据传送根据所使用的特定闪存设备而起作用,包括设备的能力,例如设备支持的命令的格式。在某些实施例中,初始设置包括具有由所有闪存设备提供的格式的命令,据此可以使用闪存接口。在闪存接口发送该命令之后,闪存存储器以对闪存设备的身份以及因而其能力进行指示的值(例如3字节值)来进行响应。标识值被用于(例如经由软件/固件)引导接口所发出的命令。
表1示出管脚描述和在串行外围接口闪存接口(SPIFI)与闪存存储器之间发送的信号,结合本发明的一个或多个示例实施例而使用。在某些实现方式中,管脚复用逻辑电路将这些管脚功能替换为一个或多个其它备选功能。
表1.设备管脚描述
图1和图2示出用于操作可以根据一个或多个示例实施例而实现的闪存存储器电路的接口信号,包括结合其余附图而示出并且描述的那些。图1示出根据一个或多个示例实施例的分别在串行外围接口(SPI)模式100和四元模式110下发送的包括操作码字节0x06的命令的传输。各字节得以发送,其中,最高有效位先入串行外围接口SPI模式,并且最高有效位先入四元模式。
在以上示例中,并且可以应用于在此所描述的各个实施例,术语“SPI”以及“SPIFI”可以指代使用串行通信、双模式通信、四元模式通信其它以通信中的一个或多个来操作的设备。相应地,应用与简写“SPI”有关的“串行外围接口”不限于串行通信,而是可以理解为对该术语的一般性使用。
图2示出根据其它示例实施例的用于从闪存设备读取数据的两个命令的接口信号。在SPI模式下,从从控器读取1字节。在四元模式下,从从控器读取3字节,其中,操作码和输入数据字段皆在四元模式下。在四元模式下,IO3:0线路在操作码、地址、中间和输出数据字段中受接口驱动,并且在输入数据字段中受闪存存储器驱动。在地址字段中,首先发送更多有效字节。
图3示出根据另一示例实施例的外围闪存接口(SPIFI)布置方式300。在分别受控于根据设备的寄存器312和存储器从控器区域322而操作的命令模式状态机310和存储器模式状态机320的命令模式和存储器模式下,SPIFI 300与闪存存储器进行接口(例如读取数据)。
SPIFI 300还包括闪存总线状态机330、FIFO存储器340和移位寄存器350。闪存总线状态机将时钟和片选信号传递给闪存存储器电路,并且进一步传递用于控制FIFO存储器340和移位寄存器350的信号,以将数据传递去往以及出自闪存存储器电路。
SPIFI 300可以根据以上和/或结合其余附图描述的其中某些各种不同的系统、闪存存储器电路和操作命令而操作。在此情况下,图4示出例如根据以上讨论以及在此的各表关于具有可以操作的各个输入/输出管脚的块402表示的SPIFI设备以及块404表示的串行闪存设备的仿真环境。附加块提供各种时钟信号和总线功能。图4所示的方法可以例如结合例如计算机系统中所采用的处理器电路406以及备选的另一设备(例如显示设备408)而使用。在用于显示设备的情况下,SPIFI 300可以例如与用于存储图像数据的闪存存储器电路进行接口。
根据本发明另一示例实施例,外部串行闪存设备在设备设置期间得以初始化。在一个实现方式中,使用将设备置于高性能模式的命令来初始化串行闪存设备。在完成初始化命令序列之后,响应于从存储器的串行闪存区域读取,将待发放的命令写入到存储器命令寄存器。在某些实现方式中,放弃在写入存储器命令寄存器之前读取闪存区域的尝试。
在写入存储器命令寄存器之后,启用对串行闪存内容的读取存取。这种存取可以包括加载命令、直接存储器存取(DMA,例如通过将DMA信道编程为读取串行闪存数据,并且将其写入到RAM或外围设备)、和/或来自串行闪存地址区域的指令执行。在一种实现方式中,针对没有严苛性能需求的代码序列,从串行闪存直接执行代码。
再次参照图3,通过示例的方式并且结合示例实施例,FIFO缓冲器340提供闪存存储器与系统的其它组件之间的缓冲。SPIFI 300在FIFO中维持包含字节数量的寄存器。SPIFI 300提供例如对执行软件的处理器或DMA控制器的存取,以从闪存区域读取字节、半字或字。当来自闪存区域的读取表示对应数据在FIFO 340中不可用时,SPIFI300终止进程中的任何命令,丢弃FIFO中的任何数据,然后使用控制寄存器的AMSB字段(见例如表2)所指示的存取地址的最低有效位的数字发放存储器命令寄存器中的命令。存储器命令寄存器将所述的地址字节的数字中的任何更多有效地址比特作为零而发送。根据需要延迟从闪存区域的读取,直到(所有)请求的字节在FIFO 340中可用。此时,SPIFI 300通过所请求的最后一个从FIFO 340移除字节。倘若FIFO 340中在比所请求的地址更低的地址处存在字节,那么将这些字节丢弃。
在从FIFO 340返回数据之后,SPIFI 300从闪存设备(在312耦合)读取更高地址的数据,并且将其存储在FIFO中。倘若FIFO 340变满,那么SPIFI 300停止对串行闪存设备提供时钟,从而没有其它数据被从闪存读取,直到处理器(DMA控制器)从闪存区域读取,以腾出FIFO中的空间。
在一个实现方式中,对于控制寄存器的TO字段(见表2)所指定的时间长度,当在从闪存区域读取之后FIFO 340仍然全满而没有另一读取时,或者当在将命令写入到指定输入数据字段的命令寄存器之后没有读取数据寄存器时,SPIFI 300经由闪存总线状态机330将片选(CS)管脚(如上所述)驱动为高,以终止命令,并且将串行闪存置于低功率模式。如果设置命令寄存器中的INTEN比特(见表2),则命令的终止将请求中断。
对从闪存区域读取的这种终止的效果在于,当对区域的新的存取出现时,SPIFI 300重新发放存储器命令寄存器中的命令。然而,如果当适当的命令不处于进程中时对数据寄存器进行读取或者写入,则SPIFI 300发放放弃例外。
根据本发明另一示例实施例,SPIFI 300用于如下对命令模式下的串行闪存设备进行编程或者擦除。适当的命令序列经由存取地址映射的闪存区域之外的寄存器地址而写入到命令、地址以及数据寄存器(例如在312)。当该序列完成,并且实际擦除或编程操作在串行闪存设备中进行时,读取状态命令被发放,其中,轮询比特(见表3)设置在命令寄存器中。如果控制寄存器中的INTEN是1,则当擦除或写入操作(并且因而读取状态命令)完成时,SPIFI 300中断处理器,或者否则允许继续或者按时段读取状态寄存器,直到其指示读取状态命令完成。在完成擦除或编程之后,可以执行另一编程或擦除,或者设备可以返回到存储器模式操作,其中,可以读取闪存中的存储的数据。
根据应用,寄存器312可以包括各种寄存器中的一个或多个(例如控制寄存器、命令寄存器、地址寄存器、中间数据寄存器、地址和中间数据寄存器、数据寄存器、存储器命令寄存器以及状态寄存器),以上讨论过其中某些。在一种实现方式中,寄存器312包括控制寄存器、命令寄存器和数据寄存器,如下。控制寄存器控制SPIFI 300的整个操作。在初始化任何命令之前写入控制寄存器,并且控制寄存器包括表2所示的字段。
表2.控制寄存器
命令寄存器包括表3所示的字段。在某些实现方式中,命令寄存器可以仅写入为字,但可以从命令寄存器读取字节、半字以及字。当写入命令寄存器时,终止关于串行闪存设备进程中的任何先前命令,清除存储器模式,丢弃FIFO 340中的数据,并且发送新命令。在某些实现方式中,对于包含地址和/或中间数据的命令,写入地址和/或中间数据寄存器,之后写入命令寄存器。倘若命令包含输出数据,那么在写入到命令寄存器之后将输出数据写入到数据寄存器,并且如果命令包含输入数据,则在写入到命令寄存器之后从数据寄存器读取输入数据。
表3.命令寄存器
如下使用地址寄存器。当命令包括地址字段时,地址写入到地址寄存器,之后关联命令写入到命令寄存器。对于使用3字节和4字节地址字段的命令,仅将控制寄存器的AMSB字段给出的地址寄存器的最低有效位的数量发送到设备。地址字段的任何更多有效位作为零而发送,如表2描述的那样。当写入命令寄存器时,将地址寄存器的内容捕获到正在工作的寄存器,从而在准备后续命令中可以再次写入地址寄存器。
中间数据寄存器如下而使用。在写入需要特定中间字节值的命令之前,将字节的值写入到中间数据寄存器。倘若在命令寄存器指定多于一个的中间字节,那么首先发送写入到中间数据寄存器的LS字节。如果在命令寄存器指定了比在最近写入到该寄存器中所提供的更多的中间字节,则在后续字节中发送多个零。当写入命令寄存器时,将中间数据寄存器的内容捕获到工作寄存器,从而在准备下一命令或存储器模式中可以再次写入中间数据寄存器。如果控制寄存器中的CLRID比特为1,则中间数据寄存器被清除,从而未来的包含中间数据字段的命令将在它们中具有多个零,除非对于每一命令重写中间数据寄存器。对于需要特定命令中的哑元(延迟)字节的串行闪存设备,在发放执行命令之前,无需写入中间数据寄存器。
如下使用受限于字存取的地址和中间寄存器地址。地址和中间字节值在一个写入操作中写入到寄存器,用于使用具有小于4字节地址的两个字段。当字写入到该地址时,比特23:0写入到地址寄存器,比特31:24写入到中间数据寄存器的比特7:0。在某些实现方式中,该寄存器地址可以用于设置闪存地址和“M7-M0”字节,以用于具有16M字节/128M比特或更少的Winbond设备(可从Winbond of San Jose,California获得)。
数据寄存器如下而使用。在通过写入到命令寄存器中来初始化包括数据输出字段的命令之后,输出数据写入到数据寄存器。存储字节指令提供一个数据字节,存储半字指令提供两个字节,存储字指令提供4字节输出数据。如果FIFO 340太满而不接受所存储的字节的数量,则可以延迟存储命令。对于存储半字和存储字,首先发送LS字节。在通过写入到命令寄存器来初始化包括数据输入字段的命令之后,从数据寄存器读取输入数据。加载字节指令传递一个数据字节,加载半字指令传递两个字节,加载字指令传递4字节的输入数据。如果FIFO340不包含所加载的字节的数量,则延迟加载命令。对于加载半字和加载字命令,首先接收LS字节。在一个实现方式中,对于包括除了全1之外的dataLen值,从数据寄存器读取不多于(dataLen)个字节,或者将其写入到数据寄存器,并且数据寄存器并非结合读取存储器映射中的闪存地址范围而使用。当DMA在外围出入存储器模式下进行传送时,将数据寄存器设置为外围地址。
存储器命令寄存器如下而使用。在存取存储器映射的闪存区域之前,使用上述寄存器来设置SPIFI 300。于是将字写入到存储器命令寄存器,以定义将发送到串行闪存的命令,以当从闪存区域读取数据时,从设备读取数据。其后,可以直接地或者使用DMA信道从闪存存储器区域读取数据。当写入存储器命令寄存器时,在存储器模式下设置SPIFI 300。在一个实现方式中,存储器命令寄存器的内容与命令寄存器的内容相同,例外之处如表4所示。
表4.与命令寄存器的存储器命令寄存器差异
在某些实现方式中,寄存器312还包括状态寄存器。状态寄存器是只读寄存器,其指示SPIFI 300的状态,并且包括表5所示的字段。
表5.状态寄存器
根据本发明示例实施例,闪存接口(例如SPIFI 300)被配置为连接到AHB(高性能总线)并且根据表6中表示的信号而操作,如以下进一步描述的那样。
表6.SPIFI AHB信号
根据另一示例实施例,相对于串行闪存和包含闪存接口的设备的其它部分,SPIFI(例如300)连接到表7所示的信号。
表7.SPIFI I/O信号
图5示出根据另一示例实施例的用于布置方式500的通过第一存储器模式存取的示例开始序列。主件控制器(微控制器单元MCU)502使用一系列步骤510-522来控制从控器闪存存储器504,步骤510-522中的一个或多个可以根据以上描述而得以实现。例如,在重置之后,主件将标识读取命令512发送到从控器,从控器通过发送其标识数据514(例如制造商标识和设备标识)来响应。该信息可以用在通过从控器504(例如通过使用标识来确定与闪存存储器504工作的命令集合)配置后续通信和操作中。写入是在步骤510(超时)、512(命令)、516(控制寄存器)和518(存储器控制寄存器)中执行的,读取是在步骤514和522中完成的。
图6A和图6B分别示出了在超时以及没有超时的情况下的系统600,其包括MCU 610、闪存接口电路(SPIFI)620以及操作在存储器模式下的闪存存储器电路630。地址表示在十六进制(基数16)符号中。SPIFI 620和闪存存储器电路630可以根据在此所讨论的一个或多个示例实施例而操作,其中,各种控制和数据如所示那样而传递。例如,当MCU 610从SPIFI 620请求在424处的字时,SPIFI在数据被检索的同时将等待响应发送到MCU,并且将包括地址424的存储器命令发送到闪存存储器电路,闪存存储器电路通过将数据发送到SPIFI而响应,以满足请求,并且此后向FIFO填充顺序地址。
当MCU 610然后请求在42c处的字时,SPIFI 620丢弃字428-42B,将所请求的字从FIFO返回到MCU,并且从串行闪存630读取附加顺序地址,以填充FIFO。
当MCU 610然后请求在600的字节时,SPIFI 620将等待响应发送到MCU,因为字节600为出现在FIFO中而清除FIFO,对于一个时钟驱动产生为高以终止先前命令,然后将包括地址600的存储器命令发送到闪存存储器电路630。响应于此,闪存存储器电路630发送两个时钟来获得用于在600的字节的数据。SPIFI继续产生附加时钟脉冲,直到从后续地址填充FIFO缓冲器。
图6B示出相似操作,其中,超时出现在提供字424和428与无延迟地将字428从FIFO缓冲器提供给MCU 610之间,但其中,动作此后继续进行,以重填FIFO。
图7示出根据本发明另一示例实施例的对于FIFO和闪存存储器电路的实现方式的FIFO框图700。FIFO包括十六个字节寄存器,标号F15-F0,并且伫立在将数据传送出入串行闪存的移位寄存器与将数据传送出入总线主件的HWDATA和HRDATA之间。在某些实现方式中,总线接口和多数FIFO由总线时钟而得到时钟,移位寄存器由SCKI得到时钟,同步逻辑构建到FIFO中,或者置于FIFO与移位寄存器之间。
当FIFO中存在数据时,F0包含接下来传递到移位寄存器或者将由总线主件在下一读取操作中放置在HRDATA7:0上的字节。当FIFO为满时,F15包含从移位寄存器存储的最后字节、或来自对数据寄存器的最后写入中的最高有效字节的字节。F0的输出连接到移位寄存器的并行加载输入。在从串行闪存地址区域读取或者从数据寄存器读取期间,F0的输出被驱动到HRDATA7:0。F1的输出被驱动到HRDATA15:8,以用于半字或字读取,并且备选地用于字节读取。F3-F2的输出被驱动到HRDATA31:16,以用于字读取,并且备选地用于半字或字节读取。
移位寄存器和HWDATA的并行输出连接到写入数据路由器,其具有四个8比特输出,称为移位字节通道,或SHBL0[7:0]至SHBL3[7:0]。SHBL0是用于字节寄存器F0、F4、F8和F12的“写入输入”。SHBL1是用于F1、F5、F9和F13的写入输入。SHBL2是用于F2、F6、F8和F14的写入输入。SHBL3是用于F3、F7、F11和F 15的写入输入。SHBL3直接进入F15的D输入。F14-F0的D输入连接到复用器的输出,每一复用器在其写入输入与来自高标号字节寄存器的一个(F14)、两个(F13-F12)或三个(F11-F0)“移位输入”的Q输出之间进行选择。每一字节寄存器还具有使能输入,其控制在HCLK的每一上升沿上,数据是否从其D输入处到其Q输出处得到时钟。
在写入到命令寄存器的命令期间,命令寄存器中的DOUT比特在总线主件与移位寄存器之间控制数据流的方向。如果DOUT为1,则使用数据寄存器的地址将数据写入到FIFO,并且数据通过FIFO传送到F0,然后传送到移位寄存器和串行闪存。如果DOUT为0(并且对于对地址闪存地址区域的存取),数据从移位寄存器写入到FIFO,并且数据通过FIFO行进到F0至F3,总线主件从F0至F3读取它。
FIFO的操作也受控于“FIFO中的字节”寄存器。这5比特寄存器可以包含指示FIFO为空的0至指示FIFO为满的16。“保存字节”的数量是小于在时钟结束时将从FIFO移除的字节的数量的“FIFO中的字节”。从FIFO移除的字节的数量在写入数据将加载到移位寄存器的结束时的时钟中为1,在总线主件读取(具有HREADY高)数据的字节的时钟中为1,在以HREADY高读取数据的半字的时钟中为2,在以HREADY高读取数据的字的时钟中为4,在其它情况下为0。
在每一时钟期间,“FIFO中的下一字节”是“保存的字节”值加上在该时钟中写入到FIFO的字节的数量。该结果在每一时钟上升沿被加载到“FIFO中的字节”寄存器。写入到FIFO的字节的数量在数据从移位寄存器写入到FIFO的时钟的结束时为1,在总线主件以HREADY高将数据的字节写入到FIFO的时钟中为1,在总线主件以HREADY高将数据的半字写入到总线主件的时钟中为2,在总线主件以HREADY高相同数据的字的时钟中为4,在其它情况下为0。在从FIFO移除和/或写入到FIFO的字节的数量为非零,并且“FIFO中的下一字节”大于零时,有效字节寄存器F0至F[“FIFO中的下一字节”-1]的使能线路,从而将数据在FIFO中移位和/或加载。
每一字节寄存器“i”的输入复用器的控制输入被驱动为四个状态“写入”、“字节移位”、“半字移位”以及“字移位”之一。“移位”值仅在从FIFO移除字节的时钟中被驱动,并且然后仅针对i<“保存字节”而进入的字节寄存器。当总线主件以HREADY高读取字时驱动“字移位”,当总线主件以HREADY够读取半字时驱动“半字移位”,当总线主件以HREADY高读取字节或者字节从F0传送到移位寄存器时驱动“字节移位”。虽然写入仅对于如上所述声明使能输入的寄存器而出现,但输入复用器控制在其它情况和时钟下被设置为“写入”。
F0-F11的输入复用器在它们的SHBL写入输入之间选择用于字节移位的F[i+1]的输出、用于半字移位的F[i+2]的输出、以及用于字移位的F[i+4]。F12和F13的输入复用器在它们的SHBL写入输入之间选择用于字节移位的F[i+1]的输出、用于半字移位的F[i+2]的输出。F14的输入复用器在SHBL2写入输入与用于字节移位的F15的输出之间进行选择。F15没有输入复用器。
当在对串行闪存地址区域的存取期间DOUT为0时,写入数据路由器将字节从移位寄存器路由到所有四个SHBL总线。当通过将DOUT=1写入到命令寄存器而发起的命令处于进程中时,写入数据路由器在表8所示的“保存字节”值的两个最低有效位的控制下将HWDATA31:0上的字节路由到SHBL线路。
表8.在DOUT=1的情况下用于直接命令的写入数据路由
根据本发明另一示例实施例,SPIFI设备被配置为在外围模式DMA操作下进行操作。在总线主件进行读取和写入操作期间当需要时驱动HREADY线路并且插入等待状态,以在总线主件存取与通过串行闪存存储器电路的串行数据传送之间保持同步。这种机制促进了通过DMA信道加载并且存储存取和“存储器到存储器”传送。
根据本发明另一实施例,SPIFI被配置为在支持DMA传送的模式下进行操作,其中,SPIFI充当外围,并且将请求信号驱动到DMA信道,以控制数据传送。该模式不同于“存储器到存储器”操作,并且在其中基于“需求”而将代码和/或数据从串行闪存动态获取到RAM的系统中可能是有用的。时钟周期因而对于等待状态不损失,并且处理器和DMA信道的整个操作更高效。在一种实现方式中,DMA外围模式操作为适当用于ARM多个080DMA控制器(DMAC)或从San Jose,California的ARM可获得的有关控制器。DMAC被编程/配置为将字读取操作呈现在数据寄存器的固定地址,以具有2个字的源突发大小、以及偶数字的传送大小。SPIFI将DMACBREQ信号驱动到DMAC,并且从其接收DMACCLR。为了使用DMA外围模式,命令寄存器写入,以开始命令,并且DMA信道如上所述被编程,以从数据寄存器读取数据,并且将数据写入到RAM。当以下情况时,SPIFI声明DMACBREQ:命令处于进程中(CMD为1),MEMMO描述和DOUT皆为0,FIFO中存在8个或更多个字节,以及DMACCLR取反(低)。
可以使用各种结构和有关操作以及功能来实现在此讨论的各个实施例。例如,总线主件可以经由分离总线与闪存接口进行通信,以存取寄存器和映射的闪存区域,或者经由单个总线,以用于对两个地址集合的存取。作为另一示例,虽然在此的多数描述可以包括适用于不同闪存存储器设备中起作用的软件或固件,但各个实施例针对其中硬件包括所有用于这种适用性的必要资源的实现方式,而无需任何软件和/或固件的涉入。此外,在此的各种描述示出包括具有多个接口状态机的硬件,但其各方面以及其它实施例可以包括硬件被组织为不同集合和/或多个状态机(包括单个状态机)的实现方式、以及可能不清楚地映射为任何数量的有限状态机的随机逻辑实现方式。虽然可以经由计算机同步于标准模块库的硬件描述语言来实现各个实施例,但本发明各方面还应理解为覆盖其它实现方式,包括但不限于现场可编程或掩膜门阵列、大量门、光路、包括标准电路的板设计、微码实现方式、以及软件和固件主导的实现方式,其中,由在此的硬件所实现的所描述的多数或所有功能反之通过在通用处理器或专用处理器上运行的软件或固件而完成。这些实施例也可以用在组合中,例如,特定功能可以使用生成提供为对于处理器的输入的输出的可编程逻辑器件而得以实现。
基于以上讨论和说明,本领域技术人员应理解,可以在不严格遵守在此示出和描述的示例性实施例和应用的情况下对本发明进行各种修改和改变。这些修改和改变可以包括例如使用接口特性,其包括用于基于SPI的存储器操作和通信的各种方法中的一个或多个。一个这样的示例包括闪存类型存储器设备和设备(例如可从San Jose,California的Winbond以及Silicon Storage Technology of Sunnyvale,California获得的设备)的操作特性。这些和其它修改不脱离本发明的真实精神和范围,包括所附权利要求中阐述的精神和范围。
Claims (15)
1.一种外围接口电路,用于在计算机处理器与闪存存储器电路之间进行接口,所述计算机处理器和所述闪存存储器电路通过外围接口总线以通信方式连接到所述接口,所述外围接口电路用于存储并且提供对存储在所述闪存存储器电路上、并且被映射为主处理器存储器的一部分的数据的存取,所述接口电路包括:
先入先出(FIFO)缓冲器,耦合为从所述闪存存储器电路接收数据并且存储数据用于所述闪存存储器电路,以及提供对所存储的数据的读取存取;以及
接口控制器,被配置为:
经由所述外围接口总线与所述闪存存储器电路通信,
初始化所述闪存存储器电路,用于将数据提供给FIFO缓冲器,作为主存储器的一部分,
响应对开始于主存储器的一部分中的地址、并且在所述FIFO缓冲器中存储有其至少一部分的数据的请求,控制所述FIFO缓冲器提供对所存储的数据的存取,并且控制所述闪存存储器电路将来自所述闪存存储器电路中的后续地址的附加数据提供给所述FIFO缓冲器,以及
响应对开始于主存储器的一部分中的地址、并且未存储在所述FIFO缓冲器中的数据的请求,控制所述闪存存储器电路将所请求的数据和自所述闪存存储器电路中的后续地址的附加数据提供给所述FIFO缓冲器。
2.根据权利要求1所述的接口电路,其中,所述接口控制器被配置为通过以下方式,与分别对全异命令进行操作的不同类型的所述闪存存储器电路通信:
与所述闪存存储器电路进行通信,以从所述闪存存储器电路检索标识信息,以及
根据检索到的标识信息,选择并且使用特定命令集合来对所述闪存存储器电路进行初始化,与所述闪存存储器电路进行通信,以及控制所述闪存存储器电路。
3.根据权利要求1所述的接口电路,
还包括寄存器,具有控制信息,所述控制信息包括:
操作码字段,包含操作码,
帧格式字段,指示是否要发送所述操作码,以及要发送多少地址字节,
并行/串行字段,指示要在串行SPI协议中发送或者接收所述命令中的哪些字段,以及在4比特并行(四元)协议中发送或者接收所述命令中的哪些字段,
中间长度字段,指示要在所述操作码和/或地址与所述数据之间发送多少中间数据字节,
数据出比特,控制数据是发送到所述闪存存储器电路还是接收自所述闪存存储器电路,
轮询读取状态比特,控制所述闪存接口是否应从所述闪存存储器电路连续读取数据字节,直到接收到满足数据内容字段所选择的条件的字节,以及
所述数据内容字段,用于基于所述轮询读取状态比特控制不同操作方面,包括:
对于为0的轮询读取状态比特,指示要在命令中发送或者接收的数据的字节的数目,其中,全1值指示无限数目,以及
对于为1的轮询读取状态比特,包含:三个比特,选择为了命令完成而要测试从所述闪存存储器电路读取的每一字节中的哪个比特,以及第四比特,对指示命令完成的字节状态进行指示;以及
其中,所述接口控制器被配置为:基于所述寄存器中的数据,确定要发送的、并利用所述闪存存储器电路来执行的命令的格式和操作。
4.根据权利要求1所述的接口电路,其中,所述接口控制器被配置为:
在擦除模式下操作所述闪存存储器电路,以擦除所述闪存存储器电路上的数据,
在编程模式下操作所述闪存存储器,以将数据存储在所述闪存存储器中,以及
在只读模式下接收数据并且将数据映射为主存储器的一部分而存储在闪存存储器电路中。
5.根据权利要求1所述的接口电路,其中,所述接口控制器被配置为与所述计算机处理器进行接口,以接收对数据的请求,并且控制FIFO缓冲器,以提供所请求的数据供所述处理器使用。
6.根据权利要求1所述的接口电路,其中,所述接口控制器被配置为经由所述外围接口总线与外围设备进行接口,以从总线主控器接收对数据的请求,并且控制所述外围设备和FIFO缓冲器来将所请求的数据提供给所述总线主控器。
7.根据权利要求1所述的接口电路,其中,所述接口控制器被配置为识别所述闪存存储器电路的类型,并且使用针对所识别的类型的命令集合和通信协议与所述闪存存储器电路通信。
8.一种闪存存储器接口系统,用于存储并且提供对被映射为计算机的主存储器的一部分的数据的存取,所述系统包括:
外围接口总线;
闪存存储器电路,被配置为连接到外围接口总线,并且经由所述外围接口总线进行通信,以提供闪存存储器中的被映射为主存储器的一部分的数据;
先入先出FIFO缓冲器,耦合为从所述闪存存储器电路接收和存储数据,并且提供对所存储的数据的存取;以及
接口电路,被配置为:
经由所述外围接口总线与所述闪存存储器电路通信,
初始化所述闪存存储器电路,用于将数据提供给FIFO缓冲器作为主存储器的一部分,
响应对开始于主存储器的一部分中的地址、并且在所述FIFO缓冲器中存储有其至少一部分的数据的请求,控制所述FIFO缓冲器提供对所存储的数据的存取,并且控制所述闪存存储器电路将来自所述闪存存储器电路中的后续地址的附加数据提供给所述FIFO缓冲器,以及
响应对开始于主存储器的一部分中的地址、并且未存储在所述FIFO缓冲器中的数据的请求,控制所述闪存存储器电路和FIFO将所请求的数据提供给FIFO缓冲器,并在此后将来自所述闪存存储器电路中的后续地址的附加数据提供给所述FIFO缓冲器。
9.根据权利要求8所述的系统,其中,所述接口电路被配置为:
与所述闪存存储器电路通信,以从所述闪存存储器电路检索标识信息,以及
响应检索到的标识信息,设置并且使用命令集合来与所述闪存存储器电路进行通信,对所述闪存存储器电路进行初始化以及控制。
10.根据权利要求8所述的系统,其中,所述接口电路被配置为:响应对开始于主存储器的一部分中的地址、并且在所述FIFO缓冲器中存储有其至少一部分的数据的请求,控制所述闪存存储器和所述FIFO缓冲器来向FIFO缓冲器提供对来自所述闪存存储器电路中的后续地址的任何先前未读部分的存取,接下来读取来自从所述闪存存储器电路中的后续地址的数据,并且将其存储在所述FIFO缓冲器中。
11.根据权利要求8所述的系统,其中,所述接口电路被配置为:响应对开始于主存储器的一部分中的地址、并且未存储在所述FIFO缓冲器中的数据的请求,提供对所请求的数据的存取,并且此后,控制所述闪存存储器和所述FIFO缓冲器读取来自所述闪存存储器电路中的后续地址的数据,并且将其存储在所述FIFO缓冲器中。
12.根据权利要求8所述的系统,其中,所述接口电路被配置为:在编程模式下操作所述闪存存储器电路,以将数据存储在所述闪存存储器电路上。
13.根据权利要求8所述的系统,其中,所述接口电路被配置为:
在所述外围接口总线上将编程命令发送到所述闪存存储器电路,以在编程模式下操作所述闪存存储器电路,以及
在完成所述编程命令之后,将状态轮询命令发送到所述闪存存储器,以检测所导致的闪存编程操作的完成。
14.根据权利要求8所述的系统,其中,所述接口电路被配置为:在擦除模式下操作所述闪存存储器电路,以擦除所述闪存存储器上的数据,并且在擦除所述闪存存储器上的数据之后,在编程模式下操作所述闪存存储器电路,以将数据存储在所述闪存存储器电路上。
15.根据权利要求8所述的系统,其中,所述接口电路被配置为:在只读存储器模式下操作所述闪存存储器电路,以提供对闪存存储器电路中的作为关联处理器的主存储器空间的一部分的数据的只读存取。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/642,133 US8266369B2 (en) | 2009-12-18 | 2009-12-18 | Flash memory interface |
US12/642,133 | 2009-12-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102103566A true CN102103566A (zh) | 2011-06-22 |
Family
ID=43971108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106008460A Pending CN102103566A (zh) | 2009-12-18 | 2010-12-20 | 闪存存储器接口 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8266369B2 (zh) |
EP (1) | EP2339478A3 (zh) |
CN (1) | CN102103566A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103995686A (zh) * | 2013-02-15 | 2014-08-20 | Lsi公司 | 使用与低级可编程定序器结合的通用可编程处理器的非易失性存储器通道控制 |
CN104077080A (zh) * | 2013-03-29 | 2014-10-01 | 联发科技股份有限公司 | 存储器存取方法、存储器存取控制方法、spi闪存装置及其控制器 |
CN106294224A (zh) * | 2015-05-13 | 2017-01-04 | 瑞昱半导体股份有限公司 | 存储器系统及其存储器实体接口电路 |
CN106919343A (zh) * | 2015-12-28 | 2017-07-04 | 晶心科技股份有限公司 | 周边接口电路与周边存储器系统 |
CN108345550A (zh) * | 2017-01-23 | 2018-07-31 | 爱思开海力士有限公司 | 存储器系统 |
CN109347474A (zh) * | 2018-09-28 | 2019-02-15 | 深圳忆联信息系统有限公司 | 信号时序配置方法、装置、计算机设备及存储介质 |
CN110431540A (zh) * | 2017-03-16 | 2019-11-08 | 高通股份有限公司 | 用于在非托管闪存设备中复制数据页的方法和装置 |
CN110908721A (zh) * | 2019-11-18 | 2020-03-24 | 江苏芯盛智能科技有限公司 | Rom数据加载模块、装置及方法 |
CN111052103A (zh) * | 2017-07-18 | 2020-04-21 | 罗伯特·博世有限公司 | 用于对辅助计算机进行初始编程的方法和设备 |
CN111143259A (zh) * | 2019-12-31 | 2020-05-12 | 大唐半导体科技有限公司 | 一种多线SPI flash控制器 |
CN111897743A (zh) * | 2019-05-06 | 2020-11-06 | 慧荣科技股份有限公司 | 数据储存装置及逻辑至物理地址映射表的载入方法 |
CN112446036A (zh) * | 2019-08-29 | 2021-03-05 | 美光科技公司 | 存储装置上的快速清除 |
CN112463651A (zh) * | 2020-12-07 | 2021-03-09 | 长沙景嘉微电子股份有限公司 | Qspi控制器,图像处理器及闪存访问方法 |
CN114328311A (zh) * | 2021-12-15 | 2022-04-12 | 珠海一微半导体股份有限公司 | 一种存储控制器架构、数据处理电路及数据处理方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013103339A1 (en) * | 2012-01-04 | 2013-07-11 | Intel Corporation | Bimodal functionality between coherent link and memory expansion |
CN102662878B (zh) * | 2012-02-27 | 2015-01-21 | 深圳市硅格半导体有限公司 | 存储设备软件层的识别和驱动方法及装置 |
CN102750242A (zh) * | 2012-06-12 | 2012-10-24 | 广东威创视讯科技股份有限公司 | 外围设备接口的协调访问方法及装置 |
US9728235B2 (en) * | 2012-07-17 | 2017-08-08 | SK Hynix Inc. | Semiconductor device and semiconductor memory device |
US8880785B2 (en) | 2012-09-28 | 2014-11-04 | Atmel Corporation | Microcontroller with integrated interface enabling reading data randomly from serial flash memory |
KR102074329B1 (ko) * | 2013-09-06 | 2020-02-06 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 처리 방법 |
US20160147594A1 (en) * | 2014-11-26 | 2016-05-26 | Qualcomm Technologies International, Ltd. | Method and apparatus for preventing and managing corruption of flash memory contents |
US10025600B2 (en) * | 2015-10-02 | 2018-07-17 | Google Llc | NAND-based verified boot |
CN105912275A (zh) * | 2016-04-27 | 2016-08-31 | 华为技术有限公司 | 在非易失性存储系统中建立连接的方法和装置 |
WO2017209876A1 (en) * | 2016-05-31 | 2017-12-07 | Brocade Communications Systems, Inc. | Buffer manager |
US10289596B2 (en) * | 2016-06-07 | 2019-05-14 | Macronix International Co., Ltd. | Memory and method for operating a memory with interruptible command sequence |
US11256641B2 (en) | 2017-01-27 | 2022-02-22 | National Instruments Corporation | Asynchronous start for timed functions |
US20180276175A1 (en) * | 2017-03-22 | 2018-09-27 | National Instruments Corporation | Direct Network Access by a Memory Mapped Peripheral Device for Scheduled Data Transfer on the Network |
US11573919B2 (en) * | 2017-12-14 | 2023-02-07 | Texas Instruments Incorporated | Multi-slave serial communication |
US11356636B2 (en) * | 2018-01-19 | 2022-06-07 | Caavo Inc | Device identification and power state determination using media device information |
US10475492B1 (en) | 2018-07-27 | 2019-11-12 | Macronix International Co., Ltd. | Circuit and method for read latency control |
EP3614293A1 (en) * | 2018-08-24 | 2020-02-26 | Nagravision S.A. | Securing data stored in a memory of an iot device during a low power mode |
US10951403B2 (en) * | 2018-12-03 | 2021-03-16 | Winbond Electronics Corporation | Updating cryptographic keys stored in non-volatile memory |
CN112860622B (zh) * | 2021-02-08 | 2022-11-04 | 山东云海国创云计算装备产业创新中心有限公司 | 一种处理系统以及一种片上系统 |
WO2022193238A1 (zh) * | 2021-03-18 | 2022-09-22 | 华为技术有限公司 | 存储器操作的执行方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802554A (en) * | 1995-02-28 | 1998-09-01 | Panasonic Technologies Inc. | Method and system for reducing memory access latency by providing fine grain direct access to flash memory concurrent with a block transfer therefrom |
JP3195988B2 (ja) * | 1990-12-31 | 2001-08-06 | インテル・コーポレーション | 不揮発性半導体メモリ及びこれを使用したコンピュータシステム |
CN1462000A (zh) * | 2002-05-29 | 2003-12-17 | 科统科技股份有限公司 | 闪存桥接装置、方法及其应用系统 |
US20070047308A1 (en) * | 2005-08-31 | 2007-03-01 | Takuma Mitsunaga | Memory controller, flash memory system and control method for flash memory |
EP1764803A1 (en) * | 2005-09-09 | 2007-03-21 | STMicroelectronics S.r.l. | Memory architecture with serial peripheral interface |
CN101097551A (zh) * | 2006-08-23 | 2008-01-02 | 晶天电子(深圳)有限公司 | 带有闪存控制器的电子数据闪存卡 |
CN101246743A (zh) * | 2007-02-14 | 2008-08-20 | 上海海尔集成电路有限公司 | 闪存接口 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115799A (en) * | 1996-07-19 | 2000-09-05 | Canon Kabushiki Kaisha | Information processing apparatus and associated method for managing a memory using a next fit and for reducing a memory fragmentation problem |
US20090193184A1 (en) * | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
TWM298188U (en) * | 2006-01-23 | 2006-09-21 | Genesys Logic Inc | Control device for accessing Non-Volatile memory |
US7620784B2 (en) * | 2006-06-09 | 2009-11-17 | Microsoft Corporation | High speed nonvolatile memory device using parallel writing among a plurality of interfaces |
KR20100012468A (ko) * | 2008-07-29 | 2010-02-08 | 주식회사 하이닉스반도체 | 고속 동작하는 반도체 스토리지 시스템 |
US8060453B2 (en) * | 2008-12-31 | 2011-11-15 | Pitney Bowes Inc. | System and method for funds recovery from an integrated postal security device |
-
2009
- 2009-12-18 US US12/642,133 patent/US8266369B2/en active Active
-
2010
- 2010-12-15 EP EP10195075.6A patent/EP2339478A3/en not_active Withdrawn
- 2010-12-20 CN CN2010106008460A patent/CN102103566A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3195988B2 (ja) * | 1990-12-31 | 2001-08-06 | インテル・コーポレーション | 不揮発性半導体メモリ及びこれを使用したコンピュータシステム |
US5802554A (en) * | 1995-02-28 | 1998-09-01 | Panasonic Technologies Inc. | Method and system for reducing memory access latency by providing fine grain direct access to flash memory concurrent with a block transfer therefrom |
CN1462000A (zh) * | 2002-05-29 | 2003-12-17 | 科统科技股份有限公司 | 闪存桥接装置、方法及其应用系统 |
US20070047308A1 (en) * | 2005-08-31 | 2007-03-01 | Takuma Mitsunaga | Memory controller, flash memory system and control method for flash memory |
EP1764803A1 (en) * | 2005-09-09 | 2007-03-21 | STMicroelectronics S.r.l. | Memory architecture with serial peripheral interface |
CN101097551A (zh) * | 2006-08-23 | 2008-01-02 | 晶天电子(深圳)有限公司 | 带有闪存控制器的电子数据闪存卡 |
CN101246743A (zh) * | 2007-02-14 | 2008-08-20 | 上海海尔集成电路有限公司 | 闪存接口 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103995686A (zh) * | 2013-02-15 | 2014-08-20 | Lsi公司 | 使用与低级可编程定序器结合的通用可编程处理器的非易失性存储器通道控制 |
CN103995686B (zh) * | 2013-02-15 | 2019-06-28 | Lsi公司 | 控制非易失性存储器通道的系统及方法 |
CN104077080A (zh) * | 2013-03-29 | 2014-10-01 | 联发科技股份有限公司 | 存储器存取方法、存储器存取控制方法、spi闪存装置及其控制器 |
CN106294224A (zh) * | 2015-05-13 | 2017-01-04 | 瑞昱半导体股份有限公司 | 存储器系统及其存储器实体接口电路 |
CN106919343A (zh) * | 2015-12-28 | 2017-07-04 | 晶心科技股份有限公司 | 周边接口电路与周边存储器系统 |
CN106919343B (zh) * | 2015-12-28 | 2020-03-31 | 晶心科技股份有限公司 | 周边接口电路与周边存储器系统 |
CN108345550A (zh) * | 2017-01-23 | 2018-07-31 | 爱思开海力士有限公司 | 存储器系统 |
CN108345550B (zh) * | 2017-01-23 | 2023-06-20 | 爱思开海力士有限公司 | 存储器系统 |
CN110431540B (zh) * | 2017-03-16 | 2023-03-14 | 高通股份有限公司 | 用于在非托管闪存设备中复制数据页的方法和装置 |
CN110431540A (zh) * | 2017-03-16 | 2019-11-08 | 高通股份有限公司 | 用于在非托管闪存设备中复制数据页的方法和装置 |
CN111052103A (zh) * | 2017-07-18 | 2020-04-21 | 罗伯特·博世有限公司 | 用于对辅助计算机进行初始编程的方法和设备 |
CN109347474A (zh) * | 2018-09-28 | 2019-02-15 | 深圳忆联信息系统有限公司 | 信号时序配置方法、装置、计算机设备及存储介质 |
CN111897743A (zh) * | 2019-05-06 | 2020-11-06 | 慧荣科技股份有限公司 | 数据储存装置及逻辑至物理地址映射表的载入方法 |
CN111897743B (zh) * | 2019-05-06 | 2024-07-05 | 慧荣科技股份有限公司 | 数据储存装置及逻辑至物理地址映射表的载入方法 |
CN112446036A (zh) * | 2019-08-29 | 2021-03-05 | 美光科技公司 | 存储装置上的快速清除 |
US12008257B2 (en) | 2019-08-29 | 2024-06-11 | Micron Technology, Inc. | Fast purge on storage devices |
CN110908721B (zh) * | 2019-11-18 | 2022-10-14 | 江苏芯盛智能科技有限公司 | Rom数据加载模块、装置及方法 |
CN110908721A (zh) * | 2019-11-18 | 2020-03-24 | 江苏芯盛智能科技有限公司 | Rom数据加载模块、装置及方法 |
CN111143259B (zh) * | 2019-12-31 | 2021-09-17 | 大唐半导体科技有限公司 | 一种多线SPI flash控制器 |
CN111143259A (zh) * | 2019-12-31 | 2020-05-12 | 大唐半导体科技有限公司 | 一种多线SPI flash控制器 |
CN112463651A (zh) * | 2020-12-07 | 2021-03-09 | 长沙景嘉微电子股份有限公司 | Qspi控制器,图像处理器及闪存访问方法 |
CN114328311A (zh) * | 2021-12-15 | 2022-04-12 | 珠海一微半导体股份有限公司 | 一种存储控制器架构、数据处理电路及数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2339478A2 (en) | 2011-06-29 |
EP2339478A3 (en) | 2014-01-22 |
US8266369B2 (en) | 2012-09-11 |
US20110153910A1 (en) | 2011-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102103566A (zh) | 闪存存储器接口 | |
US9824004B2 (en) | Methods and apparatuses for requesting ready status information from a memory | |
EP1546898B1 (en) | Interface integrated circuit device for a usb connection | |
CN108268414B (zh) | 基于spi模式的sd卡驱动器及其控制方法 | |
WO2008079788A1 (en) | Command-based control of nand flash memory | |
KR100958850B1 (ko) | 플래시 메모리의 작동을 모니터링하기 위한 디바이스 및방법 | |
CN111931442B (zh) | Fpga内嵌flash控制器及电子装置 | |
CN101436171B (zh) | 模块化通信控制系统 | |
JP4739349B2 (ja) | マルチメディア・カード・インターフェース方法、コンピュータ・プログラム及び装置 | |
JP2008521080A5 (zh) | ||
US8214561B2 (en) | Peripheral interface and process for data transfer, especially for laser scanning microscopes | |
CN1333333C (zh) | 码流播放卡和码流采集卡的驱动方法 | |
GB2423165A (en) | Host controller interface for packet-based timeshared bus | |
US20160314086A1 (en) | Secure digital host controller virtualization | |
CN101976230B (zh) | 通用序列总线传输转译器及输入请求同步传输方法 | |
CN114328342B (zh) | 一种用于PCIe异构加速卡的新型程控配置方法 | |
CN115454902A (zh) | 一种基于pcie接口的nvme通信系统及方法 | |
EA039007B1 (ru) | Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных | |
US6219761B1 (en) | Load/store assist engine | |
CN110399322B (zh) | 一种数据传输方法及乒乓dma架构 | |
EA038978B1 (ru) | Устройство прямого отображения адресов данных, располагающихся во внешнем последовательном пзу, в адресное пространство микропроцессорного ядра, компьютерная система и способ передачи данных | |
JP2008134701A (ja) | 半導体装置 | |
TWI230863B (en) | Input/output system and method for transferring control and data, and arbiter for coordinating data communication | |
CN116610601A (zh) | 一种数据传输装置及其控制方法、装置、介质 | |
CN118276935A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110622 |