用于多端口存储类存储器接口的方法及设备与流程

文档序号:17762415发布日期:2019-05-24 21:48阅读:402来源:国知局
用于多端口存储类存储器接口的方法及设备与流程

本专利申请案主张帕沃夫斯基(pawlowski)的标题为“多端口存储类存储器接口(multi-portstorage-classmemoryinterface)”且于2018年10月26日提出申请的第16/171,831号美国专利申请案的优先权,所述第16/171,831号美国专利申请案主张帕沃夫斯基(pawlowski)的标题为“多端口存储类存储器接口(multi-portstorage-classmemoryinterface)”且于2017年11月16日提出申请的第62/587,026号美国临时专利申请案的权益且主张所述第62/587,026号美国临时专利申请案的优先权,所述第16/171,831号美国专利申请案及所述第62/587,026号美国临时专利申请案中的每一者指派给其受让人,且所述第16/171,831号美国专利申请案及所述第62/587,026号美国临时专利申请案中的每一者以全文引用方式明确地并入本文中。

技术领域是关于用于多端口存储类存储器接口的方法及设备。



背景技术:

下文一般来说涉及操作存储器子系统或系统,且更具体来说涉及多端口存储类存储器接口。

运算系统可包含存储器子系统,所述存储器子系统包括与一或多个总线耦合以管理众多电子装置(例如计算机、无线通信装置、物联网、相机、数字显示器及类似者)中的信息的各种种类的存储器装置及控制器。存储器装置广泛地用于将信息存储于此类电子装置中。通过编程存储器装置的不同状态来存储信息。举例来说,二进制装置具有两种状态,通常由逻辑“1”或逻辑“0”表示。在其它系统中,两种以上状态可存储于存储器装置中。为存取所存储信息,电子装置的组件可读取或感测存储器装置中的所存储状态。为存储信息,电子装置的组件可将状态写入或编程于存储器装置中。

存在各种类型的存储器装置,包含硬磁盘、随机存取存储器(ram)、只读存储器(rom)、动态ram(dram)、同步动态ram(sdram)、铁电ram(feram)、磁性ram(mram)、电阻式ram(rram)、快闪存储器、非and(nand)存储器、相变存储器(pcm)及其它。存储器装置可为易失性或非易失性的。非易失性存储器单元可甚至在不存在外部电源的情况下维持其所存储逻辑状态达延长时间周期。易失性存储器单元(例如,dram单元)可随着时间而失去其所存储状态,除非其由外部电源周期性地刷新。

改进运算系统可包含增强存储器子系统的性能,例如减少电力消耗、增加存储器容量、改进读取/写入速度、通过使用持久存储器媒体而提供非易失性或在特定性能点处降低制造成本以及其它度量。减少读取等待时间同时维持数据单元粒度对于改进存储器子系统可为合意的。



技术实现要素:

本发明描述一种方法。在一些实例中,所述方法可包含:从主机装置接收对存储器媒体的第一存取命令;至少部分地基于接收到所述第一存取命令而产生对所述存储器媒体的包括交错地址的第二存取命令;及将所述第二存取命令发送到位于所述存储器媒体处的本地控制器。

本发明描述一种设备。在一些实例中,所述设备可包含:至少一个主机接口,其经配置以从主机装置接收第一存取命令;多个端口管理器,其经配置以使用包括交错地址的第二存取命令存取一或多个存储器媒体;及交换机阵列,其耦合于所述至少一个主机接口与所述多个端口管理器之间,所述交换机阵列经配置以至少部分地基于所述第一存取命令而产生所述交错地址。

本发明描述一种方法。在一些实例中,所述方法可包含:识别第一存储器媒体内的第一多个区带,所述第一多个区带中的每一区带经配置以存储至少一个码字;至少部分地基于所述至少一个码字的逻辑地址而选择所述第一多个区带中的第一区带;至少部分地基于与先前存取操作相关联的参数及所述逻辑地址而确定所述至少一个码字的物理地址;及至少部分地基于所述物理地址而存取所述第一多个区带中的所述第一区带以读取或写入所述至少一个码字。

本发明描述一种设备。在一些实例中,所述设备可包含经配置以与主机装置及存储器媒体介接的控制器。在一些情形中,所述控制器可为可操作的以从所述主机装置接收对所述存储器媒体的第一存取命令,至少部分地基于接收到所述第一存取命令而产生对所述存储器媒体的包括交错地址的第二存取命令,且将所述第二存取命令发送到位于所述存储器媒体处的本地控制器。

附图说明

图1图解说明根据本发明的实例的支持多端口存储类存储器接口的运算系统的实例。

图2图解说明根据本发明的实例的支持多端口存储类存储器接口的配置有接口的运算系统的实例。

图3图解说明根据本发明的实例的支持多端口存储类存储器接口的装置的实例。

图4图解说明根据本发明的实例的支持多端口存储类存储器接口的运算系统的实例。

图5a图解说明根据本发明的实例的支持多端口存储类存储器接口的存储器子系统的实例。

图5b展示图解说明根据本发明的实例的支持多端口存储类存储器接口的耗损平均操作的图式。

图6展示根据本发明的实例的支持多端口存储类存储器接口的装置的框图。

图7及8图解说明根据本发明的实例的支持多端口存储类存储器接口的一或若干方法。

具体实施方式

运算系统(例如,包含存储器子系统的服务器)的性能可取决于与将信息供应到所述运算系统相关联的各种因素。在一些情形中,所述因素中的一者可为存储器容量。举例来说,可期望具有与服务器相关联的大存储器容量。较大存储器容量一般意味较佳服务器性能,例如在物理硬件上运行更多虚拟机器。然而,服务器环境中的实际存储器容量可受例如可用于处理器(例如,中央处理单元(cpu))的固定数目个存储器信道、存储器子系统的电力消耗及存储器子系统的成本以及其它的考量因素限制。

额外因素可为等待时间(例如,加载到使用等待时间)。存储器子系统中的等待时间可以是指使数据单元可用于请求数据的处理器的时间。此等待时间可与数个任务(包含搜索处理器中的内部寄存器或高速缓冲存储器空间、与网络进行通信及找到存储器控制器以搜索与网络耦合的存储器媒体或者存取固态硬盘(ssd)或硬盘驱动器(hdd))相关联。通过实例方式,存储器子系统可展现在几百纳秒(例如,100到200nsec)内的等待时间且此存储器子系统可称为存储类存储器。相反地,其它存储器子系统(例如,ssd或hdd)可展现在数十微秒(例如,50到100μsec)内的等待时间且可太慢而不能被视为存储类存储器。

与将信息供应到运算系统的效率有关的另一因素可为数据单元的粒度。数据单元的粒度可以是指运算系统中的组件可产生或利用的最少数据量(例如,存储信息的位数目)。通过实例方式,由ssd产生的数据单元的典型大小可为4,096个字节,然而处理器(例如,cpu)通常一次处理64个字节的数据。当处理器等待ssd产生4,096个字节的数据(例如,ssd的最小数据大小)(然而处理器在事务中可仅需要128个字节的数据)时处理器的效率可受到影响。将存储器子系统中的数据单元的粒度维持为接近于运算系统的处理器的数据单元的粒度对于改进运算系统的效率可为合意的。

本发明中的存储类存储器子系统可提供或超过所要等待时间(例如,比nand快)、竞争成本(例如,比dram便宜)及高带宽的数据传送速率(例如,每一方向25吉字节/秒(gbps)的数据传送速率)。存储器子系统可配置有若干个媒体端口以支持运算系统中的主机链路的高性能。存储器子系统可通过一或多个主机链路与主机装置耦合。存储器子系统可通过主机链路接收来自主机的请求(例如,主机请求)且将其解译为读取或写入请求。所述主机请求可与主机地址相关联。主机装置可通过对存储器子系统中的控制器(例如,存储器控制器asic)上的寄存器进行读取而识别可允许地址范围。存储器子系统可基于主机请求中的信息而产生具有交错地址的另一命令以跨越多个媒体端口将与主机请求相关联的操作并行化。

所述若干个媒体端口中的个别媒体端口可与存储器媒体(例如,3dxpointtm存储器裸片,其可称为3dxp裸片)耦合。存储器子系统可经配置而以低等待时间将传入主机地址转换为存储器媒体地址(例如,3dxp存储器裸片中的地址)。存储器媒体可称为物理媒体。每一媒体端口可完全彼此独立地操作且执行单独媒体端口逻辑算法以同时支持主机链路。多个媒体端口在同时支持主机链路时可利用不在存储器空间中留下任何间隙(从主机装置的视角来看)的交错端口地址方案。另外,存储器子系统可产生主机装置有效地接收且处理的数据单元的粒度(例如,取决于能量效率设定而为64个字节或128个字节)。

存储器子系统可支持多个全双工(例如,双单工)主机链路。每一主机链路可与主机地址相关联。每一主机链路可经组织为单个x16、两个x8或四个x4配置。描述x8或x4是指入口(例如,输入)通道及出口(例如,输出)通道的数目。通过实例方式,x8指示主机链路内的8个入口通道及8个出口通道。在一些情形中,每一通道可支持8吉位/秒(gbps)的数据传送速率。存储器子系统可安装于计算机系统机架(例如,2u机架)中且附接到单个x8主机链路或两个x8主机链路。存储器子系统可使用将与遗留主机接口协议兼容的主机接口协议(例如gen-z协议或加速器的高速缓存一致互连(ccix)协议)与主机装置一起操作。

存储器子系统可支持耗损平均操作。耗损平均操作可跨越存储器媒体中的一组存储器单元(即,耗损平均池)分布若干个编程与擦除循环以避免存储器单元的特定子集积累增加数目个编程与擦除循环(在与存储器单元中的其余存储器单元相比较时)。在一些情形中,存储器媒体中的非易失性存储器单元(例如,feram单元、3dxp存储器单元)的有限可靠性(其可起源于存储器单元的有限编程与擦除循环耐久能力)可不利地影响存储器媒体的性能及寿命。耗损平均操作可延长可展现有限循环能力的非易失性存储器单元的使用寿命。另外,恶意攻击(例如,由于计算机病毒或未授权存取)可试图通过连续地对非易失性存储器单元的小分率进行读取或写入直到其达到其耐久极限为止而破坏非易失性存储器单元。存储器子系统的耗损平均操作可通过避免此类恶意攻击或通过有效地管理与非易失性存储器单元相关联的耗损水平而缓解非易失性存储器单元操作中所涉及到的风险。

本发明中所描述的存储类存储器子系统作为独立装置可为自足的或可为可附接到另一装置(例如,服务器)的设备。可在asic或接口芯片中实施操作存储类存储器子系统的方法。可本地地(例如,在服务器环境中)执行方法或远程地执行方法(例如,通过网络执行)。

下文在图1的上下文中进一步描述上文所介绍的本发明的特征。接着针对图2到5描述具体实例。通过与多端口存储类存储器接口有关的设备图式、系统图式及流程图进一步图解说明且参考所述设备图式、系统图式及流程图进一步描述本发明的这些及其它特征。

图1图解说明根据本发明的实例的支持多端口存储类存储器接口的运算系统100的实例。运算系统100可包含装置105。装置105可包含处理器130、接口控制器120及各种存储器装置170、175及180。存储器装置170、175及180可称为存储器媒体。装置105还可包含输入/输出控制器135、基本输入/输出系统(bios)组件125、板级支持封包(bsp)115、外围组件140、直接存储器存取控制器(dmac)160。装置105的组件可通过总线110彼此电子通信。

装置105可为存储器子系统或存储器组件、运算装置、电子装置、移动运算装置或无线装置。装置105可为便携式电子装置。装置105可为计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、穿戴式装置、网际网路连接的装置或类似者。在一些情形中,装置105可经配置以用于与基站或存取点或者经由基站或存取点进行双向无线通信。

处理器130可经配置以直接或经由接口控制器120与各种存储器媒体170、175、180或其任何组合一起操作。在一些情形中,处理器130可执行接口控制器120的功能。处理器130可为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其可为这些类型的组件的组合。

接口控制器120可经配置以与处理器130一起操作。在一些实例中,接口控制器120可集成为处理器130的一部分。接口控制器120还可经配置以与各种存储器媒体170、175、180或其任何组合一起操作。

存储器媒体170可各自包含一或若干存储器单元阵列以存储数字信息。存储器媒体170可经配置以与处理器130、接口控制器120或两者一起操作。在一些实例中,存储器媒体170可经配置以用作用于处理器130或接口控制器120的存储器库的缓冲存储器。

存储器媒体175可包含经配置以与在两个或多于两个层级中结构化的存储器单元阵列一起操作的本地控制器。存储器媒体175的所述本地控制器还可经配置以操作处理器130或接口控制器120。存储器媒体175的所述本地控制器可经配置以利用存储器单元的不同特性来有效地与处理器130或接口控制器120一起操作。在一些实例中,第一层级存储器单元可为可以短响应时间提供高数目个输入/输出操作/秒(iops)以处置各种工作负荷的3dxp存储器。在一些实例中,第二层级存储器单元可为可以比第一层级存储器单元相对低的成本提供用于数据存储的高容量的三维nand存储器。在一些情形中,存储器媒体175可包含其它类型或组合的存储器阵列。

存储器媒体180可包含经配置以与一或若干存储器单元阵列一起操作的本地控制器。存储器媒体180的所述本地控制器还可经配置以与处理器130或接口控制器120一起操作。在一些实例中,存储器单元可包含非易失性或易失性存储器单元或者非易失性与易失性存储器单元的组合。在一些实例中,存储器媒体180的所述本地控制器可经配置以处置存储器阵列的变化页大小,其中所述存储器阵列包含非易失性存储器单元,例如,铁电存储器单元。在一些实例中,一或多个存储器媒体180可存在于装置105中。在一些实例中,存储器媒体180的本地控制器可经配置以管理跨越多个存储器裸片划分的码字,其中存储器裸片包含3dxp存储器单元的阵列。在一些实例中,处理器130或接口控制器120可经配置以从存储器媒体180的本地控制器接收经划分码字的若干部分以产生其全部码字。在一些实例中,3dxp存储器阵列可包含多个分割区(例如,32个分割区)。所述多个分割区中的每一分割区可进一步经配置以与其它分割区同时执行任务。

dmac160可使得处理器130能够与存储器媒体170、175或180一起执行直接存储器存取。举例来说,dmac160可在不涉及或操作接口控制器120的情况下支持处理器130直接存取存储器媒体170、175或180。

外围组件140可为可集成到装置105中的输入或输出装置或者用于此类装置的接口。实例可包含磁盘控制器、声音控制器、图形控制器、以太网控制器、调制解调器、通用串行总线(usb)控制器、串行或并行端口或者外围卡槽,例如外围组件互连(pci)或加速图形端口(agp)槽。外围组件140可为被所属领域的技术人员理解为外围装置的其它组件。

bios组件125或bsp115可为包含操作为固件的基本输入/输出系统(bios)的软件组件,所述固件可初始化且运行运算系统100的各种硬件组件。bios组件125或bsp115还可管理处理器130与各种组件(例如,外围组件140、输入/输出控制器135)之间的数据流。bios组件125或bsp115可包含存储于只读存储器(rom)、快闪存储器或任何其它非易失性存储器中的程序或软件。

输入/输出控制器135可管理处理器130与外围组件140、输入装置145或输出装置150之间的数据通信。输入/输出控制器135还可管理并非装置105的一部分的外部外围装置。在一些情形中,输入/输出控制器135可表示到外部外围装置的物理连接或端口。

输入145可表示在装置105外部的将输入提供到装置105或其组件的装置、信号或接口。此可包含用户接口或者与其它装置或在其它装置之间的接口。在一些情形中,输入145可为经由外围组件140与装置105介接或可由输入/输出控制器135管理的外围装置。在一些实例中,输入145可为与主机装置或主机接口相关联的主机链路。

输出150可表示在装置105外部的经配置以从装置105或其组件中的任何组件接收输出的装置、信号或接口。输出150的实例可包含显示器、音频扬声器、打印装置或印刷电路板上的另一处理器等。在一些情形中,输出150可为经由外围组件140与装置105介接或可由输入/输出控制器135管理的外围装置。在一些实例中,输出150可为与主机装置或主机接口相关联的主机链路。

装置105的组件可包含经设计以实施组件的各种功能的电路。此可包含经配置以实施本文中所描述的组件的功能的各种电路元件,举例来说,导电线、晶体管、电容器、电感器、电阻器、放大器或者其它有源或无源元件。

在一些实例中,装置105可配置有一或多个接口组件且可从主机装置(未展示)接收存取命令或主机请求(例如,通过输入145)。所述接口组件可经配置以与gen-z或ccix协议以及其它实例兼容。主机请求(例如,读取操作、写入操作)可与主机地址相关联且装置105可基于主机请求中的信息而产生具有交错地址的第二命令以跨越多个媒体端口将操作并行化。在一些实例中,装置105可经配置以基于传入主机地址而以低等待时间产生物理媒体地址(例如,与存储器媒体170、175或180相关联的地址)。装置105接着可由于或基于将第二命令发送到与存储器媒体(例如,存储器媒体175或180)相关联的本地控制器而从多个媒体端口撷取由主机请求的数据(例如,在主机请求包含读取操作时)。随后,装置105可根据与主机链路相关联的协议产生将通过接口组件发送到主机(例如,通过输出150)的数据包。

图2图解说明根据本发明的各种实例的支持多端口存储类存储器接口的配置有接口的运算系统200的实例。运算系统200可为参考图1所描述的运算系统100的实例。运算系统200可包含通过主机链路215与装置240耦合的主机装置205。主机装置205可为服务器、系统单芯片(soc)或中央处理单元(cpu)。在一些实例中,主机装置205可通过主机链路215存取位于装置240中的一或多个存储器媒体230(例如,从存储器媒体230读取、写入到存储器媒体230)。另外,主机装置205可设置寄存器以配置存取存储器媒体230的方式。

主机链路215可为参考图1所描述的输入145、输出150或其组合的实例。主机链路215可采用协议(例如,gen-z、ccix协议)。在一些实例中,主机链路215可经配置以通过主机链路每一方向(例如,发送或接收)以一数据传送速率(例如,25吉字节/秒(gbps))传送数据。在一些实例中,当事务为64个字节时,25gbps数据传送速率可支持58,600万个事务/秒。在其它实例中,当事务为128个字节时,25gbps数据传送速率可支持31,250万个事务/秒。

装置240可为参考图1所描述的装置105的实例。装置240可包含可通过聚合信道225与存储器媒体230耦合的控制器220。在一些实例中,控制器220及存储器媒体230可与板(例如,外围组件高速互连(pcie)板)集成在一起、与所述板接触或放置于所述板上。在一些实例中,装置240可称为存储器子系统或存储器组件。控制器220可包含装置105的除参考图1所描述的存储器媒体170、175及180以外的各种功能块。在一些实例中,控制器220可为asic、通用处理器、其它可编程逻辑装置、离散硬件组件,或其可为这些类型的组件的组合。在一些实例中,控制器220可通过主机链路215从主机装置205接收主机请求(例如,从存储器媒体230中的存储器单元读取或写入到所述存储器单元的存取命令)。在一些实例中,控制器220可基于主机请求中的信息(例如,主机地址)而产生对存储器媒体230的包含交错地址的命令。交错地址可与一或多个存储器媒体230相关联。

在一些实例中,控制器220可将包含交错地址的命令发送到与存储器媒体230相关联的本地控制器(例如,参考图1所描述的存储器媒体175或180的本地控制器)。在一些实例中,控制器220可连同执行各种操作(例如,将数据写入到存储器单元、从存储器单元读取数据、以与聚合信道225的配置兼容的格式布置数据)的本地控制器从存储器媒体230读取数据或将数据写入于存储器媒体230处。在一些实例中,本地控制器可通过聚合信道225将所请求数据发送到控制器220。在一些实例中,本地控制器可响应于接收到命令(例如,写入命令)而发送数据的成功写入的指示。在一些实例中,控制器220可将从本地控制器接收的数据存储于高速缓冲存储器(例如,参考图3所描述的高速缓冲存储器365-a)处。在一些实例中,控制器220可将含有存储器媒体230的内容的数据封包汇编成主机装置205可使用的可消耗形式。控制器220可根据接口协议(例如,gen-z、ccix协议)通过主机链路215将数据封包发送到主机装置205。

在一些实例中,存储器媒体230的个别存储器媒体(例如,存储器媒体230-a)可包含多个存储器裸片(例如,十六个存储器裸片)以获得所要存储器容量。每一存储器裸片可包含本地控制器(例如,参考图1所描述的存储器媒体175或180的本地控制器)以与控制器220协作且管理存储器裸片内的各种存储器操作。另外,个别存储器媒体内的多个存储器裸片可并行操作以产生所要聚合数据传送速率。

在一些实例中,存储器裸片可包含非易失性存储器单元(例如,相变存储器单元的3dxp阵列)。在其它实例中,存储器裸片可包含非易失性存储器单元,其包含硫族化物合金。在一些实例中,可跨越存储器媒体(例如,存储器媒体230-a)内的多个存储器裸片划分码字(例如,数据单元的128个字节)。聚合信道225可经配置以在控制器220与存储器媒体230(例如,本地控制器)之间传送数据。在一些实例中,聚合信道225中的每一者(例如,聚合信道225-a)可包含用于数据传送的第一数目个(例如,八个)逻辑信道。在一些实例中,聚合信道225中的每一聚合信道(例如,聚合信道225-a)可包含额外信道以载送与各种辅助功能有关的信息(例如错误校正码(ecc)或元数据)。

图3图解说明根据本发明的各种实例的支持多端口存储类存储器接口的装置300的实例。装置300可为参考图1及2所描述的接口控制器120或控制器220的实例。在一些实例中,装置300可为asic。装置300可包含可使用采用如上文所阐释的接口协议(例如,gen-z协议、ccix协议)的主机链路与主机装置(未展示)耦合的一或多个接口组件310。装置300还可包含耦合于接口组件310与一或多个媒体端口管理器360之间的互连路由器340。个别媒体端口管理器(例如,媒体端口管理器360-a)可使用如图2及4中所描绘的聚合信道225或490中的一者与存储器媒体耦合。

接口组件310可包含链路接口元件315、链路从装置320及链路主装置325。链路接口元件315可包含用于通过与主机装置耦合的主机链路发射及接收数据的物理层。在一些实例中,链路接口元件315可经配置以通过主机链路在每一方向(例如,发送或接收)上以第一数据传送速率(例如,25gbps)传送数据。链路从装置320可通过主机链路接收事务层协议包,且可解码所述包以提取来自主机装置的请求以及与所述请求相关联的地址及数据。

在一些实例中,链路从装置320可通过第一信号路径330(例如,第一信号路径330-a)以第一数据传送速率(例如,25gbps)将经解码信息发送到互连路由器340。链路主装置325可产生事务层协议包且通过主机链路将所述包发射到主机。在一些实例中,链路主装置325可通过第二信号路径335(例如,第二信号路径335-a)以第一数据传送速率(例如,25gbps)从互连路由器340接收信息。通过实例方式,图3中所描绘的装置300包含两个接口组件310-a及310-b且可能够在使用两个主机链路(例如,与接口组件310-a耦合的第一主机链路及与接口组件310-b耦合的第二主机链路)与主机装置耦合时处置100gbps的总数据传送速率。然而,如所属领域的技术人员将了解,其它替代方案及不同变化形式是特别预期的且归属于本发明的范围内。

在一些实例中,互连路由器340可提供路由网络以允许一个以上主机链路连接到与媒体端口管理器360相关联的一个以上媒体端口。在一些情形中,互连路由器340可被视为交换机阵列。通过实例方式,图3中所描绘的装置300图解说明第一主机链路使用接口组件310-a可连接到一或多个媒体端口管理器(例如,360-a、360-b、360-c及360-d)而第二主机链路使用接口组件310-b可同时连接到一或多个媒体端口管理器(例如,360-a、360-b、360-c及360-d)。在路由过程期间,互连路由器340可从主机地址(例如,用存储器空间块指定的顺序地址)产生交错地址以跨越多个媒体端口分布来自主机装置的请求。因此,主机地址(例如,顺序地址)可在接口组件310的域中,而交错地址可在媒体端口管理器360及相关联存储器媒体的域中。在一些实例中,交错寻址方案可经配置以不在与主机地址(例如,顺序地址)相关联的存储器空间块中留下任何间隙。在一些实例中,互连路由器340可通过第三信号路径350与媒体端口管理器360交换数据。在一些实例中,第三信号路径中的每一路径(例如,第三信号路径350-a)可经配置而以第二数据传送速率(例如,12.8gbps)交换数据,如下文所描述。

媒体端口管理器360中的个别媒体端口管理器可包含高速缓冲存储器365、地址转换器370及端口信道控制器375。在一些情形中,个别媒体端口管理器(例如,媒体端口管理器360-a)可能够执行单独媒体端口逻辑算法,使得每一媒体端口管理器可完全彼此独立地操作(例如,媒体端口管理器360-b、360-c或360-d)。

高速缓冲存储器365可包含完全关联回写高速缓冲存储器及完全关联内容可寻址存储器(cam)。在一些情形中,cam可在提供有数据(例如,地址的内容)时搜索其存储器空间以查看数据是否存储于cam中任何地方。此cam操作可消耗比常规存储器(例如,dram)相对多的电力。高速缓冲存储器365可增加参考图2及4所描述的装置240或存储器子系统420的性能。在一些情形中,包含cam的高速缓冲存储器365-a可促进媒体端口管理器360-a确定所提供的地址的内容是否在高速缓冲存储器365-a内。媒体端口管理器360-a可提取内容(例如,当找到内容时从高速缓冲存储器365-a内的静态随机存取存储器(sram)且因此避免额外等待时间)或进行后续步骤(例如,当未在高速缓冲存储器365-a中找到内容时确定存取存储器媒体且存取与媒体端口管理器360-a相关联的存储器媒体)。

与集中式高速缓冲存储器配置相比较,分布式高速缓冲存储器配置可缓解与相关联于cam的电力消耗有关的问题。通过实例方式,与单个高速缓冲存储器配置相比较,图3中所描绘的分布式高速缓冲存储器配置(例如,高速缓冲存储器365-a、365-b、365-c及365-d)可减少电力消耗(例如,减少到四分之一),因为一或多个高速缓冲存储器(例如,高速缓冲存储器365-a、365-b、365-c或365-d)对于一或多个cam搜索操作可为不活跃的。分布式高速缓冲存储器配置还可改进存储器子系统的效率,因为分布式高速缓冲存储器中的每一高速缓冲存储器可彼此独立地操作且分布高速缓冲存储器的负载以并行地处置请求。另外,高速缓冲存储器365可通过在耗损平均池内分布若干个读取或写入循环而促进庇护存储器媒体以使其免遭过多事务(例如,对存储器单元的读取或写入操作)。高速缓冲存储器365还可存储在链路主装置325制定包响应以发送到主机之前从存储器媒体提取的数据。高速缓冲存储器365可使用参考图5所描述的逻辑地址(例如,与一组媒体端口相关联的交错地址)来操作。

地址转换器370可与管理参考图5所描述的区带内耗损平均操作相关联。地址转换器370可包含地址随机数发生器、区带转换sram/表(zts)、基数自由区带旋转逻辑或区带重映射逻辑。参考图5所描述的中间地址可在地址转换器370中。

端口信道控制器375可包含命令伫列及相关联冲突控制逻辑、写入数据缓冲器、媒体ecc编码器、媒体ecc解码器、读取响应伫列或用于存储器媒体的输入/输出。端口信道控制器375可使用参考图5所描述的物理地址来操作。

在一些情形中,媒体端口管理器中的个别媒体端口管理器可包含写入缓冲器380。写入缓冲器380可经配置以保存写入到读取漂移缓冲器(例如,写入到读取缓冲器)及相关联cam或者写入牺牲高速缓冲存储器及相关联cam。在一些实例中,写入缓冲器380可经配置以在特定持续时间内存储写入到存储器媒体的数据。

图4图解说明根据本发明的各种实例的支持多端口存储类存储器接口的运算系统400的实例。运算系统400可为参考图1及2所描述的运算系统100或200的实例。运算系统400可包含使用主机链路415与存储器子系统420耦合的主机装置405。主机装置405可为参考图2所描述的主机装置205的实例。主机链路415可为参考图2所描述的主机链路215的实例。在一些实例中,主机链路415-a可经配置而以一数据传送速率(例如,50gbps,其中在每一方向上为25gbps)传送数据。通过实例方式,图4中所描绘的运算系统400可经配置以鉴于两个主机链路(例如主机链路415-a及主机链路415-b)以第二数据传送速率(例如,100gbps)传送数据,所述两个主机链路可各自经配置以传送数据(例如,50gbps)。

运算系统400可包含存储器子系统420。存储器子系统420可为参考图1及2所描述的装置105或装置240的实例。存储器子系统420可包含控制器430。控制器430可为参考图3所描述的装置300的实例。控制器430可包含一或多个接口组件410、互连路由器440及一或多个媒体端口管理器460。接口组件410、互连路由器440及媒体端口管理器460分别可为参考图3所描述的接口组件310、互连路由器340及媒体端口管理器360的实例。

在一些实例中,媒体端口管理器460中的个别媒体端口管理器(例如,媒体端口管理器460-b)可通过聚合信道490中的一者(例如,聚合信道490-b)与媒体端口495中的一者(例如,媒体端口495-b)耦合。媒体端口495可为参考图2所描述的存储器媒体230的实例。聚合信道490中的个别聚合信道可包含一或多个逻辑信道491。在一些实例中,聚合信道490中的每一者可包含八个逻辑信道491。针对媒体端口管理器460-a图解说明八个逻辑信道(例如,逻辑信道491-a到逻辑信道491-h),所述八个逻辑信道表示聚合信道490中的一者(例如,聚合信道490-a(未展示)),同时针对媒体端口管理器460-b、460-c及460-d图解说明聚合信道490(例如,聚合信道490-b、490-c及490-d)以努力增加所描绘特征的可见性及清晰度。

在一些实例中,媒体端口495中的个别媒体端口(例如,媒体端口495-a)可包含一或多个存储器装置(例如,具有3dxp存储器单元的存储器装置,在下文还称为3dxp裸片)。在一些情形中,存储器装置可并行操作以通过聚合信道490获得所要聚合带宽。在一些实例中,一个3dxp裸片可具有256吉位(例如,32吉字节)的存储器容量。在一些实例中,媒体端口495中的一者可包含十六个此类3dxp裸片以产生512吉字节容量,即,每媒体端口(例如,媒体端口495-a)0.5太字节容量。在一些实例中,3dxp裸片可经配置以具有8位宽的数据总线且两个3dxp裸片可指派给每一逻辑信道(例如,信道491-a),从而使每一逻辑信道为16位(例如,两字节)宽。在一些实例中,聚合信道490中的个别聚合信道可包含八个逻辑信道(例如,包含逻辑信道491-a到信道491-h的聚合信道490-a)。因此,当十六个3dxp裸片以800mhz并行地操作时,聚合信道490中的每一者可以12.8gbps的带宽操作(即,每逻辑信道491的2个字节引起每聚合信道490(例如,聚合信道490-a)的16个字节,从而以800mhz来操作)。可从媒体端口的逻辑视图理解以上说明。在一些实例中,数目比逻辑3dxp裸片数目大的物理3dxp裸片可存在于媒体端口中,从而计及与相关联于媒体端口的存储器操作有关的额外开销。

在一些实例中,每一3dxp存储器裸片可经配置以包含若干个(例如,三十二个)分割区。3dxp裸片的每一分割区可独立于3dxp裸片内的其它分割区同时操作。在一些实例中,每一逻辑信道(例如,逻辑信道491-a)可与两个3dxp裸片耦合,因此总共64个分割区可与逻辑信道(例如,逻辑信道491-a)耦合。控制器430可存取与逻辑信道耦合的3dxp裸片的一个分割区,从而旋转经过每一媒体端口。

通过实例方式,使用图4中所描绘的存储器子系统420,控制器430可存取媒体端口495-a中的3dxp裸片(例如,3dxp裸片a,未展示)的第一分割区(例如,32个分割区当中的分割区1)。控制器430接着可存取媒体端口495-b中的3dxp裸片(例如,3dxp裸片b,未展示)的第一分割区(例如,32个分割区当中的分割区1)。控制器430接着可存取媒体端口495-c中的3dxp裸片(例如,3dxp裸片c,未展示)的第一分割区(例如,32个分割区当中的分割区1)。控制器430接着可存取媒体端口495-d中的3dxp裸片(例如,3dxp裸片d,未展示)的第一分割区(例如,32个分割区当中的分割区1)。接着,控制器430可回到媒体端口495-a且存取媒体端口495-a中的3dxp裸片(例如,3dxp裸片a,未展示)的第二分割区(例如,32个分割区当中的分割区2)。控制器430可重复上文所描述的操作,重复总共64次,从而旋转经过四个媒体端口,因为两个3dxp裸片耦合到一逻辑信道,从而使每逻辑信道有64个分割区。

在媒体端口内,码字可划分到一个以上裸片中(例如,跨越四个3dxp裸片划分128字节码字)。基于每一分割区独立于3dxp裸片内的其它分割区而操作的性质,此划分可为可行的。在一些情形中,可每事务仅存取一个分割区(例如,3dxp裸片内的三十二个分割区当中的一个分割区)连同跨越存在于媒体端口中的若干个3dxp裸片进行若干个并行存取,如由并行逻辑信道(例如,逻辑信道491-a到491-h)描绘。此并行操作可减少与对由经划分码字及经划分码字跨越若干个3dxp裸片的并行处理获取的信息进行的错误校正码(ecc)操作相关联的处理时间。端口信道控制器375可处置经划分码字及经划分码字的并行处理。

使用3dxp裸片的各种实例图解说明存储器子系统420中的媒体端口495可如何根据本发明的方法、装置及系统而配置及起作用。在一些情形中,媒体端口495可包含采用不同于3dxp技术的存储器技术的其它存储器装置。如此,本发明不限于3dxp裸片。

如上文所描述,控制器430可利用媒体端口管理器460的独立性质(例如,媒体端口管理器460-a独立于其它三个媒体端口管理器460-b、460-c及460-d而操作)及存储器媒体的独立性质(例如,3dxp存储器裸片中的三十二个分割区当中的一个分割区独立于其它三十一个分割区而操作)来以低等待时间获取所要数据传送速率从而支持主机链路415的高性能。描述以上实例以图解说明控制器430在运算系统400中的其操作期间的各种功能且本发明可不受这些实例限制。

在一些实例中,互连路由器440可耦合于接口组件410与媒体端口管理器460之间。互连路由器440与媒体端口管理器460之间的第三信号路径450可经配置以在其之间交换数据。第三信号路径450可为参考图3所描述的第三信号路径350的实例。在一些实例中,根据上文所描述的实例,第三信号路径450中的每一者(例如,第三信号路径450-a)可经配置而以一速率(例如,12.8gbps)交换数据。在一些实例中,接口组件410可通过第一信号路径330-c以一数据传送速率(例如,25gbps)将经解码信息发送到互连路由器440。在一些实例中,接口组件410可通过第二信号路径335-c以一数据传送速率(例如,25gbps)从互连路由器440接收信息。

作为一个实例,图4中所描绘的控制器430包含两个接口组件410-a及410-b且可能够处置100gbps的总数据传送速率。在一些实例中,与主机链路协议相关联的额外开销可占据总数据传送速率的一部分且运算系统400的实际带宽可小于100gbps(例如,80gbps)。在一些实例中,由多个媒体端口产生的总带宽(例如,穿过第三信号路径450的51.2gbps,举例来说,第三信号路径450中的每第三信号路径为12.8gbps)不可使控制器430可经配置以处置的实际带宽(例如,80gbps)饱和。在一些实例中,由多个媒体端口产生的总带宽(例如,穿过第三信号路径450的102.4gbps,也就是说,第三信号路径450中的每第三信号路径为25.6gbps)可比控制器430可经配置以处置的实际带宽(例如,80gbps)大且可使最大主机链路容量(例如,100gbps数据传送速率)饱和。

在一些情形中,控制器430可包含经配置以从主机装置接收第一存取命令的至少一个主机接口、经配置以使用包括交错地址的第二存取命令存取一或多个存储器媒体的多个端口管理器及耦合于所述至少一个主机接口与所述多个端口管理器之间的交换机阵列,所述交换机阵列经配置以至少部分地基于所述第一存取命令而产生所述交错地址。

在一些情形中,所述多个端口管理器中的每一端口管理器可包含高速缓冲存储器、经配置以促进耗损平均操作的地址转换器及经配置以控制与一或多个存储器媒体相关联的信道的信道控制器。在一些情形中,所述高速缓冲存储器是至少部分地基于所述第二存取命令而被配置且进一步包含完全关联回写高速缓冲存储器或完全关联内容可寻址存储器或其组合。在一些情形中,所述多个端口管理器中的每一端口管理器进一步包含经配置以存储写入到所述一或多个存储器媒体的数据的写入到读取缓冲器。在一些情形中,所述至少一个主机接口包含经配置以接收或发射包括数据的包的链路接口、经配置以解码所接收包的链路从装置及经配置以产生将发射的包的链路主装置。在一些情形中,所述多个端口管理器中的每一端口管理器可与相变存储器单元的三维交叉点阵列耦合。

在一些情形中,控制器430可经配置以与主机装置及存储器媒体介接且可操作以从所述主机装置接收对所述存储器媒体的第一存取命令,至少部分地基于接收到所述第一存取命令而产生对所述存储器媒体的包括交错地址的第二存取命令,且将所述第二存取命令发送到位于所述存储器媒体处的本地控制器。在一些情形中,控制器430可为可操作的以跨越所述存储器媒体分布存取操作以控制与所述存储器媒体的一部分相关联的耗损水平。在一些情形中,控制器430可为可操作的以从所述存储器媒体的信道接收经划分码字,其中所述信道包括一或多个存储器装置。在一些情形中,控制器430可为可操作的以至少部分地基于发送所述第二存取命令而将数据写入到所述存储器媒体且将所述数据存储于缓冲器处,其中所述缓冲器经配置而以一持续时间保持写入到所述存储器媒体的所述数据。在一些情形中,控制器430可为可操作的以解码从所述主机装置接收的第一包以提取存取请求及与所述存取请求相关联的地址且至少部分地基于提取所述存取请求而产生将发射到所述主机装置的第二包。

本发明描述一种设备。在一些实例中,所述设备可经配置以与主机装置及存储器媒体介接。在一些实例中,所述设备可包含用于从所述主机装置接收对所述存储器媒体的第一存取命令的构件、用于至少部分地基于接收到所述第一存取命令而产生对所述存储器媒体的包括交错地址的第二存取命令的构件及用于将所述第二存取命令发送到所述存储器媒体处的本地控制器的构件。在一些情形中,所述设备可包含用于跨越所述存储器媒体分布存取操作以控制与所述存储器媒体的一部分相关联的耗损水平的构件。在一些情形中,所述设备可包含用于从所述存储器媒体的信道接收经划分码字的构件,其中所述信道包括一或多个存储器装置。在一些情形中,所述设备可包含用于至少部分地基于发送所述第二存取命令而将数据写入到所述存储器媒体的构件及用于将所述数据存储于缓冲器处的构件,其中所述缓冲器经配置而以一持续时间保持写入到所述存储器媒体的所述数据。在一些情形中,所述设备可包含用于解码从所述主机装置接收的第一包以提取存取请求及与所述存取请求相关联的地址的构件及用于至少部分地基于提取所述存取请求而产生将发射到所述主机装置的第二包的构件。

图5a图解说明根据本发明的各种实例的支持多端口存储类存储器接口的存储器子系统501的实例。存储器子系统501可为参考图1、2及4所描述的装置105、装置240、存储器子系统420的实例。存储器子系统501可包含一或多个主机链路515、控制器530及一或多个媒体端口595。主机链路515及媒体端口595可为参考图4所描述的主机链路415及媒体端口495的实例。控制器530可为参考图1到4所描述的处理器130、控制器220、装置300或控制器430的实例。

控制器530及媒体端口595可通过聚合信道590交换数据。聚合信道590可为参考图4所描述的聚合信道490的实例。聚合信道590可经配置以支持一数据传送速率(例如,12.8gbps)。在一些实例中,媒体端口595中的每一媒体端口(例如,媒体端口595-a)可经配置以具有一存储器容量(例如,512吉字节)。在一些实例中,媒体端口595中的每一媒体端口(例如,媒体端口595-a)可经配置以包含若干个区带(例如,256×1,024个区带)。在一些实例中,所述若干个区带中的每一区带可经配置以存储若干个码字(例如,16,384个码字),其中每一码字可为128个字节大。在一些实例中,媒体端口中的区带数目可为固定的(例如,256×1,024个区带)且码字的大小可为固定的(例如,128个字节)。可基于媒体端口的特定存储器容量而确定可存储于媒体端口的所述若干个区带(例如,256×1,024个区带)中的每一区带中的码字的数目。

可在存储器子系统501的操作期间利用各种寻址方案。以下说明图解说明图5中所描绘的存储器子系统501(例如,与四个媒体端口595耦合的控制器530,每一媒体端口配置有512吉字节存储器容量)可如何使用纯字节地址形式借助各种寻址方案来操作的实例。可在存储器子系统501中实施的实际地址形式可从纯字节地址形式变化,因为与主机链路515相关联的各种链路接口协议可具有不同水平的地址截断。举例来说,在与ccix协议相比较时,gen-z协议可具有不同地址截断。

存储器子系统501可从主机装置(未展示)接收与主机地址相关联的请求。所述主机装置可通过对存储器子系统501中的控制器530上的寄存器进行读取而识别可允许地址范围。作为实例方式,存储器子系统501可支持两个太字节的存储器容量(例如,每一媒体端口595-a、595-b、595c及595-d中的512吉字节)。两个太字节的存储器容量可由具有41个位的地址表示(例如,a40..a0,其中a40..a0可表示一系列四十一个0及1,其中a40为最高有效位(例如,所述系列四十一个0及1中的第41个位)且a0为最低有效位(例如,所述系列四十一个0及1中的第一个位))。

举例来说,主机地址可与具有四十一个位的寻址方案相关联且可被视为顺序地址。四十一个位当中的最低七个位(例如,a6..a0)可经分配以指定128个字节的每一码字内的128个地址中的一者。码字可为存储器子系统501可控制的最小数据单元(例如,128个字节的粒度)。41个位中的接下来2个位(例如,a8..a7)可经分配以指定四个媒体端口中的一者。41位主机地址的剩余部分(即,a40..a0当中的32个位a40..a9)可提供给每一端口(四个媒体端口中的一者)且被视为端口逻辑地址(pla)。应了解,一旦确定媒体端口的逻辑地址,与pla相关联的地址便指定与四个媒体端口中的一者对应的地址空间。因此,端口逻辑地址可被视为跨越四个媒体端口的交错地址。

每一媒体端口可划分成多个区带(例如,256×1,024个区带,即,262,144个区带)。所述多个区带中的每一区带的存储器容量(例如,2兆字节,即,2,097,152个字节)可进一步除以码字大小(例如,128个字节)以确定关于每一区带可存储的码字数目(例如,每一区带中的128个字节的16,384个码字)。所述多个区带可促进耗损平均操作。可在耗损平均操作期间利用媒体端口内的不同区带,使得可跨越媒体端口在时间上均衡地分布事务(例如,存取媒体端口的存储器单元)。在512吉字节媒体端口的实例中,32位pla中的18个位可经分配以指定262,144个区带中的一者。32位pla中的其余14个位可经分配以指定存储码字的16,384个地址中的一者。可保留16,383个码字中的一个码字作为空白空间以允许区带内码字旋转且在耗损平均操作期间可使用仅16,383个地址。

可通过媒体端口管理器(例如,参考图4所描述的媒体端口管理器460)中的区带转换sram/表(zts)来跟踪用于耗损平均操作的区带交换及其它支持功能。含纳于zts中的18位地址可提供查找地址以指示与主机请求相关联的特定目的地区带。在具有41个位的地址的本实例中,可通过pladiv16,383来获得中间地址,其中“div”为针对最上部18个位的整除运算,从而产生下部14个位作为整除运算的余数。所述中间地址可称为到zts的输入地址。此外,物理地址可提供给端口信道控制器(例如,参考图3所描述的端口信道控制器375-a)。物理地址的上部部分可对应于从zts撷取的查找值(例如,指定262,144个区带中的一者)。可使用剩余14个位连同两个指针(例如,基址指针及自由指针)来确定物理地址的下部部分,所述两个指针促进参考图5b所描述的区带内码字旋转。

图5b展示图解说明根据本发明的各种实例的支持多端口存储类存储器接口的耗损平均操作的图式502。图式502图解说明在耗损平均操作的不同阶段的区带图式580。区带图式580可表示经配置以存储n个码字的媒体端口中的区带中的一者(例如,表示为zone_i的特定区带)。用第一码字地址581、第二码字地址582、(n-2)码字地址583、(n-1)码字地址584及n码字地址585图解说明zone_i内的n个码字的地址。在一些实例中,n可对应于16,384且每一码字可为128个字节。

举例来说,zone_i可位于可经配置以包含256×1,024个区带的媒体端口595-a中。可用上文所描述的物理地址指定每一码字地址。在区带中的n个码字地址当中,可指定一个码字地址作为用自由指针识别的空白空间。另外,可指定另一码字地址作为用基址指针识别的基址。区带中的空白空间可促进下文所描述的区带内码字旋转。区带图式580-a图解说明配置有用基址指针指派的第一码字地址581及用自由指针指派的最后码字地址(例如,n码字地址585)的zone_i。

当提供包含与主机地址相关联的码字的主机请求时,控制器530可识别用以存储码字的内容的物理码字地址(例如,当主机请求包含写入操作时)。控制器530可基于主机地址而确定与媒体端口中的一者(例如,媒体端口595-a)相关联的逻辑地址。互连路由器440可与基于主机地址而确定逻辑地址的过程相关联。随后,控制器530可使用媒体端口管理器(例如,媒体端口管理器460-a)内的zts中的指定目的地(例如,媒体端口595-a中的zone_i)的信息来确定中间地址。

在一些实例中,控制器530可基于基址指针及自由指针的位置而确定zone_i内的物理码字地址。通过实例方式,控制器530可确定将码字的内容存储于n码字地址585处,此可由第一码字地址581处的基址指针及n码字地址585处的自由指针来确定(例如,由地址空间中的在基址指针与自由指针之间的相对距离来确定)。接着,控制器530可将自由指针移动到(n-1)码字地址584,如区带图式580-b中所图解说明。

当主机装置下次向控制器530提供具有相同主机地址的码字时,控制器530可由于自由指针的不同位置而将码字的内容存储于(n-1)码字地址584而非n码字地址585处。接着,自由指针可移动到(n-2)码字地址583,如区带图式580-c中所图解说明。因此,控制器530可由于区带内耗损平均操作而将具有相同主机地址的码字的内容存储到不同物理地址(即,不同物理存储器单元)。耗损平均操作可在时间上分布多个事务(例如,对存储器单元的读取或写入操作)以避免对存储器媒体(例如,3dxp裸片)的特定物理部分的过多写入或读取操作。

当基址指针固定在第一码字地址581处的同时自由指针旋转经过区带内的全部码字地址时,控制器530可将基址指针移动到不同码字地址(例如,第二码字地址582)。在基址指针固定在第二码字地址582处的同时,控制器530可将自由指针移动到第一码字地址581,如zone_i的区带图式580-d中所图解说明。随后,控制器530可使自由指针相对于位于第二码字地址582处的基址指针旋转经过zone_i。此外,控制器530可用媒体端口的另一区带物理地替换zone_i(这也可称为区带交换)以在媒体端口(例如,媒体端口595-a)内的所述多个区带(例如,256×1,024区带)当中在时间上分布事务。

控制器530可利用参数来确定在耗损平均操作期间是否重新定位自由指针、基址指针或两者。特定非易失性存储器技术可取决于对非易失性存储器单元执行的存取操作种类而展现不同的可靠性特性。举例来说,当执行若干个写入操作时非易失性存储器单元可劣化更多(与相同数目个读取操作相比较)。控制器530可追踪对物理地址的存储器单元执行的第一数目个写入操作及第二数目个读取操作且产生与所述物理地址相关联的参数。在一些实例中,参数可包含用以适当地分配与一种存取操作相关联的可靠性任务的权重因数(例如,写入操作具有比读取操作的权重因数大的权重因数)。控制器530可基于与存取操作相关联的权重因数及存取操作的总数目而估计参数以确定是否重新定位自由指针、基址指针或两者。

因此,存储器子系统501可经配置以避免在存储器子系统501可具有多个媒体端口(例如,媒体端口595-a到595-d)时主机地址中的间隙及媒体端口中的每一者中的间隙(例如,每16,383个码字)。参考图3所描述的控制器530的各种部分可经配置以实施如本文中所描述的此特征。

媒体端口管理器360可基于控制器530的互连路由器340将主机链路(例如,主机链路515-a)路由到媒体端口管理器中的一者(例如,媒体端口管理器360-a)而将事务的逻辑地址存储于高速缓冲存储器365(例如,媒体端口管理器360-a的高速缓冲存储器365-a)处。随后,地址转换器370(例如,媒体端口管理器360-a的地址转换器370-a)可产生与逻辑地址相关联的中间地址。

在一些实例中,中间地址可对应于逻辑地址除以整除数(例如,ia=ladiv16,383)。另外,可通过地址转换器370中的区带转换sram(zts)来追踪与耗损平均操作有关的区带交换及其它支持功能。在一些实例中,中间地址可为到zts的输入地址。含纳于zts中的十八位地址(即,对应于256k个区带)提供查找地址以指示请求的目的地(即,256k个区带中的特定区带)。随后,地址转换器370可通过使用包含自由指针及基址指针位置的函数关系(例如,随区带内的自由指针位置及基址指针位置而变的模运算)来产生区带内的16,383个码字空间(即,16,384个空间减去用自由指针指定的一个空间)的物理地址。随后,端口信道控制器375可管理用于将事务的内容存储于存储器媒体内的特定物理地址处的物理地址。

在一些实例中,可由于完全分开端口逻辑算法而针对不同媒体端口(例如,媒体端口595-a到媒体端口595-d)同时执行上文所图解说明的耗损平均操作。因此,存储器子系统501可维持主机地址不具有任何间断性而不管存储器媒体端口数目、存在于任何一个媒体端口中的所述多个区带中的间隙(例如,每16,383个码字),同时存储器子系统501可跨越媒体端口均衡地分布若干个事务以避免特定物理码字或码字群组积累过多存取。

图6展示根据本发明的实例的支持多端口存储类存储器接口的控制器615的图式600。控制器615可为参考图3到5所描述的装置300、控制器430或控制器530的方面的实例。控制器615可包含偏置组件620、定时组件625、接口管理器630、信道管理器635及耗损平均管理器640。这些模组中的每一者可彼此直接或间接(例如,经由一或多个总线)通信。

接口管理器630可从主机装置接收对存储器媒体的第一存取命令,且响应于所述第一存取命令而将数据发送到所述主机装置。在一些情形中,接口管理器630可将从本地控制器接收的数据打包,且响应于所述第一存取命令而将包含所述数据的包发送到所述主机装置。

信道管理器635可基于接收到第一存取命令而产生对存储器媒体的包含交错地址的第二存取命令,基于物理地址而存取第二组区带中的第一区带以读取或写入至少一个码字,且基于发送所述第二存取命令而从存储器媒体读取数据。在一些情形中,所述第一存取命令包含存储器媒体的顺序地址。在一些情形中,所述第一存取命令包含指示向存储器媒体请求或将存储于存储器媒体处的内容的数据。在一些情形中,信道管理器635可基于产生第二存取命令而存取高速缓冲存储器,基于存取所述高速缓冲存储器而确定存取存储器媒体,且响应于第二存取命令而从位于存储器媒体处的本地控制器接收数据。在一些情形中,信道管理器635可将第二存取命令发送到位于存储器媒体处的本地控制器,基于发送第二存取命令而将数据写入到存储器媒体,且将所述数据存储于缓冲器处,其中所述缓冲器经配置以在一持续时间内保持写入到存储器媒体的所述数据。

在一些情形中,信道管理器635可响应于发送第二存取命令而从本地控制器接收确认与第二存取命令相关联的数据到存储器媒体的成功写入的指示。在一些情形中,存储器媒体包含相变存储器单元的三维交叉点阵列。在一些情形中,信道管理器635可基于物理地址而存取第一组区带中的第一区带以读取或写入至少一个码字,存取第二区带以读取或写入至少一个码字,基于接收到数据而将数据存储于高速缓冲存储器处。

耗损平均管理器640可识别第一存储器媒体内的第一组区带(所述第一组区带中的每一区带经配置以存储至少一个码字),基于至少一个码字的逻辑地址而选择所述第一组区带中的第一区带,且基于与先前存取操作相关联的参数及逻辑地址而确定至少一个码字的物理地址。在一些情形中,耗损平均管理器640可基于权重而从第一组区带选择第二区带,识别第二存储器媒体内的第二组区带(第二组区带中的每一区带经配置以存储至少一个码字),基于至少一个码字的逻辑地址而选择第二组区带中的第一区带,且基于与先前存取操作相关联的参数及逻辑地址而确定至少一个码字的物理地址。在一些情形中,参数包含基于与物理地址相关联的第一数目个读取操作或与物理地址相关联的第二数目个读取操作或其组合的权重。

图7展示图解说明根据本发明的实例的用于多端口存储类存储器接口的方法700的流程图。可由如本文中所描述的存储器控制器或其组件实施方法700的操作。举例来说,可由参考图3到5所描述的装置300、控制器430或控制器530执行方法700的操作。在一些实例中,控制器可执行一组代码以控制装置的功能元件从而执行下文所描述的功能。另外或替代地,所述控制器可使用专用硬件执行下文所描述的功能的方面。

在框705处,所述控制器可从主机装置接收对存储器媒体的第一存取命令。可根据本文中所描述的方法执行框705的操作。在特定实例中,可由参考图6所描述的接口管理器630执行框705的操作的方面。

在框710处,所述控制器可至少部分地基于接收到所述第一存取命令而产生对所述存储器媒体的包括交错地址的第二存取命令。可根据本文中所描述的方法执行框710的操作。在特定实例中,可由参考图6所描述的信道管理器635执行框710的操作的方面。

在框715处,所述控制器可将所述第二存取命令发送到位于所述存储器媒体处的本地控制器。可根据本文中所描述的方法执行框715的操作。在特定实例中,可由参考图6所描述的信道管理器635执行框715的操作的方面。

在一些情形中,方法700还可包含从主机装置接收对存储器媒体的第一存取命令。在一些情形中,所述存储器媒体包括相变存储器单元的三维交叉点阵列。在一些情形中,方法700还可包含将所述第二存取命令发送到位于所述存储器媒体处的本地控制器。在一些情形中,所述第一存取命令包括所述存储器媒体的顺序地址。在一些情形中,所述第一存取命令包括指示向所述存储器媒体请求或将存储于所述存储器媒体处的内容的数据。在一些情形中,方法700还可包含至少部分地基于发送所述第二存取命令而从所述存储器媒体读取数据。在一些情形中,方法700还可包含响应于所述第一存取命令而将所述数据发送到所述主机装置。在一些情形中,方法700还可包含至少部分地基于产生所述第二存取命令而存取高速缓冲存储器。在一些情形中,方法700还可包含至少部分地基于接收到所述第一存取命令而产生对所述存储器媒体的包括交错地址第二存取命令。

在一些情形中,方法700还可包含响应于所述第二存取命令而从位于所述存储器媒体处的所述本地控制器接收数据。在一些情形中,方法700还可包含将从所述本地控制器接收的所述数据打包。在一些情形中,方法700还可包含响应于所述第一存取命令而将包括所述数据的包发送到所述主机装置。在一些情形中,方法700还可包含至少部分地基于接收到所述数据而将所述数据存储于所述高速缓冲存储器处。在一些情形中,方法700还可包含至少部分地基于发送所述第二存取命令而将数据写入到所述存储器媒体。在一些情形中,方法700还可包含将所述数据存储于缓冲器处,其中所述缓冲器经配置以在一持续时间内保持写入到所述存储器媒体的所述数据。在一些情形中,方法700还可包含响应于发送所述第二存取命令而从所述本地控制器接收确认与所述第二存取命令相关联的数据到所述存储器媒体的成功写入的指示。在一些情形中,方法700还可包含至少部分地基于存取所述高速缓冲存储器而确定存取所述存储器媒体。

本发明描述一种设备。所述设备可包含用于从主机装置接收对存储器媒体的第一存取命令的构件、用于至少部分地基于接收到所述第一存取命令而产生对所述存储器媒体的包括交错地址的第二存取命令的构件及用于将所述第二存取命令发送到位于所述存储器媒体处的本地控制器的构件。在一些情形中,所述第一存取命令包括所述存储器媒体的顺序地址。在一些情形中,所述第一存取命令包括指示向所述存储器媒体请求或将存储于所述存储器媒体处的内容的数据。在一些情形中,所述设备可进一步包含用于至少部分地基于发送所述第二存取命令而从所述存储器媒体读取数据的构件及用于响应于所述第一存取命令而将所述数据发送到所述主机装置的构件。在一些情形中,所述设备可进一步包含用于至少部分地基于产生所述第二存取命令而存取高速缓冲存储器的构件及用于至少部分地基于存取所述高速缓冲存储器而确定存取所述存储器媒体的构件。

在一些情形中,所述设备可进一步包含用于响应于所述第二存取命令而从位于所述存储器媒体处的所述本地控制器接收数据的构件、用于将从所述本地控制器接收的所述数据打包的构件及用于响应于所述第一存取命令而将包括所述数据的包发送到所述主机装置的构件。在一些情形中,所述设备可进一步包含用于至少部分地基于接收到所述数据而将所述数据存储于所述高速缓冲存储器处的构件。在一些情形中,所述设备可进一步包含用于至少部分地基于发送所述第二存取命令而将数据写入到所述存储器媒体的构件及用于将所述数据存储于缓冲器处的构件,其中所述缓冲器经配置以在一持续时间内保持写入到所述存储器媒体的所述数据。在一些情形中,所述设备可进一步包含用于响应于发送所述第二存取命令而从所述本地控制器接收确认与所述第二存取命令相关联的数据到所述存储器媒体的成功写入的指示的构件。在一些情形中,所述存储器媒体包括相变存储器单元的三维交叉点阵列。

图8展示图解说明根据本发明的实例的用于多端口存储类存储器接口的方法800的流程图。可通过如本文中所描述的存储器控制器或其组件来实施方法800的操作。举例来说,可由参考图3到5所描述的装置300、控制器430或控制器530执行方法800的操作。在一些实例中,控制器可执行一组代码以控制装置的功能元件从而执行下文所描述的功能。另外或替代地,所述控制器可使用专用硬件执行下文所描述的功能的方面。

在框805处,所述控制器可识别第一存储器媒体内的第一多个区带,所述第一多个区带中的每一区带经配置以存储至少一个码字。可根据本文中所描述的方法执行框805的操作。在特定实例中,可由参考图6所描述的耗损平均管理器640执行框805的操作的方面。

在框810处,所述控制器可至少部分地基于所述至少一个码字的逻辑地址而选择所述第一多个区带中的第一区带。可根据本文中所描述的方法执行框810的操作。在特定实例中,可由参考图6所描述的耗损平均管理器640执行框810的操作的方面。

在框815处,所述控制器可至少部分地基于与先前存取操作相关联的参数及所述逻辑地址而确定所述至少一个码字的物理地址。可根据本文中所描述的方法执行框815的操作。在特定实例中,可由参考图6所描述的耗损平均管理器640执行框815的操作的方面。

在框820处,所述控制器可至少部分地基于所述物理地址而存取所述第一多个区带中的所述第一区带以读取或写入所述至少一个码字。可根据本文中所描述的方法执行框820的操作。在特定实例中,可由参考图6所描述的信道管理器635执行框820的操作的方面。

在一些情形中,方法800还可包含识别第一存储器媒体内的第一多个区带,所述第一多个区带中的每一区带经配置以存储至少一个码字。在一些情形中,方法800还可包含至少部分地基于与先前存取操作相关联的参数及所述逻辑地址而确定所述至少一个码字的物理地址。在一些情形中,方法800还可包含至少部分地基于所述物理地址而存取所述第一多个区带中的所述第一区带以读取或写入所述至少一个码字。在一些情形中,所述参数包括至少部分地基于与所述物理地址相关联的第一数目个读取操作或与所述物理地址相关联的第二数目个读取操作或其组合的权重。在一些情形中,方法800还可包含至少部分地基于所述至少一个码字的逻辑地址而选择所述第一多个区带中的第一区带。

在一些情形中,方法800还可包含识别第二存储器媒体内的第二多个区带,所述第二多个区带中的每一区带经配置以存储至少一个码字。在一些情形中,方法800还可包含至少部分地基于所述至少一个码字的逻辑地址而选择所述第二多个区带中的第一区带。在一些情形中,方法800还可包含至少部分地基于与先前存取操作相关联的参数及所述逻辑地址而确定所述至少一个码字的物理地址。在一些情形中,方法800还可包含基于所述物理地址而存取所述第二多个区带中的所述第一区带以读取或写入所述至少一个码字。在一些情形中,方法800还可包含至少部分地基于所述权重而从所述第一多个区带选择第二区带。在一些情形中,方法800还可包含存取所述第二区带以读取或写入所述至少一个码字。

本发明描述一种设备。所述设备可包含:用于识别第一存储器媒体内的第一多个区带的构件,所述第一多个区带中的每一区带经配置以存储至少一个码字;用于至少部分地基于所述至少一个码字的逻辑地址而选择所述第一多个区带中的第一区带的构件;用于至少部分地基于与先前存取操作相关联的参数及所述逻辑地址而确定所述至少一个码字的物理地址的构件;及用于至少部分地基于所述物理地址而存取所述第一多个区带中的所述第一区带以读取或写入所述至少一个码字的构件。在一些情形中,所述参数包括至少部分地基于与所述物理地址相关联的第一数目个读取操作或与所述物理地址相关联的第二数目个读取操作或其组合的权重。

在一些情形中,所述设备可进一步包含用于至少部分地基于所述权重而从所述第一多个区带选择第二区带的构件及用于存取所述第二区带以读取或写入所述至少一个码字的构件。在一些情形中,所述设备可进一步包含:用于识别第二存储器媒体内的第二多个区带的构件,所述第二多个区带中的每一区带经配置以存储至少一个码字;用于至少部分地基于所述至少一个码字的逻辑地址而选择所述第二多个区带中的第一区带的构件;用于至少部分地基于与先前存取操作相关联的所述参数及所述逻辑地址而确定所述至少一个码字的物理地址的构件;及用于基于所述物理地址而存取所述第二多个区带中的所述第一区带以读取或写入所述至少一个码字的构件。

应注意,上文所描述的方法描述可能实施方案,且可重新布置或以其它方式修改操作及步骤而且其它实施方案是可能的。此外,可组合来自方法中的两种或多于两种方法的实例。

可使用各种不同技术中的任一者表示本文中所描述的信息及信号。举例来说,可贯穿以上说明提及的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或粒子、光场或粒子或者其任一组合表示。一些图式可将信号图解说明为单个信号;然而,所属领域的技术人员将理解,所述信号可表示信号总线,其中所述总线可具有各种位宽度。

术语“电子通信”及“耦合”是指支持组件之间的电子流动的所述组件之间的关系。此可包含组件之间的直接连接或可包含中间组件。彼此电子通信或耦合的组件可主动地交换电子或信号(例如,在通电电路中)或不可主动地交换电子或信号(例如,在断电电路中),但可经配置且可操作以在使电路通电之后交换电子或信号。通过实例方式,经由开关(例如,晶体管)物理地连接的两个组件电子通信或可耦合而不管开关的状态(即,断开或闭合)。

硫族化物材料可为包含元素s、se及te中的至少一者的材料或金属。本文中所论述的相变材料可为硫族化物材料。硫族化物材料可包含s、se、te、ge、as、al、sb、au、铟(in)、镓(ga)、锡(sn)、铋(bi)、钯(pd)、钴(co)、氧(o)、银(ag)、镍(ni)、铂(pt)的合金。实例性硫族化物材料及合金可包含但不限于ge-te、in-se、sb-te、ga-sb、in-sb、as-te、al-te、ge-sb-te、te-ge-as、in-sb-te、te-sn-se、ge-se-ga、bi-se-sb、ga-se-te、sn-sb-te、in-sb-ge、te-ge-sb-s、te-ge-sn-o、te-ge-sn-au、pd-te-ge-sn、in-se-ti-co、ge-sb-te-pd、ge-sb-te-co、sb-te-bi-se、ag-in-sb-te、ge-sb-se-te、ge-sn-sb-te、ge-te-sn-ni、ge-te-sn-pd或ge-te-sn-pt。如本文中所使用的带连字符的化学组成符号指示包含于特定化合物或合金中的元素且打算表示涉及所指示元素的所有化学计量法。举例来说,ge-te可包含gextey,其中x及y可为任何正整数。可变电阻材料的其它实例可包含二元金属氧化物材料或混合价氧化物,其包含两种或多于两种金属(例如,过渡金属、碱土金属及/或稀土金属)。实例不限于与存储器单元的存储器元件相关联的一或若干特定可变电阻材料。举例来说,可变电阻材料的其它实例可用于形成存储器元件且可包含硫族化物材料、巨大磁阻材料或基于聚合物的材料以及其它材料。

本文中所论述的包含存储器媒体230的装置可形成于半导体衬底(例如硅、锗、硅-锗合金、砷化镓、氮化镓等)上。在一些情形中,衬底为半导体晶片。在其它情形中,衬底可为绝缘体上硅(soi)衬底,例如玻璃上硅(sog)或蓝宝石上硅(sop),或在另一衬底上的外延半导体材料层。可使用包含但不限于磷、硼或砷的各种化学物种通过掺杂控制衬底或衬底的子区域的导电性。可在衬底的初始形成或生长期间通过离子植入或通过任何其它掺杂手段执行掺杂。

本文中所论述的一或若干晶体管可表示场效晶体管(fet)且包括包含源极、漏极及栅极的三端子装置。所述端子可通过导电材料(例如,金属)连接到其它电子元件。所述源极及漏极可为导电的且可包括经重掺杂(例如,简并)半导体区域。所述源极及漏极可由经轻掺杂半导体区域或沟道分开。如果沟道为n型(即,大多数载子为电子),那么fet可称为n型fet。如果沟道为p型(即,大多数载子为空穴),那么fet可称为p型fet。所述沟道可被绝缘栅极氧化物覆盖。可通过将电压施加到栅极来控制沟道导电性。举例来说,将正电压或负电压分别施加到n型fet或p型fet可致使沟道变得导电。晶体管在将大于或等于晶体管的阈值电压的电压施加到晶体管栅极时可为“接通”或“激活的”。所述晶体管在将小于晶体管的阈值电压施加到晶体管栅极时可为“关断”或“撤销激活的”。

本文中关于附图所陈述的说明描述实例性配置且不表示可实施或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”意味“用作实例、例子或图解说明”,且并非“优选的”或“比其它实例有利的”。出于提供对所描述技术的理解的目的,详细说明包含具体细节。然而,可在无这些具体细节的情况下实践这些技术。在一些例子中,以框图形式展示众所周知的结构及装置以避免模糊所描述实例的概念。

在附图中,类似组件或特征可具有相同参考标签。此外,可通过在参考标签后接着破折号及在类似组件当中进行区分的第二标签而区分同一类型的各种组件。如果在说明书中仅使用第一参考标签,那么说明可适用于具有相同第一参考标签的类似组件中的任一者而无论第二参考标签如何。

可使用各种不同技术中的任一者表示本文中所描述的信息及信号。举例来说,可贯穿以上说明提及的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或粒子、光场或粒子或者其任一组合表示。

可借助经设计以执行本文中所描述的功能的通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行在本文中关于本发明所描述的各种说明性框及模块。通用处理器可为微处理器,但在替代方案中,所述处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可实施为运算装置的组合(例如,数字信号处理器(dsp)与微处理器的组合、多个微处理器的组合、一或多个微处理器与dsp核心的联合或任一其它此类配置)。

可在硬件、由处理器执行的软件、固件或其任何组合中实施本文中所描述的功能。如果在由处理器执行的软件中实施,那么所述功能可作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体发射。其它实例及实施方案也在本发明及所附权利要求书的范围内。举例来说,由于软件的性质,可使用由处理器执行的软件、硬件、固件、硬接线或这些各项中的任何者的组合来实施上文所描述的功能。实施功能的特征还可物理地位于各种位置处,包含经分布使得在不同物理位置处实施功能的部分。而且,如本文中(包含在权利要求书中)所使用,如项目列表(举例来说,前面为例如“…中的至少一者”或“…中的一或多者”的短语的项目列表)中所使用的“或”指示包含性列表,使得(举例来说)a、b或c中的至少一者的列表意味a或b或c或ab或ac或bc或abc(即,a及b及c)。而且,如本文中所使用,短语“基于”不应被解释为对闭合条件集的提及。举例来说,经描述为“基于条件a”的示范性步骤可在不背离本发明的范围的情况下基于条件a及条件b两者。换句话说,如本文中所使用,短语“基于”应以与短语“至少部分地基于”相同的方式来解释。

计算机可读媒体包含非暂时性计算机存储媒体及包含促进将计算机程序从一个地方传送到另一地方的任一媒体的通信媒体两者。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。通过实例而非限制的方式,非暂时性计算机可读媒体可包括ram、rom、电可擦除可编程只读存储器(eeprom)、光盘(cd)rom或其它光盘存储器、磁盘存储器或其它磁性存储装置或可用于携载或存储呈指令或数据结构形式的所要程式代码且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。而且,任何连接恰当地称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字用户线(dsl)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发射软件,那么所述同轴缆线、光纤缆线、双绞线、数字用户线(dsl)或例如红外线、无线电及微波等无线技术均包含于媒体的定义中。如本文中所使用的磁盘及光盘包含cd、雷射光盘、光学光盘、数位多功能光盘(dvd)、软磁碟及蓝光光盘,其中磁碟通常以磁性方式复制数据而光盘借助激光以光学方式复制数据。以上各项的组合也包含于计算机可读媒体的范围内。

提供本文中的说明以使得所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将易于明了对本发明的各种修改,且本文中所界定的一般原理可应用于其它方面,此并不背离本发明的范围。因此,本发明不限于本文中所描述的实例及设计,但被赋予与本文中所揭示的原理及新颖特征一致的最宽广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1