CN114328328B - 用于三维半导体器件的接口器件及接口方法 - Google Patents

用于三维半导体器件的接口器件及接口方法 Download PDF

Info

Publication number
CN114328328B
CN114328328B CN202011347869.5A CN202011347869A CN114328328B CN 114328328 B CN114328328 B CN 114328328B CN 202011347869 A CN202011347869 A CN 202011347869A CN 114328328 B CN114328328 B CN 114328328B
Authority
CN
China
Prior art keywords
data
slave
interface
master
clock
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.)
Active
Application number
CN202011347869.5A
Other languages
English (en)
Other versions
CN114328328A (zh
Inventor
艾尔卡诺维奇 毅格
毅格艾尔卡诺维奇
帕纳斯 阿姆农
阿姆农帕纳斯
喻珮
叶力垦
方勇胜
林圣伟
黄智强
谭竞豪
陈卿芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Global Unichip Corp
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Global Unichip Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/037,739 external-priority patent/US11031923B1/en
Application filed by Taiwan Semiconductor Manufacturing Co TSMC Ltd, Global Unichip Corp filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of CN114328328A publication Critical patent/CN114328328A/zh
Application granted granted Critical
Publication of CN114328328B publication Critical patent/CN114328328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

本发明提供一种用于三维半导体器件的在主器件与从器件之间进行接口的接口器件及接口方法。主器件产生命令且从器件根据命令产生数据。接口器件包括主接口以及从接口。主接口耦合到主器件且被配置成将命令发送到从器件和/或从从器件接收数据。从接口耦合到从器件且被配置成从主器件接收命令和/或将数据发送到主器件。主接口及从接口由时钟产生器产生的时钟驱动。主接口与从接口由一个或多个结合件和/或硅穿孔进行电连接。

Description

用于三维半导体器件的接口器件及接口方法
技术领域
本公开涉及一种用于三维(three dimensional,3D)半导体器件的技术,且更具体来说,涉及一种用于3D半导体器件的接口器件及接口方法。
背景技术
近年来,电子器件如个人计算机(personal computer,PC)或智能手机已在封装方面得到发展,这样一来,电子器件的大小变得紧凑且生产成本可相应地得到降低。电子器件发展的关键因素之一是3D半导体技术。可通过将中央处理单元(central processingunit,CPU)与存储器垂直地内连来将包括CPU及存储器的各种半导体器件集成到单个芯片中。这种结构一般来说被称为3D集成电路(3D integrated circuit,3D IC)。另一方面,为了维持可靠的数据传送/通信,需要由接口器件来调节一个CPU/存储器与其他CPU/存储器之间的内连。然而,3D集成电路的接口器件仍在开发中。
发明内容
本发明提供一种用于3D半导体器件的接口器件及接口方法。所述接口器件及所述接口方法在主器件与从器件之间提供可靠的数据通信。
在实施例中,本发明提供一种用于在主器件与从器件之间进行接口的接口器件。所述主器件产生命令且所述从器件根据所述命令产生数据,所述接口器件包括主接口及从接口。所述主接口耦合到所述主器件。所述主接口被配置成将所述命令发送到所述从器件和/或从所述从器件接收所述数据。所述从接口耦合到所述从器件。所述从接口被配置成从所述主器件接收所述命令和/或将所述数据发送到所述主器件。所述主接口及所述从接口由时钟产生器产生的时钟驱动。所述主接口与所述从接口由一个或多个结合件进行电连接。用于驱动所述从接口的所述时钟是通过将所述时钟的时钟相位改变成与所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
在实施例中,本发明提供一种用于在主器件与从器件之间进行接口的接口方法。所述主器件产生命令且所述从器件根据所述命令产生数据,所述接口方法包括:由主接口将所述命令发送到所述从器件和/或从所述从器件接收所述数据;以及由从接口从所述主器件接收所述命令和/或将所述数据发送到所述主器件。所述主接口及所述从接口由时钟产生器产生的时钟驱动。所述主接口与所述从接口由一个或多个结合件进行电连接。用于驱动所述从接口的所述时钟是通过将所述时钟的时钟相位改变成与所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
为了使上述内容更容易理解,以下将详细阐述附有附图的若干实施例。
附图说明
包括附图是为了提供对本公开的进一步理解,并且将附图并入本说明书中且构成本说明书的一部分。附图示出本公开的示例性实施例,且与说明一起用于阐释本公开的原理。
图1示出根据本公开实施例的包括主器件及从器件的半导体器件的示意性方块图;
图2示出根据本公开实施例的包括主器件及从器件的半导体器件的示意性方块图;
图3示出根据本公开实施例的包括主器件及多个从器件的半导体器件的示意性方块图;
图4示出根据本公开实施例的包括主芯片及从芯片的半导体器件的示意性设计图;
图5示出根据本公开实施例的包括主芯片及多个从芯片的半导体器件的示意性设计图;
图6示出根据本公开实施例的包括主芯片及多个从芯片的半导体器件的示意性3D图;
图7示出根据本公开实施例的包括接口器件结构的实例的半导体器件的示意性3D图;
图8示出根据本公开实施例的包括主接口及多个从接口的接口器件的示意性示意图;
图9示出根据本公开实施例的在读取操作期间包括主芯片及从芯片的接口器件的示意性示意图;
图10示出根据本公开实施例的包括时钟树(clock tree)的从到主接口(slave-to-master interface)的示意性示意图;
图11示出根据本公开实施例的具有相同本地时钟速度的两个从芯片之间的数据的示意性时序图;
图12示出根据本公开实施例的具有不同时钟速度的两个从芯片之间的数据的示意性时序图;
图13示出根据本公开实施例的具有2个转向(turn-around,TA)循环的两个从芯片之间的数据的示意性时序图;
图14示出根据本公开实施例的训练之前与训练之后的第一选通单元及第二选通单元的示意性比较;
图15示出根据本公开实施例的延迟锁定回路(delay lock loop,DLL)训练的示意性流程图;
图16示出根据本公开实施例的写入数据群集训练的示意性流程图;
图17示出根据本公开实施例的读取数据群集训练的示意性流程图;
图18示出根据本公开实施例的接口方法。
附图标号说明
100、200、300、400、500、600、700:半导体器件
101、111:接口器件
102、501-2:主接口
103、103-1-103-N、Glink-3D slaves:从接口
104、406、412、502-3、502-4、503-3:硅穿孔
105、106:主器件
107、115:时钟产生器
108-1-108-M:中央处理单元
110、110-1-110-N:从器件
120、501-1:主芯片
130:从芯片
402:芯片
404:接口
408:芯片
410:接口
414、506:连接件
502-1:第一从芯片
502-2:第一从接口
503-1:第二从芯片
503-2:第二从接口
504:TSV连接件
800、900、1000:示意图
802、803-1、803-2、803-3、810、812、814、904、1031、1032、1041、1042、1051、1061:触发器(FF)
804、816:双倍数据速率(DDR)多路复用器(MUX)
806-1、806-2、806-3:结合件
808-1、808-2、808-3:结合件
818、820、1008、1017、1018:缓冲器
901:SRAM
902:逻辑单元
1002:第一FF
1004:第二FF
1006:多路复用器
1011、1012、1013、1014、1021、1022、1023、1024:结合件
1015:第一选通
1016:第二选通
1019:时钟路径
1020:时钟树
1030:反相器
1300:时序图
1400:电路图
1500、1600、1700:流程图
address wr_data、NOP、rx_data command、s_cmd、tx_data command:命令
clk、clk_in、clk_out、slaveK clk_B、slaveN clk_B:时钟
d_did:从ID
dataK、dataN0、dataN1、DK[15:0]、DK[31:16]、DN[15:0]、DN[31:16]、Master RX_D、rx_data、rx_data[31:0]、tx_data、tx_data[31:16]、tx_data[15:0]、tx_dataK、tx_dataN、tx_dataN0、tx_dataN1:数据
Glink-3D:设备接口
Glink-3D master:主接口
Glink-3D slaveK、Glink-3D slaveN:从接口
PA:前同步命令
RD:读取命令
RDQS_F:本地时钟
RDQS_F Initial:本地时钟
RDQS_R:本地时钟
RDQS_R Initial:本地时钟
RDQS_F Trained、RDQS_R Trained:相位
S1505、S1510、S1515、S1520、S1555、S1560、S1565、S1570、S1575、S1605、S1610、S1615、S1620、S1625、S1630、S1635、S1640、S1645、S1650、S1655、S1660、S1665、S1670、S1675、S1680、S1685、S1690、S1695、S1702、S1704、S1706、S1708、S1710、S1712、S1714、S1716、S1720、S1722、S1724、S1726、S1728、S1730、S1732、S1734、S1736、S1738、S1740、S1742、S1744、S1746、S1748、S1750、S1752、S1754、S1756、S1758、S1760、S1762、S1764、S1766、S1805、S1810、S1815、1820、S1825、S1830、1835、S1840、S1845、S1850:步骤
slave_ID:从芯片地址
slaveN、slaveK:芯片
TX_D:从结合件
tx_data[31:0]:数据
tx_en:启用信号
具体实施方式
以下公开内容提供用于实施本公开的不同特征的许多不同实施例或实例。以下阐述组件及排列的具体实例以简化本公开。当然,这些仅为实例且不旨在进行限制。举例来说,以下说明中将第一特征形成在第二特征之上或第二特征上可包括其中第一特征与第二特征被形成为直接接触的实施例,且也可包括其中第一特征与第二特征之间可形成有附加特征从而使得所述第一特征与所述第二特征可不直接接触的实施例。另外,本公开可能在各种实例中重复使用参考编号和/或字母。这种重复使用是出于简洁及清晰的目的,而不是自身指示所论述的各种实施例和/或配置之间的关系。
此外,为易于说明,本文中可能使用例如“在...之下(beneath)”、“在...下方(below)”、“下部的(lower)”、“在...上方(above)”、“上部的(upper)”等空间相对性用语来阐述图中所示的一个元件或特征与另一(其他)元件或特征的关系。所述空间相对性用语旨在除图中所示出的取向外还囊括器件在使用或操作中的不同取向。设备可具有其他取向(旋转90度或处于其他取向),且本文中所使用的空间相对性描述语可同样相应地进行解释。
本公开公开一种用于3D半导体器件的接口器件及接口方法。接口器件在主器件与从器件之间提供可靠的数据通信。所述可靠的数据通信是通过根据时钟产生器产生的时钟将主器件提供的数据等待时间分配到每一从器件来产生。每一从器件具有根据时钟产生器的时钟产生的本地时钟。每一从器件可调整本地时钟,这样一来,可避免从器件之间的数据竞争。此外,通过避免每一从器件之间的数据竞争,可将位错误(bit error)最小化或避免位错误,这样一来,便不需要使用纠错模块及方法。因此,可提高数据通信速度。
另外,当启动电子器件时,每一从器件能够通过向主器件发送内置自测(built-in-self-test,BIST)数据来训练每一从器件的本地时钟。通过精确地产生本地时钟,每一从器件能够提供具有低错误率或零错误率的精确数据。通过这样做,不需要纠错且可相应地提高数据通信速度。为了避免每一从器件之间的数据竞争且训练每一从器件的本地时钟,将根据以下提供的实施例详述接口器件及接口方法的实施方式(特别是考虑到从到主接口的实施方式)。
图1示出根据本公开实施例的包括主器件及从器件的半导体器件的示意性方块图。半导体器件100实施在例如以下3D封装中:晶粒对芯片对衬底(chip-on-wafer-on-substrate,CoWoS)、系统集成芯片(system-on-integrated-chip,SoIC)、晶片对晶片(wafer-on-wafer,WoW)及其他3D封装集成。
参照图1,半导体器件100包括主芯片120、从芯片130及时钟产生器115。主芯片120通过硅穿孔(through-silicon-via,TSV)104耦合到从芯片130。主芯片120包括主器件105及耦合到主器件105的主接口102。另一方面,从芯片130包括从器件110及耦合到从器件110的从接口103。主器件105经由主接口102及从接口103耦合到从器件110。主接口102与从接口103经由TSV 104耦合且整合在一起作为接口器件101。接口器件101适于垂直地连接主器件105与从器件110,此形成3D半导体器件。接口器件101的结构被称为Glink-3D。此外,时钟产生器115产生用于驱动主器件105、主接口102、从接口103及从器件110的时钟。由时钟产生器115产生的时钟以正向及反向用于主接口102及从接口103。
在实施例中,主器件105及从器件110分别被实施成例如处理器及存储器如静态随机存取存储器(static random access memory,SRAM)。时钟产生器115由例如振荡器实施。主接口102与从接口103之间的连接由具有并行总线的TSV实施,所述并行总线用于以高达5.0Gbps的采样速率或2.5GHz的双倍数据速率(double data rate,DDR)传送数据。并行总线还用于在从器件110与从接口103之间以及还在主器件105与主接口102之间耦合。在实施例中,主器件105与从器件110之间的等待时间被设定为1ns到2ns。主器件105与从器件110之间的数据传送具有低位错误或无位错误(no bit error,no BER)。
图2示出根据本公开实施例的包括主器件及从器件的半导体器件的示意性方块图。图2中所示的半导体器件200类似于图1中所示的半导体器件100。不同之处在于,时钟产生器107被实施在主器件106内部而不是被实施成如图1中所示的外部时钟产生器。
图3示出根据本公开实施例的包括主器件及多个从器件的半导体器件的示意性方块图。图3中所示的半导体器件300类似于图1中所示的半导体器件100。不同之处在于,主器件105包括多个中央处理单元(CPU)108-1到108-M。此外,接口器件111包括主接口102及多个从接口103-1到103-N。每一从接口103-1到103-N以一对一的关系耦合到每一从器件110-1到110-N。N及M是等于或大于1的整数。此外,时钟产生器115产生用于驱动具有所述多个CPU 108-1到108-M的主器件105、主接口102、所述多个从接口103-1到103-N、以及所述多个从器件110-1到110-N的时钟。时钟产生器115可如图2中所示被包括到主器件105。
图4示出根据本公开实施例的包括主芯片及从芯片的半导体器件的示意性设计图。半导体器件400被垂直地排列以形成3D封装,且包括例如与主接口404耦合的主/处理器/芯片1芯片402、与从接口410耦合的从/存储器/芯片2芯片408。处理器芯片402与存储器芯片408经由处理器接口404及存储器接口410通过所述多个TSV 406耦合。此外,存储器芯片408包括所述多个TSV 412及所述多个连接件414。
图5示出根据本公开实施例的包括主芯片及多个从芯片的半导体器件的示意性设计图。半导体器件500被垂直地排列以形成3D封装,且包括例如耦合到主接口501-2的主芯片501-1、耦合到多个第一从接口502-2的多个第一从芯片502-1、以及耦合到多个第二从接口503-2的多个第二从芯片503-1。所述多个第一从芯片502-1包括TSV 502-4。主接口501-2经由TSV 502-3耦合到所述多个第一从接口502-2且经由TSV 503-3耦合到所述多个第二从接口503-2。此外,半导体器件包括将主接口501-2连接到连接件506的TSV连接件504。
在实施例中,半导体器件500支持面对面接口及面对背接口。举例来说,主芯片501-1与第一从芯片502-1之间的接口和/或主芯片501-1与第二从芯片503-1之间的接口是面对面接口。并且面对背接口用于每一第一从芯片502-1之间的接口和/或每一第二从芯片503-1之间的接口。
图6示出根据本公开实施例的包括主芯片及多个从芯片的半导体器件的示意性3D图。半导体器件600包括处理器芯片,所述处理器芯片包括多个CPU核心芯片及经由作为设备接口的Glink-3D与处理器芯片垂直地连接的多个SRAM芯片。从处理器芯片到SRAM芯片并返回到处理器芯片的往返数据传送的读取等待时间等于或小于5ns。实施此读取等待时间值是为了实现处理器芯片与SRAM芯片之间的可靠的数据通信。
图7示出根据本公开实施例的包括接口器件结构的实例的半导体器件的示意性3D图。半导体器件700包括耦合到作为主接口的Glink-3D master的CPU核心芯片及耦合到作为从接口的Glink-3D slaves的高速缓存芯片。Glink-3D master经由TSV耦合到Glink-3Dslaves。举例来说,在读取操作期间,CPU核心芯片经由Glink-3D master及Glink-3Dslaves将命令发送到高速缓存芯片。且然后,高速缓存芯片接收来自CPU核心芯片的命令。高速缓存芯片根据命令产生数据且经由Glink-3D slaves及Glink-3D master将数据发送到CPU核心芯片。最后,CPU核心芯片从高速缓存芯片接收数据。此外,CPU核心芯片与高速缓存芯片之间经由Glink-3D master及Glink-3D slaves的数据通信由时钟产生器115产生的时钟驱动。
在此实施例中,Glink-3D master与Glink-3D slaves具有相同的结构并且以一对一的关系连接。举例来说,每一Glink-3D master及Glink-3D slaves包括多个块。每一块被分成多个胞元,例如5×5胞元。Glink-3D master的每一胞元经由TSV以一对一的关系连接到Glink-3D slaves的每一胞元。此Glink-3D结构被用作例如高级微控制器总线架构一致性集线器接口(advance microcontroller bus architecture coherent hub interface,AMBA CHI)协议的物理层。3D半导体器件上包括Glink-3D master及Glink-3D slaves的接口器件的细节及对应的实施方式将进一步阐述如下。
图8示出根据本公开实施例的包括主接口及多个从接口的接口器件的示意性示意图。可使用多个电子组件如触发器(flip-flop,FF、多路复用器(multiplexer,MUX)、反相器及缓冲器)来实施示意图800。
参照图8,使用Glink-3D master作为主芯片的接口。Glink-3D slaveK及Glink-3DslaveN分别用作slaveK芯片的接口及slaveN芯片的接口。Glink-3D master、Glink-3DslaveK及Glink-3D slaveN由时钟产生器115产生的时钟clk_in驱动。Glink-3D master、Glink-3D slaveK及Glink-3D slaveN通过一个或多个结合件进行电连接。举例来说,Glink-3D master结合件806-1到806-3使用TSV以一对一的关系连接到Glink-3D slaveN结合件808-1到808-3。
在此实施例中,Glink-3D master包括FF 802、DDR MUX 804、结合件806-1到806-3、以及包括多个FF 803-1到803-3的读取先进先出(first-in-first-out,FIFO)。FF 802耦合到DDR MUX 804且从主芯片接收命令tx_data command。命令tx_data command可被形成为例如数据群集。命令tx_data command可包括用作从芯片地址的slave_ID。DDR MUX 804耦合到结合件806-1且以DDR数据格式的形式通过结合件806-1及808-1将命令tx_datacommand递送(proceed)到Glink-3D slaveN。FF 803-1耦合到FF 803-2及结合件806-3。FF803-3耦合到FF 803-2及主芯片且将数据rx_data发送到主芯片。FF 802、DDR MUX 804、结合件806-2及FF 803-3由时钟产生器115所产生的clk_in驱动。FF 803-1及803-2是通过结合件806-3及808-3由例如Glink-3D slaveN产生的本地时钟驱动。
在此实施例中,Glink-3D slaveN包括结合件808-1到808-3、FF 810到814、DDRMUX 816、以及缓冲器818及820。结合件808-1耦合到结合件806-1且FF 810将命令rx_datacommand发送到slaveN芯片。结合件808-2耦合到结合件806-2且将时钟clk发送到slaveN芯片。FF 812耦合到DDR MUX 816及slaveN芯片且从slaveN芯片接收数据tx_data。FF 814耦合到slaveN芯片且接收启用信号tx_en。缓冲器820耦合到DDR MUX 816及结合件808-3且以DDR数据格式的形式发送数据tx_data。缓冲器818耦合到结合件808-3且通过结合件808-3及806-3将本地时钟发送到Glink 3D master。FF 810到FF 814及DDR MUX 816由时钟clk驱动。缓冲器818及820由启用信号tx_en驱动。另外,slaveK芯片及对应的Glink-3D slaveK具有与slaveN芯片及Glink-3D slaveN相同的结构及数据通信。Glink-3D slaveN与Glink-3DslaveK之间的不同之处在于本地时钟的产生。产生本地时钟的过程将在稍后根据图10进行阐述。
图9示出根据本公开实施例的在读取操作期间包括主芯片及从芯片的接口器件的示意性示意图。示意图900与示意图800类似。示意图900与示意图800之间的不同之处在于,示意图900示出例如具有对应的Glink-3D slaveN的一个slaveN芯片及SRAM 901。另外,还包括逻辑单元902及FF 904。
参照图9,在读取操作期间,主芯片经由Glink-3D master及Glink-3D slaveN将包括作为从芯片N的地址的芯片标识(identification,ID)的命令address wr_data发送到SRAM 901。逻辑单元902耦合到Glink-3D slaveN、SRAM 901及FF 904。FF 904耦合到Glink-3D slaveN。逻辑单元902产生用于在芯片选择(chip select,CS)命令、读取(read,RD)命令或写入(write,WR)命令之间进行选择的信号。逻辑单元902及对应的FF 904产生启用信号tx_en。SRAM 901根据命令产生数据rd_data,当作输出的数据tx_data。Glink-3D slaveN以DDR数据格式的形式将数据tx_data发送到Glink-3D master。主芯片根据Glink-3D slaveN的本地时钟读取数据tx_data。
图10示出根据本公开实施例的包括时钟树的从到主接口的示意性示意图。示意图1000与示意图800及示意图900相同。示意图1000与示意图800及示意图900之间的不同之处在于,从从到主接口的角度来看,示意图1000示出数据路径及时钟路径中所包括的更详细的电路。此外,时钟路径具有用于将时钟从Glink-3D master递送到每一Glink-3D slave的时钟树1019、1020。另外,提供从Glink-3D slaveN及Glink-3D slaveK发送到Glink-3Dmaster的DDR数据格式的形式的数据的时序图。
在此实施例中,从接口Glink-3D slaveN及其他从接口如Glink-3D slaveK中的每一个还被配置成使用双倍数据速率(double data rate,DDR)配置将数据/其他数据如tx_data[31:0]发送到主接口。举例来说,将数据tx_data[31:0]折叠成数据tx_data对应位[31:16]及数据tx_data对应位[15:0]。数据tx_data[31:16]及数据tx_data[15:0]中的每一个被称为例如数据群集。
在此实施例中,DDR配置由DDR单元产生,DDR单元包括第一FF 1002、第二FF 1004及多路复用器1006。第一FF 1002及第二FF 1004被表示为图8所示FF 812,且多路复用器1006由图8所示DDR MUX 816表示。第一FF 1002、第二FF 1004及多路复用器1006由时钟1019驱动。第一FF 1002被配置成根据数据/其他数据(tx_data[31:0])产生一部分数据如数据tx_data[31:16]。第二FF 1004被配置成根据数据/其他数据(tx_data[31:0])产生另一部分数据如数据tx_data[15:0]。多路复用器1006耦合到第一FF 1002及第二FF 1004。多路复用器1006被配置成将一部分数据tx_data[31:16]及另一部分数据tx_data[15:0]经由缓冲器1008发送到主器件。缓冲器1008由图8所示缓冲器820表示。缓冲器1008由启用信号tx_en启用。图10中所示的启用信号tx_en与图8及图9中所示的启用信号tx_en相同。通过启用缓冲器1008,将一部分数据tx_data[31:16]及另一部分数据tx_data[15:0]通过结合件1011及1021发送到Glink-3D master。
在另一实施例中,从接口如Glink-3D slaveN及其他从接口如Glink-3D slaveK中的每一个还包括第一选通1015及第二选通1016。第一选通1015及第二选通1016耦合到时钟路径1019。
第一选通1015被配置成根据时钟产生器115产生的时钟clk_in产生第一本地时钟RDQS_F。
第二选通1016被配置成根据时钟产生器115产生的时钟clk_in产生第二本地时钟RDQS_R。时钟路径1019是时钟树1019、1020的一个分支。时钟clk_in通过结合件1024及1014作为clk_out递送。时钟路径1019将时钟clk_out经由时钟路径1019递送到第一FF 1002、第二FF 1004、缓冲器1008、第一选通1015及第二选通1016。缓冲器1017通过结合件1012及1022将第一本地时钟RDQS_F递送到Glink-3D master。缓冲器1017根据启用信号tx_en被启用。图10中所示的启用信号tx_en与图8及图9中所示的启用信号tx_en相同。缓冲器1018经由结合件1013及1023将第二本地时钟RDQS_R递送到Glink-3D master。缓冲器1018根据启用信号tx_en被启用。图10中所示的启用信号tx_en与图8及图9中所示的启用信号tx_en相同。
在此实施例中,由第一选通1015产生的第一本地时钟RDQS_F由Glink-3D master用于读取由第一FF 1002产生的一部分数据tx_data[31:16],且由第二选通1016产生的第二本地时钟RDQS_R由Glink-3D master用于读取由第二FF 1004产生的另一部分数据tx_data[15:0]。举例来说,Glink-3D master包括单元块,所述单元块被配置成根据第一本地时钟RDQS_F读取一部分数据tx_data[31:16]且根据第二本地时钟RDQS_R读取另一部分数据tx_data[15:0]。Glink-3D master使用DDR数据格式读取一部分数据tx_data[31:16]及另一部分数据tx_data[15:0]。因此,Glink-3D master对一部分数据tx_data[31:16]与另一部分数据tx_data[15:0]进行组合,以产生完整的数据rx_data[31:0]。Glink-3D master然后将完整的数据rx_data[31:0]发送到处理器。
在此实施例中,Glink-3D master还包括FIFO单元。图10所示FIFO单元也被表示为图8及图9所示FIFO单元。可实施FIFO单元来获得如前所述的单元块的功能。FIFO单元可由多个FF1031、1032、1051、1041、1042、1061实施。FF 1031及1041表示图8所示FF 803-1。FF1032及1042表示图8所示FF 803-2。FF 1051及1061表示图8所示FF 803-3。具体来说,FF1031及1041耦合到结合件1021,以接收一部分数据tx_data[31:16]及另一部分数据tx_data[15:0]。FF 1031经由反相器1030耦合到结合件1022,以接收第一本地时钟RDQS_F。FF1041耦合到结合件1023以接收第二本地时钟RDQS_R。FF 1031及1041分别耦合到FF 1032及1042,以形成FIFO单元。FF的数目并不限于特定数目。FF的数目可由任意数目的FF来实施。
此外,FIFO单元包括FF 1051及1061。FF 1051及1061被配置成基于DDR数据格式对一部分数据tx_data[31:16]及另一部分数据tx_data[15:0]进行处理。FF 1051耦合到例如FF 1032,且FF 1061耦合到例如FF 1042。FF 1051及1061被配置成使用由时钟产生器115产生的时钟将来自Glink-3D slaveN及另一Glink-3D如Glink-3D slaveK的FIFO单元的一部分数据tx_data[31:16]及另一部分数据tx_data[15:0]进行重新计时。实行重新计时过程是为了使一部分数据tx_data[31:16]及另一部分数据tx_data[15:0]与时钟clk_in同步。通过与时钟clk_in同步,使用例如由处理器产生的命令tx_data command以相同的频率及相同的相位对一部分数据tx_data[31:16]及另一部分数据tx_data[15:0]进行采样。
举例来说,FF 1031及1041接收一部分数据tx_data[31:16]及另一部分数据tx_data[15:0]。FF 1031通过从第一选通1015接收的第一本地时钟RDQS_F对一部分数据tx_data[31:16]进行采样。FF 1031将一部分数据tx_data[31:16]发送到FF 1032。FF 1051从例如FF 1032接收一部分数据tx_data[31:16]且基于时钟clk_in对一部分数据tx_data[31:16]进行采样。因此,FF 1041通过从第二选通1016接收的第二本地时钟RDQS_R对另一部分数据tx_data[15:0]进行采样。FF 1041将另一部分数据tx_data[15:0]发送到FF1042。FF 1061从例如FF 1042接收另一部分数据tx_data[15:0]且基于时钟clk_in对另一部分数据tx_data[15:0]进行采样。最后,FF 1051及1061产生完整的数据rx_data[31:0]且将完整的数据rx_data[31:0]发送到处理器。也就是说,Glink-3D master的FIFO单元对从例如Glink-3D slaveN接收的数据tx_data[31:0]进行处理,以基于DDR数据格式产生完整的数据rx_data[31:0]。
在另一实施例中,参照图10,主器件如处理器进一步产生转向(TA)循环。TA循环是例如由Glink-3D master的FIFO单元在结合件1021处接收的Glink-3D slaveN的数据tx_data与Glink-3D slaveK的数据tx_data之间的间隔。举例来说,由Glink-3D master的FIFO单元在结合件1021处接收的数据tx_data指的是Master RX_D。从Glink-3D slaveN接收的Master RX_D包含数据DN[15:0]及DN[31:16]。从Glink-3D slaveK接收的Master RX_D包含数据DK[15:0]及DK[31:16]。也就是说,TA循环是数据DN[31:16]与数据DK[15:0]之间的间隔。
在此实施例中,TA循环用于防止从器件如slaveN器件的回应与其他从器件如slaveK器件的回应之间的总线竞争。举例来说,在读取操作期间,主器件/处理器利用分配时隙将包括从ID的命令发送到slaveN器件及slaveK器件。slaveN器件及slaveK器件分别将数据及本地时钟经由Glink-3D slaveN及Glink-3D slaveK根据分配时隙发送到处理器。slaveN器件及slaveK器件根据分配时隙使用数据总线。Glink-3D slaveN将数据tx_data[31:0]通过结合件1011发送到Glink-3D master。Glink-3D slaveN还分别将第一本地时钟RDQS_F及第二本地时钟RDQS_R通过结合件1012及1013发送到Glink-3D master。Glink-3Dmaster在结合件1021处从Glink-3D slaveN接收数据DN[15:0]及DN[31:16]。Glink-3Dmaster使用第二本地时钟RDQS_R对数据DN[15:0]进行采样。Glink-3D master使用第一本地时钟RDQS_F对及数据DN[31:16]进行采样。
且然后,Glink-3D slaveK将数据tx_data[31:0]经由Glink-3D slaveK的对应的结合件发送到Glink-3D master。Glink-3D slaveK还将第一本地时钟RDQS_F及第二本地时钟RDQS_R经由Glink-3D slaveK的对应的结合件发送到Glink-3D master。在TA循环之后,Glink-3D master在结合件1021处从Glink-3D slaveK接收数据DK[15:0]及DK[31:16]。Glink-3D master使用第二本地时钟RDQS_R对数据DK[15:0]进行采样。Glink-3D master使用第一本地时钟RDQS_F对及数据DK[31:16]进行采样。
也就是说,在从slaveN器件及slaveK器件将数据传送到处理器的期间,通过为slaveN及slaveK提供使用数据总线的时隙,TA循环会防止slaveN器件与slaveK器件之间的总线竞争。
在此实施例中,TA循环用于补偿从器件与其他从器件之间的往返延迟(RTD,round-trip-delays)差。RTD是由Glink-3D master发送的命令与由Glink-3D master接收的数据之间的间隔。由于每一从器件是例如由不同的制造公司生产,因此每一从器件具有不同的回应特性。回应特性包括RTD。从器件之间的RTD差由TA循环补偿。
举例来说,在读取操作期间,slaveN器件及slaveK器件分别经由Glink-3D slaveN及Glink-3D slaveK从处理器接收命令。由于slaveN器件与slaveK器件具有不同的RTD,因此Glink-3D master在不同的时间从Glink-3D slaveN及Glink-3D slaveK接收数据。尽管Glink-3D master已配备有下拉功能,但如果RTD差大于由处理器分配到slaveN器件及slaveK器件的分配时隙差,则可能发生总线竞争。因此,通过将TA循环与RTD差相加如1循环+/-ΔRTD、1.5循环+/-ΔRTD,从Glink-3D slaveN(DN[15:0]及DN[31:16])接收数据的时间与从Glink-3D slaveK(DK[15:0]及DK[31:16])接收数据的时间之间的间隔得到维持,这样一来,可避免总线竞争。
图11示出根据本公开实施例的具有相同时钟速度的两个从芯片之间的数据的示意性时序图。并且图12示出根据本公开实施例的具有不同时钟速度的两个从芯片之间的数据的示意性时序图。slaveN器件及slaveK器件用作时序图的实例。
在此实施例中,从器件如slaveN器件及其他从器件如slaveK器件在数据之前及数据之后产生零数据,以防止由于不同的RTD而引起的从器件与其他从器件之间的总线竞争。参照图11,相关的时序图1100包括时钟slaveK clk_B(Typ)速度与时钟slaveN clk_B(Typ)速度具有相同速度如正常/典型速度。slaveK器件配备有启用信号tx_en且将数据tx_dataK经由Glink-3D slaveK发送到主器件。Glink-3D slaveK将数据dataK通过结合件1011递送到Glink-3D master。因此,Glink-3D slaveK将数据dataK之前的零数据及数据dataK之后的零数据通过结合件1011发送到Glink-3D master。Glink-3D slaveK还产生本地时钟RDQS_R及RDQS_F。
另一方面,slaveN器件配备有启用信号tx_en且将数据tx_dataN0及tx_dataN1经由Glink-3D slaveN发送到主器件。Glink-3D slaveN将数据dataN0及dataN1经由对应的结合件递送到Glink-3D master。因此,Glink-3D slaveN将数据dataN0及dataN1之前的零数据以及数据dataN0及dataN1之后的零数据经由对应的结合件发送到Glink-3D master。Glink-3D slaveN还产生本地时钟RDQS_R及RDQS_F。由于数据dataK配备有数据dataK之后的零数据且数据dataN0配备有数据dataN0之前零数据,因此在数据dataK与数据dataN0之间存在间隔如1T TA时间。
也就是说,由slaveN器件及slaveK器件产生的零数据在数据dataK与数据dataN0之间产生间隔如1T TA时间,以防止在其中时钟slaveK clk_B与时钟slaveN clk_B具有相同速度的情况下,slaveN器件与slaveK器件之间的总线竞争。
在另一实施例中,参照图12,在相关的时序图1200中,图11所示实施例与图12所示实施例之间的不同之处在于,时钟slaveK clk_B(Typ)速度与时钟slaveN clk_B(Typ)速度具有不同速度。举例来说,时钟slaveK clk_B速度慢且时钟slaveN clk_B速度快。换句话说,时钟slaveN clk_B比时钟slaveK clk_B快。换句话说,时钟slaveN clk_B比时钟slaveKclk_B早。较早时钟的间隔小于1T(2.5GHz为<400ps)。由于数据dataK配备有数据dataK之前的零数据及数据dataK之后的零数据,且数据dataN0配备有数据dataN0之前的零数据,因此在时钟slaveN clk_B与时钟slaveK clk_B之间存在间隔(<1T)且在数据dataK与数据dataN0之间存在间隔(TA时间)。
也就是说,由slaveN器件及slaveK器件产生的零数据在数据dataK与数据dataN0之间产生间隔(TA时间),以在其中时钟slaveK clk_B与时钟slaveN clk_B具有不同速度的情况下防止slaveN器件与slaveK器件之间的总线竞争。
图13示出根据本公开实施例的具有2个TA循环的两个从芯片之间的数据的示意性时序图。时序图1300包括2个读取等待时间循环及2个TA循环。读取等待时间是Glink-3Dslave经由对应的结合件从主器件接收命令的时间与Glink-3D slave经由对应的结合件根据命令发送数据的时间之间的间隔。
具体来说,例如,在读取操作期间,Glink-3D slaveK及Glink-3D slaveN接收包括从ID s_did及对应的时钟clk_out的命令s_cmd。主器件在被发送到slaveK器件的读取命令RD与被发送到slaveN器件的前同步命令PA之间发送命令NOP。命令NOP是无操作命令。前同步命令PA是用于从器件准备数据的命令。读取命令RD是用于从器件在从器件已准备数据之后发送数据的读取命令。
在此实施例中,slaveK器件以比slaveN器件根据由主器件分配的时隙发送数据如tx_dataN、前言码早的分配时隙发送数据如tx_dataK、前言码。当激活启用信号tx_en如1时,将由slaveK器件发送的数据如tx_dataK、前言码和/或由slaveN器件发送的数据如tx_dataN、前言码递送到对应的从结合件TX_D。反之,当将启用信号tx_en去激活如0时,将由slaveK器件发送的数据如tx_dataK、前言码和/或由slaveN器件发送的数据如tx_dataN、前言码递送到对应的从结合件TX_D。在读取等待时间具有2个循环的情况下,例如由Glink-3DslaveK接收的命令NOP与由Glink-3D slaveK在对应的从结合件TX_D发送的数据dataK之间的间隔为2个循环。具有2个循环的读取等待时间对应于由主器件发送的命令NOP。另一方面,在TA具有2个循环的情况下,由Glink-3D slaveK在对应的从结合件TX_D处发送的数据dataK与由Glink-3D slaveN在对应的从结合件TX_D处发送的数据dataN之间的间隔是2个循环+/-ΔRTD。
也就是说,具有2个循环的TA容忍高达2T的差并且可由主器件在前同步命令PA之前添加命令NOP来设定。此外,在RTD差小于1周期T(2.5GHz为400ps)的情况下,具有1个循环的TA就足够了。
图14示出根据本公开实施例的训练之前与训练之后的第一选通单元及第二选通单元的示意性比较。图14所示方块示意图1400表示图10所示方块图1000。图14与图10之间的不同之处在于,电路图1400包括训练之前与训练之后的第一选通1015及第二选通1016的比较。
在此实施例中,从器件如slaveN器件及其他从器件如slaveK器件训练第一选通1015及第二选通1016以在最佳数据采样点定位一部分数据如DN[31:16]及另一部分数据如DN[15:0]。一部分数据如DN[31:16])及另一部分数据如DN[15:0]被称为例如数据群集。具体来说,当半导体器件被启动/接通时,主器件逐个选择从器件以进行训练。举例来说,主器件选择slaveN器件。由主器件选择的slaveN器件管理如下所述的训练序列。slaveN器件将Glink-3D slaveN的第一选通1015及第二选通1016设定为零,第一选通1015及第二选通1016由第一本地时钟RDQS_F Initial及第二本地时钟RDQS_R Initial表示。且然后,slaveN器件将BIST数据如DN[31:16]及DN[15:0]发送到主器件。主器件在对应的主结合件处接收BIST数据如DN[31:16]及DN[15:0],所述BIST数据例如由RX_D表示。主器件单独向slaveN器件报告数据DN[31:16]及DN[15:0]的通过/失败。slaveN器件使第一本地时钟RDQS_F Initial的相位及第二本地时钟RDQS_R Initial的相位递增。继续进行使第一本地时钟RDQS_F Initial的相位及第二本地时钟RDQS_R Initial的相位递增的过程,直到slaveN器件接收到由主器件报告的第一个通过及最后一个通过。当主器件报告最后一个通过时,slaveN器件停止将BIST数据发送到主器件。例如在主器件报告通过之后,在报告失败之后获得最后一个通过。且然后,slaveN器件通过例如将总通过除以2在中间点处设定第一本地时钟的相位及第二本地时钟的相位。因此,slaveN器件向主器件发送就绪数据。第一个通过是由例如第一本地时钟的RDQS_F Initial及第二本地时钟的RDQS_R Initial分别表示。中间点是由例如第一本地时钟的RDQS_F Trained及第二本地时钟的RDQS_R Trained分别表示。中间点表示最佳数据采样点。
也就是说,最佳数据采样点通过如下方式获得:单独地使第一选通1015的第一本地时钟的相位递增及使第二选通1016的第二本地时钟的相位递增直到获得最佳采样点。
在另一实施例中,从器件如slaveN器件使用主接口Glink-3D master的第一选通的第一时钟及第二选通的第二时钟来更新从接口(Glink-3D slaveN)的第一选通的第一本地时钟及第二选通的第二本地时钟,以补偿电压到温度(voltage-to-temperature,V-T)改变。
举例来说,半导体器件在正常处理期间具有正常温度且在高温处理期间具有高温。在高温期间经由Glink-3D从从器件如slaveN器件经由从接口如Glink-3D slaveN发送到主器件的数据具有例如比正常温度期间长的持续时间/周期。slaveN器件根据数据在高温下的周期及数据在常温下的周期更新第一本地时钟的相位如RDQS_F Trained及第二本地时钟的相位如RDQS_R Trained。通过比较数据在常温下的中间点与数据在高温下的中间点来实行更新过程。
也就是说,通过根据主接口的第一时钟及第二时钟在不同温度下更新从接口的第一本地时钟的相位及第二本地时钟的相位,可补偿V-T改变。因此,主接口在最佳数据采样点对从从接口接收的数据进行采样。
图15示出根据本公开实施例的DLL训练的示意性流程图。流程图1500是在DLL训练开始前实行。DLL训练旨在获得DLL的最大步阶。DLL的最大步阶指的是DLL延迟从接口如Glink-3D slaveN中的时钟的能力。DLL指的是第一选通1015及第二选通1016。DLL训练是在两个不同的视角下实行,所述两个不同的视角包括内部集成电路(Inter-IntegratedCircuit,I2C)序列及从序列。I2C序列是在I2C协议中实行的流程图。并且从序列是在从器件中实行的流程图。
在I2C序列中,从步骤S1505到步骤S1520实行DLL训练。在步骤S1505中,清除/重置DLL值。且然后,在步骤S1510中,将每一从器件的寄存器设定为通过例如将DLL训练旗标改变为1来启用DLL训练。用于启用DLL训练的寄存器指的是累加器(accumulator,ACC)。在步骤S1515中,检查指示DLL训练完成的从旗标。实行步骤S1515,直到通过例如将对应旗标改变为1来设定指示DLL训练完成的从旗标。对所有从器件如slaveN器件、slaveK器件实行步骤S1515。在步骤S1520中,当设定了所有从器件的对应旗标时,通过例如将DLL训练旗标改变为0来重置DLL训练旗标。通过这样做,表示DLL训练的每一从器件的寄存器被禁用。也就是说,通过实行步骤S1505到S1520,获得每一从器件的DLL的最大步阶/延迟。
在从序列中,通过步骤S1555到S1575实行DLL训练。在步骤S1555中,从器件如slaveN器件检查DLL训练是否被启用。在步骤S1560中,如果DLL训练被启用,则通过例如向DLL值加1来增大DLL值。在步骤S1565中,检查滞后旗标及超前旗标。如果DLL值最大,则滞后旗标显示0且超前旗标显示1,因此,如果DLL值不是最大,则重复步骤S1560。如果DLL值最大,则通过将DLL值减少1将步骤继续到步骤S1570。将DLL值减少1的原因是,当步骤S1565中的条件为否时,最大值表示条件中DLL值的最后值。最后,在步骤S1575中,从器件设定表示DLL训练完成的旗标。也就是说,表示DLL完成的旗标表示从器件如slaveN器件的DLL训练完成。因此,获得最大DLL值。步骤S1555到S1575由每一从器件实行。
图16示出根据本公开实施例的写入数据群集训练的示意性流程图。在根据流程图1500获得最大DLL值之后,如流程图1600中所示通过写入数据群集训练继续DLL训练。由于写入数据群集训练是为了根据最佳时钟相位将数据从处理器105写入到从器件如slaveN器件、slaveK器件,因此写入数据群集训练指的是主到从训练。写入数据群集训练是在不同的视角下实行,所述不同的视角包括I2C序列、主序列及从序列。写入数据群集训练的目的是在写入数据期间获得DLL的中间值。通过根据DLL的中间值写入数据,正确地写入数据,因此,可将位错误最小化。DLL的中间值表示最佳时钟相位。
在I2C序列中,在步骤S1605到S1625中实行写入数据群集训练。在步骤S1605中,将处理器105的对应的寄存器设定为启用写入数据群集训练。在步骤S1610中,将每一从器件的寄存器设定为启用写入数据群集训练。在步骤S1615中,检查与写入数据群集训练完成对应的每一从器件的寄存器。如果设定了与完成写入数据群集训练对应的每一从器件的寄存器,则通过禁用每一从器件的寄存器来实行步骤S1620。在步骤S1625中,禁用处理器105的寄存器。也就是说,通过获得与完成写入数据群集训练对应的每一从器件的寄存器,已优化用于写入数据的每一从器件的DLL值。因此,可将位错误最小化。
在主序列中,在步骤S1630到S1645中实行写入数据群集训练。在步骤S1630中,处理器105检查写入数据群集训练是否被启用。如果写入数据群集训练被启用,则在步骤S1635中,启用BIST产生器。在步骤S1640中,处理器105检查写入数据群集训练是否被禁用。在当对所有从器件的写入数据群集训练已完成的情况下,禁用写入数据群集训练。在步骤S1645中,由于已完成对所有从器件的写入数据群集训练,因此禁用BIST产生器。也就是说,通过获得写入数据群集训练被禁用,已完成对所有从器件的写入数据群集训练。因此,已获得用于写入数据的最佳时钟相位。
在从序列中,在步骤S1650到S1695中实行写入数据群集训练。在步骤S1650中,检查与写入数据群集训练被启用对应的寄存器。响应于写入数据群集训练被启用,在步骤S1655中,将DLL值设定为0。在步骤S1660中,启用BIST检查器。通过启用BIST检查器,检查由处理器105产生的BIST。在步骤S1665中,在例如X次以内检查BIST。X表示等于或大于1的整数值。X也可表示检查BIST的持续时间。如果已检查BIST X次,则在步骤S1670中禁用BIST检查器。在步骤S1675中,更新表示通过值的DLL窗口。通过值表示从器件正确读取BIST。在步骤S1680中,检查DLL值是否达到最大值。DLL的最大值已根据图15获得。如果DLL值不是最大值,则在步骤S1685中增大DLL值。且然后,重复步骤S1660到S1685,直到DLL值达到最大循环/值。在步骤S1690中,如果DLL值达到最大循环,则将DLL值设定为通过窗口的中间值。通过窗口的中间值表示在最佳时钟相位将BIST写入到从器件。在步骤S1695中,通过例如将对应旗标改变为1来设定表示写入数据群集训练完成的寄存器。在主序列中,处理器105检查此旗标,以确定已完成对所有从器件的写入数据群集训练。
图17示出根据本公开实施例的读取数据群集训练的示意性流程图。可在流程图1600后实行流程图1700。实行读取数据群集训练以获得用于读取数据的最佳时钟相位。读取数据群集训练是在不同的视角下实行,所述不同的视角包括I2C序列、主序列及从序列。
在I2C序列中,在步骤S1702到S1716中实行读取数据群集训练。在步骤S1702中,从从器件的对应的寄存器读取最大DLL值。在步骤S1704中,将从从器件的对应的寄存器读取的DLL值写入到处理器105的寄存器。在步骤S1706中,将表示读数据群集训练被启用的对应旗标设定到从器件的寄存器。在步骤S1708中,将表示读取数据群集训练被启用的对应旗标设定到处理器105的寄存器。在步骤S1710中,从从器件检查表示读取数据群集训练完成的对应旗标。在步骤S1712中,如果表示读取数据群集训练完成的对应旗标被启用,则禁用表示读取数据群集训练的处理器105的对应旗标。在步骤S1714中,禁用表示读取数据群集训练的从器件的对应旗标。在步骤S1716中,检查每一从器件是否已实行读取数据群集训练。如果一个或多个从器件尚未实行读取数据群集训练的过程,则重复步骤S1706到S1716,直到所有从器件已实行读取数据群集训练。也就是说,通过获得每一从器件的寄存器的对应旗标已被启用,每一从器件已实行读取数据群集训练。
在主序列中,在步骤S1720到S1748中实行读取数据群集训练。在步骤S1720中,处理器105检查与读取数据群集训练对应的寄存器的旗标。在步骤S1722中,如果与读取数据群集训练对应的寄存器的旗标被启用,则将DLL值设定为0。在步骤S1724中,处理器105设定用于更新DLL_r值的命令。在步骤S1726中,处理器105设定用于更新DLL_f值的命令。在步骤S1728中,处理器105重置读取FIFO。读取FIFO需要被重置的原因是为了避免处理器105从从器件读取错误的读取数据序列。如果读取FIFO没有被清除,则读取FIFO中的数据序列可能不表示正确的数据序列。在步骤S1730中,处理器105设定用于启用tx_en的命令。在步骤S1732中,处理器105启用BIST检查器。通过启用BIST检查器,处理器准备读取由从器件产生的BIST数据。在步骤S1734中,在X次内读取由从器件产生的BIST数据。在前述说明中已阐述X。在步骤S1736中,如果已在X次内读取BIST数据,则处理器105禁用BIST检查器。在步骤S1738中,处理器105设定用于禁用tx_en的命令。在步骤S1740中,处理器105更新通过窗口。在前述说明中已阐述通过窗口。在步骤S1742中,检查DLL值是否达到最大循环/值。在步骤S1744中,如果DLL值未达到最大循环,则增大DLL。且然后,重复步骤S1724到S1744,直到DLL值达到最大值。在步骤S1746中,如果DLL值已达到最大值,则将DLL设定为从器件的通过窗口的中间值。在步骤S1748中,设定表示读取数据群集训练完成的旗标。
在从序列中,在步骤S1750到S1766中实行读取数据群集训练。在步骤S1750中,检查与读取数据群集训练启用对应的旗标。在步骤S1752中,如果设定了与读取数据群集训练启用对应的旗标,则启用BIST产生器。通过启用BIST产生器,从器件产生BIST数据并相应地将BIST数据发送到处理器105。在步骤S1754中,从器件检查处理器105是否根据命令设定tx_en。在步骤S1756中,处理器105根据命令设定tx_en,从器件启用tx_en。在步骤S1758中,从器件检查处理器105是否根据命令清除tx_en。在步骤S1760中,处理器105根据命令清除tx_en,从器件禁用tx_en。在步骤S1762中,从器件检查是否更新了DLL_r ot或DLL_f。如果更新了DLL_r或DLL_f,则重复步骤S1754到S1762。在步骤S1764中,如果从器件未更新DLL_r或DLL_f,则检查表示读取数据群集训练被禁用的旗标。如果表示读取数据群集训练的旗标未被禁用,则重复步骤S1762到S1764。在步骤S1766中,如果表示读取数据群集训练的旗标被禁用,则禁用BIST产生器。也就是说,从器件通过实行读取数据群集训练来更新DLL_r和/或DLL_f。
此外,用于读取数据群集训练的命令的实例被提供如下。由于在读数据群集训练中使用的DLL值是9个位,则这9个位是通过对读取命令的第一位(S_CMD[0])、从到主ID的4个位(S_DID[3:0])及主到从ID的4个位(M_DID[3:0])进行组合产生。另一方面,通过对读取命令的第二位(S_CMD[1])与写入命令的2个位(M_CMD[1:0])进行组合来产生所述命令。举例来说,所述命令通过将位值设定为{0,0,0}来产生IDLE命令。所述命令通过将位值设定为{0,0,1}来产生更新DLL_r值命令。所述命令通过将位值设定为{0,1,0}来产生更新DLL_f值命令。所述命令通过将位值设定为{0,1,1}来产生更新DLL值命令。所述命令通过将位值设定为{1,0,1}来产生tx_en启用命令。所述命令通过将位值设定为{1,1,0}来产生tx_en禁用命令。
图18示出根据本公开实施例的接口方法。在步骤S1805中,通过由主接口将命令发送到从器件来开始半导体器件的接口方法。在步骤S1810中,通过由从接口及其他从接口中的每一个从主器件接收命令和/或将数据/其他数据发送到主器件来继续进行接口方法。步骤S1810包括在步骤S1815中使用双倍数据速率(DDR)配置将数据/其他数据发送到主接口。步骤S1815包括步骤S1820到S1840。在步骤1820中,通过由第一触发器(FF)单元根据数据/其他数据产生一部分数据来继续进行设备方法。在步骤S1825中,通过由第二FF单元根据数据/其他数据产生另一部分数据来继续进行设备方法。在步骤S1830中,通过由多路复用器将一部分数据及另一部分数据发送到主器件来继续进行设备方法。在步骤1835中,通过由第一选通单元根据由时钟产生器产生的时钟产生第一本地时钟来继续进行设备方法。在步骤S1840中,通过由第二选通单元根据由时钟产生器产生的时钟产生第二本地时钟来继续进行设备方法。且然后,在步骤S1845中,由主接口从从器件接收数据来继续进行设备方法。步骤S1845包括由主接口使用在步骤S1850中由时钟产生器产生的时钟,对来自从接口及其他从接口的DDR单元的一部分数据及另一部分数据进行重新计时。
总之,用于3D半导体器件的接口器件及接口方法在主器件与从器件之间提供可靠的数据通信。可靠的数据通信是通过向每一从器件提供特定的时隙来实现。主器件还提供从器件之间的数据等待时间。通过这样做,可避免从器件之间的总线竞争。此外,为了以最佳采样相位对数据进行采样,当半导体器件启动/接通时,从设备训练本地时钟。通过训练本地时钟,可在最佳数据采样点对数据进行采样,这样一来,可降低错误率。另外,从器件还更新本地时钟,以补偿半导体器件的T-V改变。
在另一实施例中,提供用于在主器件与从器件之间进行接口的接口器件,其中所述主器件产生命令且所述从器件根据所述命令产生数据,所述接口器件包括主接口以及从接口。所述主接口耦合到所述主器件。所述主接口被配置成将所述命令发送到所述从器件和/或从所述从器件接收所述数据。所述从接口耦合到所述从器件。所述从接口被配置成从所述主器件接收所述命令和/或将所述数据发送到所述主器件。所述主接口及所述从接口由时钟产生器产生的时钟驱动。所述主接口与所述从接口由一个或多个结合件和/或TSV进行电连接。用于驱动所述从接口的所述时钟是通过将所述时钟的时钟相位改变成与所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
在另一实施例中,所述接口器件还包括其他从接口。所述其他从接口以一对一的关系耦合到其他从器件。所述其他从接口被配置成从所述主器件接收所述命令和/或将由所述其他从器件产生的其他数据发送到所述主器件。所述其他从接口由所述时钟产生器产生的所述时钟驱动且通过所述一个或多个结合件和/或所述TSV电连接到所述主接口。用于驱动所述其他从接口中的每一个的每一时钟是通过将每一时钟的时钟相位改变成与和所述其他从接口中的每一个对应的所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
在另一实施例中,所述从接口及所述其他从接口中的每一个还被配置成使用双倍数据速率(DDR)配置将所述数据/所述其他数据发送到所述主接口。所述DDR配置是由DRR单元产生。所述DDR单元包括第一触发器(FF)单元、第二触发器单元以及多路复用器。所述第一FF单元被配置成根据所述数据/所述其他数据产生一部分数据。所述第二FF单元被配置成根据所述数据/所述其他数据产生另一部分数据。所述多路复用器耦合到所述第一FF单元及所述第二FF单元。所述多路复用器被配置成将所述一部分数据及所述另一部分数据发送到所述主器件。
在另一实施例中,所述从接口及所述其他从接口中的每一个还包括第一选通单元以及第二选通单元。所述第一选通单元被配置成根据由所述时钟产生器产生的所述时钟产生第一本地时钟。所述第二选通单元被配置成根据由所述时钟产生器产生的所述时钟产生第二本地时钟。由所述第一选通单元产生的所述第一本地时钟由所述主接口用于读取由所述第一FF单元产生的所述一部分数据。由所述第二选通单元产生的所述第二本地时钟由所述主接口用于读取由所述第二FF单元产生的所述另一部分数据。
在另一实施例中,所述主器件还产生转向(TA)循环。所述TA循环用于防止所述从器件的回应与所述其他从器件的回应之间的总线竞争。在另一实施例中,所述TA循环用于补偿所述从器件与所述其他从器件之间的往返延迟(RTD)差。在另一实施例中,所述从器件及所述其他从器件在所述数据之前及所述数据之后产生零数据,以防止由于不同的所述RTD而引起的所述从器件与所述其他从器件之间的竞争。在另一实施例中,所述主接口还包括先进先出(FIFO)单元,所述先进先出单元被配置成使用由所述时钟产生器产生的所述时钟对来自所述从接口及所述其他从接口的所述DDR单元的所述一部分数据及所述另一部分数据进行重新计时。在另一实施例中,所述从器件及所述其他从器件对所述第一选通单元及所述第二选通单元进行训练,以在最佳数据采样点定位所述一部分数据及所述另一部分数据。
在另一实施例中,提供一种用于在主器件与从器件之间进行接口的接口方法,其中所述主器件产生命令且所述从器件根据所述命令产生数据,所述接口方法包括:由主接口将所述命令发送到所述从器件和/或从所述从器件接收所述数据;以及由从接口从所述主器件接收所述命令和/或将所述数据发送到所述主器件。所述主接口及所述从接口由时钟产生器产生的时钟驱动。所述主接口与所述从接口由一个或多个结合件和/或TSV进行电连接。用于驱动所述从接口的所述时钟是通过将所述时钟的时钟相位改变成与所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
在另一实施例中,所述接口方法还包括:由其他从接口从所述主器件接收所述命令和/或将由所述其他从器件产生的其他数据发送到所述主器件。所述其他从接口由所述时钟产生器产生的所述时钟驱动且通过所述一个或多个结合件和/或所述TSV电连接到所述主接口。用于驱动所述其他从接口中的每一个的每一时钟是通过将每一时钟的时钟相位改变成与和所述其他从接口中的每一个对应的所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
在另一实施例中,所述从接口及所述其他从接口中的每一个从所述主器件接收所述命令和/或将所述数据/所述其他数据发送到所述主器件还包括:使用双倍数据速率(DDR)配置将所述数据/所述其他数据发送到所述主接口。使用双倍数据速率(DDR)配置将所述数据/所述其他数据发送到所述主接口还包括:由第一触发器(FF)单元根据所述数据/所述其他数据产生一部分数据;由第二FF单元根据所述数据/所述其他数据产生另一部分数据;以及由多路复用器将所述一部分数据及所述另一部分数据发送到所述主器件。
在另一实施例中,使用DDR配置将所述数据/所述其他数据发送到所述主接口还包括:由第一选通单元根据由所述时钟产生器产生的所述时钟产生第一本地时钟;以及由第二选通单元根据由所述时钟产生器产生的所述时钟产生第二本地时钟。由所述第一选通单元产生的所述第一本地时钟由所述主接口用于读取由所述第一FF单元产生的所述一部分数据。由所述第二选通单元产生的所述第二本地时钟由所述主接口用于读取由所述第二FF单元产生的所述另一部分数据。
在另一实施例中,所述主器件还产生转向(TA)循环。所述TA循环用于防止所述从器件的回应与所述其他从器件的回应之间的总线竞争。在另一实施例中,所述TA循环用于补偿所述从器件与所述其他从器件之间的往返延迟(RTD)差。在另一实施例中,所述从器件及所述其他从器件在所述数据之前及所述数据之后产生零数据,以防止由于不同的所述RTD而引起的所述从器件与所述其他从器件之间的竞争。在另一实施例中,由所述主接口将所述命令发送到所述从器件和/或从所述从器件接收所述数据还包括:使用由所述时钟产生器产生的所述时钟对来自所述从接口及所述其他从接口的所述DDR单元的所述一部分数据及所述另一部分数据进行重新计时。在另一实施例中,所述从器件及所述其他从器件对所述第一选通单元及所述第二选通单元进行训练,以在最佳数据采样点定位所述一部分数据及所述另一部分数据。
以上已概述若干实施例的特征,以使所属领域中的技术人员可更好地理解以下详细说明。所属领域中的技术人员应理解,他们可容易地使用本公开作为设计或修改其他工艺及结构的基础来施行与本文中所介绍的实施例相同的目的和/或实现与本文中所介绍的实施例相同的优点。所属领域中的技术人员还应认识到,这些等效构造并不背离本公开的精神及范围,而且他们可在不背离本公开的精神及范围的条件下在本文中作出各种改变、代替及变更。

Claims (20)

1.一种用于在主器件与从器件之间进行接口的接口器件,其中所述主器件产生命令且所述从器件根据所述命令产生数据,其特征在于,所述接口器件包括:
主接口,耦合到所述主器件,被配置成将所述命令发送到所述从器件和/或从所述从器件接收所述数据;以及
从接口,耦合到所述从器件,被配置成从所述主器件接收所述命令和/或将所述数据发送到所述主器件,其中
所述主接口及所述从接口由时钟产生器产生的时钟驱动;
所述主接口与所述从接口由一个或多个结合件和/或硅穿孔进行电连接,
用于驱动所述从接口的所述时钟是通过将所述时钟的时钟相位改变成与所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
2.根据权利要求1所述的接口器件,其特征在于,还包括其他从接口,所述其他从接口以一对一的关系耦合到其他从器件,被配置成从所述主器件接收所述命令和/或将由所述其他从器件产生的其他数据发送到所述主器件,其中
所述其他从接口由所述时钟产生器产生的所述时钟驱动且通过所述一个或多个结合件和/或所述硅穿孔电连接到所述主接口,
用于驱动所述其他从接口中的每一个的每一时钟是通过将每一时钟的时钟相位改变成与和所述其他从接口中的每一个对应的所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
3.根据权利要求2所述的接口器件,其特征在于,所述从接口及所述其他从接口中的每一个还被配置成使用双倍数据速率配置将所述数据/所述其他数据发送到所述主接口。
4.根据权利要求3所述的接口器件,其特征在于,所述双倍数据速率配置是由双倍数据速率单元产生,所述双倍数据速率单元包括:
第一触发器单元,被配置成根据所述数据/所述其他数据产生一部分数据;
第二触发器单元,被配置成根据所述数据/所述其他数据产生另一部分数据;以及
多路复用器,耦合到所述第一触发器单元及所述第二触发器单元,被配置成将所述一部分数据及所述另一部分数据发送到所述主器件。
5.根据权利要求4所述的接口器件,其特征在于,所述从接口及所述其他从接口中的每一个还包括:
第一选通单元,被配置成根据由所述时钟产生器产生的所述时钟产生第一本地时钟;以及
第二选通单元,被配置成根据由所述时钟产生器产生的所述时钟产生第二本地时钟,
其中由所述第一选通单元产生的所述第一本地时钟由所述主接口用于读取由所述第一触发器单元产生的所述一部分数据,且由所述第二选通单元产生的所述第二本地时钟由所述主接口用于读取由所述第二触发器单元产生的所述另一部分数据。
6.根据权利要求2所述的接口器件,其特征在于,所述主器件还产生转向循环,
其中所述转向循环用于防止所述从器件的回应与所述其他从器件的回应之间的总线竞争。
7.根据权利要求6所述的接口器件,其特征在于,所述转向循环用于补偿所述从器件与所述其他从器件之间的往返延迟差。
8.根据权利要求7所述的接口器件,其特征在于,所述从器件及所述其他从器件在所述数据之前及所述数据之后产生零数据,以防止由于不同的所述往返延迟而引起的所述从器件与所述其他从器件之间的竞争。
9.根据权利要求4所述的接口器件,其特征在于,所述主接口还包括先进先出单元,所述先进先出单元被配置成使用由所述时钟产生器产生的所述时钟对来自所述从接口及所述其他从接口的所述双倍数据速率单元的所述一部分数据及所述另一部分数据进行重新计时。
10.根据权利要求5所述的接口器件,其特征在于,所述从器件及所述其他从器件对所述第一选通单元及所述第二选通单元进行训练,以在最佳数据采样点定位所述一部分数据及所述另一部分数据。
11.一种用于在主器件与从器件之间进行接口的接口方法,其中所述主器件产生命令且所述从器件根据所述命令产生数据,其特征在于,所述接口方法包括:
由主接口将所述命令发送到所述从器件和/或从所述从器件接收所述数据;以及
由从接口从所述主器件接收所述命令和/或将所述数据发送到所述主器件,其中
所述主接口及所述从接口由时钟产生器产生的时钟驱动,
所述主接口与所述从接口由一个或多个结合件和/或硅穿孔进行电连接,
用于驱动所述从接口的所述时钟是通过将所述时钟的时钟相位改变成与所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
12.根据权利要求11所述的接口方法,其特征在于,还包括:由其他从接口从所述主器件接收所述命令和/或将由所述其他从器件产生的其他数据发送到所述主器件,其中
所述其他从接口由所述时钟产生器产生的所述时钟驱动且通过所述一个或多个结合件和/或所述硅穿孔电连接到所述主接口,
用于驱动所述其他从接口中的每一个的每一时钟是通过将每一时钟的时钟相位改变成与和所述其他从接口中的每一个对应的所述命令的数据群集和/或所述数据的数据群集对齐来进行训练。
13.根据权利要求12所述的接口方法,其特征在于,所述从接口及所述其他从接口中的每一个从所述主器件接收所述命令和/或将所述数据/所述其他数据发送到所述主器件还包括:使用双倍数据速率配置将所述数据/所述其他数据发送到所述主接口。
14.根据权利要求13所述的接口方法,其特征在于,使用双倍数据速率配置将所述数据/所述其他数据发送到所述主接口还包括:
由第一触发器单元根据所述数据/所述其他数据产生一部分数据;
由第二触发器单元根据所述数据/所述其他数据产生另一部分数据;以及
由多路复用器将所述一部分数据及所述另一部分数据发送到所述主器件。
15.根据权利要求14所述的接口方法,其特征在于,使用所述双倍数据速率配置将所述数据/所述其他数据发送到所述主接口还包括:
由第一选通单元根据由所述时钟产生器产生的所述时钟产生第一本地时钟;以及
由第二选通单元根据由所述时钟产生器产生的所述时钟产生第二本地时钟,
其中由所述第一选通单元产生的所述第一本地时钟由所述主接口用于读取由所述第一触发器单元产生的所述一部分数据,且由所述第二选通单元产生的所述第二本地时钟由所述主接口用于读取由所述第二触发器单元产生的所述另一部分数据。
16.根据权利要求12所述的接口方法,其特征在于,所述主器件还产生转向循环,
其中所述转向循环用于防止所述从器件的回应与所述其他从器件的回应之间的总线竞争。
17.根据权利要求16所述的接口方法,其特征在于,所述转向循环用于补偿所述从器件与所述其他从器件之间的往返延迟差。
18.根据权利要求17所述的接口方法,其特征在于,所述从器件及所述其他从器件在所述数据之前及所述数据之后产生零数据,以防止由于不同的所述往返延迟而引起的所述从器件与所述其他从器件之间的竞争。
19.根据权利要求14所述的接口方法,其特征在于,由所述主接口将所述命令发送到所述从器件和/或从所述从器件接收所述数据还包括:使用由所述时钟产生器产生的所述时钟对来自所述从接口及所述其他从接口的双倍数据速率单元的所述一部分数据及所述另一部分数据进行重新计时。
20.根据权利要求15所述的接口方法,其特征在于,所述从器件及所述其他从器件对所述第一选通单元及所述第二选通单元进行训练,以在最佳数据采样点定位所述一部分数据及所述另一部分数据。
CN202011347869.5A 2020-09-30 2020-11-26 用于三维半导体器件的接口器件及接口方法 Active CN114328328B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/037,739 US11031923B1 (en) 2020-08-20 2020-09-30 Interface device and interface method for 3D semiconductor device
US17/037,739 2020-09-30

Publications (2)

Publication Number Publication Date
CN114328328A CN114328328A (zh) 2022-04-12
CN114328328B true CN114328328B (zh) 2023-11-10

Family

ID=80782838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011347869.5A Active CN114328328B (zh) 2020-09-30 2020-11-26 用于三维半导体器件的接口器件及接口方法

Country Status (2)

Country Link
CN (1) CN114328328B (zh)
TW (1) TWI744113B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104332179A (zh) * 2009-02-24 2015-02-04 考文森智财管理公司 包括主器件的堆叠的半导体器件
CN108231110A (zh) * 2016-12-15 2018-06-29 爱思开海力士有限公司 半导体装置、半导体系统及训练方法
CN109428661A (zh) * 2017-08-21 2019-03-05 中兴通讯股份有限公司 一种基于fpga的主备时钟相位对齐装置及方法
US10592448B2 (en) * 2017-10-05 2020-03-17 Guangzhou Tyrafos Semiconductor Technologies Co., Ltd Master-slave system, command execution method and data access method with use of serial peripheral interface (SPI)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3898694B2 (ja) * 2001-10-02 2007-03-28 株式会社日立製作所 シリアルデータ伝送装置
US7203853B2 (en) * 2002-11-22 2007-04-10 Intel Corporation Apparatus and method for low latency power management on a serial data link
EP2680153B1 (en) * 2012-06-29 2015-08-12 Technische Universität Darmstadt Method and device for correcting a phase shift in a time synchronised system
KR102450521B1 (ko) * 2018-01-09 2022-10-05 삼성전자주식회사 모바일 장치 및 그것의 인터페이싱 방법
KR20200046145A (ko) * 2018-10-15 2020-05-07 펑션베이(주) 예측 모델 훈련 관리 시스템, 예측 모델 훈련 관리 방법, 예측 모델 학습 관리를 위한 마스터 장치 및 슬레이브 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104332179A (zh) * 2009-02-24 2015-02-04 考文森智财管理公司 包括主器件的堆叠的半导体器件
CN108231110A (zh) * 2016-12-15 2018-06-29 爱思开海力士有限公司 半导体装置、半导体系统及训练方法
CN109428661A (zh) * 2017-08-21 2019-03-05 中兴通讯股份有限公司 一种基于fpga的主备时钟相位对齐装置及方法
US10592448B2 (en) * 2017-10-05 2020-03-17 Guangzhou Tyrafos Semiconductor Technologies Co., Ltd Master-slave system, command execution method and data access method with use of serial peripheral interface (SPI)

Also Published As

Publication number Publication date
CN114328328A (zh) 2022-04-12
TWI744113B (zh) 2021-10-21
TW202215244A (zh) 2022-04-16

Similar Documents

Publication Publication Date Title
US9639281B1 (en) Data clock synchronization in hybrid memory modules
US8781053B2 (en) Clock reproducing and timing method in a system having a plurality of devices
EP2319044B1 (en) Memory system and method using stacked memory device dice, and system using the memory system
TWI519077B (zh) 於包含複數裝置及具有撓性資料對準之記憶體控制器的系統中之時脈再生及計時方法
US7612621B2 (en) System for providing open-loop quadrature clock generation
US7593288B2 (en) System for providing read clock sharing between memory devices
US11049584B2 (en) Integrated circuit memory devices having buffer dies and test interface circuits therein that support testing and methods of testing same
US10943625B2 (en) Memory device with write data bus control
WO2002023352A2 (en) System and method for providing reliable transmission in a buffered memory system
US6249875B1 (en) Interface circuit using plurality of synchronizers for synchronizing respective control signals over a multi-clock environment
WO2012125719A2 (en) Methods and apparatus for testing inaccessible interface circuits in a semiconductor device
US20200265002A1 (en) Forwarding element integrated circuit chip with separate i/o and switching tiles
CN111540391A (zh) 层叠存储器件及包括其的存储系统
US9466348B2 (en) Method and apparatus for memory command input and control
CN114328328B (zh) 用于三维半导体器件的接口器件及接口方法
US20100315134A1 (en) Systems and methods for multi-lane communication busses
WO2011130007A1 (en) Levelization of memory interface for communicating with multiple memory devices
US11031923B1 (en) Interface device and interface method for 3D semiconductor device
US11860685B2 (en) Clock frequency divider circuit
Zhang et al. Face-to-face bus design with built-in self-test in 3D ICs
JP2022530591A (ja) マルチチップモジュール上の物理レイヤインタフェースに対するデスキュー方法
TWI525998B (zh) 於包含複數裝置及具有撓性資料對準之記憶體控制器的系統中之時脈再生及計時裝置、設備及其方法
US11675731B2 (en) Data protection system and method thereof for 3D semiconductor device
US7269681B1 (en) Arrangement for receiving and transmitting PCI-X data according to selected data modes
TW202215444A (zh) 用於三維半導體器件的資料保護系統及其方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant