[go: up one dir, main page]

JPH07503564A - Method and apparatus for reducing memory wear in computer systems - Google Patents

Method and apparatus for reducing memory wear in computer systems

Info

Publication number
JPH07503564A
JPH07503564A JP5520163A JP52016393A JPH07503564A JP H07503564 A JPH07503564 A JP H07503564A JP 5520163 A JP5520163 A JP 5520163A JP 52016393 A JP52016393 A JP 52016393A JP H07503564 A JPH07503564 A JP H07503564A
Authority
JP
Japan
Prior art keywords
conversion
address
input address
data
memory
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP5520163A
Other languages
Japanese (ja)
Inventor
リュー、リッシング
レホー、ウイリアム、ロバート
シン、デヴィッド、テイング ミング
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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
Application filed by インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH07503564A publication Critical patent/JPH07503564A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 コンピュータ・システムにおけるメモリの磨耗を低減する方法および装置 [技術分野] 本発明は、広義には、コンピュータ・システムのメモリに関し、より詳細には、 コンピュータ・メモリ・システムにおける記憶位置および記憶回路の磨耗の減少 または防止に関する。[Detailed description of the invention] Method and apparatus for reducing memory wear in computer systems [Technical field] TECHNICAL FIELD The present invention relates generally to memory for computer systems, and more particularly to: Reduced wear on storage locations and storage circuits in computer memory systems or regarding prevention.

[発明の背景] コンピュータの基本的な記憶階層には、主記憶装置、キャッシュ記憶装置、補助 記憶装置(たとえば、ディスク)が含まれる。主記憶装置は通常、静的RAM  (SRAM)または動的RAM (DRAM)のいずれかで実施され、この主記 憶装置は、プログラム・ソフトウェアにより対応する物理アドレスを介して直接 アクセス可能なデータを記憶する。キャッシュ記憶装置は、主記憶装置のアクセ スに伴う長いリード遅延を補償するために、中央演算処理装置(CPU)がアク セスするデータの高速バッファとして利用される。[Background of the invention] The basic storage hierarchy of a computer includes main memory, cache storage, and auxiliary storage. Includes storage devices (eg, disks). Main memory is usually static RAM This main memory is implemented in either dynamic RAM (SRAM) or dynamic RAM (DRAM). The storage device can be directly accessed via the corresponding physical address by the program software. Store accessible data. Cache storage provides access to main storage. To compensate for the long read delays associated with It is used as a high-speed buffer for accessing data.

メモリ・チップのいずれか1つの回路または導体が絶縁破壊または障害を起こす と、メモリ・チップ全体に障害が起こる。メモリ回路の障害の1つの原因は、回 路の磨耗である。Dielectric breakdown or failure of any one circuit or conductor of the memory chip This causes the entire memory chip to fail. One cause of memory circuit failure is This is road wear.

メモリ回路の磨耗には、多くの要因が関与する。たとえば、エレクトロマイグレ ーション現象は、回路磨耗の一因である。Many factors contribute to memory circuit wear. For example, electromigration tion phenomenon is a contributing factor to circuit wear.

エレクトロマイグレーションは、エネルギーに富んだ電子との衝突によって引き 起こされる原子の移動である。この動きは、電子と原子の間の運動量の交換によ るものである。一定期間にわたって、エレクトロマイグレーションの結果として 、金属導体内にボイドが形成されることがある。金属導体内のボイドは、電流密 度の増加を引き起こす。これは、ボイドの結果導体の寸法が小さくなるが、残り の導体は依然として同じ量のエネルギーに富んだ電子を運ばなければならないこ とで説明できる。そのような電流密度の上昇により、導体の原子移動が強まり、 これにより導体中の金属ボイドの成長が促進される。結局、金属導体中に完全な 開路が生じ、メモリ・チップ全体の絶縁破壊を引き起こす可能性がある。Electromigration is triggered by collisions with energetic electrons. This is the movement of atoms that occurs. This movement is due to the exchange of momentum between the electron and the atom. It is something that Over a period of time, as a result of electromigration , voids may form within the metal conductor. Voids in metal conductors cause current density cause an increase in the degree of This reduces the conductor dimensions as a result of voids, but the remaining conductor must still carry the same amount of energetic electrons. It can be explained as follows. Such an increase in current density intensifies the atomic movement in the conductor, This promotes the growth of metal voids in the conductor. After all, complete An open circuit can occur, causing dielectric breakdown of the entire memory chip.

導体の磨耗を減少または防止するために、長期信頼性に関する電流密度ガイドラ インが、メモリ回路設計者によって確立された。本質的に、このガイドラインは 、所与の期間にわたって一定の電流に十分耐えるためには、ワイアの厚さがどの くらいでなければならないかを指示している。その期間とは、チップの存続時間 である。信頼性ガイドラインは、メモリ・チップがその有効寿命の間に磨耗する ことがないように設定される。Current density guidelines for long-term reliability to reduce or prevent conductor wear was established by memory circuit designers. Essentially, this guideline , the thickness of the wire must be sufficient to withstand a constant current for a given period of time. It tells you how much it should be. That period is the lifetime of the chip. It is. Reliability guidelines indicate that memory chips will wear out during their useful life. It is set so that it never occurs.

メモリ・チップを設計する際に、回路ごとに最悪のケースの電流密度の値を決め る。最悪のケースの値は、メモリ・サイクルごとに同じ回路が切り換わると仮定 したものである。When designing a memory chip, determine the worst-case current density value for each circuit. Ru. Worst-case values assume the same circuit switches every memory cycle. This is what I did.

メモリ位置は相対的に不均一に使用されるので、チップ設計者は最悪のケースの 状況に基づいてメモリ・チップを設計しなければならない。い(つかのシステム 応用例では、ある物理アドレス位置が他よりも優先的に使用されることがある。Since memory locations are used relatively unevenly, chip designers can Memory chips must be designed based on the situation. (Tsukano system) In some applications, certain physical address locations may be used preferentially over others.

その結果、優先的に使用される位置に対応するメモリ回路は、他のメモリ回路よ りも頻繁に発火/切換えが生じる。したがって、優先的に使用されるメモリ回路 は他のメモリ回路よりも高いデユーティ・サイクルを有し、したがって、これら のメモリ回路が故障する公算が大きくなるという問題が残る。As a result, memory circuits corresponding to locations that are used preferentially are Also, firing/switching occurs frequently. Therefore, the memory circuits used preferentially have a higher duty cycle than other memory circuits, so these The problem remains that the probability that the memory circuit in the memory circuit will fail increases.

この問題に対する1つの解決法は、回路の使用率を一定にすることであり、それ により、最悪のケースの各回路に関する電流密度仕様を減らすことができる。結 局、より細いワイヤを使用すると、同じ寿命という仮定で回路の物理密度および 速度を改善することができる。One solution to this problem is to keep the circuit utilization constant; This allows the worst-case current density specification for each circuit to be reduced. Conclusion Using thinner wires reduces the physical density of the circuit and Speed can be improved.

さらに、ソフトウェア・プログラムは、比較的少数の位置に大きく片寄る形でメ モリ位置にアクセスするという自然の傾向がある。たとえば、実行トレースの研 究では、合計16メガ・バイトの大きさの主メモリにおいて、主メモリの最も頻 繁にアクセスされる1000ブロツク(各ブロックは128バイトの大きさを有 する)が、主メモリへのCPUアクセスの合計の90%以上を占めることが示さ れた。また、同様の研究で、キャッシュ内の少数のブロックに大きく片寄ったア クセス・パターンが示され、別の研究では、補助記憶装置のアクセスに関して同 様の結果が報告されている。たとえば、いわゆる8 0/20規則は、ディスク へのアクセスの大体80%が、ディスク上のメモリ位置の20%に集中すると述 べている。Additionally, software programs tend to load memory in a way that is highly biased toward a relatively small number of locations. There is a natural tendency to access the Mori location. For example, In our research, we found that with a total main memory size of 16 megabytes, 1000 frequently accessed blocks (each block is 128 bytes in size) ) account for more than 90% of the total CPU accesses to main memory. It was. Similar studies have also found that access is heavily biased toward a small number of blocks in the cache. another study showed similar access patterns for auxiliary storage. Similar results have been reported. For example, the so-called 80/20 rule Roughly 80% of accesses to 20% of memory locations on disk I'm looking forward to it.

メモリ・アクセスが片寄っているという性質は、記憶システムの長期信頼性に対 して望ましくない結果を引き起こすことがある。これは、磨耗状態に特に弱い記 憶技術に特にあてはまる。たとえば、フラッシュ・メモリ技術は、現在不揮発性 記憶装置(たとえば、主メモリ)を実施するのに広く利用されている。フラッシ ュ・メモリ・チップ内のセルは通常、磨耗状態が生じる前に、ioo、oooア クセスないし1゜ooo、oooアクセスの寿命がある。様々なメモリ技法がフ ラッシュ・メモリよりも優れた寿命特性を有するが、一般にメモリ・セルへの平 均アクセス回数を減らすことによって長期信頼性が改善できるといえる。この点 について、太き(片寄ったデータ・アクセスのパターンは本質的に望ましくない 。メモリ・セルの小さな部分がより頻繁にアクセスされるために磨耗しやす(な る傾向があるからである。The unbalanced nature of memory access has implications for the long-term reliability of storage systems. may cause undesirable results. This is a record that is particularly sensitive to wear conditions. This applies especially to memory techniques. For example, flash memory technology is currently non-volatile. It is widely used to implement storage devices (eg, main memory). flash Cells in a memory chip typically undergo ioo, ooo addresses before wear-out conditions occur. It has a lifespan of 1°ooo, ooo access. Various memory techniques Has better lifetime characteristics than rush memory, but generally reduces flattening to memory cells. It can be said that long-term reliability can be improved by reducing the average number of accesses. This point , thick (skewed data access patterns are inherently undesirable) . Smaller portions of memory cells are accessed more frequently and are therefore more susceptible to wear. This is because there is a tendency to

メモリ信頼性問題のもう1つの潜在的な原因は、電流によって発生する熱による 金属レベルでの短絡または開路である。Another potential cause of memory reliability problems is the heat generated by the current. A short or open circuit at the metal level.

熱の累積は、誘電体材料を劣化させることがある。決まったメモリ位置へのむら のあるメモリ・アクセス・パターンは、そのような望ましくない結果の発生を増 加させる傾向がある。Heat accumulation can degrade dielectric materials. Unevenness to a fixed memory location Certain memory access patterns may increase the occurrence of such undesirable results. There is a tendency to add

メモリ・アクセスをもっと均一に拡散させることによってメモリの磨耗の可能性 を減らす提案が行われている。たとえば、米国特許第4922456号では、磨 耗の可能性を均一に分布させるために、不揮発性メモリの設計で二重バッファへ のアクセスを拡散させる技法が開示されている。しかし、この特許では、メモリ 書込み用の一時的バッファとして使える循環バッファにアクセスするための特殊 回転技法を扱っているが、メモリ自体へのアクセスの片寄りの低減は扱っていな い。Potential memory wear-out by spreading memory accesses more evenly Proposals are being made to reduce the For example, in U.S. Pat. No. 4,922,456, Non-volatile memory design double-buffers to evenly distribute wearout potential Techniques for diffusing access to are disclosed. However, in this patent, the memory Special for accessing a circular buffer that can be used as a temporary buffer for writing. Although it deals with rotation techniques, it does not deal with reducing the imbalance of accesses to the memory itself. stomach.

さらに、メモリ内の特定の物理記憶位置に対応する内部アドレスへのCPU指定 アドレスのマツピングまたは変換を提供することが、当技術分野で一般に知られ ている。たとえば、そのようなマツピングは、ソフトウェア・ページ・テ;プル を介して仮想アドレスから実アドレスへの変換のために実行され、それによりオ ペレーティング・システムの制御下で、複数のプログラムが実主メモリを動的に 共用できるようになる。そのようなマツピングのもう1つの例は、大型メモリ用 の構成テーブルである。これは、メモリを大きなチャンク(たとえば、4メガバ イトのブロック)によって再構成することができ、故障したチャンクをアクセス から分離する能力が提供される。しかし、そのようなマツピング方法が、より均 一なメモリ回路の使用を実現するために実行されたことはなかった。Additionally, the CPU designates an internal address that corresponds to a particular physical location in memory. It is generally known in the art to provide address mapping or translation. ing. For example, such mapping can be used to create is performed for virtual to real address translation via Multiple programs dynamically use real main memory under the control of the operating system. will be able to be shared. Another example of such mapping is for large memory This is the configuration table. This saves memory in large chunks (e.g. 4 megabytes). Accessing failed chunks can be reconstructed by Provides the ability to separate from However, such mapping methods are more uniform. No effort has been made to achieve the use of a uniform memory circuit.

[発明の要約] 片寄ったメモリ・アクセス・パターンは、ソフトウェア・プログラムの性質に固 有のものであるが、本発明は、データをメモリに記憶する方式を周期的に変更し て、より均一なメモリ・セルへのアクセスを達成することにより、上記の問題を 解決する。この技法は、メモリ・セルを使用する通常のパターンをばらばらにす るかまたは変更することによって、長期のメモリ信頼性を改善する機会を提供す る。[Summary of the invention] Unbalanced memory access patterns are inherent in the nature of software programs. However, the present invention periodically changes the method of storing data in memory. This solves the above problem by achieving more uniform access to memory cells. solve. This technique breaks up the normal pattern of using memory cells. provides an opportunity to improve long-term memory reliability by Ru.

したがって、本発明によれば、コンピュータ・メモリの記憶位置におけるデータ の記憶を管理するための装置および方法が提供される。装置は、入力アドレスを 受け取り、変換方式に従ってその入力アドレスを変更して出力アドレスを発生す る変換手段を含む。各入力アドレスと各出力アドレスはそれぞれ、コンピュータ ・メモリの1つの記憶位置に対応する。Therefore, according to the invention, data in a storage location of a computer memory Apparatus and methods are provided for managing the storage of. The device inputs the input address receives the input address and changes its input address according to the translation method to generate the output address. It includes a conversion means. Each input address and each output address are - Corresponds to one storage location in memory.

さらに、制御信号を発生して変換手段に送る制御手段は、変換手段の変換方式を 有効に制御し、その結果、データの記憶がコンピュータ・メモリの記憶位置全体 にわたって均一に分散されるように、変換手段による入力アドレスの変更が所定 の体系的な方式で実施されるようになる。Furthermore, the control means that generates the control signal and sends it to the conversion means controls the conversion method of the conversion means. effectively control the storage of data so that it occupies the entire storage location of computer memory. The changes to the input addresses by the translation means are distributed uniformly over the This will be implemented in a systematic manner.

本発明による方法は、それぞれセグメントを含む入力アドレスをソースから受け 取る段階と、それに従って入力アドレスを変更する変換方式を提供する段階と、 データの記憶がコンピュータ・メモリの記憶位置全体にわたって均一に分散され るように、所定の体系的な方式で変換方式を周期的に修正する段階と、出力アド レスを発生するために変換方式に従って入力アドレスを変更する段階と、出力ア ドレスを出力する段階とを含む。The method according to the invention receives input addresses from a source, each containing a segment. and providing a translation method that modifies the input address accordingly; The storage of data is evenly distributed throughout the storage locations of computer memory. a step of periodically modifying the conversion scheme in a predetermined systematic manner and adjusting the output address; the step of changing the input address according to the translation scheme to generate the address; and the step of changing the input address according to the translation method to generate the address and outputting the dress.

[図面の簡単な説明コ 上記その他の目的、特徴、態様および利点は、以下の本発明の詳細な説明によっ て容易に明らかになり、よりよく理解されるであろう。[Brief explanation of the drawing] The above and other objects, features, aspects and advantages will be apparent from the following detailed description of the invention. will be more readily apparent and better understood.

第1図は、本発明の好ましい実施例によるブロック図である。FIG. 1 is a block diagram according to a preferred embodiment of the invention.

第2図は、本発明の第1の好ましい実施例による変換回路の具体例を示す図であ る。FIG. 2 is a diagram showing a specific example of a conversion circuit according to a first preferred embodiment of the present invention. Ru.

第3A図ないし第3D図は、本発明によるメモリ位置におけるデータの回転を示 す図である。Figures 3A-3D illustrate rotation of data in memory locations according to the present invention. This is a diagram.

第4図は、変換回路の他の実施例を示す図である。FIG. 4 is a diagram showing another embodiment of the conversion circuit.

第5八図ないし第5C図は、変換方式を変更するときにデータをどのように保護 できるかを示す図である。Figures 58 to 5C show how to protect data when changing the conversion method. It is a figure showing whether it is possible.

第6図は、従来技術のキャッシュ・メモリを示す図である。FIG. 6 is a diagram showing a prior art cache memory.

第7図は、本発明を組み込んだ第6図のキャッシュ・メモリを示す図である。FIG. 7 is a diagram illustrating the cache memory of FIG. 6 incorporating the present invention.

第8図は、本発明の他の実施例のブロック図である。FIG. 8 is a block diagram of another embodiment of the invention.

[好ましい実施例の詳細な説明コ 本発明を、まずコンピュータ・メモリ・システム全般に、つまり任意のコンピュ ータ・メモリ・システムに関して考察し、次に、特にキャッシュ記憶システムに 組み込まれたものとして本発明を考察する。ただし、本発明の範囲はキャッシュ 記憶装置に限定されるものではないことを十分に理解されたい。なお、当業者な ら、本発明を適用して、レジスタ、磁気テープ記憶装置、半導体ディスク記憶装 置などの他のメモリ・システムで長期信頼性を改善できることを、以下に示す詳 細な説明から理解するであろう。[Detailed description of the preferred embodiment] The present invention is first applied to computer memory systems in general, i.e., to any computer. data memory systems, and then specifically to cache storage systems. Consider the invention as incorporated. However, the scope of the present invention is It should be fully understood that the invention is not limited to storage devices. In addition, those skilled in the art By applying the present invention, registers, magnetic tape storage devices, semiconductor disk storage devices, etc. The details below demonstrate that other memory systems, such as You will understand from the detailed explanation.

最初に第1図を参照すると、様々な計算動作を実行する際に、中央演算処理装置 (CPU)15などのコンピュータ構成部品が、メモリ20にデータを書き込み 、あるいはメモリ20からデータを取り出す。メモリ20は、任意のコンピュー タ・メモリの代表であり、主記憶装置などの完全な記憶階層でもよく、また単に メモリ・チップの一部またはセグメントでもよい。一般に、メモリ20は、複数 の異なる個別にアドレス可能な位置に編成される。各位置はそれぞれ、その位置 に記憶された内容を取り出しまたはその位置にデータを書き込むために、CPU 15がその位置にアクセスするのに使用する固有の対応アドレスを有する。より 具体的には、各書込み動作の間に、CPU15はデータを書き込むべき位置に対 応するアドレスを指定し、各読取り動作の間に、CPU15はデータを取り出す べき位置に対応するアドレスを指定する。Referring first to Figure 1, when performing various computational operations, the central processing unit Computer components such as (CPU) 15 write data to memory 20 , or retrieve data from memory 20. Memory 20 can be used in any computer. It is representative of data memory, and can be a complete storage hierarchy such as main memory, or simply It may be a portion or segment of a memory chip. Generally, the memory 20 includes a plurality of are organized into different individually addressable locations. Each position is its own position. To retrieve the contents stored in or write data to that location, the CPU 15 has a unique corresponding address that is used to access that location. Than Specifically, during each write operation, the CPU 15 determines the position where data is to be written. During each read operation, CPU 15 retrieves the data. Specify the address corresponding to the desired position.

本発明によれば、変換回路25がCPU15とメモリ20の間に接続され、変換 制御装置30が変換回路25に接続される。変換回路25は、コンピュータ・メ モリ・システムに既に存在する可能性のある変換回路またはマツピング回路と共 に追加マツピングの層として提供することができ、あるいは、そのようなマツピ ング回路がコンピュータ・メモリ・システムに存在しない場合は、変換回路25 がそのシステムに存在する唯一のマツピング層であってもよい。According to the present invention, the conversion circuit 25 is connected between the CPU 15 and the memory 20, and the conversion circuit 25 is connected between the CPU 15 and the memory 20. A control device 30 is connected to the conversion circuit 25. The conversion circuit 25 is a computer with conversion or mapping circuitry that may already be present in the memory system. Alternatively, such matuping can be provided as an additional layer of matuping. If converting circuitry is not present in the computer memory system, converting circuitry 25 may be the only mapping layer present in the system.

市販されている多数のプログラム式マイクロ制御装置はどれでも、変換制御装置 30に利用することができる。そのようなマイクロ制御装置は当業者にはよ(知 られており、さらに説明を行わな(とも、このマイクロ制御装置が、以下に説明 するように変換装置3oの機能を実行するように容易にプログラム可能であるこ とが理解されよう。 −一般的に、CPUI 5がアクセスすべき入力アドレス を指定した後、変換回路25は入力アドレスを受け取り、予め指定された変換方 式に従ってその入力アドレスを変更または変換して、出力アドレスを発生する。Any of the many programmable microcontrollers on the market is a converter controller. It can be used for 30 days. Such microcontrollers are well known to those skilled in the art. (This microcontroller is not explained below.) be easily programmable to perform the functions of the conversion device 3o to It will be understood that - In general, the input address that the CPUI 5 should access After specifying the input address, the conversion circuit 25 receives the input address and converts it to the prespecified conversion method. Modify or transform that input address according to an expression to generate an output address.

さらに、変換回路25の変換方式を知能的に管理するために、変換制御装置3o は制御信号を変換回路25に送る。作業負荷の平衡またはすべてのメモリ位置に わたるアクセスを促進するために、必要に応じて変換装置30によって変換方式 を周期的に変更することができる。変換制御装置30で変換方式を変更する必要 がある具体的な周期は、平衡をとる個々のメモリ20のタイプによる。なお、変 換方式は、毎秒、毎分、毎日、毎週など、必要に応じて任意の期間で動的に変え ることができる。Furthermore, in order to intelligently manage the conversion method of the conversion circuit 25, the conversion control device 3o sends a control signal to the conversion circuit 25. Workload balance or all memory locations To facilitate access across the can be changed periodically. It is necessary to change the conversion method using the conversion control device 30. The specific period depends on the particular type of memory 20 being balanced. In addition, strange The conversion method can be dynamically changed at any time period as needed, such as every second, every minute, every day, every week, etc. can be done.

変換方式を実行するために極めて多くの技法および回路が実施でき、本発明に従 って所期の結果を達成するために、多数の変換方式が使用できる。したがって、 本明細書に明記された例は、例示のために含めたものにすぎず、本発明を限定す るものと解釈すべきではない。−例を挙げると、変換方式を実施するために使わ れる変換回路25は、CPU15によって指定されるアドレスの、すべてまたは いくつかのビットを体系的に反転する、複数の選択可能なインバータを含む。Numerous techniques and circuits can be implemented to implement the conversion scheme, and may be implemented in accordance with the present invention. A number of conversion schemes can be used to achieve the desired result. therefore, The examples set forth herein are included for illustrative purposes only and are not intended to limit the invention. It should not be construed as − For example, The conversion circuit 25 converts all or all of the addresses specified by the CPU 15. Contains multiple selectable inverters that systematically invert some bits.

第2図に示したように、選択可能なインバータは、排他的ORゲート35でよい 。第2図は、2ビツト・アドレスに必要な変換回路25の例であり、さらに、例 示の目的でのみ、第3図をも参照して、2ビツト・アドレス用の排他的ORゲー ト35による変換を詳細に述べる。As shown in FIG. 2, the selectable inverter may be an exclusive OR gate 35. . FIG. 2 shows an example of the conversion circuit 25 required for a 2-bit address. For illustrative purposes only, and with reference also to FIG. The conversion by step 35 will be described in detail.

たとえば、II I IIは入力アドレスを表し、”OIIは出力アドレスを表 す。入力アドレスは、アクセスされるCPUI 5によって指定されるアドレス であり、出力アドレスは、入力アドレスが変換回路25によって変換された後に 発生するアドレスである。出力アドレスは、メモリ20内の物理的記憶位置に対 応する。入力アドレスの各ビットはそれぞれ排他的○Rアゲート5によって受け 取られるので、変換回路30は2つの排他的ORゲート35を含む。また、変換 制御装置30からの制御信号も、排他的ORゲート35によって受け取られる。For example, "II" represents the input address and "OII" represents the output address. vinegar. The input address is the address specified by the CPUI 5 being accessed. After the input address is converted by the conversion circuit 25, the output address is This is the address where it occurs. The output address corresponds to a physical storage location within memory 20. respond. Each bit of the input address is received by an exclusive ○R agate 5. Therefore, the conversion circuit 30 includes two exclusive OR gates 35. Also, convert Control signals from controller 30 are also received by exclusive OR gate 35.

それぞれの排他的ORゲート35を個々に独立して制御できるようにするために 、各排他的ORゲート35は、変換制御装置3oからそれ自体の制御信号を受け 取る。CB、 tOは、2ビツト・アドレスのビットOに対応する排他的ORゲ ートに送られる制御信号を表し、CB、tlは、2ビツト・アドレスのビット1 に対応する排他的ORゲート35に送られる制御信号を表す。したがって、変換 制御装置30は、対応する排他的ORゲート35に高信号と低信号のどちらかを 送ることによって、論理アドレスのビットを反転するかどうかを制御することが できる。In order to be able to control each exclusive OR gate 35 individually and independently, , each exclusive OR gate 35 receives its own control signal from the conversion control device 3o. take. CB, tO are exclusive OR gates corresponding to bit O of the 2-bit address. CB, tl are bit 1 of the 2-bit address. represents a control signal sent to exclusive OR gate 35 corresponding to . Therefore, the conversion The controller 30 sends either the high signal or the low signal to the corresponding exclusive OR gate 35. You can control whether to invert the bits of a logical address by sending can.

第3A図ないし第3D図に示すように、それぞれそれ自体の別個の変換方式また はマツピング状態を有する、4つの独立した期間、時間工ないし時間4について 説明する。各枠40〜55は、メモリ20内の物理的記憶位置を表し、各枠内の ビットは、アクセスのためにCPU15によって指定される2ビツトの入力アド レスを表す。As shown in Figures 3A-3D, each has its own separate conversion scheme or has a mapping state for four independent periods, time or time 4. explain. Each frame 40-55 represents a physical storage location within the memory 20, and each frame 40-55 represents a physical storage location within the memory 20. bit is a 2-bit input address specified by CPU 15 for access. Represents a response.

表1は、4つの期間、時間工ないし時間4のそれぞれの間に、変換制御装置30 から、変換回路25の排他的ORゲート35に送られる制御信号を示す。Table 1 shows that during each of the four time periods, time 4, the conversion controller 30 shows the control signal sent to the exclusive OR gate 35 of the conversion circuit 25.

CBltOcBIti 時間1 0 。CBltOcBIti Time 1 0.

時間2 0 1 時間31 Q 時間4 1 1 時間1の間、制御信号CB、t0とCB!t1は共に低(0)なので、変換され た出力アドレスの各ビットは、次のように、入力アドレスの各ビットと等しくな る。Time 2 0 1 Time 31 Q Time 4 1 1 During time 1, control signals CB, t0 and CB! Since t1 is both low (0), it is converted Each bit of the output address is equal to each bit of the input address, as follows: Ru.

ビット0゜;ビット0. ビット1゜=ビット1゜したがって、時間1の間、入 力アドレスooと出力アドレスOOは等しくそれぞれ同じ物理位置4oに対応し 、入力アドレス01と出力アドレスo1は等しくそれぞれ同じ物理位置45に対 応し、入力アドレス10と出力アドレス10は等しくそれぞれ同じ物理位置5o に対応し、入力アドレス11と出力アドレス11は等しくそれぞれ同じ物理位置 55に対応する。Bit 0°; Bit 0. Bit 1° = Bit 1° Therefore, during time 1, the input The output address oo and the output address OO are equal and each correspond to the same physical location 4o. , input address 01 and output address o1 are equal and correspond to the same physical location 45, respectively. Accordingly, the input address 10 and the output address 10 are equally located at the same physical location 5o. , the input address 11 and the output address 11 are equally located at the same physical location. Corresponds to 55.

時間2の間には、ビットOの排他的ORゲートに送られる制御信号CB、、。は 低(0)であり、ビット1の排他的ORゲート35に送られる制御信号CB、t Xは高(1)である。したがって、排他的ORゲート35の論理に従って、次の ように、変換された出力アドレスのビット0は入力アドレスのビット0に等しく 、変換出力アドレスのビット1は入力アドレスのビット1の補数に等しくなる。During time 2, the control signal CB, . . . is sent to the exclusive OR gate of bit O. teeth The control signal CB,t is low (0) and sent to the exclusive OR gate 35 of bit 1. X is high (1). Therefore, according to the logic of exclusive OR gate 35, , bit 0 of the translated output address is equal to bit 0 of the input address , bit 1 of the translated output address is equal to bit 1's complement of the input address.

ビットO0=ビット01 ビット1゜=ビット11したがって、時間2の間に、 入力アドレスoOは出力アドレスO1に変換され、この入力アドレスOOは物理 位置45に対応し、入力アドレス01は出力アドレス00に変換され、この入力 アドレス01は物理位置40に対応し、入力アドレス10は出力アドレス11に 変換され、この入力アドレスlOは物理位置55に対応し、入力アドレス11は 出力アドレス10に変換され、この入力アドレス11は物理位置5oに対応する 。Bit O0 = Bit 01 Bit 1° = Bit 11 Therefore, during time 2, The input address oO is converted to the output address O1, and this input address OO is the physical Corresponding to position 45, input address 01 is converted to output address 00, and this input Address 01 corresponds to physical location 40 and input address 10 corresponds to output address 11. translated, this input address lO corresponds to physical location 55 and input address 11 is translated into output address 10, which input address 11 corresponds to physical location 5o. .

時間3の間は、ビット0の排他的ORゲート35に送られる制御信号CB1to は高(1)であり、ビット1の排他的ORゲート35に送られる制御信号Cl5 It1は低(0)である。したがって、排他的ORゲート35の論理に従って、 次のように、変換出力アドレスのビットOは入力アドレスのビットOの補数に等 しく、変換出力アドレスのビット1は入力アドレスのビット1に等しくなる。During time 3, the control signal CB1to sent to the exclusive OR gate 35 of bit 0 is high (1) and the control signal Cl5 sent to the exclusive OR gate 35 of bit 1 It1 is low (0). Therefore, according to the logic of exclusive OR gate 35, Bit O of the converted output address is equal to the complement of bit O of the input address, as follows: Therefore, bit 1 of the translated output address is equal to bit 1 of the input address.

ビットO0=ビットO1ビット1゜=ビット1゜したがって、時間30間に、入 力アドレス00は出力アドレスlOに変換され、この入力アドレス00は物理位 置50に対応し、入力アドレスo1は出力アドレス11に変換され、二の入力ア ドレス01は物理位置55に対応し、入力アドレス10は出力アドレス00に変 換され、この入力アドレス10は物理位置4oに対応し、入力アドレス11は出 力アドレス01に変換され、この入力アドレス11は物理位置45に対応する。Bit O0 = Bit O1 Bit 1° = Bit 1° Therefore, during time 30, the input The input address 00 is converted to the output address lO, and this input address 00 is the physical address Corresponding to the input address 50, the input address o1 is converted to the output address 11, and the second input address Address 01 corresponds to physical location 55, input address 10 changes to output address 00. This input address 10 corresponds to the physical location 4o, and the input address 11 corresponds to the output input address 01, which corresponds to physical location 45.

時間4の間は、ビット0の排他的ORゲートに送られる制御信号CB、t0は高 (1)であり、ビット1の排他的ORゲートに送られる制御信号C□t1も高( 1)である。したがって、排他的ORゲート35の論理に従って、次のように、 変換出力アドレスのビット0は入力アドレスのビット0の補数に等しく、変換出 力アドレスのビット1も入力アドレスのビット1の補数に等しくなる。During time 4, the control signal CB sent to the exclusive OR gate of bit 0, t0 is high. (1), and the control signal C□t1 sent to the exclusive OR gate of bit 1 is also high ( 1). Therefore, according to the logic of exclusive OR gate 35, as follows: Bit 0 of the translation output address is equal to the complement of bit 0 of the input address; Bit 1 of the input address will also be equal to the complement of bit 1 of the input address.

ビット0゜=ビット0. ビット1゜=ビットl。Bit 0° = Bit 0. Bit 1゜=bit l.

これにより、時間4の間に、入力アドレスOOは出力アドレス11に変換され、 この入力アドレスOOは物理位置55に対応し、入力アドレスo1は出力アドレ ス1oに変換され、この入力アドレスo1は物理位置50に対応し、入力アドレ ス10は出力アドレスO1に変換され、この入力アドレス10は物理位置45に 対応し、入力アドレス11は出力アドレスoOに変換され、この入力アドレス1 1は物理位置40に対応する。Thus, during time 4, input address OO is converted to output address 11, This input address OO corresponds to the physical location 55, and the input address o1 is the output address. This input address o1 corresponds to the physical location 50 and the input address address 10 is translated into output address O1, and this input address 10 is placed at physical location 45. Correspondingly, input address 11 is converted to output address oO, and this input address 1 1 corresponds to physical location 40.

このように、時間1ないし時間4の各期間にわたって、入力アドレスの出力アド レスへの変換を変更することにより、CPUによって指定される入力アドレスに 対応するメモリ内の物理位置が回転された。すなわち、CPU15によって指定 される同じ入力アドレスが、各期間の間に、異なる物理位置にアクセスする。Thus, for each period from time 1 to time 4, the output address of the input address to the input address specified by the CPU. The corresponding physical location in memory has been rotated. That is, specified by the CPU 15 The same input address accesses a different physical location during each period.

さらに、排他的ORゲートとアドレス・ビットの数が対応することを、第2図に 示しまた2ビツト・アドレスに関する上記の例で述べたが、必ずしも各アドレス ・ビットごとに排他的ORゲートが必要ではないことを理解されたい。なお、1 メガビツト□またはそれよりも大きなメモリなどの大きなメモリにおいては、各 アドレス・ビットごとに排他的ORゲートを設けるのは実際的でないことがある 。このような大きなメモリでは、排他的ORゲートを、約3または4個の高次ア ドレス・ビットに接続するのが実用的かつ必要であり、それにより8〜16通り の異なるマツピング状態が可能になる。Furthermore, the correspondence between the exclusive OR gate and the number of address bits is shown in Figure 2. Although mentioned in the example above regarding 2-bit addresses, it is not necessary that each address - It should be understood that exclusive OR gates are not required for each bit. In addition, 1 In large memories, such as megabits or larger, each It may be impractical to provide an exclusive OR gate for each address bit. . In such large memories, the exclusive OR gate can be divided into approximately 3 or 4 higher order It is practical and necessary to connect to the dress bit, thereby allowing 8 to 16 different different mapping states are possible.

第4図に示したように、別の変換方式を実施するために使用できる変換回路25 のもう1つの例は、CPU15によって指定されるアドレスのビットを体系的に シフトする、循環シフト・レジスタ60を含む。As shown in FIG. 4, a conversion circuit 25 that can be used to implement different conversion schemes. Another example is to systematically set the bits of an address specified by CPU 15 to It includes a circular shift register 60 that shifts.

シフト・レジスタ60は、市販されている通常のどんなレジスタでもよく、また それぞれがCPU15によって指定される入力アドレスの個々のビットに対応し てそのビットを受け取る、複数のラッチ65を含んでもよい。メモリ20内の異 なる物理位置にそれぞれ対応する4つの別個の出力アドレスを発生するために、 4ビツトの入力アドレス0110と、4つの期間、期間lないし期間4とを使っ て、同じ入力アドレス0110がシフト・レジスタ60によってどのように変換 されるかを示す。Shift register 60 may be any conventional register commercially available; each corresponds to an individual bit of the input address specified by CPU 15. A plurality of latches 65 may be included to receive the bits. Differences in memory 20 To generate four separate output addresses, each corresponding to a physical location, Using a 4-bit input address 0110 and 4 periods, period 1 to period 4. So how is the same input address 0110 translated by shift register 60? Indicates whether

変換制御装置から受け取った負荷制御信号に応答して、シフト・レジスタ60の 各ラッチ65に、入力アドレスの1ビツトがロードされる。次に、レジスタ60 は、変換制御装置30から受け取ったシフト制御信号に従ってシフト動作を実行 する。次に、メモリ20において、結果として生じた変換出力アドレスがアクセ スされる。この例では、期間1の間はシフトが行われず、変換出力アドレスは入 力アドレスに等しく、期間2、期間3および期間4の間、シフト・レジスタ60 はそれぞれ1シフト、2シフト、3シフトを行う。結果を、次の表IIに示す。In response to a load control signal received from the conversion controller, shift register 60 is Each latch 65 is loaded with one bit of the input address. Next, register 60 performs a shift operation according to the shift control signal received from the conversion control device 30. do. The resulting translated output address is then accessed in memory 20. will be missed. In this example, no shifting occurs during period 1, and the translated output address is during period 2, period 3, and period 4, shift register 60 performs 1st shift, 2nd shift, and 3rd shift, respectively. The results are shown in Table II below.

表II ビットOビット1 ビット2 ビット3人カアドレス 0 1 1 0 シフト 変換後の出力アドレス ビットOビット1 ビット2 ビット3期間1:OO110 期間2:1 0 0 1 1 期間3:2 1 0 0 1 期間4:3 1 1 0 0 シフト・レジスタを使って任意の長さの入力アドレスを変換することができ、よ り長い入力アドレスには、入力アドレスのビットを収容するために、より多(の ラッチを有するレジスタを使いさえすればよいことを理解されたい。さらに、入 力アドレスが極端に長い場合、本発明の目的を十分に達成するために、そのよう な入力アドレスのすべてのビットをシフトすることは、必ずしも必要または実際 的でないこともある。なお、そのような状況では、変換された出力アドレスを適 切に発生するために、たとえば、入力アドレスの4ビツトまたは5ビツトをシフ トするだけでよいこともある。Table II Bit O Bit 1 Bit 2 Bit 3 Person address 0 1 1 0 Shift Output address after conversion Bit O Bit 1 Bit 2 Bit 3 Period 1: OO110 Period 2: 1 0 0 1 1 Period 3:2 1 0 0 1 Period 4:3 1 1 0 0 Shift registers can be used to convert input addresses of arbitrary length, and Longer input addresses require more (more) bits to accommodate the input address bits. It should be understood that registers with latches need only be used. In addition, If the power address is extremely long, such It may not be necessary or practical to shift all bits of the input address. Sometimes it doesn't make sense. Note that in such a situation, the translated output address cannot be applied. For example, shift 4 or 5 bits of the input address to Sometimes all you need to do is to

上記のように、変換方式は、必要に応じて任意の期間にわたって変更することが できる。変換方式を変更すべき具体的な期間は、メモリ・システムの個々の設計 および信頼性要件によって決まる。ただし、記憶されたデータがまだ必要な問に 変換方式を変えると、前の変換方式の下で記憶されたデータはどれもCPU15 によってアクセスできないことを理解されたい。したがって、その時は、CPU 15によって指定された入力アドレスはもはや同じ出力アドレスに対応せず、す なわち、入力アドレスの出力アドレスへの変換が異なったものになり、またメモ リ内の対応する物理位置も異なることになる。単に一時記憶用にはキャッシュ・ メモリなどのメモリ・システムを使用するが、プログラムまたはデータのブロッ クを永久に記憶する必要のある他のメモリ・システムでは、変換方式を変えるこ とは問題になる。そのような永久に記憶されるプログラムは、ある変換方式およ び期間から別の変換方式および期間に変えるときに保存しなければならない。た とえば、ハード・ディスク・ドライブに常駐するオペレーティング・システム・ プログラムは、そのような保存が必要である。As mentioned above, the conversion method can be changed over any period of time as needed. can. The specific period during which the conversion method should be changed depends on the individual design of the memory system. and reliability requirements. However, for questions where memorized data is still required, When you change the conversion method, any data stored under the previous conversion method will be transferred to the CPU15. Please understand that it is not accessible by. Therefore, at that time, the CPU The input address specified by 15 no longer corresponds to the same output address and all This means that the input address will be translated differently to the output address, and the memo will be The corresponding physical locations within the library will also be different. Cache is simply used for temporary storage. uses a memory system such as memory, but does not block programs or data. Other memory systems that require permanent memory storage may require a different conversion method. That becomes a problem. Such permanently stored programs require certain conversion methods and must be preserved when changing from one conversion method and period to another. Ta For example, an operating system that resides on a hard disk drive. The program requires such preservation.

次に、第5八図ないし第5C図を参照すると、そのような永久に記憶されるプロ グラムまたはデータを有するメモリ・システムにおいて、一時バッファ70を利 用して、実施すべき新しい変換方式によるメモリ内の位置にプログラムを再変換 することができる。たとえば、新しい変換方式および期間が、メモリ位置75の データをメモリ位置90に転送することを必要とした場合、およびその逆の場合 は、第5A図に示したように、位置90内のデータを一部バッファ70に複写ま たは転送することができる。Referring now to Figures 58 through 5C, such permanently stored programs Temporary buffer 70 is used in memory systems that have programs or data. to retranslate the program to a location in memory using the new conversion method to be implemented. can do. For example, a new conversion scheme and period may be found in memory location 75. If you need to transfer data to memory location 90 and vice versa copies some of the data in location 90 to buffer 70, as shown in FIG. 5A. or transfer.

一部バッファ70は、キャッシュ・メモリ、主メモリの一部、外部ディスクなど 、任意の未使用のメモリ空間でよ(、あるいは、そのような目的専用のメモリ・ チップの一部分でもよい。次に、第5B図に示したように、位置75に記憶され たデータは位置90に書き込むことができ、より具体的には、位置75.のデー タを位置9oのデータの上に書くことができる。次に、第5C図に示したように 、一時バッファ70内のデータ(本来、位置90に記憶されていたデータ)を位 置75に書き込むことができる。したがって、前に位置75に記憶されていたデ ータはこのとき位置90に記憶され、前に位置90に記憶されていたデータはこ のとき位置75に記憶される。その後、このデータを、新しい変換方式および期 間に従って正しくアクセスすることができる。Some buffers 70 include cache memory, part of main memory, external disk, etc. , in any unused memory space (or in memory dedicated for such purpose) It can also be a part of the chip. It is then stored in location 75, as shown in FIG. 5B. data can be written to location 90, and more specifically, to location 75. day of data can be written on top of the data at position 9o. Next, as shown in Figure 5C, , the data in the temporary buffer 70 (the data originally stored in location 90) is It is possible to write to location 75. Therefore, the data previously stored in location 75 The data is now stored in location 90, and the data previously stored in location 90 is now stored in location 90. It is stored in position 75 when . This data is then applied to the new conversion method and period. can be accessed correctly in time.

次に、本発明を、キャッシュ・メモリへの具体的な応用について考察する。最初 に、キャッシュにおける本発明の動作を適切な環境で提示できるように、キャッ シュ・メモリの簡単な説明を行う。図面を簡単にするため、第6図では、直接マ ツプ式(単方向連想)キャッシュ95を示す。CPUからのキャッシュ・アクセ スはすべて、8バイトのダブルワード(DW)単位によると仮定する。 、 通常の高性能コンピュータでは、主メモリへの各アクセスを完了するのに20〜 3o機械サイクルもかかることがある。Next, a specific application of the present invention to a cache memory will be considered. first In order to present the operation of the present invention in a cache in an appropriate environment, A brief explanation of flash memory will be given. To simplify the drawing, in Figure 6 A unidirectional associative cache 95 is shown. Cache access from CPU Assume that all addresses are in 8-byte double word (DW) units. , On a typical high-performance computer, each access to main memory takes 20 to 3o machine cycles may also be required.

主メモリ・アクセスのためのそのような長いリード遅延を補償するために、CP Uデータ・アクセス用の高速バッファとしてキャッシュ記憶装置が広く利用され てきた。多くのコンピュータ・システムでは、キャッシュは単に記憶サブシステ ムのハードウェア層として実施され、プログラム・ソフトウェアにとって影響が ない。To compensate for such long read delays for main memory accesses, CP Cache storage devices are widely used as high-speed buffers for data access. It's here. In many computer systems, cache is simply a storage subsystem. It is implemented as a hardware layer of the system and has no impact on the program/software. do not have.

一般に、キャッシュは、決まった大きさのメモリ・ブロック (たとえば、12 8バイト)のテーブルとして実施され、ディレクトリ部100とアレイ部105 の2つの部分を含む。Typically, a cache is a block of memory of a fixed size (e.g., 12 8 bytes), and includes a directory section 100 and an array section 105. Contains two parts.

キャッシュ・アレイ105は、実際のデータ・ブロックを記憶し、キャッシュ・ ディレクトリ100は、アレイ105内のデータ・ブロックの内容(たとえば、 アドレスと他の状況タグ)を記述する。CPUによってアクセスされるデータ・ ブロックがキャッシュ内に欠落しているときは、しばしばキャッシュ・ミス状態 と呼ばれ、新しいブロック・エントリをキャッシュに書き込むことができ、それ によってキャッシュから別の既存のブロックの置換をトリガすることができる。Cache array 105 stores the actual data blocks and Directory 100 contains the contents of data blocks in array 105 (e.g. address and other status tags). Data accessed by CPU A cache miss condition often occurs when a block is missing from the cache. A new block entry can be written to the cache, and it can trigger the replacement of another existing block from the cache.

キャッシュ内に新しいブロック・エントリを作成する際には、一般に、ブロック のデータは低レベルの記憶階層(たとえば、主記憶袋Wl)から取り出される。When creating a new block entry in the cache, you generally data is retrieved from a lower level storage hierarchy (eg, main memory bag Wl).

キャッシュ置換は通常、L RU (least−recently−used )基準のアルゴリズムによって管理される。CPUデータ・アクセスがキャッシ ュ内の有効ブロック・エントリをヒツトする状態である、キャッシュ・ヒツトの 確率(キャッシュ・ヒツト率)は、現代のコンピュータでは通常93〜98%の 範囲にある。したがって、キャッシュを有するコンピュータでは、キャッシュ自 体が、Cアドレス110のビット15〜24を使って、ディレクトPUからのほ とんどのデーダーアクセス要求(読取りと書込み)をインターセプトし満足する 。Cache replacement is typically LRU (least-recently-used ) managed by a standard algorithm. CPU data access is cached A cache hit is a condition in which a valid block entry in a cache is hit. The probability (cache hit rate) is typically 93-98% on modern computers. in range. Therefore, on a computer with a cache, the cache itself The body uses bits 15-24 of C address 110 to Intercept and satisfy most dataer access requests (reads and writes) .

CPUは、キャッシュ95内でアクセスされる32ビツト・アドレス(ビット0 〜31)などの入力アドレス110を指定する。キャッシュ・アレイ105は、 IK(1024)のエントリを有する1次元テーブルと見なすこともでき、各エ ントリは大きさ128バイトのデータのブロック(ライン)を含む。したがって 、このキャッシュの合計の大きさは128にバイトである。、CPUからキャッ シュ95への各アクセス・アドレスに関して、アドレス110のビット25〜3 1はライン・オフセット(たとえば、128バイト・ライン内のバイト・アドレ ス)であり、アドレス110のビット15〜24はIKのキャッシュ・エントリ のうちの1つを選択するために使われる。The CPU uses the 32-bit address (bit 0 -31), etc., is specified. The cache array 105 is It can also be considered as a one-dimensional table with IK (1024) entries, with each entry An entry contains a block (line) of data 128 bytes in size. therefore , the total size of this cache is 128 bytes. , cache from CPU For each access address to address 110, bits 25-3 of address 110 1 is the line offset (for example, byte address within a 128-byte line) bits 15-24 of address 110 are IK cache entries. used to select one of the

これは直接マツプ式キャッシュなので、適切なライン・エントリは1つしかない 。キャッシュ・ディレクトリ100は、ライン・エントリすべてに関するアドレ ス識別子を記憶し、キャッシュ・アレイ105はすべてのデータ・ビットを記憶 する。図を簡単にするために、単一のアレイ・チップがすべてのキャッシュ・デ ータ・ビットを保持すると仮定する。各ディレクトリ・エントリまたはレコード 115は、15個のアドレス・ビットを保持するADDRフィールドと1個の妥 当性タグ(Vビット)を有する。キャッシュ・エントリは、関連するVビットが 高(1)のときだけ有効と見なされる。This is a direct mapped cache, so there is only one good line entry. . Cache directory 100 contains addresses for all line entries. cache array 105 stores all data bits. do. To simplify the diagram, a single array chip covers all cache devices. Assume that the data bits are retained. Each directory entry or record 115 is an ADDR field holding 15 address bits and one valid address bit. It has a validity tag (V bit). A cache entry has an associated V bit of Only considered valid when high (1).

ス110のライン選択ビット、ビット15〜24を変更するす100およびアレ イ105の両刃におけるライン・エントリを選択する。選択されたディレクトリ ・エントリは、比較論理回路120に読み出される。比較論理回路120は、ア ドレス110のビットO〜14をディレクトリ・レコード115のADDRフィ ールドと比較し、またレコード115のVビットを検査する。アドレス110の ビット0〜14がディレクトリ・レコード115のADDRフィールドに一致し 、かつレコード115のVビットが高であると判定したとき、比較論理回路12 0は「ヒツトJ信号をCPUに送る。どちらかの条件に合わない場合は、比較論 理回路120は「ミス」信号をCPUに送る。Line selection bits of bits 110, bits 15-24 of bits 100 and array 105. Select the line entry on both edges of b. selected directory - The entry is read into the comparison logic circuit 120. Comparison logic circuit 120 Set bits O-14 of address 110 to the ADDR field of directory record 115. and also check the V bit of record 115. address 110 Bits 0-14 match the ADDR field of directory record 115. , and the V bit of record 115 is high, comparison logic circuit 12 0 sends the "Hit J signal to the CPU. If either condition is not met, the comparative The logic circuit 120 sends a "miss" signal to the CPU.

キャッシュ・アレイ105において、ビット15〜24は128バイトのライン 125を選択するのに使用され、ビット25〜28は、CPUに出力するため、 選択されたライン125における16個のDWのうちの1つを選択するのに使用 されるaDWの出力は、CPUが比較論理回路120から「ヒツト」条件を受け 取ったときだけ有効と見なされる。キャッシュ「ミス」条件のときは、必要とさ れるラインのコピーを主記憶装置から取り出し、選択されたキャッシュ・ライン にロードする必要がある。次に、新しいライン状況を反映するように、ディレク トリ情報(アドレス・ビットO〜14およびVビット)を適切に更新しなければ ならない。In cache array 105, bits 15-24 are 128-byte lines. Bits 25-28 are used to select 125, and bits 25-28 are used to select Used to select one of the 16 DWs in selected line 125 The output of the aDW that is It is considered valid only when taken. During a cache "miss" condition, the required A copy of the selected cache line is retrieved from main storage. need to be loaded into. Next, change the directories to reflect the new line status. If the bird information (address bits O-14 and V bit) is not updated properly, No.

ここで第7図を参照すると、本発明によれば、入カアドレOを実施することがで きる。すなわち、キャッシュ・ディレクトリ100およびキャッシュ・アレイ1 05におけるライン・エントリの選択が、変換されたアドレスに従って変更され る。変換されたアドレスは、変換回路25と変換制御装置30とによって指定さ れた変換方式に従って発生される。Referring now to FIG. 7, according to the present invention it is possible to implement an input address O. Wear. That is, cache directory 100 and cache array 1 The line entry selection at 05 is changed according to the translated address. Ru. The converted address is specified by the conversion circuit 25 and the conversion control device 30. generated according to the specified conversion method.

すなわち、入力アドレス110のビット15〜24によって指定された特定のラ イン・エントリは、アクセスのために選択されない。そうではなくて、変換され た出力アドレスを発生するために、入力アドレス110のビット15〜24が変 換回路によって修正され、変換された出力アドレスがアクセスのための選択に使 われる。That is, the particular column specified by bits 15-24 of input address 110 In entries are not selected for access. Instead, it is converted Bits 15-24 of input address 110 are changed to generate the output address The converted output address is modified by the conversion circuit and used to select for access. be exposed.

キャッシュ95と関連して示した変換回路25および変換制御装置30は、一般 にメモリ・システムと関連して上述したものと同じ回路を含むことができる。さ らに、上記で概要を述べた変換方式をキャッシュ95内でも使用することができ 、あるいは入力アドレス110のビット15〜24を変換するために、他の適切 などんな変換方式も使用できる。The conversion circuit 25 and conversion control device 30 shown in association with the cache 95 are generally The memory system may include the same circuitry described above in connection with the memory system. difference Additionally, the conversion scheme outlined above can also be used within cache 95. , or any other suitable method to convert bits 15-24 of input address 110. Any conversion method can be used.

本発明をキャッシュ記憶装置で利用する場合は、変換方式が変わるたびに、CP Uからの書込みによって主メモリが更新された後に、キャッシュ内に含まれる既 存のデータを除去または無効化してもよい。この無効処理は、いわゆるライト・ スル一方式により実施されるキャッシュでは特に簡単である。ライト・スル一方 式は、CPUからの各データ書込みを、キャッシュに書き込む他に自動的に主メ モリにライト・スルーさせるものである。When the present invention is used in a cache storage device, the CP After main memory is updated by a write from U, the existing data contained in the cache is Existing data may be removed or invalidated. This invalidation process is called a write This is particularly simple for caches that are implemented in a one-way manner. Right through one hand The formula automatically writes each data write from the CPU to the main memory in addition to writing it to the cache. This allows Mori to write through.

先の例ではメモリへのすべてのアクセスに単一のマツピングを利用したが、1つ のメモリを複数の区画に分割して、個々の部分ごとに別々にマツピングを行うこ ともできる。次に、第8図を参照すると、メモリ20は4つの部分160〜17 5に分割されている。各部分160〜175はそれ自体の変換方式を有し、各変 換方式は変換回路25のそれぞれの部分140〜155によって実施される。In the previous example, we used a single mapping for all accesses to memory; It is possible to divide the memory of a computer into multiple sections and map each section separately. Can also be done. Referring now to FIG. 8, memory 20 is divided into four sections 160-17. It is divided into 5 parts. Each portion 160-175 has its own transformation scheme, and each The conversion scheme is implemented by respective portions 140-155 of conversion circuit 25.

CPUからの各アクセスごとに、1つのメモリ部分が選択される。部分選択の一 例は、アクセス・アドレスにおいて変換によって変化しない2ビツトに基づ(も のである。変換回路部分140〜155はそれぞれ、変換制御装置30から別々 の制御信号(たとえば、XORマスク)を受け取る。例示の目的で、変換回路部 分140〜155はそれぞれ、変換制御装置30から受け取ったビット・ベクト ル・マスクとX○Rを行うことにより、(c p uからの)入力アドレスから マツピングされた出力アドレスを生成する。この配置構成により、個々の部分ご とにデータ割振りを再編成することができる。One memory portion is selected for each access from the CPU. Partial selection one The example is based on two bits in the access address that do not change with translation (also It is. Each of the conversion circuit portions 140 to 155 is separately connected to the conversion control device 30. control signals (eg, an XOR mask). For illustrative purposes, the conversion circuit section Minutes 140 to 155 are bit vectors received from conversion controller 30, respectively. From the input address (from cp u) by doing le mask and X○R, Generate mapped output addresses. This arrangement allows each part to be data allocation can be reorganized.

実際には、メモリの一部分のマツピングおよびデータ割振りの再編成は、メモリ 全体の再編成よりも性能に対する破壊が少ない。たとえば、第8図は、第7図に おけるキャッシュ・アレイ・チップ105内分オンチップ区画と見なすミとがで きる。区画の選択は、CPUからの入力アドレス110のビット15〜16によ り、ビット15〜16は変換回路25によって決して変更されない。この配置構 成により、キャッシュ・マツピングが、個々の区画ごとに周期的に再編成できる 。各マツピング再編成時には、関連する区画のキャッシュ内容だけを無効にする 必要がある。1つの利点は、再編成後にもキャッシュの内容の4分の3が正しく 、まだキャッシュが高速メモリ・バッファとして有効に動作できることである。In practice, the mapping of parts of memory and the reorganization of data allocation are Less disruptive to performance than total reorganization. For example, Figure 8 is The cache array chip 105 is considered to be an on-chip partition. Wear. Partition selection is made by bits 15-16 of input address 110 from the CPU. Therefore, bits 15-16 are never modified by conversion circuit 25. This arrangement configuration allows cache mapping to be reorganized periodically for each individual partition. . During each mapping reorganization, only the cache contents of the relevant partitions are invalidated. There is a need. One advantage is that three-quarters of the contents of the cache are correct even after reorganization. , yet the cache can effectively operate as a high-speed memory buffer.

本発明を、具体的な実施例に関して説明したが、多数の代替、修正および変形例 が当業者に明らかであることは、以上の説明から明白である。したがって、本発 明は、本発明の範囲および趣旨ならびに併記の特許請求の範囲に含まれるそのよ うなすべての代替、修正および変形例を包含するものである。Although the invention has been described with respect to specific embodiments, numerous alternatives, modifications, and variations may occur. It is clear from the above description that it will be obvious to a person skilled in the art. Therefore, the original The scope and spirit of the invention as well as the scope and spirit of the invention and the scope and spirit of the appended claims It is intended to include all such alternatives, modifications and variations.

FIG、1 FIG、2 手続補正IF(自発) 国際出願PCT/US921067132、発明の名称 コンピュータ・システムにおけるメモリの磨耗を低減する方法および装置 3、補正をする者 事件との関係 特許出願人 住 所 アメリカ合衆国10504、ニューヨーク州アーモンク(番地なし) 名 称 インターナショナル・ビジネス・マシーンズ・コーポレーション 4、代理人 住 所 郵便番号242 神奈川県大和市下鶴間1623番地14日本アイ・ビー・エム株式会社 大和事業所内 Te1(大代表10462−76−1111連絡先; 0462−73−332 5.0462−73−3318別紙のとおり 請求の範囲 1、コンピュータ・メモリ(2o)の記憶位置におけるデータの記憶を管理する ための装置であって、前記入力アドレスを受け取って変換方式に従って前記入力 アドレスを変更して出力アドレスを発生する変換手段(25)と、 制御信号を発生し前記変換手段に送る制御手段(30)とを含み、前記変換方式 が出力アドレスを発生し、前記各入力アドレスが複数のセグメントを含み、前記 各入力アドレスおよび前記各出力アドレスがコンピュータ・メモリの1つの記憶 位置に対応し、前記制御信号が前記変換方式を周期的に修正し、それによりデー タの記憶がコンピュータ・メモリの記憶位置全体にわたって一様に分散されるよ うに所定の体系的な方式で前記変換手段による前記入力アドレスの変更が実施さ れることを特徴とする装置。FIG.1 FIG.2 Procedural amendment IF (voluntary) International application PCT/US921067132, title of the invention Method and apparatus for reducing memory wear in computer systems 3. Person who makes corrections Relationship to the incident: Patent applicant Address: Armonk, New York, United States 10504 (no street address) Name International Business Machines Corporation 4. Agent Address: Postal code 242 IBM Japan Co., Ltd. 1623-14 Shimotsuruma, Yamato City, Kanagawa Prefecture Inside Yamato Office Te1 (main representative 10462-76-1111 contact information; 0462-73-332 5.0462-73-3318 As per attached sheet The scope of the claims 1. Manage the storage of data in storage locations of the computer memory (2o) a device for receiving the input address and converting the input address according to a conversion method; conversion means (25) for changing the address to generate an output address; control means (30) for generating and sending a control signal to the conversion means; generates an output address, each said input address includes multiple segments, and said Each input address and each output address are stored in one memory of the computer memory. Corresponding to the position, the control signal periodically modifies the conversion scheme so that the data so that the storage of data is uniformly distributed throughout the storage locations of computer memory. the input address is changed by the conversion means in a predetermined systematic manner; A device characterized by:

2、前記変換方式が、プリセット期間の経過後に修正されることを特徴とする請 求項lに記載の装置。2. The conversion method is modified after a preset period has elapsed. The device according to claim 1.

3、前記変換手段(25)が、ある期間中ずつと1つの変換方式に従ってすべて の入力アドレスを変更することを特徴とする請求項1または2に記載の装置。3. The conversion means (25) performs all conversions according to one conversion method each during a certain period of time. The device according to claim 1 or 2, characterized in that the input address of the device is changed.

4、各部分(160,165,170,175)がそれぞれ少な(とも1つのコ ンピュータ・メモリ (20)の記憶位置を含む、複数の部分からなるコンピュ ータ・メモリにおけるデータの記憶を管理するように適合され、変換手段(25 )が第1の変換方式に従ってコンピュータ・メモリの第1の部分に対応する入力 アドレスを変更し、また第2の変換方式に従ってコンピュータ・メモリの第2の 部分に対応する入力アドレスを変更するような複数の変換方式(140,145 ,150,155)が提供されることを特徴とする請求項1に記載の装置。4. Each part (160, 165, 170, 175) is small (all are one code) Computer memory (20) converting means (25) adapted to manage the storage of data in the data memory; ) corresponds to the first portion of the computer memory according to the first transformation scheme. the second address of the computer memory according to the second translation scheme. Multiple conversion methods (140, 145) that change the input address corresponding to the part , 150, 155).

5、発生された出力アドレスに対応するコンピュータ・メモリの記憶位置にデー タが書き込まれることを特徴とする請求項1ないし4のいずれかに記載の装置。5. Place the data in the computer memory location corresponding to the generated output address. 5. A device according to claim 1, wherein a data is written.

6、前記変換手段(25)が、中央演算処理装置(15)から入力アドレスを受 け取ることを特徴とする、前記いずれかの請求項に記載の装置。6. The conversion means (25) receives an input address from the central processing unit (15). A device according to any of the preceding claims, characterized in that the device comprises: a.

7、出力アドレスを発生するために、前記変換手段(25)が、前記入力アドレ スの選択されたセグメントを変更することを特徴とする、前記いずれかの請求項 に記載の装置。7. In order to generate an output address, said conversion means (25) converts said input address into as claimed in any one of the preceding claims, characterized in that: The device described in.

8、前記変換手段(25)が、前記入力アドレスの選択されたセグメントを反転 する反転手段(35)を含むことを特徴とする、前記いずれかの請求項に記載の 装置。8. The converting means (25) inverts the selected segment of the input address. 3. The method according to any one of the preceding claims, characterized in that it comprises reversing means (35) for Device.

9、前記反転手段(35)が排他的ORゲートを含むことを特徴とする請求項8 に記載の装置。9. Claim 8, characterized in that said inverting means (35) comprises an exclusive OR gate. The device described in.

10、前記変換手段(25)が循環シフト・レジスタ (60)を含むことを特 徴とする、前記いずれかの請求項に記載の装置。10. The converting means (25) comprises a circular shift register (60). Apparatus according to any of the preceding claims, characterized in that it is characterized by:

11、複数の変換方式が機側され、さらに、第2の変換方式によるコンピュータ ・メモリの記憶位置に、第1の変換方式に従って前に記憶されたデータを再ロー ドする手段(7o)を含み、前記第1の変換方式が前記第2の変換方式を発生す るために修正されることを特徴とする請求項lないし3および5ないし1oのい ずれかに記載の装置。11. A plurality of conversion methods are installed on the machine side, and a computer according to the second conversion method is ・Reload the previously stored data according to the first conversion method into the storage location of the memory. means (7o) for converting the first conversion method to generate the second conversion method; Claims 1 to 3 and 5 to 1o are characterized in that they are modified to The device described in any of the above.

12、前記データを再ロードする手段が、再ロードされるデータを一時的に保持 する一部バッファ(70)を含むことを特徴とする請求項11に記載の装置。12. The means for reloading data temporarily holds the data to be reloaded. 12. The device according to claim 11, characterized in that it comprises a partial buffer (70) for.

13、コンピュータ・メモリ (20)の記憶位置におけるデータの記憶を管理 する方法であって、 ソース(15)から、それぞれセグメントを含む入力アド 。13. Manage storage of data in storage locations of computer memory (20) A method of Input ads each containing a segment from the source (15).

レスを受け取る段階と、 前記入力アドレスをそれに従って変更するための変換方式を提供する段階と、 データの記憶がコンピュータ・メモリの記憶位置全体にわたって一様に分散され るような所定の体系的な方式で、変換方式を周期的に修正する段階と、 出力アドレスを発生するために、変換方式に従って前記入力アドレスを変更する 段階と、 前記出力アドレスを出力する段階と を含む方法。the step of receiving a response; providing a translation scheme for modifying the input address accordingly; The storage of data is uniformly distributed throughout the storage locations of computer memory. periodically modifying the transformation scheme in a predetermined systematic manner such that modifying said input address according to a translation scheme to generate an output address; stages and outputting the output address; method including.

14、変換方式を周期的に修正する段階が、プリセット期間の経過後に実施され ることを特徴とする請求項13に記載の方法。14. The step of periodically modifying the conversion method is performed after the preset period has elapsed. 14. The method according to claim 13, characterized in that:

15、すべての入力アドレスが、ある期間中ずつと1つの変換方式に従って変更 されることを特徴とする請求項13または14に記載の方法。15. All input addresses change during a period of time and according to one conversion method. 15. The method according to claim 13 or 14, characterized in that:

16、各部分がそれぞれ少なくとも1つのコンピュータ・メモリの記憶位置を含 む、複数の部分(160,165,170,175)からなるコンピュータ・メ モリ(20)におけるデータの記憶を管理するように適合され、第1の変換方式 ゛が第1の変換方式に従ってコンピュータ・メモリの第1の部分に対応する入力 アドレスを変更し、また第2の変換方式が第2の変換方式に従ってコンピュータ ・メモリの第2の部分に対応する入力アドレスを変更するような複数の変換方式 が提供されることを特徴とする請求項13に記載の方法。16, each portion including at least one computer memory storage location; A computer system consisting of multiple parts (160, 165, 170, 175) a first conversion scheme adapted to manage the storage of data in the memory (20); an input corresponding to a first portion of computer memory according to a first conversion scheme; the address, and the second translation method is the computer according to the second translation method. ・Multiple conversion methods such as changing the input address corresponding to the second part of memory 14. A method according to claim 13, characterized in that:

17、発生された出力アドレスに対応するコンピュータ・メモリの記憶位置に、 データを書き込む段階をさらに含むことを特徴とする請求項13ないし16のい ずれかに記載の方法。17. At the computer memory location corresponding to the generated output address, Claims 13 to 16, further comprising the step of writing data. The method described in any of the following.

18、入力アドレスを受け取る先のソースが中央演算処理装置t(15)である ことを特徴とする請求項13ないし17のいずれかに記載の方法。18. The source that receives the input address is the central processing unit t(15) 18. A method according to any one of claims 13 to 17.

19、前記入力アドレスを変更する段階が、前記入力アドレスの選択されたセグ メントを変更する段階を含むことを特徴とする請求項13ないし18のいずれか に記載の方法。19. The step of changing the input address includes selecting a selected segment of the input address. Any one of claims 13 to 18, characterized in that the method includes the step of changing the ment. The method described in.

20、変換方式が、前記入力アドレスの選択されたセグメントの反転を含むこと を特徴とする請求項13ないし19のいずれかに記載の方法。20. The conversion scheme includes inversion of selected segments of the input address. 20. A method according to any one of claims 13 to 19, characterized in that:

21、前記入力アドレスの選択されたセグメントの反転が排他的ORゲート(3 5)を使って実施されることを特徴とする請求項20に記載の方法。21, the inversion of the selected segment of said input address is executed by an exclusive OR gate (3 21. The method according to claim 20, characterized in that it is carried out using 5).

22、第2の変換方式によるコンピュータ・メモリの記憶位置に、第1の変換方 式に従ってコンピュータ・メモリの記憶位置に前に記憶されたデータを再ロード する手段を含み、前記第1の変換方式が前記第2の変換方式を発生するために修 正されることを特徴とする請求項13ないし15および17ないし21のいずれ かに記載の方法。22. The first conversion method is applied to the storage location of the computer memory according to the second conversion method. Reloads previously stored data into a storage location in computer memory according to a formula wherein the first conversion method is modified to generate the second conversion method. Any one of claims 13 to 15 and 17 to 21, characterized in that Method described in Crab.

フロントページの続き (72)発明者 シン、デヴイツド、ティング ミングアメリカ合衆国ニューヨ ーク州ポキプシイ、ヴオリノ・ドライブ 17Continuation of front page (72) Inventor: Singh, David Ting, New York, USA 17 Vuolino Drive, Poughkeepsie, WA

Claims (22)

【特許請求の範囲】[Claims] 1.コンピュータ・メモリの記憶位置におけるデータの記憶を管理するための装 置であって、 各入力アドレスと各出力アドレスがコンピュータ・メモリの記憶位置に対応し、 複数のセグメントをそれぞれ含む前記入力アドレスを受け取り変換方式によつて 前記入力アドレスを変更して前記出力アドレスを発生する手段と、周期的に変換 方式を修正するための制御信号を発生して前記変換手段に送り、それによりデー タの記憶がコンピュータメモリの記憶位置全体にわたって均一に分散されるよう な所定の体系的な方式で、前記変換手段による前記入力アドレスの変更を実施す る制御手段と を含む装置。1. A device for managing the storage of data in storage locations in computer memory. The location is Each input address and each output address corresponds to a storage location in computer memory; receiving the input address each including a plurality of segments and using a conversion method; means for modifying said input address to generate said output address; and periodically converting said input address. A control signal for modifying the format is generated and sent to said conversion means, thereby converting the data. so that the storage of data is evenly distributed throughout the storage locations of computer memory. modifying the input address by the conversion means in a predetermined systematic manner; control means and equipment containing. 2.変換方式が、プリセット期間の経過後に修正されることを特徴とする、請求 項1に記載の装置。2. Claim characterized in that the conversion method is modified after a preset period of time has elapsed. The device according to item 1. 3.前記変換手段が、ある期間中ずっと1つの変換方式に従ってすべての入力ア ドレスを変更することを特徴とする、請求項1または2に記載の装置。3. The conversion means converts all input ports according to one conversion method throughout a period of time. 3. Device according to claim 1 or 2, characterized in that it changes the dress. 4.各部分がそれぞれ少なくとも1つのコンピュータ・メモリの記憶位置を含む 、複数の部分からなるコンピュータ・メモリにおけるデータの記憶を管理するよ うに適合され、変換手段が第1の変換方式に従ってコンピュータ・メモリの第1 の部分に対応する入力アドレスを変更し、また第2の変換方式に従ってコンピュ ータ・メモリの第2の部分に対応する入力アドレスを変更するような複数の変換 方式が提供されることを特徴とする、請求項1に記載の装置。4. each portion each includes at least one computer memory storage location , to manage the storage of data in multiple parts of computer memory. the converting means is adapted to convert the first change the input address corresponding to the part, and also change the computer according to the second conversion method. multiple transformations that change the input address corresponding to the second part of the data memory Device according to claim 1, characterized in that a method is provided. 5.発生された出力アドレスに対応するコンピュータ・メモリの記憶位置にデー タが書き込まれることを特徴とする、請求項1ないし4のいずれかに記載の装置 。5. The data is placed in the computer memory location corresponding to the generated output address. Device according to any one of claims 1 to 4, characterized in that data is written. . 6.前記変換手段が、中央演算処理装置から入力アドレスを受け取ることを特徴 とする、前記いずれかの請求項に記載の装置。6. The conversion means receives an input address from a central processing unit. An apparatus according to any preceding claim. 7.出力アドレスを発生するために、前記変換手段が、前記入力アドレスの選択 されたセグメントを変更することを特徴とする、前記いずれかの請求項に記載の 装置。7. In order to generate an output address, said translation means selects said input address. according to any one of the preceding claims, characterized in that the segment Device. 8.前記変換手段が、前記入力アドレスの選択されたセグメントを反転する反転 手段を含むことを特徴とする、前記いずれかの請求項に記載の装置。8. an inversion in which the conversion means inverts selected segments of the input address; Apparatus according to any preceding claim, characterized in that it comprises means. 9.前記反転手段が排他的ORゲートを含むことを特徴とする、請求項8に記載 の装置。9. 9. According to claim 8, the inverting means comprises an exclusive OR gate. equipment. 10.前記変換手段が循環シフト・レジスタを含むことを特徴とする、前記いず れかの請求項に記載の装置。10. Any of the above, characterized in that the conversion means comprises a circular shift register. Apparatus according to any claim. 11.複数の変換方式が提供され、さらに、第2の変換方式によるコンピュータ ・メモリの記憶位置に、第1の変換方式に従って前に記憶されたデータを再ロー ドする手段を含み、前記第1の変換方式が前記第2の変換方式を発生するために 修正されることを特徴とする、請求項1ないし3および5ないし10のいずれか に記載の装置。11. A plurality of conversion methods are provided, and a computer according to a second conversion method is provided. ・Reload the previously stored data according to the first conversion method into the storage location of the memory. for the first conversion method to generate the second conversion method; Any one of claims 1 to 3 and 5 to 10, characterized in that it is modified. The device described in. 12.前記データを再ロードする手段が、再ロードされるデータを一時的に保持 する一時バッファを含むことを特徴とする、請求項11に記載の装置。12. The means for reloading the data temporarily holds the data to be reloaded. 12. The device according to claim 11, characterized in that it comprises a temporary buffer for. 13.コンピュータ・メモリの記憶位置におけるデータの記憶を管理する方法で あって、 ソースから、それぞれセグメントを含む入力アドレスを受け取る段階と、 前記入力アドレスをそれに従って変更するための変換方式を提供する段階と、 データの記憶がコンピュータ・メモリの記憶位置全体にわたって一様に分散され るような所定の体系的な方式で、変換方式を周期的に修正する段階と、 出力アドレスを発生するために、変換方式に従って前記入力アドレスを変更する 段階と、 前記出力アドレスを出力する段階と を含む方法。13. in a method of managing the storage of data in storage locations in computer memory There it is, receiving from a source input addresses each including a segment; providing a translation scheme for modifying the input address accordingly; The storage of data is uniformly distributed throughout the storage locations of computer memory. periodically modifying the transformation scheme in a predetermined systematic manner such that modifying said input address according to a translation scheme to generate an output address; stages and outputting the output address; method including. 14.変換方式を周期的に修正する段階が、プリセット期間の経過後に実施され ることを特徴とする、請求項13に記載の方法。14. A step of periodically modifying the conversion method is carried out after the expiration of a preset period. 14. The method according to claim 13, characterized in that: 15.すべての入力アドレスが、ある期間中ずっと1つの変換方式に従って変更 されることを特徴とする、請求項13または14に記載の方法。15. All input addresses change according to one translation method over a period of time 15. The method according to claim 13 or 14, characterized in that: 16.各部分がそれぞれ少なくとも1つのコンピュータ′メモリの記憶位置を含 む、複数の部分からなるコンピュータ・メモリにおけるデータの記憶を管理する ように適合され、第1の変換方式が第1の変換方式に従ってコンピュータ・メモ リの第1の部分に対応する入力アドレスを変更し、また第2の変換方式が第2の 変換方式に従ってコンピュータ・メモリの第2の部分に対応する入力アドレスを 変更するような複数の変換方式が提供されることを特徴とする、請求項13に記 載の方法。16. Each portion includes at least one computer memory location. manages the storage of data in multiple parts of computer memory and the first conversion method converts the computer memory according to the first conversion method. The input address corresponding to the first part of the file is changed, and the second conversion method is the input address corresponding to the second part of the computer memory according to the conversion scheme. 14. The method according to claim 13, characterized in that a plurality of conversion schemes are provided for changing. How to put it on. 17.発生された出力アドレスに対応するコンピュータ.メモリの記憶位置に、 データを書き込む段階をさらに含むことを特徴とする、請求項13ないし16の いずれかに記載の方法。17. The computer corresponding to the generated output address. At the memory location, 17. The method according to claim 13, further comprising the step of writing data. Any method described. 18.入力アドレスを受け取る先のソースが中央演算処理装置であることを特徴 とする、請求項13ないし17のいずれかに記載の方法。18. Features that the source that receives the input address is the central processing unit 18. The method according to any one of claims 13 to 17. 19.前記入力アドレスを変更する段階が、前記入力アドレスの選択されたセグ メントを変更する段階を含むことを特徴とする、請求項13ないし18のいずれ かに記載の方法。19. The step of modifying the input address includes modifying a selected segment of the input address. 19. The method according to any one of claims 13 to 18, characterized in that the method comprises the step of changing the ment. Method described in Crab. 20.変換方式が、前記入力アドレスの選択されたセグメントの反転を含むこと を特徴とする、請求項13ないし19のいずれかに記載の方法。20. the conversion scheme includes inverting selected segments of the input address; 20. A method according to any of claims 13 to 19, characterized in that: 21.前記入力アドレスの選択されたセグメントの反転が排他的ORゲートを使 って実施されることを特徴とする、請求項20に記載の方法。21. The inversion of the selected segment of said input address is performed using an exclusive OR gate. 21. The method according to claim 20, characterized in that it is carried out by: 22.第2の変換方式によるコンピュータ・メモリの記憶位置に、第1の変換方 式に従ってコンピュータ・メモリの記憶位置に前に記憶されたデータを再ロード する手段を含み、前記第1の変換方式が前記第2の変換方式を発生するために修 正されることを特徴とする、請求項13ないし15および17ないし21のいず れかに記載の方法。22. The storage location of the computer memory according to the second conversion method is stored by the first conversion method. Reloads previously stored data into a storage location in computer memory according to a formula wherein the first conversion method is modified to generate the second conversion method. Any of claims 13 to 15 and 17 to 21, characterized in that The method described in
JP5520163A 1992-05-12 1992-08-11 Method and apparatus for reducing memory wear in computer systems Pending JPH07503564A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88195492A 1992-05-12 1992-05-12
US881,954 1992-05-12
PCT/US1992/006713 WO1993023806A1 (en) 1992-05-12 1992-08-11 Method and apparatus for reducing memory wearout in a computer system

Publications (1)

Publication Number Publication Date
JPH07503564A true JPH07503564A (en) 1995-04-13

Family

ID=25379565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5520163A Pending JPH07503564A (en) 1992-05-12 1992-08-11 Method and apparatus for reducing memory wear in computer systems

Country Status (3)

Country Link
EP (1) EP0640228A1 (en)
JP (1) JPH07503564A (en)
WO (1) WO1993023806A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014530422A (en) * 2011-10-27 2014-11-17 ▲ホア▼▲ウェイ▼技術有限公司 Method and buffer system for controlling buffer mapping
JP2015038698A (en) * 2013-08-19 2015-02-26 富士通株式会社 Semiconductor storage device and control method of semiconductor storage device
CN113039529A (en) * 2018-11-15 2021-06-25 美光科技公司 Address obfuscation for memory

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0120592B1 (en) * 1994-09-09 1997-10-20 김주용 Address buffer having signal transform logic
DE19742176C1 (en) * 1997-09-24 1999-04-08 Siemens Ag Procedure for use when using EEPROMs as program memory
FR2787216B1 (en) 1998-12-11 2001-07-27 Bull Cp8 METHOD FOR STORAGE AND OPERATION OF INFORMATION UNITS IN A SECURITY MODULE, AND ASSOCIATED SECURITY MODULE
CA2326036A1 (en) * 2000-11-16 2002-05-16 Gemplus S.A. Method for securing electronic device data processing
US11262937B2 (en) * 2020-05-01 2022-03-01 Micron Technology, Inc. Balancing data for storage in a memory device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4064558A (en) * 1976-10-22 1977-12-20 General Electric Company Method and apparatus for randomizing memory site usage
DE3130546C1 (en) * 1981-08-01 1983-04-07 TE KA DE Felten & Guilleaume Fernmeldeanlagen GmbH, 8500 Nürnberg Operation of EAROM ensuring equal loading of elements or cells - cyclically transferring data between locations to increase operational life

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014530422A (en) * 2011-10-27 2014-11-17 ▲ホア▼▲ウェイ▼技術有限公司 Method and buffer system for controlling buffer mapping
JP2015038698A (en) * 2013-08-19 2015-02-26 富士通株式会社 Semiconductor storage device and control method of semiconductor storage device
CN113039529A (en) * 2018-11-15 2021-06-25 美光科技公司 Address obfuscation for memory
JP2022507523A (en) * 2018-11-15 2022-01-18 マイクロン テクノロジー,インク. Address obfuscation for memory
US11853230B2 (en) 2018-11-15 2023-12-26 Micron Technology, Inc. Address obfuscation for memory
CN113039529B (en) * 2018-11-15 2024-07-16 美光科技公司 Memory device and operating method for address obfuscation

Also Published As

Publication number Publication date
EP0640228A1 (en) 1995-03-01
WO1993023806A1 (en) 1993-11-25

Similar Documents

Publication Publication Date Title
US5813031A (en) Caching tag for a large scale cache computer memory system
US6442666B1 (en) Techniques for improving memory access in a virtual memory system
JP3239218B2 (en) Cache management system
US6920533B2 (en) System boot time reduction method
US8938601B2 (en) Hybrid memory system having a volatile memory with cache and method of managing the same
US5809522A (en) Microprocessor system with process identification tag entries to reduce cache flushing after a context switch
US5555392A (en) Method and apparatus for a line based non-blocking data cache
WO2000045270A1 (en) Techniques for improving memory access in a virtual memory system
US11580029B2 (en) Memory system, computing system, and methods thereof for cache invalidation with dummy address space
JPH08272693A (en) Conversion table entry provided with cache possibility attribute bit regarding virtual address as well as method and apparatus for reference of said virtual address using said bit
TWI237177B (en) Allocating cache lines
US7543109B1 (en) System and method for caching data in a blade server complex
JPH08235052A (en) System and method for storage of address tag into directory
WO1990000283A1 (en) Multiprocessor system including a hierarchical cache memory system
US5649143A (en) Apparatus and method for providing a cache indexing scheme less susceptible to cache collisions
JPH07503564A (en) Method and apparatus for reducing memory wear in computer systems
US5835945A (en) Memory system with write buffer, prefetch and internal caches
Kim et al. Memory systems
US12189535B2 (en) Tiered memory caching
JPH04324187A (en) Dynamic ram
JPS5818710B2 (en) memory system
CN117312004A (en) Database access method and device
TW202201387A (en) Neural network computing device and cache management method thereof