使用交换式架构的用于串行接口存储器的系统及方法

文档序号:328165 发布日期:2021-11-30 浏览:12次 >En<

阅读说明:本技术 使用交换式架构的用于串行接口存储器的系统及方法 (System and method for serial interface memory using switched architecture ) 是由 盖瑞·詹姆斯·卡德 班杰明·詹姆斯·克尔 菲利浦·罗斯 于 2020-03-13 设计创作,主要内容包括:一种用于存储及检索数据的存储器系统可包含控制器、第一交换机、经由互连总线连接到所述第一交换机的第二交换机,及多个存储器装置。所述控制器可具有第一串行接口。所述第一交换机可具有一或多个串行接口及一或多个存储器端口。所述控制器的所述第一串行接口可经由第一串行总线通信地连接到所述第一交换机的所述一或多个串行接口中的第一串行接口。所述第一交换机的所述一或多个存储器端口中的每一者可经由存储器总线通信地连接到所述多个存储器装置的子组。所述第一交换机可经由所述一或多个存储器端口在所述控制器与所述多个存储器装置的所述子组之间传送数据。(A memory system for storing and retrieving data may include a controller, a first switch, a second switch connected to the first switch via an interconnect bus, and a plurality of memory devices. The controller may have a first serial interface. The first switch may have one or more serial interfaces and one or more memory ports. The first serial interface of the controller may be communicatively connected to a first serial interface of the one or more serial interfaces of the first switch via a first serial bus. Each of the one or more memory ports of the first switch may be communicatively connected to a subset of the plurality of memory devices via a memory bus. The first switch may transfer data between the controller and the subset of the plurality of memory devices via the one or more memory ports.)

使用交换式架构的用于串行接口存储器的系统及方法

技术领域

本文中所描述的实施例大体来说涉及一种用于使用交换式结构控制存储器装置阵列的系统及方法,更特定来说涉及一种包含存储器控制器的存储器系统,所述存储器控制器用以使用多通道串行接口及包含经互连交换装置的层的交换式架构控制存储器装置阵列。

背景技术

当前,多个通道存储器控制器限于使每一通道控制器与单一组存储器裸片(或单一组存储器库)介接。针对那些裸片的命令及数据可仅通过单个通道控制器来传送。仍期望此数据传送方法的改进。

发明内容

本发明的实施例涉及一种包含使用多通道串行接口的存储器控制器的存储器系统,特定来说涉及一种包含存储器控制器的存储器系统,所述存储器控制器用以使用多通道串行接口及包含经互连交换装置的层的交换式架构控制存储器装置阵列,以便避免存储器总线拥塞及争用。

根据某些方面,实施例提供一种用于存储及检索数据的存储器系统,其包含控制器、第一交换机及多个存储器装置。所述控制器可具有第一串行接口。所述第一交换机可具有一或多个串行接口及一或多个存储器端口。所述控制器的所述第一串行接口可经由第一串行总线通信地连接到所述第一交换机的所述一或多个串行接口中的第一串行接口。所述第一交换机的所述一或多个存储器端口中的每一者可经由存储器总线通信地连接到所述多个存储器装置的子组。所述第一交换机可经配置以经由所述一或多个存储器端口在所述控制器与所述多个存储器装置的所述子组之间传送数据。

根据其它方面,实施例提供一种用于在存储器系统中存储及检索数据的方法,所述存储器系统包含多个存储器装置、控制器、第一交换机及第二交换机。根据所述方法,可确定所述第一交换机的一或多个存储器端口及所述第二交换机的一或多个存储器端口当中的存储器端口。可经由所述经确定存储器端口在所述控制器与所述多个存储器装置的子组之间传送数据。

附图说明

在联合附图审阅对特定实施例的以下说明后,所属领域技术人员将明了本发明实施例的这些及其它方面及特征,附图中:

图1是图解说明常规存储器系统的实例的框图;

图2是图解说明常规存储器系统的实例操作的框图;

图3是图解说明根据一些实施例的裸片访问控制(DAC)包的实例格式的框图;

图4是图解说明根据一些实施例的使用交换式架构的实例存储器系统的框图;

图5是图解说明根据一些实施例的使用交换式架构的包含并行存储器装置的实例存储器系统的框图;

图6是图解说明根据一些实施例的使用交换式架构的包含串行总线存储器装置的实例存储器系统的框图;

图7是图解说明根据一些实施例的使用交换式架构的存储器系统的实例操作的框图;

图8是图解说明根据一些实施例的使用交换式架构的存储器系统的另一实例操作的框图;

图9是图解说明根据一些实施例的使用交换式架构实施时分多路复用(TDM)方案的实例存储器系统的框图;

图10是图解说明根据一些实施例的使用交换式架构实施另一TDM方案的实例存储器系统的框图;

图11是图解说明根据一些实施例的用于在使用交换式架构的存储器系统中存储及检索数据的实例方法的流程图。

图12是图解说明根据一些实施例的用于在使用交换式架构的存储器系统中存储及检索数据的另一实例方法的流程图。

具体实施方式

根据某些方面,本发明中的实施例涉及用于使用交换式结构控制存储器装置阵列的技术,更特定来说涉及一种包含存储器控制器的存储器系统,所述存储器控制器用以使用多通道串行接口及包含经互连交换装置的层的交换式架构控制存储器装置阵列,以便避免存储器总线拥塞及争用。

非易失性(NV)存储器控制器与NV存储器装置之间的通信传统上是在适于NV存储器类型的多点并行通信总线上执行。NV存储器的并行通信总线标准的一个实例是ONFI(开放式NAND快闪接口),其定义数据接口、信号、终端、时序参数及总线上的命令/响应。NV存储器裸片布置成并行总线上的若干组裸片(或库),其中从存储器控制器驱动多个单独总线(或通道)。每一总线/通道因此专用于单一组裸片(或库),其中每一通道有专用存储器后端控制器(或通道控制器)。举例来说,图1展示包含多个通道控制器(110-1、110-2、…、110-N)的存储器控制器100,每一通道控制器使用单个通道串行接口连接到多个库(例如,一组四个存储器库)。每一通道控制器驱动总线或通道中专用于单一组库的对应一个总线或通道(例如,图1中的通道1(120-1)、通道2(120-2)、通道3(120-3),通道4(120-4))。举例来说,通道1专用于一组库1(151)、库2(152)、库3(153)及库4(154)。

标题为“用于半导体封装的串行接口(Serial Interface for SemiconductorPackage)”的第16/054,755号美国专利申请案的标的物是串行接口解决方案,所述美国专利申请案的内容以全文引用的方式并入本文中。此涉及使用高速信令协议,所述高速信令协议使用连接到NV存储器装置的差分数据信令(不具有单独时钟信号)。在一些实施例中,可定义在高速差分数据信令与常规并行总线型NV存储器装置之间介接的桥接装置。

在其中呈二维(2D)阵列的存储器装置布置为通过每列单个存储器总线(通道)访问的若干列中的多个裸片(或库)的存储器系统中,去往存储器装置的命令的调度可能由于有限的共享通道资源而遭受经排队命令在充满命令的队列中阻塞或拖延。命令可能正等待特定裸片上的长时间运行的命令(例如,擦除或编程命令)的完成,而其它命令可以在同一通道上有用地发送到其它裸片。举例来说,图2展示通道控制器110-1中的队列310-1,其存储三个命令:B1擦除311(用以擦除库1上的存储器块)、B1读取312(用以从库1的存储器页读取数据),及B3读取313(用以从库3的存储器页读取数据),所述三个命令将以此次序被传输。由于B1擦除是长时间运行的命令且队列中的所有命令共享专用通道(通道1),因此B1读取必须等待直到B1擦除完成(例如,数十毫秒)。此外,下一命令B3读取必须加入且等待。这致使B1读取312及B3读取313命令由于必须等在B1擦除之后而遭受增加的I/O等待时间。

为解决此问题以及其它问题,在一些实施例中,可用交换式串行架构替代NV存储器控制器到NV存储器装置的常规多点并行总线架构。在一些实施例中,高速串行交换机可插置于存储器控制器的串行通道接口与存储器装置阵列之间。在一些实施例中,多个串行交换机可经布置使得存储器控制器与阵列的任一存储器装置(或者裸片或库)之间的命令及数据传送可执行为来自或去往存储器控制器的串行通道接口中的任一者。利用此配置,可避免及/或缓解通道队列阻塞以及存储器总线拥塞及争用。在一些实施例中,数据可经由串行通道接口以包形式传送。在一些实施例中,可对串行通道接口采用时分多路复用(TDM)方法,其中可通过允许根据固定时隙访问串行通道而划分及共享串行通道的带宽。在一个实施例中,可根据输入/输出命令分配时隙,所述输入/输出命令属于称为输入/输出确定性(IOD)组的群组。IOD组是指具有总体存储器带宽的专用共享的输入/输出命令的群组。在常规系统中,这可通过可用并行存储器通道中的经分配固定数目个并行存储器通道而提供,此具有总体存储器带宽的仅一分率可用于IOD组的缺点。在一个实施例中,IOD组可使用所有可用通道保持全并行传送带宽,但这可通过使用单独的预分配时隙而共享总线且避免所谓的‘嘈杂邻居’组间干扰。‘嘈杂邻居’问题可在邻居节点独占存储器通道带宽、存储器I/O、CPU及其它资源时发生,且其可不利地影响其它用户的性能。嘈杂邻居效应致使共享基础设施的其它节点及应用遭受不均匀I/O性能,例如由于在例如擦除及编程命令等较缓慢命令之后的排队时间而遭受读取命令的增加的等待时间。

在一些实施例中,可在存储器控制器与存储器裸片(或库)之间添加具有多个经互连交换装置(或交换机)的交换层。在一些实施例中,经互连交换装置可与用于介接到老式并行总线存储器裸片的桥接装置合并。在一些实施例中,经互连交换装置可插置于存储器控制器与存储器裸片之间。

在一些实施例中,存储器控制器与存储器装置之间的通信可使用控制包(例如,裸片访问控制(DAC)包)执行。图3展示DAC包的格式,所述DAC包包含多个字段:帧控制201、目的地DAC地址202、源DAC地址203、序列号204、长度205、有效负载(命令或数据)206,及帧校验序列(FCS)207。DAC包可被交换(跨越多个交换机的层)到含有具有目的地DAC地址的裸片的‘下游’物理链路。如果具有目的地DAC地址的裸片未附接到交换机,那么所述包可跨越交换机的层被交换到正确交换机使得所述包被转发到正确下游物理链路。因此,替代在(并行总线)通道控制器与n个存储器裸片之间具有专用1:n关系,具有m个串行存储器通道的存储器控制器可具有m:n关系。在一些实施例中,交换机可并入有桥接功能,所述桥接功能可将DAC协议包解码且翻译为任何并行或串行总线存储器协议。老式并行总线存储器装置可借此附接到交换机且从串行总线存储器控制器接收命令或将数据发送到串行总线存储器控制器。

在一些实施例中,可定义使用DAC包的标头中的源DAC地址及目的地DAC地址(参见图3)的链路层协议,所述DAC包包封发送到存储器裸片的存储器命令或从存储器裸片接收的数据/状态。DAC包中的命令可从通道控制器发送到交换装置。

在一些实施例中,响应于经定义DAC数据链路协议的交换装置可布置为串行总线存储器控制器与存储器装置阵列的存储器总线之间的中间交换层。在一些实施例中,为附接老式并行总线存储器装置,可将桥接功能并入到交换装置中,所述交换装置对DAC包进行解码或编码且向存储器装置发送或从存储器装置接收并行存储器总线命令(或并行存储器总线数据)。

虽然主要是针对NAND快闪存储器装置设计,但本发明的实施例不限于此且可应用于任何存储器技术。

本发明中所描述的系统及方法的一些优点如下。第一,可通过启用从任何通道控制器到任何裸片/从任何裸片到任何通道控制器的交换式路线而避免存储器总线拥塞及争用。在一些实施例中,可启用从存储器控制器的任何队列到任何裸片/从任何裸片到存储器控制器的任何队列的交换式路线。

第二,通过使用通道控制器与交换装置之间其中每目的地(例如,每存储器裸片、每存储器库、每存储器装置)专用时隙提供去往每一目的地的专用总线带宽的TDM总线连接,需要输入/输出确定性(IOD)组的应用可将多个组配置为在对不同组的访问之间不存在干扰的情况下共享单个串行通道控制器。举例来说,可将两个IOD组定义为一个使用来自每一通道的库0的装置,另一个使用来自库1的装置,借此通过针对所述组使用所有可用通道而获得全并行I/O带宽同时仍免除‘嘈杂邻居’问题。

第三,交换装置中的串行到串行桥接功能可在通向存储器控制器的串行TDM总线与存储器装置的就绪/忙碌访问控制型串行总线之间互换命令及数据。

第四,通过利用使用DAC包的通信协议,可使用DAC包内所含的源地址及目的地地址实现个别数据包在通道控制器与存储器裸片之间的路由,其中I/O通信的个别包可根据通道带宽或交换资源的可用性采用不同路线。

图4是图解说明根据一些实施例的使用交换式架构的实例存储器系统4000的框图,实例存储器系统4000可执行本发明中所描述的方法中的任一者。

参考图4,存储器系统4000可包含存储器控制器(或控制器)400及包含交换机440及交换机460的多个交换机(或交换装置)。

存储器控制器400可为NV存储器控制器。存储器控制器400可包含多个串行接口,包含K数目个串行接口480-1到480-K及M数目个串行接口482-1到482-M。在一些实施例中,存储器控制器的串行接口中的一些可耦合到相应队列(例如,图5中的队列515-1、…515-N),使得队列中的存储器命令可被发送到存储器控制器的其对应串行接口。存储器控制器的串行接口可为PHY层(层1)中的串行接口。在一些实施例中,存储器控制器的串行接口可为数据链路层或上部层中的串行接口。

交换机440及460中的每一者可包含多个串行接口。举例来说,交换机440可包含分别连接到存储器控制器400的串行接口480-1到480-K的K数目个串行接口444-1到444-K。类似地,交换机460可包含分别连接到存储器控制器400的串行接口482-1到482-M的M数目个串行接口464-1到464-M。交换机的串行接口可为物理层(PHY)中的串行接口。在一些实施例中,交换机的串行接口可为数据链路层或上部层中的串行接口。在一些实施例中,交换机的串行接口可为物理层(PHY)中的串行全双工接口。

在一些实施例中,交换机440及460中的每一者可包含多个输入/输出(I/O)缓冲器。举例来说,交换机440可包含分别耦合到串行接口444-1到444-K的K数目个I/O缓冲器445-1到445-K。类似地,交换机460可包含分别耦合到串行接口464-1到464-M的M数目个I/O缓冲器465-1到465-M。

交换机440及460中的每一者可包含多个(存储器)端口。举例来说,交换机440可包含分别连接到存储器总线449-1到449-4的四个端口448-1到444-4。每一存储器总线可连接到一组存储器装置(或者一组存储器库或一组存储器裸片)。类似地,交换机460可包含分别连接到存储器总线469-1到469-4的四个端口468-1到468-4。交换机的端口可为PHY层(层1)中通向存储器总线的接口。在一些实施例中,交换机的端口可为数据链路层或上部层中的接口。交换机的每一端口可连接到并行(存储器)总线,并行总线型存储器装置可在所述并行(存储器)总线上传送数据或命令。在一些实施例中,交换机的每一端口可连接到串行(存储器)总线,串行总线型存储器装置可在所述串行(存储器)总线上传送数据或命令。在一些实施例中,交换机的每一端口可连接到并行总线或串行总线中的一者。

在一些实施例中,交换机440及460中的每一者可包含耦合到相应端口的多个存储器侧缓冲器。举例来说,交换机440可包含分别耦合到端口448-1到448-4的四个存储器侧缓冲器447-1到447-4。类似地,交换机460可包含分别耦合到端口468-1到468-4的四个存储器侧缓冲器467-1到467-4。在一些实施例中,存储器侧缓冲器可包含相应队列,使得队列中的数据或命令可以所述数据或命令存储于所述队列中的次序被传送到一组存储器装置。类似地,数据或命令可以从一组存储器装置传送所述数据或命令的次序被存储到存储器侧缓冲器的队列中。

交换机440及460中的每一者可包含可连接于多个串行接口与多个端口之间的一或多个非阻塞交换单元。换句话说,交换机440及460中的每一者的非阻塞交换单元可连接于交换机的多个串行接口中的任一者与交换机的多个端口中的任一者之间,使得数据或命令可在(1)连接到交换机的串行端口的存储器控制器的串行接口中的任一者与(2)连接到交换机的端口的存储器总线中的任一者之间传送。举例来说,交换机440可包含连接于K数目个串行接口444-1到444-K与四个端口448-1到448-4之间的非阻塞交换单元446。类似地,交换机460可包含连接于M数目个串行接口464-1到464-M与四个端口468-1到468-4之间的非阻塞交换单元466。

在一些实施例中,交换机(例如,图4中的440或460)或其非阻塞交换单元可并入有桥接功能,所述桥接功能可将DAC协议包解码且翻译为任何并行或串行总线存储器协议,且反之亦然。DAC包可被交换(跨越多个交换机的层)到含有具有目的地DAC地址的裸片的‘下游’物理链路。在一些实施例中,基于从存储器控制器接收的DAC包,交换机可确定交换机的多个端口当中的端口且将DAC包交换到经确定端口。相反地,基于从存储器总线(连接交换机的端口)接收的DAC包,交换机可确定交换机的多个串行接口当中的串行接口且将DAC包交换到经确定串行接口。在一些实施例中,存储器侧缓冲器可执行桥接功能。在其中存储器总线是并行存储器总线的一些实施例中,桥接可并入有串行/并行及并行/串行转换器,所述串行/并行及并行/串行转换器可将DAC协议包解码且翻译为并行存储器总线协议,且反之亦然。

在一些实施例中,交换机(例如,图4中的440或460)的非阻塞交换单元可经由交换机间连接(或互连总线)连接到另一交换机的非阻塞交换单元。举例来说,交换机440的非阻塞交换单元446可经由第一互连总线443及第二互连总线463连接到交换机460的非阻塞交换单元466。互连总线可为半双工链路或全双工链路。举例来说,两个互连总线443及463可在非阻塞交换单元446与非阻塞交换单元466之间形成全双工链路,使得非阻塞交换单元可彼此同时交换包。

在一些实施例中,使用互连总线,交换机440的非阻塞交换单元446可不仅连接于交换机440的多个串行接口441-1到441-K中的任一者与交换机440的多个端口448-1到448-4中的任一者之间,而且连接于交换机440的多个串行接口441-1到441-K中的任一者与交换机460的多个端口468-1到468-4中的任一者之间。类似地,使用互连总线,交换机460的非阻塞交换单元466可不仅连接于交换机460的多个串行接口461-1到461-M中的任一者与交换机460的多个端口468-1到468-4中的任一者之间,而且连接于交换机460的多个串行接口461-1到461-M中的任一者与交换机440的多个端口448-1到448-4中的任一者之间。即,数据或命令可在(1)连接到第一交换机的串行端口的存储器控制器的串行接口中的任一者与(2)连接到第一交换机的端口的存储器总线及连接到经由互连总线连接到第一交换机的第二交换机的端口的存储器总线中的任一者之间传送。在一些实施例中,基于从存储器控制器接收的DAC包,第一交换机可确定第一交换机的多个端口及经由互连总线连接到第一交换机的第二交换机的多个端口当中的端口,且将DAC包交换到经确定端口。相反地,基于从存储器总线(连接第一交换机的端口)接收的DAC包,第一交换机可确定第一交换机的多个串行接口及经由互连总线连接到第一交换机的第二交换机的多个串行接口当中的串行接口,且将DAC包交换到经确定串行接口。

使用图4中所图解说明的交换式架构,存储器控制器可经由串行接口将数据传送到任一(存储器)端口上的任一存储器装置。举例来说,使用交换机460,存储器控制器可经由串行接口(例如,482-1)将数据传送到端口448-1到448-4及端口468-1到468-4当中的任一存储器端口上的任一存储器装置(经由存储器总线而连接)。在一些实施例中,存储器控制器可经由任一串行接口将数据传送到任一端口上的任一装置。举例来说,存储器控制器可经由串行接口480-1到480-K及串行接口482-1到482-M当中的任一串行接口将数据传送到端口448-1到448-4及端口460-1到469-4当中的任一存储器端口上的任一存储器装置(经由存储器总线而连接)。在一些实施例中,存储器控制器可使用任一交换机将数据传送到任一端口上的任一装置。举例来说,存储器控制器可使用交换机440或交换机460或者两者将数据传送到端口448-1到448-4及端口460-1到469-4当中的任一存储器端口上的任一存储器装置(经由存储器总线而连接)。

在一些实施例中,向交换机(例如,440)的输入及从交换机的输出的时序可由于缓冲及排队(例如,通过I/O缓冲器445-1到445-K及存储器侧缓冲器447-1到447-4)而为独立的。举例来说,来自控制器(例如,存储器控制器400)的传入包可在I/O缓冲器445-1到445-K中缓冲,且去往存储器装置的传出命令/数据可在存储器侧缓冲器/队列447-1到447-4中排队。

图5是图解说明根据一些实施例的使用交换式架构的包含并行存储器装置的实例存储器系统5000的框图。

存储器系统5000包含存储器控制器500及多个交换机540-1到540-N。在存储器控制器500中,多个通道控制器510-1到510-N可分别连接到多个交换机540-1到540-N。每一通道控制器(510-1到510-N中的每一者)可包含具有与图4中的每一串行接口480-1到480-K的配置类似的配置的串行接口(516-1到516-N中的每一者)。每一通道控制器(510-1到510-N中的每一者)可包含可存储数据或命令的队列(515-1到515-N中的每一者),所述数据或命令将以所述数据或命令存储于所述队列中的次序被传输到交换机(交换机540-1到540-N中的一者)。

多个交换机540-1到540-N中的每一者可具有与图4中的交换机440或460的配置类似的配置。每一交换机(540-1到540-N中的每一者)可包含串行接口(545-1到545-N中的每一者)及存储器端口(546-1到546-N中的每一者)。举例来说,串行接口545-1到545-N可具有与图4中的串行接口444-1到444-K的配置类似的配置。存储器端口546-1到546-N可具有与图4中的存储器端口448-1到448-4的配置类似的配置。每一交换机(540-1到540-N)可包含具有与图4中的非阻塞交换单元446的配置类似的配置的交换装置(SW1(541-1)到SWN(541-N))。每一交换机(540-1到540-N)可经配置以执行桥接功能(BR1(542-1)到BRN(542-N)),所述桥接功能可将DAC协议包解码且翻译为任何并行或串行总线存储器协议,且反之亦然。老式并行总线存储器装置可借此附接到交换机且从串行总线存储器控制器接收命令或将数据发送到串行总线存储器控制器。交换机540-1到540-N中的邻近交换机可经由类似于图4中的互连总线443或463的互连总线(543-1、543-2、543-3、…等)彼此连接。举例来说,交换机540-1可经由互连总线543-1连接到交换机540-2。每一互连总线(543-1、543-2、543-3、…)可为半双工链路或全双工链路。举例来说,互连总线543-1可在交换机540-1与交换机540-2之间形成全双工链路,使得所述两个交换机可彼此同时交换包。

交换机的串行接口545-1到545-N可分别经由多个串行总线530-1到530-N连接到存储器控制器500的串行接口516-1到516-N。每一串行总线可为半双工链路或全双工链路。举例来说,在图5中,每一串行总线530-1到530-N可在对应通道控制器与交换机之间形成全双工链路,使得通道控制器与交换机可彼此同时传送数据或命令。

参考图5,在一些实施例中,存储器端口546-1到546-N可分别连接到多个并行存储器总线520-1到520-N,多个并行存储器总线型存储器装置570可在所述多个并行存储器总线上传送数据及命令。在一些实施例中,并行存储器总线型存储器装置570可布置成多个库(例如,库1(551)、库2(552)、库3(553)、库4(554))。使用互连式交换架构,交换机540-1到540-N中的任一者可经由(单个)串行总线从通道控制器接收数据或命令且经由并行存储器总线将数据或命令传送到存储器装置570中的任一者。换句话说,每一交换机可允许单个串行端口向多个存储器总线的‘扇出(fan out)’,所述多个存储器总线中的每一者由多个存储器装置共享。举例来说,如图5中的命令流情境591中所展示,存储器控制器可将命令CMD_a存储于队列515-1中以经由单个串行总线530-1传送到交换机540-1,且然后交换机540-1可经由并行总线520-1将CMD_a传送到库1中的存储器装置。如图5中的命令流情境592中所展示,命令CMD_b可被存储于队列515-2中,经由单个串行总线530-2传送到交换机540-2,且经由互连链路543-2进一步传送到交换机540-3并然后经由并行总线520-3传送到库2中的存储器装置。如图5中的命令流情境593中所展示,命令CMD_c可被存储于队列515-N中,经由单个串行总线530-N传送到交换机540-N。CMD_c可然后分别经由互连链路543-(N-1)、互连链路543-(N-2)、…、互连链路543-1以交换机540-(N-1)、交换机540-(N-2)、…、交换机540-1的次序传送到所述交换机,并然后经由并行总线520-1传送到库3中的存储器装置。

图6是图解说明根据一些实施例的使用交换式架构的包含串行总线存储器装置的实例存储器系统6000的框图。

存储器系统6000包含存储器控制器600及多个交换机640-1到640-N。在存储器控制器600中,多个通道控制器610-1到610-N可分别连接到多个交换机640-1到640-N。每一通道控制器(610-1到610-N中的每一者)可包含具有与图4中的每一串行接口480-1到480-K的配置类似的配置的串行接口(616-1到616-N中的每一者)。每一通道控制器(610-1到610-N中的每一者)可包含可存储数据或命令的队列(615-1到615-N中的每一者),所述数据或命令将以所述数据或命令存储于所述队列中的次序被传输到交换机(交换机640-1到640-N中的一者)。

多个交换机640-1到640-N中的每一者可具有与图4中的交换机440或460的配置类似的配置。每一交换机(640-1到640-N中的每一者)可包含串行接口(645-1到645-N中的每一者)及多个存储器端口(646-1到649-1、…、646-N到649-N中的每一者)。举例来说,串行接口645-1到645-N可具有与图4中的串行接口444-1到444-K的配置类似的配置。存储器端口646-1到649-1、…、646-N到649-N可具有与图4中的存储器端口448-1到448-4的配置类似的配置。每一交换机(640-1到640-N)可包含具有与图4中的非阻塞交换单元446的配置类似的配置的交换装置(SW1(641-1)到SWN(641-N))。每一交换机(640-1到640-N)可经配置以执行桥接功能(BR1(642-1)到BRN(642-N)),所述桥接功能可将DAC协议包解码且翻译为串行总线存储器协议,且反之亦然。交换机640-1到640-N中的邻近交换机可经由类似于图4中的互连总线443或463的互连总线(643-1、643-2、643-3、…等)彼此连接。交换机的串行接口645-1到645-N可分别经由多个串行总线630-1到630-N连接到存储器控制器600的串行接口616-1到616-N。每一串行总线可为半双工链路或全双工链路。举例来说,在图6中,每一串行总线630-1到630-N可在对应通道控制器与交换机之间形成全双工链路,使得通道控制器与交换机可彼此同时传送数据或命令。

参考图6,在一些实施例中,每一交换机的存储器端口可分别连接到多个串行存储器总线。举例来说,交换机640-1的存储器端口646-1到649-1可分别连接到四个串行存储器总线621-1到624-1,库1到4中的存储器装置可分别在所述四个串行存储器总线上传送数据或命令。类似地,交换机640-N的存储器端口646-N到649-N可分别连接到四个串行存储器总线621-N到624-N,库1到4中的存储器装置可分别在所述四个串行存储器总线上传送数据或命令。在一些实施例中,库1到4中的存储器装置可为多个串行存储器总线型存储器装置670。在一些实施例中,交换机的存储器端口中的每一者可连接到存储器装置的可为并行存储器总线或串行存储器总线的个别总线,借此实施较高性能配置。在一些实施例中,存储器总线访问可经由芯片选择来控制。举例来说,目的地存储器装置的选择可经由单独芯片启用引脚(未展示)执行,使得向所述装置的数据传送具有对总线的排他性访问。举例来说,当做出选择使得控制器及所选择存储器装置具有对总线的100%排他性访问时,控制器或交换机可轮流选择存储器装置来发送命令/数据及接收数据/状态。

使用互连式交换架构,交换机640-1到640-N中的任一者可经由(单个)串行总线从通道控制器接收数据或命令且经由串行存储器总线将数据或命令传送到存储器装置670中的任一者。举例来说,如图6中的命令流情境691中所展示,存储器控制器600可将命令CMD_d存储于队列615-1中以经由单个串行总线630-1传送到交换机640-1,且然后交换机640-1可经由串行存储器总线622-1将CMD_d传送到库2中的存储器装置。如图6中的命令流情境692中所展示,命令CMD_e可被存储于队列615-2中,经由单个串行总线630-2传送到交换机640-2,且经由互连链路643-2进一步传送到交换机640-3并然后经由串行存储器总线622-3传送到库2中的存储器装置。如图6中的命令流情境693中所展示,命令CMD_f可被存储于队列615-N中,经由单个串行总线630-N传送到交换机640-N。CMD_f可然后分别经由互连链路643-(N-1)、互连链路643-(N-2)、…、互连链路643-1以交换机640-(N-1)、交换机640-(N-2)、…、交换机640-1的次序传送到所述交换机,且然后经由串行存储器总线623-1传送到库3中的存储器装置。

图7是图解说明根据一些实施例的使用交换式架构的存储器系统7000的实例操作的框图。

存储器系统7000包含存储器控制器700及交换机740。在存储器控制器700中,通道控制器710-1及710-2两者可连接到交换机740。每一通道控制器(710-1及710-2中的每一者)可包含具有与图4中的每一串行接口480-1到480-K的配置类似的配置的串行接口(716-1及716-2中的每一者)。每一通道控制器(710-1及710-2中的每一者)可包含可存储数据或命令的队列(715-1及715-2中的每一者),所述数据或命令将以所述数据或命令存储于所述队列中的次序被传输到交换机740。

交换机740可具有与图4中的交换机440或460的配置类似的配置。交换机740可包含具有与图4中的串行接口444-1到444-K的配置类似的配置的两个串行接口741及742,且包含具有与图4中的存储器端口448-1到448-4的配置类似的配置的四个存储器端口746-1到749。交换机740可包含具有与图4中的非阻塞交换单元446的配置类似的配置的交换装置。交换机740可经配置以执行桥接功能,所述桥接功能可将DAC协议包解码且翻译为任何并行或串行总线存储器协议,且反之亦然。交换机740的串行接口741及742可分别经由两个串行总线730-1及730-2连接到存储器控制器700的串行接口716-1及716-2。存储器端口746到749可分别连接到四个并行存储器总线721到724,布置成库1(751)、库2(752)、库3(753)、库4(754)的多个并行存储器总线型存储器装置可分别在所述四个并行存储器总线上传送数据及命令。

图7展示与图2中所图解说明的情境类似的情境,其中存在三个命令:B1擦除711(用以擦除库1中的存储器块)、B1读取712(用以读取来自库1的存储器页中的数据),及B3读取713(用以读取来自库3的存储器页中的数据),所述三个命令将以此次序被传输。如图7中所展示,存储器控制器700可确定B1擦除711是长时间运行的命令且B1擦除711与B1读取712需要访问同一存储器库,并且将B1擦除711及B1读取712以此次序存储于队列715-1中,并将B3读取713存储于不同队列715-2中。如图7中的命令流情境791中所展示,B1擦除711可然后经由单个串行总线730-1传送到交换机740,且经由并行存储器总线721进一步传送到库1中的存储器装置。现在,如图7中的命令流情境792中所展示,在不具有由于经排队命令在队列中阻塞或拖延导致的任何延迟的情况下,B3读取713可经由单个串行总线730-2传送到交换机740,且经由并行存储器总线721进一步传送到库3中的存储器装置。利用此配置,B3读取不需要等到B1擦除完成,借此避免由于长时间运行的命令在队列中阻塞或拖延导致的延迟(参见图2)。

图8是图解说明根据一些实施例的使用交换式架构的存储器系统8000的另一实例操作的框图。

存储器系统8000包含存储器控制器800及两个交换机840-1及840-2。在存储器控制器800中,通道控制器810-1及810-2可分别连接到交换机840-1及840-2。每一通道控制器(810-1及810-2中的每一者)可包含具有与图4中的每一串行接口480-1到480-K的配置类似的配置的串行接口(816-1及816-2中的每一者)。通道控制器810-1可包含可存储数据或命令的队列815-1,所述数据或命令将以所述数据或命令存储于所述队列中的次序被传输到交换机840-1。类似地,通道控制器810-2可包含可存储数据或命令的队列815-2,所述数据或命令将以所述数据或命令存储于所述队列中的次序被传输到交换机840-2。

每一交换机(840-1及840-2中的每一者)可具有与图4中的交换机440或460的配置类似的配置。交换机840-1可包含具有与图4中的串行接口444-1到444-K的配置类似的配置的串行接口841-1,且包含具有与图4中的存储器端口448-1到448-4的配置类似的配置的四个存储器端口846-1到849-1。类似地,交换机840-2可包含串行接口841-2及四个存储器端口846-2到849-2。每一交换机(840-1及840-2中的每一者)可包含具有与图4中的非阻塞交换单元446的配置类似的配置的交换装置,且可经配置以执行桥接功能,所述桥接功能可将DAC协议包解码且翻译为任何并行或串行总线存储器协议。交换机840-1及840-2的串行接口841-1及841-2可分别经由两个串行总线830-1及830-2连接到存储器控制器800的串行接口816-1及816-2。存储器端口846-1到849-1可分别连接到四个并行存储器总线821-1到824-1,布置成库1(851)、库2(852)、库3(853)、库4(854)的多个并行存储器总线型存储器装置可分别在所述四个并行存储器总线上传送数据及命令。类似地,交换机840-2的存储器端口846-2到849-2可分别连接到四个并行存储器总线821-2到824-2。

图8展示与图2中所图解说明的情境类似的情境,其中存在三个命令:B1擦除811(用以擦除库1上的存储器块)、B1读取812(用以读取来自库1的存储器页中的数据),及B3读取813(用以读取来自库3的存储器页中的数据),所述三个命令将以此次序被传输。如图8中所展示,存储器控制器800可确定B1擦除811是长时间运行的命令且B1擦除811与B1读取812需要访问同一存储器库,并且将B1擦除811及B1读取812以此次序存储于队列815-1中,且将B3读取813存储于不同队列815-2中。如图8中的命令流情境891中所展示,B1擦除811可然后经由单个串行总线830-1传送到交换机840-1,且经由并行存储器总线821-1进一步传送到库1中的存储器装置。现在,如图8中的命令流情境892中所展示,在不具有由于经排队命令在队列中阻塞或拖延导致的任何延迟的情况下,B3读取813可经由单个串行总线830-2传送到交换机840-2,且经由互连链路843-1进一步传送到交换机840-1并然后经由并行存储器总线821-1传送到库3中的存储器装置。虽然因库1 851直到B1擦除命令完成之前是忙碌的,因此B1读取812必定被延迟直到B1擦除811完成,但利用此配置,B3读取813不必等到B1擦除811完成,借此避免由于长时间运行的命令在队列中阻塞或拖延导致的延迟(参见图2)。

在一些实施例中,用于存储及检索数据的存储器系统(例如,图7中的存储器系统7000或图8中的存储器系统8000)可包含控制器(例如,存储器控制器700或存储器控制器800)、第一交换机(例如,图7中的交换机740或图8中的交换机840-1),及多个存储器装置(例如,图7及图8中的布置成库1到库4的存储器装置)。控制器可具有第一串行接口(例如,图8中的串行接口716-1或图8中的串行接口816-1)。第一交换机(例如,图7中的交换机740)可具有一或多个串行接口(例如,图7中的串行接口741及742)及一或多个存储器端口(例如,图7中的存储器端口746到749)。控制器的第一串行接口(例如,串行接口816-1)可经由第一串行总线(例如,图8中的串行总线830-1)通信地连接到第一交换机的一或多个串行接口中的第一串行接口(例如,图8中的串行接口841-1)。第一交换机的一或多个存储器端口(例如,图8中的存储器端口846-1到849-1)中的每一者可经由存储器总线(例如,图8中的存储器总线821-1到存储器总线824-1中的每一者)通信地连接到多个存储器装置的子组。第一交换机可经配置以经由一或多个存储器端口在控制器与多个存储器装置的子组之间传送数据。

在一些实施例中,控制器(例如,存储器控制器700)可具有第二串行接口(例如,串行接口716-2)。控制器的第二串行接口(例如,串行接口716-2)可经由第二串行总线(例如,串行总线730-2)通信地连接到第一交换机(例如,交换机740)的一或多个串行接口中的第二串行接口(例如,串行接口742)。第一交换机可进一步经配置以经由控制器的第一串行接口或第二串行接口中的一者(例如,串行接口716-2)接收第一数据(例如,R1擦除711),确定第一交换机的一或多个存储器端口当中的存储器端口(例如,存储器端口746),确定多个存储器装置的子组当中的存储器装置(例如,库1(751)中的存储器装置),且经由对应于经确定存储器端口的存储器总线(例如,存储器总线721)将数据传送到经确定存储器装置。

在一些实施例中,存储器系统(例如,图5中的存储器系统5000)可进一步包含具有一或多个串行接口及一或多个存储器端口的第二交换机(例如,交换机540-3)。控制器可具有第三串行接口(例如,串行接口516-3),所述第三串行接口经由第三串行总线(例如,串行总线530-3)通信地连接到第二交换机(例如,交换机540-3)的一或多个串行接口中的串行接口(例如,串行接口545-3)。第二交换机(例如,交换机540-3)可经由互连总线(例如,互连总线543-2)连接到第一交换机(例如,交换机540-2)。第二交换机(例如,交换机540-3)可经配置以经由互连总线(例如,互连总线543-2)且经由第二交换机的一或多个存储器端口(例如,存储器端口546)在控制器(例如,控制器500)与多个存储器装置的子组(例如,图5中的库2(552))之间传送数据(例如,图5中的CMD_b)。

在一些实施例中,第一交换机(例如,图4中的交换机440)可经配置以根据串行总线访问协议(例如,DAC协议)经由控制器(例如,图4中的控制器400)的第一串行接口(图4中的串行接口480-1)将数据包(例如,图3中的DAC包)接收到输入缓冲器(例如,图4中的I/O缓冲器445-1)中,将经缓冲数据包解码且依据所接收数据包中的每一者的经解码数据确定目的地地址(例如,图3中的目的地DAC地址202)及存储器命令(例如,图7中的R3读取713),基于所述目的地地址确定第一交换机的一或多个存储器端口(例如,图4中的存储器端口448-1到448-4)及第二交换机的一或多个存储器端口(例如,图4中的存储器端口468-1到468-4)当中的存储器端口,基于所述目的地地址(例如,图3中的目的地DAC地址202)确定多个存储器装置的子组当中的存储器装置,并且经由经确定存储器端口将所述存储器命令传送到经确定存储器装置。

在一些实施例中,第一交换机(例如,图4中的交换机440)可确定目的地地址(例如,图3中的目的地DAC地址202)是第一交换机上的存储器装置还是第二交换机(图4中的交换机460)上的存储器装置。响应于确定目的地地址是第一交换机上的存储器装置,第一交换机可基于所述目的地地址确定第一交换机的一或多个存储器端口(例如,图4中的存储器端口448-1到448-4)当中的存储器端口,基于所述目的地地址确定多个存储器装置的子组当中在第一交换机上的存储器装置,将存储器命令解码,且经由第一交换机的经确定存储器端口将所述存储器命令传送到经确定存储器装置。另一方面,响应于确定目的地地址是第二交换机上的存储器装置,第一交换机可将数据包传送到第二交换机。

在一些实施例中,第二交换机(图4中的交换机460)可根据串行总线访问协议经由互连总线(图4中的第二互连总线463)将数据包接收到第二交换机的输入缓冲器中。第二交换机可将经缓冲数据包解码且依据所接收数据包中的每一者的经解码数据确定目的地地址及存储器命令(例如,图7中的R3读取713)。第二交换机可基于所述目的地地址确定第二交换机的一或多个存储器端口(例如,图4中的存储器端口468-1到468-4)当中的存储器端口,基于所述目的地地址确定多个存储器装置的子组当中在所述交换机上的存储器装置,将所述存储器命令解码,且经由第二交换机的经确定存储器端口将所述存储器命令传送到经确定存储器装置。

在一些实施例中,第一交换机可进一步经配置以依据经解码数据确定与存储器命令相关联的存储器总线数据(例如,与图7中的R3读取713相关联的数据),且经由经确定存储器端口将相关联存储器总线数据传送到经确定存储器装置(例如,图7中的库3中的存储器装置)。

在一些实施例中,存储器总线可为并行总线(例如,图5中的并行存储器总线520-1到520-N)。在一些实施例中,存储器总线可为串行总线(例如,图6中的串行存储器总线621-1到624-1)。

图9是图解说明根据一些实施例的使用交换式架构实施时分多路复用(TDM)方案的实例存储器系统9000的框图。在一些实施例中,在到串行总线型存储器装置的串行总线连接(参见图6)的情形中,控制器与交换机之间的连接可以TDM模式操作,借此可针对每一目的地库定义时隙,从而确保向每一库的命令/数据传送的专用全带宽。在一些实施例中,可定义时隙以确保在用于属于不同IOD组的独立命令及数据传送群组的所支持数据速率、等待时间及带宽可用性方面的最低服务质量(QoS)。图9与图10展示根据一些实施例的两种不同TDM方案。

参考图9,存储器系统900可包含具有与图6中的存储器控制器600的配置类似的配置的存储器控制器(未展示)及具有与图6中的交换机640-1的配置类似的配置的交换机940。存储器控制器可经由时分多路复用(TDM)总线970连接到交换机940。在一些实施例中,TDM总线970可为具有与图6中的串行总线630-1的配置类似的配置且支持全双工数据传输的串行总线。交换机940的存储器端口可分别连接到四个串行存储器总线980,库1到4中的存储器装置可分别在所述四个串行存储器总线上传送数据或命令。在一些实施例中,串行存储器总线980可具有与图6中的串行存储器总线621-1到624-1的配置类似的配置。

存储器系统9000可应用TDM方案,其中针对下游装置分配时隙。举例来说,如图9中所展示,在时间周期n(910)中,可针对库0(951)到库4(954)中的存储器装置分配四个时隙TS0(910-0)到TS3(910-3)。类似地,在时间周期n+1(920)中,可针对库0(951)到库4(954)中的存储器装置分配四个时隙TS0(911-0)到TS3(911-3)。

在一些实施例中,可在控制器与交换机之间执行全双工数据传输,使得从控制器向存储器装置的命令或数据传输(例如,图9中从左向右的下游920)与从存储器装置传回的数据或状态向控制器的传输(例如,图9中从右向左的上游930)可同时执行。类似地,可在交换机与存储器装置之间执行全双工数据传输,使得从交换机向存储器装置的命令或数据传输(例如,图9中从左向右的下游940、941、942、943)与从存储器装置传回的数据或状态向控制器的传输(即,图9中从右向左的上游962)可同时执行。在一些实施例中,可在控制器与交换机之间或在交换机与存储器装置之间执行半双工数据传输。

在一些实施例中,在TDM方案中,目的地是特定存储器装置的命令及数据可仅在专用于所述装置的时隙期间传输。举例来说,如图9中所展示,目的地是库0中的存储器装置的命令Wc(921)及数据Wdat(922)可仅在专用于库0的时隙TS0期间传输;目的地是库1中的存储器装置的命令Ec(923)可仅在专用于库1的时隙TS1期间传输;目的地是库2中的存储器装置的命令Rc(924)可仅在专用于库2的时隙TS2期间传输;且目的地是库3中的存储器装置的命令Wc(925)及数据Wdat(926)可仅在专用于库3的时隙TS0期间传输。

在一些实施例中,如果命令或数据的传输时间超出时隙时间(即,时隙的持续时间),那么命令或数据的传输可在下一时隙中继续。举例来说,如图9中所展示,由于命令Wdat(922)的传输在时隙TS0(910-0)中未完成,因此命令Wdat(922)的传输可在下一时隙TS1(910-1)中继续直到其在时隙TS3(910-3)中完成。在一些实施例中,目的地是存储器装置的命令或数据可在交换机中缓冲且然后使用存储器装置的可为串行存储器总线或并行存储器总线的本地总线继续传输到存储器装置。

在一些实施例中,交换机的上游侧上的传输的信令速率可设定为高于下游侧,使得上游在一个时隙期间传输的数据将占据下游侧上的整个时间周期以匹配在所述时间周期期间发送的数据。在一些实施例中,上游速率可设定为四倍(4x)于下游速率,使得在一时隙时间期间上游数据的量可匹配在整个时间周期(例如,时间周期n)期间下游的量。使用此方案,在一时间周期期间上游数据的量可等于下游中四个命令加数据的量,所述四个命令加数据将被缓冲,然后在同一时间周期中分发到四个个别装置总线。举例来说,参考图9,上游数据Rdat1(931-1)及Rdat2(931-2)的信令速率可设定为四倍于下游数据(例如,命令Wc(921)及数据Wdat(922))的信令速率。

图9中所图解说明的TDM方案的优点是,针对TDM总线(例如,图9中的TDM总线970)上的每一装置存在固定经定义(或有限)带宽,因此对另三个装置的总线活动不影响对给定装置的总线活动。缺点是,甚至在不存在对另三个装置的其它总线活动的情况下,在长达时间周期的3/4内命令可必须通过控制器排队然后其可开始传输到交换机(在时隙TS3期间),因此增加了额外等待时间。

在一些实施例中,可如下应用根据一些实施例的TDM方案。(1)可缓冲在专用时隙期间接收的数据包(例如,图3中的DAC包)。举例来说,可将数据包缓冲于图4中的I/O缓冲器445-1到445-K中。(2)可将经缓冲数据包解码。(3)可基于经解码目的地地址(例如,图3中的目的地DAC地址202)确定存储器端口。(4)可将经解码存储器命令及与其相关联的任何数据插入到存储器侧缓冲器/队列中。举例来说,可将经解码命令或数据插入到图4中的存储器侧队列447-1到447-K中。(5)可从存储器侧队列获取命令及数据(使命令及数据出列)。(6)可由交换机选择目的地存储器装置,且可在存储器总线上将从存储器侧队列获取的命令及数据传送到目的地存储器装置。

在根据一些实施例的TDM方案中,可在控制器与交换机之间经由串行总线的传输中(每控制器、每端口或每装置)分配时隙,而不在经由存储器总线向存储器装置的传输中分配时隙。换句话说,在下游侧上,存储器总线可使用芯片选择来操作以选择存储器装置,使得向或从所述存储器装置的传送具有总线的排他性使用。

在一些实施例中,控制器可经配置以在时间周期(例如,图9中的时间周期n)中分配每目的地(例如,图9中的每存储器库)专用时隙(例如,图9中的TS0到TS3)且在时间周期中的对应时隙期间执行与每一目的地(例如,图9中的库0、库1、库2、库4)上的存储器装置的子组的数据传送。目的地可为存储器端口(例如,图6中的存储器端口646-1到649-1)或存储器装置中的一者。在此情形中,可省略数据包(例如,图3中的DAC包)内的目的地地址,因为由所述包占据的时隙可单独确定目的地(例如,在图9中,TS0到TS3分别具有固定目的地库0到库3)。

在一些实施例中,控制器可经配置以基于请求与仲裁方案分配时隙,借此要访问一或多个时隙(例如,图9中的TS0到TS3)的请求可由控制器从控制器及交换机内的I/O队列接收且被准予访问。以此方式,向/从存储器库的任何数据传送可在任一时隙上进行,前提是控制器已准予对所述时隙的访问。

在一些实施例中,第一交换机(例如,图4中的交换机440)可经配置以根据串行总线访问协议(例如,图3中的DAC协议)经由控制器(例如,图4中的存储器控制器400)的第一串行接口(例如,图4中的串行接口480-1)将数据包(例如,图3中的DAC包)接收到输入缓冲器(例如,图4中的I/O缓冲器445-1)中,将经缓冲数据包解码,且依据所接收数据包中的每一者的经解码数据确定目的地地址(例如,图3中的目的地DAC地址202)、存储器命令及相关联存储器数据。第一交换机可进一步经配置以基于所述目的地地址确定多个存储器装置的子组当中的存储器装置,将来自经解码包中的每一者的存储器命令及存储器数据插入到针对对应于专用时隙(例如,专用于库1的TS0)的目的地的队列(例如,图4中的存储器侧队列447-1)中,且在存储器总线(例如,图6中的串行存储器总线621-1到624-1)上控制经确定存储器装置的芯片选择。

在一些实施例中,控制器可进一步经配置以根据多个输入/输出确定性(IOD)组与多个存储器装置传送数据,且将单独时隙分配到多个IOD组中的每一者,使得根据不同IOD组的数据使用可用存储器端口在彼此不干扰的情况下被传送。举例来说,图9展示至少四个IOD组,包含:(1)时隙TS0被分配到的IOD组,其具有命令Wc(921)及数据Wdat(922);(2)时隙TS1被分配到的IOD组,其具有命令Ec(923);(3)时隙TS2被分配到的IOD组,其具有命令Rc(924);及(4)时隙TS3被分配到的IOD组,其具有命令Wc(925)及数据Wdat(926)。

在一些实施例中,控制器可根据时分多址(TDMA)协议使用多个时隙与多个存储器装置传送数据。在一些实施例中,每一时隙专用于将数据传送到多个存储器装置中的一者,使得向不同存储器装置的数据传送是在彼此不干扰的情况下执行。每一时隙可专用于以一一对应性将数据传送到对应存储器装置。举例来说,图9展示时隙TS0、TS1、TS2及TS3以一一对应性分配到对应存储器装置,使得向不同存储器装置的数据传送是在彼此不干扰的情况下执行。在一些实施例中,多于一个时隙可专用于将数据传送到一个存储器装置,使得向不同存储器装置的数据传送是在彼此不干扰的情况下执行。举例来说,向同一存储器装置的数据传送可使用不同时隙(专用于同一存储器装置),使得其是在彼此不干扰的情况下执行。

图10是图解说明根据一些实施例的使用交换式架构实施另一TDM方案的实例存储器系统的框图。

参考图10,存储器系统1000可包含具有与图6中的存储器控制器600的配置类似的配置的存储器控制器(未展示)及具有与图6中的交换机640-1的配置类似的配置的交换机1040。存储器控制器可经由时分多路复用(TDM)总线1070连接到交换机1040。在一些实施例中,TDM总线1070可为具有与图6中的串行总线630-1的配置类似的配置且支持全双工数据传输的串行总线。交换机1040的存储器端口可分别连接到四个串行存储器总线1080,库1到4中的存储器装置可分别在所述四个串行存储器总线上传送数据或命令。在一些实施例中,串行存储器总线1080可具有与图6中的串行存储器总线621-1到624-1的配置类似的配置。

存储器系统1000可应用TDM方案,其中针对命令或数据分配时隙。举例来说,参考图10,如时分多址(TDMA)帧1018所指示,在时间周期n(1010)中,可针对目的地是库0(1051)到库4(1054)中的存储器装置的命令或数据分配32个时隙(TS0到TS31)。举例来说,在时间周期n(1010)中,针对待传输到库0的命令Wc1(1021)及数据Wdat1(1022)分配时隙TS0到TS1、TS4到TS8及TS11到TS12(11个时隙);针对待传输到库3的命令Rc(1023)分配时隙TS9到TS10(2个时隙);针对待传输到库1的命令Ec(1024)分配时隙TS13到TS14(2个时隙);且针对待传输到库3的命令Wc2(1025)及数据Wdat2(1026)分配时隙TS15到TS20(6个时隙)。可针对时间周期n+1(1020)执行类似时隙分配。

在一些实施例中,可在控制器与交换机之间执行全双工数据传输,使得从控制器向存储器装置的命令或数据传输(例如,图10中从左向右的下游1020)与从存储器装置传回的数据或状态向控制器的传输(例如,图10中从右向左的上游1030)可同时执行。举例来说,参考图10,上游数据Rdat(1031)的上游传输与命令Ec(1024)、命令Wc2(1025)及数据Wdat2(1026)的下游传输可在控制器与交换机之间同时执行。类似地,可在交换机与存储器装置之间执行全双工数据传输,使得从交换机向存储器装置的命令或数据传输(例如,图10中从左向右的下游1040、1041、1042、1043)与从存储器装置传回的数据或状态向控制器的传输(即,图10中从右向左的上游1062)可同时执行。在一些实施例中,可在控制器与交换机之间或在交换机与存储器装置之间执行半双工数据传输。

与其中预定时隙分配是重复的图9中的TDM方案相比,在图10中所图解说明的TDM方案中,对时隙的访问可根据某种约定方案(例如,先到先服务(FCFS)或轮循方案,或优先化方案,或公平共享方案,或者基于装置之间的交易的方案)来仲裁或分配。在一些实施例中,可定义优先化方案,使得对四个装置(装置1到4)的访问可按例如1、2、3/4等的某一阶层次序,这意味着装置1优先于装置2,装置2优先于装置3及4,装置3与4同等优先。在一些实施例中,可基于命令或数据的特性(例如特定命令(例如读取命令或写入(编程)命令)的执行或完成的最小或最大所允许等待时间)定义或确定优先级。举例来说,在图10中,读取命令Rc(1023)可具有超过擦除命令Ec(1025)的优先顺序或优先级,使得针对读取命令Rc(1023)分配的时隙优先于针对擦除命令Ec(1025)分配的时隙。在一些实施例中,可定义公平共享方案,使得保证针对每一装置的访问达到时间周期中的8个时隙。在应用这些时隙分配方案时,存储器控制器、交换机及存储器总线中的至少一者可能够(1)识别所接收包的源/目的地地址;及(2)根据所应用时隙分配方案基于访问优先级在总线(例如,图10中的TDM总线1070或存储器总线1080)上路由所述包。换句话说,替代重复地使用预定时隙分配方案(如图9中所展示),可针对目的地根据约定时隙分配方案(例如,FCFS、优先化方案,或者公平共享方案或基于交易的方案)动态地分配时隙。利用此配置,为访问TDM总线而引入等待时间的可能性可降低,同时仍能够隔离(取决于访问方案,在不同程度上)对特定装置的活动与对其它装置的活动。举例来说,如图10中所展示,读取命令Rc可适合在数据传送的中间且具有超过擦除命令Ec的优先级,借此减少读取操作中的等待时间。

在一些实施例中,存储器系统可具有其中总线是异步的配置。换句话说,在此配置中,包传送可能不同步于固定时隙方案,使得包可在任何时间自由地发生。此配置可应用媒体访问/仲裁方案,以使得能够对所有装置进行公平访问且防止总线的‘占用(hogging)’。在一些实施例中,可应用图9的混杂方案,其中可在经分配时隙内自由地传送包,这可能需要在时隙结束时干净地切断包且在下一经分配时隙开始时重新开始包。

图11是图解说明根据一些实施例的用于在使用交换式架构的存储器系统中存储及检索数据的实例方法的流程图。在一些实施例中,存储器系统(例如,图7中的存储器系统7000或图8中的存储器系统8000)可包含多个存储器装置(例如,图7及图8中布置成库1到库4的存储器装置)、控制器(例如,存储器控制器700或存储器控制器800)、第一交换机(例如,图7中的交换机740或图8中的交换机840-1),及第二交换机(例如,交换机540-3)。控制器可具有一或多个串行接口(例如,图4中的串行接口480-1到480-K及482-1到482-M)。第一交换机及第二交换机中的每一者可具有一或多个串行接口及一或多个存储器端口。控制器的一或多个串行接口中的第一串行接口(例如,图8中的串行接口816-1)可经由第一串行总线(图8中的串行接口816-1)通信地连接到第一交换机的一或多个串行接口中的第一串行接口(例如,图8中的串行接口841-1)。第一交换机的一或多个存储器端口(例如,图8中的存储器端口846-1到849-1)中的每一者可经由存储器总线(例如,图8中的存储器总线821-1到存储器总线824-1中的每一者)通信地连接到多个存储器装置的子组。在一些实施例中,存储器总线可为并行总线(例如,图5中的并行存储器总线520-1到520-N)。在一些实施例中,存储器总线可为串行总线(例如,图6中的串行存储器总线621-1到624-1)。控制器的一或多个串行接口中的第二串行接口(例如,串行接口716-2)可经由第二串行总线(例如,串行总线730-2)通信地连接到第一交换机(例如,交换机740)的一或多个串行接口中的第二串行接口(串行接口742)。控制器的一或多个串行接口中的第三串行接口(例如,图5中的串行接口516-3)可经由第三串行总线(例如,串行总线530-3)通信地连接到第二交换机(例如,交换机540-3)的一或多个串行接口中的串行接口(例如,串行接口545-3)。第二交换机(例如,交换机540-3)可经由互连总线(例如,互连总线543-2)连接到第一交换机(例如,交换机540-2)。

在此实例方法中,过程在框S1102中通过以下操作而开始:由第一交换机(例如,图8中的交换机840-1)经由控制器(例如,存储器控制器800)的第一串行接口(例如,串行接口816-1)或第二串行接口(例如,图4中所展示的其它串行接口)中的一者接收数据(例如,图8中的R1擦除811),以确定第一交换机(例如,图8中的交换机840-1)的一或多个存储器端口及第二交换机(例如,图8中的交换机840-2)的一或多个存储器端口当中的存储器端口。

在框S1104中,可由第一交换机确定是在第一交换机的一或多个存储器端口还是第二交换机的更多个存储器端口当中确定存储器端口。所述数据可为由第一交换机根据串行总线访问协议(例如,DAC协议)经由控制器的第一串行接口(例如,串行接口816-1)接收的数据包(例如,图3中的DAC包)。所接收数据包可由第一交换机解码。在一些实施例中,交换机可使用桥接功能,所述桥接功能可将DAC协议包解码为任何并行或串行总线存储器协议。可由第一交换机依据所接收数据包中的每一者的经解码数据确定目的地地址(例如,图3中的目的地DAC地址202)及存储器命令(例如,图7中的R3读取713)。可由第一交换机依据经解码数据确定与所述存储器命令相关联的存储器总线数据(例如,与图7中的R3读取713相关联的数据)。

在框S1106中,当确定第一交换机时,可由第一交换机确定第一交换机的一或多个存储器端口(例如,图7中的存储器端口746到749)当中的存储器端口(例如,图7中的存储器端口746)。在一些实施例中,可由第一交换机基于依据所接收数据包中的每一者的经解码数据确定的目的地地址(例如,图3中的目的地DAC地址202)而确定第一交换机的一或多个存储器端口当中的存储器端口。

在框S1108中,可由第一交换机确定多个存储器装置(例如,图7中的库1(751)中的存储器装置)的子组当中的存储器装置(例如,图7中的库1(751)中的存储器装置)。在一些实施例中,可由第一交换机基于依据所接收数据包中的每一者的经解码数据确定的目的地地址(例如,图3中的目的地DAC地址202)而确定多个存储器装置的子组当中的存储器装置。

在框S1110中,可由第一交换机经由对应于经确定存储器端口(例如,图7中的存储器端口746)的存储器总线(例如,图7中的并行存储器总线721)将所述数据传送到经确定存储器装置。在一些实施例中,可由第一交换机经由第一交换机的经确定存储器端口(例如,图7中的存储器端口746)将存储器命令传送到经确定存储器装置(例如,图7中的库1(751)中的存储器装置)。在一些实施例中,可由第一交换机经由第一交换机的经确定存储器端口将相关联存储器总线数据(例如,与图7中的R3读取713相关联的数据)传送到经确定存储器装置。

在框S1112中,当确定第二交换机时,可由第二交换机确定第二交换机的一或多个存储器端口(例如,图4中的存储器端口468-1到468-4)当中的存储器端口。在一些实施例中,可由第一交换机基于依据所接收数据包中的每一者的经解码数据确定的目的地地址(例如,图3中的目的地DAC地址202)而确定第二交换机的一或多个存储器端口当中的存储器端口。

在框S1114中,可由第二交换机确定多个存储器装置的子组当中的存储器装置。在一些实施例中,可由第一交换机(例如,图5中的交换机540-2)基于依据所接收数据包中的每一者的经解码数据确定的目的地地址而确定多个存储器装置(例如,连接到图5中的并行存储器总线520-3的存储器装置)的子组当中的存储器装置。

在框S1116中,可由第二交换机(例如,交换机540-3)经由第二交换机(例如,交换机540-3)经由其连接到第一交换机(例如,交换机540-2)的互连总线(例如,图5中的互连总线543-2)且经由第二交换机的经确定存储器端口(例如,存储器端口546-3)在控制器(例如,图5中的存储器控制器500)与经确定存储器装置之间传送数据(例如,图5中的CMD_b)。在一些实施例中,可由第二交换机经由互连总线且经由第二交换机的经确定存储器端口将存储器命令(例如,图5中的CMD_b)传送到经确定存储器装置。在一些实施例中。在一些实施例中,可由第二交换机经由互连总线且经由第二交换机的经确定存储器端口将相关联存储器总线数据(例如,与图5中的CMD_b相关联的存储器总线数据)传送到经确定存储器装置。

图12是图解说明根据一些实施例的用于在使用交换式架构的存储器系统中存储及检索数据的另一实例方法的流程图。

在此实例方法中,过程在框S1202中通过由交换机(例如,图9中的交换机940或图4中的交换机440)在专用时隙(例如,图9中的TS0到TS3)期间接收数据包(例如,图3中的DAC包)而开始。可由交换机根据串行总线访问协议(例如,DAC协议)经由控制器(例如,图4中的控制器400)的第一串行接口(图4中的串行接口480-1)将数据包接收到输入缓冲器(例如,图4中的I/O缓冲器445-1)中。可由控制器在时间周期(例如,图9中的时间周期n)中分配每目的地(例如,图9中的每存储器库)专用时隙(例如,图9中的TS0到TS3),且可在时间周期中的对应时隙期间在每一目的地(例如,图9中的库0、库1、库2、库4)上执行与存储器装置的子组的数据传送。所述目的地可为存储器端口(例如,图6中的存储器端口646-1到649-1)或存储器装置中的一者。

在框S1204中,可由交换机缓冲所接收数据包。举例来说,可将数据包缓冲于图4中的I/O缓冲器445-1到445-K中。

在框S1206中,可由交换机将经缓冲数据包解码。交换机可使用可将DAC协议包解码为任何并行或串行总线存储器协议的桥接功能。可依据所接收数据包中的每一者的经解码数据确定目的地地址(例如,图3中的目的地DAC地址202)、存储器命令及相关联存储器数据。

在框S1208中,可由交换机基于经解码目的地地址(例如,图3中的目的地DAC地址202)确定存储器端口。

在框S1210中,可由交换机将经解码存储器命令及其相关联的任何数据插入到针对对应于专用时隙的目的地(例如,图9中的库0、库1、库2、库4中的一者)的队列(例如,图4中的存储器侧队列447-1)中。举例来说,可将经解码命令或数据插入到图4中的存储器侧队列447-1到447-K中。

在框S1212中,可由交换机从队列(例如,图4中的存储器侧队列447-1)获取命令及数据(使命令及数据出列)。

在框S1214中,可由交换机选择目的地存储器装置。可由第一交换机基于目的地地址(例如,图3中的目的地DAC地址202)确定多个存储器装置(例如,图10中的库0到库1)的子组当中的目的地存储器装置。交换机可使用可将DAC协议包翻译为任何并行或串行总线存储器协议的桥接功能。可由第一交换机在存储器总线(例如,图6中的串行存储器总线621-1到624-1)上控制经确定存储器装置的芯片选择。

在框S1216中,可由交换机在存储器总线上将从队列(例如,图4中的存储器侧队列448-1)获取的命令及数据传送到目的地存储器装置。在一些实施例中,可由控制器根据多个输入/输出确定性(IOD)组与多个存储器装置传送数据。可由控制器将单独时隙分配到多个IOD组中的每一者,使得根据不同IOD组的数据使用可用存储器端口在彼此不干扰的情况下被传送。举例来说,图9展示至少四个IOD组,包含:(1)时隙TS0被分配到的命令Wc(921)及数据Wdat(922)的IOD组;(2)时隙TS1被分配到的命令Ec(923)的IOD组;(3)时隙TS2被分配到的命令Rc(924)的IOD组;及(4)时隙TS3被分配到的命令Wc(925)及数据Wdat(926)的IOD组。

提供前述说明旨在使得所属领域的技术人员能够实践本文中所描述的各种方面。所属领域的技术人员将容易明了对这些方面的各种修改,且本文中所定义的通用原理可应用于其它方面。因此,权利要求书并不打算限制于本文中所展示的方面,而是应被赋予与语言权利要求书相一致的全部范围,其中以单数形式对要素的提及并不打算意指“一个且仅一个”(除非具体如此陈述),而是意指“一或多个”。除非另有具体陈述,否则术语“一些”是指一或多个。所属领域的普通技术人员已知的或后来知晓的在前述说明通篇描述的各种方面的要素的所有结构及功能等效物明确地以引用的方式并入本文中且打算由权利要求书涵盖。此外,本文中所揭示的任何内容均不打算贡献给公众,而不管此发明是否明确地叙述于权利要求书中。任何技术方案要素均不应解释为构件加功能,除非使用短语“用于…的构件”明确地叙述要素。

应理解,所揭示的过程中的框的特定次序或阶层是说明性方法的实例。基于设计偏好,应理解,可在保持于前述说明的范围内的同时重新布置过程中的框的特定次序或阶层。所附方法技术方案以样本次序呈现各种框的要素,且并不意在限于所呈现的特定次序或阶层。

提供所揭示实施方案的前述说明以使得所属领域的技术人员能够制作或使用所揭示的标的物。所属领域的技术人员将易于明了对这些实施方案的各种修改,且本文中所定义的通用原理可在不背离前述说明的精神或范围的情况下应用于其它实施方案。因此,并非打算将前述说明限于本文中所展示的实施方案,而将赋予其与本文所揭示的原理及新颖特征相一致的最宽广范围。

所图解说明及描述的各种实例仅经提供作为实例来图解说明权利要求书的各种特征。然而,关于任一给定实例所展示及描述的特征未必限于相关联实例且可与所展示及描述的其它实例一起使用或组合。此外,权利要求书不打算由任一实例限制。

前述方法说明及过程流程图仅经提供作为说明性实例且并不打算要求或暗指各种实例的框必须以所呈现次序执行。如所属领域的技术人员将了解,前述实例中的框的次序可以任何次序执行。例如“此后”、“然后”、“接下来”等字词并不打算限制框的次序;这些字词仅用于指导读者理解方法的说明。此外,以单数形式对技术方案要素的任何提及(举例来说,使用冠词“一(a)”、“一(an)”或“所述(the)”)不应解释为将要素限制为单数。

结合本文中所揭示的实例描述的各种说明性逻辑块、模块、电路及算法块可实施为电子硬件、计算机软件或两者的组合。为清晰地图解说明硬件与软件的此可互换性,上文通常已就各种说明性组件、块、模块、电路及块的功能性对其进行了描述。此功能性是实施为硬件还是软件取决于特定应用及施加于总体系统上的设计约束。虽然所属领域的技术人员可针对每一特定应用以不同的方式实施所描述功能性,但不应将此类实施方案决策解释为导致背离本发明的范围。

可用经设计以执行本文中所描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中所揭示的实例所描述的各种说明性逻辑、逻辑块、模块及电路。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器联合DSP核心的组合或任何其它此类配置。替代地,一些块或方法可通过特定于给定功能的电路系统来执行。

在一些示范性实例中,所描述的功能可以硬件、软件、固件或其任一组合实施。如果以软件实施,那么功能可作为一或多个指令或代码存储于非暂时性计算机可读存储媒体或非暂时性处理器可读存储媒体上。本文中所揭示的方法或算法的框可体现于可驻存于非暂时性计算机可读或处理器可读存储媒体上的处理器可执行软件模块中。非暂时性计算机可读或处理器可读存储媒体可为可由计算机或处理器存取的任何存储媒体。以实例而非限制方式,此类非暂时性计算机可读或处理器可读存储媒体可包含RAM、ROM、EEPROM、快闪存储器、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常磁性地再现数据而光盘借助激光光学地再现数据。以上各项的组合也包含于非暂时性计算机可读及处理器可读媒体的范围内。另外,方法或算法的操作可作为一个或任何代码及/或指令组合或集合驻存于可并入到计算机程序产品中的非暂时性处理器可读存储媒体及/或计算机可读存储媒体上。

所揭示实例的前述说明经提供以使得所属领域的技术人员能够做出或使用本发明。所属领域的技术人员将易于明了对这些实例的各种修改,且本文中所定义的通用原理可在不背离本发明的精神或范围的情况下应用于一些实例。因此,本发明并不打算限制于本文中所展示的实例,而是被赋予与本文中所揭示的所附权利要求书及原理以及新颖特征相一致的最宽广范围。

38页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于目标刷新操作的交错时序的设备及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!