CN210072600U - 电子设备 - Google Patents

电子设备 Download PDF

Info

Publication number
CN210072600U
CN210072600U CN201921332849.3U CN201921332849U CN210072600U CN 210072600 U CN210072600 U CN 210072600U CN 201921332849 U CN201921332849 U CN 201921332849U CN 210072600 U CN210072600 U CN 210072600U
Authority
CN
China
Prior art keywords
buffer
bus
electronic device
buffers
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.)
Active
Application number
CN201921332849.3U
Other languages
English (en)
Inventor
G·布里亚
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.)
STMicroelectronics Grenoble 2 SAS
Original Assignee
STMicroelectronics Grenoble 2 SAS
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 STMicroelectronics Grenoble 2 SAS filed Critical STMicroelectronics Grenoble 2 SAS
Application granted granted Critical
Publication of CN210072600U publication Critical patent/CN210072600U/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本公开涉及电子设备。一种设备包括可填充有存储器位置的内容的第一缓冲器和第二缓冲器。选择电路被配置为在同时填充缓冲器与顺序填充缓冲器之间选择填充模式。在一些示例中,该设备可以是包括非易失性存储器和处理器的片上系统。

Description

电子设备
技术领域
本公开总体上涉及电子电路,并且更具体地涉及接收存储器位置的内容的设备,诸如存储器控制器。
背景技术
存储器控制器通常用在存储器与可以访问该存储器的电路之间,例如,在电子集成电路芯片中。
实用新型内容
实施例可以克服接收存储器位置的内容的已知设备(诸如存储器控制器)的全部或部分缺点。
在第一方面,提供了一种电子设备,其包括:两个缓冲器,能填充有存储器位置的内容;以及选择电路,被配置为在缓冲器的同时填充与缓冲器的顺序填充之间选择填充模式。
根据一个实施例,每个存储器位置的内容包括多个数据位,缓冲器中的每个缓冲器被配置为同时用多个数据位填充。
根据一个实施例,电子设备包括驱动器,驱动器被配置为通过总线发送N个数据位,总线具有N条并行线,N是大于1的实数。
根据一个实施例,驱动器包括多路复用器。
根据一个实施例,两个缓冲器能填充有具有交替地址的第一存储器位置和第二存储器位置的相应内容。
根据一个实施例,电子设备还包括两个附加缓冲器,两个附加缓冲器顺序地能填充有第一存储器位置和第二存储器位置的相应内容的地址。
根据一个实施例,电子设备被配置为使得缓冲器的顺序填充包括使用连续存储器位置的内容进行填充。
在第二方面,提供了一种电子设备,其包括:第一缓冲器;第二缓冲器;第一总线,具有总线宽度,第一总线耦合到第一缓冲器和第二缓冲器;以及第二总线,具有总线宽度,第二总线耦合到第二缓冲器,而不耦合到第一缓冲器;其中电子设备在第一传输配置与第二传输配置之间是可配置的;其中在第一传输配置中,同时使用第一总线向或从第一缓冲器并且使用第二总线向或从第二缓冲器传输数据;以及其中在第二传输配置中,使用第一总线向或从第一缓冲器传输数据,并且然后使用第一总线向或从第二缓冲器传输数据。
根据一个实施例,电子设备还包括耦合到第一总线和第二总线的处理器。
根据一个实施例,电子设备还包括非易失性存储器,其中第一缓冲器和第二缓冲器位于非易失性存储器与处理器之间。
根据一个实施例,电子设备还包括耦合到第一缓冲器和第二缓冲器的非易失性存储器。
根据一个实施例,第一缓冲器和第二缓冲器被配置为存储来自非易失性存储器的存储器位置的数据,电子设备还包括被配置为存储存储器位置的地址的附加缓冲器。
因此,一个实施例提供了一种设备,其包括可填充有存储器位置的内容的两个缓冲器、以及在缓冲器的同时填充与缓冲器的顺序填充之间的填充模式的选择器。
根据一个实施例,每个位置的内容包括多个数据段,优选地是2个数据段。缓冲器中的每个缓冲器被配置为用多个数据段同时填充。
根据一个实施例,该设备包括用于通过与数据相同尺寸的总线发送数据段之一的电路。
根据一个实施例,两个缓冲器可填充有具有交替地址(优选地是逻辑的)的第一位置和第二位置的相应内容。
根据一个实施例,该设备还包括顺序地可填充有第一存储器位置和第二存储器位置的相应内容的地址的两个附加缓冲器。
根据一个实施例,该设备被配置为使得缓冲器的顺序填充是使用连续存储器位置的内容的填充。
另一实施例提供了一种电子芯片,其包括如上所述的设备。
另一实施例提供了一种方法,其包括使用存储器位置内容填充两个缓冲器的第一操作和第二操作。缓冲器在第一填充下被同时填充,并且在第二填充下被顺序填充。
根据一个实施例,每个位置的内容包括多个数据段,优选地是2个数据段。缓冲器中的每个缓冲器在第一填充操作和第二填充操作期间同时使用多个数据段被填充。
根据一个实施例,该方法包括通过与数据相同尺寸的总线发送数据段之一的步骤。
根据一个实施例,两个缓冲器分别填充有具有交替地址(优选地是逻辑的)的第一位置和第二位置。
根据一个实施例,该方法包括将第一位置和第二位置的地址之一存储到附加缓冲器中的步骤。
根据一个实施例,该方法包括验证请求地址与在存储步骤存储的地址之间的相等性的步骤。
根据一个实施例,读出位置之一的内容的步骤的存在是相等性验证步骤的结果的函数。
根据一个实施例,在第一填充下,使用连续存储器位置的相应内容填充缓冲器。
实施例可以优化在执行速度与功耗之间的折衷。
在结合附图对特定实施例的以下非限制性描述中,将详细讨论前述和其他特征和优点。
附图说明
图1部分地和示意性地示出了芯片,其包括接收存储器位置的内容的设备的一个实施例;
图2示意性地示出了由图1的设备实现的方法的一个实施例的步骤;
图3示意性地示出了由图1中的类型的芯片来实现图2的方法的一个示例;
图4示意性地示出了图3的示例中的图2的方法的步骤;
图5部分地和示意性地示出了芯片,其包括接收存储器位置的内容的设备的一个实施例;
图6示意性地示出了图5的设备的一部分;以及
图7示意性地示出了图5的设备的另一部分。
具体实施方式
在不同的附图中,相同的元素用相同的附图标记表示。特别地,不同实施例中共同的结构和/或功能元件可以用相同的附图标记表示,并且可以具有相同的结构、尺寸和材料特性。
为清楚起见,仅示出并且详细描述了对理解所描述的实施例有用的那些步骤和元件。
贯穿本公开,术语“连接”用于表示除了导体之外没有中间元件的电路元件之间的直接电连接,而术语“耦合”用于表示电路元件之间的电连接,其可以是直接的,或者可以是经由一个或多个中间元件。
在以下描述中,除非另有说明,否则当提及限定绝对位置的术语(诸如术语“前”、“后”、“顶”、“底”、“左”、“右”等)、或者限定相对位置的术语(诸如术语“上方”、“下方”、“上”、“下”等)、或者限定方向的术语(诸如术语“水平”、“竖直”等)时,参考附图的定向。
本文中使用术语“约”、“大体上”和“近似”来表示所讨论的值的正或10%、优选地正负5%的公差。
图1示意性地示出了例如集成电路芯片的设备,其包括接收存储器110的内容的设备100的一个实施例,存储器110优选地是所谓的“闪存”类型的可重写非易失性存储器。
芯片优选地是所谓的SOC(“片上系统”)类型。SOC型芯片特别地用于搭载或移动应用,诸如移动电话、连接的对象、家用电器或运输。
设备100耦合(例如连接)到数据总线120。优选地,诸如微处理器130(CPU)之类的数据处理单元耦合到总线120。总线120特别地使得能够从存储器向处理单元传送数据。各种外围设备(未示出,诸如传感器、或与芯片外部的元件通信的电路)可以耦合或连接到总线120。优选地,设备100与总线120之间的耦合并行地传送数据段的所有位(例如32位)。优选地,数据总线120的尺寸(即,并行的位数)等于每个数据段的位数。
优选地,微处理器130包括或耦合到高速缓冲存储器132(CACHE)。例如,高速缓冲存储器是访问时间比存储器110的访问时间短的存储器,并且该存储器用作总线120与微处理器130之间的缓冲器。
存储器110包括一连串的位置112和114。优选地,存储器位置112和114按照它们的地址(优选地它们的逻辑地址)的顺序以交替的方式彼此跟随。作为一个示例,位置112和114具有相同的位数,优选地为64位。然后例如,地址对于位置112具有形式0x...8,并且对于位置114具有形式0x...0,其中“0x”意指十六进制符号,并且“...”表示所考虑的地址的十六进制数字。位置112和114中的每个位置的内容对应于一个或多个数据段。优选地,位置112和114中的每个位置包含2个数据段。优选地,每个数据段对应于所考虑的存储器位置的32个最低或最高有效位。
设备100包括缓冲器102(BUFA)和缓冲器104(BUFB)。术语“缓冲器”用于表示缓冲器电路,诸如缓冲存储器,例如触发器的组件。优选地,每个缓冲器102、104包含与存储器位置112、114之一相同的位数。
缓冲器102和104可填充有存储器位置112和114的相应内容。优选地,缓冲器102被配置或布置为填充有从位置112中可选择的位置的内容。优选地,缓冲器104被配置或布置为填充有从位置114中可选择的位置的内容。
优选地,在填充每个缓冲器102和104时,由存储器位置的内容的所有位同时执行填充。具体地,在每个位置包括多个数据段的情况下,那么由存储器位置的内容的所有数据同时执行填充。
设备100还包括缓冲器102和104的填充模式的选择器140。在第一填充模式下,缓冲器102和104被同时填充,即,每个缓冲器102、104在与另一个相同的时间加载存储器位置112、114之一的相应内容。在第二填充模式下,缓冲器102和104被顺序填充,即,在填充缓冲器之一期间,另一缓冲器的内容保持不变。
优选地,选择器140包括控制相应缓冲器102和104的填充的两个多路复用器152和154。作为一个示例,缓冲器102和104的填充由相应的信号162和164控制。多路复用器152和154由填充模式选择信号SEL控制。这里的多路复用器具有根据多路复用器控制信号的高或低状态可选择的输入I0和I1。可以交换输入I0和I1、以及控制信号的低电平和高电平。多路复用器152和154的输入I1耦合到同一信号READ_END的施加节点。例如,多路复用器152和154的输入I0耦合到不同的相应信号READ_ENDA和READ_ENDB的施加节点。优选地,如下文所说明的,设备被配置用于不同时传送信号READ_ENDA和READ_ENDB。
图2示意性地示出了由图1的接收设备100实现的方法的一个实施例的步骤。
优选地,在步骤200,设备100接收请求地址ADDR、优选地是逻辑地址。例如,当微处理器130和/或高速缓冲存储器132需要位于存储器110中的请求地址处的数据段时,该地址由微处理器130和/或高速缓冲存储器132传送。请求地址ADDR还可以由耦合到总线120的任何设备传送,该任何设备诸如为直接访问DMA类型(“直接存储器访问”)存储器的设备。为了接收请求地址,设备100优选地耦合(例如连接)到未示出的地址总线。然后,微处理器130耦合到该地址总线。
优选地,在步骤210(HIT?),设备100确定缓冲器102和104之一是否已经包含存储器中的对应地址的数据。如果不是这种情况(框210的输出N),则方法行进到步骤220。
在步骤220,在同时填充模式(例如,当信号SEL处于高电平“1”时)与顺序填充模式(例如,当信号SEL处于低电平“0”时)之间选择填充模式。如果选择同时填充模式,则方法行进到步骤230。如果选择顺序填充模式,则方法行进到步骤240。可以交换步骤210和220的顺序。
在步骤230(READ_A&B),优选地同时从存储器110读取位置112和114的内容。优选地,这些位置是连续的并且包含位于请求地址处的数据。优选地,当读取结束时,传送读取结束信号。优选地,读取结束信号是控制缓冲器的同时填充的信号READ_END。然后,方法行进到同时填充缓冲器102和104的步骤250(FILL_BUFA&B)。
优选地,在步骤240(ADDR(3)),设备100在位置112的集合与位置114的集合之间选择包含位于请求地址处的数据的集合。在各自包含64位的存储器位置112和114的示例中,例如,设备确定从最低有效位开始的第4位(位ADDR(3),这些位通常从0编号)。如果位ADDR(3)等于0,则请求地址处包含的数据位于位置112之一中。如果位ADDR(3)等于1,则请求地址处包含的数据位于位置114之一中。该示例可以适用于每个位置112、114的任何位数,例如32或128位。
如果请求地址处包含的数据位于位置112之一中,则优选地在步骤262(READ_A)读出该位置112的内容。优选地,当读取结束时,传送读取结束信号。该信号优选地是控制仅缓冲器102的填充的信号READ_ENDA。方法行进到使用所考虑的位置112的内容填充缓冲器102的步骤272(FILL_BUFA)。缓冲器104的内容在该阶段保持不变。
如果请求地址处包含的数据位于位置114之一中,则优选地在步骤264(READ_B)读出该位置114的内容。优选地,当读取结束时,传送读取结束信号。该信号优选地是控制仅缓冲器104的填充的信号READ_ENDB。方法行进到使用所考虑的位置114的内容填充缓冲器104的步骤274(FILL_BUFA)。同时,不修改缓冲器102的内容。
优选地,在步骤250、272和274之后,方法行进到步骤280(SELECT_DATA)。在该步骤,设备100确定缓冲器102和104中与请求地址相对应的数据的位置。优选地,4个位置是可能的:缓冲器102的最低有效位;缓冲器102的最高有效位;缓冲器104的最低有效位;以及缓冲器104的最高有效位。
优选地,在接下来的步骤290(SEND_DATA),通过数据总线120发送在步骤280确定的位置处的包含在缓冲器102和104中的数据。然后,发送的数据可以由微处理器130和/或高速缓冲存储器132使用。在步骤290之后,优选地,方法在步骤200重新开始,以接收新的请求地址。
如果在步骤210,位于新请求地址处的数据已经在缓冲器102和104之一中(框210的输出Y),则方法直接行进到步骤280。
优选地,在方法的未示出步骤处,修改信号SEL。这样实现的循环方法包括同时填充缓冲器,以及填充两个缓冲器中的仅一个缓冲器并且然后填充两个缓冲器中的仅另一缓冲器。该方法使得能够通过总线120依次发送位于在步骤200接收的各种请求地址处的数据。
在一个优选实施例中,位置112位于第一存储器组中,并且位置114位于第二存储器组中。当所选择的填充模式是顺序填充时,针对每个请求地址,从两个组中的单个组中读出最多一个内容。与针对每个请求地址读取两个组的内容相比,这使得能够降低功耗。当所选择的填充模式是同时填充时,与顺序填充相比,两个填充的缓冲器使得能够节省时间,例如,当处理单元130和/或高速缓冲存储器132需要位于连续地址处的数据时。因此可以优化在执行速度与功耗之间的折衷。
图3示意性地示出了当顺序填充缓冲器时,由图1中的类型的芯片实现图2的方法的一个示例。
在该示例中,数据是32位字,数据总线120是32位总线,存储器110的位置112和114各自包含64位,并且高速缓冲存储器132包含位置302,每个位置302包含128位。因此,高速缓冲存储器的每个位置302可以包含4个数据段。例如,每个位置旨在接收存储器110中位于相应逻辑地址0x...0、0x...4、0x...8和0x...C处的数据。
假定微处理器需要位于逻辑地址0x...4处的数据,该数据不存在于高速缓冲存储器132中。然后完全填充高速缓冲存储器的位置302之一。为此目的,向设备100发送依次请求,以便设备100通过总线120依次发送4个对应数据段。第一请求涉及地址0x...4。这使得对应数据D1能够尽可能快地可用于微处理器。接下来的请求依次具有地址0x...8、0x...C和0x...0。
图4示意性地示出了图3的示例中的图2的方法的步骤。
在步骤200(ADDR=0x...4)接收请求地址0x...4。位于请求地址0x...4处的数据D1被包含在位置112之一中。该位置112还包含位于地址0x...0处的数据D4。该方法经过读出位置112的内容的步骤262(READ_A),并且然后经过使用该内容填充缓冲器102的步骤272。结果,于是缓冲器102包含2个数据段D1和D4。数据D1在接下来的步骤290(SEND_D1)被发送。
然后,在步骤200(ADDR=0x...8)接收请求地址0x...8。位于请求地址0x...8处的数据D2被包含在位置114之一中。该位置114还包含位于地址0x...C处的数据D3。该方法经过读出该位置114的内容的步骤264(READ_B),并且然后经过使用该内容填充缓冲器104的步骤274。结果,于是缓冲器104包含2个数据段D2和D3。数据D2在接下来的步骤290(SEND_D2)被发送。
然后,在步骤200(ADDR=0x...C)接收请求地址0x...C。在步骤210(HIT)之后,由于对应数据D3被包含在缓冲器104中的事实,方法直接行进到发送数据D3的步骤290(SEND_D3)。
最后,在步骤200(ADDR=0x...0)接收请求地址0x...0。在步骤210(HIT)之后,由于对应数据D4被包含在缓冲器102中的事实,方法直接行进到发送数据D4的步骤290(SEND_D4)。
因此,通过仅执行读出位置112的内容的步骤和读出位置114的内容的步骤,4个数据段D1、D2、D3和D4按照该顺序被发送。如果只有一个缓冲器可填充有位置112和114的内容,则需要3个读出步骤。因此,该方法使得能够比使用单个缓冲器更快地发送存储器内容。此外,与具有同时填充两个缓冲器的操作模式和可以填充两个缓冲器中的仅一个缓冲器的操作模式的设备相比,可以改善执行速度与功耗之间的折衷。
对于除图3和图4的示例中公开的请求地址之外的其他连串的请求地址,该方法特别快。该优点特别存在于以下情况:省略高速缓冲存储器132,并且微处理器130交替地需要包含在相同位置112和相同位置114中的数据。在这种情况下,一旦填充了缓冲器102和104,就通过总线120发送数据,而没有存储器内容读出步骤。
图5部分地和示意性地示出了芯片,该芯片包括接收存储器位置的内容的设备的一个实施例。
存储器110优选地包括存储器组110A(BANKA)和存储器组110B(BANKB),存储器组110A具有位于其中的位置112,存储器组110B具有位于其中的位置114。
优选地,存储器组110A将存储器位置的内容提供给多路复用器502的输入I0。在通过其地址进行选择并且从存储器读出之后,提供内容。作为一个示例,组110B类似地将存储器位置的内容提供给多路复用器502的输入I1。例如,多路复用器502由信号ADDR(3)/0控制。例如,当选择同时填充模式时,信号ADDR(3)/0具有低电平。优选地,当选择顺序填充模式时,信号ADDR(3)/0的电平使得能够选择包含位于请求地址ADDR处的数据的组。然后,信号ADDR(3)/0优选地对应于位ADDR(3)。多路复用器502的输出耦合到多路复用器512、522和524的输入I1。作为一个示例,纠错电路532(ECC)位于多路复用器502的输出与多路复用器512、522和524的输入之间。多路复用器512和522各自在输入I0上接收缓冲器102的内容。多路复用器512由信号READ_END控制。多路复用器522由信号READ_ENDA控制。然后,多路复用器152(图1)接收多路复用器512和522的输出。
优选地,由组110B提供的内容由多路复用器514的输入I1接收。作为一个示例,纠错电路534(ECC)位于组110B的输出与多路复用器514的输入I1之间。多路复用器514和524各自在输入I0上接收缓冲器104的内容。多路复用器514由信号READ_END控制。多路复用器524由信号READ_ENDB控制。然后,多路复用器154(图1)接收多路复用器514和524的输出。
作为一个示例,缓冲器102的最低有效位耦合到多路复用器550的输入I00;缓冲器102的最高有效位耦合到多路复用器550的输入I01;缓冲器104的最低有效位耦合到多路复用器550的输入I10;并且缓冲器104的最高有效位耦合到多路复用器550的输入I11。例如,多路复用器550由请求地址的从最低有效位开始的第三位和第四位的集合ADDR(3:2)控制。优选地,输入I00、I01、I10和I11根据位ADDR(3:2)的相应状态‘00’、‘01’、‘10’和‘11’来选择。多路复用器550的输出耦合到总线120。
优选地,组110A和110B、多路复用器152、154、502、512、514、522和524、以及缓冲器102和104之间的链路可以并行传送存储器位置内容的所有位。
优选地,缓冲器102和104、多路复用器550、以及总线120之间的链路可以并行传送数据段的所有位,优选地为32位。
图6和图7示意性地示出了图5的接收设备的部分,其使得能够实现图2的方法的步骤210(HIT?)。
该设备包括用于存储请求地址的两个缓冲器602(ADDRBUFA)和604(ADDRBUFB)。请求地址由多路复用器612、614、622和624的输入I1接收。多路复用器612和614在输入I0上接收缓冲器602的内容。多路复用器612和614的输出耦合到多路复用器632的输入,多路复用器632由信号SEL控制。多路复用器622和624在输入I0上接收缓冲器604的内容。多路复用器622和624的输出耦合到多路复用器634的输入,多路复用器634由信号SEL控制。多路复用器612和622分别由READ_ENDA和READ_ENDB控制。多路复用器614和624由信号READ_END一起控制。
在操作中,当选择同时缓冲器填充模式时,两个缓冲器602和604填充有与缓冲器102和104的填充相关联的请求地址(图2的方法的步骤250)。当选择顺序填充模式时,缓冲器602或604填充有与相应缓冲器102或104的填充相关联的请求地址(步骤262或264)。在填充两个缓冲器602和604之一时,两个缓冲器602和604中的另一个缓冲器的内容保持不变。
因此,缓冲器602和604的内容对应于与缓冲器602和604的填充相关联的请求地址。
在图7中,缓冲器602耦合到电路702(EQ)的输入,电路702在另一输入上接收请求地址。电路702是用于验证在其两个输入上接收的值之间的相等性的电路。优选地,电路702在接收的值相等时提供高电平,而在接收的值不同时提供低电平。电路702的输出耦合到与门(AND门)710的输入。与门710在另一输入处接收信号OKA&B。电路702的输出还耦合到与门712。与门712在另一输入处接收信号OKA。
缓冲器604耦合到电路704(EQ)的输入,电路704用于验证两个输入之间的相等性。电路704在其两个输入中的另一个输入上接收请求地址。电路704的输出耦合到与门714的输入。与门714在另一输入处接收信号OKB。
与门712和714的输出耦合到或门(OR门)720的输入。或门720和与门710的输出耦合到多路复用器730。多路复用器730由信号SEL控制。多路复用器730提供信号HIT。
当满足涉及以下项的有效条件时,信号OKA、OKB和OKA&B中的每个信号被激活(例如,设置为高电平):针对信号OKA的缓冲器102和602;针对信号OKB的缓冲器104和604;以及针对信号OKA&B的4个缓冲器。例如,这样的条件是缺乏以下项:对相关缓冲器的持续填充,从存储器中持续读出,缓冲器中的有效数据的存在,等等。
在操作中,当存储器中位于请求地址处的数据已经存在于缓冲器102和104的内容中时,信号HIT被激活。然后,在图2的方法的步骤210(HIT?)处使用信号HIT。
可以使用使得能够执行图2的方法的步骤210的任何电路,来代替图6和图7的电路。优选地,这种电路被配置为将填充缓冲器的内容的地址存储到缓冲器中。然后,电路确定所存储的地址是否对应于新请求的地址。作为一个变型,可以省略步骤210。
已经描述了各种实施例和变型。本领域技术人员将理解,可以组合该各种实施例和变型的某些特征,并且本领域技术人员将想到其他变型。
最后,基于上文中给出的功能指示,所描述的实施例和变型的实际实现方式在本领域技术人员的能力范围内。
这些更改、修改和改进旨在成为本公开的一部分,并且旨在处于本实用新型的精神和范围内。因此,前面的描述仅是通过示例的方式,而不旨在是限制性的。仅如所附权利要求及其等同物中所限定的那样来限制本实用新型。

Claims (12)

1.一种电子设备,其特征在于,包括:
两个缓冲器,能填充有存储器位置的内容;以及
选择电路,被配置为在所述缓冲器的同时填充与所述缓冲器的顺序填充之间选择填充模式。
2.根据权利要求1所述的电子设备,其特征在于,每个存储器位置的所述内容包括多个数据位,所述缓冲器中的每个缓冲器被配置为同时用所述多个数据位填充。
3.根据权利要求2所述的电子设备,其特征在于,包括驱动器,所述驱动器被配置为通过总线发送N个数据位,所述总线具有N条并行线,N是大于1的实数。
4.根据权利要求3所述的电子设备,其特征在于,所述驱动器包括多路复用器。
5.根据权利要求1所述的电子设备,其特征在于,所述两个缓冲器能填充有具有交替地址的第一存储器位置和第二存储器位置的相应内容。
6.根据权利要求5所述的电子设备,其特征在于,还包括两个附加缓冲器,所述两个附加缓冲器顺序地能填充有所述第一存储器位置和所述第二存储器位置的相应内容的地址。
7.根据权利要求1所述的电子设备,其特征在于,所述电子设备被配置为使得所述缓冲器的所述顺序填充包括使用连续存储器位置的内容进行填充。
8.一种电子设备,其特征在于,包括:
第一缓冲器;
第二缓冲器;
第一总线,具有总线宽度,所述第一总线耦合到所述第一缓冲器和所述第二缓冲器;以及
第二总线,具有所述总线宽度,所述第二总线耦合到所述第二缓冲器,而不耦合到所述第一缓冲器;
其中所述电子设备在第一传输配置与第二传输配置之间是可配置的;
其中在所述第一传输配置中,同时使用所述第一总线向或从所述第一缓冲器并且使用所述第二总线向或从所述第二缓冲器传输数据;以及
其中在所述第二传输配置中,使用所述第一总线向或从所述第一缓冲器传输数据,并且然后使用所述第一总线向或从所述第二缓冲器传输数据。
9.根据权利要求8所述的电子设备,其特征在于,还包括耦合到所述第一总线和所述第二总线的处理器。
10.根据权利要求9所述的电子设备,其特征在于,还包括非易失性存储器,其中所述第一缓冲器和所述第二缓冲器位于所述非易失性存储器与所述处理器之间。
11.根据权利要求8所述的电子设备,其特征在于,还包括耦合到所述第一缓冲器和所述第二缓冲器的非易失性存储器。
12.根据权利要求11所述的电子设备,其特征在于,所述第一缓冲器和所述第二缓冲器被配置为存储来自所述非易失性存储器的存储器位置的数据,所述电子设备还包括被配置为存储所述存储器位置的地址的附加缓冲器。
CN201921332849.3U 2018-08-17 2019-08-16 电子设备 Active CN210072600U (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1857517 2018-08-17
FR1857517A FR3085075A1 (fr) 2018-08-17 2018-08-17 Controleur memoire

Publications (1)

Publication Number Publication Date
CN210072600U true CN210072600U (zh) 2020-02-14

Family

ID=65201099

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201921332849.3U Active CN210072600U (zh) 2018-08-17 2019-08-16 电子设备
CN201910758944.8A Pending CN110837481A (zh) 2018-08-17 2019-08-16 存储器控制器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910758944.8A Pending CN110837481A (zh) 2018-08-17 2019-08-16 存储器控制器

Country Status (4)

Country Link
US (1) US11106582B2 (zh)
EP (1) EP3611623B1 (zh)
CN (2) CN210072600U (zh)
FR (1) FR3085075A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115244521A (zh) * 2020-05-06 2022-10-25 阿里巴巴集团控股有限公司 用于存储数据的分级方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2222471B (en) * 1988-08-29 1992-12-09 Mitsubishi Electric Corp Ic card with switchable bus structure
JP4435802B2 (ja) * 2007-04-11 2010-03-24 株式会社日立ハイテクノロジーズ 半導体検査装置
US20120066444A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Resolution Enhancement of Video Stream Based on Spatial and Temporal Correlation
US8996818B2 (en) * 2012-12-09 2015-03-31 Advanced Micro Devices, Inc. Bypassing memory requests to a main memory
US10339079B2 (en) * 2014-06-02 2019-07-02 Western Digital Technologies, Inc. System and method of interleaving data retrieved from first and second buffers
US9792965B2 (en) * 2014-06-17 2017-10-17 Rambus Inc. Memory module and system supporting parallel and serial access modes
WO2017023508A1 (en) * 2015-08-06 2017-02-09 Rambus Inc. High performance, high capacity memory modules and systems
US11048649B2 (en) * 2018-10-17 2021-06-29 Macronix International Co., Ltd. Non-sequential page continuous read

Also Published As

Publication number Publication date
EP3611623B1 (fr) 2023-05-10
FR3085075A1 (fr) 2020-02-21
CN110837481A (zh) 2020-02-25
US20200057719A1 (en) 2020-02-20
EP3611623A1 (fr) 2020-02-19
US11106582B2 (en) 2021-08-31

Similar Documents

Publication Publication Date Title
US8046527B2 (en) Apparatus and method for using a page buffer of a memory device as a temporary cache
JP6029923B2 (ja) Nand型フラッシュメモリの読み込み方法及び装置
CN109871340B (zh) 对存储器装置执行训练的电子装置及其训练方法
US8819377B2 (en) System and method of operating memory devices of mixed type
US6522167B1 (en) User configurable on-chip memory system
KR100673013B1 (ko) 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템
US4617624A (en) Multiple configuration memory circuit
US6662285B1 (en) User configurable memory system having local and global memory blocks
TWI590250B (zh) 用於組態用於混合記憶體模組之記憶體之輸入/輸出之裝置及方法
CN103578535B (zh) 用于读取nand快闪存储器的方法和设备
EP3640944B1 (en) Non-sequential page continuous read
KR20100077026A (ko) 직렬 인터페이스 nand
CN112543925A (zh) 用于使用专用低延迟链路的多个硬件加速器的统一地址空间
JP2010501915A (ja) メモリ用モジュールコマンド構造およびメモリシステム
US20220012190A1 (en) Methods and Apparatus for Improving SPI Continuous Read
JP2762138B2 (ja) メモリコントロールユニット
CN210072600U (zh) 电子设备
JP2006507555A (ja) コントローラプログラミングによるハードウェアへのデータマスクマッピング
US20070028037A1 (en) Memory system with automatic dual-buffering
US11755211B2 (en) Overhead reduction in data transfer protocol for NAND memory
US8443145B2 (en) Distributed memory usage for a system having multiple integrated circuits each including processors
US8688893B2 (en) Memory device and memory interface
KR100723475B1 (ko) 캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법
JP2012022567A (ja) キャッシュメモリ
JP2000099449A (ja) Cpuデータバス用インターフェース回路およびそれを備えたメモリ制御システム

Legal Events

Date Code Title Description
GR01 Patent grant
GR01 Patent grant