專利名稱:用單獨(dú)循環(huán)冗余碼幀的有效帶內(nèi)可靠性的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例一般涉及集成電路領(lǐng)域,并且更具體地說,涉及用單獨(dú)循環(huán)冗余 碼(CRC)幀的有效帶內(nèi)可靠性的系統(tǒng)、方法和設(shè)備。
背景技術(shù):
在動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)信道上傳送信息的速率繼續(xù)增大。這些較快的傳 送速率要求使用改進(jìn)錯(cuò)誤覆蓋的機(jī)制。改進(jìn)錯(cuò)誤覆蓋的常規(guī)方法涉及向信道添加管腳。在 現(xiàn)代存儲(chǔ)系統(tǒng)中,DRAM信道是受管腳限制的。由此,改進(jìn)錯(cuò)誤覆蓋的常規(guī)方法不適合于現(xiàn) 代存儲(chǔ)系統(tǒng)。
在附圖的各圖中通過示例而非限制例證了本發(fā)明的實(shí)施例,附圖中相似的附圖標(biāo) 記是指類似元件。圖1是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、計(jì)算系統(tǒng)的所選方面的高級(jí)框圖。圖2例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、用于向存儲(chǔ)裝置寫數(shù)據(jù)幀和單獨(dú)錯(cuò)誤位幀的 協(xié)議的所選方面。圖3例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、寫錯(cuò)誤位幀格式的所選方面。圖4例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、x4裝置的寫錯(cuò)誤位幀格式的所選方面。圖5是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、存儲(chǔ)裝置的寫數(shù)據(jù)路徑所選方面的框圖。圖6是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、存儲(chǔ)裝置的讀數(shù)據(jù)路徑所選方面的框圖。圖7是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、主機(jī)的寫數(shù)據(jù)路徑所選方面的框圖。圖8是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、主機(jī)的讀數(shù)據(jù)路徑的所選方面的框圖。圖9是例證用于向存儲(chǔ)裝置寫一個(gè)或多個(gè)數(shù)據(jù)幀以及覆蓋一個(gè)或多個(gè)數(shù)據(jù)幀的 單獨(dú)錯(cuò)誤碼幀的方法的所選方面的流程圖。
具體實(shí)施例方式本發(fā)明的實(shí)施例一般針對(duì)用單獨(dú)循環(huán)冗余碼(CRC)幀的有效帶內(nèi)可靠性的系統(tǒng)、 方法和設(shè)備。在一些實(shí)施例中,存儲(chǔ)系統(tǒng)使用數(shù)據(jù)幀在主機(jī)與存儲(chǔ)裝置之間傳送數(shù)據(jù)。系 統(tǒng)還使用單獨(dú)幀(例如CRC幀)傳送覆蓋數(shù)據(jù)幀的CRC校驗(yàn)和。數(shù)據(jù)幀和CRC幀在長(zhǎng)度 上可以是一個(gè)或多個(gè)用戶間隔(UI),這取決于實(shí)現(xiàn)。例如,在一些實(shí)施例中,CRC幀的長(zhǎng)
度可以是4個(gè)UI的倍數(shù)(xl、x2.....xn)0這種實(shí)施例例如可支持四倍速率定時(shí)(quad
rateclocking)。如下面進(jìn)一步描述的,使用單獨(dú)CRC幀使存儲(chǔ)系統(tǒng)能夠支持帶內(nèi)CRC保護(hù) 的有效方法。圖1是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的計(jì)算系統(tǒng)所選方面的高級(jí)框圖。在所例證的 實(shí)施例中,系統(tǒng)100包含主機(jī)110 (例如存儲(chǔ)控制器)和存儲(chǔ)裝置120 (DRAM)。在備選實(shí)施 例中,系統(tǒng)100可包含更多元件、更少元件和/或不同元件。
存儲(chǔ)裝置120包含CRC邏輯122。相對(duì)于使用CRC提供傳輸錯(cuò)誤的錯(cuò)誤覆蓋來描 述本發(fā)明的實(shí)施例。然而,要認(rèn)識(shí)到,在備選實(shí)施例中,可以使用不同的錯(cuò)誤位機(jī)制。術(shù)語 “錯(cuò)誤位”(例如CRC位)是指提供一個(gè)或多個(gè)數(shù)據(jù)位的錯(cuò)誤覆蓋的位。在一些實(shí)施例中,CRC邏輯122使存儲(chǔ)裝置120能夠支持帶內(nèi)CRC機(jī)制(例如在 DQ線104上)。術(shù)語“帶內(nèi)CRC機(jī)制”是指在不添加附加管腳的情況下支持CRC(或其它錯(cuò) 誤位方案)。例如,CRC邏輯122可包含用于使CRC校驗(yàn)和與該校驗(yàn)和所覆蓋的一個(gè)或多個(gè) 數(shù)據(jù)幀分開地成幀的邏輯。在寫方向,CRC邏輯122可使存儲(chǔ)裝置120能夠?qū)慍RC幀與 通過DQ總線104接收的寫數(shù)據(jù)幀分開??蓪⑺邮盏膶懶r?yàn)和與本地生成的(例如在存 儲(chǔ)裝置120上生成的)校驗(yàn)和相比較以檢驗(yàn)傳輸錯(cuò)誤。為了便于描述,在這個(gè)文檔中可互 換地使用術(shù)語“互連”和“總線”。命令/地址(C/A)通路(lanes) 102提供用于向存儲(chǔ)裝置120發(fā)送命令和地址的 多個(gè)通路。DQ通路104提供雙向讀/寫數(shù)據(jù)總線。在備選實(shí)施例中,DQ通路104可以是單 向的。為了便于描述,本發(fā)明的實(shí)施例相對(duì)于x8存儲(chǔ)裝置進(jìn)行描述。然而,要認(rèn)識(shí)到,本發(fā) 明的實(shí)施例可包含其它裝置數(shù)據(jù)寬度,諸如χ4、χ16、χ32等。主機(jī)110控制向和從存儲(chǔ)裝置120的數(shù)據(jù)傳送。在一些實(shí)施例中,主機(jī)110集成在 與一個(gè)或多個(gè)處理器相同的管芯上。在其它實(shí)施例中,主機(jī)110是計(jì)算系統(tǒng)的芯片集的一 部分。主機(jī)Iio包含CRC邏輯112。CRC邏輯112使主機(jī)110能夠支持帶內(nèi)CRC機(jī)制。例 如,CRC邏輯112使主機(jī)110能夠單獨(dú)使數(shù)據(jù)位和對(duì)應(yīng)的CRC位成幀。所得到的數(shù)據(jù)幀和 對(duì)應(yīng)的CRC幀經(jīng)由DQ總線104傳送到存儲(chǔ)裝置120。在讀方向,主機(jī)110生成本地CRC校 驗(yàn)和,該校驗(yàn)和可與來自存儲(chǔ)裝置120的CRC校驗(yàn)和相比較以確定所傳輸?shù)臄?shù)據(jù)是否已經(jīng) 破壞。隨著DQ總線104上傳送速率的增大,存在對(duì)于CRC保護(hù)的更大需要以緩解傳輸錯(cuò) 誤。支持CRC的常規(guī)方法包含每八個(gè)數(shù)據(jù)管腳添加一個(gè)額外管腳。然而,在所例證的實(shí)施 例中,沒有必要添加附加管腳,原因在于CRC校驗(yàn)和被帶內(nèi)傳送(通過DQ總線104)。主機(jī)110可發(fā)出若干不同命令以控制存儲(chǔ)裝置120內(nèi)的數(shù)據(jù)傳送。例如,用于傳 送數(shù)據(jù)的寫命令被標(biāo)記為“w_d”。在一些實(shí)施例中,定義新命令編碼以傳送寫CRC幀(例 如W_crc)。還可以定義傳送一個(gè)或多個(gè)數(shù)據(jù)幀及相關(guān)聯(lián)的CRC幀的單個(gè)寫命令(例如W_ d—crc)ο類似地,讀數(shù)據(jù)命令被標(biāo)記為“R_d”。定義新命令編碼以傳送讀CRC幀(例如R_ crc)。主機(jī)能(可選地)使用單個(gè)命令請(qǐng)求讀CRC幀連同讀數(shù)據(jù)(例如R_d_crc)。圖2例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的用于向存儲(chǔ)裝置寫數(shù)據(jù)幀和單獨(dú)錯(cuò)誤位幀的 協(xié)議的所選方面。圖200示出使用10個(gè)UI幀的八個(gè)數(shù)據(jù)傳送(202)?;?0個(gè)UI完成事 務(wù)處理(204)。圖2的底部示出使用8個(gè)UI數(shù)據(jù)幀(206)和在結(jié)尾使用一個(gè)CRC幀(208) 的相同事務(wù)處理。CRC幀(208)含有對(duì)應(yīng)于八個(gè)數(shù)據(jù)傳送的CRC位。CRC幀(210)的第一 UI具有對(duì)應(yīng)于第一數(shù)據(jù)幀(例如206A)的CRC位,第二 CRC UI (212)對(duì)應(yīng)于第二數(shù)據(jù)幀 (206B),諸如此類。在所例證的實(shí)施例中,花72個(gè)UI傳送八個(gè)數(shù)據(jù)幀和一個(gè)CRC幀(214)。 這比使用80個(gè)UI (202)完成相同事務(wù)處理的基線情況改進(jìn)10%。僅為了例證,寫數(shù)據(jù)幀顯 示為是連續(xù)的。寫幀可展開和/或散布有讀幀。在一些實(shí)施例中,主機(jī)可傳送僅使用UI子集的CRC幀。也就是說,該UI的一部分
5含有CRC位,而一部分沒有。例如,圖3例證包含四個(gè)寫數(shù)據(jù)幀302和一個(gè)寫CRC幀304的 寫事務(wù)處理300。CRC幀304具有八個(gè)UI,但其中只有四個(gè)UI含有CRC位(306)以覆蓋寫 數(shù)據(jù)幀302中的數(shù)據(jù)。其余四個(gè)UI (308)含有不用的數(shù)據(jù)。在所例證的實(shí)施例中,未用的 UI (308)含有所有位以降低Vddq端接總線中的功耗。在一些實(shí)施例中,包含四個(gè)傳送的事 務(wù)處理(例如事務(wù)處理300)使用40個(gè)UI。這是使用10個(gè)UI幀的類似事務(wù)處理將使用的 相同數(shù)量UI。圖2和3例證了 DRAM是x8裝置的實(shí)施例。在備選實(shí)施例中,可以使用具有不同 寬度的裝置(例如χ8、χ16、χ32等等)。在一些實(shí)施例中,χ16寬裝置被視為兩個(gè)并聯(lián)的χ8 裝置。由此,在一些實(shí)施例中,χ8和χ16裝置的協(xié)議基本上相同。在一些實(shí)施例中,對(duì)于χ8 和χ16裝置二者,8位CRC覆蓋64位數(shù)據(jù)。χ16數(shù)據(jù)幀具有128位數(shù)據(jù),其中8位CRC覆蓋 上半部數(shù)據(jù),而另8位CRC覆蓋下半部數(shù)據(jù)。相對(duì)于八個(gè)UI寬的CRC幀討論上述實(shí)施例。在備選實(shí)施例中,CRC幀在長(zhǎng)度上可 能更小(例如以改進(jìn)效率)。例如,在一些實(shí)施例中,可以實(shí)現(xiàn)四個(gè)UI寬CRC幀。在這種實(shí) 施例中,CRC寄存器可以是32位寄存器。在其它備選實(shí)施例中,CRC幀在長(zhǎng)度上是4個(gè)UI 的倍數(shù)。例如,(除了 4個(gè)UI和8個(gè)UI之外),CRC幀的長(zhǎng)度可以是12個(gè)UI、16個(gè)UI、20 個(gè)UI等。然而,在一些實(shí)施例中,使用12個(gè)UI長(zhǎng)CRC幀可導(dǎo)致峰值帶寬的性能損耗(例 如 33% )。圖4例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、用于x4裝置的寫錯(cuò)誤位幀格式的所選方面。 圖400示出了使用10個(gè)UI幀的四個(gè)數(shù)據(jù)傳送(402)?;?0個(gè)UI完成該事務(wù)處理(408)。 圖4的底部示出使用8個(gè)UI數(shù)據(jù)幀(404)和在結(jié)尾使用一個(gè)CRC幀(406)的相同事務(wù)處 理。CRC幀(406)含有對(duì)應(yīng)于八個(gè)數(shù)據(jù)傳送的CRC位。CRC幀(406)的前兩個(gè)UI具有對(duì)應(yīng) 于第一數(shù)據(jù)幀(例如410)的CRC位,而CRC幀的第二兩個(gè)UI對(duì)應(yīng)于第二數(shù)據(jù)幀(412),諸 如此類。在所例證的實(shí)施例中,花40個(gè)UI傳送八個(gè)數(shù)據(jù)幀和一個(gè)CRC幀。僅為了例證,寫 數(shù)據(jù)幀顯示為是連續(xù)的。寫幀可展開和/或散布有讀幀。圖5是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的存儲(chǔ)裝置的寫數(shù)據(jù)路徑所選方面的框圖。存 儲(chǔ)裝置500包含命令解碼邏輯502、接收成幀單元(RXFLU) 504、緩寫緩沖器(posted write buffer) 506 (可選)、存儲(chǔ)器陣列508、CRC引擎510、CRC寄存器512和比較器514,以及其 它元件。在備選實(shí)施例中,存儲(chǔ)裝置500可包含更多元件、更少元件和/或不同元件。在一 些實(shí)施例中,存儲(chǔ)裝置500是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)裝置(DRAM)。在操作中,存儲(chǔ)裝置500在C/A總線(例如圖1所示的C/A總線102)上從主機(jī)(例 如主機(jī)110)接收寫命令。接收成幀單元504從DQ總線(例如圖1所示的DQ總線104)接 收寫數(shù)據(jù)幀。寫數(shù)據(jù)被寫到存儲(chǔ)器陣列508。在一些實(shí)施例中,寫數(shù)據(jù)首先被記入(posted to)緩寫緩沖器(PWB) 506,然后被寫到存儲(chǔ)器陣列508。在其它實(shí)施例中,寫數(shù)據(jù)被直接寫 到存儲(chǔ)器陣列508。寫數(shù)據(jù)還被提供給計(jì)算CRC校驗(yàn)和的CRC生成器510。在一些實(shí)施例中,使用六 級(jí)XOR樹來計(jì)算CRC校驗(yàn)和。在備選實(shí)施例中,可使用不同數(shù)量的XOR樹或不同算法來生 成CRC校驗(yàn)和。在一些實(shí)施例中,寫數(shù)據(jù)路徑和讀數(shù)據(jù)路徑使用相同XOR樹來生成CRC校 驗(yàn)和。CRC生成器510將CRC校驗(yàn)和存儲(chǔ)在CRC寄存器512中。在一些實(shí)施例中,CRC寄存器512是64位寄存器。CRC寄存器512的內(nèi)容可初始化成邏輯內(nèi)容。接收成幀單元504 向比較器514提供來自接收CRC幀的CRC校驗(yàn)和。比較器514將接收的校驗(yàn)和與本地生成 的校驗(yàn)和相比較。如果校驗(yàn)和不匹配,則向主機(jī)發(fā)送錯(cuò)誤信號(hào)。如果主機(jī)接收到錯(cuò)誤信號(hào) 的話,則它可重發(fā)數(shù)據(jù)(以及相關(guān)聯(lián)的CRC幀)。圖6是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的、存儲(chǔ)裝置的讀數(shù)據(jù)路徑的所選方面的框 圖。存儲(chǔ)裝置600包含存儲(chǔ)器陣列602、發(fā)射(TX)成幀單元604、CRC生成器606、CRC寄存 器608和CRC禁止邏輯610。在備選實(shí)施例中,存儲(chǔ)裝置600可包含更多元件、更少元件和 /或不同元件。在一些實(shí)施例中,存儲(chǔ)裝置600是動(dòng)態(tài)隨機(jī)存取存儲(chǔ)裝置(DRAM)。在操作中,存儲(chǔ)裝置600在C/A總線(例如C/A總線102)上從主機(jī)(例如主機(jī) 110)接收讀命令。從存儲(chǔ)器陣列602讀取數(shù)據(jù),并將其提供給TX成幀單元604。讀數(shù)據(jù)還 被提供給計(jì)算CRC校驗(yàn)和的CRC生成器606。在一些實(shí)施例中,使用六級(jí)XOR樹來計(jì)算CRC 校驗(yàn)和。在備選實(shí)施例中,可使用不同數(shù)量的XOR樹或不同算法來生成CRC校驗(yàn)和。在一 些實(shí)施例中,讀數(shù)據(jù)路徑和寫數(shù)據(jù)路徑使用相同XOR樹來生成CRC校驗(yàn)和。CRC生成器606將CRC校驗(yàn)和存儲(chǔ)在CRC寄存器608中。在一些實(shí)施例中,CRC寄 存器608是64位寄存器。CRC寄存器608的內(nèi)容可初始化成邏輯內(nèi)容。TX成幀單元604 從生成器606接收校驗(yàn)和位,并在CRC幀中使它們成幀。由此,存儲(chǔ)裝置600可經(jīng)由DQ總 線612向主機(jī)單獨(dú)傳送一個(gè)或多個(gè)讀數(shù)據(jù)幀和對(duì)應(yīng)的CRC幀。存儲(chǔ)裝置600包含CRC禁止邏輯610。在一些實(shí)施例中,CRC禁止邏輯610禁止 存儲(chǔ)裝置600使用CRC。由此,在一些實(shí)施例中,存儲(chǔ)裝置600可配置成使用具有讀數(shù)據(jù)的 CRC校驗(yàn)和,或配置成不使用具有讀數(shù)據(jù)(和/或具有寫數(shù)據(jù))的CRC校驗(yàn)和。在一些實(shí)施 例中,CRC禁止邏輯包含模式寄存器設(shè)置(mode register set, MRS)的一部分。圖7是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的主機(jī)的寫數(shù)據(jù)路徑所選方面的框圖。主機(jī) 700包含核邏輯702、CRC生成器704、CRC寄存器706和發(fā)射(TX)成幀單元708,以及其它 元件。在備選實(shí)施例中,主機(jī)700包含更多元件、更少元件和/或不同元件。核邏輯702例 如包含調(diào)度邏輯以向主存儲(chǔ)器調(diào)度讀和寫,以及重試邏輯以在發(fā)生傳輸錯(cuò)誤時(shí)重試操作。在操作中,核邏輯702例如調(diào)度寫操作,并向TX成幀單元708和CRC生成器704 提供寫數(shù)據(jù)。CRC生成器704基于寫數(shù)據(jù)生成CRC校驗(yàn)和,并將CRC校驗(yàn)和存儲(chǔ)在CRC寄存 器706中。在一些實(shí)施例中,使用六級(jí)XOR樹來計(jì)算CRC校驗(yàn)和。在備選實(shí)施例中,可使用 不同數(shù)量的XOR樹或不同算法來生成CRC校驗(yàn)和。在一些實(shí)施例中,寫數(shù)據(jù)路徑和讀數(shù)據(jù) 路徑使用相同XOR樹生成CRC校驗(yàn)和。在一些實(shí)施例中,CRC寄存器706是64位寄存器。 CRC寄存器706的內(nèi)容可初始化成邏輯內(nèi)容。TX成幀單元708將寫數(shù)據(jù)成幀成一個(gè)或多個(gè)寫數(shù)據(jù)幀(例如寫數(shù)據(jù)幀710)。此 外,TX成幀單元708將(從CRC寄存器706接收的)CRC校驗(yàn)和成幀成一個(gè)或多個(gè)單獨(dú)的 CRC幀(例如CRC幀712)。寫數(shù)據(jù)幀和CRC幀經(jīng)由DQ總線被傳送到一個(gè)或多個(gè)存儲(chǔ)裝置 (例如 DRAM)。圖8是例證根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)的主機(jī)的讀數(shù)據(jù)路徑所選方面的框圖。主機(jī) 800包含數(shù)據(jù)/CRC接口(I/F) 804、CRC生成器806、比較器808和核邏輯802,以及其它元 件。在備選實(shí)施例中,主機(jī)800包含更多元件、更少元件和/或不同元件。數(shù)據(jù)/CRC接口 804提供主機(jī)300與DQ總線之間的接口。接口 804可包含若干驅(qū)動(dòng)器、接收器、定時(shí)電路,
7
在操作中,讀數(shù)據(jù)幀(例如810)通過DQ總線到達(dá)主機(jī)800。此外,覆蓋讀數(shù)據(jù)幀中 數(shù)據(jù)的一個(gè)或多個(gè)CRC幀(812)到達(dá)主機(jī)800。數(shù)據(jù)/CRC接口 804向核邏輯802 (在805) 和CRC生成器806 (在807)提供讀數(shù)據(jù)。此外,接口 804向比較器808 (在809)提供接收 的CRC校驗(yàn)和。CRC生成器806接收讀數(shù)據(jù),并計(jì)算“本地” CRC校驗(yàn)和。術(shù)語“本地”用于區(qū)分由 主機(jī)生成的CRC校驗(yàn)和與由存儲(chǔ)裝置生成的CRC校驗(yàn)和。比較器808將本地CRC校驗(yàn)和 (例如來自CRC生成器806)與從存儲(chǔ)裝置接收的CRC校驗(yàn)和相比較。如果它們匹配,則輸 出811指示數(shù)據(jù)有效。如果它們不匹配,則輸出811可提供錯(cuò)誤信號(hào)。圖9是例證用于向存儲(chǔ)裝置寫數(shù)據(jù)幀和覆蓋該數(shù)據(jù)幀的單獨(dú)CRC幀的方法所選方 面的流程圖。參考過程塊902,主機(jī)(例如存儲(chǔ)控制器)生成錯(cuò)誤位校驗(yàn)和(例如CRC校驗(yàn) 和)以覆蓋多個(gè)數(shù)據(jù)位的傳輸錯(cuò)誤。在一些實(shí)施例中,主機(jī)包含CRC生成器以生成CRC校 驗(yàn)和。主機(jī)可將相同的CRC樹用于讀數(shù)據(jù)路徑和寫數(shù)據(jù)路徑。參考過程塊904,發(fā)射成幀邏輯(例如圖6所示的發(fā)射成幀單元604)將多個(gè)數(shù)據(jù) 位成幀成一個(gè)或多個(gè)數(shù)據(jù)幀。在一些實(shí)施例中,每個(gè)數(shù)據(jù)幀在長(zhǎng)度上是八個(gè)UI。在906,該 一個(gè)或多個(gè)數(shù)據(jù)幀經(jīng)由數(shù)據(jù)總線被傳送到存儲(chǔ)裝置(例如DRAM)。在908,主機(jī)將CRC校驗(yàn)和成幀成CRC幀。在一些實(shí)施例中,CRC幀與數(shù)據(jù)幀分開, 并與其截然不同。在908,CRC幀經(jīng)由數(shù)據(jù)總線被傳送到DRAM。CRC幀可被稱為“帶內(nèi)”,原 因在于它通過DQ管腳而不是一個(gè)或多個(gè)專用CRC管腳傳送。在一些實(shí)施例中,DRAM使用由主機(jī)提供的CRC幀來確定是否已經(jīng)發(fā)生傳輸錯(cuò)誤。 例如,DRAM可生成“本地”CRC校驗(yàn)和(基于接收的數(shù)據(jù)),并將本地校驗(yàn)和與接收的校驗(yàn)和 相比較。如果已經(jīng)發(fā)生傳輸錯(cuò)誤,則DRAM可向主機(jī)發(fā)送錯(cuò)誤信號(hào)。參考判定塊912,如果主 機(jī)接收到錯(cuò)誤信號(hào),則它可重發(fā)數(shù)據(jù)(在914)。備選地,如果主機(jī)未接收到錯(cuò)誤信號(hào),則數(shù) 據(jù)是有效的(在916)。本發(fā)明實(shí)施例的元件還可提供為用于存儲(chǔ)機(jī)器可運(yùn)行指令的機(jī)器可讀介質(zhì)。機(jī)器 可讀介質(zhì)可包含但不限于閃存、光盤、光盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字通用/視頻盤(DVD) ROM、隨機(jī)存取存儲(chǔ)器(RAM)、可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦除可編程只讀存儲(chǔ) 器(EEPROM)、磁卡或光卡、傳播介質(zhì)或適合于存儲(chǔ)電子指令的其它類型機(jī)器可讀介質(zhì)。例 如,本發(fā)明的實(shí)施例可下載為可通過在載波或其它傳播介質(zhì)中實(shí)施的數(shù)據(jù)信號(hào)經(jīng)由通信鏈 路(例如調(diào)制解調(diào)器或網(wǎng)絡(luò)連接)從遠(yuǎn)程計(jì)算機(jī)(例如服務(wù)器)傳送到請(qǐng)求計(jì)算機(jī)(例如 客戶端)的計(jì)算機(jī)程序。在以上描述中,使用特定術(shù)語描述本發(fā)明的實(shí)施例。例如,術(shù)語“邏輯”代表用于 執(zhí)行一個(gè)或多個(gè)功能的硬件、固件、軟件(或它們的任何組合)。例如,“硬件”的示例包含 但不限于集成電路、有限狀態(tài)機(jī)乃至組合邏輯。集成電路可采取處理器的形式,諸如微處理 器、專用集成電路、數(shù)字信號(hào)處理器、微控制器等等。應(yīng)該認(rèn)識(shí)到,本說明書通篇提到“一個(gè)實(shí)施例”或“實(shí)施例”是指結(jié)合該實(shí)施例描 述的特定特征、結(jié)構(gòu)或特性包含在本發(fā)明的至少一個(gè)實(shí)施例中。因此,重點(diǎn)是,并應(yīng)該認(rèn)識(shí) 到,在本說明書的各個(gè)部分兩次或更多次提到“實(shí)施例”或“一個(gè)實(shí)施例”或“備選實(shí)施例” 不一定都指的是同一實(shí)施例。而且,在本發(fā)明的一個(gè)或多個(gè)實(shí)施例中,可以適當(dāng)?shù)亟M合特定特征、結(jié)構(gòu)或特性。 類似地,應(yīng)該認(rèn)識(shí)到,在本發(fā)明實(shí)施例的以上描述中,各種特征有時(shí)一起組合在單 個(gè)實(shí)施例、附圖或其描述中,以便使公開流暢,有助于理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè)方 面。然而,公開的這個(gè)方法并不解釋為反映所要求的主題需要比在每個(gè)權(quán)利要求中明確闡 述的更多的特征的意圖。而是,正如以下權(quán)利要求反映的一樣,發(fā)明方面在于少于單個(gè)以上 公開實(shí)施例的所有特征。由此,遵循具體實(shí)施方式
的權(quán)利要求書由此明確結(jié)合到這個(gè)具體 實(shí)施方式中。
權(quán)利要求
一種方法,包括生成錯(cuò)誤位校驗(yàn)和,以覆蓋多個(gè)數(shù)據(jù)位的傳輸錯(cuò)誤;在寫數(shù)據(jù)幀中使所述多個(gè)數(shù)據(jù)位成幀;經(jīng)由數(shù)據(jù)互連的一個(gè)或多個(gè)通路向動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)裝置傳送所述寫數(shù)據(jù)幀;在寫錯(cuò)誤位幀中使所述錯(cuò)誤位校驗(yàn)和成幀;以及經(jīng)由所述數(shù)據(jù)互連的所述一個(gè)或多個(gè)通路向所述DRAM裝置傳送所述寫錯(cuò)誤位幀。
2.如權(quán)利要求2所述的方法,還包括接收至少部分基于所述錯(cuò)誤位校驗(yàn)和檢測(cè)到與所述數(shù)據(jù)幀相關(guān)聯(lián)的傳輸錯(cuò)誤的指示;以及向所述DRAM裝置重發(fā)所述數(shù)據(jù)幀。
3.如權(quán)利要求1所述的方法,還包括發(fā)出第一寫命令,指示所述寫數(shù)據(jù)幀要被寫到所述DRAM裝置;以及 發(fā)出第二寫命令,指示所述錯(cuò)誤位幀要被寫到所述DRAM裝置。
4.如權(quán)利要求1所述的方法,還包括發(fā)出單個(gè)寫命令,指示所述寫數(shù)據(jù)幀和所述錯(cuò)誤位幀要被寫到所述DRAM裝置。
5.如權(quán)利要求1所述的方法,還包括從所述DRAM裝置接收讀數(shù)據(jù)幀,所述讀數(shù)據(jù)幀包含多個(gè)讀數(shù)據(jù)位;以及 從所述DRAM裝置接收讀錯(cuò)誤位幀,其中所述讀錯(cuò)誤位幀包含覆蓋所述多個(gè)讀數(shù)據(jù)位 中至少一些讀數(shù)據(jù)位的校驗(yàn)和。
6.一種集成電路,包括錯(cuò)誤位生成邏輯,把要傳送到動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)裝置的多個(gè)寫數(shù)據(jù)位作為 輸入,并把覆蓋所述多個(gè)寫數(shù)據(jù)位的寫校驗(yàn)和作為輸出;以及成幀單元,基于所述寫數(shù)據(jù)位使寫數(shù)據(jù)幀成幀,并基于所述寫校驗(yàn)和使寫錯(cuò)誤位幀成幀。
7.如權(quán)利要求6所述的集成電路,還包括命令邏輯,向所述DRAM裝置發(fā)出寫命令,其中所述命令邏輯能夠發(fā)出寫數(shù)據(jù)命令以指 示數(shù)據(jù)幀正在被寫到存儲(chǔ)器,并發(fā)出寫錯(cuò)誤位命令以指示寫錯(cuò)誤位幀正在被寫到所述DRAM直ο
8.如權(quán)利要求7所述的集成電路,其中所述命令邏輯能夠發(fā)出單個(gè)寫命令以指示數(shù)據(jù) 幀和錯(cuò)誤位幀都正在被寫到所述DRAM裝置。
9.如權(quán)利要求6所述的集成電路,還包括接收成幀單元,從所述DRAM裝置接收讀數(shù)據(jù)幀和讀錯(cuò)誤位幀,其中所述讀數(shù)據(jù)幀包含 多個(gè)讀數(shù)據(jù)位,并且所述讀錯(cuò)誤位幀包含覆蓋所述多個(gè)讀數(shù)據(jù)位中至少一部分讀數(shù)據(jù)位的 校驗(yàn)和;邏輯,至少部分基于所述多個(gè)讀數(shù)據(jù)位生成本地校驗(yàn)和;以及 比較邏輯,將所述本地校驗(yàn)和與所述本地校驗(yàn)和相比較。
10.如權(quán)利要求9所述的集成電路,還包括命令邏輯,向所述DRAM裝置發(fā)出讀命令,其中所述命令邏輯能夠發(fā)出讀數(shù)據(jù)命令以指示正在從存儲(chǔ)器讀取所述讀數(shù)據(jù)幀,并發(fā)出讀錯(cuò)誤位命令以指示正在從所述DRAM裝置讀 取所述讀錯(cuò)誤位幀。
11.一種系統(tǒng),包括主機(jī),包含錯(cuò)誤位生成邏輯,把要傳送到動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)裝置的多個(gè)寫數(shù)據(jù)位作為 輸入,并把覆蓋所述多個(gè)寫數(shù)據(jù)位的寫校驗(yàn)和作為輸出;以及成幀單元,基于所述寫數(shù)據(jù)位使寫數(shù)據(jù)幀成幀,并基于所述寫校驗(yàn)和使寫錯(cuò)誤位幀成 幀;以及動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)裝置,經(jīng)由存儲(chǔ)器互連耦合到所述主機(jī)。
12.如權(quán)利要求11所述的系統(tǒng),其中所述主機(jī)還包含命令邏輯,向所述DRAM裝置發(fā)出寫命令,其中所述命令邏輯能夠發(fā)出寫數(shù)據(jù)命令以指 示數(shù)據(jù)幀正在被寫到存儲(chǔ)器,并發(fā)出寫錯(cuò)誤位命令以指示寫錯(cuò)誤位幀正在被寫到所述DRAM直ο
13.如權(quán)利要求12所述的系統(tǒng),其中所述命令邏輯能夠發(fā)出單個(gè)寫命令以指示數(shù)據(jù)幀 和錯(cuò)誤位幀都正在被寫到所述DRAM裝置。
14.如權(quán)利要求11所述的系統(tǒng),其中所述主機(jī)還包含接收成幀單元,從所述DRAM裝置接收讀數(shù)據(jù)幀和讀錯(cuò)誤位幀,其中所述讀數(shù)據(jù)幀包含 多個(gè)讀數(shù)據(jù)位,并且所述讀錯(cuò)誤位幀包含覆蓋所述多個(gè)讀數(shù)據(jù)位中至少一部分讀數(shù)據(jù)位的 校驗(yàn)和;邏輯,至少部分基于所述多個(gè)讀數(shù)據(jù)位生成本地校驗(yàn)和;以及比較邏輯,將所述本地校驗(yàn)和與所述校驗(yàn)和相比較。
15.如權(quán)利要求14所述的系統(tǒng),其中所述主機(jī)還包含命令邏輯,向所述DRAM裝置發(fā)出讀命令,其中所述命令邏輯能夠發(fā)出讀數(shù)據(jù)命令以指 示正在從存儲(chǔ)器讀取所述讀數(shù)據(jù)幀,并發(fā)出讀錯(cuò)誤位命令以指示正在從所述DRAM裝置讀 取所述讀錯(cuò)誤位幀。
全文摘要
本發(fā)明的實(shí)施例一般針對(duì)用單獨(dú)循環(huán)冗余碼(CRC)幀的有效帶內(nèi)可靠性的系統(tǒng)、方法和設(shè)備。在一些實(shí)施例中,存儲(chǔ)系統(tǒng)使用數(shù)據(jù)幀在主機(jī)與存儲(chǔ)裝置之間傳送數(shù)據(jù)。該系統(tǒng)還使用單獨(dú)幀(例如CRC幀)傳送覆蓋這些數(shù)據(jù)幀的CRC校驗(yàn)和。
文檔編號(hào)G06F12/16GK101978356SQ200980110667
公開日2011年2月16日 申請(qǐng)日期2009年6月5日 優(yōu)先權(quán)日2008年6月16日
發(fā)明者K·S·拜恩斯 申請(qǐng)人:英特爾公司