CN117908767A - 读取数据对准 - Google Patents
读取数据对准 Download PDFInfo
- Publication number
- CN117908767A CN117908767A CN202311315122.5A CN202311315122A CN117908767A CN 117908767 A CN117908767 A CN 117908767A CN 202311315122 A CN202311315122 A CN 202311315122A CN 117908767 A CN117908767 A CN 117908767A
- Authority
- CN
- China
- Prior art keywords
- memory
- notification
- memory controllers
- physical layer
- command
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 241
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000000903 blocking effect Effects 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 208000032369 Primary transmission Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Abstract
描述与用于读取数据对准的控制器架构相关的系统、设备及方法。一种实例方法能够包含:将第一通知从物理层发送到数个存储器控制器中的每一者,其中所述第一通知指示所述物理层及/或耦合到所述物理层的存储器装置忙碌;以及响应于接收到所述第一通知而在所述数个存储器控制器中的每一者上阻止命令以引起读取数据对准。所述方法还能够包含:将第二通知从所述物理层发送到所述数个存储器控制器中的每一者,其中所述第二通知指示所述物理层及/或耦合到所述物理层的所述存储器装置不再忙碌;以及响应于接收到所述第二通知而在所述数个存储器控制器中的每一者上恢复处理命令。
Description
技术领域
本公开大体上涉及半导体存储器及方法,且更特定来说,涉及用于读取数据对准的设备、系统及方法。
背景技术
存储器装置通常作为计算机或其它电子系统中的内部半导体集成电路系统提供。存在许多不同类型的存储器,其包含易失性及非易失性存储器。易失性存储器可需要电力来维护其数据(例如,主机数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)等。非易失性存储器可通过在未通电时留存所存储数据来提供持久数据并且可包含NAND快闪存储器、NOR快闪存储器、铁电随机存取存储器(FeRAM)及电阻可变存储器(例如相变随机存取存储器(PCRAM))、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM),例如自旋转矩转移随机存取存储器(STT RAM)等。
存储器装置可耦合到主机(例如,主机计算装置),以存储数据、命令及/或指令供主机在计算机或电子系统操作时使用。举例来说,在计算或其它电子系统的操作期间,可在主机与存储器装置之间传送数据、命令及/或指令。控制器可用于管理在主机与存储器装置之间传送数据、命令及/或指令。
发明内容
本公开的一个方面涉及一种方法,其包括:将第一通知从物理层发送到数个存储器控制器中的每一者,其中所述第一通知指示所述物理层及/或耦合到所述物理层的存储器装置忙碌;响应于接收到所述第一通知而在所述数个存储器控制器中的每一者上阻止命令以引起读取数据对准;将第二通知从所述物理层发送到所述数个存储器控制器中的每一者,其中所述第二通知指示所述物理层及/或耦合到所述物理层的所述存储器装置不再忙碌;以及响应于接收到所述第二通知而在所述数个存储器控制器中的每一者上恢复处理命令。
本公开的另一方面涉及一种方法,其包括:在命令总线上将命令从中央控制器发送到数个存储器控制器中的每一者;将所述命令从所述数个存储器控制器中的每一者发送到数个存储器装置中的每一者;在所述数个存储器控制器中的每一者处从所述数个存储器装置中的每一者接收与所述命令相关联的数据;以及在所述中央控制器处经由数据总线从数个存储器控制器中的每一者接收与所述命令相关联的所述数据。
本公开的另一方面涉及一种设备,其包括:中央控制器;数个存储器控制器,其经由数据总线及命令总线耦合到所述中央控制器,其中所述数个存储器控制器中的每一者包含数个物理层中的一者;及数个存储器装置,其中所述数个存储器装置中的每一特定存储器装置耦合到所述数个存储器控制器中的特定存储器控制器,其中所述设备经配置以:将第一通知从所述数个物理层中的物理层发送到所述数个存储器控制器中的每一者,其中所述第一通知指示所述物理层及/或耦合到所述物理层的所述数个存储器装置中的存储器装置忙碌;响应于接收到所述第一通知而在所述数个存储器控制器中的每一者上阻止命令;将第二通知从所述物理层发送到所述数个存储器控制器中的每一者,其中所述第二通知指示所述物理层及/或耦合到所述物理层的所述存储器装置不再忙碌;以及响应于接收到所述第二通知而在所述数个存储器控制器中的每一者上恢复处理命令。
附图说明
图1是根据本公开的数个实施例的包含存储器控制器的计算系统的框图。
图2是根据本公开的数个实施例的具有耦合到数个存储器装置的数个通道的控制器的框图。
图3是根据本公开的数个实施例的经配置用于读取数据对准的控制器的框图。
图4是根据本公开的数个实施例的用于操作经配置用于读取数据对准的控制器的方法的框图。
具体实施方式
描述与用于读取数据对准的控制器架构相关的系统、设备及方法。控制器可在存储器系统内,所述存储器系统可为存储器模块、存储装置或存储器模块与存储装置的混合。存储器控制器可经由可被组织为数个通道群组的数个存储器通道耦合到数个存储器装置。
数个存储器通道可独立工作或作为整体一起工作。当所述数个存储器通道一起工作时,在对读取数据进行任何进一步处理之前,读取数据必须到达中央控制器。因此,如果读取数据没有在同一时间传回或以不同顺序传回,那么中央控制器将不能够进一步处理读取数据,这可增加存储器系统的延时。此延时可由于PHY存储器接口上的物理层触发训练、中央控制器在数个存储器通道上向存储器控制器发出不同命令、存储器控制器寄存器在不同时间被编程及/或存储器控制器在不同时钟时间运行以及其它延时原因而引入。
在本公开的数个实施例中,中央控制器可经由命令总线耦合到数个存储器控制器。命令总线可将中央控制器耦合到存储器控制器中的每一者。当中央控制器发出命令时,命令在命令总线上被发送到所述数个存储器控制器中的每一者。中央控制器在命令总线上发送命令,使得所述数个存储器控制器中的每一者接收命令,因此,在命令总线上将命令从中央控制器发送到数个存储器控制器可减少及/或消除由在数个存储器控制器当中接收不同命令引起的存储器系统中的延时。
在本公开的数个实施例中,中央控制器可经由数据总线耦合到数个存储器控制器。数据总线可将中央控制器耦合到所述数个存储器控制器中的每一者。当所述数个存储器控制器将数据发送到中央控制器时(响应于经由命令总线从中央控制器接收的命令,在数据总线上将读取数据从所述数个存储器控制器中的每一者发送到中央控制器上的数据缓冲器。所述数个存储器控制器可在数据总线上发送读取数据,使得中央控制器接收对应于经由命令总线被从中央控制器发送到存储器控制器的命令的读取数据,因此在将中央控制器耦合到所述数个存储器控制器中的每一者的数据总线上将读取数据从所述数个存储器控制器发送到中央控制器可减少及/或消除由在所述数个存储器控制器当中接收不同命令引起的存储器系统中的延时。
在本公开的数个实施例中,可经由边带总线将数个存储器控制器耦合到数个PHY存储器接口上的物理层。边带总线可包含逻辑门,使得从边带总线上的物理层中的一者发送的任何信号将被发送到所述数个存储器控制器中的每一者。当物理层中的一者忙碌时(例如,忙于请求训练),可在边带总线上将物理层忙碌的通知(例如,信号)发送到逻辑门。所述通知可由逻辑门接收,且在边带总线上从逻辑门传输到所述数个存储器控制器中的每一者。当所述数个存储器控制器中的每一者接收到通知时,所述数个存储器控制器可阻止执行命令。响应于接收到通知,所述数个存储器控制器可在物理层中的一或多者忙碌时阻止执行命令,因此在边带总线上将通知发送到所述数个存储器控制器中的每一者可减少及/或消除由存储器通道中的一者不能够执行命令引起的存储器系统中的任何延时。
当物理层中的一者不再忙碌时(例如,训练操作完成),可在边带总线上将物理层不再忙碌的另一通知(例如,信号)发送到逻辑门。所述通知可由逻辑门接收,且在边带总线上从逻辑门传输到所述数个存储器控制器中的每一者。当所述数个存储器控制器中的每一者接收到通知时,所述数个存储器控制器可恢复执行命令。响应于接收到指示物理层中的一或多者不再忙碌的通知,数个存储器控制器可恢复执行命令,因此在边带总线上将通知发送到所述数个存储器控制器中的每一者可减少及/或消除由存储器通道中的一者忙碌且不能够执行命令引起的存储器系统中的任何延时。
如本文所使用,单数形式“一”及“所述”包含单数及复数指示物,除非内容另有明确指示。此外,贯穿此申请案以允许意义(即,有可能、能够)而不以强制意义(即必须)使用词语“可”。术语“包含”及其派生词意指“包含(但不限于)”。如本文使用,“耦合到”或“与…耦合”通常指组件之间的连接,其可为间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线,包含例如电、光学、磁及类似者的连接。术语“数据”及“数据值”在本文中可互换使用,并且可具有相同含义,视上下文而定。
本文中的图式遵循编号惯例,其中第一个或前几个数字对应于图式图号,并且其余数字标识图式中的元件或组件。可通过使用类似数字来标识不同图式之间的类似元件或组件。举例来说,元件122在图1中可表示元件“22”,且类似元件在图2中可标记为222。图式内的类似元件可用连字符及额外的数字或字母参考。将了解,在本文的各种实施例中展示的元件可被添加、交换及/或消除,以便提供本公开的数个额外实施例。另外,应了解,图中所提供的元件的比例及相对尺度希望说明本发明的某些实施例,且不应被视为意在限制。
图1是根据本公开的数个实施例的包含存储器控制器100的计算系统101的框图。存储器控制器100包含前端部分104、中央控制器部分110及后端部分119。计算系统101包含主机103及耦合到存储器控制器100的存储器装置126-1、…、126-N。计算系统101可为例如高性能计算(HPC)数据中心以及各种其它类型的计算系统(例如,服务器、台式计算机、膝上型计算机、移动装置等)。
尽管图1中未展示,但前端部分104可包含物理(PHY)层及前端控制器以用于通过数个总线102-1、102-2、…、102-M与主机103介接,所述数个总线可包含数个输入/输出(I/O)通路。所述数个总线102-1、102-2、…、102-M可包含数据、地址及控制总线的各种组合,其可为单独总线或一或多个组合总线。在至少一个实施例中,存储器控制器100与主机103之间的接口可为根据计算快速链路(CXL)协议操作的外围组件互连快速(PCIe)物理及电气接口。作为非限制性实例,所述数个总线102-1、102-2、…、102-M可为根据CXL 2.0规范操作的PCIe 5.0接口或根据CXL 3.0规范操作的PCIe 6.0接口。
CXL是经设计以加速下一代数据中心性能的一种高速中央处理单元(CPU)到装置及CPU到存储器互连件。CXL技术维持CPU存储器空间与附接装置(例如加速器、存储器缓冲器及智能I/O装置)上的存储器之间的存储器一致性,其允许资源共享以实现更高性能、降低的软件堆栈复杂性及降低总体系统成本。CXL经设计为用于高速通信的行业开放标准接口,因为加速器越来越多地用于补充CPU以支持例如人工智能及机器学习的新兴应用。CXL技术构建在PCIe基础设施上,利用PCIe物理及电接口在例如输入/输出(I/O)协议、存储器协议(例如,最初允许主机与加速器共享存储器)及一致性接口的领域中提供高级协议。CXL提供具有类似于PCIe的I/O语义(例如,CXL.io)、高速缓存协议语义(例如,CXL.cache)及存储器存取语义(CXL.mem)的协议。
中央控制器部分110可负责控制与执行来自主机103的存储器存取请求(例如,读取命令及写入命令)相关联的各种操作。例如,如下文进一步描述,中央控制器部分110可包含各种错误电路系统(例如,错误检测及/或校正电路系统),其能够产生错误检测及/或错误校正信息以用于提供与向存储器装置126写入数据及/或从存储器装置126读取数据相关联的数据可靠性。如本文进一步描述,例如,此错误检测及/或校正电路系统可包含错误校正码(ECC)电路系统、低功率芯片猎杀(LPCK)电路系统及/或“芯片猎杀”电路系统。
后端部分119可包含数个存储器通道控制器(例如,媒体控制器)及将存储器控制器100耦合到存储器装置126的物理(PHY)层。如本文所使用,术语“PHY层”通常是指计算系统的开放系统互连(OSI)模型中的物理层。PHY层可为OSI模型的第一(例如,最低)层,且可用于通过物理数据传输媒体传送数据。在各种实施例中,物理数据传输媒体包含存储器通道125-1、…、125-N。存储器通道125-1、…、125-N可为例如到两个8位(x8)装置的16位通道,尽管实施例不限于特定后端接口。作为另一个实例,存储器通道125-1、…、125-N可各自还可包含双引脚数据掩码反转(DMI)总线以及其它可能总线配置。后端部分119可经由对应于相应存储器通道125-1、…、125-N的物理引脚与存储器装置126-1、…、126-N交换数据(例如,用户数据及错误检测及/或校正数据)。如本文进一步描述,在数个实施例中,存储器通道125可被组织为数个通道群组,其中每一群组的存储器通道与执行各种存储器存取操作及/或错误检测及/或校正操作相关联地一起被存取。
存储器装置126-1、…、126-N可例如为根据例如低功率双倍数据速率(LPDDRx)的协议操作的动态随机存取存储器(DRAM)装置,其在本文中可称为LPDDRx DRAM装置、LPDDRx存储器等。LPDDRx中的“x”指代若干代协议中的任一者(例如,LPDDR5)。然而,实施例不限于特定类型的存储器装置126-1、…、126-N。例如,存储器装置126-1、…、126-N可为FeRAM装置。
在一些实施例中,存储器控制器100可包含管理单元105,以初始化、配置及/或监测存储器控制器100的特性。管理单元105可包含用以管理带外数据及/或命令的I/O总线,用以执行与初始化、配置及/或监测存储器控制器的特性相关联的指令的管理单元控制器,以及用以存储与初始化、配置及/或监测存储器控制器100的特性相关联的数据的管理单元存储器。如本文所使用,术语“带外”通常是指不同于网络的主要传输媒体的传输媒体。例如,带外数据及/或命令可为使用与用于在网络内传送数据的传输媒体不同的传输媒体传送到网络的数据及/或命令。
图2是根据本公开的数个实施例的具有耦合到数个存储器装置的数个通道的控制器的框图。如在图2中展示,控制器200可包含前端部分204、中央控制器部分210及后端部分219。控制器200可为控制器,例如图1中描述的控制器100。
前端部分204包含用于经由通信链路202与主机介接的前端PHY 205,所述通信链路202可为例如CXL链路。前端204包含前端控制器206以管理接口且与中央控制器部分210通信。在其中链路202是CXL链路的实施例中,前端控制器206经配置以根据CXL协议来(例如,从主机)接收针对存储器装置226-1、…、226-X的存储器存取请求。
如在图2中所展示,中央控制器部分210可包含媒体管理层(MML)212,其可用于将根据特定协议的存储器存取请求(例如,CXL兼容请求)转译为符合特定存储器控制器200及/或特定类型的存储器媒体(例如,存储器装置226-1、…、226-X)的协议。中央控制器部分210还可包含高速缓存211,其可包含相关联高速缓存控制器。例如,高速缓存211可用于临时存储(例如,由主机)频繁存取的数据。
中央控制器部分210进一步包含安全组件214以加密/解密数据(例如,对应于写入命令的UDB)。从高速缓存211接收且呈明文形式的数据(例如,对应于高速缓存行的数据)可被输入(例如,传送)到安全组件214,且可作为在安全组件214处被加密的结果而转换为密文。如本文所使用,呈密文形式的UDB可替代地称为“加密的UDB”,其可替代地被称为“UDB的加密版本”。尽管实施例不如此受限,但安全组件214可使用AES加密/解密(例如,算法)来操作。
如在图2中所展示,存储器控制器200可包含耦合到中央控制器部分210的后端部分219。后端部分219可包含分别耦合到PHY存储器接口224-1、…、224-X的存储器控制器221-1、…、221-X。PHY存储器接口224-1、…、224-X分别经由存储器通道225-1、…、225-X耦合到存储器装置226-1、…、226-X。
存储器控制器221-1、…、221-X可大体上同时用于大体上同时驱动通道225-1、…、225-X。在至少一个实施例中,存储器控制器221-1、…、221-X中的每一者可接收相同命令及地址,且大体上同时驱动通道225-1、…、225-X。通过使用相同命令及地址,存储器控制器221-1、…、221-X中的每一者可利用通道225-1、…、225-X对相同存储器单元执行相同存储器操作(例如,对共享公共地址的存储器单元执行存储器操作)。
如本文所使用,术语“大体上”意味着特性不需要是绝对的,而是足够接近以便于实现特性的优点。例如,“大体上同时”不限于绝对同时执行的操作,且可包含预期为同期但由于制造限制而可能不精确同时的时序。例如,由于各种接口(例如,LPDDR5与PCIe)可能展现的读取/写入延迟,“大体上同时”利用的媒体控制器可能不在完全相同的时间开始或结束。例如,可利用存储器控制器,使得其在同一时间向存储器装置写入数据,而不管媒体控制器中的一者是否在另一者之前开始或终止。
PHY存储器接口224-1、…、224-X可为LPDDRx存储器接口。在一些实施例中,PHY存储器接口224-1、…、224-X中的每一者可包含数据及DMI引脚。例如,每一PHY存储器接口224可包含四个数据引脚(DQ引脚)及一个DMI引脚。媒体控制器221-1、…、221-X可经配置以经由数据引脚与相应数目个存储器装置226-1、…、226-X交换数据(例如,UDB及/或辅助数据)。DMI引脚可通过设置模式寄存器来发挥多个功能,例如数据掩码、数据总线反转及读取操作的奇偶校验。DMI总线使用双向信号。在一些例子中,数据的每一传送字节具有经由DMI引脚发送的用于选择数据的对应信号。在一些实施例中,可同时利用同一存储器芯片的DMI及DQ引脚,使得可经由DMI及DQ引脚同时从存储器裸片传送及/或交换数据。
存储器通道225-1、…、225-X可独立工作或作为整体一起工作。当存储器通道225-1、…、225-X一起工作时,在对读取数据进行任何进一步处理之前,来自存储器通道225-1、…、225-X中的每一者的读取数据必须到达中央控制器210。因此,如果存储器控制器225-1、…、225-X不同时传回读取数据或者以不同顺序传回读取数据(例如,以与接收命令的顺序不同的顺序在存储器装置上执行命令),那么中央控制器210将不能够进一步处理读取数据,这可增加存储器系统的延时。此延时可由于PHY存储器接口224上的物理层触发训练、中央控制器210在数个存储器通道上向存储器控制器221发出不同命令、存储器控制器寄存器在不同时间被编程及/或存储器控制器221在不同时钟时间运行以及其它延时原因而引入。
在数个实施例中,中央控制器210可经由命令总线230耦合到存储器控制器221-1、…、221-X。命令总线230可将中央控制器210耦合到存储器控制器221-1、…、221-X中的每一者。当中央控制器210发出命令时,命令在命令总线230上被发送到存储器控制器221-1、…、221-X中的每一者。中央控制器210在命令总线230上发送命令,使得存储器控制器221-1、…、221-X中的每一者接收命令,因此在命令总线230上将命令从中央控制器210发送到存储器控制器221-1、…、221-X中的每一者可确保每一存储器控制器221-1、…、221-X从中央控制器210接收相同命令,因此减少及/或消除由于在存储器控制器221-1、…、221-X当中接收不同命令而引起的存储器系统中的延时。中央控制210可在命令总线230上将命令发送到存储器控制器221-1、…、221-X中的每一者以对存储器控制器221-1、…、221-X上的寄存器进行编程。响应于在命令总线230上从中央控制器210接收命令,可对存储器控制器221-1、…、221-X上的寄存器进行编程。在命令总线230上将命令发送到存储器控制器221-1、…、221-X中的每一者可致使存储器控制器221-1、…、221-X在大体上相同时间及以大体上相同方式进行编程。
在数个实施例中,中央控制器210可经由数据总线232耦合到存储器控制器221-1、…、221-X。数据总线232可将中央控制器210耦合到存储器控制器221-1、…、221-X中的每一者。当存储器控制器221-1、…、221-X正在将数据发送到中央控制器210(响应于经由命令总线230从中央控制210接收的命令)时,在数据总线232上将读取数据从存储器装置226-1、…、226-X、PHY存储器接口224-1、…、224-X及存储器控制器221-1、…、221-X中的一者发送到中央控制器210上的数据缓冲器228。存储器控制器221-1、…、221-X可在数据总线232上发送读取数据,使得中央控制器210经由命令总线230从中央控制器210接收对应于发送到存储器控制器221-1、…、221-X的命令的读取数据。因此,在将中央控制器210耦合到所述数个存储器控制器221-1、…、221-X的数据总线232上将读取数据从存储器控制器221-1、…、221-X发送到中央控制器210可致使中央控制器210在大致相同时间接收读取数据,从而允许中央控制器210继续处理读取数据且减少及/或消除由在存储器控制器221-1、…、221-X当中接收不同命令及/或不同读取数据被发送到中央控制器210引起的存储器系统中的延时。
图3是根据本公开的数个实施例的经配置用于读取数据对准的控制器的框图。图3包含后端部分(类似于图1中的后端部分119及图2中的后端部分219)。存储器控制器321-1、…、321-X及PHY存储器接口324-1、…、324-X可类似于图2中所说明的存储器控制器221-1、…、221-X及PHY存储器接口224-1、…、224-X。
在图3中,存储器控制器321-1、…、321-X可经由边带总线的数个第一部分344-1、…、344-X耦合到PHY存储器接口324-1、…、324-X上的物理层。边带总线可包含逻辑门336,使得在边带总线上从物理层中的一者发送的任何信号将经由边带总线的第二部分338发送到存储器控制器321-1、…、321-X中的每一者。边带总线的第二部分338将逻辑门336耦合到存储器控制器321-1、…、321-X中的每一者。逻辑门336可经由边带总线的数个第一部分344-1、…、344-X从PHY存储器接口324-1、…、324-X上的物理层中的任何者接收信号。响应于从PHY存储器接口324-1、…、324-X上的物理层中的一或多者接收信号,逻辑门336可经由边带总线的第二部分338将经由边带总线的数个第一部分344-1、…、344-X接收的信号发送到存储器控制器321-1、…及321-X中的每一者。
当PHY存储器接口324-1、…、324-X上的物理层中的一者忙碌(例如,忙于请求及/或执行训练)时,可在边带总线的所述数个第一部分344-1、…、344-X中的一者上将物理层忙碌的通知发送到逻辑门336。所述通知可由逻辑门336接收,且从逻辑门336传输到边带总线的第二部分338上的所述数个存储器控制器中的一者。当存储器控制器321-1、…、321-X中的每一者接收通知时,存储器控制器321-1、…、321-X可阻止执行命令。在PHY存储器接口324-1、…、324-X上的物理层中的一或多者忙碌时,存储器控制器321-1、…、321-X可响应于接收到通知而阻止执行命令,因此在边带总线上将通知发送到存储器控制器321-1、…、321-X中的每一者可减少及/或消除由存储器通道中的一者不能够执行命令而引起的存储器系统中的任何延时。
存储器控制器321-1、…、321-X可经由总线340-1、…、340-X耦合到PHY存储器接口324-1、…、324-X。与忙碌的物理层位于同一通道上的存储器控制器可经由总线340-1、…、340-X将确认(例如,信号)发送到忙碌的物理层,以指示存储器控制器接收到物理层忙碌的通知。例如,当PHY存储器接口324-1上的物理层经由边带的第一部分344-1、…、344-X、逻辑门336及第二部分338将物理层忙碌的通知发送到存储器控制器321-1、…、321-X中的每一者时,与PHY存储器口324-1上的物理层位于同一通道上的存储器控制器321-1可在总线340-1上发送接收到物理层忙碌的通知的确认。
当PHY存储器接口324-1、…、324-X上的物理层中的一者不再忙碌时(例如,训练操作完成),可在边带总线的数个第一部分344-1、…、344-X上发送物理层不再忙碌的另一通知(例如,第二信号)。所述通知可由逻辑门336接收,且经由边带总线的第二部分338从逻辑门336传输到存储器控制器321-1、…、321-X中的每一者。存储器控制器321-1、…、321-X可响应于接收到通知而恢复执行命令。存储器控制器321-1、…、321-X可响应于接收指示物理层中的一或多者不再忙碌的通知而恢复执行命令,因此,在边带总线上将通知发送到所述数个存储器控制器中的每一者可减少及/或消除由存储器通道中的一者忙碌且不能够执行命令而引起的存储器系统中的任何延时。
存储器控制器321-1、…、321-X可经由总线340-1、…、340-X耦合到PHY存储器接口324-1、…、324-X。与不再忙碌的物理层位于同一通道上的存储器控制器可经由总线340-1、…、340-X将确认(例如,信号)发送到不再忙碌的物理层,以指示存储器控制器接收到物理层不再忙碌的通知。例如,当PHY存储器接口324-1上的物理层经由边带的第一部分344-1、…、344-X、逻辑门336及第二部分338将物理层不再忙碌的通知发送到存储器控制器321-1、…、321-X中的每一者时,与PHY存储器口324-1上的物理层位于同一通道上的存储器控制器321-1可在总线340-1上发送接收到物理层不再忙碌的通知的确认。
图4是根据本公开的数个实施例的用于操作经配置用于读取数据对准的控制器的方法的框图。本文描述的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。尽管以特定序列或顺序展示,除非另有指定,否则可修改过程的顺序。因此,所说明实施例应仅被理解为实例,并且所说明过程可以不同顺序执行,并且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。
在450处,所述方法可包含将第一通知从物理层发送到数个存储器控制器中的每一者,其中第一通知指示物理层及/或耦合到物理层的存储器装置忙碌。
物理层可归因于启动训练操作而忙碌。可基于物理层及/或耦合到物理层的存储器装置上的温度改变来启动训练操作。
在452处,所述方法可包含响应于接收到第一通知而在数个存储器控制器中的每一者上阻止命令以引起读取数据对准。
在一或多个物理层忙碌且不能够执行命令时存储器控制器可阻止执行命令以引起读取数据对准,使得当存储器控制器将命令发送到物理层时物理层中的每一者能够执行命令且传回(例如,在通道中的每一者上从存储器装置传回)到中央控制器的读取数据被对准。
在454处,所述方法可包含将第二通知从物理层发送到所述数个存储器控制器中的每一者,其中第二通知指示物理层及/或耦合到物理层的存储器装置不再忙碌。
在456处,所述方法可包含响应于接收到第二通知而在所述数个存储器控制器中的每一者上恢复处理命令。一旦一或多个物理层不再忙碌且不能够执行命令,存储器控制器就可响应于接收到第二通知而恢复执行命令,以确保在存储器控制器恢复将命令发送到物理层时物理层中的每一者能够执行命令。
尽管本文已经说明及描述特定的实施例,但是所属领域的一般技术人员将了解,经计算以实现相同结果的布置可代替所展示的特定实施例。本公开希望涵盖本公开的一或多个实施例的调适或变化。应了解,上述描述已以说明性方式而非限制性方式进行。所属领域的技术人员在审阅上文描述之后将明白上文实施例的组合及未在本文中明确描述的其它实施例。本公开的一或多个实施例的范围包含使用上述结构及过程的其它应用。因此,应参考所附权利要求书以及此权利要求书所享有的等效物的全范围确定本公开的一或多个实施例的范围。
在前述具体实施方式中,出于简化本公开的目的,将一些特征群组在单个实施例中。本公开的此方法不应解释为反映本公开的所公开实施例必须使用多于在每一权利要求中明确叙述的特征的意图。而是,如所附权利要求书反映,发明标的物存在于少于单个所公开实施例的全部特征。因此,所附权利要求书特此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (20)
1.一种用于对准读取数据的方法,其包括:
将第一通知从物理层(224)发送到数个存储器控制器(221)中的每一者,其中所述第一通知指示所述物理层及/或耦合到所述物理层的存储器装置忙碌(450);
响应于接收到所述第一通知而在所述数个存储器控制器中的每一者上阻止命令以引起读取数据对准(452);
将第二通知从所述物理层发送到所述数个存储器控制器中的每一者,其中所述第二通知指示所述物理层及/或耦合到所述物理层的所述存储器装置不再忙碌(454);以及
响应于接收到所述第二通知而在所述数个存储器控制器中的每一者上恢复处理命令(456)。
2.根据权利要求1所述的方法,其进一步包含在边带总线(338、344)上发送所述第一通知及所述第二通知。
3.根据权利要求1所述的方法,其进一步包含经由逻辑门(336)将所述第一通知及所述第二通知从所述物理层发送到所述数个存储器控制器中的每一者。
4.根据权利要求1所述的方法,其进一步包含响应于接收到所述第一通知而将确认从所述数个存储器控制器中的一者发送到所述物理层。
5.根据权利要求1所述的方法,其进一步包含响应于接收到所述第二通知而将确认从所述数个存储器控制器中的一者发送到所述物理层。
6.根据权利要求1至5中任一权利要求所述的方法,其进一步包含在所述数个存储器控制器中的每一者上阻止所述命令时在所述物理层上执行训练操作。
7.根据权利要求1至5中任一权利要求所述的方法,其进一步包含在另一总线上将所述第一通知从所述物理层发送到所述数个存储器控制器中的一者。
8.根据权利要求1至5中任一权利要求所述的方法,其进一步包含在所述数个存储器控制器中的每一者上阻止所述命令时在数个物理层中的每一者上执行训练操作。
9.一种用于对准读取数据的方法,其包括:
在命令总线(230)上将命令从中央控制器(210)发送到数个存储器控制器(221)中的每一者;
将所述命令从所述数个存储器控制器中的每一者发送到数个存储器装置(226)中的每一者;
在所述数个存储器控制器中的每一者处从所述数个存储器装置中的每一者接收与所述命令相关联的数据;以及
在所述中央控制器处经由数据总线(232)从数个存储器控制器中的每一者接收与所述命令相关联的所述数据。
10.根据权利要求9所述的方法,其进一步包含在所述命令总线上将所述命令从所述中央控制器发送到所述数个存储器控制器中的每一者,使得所述数个存储器控制器中的每一者接收相同命令。
11.根据权利要求9所述的方法,其进一步包含在所述中央控制器处经由所述数据总线从数个存储器控制器中的每一者接收与所述命令相关联的所述数据,使得所述中央控制器从所述数个存储器装置中的每一者接收相同数据。
12.一种设备,其包括:
中央控制器(210);
数个存储器控制器(221),其经由数据总线(232)及命令总线(230)耦合到所述中央控制器,其中所述数个存储器控制器中的每一者包含数个物理层(224)中的一者;及
数个存储器装置(226),其中所述数个存储器装置中的每一特定存储器装置耦合到所述数个存储器控制器中的特定存储器控制器,其中所述设备经配置以:
将第一通知从所述数个物理层中的物理层发送到所述数个存储器控制器中的每一者,其中所述第一通知指示所述物理层及/或耦合到所述物理层的所述数个存储器装置中的存储器装置忙碌;
响应于接收到所述第一通知而在所述数个存储器控制器中的每一者上阻止命令;
将第二通知从所述物理层发送到所述数个存储器控制器中的每一者,其中所述第二通知指示所述物理层及/或耦合到所述物理层的所述存储器装置不再忙碌;以及
响应于接收到所述第二通知而在所述数个存储器控制器中的每一者上恢复处理命令。
13.根据权利要求12所述的设备,其中所述第一通知被从所述物理层发送到边带总线(338、344)上的所述数个存储器控制器中的每一者。
14.根据权利要求12所述的设备,其中所述第一通知被从所述物理层发送到逻辑门(336),且从所述逻辑门发送到所述数个存储器控制器中的每一者。
15.根据权利要求12所述的设备,其中在所述数个存储器控制器上阻止所述命令时在所述物理层上执行训练操作。
16.根据权利要求12所述的设备,其中命令在命令总线上被从所述中央控制器发送到所述数个存储器控制器中的每一者。
17.根据权利要求16所述的设备,其中所述命令被从所述数个控制器中的每一者发送到所述数个存储器装置中的对应存储器装置。
18.根据权利要求17所述的设备,其中与所述命令相关联的数据被从所述数个存储器装置中的每一者发送到所述中央控制器。
19.根据权利要求12所述的设备,其中对所述数个存储器控制器中的每一者上的寄存器执行编程操作。
20.根据权利要求12所述的设备,其中在命令总线上发送对所述数个存储器控制器中的每一者上的寄存器进行编程的命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/968,015 | 2022-10-18 | ||
US17/968,015 US20240126477A1 (en) | 2022-10-18 | 2022-10-18 | Read data alignment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117908767A true CN117908767A (zh) | 2024-04-19 |
Family
ID=90626237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311315122.5A Pending CN117908767A (zh) | 2022-10-18 | 2023-10-11 | 读取数据对准 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240126477A1 (zh) |
CN (1) | CN117908767A (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366862B2 (en) * | 2004-11-12 | 2008-04-29 | Lsi Logic Corporation | Method and apparatus for self-adjusting input delay in DDR-based memory systems |
WO2010143209A1 (en) * | 2009-06-10 | 2010-12-16 | Francesco Falanga | Suspension of memory operations for reduced read latency in memory arrays |
JP5570619B2 (ja) * | 2010-02-23 | 2014-08-13 | ラムバス・インコーポレーテッド | 異なるメモリ種類にアクセスする異なる速度での時分割多重化 |
US8533403B1 (en) * | 2010-09-30 | 2013-09-10 | Apple Inc. | Arbitration unit for memory system |
US9176913B2 (en) * | 2011-09-07 | 2015-11-03 | Apple Inc. | Coherence switch for I/O traffic |
US10261697B2 (en) * | 2015-06-08 | 2019-04-16 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
JP2020027520A (ja) * | 2018-08-15 | 2020-02-20 | セイコーエプソン株式会社 | 制御装置、表示装置、メモリーの制御方法 |
US11443784B2 (en) * | 2018-10-12 | 2022-09-13 | Rambus Inc. | Command buffer chip with dual configurations |
US20230113953A1 (en) * | 2021-10-07 | 2023-04-13 | Intel Corporation | Dynamic voltage and frequency scaling for discrete graphics systems |
-
2022
- 2022-10-18 US US17/968,015 patent/US20240126477A1/en active Pending
-
2023
- 2023-10-11 CN CN202311315122.5A patent/CN117908767A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240126477A1 (en) | 2024-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11340983B2 (en) | Error code calculation on sensing circuitry | |
US10929318B2 (en) | Memory controller enabling dual-mode access to memory module | |
US20170139849A1 (en) | Driverless storage device using serially-attached non-volatile memory | |
US11704023B2 (en) | Extensible storage system and method | |
US11869626B2 (en) | Internal and external data transfer for stacked memory dies | |
US20240004791A1 (en) | Controller cache architeture | |
US11157183B2 (en) | Memory controller | |
US20220261363A1 (en) | Controller for managing multiple types of memory | |
CN117908767A (zh) | 读取数据对准 | |
US20240126441A1 (en) | Controller architecture for reliability, availability, serviceability access | |
US20240161794A1 (en) | Internal and external data transfer for stacked memory dies | |
US11803332B2 (en) | Sideband communication management | |
US20240004799A1 (en) | Memory controller architecture | |
US20230395184A1 (en) | Post package repair management | |
CN117331859A (zh) | 用于存储器控制器架构的系统、设备及方法 | |
US20240086090A1 (en) | Memory channel disablement | |
US20240028249A1 (en) | Controllers and methods for accessing memory devices via multiple modes | |
US20230394155A1 (en) | Field firmware update | |
US11016903B2 (en) | Hierarchical memory systems | |
US20240071448A1 (en) | Configurable data protection circuitry for memory devices | |
CN117331866A (zh) | 控制器高速缓存架构 | |
WO2023027787A1 (en) | Access request management using sub-commands |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |