用于促成数据反演以限制瞬时电流转变和信号转变两者的设备和方法与流程

文档序号:13766587阅读:319来源:国知局

本申请要求于2013年11月21日向美国专利商标局提交的美国非临时专利申请No.14/086,858的优先权和权益,其全部内容通过引用纳入于此。

技术领域

以下所讨论的技术一般涉及包括数据总线的电子设备,并且尤其涉及用于编码数据比特以供在数据总线上传输以及解码在数据总线上传输的数据比特的方法和设备。

背景

跨诸互连的数据传输可以采取数种形式。用于促成组件之间的数据传输的配置的一个示例是使用数据总线,其中传送组件在一群并行传输通道上向接收组件发送数据信号(也称为数据比特)。这些数据比特典型情况下受制于码元间干扰(ISI)、串话、以及同时切换噪声(SSN),它们可能会改动这些数据比特的振幅和定时。通常,这些数据比特可使用各种数据编码技术来被编码以减少ISI、串话、和/或SSN的作用。一种特定形式的数据编码是数据总线反相(DBI)。

一些示例的简要概述

以下概述本公开的一些方面以提供对所讨论的技术的基本理解。此概述不是本公开的所有构想到的特征的详尽综览,并且既非旨在标识出本公开的所有方面的关键性或决定性要素亦非试图界定本公开的任何或所有方面的范围。其唯一目的是以概述形式给出本公开的一个或多个方面的一些概念作为稍后给出的更详细描述之序言。

本公开的各种示例和实现促成在数据总线的每个数据通道上利用多种编码技术来进行数据编码。根据本公开的至少一个方面,电子设备可包括具有通信地和/或操作性地耦合在一起的数据总线接口和处理电路的编码器。该数据总线接口可与数据总线耦合以促成数据比特的传输。该处理电路可被适配成对要经由该数据总线接口在数据总线上传送的一群数据比特执行第一编码方案,其中该第一编码方案是基于该群数据比特内的转变数目来执行的。该处理电路可被进一步适配成基于该群数据比特内显现出预定状态的数据比特的数目来对该群数据比特执行第二编码方案。该处理电路还可被适配成设置多个第一编码标志以指示哪些数据比特是由第一编码方案来编码的,以及设置多个第二编码标志以指示哪些数据比特是由第二编码方案来编码的。

进一步的方面提供了在电子设备上操作的方法和/或包括用以执行此类方法的装置的电子设备。此类方法的一个或多个示例可包括对要在数据总线上传送的一群数据比特执行第一编码方案。该第一编码方案可基于该群数据比特内的转变数目来执行。还可对该群数据比特执行第二编码方案。该第二编码方案可基于该群数据比特内显现出预定状态的数据比特的数目来执行。另外,诸第一编码标志可被设置以指示哪些数据比特是由第一编码方案来编码的,并且诸第二编码标志可被设置以指示哪些数据比特是由第二编码方案来编码的。

再进一步的方面包括处理器可读存储介质,其包括在处理设备(诸如电子设备)上操作的编程。根据一个或多个示例,此类编程可被适配以用于使处理电路对要在数据总线上被传送的一群数据比特采用第一编码方案。该第一编码方案可基于该群数据比特内的转变数目来执行。该编程可被进一步适配成使处理电路对该群数据比特采用第二编码方案。该第二编码方案可基于该群数据比特内显现出预定状态的数据比特的数目来执行。

本公开的附加方面提供包括至少一个编码器的电子设备。此类编码器可包括转变检测器、状态检测器、以及反相器。该转变检测器可被适配成确定数据总线的多个数据通道上在预定数目的循环内的转变数目。该状态检测器可被适配成确定在预定数目的循环内该多个数据通道中的每个数据通道上被设为预定状态的循环的数目。该反相器可被适配成在数据通道上的转变数目被确定为高于转变阈值时,将该数据通道上的该预定数目的循环中的每隔一个循环反相。该反相器可被进一步适配成在数据通道上被设置为预定状态的循环的数目被确定为高于状态阈值时,将该数据通道上的该预定数目的循环中的诸循环反相。

进一步的方面提供了在电子设备上操作的方法和/或包括用以执行此类方法的装置的电子设备。此类方法的一个或多个示例可包括确定数据总线的多个数据通道上在预定数目的循环内的转变数目。当数据通道上的转变数目被确定为高于转变阈值时,该数据通道的每隔一个循环可被反相。与每个数据通道相关联的相应转变反相编码标志可被设置以指示该关联的数据通道的每隔一个循环是否已被反相。还可确定在该预定数目的循环上,该多个数据通道中的每个数据通道上被设为预定状态的循环的数目。当数据通道上被设为预定状态的循环的数目高于状态阈值时,该数据通道的诸循环可被反相。与每个数据通道相关联的相应状态反相编码标志可被设置以指示该相关联的数据通道的诸循环是否被反相。

再进一步的方面包括处理器可读存储介质,其包括在处理设备(诸如电子设备)上操作的编程。根据一个或多个示例,此类编程可被适配成使处理电路确定在预定数目个循环内数据总线的多个数据通道上的转变数目;当数据通道上的转变数目被确定为高于转变阈值时,将该数据通道的每隔一个循环反相;以及设置与每个数据通道相关联的相应转变反相编码标志以指示该相关联的数据通道的每隔一个循环是否已被反相。该编程可进一步被适配成使处理电路确定该预定数目个循环内该多个数据通道中的每个数据通道上被设为预定状态的循环的数目;在数据通道上被设为预定状态的循环数目高于状态阈值时,将该数据通道的诸循环反相;以及设置与每个数据通道相关联的相应状态反相编码标志以指示该相关联的数据通道的诸循环是否被反相。

本公开的各种示例和实现进一步促成对已在数据总线的每个数据通道上利用多种编码技术来编码的数据进行解码。根据本公开的至少一个方面,电子设备可包括具有通信地和/或操作性地耦合在一起的数据总线接口和反相器的解码器。该数据总线接口可与数据总线耦合以促成数据比特的接收。该反相器可被适配成经由该数据总线接口在多个数据通道上接收一群数据比特。该反相器可针对第一编码方案来解码该群数据比特,并且然后针对第二编码方案来解码该群数据比特。

附加方面提供了在电子设备上操作的方法和/或包括用以执行此类方法的装置的电子设备。此类方法的一个或多个示例可包括在数据总线的多个数据通道上接收一群数据比特。该群数据比特可针对第一编码方案来被解码,并且然后针对第二编码方案来被解码。

再进一步的方面包括处理器可读存储介质,其包括在处理设备(诸如电子设备)上操作的编程。根据一个或多个示例,此类编程可被适配成使处理电路针对第一编码方案来解码一群收到数据比特,并且然后针对第二编码方案来解码该群数据比特。

在结合附图研读了以下描述之后,与本公开相关联的其他方面、特征和实施例对于本领域普通技术人员而言将是明显的。

附图

图1是本公开的一个或多个方面可在其中得到应用的系统环境的框图。

图2是解说在数据总线的不同通道上传送的数据比特示例的框图。

图3是解说应用于图2的数据比特的DBIAC编码的示例的框图。

图4是解说应用于图2的数据比特的DBIDC编码的示例的框图。

图5是解说根据至少一个示例的电子设备和解码器的组件选集的框图。

图6是解说根据本公开的至少一个示例的数据解码示例的框图。

图7是解说根据至少一个示例的另一数据编码示例的框图,其中编码标志作为附于该群数据比特末尾的附加数据比特在原始数据通道上被传送。

图8是解说根据至少一个示例的另一数据编码示例的框图,其中一组编码标志在附加通道上被传送,而另一组编码标志作为附于该群数据比特末尾的附加数据比特被传送。

图9是解说根据至少一个示例的另一数据编码示例的框图,其中编码标志在附加通道上被发送,其中该附加通道的多个连贯循环与相应数据通道相关联。

图10是解说根据至少一个示例的另一数据编码示例的框图,其中转变编码标志和状态编码标志在相同的附加通道上被发送。

图11是解说根据至少一个示例的在电子设备上操作的方法的流程图。

图12是解说根据至少一个实现的用于基于转变数目来执行图11的第一编码方案的过程的示例的流程图。

图13是解说根据至少一个实现的用于基于具有特定状态的循环的数目来执行图11的第二编码方案的过程的示例的流程图。

图14是解说根据至少一个示例的电子设备的组件选集的框图。

图15是解说根据至少一个示例的在电子设备上操作的解码方法的流程图。

详细描述

以下结合附图所阐述的描述旨在作为各种配置的描述,而无意代表可实践本文中所描述的概念和特征的仅有的配置。以下描述包括具体细节来提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的电路、结构、技术和组件以免湮没所描述的概念和特征。

现在参见图1,示出解说本公开的一个或多个方面可在其中得到应用的系统环境的示例的框图。该系统100包括通过并行数据总线106彼此通信地耦合的第一电子设备102和第二电子设备104。该第一电子设备102被示为发射机(或发射设备)并且包括具有编码器110并且被适配成在数据总线106上从第一电子设备102向第二电子设备104发送经编码数据比特的传送单元108。第二电子设备104相应地包括具有解码器114以用于接收和解码经编码数据比特的接收机单元112。在一些示例中,数据总线106可以是单向总线。在其他示例中,数据总线106可以是双向总线,在此情形中,第二电子设备104还可包括适配成在该数据总线106上向第一电子设备102的接收机单元118发送数据比特的传送单元116。

第一和第二电子设备102、104可以是能使用单端信令来通信的任何设备。在各种示例中,第一和第二电子设备102、104可以是计算机系统中的组件。例如,在一些实施例中,电子设备102可以是处理单元,第二电子设备104可以是存储器模块,并且数据总线104可以是系统总线。在至少一个示例中,该处理器的存储器控制器接口(例如,物理存储器接口电路PHY)以及存储器模块可以包括各自的传送和接收机单元以执行写和读操作。该处理器可以是任何合适类型的处理单元,诸如中央处理单元(CPU)、协处理器、算术处理单元、图形处理单元(GPU)、数字信号处理器(DSP)等。该存储器模块也可以是任何合适类型的存储器。在一些实施例中,第二电子设备104可以是另一类型的设备,诸如桥接控制器、存储设备(例如,硬盘驱动器、光盘驱动器、闪存驱动器、存储阵列等)、网络接口设备(例如,去往局域或广域网)、用户接口设备(例如,显示器设备、声音设备、打印机)等。在一些示例中,第一和第二电子设备102、104可以是处理单元中分开的核或者是系统中分开的处理单元。相应地,在至少一个示例中,该系统100可以是通信网络,其中第一和第二电子设备102、104可以是路由器、交换机、最终设备等。由此,一般而言,第一和第二电子设备102、104可以是适配成在数据总线106上发送和/或接收数据比特的任何合适设备。

数据总线106可包括大致并行的导电迹线或线路,其可被称为通道108,并且这些通道108可在每一端被耦合到电子设备102和104中的相应引脚。数据总线106的通道108的数目可根据不同实施例而变。仅作为示例,数据总线106可包括4、8、16、32、64、72等个数据通道108以及用于与这些数据比特并行地传送控制信号的附加通道108。例如,数据总线106可具有72个数据通道以及8个控制通道,即总共80个通道108。该数据总线可附加地支持伴随的时钟定时拓扑。

在诸通道108上传送的数据比特是包括一(1)和零(0)、或即高和低电压的二进制数据比特。图2是解说在数据总线106的不同通道上传送的数据比特示例的框图200。如所解说的,每一行代表一单独的数据通道,其中示出在每个通道上有八个数据比特或循环被传送。奇数循环或比特被打了阴影仅为了促成更易于观看。

随着这些数据比特在数据总线106上被传送,这些数据比特典型情况下受制于码元间干扰(ISI)、串话、以及同时切换噪声(SSN),它们可能会改动这些数据比特的振幅和定时。通常,数据比特可使用各种数据编码技术来被编码以减少ISI、串话、和/或SSN的作用。一种具体形式的数据编码通常被称为数据总线反相(DBI)。

数据总线反相是采用电路系统来查看要被传送的诸比特之间的关系,并且然后决定在传输之前将这些比特中的一些或全部反相是否将是有利的。如果这些比特被反相,则还设置附加信号以指示这些比特被反相。此附加信号通常被称为数据总线反相(DBI)标志或编码标志。额外通道能被使用,从而该DBI标志能与其他比特并行地被发送以向接收电路系统标识哪几组数据已被反相。接收机使用DBI标志来将传入数据返回到其原始状态。

一般有两种类型的用于DBI编码的数据总线反相技术。第一种技术(其可被本领域技术人员称为DBIAC或最少转变)被用来减少数据通道上的转变(例如,从零到一的改变、或者从一到零的改变)的数目以改善AC功率并减少来自串话的问题等。图3是解说常规DBIAC编码的示例的框图。左边是来自图2的原始数据,并且右边示出结果所得的经编码数据。DBIAC编码典型情况下被用来减少同时转变的数目。在原始数据中,在数据总线106的全部八个通道上,在八个循环上有总共34个转变。如图所示,在设备确定在半数以上的数据通道上被调度进行传输的数据从一个循环到下一循环有转变时,该设备可在所有数据通道上将下一循环反相。例如,从循环2到循环3,这八个数据通道中有七个通道有转变,无论是从一到零还是从零到一。相应地,该设备可将循环3反相,从而该八个数据通道中仅有一个通道将具有转变。附加地,在DBI控制通道(其在图3中被标识为通道9)上在循环3处将DBI标志设置。在此示例中,在数据总线106上传送的数据中的转变数目从34个减少到25个,但是在数据总线106上传送的一(例如,逻辑高信号)的数目从31个增加到32个。

用于数据总线反相的第二技术(其可被称为DBIDC、最少的一、或最少的零)被用来减少特定状态的数目比特的数目(例如,减少一的数目或零的数目)。图4是解说常规DBIDC编码的示例的框图。再一次地,左边的示图是来自图2的原始数据,而右边的示图解说结果所得的经编码数据。DBIDC编码典型情况下被用来减少具有特定状态的数据比特的数目。例如,在此示例中,DBIDC被用来减少在数据总线106上传送的一(或逻辑高信号)的数目。如图所示,当设备确定半数以上的数据通道在给定循环上具有逻辑高信号(一)时,该设备可针对所有数据通道将该循环反相。例如,原始数据中的循环1在这八个数据通道中的五个数据通道上具有逻辑高信号(一)。相应地,该设备可将每个数据通道上的循环1反相,以使得这八个数据通道中仅三个数据通道将传送逻辑高信号(一)。附加地,在DBI控制通道(其在图4中被标识为通道9)上在循环1处将DBI标志设置。在该示例中,在该数据总线106上传送的一(例如,逻辑高信号)的数目被从31个减少到22个。在此示例中,转变的数目也从34个减少到28个,尽管此示例对于该技术而言并不典型。一般而言,此技术结果导致转变数目的增加。

所描述的这些DBI技术一般能够使一方面最优化,但却以另一方面为代价。例如,转变的减少典型情况下导致增加的一(例如,逻辑高信号)。类似地,一(例如,逻辑高信号)的减少典型情况下导致转变数目的增加。DBI技术已不能够优化转变数目和具有特定状态的循环的数目(例如,1或0的数目)两者。

根据本公开的至少一个方面,电子系统包括适配成采用能够促成转变数目和具有特定状态的比特(例如,一或零)的数目的减少的数据编码技术的一个或多个电子设备。转到图5,示出了解说根据本公开的至少一个示例的电子设备500(诸如来自图1的第一或第二电子设备102、104)的组件选集的框图。电子设备500的传送单元502包括适配成在数据总线506的多个通道上传送数据比特的编码器504。

编码器504一般包括适配成基于多个数据比特中的转变的数目来对这些数据比特执行第一编码方案、并且基于具有预定状态(例如,一或零)的数据比特的数目来对相同的该多个数据比特执行第二编码方案的电路系统和/或编程。根据至少一个示例,编码器504可藉由数据总线接口508来被耦合到数据总线506的多个数据通道,并可包括耦合到数据总线接口508和存储介质512或被置于与之处于电通信的处理电路510。

处理电路510被安排成获得、处理和/或发送数据、控制数据访问和存储、发布命令,以及控制其他期望操作。在至少一个示例中,处理电路510可包括被适配成实现由恰适介质提供的期望编程的电路系统。在一些实例中,处理电路510可包括适配成执行期望功能(在实现编程或在不实现编程的情况下)的电路系统。作为示例,处理电路510可被实现为一个或多个处理器、一个或多个控制器、和/或配置成执行可执行编程和/或期望功能的其他结构。处理电路510的示例可包括被设计成执行本文描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑组件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合。通用处理器可包括微处理器,以及任何常规的处理器、控制器、微控制器、或状态机。处理电路510还可以实现为计算组件的组合,诸如DSP与微处理器的组合、数个微处理器、与DSP核协作的一个或多个微处理器、ASIC和微处理器、或任何其他数目的变化配置。处理电路510的这些示例是为了解说,并且还设想了落在本公开范围内的其他合适的配置。

处理电路510适配成用于进行处理,包括执行可存储在存储介质512上的编程。如本文中使用的,术语“编程”应当被宽泛地解释成不构成限定地包括指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数等,无论其被称为软件、固件、中间件、微代码、硬件描述语言、还是其它术语。

在一些实例中,处理电路510可包括转变检测器514、状态检测器516、以及反相器518。转变检测器514可包括适配成评价一群数据比特(例如,准备用于在共用数据通道上传输的预定数目的连贯数据比特)以确定将发生多少转变的电路系统和/或编程(例如,存储在存储介质512上的转变检测操作520)。状态检测器516可包括适配成评价同样的一群数据比特以确定有多少数据比特显现出预定状态(例如,一或零)的电路系统和/或编程(例如,存储在存储介质512上的状态检测操作522)。进一步地,反相器518可包括适配成在由转变检测器514所确定的转变数目高于转变阈值时将该群数据比特内的至少一些数据比特反相、并且在由状态检测器516所确定的显现出预定状态的数据比特的数目高于状态阈值时将该群数据比特反相的电路系统和/或编程(例如,存储在存储介质512上的反相操作524)。反相器518可进一步提供转变标志(例如,转变DBI标志、或转变编码标志)来指示该群数据比特是否已因转变而被反相,以及提供状态标志(例如,状态DBI标志、或状态编码标志)来指示该群数据比特是否已因一或零而被反相。

存储介质512可代表用于存储编程、电子数据、数据库、或其他数字信息的一个或多个处理器可读设备。存储介质512还可被用于存储由处理电路510在执行编程时操纵的数据。存储介质512可以是能被处理电路510访问的任何可用介质,包括便携式或固定存储设备、光学存储设备、以及能够存储、包含和/或携带编程的各种其他介质。作为示例而非限定,存储介质512可包括处理器可读存储介质,诸如磁存储设备(例如,硬盘、软盘、磁条)、光学存储介质(例如,压缩盘(CD)、数字多用盘(DVD))、智能卡、闪存设备(例如,记忆卡、记忆棒、钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、和/或用于存储编程的其他介质、以及其任何组合。

存储介质512可被耦合至处理电路510以使得处理电路510能从存储介质512读取信息和向存储介质512写入信息。也就是说,存储介质512可被耦合至处理电路510,从而存储介质512至少能由处理电路510访问,包括存储介质512整合到处理电路510的示例和/或存储介质512与处理电路510分开的示例。

由存储介质512存储的编程在由处理电路510执行时使处理电路510执行本文描述的各种功能和/或过程步骤中的一者或多者。例如,存储介质512可包括转变检测操作520、状态检测操作522、以及反相操作524。由此,根据本公开的一个或多个方面,处理电路510被适配成(协同存储介质512)执行用于本文描述的任何或所有电子设备(例如,第一电子设备102、第二电子设备104、电子设备500)的任何或所有过程、功能、步骤和/或例程。如本文所使用的,涉及处理电路510的术语“适配”可指处理电路510(协同存储介质512)被配置、采用、实现和/或编程(以上一者或多者)为执行根据本文描述的各种特征的特定过程、功能、步骤和/或例程。

在操作中,编码器504被适配成采用能够通过采用转变反相编码来促成转变数目的减少、以及通过采用状态反相编码来促成具有特定状态(例如,一或零)的比特数目的减少的数据编码技术。在一个示例中,编码器504可对每个通道执行转变反相编码,继以每个通道上的状态反相编码。图6是解说此类示例的框图。左边是来自图2的原始数据。中间示出在转变反相(TI)编码之后的该群数据比特,并且右边示出继状态转变编码之后的该群经编码数据比特。

如所注意的,编码器504(例如,转变检测器514)可初始地确定对于包括预定数目的循环的一群数据比特而言,有多少数据循环代表每个数据通道上的转变。在此示例中,此预定数目的循环被示为八个循环或数据比特,但是具体数目可以视需要而变动。如果预定数目的循环上的转变数目被确定为总循环数目的半数(1/2)以上(例如,8个循环上有4个以上转变),则编码器504(例如,反相器518)可针对该数据通道将此群数据比特中的每隔一个比特反相。

更具体而言,每个数据通道上的数据比特被评价以确定该八个循环上的转变数目。在所描绘的示例中,第一数据通道(通道1)示出八个循环上的五(5)个转变。因为这大于4(即,循环数目的一半),所以编码器504可将该数据通道(通道1)上的每隔一个循环反相。在此示例中,比特2、4、6和8被反相,但是其他示例可将比特1、3、5和7反相。通过如图所示的那样将每隔一个比特反相,数据通道(通道1)仅具有两个转变,如在中间列中针对通道1所示出的。为了指示已在第一数据通道上发生反相,编码器504(例如,反相器518)被适配成设置要被传送的编码标志(或TI编码标志)。在此示例中,在标志通道的第一比特上设置TI编码标志(例如,通道9上的第一比特被设为一或逻辑高信号)。在此示例中,标志通道(通道9)的比特数目对应于特定数据通道。

编码器504进一步针对八比特群上的转变来评价每一个其余数据通道(例如,通道2到8)。在此示例中,通道3、4和8也以类似于通道1的方式被部分反相(例如,每隔一个比特被反相)。此外,标志通道(通道9)的相应比特3、4和8也被设置以传送TI编码标志。如图6中的中间列所示出的,此第一步骤的结果为将跨该群数据比特的转变数目从原始数据比特群中的34减少到中间列中的经编码数据比特群中的26。

在完成转变反相编码的情况下,编码器504(例如,状态检测器516)可评价每个数据通道上源自转变反相编码的数据比特以确定有多少数据比特显现出预定义状态(例如,一或零)。在此示例中,编码器504可评价每个数据通道以确定对于经编码数据比特群而言有多少个一(例如,逻辑高信号)出现。如果对于每个数据通道而言经编码数据比特中一的数目大于总循环数目的半数(1/2)(例如,8个循环上有4个以上具有一或逻辑高信号的数据比特),则编码器504(例如,反相器518)可将该数据通道上的所有比特反相。

更具体地,编码器504可评价每一个经转变反相编码的数据通道。在图6的示例中,在中间列中,第四数据通道(通道4)有五(5)个数据比特被设为一(例如,具有逻辑高信号)。即,在转变反相编码之后,通道4上的数据比特1、2、3、7和8均被设为一(如中间列中所示)。相应地,编码器504可将第四数据通道(例如,通道4)中的所有数据比特反相,从而将该数据通道上被设为一(例如,逻辑高信号)的数据比特的数目从五减少到三。如图所示,第六数据通道(通道6)可被类似地反相。为了指示已针对数据通道4和6上的状态反相(SI)编码发生反相,以与第一标志通道(通道9)相似的方式使用第二标志通道(通道10)。因此,编码器504将第二标志通道(通道10)上的数据比特4和6设为逻辑高信号(一)以指示相应的数据通道4和6已在状态反相编码级被反相。在此示例中,结果所得的该群数据比特(图6中的左手侧)包括从31减少到25的一的数目以及从34减少到30的转变数目。

在图6中的示例中,两个附加数据总线通道被用来传送TI和SI编码标志,以使得该群数据比特导致十个通道上的八个数据循环。如以上提及的,数据循环的数目可按需而变。另外,其他实施例可使用替换手段来传送编码标志。例如,图7解说了另一实施例,其中DBI标志作为附于该群数据比特末尾的附加数据比特在原始数据通道上被传送。例如,一或零被添加为数据比特9(或循环9)以指示作为转变反相编码的一部分该通道是否已被反相。如图7中所示,在通道1、3、4和8上的循环9中发送一以指示在这些通道上已将每隔一个比特反相,并且在其他通道上的循环9中发送零以指示在这些通道上尚未将每隔一个比特反相。另一个一或零也被添加为每个通道上的数据比特或循环10以指示作为状态反相编码的一部分该通道是否已被反相。在此示例中,编码器504可计及每个通道的循环9中的TI编码标志。如图7中所示,在通道4和6上的循环10中发送一以指示在这两个通道上已将数据比特1到9反相,并且在其他通道上的循环10上发送零以指示在这些通道上未将数据比特1到9反相。在此示例中,该群数据比特导致八个数据通道上的十个数据循环。此类实施例可通过在执行状态反相编码时计及循环9中的TI编码标志比特来提供附加编码。

图8是解说又一实施例的框图,其中一组编码标志在附加通道(通道9)上被传送,而另一组编码标志作为附于该群数据比特末尾的附加数据比特被传送。例如,在新通道(通道9)上的一循环中发送一或零以指示作为转变反相编码的一部分对应于该循环的通道是否已被反相。如图8中所示,在通道9上的循环1、3、4和8中发送一以指示在相应的通道1、3、4和8上已将每隔一个比特反相,并且在通道9上的其他循环中发送零以指示在对应于那些循环的通道上未将每隔一个比特反相。此外,一或零被添加为每个通道上的数据比特或循环9以指示作为状态反相编码的一部分该通道是否已被反相。如图8中所示,在通道4和6上的循环9中发送一以指示在这两个通道上已将数据比特1到8反相,并且在其他通道上的循环9上发送零以指示在这些通道上未将数据比特1到8反相。在此示例中,该群数据比特被扩展成九个数据通道上的九个数据循环。此类实施例可通过在执行状态反相编码时计及通道9中的TI编码标志比特以及仅将循环大小增加一个循环来提供附加编码。

在一些实施例中,可能发生该群数据比特中的数据比特或循环的数目是通道数目大小的两倍的情况。例如,图9解说了其中一群数据比特构成在四个通道上传达的八个循环的示例。在此示例中,取代在前四个或最后四个循环中发送编码标志并且在编码标志通道中具有未使用的循环,编码器504可通过将两个循环与每个通道相关联来将这些标志散布到所有八个循环上。例如,在图9中,转变反相编码被应用于第一和第三通道(通道1和通道3)。如图所示,通过在通道5上的第一和第二循环两者中传送一来设置通道1的TI编码标志。类似地,通过在通道5上的第五和第六循环两者中传送一来设置通道3的TI编码标志。用于状态反相编码的编码标志遵循类似的配置。例如,在针对状态反相编码将通道4反相的情况下,通过在通道6中的循环7和8中发送一来设置SI编码标志。因此,TI和SI编码标志被适配成针对每个通道延伸两个循环。

在另一实施例中,在图10中描绘了一群数据比特再次构成在四个通道上传达的八个循环。在此示例中,编码器504可将单个附加通道用于TI和SI编码标志,其中所添加的数据通道中的两个循环与每个数据通道相关联。即,如同图9中的示例,通道5的循环1和2与通道1相关联,循环3和4与通道2相关联,循环5和6与通道3相关联,并且循环7和8与通道4相关联。然而,在此示例中,通道5中与每一个数据通道相关联的第一循环可被用于指示转变反相编码,并且通道5中与每一个数据通道相关联的第二循环可被用于指示状态反相编码。

更具体地,在所描绘的示例中,转变反相编码被应用于通道1和3。相应地,一被置于通道5上的循环1和5中以指示转变反相编码已被应用于通道1和3。另外,零被置于循环3和7中以指示在转变反相编码期间未对通道2和4执行反相。在通道5上的循环2、4、6和8中示出“x”以指示这些循环与TI编码标志无关。在状态反相编码步骤中,通道4被反相,而通道1到3不变。相应地,一被应用于通道5上的循环8以指示在状态反相编码期间已将通道4反相,并且零被应用于通道5上的循环2、4和6以指示在状态反相编码期间未将通道1、通道2和通道3反相。在此示例中,用于转变反相编码和状态反相编码两者的编码标志可在单个所添加的通道上传送。

值得注意的是,尽管这些示例中的每一个示例描绘了首先执行转变反相编码、然后对经转变反相编码的数据比特执行状态反相编码,但是这些编码步骤可以切换,以使得首先执行状态反相编码并且然后对源自状态反相编码的数据比特执行转变反相编码。

图11是解说在电子设备(诸如图5中的电子设备5)上操作的方法的至少一个示例的流程图。参照图5和11,在框1102,电子设备500可对要在数据总线上传送的一群数据比特执行第一编码方案。在至少一个示例中,该第一编码方案可基于该群数据比特内的转变数目来执行。例如,编码器504的处理电路510可基于该群数据比特内的转变数目来对该群数据比特执行第一编码方案。

图12是解说根据至少一个实现的用于在图11的框1102处基于转变数目来执行第一编码方案的过程的示例的流程图。一般而言,编码器504的处理电路510可确定数据总线506的多个数据通道中的每一个数据通道上的转变数目,并且将具有高于转变阈值的转变数目的每一个数据通道上的每隔一个循环反相。例如,该过程可在操作1202通过标识用于该群数据比特的第一数据通道来开始。在操作1204,执行转变检测操作520的转变检测器514可评价该数据通道以确定在预定义数目的循环上该数据通道上的转变数目。如先前提及的,该预定义数目的循环可根据实现而变。本文描述的示例包括每个数据通道上的八个循环的实现,但是可采用其他数目的循环。

在判决菱形框1206,执行转变检测操作520的转变检测器514可确定为该数据通道检测的转变数目是否高于转变阈值。在至少一个示例中,转变阈值可以是操作1204评价的循环数目的一半。例如,如果在操作1204在该数据通道上评价的循环数目为八个循环,则转变阈值可以为四。相应地,如果在操作1204检测到五个或更多个转变,则执行转变检测操作520的转变检测器514可在判决菱形框1206确定转变数目高于转变阈值。

当预定义数目的循环上的检出转变数目高于转变阈值时,执行反相操作524的反相器518可在操作1208将该数据通道的每隔一个循环反相。即,执行反相操作524的反相器518可按与以上参照图6针对转变反相编码描述的方式类似的方式在预定义数目的循环上将每隔一个数据比特反相。

在操作1210,执行反相操作524的反相器518进一步设置该数据通道的相应转变反相(TI)编码标志以指示该数据通道的每隔一个循环是否已被反相。例如,一(或逻辑高信号)可被设置以指示该数据通道的每隔一个循环已被反相,并且零(或逻辑低信号)可被设置以指示该数据通道的每隔一个循环未被反相,诸如在判决菱形框1206的答案为“否”时。

如本文以上参照图6到10所描述的,TI编码标志可被设置在各种位置。例如,如以上参照图6、8、9和10所描述的,TI编码标志可被设置为附加数据通道(也可被称为标志通道)中的数据比特或循环。在一些实例中,诸如在以上参照图6和8描述的示例中,该附加数据通道的每个数据比特或循环与相应的数据通道相关联。在其他实例中,诸如在以上参照图9描述的示例中,该附加数据通道上的两个或更多个连贯循环与相应的数据通道相关联。在另一些其他实例中,诸如在以上参照图10描述的示例中,TI编码标志可被设置在将用于设置状态反相(SI)编码标志的同一个附加数据通道上。在其他示例中,如以上参照图7所描述的,TI编码标志可被设置为附于相应数据通道的附加循环。

仍参照图12,在判决菱形框1212,执行转变检测操作520的转变检测器514可确定是否存在要针对转变进行评价的另一数据通道。如果存在另一数据通道,则该过程可返回到操作1202,其中下一数据通道被选择以进行评价。如果不存在更多数据通道,则该过程可结束。

返回图5和11,在框1104,电子设备500可基于该群数据比特内显现出预定状态的数据比特的数目来对同一群数据比特执行第二编码方案。例如,编码器504的处理电路510可基于该群数据比特内被设为预定状态的数据比特的数目来对该群数据比特执行第二编码方案。

图13是解说根据至少一个实现的用于在图11的框1104基于具有特定状态的循环的数目来执行第二编码方案的过程的示例的流程图。一般而言,编码器504的处理电路510可确定数据总线506的多个数据通道中的每一个数据通道上被设为预定状态的循环的数目,并且将具有高于状态阈值的被设为预定状态的循环的数目的每一个数据通道上的循环反相。例如,该过程可在操作1302通过标识第一数据通道来开始。在操作1304,执行状态检测操作522的状态检测器516可评价该数据通道以确定在预定义数目的循环上该数据通道上被设为预定状态(例如,设为一或零)的循环的数目。在其中第一编码方案是在第二编码方案之前执行的实现中,执行状态检测操作522的状态检测器516将评价该数据通道上源自第一编码方案的数据比特。

在判决菱形框1306,执行状态检测操作522的状态检测器516可确定该数据通道上被设为预定状态的循环的数目是否高于状态阈值。在至少一个示例中,状态阈值可以是操作1304评价的循环数目的一半。例如,如果在操作1304在该数据通道上评价的循环数目为八个循环,则状态阈值可以为四。相应地,如果在操作1304检测到五个或更多个循环被设为预定状态,则执行状态检测操作522的状态检测器516可在判决菱形框1306确定被设为预定状态的循环的数目高于状态阈值。

当预定义数目的循环上被设为预定状态的数据比特的数目高于状态阈值时,执行反相操作524的反相器518可在操作1308将该数据通道的循环反相。即,执行反相操作524的反相器518可按与以上参照图6针对状态反相编码描述的方式类似的方式在预定义数目的循环上将数据比特反相。

在操作1310,执行反相操作524的反相器518进一步设置该数据通道的相应状态反相(SI)编码标志以指示该数据通道的循环是否已被反相。例如,一(或逻辑高信号)可被设置以指示该数据通道的循环已被反相。相反,零(或逻辑低信号)可被设置以指示该数据通道的循环未被反相,诸如在判决菱形框1306的答案为“否”时。

如本文以上参照图6到10所描述的,SI编码标志可根据不同实现而被设置在各种位置。例如,如以上参照图6、9和10所描述的,SI编码标志可被设置为附加数据通道(也可被称为标志通道)中的数据比特或循环。在一些实例中,诸如在以上参照图6描述的示例中,该附加数据通道的每个数据比特或循环与相应的数据通道相关联。在其他实例中,诸如在以上参照图9描述的示例中,该附加数据通道上的两个或更多个连贯循环与相应的数据通道相关联。在另一些其他实例中,诸如在以上参照图10描述的示例中,SI编码标志可被设置在用于设置转变反相(TI)编码标志的同一个附加数据通道上。在其他示例中,如以上参照图7和8所描述的,SI编码标志可被设置为附于相应数据通道的附加循环。

仍参照图13,在判决菱形框1312,执行状态检测操作522的状态检测器516可确定是否存在要针对转变进行评价的另一数据通道。如果存在另一数据通道,则该过程可返回到操作1302,其中下一数据通道被选择以进行评价。如果不存在更多数据通道,则该过程可结束。

再次参照图5和11,在框1106,电子设备500可在数据总线的多个数据通道上传送该群经编码数据比特。例如,编码器504的处理电路510可经由数据总线接口508在该数据总线的至少一些数据通道上传送经编码数据比特的每个通道。

转到图14,示出了解说根据本公开的至少一个示例的电子设备1400(诸如来自图1的第一或第二电子设备102、104)的组件选集的框图。电子设备1400的接收机单元1402包括适配成接收在数据总线1406的多个通道上传送的经编码数据比特的解码器1404。

解码器1404一般包括适配成解码用于多个数据比特的第一编码方案和用于相同的多个数据比特的第二编码方案的电路系统和/或编程。即,解码器被适配成撤销由编码器(诸如编码器504)和以上描述的任何编码方案执行的编码。根据至少一个示例,解码器1404可藉由数据总线接口1408来被耦合到数据总线1406的多个数据通道,并可包括耦合到数据总线接口1408和存储介质1412或被置于与之处于电通信的处理电路1410。

处理电路1410被安排成获得、处理和/或发送数据、控制数据访问和存储、发布命令,以及控制其他期望操作。处理电路1410可包括配置成执行期望功能和/或实现由恰适介质提供的期望编程的电路系统。处理电路1410可根据以上描述的处理电路510的任何示例来实现和/或配置。

处理电路1410可包括反相器1414。反相器1414可包括适配成根据与收到数据比特包括在一起的状态编码标志和转变编码标志来将收到数据比特反相回到其原始状态的电路系统和/或编程(例如,存储在存储介质1412上的反相操作1416)。

存储介质1412可表示用于存储编程(诸如处理器可执行代码或指令(例如,软件、固件)、电子数据、数据库、或其他数字信息)的一个或多个处理器可读设备。存储介质1412可按与以上描述的存储介质512相似的方式来配置和/或实现。

存储介质1412可被耦合至处理电路1410以使得处理电路1410能从存储介质1412读取信息和向存储介质1412写入信息。也就是说,存储介质1412可被耦合至处理电路1410,从而存储介质1412至少能由处理电路1410访问,其中包括存储介质1412整合到处理电路1410的示例和/或存储介质1412与处理电路1410分开的示例。

如同存储介质512,存储介质1412包括存储于其上的编程。由存储介质1412存储的编程在由处理电路1414执行时使处理电路1414执行本文描述的各种解码功能和/或过程步骤中的一者或多者。例如,存储介质1412可包括适配成使处理电路1412根据与收到数据包括在一起的各种编码标志来将收到数据比特反相回到其原始状态的反相操作1416。由此,根据本公开的一个或多个方面,处理电路1410被适配成(协同存储介质1412)执行用于本文描述的任何或所有电子设备(例如,电子设备102、104和1400)的任何或所有解码过程、功能、步骤和/或例程。如本文所使用的,涉及处理电路1410的术语“适配”可指处理电路1410(协同存储介质1412)被配置、采用、实现和/或编程(以上一者或多者)为执行根据本文描述的各种特征的特定过程、功能、步骤和/或例程。

图15是解说在电子设备(诸如电子设备1400)上操作的解码方法的至少一个示例的流程图。参照图14和15,在1502,电子设备1400可在数据总线的多个数据通道上接收一群数据比特。例如,执行反相操作1416的处理电路1410(例如,反相器1414)可经由数据总线接口1408在数据总线1406的多个数据通道上接收预定数目的数据比特。该群数据比特包括经编码数据比特以及多个编码标志。例如,在以上参照图6到10所描述的示例中,电子设备1400可接收经编码数据比特群,如同在每个相应附图的最右侧阐述的那些。

在1504,电子设备1400可针对第一编码方案解码该群数据比特。例如,执行反相操作1416的处理电路1410(例如,反相器1414)可标识与最后采用的编码方案相关联的编码标志。参照以上参照图6到10描述的示例,执行反相操作1416的处理电路1410(例如,反相器1414)可标识与每个数据通道相关联的状态反相(SI)编码标志。如以上提及的,SI编码标志可被包括在附加通道中或者每个通道上的附加循环中。对于由SI编码标志指示的已被反相的每个通道,执行反相操作1416的处理电路1410(例如,反相器1414)可将数据比特反相。因此,例如,在图6中,数据通道10指示数据通道4和6已被反相。相应地,执行反相操作1416的处理电路1410(例如,反相器1414)可将来自最右侧的该群收到数据比特反相以获得在中间为每个通道示出的该群数据比特。

在1506,电子设备1400可针对第二编码方案解码该群数据比特。例如,执行反相操作1416的处理电路1410(例如,反相器1414)可标识与首先采用的编码方案相关联的编码标志。参照以上参照图6到10描述的示例,执行反相操作1416的处理电路1410(例如,反相器1414)可标识与每个数据通道相关联的转变反相(TI)编码标志。如以上提及的,TI编码标志可被包括在附加通道中或者每个通道上的附加循环中。对于由TI编码标志指示的已被反相的每个通道,执行反相操作1416的处理电路1410(例如,反相器1414)可将每隔一个数据比特反相回到其原始状态。因此,以图6中的示例继续,数据通道9指示数据通道1、3、4和8均已通过将那些通道中的每一个通道上的每隔一个数据比特反相来编码。相应地,执行反相操作1416的处理电路1410(例如,反相器1414)可将图6中的中间示出的经部分解码的数据中的每隔一个数据比特反相以获得在图6的左侧示出的表示原始数据比特的该群数据比特。

本领域技术人员将认识到,解码的次序将直接取决于该群原始数据比特被编码的次序。因此,如果该群原始数据比特是通过状态反相编码继以转变反相编码来编码的,则解码器1404可通过执行对转变反相编码的解码继以对状态反相编码的解码来解码收到数据比特。

虽然以具体详情和细节讨论了上述方面、安排和实施例,但图1、2、3、4、5、6、7、8、9、10、11、12、13、14和/或15中解说的一个或多个组件、步骤、特征和/或功能可以被重新编排和/或组合成单个组件、步骤、特征或功能,或实施在数个组件、步骤、或功能中。附加的元件、组件、步骤、和/或功能也可被添加或不被利用,而不会脱离本公开。图1、5和/或图14中解说的装置、设备和/或组件可以被配置成执行或采用图2、3、4、6、7、8、9、10、11、12、13和/或15所描述的一个或多个方法、特征、参数和/或步骤。本文中描述的新颖算法还可以高效地实现在软件中和/或嵌入在硬件中。

尽管可能关于某些实施例和附图讨论了本公开的特征,但本公开的所有实施例可包括本文所讨论的有利特征中的一个或更多个。换言之,尽管可能讨论了一个或多个实施例具有某些有利特征,但也可以根据本文中讨论的各种实施例中的任何实施例来使用此类特征中的一个或多个。以类似方式,尽管示例性实施例在本文中可能是作为设备、系统或方法实施例来进行讨论的,但是应该理解,此类示例性实施例可以在各种设备、系统、和方法中实现。

另外,注意到至少一些实现是作为被描绘为流图、流程图、结构图、或框图的过程来描述的。尽管流程图可能会把诸操作描述为顺序过程,但是这些操作中有许多操作能够并行或并发地执行。另外,这些操作的次序可以被重新安排。过程在其操作完成时终止。过程可对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,它的终止对应于该函数返回调用方函数或主函数。因此,本文中描述的各种方法可部分地或全部地由可存储在机器可读、计算机可读和/或处理器可读存储介质中并由一个或多个处理器、机器和/或设备执行的编程(例如,指令和/或数据)来实现。

本领域技术人员将可进一步领会,结合本文中公开的实施例描述的各种解说性逻辑框、模块、电路、和算法步骤可被实现为硬件、软件、固件、中间件、微代码、或其任何组合。为清楚地解说这种可互换性,以上已经以其功能性的形式一般地描述了各种解说性组件、框、模块、电路和步骤。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。

与本文中所描述的和附图中所示的示例相关联的各种特征可实现在不同示例和实现中而不会脱离本公开的范围。因此,尽管某些具体构造和安排已被描述并在附图中示出,但此类实施例仅是解说性的并且不限制本公开的范围,因为对所描述的这些实施例的各种其他添加和修改、以及删除对于本领域普通技术人员而言将是明显的。因此,本公开的范围仅由所附权利要求的字面语言及其法律等效来确定。

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