本發(fā)明涉及存儲(chǔ)器管理,并且更具體地,涉及從存儲(chǔ)器設(shè)備讀出錯(cuò)誤向量。
背景技術(shù):
諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的存儲(chǔ)裝置典型地包括糾錯(cuò)能力。糾錯(cuò)編碼(ECC)位經(jīng)由編碼器編碼到存儲(chǔ)在DRAM中的數(shù)據(jù)。當(dāng)從DRAM讀出數(shù)據(jù)時(shí),使用解碼器以基于ECC位獲得正確數(shù)據(jù)。解碼器產(chǎn)生錯(cuò)誤向量,所述錯(cuò)誤向量與原始數(shù)據(jù)(在異或操作中)組合以獲得糾正數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)實(shí)施例,一種存儲(chǔ)器管理系統(tǒng)包括:控制器,其配置成接收讀取命令并且基于讀取命令控制存儲(chǔ)器設(shè)備;所述存儲(chǔ)器設(shè)備,其配置成存儲(chǔ)原始數(shù)據(jù)和糾錯(cuò)編碼(ECC)位并且輸出與在讀取命令中指定的存儲(chǔ)器地址對(duì)應(yīng)的原始數(shù)據(jù)和ECC位;ECC解碼器,其配置成基于由所述存儲(chǔ)器設(shè)備輸出的與存儲(chǔ)器地址對(duì)應(yīng)的原始數(shù)據(jù)和ECC位輸出與存儲(chǔ)器地址關(guān)聯(lián)的錯(cuò)誤向量,與存儲(chǔ)器地址關(guān)聯(lián)的錯(cuò)誤向量指示與存儲(chǔ)器地址對(duì)應(yīng)的原始數(shù)據(jù)中的錯(cuò)誤;以及多路復(fù)用器(MUX),其配置成基于在讀取命令中指示的選擇輸出錯(cuò)誤向量。
根據(jù)另一實(shí)施例,一種管理由存儲(chǔ)原始數(shù)據(jù)和糾錯(cuò)編碼(ECC)位的存儲(chǔ)器設(shè)備產(chǎn)生的輸出數(shù)據(jù)的方法包括:接收讀取命令,讀取命令包括所述存儲(chǔ)器設(shè)備內(nèi)的一個(gè)或多個(gè)存儲(chǔ)器地址的指定;從所述存儲(chǔ)器設(shè)備輸出與一個(gè)或多個(gè)存儲(chǔ)器地址對(duì)應(yīng)的原始數(shù)據(jù)和與一個(gè)或多個(gè)存儲(chǔ)器地址對(duì)應(yīng)的ECC位;解碼與一個(gè)或多個(gè)存儲(chǔ)器地址對(duì)應(yīng)的原始數(shù)據(jù)和ECC位以輸出與一個(gè)或多個(gè)存儲(chǔ)器地址關(guān)聯(lián)的錯(cuò)誤向量,與一個(gè)或多個(gè)存儲(chǔ)器地址關(guān)聯(lián)的錯(cuò)誤向量指示與一個(gè)或多個(gè)存儲(chǔ)器地址對(duì)應(yīng)的原始數(shù)據(jù);以及基于在讀取命令中指示的選擇作為輸出數(shù)據(jù)輸出與一個(gè)或多個(gè)存儲(chǔ)器地址關(guān)聯(lián)的錯(cuò)誤向量。
通過本發(fā)明的技術(shù)實(shí)現(xiàn)附加特征和優(yōu)點(diǎn)。本發(fā)明的其他實(shí)施例和方面在本文中詳細(xì)地描述并且視為本發(fā)明的權(quán)利要求的一部分。為了更好地理解具有優(yōu)點(diǎn)和特征的本發(fā)明,參考說明書和附圖。
附圖說明
在說明書結(jié)尾處的權(quán)利要求中特別地指出并且明確地要求視為本發(fā)明的主題。從結(jié)合附圖進(jìn)行的以下詳細(xì)描述顯而易見本發(fā)明的前述和其他特征和優(yōu)點(diǎn),其中:
圖1是根據(jù)本發(fā)明的實(shí)施例的存儲(chǔ)器管理系統(tǒng)的方塊圖;
圖2示出根據(jù)實(shí)施例的由兩個(gè)不同命令產(chǎn)生的輸出數(shù)據(jù);
圖3示出根據(jù)另一實(shí)施例的由兩個(gè)不同命令產(chǎn)生的輸出數(shù)據(jù);
圖4示出根據(jù)又一實(shí)施例的由兩個(gè)不同命令產(chǎn)生的輸出數(shù)據(jù);
圖5顯示根據(jù)實(shí)施例的用于示例性錯(cuò)誤向量的示例性壓縮算法;
圖6示出根據(jù)實(shí)施例的在可糾正錯(cuò)誤的情況下的示例性數(shù)據(jù)和錯(cuò)誤向量位;
圖7示出根據(jù)實(shí)施例的在不可糾正錯(cuò)誤的情況下的示例性數(shù)據(jù)和錯(cuò)誤向量位;
圖8示出根據(jù)另一實(shí)施例的在不可糾正錯(cuò)誤的情況下的示例性數(shù)據(jù)和錯(cuò)誤向量位;
圖9示出根據(jù)實(shí)施例的用于不同場(chǎng)景的錯(cuò)誤向量;
圖10示出根據(jù)另一實(shí)施例的用于不同場(chǎng)景的錯(cuò)誤向量;
圖11是根據(jù)實(shí)施例的存儲(chǔ)器管理系統(tǒng)的命令解碼器的示例性實(shí)現(xiàn)方式;
圖12是使用根據(jù)實(shí)施例獲得的錯(cuò)誤向量的方法的處理流程;
圖13是使用根據(jù)實(shí)施例獲得的錯(cuò)誤向量的另一方法的處理流程;以及
圖14是使用根據(jù)實(shí)施例獲得的錯(cuò)誤向量的又一方法的處理流程。
具體實(shí)施方式
如上所述,當(dāng)從存儲(chǔ)器裝置讀出時(shí),對(duì)存儲(chǔ)在存儲(chǔ)器裝置(例如,DRAM)中的數(shù)據(jù)編碼的ECC位用于獲得正確數(shù)據(jù)。通過組合原始數(shù)據(jù)和也存儲(chǔ)的解碼ECC位糾正存儲(chǔ)在存儲(chǔ)器裝置中的原始數(shù)據(jù)中的任何錯(cuò)誤。具體地,ECC位的解碼生成錯(cuò)誤向量,所述錯(cuò)誤向量與原始數(shù)據(jù)組合(例如,異或XOR) 以提供糾正數(shù)據(jù)。盡管提供用錯(cuò)誤向量獲得的糾正數(shù)據(jù),但是錯(cuò)誤向量自身不是當(dāng)前可獲得的。然而,錯(cuò)誤向量可以用于獲得便于改善存儲(chǔ)器管理的信息。例如,包括地址信息的錯(cuò)誤向量指示錯(cuò)誤的地址位置,便于監(jiān)視錯(cuò)誤(例如,它們的頻率,在某些存儲(chǔ)器位置的集中度),和獲得糾正數(shù)據(jù)所需的糾正的程度。這些例子不是可以從錯(cuò)誤向量獲得的信息的窮舉。以前,標(biāo)記針指示器或其他機(jī)構(gòu)可以用于向存儲(chǔ)器控制器指示錯(cuò)誤。然而,存儲(chǔ)器控制器必須停止讀取操作并且讀取存儲(chǔ)器設(shè)備的內(nèi)部寄存器以確定錯(cuò)誤的存儲(chǔ)器位置。盡管附加的標(biāo)記針將防止需要確定存儲(chǔ)器位置的處理,但是它們代表相當(dāng)大的附加資源使用。本文中詳細(xì)描述的系統(tǒng)和方法的實(shí)施例涉及獲得錯(cuò)誤向量而沒有性能代償或需要附加資源。也就是說,下面所述的實(shí)施例不是類似于以前的方法的停止并檢查方法并且不需要附加的針或其他資源。
圖1是根據(jù)本發(fā)明的實(shí)施例的存儲(chǔ)器管理系統(tǒng)100的方塊圖。存儲(chǔ)器管理系統(tǒng)100可以由訪問多個(gè)存儲(chǔ)器設(shè)備110的存儲(chǔ)器控制器10訪問。存儲(chǔ)器控制器10包括存儲(chǔ)指令的一個(gè)或多個(gè)存儲(chǔ)器設(shè)備和執(zhí)行指令的一個(gè)或多個(gè)處理器。下面參照?qǐng)D12-14論述由存儲(chǔ)器控制器10執(zhí)行的示例性處理。存儲(chǔ)器設(shè)備110顯示為具有存儲(chǔ)在其中的數(shù)據(jù)113和ECC位115。在存儲(chǔ)器設(shè)備110中數(shù)據(jù)113用ECC位115編碼。輸入命令解碼器155的命令153導(dǎo)致解碼命令155。命令153在下面進(jìn)一步進(jìn)行論述并且可以來自存儲(chǔ)器控制器10?;诮獯a命令155,初始化從存儲(chǔ)器設(shè)備110讀出的數(shù)據(jù)。數(shù)據(jù)讀出包括讀出原始數(shù)據(jù)113以及ECC位115。相應(yīng)原始數(shù)據(jù)113和ECC位115將從存儲(chǔ)器設(shè)備110輸出的存儲(chǔ)器地址或地址范圍在讀取命令153中指定。ECC解碼器120使用數(shù)據(jù)113和ECC位115生成錯(cuò)誤向量125。部件130(例如,異或(XOR)數(shù)字邏輯門)操作原始數(shù)據(jù)113和錯(cuò)誤向量125以輸出糾正數(shù)據(jù)135。根據(jù)一個(gè)實(shí)施例,錯(cuò)誤向量125指示在糾正數(shù)據(jù)135中糾正的原始數(shù)據(jù)113中的錯(cuò)誤的位置。下面進(jìn)一步論述其他實(shí)施例。解碼命令155也提供給MUX 140并且根據(jù)實(shí)施例用于作為輸出數(shù)據(jù)145輸出糾正數(shù)據(jù)135或錯(cuò)誤向量125。在替代實(shí)施例中,MUX 140輸出數(shù)據(jù)145可以是原始數(shù)據(jù)113或者可以包括錯(cuò)誤向量125的壓縮版本,如下面進(jìn)一步所述。命令153可以包括指定輸出數(shù)據(jù)145是否將是錯(cuò)誤向量125的一個(gè)或多個(gè)位(例如,當(dāng)不將輸出錯(cuò)誤向量125時(shí)位EV=0并且當(dāng)將輸出錯(cuò)誤向量125時(shí)EV=1)。在替代實(shí)施例中,相同的一個(gè)或多個(gè)位或不同的位組可以用于指定由MUX 140輸出的 輸出數(shù)據(jù)145是否將是原始數(shù)據(jù)113。下面論述指定其他輸出數(shù)據(jù)145選項(xiàng)的其他實(shí)施例。輸出數(shù)據(jù)145可以提供給存儲(chǔ)器控制器10。下面論述示例性讀出。
圖2-4示出根據(jù)三個(gè)不同實(shí)施例的示例性讀出。在每個(gè)實(shí)施例中,輸入命令153導(dǎo)致來自MUX 140的特定輸出數(shù)據(jù)145。盡管未明確地論述原始數(shù)據(jù)113而不是糾正數(shù)據(jù)135作為輸出數(shù)據(jù)145輸出的實(shí)施例,但是在圖2-4所示的實(shí)施例中可以基于命令153輸出原始數(shù)據(jù)113而不是糾正數(shù)據(jù)135。這可以通過在命令153中設(shè)置位(例如,RV)實(shí)現(xiàn)以指示原始數(shù)據(jù)113將由MUX 140作為輸出數(shù)據(jù)145輸出。
圖2示出根據(jù)實(shí)施例的由兩個(gè)不同命令153產(chǎn)生的輸出數(shù)據(jù)145。第一命令153(讀取1)包括設(shè)置為0的錯(cuò)誤向量位(例如,EV),指示將不輸出錯(cuò)誤向量125。因此,輸出糾正數(shù)據(jù)135(或替代地,原始數(shù)據(jù)113),如圖2中的箭頭指示。示例性糾正數(shù)據(jù)135在圖2中為32位,但是該例子不旨在限制糾正數(shù)據(jù)135的長(zhǎng)度或提供輸出數(shù)據(jù)145的數(shù)據(jù)總線的布置。當(dāng)發(fā)出EV設(shè)置為1的另一命令153(讀取2)時(shí),指示將輸出錯(cuò)誤向量125,作為輸出數(shù)據(jù)145提供錯(cuò)誤向量125。命令153(EV=1的讀取2)可以在某個(gè)指定數(shù)量的正常讀取命令153(EV=0的讀取1)之后發(fā)出(例如,每100個(gè)讀取命令)或者可以基于事件或根據(jù)另一觸發(fā)器發(fā)出。
圖3示出根據(jù)另一實(shí)施例的由兩個(gè)不同命令153產(chǎn)生的輸出數(shù)據(jù)145。第一命令153(讀取1)包括設(shè)置為0的錯(cuò)誤向量位(例如,EV),指示將不輸出錯(cuò)誤向量125。因此,并且類似于圖2中所示的實(shí)施例,作為輸出數(shù)據(jù)145輸出糾正數(shù)據(jù)135。在替代實(shí)施例中,可以作為輸出數(shù)據(jù)145輸出原始數(shù)據(jù)113而不是糾正數(shù)據(jù)135。當(dāng)發(fā)出EV設(shè)置為1的另一命令153(讀取2)時(shí),根據(jù)本實(shí)施例結(jié)果不同圖2中所示的實(shí)施例。當(dāng)EV設(shè)置為1時(shí),作為輸出數(shù)據(jù)145輸出糾正數(shù)據(jù)135(或原始數(shù)據(jù)113)和錯(cuò)誤向量125兩者。因此,在數(shù)據(jù)為32位的示例性示出的情況下,當(dāng)EV設(shè)置為1時(shí)作為輸出數(shù)據(jù)145輸出64位。當(dāng)EV=0時(shí)和當(dāng)EV=1時(shí)輸出的糾正數(shù)據(jù)135的地址范圍可以不同(但是可以相同)并且取決于在命令153中指定的地址范圍。如圖2和3的比較指示,圖3中所示的實(shí)施例便于與數(shù)據(jù)(113或135)的讀出一起讀出錯(cuò)誤向量125,但是由于輸出數(shù)據(jù)145中的附加位需要更多的時(shí)間。實(shí)際上,相比于圖2中所示的實(shí)施例在圖3中所示的實(shí)施例中(對(duì)于讀取2) 需要兩倍之多的時(shí)間。
圖4示出根據(jù)又一實(shí)施例的由兩個(gè)不同命令153產(chǎn)生的輸出數(shù)據(jù)145。圖4顯示表示圖2和3中所示的實(shí)施例之間的中間方案的實(shí)施例。再次地,對(duì)于EV設(shè)置為0的第一命令153(讀取1),輸出數(shù)據(jù)145是糾正數(shù)據(jù)135(或數(shù)據(jù)113)。當(dāng)發(fā)出EV設(shè)置為1的另一命令153(讀取2)時(shí),結(jié)果輸出數(shù)據(jù)145包括壓縮錯(cuò)誤向量125’以及糾正數(shù)據(jù)135。也就是說,將錯(cuò)誤向量125(對(duì)于圖3中所示的例子中的每個(gè)總線長(zhǎng)為8位)壓縮(到2位)??梢愿鶕?jù)圖5中所示的示例性算法執(zhí)行壓縮。該實(shí)施例表示圖2和3中所示的實(shí)施例之間的中間方案,原因是來自錯(cuò)誤向量125的信息不代替數(shù)據(jù)(135或113)傳送,圖2中所示的實(shí)施例就是如此,但是相比于圖3中所示的實(shí)施例,當(dāng)EV設(shè)置為1時(shí)需要更少的數(shù)據(jù)和因此更少的時(shí)間以提供輸出數(shù)據(jù)145。圖5顯示根據(jù)實(shí)施例的用于示例性錯(cuò)誤向量的示例性壓縮算法。表510指示如何將四位壓縮到一位。表510中的符號(hào)||指示邏輯或操作。
圖6示出根據(jù)實(shí)施例的在可糾正錯(cuò)誤的情況下的示例性數(shù)據(jù)和錯(cuò)誤向量位。原始數(shù)據(jù)113包括具有錯(cuò)誤的一位(陰影)。該位在糾正數(shù)據(jù)135中糾正并且指示為錯(cuò)誤向量125的相應(yīng)位中的錯(cuò)誤。當(dāng)錯(cuò)誤向量位(EV)設(shè)置為0時(shí)輸出數(shù)據(jù)145是糾正數(shù)據(jù)135。根據(jù)上面參照?qǐng)D2-4所述的實(shí)施例,當(dāng)EV設(shè)置為1時(shí)輸出數(shù)據(jù)145可以是三個(gè)不同位組中的一個(gè)。輸出數(shù)據(jù)145可以是單獨(dú)的錯(cuò)誤向量125(如圖2中所示),糾正數(shù)據(jù)135和錯(cuò)誤向量125(如圖3中所示),或糾正數(shù)據(jù)135和錯(cuò)誤向量125’的壓縮版本(如圖4中所示)。圖6中所示的例子包括可糾正錯(cuò)誤。下面論述包括指示不可糾正錯(cuò)誤的模式的示例性實(shí)施例。
圖7示出根據(jù)實(shí)施例的在不可糾正錯(cuò)誤的情況下的示例性數(shù)據(jù)和錯(cuò)誤向量位。原始數(shù)據(jù)113包括具有錯(cuò)誤的兩位(陰影)。具有錯(cuò)誤的位可能是不可糾正的,例如原因是關(guān)于哪些位特別有錯(cuò)誤的信息可能通過ECC位115不可獲得。因此,錯(cuò)誤可檢測(cè)但是不可糾正。根據(jù)本實(shí)施例,在該情況下,糾正數(shù)據(jù)135與原始數(shù)據(jù)113相同,但是錯(cuò)誤向量125是指示一個(gè)或多個(gè)不可糾正錯(cuò)誤的預(yù)定模式(例如,該例子中的所有‘1’)。圖8示出根據(jù)另一實(shí)施例的在不可糾正錯(cuò)誤的情況下的示例性數(shù)據(jù)和錯(cuò)誤向量位。在圖8所示的實(shí)施例中,糾正數(shù)據(jù)135和錯(cuò)誤向量125都是指示原始數(shù)據(jù)113中的不可糾正數(shù)據(jù)的存在的預(yù)定模式(并且可以是相同或不同模式)。
圖9示出根據(jù)實(shí)施例的用于不同場(chǎng)景910-940的錯(cuò)誤向量125。根據(jù)由圖9示出的實(shí)施例,錯(cuò)誤向量125指示ECC位115以及原始數(shù)據(jù)113中的錯(cuò)誤位。在場(chǎng)景910中當(dāng)原始數(shù)據(jù)113或ECC位115中沒有錯(cuò)誤時(shí),錯(cuò)誤向量125全部為0。對(duì)于在原始數(shù)據(jù)113中具有可糾正錯(cuò)誤并且在ECC位115中沒有錯(cuò)誤的場(chǎng)景920,在錯(cuò)誤向量125中相應(yīng)位設(shè)置為1(所有其他位設(shè)置為0)。在場(chǎng)景930中,在原始數(shù)據(jù)113中沒有錯(cuò)誤但是在ECC位115之一中有錯(cuò)誤。應(yīng)當(dāng)注意錯(cuò)誤向量125的位的數(shù)量與原始數(shù)據(jù)113的位的數(shù)量相同使得沒有指示ECC位115中的錯(cuò)誤的備用位,模式(針對(duì)陰影位顯示)用于指示ECC位115中的錯(cuò)誤在位935處顯示。與錯(cuò)誤ECC位115對(duì)應(yīng)的位935內(nèi)的錯(cuò)誤向量125中的位設(shè)置為1,而位935內(nèi)的其他位設(shè)置為0。在場(chǎng)景940中,在原始數(shù)據(jù)113中檢測(cè)到不可糾正錯(cuò)誤。在該情況下,以類似于圖7和8中所示的實(shí)施例的模式生成錯(cuò)誤向量125。但是場(chǎng)景910-940不是窮舉的(例如,場(chǎng)景910-940的組合)。
圖10示出根據(jù)另一實(shí)施例的用于不同場(chǎng)景1010-1050的錯(cuò)誤向量125。根據(jù)由圖10示出的實(shí)施例,錯(cuò)誤向量125不僅指示訪問的原始數(shù)據(jù)113和ECC位115中的錯(cuò)誤而且指示未訪問的原始數(shù)據(jù)113中的錯(cuò)誤。該實(shí)施例涉及針對(duì)訪問的數(shù)據(jù)113和未訪問的數(shù)據(jù)113’計(jì)算的ECC位115。存儲(chǔ)器設(shè)備110使用ECC位115和附加位覆蓋兩倍之多的數(shù)據(jù)113(例如,64位而不是僅僅32位)。在本文中論述的例子中未訪問的數(shù)據(jù)113’存儲(chǔ)在存儲(chǔ)器設(shè)備110中但是不作為原始數(shù)據(jù)113讀出。當(dāng)在訪問的數(shù)據(jù)113、未訪問的數(shù)據(jù)113’或ECC位115中沒有錯(cuò)誤時(shí),如在場(chǎng)景1010中,錯(cuò)誤向量125全部包括0。如在場(chǎng)景1020中,當(dāng)在訪問的數(shù)據(jù)113中有可糾正錯(cuò)誤時(shí),在錯(cuò)誤向量125的相應(yīng)位中指示錯(cuò)誤位。當(dāng)未訪問的數(shù)據(jù)113’包括可糾正錯(cuò)誤時(shí),如在場(chǎng)景1030中,錯(cuò)誤向量125是指示與ECC位115關(guān)聯(lián)的兩個(gè)數(shù)據(jù)集(113、113’)中的一個(gè)中有錯(cuò)誤的模式。替代地,錯(cuò)誤向量125可以全部為0以指示訪問的數(shù)據(jù)113不包括任何錯(cuò)誤。在場(chǎng)景1040中,在ECC位115中有可糾正錯(cuò)誤。該場(chǎng)景1040導(dǎo)致類似于場(chǎng)景930的模式,并且也導(dǎo)致ECC位115中的錯(cuò)誤位的錯(cuò)誤向量125中的指示。當(dāng)在訪問的數(shù)據(jù)113中有不可糾正錯(cuò)誤時(shí),如在場(chǎng)景1050中,錯(cuò)誤向量125是類似于場(chǎng)景940的模式。
圖11是根據(jù)實(shí)施例的存儲(chǔ)器管理系統(tǒng)100的命令解碼器150的示例性實(shí)現(xiàn)方式。設(shè)置為輸入解碼器150的命令153的不同位包括EV位。如圖11指 示,模式寄存器1110可以用于啟用或禁用EV讀出位。
圖12-14示出由使用存儲(chǔ)器管理系統(tǒng)100的存儲(chǔ)器控制器110執(zhí)行的示例性處理流程。圖12是使用根據(jù)本文中所述的實(shí)施例獲得的錯(cuò)誤向量的方法的處理流程。例如,本實(shí)施例涉及正常讀取。在方塊1210,進(jìn)行EV設(shè)置為0的讀取操作(讀取1),指示將不輸出錯(cuò)誤向量125。然后在方塊1220確定糾正數(shù)據(jù)135是否是預(yù)定模式。例如,如圖8中所示,是預(yù)定模式的糾正數(shù)據(jù)135可以指示不可糾正錯(cuò)誤。當(dāng)糾正數(shù)據(jù)135是預(yù)定模式時(shí),然后在方塊1230,進(jìn)行EV設(shè)置為1的另一讀取(讀取2),指示將輸出錯(cuò)誤向量125。根據(jù)上述的各種實(shí)施例基于在命令153中設(shè)置的其他位,該第二讀取可以附加地要求輸出原始數(shù)據(jù)113或糾正數(shù)據(jù)135。在方塊1240,基于錯(cuò)誤向量125,確定在原始數(shù)據(jù)113中是否有不可糾正錯(cuò)誤。當(dāng)確定在原始數(shù)據(jù)113中有不可糾正錯(cuò)誤時(shí),在方塊1250進(jìn)行錯(cuò)誤恢復(fù)。錯(cuò)誤恢復(fù)可以是任何已知技術(shù)。當(dāng)確定糾正數(shù)據(jù)135不是預(yù)定模式(在方塊1220)或者確定在原始數(shù)據(jù)113中沒有不可糾正錯(cuò)誤(在方塊1240)時(shí),繼續(xù)正常操作的處理在方塊1260繼續(xù)。例如該處理可以包括從存儲(chǔ)器設(shè)備110讀取附加數(shù)據(jù)。
圖13是使用根據(jù)實(shí)施例獲得的錯(cuò)誤向量的另一方法的處理流程。例如,本實(shí)施例涉及存儲(chǔ)器清理處理,其中根據(jù)需要讀取并且糾正存儲(chǔ)器設(shè)備110的存儲(chǔ)器位置。在糾正數(shù)據(jù)已回寫之后錯(cuò)誤保持的存儲(chǔ)器位置可以說是具有硬錯(cuò)誤,而錯(cuò)誤不保持的存儲(chǔ)器位置可以說是具有軟錯(cuò)誤。在方塊1310,進(jìn)行EV設(shè)置為0的第一讀取(讀取1),指示將不輸出錯(cuò)誤向量125(即,將僅僅輸出數(shù)據(jù)(113或135)),接著進(jìn)行EV設(shè)置為1的第二讀取(讀取2),指示將輸出錯(cuò)誤向量125。在方塊1320,確定在數(shù)據(jù)(113或135)或錯(cuò)誤向量125(例如,錯(cuò)誤向量125是預(yù)定模式)中是否有錯(cuò)誤。當(dāng)在數(shù)據(jù)113、135或錯(cuò)誤向量125中有錯(cuò)誤時(shí),在方塊1330將正確數(shù)據(jù)寫入存儲(chǔ)器位置。在該糾正之后接著在方塊1340進(jìn)行另一組讀取(讀取1和讀取2)。在方塊1350,確定在數(shù)據(jù)113、135或錯(cuò)誤向量125中是否有錯(cuò)誤。當(dāng)在該階段(在方塊1330糾正之后)在數(shù)據(jù)113、135或錯(cuò)誤向量125中(仍然)有錯(cuò)誤時(shí),在方塊1360將錯(cuò)誤記錄在錯(cuò)誤日志中。當(dāng)在方塊1330糾正之后在數(shù)據(jù)113、135或錯(cuò)誤向量125中沒有錯(cuò)誤時(shí),在方塊1370記錄軟錯(cuò)誤。在硬或軟錯(cuò)誤記錄(方塊1360或1370)之后或者當(dāng)在第一組讀取(在方塊1310)之后(在方塊1320)確定在數(shù)據(jù)113、135或錯(cuò)誤向量125中沒有錯(cuò)誤時(shí),處理繼續(xù)。 直到已讀取存儲(chǔ)器設(shè)備110的每個(gè)存儲(chǔ)器位置,繼續(xù)包括進(jìn)入存儲(chǔ)器設(shè)備110的下一個(gè)地址或存儲(chǔ)器位置。
圖14是使用根據(jù)實(shí)施例獲得的錯(cuò)誤向量的又一方法的處理流程。類似于參照?qǐng)D13所述的例子,圖14中所示的實(shí)施例涉及存儲(chǔ)器清理處理。在方塊1410,進(jìn)行EV設(shè)置為1的讀取,指示將輸出錯(cuò)誤向量125。例如,如參照?qǐng)D3所述,可以附加地輸出數(shù)據(jù)(113和/或135)。在方塊1420,確定在數(shù)據(jù)113、135或錯(cuò)誤向量125中是否有錯(cuò)誤。如果在方塊1420發(fā)現(xiàn)錯(cuò)誤,在方塊1430執(zhí)行EV設(shè)置為0的另一讀取,指示將不輸出錯(cuò)誤向量125。在方塊1440,將糾正數(shù)據(jù)回寫到具有錯(cuò)誤(在方塊1420確定)的(一個(gè)或多個(gè))存儲(chǔ)器位置。然后,在方塊1450,執(zhí)行EV設(shè)置為1的另一讀取。在方塊1460,確定在數(shù)據(jù)113、135或錯(cuò)誤向量125中是否有錯(cuò)誤。如果再次有錯(cuò)誤,則錯(cuò)誤是永久的并且在方塊1470記錄為硬錯(cuò)誤。如果在該讀取(在方塊1450)之后沒有錯(cuò)誤,則錯(cuò)誤在方塊1480記錄為軟錯(cuò)誤。在硬或軟錯(cuò)誤記錄(方塊1470或1480)之后或者當(dāng)在第一讀取(在方塊1410)之后(在方塊1420)確定在數(shù)據(jù)113、135或錯(cuò)誤向量125中沒有錯(cuò)誤時(shí),處理繼續(xù)。直到已讀取存儲(chǔ)器設(shè)備110的每個(gè)存儲(chǔ)器位置,繼續(xù)包括進(jìn)入存儲(chǔ)器設(shè)備110的下一個(gè)地址或存儲(chǔ)器位置。
本文中使用的術(shù)語僅僅是為了描述特定實(shí)施例并且不旨在限制本發(fā)明。當(dāng)在本文中使用時(shí),單數(shù)形式“一”和“所述”旨在也包括復(fù)數(shù)形式,除非上下文另外清楚地說明。還將理解當(dāng)在該說明書中使用時(shí),術(shù)語“包括”和/或“包含”指定所述特征、整數(shù)、步驟、操作、要素和/或部件的存在,單數(shù)不排除一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、要素部件和/或它們的組合的存在或加入。
以下權(quán)利要求中的相應(yīng)結(jié)構(gòu)、材料、行動(dòng)和所有手段或步驟加功能要素的等效物旨在包括用于與其它權(quán)利要求的要素組合執(zhí)行功能的任何結(jié)構(gòu)、材料或行動(dòng),如權(quán)利要求具體所述。本發(fā)明的描述為了圖示和描述而提出,但是不旨在窮舉或以公開的形式限制到本發(fā)明。本領(lǐng)域的普通技術(shù)人員將顯而易見許多修改和變化而不脫離本發(fā)明的范圍和精神。為了最佳地解釋本發(fā)明的原理和實(shí)際應(yīng)用選擇和描述實(shí)施例,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明以便獲得具有適合于特定預(yù)期使用的各種修改的各種實(shí)施例。
本發(fā)明可以是系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包 括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個(gè)方面的計(jì)算機(jī)可讀程序指令。
計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可以保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是――但不限于――電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、便攜式壓縮盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能盤(DVD)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上存儲(chǔ)有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無線電波或者其他自由傳播的電磁波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘?hào)。
這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。
用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言—諸如Smalltalk、C++等,以及常規(guī)的過程式編程語言—諸如“C”語言或類似的編程語言。計(jì)算機(jī)可讀程序指令可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。 在一些實(shí)施例中,通過利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程門陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個(gè)方面。
這里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。
這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。
也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
本發(fā)明的各種實(shí)施例的描述為了舉例說明而提出,但是不旨在窮舉或限制到公開的實(shí)施例。本領(lǐng)域的普通技術(shù)人員將顯而易見許多修改和變化而不脫離所述實(shí)施例的范圍和精神。為了最佳地解釋實(shí)施例的原理、實(shí)際應(yīng)用或勝過在市場(chǎng)上發(fā)現(xiàn)的技術(shù)的技術(shù)進(jìn)步選擇本文中使用的術(shù)語,或者使本領(lǐng)域的普通技術(shù)人員能夠理解本文中公開的實(shí)施例。