用于经划分的数据总线的编码

申请号 CN201580007314.7 申请日 2015-02-06 公开(公告)号 CN105960786B 公开(公告)日 2017-12-05
申请人 高通股份有限公司; 发明人 T·M·霍利斯;
摘要 数据总线 被拆分成各个分区,并且编码被独立地应用于在每一数据分区上传送的数据以改善功率和/或吞吐效率。该编码可以是数据总线反相或者任何其它合适类型的编码。结合数据来传送的编码指示符码元(如果存在)指示哪个总线分区被编码。在一些实现中,在并行数据总线的每一数据传递循环期间,编码被选择性地应用于每一总线分区。在一些实现中,编码指示符码元是多等级 信号 ,其中多等级信号的每一等级表示指示针对对应的总线分区,编码是否被应用于要在该总线分区上传送的数据的至少两比特信息。有利的是,编码指示符码元可以在单条专用总线上传送。
权利要求

1.一种用于通信的装置,包括:
处理电路,所述处理电路被配置成生成编码指示符码元,所述编码指示符码元指示数据总线的划分以及被应用于所述数据总线的不同分区的编码,其中所述编码指示符码元是多等级信号,并且其中所述多等级信号的每一等级表示指示针对所述数据总线的每一分区,编码是否被应用于该分区的至少两比特信息;以及
耦合至所述处理电路的总线接口,所述总线接口被配置成传送所述编码指示符码元。
2.如权利要求1所述的装置,其特征在于,所述编码包括数据总线反相。
3.如权利要求1所述的装置,其特征在于,所述多等级信号由以下至少一者来定义:多电压等级、多电流等级、或多相位等级。
4.如权利要求1所述的装置,其特征在于:
所述数据总线是并行总线;以及
所述总线接口被配置成在专用总线线路上传送所述编码指示符码元。
5.如权利要求1所述的装置,其特征在于:
所述总线接口被进一步配置成在总线循环期间在所述数据总线上传送并行数据比特集;以及
所述总线接口被配置成在所述总线循环期间经由单个信号引脚传送所述编码指示符码元。
6.如权利要求1所述的装置,其特征在于:
所述处理电路被进一步配置成针对所述数据总线的每一分区,确定是否对要在所述分区上发送的数据子集进行编码;以及
所述处理电路被配置成通过选择指示对应数据子集被编码的任何分区的值来生成所述编码指示符码元。
7.如权利要求6所述的装置,其特征在于,是否对数据子集进行编码的确定包括:
确定所述数据子集的编码是否会降低与所述数据子集的传输相关联的功耗或者是否会降低与所述数据子集的传输相关联的干扰。
8.如权利要求1所述的装置,其特征在于,所述处理电路被进一步配置成选择得到与在各分区上的数据传输相关联的最低功耗或与在各分区上的数据传输相关联的最低干扰的对所述数据总线的划分。
9.如权利要求1所述的装置,其特征在于,所述处理电路被进一步配置成选择得到与在各分区上的数据传输相关联的最低功耗或与在各分区上的数据传输相关联的最低干扰的要被应用于不同分区的编码类型。
10.一种在耦合至数据总线的传送设备处执行的通信的方法,包括:
生成编码指示符码元,所述编码指示符码元指示所述数据总线的划分以及被应用于所述数据总线的不同分区的编码,其中所述编码指示符码元是多等级信号,并且其中所述多等级信号的每一等级表示指示针对所述数据总线的每一分区,编码是否被应用于该分区的至少两比特信息;以及
经由总线接口电路来传送所述编码指示符码元。
11.如权利要求10所述的方法,其特征在于,所述编码包括数据总线反相。
12.如权利要求10所述的方法,其特征在于,所述多等级信号由以下至少一者来定义:
多电压等级、多电流等级、或多相位等级。
13.如权利要求10所述的方法,其特征在于:
所述数据总线是并行总线;以及
传送所述编码指示符码元包括在专用总线线路上传送所述编码指示符码元。
14.如权利要求10所述的方法,其特征在于,进一步包括:
在总线循环期间在所述数据总线上传送并行数据比特集,
其中传送所述编码指示符码元包括在所述总线循环期间经由单个信号引脚传送所述编码指示符码元。
15.如权利要求10所述的方法,其特征在于,进一步包括:
对于所述数据总线的每一分区,确定是否对要在所述分区上发送的数据子集进行编码,
其中生成所述编码指示符码元包括选择指示对应数据子集被编码的任何分区的值。
16.如权利要求15所述的方法,其特征在于,是否对数据子集进行编码的确定包括:
确定所述数据子集的编码是否会降低与所述数据子集的传输相关联的功耗或者是否会降低与所述数据子集的传输相关联的干扰。
17.如权利要求10所述的方法,其特征在于,进一步包括选择得到与在各分区上的数据传输相关联的最低功耗或与在各分区上的数据传输相关联的最低干扰的对所述数据总线的划分。
18.如权利要求10所述的方法,其特征在于,进一步包括选择得到与在各分区上的数据传输相关联的最低功耗或与在各分区上的数据传输相关联的最低干扰的要应用于不同分区的编码类型。
19.一种用于通信的装置,包括:
总线接口,所述总线接口被配置成经由数据总线来接收数据以及编码指示符码元,所述编码指示符码元指示所述数据总线的划分以及应用于所述数据总线的不同分区的编码,其中所述编码指示符码元是多等级信号,并且其中所述多等级信号的每一等级表示指示针对所述数据总线的每一分区,编码是否被应用于该分区的至少两比特信息;以及耦合至所述总线接口的处理电路,所述处理电路被配置成基于所述编码指示符码元来解码收到数据。
20.如权利要求19所述的装置,其特征在于,所述编码包括数据总线反相。
21.如权利要求19所述的装置,其特征在于,所述多等级信号由以下至少一者来定义:
多电压等级、多电流等级、或多相位等级。
22.如权利要求19所述的装置,其特征在于:
所述数据总线是并行总线;以及
所述总线接口被配置成从专用总线线路接收所述编码指示符码元。
23.如权利要求19所述的装置,其特征在于:
所述总线接口被配置成在总线循环期间在所述数据总线上接收并行数据比特集;以及所述总线接口被配置成在所述总线循环期间经由单个信号引脚接收所述编码指示符码元。
24.如权利要求19所述的装置,其特征在于,所述处理电路被进一步配置成,对于所述数据总线的每一分区:
基于所述编码指示符码元来确定经由所述分区接收到的数据子集是否被编码;以及如果所述编码指示符码元指示所述数据子集被编码,则解码所述数据子集。
25.一种在耦合至数据总线的接收设备处执行的通信方法,包括:
经由总线接口电路从所述数据总线接收数据;
接收编码指示符码元,所述编码指示符码元指示所述数据总线的划分以及被应用于所述数据总线的不同分区的编码,其中所述编码指示符码元是多等级信号,并且其中所述多等级信号的每一等级表示指示针对所述数据总线的每一分区,编码是否被应用于该分区的至少两比特信息;以及
基于所述编码指示符码元来解码收到数据。
26.如权利要求25所述的方法,其特征在于:
所述数据总线是并行总线;以及
接收所述编码指示符码元包括从专用总线线路接收所述编码指示符码元。
27.如权利要求25所述的方法,其特征在于,进一步包括,对于所述数据总线的每一分区:
基于所述编码指示符码元来确定经由所述分区接收到的数据子集是否被编码;以及如果所述编码指示符码元指示所述数据子集被编码,则解码所述数据子集。

说明书全文

用于经划分的数据总线的编码

[0001] 相关申请的交叉引用
[0002] 本申请要求于2014年2月7日向美国专利商标局提交的美国非临时专利申请No.14/175,394的优先权和权益,其全部内容通过援引纳入于此。

技术领域

[0003] 本公开的各方面一般涉及数据编码,并且更具体地但不排他地涉及用于经划分的数据总线的编码。
[0004] 背景
[0005] 跨诸互连的数据传输可以采取数种形式。用于促成组件之间的数据传输的配置的一个示例是使用数据总线,其中传送组件在一群并行传输通道上向接收组件发送数据信号(也称为数据比特)。这些数据比特典型情况下受制于码元间干扰(ISI)、串话、以及同时切换噪声(SSN),它们可能会改动这些数据比特的振幅和定时。通常,数据比特可使用各种数据编码技术来被编码以减少ISI、串话、或SSN的作用。一种特定形式的数据编码是数据总线反相(DBI)。
[0006] 概述
[0007] 以下概述本公开的一些方面以提供对此类方面的基本理解。此概述不是本公开的所有构想到的特征的详尽综览,并且既非旨在标识出本公开的所有方面的关键性或决定性要素亦非试图界定本公开的任何或所有方面的范围。其唯一目的是以概述形式给出本公开的一个或多个方面的一些概念作为稍后给出的更详细描述之序言。
[0008] 本公开的各方面提供了将数据总线拆分成各个分区并且将编码独立地应用于在每一总线分区上传送的数据以降低功耗和/或改善编码效率。该编码可以是数据总线反相或者任何其它合适类型的编码。在一些实现中,在并行数据总线的每一数据传递循环期间,编码被选择性地应用于每一总线分区结合数据来传送的编码指示符码元(如果存在)指示哪个总线分区被编码。
[0009] 在一些实现中,编码指示符码元是多等级信号(在本文中也被称为多状态信号),其中多等级信号的每一等级(状态)表示指示针对对应的总线分区编码是否被应用于要在该总线分区上传送的数据的至少两比特信息。有利的是,编码指示符码元可以在单条专用总线线路上传送。例如,旨在用于编码标志(诸如DBI标志)的在位线上传达的多等级编码指示符码元可以提供总线分段信息以及每一总线分段在该单条位线上的编码指示符两者。通过将编码指示符码元作为多等级信号来传送,在每一总线循环期间可以传送多个指示(即,每一总线分区一个指示)。由此,总线可以被划分成较小的子集以获得改进的效率,并且所有对应的编码指示可以仅使用单个引脚来同时传送。
[0010] 本公开的进一步方面提供一种被配置成用于通信的装置,该装置包括处理电路以及耦合至该处理电路的总线接口。该处理电路被配置成生成编码指示符码元,该编码指示符码元指示数据总线的划分以及被应用于数据总线的不同分区的编码。该总线接口被配置成传送该编码指示符码元。
[0011] 本公开的又一些方面提供一种方法,该方法用于:生成编码指示符码元,该编码指示符码元指示数据总线的划分以及被应用于数据总线的不同分区的编码;以及传送该编码指示符码元。
[0012] 本公开的附加方面提供了一种被配置成用于通信的设备。该设备包括:用于生成编码指示符码元的装置,该编码指示符码元指示数据总线的划分以及被应用于数据总线的不同分区的编码;以及用于传送该编码指示符码元的装置。
[0013] 本公开的其它方面提供了一种其上存储有指令的非瞬态机器可读存储介质,该指令在由至少一个处理器执行时使该至少一个处理器:生成编码指示符码元,该编码指示符码元指示数据总线的划分以及被应用于数据总线的不同分区的编码;以及传送该编码指示符码元。
[0014] 本公开的进一步方面提供一种被配置成用于通信的装置,该装置包括处理电路以及耦合至该处理电路的总线接口。该总线接口被配置成经由数据总线来接收数据以及编码指示符码元,该编码指示符码元指示数据总线的划分以及应用于数据总线的不同分区的编码。该处理电路被配置成基于该编码指示符码元来解码收到数据。
[0015] 本公开的还有一些方面提供了一种方法,该方法用于:经由数据总线来接收数据;接收编码指示符码元,该编码指示符码元指示数据总线的划分以及应用于数据总线的不同分区的编码;以及基于该编码指示符码元来解码收到数据。
[0016] 本公开的附加方面提供了一种配置成用于通信的设备。该设备包括:用于经由数据总线来接收数据的装置;用于接收编码指示符码元的装置,该编码指示符码元指示数据总线的划分以及应用于数据总线的不同分区的编码;以及用于基于该编码指示符码元来解码收到数据的装置。
[0017] 本公开的其它方面提供了一种其上存储有指令的非瞬态机器可读存储介质,该指令在由至少一个处理器执行时使该至少一个处理器:经由数据总线来接收数据;接收编码指示符码元,该编码指示符码元指示数据总线的划分以及应用于数据总线的不同分区的编码;以及基于该编码指示符码元来解码收到数据。
[0018] 以下是与以上内容相关的本公开的其它方面的示例。编码指示符码元可以是多等级信号,藉此多等级信号的每一等级表示指示对于数据总线的每一分区编码是否被应用于该分区的至少两比特信息。此类多等级信号可以被定义为多电压等级、多电流等级、多相位、其它类型的等级、或这些等级的组合。在一些实现中,数据总线是并行总线并且编码指示符码元的传输/接收包括在专用总线线路上传送/接收编码指示符码元。数据比特的并行集合可以在总线循环期间在数据总线上传送/接收,其中编码指示符码元的传输/接收包括在总线循环期间经由单个信号引脚来传送/接收编码指示符码元。同样,对于数据总线的每一分区,可以作出关于是否要编码要在该分区上发送的数据子集的确定,其中编码指示符码元的生成包括选择指示对应数据子集要被编码的任何分区的值。在一些情形中,是否要编码数据子集的确定包括:确定数据子集的编码是否会降低与数据子集的传输相关联的功耗或者是否会降低与数据子集的传输相关联的干扰。此外,可以作出选择以标识得到与在分区上的数据传输相关联的最低功耗或与在分区上的数据传输相关联的最低干扰的数据总线划分。类似地,可以作出选择以标识得到与在分区上的数据传输相关联的最低功耗或与在分区上的数据传输相关联的最低干扰的要应用于不同分区的编码类型。同样,对于数据总线的每一分区,可以基于编码指示符码元来作出关于经由该分区接收到的数据子集是否被编码的确定。在这一情形中,如果编码指示符码元指示数据子集被编码,则该数据子集被解码。
[0019] 本发明的这些和其它方面将在阅览以下详细描述后得到更全面的理解。在结合附图研读了下文对本发明的具体示例性实现的描述之后,本发明的其他方面、特征和实现对于本领域的普通技术人员将是明显的。尽管本发明的特征在以下可能是针对一些实现和附图来讨论的,但本发明的所有实现可包括本文所讨论的有利特征中的一个或多个。换言之,尽管可能讨论了一个或多个实现具有某些有利特征,但也可以根据本文讨论的本发明的各种实现使用此类特征中的一个或多个特征。以类似方式,尽管示例性实现在下文可能是作为设备、系统或方法实现进行讨论的,但是应该理解,此类实现可以在各种设备、系统、和方法中实现。
[0020] 附图简述
[0021] 图1是本公开的一个或多个方面可在其中得到应用的系统环境的示例的简化框图
[0022] 图2是解说根据本公开的至少一个示例的总线分区的选择性解码的简化框图。
[0023] 图3是解说根据本公开的至少一个示例的可以结合编码数据来执行的操作的流程图
[0024] 图4是解说根据本公开的至少一个示例的可以结合解码数据来执行的操作的流程图。
[0025] 图5是解说在数据总线的不同通道上传送的数据比特示例的简化示图。
[0026] 图6是解说应用于图5的数据比特的常规DBI AC编码的示例的简化示图。
[0027] 图7是解说应用于图5的数据比特的常规DBI DC编码的示例的简化示图。
[0028] 图8是解说应用于图5的数据比特的一部分的常规DBI DC编码的示例的信令的简化示图。
[0029] 图9是解说根据本公开的至少一个示例的用于应用于图5的数据比特的一部分的编码的信令的简化示图。
[0030] 图10是解说根据本公开的至少一个示例的用于生成多等级指示符的电路的简化示图。
[0031] 图11是解说根据本公开的至少一个示例的用于生成多等级指示符的另一电路的简化示图。
[0032] 图12是解说由图11的电路生成的输出电平的示例的简化示图。
[0033] 图13是解说由图11的电路生成的DBI电平的示例的简化示图。
[0034] 图14是解说根据本公开的至少一个示例的用于生成多等级指示符的另一电路的简化示图。
[0035] 图15是解说根据本公开的至少一个示例的用于生成多等级指示符的另一电路的简化示图。
[0036] 图16是解说根据本公开的至少一个示例的用于选择总线划分格式的电路的简化示图。
[0037] 图17是解说根据本公开的至少一个示例的用于选择编码类型的电路的简化示图。
[0038] 图18是解说根据本公开的至少一个示例的纳入数据总线的印刷电路板的简化示图。
[0039] 图19是解说根据本公开的至少一个示例的纳入数据总线的集成电路管芯的简化示图。
[0040] 图20是解说根据本公开的至少一个示例的包括编码功能性的装置的组件选集的简化框图。
[0041] 图21是解说根据本公开的至少一个示例的可以结合生成编码指示符码元来执行的操作的流程图。
[0042] 图22是解说根据本公开的至少一个示例的可以结合生成编码指示符码元来执行的附加操作的流程图。
[0043] 图23是解说根据本公开的至少一个示例的包括解码功能性的装置的组件选集的简化框图。
[0044] 图24是解说根据本公开的至少一个示例的可以结合基于编码指示符码元解码数据来执行的操作的流程图。
[0045] 图25是解说根据本公开的至少一个示例的可以结合基于编码指示符码元解码数据来执行的附加操作的流程图。
[0046] 详细描述
[0047] 以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文所描述的概念的仅有配置。本详细描述包括具体细节以提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以便避免淡化此类概念。
[0048] 图1是解说本公开的一个或多个方面可在其中得到应用的系统100的示例的框图。该系统100包括通过并行数据总线106彼此通信地耦合的第一电子设备102和第二电子设备
104。该第一电子设备102被示为强调发射方面并且包括具有编码器110并且被适配成在数据总线106上从第一电子设备102向第二电子设备104发送经编码数据比特的发射机108。第二电子设备104被示为强调接收方面并且包括具有解码器114以用于接收和解码经编码数据比特的接收机112。在一些示例中,数据总线106可以是单向总线。在其他示例中,数据总线106可以是双向总线,在此情形中,第二电子设备104可包括适配成在该数据总线106上向第一电子设备102的接收机118发送数据比特的发射机116。为了减少图1的复杂性,数据总线106与发射机116和接收机118的耦合未被示出。
[0049] 第一和第二电子设备102和104可以是能使用通信信令(例如,单端信令)来通信的任何设备。在各种示例中,第一和第二电子设备102和104可以是计算机系统中的组件。例如,在一些实现中,电子设备102可以是处理单元,第二电子设备104可以是存储器,并且数据总线106可以是系统总线。在至少一个示例中,该处理器的存储器控制器接口(例如,物理存储器接口电路PHY)以及存储器模块可以包括各自的发射机和接收机以执行写和读操作。该处理器可以是任何合适类型的处理单元,诸如中央处理单元(CPU)、协处理器、算术处理单元、图形处理单元(GPU)、数字信号处理器(DSP)等。该存储器模块也可以是任何合适类型的存储器。在一些实现中,第二电子设备104可以是另一类型的设备,诸如桥接控制器、存储设备(例如,硬盘驱动器、光盘驱动器、闪存驱动器、存储阵列等)、网络接口设备(例如,去往局域或广域网)、用户接口设备(例如,显示器设备、声音设备、打印机)等。在一些示例中,第一和第二电子设备102和104可以是处理单元中分开的核或者是系统中分开的处理单元。相应地,在至少一个示例中,该系统100可以是通信网络,其中第一和第二电子设备102和104可以是路由器、交换机、终端设备等。由此,一般而言,第一和第二电子设备102和104可以是适配成在数据总线106上发送和/或接收数据比特的任何合适设备。
[0050] 如本文所使用的,术语数据、数据比特等一般指代能够在通信介质上承载的信息。因而,数据可包括并且数据总线可以承载例如控制信息、地址信息、信令信息、定时信息、用户数据、有效载荷等。
[0051] 数据总线106可包括大致并行的导电迹线或线路,其可被称为通道120,并且这些通道120可在每一端被耦合到电子设备102和104中的相应引脚。数据总线106的通道120的数目可根据不同实现而变。仅作为示例,数据总线106可包括4、8、16、32、64、72或某一其它数目的数据通道120。至少一个附加通道122可以被提供以与数据比特并行地传送控制信号。例如,数据总线106可具有72个数据通道以及8个控制通道122,即总共80个通道。如下文更详细地讨论的,控制通道122之一可被用于发送在数据总线106上使用的编码(例如,在数据通道120上传送的数据比特上使用的编码)的指示。该总线可附加地支持伴随的时钟定时拓扑(未示出)。
[0052] 在诸通道120上传送的数据比特是包括一(1)和零(0)、或即高和低电压的二进制数据比特。随着这些数据比特在数据总线106上被传送,这些数据比特在典型情况下受制于码元间干扰(ISI)、串话、以及同时切换噪声(SSN),它们可能会改动这些数据比特的振幅和定时。通常,数据比特可使用各种数据编码技术来被编码以减少ISI、串话、和/或SSN的作用。数据编码也可被用于降低与数据比特的传输相关联的功耗。
[0053] 数据总线反相(DBI)是一种用于降低通信接口中的功耗的已知技术。编码的有效性可取决于正被编码的并行数据(总线)的宽度。因而,将总线划分成较小子集是可能改善通信系统的效率并且进一步降低功率的一种方式。然而,在一些实现中,将用于不同子集的DBI标志传达到接收机所需的附加引脚成本太高。因此,在其中原本可能被证明是有利的许多实现中,不使用DBI划分。
[0054] 图2是解说根据本文教导的采用编码指示符码元的总线分区的选择性编码的示例的框图。有利的是,编码指示符码元标识被编码的任何总线分区,并且可以在单条信令线路(例如,总线位线)上传送。例如,如下文更详细地讨论的,编码指示符码元可包括多等级信号(多状态信号),其中每一“等级”(“状态”)表示指示总线划分和/或编码的两个或更多个比特。同样,在一些实现中,每一“等级”(“状态”)可以表示要应用于对应的总线分区的编码类型。
[0055] 在图2中,编码器202对要发送到解码器204的数据选择性地编码。具体地,编码器202将输入数据总线(数据输入(DATA IN))206划分成不同分区并且独立地编码每一分区。
在图2的示例中,16比特(即16线路)数据总线206被拆分成两个8比特分区。其它划分格式可被用在其他实现中。例如,总线可以被拆分成较多数目个分区,每一分区中的比特数目可以不同于本文附图中所示的数目,并且不同分区中的比特数目可以不同。
[0056] 如所示出的,输入数据总线206被划分成第一分区208(分区A)和第二分区210(分区B)。分区A选择编码212例如在总线循环的基础上确定是否要对第一分区208上的数据编码。独立于分区A选择编码212的操作,分区B选择编码214例如在总线循环的基础上确定是否要对第二分区210上的数据编码。
[0057] 关于是否要将编码应用于给定分区的决策是基于一个或多个因子(例如,通信性能因子)作出的。例如,在一些情形中,编码被应用于要在给定总线分区上传送的数据子集,如果这么做会降低与数据传输相关联的功耗的话。相反,如果通过编码不会达成功率节省或达成不显著的功率节省,则数据子集转而被传送而不进行编码。作为另一示例,在一些情形中,编码被应用于要在给定总线分区上传送的数据子集,如果这么做会降低与数据传输相关联的干扰的话。相反,如果通过编码不会达成干扰降低或达成不显著的干扰降低,则数据子集转而被传送而不进行编码。
[0058] 在作出编码决策或不作出编码决策之后,编码器202经由经划分的数据总线将数据传送到解码器204。具体地,编码器202经由数据总线分区A 216传送第一数据子集,该第一数据子集可能已经由分区A选择编码212来编码。类似地,编码器202经由数据总线分区B 218传送第二数据子集,该第二数据子集可能已经由分区B选择编码214来编码。
[0059] 应当领会,本文所使用的诸如“总线分区”和“经划分总线”的术语并不要求总线在物理上被划分。相反,划分可以仅仅涉及用不同方式来处置要在总线的不同位线集上发送的数据。例如,要对要在一个分区上传送的数据子集进行编码的决策可以独立于要对要在另一分区上传送的另一数据子集进行编码的决策来作出。作为另一示例,不同的编码可以被应用于不同总线分区的不同数据子集。
[0060] 编码器202将编码信息发送到解码器204,以使得解码器204能够确定给定分区是否已经被编码器202编码。为此,分区A选择编码212和分区B选择编码214分别将对应的编码决策或不编码决策的指示220和指示222发送到编码指示符生成器224。基于这些指示,编码指示符生成器224生成编码指示符码元,该编码指示符码元接着经由位线226被传送到解码器204。
[0061] 在图2的示例中,编码指示符码元表示指示总线划分以及编码是否被已应用于给定总线分区的两比特信息。具体地,两比特值00指示分区A数据或分区B数据均未被编码。两比特值01指示仅分区A被编码。两比特值10指示仅分区B被编码。两比特值11指示分区A数据和分区B数据均被编码。应当领会,在其它实现中,编码指示符码元可表示不同数目的比特(例如,三个或更多个)。
[0062] 解码器204的编码指示符处理228接收编码指示符码元,并且生成指示编码在数据总线分区A和B 216和218上是否活跃的指示230和232。指示230指示数据总线分区A 216上的数据是否被编码。指示232指示数据总线分区B 218上的数据是否被编码。如所指示的,编码指示符处理228将指示230发送到分区A选择解码234以及将指示232发送到分区B选择解码236。
[0063] 因此,解码器204可以针对每一总线分区独立地确定针对该总线分区是否需要调用解码。分区A选择解码234基于指示230来确定是否要对数据总线分区A 216上接收到的数据进行解码。独立于分区A选择解码234的操作,分区B选择解码236基于指示232来确定是否要对数据总线分区B 218上接收到的数据进行解码。
[0064] 如本文所讨论的,在一些实现中,这些编码决策在总线循环的基础上作出。例如,编码器202可以与每一数据传递循环并行地在经划分数据总线上发送新的编码指示符码元。因而,解码器204可以针对每一数据传递来确定解码是否要被应用于在任何总线分区上接收到的数据。
[0065] 谨记以上内容,根据本公开的与编码和解码相关的操作的示例现在将结合图3和4的流程图更详细地描述。出于方便目的,图3和4的操作(或本文所讨论或教导的任何其它操作)可被描述为是由特定组件来执行的。然而,应当领会,在各个实现中,这些操作可由其他类型的组件来执行,并且可使用不同数目个组件来执行。还应当领会,在给定实现中可以不采用本文所描述的操作中的一个或多个操作。
[0066] 图3解说了可以结合选择性地编码数据并且生成对应的编码指示符码元来执行的操作的示例。例如,图3的操作可以由图1的发射机108、图2的编码器202或某一其它合适主体来执行。
[0067] 框302涉及在数据传递之前执行的若干初步操作。指定组件选择要在数据总线上被采用的特定数据划分以及要被应用于在总线分区上发送的数据的编码类型。
[0068] 在一些实现中,这些操作在静态的基础上执行。例如,数据总线控制器可以在对应系统被初始化时定义这些参数。作为另一示例,制造商可以将系统配置成总是使用相同参数。
[0069] 在其它实现中,框302的操作在动态的基础上执行。例如,发射机、编码器或某一其它组件可以指定要用于某些数据传递、用于某些时间段、或用于其它指定条件的划分和/或编码。
[0070] 框302的决策基础可以基于一个或多个因素。作为一个示例,编码或划分可取决于正被传递的数据的类型、数据率、或某一其它数据相关或非数据相关的因素。
[0071] 在框304,执行框302的选择的设备将数据总线划分信息和/或编码类型信息传送到相关联的设备。此处,通过在相关联的组件之间使用恰适信令(例如,编码器和解码器之间的专用位线、或命令总线),一个组件可以向其相关联的组件通知要使用的具体划分和/或要被应用于经划分的数据总线的编码类型以供数据传递。
[0072] 在框306,在某一时间点,第一设备接收要被传送到相关联的第二设备的数据。例如,存储器控制器可以从系统处理器接收数据以供传递至存储器设备。应当领会,本文的教导也适用于其它形式的数据传递。
[0073] 在框308,对于每一数据总线划分,第一设备确定是否对要在该数据总线分区上传送的收到数据子集进行编码。例如,第一设备的编码器可以分析要在给定数据总线分区上发送的数据子集,并且藉此决定该数据子集是否要被编码。
[0074] 在框310,编码器对在框308被指定供编码的任何数据子集进行编码。在框308未被指定供编码的任何数据子集不被编码。
[0075] 在框312,编码器或相关联的组件基于框308和310的结果来生成编码指示符码元。如本文所讨论的,编码指示符码元指示总线划分以及被应用于每一总线分区的编码两者。
[0076] 在框314,第一设备经由经划分的数据总线来传送在框306接收到的数据(可任选地由在框310对一个或多个收到数据子集执行的任何编码进行修改)。结合这一数据传输,第一设备传送在框312生成的对应编码指示符码元。通常,第一设备并行地(例如,在几乎相同的时间)传送数据和相关联的编码指示符码元。然而,如果期望,则编码指示符码元可以在数据之前或之后被传送。
[0077] 图4解说了可以结合基于收到编码指示符码元来选择性地解码收到数据来执行的操作的示例。例如,图4的操作可以由图1的接收机112、图2的解码器204或某一其它合适主体来执行。
[0078] 在框402,如上所称的第二设备接收在图3的框304传送的数据总线划分信息和/或编码类型信息。以此方式,第二设备确定如何将解码应用于经由经划分的数据总线接收到的数据。
[0079] 在框404,第二设备经由经划分的数据总线从第一设备接收数据以及相关联的编码指示符码元。如上所提及的,在一个或多个数据总线分区上接收到的一个或多个数据子集可以被编码。
[0080] 在框406,对于每一数据总线分区,第二设备使用编码指示符码元来确定在框402接收到的对应数据子集是否被编码。
[0081] 在框408,解码器对在框404被标识为被编码的任何数据子集进行解码。在框406未被标识为被编码的任何数据子集不被解码。第二设备接着可以将收到数据用于其预期目的。
[0082] 如上所提及的,在不同实现中,本文的教导可以使用不同类型的编码来实现。出于解说的目的,与生成和使用编码指示符码元相关的附加细节现在将在DBI编码的上下文中进行描述。然而应当领会,本文的教导不限于DBI编码。
[0083] 图5-7呈现了常规DBI编码的概览。图5是解说在数据总线502(例如,图1的数据总线106)的不同通道上传送的数据比特的示例的框图500。如所解说的,每一行代表一单独的数据通道,其中示出在每个通道上有八个数据比特或循环被传送。奇数循环或比特被加了阴影仅为了促成更易于观看。
[0084] 数据总线反相是采用电路系统来查看要被传送的诸比特之间的关系,并且然后决定在传输之前将这些比特中的一些或全部反相是否将是有利的。如果这些比特被反相,则还设置附加信号以指示这些比特被反相。此附加信号通常被称为数据总线反相(DBI)标志或编码标志。额外通道能被使用,从而该DBI标志能与其他比特并行地被发送以向接收电路系统标识哪几组数据已被反相。接收机使用DBI标志来将传入数据返回到其原始状态。
[0085] 一般有两种类型的用于DBI编码的数据总线反相技术。第一种技术(其可被本领域技术人员称为DBI AC或最少转变)被用来减少数据通道上的转变(例如,从“零”到“一”的改变、或者从“一”到“零”的改变)的数目以改善AC功耗并减少来自串话的问题等。图6是解说常规DBI AC编码的示例的框图。左边是来自图5的原始数据,并且右边示出结果所得的经编码数据602。DBI AC编码在典型情况下被用来减少同时转变的数目。在原始数据中,在数据总线502的全部八个通道上,在八个循环上有总共34个转变。如图所示,在设备确定在半数以上的数据通道上被调度进行传输的数据从一个循环到下一循环有转变时,该设备可在所有数据通道上将下一循环反相。例如,从循环2到循环3,这八个数据通道中有七个通道有转变,或者是从“一”到“零”、或者是从“零”到“一”。相应地,该设备可将循环3反相,从而该八个数据通道中仅有一个通道将具有转变。附加地,在DBI控制通道(其在图6中被标识为通道9)上在循环3处将DBI标志设置。在此示例中,在数据总线502上传送的数据中的转变数目从
34个减少到25个,但是在数据总线502上传送的“一”(例如,逻辑高信号)的数目从31个增加到32个。
[0086] 用于数据总线反相的第二技术(其可被称为DBI DC、最少的“一”、或最少的“零”)被用来减少特定状态的数目比特的数目(例如,减少“一”的数目或“零”的数目)。图7是解说常规DBI DC编码的示例的框图。再一次地,左边的示图是来自图5的原始数据,而右边的示图解说结果所得的经编码数据702。DBI DC编码在典型情况下被用来减少具有特定状态的数据比特的数目。例如,在此示例中,DBI DC被用来减少在数据总线502上传送的“一”(或逻辑高信号)的数目。如图所示,当设备确定半数以上的数据通道在给定循环上具有逻辑高信号(“一”)时,该设备可针对所有数据通道将该循环反相。例如,原始数据中的循环1在这八个数据通道中的五个数据通道上具有逻辑高信号(“一”)。相应地,该设备可将每个数据通道上的循环1反相,以使得这八个数据通道中仅三个数据通道将传送逻辑高信号(“一”)。附加地,在DBI控制通道(其在图7中被标识为通道9)上在循环1处将DBI标志设置。在该示例中,在该数据总线502上传送的“一”(例如,逻辑高信号)的数目被从31个减少到22个。在此示例中,转变的数目也从34个减少到28个,尽管此示例对于该技术而言并不典型。一般而言,此技术结果导致转变数目的增加。
[0087] 图8解说了常规DBI编码中采用的二进制信令的示例。具体地,图8以简化方式解说了与从图7输出的DBI DC的前四个总线循环相关联的信令以及来自DBI控制通道的对应DBI值。
[0088] 作为对比,图9解说了可以结合如本文所教导的编码指示符码元的使用来采用的信令的示例。在这一示例中,每一编码指示符码元(DBI值)取四个值(电平)之一,如图9的底部处所指示的。这些值与上文参考图2描述的编码指示符码元值相同。因而,这一编码指示符码元可以结合总线划分来使用,藉此给定编码指示符码元针对每一总线分区指示编码是否已被应用于该特定总线分区。
[0089] 在图9的示例中,8个通道被划分成两个2分区。第一分区由通道1-4组成而第二分区由通道5-8组成。在总线循环1中,编码仅被应用于第一分区。在总线循环2中,没有编码被应用。在总线循环3中,编码被应用于第一分区和第二分区两者。在总线循环4中,编码仅被应用于第一分区。
[0090] 图9中针对通道1-8所解说的波形对应于DBI DC编码的使用。具体地,DBI DC编码针对图5的前四个循环中的每一个循环被选择性地应用于每一总线分区。在此,可以看到,总线划分的使用导致与图8的常规DBI DC实现更少的“一”(在这一示例中为高信号电平)。具体地,在图8中,有9个“一”,而在图9中,有7个“一”。因而,在使用相同数目的位线(或设备引脚)的同时,图9的实现一般地提供了比图8的实现更好的性能。
[0091] 多等级编码指示符码元可以用各种方式来实现。例如,多等级编码指示符码元可以由多电压等级、多电流等级、多相位等级(例如,相移)、或其组合来定义。图10-15解说了可用于生成多等级编码指示符码元的电路的若干示例。
[0092] 图10是能够生成不同电压等级的编码指示符码元的多等级电压驱动器1002的简化示图。两比特(MSB和LSB)输入控制信号1004控制电压驱动器1002的输出1006。具体地,输入值00得到0级输出电压(例如,0伏),输入值01得到1级输出电压,输入值10得到2级输出电压,而输入值11得到3级输出电压(例如,最大幅值)。互补多电压等级接收机电路(未示出)可被用于接收多等级编码指示符码元。
[0093] 图11是能够生成不同电流等级的编码指示符码元的多等级电流驱动器1102的简化示图。两比特输入控制(由两个开关1104表示)控制供电电流IMSB和ILSB是否耦合到由终接电阻(R终接)表示的输出。在这一示例中,IMSB是ILSB幅值的两倍。互补多电流等级接收机电路(未示出)可被用于接收多等级编码指示符码元。
[0094] 图12解说了可由电流驱动器1102生成的四个电流等级1202。具体地,输入值00得到0级输出电流(对应于0倍功率),输入值01得到1级输出电流(对应于1倍功率),输入值10得到2级输出电流(对应于4倍功率),而输入值11得到3级输出电流(对应于9倍功率)。
[0095] 图13解说了可以映射到图12的电流等级1202的四个DBI值1302。具体地,0级输出电流指示第一总线分区(指定分区1)或第二总线分区(指定分区2)均未被编码(在DBI的情形下被“反相”)。1级输出电流指示仅第一总线分区被编码。2级输出电流指示仅第二总线分区被编码。3级输出电流指示第一总线分区和第二总线分区两者被编码。
[0096] 图14是能够生成不同相移的编码指示符码元的多状态(或多等级)移相器1402的简化框图。两比特(MSB和LSB)输入控制信号1404控制移相器1402的输出1406。具体地,输入值00得到状态0(0级)相移(例如,没有相移),输入值01得到状态1(1级)相移(例如,90度相移),输入值10得到状态2(2级)相移(例如,180度相移),而输入值11得到状态3(3级)相移(例如,270度相移)。互补多相位等级接收机电路(未示出)可被用于接收多等级编码指示符码元。
[0097] 图15是能够生成不同相移和幅值的编码指示符码元的多状态(或多等级)相位幅值移位器1502的简化框图。两比特(MSB和LSB)输入控制信号1504控制相位幅值移位器1502的输出1506。具体地,输入值00得到状态0(0级)相移(例如,没有相移)和幅值(例如,低幅值值),输入值01得到状态1(1级)相移(例如,180度相移)和幅值(例如,低幅值值),输入值10得到状态2(2级)相移(例如,没有相移)和幅值(例如,高幅值值),而输入值11得到状态3(3级)相移(例如,180度相移)和幅值(例如,高幅值值)。互补多状态接收机电路(未示出)可被用于接收多等级编码指示符码元。应当领会,在不同实现中可以使用相位和幅值的不同组合(除了两个相位和两个幅值之外)。
[0098] 如上所提及的,在一些实现中,数据总线上采用的划分由指定系统组件选择(例如,动态选择)。图16解说了包括总线划分选择功能性的发射机1602的示例。应当领会,本文教导的总线划分选择功能性不限于这一示例。相反,在其它实现中,总线划分选择功能性可以在其它组件(例如,接收机1604或某一其它组件)中实现。
[0099] 发射机1602经由输入数据总线1606接收数据(数据输入(DATA IN)),在输入数据总线1606上选择编码器1608将编码选择性地应用于要经由数据总线1610的不同总线分区传送的不同数据子集。在接收到这一数据之际,接收机1604的选择解码器1612基于如本文所教导的相关联的编码指示符码元(未示出)将解码选择性地应用于经由数据总线1610的不同数据分区接收到的不同数据子集以在输出数据总线1614上提供输出数据(数据输出(DATA OUT))。
[0100] 发射机1602包括划分选择器1616,划分选择器1616被配置成选择要在数据总线1610上采用的特定划分格式。例如,划分选择器1616可以选择要使用的总线分区数目以及每一总线分区的位线数目。如上所述,不同总线分区中的位线数目可以不同。在一些实现中,划分选择器1616从一组受支持的划分格式之中选择划分格式。
[0101] 特定总线划分的选择可基于各种因素。例如,总线划分可以受到信号线(迹线)布线约束、线路间干扰考量等影响。同样,不同的总线划分可以被用于不同系统配置、用于不同时间段、或用于其它指定条件。同样,如图16中的数据线1620所指示的,在一些实现中,要使用的特定总线划分可基于要在经划分的数据总线上发送的数据。例如,划分可取决于正被传递的数据类型、数据率、或某一其它数据相关因素。应当领会,给定分区的信号线不需要被布线在一起(即,彼此紧挨着)。例如,奇数信号线可以被分配到一个分区,而偶数信号线被分配到另一分区。此类配置在DBI-AC环境中可以是尤其有益的,因为奇/偶划分可以减少奇/偶相位串扰。
[0102] 一旦划分选择器1616选择了总线划分,划分选择器1616就将所选划分的指示发送到选择编码器1608和通信组件1622(例如,总线驱动器电路)。通信组件1622接着经由恰适的信号路径1624(例如,控制总线)将划分指示发送到接收机1604的对应通信组件1626(例如,总线接收机电路)。通信组件1626进而经由恰适的信号路径1628将划分指示发送到选择解码器1612。以此方式,要在数据总线1610上使用的划分被传达到选择编码器1608和选择解码器1612两者。
[0103] 在一些实现中,数据总线上采用的编码由指定系统组件选择(例如,动态选择)。图17解说了包括编码选择功能性的发射机1702的示例。应当领会,本文教导的编码选择功能性不限于这一示例。相反,在其它实现中,编码选择功能性可以在其它组件(例如,接收机
1704或某一其它组件)中实现。
[0104] 发射机1702经由输入数据总线1706接收输入数据(数据输入(DATA IN)),在输入数据总线1706上选择编码器1708将编码选择性地应用于要经由数据总线1710的不同总线分区传送的不同数据子集。在接收到这一数据之际,接收机1712的选择解码器1704基于如本文所教导的相关联的编码指示符码元(未示出)将解码选择性地应用于经由数据总线1710的不同数据分区接收到的不同数据子集以在输出数据总线1714上提供输出数据(数据输出(DATA OUT))。
[0105] 发射机1702包括编码选择器1716,编码选择器1716被配置成选择要在数据总线1710上采用的特定编码。例如,编码选择器1716可以从一组受支持的编码类型(例如,DBI AC、DBI DC等)中选择编码类型。在一些实现中,编码选择器1716选择要对整条数据总线
1710(即,所有总线分区)上应用的一种类型的编码。在一些实现中,编码选择器1716可以为不同总线分区选择不同类型的编码。
[0106] 特定编码的选择可基于各种因素。例如,不同类型的编码可被用于不同的通道条件、不同的工作条件、不同的系统配置、不同的时间段、或其它指定条件。如图17中的数据线1720所指示的,在一些实现中,要使用的特定编码可基于要在经划分的数据总线1710上发送的数据。例如,所选择的编码类型可取决于正被传递的数据类型、数据率、或某一其它数据相关因素。
[0107] 一旦编码选择器1716选择了编码,编码选择器1716就将所选编码的指示发送到选择编码器1708和通信组件1722(例如,总线驱动器电路)。通信组件1722接着经由恰适的信号路径1724(例如,控制总线)将编码指示发送到接收机1704的对应通信组件1726(例如,总线接收机电路)。通信组件1726进而经由恰适的信号路径1728将编码指示发送到选择解码器1712。以此方式,要在数据总线1710上使用的编码被传达到选择编码器1708和选择解码器1712两者。
[0108] 如上所提及的,在一些实现中(例如,在编码指示符码元表示四个以上等级的情况下),编码指示符码元的一个或多个“等级”可以指示要被应用于对应总线分区的编码类型。因而,在这些实现中,信号路径1724可包括DBI标志位线(或引脚)或其它相当的编码指示符位线。
[0109] 纳入多等级编码指示符码元的数据总线可以用各种方式来实现。例如,数据总线可以被实现在印刷电路板内、集成电路管芯内、或某一其它合适结构内。图18和19解说印刷电路板和集成电路管芯实现的示例。
[0110] 在图18中,印刷电路板1802纳入被实现为置于印刷电路板1802的一个或多个层上的多条线缆1804(也被称为迹线)的数据总线。在这一示例中,数据总线线缆1804从第一集成电路1810和第二集成电路1812的触点与其连接的焊盘(例如,第一焊盘1806和第二焊盘1808)布线。应当领会,在其它实现中,数据总线的线缆可以用不同方式布线。例如,在一些实现中,数据总线被布线在电路与板外连接器(未示出)之间。
[0111] 在图19中,集成电路管芯1902纳入被实现为沉积在管芯1902的一个或多个层上的多条线缆1904(也被称为迹线)的数据总线。在这一示例中,数据总线线缆1904被布线在第一电路1910和第二电路1912与其连接的互连(例如,第一互连1906和第二互连1908)之间。应当领会,在其它实现中,数据总线的线缆可以用不同方式布线。例如,在一些实现中,数据总线被布线在管芯1902的内部电路与管芯的用于连接到外部电路的键合焊盘(未示出)之间。
[0112] 转到图20,示出了解说根据本公开的至少一个示例的装置2000(诸如来自图1的第一或第二电子设备102或104)的组件选集的框图。装置2000的发射机2002包括适配成在数据总线2006的多个通道上传送数据比特的编码器2004。
[0113] 编码器2004一般包括被适配成编码数据并且生成相关联的编码指示符码元的电路系统和/或编程。根据至少一个示例,编码器2004可藉由数据总线接口2008来耦合到数据总线2006的多个数据通道,并可包括耦合到数据总线接口2008和存储介质2012或被置于与其的电通信的处理电路2010。数据总线接口2008可包括例如以下一者或多者:信号驱动器电路、信号接收机电路、放大器、信号滤波器、信号缓冲器、或者用来与信令总线或其它类型的信令媒体对接的其它电路系统。
[0114] 处理电路2010被安排成获得、处理和/或发送数据、控制数据的访问与存储、发布命令,以及控制其他期望操作。在至少一个示例中,处理电路2010可包括被适配成实现由恰适介质提供的期望编程的电路系统。在一些实例中,处理电路2010可包括适配成执行期望功能(在实现编程或在不实现编程的情况下)的电路系统。作为示例,处理电路2010可被实现为一个或多个处理器、一个或多个控制器、和/或配置成执行可执行编程和/或期望功能的其他结构。处理电路2010的示例可包括被设计成执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)或其他可编程逻辑组件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合。通用处理器可包括微处理器,以及任何常规的处理器、控制器、微控制器、或状态机。处理电路2010还可实现为计算组件的组合,诸如DSP与微处理器的组合、数个微处理器、与DSP核协作的一个或多个微处理器、ASIC和微处理器、或任何其他数目的变化配置。处理电路2010的这些示例是为了解说并且还构想了落在本公开范围内的其他合适的配置。
[0115] 处理电路2010适配成用于进行处理,包括执行可存储在存储介质2012上的编程。如本文中使用的,术语“编程”应当被宽泛地解释成不构成限定地包括指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数等,无论其被称为软件、固件中间件、微代码、硬件描述语言、或者其它术语。
[0116] 在一些实例中,处理电路2010可包括用于生成编码指示符码元的模块2014、用于确定是否要进行编码的模块2016、用于编码的模块2018、用于选择划分的模块2020、以及用于选择编码类型的模块2022。用于生成编码指示符码元的模块2014可包括被适配成收集关于要被编码的不同(例如,与不同总线分区相关联的)数据比特组的信息,基于收集的信息来生成值,以及如本文所教导的生成用于指示数据总线的划分以及应用于数据总线的不同分区的编码的多等级或相当指示的电路系统和/或编程(例如,用于生成存储在存储介质2012上的编码指示符码元2024的模块)。用于确定是否要进行编码的模块2016可包括被适配成收集(例如,与不同数据分区相关联的)一组或多组数据比特,评估数据比特以确定是否满足指示编码需要的准则,以及生成该评估的指示的电路系统和/或编程(例如,用于确定是否要对存储在存储介质2012上的数据进行编码的模块2026)。用于编码的模块2018可包括被适配成收集(例如,与不同总线分区相关联的)一组或多组数据比特,评估数据比特以根据所定义的公式来确定至少一些数据比特的新值,用新值替换至少一些数据比特,并且输出所得的数据比特的电路系统和/或编程(例如,用于对存储在存储介质2012上的数据进行编码的模块2028)。此外,用于选择划分的模块2020可包括被适配成获取分区选择的一个或多个准则,标识满足该一个或多个准则的总线划分,并且输出所标识的总线划分的指示的电路系统和/或编程(例如,用于选择存储在存储介质2012上的划分的模块2030)。同样,用于选择编码类型的模块2022可包括被适配成获取编码类型选择的一个或多个准则(例如,收集输入数据比特),标识满足该一个或多个准则的编码类型,并且输出所标识的编码类型的指示的电路系统和/或编程(例如,用于选择存储在存储介质2012上的编码类型的模块2032)。
[0117] 存储介质2012可代表用于存储编程、电子数据、数据库、或其他数字信息的一个或多个处理器可读设备。存储介质2012还可被用于存储由处理电路2010在执行编程时操纵的数据。存储介质2012可以是能被处理电路2010访问的任何可用介质,包括便携式或固定存储设备、光学存储设备、以及能够存储、包含和/或携带编程的各种其他介质。作为示例而非限定,存储介质2012可包括处理器可读存储介质,诸如磁存储设备(例如,硬盘、软盘、磁条)、光学存储介质(例如,压缩盘(CD)、数字多用盘(DVD))、智能卡、闪存设备(例如,闪存卡、闪存条、钥匙型驱动)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、和/或用于存储编程的其他介质、以及其任何组合。因此,在一些实现中,存储介质可以是非瞬态(例如,有形)存储介质。
[0118] 存储介质2012可被耦合至处理电路2010以使得处理电路2010能从/向存储介质2012读取信息和写入信息。也就是说,存储介质2012可耦合至处理电路2010,从而存储介质
2012至少能由处理电路2010访问,包括其中存储介质2012整合到处理电路2010的示例和/或其中存储介质2012与处理电路2010分开的示例。
[0119] 由存储介质2012存储的编程在由处理电路2010执行时使处理电路2010执行本文描述的各种功能和/或过程步骤中的一者或多者。例如,存储介质2012可包括用于生成编码指示符码元的模块(例如,操作)2024、用于确定是否要进行编码的模块2026、用于编码的模块2028、用于选择划分的模块2030、以及用于选择编码类型的模块2032。由此,根据本公开的一个或多个方面,处理电路2010被适配成(结合存储介质2012)执行用于本文描述的任何或所有装置(例如,第一电子设备102或第二电子设备104)的任何或所有过程、功能、步骤和/或例程。如本文所使用的,涉及处理电路2010的术语“适配”可指代处理电路2010(协同存储介质2012)被配置、采用、实现和/或编程(以上一者或多者)以执行根据本文描述的各种特征的特定过程、功能、步骤和/或例程。
[0120] 图21解说了可结合生成编码指示符码元来执行的操作2100的示例。例如,图21的操作2100可以由图1的发射机108、图2的编码器202、图20的装置2000或某一其它合适主体来执行。
[0121] 在框2102,编码指示符码元被生成。这一码元指示数据总线的划分以及应用于数据总线的不同分区的编码。在一些方面,编码可包括数据总线反相。在一些方面,数据总线可以是并行总线。
[0122] 在一些方面,编码指示符码元可以是多等级信号。此处,多等级信号的每一等级可以表示指示针对数据总线的每一分区编码是否被应用于该分区的至少两比特信息。在一些方面,多等级信号可以由以下各项中的至少一者来定义:多电压等级、多电流等级、或多相位。
[0123] 在框2104,编码指示符码元被传送。例如,编码设备可以将编码指示符码元传送到解码设备。在一些方面,编码指示符码元的传输可包括在专用总线线路上传送编码指示符码元。
[0124] 图22解说了可以结合选择性地编码数据并且生成对应的编码指示符码元来执行的附加操作2200的示例。图22的操作2200可以由图1的发射机108、图2的编码器202、图20的装置2000或某一其它合适主体来执行。
[0125] 在可任选的框2202,要在数据总线上采用的数据划分可以被选择。这些操作可对应于例如上文结合图3的框302讨论的对应操作。在一些方面,框2202的操作可包括选择得到与在分区上的数据传输相关联的最低功耗或与在分区上的数据传输相关联的最低干扰的数据总线划分。
[0126] 在可任选的框2204,要被应用于在数据分区上发送的数据的编码类型可被选择。这些操作也可对应于例如上文结合图3的框302讨论的对应操作。在一些方面,框2202的操作可包括选择得到与在分区上的数据传输相关联的最低功耗或与在分区上的数据传输相关联的最低干扰的要应用于不同分区的编码类型。
[0127] 在框2206,作出关于是否对要在一个或多个数据总线分区上传送的一个或多个数据子集进行编码的确定。例如,对于数据总线的每一分区,可以作出是否对要在该分区上发送的数据子集进行编码的确定。在一些方面,是否要对数据子集进行编码的确定可包括确定对数据子集的编码是否会降低与该数据子集的传输相关联的功耗或降低与该数据子集的传输相关联的干扰。
[0128] 在框2208,编码被应用于在框2206被标识为要求编码的任何数据子集。框2206中未被标识为需要编码的任何数据子集不被编码。
[0129] 在框2210中编码指示符码元被生成。在一些方面,这些操作对应于以上讨论的框2102的操作。在一些方面,编码指示符码元的生成可包括选择指示对应数据子集被编码的任何分区的值。
[0130] 在框2212,数据在数据总线分区上被传送。在一些实现中,这可涉及在总线循环期间在数据总线上传送并行数据比特集。
[0131] 在框2214,传送编码指示符码元。在一些方面,这些操作对应于以上讨论的框2104的操作。在其中框2212涉及在总线循环期间在数据总线上传送并行数据比特集的实现中,框2214的操作可包括在总线循环期间经由单个信号引脚来传送编码指示符码元。
[0132] 转到图23,示出了解说根据本公开的至少一个示例的装置2300(诸如来自图1的第一或第二电子设备102或104)的组件选集的框图。装置2300的接收机2302包括适配成接收在数据总线2306的多个通道上传送的经编码数据比特的解码器2304。
[0133] 解码器2304一般包括被适配成基于相关联的编码指示符码元来解码数据的电路系统和/或编程。即,解码器被适配成撤销由编码器(诸如编码器2004)和以上描述的任何编码方案执行的编码。根据至少一个示例,解码器2304可藉由数据总线接口2308来被耦合到数据总线2306的多个数据通道,并可包括耦合到数据总线接口2308和存储介质2312或被置于与之处于电通信的处理电路2310。数据总线接口2308可包括例如以下一者或多者:信号驱动器电路、信号接收机电路、放大器、信号滤波器、信号缓冲器、或者用来与信令总线或其它类型的信令媒体对接的其它电路系统。
[0134] 处理电路2310被安排成获得、处理和/或发送数据、控制数据的访问与存储、发布命令,以及控制其他期望操作。处理电路2310可包括配置成执行期望功能和/或实现由恰适介质提供的期望编程的电路系统。处理电路2310可根据以上描述的处理电路2010的任何示例来实现和/或配置。
[0135] 处理电路2310可包括用于解码的模块2316和用于确定数据是否被编码的模块2318。用于解码的模块2316可包括被适配成收集(例如,与不同总线分区相关联的)一组或多组数据比特,评估数据比特以根据所定义的公式来确定至少一些数据比特的新值,用新值替换至少一些数据比特,并且输出所得的数据比特的电路系统和/或编程(例如,用于对存储在存储介质2312上的数据进行解码的模块2320)。另外,用于确定数据是否被编码的模块2318可包括被适配成收集(例如,与不同总线分区相关联的)编码指示符码元,评估编码指示符码元以确定一个或多个数据比特是否被编码,以及生成该评估的指示的电路系统和/或编程(例如,用于确定存储在存储介质2312上的数据是否被编码的模块2322)。
[0136] 存储介质2312可表示用于存储编程(诸如处理器可执行代码或指令(例如,软件、固件)、电子数据、数据库、或其他数字信息)的一个或多个处理器可读设备。存储介质2312可按类似于上述存储介质2012的方式配置和/或实现。
[0137] 存储介质2312可被耦合至处理电路2310以使得处理电路2310能从/向存储介质2312读取信息和写入信息。也就是说,存储介质2312可耦合至处理电路2310,从而存储介质
2312至少能由处理电路2310访问,包括其中存储介质2312整合到处理电路2310的示例和/或其中存储介质2312与处理电路2310分开的示例。
[0138] 与存储介质2012一样,存储介质2312包括存储于其上的编程。由存储介质2312存储的编程在由处理电路2314执行时使得处理电路2314执行本文所描述的各种解码功能和/或过程步骤中的一者或多者。例如,存储介质2312可包括用于解码的模块2320(例如,操作)以及用于确定数据是否被编码的模块2322。由此,根据本公开的一个或多个方面,处理电路2310被适配成(协同存储介质2312)执行用于本文描述的任何或所有电子设备(例如,电子设备102或104)的任何或所有解码过程、功能、步骤和/或例程。如本文所使用的,涉及处理电路2310的术语“适配”可指代处理电路2310(协同存储介质2312)被配置、采用、实现和/或编程(以上一者或多者)以执行根据本文描述的各种特征的特定过程、功能、步骤和/或例程。
[0139] 图24解说了可结合根据相关联的编码指示符码元来解码数据来执行的操作2400的示例。因而,这些操作可对应于接收在图21和22中传送的数据和编码指示符码元的装置。图24的操作2400可以由图1的接收机112、图2的解码器204、图23的装置2300或某一其它合适主体来执行。
[0140] 在框2402,数据经由数据总线被接收。在一些方面,数据总线可以是并行总线。在一些方面,数据的接收可包括在总线循环期间在数据总线上接收并行数据比特集。
[0141] 在框2404,编码指示符码元被接收。这一码元指示数据总线的划分以及应用于数据总线的不同分区的编码。在一些方面,编码指示符码元的接收可包括在专用总线线路上接收编码指示符码元。在其中框2402处的数据接收涉及在总线循环期间在数据总线上接收并行数据比特集的实现中,框2404的操作可包括在总线循环期间经由单个信号引脚来接收编码指示符码元。在一些方面,编码可包括数据总线反相。
[0142] 在一些方面,编码指示符码元可以是多等级信号。此处,多等级信号的每一等级可以表示指示针对数据总线的每一分区编码是否被应用于该分区的至少两比特信息。在一些方面,多等级信号可以由以下各项中的至少一者来定义:多电压等级、多电流等级、或多相位。
[0143] 在框2406,在框2402处被接收的数据基于在框2404接收到的编码指示符码元被解码。例如,如果编码指示符码元指示该数据被编码,该数据被解码。
[0144] 图25解说了可结合根据相关联的编码指示符码元来解码数据来执行的附加操作2500的示例。再一次,这些操作可对应于接收在图21和22中传送的数据和编码指示符码元的装置。图25的操作2500可以由图1的接收机112、图2的解码器204、图23的装置2300或某一其它合适主体来执行。
[0145] 在框2502,数据经由数据总线被接收。在一些方面,这些操作对应于以上讨论的框2402的操作。如上所指示的,数据总线可以是并行总线。
[0146] 在框2504,编码指示符码元被接收。这一码元指示数据总线的划分以及应用于数据总线的不同分区的编码。在一些方面,这些操作对应于以上讨论的框2404的操作。
[0147] 在框2506,对于数据总线的每一分区,作出关于经由该分区接收的数据子集是否被编码的确定。如本文所讨论的,这一确定可基于编码指示符码元。
[0148] 在框2508,对于数据总线的每一分区,数据子集取决于框2506的对应确定来被解码。例如,如果编码指示符码元指示数据子集被编码,则该数据子集被解码。
[0149] 本领域技术人员将认识到,数据比特组的解码将取决于原始数据比特组被编码的方式。一般而言,解码操作可执行相对于编码操作的逆(或互补)操作。
[0150] 附图中解说的组件、步骤、特征和/或功能之中的一个或多个可以被重新编排和/或组合成单个组件、步骤、特征或功能,或可以实施在数个组件、步骤或功能中。还可添加附加的元件、组件、步骤、和/或功能而不会脱离本文中所公开的新颖特征。各附图中所解说的装置、设备和/或组件可以被配置成执行本文所描述的一个或多个方法、特征、或步骤。本文中描述的新颖算法还可以高效地实现在软件中和/或嵌入在硬件中。
[0151] 应该理解,所公开的方法中各步骤的具体次序或阶层是示例性过程的解说。基于设计偏好,应该理解,可以重新编排这些方法中各步骤的具体次序或阶层。所附方法权利要求以样本次序呈现各种步骤的要素,且并不意味着被限定于所呈现的具体次序或阶层,除非在本文中有特别叙述。附加的元件、组件、步骤、和/或功能还可被添加或不被利用,而不会脱离本公开。
[0152] 尽管可能关于某些实现和附图讨论了本公开的特征,但本公开的所有实现可包括本文所讨论的有利特征中的一者或多者。换言之,尽管可能讨论了一个或多个实现具有某些有利特征,但也可以根据本文中讨论的各种实现中的任一实现来使用此类特征中的一个或多个。以类似方式,尽管示例实现在本文中可能是作为设备、系统或方法实现来进行讨论的,但是应该理解,此类示例实现可以在各种设备、系统、和方法中实现。
[0153] 另外,注意到至少一些实现是作为被描绘为流图、流程图、结构图、或框图的过程来描述的。尽管流程图可能会把诸操作描述为顺序过程,但是这些操作中有许多操作能够并行或并发地执行。另外,这些操作的次序可被重新安排。过程在其操作完成时终止。过程可以对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,其终止对应于该函数返回到调用方函数或主函数。因此,本文中描述的各种方法可部分地或全部地由可存储在机器可读、计算机可读和/或处理器可读存储介质中并由一个或多个处理器、机器和/或设备执行的编程(例如,指令和/或数据)来实现。
[0154] 本领域技术人员将可进一步领会,结合本文中公开的实现描述的各种解说性逻辑框、模块、电路、和算法步骤可被实现为硬件、软件、固件、中间件、微代码、或其任何组合。为清楚地解说这种可互换性,以上已经以其功能性的形式一般地描述了各种解说性组件、框、模块、电路和步骤。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。
[0155] 在本公开内,措辞“示例性”用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何实现或方面不必被解释为优于或胜过本公开的其他方面。同样,术语“方面”不要求本公开的所有方面都包括所讨论的特征、优点或操作模式。术语“耦合”在本文中被用于指两个对象之间的直接或间接耦合。例如,如果对象A物理地接触对象B,且对象B接触对象C,则对象A和C可仍被认为是彼此耦合的——即便它们并非彼此直接物理接触。例如,第一管芯可以在封装中耦合至第二管芯,即便第一管芯从不直接与第二管芯物理接触。术语“电路”和“电路系统”被宽泛地使用且意在包括电子器件和导体的硬件实现以及信息和指令的软件实现两者,这些电子器件和导体在被连接和配置时使得能执行本公开中描述的功能而在电子电路的类型上没有限制,这些信息和指令在由处理器执行时使得能执行本公开中描述的功能。
[0156] 如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、查明、及类似动作。而且,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。
同样,“确定”还可包括解析、选择、选取、建立、及类似动作。
[0157] 提供先前描述是为了使本领域任何技术人员均能够实践本文中所描述的各种方面。对这些方面的各种改动将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示出的各方面,而是应被授予与权利要求的语言相一致的全部范围,其中对要素的单数形式的引述并非旨在表示“有且仅有一个”——除非特别如此声明,而是旨在表示“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一者”旨在涵盖:a;b;c;a和b;a和c;b和c;以及a、b和c。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。权利要求的任何要素都不应当在35U.S.C.§112第六款的规定下来解释,除非该要素是使用措辞“用于……的装置”来明确叙述的或者在方法权利要求情形中该要素是使用措辞“用于……的步骤”来叙述的。
[0158] 相应地,与本文中所描述的和附图中所示的示例相关联的各种特征可实现在不同示例和实现中而不会脱离本公开的范围。因此,尽管某些具体构造和安排已被描述并在附图中示出,但此类实现仅是解说性的并且不限制本公开的范围,因为对所描述的实现的各种其他添加和修改、以及删除对于本领域普通技术人员而言将是明显的。因此,本公开的范围仅由所附权利要求的字面语言及其法律等效来确定。
QQ群二维码
意见反馈