專利名稱:提供在存儲(chǔ)器中存儲(chǔ)數(shù)據(jù)時(shí)的能量減少的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的示例性實(shí)施例一般地涉及數(shù)據(jù)存儲(chǔ)和檢索,更具體地說(shuō),涉及用于在計(jì)
算機(jī)可讀介質(zhì)中存儲(chǔ)數(shù)據(jù)的節(jié)能技術(shù)。
背景技術(shù):
在Al Sakata等人的美國(guó)專利公開(kāi)號(hào)US 2004/0042292中揭示一種MRAM的寫入 操作,其中使一MTJ組件之磁性反向所需要的電流必須傳送通過(guò)一數(shù)據(jù)線,造成消耗大量 電流。該寫入操作包括將輸入數(shù)據(jù)與自一存儲(chǔ)器單元陣列讀取的讀取數(shù)據(jù)相比較,并使用 一數(shù)據(jù)編碼器來(lái)編碼該輸入數(shù)據(jù)來(lái)形成寫入數(shù)據(jù)。亦揭示使用一數(shù)據(jù)解碼器來(lái)解碼讀取數(shù) 據(jù)以形成輸出數(shù)據(jù)。在非易失性半導(dǎo)體存儲(chǔ)器中,在寫入操作期間要寫入的位數(shù)被減少,且 電流消耗亦可降低。 在Cohen的美國(guó)專利編號(hào)6, 633, 951中揭示一種用于降低在計(jì)算系統(tǒng)中刷新動(dòng)態(tài) 隨機(jī)存取存儲(chǔ)器所需的功率的方法及設(shè)備,在一實(shí)施例中,要存儲(chǔ)到DRAM的數(shù)據(jù)被一次以 一個(gè)字來(lái)評(píng)估。對(duì)于每個(gè)8位數(shù)據(jù)字,如果"l"的數(shù)目超過(guò)4,該數(shù)據(jù)字的每個(gè)位被反向,且 一數(shù)據(jù)反向指示符位被設(shè)置為邏輯1,以指示該數(shù)據(jù)已被反向。這允許在出現(xiàn)最少數(shù)量的 "1"的情況下準(zhǔn)確地存儲(chǔ)該數(shù)據(jù)。由于刷新存儲(chǔ)在DRAM中的"1"所需的功率,存儲(chǔ)最少數(shù) 目的"l"可降低功耗。該數(shù)據(jù)的讀取將判定是否該數(shù)據(jù)在存儲(chǔ)時(shí)已經(jīng)被反向,如果是,則讀 取的數(shù)據(jù)被回復(fù)到其原始形式。 在Norman的美國(guó)專利編號(hào)5, 873, 112中,揭示一種方法與系統(tǒng),其中位的X-位分 組(其中X為一整數(shù))被編碼,以產(chǎn)生X-位分組的編碼位,用于寫入到一閃存陣列的擦除 的單元,其中寫入具有第一數(shù)值的一位到擦除的單元會(huì)比寫入具有第二數(shù)值的一位到該單
元消耗較少的功率。為原始位的每個(gè)分組產(chǎn)生計(jì)數(shù)信號(hào),以指示具有第一 (或第二)數(shù)值 的分組的位數(shù),該計(jì)數(shù)信號(hào)被處理來(lái)產(chǎn)生一控制信號(hào),后者可確定該分組的編碼,及根據(jù)由 該控制信號(hào)確定的方案來(lái)編碼該分組的原始位。每個(gè)擦除的單元可指示二進(jìn)制值"1",且該 計(jì)數(shù)信號(hào)被與基準(zhǔn)值(代表X/2)相比較來(lái)產(chǎn)生一控制信號(hào),后者可判定該分組是否應(yīng)進(jìn)行 極性反向,且該分組根據(jù)該控制信號(hào)的數(shù)值來(lái)反向(或不反向)??蔀橐粚懭腙嚵械牟脸?的單元的位的每個(gè)分組產(chǎn)生該計(jì)數(shù)信號(hào)(其中該計(jì)數(shù)信號(hào)指示該分組中具有特定值的位 的數(shù)目),且每個(gè)分組依照由對(duì)應(yīng)計(jì)數(shù)信號(hào)確定的方式來(lái)編碼,以降低寫入編碼后的位到擦 除的單元所需的功率。將生成指示每個(gè)分組的編碼的標(biāo)志位,且標(biāo)志位(以及編碼后的分 組)被存儲(chǔ)在該閃存陣列的單元中。 IBM技術(shù)文摘30巻1期,1987年6月304-305頁(yè)"數(shù)據(jù)相關(guān)寫入的功率降低方案 (Power Reduction Scheme with Data-D印endent Write) ,, ;IBM技術(shù)文摘11-89, 415-416 頁(yè)"高性能存儲(chǔ)器的功率降低(Reduced Powerfor High Performance Memory)";及在IEEE 論文,Marcello Duhalde等人提出(1995) , 1057-1060頁(yè)"一種高性能模塊化嵌入式ROM架 構(gòu)(AHigh Performance Modular Embedded ROM Architecture),,中揭示了控制存儲(chǔ)器功 耗的其他技術(shù)。
需要對(duì)于這些常規(guī)技術(shù)的改進(jìn)來(lái)更進(jìn)一步降低目前可用及未來(lái)的數(shù)據(jù)存儲(chǔ)裝置 及系統(tǒng)中的功耗,以及降低由功耗產(chǎn)生的熱負(fù)載。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的示例性實(shí)施例,前述及其他問(wèn)題已被克服,并可實(shí)現(xiàn)其他優(yōu)點(diǎn)。
本發(fā)明的示例性實(shí)施例的第一方面提供一種操作存儲(chǔ)器件的方法。該方法包括 在將存儲(chǔ)器件中的一單元處的第一單位數(shù)據(jù)覆寫為第二單位數(shù)據(jù)之前,判定寫入該第二單 位數(shù)據(jù)所需的能量是否多于寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù) 所需的能量。如果判定寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)需要較 少能量,所述方法還包括使用具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的修改后的第二單 位數(shù)據(jù)來(lái)覆寫該第一單位數(shù)據(jù),并配合寫入至少一個(gè)位,用于指示具有該反向位的該子單 位數(shù)據(jù)在該修改后的單位數(shù)據(jù)中的位置。 本發(fā)明的示例性實(shí)施例的另一方面提供一種操作存儲(chǔ)器件的設(shè)備,其包括存 儲(chǔ)器控制單元,其配置為在將存儲(chǔ)器件中的一單元處的第一單位數(shù)據(jù)覆寫為第二單位數(shù) 據(jù)之前,判定寫入該第二單位數(shù)據(jù)所需的能量是否少于寫入具有包括反向位的至少一個(gè)子 單位數(shù)據(jù)的第二單位數(shù)據(jù)所需的能量。該存儲(chǔ)器控制單元還配置為,響應(yīng)于判定寫入具有 包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)需要較少能量,向該存儲(chǔ)器件發(fā)送具有 包括反向位的至少一個(gè)子單位數(shù)據(jù)的修改后的第二單位數(shù)據(jù),連同發(fā)送包括至少一個(gè)位的 指示符字段,該至少一個(gè)位指示具有該反向位的該子單位數(shù)據(jù)在該修改后的單位數(shù)據(jù)中的 位置。 本發(fā)明的示例性實(shí)施例的另一方面提供一種存儲(chǔ)計(jì)算機(jī)程序指令的計(jì)算機(jī)可讀 存儲(chǔ)器介質(zhì),所述計(jì)算機(jī)程序指令的執(zhí)行導(dǎo)致的操作包含在將存儲(chǔ)器件中的一單元處的 第一單位數(shù)據(jù)覆寫為第二單位數(shù)據(jù)之前,判定寫入該第二單位數(shù)據(jù)所需的能量是否多于寫 入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)所需的能量;如果判定寫入具 有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)需要較少能量,則使用具有包括反向 位的至少一個(gè)子單位數(shù)據(jù)的修改后的第二單位數(shù)據(jù)來(lái)覆寫該第一單位數(shù)據(jù),并配合寫入存 儲(chǔ)器的至少一個(gè)位,用于指示具有該反向位的該子單位數(shù)據(jù)在該修改后的單位數(shù)據(jù)中的位 置。 本發(fā)明的示例性實(shí)施例的又一方面提供一種操作存儲(chǔ)器控制單元的方法。該 方法包括讀取存儲(chǔ)在存儲(chǔ)單元中的當(dāng)前數(shù)據(jù);將要被寫入的輸入數(shù)據(jù)與該當(dāng)前數(shù)據(jù)相比 較,并計(jì)算在新的數(shù)據(jù)覆寫該當(dāng)前數(shù)據(jù)的情況下發(fā)生的位轉(zhuǎn)換數(shù),方式是在該當(dāng)前數(shù)據(jù)與 該輸入數(shù)據(jù)之間執(zhí)行"異或"并將"異或"結(jié)果中的"l"的個(gè)數(shù)相加,其中相加的結(jié)果suml 表示在該輸入數(shù)據(jù)覆寫該當(dāng)前數(shù)據(jù)的情況下將發(fā)生的位轉(zhuǎn)換數(shù);將suml與預(yù)訂閾值相比 較并且如果suml等于或超過(guò)該閾值,則對(duì)所有或部分該輸入數(shù)據(jù)求反、與該當(dāng)前數(shù)據(jù)執(zhí)行 "異或"并計(jì)算第二 sum2,其中如果求反后的輸入數(shù)據(jù)的sum2+l的值小于suml,則在求反后 的輸入數(shù)據(jù)被寫入該存儲(chǔ)器單元的情況下,該位轉(zhuǎn)換數(shù)將減小;以及在對(duì)應(yīng)指示符字段中 設(shè)置至少一個(gè)指示符位,以指示是該輸入數(shù)據(jù)被存儲(chǔ)在該存儲(chǔ)單元中,還是所有或部分輸 入數(shù)據(jù)的求反后的形式被存儲(chǔ)在該存儲(chǔ)單元中。 本發(fā)明的示例性實(shí)施例的另一方面提供一種操作功率調(diào)配器的方法。該方法包
6括讀取第一指令集;讀取數(shù)據(jù)總線;以及讀取存儲(chǔ)在至少一個(gè)數(shù)據(jù)寄存器中的一個(gè)或多個(gè)寄存器值。為了能量利用目的來(lái)分析此信息。如果一組指令可使用較低能量提供相同結(jié)果,該第一指令集即被該較低功率使用指令集所取代。 本發(fā)明的示例性實(shí)施例的又一方面提供一種設(shè)備,其耦合到一指令寄存器、一數(shù)據(jù)總線、及至少一個(gè)數(shù)據(jù)寄存器。該設(shè)備讀取該第一指令集;讀取該數(shù)據(jù)總線;并讀取存儲(chǔ)在一個(gè)或多個(gè)數(shù)據(jù)寄存器中的一個(gè)或多個(gè)寄存器值。該設(shè)備為了能量利用目的分析此信息。如果一組指令可使用較低能量提供相同結(jié)果,該第一指令集即被該較低功率使用指令集所取代。 本發(fā)明的示例性實(shí)施例的另一方面提供一種存儲(chǔ)計(jì)算機(jī)程序指令的計(jì)算機(jī)可讀存儲(chǔ)器介質(zhì),所述計(jì)算機(jī)程序指令的執(zhí)行導(dǎo)致的操作包含讀取第一指令集;讀取數(shù)據(jù)總線;并讀取存儲(chǔ)在至少一個(gè)數(shù)據(jù)寄存器中的一個(gè)或多個(gè)寄存器值。為了能量利用目的來(lái)分析此信息。如果一組指令可使用較低能量提供相同結(jié)果,該第一指令集即被該較低功率使用指令集所取代。 本發(fā)明的示例性實(shí)施例的又一方面提供一種設(shè)備。該設(shè)備具有的部件用于讀取第一指令集;讀取數(shù)據(jù)總線;并讀取存儲(chǔ)在至少一個(gè)數(shù)據(jù)寄存器中的一個(gè)或多個(gè)寄存器值。該設(shè)備為了能量利用目的來(lái)分析此信息。如果一組指令可使用較低能量提供相同結(jié)果,該第一指令集即被該較低功率使用指令集所取代。
當(dāng)結(jié)合附圖閱讀時(shí),在以下具體實(shí)施方式
中,這些教導(dǎo)的上述和其他方面可更為清楚,其中 圖1為適于在實(shí)施本發(fā)明中使用的數(shù)據(jù)處理系統(tǒng)的簡(jiǎn)化方塊圖; 圖2為根據(jù)本發(fā)明示例性實(shí)施例的圖1的存儲(chǔ)器控制單元的一部分的簡(jiǎn)化方塊
圖; 圖3A為一種操作圖1的存儲(chǔ)器控制單元的方法的非限制性實(shí)例的邏輯流程 圖3B為具有包括相同數(shù)值的當(dāng)前數(shù)據(jù)的輸入數(shù)據(jù)的多種實(shí)例的表,其反應(yīng)圖3A的方法的操作; 圖4為根據(jù)本發(fā)明的方法的非限制性實(shí)例的邏輯流程 圖5為根據(jù)本發(fā)明示例性實(shí)施例所管理的數(shù)據(jù)緩沖器; 圖6為適于在實(shí)施本發(fā)明中使用的數(shù)據(jù)處理器的一部分(如微處理器)的簡(jiǎn)化方塊圖; 圖7為根據(jù)本發(fā)明的方法的非限制性實(shí)例的邏輯流程圖。
具體實(shí)施例方式
本發(fā)明的示例性實(shí)施例的使用可以降低存儲(chǔ)信息在存儲(chǔ)器件中所需要的能源量。
本發(fā)明的示例性實(shí)施例利用的技術(shù)可降低數(shù)字?jǐn)?shù)據(jù)的轉(zhuǎn)換(1到0或0到1)的數(shù)目,因此降低當(dāng)存儲(chǔ)數(shù)據(jù)在存儲(chǔ)器件中所消耗的能量。使用本發(fā)明的示例性實(shí)施例對(duì)于存儲(chǔ)器件是有利的,其中改變存儲(chǔ)器狀態(tài)的能量為主要的能量項(xiàng)目。在第一示例性實(shí)施例中,先前存儲(chǔ)在存儲(chǔ)器件中的單位數(shù)據(jù)在寫入前被讀取,以判定該單位數(shù)據(jù)的某一部分或該單位數(shù)據(jù)的該部分的求反后的形式是否可利用較少的轉(zhuǎn)換以及因此用較低能量來(lái)存儲(chǔ)。當(dāng)判定該單位數(shù)據(jù)的某一部分可利用較少的轉(zhuǎn)換來(lái)存儲(chǔ)時(shí),將存儲(chǔ)一個(gè)或多個(gè)指示符來(lái)指定該單位數(shù)據(jù)的哪一部分或哪些部分被以求反后的形式來(lái)存儲(chǔ)。在該單位數(shù)據(jù)被讀取來(lái)用于將該單位數(shù)據(jù)恢復(fù)到其原始形式時(shí),可后續(xù)檢索一個(gè)或多個(gè)指示符。 在另一示例性實(shí)施例中,為已存儲(chǔ)的單位數(shù)據(jù)中的二進(jìn)制"O"建立統(tǒng)計(jì)偏差,使得當(dāng)數(shù)據(jù)被寫入具有先前存儲(chǔ)的數(shù)據(jù)的存儲(chǔ)單元時(shí),將降低轉(zhuǎn)換的數(shù)目。 藉由簡(jiǎn)介,圖1為適于在實(shí)施本發(fā)明中使用的數(shù)據(jù)處理系統(tǒng)10的簡(jiǎn)化方塊圖。系統(tǒng)10包括至少一個(gè)處理器12,其與至少一個(gè)存儲(chǔ)器14耦合。與存儲(chǔ)器14關(guān)聯(lián)的為一存儲(chǔ)器控制單元16,其根據(jù)本發(fā)明的示例性實(shí)施例來(lái)構(gòu)建及操作來(lái)分析要存儲(chǔ)在存儲(chǔ)器14中的數(shù)據(jù),目的是降低當(dāng)該數(shù)據(jù)被存儲(chǔ)時(shí)的轉(zhuǎn)換的數(shù)目。為了簡(jiǎn)化起見(jiàn),互連這些組件的多種總線18A、18B及18C的細(xì)節(jié)并未示出(例如地址、數(shù)據(jù)及控制總線的細(xì)節(jié))。要指出的是,在一些實(shí)施例中,處理器12可僅通過(guò)存儲(chǔ)器控制單元16連接至存儲(chǔ)器14,且在此情況中總線18A可以不存在。還要指出的是,在一些實(shí)施例中,存儲(chǔ)器14的全部或部分可以位于處理器12的遠(yuǎn)處,關(guān)聯(lián)的存儲(chǔ)器控制單元16也可如此。在此情況中,一個(gè)或多個(gè)總線18A、18B、18C可為本地電氣或光學(xué)總線,或可為遠(yuǎn)程,如有線或無(wú)線局域網(wǎng)(LAN),或諸如因特網(wǎng)的廣域網(wǎng)。 數(shù)據(jù)處理系統(tǒng)10可假設(shè)任何適當(dāng)形式,如主機(jī)型計(jì)算機(jī)、工作站、桌上型(例如個(gè)人)計(jì)算機(jī),膝上型或筆記本型計(jì)算機(jī),或作為嵌入在另一個(gè)裝置中的數(shù)據(jù)處理系統(tǒng)。處理器12可為任何種類的數(shù)據(jù)處理器,包括由多個(gè)組件所構(gòu)成的數(shù)據(jù)處理器、或在單一集成電路內(nèi)以整合形式所構(gòu)成的數(shù)據(jù)處理器,如微處理器。處理器12可具有單核或多核架構(gòu)。存儲(chǔ)器14可為任何種類的適當(dāng)存儲(chǔ)器,并可具體實(shí)施在一個(gè)或多個(gè)基于半導(dǎo)體的存儲(chǔ)器中,如半導(dǎo)體靜態(tài)隨機(jī)存取存儲(chǔ)器(RAM)或動(dòng)態(tài)RAM,或其可具體實(shí)施成磁存儲(chǔ)介質(zhì),例如盤或磁帶。在其他實(shí)施例中,存儲(chǔ)器14可為基于磁性原理的基于半導(dǎo)體的技術(shù)(如磁阻RAM)。概言之,本發(fā)明的示例性實(shí)施例特別有用于這些種類的數(shù)據(jù)存儲(chǔ)存儲(chǔ)器,其中需要不可忽略的能量數(shù)量來(lái)改變數(shù)據(jù)存儲(chǔ)單元的狀態(tài),也就是說(shuō),將數(shù)據(jù)存儲(chǔ)單元從存儲(chǔ)0位轉(zhuǎn)換到存儲(chǔ)1位及/或從存儲(chǔ)1位轉(zhuǎn)換到存儲(chǔ)0位。 存儲(chǔ)器控制單元16可與存儲(chǔ)器14集成,或其可為一獨(dú)立單元。其亦可具有額外的功能性,如作為DRAM控制單元或作為盤或磁帶控制器來(lái)操作。 要指出的是,在一些實(shí)施例中,圖l所示的所有組件都可以集成在同一集成電路內(nèi)。另外要指出的是,在一些實(shí)施例中,存儲(chǔ)器14的至少一些可為處理器12的內(nèi)部存儲(chǔ)器的一部分,其包括(但不限于)處理器12RAM、寄存器及寄存器文件。 根據(jù)本發(fā)明的示例性實(shí)施例且還參照?qǐng)D2,存儲(chǔ)器控制單元16用于以特定間隔將一個(gè)或多個(gè)指示符位(指示符)引入數(shù)據(jù)流,這基于將要被寫入存儲(chǔ)器14中的特定單元的數(shù)據(jù)(輸入數(shù)據(jù))與目前存儲(chǔ)在該特定單元中的數(shù)據(jù)(當(dāng)前數(shù)據(jù))相比較。
例如,假設(shè)一狀況為
輸入數(shù)據(jù)=10000111
目前數(shù)據(jù)=11111111 例如,存儲(chǔ)器控制單元16的比較單元16A用于選擇性地控制一列反向器16B的個(gè)別位,以使要寫入存儲(chǔ)器14的新數(shù)據(jù)中的某些位反向,以降低位轉(zhuǎn)換的數(shù)目,并生成指示符位來(lái)代表該新數(shù)據(jù)。在此非限制性實(shí)例中,其假設(shè)數(shù)據(jù)單位的長(zhǎng)度為一個(gè)字節(jié)(8位),可提供寄存器20來(lái)保存自存儲(chǔ)器14讀取的當(dāng)前數(shù)據(jù)(例如全為1)和輸入數(shù)據(jù),其中D7為1 ,D6-D3為0,且D2-D0為1。明顯地,直接將該輸入數(shù)據(jù)寫入存儲(chǔ)器14將造成四個(gè)位(D6-D3)的轉(zhuǎn)換。為了避免此狀況,比較單元16A檢測(cè)到將用于轉(zhuǎn)換的位數(shù)等于或超過(guò)某個(gè)預(yù)定閥值(例如2、3或4),并且作為響應(yīng),設(shè)置反向器控制信號(hào)線16C,以使得在位D7-D3的路徑中的反向器16B反向?qū)?yīng)的位(假設(shè)如果未設(shè)置反向器控制信號(hào)線16C,則對(duì)應(yīng)反向器16B僅簡(jiǎn)單地傳送該位通過(guò)而不將它反向,或假設(shè)一開(kāi)關(guān)簡(jiǎn)單地繞過(guò)該反向器)。在此情況中的結(jié)果是該新數(shù)據(jù)到存儲(chǔ)器14采取形式如下
新數(shù)據(jù)=01111111, 其是僅在8個(gè)位中的一個(gè)位(在此例中為D7)中造成轉(zhuǎn)換的結(jié)果。三個(gè)指示符位12、11、10可用于指示在該新數(shù)據(jù)中配對(duì)反向的開(kāi)始點(diǎn)。在一非受限制實(shí)例中,序列000指示沒(méi)有改變,而其余序列可代表由l到7的數(shù)目,指示哪一個(gè)位為開(kāi)始位(例如011指示第三位及以上被改變,而001指示所有位皆改變)。在此情況中,12被切換到1,使得指示符位讀取為100,以指示第四位(D3)及以上被反向。即使利用此額外位開(kāi)關(guān),被切換的位總數(shù)中也存在凈減少。如可理解的,寫入該新數(shù)據(jù)到存儲(chǔ)器所需要的能量明顯地比直接寫入該數(shù)據(jù)而不反向任何位所需要的能量要低。 為了能夠在后續(xù)自存儲(chǔ)器14讀取此數(shù)據(jù),并將其回復(fù)到原始形式,重要地是設(shè)置一指示符來(lái)通知存儲(chǔ)器控制單元16的讀取單元16D在該數(shù)據(jù)被存儲(chǔ)時(shí)哪些位被反向(如果有的話)。該指示符可采用多種不同的形式。在圖2所例示的實(shí)例中,應(yīng)用位反向的數(shù)據(jù)單元中的最高有效位位置(例如由D7計(jì)數(shù))被編碼為3位值,并作為指示符位發(fā)送到存儲(chǔ)器14,以便與已存儲(chǔ)的數(shù)據(jù)單位一起存儲(chǔ)。在上述非限制性實(shí)例中,指示符值將為4(100)。然后,當(dāng)此數(shù)據(jù)單位被自存儲(chǔ)器14讀回時(shí),讀取單元16D執(zhí)行互補(bǔ)操作來(lái)反向所有這些位,直到該指示符的值(在此例中為位D7-D4),藉以恢復(fù)該數(shù)據(jù)到其原始形式,由此將輸出數(shù)據(jù)提供給處理器12或某個(gè)其他組件。 在此實(shí)施例中,可能添加額外指示符位來(lái)指定該三個(gè)指示符位是否應(yīng)被解譯成從D0計(jì)數(shù)(該數(shù)據(jù)單位的LSB)或從D7計(jì)數(shù)(該數(shù)據(jù)單位的MSB)。 在目前所述的實(shí)例中,數(shù)據(jù)單位中應(yīng)用反向的邊界將隨數(shù)據(jù)單位而改變,具體取決于比較單元16A所得到的結(jié)果。在另一實(shí)施例中,該數(shù)據(jù)單位可被分區(qū)成預(yù)定的子單位(例如在目前所述的示例中為4位子單位),然后為每個(gè)子單位提供一指示符位來(lái)指示對(duì)應(yīng)子單位是被反向還是未被反向。在上述的實(shí)例中假設(shè)
輸入數(shù)據(jù)=10000111
目前數(shù)據(jù)=11111111, 然后將比較閥值應(yīng)用于每個(gè)子單位會(huì)僅造成最左方的子單位被反向,致使
新數(shù)據(jù)=01110111。 在此例中的指示符字段僅需要2位的長(zhǎng)度來(lái)代表每個(gè)子單位的配對(duì)性,并可具有數(shù)值如下 指示符=10。 指示最左方的子單位已被反向。 在其他實(shí)施例中,每個(gè)子單位的寬度可為2位,然后指示符字段的寬度將為4位,以指示數(shù)據(jù)單位的每個(gè)對(duì)應(yīng)2位是被反向還是未被反向。繼續(xù)前述的實(shí)例
輸入數(shù)據(jù)=10000111
目前數(shù)據(jù)=11111111, 然后將比較閥值(在此例中為2)應(yīng)用到每個(gè)子單位會(huì)僅造成第二最左方的子單
位被反向,致使 新數(shù)據(jù)=10110111。 在此例中指示符字段長(zhǎng)度僅為4位,且其數(shù)值可為
指示符=0100。 指示該第二最左方子單位已被反向。 在另一實(shí)施例中,指示符位字段的寬度可與數(shù)據(jù)單位一樣寬(在此例中為8位),其中指示符字段中的個(gè)別位被設(shè)置或重置來(lái)分別指示數(shù)據(jù)單位中哪些對(duì)應(yīng)位被反向或未被反向。 可理解的是,存在多種可能的方式來(lái)實(shí)施本發(fā)明的實(shí)施例。作為另一實(shí)例,并再次參照前述的基于8的指示符表示,可提供兩個(gè)或兩個(gè)以上的這種3位字段來(lái)指示選擇性地應(yīng)用位反向的兩個(gè)或兩個(gè)以上的位置。此外,反向器16B可由某些種類的邏輯門所取代,如"異或",其操作將造成選擇性地反向要寫入存儲(chǔ)器14的位中所期望的位,藉以降低轉(zhuǎn)換的數(shù)目。 進(jìn)而應(yīng)理解,本發(fā)明的示例性實(shí)施例并不僅限于寬度為8位的數(shù)據(jù)單位,上述描述可應(yīng)用到具有任何期望寬度的數(shù)據(jù)單位(例如64位、256位等)。
參照?qǐng)D3A,現(xiàn)在提供存儲(chǔ)器控制單元16的操作的非限制性實(shí)例。
步驟A :讀取存儲(chǔ)在存儲(chǔ)單元中的當(dāng)前數(shù)據(jù); 步驟B:將要被寫入的輸入數(shù)據(jù)與該當(dāng)前數(shù)據(jù)相比較,并計(jì)算在新的數(shù)據(jù)覆寫該當(dāng)前數(shù)據(jù)時(shí)發(fā)生的位轉(zhuǎn)換數(shù),方式是在該當(dāng)前數(shù)據(jù)與該輸入數(shù)據(jù)之間執(zhí)行"異或"并將"異或"結(jié)果中的"l"的個(gè)數(shù)相加,其中相加的結(jié)果suml表示在該輸入數(shù)據(jù)覆寫該當(dāng)前數(shù)據(jù)時(shí)將發(fā)生的位轉(zhuǎn)換數(shù); 步驟C :將suml與預(yù)訂閾值相比較并且如果suml等于或超過(guò)該閾值,則對(duì)所有或部分該輸入數(shù)據(jù)求反、與該當(dāng)前數(shù)據(jù)執(zhí)行"異或"并計(jì)算第二sum2,其中如果求反后的輸入數(shù)據(jù)的sum2+l的值小于suml,則在求反后的輸入數(shù)據(jù)被寫入該存儲(chǔ)器單元的情況下,該位轉(zhuǎn)換數(shù)將減??;及 步驟D :在對(duì)應(yīng)指示符字段中設(shè)置至少一個(gè)指示符位,以指示是該輸入數(shù)據(jù)被存
儲(chǔ)在該存儲(chǔ)單元中,還是所有或部分輸入數(shù)據(jù)的求反后的形式被存儲(chǔ)在該存儲(chǔ)單元中。 另一步驟E包含后續(xù)讀取存儲(chǔ)在該存儲(chǔ)單元中的數(shù)據(jù)及對(duì)應(yīng)指示符字段,并根據(jù)
在對(duì)應(yīng)指示符字段中設(shè)置的位來(lái)選擇性地反向或不反向該讀取數(shù)據(jù)的位。 在步驟B中,寫入數(shù)據(jù)所需的能量由E寫入* Sum+E讀取* 8給出。 圖3B示出了前述內(nèi)容的實(shí)例,其中該實(shí)例假設(shè)當(dāng)前數(shù)據(jù)皆為0,且數(shù)據(jù)的數(shù)值范
圍由250到255。在此例中,一個(gè)指示符位與一個(gè)8位字一起使用。添加一個(gè)位來(lái)指示配對(duì)
中的改變顯示在Sum Xor+l中,其代表在配對(duì)改變之后將被切換的位的總數(shù)。 圖4描述了根據(jù)本發(fā)明示例性實(shí)施例的操作存儲(chǔ)器件的方法。該方法包括在方塊
4A中,在將存儲(chǔ)器件中的一單元處的第一單位數(shù)據(jù)覆寫為第二單位數(shù)據(jù)之前,判定寫入該
10第二單位數(shù)據(jù)所需的能量是否多于寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)所需的能量。如果判定寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)需要較少能量,該方法還包括在方塊4B中,使用具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的修改后的第二單位數(shù)據(jù)來(lái)覆寫該第一單位數(shù)據(jù),并配合寫入至少一個(gè)位,用于指示具有該反向位的該子單位數(shù)據(jù)在該修改后的單位數(shù)據(jù)中的位置。 圖3A及圖4中所示的多個(gè)方塊可以視為方法步驟、及/或視為由于存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序碼的執(zhí)行所產(chǎn)生的操作,及/或視為構(gòu)建成執(zhí)行相關(guān)功能的多個(gè)耦合的邏輯電路組件。還要指出的是,圖2所示的存儲(chǔ)器控制單元16的部分或全部功能可藉由單獨(dú)或結(jié)合于硬件電路來(lái)執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序代碼來(lái)實(shí)施。
還應(yīng)指出的是,指示符字段可與對(duì)應(yīng)數(shù)據(jù)位一起存儲(chǔ)在同一存儲(chǔ)器14中,或者其可分別存儲(chǔ)在相同或不同種類的另一存儲(chǔ)器中,后者被尋址并同步于尋址及讀取該(數(shù)據(jù))存儲(chǔ)器14來(lái)讀取。 另要指出的是,應(yīng)用本發(fā)明的此實(shí)施例為存儲(chǔ)在存儲(chǔ)器14中的數(shù)據(jù)提供了安全級(jí)別,因?yàn)闆](méi)有存儲(chǔ)在指示符字段中的對(duì)應(yīng)信息,將難以讀出及解譯該數(shù)據(jù)(具有選擇性地整個(gè)反向的多個(gè)位)。 本發(fā)明的實(shí)施例亦關(guān)于具有圖案化介質(zhì)的硬盤驅(qū)動(dòng)器。 本發(fā)明的示例性實(shí)施例可應(yīng)用到硬盤驅(qū)動(dòng)器,其中長(zhǎng)數(shù)據(jù)流存儲(chǔ)在扇區(qū)中。目前驅(qū)動(dòng)器在一扇區(qū)中大約存儲(chǔ)512字節(jié),而扇區(qū)通常以塊為單位重新寫入。但是,未來(lái)的盤驅(qū)動(dòng)器介質(zhì)被投影而圖案化,其方式為每個(gè)位存在于該圖案化介質(zhì)的個(gè)別分離部分,并可個(gè)別地寫入。通過(guò)降低1到0或0到1的轉(zhuǎn)換數(shù)目,可以降低寫入電流。在很長(zhǎng)的數(shù)據(jù)流中,可應(yīng)用指示符位。 扇區(qū)是硬盤上的數(shù)據(jù)存儲(chǔ)的基本單位。術(shù)語(yǔ)"扇區(qū)"源自數(shù)學(xué)術(shù)語(yǔ),其指圓形的餅形角度區(qū)段,由半徑限制兩側(cè),第三側(cè)由該圓形的周長(zhǎng)限制。在本質(zhì)上,硬盤包含形成一圓形的一組預(yù)定扇區(qū),且預(yù)定扇區(qū)的給定圓形被定義成單一磁道。 一組同心圓(磁道)定義盤片的單一表面。早期硬盤的每個(gè)磁道位置具有相同數(shù)目的扇區(qū),且通常每個(gè)磁道中的扇區(qū)數(shù)在不同型號(hào)之間皆相當(dāng)標(biāo)準(zhǔn)。當(dāng)硬盤以其默認(rèn)值就緒時(shí),每個(gè)扇區(qū)能夠存儲(chǔ)512字節(jié)的數(shù)據(jù)。硬盤驅(qū)動(dòng)器技術(shù)中的目前進(jìn)展已經(jīng)允許每個(gè)磁道的扇區(qū)("SPT",)數(shù)目可以顯著地改變。 本發(fā)明的示例性實(shí)施例的好處可同時(shí)適用每個(gè)磁道具有固定數(shù)目的扇區(qū)的硬盤與每個(gè)磁道具有可變數(shù)目的扇區(qū)的硬盤。本發(fā)明的示例性實(shí)施例亦可用于改善基于圖案化介質(zhì)的硬盤驅(qū)動(dòng)器,其中個(gè)別位可分別被記錄(與每次寫入操作將至少記錄整個(gè)扇區(qū)相比)。 —個(gè)扇區(qū)的數(shù)據(jù)的指示符字段可視需要存儲(chǔ)在該扇區(qū)的開(kāi)頭或結(jié)束處。備選地,給定磁道的一個(gè)或多個(gè)扇區(qū)可專用于存儲(chǔ)該磁道中所有扇區(qū)的指示符字段。亦可使用其他用于相對(duì)于所存儲(chǔ)的盤數(shù)據(jù)存儲(chǔ)指示符信息的配置。 要指出的是,在使用盤驅(qū)動(dòng)器陣列實(shí)施的數(shù)據(jù)存儲(chǔ)實(shí)施例(如廉價(jià)磁盤冗余陣列(RAID)實(shí)施例)中,且作為一非限制實(shí)例,8個(gè)磁盤驅(qū)動(dòng)器可用于存儲(chǔ)數(shù)據(jù),而第9個(gè)磁盤驅(qū)動(dòng)器可用于存儲(chǔ)指示符信息,且可能配合錯(cuò)誤檢測(cè)及校正信息。多種其他RAID式組織也是可能的。
本發(fā)明的示例性實(shí)施例可用其他方式用于預(yù)先處理要寫入存儲(chǔ)器的數(shù)據(jù)。例如,在一些應(yīng)用中,數(shù)據(jù)可被頻繁地重新寫入。 一個(gè)非限制性實(shí)例是其中多個(gè)客戶的交易信息將在一天之內(nèi)存檔的應(yīng)用。參照?qǐng)D5,可提供諸如先進(jìn)先出(FIFO)緩沖器之類的數(shù)據(jù)緩沖器30,以便在客戶信息被傳送到存儲(chǔ)器14之前存儲(chǔ)該客戶信息。通過(guò)讀取并預(yù)先處理存儲(chǔ)在數(shù)據(jù)緩沖器30中的信息,可在實(shí)際被寫入存儲(chǔ)器14的數(shù)據(jù)中降低轉(zhuǎn)換的數(shù)目。例如,識(shí)別到先前數(shù)據(jù)字節(jié)#2匹配當(dāng)前數(shù)據(jù),則轉(zhuǎn)換無(wú)需被反轉(zhuǎn),在數(shù)據(jù)字節(jié)#2先被寫入存儲(chǔ)器32,接著是數(shù)據(jù)字節(jié)#1 ,然后是當(dāng)前數(shù)據(jù)字節(jié)的情況下,將發(fā)生反轉(zhuǎn)。
當(dāng)前數(shù)據(jù)00001111
數(shù)據(jù)字節(jié)#111111111
數(shù)據(jù)字節(jié)#200001111 在此例中,并在檢測(cè)到當(dāng)前數(shù)據(jù)匹配數(shù)據(jù)字節(jié)#2時(shí),僅需寫入當(dāng)前數(shù)據(jù),而非數(shù)據(jù)字節(jié)#2及#1 (或備選地,僅數(shù)據(jù)字節(jié)#2被傳送到存儲(chǔ)器14,且數(shù)據(jù)字節(jié)#1及當(dāng)前數(shù)據(jù)字節(jié)可被擦除)。 要指出的是,雖然緩沖器30被描述為存儲(chǔ)要寫入存儲(chǔ)器32中的同一單元的數(shù)據(jù),但是在其他實(shí)施例中,緩沖器30可存儲(chǔ)要應(yīng)用到處理器12的算術(shù)邏輯單元(ALU)的排隊(duì)后的命令。 圖6示出了諸如微處理器60之類的數(shù)據(jù)處理器的一部分的簡(jiǎn)化視圖,其包括ALU70、寄存器A 72、B 74及C 68、指令解碼器62、指令寄存器66、計(jì)數(shù)器76及地址鎖存器78。計(jì)數(shù)器76及地址鎖存器78都被連接至地址總線80。微處理器60可執(zhí)行一組指令,典型指令集的子集如下所示。
LOAD A-從一存儲(chǔ)器地址加載一數(shù)值到寄存器A LOAD B-從一存儲(chǔ)器地址加載一數(shù)值到寄存器B CON A-加載一恒定值到寄存器A CON B-加載一恒定值到寄存器B CON C-加載一恒定值到寄存器C SAVE B-將寄存器B中的數(shù)值存儲(chǔ)到一存儲(chǔ)器地址 SAVE C-將寄存器C中的數(shù)值存儲(chǔ)到一存儲(chǔ)器地址 ADD-將寄存器A中的數(shù)值與寄存器B中的數(shù)值相加,并將結(jié)果存儲(chǔ)在寄存器C中 SUB-將寄存器B中的數(shù)值減去寄存器A中的數(shù)值,并將結(jié)果存儲(chǔ)在寄存器C中
MUL-將寄存器A中的數(shù)值乘以寄存器B中的數(shù)值,并將結(jié)果存儲(chǔ)在寄存器C中
DIV-將寄存器A中的數(shù)值除以寄存器B中的數(shù)值,并將結(jié)果存儲(chǔ)在寄存器C中
程序?yàn)橐唤M序列化指令。微處理器60消耗能量來(lái)改變ALU 70或寄存器68、72及74的電路中的位的狀態(tài)。可減少被改變的位數(shù)目的方法可以降低計(jì)算的整體能量。可完成此目的的一種方法是在微處理器60中包括功率調(diào)配器64,后者將檢查指令及數(shù)據(jù)總線82來(lái)最小化轉(zhuǎn)換數(shù)目及因此最小化功率。 在一個(gè)非限制性實(shí)例中,將1和255相加造成將0000 0000 1111 1111改變?yōu)?000 0001 0000 0000,其需要9個(gè)位由0到1或由1到0的轉(zhuǎn)換。
此改變可由以下的指令集來(lái)執(zhí)行
12
LOAD A 200 (在此例中為向寄存器A加載存儲(chǔ)單元200-255中的數(shù)值)
CON B 1 (加載數(shù)字"1"到寄存器B中) ADD(將寄存器A中的數(shù)值與寄存器B中的數(shù)值相力n,并存儲(chǔ)在寄存器C中)
功率調(diào)配器64監(jiān)視指令寄存器66、數(shù)據(jù)總線82,且寄存器68、72及74可利用一降低能量的指令集來(lái)取代某些指令序列的指令,例如使用
CON C 256 (加載數(shù)字"256 "到寄存器C中) 此指令(CON C 256)消除或減少將在ALU 70中發(fā)生的處理,及消除或減少寄存器A 72與B 74中的位改變,藉以節(jié)省能量。 圖7描述了一種根據(jù)本發(fā)明的示例性實(shí)施例操作功率調(diào)配器64的方法。該方法包括在方塊100中,讀取第一指令集;在方塊110中,讀取數(shù)據(jù)總線;且在方塊120中,讀取存儲(chǔ)在至少一個(gè)數(shù)據(jù)寄存器中的一個(gè)或多個(gè)寄存器值。在方塊130中,該方法還提供功率調(diào)配器64為了能量利用的目的來(lái)分析該第一指令集、數(shù)據(jù)總線及寄存器值。在方塊140中,如果第二指令集被確定為以較低能量提供與第一指令集相同的結(jié)果,則其被用于取代第一指令集。然后所得到的指令集可被應(yīng)用到ALU 70。 可單獨(dú)在硬件上、或在包括固件的軟件中、或作為包括固件的硬件及軟件的組合來(lái)實(shí)施操作功率調(diào)配器64的方法。 還可通過(guò)使用功率分級(jí)結(jié)構(gòu)來(lái)實(shí)施本發(fā)明的示例性實(shí)施例。在某些方面中與先前
實(shí)施例相關(guān)的是,通過(guò)使用存儲(chǔ)器緩沖器30可降低功耗或進(jìn)一步降低功耗,存儲(chǔ)器緩沖器
30優(yōu)選地在每次轉(zhuǎn)換時(shí)消耗比存儲(chǔ)器14更低的功率來(lái)保存所要存儲(chǔ)的數(shù)據(jù)。 在其中可能使用不止兩級(jí)邏輯(例如有可能使用三級(jí)邏輯)的系統(tǒng)/存儲(chǔ)器架構(gòu)
中,指示符位可直接放置在數(shù)據(jù)流中,并解碼為自存儲(chǔ)器件讀出的數(shù)據(jù)。在此情況下,例如
可使用兩個(gè)邏輯級(jí)別存儲(chǔ)數(shù)據(jù),同時(shí)使用第三邏輯級(jí)別來(lái)存儲(chǔ)指示符位(多個(gè))。在此情況
下,指示符字段可被視為分布在被存儲(chǔ)且被讀回的整個(gè)數(shù)據(jù)內(nèi)。
權(quán)利要求
一種操作存儲(chǔ)器件的方法,包含下列步驟在將存儲(chǔ)器件中的一單元處的第一單位數(shù)據(jù)覆寫為第二單位數(shù)據(jù)之前,判定寫入該第二單位數(shù)據(jù)所需的能量是否多于寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)所需的能量;如果判定寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)需要較少能量,則使用具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的修改后的第二單位數(shù)據(jù)來(lái)覆寫該第一單位數(shù)據(jù),并配合寫入至少一個(gè)位,用于指示具有該反向位的該子單位數(shù)據(jù)在該修改后的單位數(shù)據(jù)中的位置。
2. 如權(quán)利要求1中所述的方法,其中判定是否需要較多能量的步驟包括下列步驟 讀取存儲(chǔ)在存儲(chǔ)器單元中的當(dāng)前數(shù)據(jù);將要被寫入的輸入數(shù)據(jù)與該當(dāng)前數(shù)據(jù)相比較,并計(jì)算在新的數(shù)據(jù)覆寫該當(dāng)前數(shù)據(jù)的情 況下發(fā)生的位轉(zhuǎn)換數(shù),方式是在該當(dāng)前數(shù)據(jù)與該輸入數(shù)據(jù)之間執(zhí)行"異或"并將"異或"結(jié) 果中的"l"的個(gè)數(shù)相加,其中相加的結(jié)果suml表示在該輸入數(shù)據(jù)覆寫該當(dāng)前數(shù)據(jù)的情況下 將發(fā)生的位轉(zhuǎn)換數(shù);以及將suml與預(yù)訂閾值相比較并且如果suml等于或超過(guò)該閾值,則對(duì)所有或部分該輸 入數(shù)據(jù)求反、與該當(dāng)前數(shù)據(jù)執(zhí)行"異或"并計(jì)算第二sum2,其中如果求反后的輸入數(shù)據(jù)的 sum2+l的值小于suml,則在求反后的輸入數(shù)據(jù)被寫入該存儲(chǔ)器單元的情況下,該位轉(zhuǎn)換數(shù) 將減小。
3. 如權(quán)利要求1或2中所述的方法,還包括后續(xù)讀取該修改后的單位數(shù)據(jù)及該至少 一個(gè)位,并使被指示為具有反向位的任何子單位數(shù)據(jù)中的位反向,以提供輸出數(shù)據(jù)。
4. 如權(quán)利要求l中所述的方法,其中該單位數(shù)據(jù)包括N個(gè)位,其中N為一整數(shù),且其中 該子單位包含1個(gè)位到N個(gè)位。
5. 如權(quán)利要求l中所述的方法,其中該至少一個(gè)位包含多個(gè)位,該多個(gè)位被編碼成一 個(gè)組來(lái)指示一數(shù)值。
6. 如權(quán)利要求1中所述的方法,其中該至少一個(gè)位包含多個(gè)位,其中該多個(gè)位中的單 個(gè)位指定多個(gè)子單位中的相應(yīng)單個(gè)子單位。
7. 如權(quán)利要求1中所述的方法,其中該存儲(chǔ)器件是基于半導(dǎo)體的存儲(chǔ)器件。
8. 如權(quán)利要求l中所述的方法,其中該存儲(chǔ)器件是基于盤或基于磁帶的存儲(chǔ)器件。
9. 如權(quán)利要求l中所述的方法,其中該存儲(chǔ)器件是數(shù)據(jù)寄存器。
10. 如權(quán)利要求1中所述的方法,其中該至少一個(gè)位被寫入的存儲(chǔ)器件與該修改后的 單位數(shù)據(jù)被寫入的存儲(chǔ)器件為同一存儲(chǔ)器件。
11. 如權(quán)利要求l中所述的方法,其中該至少一個(gè)位被寫入的存儲(chǔ)器件不同于該修改 后的單位數(shù)據(jù)被寫入的存儲(chǔ)器件。
12. 如權(quán)利要求1中所述的方法,還包括在將第二單位數(shù)據(jù)寫入該存儲(chǔ)器件之前緩沖 該第二單位數(shù)據(jù),并將該第二單位數(shù)據(jù)與后續(xù)被存儲(chǔ)在緩沖器中的第三單位數(shù)據(jù)相比較, 以判定是將該第二單位數(shù)據(jù)還是將該第三單位數(shù)據(jù)寫入該存儲(chǔ)器件。
13. —種操作存儲(chǔ)器件的設(shè)備,包含存儲(chǔ)器控制單元,其配置為在將存儲(chǔ)器件中的一單元處的第一單位數(shù)據(jù)覆寫為第二單位數(shù)據(jù)之前,判定寫入該第二單位數(shù)據(jù)所需的能量是否少于寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)所需的能量,該存儲(chǔ)器控制單元還配置為響應(yīng)于判定寫 入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)需要較少能量,向該存儲(chǔ)器件發(fā) 送具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的修改后的第二單位數(shù)據(jù),連同發(fā)送包括至少一 個(gè)位的指示符字段,該至少一個(gè)位指示具有該反向位的該子單位數(shù)據(jù)在該修改后的單位數(shù) 據(jù)中的位置。
14. 如權(quán)利要求13中所述的設(shè)備,該存儲(chǔ)器控制單元還配置為響應(yīng)于讀取該修改后 的單位數(shù)據(jù)及對(duì)應(yīng)的指示符字段,在使被指示為具有反向位的任何子單位數(shù)據(jù)的位反向之 后,提供輸出數(shù)據(jù)。
15. 如權(quán)利要求13中所述的設(shè)備,其中該單位數(shù)據(jù)包括N個(gè)位,其中N為一整數(shù),且其 中該子單位包含1個(gè)位到N個(gè)位。
16. 如權(quán)利要求13中所述的設(shè)備,其中該指示符字段包含多個(gè)位,該多個(gè)位被編碼成 一個(gè)組來(lái)指示一數(shù)值。
17. 如權(quán)利要求13中所述的設(shè)備,其中該指示符字段包含多個(gè)位,其中該多個(gè)位中的 單個(gè)位指定多個(gè)子單位中的相應(yīng)單個(gè)子單位。
18. 如權(quán)利要求13中所述的設(shè)備,其中該存儲(chǔ)器件是基于半導(dǎo)體的存儲(chǔ)器件。
19. 如權(quán)利要求13中所述的設(shè)備,其中該存儲(chǔ)器件是基于盤或基于磁帶的存儲(chǔ)器件。
20. 如權(quán)利要求13中所述的設(shè)備,其中該存儲(chǔ)器件是數(shù)據(jù)寄存器。
21. 如權(quán)利要求13中所述的設(shè)備,其中該指示符字段被寫入的存儲(chǔ)器件與該修改后的 單位數(shù)據(jù)被寫入的存儲(chǔ)器件為同一存儲(chǔ)器件。
22. 如權(quán)利要求13中所述的設(shè)備,其中該指示符字段被寫入的存儲(chǔ)器件不同于該修改 后的單位數(shù)據(jù)被寫入的存儲(chǔ)器件。
23. 如權(quán)利要求13中所述的設(shè)備,其具體實(shí)施成一集成電路。
24. 如權(quán)利要求13中所述的設(shè)備,其具體實(shí)施成一集成電路,后者具有一數(shù)據(jù)處理器 并具有該存儲(chǔ)器件。
25. 如權(quán)利要求24中所述的設(shè)備,其中該存儲(chǔ)器件包含該數(shù)據(jù)處理器的一部分。
26. 如權(quán)利要求13中所述的設(shè)備,還包括一緩沖器,以在將第二單位數(shù)據(jù)寫入該存儲(chǔ) 器件之前排隊(duì)該第二單位數(shù)據(jù),其中該存儲(chǔ)器控制單元還配置為判定是將該第二單位數(shù) 據(jù)寫入該存儲(chǔ)器件需要較少的能量,還是在該第二單位數(shù)據(jù)被存儲(chǔ)在該緩沖器之后將被存 儲(chǔ)在該緩沖器中的第三單位數(shù)據(jù)寫入該存儲(chǔ)器件需要較少的能量。
27. —種存儲(chǔ)計(jì)算機(jī)程序指令的存儲(chǔ)器介質(zhì),所述計(jì)算機(jī)程序指令的執(zhí)行導(dǎo)致的操作 包含在將存儲(chǔ)器件中的一單元處的第一單位數(shù)據(jù)覆寫為第二單位數(shù)據(jù)之前,判定寫入該第 二單位數(shù)據(jù)所需的能量是否多于寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位 數(shù)據(jù)所需的能量;如果判定寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)需要較少能量, 則使用具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的修改后的第二單位數(shù)據(jù)來(lái)覆寫該第一單 位數(shù)據(jù),并配合寫入存儲(chǔ)器的至少一個(gè)位,用于指示具有該反向位的該子單位數(shù)據(jù)在該修 改后的單位數(shù)據(jù)中的位置。
28. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),還包括以下操作響應(yīng)于后續(xù)讀取該修改后的單位數(shù)據(jù)及該至少一個(gè)位,使被指示為具有反向位的任何子單位數(shù)據(jù)中的位反向,以提 供輸出數(shù)據(jù)。
29. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),其中該單位數(shù)據(jù)包括N個(gè)位,其中N為一整 數(shù),且其中該子單位包含1個(gè)位到N個(gè)位。
30. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),其中該至少一個(gè)位包含多個(gè)位,該多個(gè)位被 編碼成一個(gè)組來(lái)指示一數(shù)值。
31. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),其中該至少一個(gè)位包含多個(gè)位,其中該多個(gè) 位中的單個(gè)位指定多個(gè)子單位中的相應(yīng)單個(gè)子單位。
32. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),其中該存儲(chǔ)器件是基于半導(dǎo)體的存儲(chǔ)器件。
33. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),其中該存儲(chǔ)器件是基于盤或基于磁帶的存儲(chǔ) 器件。
34. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),其中該存儲(chǔ)器件是數(shù)據(jù)寄存器。
35. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),其中該至少一個(gè)位被寫入的存儲(chǔ)器件與該修 改后的單位數(shù)據(jù)被寫入的存儲(chǔ)器件為同一存儲(chǔ)器件。
36. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),其中該至少一個(gè)位被寫入的存儲(chǔ)器件不同于 該修改后的單位數(shù)據(jù)被寫入的存儲(chǔ)器件。
37. 如權(quán)利要求27中所述的存儲(chǔ)器介質(zhì),還包括以下操作在將第二單位數(shù)據(jù)寫入該 存儲(chǔ)器件之前緩沖該第二單位數(shù)據(jù),并將該第二單位數(shù)據(jù)與后續(xù)被存儲(chǔ)在緩沖器中的第三 單位數(shù)據(jù)相比較,以判定是將該第二單位數(shù)據(jù)還是將該第三單位數(shù)據(jù)寫入該存儲(chǔ)器件。
全文摘要
本發(fā)明揭示一種操作存儲(chǔ)器件的方法。該方法包括在將存儲(chǔ)器件中的一單元處的第一單位數(shù)據(jù)覆寫為第二單位數(shù)據(jù)之前,判定寫入該第二單位數(shù)據(jù)所需的能量是否多于寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)所需的能量。如果判定寫入具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的第二單位數(shù)據(jù)需要較少能量,該方法還包括使用具有包括反向位的至少一個(gè)子單位數(shù)據(jù)的修改后的第二單位數(shù)據(jù)來(lái)覆寫該第一單位數(shù)據(jù),并配合寫入存儲(chǔ)器的至少一個(gè)位,用于指示具有該反向位的該子單位數(shù)據(jù)在該修改后的單位數(shù)據(jù)中的位置。
文檔編號(hào)G11C7/00GK101765885SQ200880100678
公開(kāi)日2010年6月30日 申請(qǐng)日期2008年8月6日 優(yōu)先權(quán)日2007年8月9日
發(fā)明者T·J·謝納爾 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司