错误应答命令协议的前向纠错的制作方法

文档序号:6748933阅读:235来源:国知局
专利名称:错误应答命令协议的前向纠错的制作方法
技术领域
本发明的实施例总体上涉及集成电路的领域,并且更具体地涉及用于错误应答命 令协议(error acknowledge command protocol)的前向纟H错的系统、方法禾口装置。
背景技术
存储器子系统通常包括以随着时间而必然增长的传输速率向彼此传输信息的两 个或更多集成电路。例如,主机(例如,存储器控制器)可以通过命令互连向存储器件传输 命令。向存储器件传输命令的可靠性特别地重要,这是因为如果有错误发生,则存储器中存 储的数据会被破坏。


在附图中,通过示例而非通过限制的方式来说明本发明的实施例,其中,相同或相 似的附图标记是指相同或相似的元件。图1是说明了根据本发明的实施例实现的计算系统的选定方面的框图。图2是说明了根据本发明的实施例的前向纠错逻辑的选定方面的框图。图3是说明了根据本发明的实施例实现的高性能计算系统的选定方面的框图。图4是说明了根据本发明的实施例的用于错误应答命令的前向纠错的方法的选 定方面的流程图。
具体实施例方式本发明的实施例总体上涉及用于错误应答命令协议的前向纠错的系统、方法和装 置。在一些实施例中,主机向存储器件发送命令,并且监视命令错误信号以确定是否发生了 传输错误。如果命令错误信号被置为有效(asserted),则主机可以实现用于错误应答命令 的前向纠错协议。给定的协议比传统手段更有效,这是因为,由于主机可以假定错误应答命 令是被无误地接收的,所以它可以无延迟地重新发送出错的命令。此外,主机的硬件实现可 以更简单(和/或更小),因为可以使用更小的缓冲器来存储需要重发的命令。图1是说明了根据本发明的实施例实现的计算系统的选定方面的高级别框图。在 所说明的实施例中,系统100包括主机110(例如,存储器控制器)、存储器件120(例如,动 态随机存取存储器件或“DRAM”)、和N比特宽命令(CMD)互连130。为了便于讨论,图1仅 示出了单个主机和单个存储器件。但是,应当理解,系统100可以具有几乎任意数量的主机 和/或存储器件。例如,系统100可以具有大量的主机和/或存储器件以支持高性能计算 应用。在替代实施例中,系统100可以包括更多的元件、更少的元件、和/或不同的元件。CMD互连130可以包括许多信号线以传送命令、地址等。在一些实施例中,CMD互 连130是单向的。CMD互连130可以具有多种拓扑结构中的任意拓扑结构,包括点对点、多 点等。主机110控制到达和来自存储器件120的数据的传输。在一些实施例中,主机110与一个或更多处理器被集成到同一管芯上。在替代实施例中,主机110可以位于封装有一 个或更多处理器的管芯上。在另外的替代实施例中,主机110是系统100的芯片组的一部 分。主机110包括核心逻辑112、输入/输出(IO)电路114、和前向纠错逻辑(FEC) 116。 核心逻辑112几乎可以是用于集成电路的任何核心逻辑,其包括例如用于实现一个或更多 存储器控制器功能的核心逻辑。IO电路114可以包括驱动器、缓冲器、延迟锁定环路、锁相 环等,以经由互连130将命令发送到存储器件120。总起来,奇偶校验线132、CMD互连130、和CMD奇偶校验错误信号线134提供了(在 某种程度上)易发生错误的高速数字接口。CMD互连130提供了单向的N比特(例如,1、 2、3、……、N)宽互连以传输命令。主机110生成一个或更多奇偶校验比特以覆盖(cover) 所述命令(例如,使用奇偶校验逻辑118)。可以经由线132来传输奇偶校验比特。如下文 进一步讨论的,如果存储器件120检测到奇偶校验错误,则它可以在线134上将CMD奇偶校 验错误信号置为有效。在一些实施例中,存储器件120为系统100(至少部分地)提供了主系统存储器。 在替代实施例中,存储器件120为系统100(至少部分地)提供了存储器高速缓存。存储器 件120包括存储器阵列122、IO电路124、解码逻辑126、和奇偶校验逻辑128。IO电路124 可以包括锁存器、缓冲器、延迟锁定环路、锁相环等,以从主机110接收一个或更多信号。在 替代实施例中,存储器件120可以包括更多的元件、更少的元件、和/或不同的元件。存储器件120使用奇偶校验逻辑128来确定通过互连130传输的命令是否存在奇 偶校验错误。如果存储器件120检测到奇偶校验错误,则它将CMD奇偶校验错误信号置为 有效。主机110监视接口以检测CMD奇偶校验错误信号(或,简单地说,错误信号)是否被 置为有效。在一些实施例中,如果主机检测到错误信号被置为有效,则当发送错误应答命令 (CMD)时,它使用前向纠错协议。例如,在一些实施例中,前向纠错逻辑116用纠错码来对错 误应答CMD进行编码。可以经由CMD互连130来“带内”地将已编码的错误应答CMD传输 到存储器件120。在所说明的实施例中,存储器件120包括解码逻辑126以对已编码的错误应答CMD 进行解码。下文将参照图2来进一步讨论FEC逻辑116和解码逻辑126。图2是说明了根据本发明的实施例的前向纠错逻辑的选定方面的框图。前向纠错 逻辑116接收错误应答命令作为输入,并且提供用纠错码进行编码的错误应答命令作为输 出。在一些实施例中,纠错码是汉明码(Hamming code)。在替代实施例中,可以使用不同的 纠错码。在所说明的实施例中,错误应答是单比特,而已编码的应答是M比特(例如,2、3、 4、5……M)。应当理解,用于对错误应答CMD进行编码的比特的数量将取决于实现而改变。 在一些实施例中,逻辑116实现3比特汉明码。在替代实施例中,错误应答命令可以包括3 个或更多比特。解码逻辑116接收已编码的错误应答命令作为输入,并且提供已解码的错误应答 命令作为输出。在一些实施例中,解码逻辑116提供与逻辑116相反的功能。例如,如果逻 辑116提供3比特汉明码以对其输入进行编码,则逻辑126可以提供3比特汉明码以对其 输入进行解码。
图3是说明了根据本发明的实施例实现的高性能计算系统的选定方面的框图。系 统300是适合执行例如数千个teraflop (或每秒万亿次浮点运算)的高性能计算平台。系 统300包括并行工作的大量处理器302。在一些实施例中,每个处理器可以包括通过易于发 生错误的互连130连接的主机110和一个或更多DRAM 120。由系统300执行的大量并行操 作大大增加了在互连130上发生错误的可能性。例如,在传统应用(例如,PC)中仅会在数 年运转之后才可能发生的错误会在系统300中在数小时(或者数天)内发生。通过在错误 应答命令上使用前向纠错而提供的增强的可靠性改善了系统300的误比特率(BER)。图4是说明了根据本发明的实施例的用于错误应答命令的前向纠错的方法的选 定方面的流程图。参照处理框402,主机(例如,图1中所示的主机110)向存储器件(例 如,图1中所示的存储器件120)发送一个或更多命令。在一些实施例中,如果存储器件检 测到一个或更多出错的命令,则它将命令奇偶校验错误信号(或者,简单地说,错误信号) 置为有效(406,408)。在404处,主机对接口进行监视以确定错误信号是否被置为有效。参照处理框 408,存储器件检测到错误并且将错误信号置为有效。主机检测到该错误信号,并且在410 处用纠错码来对错误应答命令(或者,简单地说,应答)进行编码。在一些实施例中,纠错 码是汉明码。参照处理框412,主机将已编码的应答传输到存储器件。在一些实施例中,通过命 令互连来传输该应答。在替代实施例中,经由专用管脚(和信号线)来传输该应答。在另 外的替代实施例中,在另一个导线上多路复用该应答。参照处理框414,主机重发出错的命令,而不用确认存储器件接收到已编码的应 答。例如,主机可以在发送已编码的应答之后,在下一时钟周期开始重发出错的命令,这是 因为有理由确信已编码的应答将会到达存储器件(其中要么没有发生传输错误,要么发生 的错误可以被纠正(由于纠错码的存在))。在一些情况下,因为在发送已编码的应答之后 主机不需要等待,所以提高了系统的性能。还可以将本发明的实施例的部件以用于存储机器可执行指令的机器可读介质来 提供。机器可读介质可以包括但并不限于闪速存储器、光盘、光盘只读存储器(CD-ROM)、数 字多用途/视频盘(DVD) ROM、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电 可擦除可编程只读存储器(EEPROM)、磁卡或光卡、传播介质或其它类型的适合于存储电子 指令的机器可读介质。例如,本发明的实施例可以被作为计算机程序来下载,其可以是经由 通信链路(例如,调制解调器或网络连接)通过在载波或其它传播介质中包含的数据信号 从远程计算机(例如,服务器)传输到请求方计算机(例如,客户机)的。在上述描述中,使用某些术语来描述本发明的实施例。例如,术语“逻辑”代表用 于执行一个或更多功能的硬件、固件、软件(或其任意组合)。例如,“硬件”的示例包括但 并不限于集成电路、有限状态机、或者甚至是组合逻辑。集成电路可以采用处理器(例如, 微处理器)、专用集成电路、数字信号处理器、微控制器等的形式。应当理解,贯穿本说明书提及的“一个实施例”或“实施例”意味着结合该实施例 描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。所以,需要强调并且应 当理解的是,在本说明书的各个部分中两次或更多次提及的“实施例”、或“一个实施例”或 “替代实施例”并非必然都是指同一实施例。此外,在本发明的一个或更多实施例中,可以适当组合特定特征、结构或特性。 类似地,应当理解,在本发明的实施例的上述描述中,出于简化本公开从而帮助理 解各种发明方面中的一个或更多的目的,有时将各种特征一起组合在单个实施例、图或其 说明中。但是,这种公开方式并不应当被解释为反映了以下意图所要求保护的主题需要比 在每个权利要求中明确记载的特征更多的特征。而是,如以下权利要求所反映的,各发明方 面在于比单个上述公开的实施例的所有特征更少的特征。因此,跟在该详细描述后面的权 利要求被特此明确地并入到该详细描述中。
权利要求
一种集成电路,包括核心逻辑;输入/输出(IO)电路,其耦合到所述核心逻辑,所述IO电路通过N比特宽命令互连来向存储器件提供命令;奇偶校验逻辑,其用于提供一个或更多奇偶校验比特以覆盖在所述N比特宽命令互连上提供的所述命令,其中,所述存储器件用于如果检测到奇偶校验错误,则提供命令奇偶校验错误信号;以及逻辑,其用于响应于接收到所述命令奇偶校验错误信号,用纠错码来对应答进行编码并且向所述存储器件提供所述应答,其中,所述应答是用于应答所述命令奇偶校验错误信号的一个或更多比特。
2.如权利要求1所述的集成电路,其中,经由所述N比特宽命令互连将所述应答提供到 所述存储器件。
3.如权利要求1所述的集成电路,其中,所述核心逻辑向所述存储器件重新发送一个 或更多命令,而不用确定所述存储器件是否接收到所述应答。
4.如权利要求3所述的集成电路,其中,所述核心逻辑包括存储器控制器。
5.如权利要求4所述的集成电路,其中,所述核心逻辑还包括处理器。
6.如权利要求1所述的集成电路,其中,所述纠错码包括汉明码。
7.如权利要求1所述的集成电路,其中,所述存储器件是动态随机存取存储器件 (DRAM)。
8.一种方法,包括经由命令互连从主机向存储器件发送一个或更多命令,其中,所述一个或更多命令中 的至少一些由一个或更多奇偶校验比特来覆盖;监视来自所述存储器件的命令奇偶校验错误信号的输入;如果所述存储器件检测到奇偶校验错误,则从所述存储器件接收所述命令奇偶校验错误信号;用纠错码对应答进行编码,其中,所述应答是用于应答所述命令奇偶校验错误信号的 一个或更多比特;以及向所述存储器件发送所述应答。
9.如权利要求8所述的方法,其中,用所述纠错码对所述应答进行编码包括 用汉明码对所述应答进行编码。
10.如权利要求8所述的方法,其中,向所述存储器件发送所述应答包括 经由所述命令互连向所述存储器件发送所述应答。
11.如权利要求8所述的方法,还包括向所述存储器件重新发送一个或更多命令,而不用确定所述存储器件是否接收到所述应答。
12.如权利要求8所述的方法,其中,所述主机包括存储器控制器。
13.如权利要求8所述的方法,其中,所述存储器件包括动态随机存取存储器件 (DRAM)。
14.一种系统,包括第一集成电路,其用于从第二集成电路接收一个或更多命令;以及所述第二集成电路,其经由N比特宽命令互连与所述第一集成电路耦合,所述第二集 成电路包括,核心逻辑;输入/输出(IO)电路,其耦合到所述核心逻辑,所述IO电路用于通过所述N比特宽命 令互连向所述第一集成电路提供所述一个或更多命令;奇偶校验逻辑,其用于提供一个或更多奇偶校验比特以覆盖在所述N比特宽命令互连 上提供的命令,其中,所述第一集成电路用于如果检测到奇偶校验错误,则提供命令奇偶校 验错误信号;以及逻辑,其用于响应于接收到所述命令奇偶校验错误信号,用纠错码对应答进行编码并 且向存储器件提供所述应答,其中,所述应答是用于应答所述命令奇偶校验错误信号的一 个或更多比特。
15.如权利要求14所述的系统,其中,所述第一集成电路是存储器件。
16.如权利要求15所述的系统,其中,经由所述N比特宽命令互连将所述应答提供到所 述存储器件。
17.如权利要求15所述的系统,其中,所述核心逻辑向所述存储器件重新发送一个或 更多命令,而不用确定所述存储器件是否无误地接收到所述应答。
18.如权利要求14所述的系统,其中,所述核心逻辑包括存储器控制器。
19.如权利要求14所述的系统,其中,所述存储器件包括动态随机存取存储器件 (DRAM)。
20.如权利要求19所述的系统,其中,所述DRAM包括用于对所述应答进行解码的逻辑。
全文摘要
本发明的实施例总体上涉及用于错误应答命令协议的前向纠错编码的系统、方法和装置。在一些实施例中,主机向存储器件发送命令,并且监视错误信号以确定存储器件是否无误地接收到所述命令。在一些实施例中,如果主机检测到错误,则它为错误应答命令提供前向纠错码。还描述并且声明了其它实施例。
文档编号G11C7/10GK101896978SQ200880120247
公开日2010年11月24日 申请日期2008年11月19日 优先权日2007年12月12日
发明者N·加尼翁 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1