JP5040660B2 - 記憶領域割当システム及び方法と制御装置 - Google Patents

記憶領域割当システム及び方法と制御装置 Download PDF

Info

Publication number
JP5040660B2
JP5040660B2 JP2007550141A JP2007550141A JP5040660B2 JP 5040660 B2 JP5040660 B2 JP 5040660B2 JP 2007550141 A JP2007550141 A JP 2007550141A JP 2007550141 A JP2007550141 A JP 2007550141A JP 5040660 B2 JP5040660 B2 JP 5040660B2
Authority
JP
Japan
Prior art keywords
access
address
width
memory
data width
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
JP2007550141A
Other languages
English (en)
Other versions
JPWO2007069506A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007550141A priority Critical patent/JP5040660B2/ja
Publication of JPWO2007069506A1 publication Critical patent/JPWO2007069506A1/ja
Application granted granted Critical
Publication of JP5040660B2 publication Critical patent/JP5040660B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Description

本発明は、メモリの制御に関し、特に、一つのメモリを複数の回路で共有して利用するためのメモリ領域の割当てシステムと方法並びに制御装置並びにコンピュータ・プログラムに関する。
近年のLSIは、マルチメディアやオペレーティングシステムなどのように、処理に多くのメモリ(大容量メモリ)を必要とするものが増えてきている。しかしながら、LSI上にオンチップで実装可能なメモリの容量は、必要とされているメモリ容量よりも少ない場合も多い。このような場合、LSI外部に専用のメモリLSIを接続することで、所望の処理等が行われる。かかる構成において、複数の回路から外付のメモリLSIにアクセスが行われることがあり、例えばメモリ制御回路において、複数の回路からのアクセスを調停する制御が行われる。また、近時、クロック同期型のダイナミックランダムアクセスメモリ(シンクロナスDRAM、「SDRAM」と略記される)が多用される。
図1は、SDRAMのリードアクセスを説明するためのタイミング図である。リードアクセスにおいて、はじめに、ACTIVEコマンドが発行され、アクセス対象のデータの行(ROW)アドレスが入力され、次にREADコマンドで、アクセス対象のデータの列(COLUMN)アドレスが入力され、所定の遅延(レーテンシー)の後に、リードデータD1がデータ端子DQから出力される。図1において、NOPコマンドは何もコマンドを発行していない状態を示し、PREコマンドはビット線のプリチャージを指示するコマンドである。図1には、リードアクセスの動作タイミングが示されているが、ライトアクセスの場合も、ACTIVEコマンドでROWアドレスを入力し、次に、WRITEコマンドでCOLUMNアドレスを入力する。
同一のクロックで動作している複数の回路からのアクセスを制御するメモリ制御回路において、複数のアクセスを処理する最も簡易な手法は、アクセスを時分割多重化するものである。
以下では、図2のように、回路A201と回路B202とが、メモリ制御回路203に接続され、SDRAM204を共有している構成を例に、アクセスの時分割多重について説明する。
図3は、同一時刻に、回路A201と回路B202からのリードが発生した場合、メモリ制御回路203の処理の様子を説明するための図である。メモリ制御回路203は、はじめに、回路A201からのリードアクセスを処理し(そのリードアクセスの動作タイミングは図1と同様)、次に、回路B202からのリードアクセスを処理する(そのリードアクセスの動作タイミングは図1と同様)。
このように、アクセスの時分割多重は、極めて単純であるが、メモリ制御回路203に接続されている回路の個数分のアクセス時間を必要とする。
複数の回路からのアクセスを処理する別の手法として、インターリーブ方式も用いられている。インターリーブ方式は、各バンクを独立に制御できる構造を前提としている。インターリーブ方式は、独立に制御できるバンク毎に、それぞれの回路が使用するメモリ空間を割当てる。具体的には、例えば、回路A201が使用するメモリ空間をバンク1に、回路B202が使用するメモリ空間をバンク2にと割当てる。
図4は、インターリーブ方式を用いたメモリ制御回路203のアクセスの様子を例示する図である。図4に示したように、インターリーブ方式は、それぞれのアクセスをオーバーラップさせることで、全体の処理を高速化している。図4では、回路AのリードアクセスにおけるACTIVE、NOP、READコマンドにつづいて、回路BのリードアクセスにおけるACTIVE、NOP、READコマンドが発行され、回路BのリードアクセスにおけるNOPコマンドのサイクルに、回路AのリードアクセスのリードデータD1がDQ端子より出力され、これより2サイクル遅れて回路BのリードアクセスのリードデータD2がDQ端子より出力される。
図3では、回路A、Bからのリードアクセスについて、14サイクル使用しているが、図4では、10サイクルに短縮され、全体のアクセスは、1.4倍、高速になっていることが分かる。
複数の回路からのアクセスを1つのメモリで管理する場合、各回路からアクセスされるメモリは、異なったアドレスに配置するようにした構成も多用されている。
従来のメモリシステムにおいては、メモリ管理を簡単にするため、異なった回路が使用するメモリ空間は別のアドレスに配置されており、各回路が使用するメモリを同じアドレスに配置した上での高速化が行われていない、ということである。
また、すべてのアクセスに対して、ACTIVEコマンド、READ/WRITEコマンド、PRECHARGEコマンドを実行している。これは、数種類のデータがすべてのメモリ空間を占有していたため、このようにアクセスしなければ、つまり、ACTIVEコマンドを使用しなければ、所望のデータにアクセスできないためである。
したがって、本発明の目的は、複数の回路が使用するメモリを一つの外部メモリのメモリ空間に割当てるときに、必要なサイクル数を最小化し、上位アドレスを外部メモリに転送する量を抑制低減するように最適化して配置するシステム、装置及び方法を提供することにある。
本願で開示される発明は、前記課題を解決するため、概略以下の構成とされる。
本発明の1つのアスペクト(側面)に係るシステムは、一又は複数のアクセス生成手段を備え、前記一又は複数のアクセス生成手段は、あわせて少なくとも2種類のアクセスを生成し、前記アクセス生成手段からのアクセスを処理するアクセス手段と、前記アクセス手段に接続され、1つのアドレスを指定するために、少なくとも2つ以上のアドレス指定情報を通信し、前記通信のうち、通信するアドレス指定情報が前回通信したアドレス指定情報と等しい情報の通信を省くことのできる記憶手段と、前記アクセス生成手段と前記アクセス手段との間の通信路のアドレス幅とデータ幅と、前記記憶手段の前記アドレス指定情報の幅とデータ幅と、から、平均アクセス回数を最小化するように、前記アクセス生成手段が用いる前記記憶手段における占有領域を決定する計算手段を備えている、ことを特徴とする。
本発明において、前記計算手段は、前記複数のアクセス生成手段の前記記憶手段における配置の割当てのパターンを網羅的に列挙し、前記列挙した各パターンにおいて、平均アクセス回数を求め、その中の最小の平均アクセス回数を持つ前記記憶手段における占有領域を決定する、構成としてもよい。
本発明において、前記計算手段は、1ビットのライトイネーブルが影響する第2のデータ幅を入力し、前記アクセス生成手段のデータ幅を前記第2のデータ幅で除して得られる商を整数に切り上げ、さらに前記整数に前記第2のデータ幅を乗じた値を、前記アクセス生成手段のデータ幅として用いて、前記記憶手段における占有領域を決定する、構成としてもよい。
本発明において、前記計算手段は、前記アドレス指定情報のうち1つのアドレス指定情報と、前記第2のデータ幅で、前記アクセス生成手段が占有するはずの占有領域を分割したものを利用して、前記記憶手段における占有領域を決定する、構成としてもよい。
本発明に係る制御装置は、前記アクセス生成手段と前記アクセス手段との間の通信路のアドレス幅とデータ幅と、前記記憶手段の前記アドレス指定情報の幅とデータ幅とを前記計算手段に伝える入力手段と、前記計算手段が決定した占有領域の割当と前記アクセス生成手段のアクセス状況から平均アクセス回数が最小となるようにアクセス順序を決定するアクセス順序決定手段と、を備え、前記アクセス手段は、前記アクセス順序決定手段によって決定されたアクセス順序に従って前記記憶手段を制御する、構成としてもよい。
本発明に係る制御装置は、前記アクセス生成手段と前記アクセス手段との間の通信路のアドレス幅とデータ幅と、前記記憶手段の前記アドレス指定情報の幅とデータ幅と1ビットのライトイネーブルが影響するデータ幅とを前記計算手段に伝える入力手段と、前記計算手段が決定した占有領域の割当と前記アクセス生成手段のアクセス状況から平均アクセス回数が最小となるようにアクセス順序を決定するアクセス順序決定手段と、を備え、前記アクセス手段は、前記アクセス順序決定手段によって決定されたアクセス順序に従って前記記憶手段を制御する、構成としてもよい。
本発明において、前記記憶手段は、クロック同期型のダイナミックランダムアクセスメモリであり、前記アクセス順序決定手段は、同じ行アドレスに配置された前記アクセス生成手段が利用するメモリ空間へアクセスするとき、一回のアクティブ・コマンドと、複数回のリード・コマンド/ライト・コマンドと一回のプリチャージ・コマンドを順に発行して処理を行う、構成としてもよい。
本発明において、前記アクセス順序決定手段は、同じ行アドレスに配置された前記アクセス生成手段が利用するメモリへアクセスするとき、ライト処理とリード処理どちらか一方をまとめて先に処理し、次にその残りの処理を行う、構成としてもよい。
本発明の別のアスペクトに係る方法は、一又は複数のアクセス生成手段があわせて少なくとも2種類のアクセスを生成し、前記アクセス生成手段からのアクセスを処理するアクセス手段に接続され、1つのアドレスを指定するために少なくとも2つ以上のアドレス指定情報を通信し、かつ、前記通信のうち通信するアドレス指定情報が前回通信したアドレス指定情報と等しい情報の通信は省くことのできる記憶手段の占有領域の割当方法であって、
(a)前記アクセス生成手段と前記アクセス手段との間の通信路のアドレス幅とデータ幅を入力するステップと、
(b)前記記憶手段の前記アドレス指定情報の幅とデータ幅を入力するステップと、
(c)前記ステップ(a)とステップ(b)で得られた情報から、平均アクセス回数を最小化するように、前記アクセス生成手段が用いる前記記憶手段における占有領域を決定するステップと、
を含む。
本発明に係る方法は、前記ステップ(c)において、
(c.1)前記アクセス生成手段が用いる前記記憶手段における占有領域の配置の割当に関して複数のパターンを列挙するステップと、
(c.2)前記ステップ(c.1)で得られた各パターンの平均アクセス回数を計算するステップと、
(c.3)前記ステップ(c.2)で得られた各パターンの平均アクセス回数の中から最小の平均アクセス回数を持つパターンを、前記アクセス生成手段が用いる前記記憶手段における占有領域として決定するステップと、
を有する、。
本発明に係る方法は、前記ステップ(a)において、
(a.1) 前記記憶手段における1ビットのライトイネーブルが影響する第2のデータ幅を入力するステップと、
(a.2) 前記アクセス生成手段のデータ幅を前記第2のデータ幅で割って、その値を整数に切り上げ、さらに前記整数に前記第2のデータ幅を乗じ、乗算結果を前記アクセス生成手段のデータ幅として、修正するステップと、
を有する。
本発明に係る方法は、前記ステップ(c.1)において、
(c.1.1)前記アドレス指定情報のうち1つのアドレス指定情報と第2のデータ幅で、前記記憶手段を、前記各アクセス生成手段が占有する占有領域に分割するステップと、
(c.1.2)前記ステップ(c.1.1)で得られた分割された占有領域と、前記各アクセス生成手段との割当ての組み合わせのパターンを列挙するステップと、
を有する。
本発明に係る制御装置は、複数の回路から、共通のメモリへのアクセスを制御するものであり、前記複数の回路のそれぞれのアドレス幅及びデータ幅と、
前記メモリの上位アドレス幅及び下位アドレス幅とデータ幅に関する情報、又は、該情報と前記メモリの1ビットのライトイネーブルが影響するデータ幅に関する情報と、
を受け、前記回路のアクセスを処理するのに費やすサイクル数を少なくするように前記回路に対して割当てられるメモリ配置を決定する計算手段と、
前記複数の回路からのアクセス情報と、前記計算手段で決定されたメモリ配置とに基づき、前記メモリへのアクセス順序を決定するアクセス順序決定手段と、
前記アクセス順序決定手段が決定したアクセス順序にしたがって前記メモリへアクセスを行うアクセス手段と、
を備えている。本発明において、前記回路は、前記メモリに対して、アドレス情報を複数回発行して、データにアクセスし、前記メモリは、前記複数回のアドレス情報のうち、前回と同じアドレスにアクセスするときは、そのアドレス転送が省くことができるものである。本発明において、前記計算手段は、アクセス回数を最小とするようなメモリ配置を計算する。
本発明のさらに他のアスペクトに係るコンピュータ・プログラムは、複数の回路から、共通のメモリへのアクセスを制御する制御装置を構成するコンピュータに、
前記複数の回路のそれぞれのアドレス幅及びデータ幅と、
前記メモリの上位アドレス幅及び下位アドレス幅とデータ幅に関する情報、又は、該情報と前記メモリの1ビットのライトイネーブルが影響するデータ幅に関する情報と、
を受け、前記回路のアクセスを処理するのに費やすサイクル数を少なくするように前記回路に対して割当てられるメモリ配置を決定する計算処理と、
前記複数の回路からのアクセス情報と、前記計算処理で決定されたメモリ配置とに基づき、前記メモリへのアクセス順序を決定するアクセス順序決定処理と、
前記アクセス順序決定処理が決定したアクセス順序にしたがって前記メモリへのアクセスを行うアクセス処理と、
を実行させるプログラムよりなる。
本発明によれば、同時に発生する複数の回路からのアクセスを高速化することができる。その理由は、本発明においては、必要なサイクル数を最小にするように計算手段が外部メモリの配置を決定し、さらに、アクセス順序決定手段が上位アドレスの転送を最小限にするように、アクセスの順序を決定する構成としたためである。
例えばSDRAMにおいては、各回路が利用するメモリ空間の配置を最適化することにより、ACTIVEコマンドやPRECHARGEコマンドを効率よく省略することができ、アクセスを高速化することができる。
また、本発明によれば、計算手段は、上位アドレスを最大限共有できるようにアドレスを詰めて並び替えを行うため、外部メモリの使用率を上げることができる。
基本的なSDRAMの動作を表す波形図である。 従来手法を説明するための構成図である。 最も単純な従来の時分割多重アクセス手法を示す波形図である。 インターリーブ方式を利用したメモリ制御回路のアクセスの様子を示す波形図である。 本発明の実施の形態の構成を示す図である。 本発明の実施の形態の全体の処理を説明するための流れ図である。 本発明の実施の形態の計算手段の処理を説明するための流れ図である。 本発明の実施の形態における計算手段によって列挙された全パターンを示す図である。 (A)乃至(C)は、図8(a)乃至(x)のパターンのうち消去されなかったパターン1乃至3である。 図9のパターン1に従い各回路のメモリを配置した場合の波形の例を示す図である。 図9のパターン2に従い各回路のメモリを配置し回路2の上位側にアクセスが来たときの波形の例を示す図である。 図9のパターン2に従い各回路のメモリを配置し、回路2の下位側にアクセスが来たときの波形の例を示す図である。 本発明の実施の形態のアクセス順序決定手段の処理を説明するための流れ図である。 本発明の第2の実施の形態の構成を示す図である。 本発明の第2の実施の形態のメモリ制御手段の構成を示す図である。 本発明の一実施例の構成を示す図である。 本発明の一実施例のアクセス手段における全アクセスパターンのサイクル数を示した図である。 本発明の一実施例のアクセス手段における全アクセスパターンの波形を示す図である。
符号の説明
201、202 回路
203 メモリ制御回路
204 SDRAM
501 回路
502 入力手段
503 計算手段(計算回路)
504 アクセス順序決定手段(アクセス順序決定回路)
505 外部メモリ(SDRAMモジュール)
506 アクセス手段(アクセス回路)
507 クロック信号A
508 クロック信号B
1401 プログラム
1402 メモリ制御手段
上記した本発明についてさらに詳細に説述すべく、添付図面を参照して説明する。図5を参照すると、本発明において、メモリ(外部メモリ)505は、複数回のアドレス発行によって一つのデータにアクセスできるものであり、さらに外部メモリ505のデータ幅が複数の回路のデータ幅よりも大きい場合に有効とされる。
本発明は、メモリへアクセス(リード/ライトアクセス)を行う複数の回路501(本発明のアクセス生成手段に対応)が必要とするアドレス幅やデータ幅と、外部メモリ505の上位アドレス幅や下位アドレス幅やデータ幅や、1ビットのライトイネーブルが影響するデータ幅を計算手段503に伝えるための入力手段502と、入力手段502によって入力された各情報から、すべてのアクセスを処理するのに必要なサイクル数を最小にするようなメモリ配置を決定する計算手段503と、各回路501からのアクセス情報と、計算手段503が決定したメモリ配置とから最適なアクセス順序を決定するアクセス順序決定手段504と、アクセス順序決定手段504が決定したアクセス順序にしたがって外部メモリ505へのアクセスを行うアクセス手段506と、各回路501を動作させるクロック信号A507と、アクセス順序決定手段504と外部メモリ505とアクセス手段506とを制御するクロック信号B508と、を備えている。本発明においては、例えば、複数の回路501が共通に使用する外部メモリ505のメモリ空間の上位アドレスを最大限一致させるように、メモリ配置の割付を行う。また上位アドレスが共通の場合には、同一の上位アドレスの転送せず、転送回数を削減しアクセスを高速化する制御を行う。
入力手段502は、複数個(N個)の回路501の各アドレス幅やデータ幅と外部メモリ505の上位アドレス幅や下位アドレス幅やデータ幅や1ビットのライトイネーブルが影響するデータ幅を計算手段503に伝える。
計算手段503は、入力手段502によって入力された各情報に基づき、N個すべての回路501のアクセスを処理するのに費やすサイクル数を少なくするようにメモリ配置を決定する。
アクセス順序決定手段504は、N個の回路501からのアクセス情報と、計算手段503が決定したメモリ配置とに基づき、最適なアクセス順序を決定する。
アクセス手段506は、アクセス順序決定手段504が決定したアクセス順序にしたがって外部メモリ505へアクセスを行う。
クロック信号A507は、N個の回路501を駆動する。
クロック信号B508は、アクセス順序決定手段504と外部メモリ505とアクセス手段506を駆動する。なお、クロック信号A507は、アクセス順序決定手段504に入力されているが、アクセス順序決定手段504は、これを各回路501からの入力が変化することを示す信号として用いている。
図5に例示した構成において、N個の回路501とアクセス手段506の間の接続は一例であり、本発明は、かかる構成に限定されるものでないことは勿論である。例えばハンドシェークを使用した接続等も可能である。また、各回路501とアクセス手段506を任意の手法で接続する構成にも適用可能である。
入力手段502は、上記した通り、各回路501のアドレス幅やデータ幅と外部メモリ505の上位アドレス幅や下位アドレス幅やデータ幅を計算手段に伝えるものであり、計算手段503がハードウェア回路であれば、計算手段503の端子としても実現できる。また、CPUなどのプロセッサから制御可能な記憶素子を用意し、それを通じて、各回路501のアドレス幅やデータ幅を計算手段503に伝えることも可能である。
計算手段503は、上記した通り、入力手段502から得られた各回路501のアドレス幅やデータ幅と外部メモリ505のアドレス幅とデータ幅から、アクセス回数を最小とするようなメモリ配置を計算するものであり、受け取る情報として、例えば、
回路1は、アドレス幅10ビット、データ幅32ビット、
・・・、
回路Nは、アドレス幅11ビット、データ幅10ビット、
外部メモリ505は、上位アドレス幅13ビット、下位アドレス10ビット、データ幅64ビット
等である。
アクセス順序決定手段504は、計算手段503が計算した最適なメモリ配置とN個の各回路501がどのようなアクセスを行っているのかを入力として、アクセスする順序を決定し、アクセス手段506を制御する。
アクセス順序決定手段504の出力は、例えば、
回路3、回路N−3、回路N−2、回路2、...、回路1
の順に処理を行うようにアクセス手段506を制御する。
アクセス順序決定手段504は、アクセスのない、つまりイネーブル信号がアクティブでない回路に関しては、処理を行わない。
アクセス手段506では、アクセス順序決定手段504が決定した順序に従って、実際に外部メモリ505にアクセスを行う。
例えば、アクセス順序決定手段504が、
回路3、回路N−3、回路N−2、回路2、...、回路1
と出力した場合、アクセス手段506は、最初に回路3のアクセスを外部メモリ505に対して行う。次に、アクセス手段506は、回路N−3のアクセスを外部メモリ505に対して行う。そして、次に、アクセス手段506は、回路N−2のアクセス、次に回路2のアクセスと順次行い、最後に、回路1のアクセスを外部メモリ505に対して行う。
次に、図6を参照して、本実施の形態の全体の動作について詳細に説明する。
はじめに、計算手段503が動作する。計算手段503は、入力された各回路501のアドレス幅とデータ幅、外部メモリ505の上位アドレス幅と下位アドレス幅とデータ幅と1ビットのライトイネーブルが影響するデータ幅から最適なメモリ配置を決定する(図6のステップS1)。ただし、計算手段503は、このステップS1以外では動作せず、常に同じメモリ配置情報を出力し続ける。
次に、アクセス順序決定手段504はクロック信号A507のエッジを検出するまで待つ(図6のステップS2)。
アクセス順序決定手段504は、クロック信号A507のエッジを検出後、各回路501のアクセス状況を取得する(図6のステップS3)。
例えば回路1はライトアクセス、回路2はリードアクセスといった情報を、各回路501のイネーブル信号とライトイネーブル信号から取得する。
次に、アクセス順序決定手段504は、ステップS3で取得した各回路501のアクセス状況と、ステップS1で計算されたメモリ配置情報とに基づき、平均アクセス時間が最短になるようなアクセス順序を決定する(図6のステップS4)。
次に、アクセス手段506は、ステップS4で計算されたアクセス順序にしたがって外部メモリ505にアクセスを行う(ステップS5)。
次に上記した各ステップに関してより詳細な説明を行う。
まず、図6のステップS1の計算手段503の処理について詳細に説明する。図7は、計算手段503の処理を説明する流れ図である。計算手段503は、アクセスに必要なサイクル数が最小となるメモリ配置を計算する。
はじめに、各回路501のデータ幅を1ビットの外部メモリ505のライトイネーブルが影響するデータのビット幅の倍数となるように修正する(図7のステップS11)。
つまり、回路501のデータ幅をXとし、1ビットの外部メモリ505のライトイネーブルが影響するデータのビット幅をYとしたとき、次式(1)を計算する。
Figure 0005040660
…(1)
式(1)は、XをYで除した値の整数部(ただし、小数部は切り上げを行う)にYを乗じた値を求める。例えば、1ビットの外部メモリ505のライトイネーブルが8ビット(つまりY=8)の場合、回路1のデータ幅が26ビットの場合、26を8で除した値は3.25であり、切り上げて整数4とし、4×8=32ビットと修正され、回路2のデータ幅が16ビットの時は、16を8で除した値は2であり、2×8=16ビットとされる。このように修正するのは、それぞれのアクセスを個別に処理できるようにするためである。
次に、修正されたデータ幅を使用して各回路501が外部メモリ505で使用するアドレス空間を決定する(図7のステップS12)。
以下、具体例に即して説明する。
例えば2つの回路501、回路1と回路2が、1つの外部メモリ505を共有しているものとする。
そして、
回路1は修正されたデータ幅が32ビットで使用アドレス空間が0x400、
回路2は修正されたデータ幅が32ビットで使用アドレス空間が0x800、
外部メモリのデータ幅は64ビットで、1ビットの外部メモリ505のライトイネーブルが影響するデータのビット幅を32ビット、上位アドレスが1ビット、下位アドレスが10ビットとする。なお、0x400はヘキサデシマル表示である。
このとき、図7のステップS12では、すべての回路が使用するビット数の和を、下位アドレスで制御できるビット数で割ったものを整数に丸めたものを使用する上位アドレスとする。この場合では、使用する上位アドレス数は、次式(2)となる。

Figure 0005040660
…(2)
ただし、1024は、0x400の10進表現であり、2048は、0x800の10進表現である。
次に、各回路が使用するメモリ空間のデータ幅を、1ビットの外部メモリ505のライトイネーブルが影響するデータのビット幅で分割し、さらに、アドレスを下位アドレスで分割する。
例えば、回路2が使用するメモリ空間は、上位の空間と下位の空間に分割される(図7のステップS13)。
次に、起こり得るあらゆるメモリ配置のパターンを網羅的に列挙する(ステップS14)。この例の場合、図8(a)乃至図8(x)に示すような、24パターンを列挙する。
次に、列挙されたパターンの中から、明らかに同じ平均アクセス回数となるパターンを消去する(図7のステップS15)。
つまり、単純に横の並びを入れ替えたものや、上位アドレスを入れ替えたものは、同じ平均アクセス回数となるので、消去する。
その結果、図9(A)乃至(C)のパターン1、2、3が得られる。
さらに、各回路のアクセス確率を同じとしたときに、明らかに同じものを消去する。
この例の場合、図9(B)のパターン2と図9(C)のパターン3が同じ平均アクセス回数になるので、消去する(図7のステップS15)。
次に得られた各パターンの平均アクセス回数を計算し(図7のステップS16)、全パターンの中で最小の平均アクセスサイクルのパターンを求める(図7のステップS17)。
平均アクセス回数は、アクセス順序決定手段504が上位アドレスが共通なものを先に処理し、さらにアドレスが上位のものから処理すると仮定したときのアクセス回数である。
したがって、パターン1の場合で、回路1と2からのアクセスを処理するために必要なサイクル数は、図10に示した波形から、14サイクルと計算できる。
同様に、パターン2の場合には、回路2の上位側にアクセスが起きるパターンでは、図11に示す波形となる。回路2の下位側にアクセスが来るパターンでは、図12に示す波形となる。それぞれ確率1/2で起きるため、平均アクセス数は11となる。
図10乃至図12の波形は、SDRAMの場合の波形を表しており、上位アドレスが共通のときは、最初のアクセス以外は、上位アドレスを転送する必要がない。つまり、ACTIVEコマンドとPRECHARGEコマンドを削減することができる。よって、アクセスを高速にすることできる。
次に図6のステップS3、つまりアクセス順序決定手段504の動作についてより詳細に説明する。
図13は、アクセス順序決定手段504の処理動作を説明するための流れ図である。
アクセス順序決定手段504ではクロック信号A507のエッジ検出後、各回路501のイネーブルとライトイネーブルを見て、これらの回路がアクセスを行っているか否かを調べる(図13のステップS21)。このとき、全くアクセスがなければ、アクセス順序決定手段504は何も出力しないため、アクセス手段506は何も行わない。
図13のステップS21において、未処理なアクセスがある場合、アクセスを行っているもののうち、上位アドレスが最も上のアドレスを選択する(図13のステップS22)。
次に、図13のステップS23では、図13のステップS22で選択されたアクセスのうち、ライトアクセスを選択する。もし、ライトアクセスがある場合には、該ライトアクセスの中から適当に選択し、ライト処理を行う(ステップS24)。ただし、ステップS23で選択されたライトアクセスのうち、下位アドレスが同じ場合は、それも同時に処理する。
図13のステップS23において、ライトアクセスがない場合には、リードアクセスのうち適当なものを選択する(ステップS25)。ただし、ライトアクセスと同様、ステップS25においても、アドレスが同じ場合には、それも同時に処理する。
再びステップS21に戻り、未処理のアクセスがあるか判定し、未処理のアクセスがある場合には、ステップS22乃至S25の処理を繰り返す。すなわち、すべてのアクセスがなくなるまでステップS22乃至S25の処理を行う。
アクセス手段506では、アクセス順序決定手段504が計算した順序に従って、実際に外部メモリ505へアクセスを行う。
次に、本実施の形態の作用効果について説明する。
本実施の形態では、計算手段503とアクセス順序決定手段504が、平均アクセス回数を少なくするように、メモリ配置を行い、アクセス順序を決定しているため、アクセス時間を従来手法よりも短くすることができる。
さらに、外部メモリ505を効率良く利用することができる。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。図14は、本発明の第2の実施の形態の構成を示す図である。図14を参照すると、本発明の第2の実施の形態は、CPUで実行されるプログラム1401により、メモリ制御手段1402を構成し、メモリ制御手段1402が外部メモリ505を制御する以外、前記実施の形態と変わりはない。
図15に示すように、生成されたメモリ制御手段1402は、前記実施の形態と同じく、アクセス順序決定手段504、アクセス手段506の処理機能を実現する。
プログラム1401は、各回路のデータ幅とアドレス幅、外部メモリ505のデータ幅と上位アドレスの幅と下位アドレスの幅と1ビットのライトイネーブルが影響するデータ幅から、前記実施の形態で説明した計算手段503(図5参照)と同じ方法を、ソフトウェア(コンピュータプログラム)で実現しており、計算手段(図15では不図示)は、最適なメモリ配置を決定する。そして、決定されたメモリ配置で最適化された、アクセス順序決定手段504とアクセス手段506を構成する。
本発明の第2の形態の作用効果について説明する。
本発明の第2の実施の形態では、ソフトウェアで最適なメモリ配置を決定するように、構成されているため、図5の計算手段503をハードウェアで実現する必要がなく、構成を単純化させることができる。以下、具体的な実施例を用いて説明する。
図16を参照すると、本発明の実施の形態の各手段がすべて回路によって実現された場合を示している。本実施例では、入力手段502を、計算回路503の端子として実現している。すなわち、回路1のアドレス幅10、回路1のデータ幅32、SDRAMの上位アドレス幅、下位アドレス幅、データ幅13、10、64、1ビットのライトイネーブルが影響するデータ幅の情報等が、入力信号として端子から計算回路503に直接入力される。外部メモリ505はSDRAMモジュールから構成される。
なお、図16に示した、アドレス幅、データ幅等の数値例は、単に、例として用いたものであり、詳しい計算例は省略する。以下、本実施例の動作を説明する。
計算回路503は、前記実施の形態で説明したように、図9の[パターン2]を最適なメモリ配置と判定する。
次に、アクセス順序決定回路504は、図13に示した流れ図に従って、アクセス順序を決定する。
いま、回路1と回路2のアクセスパターンは、図17に示したように、パターン(1)〜パターン(6)の6のパターンが存在する。
図13によると、例えば、図17のパターン(1)乃至(6)のアクセスの様子は、図18の(C)乃至(H)に示すようなものとなる。ただし、パターン(1)はアクセス無である。
したがって、各パターンの発生確率が等しい場合、図9のパターン1のように配置した場合の平均サイクル回数は、9.33であり、図9のパターン2のように配置した場合は8となる。
このように、計算回路503が各回路の使用するメモリ空間を最適にマッピングすることにより、平均サイクル回数を削減できていることがわかる。
本発明は、アドレスを複数回発行して一つのデータにアクセスすることができ、複数回のアドレスのうち前回と同じアドレスにアクセスするときは、そのアドレス転送を省くことのできるメモリを複数の回路が共有して用いている構成に適用することができる。
以上、本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみに制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。

Claims (22)

  1. 一又は複数のアクセス生成手段を備え、前記一又は複数のアクセス生成手段は、あわせて少なくとも2種類のアクセスを生成し、
    前記アクセス生成手段からのアクセスを処理するアクセス手段と、
    前記アクセス手段に接続され、1つのアドレスを指定するために、少なくとも2つ以上のアドレス指定情報を通信し、前記通信のうち、通信するアドレス指定情報が前回通信したアドレス指定情報と等しい情報の通信を省くことのできる記憶手段と、
    前記アクセス生成手段と前記アクセス手段との間の通信路のアドレス幅とデータ幅と、前記記憶手段の前記アドレス指定情報の幅とデータ幅と、に基づき、前記記憶手段への平均アクセス回数を最小化するように、前記アクセス生成手段が用いる前記記憶手段における占有領域を決定する計算手段と、
    を備えている、ことを特徴とする記憶領域割当システム。
  2. 前記計算手段は、前記複数のアクセス生成手段の前記記憶手段における占有領域の配置の割当てのパターンを網羅的に列挙し、
    前記列挙した各パターンにおいて、平均アクセス回数を求め、その中の最小の平均アクセス回数を持つ前記記憶手段における占有領域を決定する、ことを特徴とする請求項1記載の記憶領域割当システム。
  3. 前記計算手段は、1ビットのライトイネーブルが影響する第2のデータ幅を入力し、
    前記アクセス生成手段のデータ幅を、前記第2のデータ幅で除して得られた商を整数に切り上げ、さらに前記整数に前記第2のデータ幅を乗じた値を、前記アクセス生成手段のデータ幅として用いて、前記記憶手段における占有領域を決定する、ことを特徴とする請求項1又は2記載の記憶領域割当システム。
  4. 前記計算手段は、前記アドレス指定情報のうち1つのアドレス指定情報と、前記第2のデータ幅とで、前記アクセス生成手段が占有するはずの占有領域を分割した領域を用いて、前記アクセス生成手段の前記記憶手段における占有領域を決定する、ことを特徴とする請求項3記載の記憶領域割当システム。
  5. 請求項1又は2記載の記憶領域割当システムを備え、
    前記アクセス生成手段と前記アクセス手段との間の通信路のアドレス幅とデータ幅と、前記記憶手段の前記アドレス指定情報の幅とデータ幅とを前記計算手段に伝える入力手段と、
    前記計算手段が決定した占有領域の割当と、前記アクセス生成手段のアクセス状況とに基づき、平均アクセス回数が最小となるように、アクセス順序を決定するアクセス順序決定手段と、
    を備え、
    前記アクセス手段は、前記アクセス順序決定手段によって決定されたアクセス順序に従って前記記憶手段を制御する、ことを特徴とする制御装置。
  6. 請求項3又は4記載の記憶領域割当システムを備え、
    前記アクセス生成手段と前記アクセス手段との間の通信路のアドレス幅とデータ幅と、前記記憶手段の前記アドレス指定情報の幅とデータ幅と1ビットのライトイネーブルが影響するデータ幅とを前記計算手段に伝える入力手段と、
    前記計算手段が決定した占有領域の割当と、前記アクセス生成手段のアクセス状況とに基づき、平均アクセス回数が最小となるように、アクセス順序を決定するアクセス順序決定手段と、
    を備え、
    前記アクセス手段は、前記アクセス順序決定手段によって決定されたアクセス順序に従って、前記記憶手段へのアクセスを制御する、ことを特徴とする制御装置。
  7. 前記記憶手段は、クロック同期型のダイナミックランダムアクセスメモリであり、
    前記アクセス順序決定手段は、同じ行アドレスに配置された前記アクセス生成手段が利用するメモリ空間へアクセスするとき、一回のアクティブ・コマンドと、複数回のリード・コマンド/ライト・コマンドと一回のプリチャージ・コマンドを順に発行して処理を行う、ことを特徴とする請求項5又は6記載の制御装置。
  8. 前記アクセス順序決定手段は、同じ行アドレスに配置された前記アクセス生成手段が利用するメモリへアクセスするとき、ライト処理とリード処理のいずれか一方をまとめて先に処理し、次に、その残りの処理を行うように制御する、ことを特徴する請求項5又は6記載の制御装置。
  9. 一又は複数のアクセス生成手段があわせて少なくとも2種類のアクセスを生成し、前記アクセス生成手段からのアクセスを処理するアクセス手段に接続され、1つのアドレスを指定するために少なくとも2つ以上のアドレス指定情報を通信し、かつ、前記通信のうち通信するアドレス指定情報が前回通信したアドレス指定情報と等しい情報の通信は省くことのできる記憶手段の占有領域の割当方法であって、
    (a)前記アクセス生成手段と前記アクセス手段との間の通信路のアドレス幅とデータ幅を入力するステップと、
    (b)前記記憶手段の前記アドレス指定情報の幅とデータ幅を入力するステップと、
    (c)前記ステップ(a)とステップ(b)で得られた情報から、平均アクセス回数を最小化するように、前記アクセス生成手段が用いる前記記憶手段における占有領域を決定するステップと、
    を含む、ことを特徴とする記憶領域割当方法。
  10. 前記ステップ(c)において、
    (c.1)前記アクセス生成手段が用いる前記記憶手段における占有領域の配置の割当に関して複数のパターンを列挙するステップと、
    (c.2)前記ステップ(c.1)で得られた各パターンの平均アクセス回数を計算するステップと、
    (c.3)前記ステップ(c.2)で得られた各パターンの平均アクセス回数の中から最小の平均アクセス回数を持つパターンを、前記アクセス生成手段が用いる前記記憶手段における占有領域として決定するステップと、
    を有する、ことを特徴とする請求項9記載の記憶領域割当方法。
  11. 前記ステップ(a)において、
    (a.1)前記記憶手段における1ビットのライトイネーブルが影響する第2のデータ幅を入力するステップと、
    (a.2)前記アクセス生成手段のデータ幅を前記第2のデータ幅で割って、その値を整数に切り上げ、さらに前記整数に前記第2のデータ幅を乗じ、乗算結果を前記アクセス生成手段のデータ幅として、修正するステップと、
    を有する、ことを特徴とする請求項9又は10記載の記憶領域割当方法。
  12. 前記ステップ(c.1)において、
    (c.1.1)前記アドレス指定情報のうち1つのアドレス指定情報と第2のデータ幅で、前記記憶手段を、前記各アクセス生成手段が占有する占有領域に分割するステップと、
    (c.1.2)前記ステップ(c.1.1)で得られた分割された占有領域と前記各アクセス生成手段との割当ての組み合わせのパターンを列挙するステップと、
    を有する、ことを特徴とする請求項10記載の記憶領域割当方法。
  13. 前記ステップ(c.1)において、
    (c.1.3)前記ステップ(c.1.2)で列挙されたパターンのうちから、あきらかに同じ平均アクセス回数となるパターンを、事前に消去するステップを有し、 前記ステップ(c.2)では、前記ステップ(c.1.2)で列挙されたパターンのうちから、明らかに同じ平均アクセス回数となるパターンが消去された、残りの各パターンの平均アクセス回数を計算する、ことを特徴とする請求項12記載の記憶領域割当方法。
  14. 請求項10乃至13のいずれか一に記載の記憶領域割当方法を用いて記憶手段へのアクセスを制御する制御方法であって、
    (d)前記ステップ(c)で取得された、前記アクセス生成手段が用いる前記記憶手段における占有領域の配置情報と、前記各アクセス生成手段から前記記憶手段へのアクセス状況とに基づき、アクセス順序を決定するステップと、
    (e)前記アクセス手段が、前記ステップ(d)で決定されたアクセス順序にしたがって、前記記憶手段へのアクセスを制御するステップと、
    を有する、ことを特徴とする制御方法。
  15. 複数の回路から、共通のメモリへのアクセスを制御する制御装置であって、
    前記複数の回路のそれぞれのアドレス幅及びデータ幅と、
    前記メモリの上位アドレス幅及び下位アドレス幅とデータ幅に関する情報、又は、該情報と前記メモリの1ビットのライトイネーブルが影響するデータ幅に関する情報と、
    を受け、前記回路のアクセスを処理するのに費やすサイクル数を少なくするように前記回路に対して割当てられるメモリ配置を決定する計算手段と、
    前記複数の回路からのアクセス情報と、前記計算手段で決定されたメモリ配置とに基づき、前記メモリへのアクセス順序を決定するアクセス順序決定手段と、
    前記アクセス順序決定手段が決定したアクセス順序にしたがって前記メモリへアクセスを行うアクセス手段と、
    を備えている、ことを特徴とする制御装置。
  16. 前記回路は、前記メモリへのリード又はライトアクセスを行うにあたり、アドレス情報を複数回発行し、
    前記メモリは、前記回路からの前記複数回のアドレス情報のうち、前回と同じアドレスにアクセスするときは、そのアドレス転送を省くことができるものである、ことを特徴とする請求項15記載の制御装置。
  17. 前記計算手段は、前記回路からの前記メモリへのアクセス回数を最小とするように、前記回路に対するメモリ配置を計算する、ことを特徴とする請求項15記載の制御装置。
  18. 複数の回路から、共通のメモリへのアクセスを制御する制御装置を構成するコンピュータに、
    前記複数の回路のそれぞれのアドレス幅及びデータ幅と、
    前記メモリの上位アドレス幅及び下位アドレス幅とデータ幅に関する情報、又は、該情報と前記メモリの1ビットのライトイネーブルが影響するデータ幅に関する情報と、
    を受け、前記回路のアクセスを処理するのに費やすサイクル数を少なくするように前記回路に対して割当てられるメモリ配置を決定する計算処理と、
    前記複数の回路からのアクセス情報と、前記計算処理で決定されたメモリ配置とに基づき、前記メモリへのアクセス順序を決定するアクセス順序決定処理と、
    前記アクセス順序決定処理が決定したアクセス順序にしたがって前記メモリへのアクセスを行うアクセス処理と、
    を実行させるプログラム。
  19. 請求項18記載のプログラムにおいて、前記回路は、前記メモリへのリード又はライトアクセスを行うにあたり、アドレス情報を複数回発行し、
    前記メモリは、前記回路からの前記複数回のアドレス情報のうち、前回と同じアドレスにアクセスするときは、そのアドレス転送を省くことができるものである、ことを特徴とするプログラム。
  20. アクセス生成手段からのアクセスを処理するアクセス手段に接続され、1つのアドレスを指定するために少なくとも2つ以上のアドレス指定情報を通信し、かつ、前記通信において連続して指定される同一のアドレス指定情報は通信を省くことのできる記憶手段のための、前記アクセス生成手段のアクセス領域の配置を決定する記憶領域割当システムであって、
    前記アクセス生成手段のアドレス幅とデータ幅と前記記憶手段のアドレス幅とデータ幅に基づいて、前記記憶手段への平均アクセス回数を最小化するように、前記アクセス生成手段が用いる前記記憶手段における占有領域を割り当てる、ことを特徴とする記憶領域割当システム。
  21. アクセス生成手段からのアクセスを処理するアクセス手段に接続され、1つのアドレスを指定するために少なくとも2つ以上のアドレス指定情報を通信し、かつ、前記通信において連続して指定される同一のアドレス指定情報は通信を省くことのできる記憶装置であって、
    前記アクセス生成手段のアドレス幅とデータ幅と前記記憶手段のアドレス幅とデータ幅に基づいて、前記記憶手段への平均アクセス回数を最小化するように、前記アクセス生成手段の前記記憶手段における占有領域が割り当てられている、ことを特徴とする記憶装置。
  22. アクセス生成手段からのアクセスを処理するアクセス手段に接続され、1つのアドレスを指定するために少なくとも2つ以上のアドレス指定情報を通信し、かつ、前記通信において連続して指定される同一のアドレス指定情報は通信を省くことのできる記憶手段のための、前記アクセス生成手段のアクセス領域の配置を決定する記憶領域割当方法であって、
    前記アクセス生成手段のアドレス幅とデータ幅と前記記憶手段のアドレス幅とデータ幅に基づいて、前記記憶手段への平均アクセス回数を最小化するように、前記アクセス生成手段が用いる前記記憶手段における占有領域を割り当てる、ことを特徴とする記憶領域割当方法。
JP2007550141A 2005-12-16 2006-12-06 記憶領域割当システム及び方法と制御装置 Expired - Fee Related JP5040660B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007550141A JP5040660B2 (ja) 2005-12-16 2006-12-06 記憶領域割当システム及び方法と制御装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005363241 2005-12-16
JP2005363241 2005-12-16
JP2007550141A JP5040660B2 (ja) 2005-12-16 2006-12-06 記憶領域割当システム及び方法と制御装置
PCT/JP2006/324330 WO2007069506A1 (ja) 2005-12-16 2006-12-06 記憶領域割当システム及び方法と制御装置

Publications (2)

Publication Number Publication Date
JPWO2007069506A1 JPWO2007069506A1 (ja) 2009-05-21
JP5040660B2 true JP5040660B2 (ja) 2012-10-03

Family

ID=38162814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007550141A Expired - Fee Related JP5040660B2 (ja) 2005-12-16 2006-12-06 記憶領域割当システム及び方法と制御装置

Country Status (6)

Country Link
US (1) US8225064B2 (ja)
EP (1) EP1962196A4 (ja)
JP (1) JP5040660B2 (ja)
KR (1) KR20080053527A (ja)
CN (1) CN101331464A (ja)
WO (1) WO2007069506A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9260882B2 (en) 2009-03-12 2016-02-16 Ford Global Technologies, Llc Universal global latch system
KR20110032606A (ko) * 2009-09-23 2011-03-30 삼성전자주식회사 전자 디바이스의 성능 개선을 위한 전자 디바이스 컨트롤러
US9551166B2 (en) 2011-11-02 2017-01-24 Ford Global Technologies, Llc Electronic interior door release system
US9416565B2 (en) 2013-11-21 2016-08-16 Ford Global Technologies, Llc Piezo based energy harvesting for e-latch systems
US9903142B2 (en) 2014-05-13 2018-02-27 Ford Global Technologies, Llc Vehicle door handle and powered latch system
US10119308B2 (en) 2014-05-13 2018-11-06 Ford Global Technologies, Llc Powered latch system for vehicle doors and control system therefor
US10273725B2 (en) 2014-05-13 2019-04-30 Ford Global Technologies, Llc Customer coaching method for location of E-latch backup handles
US9909344B2 (en) 2014-08-26 2018-03-06 Ford Global Technologies, Llc Keyless vehicle door latch system with powered backup unlock feature
US9725069B2 (en) 2015-10-12 2017-08-08 Ford Global Technologies, Llc Keyless vehicle systems
US10152527B1 (en) 2015-12-28 2018-12-11 EMC IP Holding Company LLC Increment resynchronization in hash-based replication
US10324782B1 (en) 2016-03-24 2019-06-18 Emc Corporation Hiccup management in a storage array
US10101934B1 (en) * 2016-03-24 2018-10-16 Emc Corporation Memory allocation balancing for storage systems
US10705907B1 (en) 2016-03-24 2020-07-07 EMC IP Holding Company LLC Data protection in a heterogeneous random access storage array
US9792975B1 (en) 2016-06-23 2017-10-17 Mediatek Inc. Dram and access and operating method thereof
US10227810B2 (en) 2016-08-03 2019-03-12 Ford Global Technologies, Llc Priority driven power side door open/close operations
US10329823B2 (en) 2016-08-24 2019-06-25 Ford Global Technologies, Llc Anti-pinch control system for powered vehicle doors
US10152371B1 (en) 2016-09-30 2018-12-11 EMC IP Holding Company LLC End-to-end data protection for distributed storage
US10223008B1 (en) 2016-09-30 2019-03-05 EMC IP Holding Company LLC Storage array sizing for compressed applications
US10255172B1 (en) 2016-09-30 2019-04-09 EMC IP Holding Company LLC Controlled testing using code error injection
US10604970B2 (en) 2017-05-04 2020-03-31 Ford Global Technologies, Llc Method to detect end-of-life in latches
US10907386B2 (en) 2018-06-07 2021-02-02 Ford Global Technologies, Llc Side door pushbutton releases

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161544A (ja) * 1997-11-25 1999-06-18 Seiko Epson Corp 情報処理装置、その制御方法およびメモリアドレス変換装置
JP2001175530A (ja) * 1999-12-22 2001-06-29 Nec Ic Microcomput Syst Ltd メモリアクセス調停装置およびメモリアクセス調停方法
JP2003030044A (ja) * 2001-07-19 2003-01-31 Mitsubishi Electric Corp メモリコントロール装置
JP2005508550A (ja) * 2001-10-12 2005-03-31 ソニックス インコーポレイテッド ダイナミックランダムアクセスメモリデバイスへの要求をスケジュールする方法及び装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613953A (en) * 1983-04-22 1986-09-23 Ncr Corporation Paging register for memory devices
US5301292A (en) 1991-02-22 1994-04-05 Vlsi Technology, Inc. Page mode comparator decode logic for variable size DRAM types and different interleave options
US5572692A (en) 1991-12-24 1996-11-05 Intel Corporation Memory configuration decoding system having automatic row base address generation mechanism for variable memory devices with row access interleaving
EP0629952B1 (en) * 1993-06-16 1999-09-01 Bull HN Information Systems Italia S.p.A. Variable interleaving level memory and related configuration unit
US5590299A (en) * 1994-10-28 1996-12-31 Ast Research, Inc. Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US5638534A (en) * 1995-03-31 1997-06-10 Samsung Electronics Co., Ltd. Memory controller which executes read and write commands out of order
WO1996037050A1 (en) * 1995-05-15 1996-11-21 Advanced Hardware Architectures, Inc. Reconfigurable interleaver/deinterleaver and address generator for data streams interleaved according to one of a plurality of interleaving schemes
US5619471A (en) * 1995-06-06 1997-04-08 Apple Computer, Inc. Memory controller for both interleaved and non-interleaved memory
JPH1139857A (ja) * 1997-07-23 1999-02-12 Toshiba Corp メモリシステム及び情報処理システム
JP3464621B2 (ja) * 1999-04-01 2003-11-10 フーリエ有限会社 バンク可変メモリ
JP4641094B2 (ja) * 2000-11-17 2011-03-02 富士通セミコンダクター株式会社 半導体メモリ
JP2003281074A (ja) * 2002-03-19 2003-10-03 Fujitsu Ltd ダイレクトメモリアクセス装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161544A (ja) * 1997-11-25 1999-06-18 Seiko Epson Corp 情報処理装置、その制御方法およびメモリアドレス変換装置
JP2001175530A (ja) * 1999-12-22 2001-06-29 Nec Ic Microcomput Syst Ltd メモリアクセス調停装置およびメモリアクセス調停方法
JP2003030044A (ja) * 2001-07-19 2003-01-31 Mitsubishi Electric Corp メモリコントロール装置
JP2005508550A (ja) * 2001-10-12 2005-03-31 ソニックス インコーポレイテッド ダイナミックランダムアクセスメモリデバイスへの要求をスケジュールする方法及び装置

Also Published As

Publication number Publication date
EP1962196A4 (en) 2010-10-06
US8225064B2 (en) 2012-07-17
JPWO2007069506A1 (ja) 2009-05-21
US20100005233A1 (en) 2010-01-07
CN101331464A (zh) 2008-12-24
WO2007069506A1 (ja) 2007-06-21
KR20080053527A (ko) 2008-06-13
EP1962196A1 (en) 2008-08-27

Similar Documents

Publication Publication Date Title
JP5040660B2 (ja) 記憶領域割当システム及び方法と制御装置
JP4926963B2 (ja) 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法
US7392337B2 (en) System, method and storage medium for a memory subsystem command interface
JP5430484B2 (ja) 半導体記憶装置、及びその制御方法
KR100619806B1 (ko) 디스크 콘트롤러 메모리에 접속을 중개하기 위한 중개방법및 시스템
EP2116938B1 (en) Operation apparatus and control method
KR20100077026A (ko) 직렬 인터페이스 nand
EP3657337B1 (en) Method, apparatus, device and storage medium for accessing static random access memory
US11385829B2 (en) Memory controller for non-interfering accesses to nonvolatile memory by different masters, and related systems and methods
CN108139989B (zh) 配备有存储器中的处理和窄访问端口的计算机设备
US7761668B2 (en) Processor architecture having multi-ported memory
CN100587678C (zh) 外部设备访问装置和系统大规模集成电路
JP5348157B2 (ja) 情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法
US9940260B1 (en) System and method for controlling optimized access to memory device having three-dimensional stacked structure
JPWO2009081551A1 (ja) メモリ装置及びその制御方法
JP2005346715A (ja) マルチポートランダムアクセスメモリ
JP6607332B1 (ja) 中継装置、プログラム、及び情報処理システム
US20240311302A1 (en) Processor, system, and method for dynamic cache allocation
JP4496923B2 (ja) 共有メモリシステム
US7707450B1 (en) Time shared memory access
JP2009271668A (ja) メモリ方法およびメモリ装置
JP2002216474A (ja) コンピュータシステムとそのメモリリフレッシュ方法
JPH04274537A (ja) アドレス割振り装置
JP2006031426A (ja) 共有バス調停システム
JPH10312333A (ja) データ転送制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120507

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: 20120612

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: 20120625

R150 Certificate of patent or registration of utility model

Ref document number: 5040660

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees