JP4164452B2 - 情報処理方法及び装置 - Google Patents

情報処理方法及び装置 Download PDF

Info

Publication number
JP4164452B2
JP4164452B2 JP2004025349A JP2004025349A JP4164452B2 JP 4164452 B2 JP4164452 B2 JP 4164452B2 JP 2004025349 A JP2004025349 A JP 2004025349A JP 2004025349 A JP2004025349 A JP 2004025349A JP 4164452 B2 JP4164452 B2 JP 4164452B2
Authority
JP
Japan
Prior art keywords
memory
area
information processing
cache
address
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.)
Expired - Fee Related
Application number
JP2004025349A
Other languages
English (en)
Other versions
JP2005216220A5 (ja
JP2005216220A (ja
Inventor
武志 小川
岳生 崎村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004025349A priority Critical patent/JP4164452B2/ja
Priority to US11/044,171 priority patent/US7428616B2/en
Publication of JP2005216220A publication Critical patent/JP2005216220A/ja
Publication of JP2005216220A5 publication Critical patent/JP2005216220A5/ja
Application granted granted Critical
Publication of JP4164452B2 publication Critical patent/JP4164452B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Description

本発明は、キャッシュ機能を備えた情報処理装置及びその方法に関するものである。
マイクロコンピュータの主記憶として、安価で大容量なDRAMを利用する場合、DRAMを含むバスよりもCPUチップ内のバスを高速に設計することが可能であり、CPU内部バスのクロックを高くして設計することでコンピュータの処理能力を高めることができる。このようなCPUを備えたコンピュータシステムにおいて、CPUから外部バスへのメモリアクセスを効率的に行うために、キャッシュメモリのハードウェアを内部バスと外部バスの間に介在させるのが一般的である。
このようなキャッシュメモリは、CPUの内部バスと外部バスの間に存在しているので、CPU側から見ると透過的だが、例えばDMA等において外部バスを介して外部メモリの読み書きを行った場合は、キャッシュ内にあるデータと主記憶内にあるデータとが一致しない場合が発生する。このような不具合を避けるために、DMA転送を行う前後に、そのDMA転送対象のメモリエリアに対してキャッシュメモリのクリアやフラッシュ(キャッシュ内容をメモリに書き戻す)を行う方法と、DMA転送の対象となるメモリエリアをアンキャッシャブルにしておく方法がある(例えば、特許文献1)。本願発明は、後者のアンキャッシャブル領域を割り当てる方法に関する。
DMA転送に使用するメモリ領域を動的に割り当てるAPIを持った組み込み用のOSが広く利用されている。このようなOSはメモリマネージャからメモリエリアを取得し、キャッシュコントローラを制御して、その取得したメモリエリアをアンキャッシャブルに設定できる。一般にキャッシュコントローラはメモリエリアの設定機能を備えており、その機能を用いて、メモリエリアに対してキャッシャブルエリアとアンキャッシャブルエリアを複数指定できる。しかしながら、このようなエリアを指定するためのレジスタの数が有限であり、また指定できるエリアが多いほど回路が冗長になるため、無制限にこれらエリアを指定できるわけではない。
一方、DMAを利用するアプリケーションソフトウェアでは、1つのDMAチャネルに対して複数のバッファを用意して処理の効率化を図っている。例えば一つ目のバッファへのDMA転送中には、二つ目のバッファに対するDMAの準備や後処理を行っている。
特開2000−181796号公報
上記事情に鑑みると、システムで利用できるDMAのチャネル数よりも、指定できるアンキャッシャブルエリアの数が数倍あることが望ましいが、DMAのチャネル数が多いと、このようなエリアコントロールのためのレジスタの数が増えて回路規模が膨大になってしまう。
別の方法として、予め大きめのアンキャッシャブルエリアを用意しておき、そのエリアを管理するメモリマネージャによってアンキャッシャブルエリアを割り当てる方法もある。その場合、アンキャッシャブルメモリのエリアを静的に決めておく必要があり、メモリ全体の利用効率を低下させる。
本発明は上記問題点に鑑みてなされたもので、キャッシュのエリア制御を容易にした情報処理装置及びその方法を提供する。
本発明の情報処理装置の特徴は、メモリの有する同一のメモリエリアを、複数の異なるアドレスセットでCPUによりアクセス可能に構成したメモリ回路と、前記複数の異なるアドレスセットの一方のアドレスセットをキャッシャブル用のアドレスセットとし、他方をアンキャッシャブル用のメモリアドレスセットとしてキャッシュ制御するキャッシュ手段と、前記メモリに所定サイズのエリアが要求されると、当該要求された所定サイズにキャッシュ単位であるラインサイズの2倍のサイズを付加して、前記メモリの前記アンキャッシャブル用のメモリアドレスセットによりアクセス可能なメモリエリアに割当てる割当て手段とを有することにある。
また本発明の情報処理方法の特徴は、CPU、メモリ、キャッシュメモリ及びキャッシュコントローラを具備する情報処理装置で実行される情報処理方法であって、
前記メモリに所定サイズのエリアが要求されると、当該要求された所定サイズにキャッシュ単位であるラインサイズの少なくとも2のサイズを付加して前記メモリに前記エリアを確保する工程と、前記エリアを前記メモリのアンキャッシャブル用のメモリエリアに割当てる工程とを有することを特徴とする。
本発明によれば、キャッシュのエリア制御を容易にできる。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。
図1は、本発明の実施の形態に係る情報処理装置におけるCPU周りのハードウェア構成を説明する図で、入出力部や表示部などの構成を省略して示している。
図1において、101はCPUで、メインメモリ104に記憶されたOSやアプリケーションプログラムに従って各種動作を制御している。キャッシュコントローラ102は、キャッシュメモリ103を使用したキャッシュ制御を実行している。メインメモリ104は、CPU101により実行されるプログラムやデータ等を記憶している。105はDMAコントローラ(DMAC)で、CPU101を介することなく、例えばハードディスクコントローラ(HDC)106とメインメモリ104との間でのデータ転送を行うことができる。ハードディスク(HD)は大容量の外部メモリ装置で、ここにインストールされているOSや各種アプリケーションがメインメモリ104にロードされてCPU101により実行される。ここでキャッシュメモリ103は高速のSRAMを使用し、キャッシュコントローラ102の制御の下に大量のデータを蓄積し、古くて使用頻度の低いデータアドレスを破棄しながらキャッシュメモリの有効利用を図っている。
ここでキャッシュメモリ103とCPU101はワードやバイトといった単位でデータ転送を行うのに対して、キャッシュメモリ103とメインメモリ104との間でのデータ転送はライン単位で行う。即ち、1ビットのデータが必要な場合でも、ライン全体のデータがやり取りされる(ラインフィル)。このためにキャッシュメモリ103を備える装置では、キャッシュメモリ103とメインメモリ104間のデータ転送はラインサイズ(例えばバス幅が64ビットの場合には256ビット)を最小単位として行われる。
<シャドウメモリ>
図2は、CPU101とメインメモリ104との間のアドレス配線を説明する図である。
CPU101から出ているアドレス信号の内、上位の数ビットを配線しないことにより、メモリ空間を小さく抑えることが可能である。図において、CPU101は、アドレスビットA0〜A22で定義されるメモリ空間、即ち、アドレス0番地〜7xFFFFF番地までのメモリ空間を有しており、メインメモリ104は、20ビットのアドレス(A0〜A19)、即ち、アドレス0番地〜FFFFF番地までのメモリ空間を有している。ここでCPU101のメモリアドレスの内、上位アドレス(アドレスA21,A22)のアドレス線をメモリ104のアドレスに接続しておらず、またアドレスA20は、メインメモリ104のCE(チップイネーブル)に接続されている。
図3は、図2の配線の場合のCPU101のメモリマップを説明する図である。
CPU101からみたとき、メモリ104の0番地から0x0FFFFF番地までエリア301の内容と同じものが、例えばアドレス0x200000番地から0x2FFFFF番地までのメモリエリア302でもみえることになる。この場合、アドレス0x200000番地〜0x2FFFFF番地は、0番地から0xFFFFF番地のシャドウという。
本実施の形態に係る情報処理装置では、このシャドウ側のメモリエリア302をアンキャッシャブルに設定して利用する。例えば、0番地から0xFFFFF番地までのエリア301をキャッシャブルとし、0x200000番地から0x2FFFFF番地までのエリア302をアンキャッシャブルにする。このアンキャッシャブルエリアの設定がキャッシュコントローラ102に対して与えられると、これ以降キャッシュコントローラ102は、そのメモリエリアへのアクセス時には、キャッシュ動作を実行しないように制御する。
<汎用メモリマネージャの利用>
本実施の形態に係る情報処理装置では、アンキャッシャブルメモリ領域302の割り当てに、汎用のメモリマネージャを利用する。この汎用のメモリマネージャとは、例えばC言語の標準関数であるmalloc関数として提供される。このmalloc関数によって確保したメモリエリアは、そのままではキャッシャブルエリア301に設定される。従って、確保したアドレスの内のデコードされていないビットを変更して、アンキャッシャブルメモリエリア302のアドレスとして、それをクライアントプログラム、即ち、malloc関数を実行したプログラムに返却する。例えば、malloc関数によって、キャッシャブルメモリ領域301のアドレス0x01000番地からアドレス0x014FF番地に確保されたメモリエリアを、CPU101からみたアドレスビットA21を「1」にすることにより、アンキャッシャブルメモリエリア302のアドレス0x201000番地からアドレス0x2014FF番地に確保する。
次に、このアンキャッシュブルメモリエリア302を解放する場合には、クライアントプログラムは逆に、メインメモリ104のアドレスの内、デコードされていないビット(上述の例ではアドレスビットA21)を変更し、キャッシャブルエリア301のエリア(アドレス0x01000番地〜アドレス0x01500番地)に変更する。そして次に、free関数を使って、メモリマネージャに、この確保しているエリアの解放を指示する。
このようにシャドウメモリを利用することによって、ハードウェアのエリア指定レジスタを使わずに無制限にキャッシャブルエリアを生成することが可能となる。
<クリア>
上記のようにしてアンキャッシャブルメモリとして割当てられたメモリエリア(上述の例では、アドレス0x01000番地〜アドレス0x014FF番地)は、アンキャッシャブルエリアに割り当てられる直前までキャッシャブルモリとして利用されていた可能性がある。その場合、アンキャッシャブルメモリとして使用し始めてからキャッシュの吐き出しが起こると、それまでキャッシュされていた内容により、そのメモリエリアの内容が破壊されてしまう。従って、少なくとも、クライアントにアンキャッシャブルメモリとして割り当てる前に、そのメモリエリアに対してキャッシュされている情報をクリアする必要がある。
<ラインサイズ>
上記のように割り当てたアンキャッシャブルメモリは、そのメモリエリア周辺のアドレスがキャッシャブルメモリとして利用されている。一般にキャッシュは、ライン単位(キャッシングの単位で、例えば1ラインは256バイト)でLRU(Least Recent Used)のアルゴリズムで管理されているが、汎用のメモリマネージャは、キャッシュのラインサイズとは無関係に、メモリエリアの割り当てを行う。
図4を参照して、より詳しく説明する。
図4において、400はクライアントプログラムに割り当てられたメモリエリアを示している。しかし、汎用のメモリマネージャを利用しているため、401で示すラインの一部がクライアント領域の外側と共有されている。クライアントプログラムへメモリエリアを引き渡したときに、402で示す部分は、まだクライアントプログラムからの書き込みが行われていない。その後、403で示す部分、即ち、クライアント領域とラインを共有している外側の領域を他のクライアントプログラムが書き換えると、クライアント使用領域401に対してダーティビットが立つ。そして次に、クライアントプログラムがクライアント使用領域400全体のデータ404をDMA転送する。この時点ではメモリは破壊されていない。そしてシステムのプログラムの実行が進みLRUアルゴリズムによって、401で示すラインがキャッシュから吐き出される時、405で示すように、ライン401全体が書き出される。これにより領域406が、DMA転送前のデータで上書きされ、そのラインの内容が破壊されてしまう。
そこで本実施の形態では、クライアントプログラムの使用領域414の両端に、それぞれラインサイズ分の不使用領域を設ける。これにより、汎用のメモリマネージャを利用しても、メモリの内容が破壊されないように防止する。
これを説明したのが図4の410で示す部分で、411,412は、このようなデータ破壊を防ぐために両端に付加された不使用領域を示し、それぞれ1ライン分に相当するデータエリアである。
このように本実施の形態では、クライアントプログラムからアンキャッシャブル領域を要求されると、その要求された領域のサイズに2ライン分のサイズを上乗せしたサイズ(413で示す)で汎用メモリマネージャからメモリエリアを取得し、クライアントプログラムに、414で示す安全なエリア情報だけを使用領域として渡す。この場合のクライアントの使用可能なメモリエリアは414で示す領域となる。
図5は、本発明の実施の形態1に係る情報処理装置における処理を説明するフローチャートである。本実施の形態では、アンキャッシャブルなエリアをダイナミックに割り付けるメモリマネージメントの例で説明する。このプログラムは例えば、「cacheDmaMalloc( )」といった名前のAPIで、ユーザプログラムから呼び出されてアンキャッシャブルなエリアを割り付ける。このプログラムは、HD107にインストールされているOSに含まれており、OSのロードにメインメモリ104にロードされて実行される。このプログラムはまた既存のOSに対してインストール可能な実行コマンドとしても供給される。
まずステップS1で、APIを通じてキャッシャブルエリアの確保を開始する。通常、パラメータとしてユーザが要求するメモリサイズを受け取る。次にステップS2で、ユーザプログラムが要求したメモリサイズに対して、キャッシュの2ライン分のサイズを付加したサイズを計算し、そのサイズで通常のメモリマネージャにメモリエリアを要求する。ここで、利用するメモリマネージャは、例えばC言語のインターフェースで、malloc( )関数に相当するものであり、特別なメモリマネージャではない。次にステップS3で、ステップS2での結果を検査し、メモリの確保に成功したかどうかをみる。失敗した場合はステップS4に進み、このサービスを終了する。この失敗する例としては、例えば、割り当てられるメモリエリアが無くなってしまった場合等が該当している。malloc( )関数の場合、メモリエリアの割り当てに失敗するとNULLコードを返却するので、ステップS4でも同様に失敗であることを示す、例えばNULLなどの値を返却する。
一方ステップS3で、メモリエリアの取得に成功するとステップS5に進み、その確保したメモリエリアに対してキャッシュコントローラ102を制御して、前述したフラッシュとクリアを行う。この時、確保したメモリエリアはメモリマネージャからみると未使用だった領域を割り当てているが、直前までユーザプログラムによって使用されていた場合もある。このため、使用中だった時に書き込んだ値がまだキャッシュ内部に残留していた場合には、後でキャッシュの吐き出しによって有効なデータを上書きして破壊する可能性があるため、キャッシュをクリアする。このクリアの前にフラッシュを行う理由は、確保したエリアとラインを共有している周辺エリアがキャッシュ内に未書き込みな有効なデータを持っている可能性があるからである。
こうしてステップS5で、メモリの準備が完了するとステップS6に進み、その確保したエリアの先頭番地に1ライン分を足したアドレスを計算し、そのシャドウエリアの番地を計算する。これは図4で説明したように、実際にクライアントプログラムが使用する領域は、先頭と最後の各1ラインデータを除いた領域であるためである。例えばラインサイズが前述したように256バイトで、図3に示すようなメモリマップの場合で説明する。ここで確保したメモリのアドレスを「0x00004010」とすると、「0x00004010」+「0x100(ラインサイズ)」+「0x00200000」→「0x00204110」がユーザに渡されるアドレスとなる。そしてステップS7で、ユーザプログラムに計算したメモリの番地を返却して終了する。
図6は、本実施の形態に係るクライアントプログラムで取得したアンキャッシャブルなメモリエリアをOSに返却する処理を示すフローチャートで、例えば「cacheDmaFree( )」といった名前のAPIで提供される。このプログラムも同様に、HD107にインストールされているOSに含まれており、OSのロードにメインメモリ104にロードされて実行される。このプログラムはまた既存のOSに対してインストール可能な実行コマンドとしても供給される。
まずステップS11で、クライアントプログラムから呼び出される。このときパラメータとして、クライアントプログラムに割り当てられていたメモリエリアの先頭番地を受け取る。次にステップS12で、指定された番地から1ライン分引いて、そのキャッシャブルエリア側の番地を計算する。例えば図5の例によれば、(0x00204110&0xFFFDFFFFF)−0x100→0x00004010となる。ここで求めた値は、メモリマネージャからmalloc( )関数で取得したアドレスであるため、ステップS13で、free( )関数によってメモリマネージャへ返却する。そしてステップS14で、このサービスを終了する。
以上説明したように本実施の形態によれば、アンキャッシャブルエリアの設定を、レジスタなどの数に制限されずに行うことができる。
また本実施の形態によれば、汎用のメモリマネージャを利用して、メモリエリアの確保及びキャッシュ制御を行うことができる。
[その他の実施の形態]
前述の実施の形態1では、汎用のメモリマネージャを使用していたが、キャッシュのラインサイズを意識したメモリマネージャを用意し、ユーザエリアとラインを共有する領域ができないように工夫をすることにより、前後1ライン分の不使用領域を省く方法もある。
また前述の実施の形態1では、フルアドレスデコードしない回路構成で説明しているが、MMU(Memory Management Unit)等のしくみを使って、同一メモリを他のアドレスでアクセスするシャドウを構成してもかまわない。
本発明の目的は前述したように、本実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
本発明の実施の形態に係る情報処理装置のCPU周辺の構成を説明するブロック図である。 本実施の形態に係る情報処理装置におけるCPUとメモリとの接続を説明する図である。 実施の形態に係るメインメモリのメモリマップを説明する図である。 従来のラインを共有することによるメモリにおけるデータの破壊と本実施の形態におけるメモリ使用領域の確保を説明する図である。 本発明の実施の形態に係る情報処理装置におけるアンキャシャブルエリアの確保処理を説明するフローチャートである。 本発明の実施の形態に係る情報処理装置におけるアンキャシャブルエリアの解放処理を説明するフローチャートである。

Claims (9)

  1. メモリの有する同一のメモリエリアを、複数の異なるアドレスセットでCPUによりアクセス可能に構成したメモリ回路と、
    前記複数の異なるアドレスセットの一方のアドレスセットをキャッシャブル用のアドレスセットとし、他方をアンキャッシャブル用のメモリアドレスセットとしてキャッシュ制御するキャッシュ手段と、
    前記メモリに所定サイズのエリアが要求されると、当該要求された所定サイズにキャッシュ単位であるラインサイズの2倍のサイズを付加して、前記メモリの前記アンキャッシャブル用のメモリアドレスセットによりアクセス可能なメモリエリアに割当てる割当て手段と、
    有することを特徴とする情報処理装置。
  2. 更に、前記メモリに確保されたエリアに対してキャッシュのフラッシュ及びクリアを行う手段を有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記所定サイズのエリアの前後それぞれに、前記キャッシュ単位であるラインサイズのデータエリアが付加されることを特徴とする請求項1に記載の情報処理装置。
  4. 前記メモリの前記所定サイズのエリアのデータをDMA転送するDMA制御手段を更に有することを特徴とする請求項1に記載の情報処理装置。
  5. CPU、メモリ、キャッシュメモリ及びキャッシュコントローラを具備する情報処理装置で実行される情報処理方法であって、
    前記メモリに所定サイズのエリアが要求されると、当該要求された所定サイズにキャッシュ単位であるラインサイズの少なくとも2のサイズを付加して前記メモリに前記エリアを確保する工程と、
    前記エリアを前記メモリのアンキャッシャブル用のメモリエリアに割当てる工程と、
    を有することを特徴とする情報処理方法。
  6. 前記確保する工程では、前記所定サイズのエリアの前後それぞれに、前記キャッシュ単位であるラインサイズのデータエリアが付加されることを特徴とする請求項5に記載の情報処理方法。
  7. 更に、前記メモリに確保されたエリアに対してキャッシュのフラッシュ及びクリアを行う工程を有することを特徴とする請求項5に記載の情報処理方法。
  8. 前記メモリの前記所定サイズのエリアのデータをDMA転送するDMA制御工程を更に有することを特徴とする請求項5に記載の情報処理方法。
  9. 請求項5乃至8のいずれか1項に記載の情報処理方法を、コンピュータに実行させることを特徴とするプログラム。
JP2004025349A 2004-02-02 2004-02-02 情報処理方法及び装置 Expired - Fee Related JP4164452B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004025349A JP4164452B2 (ja) 2004-02-02 2004-02-02 情報処理方法及び装置
US11/044,171 US7428616B2 (en) 2004-02-02 2005-01-28 Method and apparatus for appending buffer areas to requested memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004025349A JP4164452B2 (ja) 2004-02-02 2004-02-02 情報処理方法及び装置

Publications (3)

Publication Number Publication Date
JP2005216220A JP2005216220A (ja) 2005-08-11
JP2005216220A5 JP2005216220A5 (ja) 2007-01-18
JP4164452B2 true JP4164452B2 (ja) 2008-10-15

Family

ID=34805797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004025349A Expired - Fee Related JP4164452B2 (ja) 2004-02-02 2004-02-02 情報処理方法及び装置

Country Status (2)

Country Link
US (1) US7428616B2 (ja)
JP (1) JP4164452B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102014083B1 (ko) * 2012-12-31 2019-08-27 삼성전자주식회사 단말기의 메모리 관리방법 및 장치
US10747535B1 (en) * 2016-07-11 2020-08-18 Apple Inc. Handling non-cacheable loads in a non-coherent processor

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US22857A (en) * 1859-02-08 Improved valve-bung
US5933847A (en) 1995-09-28 1999-08-03 Canon Kabushiki Kaisha Selecting erase method based on type of power supply for flash EEPROM
US6115799A (en) * 1996-07-19 2000-09-05 Canon Kabushiki Kaisha Information processing apparatus and associated method for managing a memory using a next fit and for reducing a memory fragmentation problem
US6603168B1 (en) * 2000-04-20 2003-08-05 Agere Systems Inc. Vertical DRAM device with channel access transistor and stacked storage capacitor and associated method
US6925546B2 (en) * 2002-12-02 2005-08-02 Wind River Systems, Inc. Memory pool configuration system
CA2426619A1 (en) * 2003-04-25 2004-10-25 Ibm Canada Limited - Ibm Canada Limitee Defensive heap memory management
US20050091459A1 (en) * 2003-10-23 2005-04-28 Nhon Quach Flexible mechanism for enforcing coherency among caching structures
US7257693B2 (en) * 2004-01-15 2007-08-14 Intel Corporation Multi-processor computing system that employs compressed cache lines' worth of information and processor capable of use in said system

Also Published As

Publication number Publication date
US7428616B2 (en) 2008-09-23
US20050172081A1 (en) 2005-08-04
JP2005216220A (ja) 2005-08-11

Similar Documents

Publication Publication Date Title
US6205521B1 (en) Inclusion map for accelerated cache flush
JP5255348B2 (ja) クラッシュダンプ用のメモリアロケーション
US8612666B2 (en) Method and system for managing a NAND flash memory by paging segments of a logical to physical address map to a non-volatile memory
JP5351046B2 (ja) フラッシュメモリシステムの高速起動を容易にする方法およびシステム
US6526472B2 (en) Access control method, access control apparatus and computer readable memory storing access control program
JP3264319B2 (ja) バスブリッジ
US5765201A (en) Changing page size in storage media of computer system
US20080235477A1 (en) Coherent data mover
US10331568B2 (en) Locking a cache line for write operations on a bus
EP0777183B1 (en) Computer cache system
JP3519954B2 (ja) チップイネーブル信号生成回路及びメモリ装置
JP5063152B2 (ja) 代替ページのプールを使用してdma書込みページ障害をコンピュータにより管理するための方法、装置、及びコンピュータ・プログラム
EP1605360A1 (en) Cache coherency maintenance for DMA, task termination and synchronisation operations
US6490668B2 (en) System and method for dynamically moving checksums to different memory locations
KR100505695B1 (ko) 동적으로 할당 또는 해제되는 버퍼를 가지는 캐쉬 메모리장치, 이를 구비한 디지털 데이터 처리 시스템 및 그 방법
JP5587539B2 (ja) ローカルメモリデータのコヒーレントなキャッシュ処理
JP2005115561A (ja) フラッシュrom制御装置
JP2009169706A (ja) メモリ制御装置
JP4164452B2 (ja) 情報処理方法及び装置
EP1103898A2 (en) Microprocessor and memory
JP3903678B2 (ja) 計算機システムのダンプ処理方法
JP2005346582A (ja) システムlsi及び画像処理装置
JP2007179286A (ja) 記憶装置および情報処理装置
JP4724289B2 (ja) データ処理装置およびデータ処理装置のメモリアクセス制御方法
JP3585859B2 (ja) ディスク制御方法および情報処理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080718

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080728

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4164452

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees