CN111090598A - 用于组合多个存储信道的系统和方法 - Google Patents
用于组合多个存储信道的系统和方法 Download PDFInfo
- Publication number
- CN111090598A CN111090598A CN201910833324.6A CN201910833324A CN111090598A CN 111090598 A CN111090598 A CN 111090598A CN 201910833324 A CN201910833324 A CN 201910833324A CN 111090598 A CN111090598 A CN 111090598A
- Authority
- CN
- China
- Prior art keywords
- channel
- command
- physical interface
- memory
- controller
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 204
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013507 mapping Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/287—Multiplexed DMA
-
- 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
本申请提供了在多信道存储控制器中组合多个信道的系统、装置和方法,以节省面积和降低功耗及成本。一种装置可以包括:第一存储控制器,被配置为使用第一协议访问第一信道;第二存储控制器,被配置为使用与所述第一协议不同的第二协议访问第二信道;以及物理接口,其耦合到该第一存储控制器和该第二存储控制器。该物理接口可以包括由所述第一存储控制器和所述第二存储控制器共享的地址和命令总线的一组引脚,用于所述第一存储控制器和所述第二存储控制器以通过时分复用将地址或命令发送到相应信道。
Description
技术领域
本发明涉及存储器接口技术领域,尤其涉及多信道存储器接口架构。
背景技术
计算系统需要使用存储介质来维持和存储数据及指令。通常有两种类型的存储介质:易失性和非易失性。当设备断电时,易失性存储器(如随机存取存储器 (RAM))会丢失其状态;非易失性存储器,如软盘、硬盘驱动器、磁带、光盘,即使断电也能保持其状态。这两种类型的存储器通常通过不同的接口技术来访问,这些接口技术变化很大并且通常是不兼容的。最近开发的新存储器和存储技术通常将越来越多的存储介质模块打包到一个计算系统中。因此,现代存储控制器通常被配置为支持多个信道以访问多个存储单元。
多信道存储器接口架构必须具有与多个存储单元通信的必要接口。但是因为连接引脚的空间有限,这种架构的物理接口是有价值的资源。而且,非易失性存储器的最新发展正在提供越来越先进的存储介质,这与传统的RAM和传统的非易失性存储器不同。因此,本领域中需要一种改进的多信道存储器接口架构设计,以利用先进的新存储介质特征。
发明内容
本申请的主题涉及在存储控制器中组合多个信道的系统、方法和装置。根据本申请的各个方面,所提供的技术可以在多个存储器信道之间共享地址/命令(AD/ CMD)总线,而每个信道可以具有单独的数据总线。示例性的存储控制器可以在独立存储控制器(例如计算系统的DRAM控制器)中实现,或者作为存储控制器(例如固态驱动器(SSD)控制器)的一部分实现。
在一个示例性实施例中,提供了一种装置,所述装置包括:第一存储控制器,所述第一存储控制器被配置为使用第一协议访问第一信道;第二存储控制器,所述第二存储控制器被配置为使用与第一协议不同的第二协议来访问第二信道;以及耦合到所述第一存储控制器和所述第二存储控制器的物理接口。所述物理接口包括由所述第一存储控制器和所述第二存储控制器共享的地址和命令总线的一组引脚,用于所述第一存储控制器和所述第二存储控制器以通过时分复用将地址或命令发送到相应信道。
在另一个示例性实施例中,提供了一种方法,所述方法包括:在多信道存储控制器的物理接口处从所述多信道存储控制器的第一信道控制器接收第一命令;在所述物理接口处从所述多信道存储控制器的第二信道控制器接收第二命令。所述第一命令是第一协议的命令,所述第二命令是第二协议的命令,所述第一协议与所述第二协议不同。所述方法还可以包括:在第一时隙期间将所述第一命令从所述物理接口经由一组引脚发送到第一存储器类型的第一存储模块;以及在第二时隙期间将所述第二命令从所述物理接口经由该组引脚发送到第二存储器类型的第二存储模块。该组引脚由所述第一信道和所述第二信道共享。在一个实施例中,所述第一协议和所述第二协议可以是兼容协议。
在又一个示例性实施例中,提供了一种具有信息的非暂时性机器可读介质,当由硬件处理器系统读取时,该信息使得硬件处理器系统执行:在多信道存储控制器的物理接口处从所述多信道存储控制器的第一信道控制器接收第一命令;在所述物理接口处从所述多信道存储控制器的第二信道控制器接收第二命令;在第一时隙期间将所述第一命令从所述物理接口经由一组引脚发送到第一存储器类型的第一存储模块;以及在第二时隙期间将所述第二命令从所述物理接口经由该组引脚发送到第二存储器类型的第二存储模块。所述第一命令是第一协议的命令,所述第二命令是第二协议的命令,所述第一协议与所述第二协议不同。该组引脚由所述第一信道和所述第二信道共享。
附图说明
图1A示意性地示出了根据本申请一个实施例的具有多信道存储器接口架构的存储器控制器。
图1B示意性地示出了根据本申请另一个实施例的多信道存储器接口架构。
图2示意性地示出了根据本申请一个实施例的多信道存储系统中的各种信号线上的信号。
图3示意性地示出了根据本申请另一个实施例的多信道存储系统中的各种信号线上的信号。
图4示意性地示出了根据本申请又一个实施例的多信道存储系统中的各种信号线上的信号。
图5示出了根据本申请的一个实施例的用于操作多信道存储控制器的流程图。
具体实施方式
现在将参考附图详细描述根据本申请的具体实施例。为了一致性,各图中的相同元件由相同的附图标记表示。
本申请提供了用于在多信道存储器接口架构中组合多个信道的系统和方法。一个示例性存储控制器可以实现多信道存储器接口架构以提供对两个或更多个信道的支持。每个信道可以通过具有相应的专用数据总线和独立控制而独立。但是,多个信道可以共享单个地址和命令总线。例如,根据一个实施例的存储器控制器可以具有配置有用于多个存储模块的多个信道的物理接口(PHY)。每个存储模块可以是用于存储数据和指令的存储单元。可以耦合到该多个信道的存储模块可以包括例如同步动态随机存取存储器(SDRAM)、双倍数据速率SDRAM(DDR)、DDR版本2SDRAM(DDR2)、 DDR版本3SDRAM(DDR3)、DDR版本4SDRAM(DDR4)、NAND闪存、NOR闪存、磁阻随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PCRAM)、Nano-RAM、3D XPoint存储器,等等。
在各种实施例中,通过共享单个地址/命令总线,可以减少用于地址总线的硅芯片(die)的面积。而且,具有不同宽度的数据总线可以组合在一个存储器系统中。例如,存储器系统可具有不是2的幂的总的数据总线宽度。例如,在一个实施例中,总的数据总线宽度可以是48位,其可以是用于一个信道的32位数据总线与用于另一个信道的16位数据总线的组合。另外,可以组合不同的存储器类型以形成灵活的存储器系统。例如,一个信道可以被配置为用于DRAM,另一个信道可以被配置为用于MRAM,或者一个信道可以被配置为用于DDR3,另一个信道可以被配置为用于DDR4。然而,在各种实施例中,因为这些多个信道可以被充分利用,例如,通过地址/命令总线的时分复用,所以对总带宽没有显着影响。
图1A示意性地示出了根据本申请一个实施例的具有多信道存储器接口架构的存储器控制器102。存储控制器102可以包括物理接口104、第一信道控制器114、第二信道控制器120、第一数据总线112、第二数据总线126和地址总线128。
第一信道控制器114可以向存储控制器102提供表示为CH A的第一信道。第一信道控制器114可包括数据路径组件116和地址组件118。数据路径组件116可以被配置为处理要写入和/或从附接到第一信道的存储模块(未示出)接收的数据。数据路径组件116可以经由第一数据总线112耦合到物理接口104的第一组数据引脚106。第一组数据引脚106可以通过外部数据总线(未示出)耦合到附接到到第一信道的存储模块。地址组件118可以被配置为指定地址(存储模块上要写入或读取的数据的位置)并向第一信道发出任何命令。因此,地址组件118也可以称为地址/命令组件。地址组件 118可以经由地址总线128耦合到物理接口104的一组地址/命令引脚110。物理接口104 的该组地址/命令引脚110也可以称为地址PHY。因为地址总线128也可以用于传输命令,所以它也可以称为地址/命令(AD/CMD)总线。
第二信道控制器120可以向存储控制器102提供表示为CH B的第二信道。第二信道控制器120可以包括数据路径组件122和地址组件124。数据路径组件122可以被配置为处理要从附接到第二信道的存储模块(未示出)写入和/或接收的数据。数据路径组件122可以经由第二数据总线126耦合到物理接口104的第二组数据引脚108。第二组数据引脚108可以经由另一个外部数据总线(未示出)耦合到附接到第二信道的存储模块。地址组件124可以被配置为指定地址(存储模块上要写入或读取的数据的位置)并向第二信道发出任何命令。与地址组件118类似,地址组件124也可以称为地址/ 命令组件。此外,地址组件124还可以经由地址总线128耦合到物理接口104的一组地址/命令引脚110。也就是说,地址总线128可以由第一信道控制器114和第二信道控制器120共享。
可以根据第一协议配置第一信道控制器114,并且可以根据第二协议配置第二信道控制器120。如这里所使用的,协议可以指代定义如何访问存储模块(例如,存储芯片)的标准或规范。因此,附接到第一信道控制器114和第二信道控制器120中的每一个的存储模块可以对应相应的存储器类型。第一协议和第二协议中的每一个可以是一个已知的存储协议,例如但不限于SDRAM、DDR、DDR2、DDR3、DDR4、NAND、 NOR、MRAM、RRAM、PCRAM、Nano-RAM或3D XPoint,或者也可以是任何未来开发的存储协议。在各种实施例中,第一协议可以与第二协议不同。
在一些实施例中,第一协议可以与第二协议不同但是相似。例如,诸如 DDR3和DDR4之类的通用DDR-SDRAM协议可以彼此协议兼容,因此在一个实施例中,第一协议可以是DDR3,其中连接到第一信道的存储模块是DDR3存储模块,并且第二协议可以是DDR4,其中连接到第二信道的存储模块是DDR4存储模块。作为另一示例, MRAM可以与诸如DDR3和DDR4的通用DDR-SDRAM协议引脚接口兼容,因此在另一实施例中,第一协议可以是SDRAM,其中连接到第一信道的存储模块是SDRAM存储模块,并且第二协议可以是MRAM,其中连接到第二信道的存储模块是MRAM存储模块。如这里所使用的,引脚接口兼容可以意味着两种协议可以使用同一组物理引脚,但是对于每个存储模块,每个引脚的功能可以是相同的或不同的。因此,对于连接到一个外部数据总线的多种类型的存储模块,根据本申请的实施例可以通过时分复用方案共享一组地址引脚。在一个实施例中,该时分复用方案被执行,使得物理接口104的每个时钟周期可以指定用于特定信道。例如,可以指定信道A使用偶数时钟周期,并且可以指定信道B使用奇数时钟周期。
尽管图1A示出的存储控制器102示出了两个信道,但是可以添加一个或多个附加信道,使得每个附加信道可以具有专用数据总线但是共享物理接口104的同一组地址引脚110。因此,根据本申请的实施例的多信道存储器接口架构可以节省物理接口上的物理空间。
在一些实施例中,如图1A所示,物理接口104的地址引脚110可以经由共享地址总线128耦合到第一信道控制器114的地址组件118和第二信道控制器120的地址组件124。也就是说,第一信道控制器114和第二信道控制器120可以共享同一组地址引脚110。在一个实施例中,一个地址引脚可以映射到共享地址总线的所有信道的相同用途。例如,物理接口104的块地址零(BA0)引脚可以映射到第一信道控制器114 和第二信道控制器120两者的BA0输出。
然而,在一些实施例中,物理接口的一个或多个地址引脚可以被映射到每个信道的不同用途。图1B示意性地示出了根据本申请的另一实施例的具有多信道存储器接口架构的存储器控制器102A。存储控制器102A可以包括第一信道控制器114和第二信道控制器120A,以及物理接口104A。第一信道控制器114可以与图1A中的相同。第二信道控制器120A可以与第二信道控制器120不同,其不同之处在于第二信道控制器120A的至少一些地址输出可以是不同的并且需要被映射到物理接口104A处的可能具有与第一信道控制器114不同用途的引脚。物理接口104A可以与物理接口104不同,其不同之处在于与信道控制器的至少一些连接可以不由信道控制器共享。为简单起见,存储控制器102A与存储控制器102相同的部分(例如,数据组件和连接)省略描述。
如图1B所示,物理接口104A可以具有用于第一时隙(例如,时隙0)的地址BA0输入146、用于第二时隙(例如,时隙1)的地址BA0输入148,以及一组地址/命令引脚110。该组地址/命令引脚110可以与图1A的相同,但是为了说明的目的,它作为示例示出了如何将该组地址/命令引脚110中的地址引脚150(也可以称为地址焊盘)映射为两个不同信道的不同用途。地址引脚150可以耦合到物理接口104A内的地址BA0输入146和地址BAO输入148。用于信道A的第一信道控制器114可以具有耦合到物理接口104的地址BA0输入146的地址BA0输出142,并且用于信道B的第二信道控制器120可以具有耦合到物理接口104的地址BA0输入148的地址AD0输出144。该组地址/命令引脚110可以通过外部地址连接(例如,外部总线)耦合到第一存储器类型的存储模块152和第二存储器类型的存储模块154。地址焊盘150可以耦合到存储模块152的地址引脚BA0 156和存储模块154的地址引脚AD0 158。因此,在该示例中,信道A的BA0可以通过BA0输入、输出、引脚连接到整个存储器系统。然而,信道B 可以是与信道A的存储协议不同的SDRAM信道。信道B控制器120的AD0(地址0) 可以替代地连接到地址PHY的BA0时隙1,然后通过地址PHY的BA0焊盘连接回到 SDRAM信道B的AD0引脚。因此,通过提供映射到地址PHY上的相同地址引脚但是以时分复用方式工作的多个不同输入,存储控制器102A可以促进具有不同输入/输出 (IO)引脚的存储器类型以共享相同的地址PHY。在一个实施例中,因为可以在PCB (印刷电路板)上布线更少的引脚,地址PHY的映射还可以允许更优化的PCB布局。
应当注意,在一些实施例中,时分多路复用可以通过将指定的时钟周期(例如,奇数或偶数)分配给不同的信道(例如,经由该组地址/命令引脚110和一个共享的外部地址总线附接到地址PHY的不同的存储模块)来实现。在其他一些实施例中,时分多路复用可以通过使用片选(可以但不限于被称为,芯片/信道选择/使能)信号来实现。物理接口(例如,104、104A)可以包括一个或多个片选引脚。在一个实施例中,每个存储器信道(例如,来自连接到共享外部地址总线的多个存储模块中的一个存储模块)可以具有不与任何其他存储器信道共享的专用片选引脚。可以将用于一个存储器信道的片选引脚的信号被设置为有效状态,以选择该存储器信道接受通过共享外部地址总线传输的地址和命令。如果芯片选择引脚的信号未被置为有效状态,则相应的存储器信道可以忽略共享外部地址总线上的信号。
图2示意性地示出了根据本申请一个实施例的多信道存储系统中的各种信号线上的信号。在该实施例中,可以在物理接口(例如,物理接口104或104A)的一个时钟周期的下降阶段204通过其地址PHY发出(例如,由第一信道控制器114)用于第一信道的第一读命令WR_0 202。可以在物理接口的另一个时钟周期的下降阶段208通过地址PHY发出用于第二信道的第二读命令WR_1 206。第一信道可以是图1A或图1B 的信道A,其可以具有第一宽度(例如,8、12、16、32位)的第一外部数据总线(未示出),并且数据可以从附接到外部数据总线的存储模块发送回到物理接口(例如,物理接口104或104A)。物理接口又可以通过第一内部数据总线(例如,数据总线112) 将数据发送到信道控制器114。如图2所示,数据可以在一个以上的时钟周期内传输。
第二信道可以是图1的信道B,其可以具有第二宽度(例如,8、12、16、 32位)的第二外部数据总线(未示出),并且数据可以从附接到第二外部数据总线的存储模块发回到物理接口(例如,物理接口104或104A)。在一个实施例中,第二宽度可以与第一外部数据总线的第一宽度相同,或者在另一个实施例中,第二宽度可以与第一宽度不同。例如,在一个实施例中,第一外部数据总线和第一内部数据总线可以是32 位,第二外部数据总线和第二内部数据总线可以是8位或16位。如图2所示,来自第二外部数据总线的数据可包括在多于一个时钟周期上传输的数据位。物理接口又可以经由第二内部数据总线(例如,数据总线126)将数据发送到信道控制器120(或信道控制器120A)。因为每个信道具有专用的内部和外部数据总线,所以用于传输数据信号的时隙210和212可以重叠。但是读命令202和206两者可以共享同一组地址/命令引脚 110。
图3示意性地示出了根据本申请另一实施例的多信道存储系统中的各种信号线上的信号。在该实施例中,物理接口(例如,物理接口104或104A)的地址PHY的时隙可以是物理接口的半个时钟周期。用于第一信道(例如,CH A)的第一读命令302 可以在物理接口的时钟周期的下降阶段304上发出,并且用于第二信道(例如,CH B) 的第二读命令304可以是在物理接口的时钟周期的上升阶段308发出。读命令302和 306二者可以共享该组地址/命令引脚110。第一信道和第二信道可以具有专用的内部和外部数据总线,因此用于传输数据信号310和312的时隙可以重叠。
图4示意性地示出了根据本申请另一实施例的多信道存储系统中的各种信号线上的信号。在该实施例中,第一信道控制器(例如,信道控制器114)可以具有第一信道时钟(例如,时钟信道A),并且第二信道控制器(例如,信道控制器120或120A) 可以具有第二信道时钟(例如,时钟信道B)。第一信道时钟可以是第二信道时钟的两倍。地址信道的物理接口时钟可以由具有最高频率的信道确定。如图4所示,物理接口可以在具有时钟周期402.1到402.12的时钟频率下操作,并且匹配第一信道时钟的频率。时钟周期402.1到402.12中的每一个可以是第二信道时钟的时钟周期的一半。第一信道可以具有指定的时隙,其包括两个连续的PHY时钟周期(例如,PHY时钟周期402.1- 402.2、402.5-402.6、402.9-402.10),并且第二信道可以具有指定的时隙,其也包括两个连续的PHY时钟周期(例如,PHY时钟周期402.3-402.4、402.7-402.8和402.11- 402.12)。因为两个不同的信道可以以不同的频率操作,所以存储模块可以以不同的频率操作。在这种情况下,某些PHY引脚(如时钟)无法共享。例如,物理接口可以包括用于第一信道的第一时钟引脚和用于第二信道的第二时钟引脚。在一个实施例中,信道B时钟(例如,耦合到信道B的存储模块的时钟信号线)的上升沿可以被锁定到信道 A时钟(例如,耦合到信道A的存储模块的时钟信号线)的每隔一个下降沿。
因为第一信道可以在PHY时钟的相同频率下操作,所以第一信道控制器可以在指定时隙期间发出两个命令。例如,在PHY时钟周期402.1-402.2期间,第一信道控制器可以发出两个命令:写命令404和无操作(NOP)命令406;并且在PHY时钟周期402.5-402.6期间,第一信道控制器可以发出两个命令:写命令410和NOP命令412。请注意,NOP命令可能是特殊的,因为当指定的时隙无操作时,一个NOP命令(例如 NOP命令416)可占用PHY时钟周期402.9-402.10的整个指定时隙。
因为第二信道可以以PHY时钟的一半的频率操作,所以第二信道控制器可以在两个PHY时钟周期的指定时隙期间发出一个命令。例如,在PHY时钟周期402.3- 402.4期间,第二信道控制器可以发出写命令408;在PHY时钟周期402.7-402.8期间,第二信道控制器可以发出NOP命令414;并且在PHY时钟周期402.11-402.12期间,第二信道控制器可以发出写命令418。应当注意,在本申请的任何示例中,读命令可以用写命令或任何其他命令替换,写命令可以用读命令或任何其他命令替换,并且地址PHY 可以以相同的时分复用方式操作。
因此,示例性多信道存储控制器可以组合以不同频率运行的存储器,并且这可以通过组合以2的幂的功率频率运行的信道来实现。地址信道的PHY时钟可以由具有最高频率的信道确定。因为不同的存储器类型可能具有不同的最大操作频率,所以在一个实施例中可以允许较快的存储器类型以其最大频率或接近其最大频率运行,而不是限于较慢的存储器时钟。然而,在一个实施例中,为了匹配频率比,可能需要牺牲一些工作频率。
图5是根据本申请的一个实施例的用于操作多信道存储控制器的过程500的流程图。在框502中,可以在物理接口处接收来自第一信道控制器的第一命令。第一信道控制器和物理接口可以是多信道存储控制器的两个组件。例如,存储控制器102的物理接口104或存储控制器102A的物理接口104A可以从第一信道控制器114接收第一命令(例如读命令202或302,或者写命令404)。
在框504中,可以在物理接口处接收来自第二信道控制器的第二命令。第二信道控制器可以是多信道存储控制器的另一个组件。例如,存储控制器102的物理接口 104或和存储控制器102A的物理接口104A可以从第二信道控制器120或120A接收第二命令(例如读命令206或306,或者写命令408)。第一命令可以是第一协议的命令,第二命令可以是第二协议的命令,且第一协议可以与第二协议不同。例如,在一个实施例中,第一信道控制器可以被配置为用于DDR3,第二信道控制器可以被配置为用于 DDR4。用于第一信道的存储模块可以是DDR3存储模块,用于第二信道的存储模块可以是DDR4存储模块。因此,第一协议可以是DDR3,第二协议可以是DDR4。在另一实施例中,第一信道控制器可以被配置为用于SDRAM,第二信道控制器可以被配置为用于MRAM。用于第一信道的存储模块可以是SDRAM存储模块,用于第二信道的存储模块可以是MRAM存储模块。因此,第一协议可以是SDRAM,第二协议可以是 MRAM。
在框506中,可以在第一时隙期间经由一组引脚将第一命令从物理接口发送到第一存储器类型的第一存储模块。在框508中,可以在第二时隙期间经由该组引脚将第二命令从物理接口发送到第二存储器类型的第二存储模块。在各种实施例中,该物理接口的一组引脚(例如,该组地址/命令引脚110)可以通过时分复用在多个信道之间共享。第一信道的命令可以在第一时隙中发出,第二信道的命令可以在第二时隙中发出。在一个实施例中,每个信道可以具有指定的时隙。在另一个实施例中,信道的时隙可以由片选信号确定。此外,在一个实施例中,可以通过共享引脚组之一发出片选信号。
根据本申请的各实施例可以减少物理接口上的引脚,从而节省存储控制器的面积、功耗和成本。通过使用时分复用,各实施例可以组合不同的存储器类型,将多个信道的不同信号映射到物理接口的相同引脚,以不同的数据速率运行每个信道,以及组合不同的I/O协议。
在一个示例性实施例中,提供了一种装置,包括:第一存储控制器,被配置为使用第一协议访问第一信道;第二存储控制器,被配置为使用与第一协议不同的第二协议来访问第二信道;以及耦合到第一存储控制器和第二存储控制器的物理接口。该物理接口包括用于由第一存储控制器和第二存储控制器共享的地址和命令总线的一组引脚,用于第一存储控制器和第二存储控制器以通过时分复用将地址或命令发送到相应信道。
在一个实施例中,该第一协议和该第二协议可以是兼容协议
在一个实施例中,该物理接口还可以至少包括耦合到该第一存储控制器的第一地址输入和耦合到该第二存储控制器的第二地址输入,并且该第一地址输入和该第二地址输入被映射到该组引脚的一个共享引脚。
在一个实施例中,该第一地址输入和该第二地址输入可以被配置为工作在不同的时隙。
在一个实施例中,该时分复用可以通过将指定的不同时钟周期分配给不同的信道来实现。
在一个实施例中,该时分复用可以使用通过地址和命令总线的一组引脚之一发送的片选信号来执行。
在一个实施例中,该第一存储控制器可以以第一频率操作地址总线,该第二存储控制器可以以不同于第一频率的第二频率操作地址总线
在一个实施例中,该物理接口可以在该第一频率和该第二频率的最高频率下操作
在一个实施例中,该物理接口还可以包括用于该第一信道的第一时钟引脚和用于该第二信道的第二时钟引脚。
在一个实施例中,该物理接口还可以包括分别用于该第一信道和该第二信道的数据总线的独立引脚组。
在另一示例性实施例中,提供了一种方法,包括:在多信道存储控制器的物理接口处从多信道存储控制器的第一信道控制器接收第一命令;在物理接口处从多信道存储控制器的第二信道控制器接收第二命令。第一命令可以是第一协议的命令,第二命令可以是第二协议的命令,第一存储器协议可以与第二存储器协议不同。该方法还可以包括:在第一时隙期间,将第一命令从物理接口经由一组引脚发送到第一存储器类型的第一存储模块;在第二时隙期间,将第二命令从物理接口经由该组引脚发送到第二存储器类型的第二存储模块。该组引脚可以由第一信道和第二信道共享。在一个实施例中,第一协议和第二协议可以是兼容协议
在一个实施例中,该方法还可以包括将物理接口的第一地址输入和物理接口的第二地址输入映射到该组引脚的一个共享引脚,第一地址输入和第二地址输入可以被配置为工作在不同的时隙。
在一个实施例中,第一时隙和第二时隙可以是分配给不同信道的不同时钟周期。
在一个实施例中,该方法还可以包括经由该组引脚发送片选信号以指示第一存储模块和第二存储模块中的哪个是正被发送的命令的目标。
在一个实施例中,该方法还可以包括以第一频率操作第一信道控制器的地址总线,以及以不同于第一频率的第二频率操作第二存储控制器的地址总线,物理接口可以在第一频率和第二频率的最高频率下操作。
在又一示例性实施例中,提供了一种具有信息的非暂时性机器可读介质,当由硬件处理器系统读取时,该信息使得硬件处理器系统执行:在多信道存储控制器的物理接口处从多信道存储控制器的第一信道控制器接收第一命令;在物理接口处从多信道存储控制器的第二信道控制器接收第二命令;在第一时隙期间,将第一命令从物理接口经由一组引脚发送到第一存储器类型的第一存储模块;在第二时隙期间,将第二命令从物理接口经由该组引脚发送到第二存储器类型的第二存储模块。第一命令可以是第一协议的命令,第二命令可以是第二协议的命令,第一存储器协议可以与第二存储器协议不同。该组引脚可以由第一信道和第二信道共享。
在一个实施例中,当由硬件处理器系统读取时,该信息还使硬件处理器系统执行:将物理接口的第一地址输入和物理接口的第二地址输入映射到该组引脚中的一个共享引脚。第一地址输入和第二地址输入可以被配置为工作在不同的时隙。
在一个实施例中,当由硬件处理器系统读取时,该信息还使硬件处理器系统执行:经由该组引脚发送片选信号以指示第一存储模块和第二存储模块中的哪个是正在发送的命令的目标。
在一个实施例中,当由硬件处理器系统读取时,该信息还使硬件处理器系统执行:以第一频率操作第一信道控制器的地址总线,以不同于第一频率的第二频率操作第二存储控制器的地址总线。物理接口可以在第一频率和第二频率的最高频率下操作。
任何所公开的方法和操作(例如,过程500)可以被实现为存储在一个或多个计算机可读存储介质(例如,非暂时性计算机,例如一个或多个光学介质盘、易失性存储器组件(例如DRAM或SRAM)或非易失性存储器组件(例如硬盘驱动器))上的计算机可执行指令(例如,用于本文所述操作的软件代码),并在设备控制器(例如,由ASIC执行的固件)上执行。用于实现所公开的技术的任何计算机可执行指令以及在所公开的实施例的实现期间创建和使用的任何数据可以存储在一个或多个计算机可读介质(例如,非暂时性计算机可读介质)上。
虽然本文已经公开了各种方面和各种实施例,但是其他方面和实施例对于本领域技术人员来说将是显而易见的。这里公开的各个方面和实施例是出于说明的目的而不是限制性的,真正的范围和精神由所附权利要求指示。
Claims (20)
1.一种装置,包括:
第一存储控制器,所述第一存储控制器被配置为使用第一协议访问第一信道;
第二存储控制器,所述第二存储控制器被配置为使用与所述第一协议不同的第二协议访问第二信道;以及
耦合到所述第一存储控制器和所述第二存储控制器的物理接口,所述物理接口包括:
由所述第一存储控制器和所述第二存储控制器共享的地址和命令总线的一组引脚,用于所述第一存储控制器和所述第二存储控制器以通过时分复用将地址或命令发送到相应信道。
2.如权利要求1所述的装置,其特征在于,所述第一协议和所述第二协议是兼容协议。
3.如权利要求1所述的装置,其特征在于,所述物理接口至少包括耦合到所述第一存储控制器的第一地址输入和耦合到所述第二存储控制器的第二地址输入,并且所述第一地址输入和所述第二地址输入被映射到该组引脚中的一个共享引脚。
4.如权利要求3所述的装置,其特征在于,所述第一地址输入和所述第二地址输入被配置为工作在不同的时隙。
5.如权利要求1所述的装置,其特征在于,所述时分复用通过将指定的不同时钟周期分配给不同的信道来实现。
6.如权利要求1所述的装置,其特征在于,所述时分复用使用通过所述地址和命令总线的一组引脚中的一个引脚发送的片选信号来执行。
7.如权利要求1所述的装置,其特征在于,所述第一存储控制器以第一频率操作地址总线,所述第二存储控制器以不同于所述第一频率的第二频率操作地址总线。
8.如权利要求7所述的装置,其特征在于,所述物理接口以所述第一频率和所述第二频率中的最高频率操作。
9.如权利要求7所述的装置,其特征在于,所述物理接口还包括用于所述第一信道的第一时钟引脚和用于所述第二信道的第二时钟引脚。
10.如权利要求1所述的装置,其特征在于,所述物理接口还包括分别用于所述第一信道和所述第二信道的数据总线的独立引脚组。
11.一种方法,包括:
在多信道存储控制器的物理接口处从所述多信道存储控制器的第一信道控制器接收第一命令;
在所述物理接口处从所述多信道存储控制器的第二信道控制器接收第二命令,其中所述第一命令是第一协议的命令,所述第二命令是第二协议的命令,所述第一协议与所述第二协议不同;
在第一时隙期间将所述第一命令从所述物理接口经由一组引脚发送到第一存储器类型的第一存储模块;以及
在第二时隙期间将所述第二命令从所述物理接口经由该组引脚发送到第二存储器类型的第二存储模块,该组引脚由所述第一信道和所述第二信道共享。
12.如权利要求11所述的方法,其特征在于,所述第一协议和所述第二协议是兼容协议。
13.如权利要求11所述的方法,还包括:
将所述物理接口的第一地址输入和所述物理接口的第二地址输入映射到该组引脚中的一个共享引脚,其中所述第一地址输入和所述第二地址输入被配置为工作在不同的时隙。
14.如权利要求11所述的方法,其特征在于,所述第一时隙和所述第二时隙是分配给不同信道的不同时钟周期。
15.如权利要求11所述的方法,还包括:
经由该组引脚发送片选信号,以指示所述第一存储模块和所述第二存储模块中的哪个是正被发送的命令的目标。
16.如权利要求11所述的方法,还包括:
以第一频率操作所述第一信道控制器的地址总线,以不同于所述第一频率的第二频率操作所述第二存储控制器的地址总线,其中所述物理接口以所述第一频率和所述第二频率中的最高频率操作。
17.一种具有信息的非暂时性机器可读介质,其特征在于,当由硬件处理器系统读取所述信息时,使得所述硬件处理器系统执行:
在多信道存储控制器的物理接口处从所述多信道存储控制器的第一信道控制器接收第一命令;
在所述物理接口处从所述多信道存储控制器的第二信道控制器接收第二命令,其中所述第一命令是第一协议的命令,所述第二命令是第二协议的命令,所述第一协议与所述第二协议不同;
在第一时隙期间将所述第一命令从所述物理接口经由一组引脚发送到第一存储器类型的第一存储模块;以及
在第二时隙期间将所述第二命令从所述物理接口经由该组引脚发送到第二存储器类型的第二存储模块,该组引脚由所述第一信道和所述第二信道共享。
18.如权利要求17所述的非暂时性机器可读介质,其特征在于,当由所述硬件处理器系统读取所述信息时,还使得所述硬件处理器系统执行:
将所述物理接口的第一地址输入和所述物理接口的第二地址输入映射到该组引脚的一个共享引脚,其中所述第一地址输入和所述第二地址输入被配置为在工作不同的时隙。
19.如权利要求17所述的非暂时性机器可读介质,其特征在于,当由所述硬件处理器系统读取所述信息时,还使得所述硬件处理器系统执行:
通过该组引脚发送片选信号,以指示所述第一存储模块和所述第二存储模块中的哪一个是正被发送的命令的目标。
20.如权利要求17所述的非暂时性机器可读介质,其特征在于,当由所述硬件处理器系统读取时,所述信息还使得所述硬件处理器系统执行:
以第一频率操作所述第一信道控制器的地址总线和以不同于所述第一频率的第二频率操作所述第二存储控制器的地址总线,其中所述物理接口以所述第一频率和所述第二频率中的最高频率操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/169,525 US11048654B2 (en) | 2018-10-24 | 2018-10-24 | Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface |
US16/169,525 | 2018-10-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111090598A true CN111090598A (zh) | 2020-05-01 |
CN111090598B CN111090598B (zh) | 2024-03-08 |
Family
ID=70325399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910833324.6A Active CN111090598B (zh) | 2018-10-24 | 2019-09-04 | 用于组合多个存储信道的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11048654B2 (zh) |
CN (1) | CN111090598B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112558553A (zh) * | 2020-11-26 | 2021-03-26 | 苏州谷夫道自动化科技有限公司 | 一种多通道数控系统的通道命令的执行方法及系统 |
CN113377389A (zh) * | 2021-06-30 | 2021-09-10 | 西安诺瓦星云科技股份有限公司 | 数据的处理方法、装置、计算机可读存储介质及处理器 |
WO2023202235A1 (zh) * | 2022-04-21 | 2023-10-26 | 华为技术有限公司 | 内存控制器、内存、内存控制方法及相关设备 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9171824B2 (en) * | 2009-05-26 | 2015-10-27 | Rambus Inc. | Stacked semiconductor device assembly |
US11507310B2 (en) * | 2019-09-02 | 2022-11-22 | SK Hynix Inc. | Memory controller and operating method thereof |
US11080219B1 (en) * | 2020-01-15 | 2021-08-03 | Micron Technology, Inc. | Addressing scheme for a memory system |
US11409684B2 (en) * | 2020-07-31 | 2022-08-09 | Alibaba Group Holding Limited | Processing accelerator architectures |
US11625341B2 (en) | 2020-08-11 | 2023-04-11 | Alibaba Group Holding Limited | Narrow DRAM channel systems and methods |
CN111949580B (zh) * | 2020-08-12 | 2021-11-12 | 深圳安捷丽新技术有限公司 | 多频率内存接口及其配置方法 |
CN113220616B (zh) * | 2021-05-31 | 2022-11-15 | 北京航空航天大学 | 一种基于fpga的从sdram到mram的接口转换系统及方法 |
US20230236742A1 (en) * | 2022-01-22 | 2023-07-27 | Micron Technology, Inc. | NONVOLATILE MEMORY EXPRESS (NVMe) OVER COMPUTE EXPRESS LINK (CXL) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060077710A1 (en) * | 2004-09-28 | 2006-04-13 | Stmicroelectronics S.R.L. | Reading circuit and method for a nonvolatile memory device |
CN101473438A (zh) * | 2006-06-07 | 2009-07-01 | 微软公司 | 具有单个接口的混合存储器设备 |
CN103279438A (zh) * | 2008-02-29 | 2013-09-04 | 高通股份有限公司 | 针对地址/控制信号使用双倍数据速率方案的具有减少的接口引脚需要的双通道存储器架构 |
CN103918032A (zh) * | 2011-10-31 | 2014-07-09 | 华为技术有限公司 | 一种在网络设备中进行查表的方法和装置 |
US20150347331A1 (en) * | 2014-05-28 | 2015-12-03 | Jae-Geun Park | Memory system, memory interfacing device, and interfacing method performed in the memory system |
US20180090185A1 (en) * | 2016-09-28 | 2018-03-29 | Intel Corporation | Shared command address (c/a) bus for multiple memory channels |
CN108074593A (zh) * | 2016-11-11 | 2018-05-25 | 桑迪士克科技有限责任公司 | 用于非易失性存储器的接口 |
-
2018
- 2018-10-24 US US16/169,525 patent/US11048654B2/en active Active
-
2019
- 2019-09-04 CN CN201910833324.6A patent/CN111090598B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060077710A1 (en) * | 2004-09-28 | 2006-04-13 | Stmicroelectronics S.R.L. | Reading circuit and method for a nonvolatile memory device |
CN101473438A (zh) * | 2006-06-07 | 2009-07-01 | 微软公司 | 具有单个接口的混合存储器设备 |
CN103279438A (zh) * | 2008-02-29 | 2013-09-04 | 高通股份有限公司 | 针对地址/控制信号使用双倍数据速率方案的具有减少的接口引脚需要的双通道存储器架构 |
CN103918032A (zh) * | 2011-10-31 | 2014-07-09 | 华为技术有限公司 | 一种在网络设备中进行查表的方法和装置 |
US20150347331A1 (en) * | 2014-05-28 | 2015-12-03 | Jae-Geun Park | Memory system, memory interfacing device, and interfacing method performed in the memory system |
US20180090185A1 (en) * | 2016-09-28 | 2018-03-29 | Intel Corporation | Shared command address (c/a) bus for multiple memory channels |
CN108074593A (zh) * | 2016-11-11 | 2018-05-25 | 桑迪士克科技有限责任公司 | 用于非易失性存储器的接口 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112558553A (zh) * | 2020-11-26 | 2021-03-26 | 苏州谷夫道自动化科技有限公司 | 一种多通道数控系统的通道命令的执行方法及系统 |
CN112558553B (zh) * | 2020-11-26 | 2022-02-11 | 苏州谷夫道自动化科技有限公司 | 一种多通道数控系统的通道命令的执行方法及系统 |
CN113377389A (zh) * | 2021-06-30 | 2021-09-10 | 西安诺瓦星云科技股份有限公司 | 数据的处理方法、装置、计算机可读存储介质及处理器 |
WO2023202235A1 (zh) * | 2022-04-21 | 2023-10-26 | 华为技术有限公司 | 内存控制器、内存、内存控制方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US20200133903A1 (en) | 2020-04-30 |
CN111090598B (zh) | 2024-03-08 |
US11048654B2 (en) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090598B (zh) | 用于组合多个存储信道的系统和方法 | |
US10025737B2 (en) | Interface for storage device access over memory bus | |
EP3453022B1 (en) | Internal error checking and correction (ecc) with extra system bits | |
KR100633828B1 (ko) | 프리페치 길이보다 짧은 버스트 길이를 갖는 메모리 시스템 | |
CN108538337B (zh) | 具有固定带宽接口的存储器设备中的集成的错误检查和校正(ecc) | |
US8819356B2 (en) | Configurable multirank memory system with interface circuit | |
US9436630B2 (en) | Using dual phys to support multiple PCIe link widths | |
EP2472409B1 (en) | Input-output module, and method for extending a memory interface for input-output operations | |
US20160132439A1 (en) | Expandable asymmetric-channel memory system | |
US10884958B2 (en) | DIMM for a high bandwidth memory channel | |
WO1999041667A1 (en) | Memory module including a memory module controller | |
US20080172515A1 (en) | Memory controller connectivity | |
WO2010051621A1 (en) | Bridge device having a virtual page buffer | |
US10325637B2 (en) | Flexible point-to-point memory topology | |
KR20160122483A (ko) | 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법 | |
EP3859539A1 (en) | Configurable write command delay in nonvolatile memory | |
US9607667B1 (en) | Memory device and electronic apparatus including the same | |
US20200293208A1 (en) | Memory controller | |
US20220012173A1 (en) | Flexible configuration of memory module data width | |
US10831963B1 (en) | Apparatus and method of parallel architecture for NVDIMM | |
US20190096459A1 (en) | Memory devices for performing multiple write operations and operating methods thereof | |
US20170185352A1 (en) | Memory device | |
EP4312104A1 (en) | Memory module adapter card with multiplexer circuitry | |
KR20230043692A (ko) | 메모리 모듈 데이터 폭의 유연한 구성을 위한 인에이블링 로직 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 601-606, No. 40, Lane 565, Shengxia Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, 201210 (nominal floor 6, actual floor 5) Applicant after: Yingren Technology Co.,Ltd. Address before: Room 502, 570 Shengxia Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, 201210 Applicant before: Yingren Technology (Shanghai) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |