CN102110064A - 低延时串行存储接口 - Google Patents
低延时串行存储接口 Download PDFInfo
- Publication number
- CN102110064A CN102110064A CN2010102269442A CN201010226944A CN102110064A CN 102110064 A CN102110064 A CN 102110064A CN 2010102269442 A CN2010102269442 A CN 2010102269442A CN 201010226944 A CN201010226944 A CN 201010226944A CN 102110064 A CN102110064 A CN 102110064A
- Authority
- CN
- China
- Prior art keywords
- serial link
- data stream
- link
- serial
- encoded
- 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.)
- Granted
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03828—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
- H04L25/03866—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/06—Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明涉及一种具有低延时串行存储接口的设备和使用该接口的方法。其中,该设备将同步时钟应用到该设备的第一部件和第二部件上,并将一组串行链路中的特定串行链路指定为主串行链路。该设备还将其余的串行链路指定为从串行链路,并经由主串行链路提供经编码的数据流,以及经由从串行链路提供未经编码的和乱序的数据流。
Description
技术领域
本发明主要涉及通信设备领域,更具体地,涉及具有低延时串行存储接口的设备和使用低延时串行存储接口的方法。
背景技术
计算和通信网络通常包括从一个或多个源向一个或多个目的地传送或交换数据(诸如包)的设备(例如,网络设备),诸如路由器、防火墙、交换机、服务器,或者网关。网络设备可在包遍历网络时在包上操作,诸如通过转发或过滤基于包的网络流量。一些计算设备(例如,个人计算机)可与网络不相关,并因此可称为独立设备。这种网络设备和计算机设备包括存储器和诸如串行存储接口的存储器接口。
串行存储接口需要不同供应商之间和跨越通常具有不同输入/输出电压的工艺技术的不同代之间的互操作性。为了有助于这种互操作性,利用了交流(AC)耦合存储接口。然而,与每条链路具有板上AC电容器的芯片之间的传统串行接口不同,存储器(例如,存储器芯片)及其接口需要设置为与存储控制器相邻(例如,以使通道损耗减到最少),因此将AC耦合电容器配置在板(例如,与存储器和存储控制器相关的)上是不切实际的。因此,AC耦合电容器设置在芯片上。由于时钟数据恢复(CDR)和数据依赖直流(DC)基线漂移,这种AC耦合电容器(例如,设置在芯片上)的小尺寸限制可以设置在数据流中的连续相同数位(CID)(例如,连续的“0”或“1”)。
因此,串行存储接口面临着DC均衡问题和CID问题。如果提供至/自串行存储接口的数据流不是DC均衡的,那么它将导致长期积聚的电荷,其将导致DC基线漂移。长CID将导致电容器上的电荷储存问题,其可通过在板上使用较大的电容器来解决。然而,如上所述,AC耦合电容器必须设置在芯片上(例如,而不是在板上)并且在尺寸上有限制。长CID还会导致如上所述的时钟数据恢复(CDR)问题。串行存储接口的另一个问题是传统异步时钟是与设置在发射机和接收机之间的串行链路一起使用的。由于不同时钟机制(例如,晶体振荡器)之间的频率偏移(例如,百万分之一(ppm))导致相位建立,因而导致额外的延时和电路来补偿此建立的相位。当在数据流中存在大量CID时,还存在对串行链路比特误码率的潜在的消极影响。此外,一些具有时钟恢复的串行存储接口利用发射机和接收机之间的异步时钟,其导致编码和相关逻辑的延时开销。
发明内容
根据本发明的一个方面,一种方法可由包括存储器和存储控制器的设备来实施。该方法可包括由该设备将设置在存储器的串行接口的一组串行链路中的特定串行链路指定为主串行链路;由该设备将其余的串行链路指定为从串行链路;经由主串行链路提供经编码的数据流;以及经由从串行链路提供未经编码的和乱序的数据流。
根据本发明的另一方面,一种设备可包含包括具有一组串行链路的串行接口和逻辑的存储器。该逻辑可将该组串行链路中的特定串行链路指定为主串行链路,并将该组其余的串行链路指定为从串行链路。该逻辑还可经由主串行链路提供经编码的数据流,并可以经由从串行链路提供未经编码的和乱序的数据流。
根据本发明的又一方面,一种设备可包括将同步时钟应用到设备的第一部件和第二部件上的装置,其中,第一部件包括具有一组串行链路的串行接口。该设备还可包括将该组串行链路中的特定串行链路指定为指定串行链路的装置,以及经由指定的串行链路将经编码的数据流发送至第二部件或从第二部件接收经编码的数据流的装置。该设备可进一步包括经由该组的其余串行链路将未经编码的和乱序的数据流发送至第二部件或从第二部件接收未经编码的和乱序的数据流的装置。
根据本发明的再一方面,一种部件可包括具有一组链路的接口,以及将该组链路的特定链路限定为指定链路的逻辑。该逻辑也可将该组中的其余链路限定为未指定链路,经由指定链路提供经编码的数据流,并经由未指定链路提供未经编码的和乱序的数据流。
附图说明
包括在本说明书中并构成本说明书的一部分的附图示出了本文中所描述的一个或多个实施方式,并连同描述对这些实施方式进行解释。在附图中:
图1是本文所描述的***和/或方法可在其中实现的示例性网络的图;
图2是在图1中描述的设备的示例性部件的图;
图3是在图1中描述的设备的示例性部分的部件之间的示例性相互作用的图;
图4A至图4C是在图1中描述的设备的另一示例性部分的部件之间的示例性相互作用的图;以及
图5和图6是提供根据本文描述的实施例的低延时串行接口的示例性处理过程的流程图。
具体实施方式
下面的详细描述参照附图。不同图中相同的参考标号标识相同或相似的元件。除此之外,下面的详细描述不限制本发明。
本文描述的实施例可以提供利用时钟恢复、换序数据、在发射机和接收机之间具有同步时钟的芯片上的AC耦合接口、以及低延时数据编码的***和/或方法。该***和/或方法可以确保具有改进的时钟数据恢复带宽和全部串行链路BER的DC均衡数据模式和确定性CID。该***和/或方法可使串行接口嵌入在存储器中,而不是设置在与存储器(例如,由于板的尺寸约束,其会受到抑制)相关联的板上。此外,该***和/或方法可将同步***时钟分配给存储控制器和存储器,这可以减少串行接口的总延时。
示例性网络
图1是本文所描述的***和/或方法可在其中实施的示例性网络100的示图。如所示,网络100可以包括与网络120连接的一个或多个设备110,和/或一个或多个独立的设备110(即,不与网络120连接)。网络100的部件可以经由有线和/或无线连接或链路进行互连。为了简单起见,在图1中示出了两个设备110和单个网络120。实际上,可存在多个设备110和/或网络120。此外,在一些情况下,网络100的一个或多个部件可以执行描述为由网络100的另一个或多个部件执行的一个或多个任务。
在一个示例性实施方式中,设备110可以包括网络设备,诸如网关、路由器、交换机、防火墙、网络接口卡(NIC)、集线器、桥接器、代理服务器、光分插复用器(OADM),或一些其它类型的处理和/或传送通信量的设备(即,能够经由网络120将信息发送至其他设备110和/或从其他设备110接收信息的设备)。在另一个实施方式中,设备110可包括独立的设备(例如,不连接至网络120),诸如膝上型计算机、个人计算机、工作站、或其他类型的计算设备。
网络120可以包括任意类型的一个或多个网络。例如,网络120可以包括局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(诸如公共交换电话网(PSTN)、公共陆地移动网(PLMN)、无线网)、内联网、互联网、基于光纤的网、或者网络的组合。
虽然图1示出了网络100的示例性部件,但是在其他的实施方式中,与在图1中描述的部件相比,网络100可包括更少的部件、不同的部件、配置不同的部件、或附加的部件。
示例性网络设备的配置
图2示出了可对应于一个设备110的设备200的示例性部件的图。如图所示,设备200可包括总线210、处理单元220、存储器230、输入设备240、输出设备250、和通信接口260。
总线210可以允许在设备200的部件之间进行通信。处理单元220可以包括解释和执行指令的一个或多个处理器或微处理器。在其他实施方式中,处理单元220可被实施为或包括一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。
如图2进一步所示,接口225可以设置在处理单元220和存储器230之间。接口225可以包括使处理单元220与存储器230之间能够通信的光、有线、或无线连接。
存储器230可以包括存储由处理单元220执行的信息和指令的随机存取存储器(RAM)或另一类型的动态存储设备、存储处理单元220的静态信息和指令的只读存储器(ROM)或另一类型的静态存储设备、和/或用于存储信息和/或指令的某种其它类型的磁或光记录介质及其相应的驱动器。
输入设备240可以包括允许操作员将信息输入至设备200的设备,诸如键盘、小键盘、鼠标、笔、麦克风、一个或多个生物测定机构等。输出设备250可以包括将信息输出至操作员的设备,诸如显示器、扬声器等。
通信接口260可以包括使设备200能够与其它设备和/或***进行通信的任何与收发器类似的机构。例如,通信接口260可以包括与其他设备(诸如其它设备110)进行通信的机构。
如本文描述的,响应于处理单元220执行包含在诸如存储器230的计算机可读介质中的软件指令,设备200可以执行特定操作。计算机可读介质可以限定为物理的或逻辑的存储设备。逻辑存储设备可以包括在单一物理存储设备中或者遍布多个物理存储设备中的存储空间。可以经由通信接口260从另一计算机可读介质或从另一设备将软件指令读入到存储器230中。包含在存储器230中的软件指令可以使处理单元220执行本文所描述的处理。可选地,硬件电路可用于替换或者结合软件指令来执行本文所描述的处理。因此,本文所描述的实施不局限于硬件电路和软件的任何特定的组合。
尽管图2示出了设备200的示例性部件,在其它实施中,与图2中描述的设备相比较,设备200可以包括更少的、不同的、不同配置的、或附加的部件。可选地,或此外,设备200的一个或多个部件可以执行描述为由设备200的一个或多个其它部件所执行的一个或多个其它任务。
示例性存储器/存储接口配置
图3是在设备110的示例性部分300的部件之间的示例性相互作用的图。如图所示,设备110的部分300可以包括存储控制器310、一个或多个存储器320(例如,和相关联的串行接口325)、时钟330、以及时钟分配器340。设备110的部分300的部件可经由有线和/或无线连接互连。在一个示例性实施例中,设备110可包括一个或多个部分300。
存储控制器310可以包括管理发送到和/或来自存储器320的数据流的数字电路。存储控制器310可以是单独的设备(或芯片)或可以被集成到另一个设备(或芯片),诸如微处理器。存储控制器310可以经由串行接口325与存储器320进行通信。在一个实例中,存储控制器310可以包括读和写动态RAM(DRAM)以及刷新DRAM的逻辑。
每个存储器320可以包括存储用于由处理器(例如,处理单元220)执行的信息和指令的RAM或另一类型的动态存储设备;存储用于由处理器(例如,处理单元220)执行的静态信息和指令的ROM或另一类型的静态存储设备;和/或用于存储信息和/或指令的某种其他类型的磁或光记录介质及其相应的驱动器。在一个示例性实施例中,存储器320可以对应于设备200的存储器230(图2)。如图3所示,每个存储器320可以包括相应的串行接口325。在存储器320上(例如,“在芯片上”)设置串行接口325可以改善存储器320和串行接口325的延时,可以提高设备110的功率,可以增加在设备110中的可用空间等。
串行接口325可以包括提供到和/或来自存储器控制器310的串行通信(例如,每次按顺序发送一位数据)的接口。在一个实例中,串行接口325可以包括AC耦合接口(例如,具有AC耦合电容器)。在另一个实例中,串行接口325可以包括使数据流能够提供至和/或接收自存储控制器310的一个或多个串行链路(例如,发射机和接收机对)。
在一个示例性实施例中,存储器320(例如,和串行接口325)可被设置为与存储控制器310相邻,从而可将短通道(如图3所示)设置在存储控制器310和存储器320(例如,和串行接口325)之间。短通道可以减小存储控制器310和存储器320之间的***损耗和回程损耗;可以将存储控制器310和存储器320之间所需的发送和接收均衡量减到最少;可以减少与串行接口325相关的延时。以下将结合例如图4A和图4B提供存储器320和串行接口325的进一步细节。
时钟330可以包括产生时钟信号350的设备。在一个实例中,时钟330可以包括晶体振荡器(例如,使用压电材料的振动晶体的机械共振来产生具有精确频率的电信号的电子电路)。时钟信号350可以包括在高和低状态之间振荡的信号,可以用于协调存储控制器310和存储器320的工作。在一个实例中,时钟信号350可以包括具有精确频率的电信号。
时钟分配器340可以包括从时钟330接收时钟信号350并提供存储控制器310和存储器320上的同步时钟360(例如,基于时钟信号350)的设备。提供存储控制器310和存储器320上的同步时钟360可减轻由存储控制器310和存储器320之间的频率偏移(例如,ppm)和建立的相关相位引起的延时影响。同步时钟360也可以减少存储器320(例如,和/或串行接口325)所需的额外管脚、额外功率和额外面积的需要。
尽管图3示出了设备110的部分300的示例性部件,在其它实施例中,与图3中描述的部件相比较,设备110可以包括更少的部件、不同的部件、不同配置的部件、或附加的部件。例如,尽管图3示出了三个存储器320,但在其它实施例中,设备110可包括三个以上存储器320。可选地,或此外,设备110的一个或多个部件可以执行描述为由设备110的一个或多个其它部件所执行的一个或多个其它任务。
图4A至图4C是设备110的另一示例性部分400的部件之间的示例性相互作用的图。如图所示,部分400可以包括存储控制器310、单个存储器320和单个串行接口325。存储控制器310、存储器320、和串行接口325可以包括以上结合例如图3所描述的特征。如图4A至图4C进一步所示,串行接口325可以包括多个串行链路410-0至410-7(统称为“串行链路410”,以及在某些情况下,单独称为“串行链路410”)、存储器320可以包括相位信息分配器420。
由于在串行接口可以解释代码之前串行接口必须等待全部代码到达,所以对提供至或自串行接口(例如,串行接口325)的数据进行编码引入了额外的延时。例如,对于每个串行链路410,如果链路速度为每秒十(10)吉比特(Gbps),每位花费0.1纳秒(ns)在存储控制器310和存储器320之间移动。使用8B/10B编码方案,每个代码是十(10)位,所以在串行链路410可以解释代码之前串行链路410需要等待一纳秒以接收全部代码。使用64B/66B编码方案,在串行链路410可以解释代码之前串行链路410需要等待6.6纳秒以接收全部代码。5.6ns(即,6.6ns一1ns)的差表示串行接口325使用64B/66B编码方案相对于8B/10B编码方案将经历的额外延时。另一方面,8B/10B编码方案在“有效位”与“总的发送位”的比率方面只有百分之八十(80%)的效率,而64B/66B编码方案具有大约百分之九十七(97%)的相应效率。因此,有效的编码方案引入额外延时,但低延时编码方案具有低效率。
本文所描述的实施例可在八条串行链路410中的一条上提供低延时编码(例如,8B/10B编码)。在一个示例性实施例中,如结合图4A所描述,可指定一条串行链路为主串行链路,而指定其余的串行链路410为从串行链路。主串行链路可提供低延时编码。在另一示例性实施例中,如结合图4B和图4C所描述,每条串行链路410可以顺序地用于提供低延时编码。该实施例可以提供大约97.5%(即,[7×10(未经编码的串行链路)+8(经编码的串行链路)]/80)的总效率(例如,在八条串行链路410上),同时可以保持一纳秒的延时(例如,如果使用8B/10B编码)。
参照图4A,串行链路410可以包括使数据流能够提供至和/或接收自存储控制器310的发射机和接收机对。在示例性实施例中,串行链路410可以包括串行化器/并行化器(SerDes)。SerDes可以包括将并行数据转化为串行数据和反之亦然的集成电路(IC)收发机。SerDes的发射机部分可以包括并串行转换器,SerDes的接收机部分可包括串并行转换器。SerDes能够有助于在经过串行流的两点之间发射并行数据,这可以减少串行接口325所需的数据路径和连接管脚或导线的数量。在一个实例中,串行链路410可以包括在串行化数据之前将每个数据字节映射至十位代码的8B/10B SerDes。8B/10B SerDes的并行化器可利用参考时钟来监控来自比特流的恢复时钟。
相位信息分配器420可以包括将相位信息430提供至串行链路410的设备。相位信息430可以包括用于校准和/或更新与串行链路410-1至410-7相关的CDP电路的相位以提供数据流450(例如,没有最大CID的限制)的正确操作的信息。
如图4A进一步所示,串行接口325(例如,或存储器320)可以包括将一条串行链路410(例如,串行链路410-0)指定为主串行链路,和将其余的串行链路410(例如,串行链路410-1至410-7)指定为从串行链路的逻辑。主串行链路410-0可以包括将经编码的数据流发送至存储控制器310或接收来自存储控制器310的经编码的数据流的逻辑。可以使用4B/5B编码方案、7B/8B编码方案、8B/10B编码方案、9B/10B编码方案、31B/32B编码方案、64B/66B编码方案、或其它任何在数据流中提供乱序数据、DC均衡、和低CID的编码方案对数据流440进行编码。
如图4A进一步所示,由于主串行链路410-0可以具有良好的CID,相位信息分配器420可以包括从主串行链路410-0提取相位信息430,并将相位信息430分配至从串行链路410-1至410-7的逻辑。
从串行链路410-1至410-7可以包括将未经编码的和乱序的数据流450发送至存储控制器310或从存储控制器310接收未经编码的和乱序的数据流450的逻辑。数据流450可以是未经编码的,可以是乱序的,从而可以随机配置数据流450中的数据。
在一个示例性实施例中,串行接口325(例如,或存储器320)可以包括提供定时器、确定定时器是否已期满、以及当定时器期满时不将特定串行链路410(例如,串行链路410-0)指定为主串行链路的逻辑。串行接口325(例如,或存储器320)可以进一步包括将另一串行链路410指定为主串行链路并重新启动定时器的逻辑。例如,串行接口325(例如,或存储器320)可以不将串行链路410-0指定为主串行链路,可以将串行链路410-1指定为主串行链路。主串行链路410-1可以将经编码的数据流440发送至存储控制器310或从存储控制器310接收经编码的数据流440,而从串行链路410-0和410-2至410-7可以将未经编码的和乱序的数据流450发送至存储控制器310或从存储控制器310接收未经编码的和乱序的数据流450。
如图4B所示,存储器320可以不包括相位信息分配器420,串行接口325(例如,或存储器320)可以包括顺序旋转指定的串行链路410(例如,图4B中的串行链路410-0)的逻辑。指定的串行链路410-0可以包括将经编码的数据流440发送至存储控制器310或从存储控制器310接收经编码的数据流440的逻辑。而其余的串行链路(例如,图4B中未指定的串行链路410-1至410-7)可以包括将未经编码的和乱序的数据流450发送至存储控制器310或从存储控制器310接收未经编码的和乱序的数据流450的逻辑。在一个实例中,可以以特定的连续顺序改变指定的串行链路410。如图4C所示,在另一时间点串行链路410-1可以是指定的串行链路,而串行链路410-0和410-2至410-7可以是未指定的串行链路410。指定的串行链路410-1可以包括将经编码的数据流440发送至存储控制器310或从存储控制器310接收经编码的数据流440的逻辑。而未指定的串行链路410-0和410-2至410-7可经包括将未经编码的和乱序的数据流450发送至存储控制器310或从存储控制器310接收未经编码的和乱序的数据流450的逻辑。
例如,如果使用8B/10B编码,当将数据的前十位发送至串行链路410时(例如,在第一时间段),可以对串行链路410-0(图4B)上的数据执行编码。当将数据的第二个十位发送至串行链路410时(例如,在第二时间段),可以对串行链路410-1(图4B)上的数据执行编码。可以重复这个过程,直到将八十(80)位数据发送至串行链路410,并且可以再次返回至串行链路410-0(图4B)进行编码。因此,每条串行链路410可以包括每八十(80)位数据的编码字。因为每个编码字可具有确定性CID,每条串行链路可具有大约八十(80)位以上数据的确定性最大CID。使用这样的配置,串行链路410能够独自执行CDR而不需分配相位信息430。此外,通过旋转编码字,可以维持串行接口325的效率和延时。
图4A至图4C中所示的配置由于每次只有单个数据流需要编码和解码(例如,而不是所有数据流),因此可以增加可用带宽,并将与串行接口325(例如,和/或存储器320)相关的延时减到最小。此外,图4A至图4C中所示的配置可以限制CID的最大数量,并不会有延时开销。
尽管图4A至图4C示出了设备110的部分400的示例性部件,但在其它实施例中,与图4A至图4C中示出的配置相比较,设备110可以包括更少的部件、不同的部件、不同配置的部件、或附加的部件。例如,尽管图4A至图4C示出了具有八条串行链路410的串行接口325,但在其它实施例中,串行端口325可以包括多于或少于八条的串行链路410。在另一实例中,串行链路410可以设置在存储控制器310中,存储控制器310可以以与存储器320相似的方式运行。即,结合图4A至图4C所示的相互作用可以在两个方向(例如,从存储控制器310至存储器320和反之亦然)上工作。可选地,或此外,设备110的一个或多个部件可以执行描述为由设备110的一个或多个其它部件所执行的一个或多个其它任务。
示例性处理过程
图5和图6是根据本文描述的实施例的提供低延时串行接口的示例性处理过程500的流程图。在一个实施例中,可以通过设备110执行处理过程500。在另一个实施例中,可以通过设备110的一个或多个部件执行一些或所有处理过程500。
如图5所示,处理过程500可以包括将同步时钟应用在设置在设备中的存储器和存储控制器上(块510),将设置在存储器中的串行接口的多条串行链路的特定串行链路指定为主串行链路(块520),以及将其余的多条串行链路指定为从串行链路(块530)。例如,在以上结合图3和图4A描述的实施例中,时钟分配器340可以从时钟330接收时钟信号,并可在存储控制器310和存储器320上提供同步时钟360(例如,基于时钟信号350)。串行接口325(例如,或存储器320)可以包括将一条串行链路410(例如,串行链路410-0)指定为主串行链路,以及将其余串行链路410(例如,串行链路410-1至410-7)指定为从串行链路的逻辑。
如图5进一步所示,处理过程500可以包括经由主串行链路将经编码的数据流发送至存储控制器或从存储控制器接收经编码数据流(块540),以及,经由从串行链路,将未经编码的和乱序的数据流发送至存储控制器或从存储控制器接收未经编码的和乱序的数据流(块550)。例如,在以上结合图4A描述的实施例中,主串行链路410-0可以包括将经编码的数据流440发送至存储控制器310或从存储控制器310接收经编码的数据流440的逻辑。可以使用8B/10B编码方案、64B/66B编码方案、或其它任何在数据流中提供乱序的数据、DC均衡、和低CID的编码方案对数据流440进行编码。从串行链路410-1至410-7可以包括将未经编码的和乱序的数据流450发送至存储控制器310或从存储控制器310接收未经编码的和乱序的数据流450的逻辑。数据流450可以是未经编码的,还可以是乱序的,从而可以随机配置数据流450中的数据。
处理过程块520可以包括在图6中所描述的处理过程块。如图6所示,处理过程块520可以包括确定定时器是否已期满(块600),当定时器期满时不将特定串行链路指定为主串行链路(块610),将多条串行链路的另一串行链路指定为主串行链路,并重新启动定时器(块630)。例如,在以上结合图4A描述的实施例中,串行接口325(例如,或存储器320)可以包括提供定时器、确定定时器是否已期满的逻辑、以及当定时器期满时不将特定的串行链路410(例如,串行链路410-0)指定为主串行链路的逻辑。串行接口325(例如,或存储器320)可以进一步包括将另一串行链路410指定为主串行链路并重新启动定时器的逻辑。串行接口325(例如,或存储器320)可以不将串行链路410-0指定为主串行链路,并可以将串行链路410-1指定为主串行链路。
结论
本文描述的实施例可提供利用时钟恢复、乱序数据、在发射机和接收机之间具有同步时钟的芯片上的AC耦合接口、以及低延时数据编码的***和/或方法。该***和/或方法可以利用改进的时钟数据恢复带宽和全部串行链路BER确保DC均衡数据模式以及确定性CID。该***和/或方法可以使串行接口嵌入在存储器中,而不是设置在与存储器(例如,由于板的尺寸约束,其会受限制)相关的板上。此外,该***和/或方法可以将同步***时钟分配至存储控制器和存储器,者可以减少串行接口的总延时。
以上实施例的描述提供了说明和描述,但并非旨在穷举,或将发明限制于所公开的精确形式。可以根据上述教导进行修改和变化,或可以从本发明的实践获得修改和变化。
例如,虽然以上描述了串行存储接口,但本文描述的实施例可以应用于利用串行接口或光接口的任何设备或设备的部件。此外,本文所描述的实施例可应用于基于光、有线和/或无线的接口。
例如,虽然参照图5和图6已描述了一系列块,在其它实施例中可以更改块的顺序。此外,可以并行执行非依赖性的块。
显然如上所述的示例性方面可以在图中所示的实施方式中以软件、固件和硬件的多种不同形式实现。用于实现这些方面的实际软件代码或专门的控制硬件不应构成限制。因此,没有参照特定的软件代码描述该方面的操作和行为——这应当被理解为基于本文的描述可设计软件和控制硬件以实现该方面。
此外,本文所描述的一个或多个实施例可经由执行一个或多个功能的“逻辑”来提供。本文所使用的术语“逻辑”可以包括诸如ASIC或FPGA的硬件,或硬件和软件的组合。
尽管在权利要求中陈述了和/或在说明书中公开了特征的特定组合,但是这些组合并非旨在限制本发明。事实上,这些特征中的许多特征可以以权利要求书中没有具体陈述和/或说明书中没有具体公开的方式组合。
除非如这样明确描述,本申请中所使用的元素、过程或指令都不应解释为对本发明是关键的或必需的。同时,本文所使用的冠词“一(a)”意旨包括一个或多个项目。当只包括一个项目时,使用术语“一个(one)”或者类似的语言。此外,除非另有明确声明,短语“基于”意旨“至少部分基于”。
Claims (20)
1.一种由包括存储器和存储控制器的设备实施的方法,所述方法包括:
由所述设备将设置在所述存储器中的串行接口的多条串行链路中的特定串行链路指定为主串行链路;
由所述设备将其余的所述多条串行链路指定为从串行链路;
经由所述主串行链路提供经编码的数据流;以及
经由所述从串行链路提供未经编码的和乱序的数据流。
2.根据权利要求1所述的方法,进一步包括:
将同步时钟应用到所述存储器和所述存储控制器上。
3.根据权利要求1所述的方法,其中,经由所述主串行链路提供经编码的数据流包括以下步骤之一:
经由所述主串行链路将所述经编码的数据流发送至所述存储控制器,或者
经由所述主串行链路从所述存储控制器接收所述经编码的数据流。
4.根据权利要求1所述的方法,其中,经由所述从串行链路提供未经编码的和乱序的数据流包括以下步骤之一:
经由所述从串行链路将所述未经编码的和乱序的数据流发送至所述存储控制器,或者
经由所述从串行链路从所述存储控制器接收所述未经编码的和乱序的数据流。
5.根据权利要求1所述的方法,指定特定串行链路包括:
确定与所述主串行链路相关联的定时器是否已期满;
当所述定时器期满时不将所述特定串行链路指定为所述主串行链路;
将所述多条串行链路中的另一串行链路指定为所述主串行链路;以及
重启所述定时器。
6.根据权利要求5所述的方法,其中:
以预定顺序设置所述多条串行链路,以及
基于所述预定顺序将另一个串行链路指定为所述主串行链路。
7.根据权利要求1所述的方法,其中,所述经编码的数据流是经由在数据流中提供乱序数据、直流(DC)均衡、和低连续相同数位(CID)的编码方案编码的。
8.根据权利要求1所述的方法,其中,所述多条串行链路中的每条包括串行化器/并行化器(SerDes)。
9.一种设备,包括:
存储器,其包括:
具有多条串行链路的串行接口,
用于将所述多条串行链路中的特定串行链路指定为主串行链路的装置;
用于将其余的所述多条串行链路指定为从串行链路的装置;
用于经由所述主串行链路提供经编码的数据流的装置;以及
用于经由所述从串行链路提供未经编码和乱序的数据流的装置。
10.根据权利要求9所述的设备,进一步包括:
连接至所述串行接口的存储控制器;
其中,所述存储器进一步包括将同步时钟应用到所述存储器和所述存储控制器上的装置。
11.根据权利要求10所述的设备,其中,所述存储器进一步包括以下之一:
用于经由所述主串行链路将所述经编码的数据流发送至所述存储控制器的装置,或者
用于经由所述主串行链路从所述存储控制器接收所述经编码的数据流的装置。
12.根据权利要求10所述的设备,其中,所述存储器进一步包括以下之一:
用于经由所述从串行链路将所述未经编码的和乱序的数据流发送至所述存储控制器的装置,或者
用于经由所述从串行链路从所述存储控制器接收所述未经编码和乱序的数据流的装置。
13.根据权利要求9所述的设备,其中,所述存储器进一步包括:
用于确定与所述主串行链路相关联的定时器是否已期满的装置;
用于当所述定时器期满时不将所述特定串行链路指定为所述主串行链路的装置;
用于将所述多条串行链路中的另一串行链路指定为所述主串行链路的装置;以及
用于重启所述定时器的装置。
14.根据权利要求13所述的设备,其中:
以预定顺序设置所述多条串行链路,以及
基于所述预定顺序将另一个串行链路指定为所述主串行链路。
15.根据权利要求9所述的设备,其中,所述经编码的数据流是经由在数据流中提供乱序数据、直流(DC)均衡、和低连续相同数位(CID)的编码方案编码的。
16.一种部件,包括:
具有多条链路的接口;
用于将所述多条链路中的特定链路限定为指定链路的装置;
用于将其余的所述多条链路限定为未指定链路的装置;
用于经由所述指定链路提供经编码的数据流的装置;以及
用于经由所述未指定链路提供未经编码的和乱序的数据流的装置。
17.根据权利要求16所述的部件,其中,另一部件连接至所述接口,并且所述部件进一步包括:
用于将同步时钟应用到所述部件和所述另一部件上的装置。
18.根据权利要求17所述的部件,其中,所述部件进一步包括以下之一:
用于经由所述指定链路,将所述经编码的数据流发送至所述另一部件的装置,或者
用于经由所述指定链路,从所述另一部件接收所述经编码的数据流的装置。
19.根据权利要求17所述的部件,其中,所述部件进一步包括以下之一:
用于经由所述未指定链路,将所述未经编码的和乱序的数据流发送至所述另一部件的装置,或者
用于经由所述未指定链路,从所述另一部件接收所述未经编码的和乱序的数据流的装置。
20.根据权利要求16所述的部件,其中,所述部件进一步包括:
用于以依次的顺序将所述多条链路中的每条限定为所述指定链路的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/648,373 | 2009-12-29 | ||
US12/648,373 US8452908B2 (en) | 2009-12-29 | 2009-12-29 | Low latency serial memory interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102110064A true CN102110064A (zh) | 2011-06-29 |
CN102110064B CN102110064B (zh) | 2014-11-05 |
Family
ID=43929186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010226944.2A Active CN102110064B (zh) | 2009-12-29 | 2010-06-28 | 低延时串行存储接口 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8452908B2 (zh) |
EP (1) | EP2343859B1 (zh) |
CN (1) | CN102110064B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106415511A (zh) * | 2014-01-24 | 2017-02-15 | 高通股份有限公司 | 动态随机存取存储器(dram)接口的串行数据传输 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8094576B2 (en) | 2007-08-07 | 2012-01-10 | Net Optic, Inc. | Integrated switch tap arrangement with visual display arrangement and methods thereof |
US9813448B2 (en) | 2010-02-26 | 2017-11-07 | Ixia | Secured network arrangement and methods thereof |
US9749261B2 (en) | 2010-02-28 | 2017-08-29 | Ixia | Arrangements and methods for minimizing delay in high-speed taps |
US8755293B2 (en) * | 2010-02-28 | 2014-06-17 | Net Optics, Inc. | Time machine device and methods thereof |
US8634221B2 (en) | 2011-11-01 | 2014-01-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Memory system that utilizes a wide input/output (I/O) interface to interface memory storage with an interposer and that utilizes a SerDes interface to interface a memory controller with an integrated circuit, and a method |
KR101545512B1 (ko) * | 2012-12-26 | 2015-08-24 | 성균관대학교산학협력단 | 반도체 메모리 장치, 검증 독출 방법 및 시스템 |
US9146848B2 (en) | 2013-04-30 | 2015-09-29 | Hewlett-Packard Development Company, L.P. | Link training for a serdes link |
US9792247B2 (en) | 2014-07-18 | 2017-10-17 | Qualcomm Incorporated | Systems and methods for chip to chip communication |
US9577818B2 (en) * | 2015-02-04 | 2017-02-21 | Teradyne, Inc. | High speed data transfer using calibrated, single-clock source synchronous serializer-deserializer protocol |
US9998213B2 (en) | 2016-07-29 | 2018-06-12 | Keysight Technologies Singapore (Holdings) Pte. Ltd. | Network tap with battery-assisted and programmable failover |
JP2019057344A (ja) * | 2017-09-20 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095703A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
CN101611386A (zh) * | 2007-02-14 | 2009-12-23 | 株式会社东芝 | 将数据写入半导体存储器中的方法以及存储器控制器 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63118856A (ja) * | 1986-11-06 | 1988-05-23 | Nec Corp | シリアル・バス・インタフエ−ス回路 |
US4901351A (en) * | 1987-09-07 | 1990-02-13 | Kabushiki Kaisha Toshiba | Video signal scramble system |
US4953210A (en) * | 1988-10-19 | 1990-08-28 | Hayes Microcomputer Products, Inc. | Feature negotiation protocol for a synchronous modem |
JPH0385982A (ja) * | 1989-08-30 | 1991-04-11 | Toshiba Corp | 映像スクランブル・デスクランブル装置 |
JPH06181572A (ja) * | 1992-12-14 | 1994-06-28 | Nippon Hoso Kyokai <Nhk> | スクランブル伝送方式 |
JPH0715420A (ja) * | 1993-06-29 | 1995-01-17 | Toshiba Corp | 並列型デスクランブラ位相同期回路 |
JPH07273752A (ja) * | 1994-03-31 | 1995-10-20 | Hitachi Ltd | ディジタル信号受信装置 |
US5654531A (en) * | 1995-08-07 | 1997-08-05 | Delaware Capital Formation, Inc. | Redundant multidrop communication system for elevators |
US6009527A (en) * | 1995-11-13 | 1999-12-28 | Intel Corporation | Computer system security |
JPH1013406A (ja) * | 1996-06-25 | 1998-01-16 | Nec Corp | ディジタル秘話装置 |
US6301637B1 (en) * | 1998-06-08 | 2001-10-09 | Storage Technology Corporation | High performance data paths |
US7031330B1 (en) * | 1999-04-15 | 2006-04-18 | Marconi Intellectual Property (Ringfence), Inc. | Very wide memory TDM switching system |
US6671833B2 (en) * | 2002-01-08 | 2003-12-30 | Parama Networks, Inc. | Forward error correction and framing protocol |
US7120203B2 (en) * | 2002-02-12 | 2006-10-10 | Broadcom Corporation | Dual link DVI transmitter serviced by single Phase Locked Loop |
US7089379B1 (en) * | 2002-06-28 | 2006-08-08 | Emc Corporation | Large high bandwidth memory system |
US7453860B2 (en) * | 2002-10-15 | 2008-11-18 | Motorola, Inc. | Scheduling method for supplemental channel resource |
US7000037B2 (en) * | 2002-10-24 | 2006-02-14 | Josef Rabinovitz | Large array of mass data storage devices connected to a computer by a serial link |
FR2849307B1 (fr) * | 2002-12-24 | 2006-10-27 | Viaccess Sa | Procede et systeme de securisation de donnees embrouillees |
US7720075B2 (en) * | 2003-06-19 | 2010-05-18 | Intel Corporation | Network idle protocol with reduced channels |
US7706295B2 (en) * | 2003-09-09 | 2010-04-27 | Marvell Semiconductor, Inc. | Methods and apparatus for breaking and resynchronizing a data link |
KR100539261B1 (ko) * | 2004-05-04 | 2005-12-27 | 삼성전자주식회사 | 디지털 데이터의 부호화 장치와 dvd로의 기록 장치 및그 방법 |
US7539800B2 (en) * | 2004-07-30 | 2009-05-26 | International Business Machines Corporation | System, method and storage medium for providing segment level sparing |
US8488967B2 (en) * | 2005-02-18 | 2013-07-16 | Telcordia Technologies, Inc. | System and method for OCDMA-based photonic layer security robustness to archival attack |
US7318138B1 (en) * | 2005-08-30 | 2008-01-08 | Symantec Operating Corporation | Preventing undesired trespass in storage arrays |
ATE496469T1 (de) * | 2005-11-04 | 2011-02-15 | Nxp Bv | Ausrichtung und entzerrung für mehrfache spuren einer seriellen verbindung |
US7366810B2 (en) * | 2005-11-16 | 2008-04-29 | Via Technologies, Inc. | Method and system for multi-processor arbitration |
FR2894757B1 (fr) * | 2005-12-13 | 2008-05-09 | Viaccess Sa | Procede de controle d'acces a un contenu embrouille |
TR201815509T4 (tr) * | 2006-10-24 | 2018-11-21 | Qualcomm Inc | Kablosuz komünikasyon sistemleri için çerçeve yapıları. |
US8243869B2 (en) * | 2006-11-28 | 2012-08-14 | Broadlight Ltd. | Burst mode clock and data recovery circuit and method |
US20080155149A1 (en) * | 2006-12-20 | 2008-06-26 | De Araujo Daniel N | Multi-path redundant architecture for fault tolerant fully buffered dimms |
WO2008130878A2 (en) * | 2007-04-19 | 2008-10-30 | Rambus Inc. | Techniques for improved timing control of memory devices |
US8001445B2 (en) * | 2007-08-13 | 2011-08-16 | Provigent Ltd. | Protected communication link with improved protection indication |
US8135972B2 (en) * | 2009-03-10 | 2012-03-13 | Cortina Systems, Inc. | Data interface power consumption control |
US20100325327A1 (en) * | 2009-06-17 | 2010-12-23 | Freescale Semiconductor, Inc. | Programmable arbitration device and method therefor |
JP5445585B2 (ja) * | 2009-06-29 | 2014-03-19 | 富士通株式会社 | 無線通信システム、基地局装置、端末装置、及び無線通信システムにおける無線通信方法 |
US8861669B2 (en) * | 2009-09-30 | 2014-10-14 | Synaptics Incorporated | Stream clock recovery in high definition multimedia digital system |
JP5595303B2 (ja) * | 2011-02-23 | 2014-09-24 | ルネサスエレクトロニクス株式会社 | データ受信装置、データ受信方法及びプログラム |
-
2009
- 2009-12-29 US US12/648,373 patent/US8452908B2/en active Active
-
2010
- 2010-06-24 EP EP10167155A patent/EP2343859B1/en active Active
- 2010-06-28 CN CN201010226944.2A patent/CN102110064B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060095703A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
CN101611386A (zh) * | 2007-02-14 | 2009-12-23 | 株式会社东芝 | 将数据写入半导体存储器中的方法以及存储器控制器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106415511A (zh) * | 2014-01-24 | 2017-02-15 | 高通股份有限公司 | 动态随机存取存储器(dram)接口的串行数据传输 |
Also Published As
Publication number | Publication date |
---|---|
US8452908B2 (en) | 2013-05-28 |
EP2343859B1 (en) | 2012-11-21 |
EP2343859A1 (en) | 2011-07-13 |
CN102110064B (zh) | 2014-11-05 |
US20110161544A1 (en) | 2011-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102110064B (zh) | 低延时串行存储接口 | |
CN1791120B (zh) | 用于有效对准并行数据信道上的数据比特的***和方法 | |
CN102726032B (zh) | 用于串行及并行通信的混合接口 | |
Zilberman et al. | NetFPGA SUME: Toward 100 Gbps as research commodity | |
US10027433B2 (en) | Multiple clock domains in NoC | |
RU2603553C2 (ru) | Архитектура расширения оптической памяти | |
CN101641889B (zh) | 同步网络设备 | |
KR20110126641A (ko) | 노드들 사이의 양방향 포인트 투 포인트 통신 링크를 이용한 오류 내성 네트워크 | |
CN104639477A (zh) | 用于高速网络初始化的反向通道通信 | |
Rietmann et al. | Field bus for data exchange and control of modular power electronic systems with high synchronisation accuracy of±4 ns | |
Sheng et al. | Towards Low-Latency Communication on FPGA Clusters with 3D FFT Case Study | |
JP3384838B2 (ja) | インターフェース装置 | |
US20120030380A1 (en) | Transmission device, transmission method, and control program for transmission device | |
Carstensen et al. | A converter control field bus protocol for power electronic systems with a synchronization accuracy of±5ns | |
Alessio et al. | System-level Specifications of the Timing and Fast Control system for the LHCb Upgrade | |
CN110018654A (zh) | 细粒度可编程时序控制逻辑模块 | |
US20140314417A1 (en) | Reconfiguration of an optical connection infrastructure | |
JP2008178102A (ja) | インターフェース装置及びチップ間通信インターフェース装置 | |
Ofek | The topology, algorithms and analysis of a synchronous optical hypergraph architecture | |
Ghaderi et al. | Design Challenges in Hardware Development of Time-Sensitive Networking: A Research Plan. | |
CN106160908A (zh) | 两阶可编程电信级时钟树电路 | |
CN101228733B (zh) | 在两个异步***之间传递数据的方法及异步数据缓冲器 | |
KR100651888B1 (ko) | 비동기 인터페이스 장치 및 방법 | |
Saneei et al. | A mesochronous technique for communication in network on chips | |
Wang et al. | Asynchronous network node design for network-on-chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: NETSCREEN TECHNOLOGIES INC. TO: JUNIPER NETWORKS INC. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |