TW200912642A - Method, apparatus and computer program product providing instruction monitoring for reduction of energy usage and energy reduction when storing data in a memory - Google Patents

Method, apparatus and computer program product providing instruction monitoring for reduction of energy usage and energy reduction when storing data in a memory Download PDF

Info

Publication number
TW200912642A
TW200912642A TW097129897A TW97129897A TW200912642A TW 200912642 A TW200912642 A TW 200912642A TW 097129897 A TW097129897 A TW 097129897A TW 97129897 A TW97129897 A TW 97129897A TW 200912642 A TW200912642 A TW 200912642A
Authority
TW
Taiwan
Prior art keywords
data
unit
bit
memory
register
Prior art date
Application number
TW097129897A
Other languages
Chinese (zh)
Other versions
TWI417719B (en
Inventor
Timothy Chainer
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/836,210 external-priority patent/US7783846B2/en
Priority claimed from US11/836,212 external-priority patent/US20090044032A1/en
Application filed by Ibm filed Critical Ibm
Publication of TW200912642A publication Critical patent/TW200912642A/en
Application granted granted Critical
Publication of TWI417719B publication Critical patent/TWI417719B/en

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

A method is disclosed to operate a memory device. The method includes, prior to overwriting a first unit of data at a location in a memory device with a second unit of data, determining if more energy is required to write the second unit of data than to write the second unit of data with at least one sub-unit thereof having bits that are inverted. If it is determined that less energy is required to write the second unit of data with the at least one sub-unit thereof having bits that are inverted, the method further includes overwriting the fast unit of data with a modified second unit of data with the at least one sub-unit thereof having bits that are inverted, in conjunction with writing at least one bit memory for indicating a location in the modified unit of data of the sub-unit of data having the inverted bits. Moreover, a method is disclosed to operate a power advisor. The method includes, reading a fast instruction set; reading a data bus; and reading register value(s) stored in at least one data register. ' This information is analyzed for energy usage purposes. If a set of instruction can provide the same result with a lower energy usage, the fast instruction set is replaced with the lower power usage instruction set. An apparatus and computer program product are also disclosed.

Description

200912642 九、發明說明: 【發明所屬之技術領域】 本發明的示例性具體實施例概略關於 得,更特定而言,係關於儲存資料在一電腦 高能量效率技術。 【先前技術】 在A1 Sakata等人的美國專利公開號US 中揭示一種MRAM的寫入作業;其中使一 性反向所需要的電流必須傳送通過一資料線 量電流。該寫入作業包括比較輸入資料與自 列讀取的讀取資料,並使用一資料編碼器來 料來形成寫入資料。亦揭示使用一資料解碼 資料以形成輸出資料。在一非揮發性半導體 寫入作業期間要寫入之位元數目即可減少, 亦可降低。 在Cohen之美國專利編號6,633,951中 降低在一運算系統中更新動態隨機存取記憶 率之方法及設備,在一具體實施例中,要儲 資料係一次以一字元來評估。對於每個8位 如果其數目超過四,該資料字元的每個位元 資料反向指標位元被設定為邏輯的1,以指 反向。此可允許該資料正確地以資料呈現之 存。由於更新儲存在DRAM中的資料所需要 資料儲存及取 可讀取媒體之 2004/0042292 Μ T J元件之磁 ,造成消耗大 一記憶細胞陣 編瑪該輸入資 器來解碼讀取 記憶體中,於 且該電流消耗 揭示一種用於 體所需要的功 存到D R A Μ之 元資料字元, 被反向,且一 示該資料已被 最少數目來儲 的功率,儲存 200912642 最少數目的資料可降低功率消耗。該資料的讀取決定是否 該資料在儲存時已經被反向,如果是的話,該讀取資料即 被回復到其原始型式。200912642 IX. Description of the Invention: [Technical Field of the Invention] Exemplary embodiments of the present invention are generally related to, and more particularly to, storage of data in a computer high energy efficiency technique. [Prior Art] A write operation of an MRAM is disclosed in U.S. Patent Publication No. U.S. Patent No. 5, the entire disclosure of which is incorporated herein by reference. The write operation includes comparing the input data with the read data read by the self-column and using a data encoder to form the write data. It also discloses the use of a data decoding material to form an output data. The number of bits to be written during a non-volatile semiconductor write operation can be reduced or reduced. A method and apparatus for updating dynamic random access memory in a computing system is reduced in Cohen's U.S. Patent No. 6,633,951. In one embodiment, the data to be stored is evaluated in one character at a time. For each 8 bits, if the number exceeds four, each bit data reverse indicator bit of the data character is set to a logical one to indicate the reverse. This allows the material to be properly presented as a material. Since the data stored in the DRAM is required to be stored and the magnetic content of the readable TJ component of the media can be read, the memory cell array is consumed to decode the read memory. And the current consumption reveals a meta-data character for the body to be stored in the DRA, is reversed, and shows that the data has been stored by a minimum number of powers, storing 200912642 the minimum number of data can reduce the power Consumption. The reading of the data determines whether the data has been reversed at the time of storage, and if so, the read data is returned to its original format.

在Norman的美國專利編號5,873,112中,揭示一種方 法與系統,其中位元的X -位元封包(其中X為一整數)被編 碼,以產生X-位元封包的編碼位元,用於寫入到一快閃記 憶體陣列之抹除的細胞,其中寫入具有一第一數值的一位 元到一抹除的細胞會比寫入具有一第二數值的一位元到該 細胞要消耗較少的功率。一計數信號會對每個封包的原始 位元來產生,以指示具有第一(或第二)數值的封包之位元 數目,該計數信號被處理來產生一控制信號,其可決定該 封包的編碼,及該封包的原始位元根據由該控制信號決定 的一方案來編碼。每個抹除的細胞可指示二元值「1」,且 該計數信號相較於一基準值(代表 X/2)來產生一控制信 號,其可決定該封包是否必須進行極性反向,且該封包根 據該控制信號的數值來反向(或不反向)。該計數信號可對 要被寫入到一陣列之抹除的細胞之每個封包的位元來產生 (其中該計數信號指示在該封包中位元的數目具有一特定 值),且每個封包依照由相對應計數信號決定的方式來編 碼,以降低寫入該等編碼位元到該等抹除細胞所需要的功 率。指示每個封包之編碼的旗標位元被產生,且該等旗標 位元(以及該等編碼封包)被儲存在該快閃記憶體陣列的細 胞中。 控制記憶體功率消耗之其它技術係揭示於IBM技術 200912642 文摘30卷1期,1987年6月304-305頁「資料相關寫入 的功率降低方案」(Power Reduction Scheme with Data-Dependent Write) ; IBM 技術文摘 11-89,415-416 頁 「高效能記憶體之功率降低」(Reduced Power for High Performance Memory);及在 IEEE 論文,Marcello Duhalde ’等人提出(1995),1057-1 060頁「一高效能模組化嵌入式 ROM 架構」(A High Performance Modular Embedded ROM 广、 Architecture) ° c? 需要對於這些習用技術的改良來更進一步降低目前可 使用及未來的資料儲存裝置及系統中的功率消耗,以及所 造成由功率消耗產生的熱負載。 【發明内容】 根據本發明之示例性具體實施例,前述及其它問題已 被克服,並可實現其它優點。 本發明之示例性具體實施例之第一態樣提供:一種方 Q 法來操作一記憶體裝置。該方法包括在利用一第二單元的 資料在記憶體裝置中一位置處覆寫一第一單元的資料之 前’決定相較於利用具有反向位元之至少一次單元寫入該 第二單元的資料,是否寫入該第二單元的資料需要較多能 量;如果決定利用具有反向位元之至少一次單元寫入該第 二單元的資料需要較少能量,則利用具有反向位元之至少 一次單元’以一修正第二單元的資料來覆寫該第一單元的 資料,並配合寫入至少一位元,以指示在具有該反向位元 7 200912642 之該次單元的該修正單元的資料中的一位置。A method and system is disclosed in U.S. Patent No. 5,873,112, the entire disclosure of which is incorporated herein by reference to the entire disclosure of the entire disclosure of the entire disclosure of the disclosure of An erased cell to a flash memory array, wherein writing a cell having a first value to an erased cell consumes less than writing a bit having a second value to the cell Power. A count signal is generated for the original bit of each packet to indicate the number of bits of the packet having the first (or second) value, the count signal being processed to generate a control signal that determines the packet's The encoding, and the original bits of the packet are encoded according to a scheme determined by the control signal. Each erased cell can indicate a binary value of "1", and the count signal produces a control signal relative to a reference value (representing X/2), which can determine whether the packet must be reversed in polarity, and The packet is inverted (or not inverted) based on the value of the control signal. The count signal can be generated for a bit of each packet to be written to an array of erased cells (where the count signal indicates that the number of bits in the packet has a particular value), and each packet Coding is performed in a manner determined by the corresponding count signal to reduce the power required to write the coded bits to the erased cells. Flag cells indicating the encoding of each packet are generated, and the flag bits (and the encoded packets) are stored in the cells of the flash memory array. Other techniques for controlling memory power consumption are disclosed in IBM Technology 200912642 Abstract 30, Issue 1, June 1987, pages 304-305, "Power Reduction Scheme with Data-Dependent Write"; IBM Technical Abstracts 11-89, 415-416, "Reduced Power for High Performance Memory"; and in the IEEE paper, Marcello Duhalde' et al. (1995), 1057-1 060 "One High-Performance Modular Embedded ROM Architecture (A High Performance Modular Embedded ROM Architecture) ° c? Improvements to these conventional technologies are needed to further reduce power consumption in currently available and future data storage devices and systems And the resulting thermal load due to power consumption. SUMMARY OF THE INVENTION The foregoing and other problems have been overcome and other advantages are realized in accordance with the exemplary embodiments of the invention. A first aspect of an exemplary embodiment of the present invention provides a method of operating a memory device by a square Q method. The method includes: prior to overwriting a first cell of data at a location in the memory device using data from a second cell, determining to write to the second cell compared to using at least one cell having a reverse bit Data, whether it is required to write the data of the second unit requires more energy; if it is decided to use less than one unit with the reverse bit to write the data of the second unit, less energy is needed, and at least the reverse bit is utilized. The primary unit 'overwrites the data of the first unit with a modified second unit data, and writes at least one bit to indicate the correction unit of the secondary unit having the reversed bit 7 200912642 A location in the data.

本發明之示例性具體實施例之另一態樣提供:一種設 備來操作一記憶體裝置,其包括一記憶體控制單元,其經 配置以在利用一第二單元的資料在記憶體裝置中一位置處 覆寫一第一單元的資料之前,決定相較於利用具有反向位 元之至少一次單元寫入該第二單元的資料,是否寫入該第 二單元的資料需要較少能量;該記憶體控制單元更經配 置,以回應於相較於利用具有反向位元之至少一次單元寫 入該第二單元的資料,寫入該第二單元的資料需要較少能 量之決定,配合一指標欄位,對該記憶體裝置,利用具有 反向位元之該至少一次單元,傳送一修正第二單元的資 料,其中該指標欄位包含至少一位元,以指示在具有該反 向位元之該次單元的資料之該修正單元的資料的一位置。 本發明示例性具體實施例之另一態樣提供:一種電腦 可讀取記憶體媒體,其可儲存電腦程式指令,其執行時造 成的作業包含:在利用一第二單元的資料在記憶體裝置中 一位置處覆寫一第一單元的資料之前,決定相較於利用具 有反向位元之至少一次單元寫入該第二單元的資料,是否 寫入該第二單元的資料需要較多能量;如果決定利用具有 反向位元之至少一次單元寫入該第二單元的資料需要較少 能量,則利用具有反向位元之至少一次單元,以一修正第 二單元的資料來覆寫該第一單元的資料,並配合寫入至少 一位元,以指示在具有該反向位元之該次單元的該修正單 元的資料中的一位置。 8 200912642Another aspect of an exemplary embodiment of the present invention provides an apparatus for operating a memory device including a memory control unit configured to utilize a second unit of data in a memory device Before the location of the data of the first unit is overwritten, it is determined that it is less energy to write the data of the second unit than the data written to the second unit by using at least one unit having the reversed bit; The memory control unit is further configured to respond to the data written to the second unit by using at least one unit having the reversed bit, and the data written to the second unit requires less energy to determine An indicator field for transmitting, by the at least one unit having the reverse bit, a data of the modified second unit, wherein the indicator field includes at least one bit to indicate that the reverse bit is present A position of the data of the correction unit of the data of the sub-unit. Another aspect of an exemplary embodiment of the present invention provides a computer readable memory medium capable of storing computer program instructions, the operations of which are performed by: utilizing a second unit of data in a memory device Before the information of the first unit is overwritten at the middle position, it is determined that whether the data of the second unit is written into the second unit is more energy than the data written to the second unit by using at least one unit having the reversed bit. If it is decided that the data written to the second unit by at least one unit having the reverse bit requires less energy, then the at least one unit having the reversed bit is used to overwrite the data of the second unit with a correction. The data of the first unit is matched with at least one bit to indicate a position in the data of the correction unit of the secondary unit having the reversed bit. 8 200912642

本發明之示例性具體實施例之又一態樣提供一種方法 來操作一記憶體控制單元。該方法包括:讀取儲存在一記 憶體位置中的目前資料;與該目前資料比較要被寫入的輸 入資料,並計算如果藉由執行該目前資料與該輸入資料之 間的一 「互斥或(e X c 1 u s i v e 0 R)」,並加總該互斥或之結果 中的「1」之數目,該新資料覆寫該目前資料時發生的位元 轉換數目,其中加總結果s u m 1代表如果該輸入資料覆寫 該目前資料時將會發生的位元轉換的數目;比較sum 1與 一預定閥值,且如果suml等於或超過該閥值,否定該輸 入資料的所有或部份,與該目前資料執行一互斥或,並計 算一第二sum2,其中如果該否定的輸入資料之sum2+l的 數值小於sum 1,則位元轉換的數目將在如果該否定的輸入 資料被寫入到該記憶體位置中時被降低;及在一相對應指 標欄位中,設定至少一指標位元,以指示是否該輸入資料 被儲存,或是否該輸入資料的所有或一部份之否定型式被 儲存在該記憶體位置中。 本發明之示例性具體實施例之另一態樣提供一種方法 來操作一功率調配器。該方法包括讀取一第一指令集;讀 取一資料匯流排;並讀取儲存在至少一資料暫存器中的暫 存器值。此資訊為了能量使用目的來分析。如果一組指令 可提供使用較低能量的相同結果,該第一指令集即被該較 低功率使用指令集所取代。 本發明之示例性具體實施例之又一態樣提供一種設 備,其耦合於一指令暫存器、一資料匯流排、及至少一資 9 200912642 第—指令集;讀取該資料匯流排; 器中的暫存器值》該設備為了能 。如果一組指令可提供使用較低 料暫存器。该設傷讀取該 並讀取儲存在該資料暫存 量使用目的來分析此資訊Yet another aspect of an exemplary embodiment of the present invention provides a method of operating a memory control unit. The method includes: reading current data stored in a memory location; comparing input data to be written with the current data, and calculating a mutual exclusion between execution of the current data and the input data Or (e X c 1 usive 0 R)", and add the number of "1"s in the result of the mutual exclusion, the number of bit conversions that occur when the new data overwrites the current data, wherein the sum result sum 1 represents the number of bit transitions that will occur if the input data overwrites the current data; compares sum 1 with a predetermined threshold, and if suml equals or exceeds the threshold, denies all or part of the input data Executing a mutual exclusion with the current data, and calculating a second sum2, wherein if the value of the sum2+l of the negative input data is less than sum1, the number of bit conversions will be if the negative input data is When it is written to the memory location, it is lowered; and in a corresponding indicator field, at least one indicator bit is set to indicate whether the input data is stored, or whether all or part of the input data is input. Negative patterns are stored in the memory location. Another aspect of an exemplary embodiment of the present invention provides a method of operating a power adapter. The method includes reading a first set of instructions; reading a data bus; and reading a register value stored in the at least one data register. This information is analyzed for energy usage purposes. If a set of instructions can provide the same result using lower energy, the first set of instructions is replaced by the lower power use instruction set. Yet another aspect of an exemplary embodiment of the present invention provides an apparatus coupled to an instruction register, a data bus, and at least one of the 2009-1242 first instruction sets; reading the data bus; The register value in the device is for the device. If a set of instructions can provide a lower material register. The scratch is read and the information stored in the data temporary storage is used to analyze the information.

能音的相同,结果’ 第一* 4t A 4曰·7集即被該較低功率使用指令 集所取代。The phonogram is the same, and the result 'the first * 4t A 4 曰 · 7 episode is replaced by the lower power use instruction set.

本發明示例生具體實施例之另一態樣提供一種電腦可 讀取記憶體媒體,其可儲存電腦程式指令,其執行時造成 的作業包含·讀取第—指令集;讀取一資料匯流排丨並 讀取儲存在至少一資料暫存器中的暫存器值。此資訊為了 能量使用目的來为析。如果一組指令可提供使用較低能量 的相同結果’該第—指令集即被該較低功率使用指令集所 取代。 本發明之示例性具體實施例之又一態樣提供一種設 備。該設備具有的構件用於包括讀取一第—指令集;讀取 一資料匯流排;並讀取儲存在至少一資料暫存器中的暫存 器值。該設備為了能量使用目的來分析此資訊。如果一組 指令可提供使用較低能量的相同結果,該第一指令集即被 該較低功率使用指令集所取代。 本發明之示例性具體實施例之又另一態樣提供一種方 法來操作一功率調配器。該方法包括讀取一第一指令集; 讀取一資料匯流排;並讀取儲存在至少一資料暫存器中的 暫存器值。此資訊為了能量使用目的來分析。如果一組指 令可提供使用較低能量的相同結果,該第一指令集即被該 較低功率使用指令集所取代。 10 200912642 本發明之示例性具體實施例之又一態樣提供一種設 備,其耦合於一指令暫存器、一資料匯流排、及至少一資 料暫存器。該設備讀取該第一指令集;讀取該資料匯流排; 並讀取儲存在該資料暫存器中的暫存器值。該設備為了能 量使用目的來分析此資訊。如果一組指令可提供使用較低 能量的相同結果,該第一指令集即被該較低功率使用指令 集所取代。 本發明示例性具體實施例之另一態樣,提供一種電腦 可讀取記憶體媒體,其可儲存電腦程式指令,其執行時造 成的作業包含:讀取一第一指令集;讀取一資料匯流排; 並讀取儲存在至少一資料暫存器中的暫存器值。此資訊為 了能量使用目的來分析。如果一組指令可提供使用較低能 量的相同結果,該第一指令集即被該較低功率使用指令集 所取代。 本發明之示例性具體實施例之另一態樣提供一種設 備。該設備具有的構件用於包括讀取一第一指令集;讀取 一資料匯流排;並讀取儲存在至少一資料暫存器中的暫存 器值。該設備為了能量使用目的來分析此資訊。如果一組 指令可提供使用較低能量的相同結果,該第一指令集即被 該較低功率使用指令集所取代。 【實施方式】 本發明的示例性具體實施例之使用可以降低儲存資訊 在一記憶體裝置中所需要的能源量。 11Another aspect of the exemplary embodiment of the present invention provides a computer readable memory medium capable of storing computer program instructions, the operations caused by the execution include: reading a first instruction set; reading a data bus丨 and read the scratchpad value stored in at least one data register. This information is for the purpose of energy use. If a set of instructions can provide the same result using lower energy, the first instruction set is replaced by the lower power usage instruction set. Yet another aspect of an exemplary embodiment of the present invention provides an apparatus. The device has means for reading a first instruction set; reading a data bus; and reading a temporary value stored in at least one data register. The device analyzes this information for energy usage purposes. If a set of instructions can provide the same result using lower energy, the first set of instructions is replaced by the lower power use instruction set. Yet another aspect of an exemplary embodiment of the present invention provides a method of operating a power adapter. The method includes reading a first set of instructions; reading a data bus; and reading a register value stored in the at least one data register. This information is analyzed for energy usage purposes. If a set of instructions provides the same result using lower energy, the first set of instructions is replaced by the lower power usage instruction set. 10 200912642 Yet another aspect of an exemplary embodiment of the present invention provides a device coupled to an instruction register, a data bus, and at least one data register. The device reads the first instruction set; reads the data bus; and reads the value of the register stored in the data register. The device analyzes this information for energy usage purposes. If a set of instructions can provide the same result using lower energy, the first set of instructions is replaced by the lower power usage instruction set. In another aspect of an exemplary embodiment of the present invention, a computer readable memory medium is provided, which can store computer program instructions, and the operations caused by the execution include: reading a first instruction set; reading a data Bus; and reads the value of the scratchpad stored in at least one data register. This information is analyzed for energy use purposes. If a set of instructions can provide the same result using lower energy, the first set of instructions is replaced by the lower power use instruction set. Another aspect of an exemplary embodiment of the present invention provides an apparatus. The device has means for reading a first set of instructions; reading a data bus; and reading the value of the register stored in the at least one data register. The device analyzes this information for energy usage purposes. If a set of instructions can provide the same result using lower energy, the first set of instructions is replaced by the lower power use instruction set. [Embodiment] The use of an exemplary embodiment of the present invention can reduce the amount of energy required to store information in a memory device. 11

200912642 本發明的示例性具體實施例利用的技術可降低數位 料之轉換(1到〇或〇到1 )之數目,因此降低當儲存資料 一記憶體裝置中所消耗的能量。使用本發明之示例性具 實施例對於記憶體裝置有好處,其中要改變該記憶體狀 之能量為主要的能量項目。在一第一示例性具體實施 中,先前儲存在一記憶體裝置中一單元的資料在寫入前 讀取,以決定是否該單元的資料之某部份或該單元的資 之該部份的否定型式可利用較少的轉換以及因此用較低 量來儲存。如果當其決定該單元的資料之某部份可利用 少的轉換來儲存時,即儲存一或多個指標來指定該單元 資料之那一部份或那些部份會以反向的型式來儲存。該( 指標在當該單元的資料被讀取來用於恢復該單元的資料 其原始型式時即可在後續取得。 在另一示例性具體實施例中,對於在儲存的單元之 料中建立對於二元值0的統計偏差,使得當資料利用先 儲存的資料被寫入到一記憶體位置時可降低轉換的數目 藉由簡介,第1圖為適用於實施本發明之資料處理 統10的簡化區塊圖。系統10包括至少一處理器12,其 合於至少一記憶體1 4。相關於記憶體1 4為一記憶體控 單元1 6,其根據本發明之示例性具體實施例來建構及 作,藉以助於降低當該資料被儲存時之轉換的數目來分 要儲存在記憶體1 4中的資料。為了簡化起見,互連這些 件之多種匯流排1 8 A、1 8 B及1 8 C之細節並未顯示(例如 址、資料及控制匯流排之細節)。 資 在 體 態 例 被 料 能 較 的 等) 到 資 前 〇 系 輕 制 操 析 組 位 12200912642 Exemplary embodiments of the present invention utilize techniques that reduce the number of digital material conversions (1 to 〇 or 〇 to 1), thus reducing the amount of energy consumed in storing a data device. The use of an exemplary embodiment of the present invention is advantageous for a memory device in which the energy of the memory is to be changed as a primary energy item. In a first exemplary implementation, data previously stored in a unit in a memory device is read prior to writing to determine whether a portion of the data of the unit or the portion of the unit is Negative patterns can utilize fewer conversions and therefore are stored with lower amounts. If it is determined that a portion of the data of the unit can be stored with less conversion, that is, one or more indicators are stored to specify which part or portions of the unit data will be stored in the reversed version. . The indicator can be obtained subsequently when the data of the unit is read for restoring the original version of the unit's data. In another exemplary embodiment, for establishing a pair in the stored unit material The statistical deviation of the binary value 0 makes it possible to reduce the number of conversions when the data is first written to a memory location by using the first stored data. By way of introduction, FIG. 1 is a simplified diagram of the data processing system 10 suitable for implementing the present invention. Block diagram. System 10 includes at least one processor 12 that is coupled to at least one memory 14. The memory associated with memory 14 is a memory control unit 16, which is constructed in accordance with an exemplary embodiment of the present invention. In order to reduce the number of conversions when the data is stored, the data to be stored in the memory 14 is divided. For the sake of simplicity, a plurality of busbars interconnecting these pieces are connected to the 8 8 A, 1 8 B And the details of 1 8 C are not shown (such as the details of the address, data and control bus). The capital is in the form of the material can be compared to the previous one.

200912642 請注意在一些具體實施例中,處理器1 2可 體控制單元1 6連接至記憶體1 4,且在此例中 可以不存在。亦請注意到在一些具體實施例中 之全部或部份可以位在處理器12之遠處,其可 憶體控制單元1 6。在此例中,一或多個匯流排 18C可為區域電氣或光學匯流排,或可為遠端 網路(LAN, “Local area network”)、有線或無線 路,像是網際網路。 資料處理系統1 〇可假設任何適當型式,像 電腦、一工作站、一桌上型(例如個人)電腦, 筆記型電腦,或一做為嵌入在另一個裝置中的 統。處理器1 2可為任何種類之資料處理器,包 件所構成、或在一單一積體電路内以整合型式 是微處理器。處理器12可具有一單一核心或 構。記憶體1 4可為任何種類的適當記憶體,並 在一或多個半導體式的記憶體中,像是半導體 取記憶體(RAM,“Random access memory”)或 1 或其可具體實施成一磁性儲存媒體,例如碟片 其它具體實施例中,記憶體1 4可為基於磁性乂 阻 RAM)之半導體式的技術。概言之,本發明 體實施例特別有用於那些種類的資料儲存記憶 要不可忽略的能量數量來改變一資料儲存位置 就是說,要由儲存一零位元到儲存一位元及/或 元到一零位元來轉換該資料儲存位置。 僅透過記憶 匯流排1 8 A ,記憶體1 4 為相關的記 1 8 A、1 8B、 ,像是區域 ,或廣域網 是一主機型 一膝上型或 資料處理糸 括由多個組 所構成,像 一多核心架 可具體實施 靜態隨機存 * 態 RAM, 或磁帶。在 g理(像是磁 的示例性具 體,其中需 的狀態,也 由儲存一位 13 200912642 記憶體控制單元1 6可整合於記憶體1 4,或其可為一 獨立單元。其亦可具有額外的功能性,像是操作成一 DRAM 控制單元,或成為一碟片或磁帶控制器。200912642 Please note that in some embodiments, the processor 1 2 control unit 16 is coupled to the memory 14 and may not be present in this example. It should also be noted that in whole or in part some embodiments may be located remotely from the processor 12, which may be in the memory control unit 16. In this example, one or more of busbars 18C may be regional electrical or optical busbars, or may be a remote network (LAN, "Local area network"), wired or wireless, such as the Internet. The data processing system 1 can assume any suitable type, such as a computer, a workstation, a desktop (e.g., personal) computer, a notebook computer, or a system embedded in another device. Processor 12 can be any type of data processor, packaged, or integrated in a single integrated circuit. Processor 12 can have a single core or architecture. The memory 14 can be any kind of suitable memory, and in one or more semiconductor memories, such as a semiconductor memory (RAM, "Random access memory") or 1 or it can be embodied as a magnetic Storage Media, Such as Discs In other embodiments, the memory 14 may be a semiconductor-based technology based on magnetically resistive RAM. In summary, the embodiments of the present invention are particularly useful for those types of data storage memories to change the amount of energy to change a data storage location, that is, to store a zero bit to store a bit and/or to One zero bit to convert the data storage location. Only through the memory bus 1 8 A, the memory 1 4 is related to the record 18 A, 1 8B, like the area, or the WAN is a host type one laptop or data processing consists of multiple groups , like a multi-core rack can be implemented statically random state RAM, or tape. In the case of magnetic (such as magnetic specific example, the required state, also by storing a bit 13 200912642 memory control unit 16 can be integrated into the memory 14, or it can be a stand-alone unit. It can also have Additional functionality, such as operating as a DRAM control unit, or becoming a disc or tape controller.

請注意到在一些具體實施例中,第1圖所示之所有組 件可以整合在相同的積體電路内。請另外注意到在一些具 體實施例中,記憶體1 4之至少一些可為處理器1 2之内部 記憶體的一部份,其包括(但不限於)處理器1 2 R A Μ、暫存 器及暫存器檔案。 根據本發明示例性具體實施例且亦參照第2圖,記憶 體控制單元1 6用於以某種間距引入一或多個指標位元(指 標)到一資料流中,其係基於比較要被寫入到記憶體1 4中 一特定位置之資料(輸入資料)與目前儲存在該特定位置中 的貧料(目前資料)。 例如,假設一狀況為: 輸入資料 = 1 0000 1 1 1 目前資料= 11111111 例如記憶體控制單元1 6的一比較單元1 6 Α用於選擇 性地控制反向器1 6 B —記憶庫的個別位元,以反向要寫入 到記憶體1 4之新資料中的某些位元,以降低位元轉換的數 目,並產生指標位元來代表該新資料。在此非受限制性範 例中,其假設一資料單元長度為一位元組(8位元),一暫 存器2 0可被提供來保持自記憶體1 4讀取的目前資料(例如 14It is noted that in some embodiments, all of the components shown in Figure 1 can be integrated into the same integrated circuit. Please note that in some embodiments, at least some of the memory 14 may be part of the internal memory of the processor 12, including but not limited to the processor 1 2 RA 暂, the register And the scratchpad file. According to an exemplary embodiment of the present invention and also referring to FIG. 2, the memory control unit 16 is configured to introduce one or more indicator bits (indicators) into a data stream at a certain interval, which is based on comparison The data (input data) written to a specific location in the memory 14 is associated with the poor material (current data) currently stored in the specific location. For example, suppose a condition is: Input data = 1 0000 1 1 1 Current data = 11111111 For example, a comparison unit 16 of the memory control unit 16 is used to selectively control the inverter 16 6 B - the individual of the memory bank The bit, in reverse, is written to certain bits in the new data of the memory 14 to reduce the number of bit conversions and generate indicator bits to represent the new data. In this non-limiting example, assuming that a data unit is one-tuple (8-bit) in length, a register 20 can be provided to hold the current data read from the memory 14 (eg, 14).

200912642 全為1),且該輸入資料,其中 D7為 1,D6-D3為 D 2 - D 0為1。明顯地,直接寫入該輸入資料到記憶j 造成四個位元(D 6 - D 3 )的轉換。為了避免此狀況,比 1 6 A偵測到將用於轉換的位元數目等於或超過某個 閥值(例如 2、3或 4 ),並回應來設定反向器控制 16C >以使得在位元D7-D3之路徑中的反向器16B 該等相對應位元(假設如果一反向控制信號線 1 6 C 定,則相對應反向器1 6 B僅簡單地傳送該位元通過 它反向,或一開關僅越過該反向器。在此例中的結 新資料到記憶體1 4採取型式如下: 新資料= 01111111 > 為僅在8個位元中一個位元(在此例中為D 7)中 換的結果。三個指標位元12、11、10可用於指示在 料中配對反向之開始點。在一非受限制範例中,序 指示沒有改變,而其餘序列可代表由1到7的數目 那一個位元為開始位元(例如 0 1 1指示第三位元及 改變,而 0 0 1指示所有位元皆改變)。在此例中, 換到 1,使得指標位元讀取為 1 0 0,以指示第四位 及以上被反向。即使利用此額外位元開關,在被切 元總數上有一淨減少。如所瞭解,寫入該新資料到 所需要的能量明顯地比直接寫入該資料而不反向任 所需要的能量要低。 0,且 I 14將 較單元 預定的 信號線 來反向 並未設 但不將 果為該 造成轉 該新資 列 0 0 0 ,指示 以上被 12被切 .元(D3) 換的位 記憶體 何位元 15 200912642200912642 is all 1), and the input data, where D7 is 1, D6-D3 is D 2 - D 0 is 1. Obviously, writing the input data directly to memory j results in a conversion of four bits (D 6 - D 3 ). In order to avoid this situation, it is detected that the number of bits to be used for conversion equals or exceeds a certain threshold (for example, 2, 3 or 4), and responds to set the inverter control 16C > The inverter 16B in the path of the bit D7-D3 corresponds to the corresponding bit (assuming that if a reverse control signal line 16 C is determined, the corresponding inverter 16 B simply transmits the bit through It reverses, or a switch only crosses the inverter. In this example, the new data is taken to the memory 14 as follows: New data = 01111111 > is only one bit in 8 bits (in In this case, the result of the change in D 7). The three indicator bits 12, 11, 10 can be used to indicate the starting point of the pairing inversion in the material. In a non-restricted example, the order indication is unchanged, while the rest The sequence may represent the number of bits from 1 to 7 as the start bit (eg 0 1 1 indicates the third bit and change, and 0 0 1 indicates that all bits change). In this case, switch to 1 , so that the indicator bit is read as 1 0 0 to indicate that the fourth bit and above are reversed. Even with this extra bit switch, There is a net reduction in the total number of tangents. As is known, the energy required to write the new data is significantly lower than the energy required to write directly to the data without reversing it. 0, and I 14 will Compared with the predetermined signal line of the unit, the reverse direction is not set, but the result is that the new resource column 0 0 0 is indicated, indicating that the bit memory replaced by the 12 yuan (D3) is replaced by the bit memory 15 200912642

為了能夠在後續自記憶體1 4讀取此資料,並將其回復 到原始型式,很重要地是設定一指標來通知記憶體控制單 元1 6的讀取單元1 6 D在當該資料被儲存時那些位元被反 向(如果有的話)。該指標可採用一些不同的型式。在第2 圖所例示的範例中,在套用該位元反向之資料單元中最有 效位元位置(例如由D 7計數)被編碼成一 3位元值,應當作 指標位元傳送到記憶體1 4,用於相關於該儲存的資料單元 之儲存器。在上述的非限制性範例中,該指標值將為 4( 1 00)。然後,當此資料單元自記憶體1 4讀回時,讀取單 元1 6 D執行該互補運作來反向所有那些位元到該指標的數 值(在此例中為位元 D7-D4),藉以恢復該資料到其原始型 式,藉此提供該輸出資料到處理器1 2或某個其它組件。 在此具體實施例中,有可能加入一額外指標位元來指 定該三個指標位元是否必須被解譯成由D 0計數(該資料單 元的LSB)或自D7計數(該資料單元的MSB)。 在目前所述的範例中,在施加有反向之資料單元中的 邊界隨著不同資料單元而改變,其係根據由比較單元1 6 A 所得到的結果。在另一具體實施例中,該資料單元可被區 隔成預定的次單元(例如在目前所述之示例中為 4位元次 單元),然後對於每個次單元提供一指標位元來指示該相對 應次單元是否有被反向或未被反向。在上述的範例中假設: 輸入資料 = 1 000 0 1 1 1 目前資料= 11111111, 16 200912642 然後套用該比較閥值到每個次單元會僅造成最左方的 次單元被反向,致使: 新資料= 01110111。In order to be able to read this data from the memory 14 and restore it to the original type, it is important to set an indicator to notify the reading unit 16 of the memory control unit 16 that the data is stored. When those bits are reversed (if any). This indicator can be used in a number of different styles. In the example illustrated in Figure 2, the most significant bit position (e.g., counted by D 7) in the data unit in which the bit is reversed is encoded into a 3-bit value, which should be transmitted to the memory as an indicator bit. 1 4, for storage associated with the stored data unit. In the above non-limiting example, the indicator value will be 4 (100). Then, when the data unit is read back from the memory 14, the reading unit 16 6 D performs the complementary operation to reverse the values of all those bits to the index (in this case, the bits D7-D4), In order to restore the data to its original form, thereby providing the output data to the processor 12 or some other component. In this particular embodiment, it is possible to add an additional indicator bit to specify whether the three indicator bits must be interpreted as being counted by D 0 (the LSB of the data unit) or counted from D7 (the MSB of the data unit) ). In the presently described example, the boundaries in the data unit to which the inverse is applied vary with different data units, based on the results obtained by the comparison unit 16 A. In another embodiment, the data unit can be partitioned into predetermined sub-units (e.g., 4-bit sub-units in the presently described example), and then an indicator bit is provided for each sub-unit to indicate Whether the corresponding secondary unit is reversed or not reversed. Assume in the above example: Input data = 1 000 0 1 1 1 Current data = 11111111, 16 200912642 Then applying the comparison threshold to each sub-unit will only cause the leftmost sub-unit to be reversed, resulting in: New Information = 01110111.

L 在此例中的指標欄位僅需要2位元長來代表每個次單 元的配對性,並可具有數值如下 指標 =1 0。 指示該最左方次單元已被反向。 在其它具體實施例中,每個次單元之寬度可為 2位 元,然後該指標欄位之寬度將為4位元,以指示是否該資 料單元的每個相對應2位元有被反向或未被反向。繼續前 述的範例: 輸入資料 = 1 0 00 01 1 1 目前資料 = 11111111, 然後套用該比較閥值(在此例中為 2)到每個次單元會 僅造成第二最左方的次單元被反向,致使: 新資料= 10110111。 17 200912642 在此例中該指標攔位長度僅為4位元,且其數值為 指標 = 0100。 指示該第二最左方次單元已被反向。L In this example, the indicator field only needs 2 bits long to represent the matching of each sub-unit, and can have the following values: =1 0. Indicates that the leftmost subunit has been reversed. In other embodiments, the width of each sub-unit may be 2 bits, and then the width of the indicator field will be 4 bits to indicate whether each corresponding 2-bit of the data unit has been inverted. Or not reversed. Continue with the previous example: Input data = 1 0 00 01 1 1 Current data = 11111111, then apply the comparison threshold (in this case 2) to each sub-unit will only cause the second leftmost sub-unit to be Reverse, causing: New data = 10110111. 17 200912642 In this example, the indicator is only 4 bits long and its value is indicator = 0100. Indicates that the second leftmost subunit has been reversed.

在另一範例中,該指標位元欄位可被做成與該資料單 元一樣寬(在此例中為8位元),其中在該指標欄位中的個 別位元被設定或重置來指示在該資料單元中那些相對應位 元分別被反向或未被反向。 可瞭解到,有多種可能的方式來實施本發明的具體實 施例。在另一範例中,並再次參照前述的8為底的指標代 表,兩個以上的這種3位元攔位可被提供來指示選擇性套 用該位元反向之兩個以上的位置。此外,反向器16B可由 某些種類的邏輯閘極所取代,像是互斥或,其作業將造成 選擇性地反向要寫入到記憶體 1 4之位元中所想要的位 元,藉以降低轉換的數目。 再者,必須瞭解到本發明的示例性具體實施例並不僅 限於寬度為8位元之資料單元,如前所述,其可套用到任 何需要寬度的資料單元(例如6 4位元、2 5 6位元等)。 請參照第3 A圖,現在提供記憶體控制單元1 6之作業 的非限制性範例。 步驟A :讀取儲存在一記憶體位置中的目前資料; 步驟B :比較要被寫入的輸入資料與目前資料,並計 18In another example, the indicator bit field can be made as wide as the data unit (in this case, 8-bit), wherein individual bits in the indicator field are set or reset. Indicates that the corresponding bits in the data unit are reversed or not reversed, respectively. It will be appreciated that there are many possible ways to implement specific embodiments of the invention. In another example, and referring again to the aforementioned 8-based indicator representation, more than two such 3-bit barriers can be provided to indicate the selective application of more than two locations of the bit inversion. In addition, the inverter 16B can be replaced by some kind of logic gate, such as a mutual exclusion, or its operation will cause a selective reverse to be written to the desired bit in the bits of the memory 14. In order to reduce the number of conversions. Furthermore, it must be understood that the exemplary embodiments of the present invention are not limited to data units having a width of eight bits, as described above, which can be applied to any data unit requiring a width (eg, 64 bits, 2 5 6 bits, etc.). Referring to Figure 3A, a non-limiting example of the operation of the memory control unit 16 is now provided. Step A: reading the current data stored in a memory location; Step B: comparing the input data to be written with the current data, and counting 18

200912642 算如果該新資料藉由執行該目前資料與該輸入資料之 互斥或,並加總互斥或之結果中的「1」之數目來覆寫 前資料,其中加總結果sum 1代表如果該輸入資料覆 目前資料時將會發生的位元轉換的數目; 步驟C:比較suml與一預定閥值,且如果suml 或超過該閥值,否定該輸入資料的所有或部份,以該 資料執行一互斥或,並計算一第二sum2,其中如果該 的輪入資料之sum2 +1的數值小於sum 1,則位元轉換 目將在如果該否定的輸入資料被寫入到該記憶體位置 被降低;及 步驟 D :設定至少一指標位元在一相對應指標 中,以指示該輸入資料是否被儲存,或該輸入資料的 或一部份之否定型式是否儲存在該記憶體位置中。 另一步驟E包含後續讀取儲存在該記憶體位置及 對應指標攔位中的資料,並根據在該相對應指標欄位 定的位元來選擇性地反向或不反向該讀取資料的位元 在步驟B中,寫入該資料所需要的能量由Ewrite* + ERead * 8 表示。 前述的範例示於第3 B圖,其中該範例假設該目 料皆為0,且該資料的數值範圍由2 5 0到2 5 5。在此例 一指標位元以一 8位元字元來使用。加入一位元來指 配對中的改變顯示在S u m X 〇 r + 1,其代表在該配對改 後將被切換之位元的總數。 第4圖所述為根據本發明示例性具體實施例中操 間的 該目 寫該 等於 目前 否定 的數 中時 欄位 所有 該相 中設 〇 Sum 前資 中, 示該 變之 作一 19 200912642 記憶體裝置的方法說明。該方法包括在區塊4 A中,於利 用一第二單元的資料覆寫一第一單元的資料在記憶體裝置 中一位置處之前,決定寫入第二單元的資料是否要比利用 至少一次單元中將位元反向之第二單元的資料會需要更多 的能量。如果其判定寫入利用至少一次單元中將位元反向 之第二單元的資料會需要較少的能量,該方法另包括在區 塊4B中利用至少一次單元中將位元反向之修正的第二單 元的資料來覆寫第一單元的資料,並配合寫入至少一位元 來指示在具有反向的位元之次單元的資料之修正的單元之 資料中的位置。 第3A圖及第4圖中所示的多個區塊可以視為方法步 驟、及/或視為作業,其由於儲存在一電腦可讀取媒體中的 電腦程式碼之執行結果,及/或建構成執行相關功能之複數 個耦合的邏輯電路元件。亦請注意到第2圖所示之記憶體 控制單元1 6之部份或全部功能可藉由單獨或結合於硬體 電路來執行儲存在一電腦可讀取媒體中的電腦程式碼來實 施。 亦必須注意到該指標攔位可儲存成相關於在相同記憶 體1 4中相對應資料位元,或者其可分別儲存在相同或不同 種類之另一記憶體中,其被定址並同步於定址及讀取該(資 料)記憶體1 4來讀取。 請另注意到套用本發明此具體實施例可提供儲存在記 憶體1 4中該資料之安全位準,其不需要儲存在該指標攔位 中相對應的資訊,其將更為困難來讀出及解譯該資料(具有 20200912642 If the new data is overwritten by the execution of the mutual exclusion of the current data and the input data, and the total number of "1"s in the mutually exclusive or results, the summation result sum 1 represents The number of bit conversions that will occur when the input data is overwritten with the current data; Step C: Compare suml with a predetermined threshold, and if suml or exceeds the threshold, negate all or part of the input data to the data Executing a mutual exclusion or, and calculating a second sum2, wherein if the value of sum2 +1 of the rounded data is less than sum 1, the bit conversion destination will be if the negative input data is written to the memory The position is lowered; and step D: setting at least one indicator bit in a corresponding indicator to indicate whether the input data is stored, or whether a negative version of the input data or a part of the input data is stored in the memory location . Another step E includes subsequently reading the data stored in the memory location and the corresponding indicator block, and selectively reversing or not reversing the read data according to the bit in the corresponding indicator field. Bits In step B, the energy required to write the data is represented by Ewrite* + ERead * 8. The foregoing example is shown in Figure 3B, where the example assumes that the object is all 0 and the value of the data ranges from 2 50 to 2 5 5 . In this example, an indicator bit is used in an 8-bit character. Adding a bit indicates that the change in the pairing is displayed at S u m X 〇 r + 1, which represents the total number of bits that will be switched after the pairing is changed. Figure 4 is a diagram showing the fact that the field in the exemplary embodiment in accordance with the exemplary embodiment of the present invention is equal to the current negative number in the field, all of the phases are set in the Sum predecessor, and the change is made as a 19 200912642 Description of the method of the memory device. The method includes, in block 4 A, determining whether the data written to the second unit is used at least once before overwriting a data of the first unit with a data of the second unit at a position in the memory device. The data in the second unit that reverses the bit in the cell will require more energy. If it is determined that writing data using the second unit that reverses the bit in at least one of the cells would require less energy, the method further includes correcting the bit inversion in at least one of the cells in block 4B. The data of the second unit overwrites the data of the first unit, and writes at least one bit to indicate the position in the data of the unit of the correction of the data of the secondary unit having the reversed bit. The plurality of blocks shown in FIGS. 3A and 4 may be considered as method steps, and/or as jobs, due to execution results of computer code stored in a computer readable medium, and/or A plurality of coupled logic circuit elements that perform the relevant functions are constructed. It is also noted that some or all of the functions of the memory control unit 16 shown in Fig. 2 can be implemented by executing computer code stored in a computer readable medium, either alone or in combination with a hardware circuit. It must also be noted that the indicator block can be stored in relation to the corresponding data bit in the same memory 14, or it can be stored in another memory of the same or different kind, which is addressed and synchronized to the address. And read the (data) memory 1 4 to read. Please note that the specific embodiment of the present invention provides a safe level of the data stored in the memory 14, which does not require the corresponding information stored in the indicator block, which would be more difficult to read. And interpret the information (with 20

200912642 選擇性地整個反向之多個位元)。 本發明的具體實施例亦關於具有圖案化媒 機。 本發明的示例性具體實施例可套用到硬碟機 的育料串流儲存在磁區中。目刖磁碟機在一磁區 存5 1 2位元組,而磁區基本上以區塊重新寫入。 它的磁碟機媒體被投影而圖案化,其方式為每個 於該圖案化媒體之個別分散的部份,並可個別地 由降低1到0或反之亦然的轉換數目,該寫入電 低。在一很長的資料串流中,可套用該等指標位 一磁區為在一硬碟機上資料儲存的基本單元 「磁區」源自數學術語,其稱之為一圓形的派形声 由半徑限制兩側,第三側由該圓形的周長限制。名 一硬碟包含形成一圓形之預定磁區的一群組,且 的一給定圓形被定義成一單一磁執。一同心圓群 定義一碟盤的一單一表面。早期硬碟機之每個磁 有相同數目的磁區*且基本上在每個磁軌中磁區 不同型號之間皆相當標準。當一硬碟機以其預 時’每個磁區能夠儲存5 1 2位元組的資料。在硬 中目前的進展已經允許每個磁軌的磁區(“SPT” p e r t r a c k ’’)數目可以顯著地改變。 本發明的示例性具體實施例之好處可同時適 個磁軌固定數目的磁區之硬碟機與具有每個磁軌 之硬碟機。本發明之示例性具體實施例亦可用於 體之硬碟 ,其中長 中大約儲 但是,其 位元存在 寫入。藉 流可以降 元。 。該術語 i度區段, L本質上, 預定磁區 •組(磁軌) 執位置具 的數目在 設值預備 碟機技術 ,“Sector 用具有每 可變數目 改善基於 21 200912642 圖案化媒體之硬碟機,其中個別位元可分別被記錄(其相對 於在每次寫入作業記錄至少一整個磁區)。 一磁區的貧料之指標爛位可視需要儲存在該磁區的開 頭或結束處。另外,一給定磁軌的一或多個磁區可專用於 儲存在該磁軌中所有磁區的指標欄位。亦可使用相對於所 儲存的磁碟資料之指標資訊的其它配置。200912642 Selectively multiple bits in the entire reverse). Particular embodiments of the invention are also directed to having a patterned medium. An exemplary embodiment of the present invention can be used to load a germ stream of a hard disk drive in a magnetic zone. It is seen that the disk drive stores 5 1 2 bytes in a magnetic region, and the magnetic region is substantially rewritten in blocks. Its disk drive media is projected and patterned in a manner that is each of the individual discrete portions of the patterned media, and can be individually reduced by a number of transitions from 1 to 0 or vice versa. low. In a very long data stream, the basic area of the data storage area can be applied to a hard disk drive. The "magnetic area" is derived from mathematical terminology, which is called a circular pie pattern. The sides are bounded by a radius, and the third side is limited by the circumference of the circle. A hard disk contains a group forming a circular predetermined magnetic zone, and a given circle is defined as a single magnetic bar. A concentric group defines a single surface of a disc. Each of the early hard disk drives has the same number of magnetic regions* and is substantially standard between different models in each magnetic track. When a hard disk drive is pre-timed, each magnetic zone can store 5 1 2 bytes of data. Current advances in hard have allowed the number of magnetic regions ("SPT" p e r t r a c k '') of each track to vary significantly. An advantage of an exemplary embodiment of the present invention is that a hard disk drive having a fixed number of magnetic tracks and a hard disk drive having each magnetic track can be simultaneously adapted. Exemplary embodiments of the present invention can also be applied to a hard disk of a body in which a long memory is stored but its bits are written. Borrowing can reduce the yuan. . The term i degree section, L essentially, the predetermined magnetic zone • group (track) number of positional devices in the set value of the disc player technology, "Sector with a per-variable number improvement based on 21 200912642 patterned media hard a disc player in which individual bits can be recorded separately (which is recorded with respect to at least one entire magnetic area in each write operation). A poor bit of a magnetic region can be stored at the beginning or end of the magnetic region as needed. In addition, one or more magnetic regions of a given track may be dedicated to the indicator fields stored in all the magnetic regions of the track. Other configurations may be used with respect to the index information of the stored disk data. .

請注意到在使用一磁碟機陣列而實施的一資料儲存具 體實施例中,該陣列有像是便宜碟片冗餘陣列(“RAID”, Redundant array of inexpensive disks)具體實施例,且做為 一非限制範例,8個磁碟機可用於儲存該資料,而一第九 個磁碟機可用於儲存該指標資訊,可配合錯誤偵測及修正 資訊。亦有可能一些其它的RAID式組織。 本發明的示例性具體實施例可用其它方式用於預先處 理要寫入到記憶體之資料。例如,在一些應用中,資料可 經常重新寫入。一非限制性範例為一種應用,其中複數個 客戶端之交易資訊可於一天之内存檔。請參照第5圖,一 資料缓衝器30,像是一先進先出(FIFO, “First in-first out”) 緩衝器,可被提供用於在該客戶端資訊被傳送到記憶體1 4 之前被儲存。藉由讀取並預先處理儲存在資料缓衝器3 0 中的資訊,轉換的數目可以在實際被寫入到記憶體1 4之資 料中被降低。例如,辨識到先前資料位元組# 2匹配該目前 資料,該等轉換不需要被反轉,其將在當資料位元組#2先 被寫入到記憶體3 2,接著是資料位元組# 1,然後是目前資 料位元組時發生。 22 200912642 目前資料 000Oil 11 資料位元組# 1 1 111 1 1 1 1 資料位元組 # 2 Ο Ο Ο Ο 1111 在此例中,並在偵測到目前資料匹配 時’僅有目前資料需要被寫入,而 # 1 (或另外僅資料位元組#2被傳送到記情體 元組# 1及目前資料位元組可被抹除)。 請ί主意到當缓衝器30被描述成儲存| 記憶體3 2中相同的位置時,在其它 3 0可儲存要套用到處理器12夕智+ 、异術邏 “ A r i t h m e t i c 1 〇 g i c u n i t ”)之符列化指人 第6圖所示為一種資料處理器一 〜 σΡ份 像是微處理器60,其中包括ALU 70、暫辛 及C68、指令解碼器62、指令暫存器66、一 址閂鎖78。計數器76及位址閂鎖78被連接 80。微處理器60可執行一組指令,一典型指 如下所示。 .LOAD A -由一記憶體位址載入—數 • LOAD B _由一記憶體位址載入一數 • CONA -載入一定值到暫存器a • CON B -載入一定值到暫存器b • CON C -載入一定值到暫存器匸It is noted that in a data storage implementation implemented using a disk array, the array has a specific embodiment like a Redundant array of inexpensive disks ("RAID"), and as As a non-limiting example, 8 drives can be used to store the data, and a ninth disk drive can be used to store the indicator information for error detection and correction. It is also possible for some other RAID-style organizations. Exemplary embodiments of the present invention may be used in other ways to pre-process data to be written to memory. For example, in some applications, data can be rewritten frequently. A non-limiting example is an application in which transaction information for a plurality of clients can be archived within one day. Referring to FIG. 5, a data buffer 30, such as a first in first out (FIFO) buffer, can be provided for transmitting information to the memory at the client. It was stored before. By reading and pre-processing the information stored in the data buffer 30, the number of conversions can be reduced in the material actually written to the memory 14. For example, recognizing that the previous data byte #2 matches the current data, the conversions need not be reversed, which will be written to the memory 3 2 first, then the data bit, when the data byte #2 is first written. Group #1, then the current data byte occurs. 22 200912642 Current Data 000Oil 11 Data Bits # 1 1 111 1 1 1 1 Data Bits # 2 Ο Ο Ο Ο 1111 In this example, and when the current data match is detected, 'only the current data needs to be Write, and #1 (or only the data byte #2 is transmitted to the quotation voxel #1 and the current data byte can be erased). Please note that when the buffer 30 is described as storing the same location in the memory 3 2, the other 30 can be stored in the processor 12 to be applied to the processor 12, and the different logic "A rithmetic 1 〇gicunit" The indicia refers to a data processor as shown in Fig. 6 as a data processor, such as a microprocessor 60, which includes an ALU 70, a temporary sing and a C68, an instruction decoder 62, an instruction register 66, and a Address latch 78. Counter 76 and address latch 78 are connected 80. Microprocessor 60 can execute a set of instructions, a typical indication being as follows. .LOAD A - Loaded by a memory address - number • LOAD B _ is loaded by a memory address • CONA - load a certain value into the scratchpad a • CON B - load a certain value into the scratchpad b • CON C - Load a certain value into the scratchpad匸

資料位元組#2 +位元組#2及 14,且資料位 寫入的資料到 i例中,緩衝器 輯單元(ALU, 的簡化觀視, F 器 A72、B74 十數器7 6及位 至位址匯流排 令集之子集合 值到暫存器A 值到暫存器B 23 200912642 • SAVE B -儲存暫存器B中的數值到一記憶體位址 • SAVE C -儲存暫存器C中的數值到一記憶體位址Data byte #2 + byte #2 and 14, and the data written by the data bit to the i example, the buffer unit (ALU, simplified view, F A72, B74 hex 7 6 and Bit-to-address bus set set sub-set value to register A value to register B 23 200912642 • SAVE B - store the value in register B to a memory address • SAVE C - store register C Value in a memory address

• ADD -相加暫存器A中的數值與暫存器B中的數 值,並儲存該結果至暫存器C• ADD - adds the value in register A to the value in register B and stores the result in scratchpad C

•SUB -將暫存器B中的數值減去暫存器A中的數 值,並儲存該結果至暫存器C• SUB - Subtracts the value in register B from the value in register A and stores the result in register C.

• MUL -將暫存器A中的數值乘以暫存器B中的數 值,並儲存該結果至暫存器C• MUL - Multiplies the value in register A by the value in register B and stores the result in scratchpad C

• DIV-將暫存器 A中的數值除以暫存器 B中的數 值,並儲存該結果至暫存器C 一程式為一組序列化指令。微處理器6 0消耗能量來改 變ALU 70或暫存器68、72及74之電路中位元的狀態。 可減少被改變之位元數目的方法可以降低該運算的整體能 量。可完成此目的之一種方法係包括在微處理器60中的一 功率調配器64,其可檢查指令及資料匯流排82來最小化 轉換數目及其因此所需功率。 在一非限制性範例中,加上1及2 5 5造成改變0 0 0 0 0000 1111 1111 到 0000 0001 0000 0000,其需要 9 個位元 由0到1或1到0之轉換。此改變可由以下的指令集來執 行: LOAD A 200 (在此例中為載入暫存器A在記憶體位 置200-255中的數值) CON B 1 (載入數字「1」到暫存器B中) 24 200912642 ADD (相加暫存器A中的數值與暫存器B中的數值, 並儲存在暫存器C) 功率調配器6 4監視指令暫存器6 6、資料匯流排8 2, 且暫存器68、72及74可利用一降低能量的指令集來取代 某些指令序列的指令,例如使用: CONC256(載入數字「256」到暫存器C中) 〇 此指令(CON C 25 6)消除或降低將發生在ALU 70中的 處理,及在暫存器A 72與B 74中的位元改變,藉以節省 能量。 第7圖所述為根據本發明示例性具體實施例中操作功 率調配器6 4的方法說明。該方法包括:在區塊10 0中,讀 取一第一指令集;在區塊1 1 〇中,讀取一資料匯流排;且 在區塊120中,讀取儲存在至少一資料暫存器中的暫存器 Q 值。該方法另提供在區塊130中功率調配器64為了能量使 用的目的來分析該第一指令集、資料匯流排及暫存器數 值。在區塊140中,如果一第二指令集被決定要提供與具 有較低能量使用之第一指令集之相同結果,其用於取代第 一指令集。然後所得到的指令集可套用到ALU 70。 要操作該功率調配器64之方法可僅實施在硬體上、或 在軟體中、包括韌體,或硬體及軟體的組合,其中包括韌 體。 25 200912642 本發明的示例性具體實施例亦可透過使用一功率階級 來實施。在某些態樣中關連於先前的具體實施例,可降低 功率消耗,並藉由使用記憶體緩衝器3 0進一步降低,其較 佳地是比記憶體1 4每次轉換要消耗較低的功率,以保持所 要儲存的資料。 本技藝專業人士在看了先前的說明,並配合附屬圖式 及附屬申請專利範圍閱讀時,明顯地可有多種修正與調 整。例如,其它類似或同等的記憶體裝置、電路及系統架 構、資料寬度及類似者之使用,可由本技藝專業人士進行 嘗試。但是,本發明之教示之所有這些及類似修正仍將落 在本發明範_之内。 在另一範例中,在一系統/記憶體架構中有可能使用不 止兩個位準邏輯(例如有可能使用三個位準邏輯位準),則 該等指標位元可直接放置在該資料流中,並解碼成像是自 該記憶體裝置讀出的資料。 在此例中,例如該資料使用兩個邏輯位準儲存,而該 指標位元使用一第三邏輯位準來儲存。在此例中,該指標 攔位可被視為分散到被儲存且被讀回之整個資料内。 再者,使用本發明之範例中某些特徵可以在不具有相 對應使用其它特徵之下而仍具有優點。因此,先前的說明 必須僅視為本發明之原理、教示、範例及示例性具體實施 例之例示,而非其限制。 26 200912642 【圖式簡單說明】 先前所述及其它的這些技術之態樣在以下較佳具體實 施例的實施方式並配合附屬圖面可更為清楚,其中: 第1圖為適用於實施本發明之資料處理系統的簡化區 塊圖。 第2圖為根據本發明示例性具體實施例中第1圖的記 憶體控制單元之一部份的簡化區塊圖。• DIV - divides the value in register A by the value in register B and stores the result in register C as a set of serialized instructions. Microprocessor 60 consumes energy to change the state of the bits in the circuitry of ALU 70 or registers 68, 72, and 74. The method of reducing the number of bits that are changed can reduce the overall energy of the operation. One method that can accomplish this is included in a power adapter 64 in the microprocessor 60 that can inspect the command and data bus 82 to minimize the number of transitions and thus the power required. In a non-limiting example, adding 1 and 2 5 5 causes a change of 0 0 0 0 0000 1111 1111 to 0000 0001 0000 0000, which requires a conversion of 9 bits from 0 to 1 or 1 to 0. This change can be performed by the following instruction set: LOAD A 200 (in this case, the value of load scratchpad A in memory location 200-255) CON B 1 (loading the number "1" to the scratchpad B) 24 200912642 ADD (add the value in register A and the value in register B, and store it in register C) Power adapter 6 4 monitor instruction register 6 6 , data bus 8 2, and the registers 68, 72, and 74 can use a reduced energy instruction set to replace certain instruction sequence instructions, for example: CONC256 (loading the number "256" into the scratchpad C) 〇 this instruction ( CON C 25 6) Eliminate or reduce the processing that will occur in the ALU 70, and the bit changes in the registers A 72 and B 74 to save energy. Figure 7 is a description of the method of operating the power adapter 64 in accordance with an exemplary embodiment of the present invention. The method includes: reading, in block 10, a first instruction set; in block 1 1 , reading a data bus; and in block 120, reading and storing at least one data temporary storage The scratchpad Q value in the device. The method further provides that in block 130 power configurator 64 analyzes the first set of instructions, data bus and register values for energy usage purposes. In block 140, if a second set of instructions is determined to provide the same result as the first set of instructions with lower energy usage, it is used to replace the first set of instructions. The resulting set of instructions can then be applied to the ALU 70. The method of operating the power adapter 64 can be implemented only on a hard body, or in a soft body, including a firmware, or a combination of hardware and software, including a tough body. 25 200912642 Exemplary embodiments of the present invention can also be implemented using a power class. In some aspects related to the prior embodiments, the power consumption can be reduced and further reduced by using the memory buffer 30, which preferably consumes less than each conversion of the memory 14. Power to maintain the data to be stored. The skilled artisan can clearly see a variety of corrections and adjustments when reading the previous descriptions and reading them in conjunction with the accompanying drawings and the scope of the patent application. For example, other similar or equivalent memory devices, circuit and system architectures, data widths, and the like may be used by those skilled in the art. However, all of these and similar modifications of the teachings of the present invention will still fall within the scope of the present invention. In another example, it is possible to use more than two levels of logic in a system/memory architecture (eg, it is possible to use three levels of logic levels), and the indicator bits can be placed directly in the data stream. And decoding the image is the material read from the memory device. In this example, for example, the data is stored using two logical levels, and the indicator bits are stored using a third logical level. In this case, the indicator block can be considered to be scattered throughout the entire data that is stored and read back. Moreover, the use of certain features of the examples of the present invention may be advantageous without the use of other features. Accordingly, the descriptions of the present invention are to be construed as merely illustrative, 26 200912642 [Simultaneous Description of the Drawings] The foregoing and other aspects of the techniques are more apparent in the following detailed description of the preferred embodiments and the accompanying drawings, wherein: Figure 1 is applicable to the practice of the invention. A simplified block diagram of a data processing system. Figure 2 is a simplified block diagram of a portion of a memory control unit of Figure 1 in accordance with an exemplary embodiment of the present invention.

第3 A圖為一種操作第1圖之記憶體控制單元的方法 之非限制性範例的邏輯流程圖。 第3B圖為具有相同數值之目前資料的輸入資料之多 種範例的表格,其反應出第3 A圖之方法的運作。 第4圖為根據本發明之方法的非限制性範例之邏輯流 程圖。 第5圖為根據本發明示例性具體實施例所管理的資料 緩衝器。 第 6圖為適用於實施本發明之資料處理器的一部份 (像是微處理器)的簡化區塊圖。 第7圖為根據本發明之方法的非限制性範例之邏輯流 程圖。 【主要元件符號說明】 1 0資料處理系統 1 6記憶體控制單元 1 2處理器 1 6 A比較單元 1 4記憶體 1 6 B反向器 27 200912642Figure 3A is a logic flow diagram of a non-limiting example of a method of operating the memory control unit of Figure 1. Figure 3B is a table of various examples of input data for current data having the same value, which reflects the operation of the method of Figure 3A. Figure 4 is a logic flow diagram of a non-limiting example of a method in accordance with the present invention. Figure 5 is a data buffer managed in accordance with an exemplary embodiment of the present invention. Figure 6 is a simplified block diagram of a portion (e.g., a microprocessor) suitable for use in implementing the data processor of the present invention. Figure 7 is a logic flow diagram of a non-limiting example of a method in accordance with the present invention. [Main component symbol description] 1 0 data processing system 1 6 memory control unit 1 2 processor 1 6 A comparison unit 1 4 memory 1 6 B inverter 27 200912642

1 6 C反向器控制信號線 66 指 1 6D讀取單元 68 暫 1 8 A匯流排 70 算 1 8B匯流排 72 暫 1 8 C匯流排 74 暫 20 暫存器 76 計 30 資料缓衝器 78 位 60 微處理器 80 位 62 指令解碼器 82 資 64 功率調配器 令暫存器 存器C 術邏輯單元 存器A 存器B 數器 址閂鎖 址匯流排 料匯流排 1., 281 6 C inverter control signal line 66 means 1 6D reading unit 68 temporary 1 8 A bus bar 70 count 1 8B bus bar 72 temporary 1 8 C bus bar 74 temporary 20 register 76 meter 30 data buffer 78 Bit 60 Microprocessor 80 Bit 62 Instruction Decoder 82 6.4 64 Power Configurator Scratchpad Memory C Logic Logic A Cache B Number Address Locator Bus Queue Bus 1., 28

Claims (1)

200912642 十、申請專利範圍: 1. 一種操作一記憶體裝置的方法,包含下列步驟: 在利用一第二單元的資料在記憶體裝置中一位置 處覆寫一第一單元的資料之前,決定相較於利用具有 反向位元之至少一次單元寫入該第二單元的資料,是 否寫入該第二單元的資料需要較多能量;200912642 X. Patent Application Range: 1. A method for operating a memory device, comprising the steps of: determining a phase before overwriting a first unit of data at a location in the memory device using data of a second unit; Whether or not writing data of the second unit requires more energy than writing data of the second unit by using at least one unit having a reverse bit; 如果決定利用具有反向位元之至少一次單元寫入 該第二單元的資料需要較少能量,則利用具有反向位 元之至少一次單元,以一修正第二單元的資料來覆寫 該第一單元的資料,並配合寫入至少一位元,以指示 在具有該反向位元之該次單元的該修正單元的資料中 的一位置。 2. 如申請專利範圍第1項所述之方法,另包含後續讀取 該修正單元的資料及該至少一位元,並使被指示為具 有反向的位元之任何次單元中的位元反向,以提供輸 出資料。 3. 如申請專利範圍第1項所述之方法,其中該單元的資 料包括iV個位元,其中7V為一整數,且其中該次單元 包含一位元到7V個位元。 4. 如申請專利範圍第1項所述之方法,其中該至少一位 元包含複數個位元,其被編碼成一群組來指示一數值。 5. 如申請專利範圍第1項所述之方法,其中該至少一位 元包含複數個位元,其中該複數個位元中個別的位元 指定複數個次單元之一相對應的個別次單元。 29 200912642 6. 如申請專利範圍第1項所述之方法,其中該記憶體裝 置包含一半導體式的記憶體裝置。 7. 如申請專利範圍第1項所述之方法,其中該記憶體裝 置包含一碟片式或一磁帶式的記憶體裝置。 8. 如申請專利範圍第1項所述之方法,其中該至少一位 元被寫入舆該修正單元的資料被寫入之記憶體裝置相 同的記憶體裝置。 9. 如申請專利範圍第1項所述之方法,其中該至少一位 C、 元被寫入與該修正單元的資料被寫入之記憶體裝置不 同的記憶體裝置。 10. 如申請專利範圍第1項所述之方法,另包含於寫入第 二單元的資料到該記憶體裝置之前,缓衝化該第二單 元的資料,並比較該第二單元的資料與相繼被儲存在 該缓衝器中之一第三單元的資料,以決定是否該第二 單元的資料或該第三單元的資料將被寫入到該記憶體 裝置。 11. 一種操作一記憶體裝置的設備,包含: 一記憶體控制單元,其經配置以在利用一第二單 元的資料在記憶體裝置中一位置處覆寫一第一單元的 資料之前,決定相較於利用具'有反向位元之至少一次 單元寫入該第二單元的資料,是否寫入該第二單元的 資料需要較少能量;該記憶體控制單元更經配置,以 回應於相較於利用具有反向位元之至少一次單元寫入 該第二單元的資料,寫入該第二單元的資料需要較少 30 200912642 能量之決定,配合一指標欄位,對該記憶體裝置,利 用具有反向位元之該至少一次單元,傳送一修正第二 單元的資料,其中該指標欄位包含至少一位元,以指 示在具有該反向位元之該次單元的資料之該修正單元 的資料的一位置。 12.如申請專利範圍第1 1項所述之設備,其中該記憶體控 制裝置更包含:另經配置以回應於讀取該修正單元的 資料及該相對應指標欄位,在使被指示為具有反向位 元之任何次單元的位元反向之後,提供輸出資料。 1 3 .如申請專利範圍第1 1項所述之設備,其中該單元的資 料包括#個位元,其中W為一整數,且其中該次單元 包含一位元到iV個位元。 14. 如申請專利範圍第1 1項所述之設備,其中該指標欄位 包含複數個位元,其被編碼成一群組來指示一數值。 15. 如申請專利範圍第1 1項所述之設備,其中該指標攔位 包含複數個位元,其中該複數個位元中個別的位元指 定複數個次單元之一相對應的個別次單元。 16. 如申請專利範圍第1 1項所述之設備,其中該記憶體裝 置包含一半導體式的記憶體裝置。 17. 如申請專利範圍第1 1項所述之設備,其中該記憶體裝 置包含一碟片式或一磁帶式的記憶體裝置。 18. 如申請專利範圍第1 1項所述之設備,其中該指標欄位 被寫入到與該修正單元的資料被寫入至之記憶體裝置 相同的記憶體裝置。 31 200912642 19.如申請專利範圍第1 1項所述之設備,其中該指標 被寫入與該修正單元的資料被寫入至之記憶體裝 同的記憶體裝置。 2 0.如申請專利範圍第1 1項所述之設備,其具體實施 積體電路。 21.如申請專利範圍第1 1項所述之設備,其具體實施 積體電路,其具有一資料處理器,並具有該記憶 置。 2 2.如申請專利範圍第2 1項所述之設備,其中該記憶 置包含該資料處理器的一部份。 2 3.如申請專利範圍第1 1項所述之設備,另包含一 器,以在寫入該第二單元的資料到該記憶體裝 前,佇列該第二單元的資料,其中該記憶體控制 另經配置以決定是否:在第二單元的資料被儲存 緩衝器之後,被儲存在該缓衝器中的該第二單元 料或一第三單元的資料,被寫入到該記憶體裝置 較少的能量。 24. 一種儲存電腦程式指令的記憶體媒體,其在執行 造成的作業包含: 在利用一第二單元的資料在記憶體裝置中一 處覆寫一第一單元的資料之前,決定相較於利用 反向位元之至少一次單元寫入該第二單元的資料 否寫入該第二單元的資料需要較多能量; 如果決定利用具有反向位元之至少一次單元 攔位 置不 成一 成一 體裝 體裝 緩衝 置之 單元 在該 的資 需要 時可 位置 具有 ,是 寫入 32 200912642 該第二單元的資料需要較少能量,則利用具有反向位 元之至少一次單元,以一修正第二單元的資料來覆寫 該第一單元的資料,並配合寫入至少一位元,以指示 在具有該反向位元之該次單元的該修正單元的資料中 的一位置。If it is decided that the data written to the second unit by using at least one unit having the reverse bit requires less energy, then the at least one unit having the reversed bit is used to overwrite the data by correcting the data of the second unit. A unit of data, coupled with at least one bit, to indicate a location in the data of the correction unit of the secondary unit having the reversed bit. 2. The method of claim 1, further comprising reading the data of the correction unit and the at least one bit, and causing the bit in any sub-unit indicated as having the inverted bit Reverse to provide output data. 3. The method of claim 1, wherein the information of the unit comprises iV bits, wherein 7V is an integer, and wherein the subunit comprises one bit to 7V bits. 4. The method of claim 1, wherein the at least one bit comprises a plurality of bits encoded as a group to indicate a value. 5. The method of claim 1, wherein the at least one bit comprises a plurality of bits, wherein the individual bits of the plurality of bits specify an individual subunit corresponding to one of the plurality of subunits . The method of claim 1, wherein the memory device comprises a semiconductor memory device. 7. The method of claim 1, wherein the memory device comprises a disc or a tape type memory device. 8. The method of claim 1, wherein the at least one bit is written to the same memory device as the memory device to which the data of the correction unit is written. 9. The method of claim 1, wherein the at least one C, element is written to a memory device different from the memory device to which the data of the correction unit is written. 10. The method of claim 1, further comprising: prior to writing the data of the second unit to the memory device, buffering the data of the second unit, and comparing the data of the second unit with The data of one of the third units in the buffer is successively stored to determine whether the data of the second unit or the data of the third unit is to be written to the memory device. 11. An apparatus for operating a memory device, comprising: a memory control unit configured to determine, prior to overwriting a first unit of data at a location in the memory device, using data from a second unit Whether or not writing data of the second unit requires less energy than writing data of the second unit with at least one unit having an inverted bit; the memory control unit is further configured to respond in response to Compared to the data written to the second unit by using at least one unit having the reverse bit, the data written to the second unit requires less than 30 200912642 energy determination, in conjunction with an indicator field, the memory device Transmitting, by the at least one unit having the reverse bit, a data of the modified second unit, wherein the indicator field includes at least one bit to indicate the data of the secondary unit having the reversed bit Correct a location of the unit's data. 12. The device of claim 1, wherein the memory control device further comprises: configured to respond to the reading of the correction unit and the corresponding indicator field, wherein the indication is After the bit of any sub-unit having the inverted bit is inverted, the output data is provided. The device of claim 11, wherein the information of the unit comprises # bits, where W is an integer, and wherein the unit contains one bit to iV bits. 14. The device of claim 11, wherein the indicator field comprises a plurality of bits that are encoded into a group to indicate a value. 15. The device of claim 11, wherein the indicator block comprises a plurality of bits, wherein the individual bits of the plurality of bits specify an individual subunit corresponding to one of the plurality of subunits . 16. The device of claim 11, wherein the memory device comprises a semiconductor memory device. 17. The device of claim 11, wherein the memory device comprises a disc or a tape type memory device. 18. The apparatus of claim 11, wherein the indicator field is written to the same memory device as the memory device to which the data of the correction unit is written. The apparatus of claim 11, wherein the indicator is written to a memory device that is loaded with the memory to which the correction unit is written. 2 0. The device according to claim 1 of the patent application, which implements an integrated circuit. 21. The apparatus of claim 11, wherein the integrated circuit has a data processor and has the memory. 2 2. The device of claim 21, wherein the memory device comprises a portion of the data processor. 2 3. The device of claim 11, further comprising a device for listing data of the second unit before writing the data of the second unit to the memory, wherein the memory The volume control is further configured to determine whether: after the data of the second unit is stored in the buffer, the data of the second unit or a third unit stored in the buffer is written to the memory The device has less energy. 24. A memory medium storing computer program instructions, the job caused by the execution comprising: before using a second unit of data to overwrite a first unit of data in a memory device, determining a comparison to utilization Writing at least one unit of the reverse bit to the data of the second unit requires more energy to write the data of the second unit; if it is decided to use at least one unit with the reversed bit, the position of the block is not integrated into the body. The buffered unit can be located at the time of the capital requirement, and is written to 32 200912642. The second unit of data requires less energy, and then the at least one unit having the reversed bit is used to correct the second unit. The data overwrites the data of the first unit and cooperates with writing at least one bit to indicate a position in the data of the correction unit of the secondary unit having the reversed bit. 2 5 .如申請專利範圍第2 4項所述之記憶體媒體,另包含一 作業,其回應於相繼讀取該修正單元的資料及該至少 一位元,使被指示為具有反向的位元之任何次單元的 位元反向,以提供輸出資料。 2 6.如申請專利範圍第2 4項所述之記憶體媒體,其中該單 元的資料包括#個位元,其中W為一整數,且其中該 次單元包含一位元到#個位元。 27. 如申請專利範圍第24項所述之記憶體媒體,其中該至 少一位元包含複數個位元,其被編碼成一群組來指示 一數值。 28. 如申請專利範圍第24項所述之記憶體媒體,其中該至 少一位元包含複數個位元,其中該複數個位元中個別 的位元指定複數個次單元之一相對應的個別次單元。 29. 如申請專利範圍第24項所述之記憶體媒體,其中該記 憶體裝置包含一半導體式的記憶體裝置。 30. 如申請專利範圍第24項所述之記憶體媒體,其中該記 憶體裝置包含一碟片式或一磁帶式的記憶體裝置。 3 1.如申請專利範圍第2 4項所述之記憶體媒體,其中該至 少一位元被寫入與該修正單元的資料被寫入之記憶體 33 200912642 裝置相同的記憶體裝置。 3 2.如申請專利範圍第24項所述之記憶體媒體,其中該至 少一位元被寫入與該修正單元的資料被寫入之記憶體 裝置不同的記憶體裝置。The memory medium of claim 24, further comprising an operation responsive to successively reading the data of the correction unit and the at least one bit, so as to be indicated as having a reversed bit The bits of any subunit of the element are reversed to provide output data. 2. The memory medium of claim 24, wherein the information of the unit comprises # bits, where W is an integer, and wherein the unit comprises one bit to # bits. 27. The memory medium of claim 24, wherein the at least one bit comprises a plurality of bits that are encoded into a group to indicate a value. 28. The memory medium of claim 24, wherein the at least one bit comprises a plurality of bits, wherein the individual bits of the plurality of bits specify an individual corresponding to one of the plurality of sub-units Subunit. 29. The memory medium of claim 24, wherein the memory device comprises a semiconductor memory device. 30. The memory medium of claim 24, wherein the memory device comprises a disc or a tape type memory device. 3. The memory medium of claim 24, wherein the at least one bit is written to the same memory device as the memory 33 200912642 device to which the data of the correction unit is written. 3. The memory medium of claim 24, wherein the at least one bit is written to a memory device different from the memory device to which the data of the correction unit is written. 3 3.如申請專利範圍第24項所述之記憶體媒體,另包含: 於寫入第二單元的資料到該記憶體裝置之前,緩衝化 第二單元的資料,並比較該第二單元的資料與相繼被 儲存在該缓衝器中之一第三單元的資料,以決定是否 該第二單元的資料或該第三單元的資料將被寫入到該 記憶體裝置。 34. 一種操作一記憶體控制單元的方法,包含下列步驟: 讀取儲存在一記憶體位置中的目前資料; 與該目前資料比較要被寫入的輸入資料,並計算 如果藉由執行該目前資料與該輸入資料之間的一 「互 斥或(exclusive OR)」,並加總該互斥或之結果中的「1_ 之數目,該新資料覆寫該目前資料時發生的位元轉換 數目,其中加總結果s u m 1代表如果該輸入資料覆寫 該目前資料時將會發生的位元轉換的數目; 比較suml與一預定閥值,且如果suml等於或超 過該閥值,否定該輸入資料的所有或部份,與該目前 資料執行一互斥或,並計算一第二sum2,其中如果該 否定的輸入資料之sum2+l的數值小於suml,則位元 轉換的數目將在如果該否定的輸入資料被寫入到該記 憶體位置中時被降低;及 34 200912642 在一相對應指標欄位中,設定至少一指標位元, 以指示是否該輸入資料被儲存,或是否該輸入資料的 所有或一部份之否定型式被儲存在該記憶體位置中。 35.如申請專利範圍第3 4項所述之方法,另包含相繼讀取 儲存在該記憶體位置及該相對應指標欄位中的資料, 並根據在該相對應指標欄位中設定的位元來選擇性地 使該讀取資料的位元反向或不反向。 3 6. —種操作一功率調配器的方法,包含下列步驟: 讀取一第一指令集; 讀取一資料匯流排; 讀取儲存在至少一資料暫存器中的暫存器數值; 分析第一指令集、資料匯流排、及暫存器數值; 及 利用一第二指令集取代該第一指令集,其中該第 二指令集提供與具有較低能量使用之該第一指令集之 相同的結果。 , 37.如申請專利範圍第3 6項所述之方法,其中該較低能量 使用由該運算的整體能量來測量。 38.如申請專利範圍第3 6項所述之方法,其中該較低能量 使用藉由降低的位元轉換來測量。 3 9.如申請專利範圍第3 6項所述之方法,其中該指令集包 括來自該指令集的至少一指令,包含: 自一記憶體位置載入一暫存器; 載入一常數到一暫存器; 35 200912642 儲存一暫存器到一記憶體位置; 加入一第一暫存器數值到一第二暫存器數值,並 儲存該結果至一第三暫存器中; 自一第二暫存器數值減去一第一暫存器數值,並 儲存該結果至一第三暫存器中; 將一第一暫存器數值乘以一第二暫存器數值,並 儲存該結果至一第三暫存器中;及 將一第二暫存器數值除以一第一暫存器數值,並 儲存該結果至一第三暫存器中。 4 0.如申請專利範圍第3 6項所述之方法,其中該第二指令 集由一算術邏輯單元來執行。 4 1 .如申請專利範圍第3 6項所述之方法,其中該第一指令 集由一指令暫存器讀取。 42.如申請專利範圍第3 6項所述之方法,其中該第一指令 集於被放置到一指令暫存器之前被讀取,且該第二指 令集於被放置到一指令暫存器之前取代該第一指令暫 存器。 4 3. —種耦合至一指令暫存器、一資料匯流排及至少一資 料暫存器之設備1包含: 一經配置以讀取儲存在該指令暫存器中的一第一 指令集之輸入器; 一經配置以讀取該資料匯流排輸入器; 一經配置以讀取儲存在該資料暫存器中的暫存器 數值之輸入器; 36 200912642 一處理器,其經配置以分析該第一指令集、資料 匯流排、及暫存器數值;及 一輸出器,其經配置以利用一第二指令集取代該 第一指令集,其中該第二指令集提供與具有一較低能 量使用的該第一指令集相同的結果。 44. 45.3. The memory medium of claim 24, further comprising: buffering the data of the second unit before writing the data of the second unit to the memory device, and comparing the data of the second unit The data is stored with data of a third unit stored in the buffer to determine whether the data of the second unit or the data of the third unit is to be written to the memory device. 34. A method of operating a memory control unit, comprising the steps of: reading current data stored in a memory location; comparing input data to be written with the current data, and calculating if by performing the current A "exclusive OR" between the data and the input data, and the total number of "1_" in the result of the mutual exclusion or the number of bit conversions that occurred when the new data was overwritten by the current data , wherein the summation result sum 1 represents the number of bit conversions that will occur if the input data overwrites the current data; compares suml with a predetermined threshold, and if suml equals or exceeds the threshold, denies the input data All or part of the current data is mutually exclusive or calculated, and a second sum2 is calculated, wherein if the value of the sum2+l of the negative input data is less than suml, the number of bit conversions will be if the negation When the input data is written into the memory location, it is lowered; and 34 200912642 In a corresponding indicator field, at least one indicator bit is set to indicate whether the input resource is The material is stored, or whether all or a part of the negative version of the input material is stored in the memory location. 35. The method of claim 34, further comprising successive readings stored in the memory The memory location and the data in the corresponding indicator field, and the bit of the read data is selectively inverted or not inverted according to the bit set in the corresponding indicator field. A method for operating a power adapter, comprising the steps of: reading a first instruction set; reading a data bus; reading a register value stored in at least one data register; analyzing the first instruction a set, a data bus, and a register value; and replacing the first set of instructions with a second set of instructions, wherein the second set of instructions provides the same result as the first set of instructions having a lower energy usage. 37. The method of claim 36, wherein the lower energy usage is measured by the overall energy of the operation. 38. The method of claim 36, wherein the lower Energy use The method of claim 36, wherein the instruction set includes at least one instruction from the instruction set, comprising: loading a temporary memory from a memory location Loading a constant to a temporary register; 35 200912642 storing a temporary register to a memory location; adding a first temporary register value to a second temporary register value, and storing the result to a third In the register; subtracting a first register value from a second register value and storing the result in a third register; multiplying a first register value by a second temporary value The value is stored, and the result is stored in a third register; and a second register value is divided by a first register value, and the result is stored in a third register. The method of claim 36, wherein the second set of instructions is executed by an arithmetic logic unit. The method of claim 36, wherein the first instruction set is read by an instruction register. 42. The method of claim 36, wherein the first set of instructions is read prior to being placed into an instruction register, and the second set of instructions is placed into an instruction register The first instruction register was previously replaced. 4 - Apparatus 1 coupled to an instruction register, a data bus, and at least one data register comprising: an input configured to read a first set of instructions stored in the instruction register One configured to read the data bus input; an input configured to read the value of the register stored in the data register; 36 200912642 a processor configured to analyze the first An instruction set, a data bus, and a register value; and an output configured to replace the first instruction set with a second instruction set, wherein the second instruction set is provided with a lower energy usage The first instruction set has the same result. 44. 45. 46. 如申請專利範圍第4 3項所述之設備,另外其中該較低 能量使用由該運算的整體能量來測量。 如申請專利範圍第4 3項所述之設備,另外其中該較低 能量使用藉由降低的位元轉換來測量。 如申請專利範圍第4 3項所述之設備,其中該指令集包 括來自該指令集的至少一指令,包含: 自一記憶體位置載入一暫存器; 載入一常數到一暫存器; 儲存一暫存器到一記憶體位置; 加入一第一暫存器數值到一第二暫存器數值,並 儲存該結果至一第三暫存器中; 自一第二暫存器數值減去一第一暫存器數值,並 儲存該結果至一第三暫存器中; 將一第一暫存器數值乘以一第二暫存器數值,並 儲存該結果至一第三暫存器中;以及 將一第二暫存器數值除以一第一暫存器數值,並 儲存該結果至一第三暫存器中。 如申請專利範圍第4 3項所述之設備,其中該第一指令 集係藉由一指令暫存器讀取。 37 47. 200912642 4 8 ·如申請專利範圍第4 3項所述之設備,其中該第 集於被放置到一指令暫存器之前被讀取,且該 令集於被放置到一指令暫存器之前取代該第一 存器。 49. 一種儲存電腦程式指令的記憶體媒體,其在執 造成的作業包含: 讀取一第一指令集; 讀取一資料匯流排; 讀取儲存在至少一資料暫存器中的暫存器 分析第一指令集、資料匯流排、及暫存器 及 利用一第二指令集取代第一指令集,其中 令集提供與具有一較低能量使用的該第一指令 的結果。 50. 如申請專利範圍第49項所述之記憶體媒體,其 低能量使用由該運算的整體能量來測量。 51. 如申請專利範圍第4 9項所述之記憶體媒體,其 低能量使用藉由降低的位元轉換來測量。 5 2.如申請專利範圍第4 9項所述之記憶體媒體,其 一指令集於被放置到一指令暫存器之前被讀取 第二指令集於被放置到一指令暫存器之前取代 指令暫存器。 5 3. —種操作一功率調配器的設備,包含: 用於讀取一第一指令集之構件; 一指令 第二指 指令暫 行時可 數值; 數值; 第二指 集相同 中該較 中該較 中該第 ,且該 該第一 38 200912642 用於讀取一資料匯流排之構件; 用於讀取儲存在至少一資料暫存器中的暫存器數 值之構件; 用於分析該第一指令集、資料匯流排、及暫存器 數值之構件;及 用於利用一第二指令集取代該第一指令集之構 件,其中該第二指令集提供與具有一較低能量使用的 該第一指令集相同的結果。 54.如申請專利範圍第5 3項所述之設備,另外其中該較低 能量使用由該運算的整體能量來測量。 5 5.如申請專利範圍第5 3項所述之設備,另外其中該較低 能量使用藉由降低的位元轉換來測量。46. The apparatus of claim 4, wherein the lower energy usage is measured by the overall energy of the operation. The apparatus of claim 4, wherein the lower energy usage is measured by a reduced bit transition. The device of claim 4, wherein the instruction set includes at least one instruction from the instruction set, comprising: loading a temporary register from a memory location; loading a constant into a temporary register Storing a temporary register to a memory location; adding a first temporary register value to a second temporary register value, and storing the result in a third temporary register; from a second temporary register value Subtracting a first register value and storing the result in a third register; multiplying a first register value by a second register value, and storing the result to a third temporary And storing a second register value by a first register value and storing the result in a third register. The device of claim 4, wherein the first instruction set is read by an instruction register. 37 47. 200912642 4 8 The device of claim 4, wherein the first set is read before being placed in an instruction register, and the set is placed in an instruction temporary storage. The first register is replaced before the device. 49. A memory medium storing computer program instructions, wherein: causing: reading a first instruction set; reading a data bus; reading a temporary memory stored in at least one data register The first set of instructions, the data bus, and the register are analyzed and a first set of instructions is replaced with a second set of instructions, wherein the set of commands provides a result of the first instruction with a lower energy usage. 50. The memory medium of claim 49, wherein the low energy usage is measured by the overall energy of the operation. 51. The memory medium of claim 49, wherein the low energy usage is measured by a reduced bit transition. 5 2. The memory medium of claim 49, wherein an instruction set is replaced by a second instruction set before being placed in an instruction register before being placed in an instruction register. Instruction register. 5 3. A device for operating a power adapter, comprising: a component for reading a first instruction set; an index of a second finger command temporarily; a value; a second finger set of the same And the first 38 200912642 is configured to read a data bus; the component for reading the register value stored in the at least one data register; for analyzing the first a component of an instruction set, a data bus, and a register value; and means for replacing the first instruction set with a second set of instructions, wherein the second set of instructions provides the same with a lower energy usage The same result of an instruction set. 54. The apparatus of claim 5, wherein the lower energy usage is measured by the overall energy of the operation. 5 5. The apparatus of claim 5, wherein the lower energy usage is measured by a reduced bit transition. β 3939 39
TW097129897A 2007-08-09 2008-08-06 Method, apparatus and computer program product providing instruction monitoring for reduction of energy usage and energy reduction when storing data in a memory TWI417719B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/836,210 US7783846B2 (en) 2007-08-09 2007-08-09 Method, apparatus and computer program product providing energy reduction when storing data in a memory
US11/836,212 US20090044032A1 (en) 2007-08-09 2007-08-09 Method, Apparatus and Computer Program Product Providing Instruction Monitoring for Reduction of Energy Usage

Publications (2)

Publication Number Publication Date
TW200912642A true TW200912642A (en) 2009-03-16
TWI417719B TWI417719B (en) 2013-12-01

Family

ID=44724955

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097129897A TWI417719B (en) 2007-08-09 2008-08-06 Method, apparatus and computer program product providing instruction monitoring for reduction of energy usage and energy reduction when storing data in a memory

Country Status (1)

Country Link
TW (1) TWI417719B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI457750B (en) * 2010-07-26 2014-10-21 Apple Inc Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
CN110546613A (en) * 2017-04-27 2019-12-06 高通股份有限公司 method, apparatus and system for semaphore-based protection of signals across power domains

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673224A (en) * 1996-02-23 1997-09-30 Micron Quantum Devices, Inc. Segmented non-volatile memory array with multiple sources with improved word line control circuitry
US6292425B1 (en) * 2000-06-07 2001-09-18 Advanced Micro Devices, Inc. Power saving on the fly during reading of data from a memory device
US6463003B2 (en) * 2000-06-07 2002-10-08 Advanced Micro Devices, Inc. Power saving scheme for burst mode implementation during reading of data from a memory device
TW466829B (en) * 2000-09-25 2001-12-01 United Microelectronics Corp Electricity-saving apparatus of memory circuit
JP2002366419A (en) * 2001-06-07 2002-12-20 Mitsubishi Electric Corp Data processor and data processing method
US7549011B2 (en) * 2001-08-30 2009-06-16 Micron Technology, Inc. Bit inversion in memory devices
JP4134637B2 (en) * 2002-08-27 2008-08-20 株式会社日立製作所 Semiconductor device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI457750B (en) * 2010-07-26 2014-10-21 Apple Inc Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
TWI468929B (en) * 2010-07-26 2015-01-11 Apple Inc A method implemented in a system comprising a non-volatile memory and an electronic device
US9063732B2 (en) 2010-07-26 2015-06-23 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
CN110546613A (en) * 2017-04-27 2019-12-06 高通股份有限公司 method, apparatus and system for semaphore-based protection of signals across power domains
CN110546613B (en) * 2017-04-27 2023-03-07 高通股份有限公司 Method, apparatus and system for semaphore-based protection of cross-power domain signals

Also Published As

Publication number Publication date
TWI417719B (en) 2013-12-01

Similar Documents

Publication Publication Date Title
KR101071797B1 (en) Providing energy reduction when storing data in a memory
US20200242033A1 (en) Apparatuses and methods to perform continuous read operations
TWI455136B (en) Method for performing data shaping, and associated memory device and controller thereof
KR101753714B1 (en) Method and apparatus for treatment of state confidence data retrieved from a non-volatile memory array
EP3382565B1 (en) Selective noise tolerance modes of operation in a memory
WO2018192488A1 (en) Data processing method and apparatus for nand flash memory device
EP3828775A1 (en) Energy efficient compute near memory binary neural network circuits
US20090044032A1 (en) Method, Apparatus and Computer Program Product Providing Instruction Monitoring for Reduction of Energy Usage
US10481974B2 (en) Apparatus, non-volatile memory storage device and method for detecting drift in non-volatile memory
US20200403813A1 (en) Method and apparatus to provide memory based physically unclonable functions
TW201941054A (en) Performing a decoding operation to simulate switching a bit of an identified set of bits of a data block
US10839916B2 (en) One-sided soft reads
US20210407564A1 (en) Method and apparatus to perform a read of a column in a memory accessible by row and/or by column
TW200912642A (en) Method, apparatus and computer program product providing instruction monitoring for reduction of energy usage and energy reduction when storing data in a memory
US9569133B2 (en) System and method for data inversion in a storage resource
US20110213995A1 (en) Method, Apparatus And Computer Program Product Providing Instruction Monitoring For Reduction Of Energy Usage
TWI594253B (en) Non-volatile memory apparatus and empty page detection method thereof
TW201939261A (en) Identifying a read operation for a storage device based on a workload of a host system
TWI671750B (en) Control method for memory and non-transitory computer-readable media
CN113764029A (en) Apparatus and method for parallel generation of syndrome and partial coefficient information
US11625173B1 (en) Reduced power consumption by SSD using host memory buffer
TWI829252B (en) Method and computer program product and apparatus for decoding low-density parity-check (ldpc) code
US20220057961A1 (en) Method and apparatus to perform a multiple bit column read using a single bit per column memory accessible by row and/or by column
EP4020172A1 (en) Processor instructions for data compression and decompression
CN115220790A (en) Data processing method, processor and electronic equipment

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees