900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 选择性连接到非易失性存储器的数据存储设备的制作方法

选择性连接到非易失性存储器的数据存储设备的制作方法

时间:2023-07-16 10:12:52

相关推荐

选择性连接到非易失性存储器的数据存储设备的制作方法

本申请的领域涉及通过选择性接口和相关方法支持不同的高速非易失性存储器接口。

背景技术:

在高性能计算机系统中,存在不同类型的高速非易失性存储器接口,诸如用于NAND存储器设备的NAND(toggle或ONFI)接口,以及用于3D XPoint存储器设备的3D XPoint接口。由于这些接口的高速特性,可以使用硬宏(hard macro)方法来实现物理层(PHY)以与这些类型的接口中的每一个进行交互。计算机系统可以支持NAND或3D XPoint,具体取决于成本、性能和市场要求,但不能同时支持两者。

本文描述了新的存储设备,包含利用单个PHY支持不同非易失性存储器的能力的系统,以及相关的操作方法。

技术实现要素:

一种装置,包括:第一存储器控制器,对应于第一类型的非易失性存储器设备;第二存储器控制器,对应于第二类型的非易失性存储器设备,其中第二类型的非易失性存储器设备与第一类型的非易失性存储器设备不同;PHY接口;以及耦合到PHY接口的接口控制器,用于控制PHY接口的信号传输;其中PHY接口是可选择性配置的或者是用户配置的,以允许 PHY接口与属于第一类型、第二类型或两者的一个或多个存储器设备通信。

可选地,所述PHY接口包括引脚,所述引脚是可选择性分配的或被选择性地分配以作为所述第一类型的非易失性存储器设备或所述第二类型的非易失性存储器设备的专用引脚类型操作。

可选地,所述PHY接口包括寄存器,所述寄存器被配置为允许对所述 PHY接口的引脚的功能进行编程。

可选地,所述接口控制器被配置为基于所述PHY接口的引脚被配置的方式来控制所述PHY接口的信号传输。

可选地,所述装置还包括耦合到所述接口控制器的开关或多路复用器,其中所述接口控制器被配置为控制所述开关或所述多路复用器。

可选地,所述第一类型的非易失性存储器设备是NAND存储器设备。

可选地,所述第二类型的非易失性存储器设备是3D XPoint存储器设备。

可选地,所述PHY接口包括可选择性地配置的或被配置的多个通道。

可选地,所述第一存储器控制器,所述第二存储器控制器和所述PHY接口被集成到集成电路(IC)芯片中。

可选地,所述一个或多个存储器设备包括3D XPoint存储器设备、NAND 存储器设备,或两者。

一种系统,包括上述装置,以及一个或多个存储器设备。

可选地,所述一个或多个存储器设备包括3D XPoint存储器设备和/或 NAND存储器设备。

可选地,一个或多个存储器设备经由电连接(例如,键合或凸起)连接到PHY接口。电连接不必限于键合或凸起,并且可以使用其他类型的电连接来实现。在其他实施例中,可以使用机械连接器来实现电连接,该机械连接器允许存储器设备可拆卸地耦合到PHY接口。

一种装置,包括:第一存储器控制器,对应于第一类型的非易失性存储器设备;第二存储器控制器,对应于第二类型的非易失性存储器设备,其中第二类型的非易失性存储器设备与第一类型的非易失性存储器设备不同;PHY接口;以及耦合到PHY接口的接口控制器,用于控制PHY接口的信号传输;其中,所述接口控制器被配置为基于用户配置所述PHY接口的引脚的方式来控制所述PHY接口的信号传输。

可选地,所述PHY接口包括引脚,所述引脚是可选择性分配的或被选择性地分配以作为所述第一类型的非易失性存储器设备或所述第二类型的非易失性存储器设备的专用引脚类型操作。

可选地,所述PHY接口包括寄存器,所述寄存器被配置为允许对所述 PHY接口的引脚的功能进行编程。

可选地,所述装置还包括耦合到所述接口控制器的开关或多路复用器,其中所述接口控制器被配置为控制所述开关或所述多路复用器。

可选地,所述第一类型的非易失性存储器设备是NAND存储器设备。

可选地,所述第二类型的非易失性存储器设备是3D XPoint存储器设备。

可选地,所述PHY接口包括可选择性地配置的或被配置的多个通道。

可选地,所述第一存储器控制器,所述第二存储器控制器和所述PHY接口被集成到集成电路(IC)芯片中。

可选地,所述PHY接口的引脚由用户配置为与一个或多个存储器设备通信。

可选地,所述一个或多个存储器设备包括3D XPoint存储器设备和/或 NAND存储器设备。

一种系统,包括上述装置,以及一个或多个存储器设备。

可选地,所述一个或多个存储器设备包括3D XPoint存储器设备、NAND 存储器设备、或两者。

可选地,一个或多个存储器设备经由电连接连接到PHY接口。

一种装置执行的方法,包括:从存储器控制器接收电信号;确定所述电信号的信号类型;确定所述装置的物理层(PHY)接口的一个或多个引脚,所述引脚被分配为基于所确定的信号类型接收所述电信号;以及将所述电信号传递给所述PHY接口的一个或多个引脚。

可选地,所述电信号包括读命令或写命令。

可选地,确定所述一个或多个引脚的动作包括确定与所述PHY接口相关联的通道,所述通道被分配以实现用于存储器设备的特定类型的引脚功能,其中一个或多个引脚属于所述通道。

可选地,所述电信号用于与非易失性存储器设备通信。

可选地,所述非易失性存储器设备包括NAND存储器设备或3D XPoint 存储器设备。

通过阅读以下详细描述,其他和进一步的方面和特征将是显而易见的。

附图说明

附图示出了实施例的设计和效用,其中类似的元件由共同的附图标记表示。这些附图不一定按比例绘制。为了更好地理解如何获得上述和其他优点和目的,将呈现实施例的更具体的描述,其在附图中示出。这些附图仅描绘了示例性实施例,因此不应认为是对权利要求范围的限制。

图1示出了具有可配置PHY接口的装置,用于与一种或多种类型的存储器设备进行选择性通信。

图2A示出了具有用于不同类型的存储器设备的不同PHY接口的系统。

图2B示出了图2A的系统,特别示出了专门配置为仅与NAND存储器设备通信的系统。

图2C示出了图2A的系统,特别示出了专门配置为仅与3D XPoint存储器设备通信的系统。

图3A示出了图1的系统,特别示出了与NAND存储器设备一起使用的系统。

图3B示出了图1的系统,特别示出了与3D XPoint存储器设备一起使用的系统。

图3C示出了图1的系统,特别示出了与NAND存储器设备和3D XPoint 存储器设备一起使用的系统。

图4示出了NAND存储器设备的引脚配置的示例,以及3D XPoint存储器设备的引脚配置的示例。

图5示出了通道和子通道的概念。

图6示出了由图1的装置执行的方法。

图7示出了包括图1的装置的专用处理系统的示例。

具体实施方式

在下文中参考附图描述了各种实施例。应该注意的是,附图未按比例绘制,并且在所有附图中相似结构或功能的元件由相同的附图标记表示。还应注意,附图仅旨在便于实施例的描述。它们不是对本发明的详尽描述或对本发明范围的限制。另外,所示实施例不需要具有所示的所有方面或优点。结合特定实施例描述的方面或优点不必限于该实施例,并且即使没有如此示出,或者如果没有如此明确地描述,也可以在任何其他实施例中实践。

图1示出了被配置为用作允许产品(包含装置120)与一种或多种类型的存储器设备通信的接口的装置120。如图所示,装置120包括NAND存储器控制器122,3D XPoint存储器控制器124,多路复用器(Mux)126,物理层(PHY)接口128和接口控制器130。装置120可以经由相应的NAND 存储器接口140选择性地连接(如图中的虚线箭头所示)到一个或多个 NAND存储器设备142,和/或经由相应的3D XPoint存储器接口150连接到一个或多个3D XPoint存储器设备152。PHY接口128可选择性地配置为允许NAND存储器控制器122和NAND存储器设备142彼此通信,和/或允许 3D XPoint存储器控制器124和3D XPoint存储器设备彼此通信。

接口控制器130被配置为基于由设备120的用户配置的PHY接口128的配置来操作复用器126和/或PHY接口128。例如,如果用户将NAND存储器设备142连接到PHY接口128的某些引脚,并且分配这样的引脚以与 NAND存储器设备142通信,则接口控制器130可以基于这样的引脚分配操作多路复用器126和/或PHY接口128,使得NAND存储器控制器122和 NAND存储器设备142可以彼此通信。作为另一示例,如果用户将3D XPoint存储器设备152连接到PHY接口128的某些引脚,并且分配这样的引脚以与3D XPoint存储器设备152通信,则接口控制器130可以操作多路复用器126和/或基于这种引脚分配的PHY接口128,使得3D XPoint存储器控制器124和3D XPoint存储器设备152可以彼此通信。如在本说明书中所使用的,术语“引脚”是指用于进行连接的任何电气部件,例如接触件、垫等,并且可以具有任何形状和形式。因此,术语“引脚”不必限于形状为细长的电气部件。

应当注意,在本说明书中使用的术语“用户”不一定限于最终用户,并且可以指代制造、处理、提供、操作等,装置120的任何实体(例如,人,公司,组织等)。在一个示例中,用户可以是获取装置120的制造商,并且选择性地将装置120连接到一种或多种类型的存储器设备,以用于制造产品或产品的组件。

在一个实现中,装置120可以是片上系统(SOC)。SOC可以将复杂的系统集成到单个芯片中,与传统的板级设计相比,可以实现更低的功耗,更低的成本和更高的速度。而且,在一些实施例中,装置120可以在单个管芯上实现。在其他实施例中,装置120可以使用其他技术来实现,并且可以是任何类型的集成电路。在一些实施例中,装置120可以是封装或产品 110(例如,系统级封装)的一部分,其中装置120连接到一种或多种类型的不同存储装置。在其他实施例中,装置120可以被提供为组件,使得装置120的用户可以选择性地将装置120合并为系统设计的组件。

在图示的实施例中,如图1所示,装置120具有两种类型的存储器控制器。在其他实施例中,装置120可以具有两种以上类型的存储器控制器,用于允许装置120可选择性地配置为支持三种以上类型的存储器装置。存储器控制器122/124便于存储器模块的访问。存储器控制器122/124 将大量信号发送到存储器,包括地址信号、控制信号、时钟信号等,以从存储器访问数据或将数据发送到存储器。此外,存储器控制器还将简单的读取和写入请求转换为存储器接口所需的复杂命令系列。在一些实施例中,存储器控制器122/124可以在SOC 120上的若干功能块之间进行仲裁和优先级排序,其争用对片外存储器设备142和152的访问。存储器设备可以包括诸如NAND存储器设备142的闪存类型非易失性存储器设备,或诸如3D XPoint存储器设备152的其他类型的非易失性存储器。

NAND存储器控制器122通过经由NAND接口140处理SOC 120和NAND 存储器设备142之间的数据事务来提供访问NAND存储器设备142的接口。NAND存储器控制器122被配置为执行各种功能,这些功能可以包括逻辑到物理地址转换,纠错编码,坏块管理,多个NAND存储器设备的管理,与主机系统的通信以及其他功能。NAND存储器控制器122在功能上位于NAND存储器设备142和主机之间,使得主机可以通过NAND存储器控制器122访问NAND存储器设备142。NAND存储器控制器122可以形成为专用芯片,被设计为执行特定存储器系统中所需的特定功能的专用集成电路。

类似地,3D XPoint存储器控制器124提供用于经由3D XPoint接口150 访问3D XPoint存储器设备152的接口。3D XPoint存储设备使用具有动态随机存取存储器(DRAM)支持的双倍数据速率(DDR)接口。3D XPoint存储器控制器124在功能上位于3D XPoint存储器设备152和主机之间,使得主机通过3D XPoint存储器控制器124访问3D XPoint存储器设备152。3D XPoint存储器控制器124可以形成为专用芯片,被设计为执行特定存储器系统中所需的特定功能的专用集成电路。

PHY接口128是存储器设备和与这些存储器设备通信的系统之间的物理接口。在一些情况下,PHY接口128可以是开放系统互连(OSI)模型的物理层,其涉及实现物理层功能所涉及的电路和/或编码。在一些实施例中,PHY接口128可以包括物理编码子层和物理介质依赖层功能。如所讨论的, PHY接口128可选择性地配置为支持NAND存储器设备和/或3D XPoint存储器设备。PHY接口128可以灵活地配置为支持NAND和3D XPoint存储器接口的不同引脚数和布置。这样,PHY接口128的每个引脚可以通过引脚分配支持多个协议,并且可以被分配为用于所选类型的存储器设备的任何功能引脚。此外,PHY接口128可以被设计为使得其可以在服务两个存储器接口协议(例如,1.8V和1.2V的NAND和1.2V的3D XPoint)所需的所有不同电压范围内操作。在一些实施例中,用于诸如串行器/解串器、输出相位对准控制、输入采样方案、不同驱动器/接收器控制等的不同协议的支持逻辑可被设计到PHY接口128中,并且可以根据不同的寄存器设置而选择。

在一些实施例中,PHY接口128的配置可以涉及接口控制器130。在一些情况下,接口控制器130可以包括用作存储命令的锁存器的寄存器。接口控制器130还可以被配置为处理用于执行命令的地址和数据信息。在使用期间,可以使用接口控制器130对PHY接口128的配置进行编程。例如,接口控制器130可以将PHY接口128配置为第一模式以允许PHY接口 128与NAND存储器设备142的NAND存储器接口140通信,第二模式以允许PHY接口128与3D XPoint存储器设备152的3D XPoint存储器接口150 通信,或第三模式以允许PHY接口128与NAND存储器接口140和3D XPoint存储器接口150两者通信。基于所选择的模式,接口控制器130操作多路复用器126以允许与NAND存储器控制器122、3D XPoint存储器控制器124或两者进行通信。

而且,在一些实施例中,PHY接口128的配置可以包括将PHY接口128 的通用引脚分配为专用于某种类型的存储器设备的功能引脚。在某些情况下,引脚分配可以通过定义通道和/或子通道来完成,每个子通道具有一定数量的引脚。然后可以分配子通道以实现专用于存储器设备的特定引脚功能。在一些实施例中,通道和子通道的定义以及通道和引脚的分配可以存储在与接口控制器130相关联的介质中。在使用期间,接口控制器130操作多路复用器126和PHY 128以基于通道和引脚分配传递信号,该信号在存储器控制器(例如,NAND存储器控制器122,3D XPoint存储器控制器124 等)与存储器设备(例如,NAND存储器设备142,3D XPoint存储器设备 152等)之间传输。例如,如果PHY接口128的子通道6中的引脚号4被分配为NAND存储器设备的数据引脚,则当在NAND存储器控制器122和 NAND存储器接口140之间传输数据时,接口控制器130将操作多路复用器 126和PHY接口128,以使数据通过PHY接口128的子通道6中的引脚号4 发送。

图1的设备120具有支持多种类型的存储器设备的PHY接口128,比使用支持单独类型的存储器设备的单独PHY的设计更有利。作为比较的例子,图2A示出了被配置为使用两个不同且分离的PHY接口224、228的支持多种类型的存储器接口的系统。如图2所示,系统可以通过使用在SOC 220上并列配置的NAND存储器控制器222和3D XPoint存储器控制器226 来支持两种不同类型的非易失性存储器设备——例如,NAND存储器设备 242和3D XPoint存储器设备252。在该配置中,对于相应的不同类型的存储器设备存在两个不同且独立的PHY接口224和228。PHY接口224具有用于与NAND存储器设备242通信的相应通道。类似地,PHY接口228具有用于与3D XPoint存储器设备252通信的相应通道。

图2A的系统的一个缺点是实现最终产品需要不同的封装和键合 (bonding)选项。如上所述,由于NAND和3D XPoint接口的高速特性,硬宏(hard macro)可以用于与这些存储器设备相关联的PHY接口。计算机系统可能仅需要支持NAND存储器设备或3D XPoint存储器设备,而不是两种类型的存储器设备。这样,为了降低开发和制造成本,计算机系统可以仅具有用于NAND存储器设备的少量PHY接口,并且仅具有用于3D XPoint存储器设备的少量PHY接口。

图2A的系统可以与NAND存储器设备242一起使用。图2B示出了这样的示例。如图所示,最终产品220已经被具体配置为仅支持NAND存储器设备242。因此,3D XPoint PHY接口228没有向外键合(bonding out)。因此,在该示例中浪费了3D XPoint控制器226和3D Xpoint PHY接口228的布局空间。此外,因为需要增加管芯尺寸以适应任何未被使用的PHY/IO管芯区域(例如,在所示的例子中与3D XPoint控制器226和3D XPoint PHY接口 228相关的那些管芯区域),具有两种不同类型的PHY接口224、228使其非常昂贵,。

类似地,图2A的系统可以与3D XPoint存储器设备252一起使用。图2C 示出了这样的例子。如图所示,最终产品220已经被专门配置为仅支持3D XPoint存储器设备252。因此,NAND PHY接口224没有向外键合。因此,在该示例中浪费了NAND控制器222和NAND PHY接口224的布局空间。此外,因为需要增加管芯尺寸以适应任何未被使用的PHY/IO管芯区域(例如,在所示的例子中与NAND控制器222和NAND PHY接口224相关的那些管芯区域),具有两种不同类型的PHY接口224、228使其非常昂贵,。

回到图1,系统110可以选择性地与NAND存储器设备、3D XPoint存储器设备、或两者一起使用。图1的系统110与图2b-2C的系统220相比是有利的,因为无论最终产品如何配置,将使用相同的PHY接口,并且不浪费与PHY接口的实现相关的布局空间。

例如,图1的系统可以选择性地与NAND存储器设备142一起使用。图 3A示出了这样的示例。如图所示,产品110具体配置为与NAND存储器设备142通信。接口控制器130配置PHY接口128(例如,通过寄存器),使得它与NAND存储器设备142兼容。接口控制器130还控制多路复用器126 以选择NAND存储器控制器122用于控制NAND存储器设备142。在一些实施例中,PHY接口128通过接口控制器130中的寄存器选择性地配置,使得 NAND存储器控制器122可以经由多路复用器126和PHY接口128与NAND 存储器设备142通信。在其他实施例中,作为使用多路复用器126的替代,系统可以使用选择性操作的开关来将NAND存储器控制器122和/或3D XPoint存储器控制器124与PHY接口128连接。如示例中所示,因为PHY 接口128可选择性地配置为支持多种类型的存储器设备,所以无论选择哪种类型的存储器设备用于系统,都会使用它,并且不浪费与PHY接口128 的实现相关的布局空间。

类似地,图1的系统可以选择性地与3D XPoint存储器设备152一起使用。图3B示出了这样的示例。如图所示,产品110具体被配置为与3D XPoint存储器设备152通信。接口控制器130配置PHY接口128(例如,通过寄存器),使得它与3D XPoint存储器设备152兼容。接口控制器130 还控制多路复用器126以选择3D XPoint存储器控制器124用于控制3D XPoint存储器设备152。在一些实施例中,PHY接口128通过接口控制器 130中的寄存器选择性地配置,使得3D XPoint存储器控制器124可以经由多路复用器126和PHY接口128与3D XPoint存储器设备152通信。在其他实施例中,作为使用多路复用器126的替代,系统可以使用选择性操作的开关来将NAND存储器控制器122和/或3D XPoint存储器控制器124与PHY 接口128连接。如示例中所示,因为PHY接口128可选择性地配置为支持多种类型的存储器设备,所以无论选择哪种类型的存储器设备用于系统,都会使用它,并且不浪费与PHY接口128的实现相关的布局空间。

图1的系统也可以选择性地与NAND存储器设备142和3D XPoint存储器设备152一起使用。图3C示出了这样的示例。如图所示,产品110具体配置为与NAND存储器设备142和3D XPoint存储器设备152两者通信。接口控制器130配置PHY接口128(例如,通过寄存器),使得它与NAND存储器设备142和3D XPoint存储器设备152兼容。接口控制器130还控制多路复用器126以选择NAND存储器控制器122和3D XPoint存储器控制器 124,以分别控制NAND存储器设备142和3D XPoint存储器设备152。在一些实施例中,PHY接口128通过接口控制器130中的寄存器选择性地配置,使得NAND存储器控制器122可以与NAND存储器设备142通信,并且使得3D XPoint存储器控制器124可以经由多路复用器126和PHY接口128与 3D XPoint存储器设备152通信。在其他实施例中,作为使用多路复用器 126的替代,系统可以使用选择性操作的开关来将NAND存储器控制器122 和/或3D XPoint存储器控制器124与PHY接口128连接。如示例中所示,因为PHY接口128可选择性地配置为支持多种类型的存储器设备,所以系统不需要具有用于分别不同类型的存储器设备的单独的PHY接口。

如图3A-3C所示,通过使用可选择性配置以支持一种类型或多种类型的存储器设备的PHY接口128,可以显着降低IO引脚成本,因为几乎所有IO 都可以用于给定产品。因此,不同键合选项的间接成本也降低了。应注意,用于将存储器装置连接到PHY接口128的电连接不限于键合。在其他实施例中,电连接可以是任何类型的永久连接,例如凸起,或者可以是任何类型的非永久连接(诸如允许存储器设备可拆卸地耦合到PHY接口128 的机械连接器)。

应注意,不同类型的存储器装置可能需要不同类型的引脚配置。图4示出了NAND存储器设备的引脚配置的示例401,以及3D XPoint存储器设备的引脚配置的示例403。应当注意,示例401仅示出了用于NAND存储器设备的所有引脚的子集,并且NAND存储器设备可以具有额外的引脚和引脚配置。类似地,应该注意,示例403仅示出了用于3D XPoint存储器设备的所有引脚的一个子集,并且3D XPoint存储设备可能具有额外的引脚和引脚配置。

在一些情况下,NAND存储器设备可能需要24个硬件引脚。具体地, NAND存储器接口可以包含一组硬件I/O引脚和地址/命令引脚(例如, ALE,CLE等),例如以下:

可以通过发出命令周期来启动NAND闪存操作。这是通过在I/O[7:0]上发出命令,驱动CE#LOW和CLE HIGH,然后发出WE#时钟来实现的。命令、地址和数据在WE#的上升沿被输入NAND存储器设备。典型命令需要多个地址周期,然后是第二个命令周期。除RESET和READ STATUS命令外,设备繁忙时不应发出新命令。对于NAND存储器接口,通过地址/命令引脚发送命令,然后通过I/O引脚发送地址,通过I/O引脚发送数据。这些命令的序列在图4的示例401中示出。除I/O总线外,NAND存储器接口可以有六个主要控制信号,如下所示(信号后的#符号表示信号被断言为低电平:

在一些实施例中,PHY接口128可以配置有多个通道和子通道,用于实现NAND存储器设备的不同类型的引脚。特别地,可以选择性地配置PHY 接口128的引脚,从而为各个通道和/或子通道分配多组引脚。例如,PHY 接口128的引脚可以被分组,使得每20个引脚形成NAND存储器设备的通道。每个通道中的引脚也可以细分为子通道。例如,20个引脚的通道可以分成2个子通道,每个通道有10个引脚。然后,可以为NAND存储器设备的不同类型的引脚分配被定义的通道和/或子通道。例如,可以分配一个通道或子通道中的引脚用作ALE引脚,并且可以分配另一通道或子通道中的引脚用作CLE引脚。作为另一示例,可以分配通道或子通道中的引脚用作数据引脚。通常,可以使用与PHY接口128相关联的通道或子通道中的引脚来实现上述用于NAND存储器设备的任何类型的引脚。在某些情况下, NAND存储器设备可以具有至少4个通道,但是也可以根据应用扩展到8、 16、32等通道。例如,用于移动设备的NAND应用可能需要4个通道。在这种情况下,可以为PHY接口128配置4个子通道以满足4通道要求。

类似地,3D XPoint存储器接口可以包含一组数据引脚(DQ,DQS)和地址/命令引脚(例如,Add,CTRL,WE等),例如以下:

还可以通过发出命令周期来启动3D XPoint操作。对于3D XPoint存储器接口,可以通过地址/命令引脚发送命令,然后通过数据引脚发送地址,然后通过其他数据引脚发送数据。这些命令的序列在图4的示例403中示出。

如类似地讨论的,在一些实施例中,PHY接口128可以配置有多个通道和子通道,用于实现3D XPoint存储器设备的不同类型的引脚。特别地,可以选择性地配置PHY接口128的引脚,以便为各个通道分配多组引脚。对于3D XPoint存储器设备将引脚分组为的通道和子通道的概念,类似于对于 NAND存储器设将引脚分组为的通道和子通道的概念。然而,主要区别在于单个3D XPoint通道的带宽可以是单个NAND通道的带宽的两倍。这意味着虽然NAND通道可能具有20个引脚(作为示例),但3D XPoint通道可能具有40个引脚(作为示例)。例如,PHY接口128的引脚可以被分组,使得每 40个引脚形成用于3D XPoint存储器设备的通道。每个通道中的引脚也可以细分为子通道。例如,40个引脚的通道可以分成2个子通道,每个通道有 20个引脚。然后可以为3D XPoint存储器设备分配被定义的通道和/或子通道用于不同类型的引脚。例如,通道或子通道中的引脚可以被分配用作地址(ADD)引脚,而另一个通道或子通道中的引脚可以被分配用作WE引脚。作为另一示例,可以分配通道或子通道中的引脚以用作数据引脚。通常,可以使用与PHY接口128相关联的通道或子通道中的引脚来实现上述 3D XPoint存储器设备的任何类型的引脚。

如所讨论的,装置120的PHY接口128可以被配置为支持多种类型的存储器设备,诸如NAND存储器设备和3D XPoint存储器设备。因此,在一些情况下,PHY接口128的通道和/或子通道的一个子集可以被分配给一个或多个NAND存储器设备,而PHY接口128的通道和/或子通道的另一个子集可以被分配给一个或多个3D XPoint存储器设备。该特征可能是有利的,因为它允许NAND和3D XPoint存储器出于性能或应用的原因而共存。在一些实施例中,可以静态地或动态地执行将通道划分为NAND通道和3D XPoint 通道。

在一些实施例中,装置120的用户可以通过在处理器上执行的应用来配置PHY接口128的引脚(处理器可以耦合到接口控制器130,耦合到PHY 接口128,和/或允许用户配置PHY接口128的输入端口)。例如,应用程序可以提供用户界面(用于在屏幕上显示),并且可以从用户接收输入,使得用户可以选择性地定义通道和/或子通道,并且可以选择性地将引脚分配给不同的通道和/或子通道。在一些情况下,关于所分配的引脚的数据可以存储在装置120中的介质中。在操作期间,基于由用户分配的PHY接口128 的引脚配置,接口控制器130可以控制多路复用器126和PHY接口128,使得NAND存储器控制器122可以与NAND存储器设备142适当地通信,和/或3D XPoint存储器控制器124可以与3D XPoint存储器设备152适当地通信。例如,在操作期间,接口控制器130可以基于介质中的关于分配引脚的数据来操作多路复用器126和/或PHY接口128。而且,可以基于存储在介质中的关于分配引脚的数据来处理来自NAND存储器控制器122和/或 3D XPoint存储器控制器124的控制信号,使得控制信号可以传递到正确的分配引脚。类似地,基于存储在介质中的数据,来自NAND存储器设备142 和/或3D XPoint存储器设备152的数据被传输到某些被分配的引脚,以及,基于由存储在装置120的存储器中的数据所指示的引脚分配,NAND存储器控制器122和/或3DXPoint存储器控制器124识别出数据是分别从NAND存储器设备142和/或3D XPoint存储器设备152发送的。

正如所讨论的,PHY接口128的引脚是通用引脚,其可以被选择性地配置(例如,编程)以基于存储器设备的类型而用作特定类型的引脚。例如,PHY接口128的其他通用引脚可以被编程为数据引脚、DQ/DQS引脚、地址引脚、ALE引脚、WE引脚等。在一些实施例中,特定存储器设备的通道和引脚的分配可以存储在介质中。在一些情况下,可以创建映射,该映射基于那些引脚和/或通道的功能性目的来映射引脚和/或通道分配。并且,在一些实施例中,可以创建映射以将一种类型的存储器设备(例如,NAND 存储器设备)的命令引脚映射到另一种类型的存储器设备(例如,3D XPoint存储器设备)的命令引脚。在进一步的实施例中,可以创建映射以将一种类型的存储器设备(例如,NAND存储器设备)的数据引脚映射到另一种类型的存储器设备(例如,3D XPoint存储器设备)的数据引脚。

如所讨论的,PHY接口128的引脚的配置可以涉及为一个或多个引脚组定义通道和子通道,然后将不同通道和/或子通道中的引脚分配为某些功能引脚,该功能引脚对于与装置120结合的存储器装置来说是特定的。在一些情况下,为了支持特定应用的足够带宽,可以定义至少2个通道,并且可以扩展为4个子通道。在其他实施例中,可以定义4个通道,并且可以扩展为8个子通道。计算系统可能需要8个通道用于与存储器设备通信。诸如移动设备之类的较小设备可能需要4个通道来与存储设备通信。而且,对于给定的通道,不同的应用可能需要不同数量的引脚。例如,NAND 通道可能需要23个引脚。作为另一个示例,3D XPoint通道可能需要40个引脚。在其他实施例中,每个通道和/或子通道的引脚数可以任意定义。图 5示出了通道和子通道的概念。如图所示,对于NAND存储器件,可以定义 4个通道(Ch0-Ch3),每个通道具有20个引脚。4个通道可以进一步划分为8个子通道。可以采用每个子通道中的一个或多个引脚来实现NAND存储器件的操作所需的一种引脚。类似地,对于3D XPoint存储器设备,可以定义2个通道(Ch0-Ch1),每个通道具有40个引脚。2个通道可以进一步划分为4个子通道。可以采用每个子通道中的一个或多个引脚来实现3D XPoint存储器设备的操作所需的一种类型的引脚。例如,每个子通道可以选择性地配置用于I/O引脚、ADD/CMD引脚等。如果每个子通道有10个引脚,则可以分配一个子通道的10个引脚来实现ADD/CMD引脚,并且可以分配另一个子通道的另外10个引脚来实现数据I/O引脚。注意,并非所有子通道中的引脚都可以使用,并且在某些情况下,子通道中仅仅被分配的引脚的一个子集可用于实现特定类型的引脚。如图所示,3D XPoint通道比 NAND通道宽,因为它们需要更多引脚。

如在上面的示例中参考图5所讨论的那样,用户可以将所有8个子通道配置为4个NAND通道(例如,每个20个引脚的4个通道)作为利用子通道的一种方式。而且,如所讨论的,在利用子通道的另一种方式中,用户可以配置所有8个子信道以支持2个3D XPoint通道,因为单个3D XPoint 通道(例如,40个引脚)可能需要至少4个子通道,每个子通道10个引脚。作为利用子通道的第三种方式,最终用户可以配置前4个子通道(例如,每个子通道40个引脚)以支持2个NAND通道(例如,2个通道,每个通道20个引脚),以及配置后4个子通道以支持1个3D XPoint的通道(例如,1个40个引脚的通道)。作为又一示例,如果存在6个子通道,则用户可以将前2个子通道配置为NAND通道,并将剩余的4个子通道配置为3D XPoint通道。或者,用户可以将前4个子通道配置为3D XPoint通道,并将最后2个子通道配置为NAND通道。因此,存在许多配置通道和子通道的方式,并且可以选择性地配置任何通道和子通道以用作特定类型的存储器设备的存储器设备通道。

在上述实施例中,每个通道和子通道的大小彼此相同。在其他实施例中,可以定义具有不同大小的通道,和/或可以定义具有不同大小的子通道。例如,可以为第一类型的存储器设备定义具有第一尺寸的第一组子通道,并且可以为第二类型的存储器设备定义具有第二尺寸(不同于第一尺寸)的第二组子通道。作为另一示例,可以定义具有第一尺寸的第一子通道以实现用于存储器设备的第一类型的引脚,并且可以定义具有第二尺寸 (不同于第一尺寸)的第二子通道以实现用于同一存储器件的第二种引脚。而且,在一些实施例中,如果存在相同类型的多个存储器设备,则可以将一个存储器设备的通道和引脚分配复制到其他相同类型的存储器设备。

应注意,在一些实施例中,“子通道”本身可被视为通道。

图6示出了由装置(例如图1的装置120)执行的方法600。方法600 包括:从存储器控制器接收电信号(步骤602);确定所述电信号的信号类型(步骤604);确定所述装置的物理层(PHY)接口的一个或多个引脚,所述引脚被分配为基于所确定的信号类型接收所述电信号(步骤606);以及将电信号传递给PHY接口的一个或多个引脚(步骤608)。在一些实施例中,存储器控制器可以是NAND存储器控制器122。在其他实施例中,存储器控制器可以是3D XPoint存储器控制器124。而且,在一些实施例中,从存储器控制器接收电信号的动作可以由PHY接口和/或接口控制器(例如,接口控制器130)执行。另外,在一些实施例中,确定PHY接口的一个或多个引脚的动作可以由接口控制器和/或PHY接口中的组件来执行。此外,在一些实施例中,将电信号传递到PHY接口的一个或多个引脚的动作可以由接口控制器、PHY接口中的组件、多路复用器、开关或其任意组合来执行。

在一些实施例中,关于方法600,电信号包括读取命令或写入命令。

在一些实施例中,关于方法600,确定一个或多个引脚的动作包括确定与PHY接口相关联的通道,该通道被分配以实现用于存储器设备的特定类型的引脚功能,其中一个或多个引脚属于该通道。

在一些实施例中,关于方法600,电信号用于与非易失性存储器设备通信。

在一些实施例中,关于方法600,非易失性存储器设备包括NAND存储器设备或3D XPoint存储器设备。

这里描述的装置120是有利的,因为它可以在支持多种类型的存储器设备的同时显著减少IO引脚数。这在IO有限的设计中尤为重要,例如包含 SSD的产品。

PHY接口128的选择性可配置特征也优于提供额外的存储器设备特定 PHY接口的技术。如果将额外的专用于器件的PHY接口添加到同一硅片管芯中以支持不同类型的存储器接口,并且如果某些额外的PHY接口最终未被使用,那么大量的管芯面积和引脚可能会被浪费。因为需要增加管芯尺寸以适应未使用的PHY/IO管芯区域,这种方法也会过于昂贵。此外,对于输入/输出(IO)有限设计(例如通常具有高引脚数的固态驱动器(SSD)产品)而言,包括在不使用时占用芯片面积的额外PHY接口的成本特别高。另一方面,PHY接口128将不被使用,因为无论与装置120一起使用何种类型的存储器装置,或者无论与装置120一起使用何种组合的存储器装置,总是使用相同的PHY接口128来连接内存设备。

应当注意,可以用于装置120的存储器设备的类型不限于NAND存储器设备和3D XPoint存储器设备,并且该装置可以使用其他类型的存储器设备,例如任何类型的硬盘驱动器(HDD),任何类型的固态驱动器(SSD)或其他类型的非易失性存储器(例如MRAM,ReRAM,PC RAM,FeRAM 等)。

专用处理系统

图7是说明可包括本文中所描述的任何特征的专用处理系统1600的实施例的框图。例如,处理系统1600可以包括这里描述的装置120。

参见图7,处理系统1600包括总线1602或用于传递信息的其他通信机制,以及与总线1602耦合以处理信息的处理器1604。处理器系统1600还包括主存储器1606,例如随机存取存储器(RAM)或其他动态存储设备,该主存储器耦合到总线1602,用于存储由处理器1604执行的信息和指令。主存储器1606还可以用于在处理器1604执行指令期间存储临时变量或其他中间信息。处理器系统1600还包括只读存储器(ROM)1608或耦合到总线1602的其他静态存储设备,用于存储处理器1604的静态信息和指令。数据存储设备1610,例如磁盘或光盘,被提供并耦合到总线1602,以存储信息和指令。

在一些实施例中,存储设备可以是NAND存储器设备,3D XPoint存储器设备,或NAND存储器设备和3D XPoint存储器设备的组合。在其他实施例中,存储设备可以是任何其他类型的存储器设备。

处理器系统1600可以经由总线1602耦合到显示器1612,例如阴极射线管(CRT),用于向用户显示信息。包括字母数字键和其他键的输入设备 1614被耦合到总线1602,用于将信息和命令选择传送到处理器1604。另一种类型的用户输入设备是光标控制1616,例如鼠标,轨迹球或光标方向键,用于将方向信息和命令选择传送到处理器1604并用于控制显示器1612 上的光标移动。该输入设备通常在两个轴上具有两个自由度,第一轴(例如,x)和第二轴(例如,y),其允许该设备在平面中指定位置。

在一些实施例中,处理器系统1600可用于执行本文描述的各种功能。根据一些实施例,响应于处理器1604执行包含在主存储器1606中的一个或多个指令的一个或多个序列,处理器系统1600提供这种用法。本领域技术人员将知道如何基于本文描述的功能和方法来准备这样的指令。这些指令可以从另一个处理器可读介质(例如存储设备1610)读入主存储器 1606。包含在主存储器1606中的指令序列的执行使处理器1604执行这里描述的处理步骤。还可以采用多处理布置中的一个或多个处理器来执行包含在主存储器1606中的指令序列。在替代实施例中,可以使用硬连线电路代替软件指令或与软件指令组合以实现本文描述的各种实施例。因此,实施例不限于硬件电路和软件的任何特定组合。

这里使用的术语“处理器可读介质”是指参与向处理器1604提供指令以供执行的任何介质。这种介质可以采用许多形式,包括但不限于非易失性介质,易失性介质和传输介质。非易失性介质包括例如光盘或磁盘,例如存储设备1610。非易失性介质(non-volatile medium)可以被认为是非暂时性介质(non-transitory medium)的示例。易失性介质包括动态存储器,例如主存储器1606。易失性介质可以被认为是非暂时性介质的示例。传输介质包括同轴电缆、铜线和光纤等,包括构成总线1602的导线。传输介质也可以采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的声波或光波。

处理器可读介质的常见形式包括,例如,软磁盘(floppy disk),软盘

(flexible disk),硬盘,磁带或任何其他磁介质,CDROM,任何其他光学介质,穿孔卡,纸带,任何具有孔图案的其他物理介质,RAM,PROM和 EPROM,FLASH-EPROM,任何其他存储器芯片或盒,如下所述的载波,或处理器可从其读取的任何其他介质。

在将一个或多个指令的一个或多个序列传送到处理器1604以供执行时可以涉及各种形式的处理器可读介质。例如,指令最初可以承载于在远程计算机的磁盘。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。处理系统1600本地的调制解调器可以在电话线上接收数据并使用红外发射器将数据转换成红外信号。耦合到总线 1602的红外检测器可以接收红外信号中携带的数据并将数据放置在总线 1602上。总线1602将数据传送到主存储器1606,处理器1604从主存储器 1606检索并执行指令。主存储器1606接收的指令可以可选地在由处理器 1604执行之前或之后存储在存储设备1610上。

处理系统1600还包括耦合到总线1602的通信接口1618。通信接口 1618提供耦合到网络链路1620的双向数据通信,网络链路1620连接到本地网络1622。例如,通信接口1618可以是综合业务数字网(ISDN)卡或调制解调器,以提供与相应类型的电话线的数据通信连接。作为另一个例子,通信接口1618可以是局域网(LAN)卡,以提供与兼容LAN的数据通信连接。无线链路也可以被实现。在任何这样的实现中,通信接口1618发送和接收携带表示各种类型信息的数据流的电信号,电磁信号或光信号。

网络链路1620通常通过一个或多个网络向其他设备提供数据通信。例如,网络链路1620可以通过本地网络1622提供到计算机主机1624或设备 1626的连接。通过网络链路1620传输的数据流可以包括电信号,电磁信号或光信号。通过各种网络的信号和网络链路1620上以及通过通信接口1618 的信号(其将数据传送到处理系统1600和从处理系统1600传送数据)是传送信息的载波的示例性形式。处理系统1600可以通过网络,网络链路 1620和通信接口1618发送消息并接收包括程序代码的数据。

尽管已经示出和描述了特定实施例,但是应该理解,并不旨在将要求保护的发明限制于这些优选实施例,并且对于本领域技术人员来说显而易见的是,可以在不违背要求保护的发明的精神和范围的情况下进行各种改变和修改。因此,说明书和附图应被视为说明性的而非限制性的。要求保护的发明旨在涵盖替代,修改和等同物。

技术特征:

1.一种装置,包括:

第一存储器控制器,对应于第一类型的非易失性存储器设备;

第二存储器控制器,对应于第二类型的非易失性存储器设备,其中所述第二类型的非易失性存储器设备与所述第一类型的非易失性存储器设备不同;

物理层(PHY)接口;以及

接口控制器,耦合到所述PHY接口,用于控制所述PHY接口的信号传输;

其中,所述PHY接口是可选择性配置的或者是用户配置的,以允许所述PHY接口与一个或多个存储器设备通信,所述一个或多个存储器设备属于所述第一类型和/或所述第二类型。

2.根据权利要求1所述的装置,其中,所述PHY接口包括引脚,所述引脚是可选择性分配的或被选择性地分配以作为所述第一类型的非易失性存储器设备或所述第二类型的非易失性存储器设备的专用引脚类型操作。

3.如权利要求1所述的装置,其中,所述PHY接口包括寄存器,所述寄存器被配置为允许对所述PHY接口的引脚的功能进行编程。

4.如权利要求1所述的装置,其中,所述接口控制器被配置为基于所述PHY接口的引脚被配置的方式来控制所述PHY接口的信号传输。

5.如权利要求1所述的装置,还包括耦合到所述接口控制器的开关或多路复用器,其中所述接口控制器被配置为控制所述开关或所述多路复用器。

6.如权利要求1所述的装置,其中,所述第一类型的非易失性存储器设备是NAND存储器设备。

7.如权利要求1所述的装置,其中,所述第二类型的非易失性存储器设备是3D XPoint存储器设备。

8.根据权利要求1所述的装置,其中,所述PHY接口包括可选择性地配置的或被配置的多个通道。

9.如权利要求1所述的装置,其中,所述第一存储器控制器,所述第二存储器控制器和所述PHY接口被集成到集成电路(IC)芯片中。

10.如权利要求1所述的装置,其中,所述一个或多个存储器设备包括3D XPoint存储器设备和/或NAND存储器设备。

11.一种系统,包括如权利要求1所述的装置,以及所述一个或多个存储器设备。

12.如权利要求11所述的系统,其中,所述一个或多个存储器设备包括3D XPoint存储器设备和/或NAND存储器设备。

13.如权利要求11所述的系统,其中,所述一个或多个存储器设备经由电连接连接到所述PHY接口。

14.一种装置,包括:

第一存储器控制器,对应于第一类型的非易失性存储器设备;

第二存储器控制器,对应于第二类型的非易失性存储器设备,其中所述第二类型的非易失性存储器设备与所述第一类型的非易失性存储器设备不同;

物理层(PHY)接口;以及

接口控制器,耦合到所述PHY接口,用于控制所述PHY接口的信号传输;

其中,所述接口控制器被配置为基于用户配置所述PHY接口的引脚的方式来控制所述PHY接口的信号传输。

15.根据权利要求14所述的装置,其中,所述PHY接口包括引脚,所述引脚是可选择性分配的或被选择性地分配以作为所述第一类型的非易失性存储器设备或所述第二类型的非易失性存储器设备的专用引脚类型操作。

16.如权利要求14所述的装置,其中,所述PHY接口包括寄存器,所述寄存器被配置为允许对所述PHY接口的引脚的功能进行编程。

17.如权利要求14所述的装置,还包括耦合到所述接口控制器的开关或多路复用器,其中所述接口控制器被配置为控制所述开关或所述多路复用器。

18.如权利要求14所述的装置,其中,所述第一类型的非易失性存储器设备是NAND存储器设备。

19.如权利要求14所述的装置,其中,所述第二类型的非易失性存储器设备是3D XPoint存储器设备。

20.根据权利要求14所述的装置,其中,所述PHY接口包括可选择性地配置的或被配置的多个通道。

21.如权利要求14所述的装置,其中,所述第一存储器控制器,所述第二存储器控制器和所述PHY接口被集成到集成电路(IC)中。

22.如权利要求14所述的装置,其中,所述PHY接口的引脚由用户配置为与一个或多个存储器设备通信。

23.如权利要求22所述的装置,其中,所述一个或多个存储器设备包括3D XPoint存储器设备和/或NAND存储器设备。

24.一种系统,包括如权利要求22所述的装置,以及所述一个或多个存储器设备。

25.如权利要求24所述的系统,其中,所述一个或多个存储器设备包括3D XPoint存储器设备和/或NAND存储器设备。

26.如权利要求24所述的系统,其中,所述一个或多个存储器设备经由电连接连接到所述PHY接口。

27.一种装置执行的方法,包括:

从存储器控制器接收电信号;

确定所述电信号的信号类型;

确定所述装置的物理层(PHY)接口的一个或多个引脚,所述引脚被分配为基于所确定的信号类型接收所述电信号;以及

将所述电信号传递给所述PHY接口的一个或多个引脚。

28.如权利要求27所述的方法,其中,所述电信号包括读命令或写命令。

29.如权利要求27所述的方法,其中确定所述一个或多个引脚的动作包括确定与所述PHY接口相关联的通道,所述通道被分配以实现用于存储器设备的特定类型的引脚功能,其中一个或多个引脚属于所述通道。

30.如权利要求27所述的方法,其中,所述电信号用于与非易失性存储器设备通信。

31.如权利要求30所述的方法,其中,所述非易失性存储器设备包括NAND存储器设备或3D XPoint存储器设备。

技术总结

一种装置,包括:第一存储器控制器,对应于第一类型的非易失性存储器设备;第二存储器控制器,对应于第二类型的非易失性存储器设备,其中第二类型的非易失性存储器设备与第一类型的非易失性存储器设备不同;PHY接口;以及耦合到PHY接口的接口控制器,用于控制PHY接口的信号传输;其中PHY接口是可选择性配置的或者是用户配置的,以允许PHY接口与属于第一类型、第二类型或两者的一个或多个存储器设备通信。

技术研发人员:姜伟;陈杰;陈林;吴子宁

受保护的技术使用者:奈奎斯特半导体有限公司

技术研发日:.03.13

技术公布日:.11.12

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。