WO2014068789A1 - メモリ制御装置 - Google Patents
メモリ制御装置 Download PDFInfo
- Publication number
- WO2014068789A1 WO2014068789A1 PCT/JP2012/078628 JP2012078628W WO2014068789A1 WO 2014068789 A1 WO2014068789 A1 WO 2014068789A1 JP 2012078628 W JP2012078628 W JP 2012078628W WO 2014068789 A1 WO2014068789 A1 WO 2014068789A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- memory
- read
- address
- command
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1028—Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
通常は、付加したECC、パリティビット専用に幅方向にメモリ素子を追加する(水平ECC、水平パリティ)。
例えば×8ビット構成のメモリではなく、特殊な×9ビット構成のメモリを使用することが考えられる。
しかし、メモリ素子の追加や特殊メモリの採用は、コスト的に不利であったり、部品の入手性に難がある場合が多い。
その解決策の一つとして、ECCを幅方向ではなく深さ方向へECCを保存することで幅方向にメモリを増やす必要のない、垂直ECC、垂直パリティを採用することがある(以下垂直ECCと記載する)。
図1では、1つのアドレスに、各々のデータ幅が1バイトのペイロードデータが4つ格納されている。
図1のメモリ構成において、垂直ECCにより、4バイトのペイロードデータにつき1バイトのECCを付加すると、図2に示すようなデータの配置となる。
リードリクエストの要求元で図1のデータ配置にてペイロードデータを管理しており、メモリでは図2のデータ配置にてペイロードデータとECCを管理している場合に、図1の0000h番地のデータ(D0~D3)のリードリクエストがあると、以下のデータリードが行われる。
メモリからは図2の0000h番地のデータ(D0~D3)、0004h番地のデータ(ECC0~D6)の順序で読み出しが行われ、読み出されたD0~D3に対してECC0を用いて誤り訂正が行われ、誤り訂正後のD0~D3が要求元に出力される。
更に、図1の0004h番地のデータ(D4~D7)のリードリクエストがあった場合は、以下のデータリードが行われる。
メモリからは図2の0004h番地のデータ(ECC0~D6)、0008h番地のデータ(D7~D9)の順序で読み出しが行われ、読み出されたD4~D7に対してECC1を用いて誤り訂正が行われ、誤り訂正後のD4~D7が要求元に出力される。
しかし、メモリアクセスにはオーバーヘッドがある場合が多く(例えば、DRAM(Dynamic Random Access Memory)では同一バンクをACTするとアクセスできない期間が発生する)、第2データを2回リードすると、性能ロスが生じ、非効率的である。
また、メモリアクセスごとに電力が消費されるため、第2データを2回リードすると、電力消費が多くなる。
各々に所定のデータ幅分のデータが格納される複数のアドレスを有し、前記データ幅分のペイロードデータに対して誤り訂正データが設定され、対応関係にある前記データ幅分のペイロードデータと誤り訂正データとが隣接する2つのアドレスにわたって格納され、アドレス単位でデータの読み出しが行われるメモリ、からのペイロードデータの読み出しを要求するリードリクエストをパイプライン方式にて処理するメモリ制御装置であって、
前記メモリから読み出されたデータをキャッシュするキャッシュ領域と、
前記データ幅の整数倍分のペイロードデータの読み出しを要求するリードリクエストを入力するリードリクエスト入力部と、
前記リードリクエスト入力部により入力されたリードリクエストで要求されているペイロードデータである要求ペイロードデータと前記要求ペイロードデータの誤り訂正に用いられる誤り訂正データである対応誤り訂正データとが格納されている2つ以上のアドレスである読み出し候補アドレスのうちのいずれかのアドレスのデータが、前記キャッシュ領域にキャッシュ済み又はキャッシュされる予定であるかを判定するキャッシュ判定部と、
2つ以上の読み出し候補アドレスのうちのいずれかのアドレスのデータが前記キャッシュ領域にキャッシュ済み又はキャッシュされる予定であると前記キャッシュ判定部により判定された場合に、2つ以上の読み出し候補アドレスのうち前記キャッシュ領域にデータがキャッシュ済み又はキャッシュされる予定のアドレスであるキャッシュアドレス以外のアドレスからのデータの読み出しを指示する部分リードコマンドを、前記メモリへの前記部分リードコマンドの出力が可能なタイミングから所定の遅延時間が経過した後に、前記メモリに出力するコマンド出力部とを有することを特徴とする。
キャッシュアドレスのデータはキャッシュ領域のデータを用いることで重複したデータの読み出しを回避し、有限なメモリ帯域を効率的に利用し、また、メモリアクセスにおける電力消費を抑制することができる。
また、遅延時間が経過した後に部分リードコマンドをメモリに出力することで、パイプライン型のメモリであっても、キャッシュ領域からのキャッシュアドレスのデータの入力とメモリからのキャッシュアドレス以外のアドレスのデータの入力との間の衝突を回避することができる。
実施の形態1のメモリ制御装置では、第2データの重複したリードを回避するために前回値保持部と内部バッファを用いている。
パイプライン型のメモリに対応した実施の形態2及び3のメモリ制御装置でも、第2データの重複したリードを回避するために、同じく前回値保持部と内部バッファを用いている。
メモリ制御装置における前回値保持部と内部バッファの使用法は、実施の形態1~3で共通であるため、理解のしやすさを考慮して、実施の形態1において、非パイプライン方式のメモリ制御装置の動作を説明する。
そして、実施の形態1での動作を前提にして、実施の形態2及び3では、パイプライン方式に特有の動作を説明する。
例えば、図1に示すような、アドレスとデータ幅が4バイトのデータ(D0~D3f)がある。
ECCを4バイトにつき1バイト付加した垂直ECCのメモリ配置を図2に示す。
データに続けてECCを配置する順になっているが、これは一例であり、ECCの配置方法は、隣り合う前後2ラインの中にデータとECCが配置されていればよい。
例えば、「EEC0」がペイロードデータ「D0」の前に配置されていてもよい。
また、同じアドレスに割り当たったデータは拡張可能であり、例えば0000h番地にD0~D3、ECC0、D4~D6、次の0008h番地にD7、ECC1、D8~Db、ECC2、Dcと、データ幅を拡張しても良い。
その場合においても、一部のペイロードデータとECCは隣接する2つのアドレスにわたって対応関係にあり続けるためである。
図3は、実施の形態1に係るメモリ制御装置100とリクエスト要求元101とメモリ105とを示す。
以下では、リクエスト要求元101は、メモリ105からのペイロードデータの読み出しを要求するリードリクエストを発行する場合に限って説明を進める。
リクエスト要求元101は、例えば、CPU(Central Processing Unit)である。
なお、リクエスト要求元101では、例えば図1に示す形式で、ペイロードデータの配置を認識している。
メモリ105からは、アドレス単位でデータの読み出しが行われる。
なお、メモリ105は、メモリ制御装置100の制御対象のメモリである。
メモリ制御装置100の各構成要素は、例えば素子、デバイス、回路といったハードウェアである。
メモリ制御装置100の各構成要素は、例えば、チップセット内の半導体回路群である。
また、例えば、メモリアドレス変換部106、内部バッファ管理部107、内部バッファ情報記憶部112、データ選択部108、データ整列部103及びECC訂正部102は、プログラムを用いて実現されていてもよい。
また、メモリアドレス変換部106は、入力したリードリクエストのアドレスを垂直ECCを配置したメモリ105上のアドレスへ変換する。
例えば、リクエスト要求元101から図1の0000h番地のデータ(D0~D3)のリードリクエストがあった場合は、メモリアドレス変換部106は、図2の0000h番地のデータ(D0~D3)と0004h番地のデータ(ECC0~D6)へのアドレス変換を行う。
なお、メモリアドレス変換部106によるアドレス変換後のアドレスを読み出し候補アドレスという(上記の例では、図2の0000h番地と0004h番地が読み出し候補アドレス)。
また、リクエスト要求元101からのリードリクエストで要求されているペイロードデータを要求ペイロードデータという(上記の例では、D0~D3が要求ペイロードデータ)。
また、要求ペイロードデータの誤り訂正に用いられるECCを対応誤り訂正データ又は対応ECCという(上記の例では、ECC0が対応誤り訂正データ)。
更に、メモリアドレス変換部106は、アドレス変換結果及びヒット判定部113の判定結果に基づき、メモリ105にデータリードを指示するリードコマンドを出力する。
なお、本明細書では、メモリアドレス変換部106がリクエスト要求元101から入力する情報をリードリクエストといい、メモリアドレス変換部106がメモリ105に出力する情報をリードコマンドという。
ヒット判定部113においてヒット判定があった場合は、メモリアドレス変換部106は、部分リードコマンドをメモリ105に出力する。
部分リードコマンドは、読み出し候補アドレスのうち内部バッファA109にキャッシュ済みのアドレス(キャッシュアドレスという)以外のアドレスからのデータの読み出しを指示するコマンドである。
また、ヒット判定部113においてミス判定があった場合は、メモリアドレス変換部106は、全域リードコマンドをメモリ105に出力する。
全域リードコマンドは、読み出し候補アドレスの全域からのデータの読み出しを指示するコマンドである。
なお、メモリアドレス変換部106は、リードリクエスト入力部及びコマンド出力部の例に相当する。
内部バッファA109は、キャッシュ領域の例である。
なお、図1では、内部バッファは1つだけ図示されているが、複数の内部バッファを配置することが可能である。
より具体的には、内部バッファ管理部107は、メモリ105からリードされたデータのうち、内部バッファA109に記憶させるデータを選択し、選択したデータを内部バッファA109に格納する。
メモリアドレス変換部106により出力されたリードコマンドに応じてメモリ105から読み出されたデータのうちの最後尾のデータ(最後尾データという)に、要求ペイロードデータ及び対応ECCのいずれでもないデータが含まれている場合に、内部バッファ管理部107は、当該最後尾データを内部バッファA109に格納する。
例えば、リクエスト要求元101から図1の0000h番地のデータ(D0~D3)のリードリクエストがあった場合は、メモリアドレス変換部106により、図2の0000h番地のデータ(D0~D3)と0004h番地のデータ(ECC0~D6)へのアドレス変換が行われる。
0000h番地のデータ(D0~D3)が内部バッファA109に格納されていない場合は、ミス判定となり、0000h番地のデータと0004h番地のデータのリードを指示する全域リードコマンドが出力される。
この全域リードコマンドに対してメモリ105からリードされた最後尾データ(0004h番地)には、ECC0~D6が含まれる。
ECC0は対応ECCに該当するが、D4~D6は要求ペイロードデータではない。
このため、内部バッファ管理部107は、0004h番地のデータ(ECC0~D6)を内部バッファA109に格納する。
一方で、リクエスト要求元101から図1の001Ch番地のデータ(D1c~D1f)のリードリクエストがあった場合は、メモリアドレス変換部106により、図2の0020h番地のデータ(D1a~D1c)と0024h番地のデータ(D1d~ECC7)へのアドレス変換が行われる。
0020h番地のデータ(D1a~D1c)が内部バッファA109に格納されていない場合は、ミス判定となり、0020h番地のデータと0024h番地のデータのリードを指示する全域リードコマンドが出力される。
この全域リードコマンドに対してメモリ105からリードされた最後尾データ(0024h番地)には、D1d~ECC7が含まれる。
D1d~D1fは要求ペイロードデータに該当し、ECC7は対応ECCに該当する。
このため、内部バッファ管理部107は、0024h番地のデータ(D1d~ECC7)は、内部バッファA109に格納しない。
なお、内部バッファ管理部107は、キャッシュ管理部の例に相当する。
読み出し候補アドレスの一部のアドレスのデータが内部バッファA109にキャッシュ済みであれば、ヒット判定であり、キャッシュ済みでなければミス判定である。
ヒット判定部113は、内部バッファ情報記憶部112の「内部バッファAのアドレス」と「距離情報」から連続するアドレスを計算して、内部バッファA109にデータがキャッシュ済みかどうかを判定する。
ヒット判定であれば、ヒット判定部113は、ヒット信号をメモリアドレス変換部106に出力する。
なお、ヒット判定部113は、キャッシュ判定部の例に相当する。
内部バッファ情報記憶部112内の「距離情報A」には、リードリクエストで要求されたアドレスのアドレス長が記憶される。
リクエスト要求元101から図1の0000h番地のリードリクエストがあった場合は、「内部バッファAのアドレス」には「0000h番地」が記憶され、「距離情報A」には「4バイト」が記憶される。
内部バッファが複数ある場合は、各内部バッファに対してアドレスと距離情報が記憶される。
なお、図1では、「内部バッファAのアドレス」と「距離情報A」を別に管理しているが、「内部バッファAのアドレス」のみで運用してもよい。
この場合は、リードリクエストで示されているアドレスにアドレス長を加算した値を「内部バッファAのアドレス」に記憶する。
つまり、リクエスト要求元101から図1の0000h番地のリードリクエストがあった場合は、0000h番地に4バイトを加算した「0004h番地」を「内部バッファAのアドレス」に記憶する。
以下では、図1の0000h番地から4バイト(D0~D3)、続けて0004h番地から4バイト(D4~D7)をリードする場合を説明する。
次に、ヒット判定部113が、受理したリードリクエストが内部バッファA109に格納されているデータとヒットするかを判定する(S301)。
具体的には、ヒット判定部113は、内部バッファ情報記憶部112の「内部バッファAのアドレス」、「距離情報A」からキャッシュアドレスを計算し、判定する。
なお、この時点では、内部バッファA109にはデータが格納されていないので、S301の判定結果はNoとなる。
図2を参照すると、上記データは0000h番地と、0004h番地に跨って配置されているため、メモリアドレス変換部106は、0000h番地から8バイトのリードを指示するリードコマンド(全域リードコマンド)を生成する。
また、メモリアドレス変換部106は、生成したリードコマンドをメモリ105に出力するとともに、内部バッファ管理部107及びデータ選択部108に、リードコマンドとリクエスト要求元101からのリードリクエストを出力する。
データ選択部108は、データ整列部103と内部バッファ管理部107にリードデータの入力を通知する。
0000h番地のデータは、最後尾データではないのでS401の判定結果はNoとなる。
内部バッファ管理部107は、メモリアドレス変換部106からリードコマンドとリードリクエストを入力しており、また、図1のデータ配置及び図2のデータ配置を認識しているため、最初に入力するリードデータ(0000h番地のデータ)は最後尾データでないと判定することができる。
なお、入力した0000h番地のデータは、最後尾データではないので、入力したリードデータは内部バッファA109で保持されない。
つまり、データ整列部103は、メモリ105からのデータ又は内部バッファA109のデータと前回値保持部104のデータとで、リクエスト要求元101から要求された要求ペイロードデータと対応ECCとが得られるかを判断する。
この時点では、メモリ105から0000h番地のデータを入力しているが、前回値保持部104にはデータが格納されていない。
0000h番地のデータだけでは要求ペイロードデータと対応ECCとが得られないため、データ整列部103は、0004h番地のデータの入力を待つ(S305でNO)。
このとき、データ選択部108から前回値保持部104に、リードデータ(0000h番地)が前回値として格納される。
なお、データ整列部103は、メモリアドレス変換部106からリードコマンドとリードリクエストを入力しており、また、図1のデータ配置及び図2のデータ配置を認識しているため、データの整列ができるか否かを判断することができる。
データ選択部108は、データ整列部103と内部バッファ管理部107にリードデータの入力を通知する。
0004h番地のデータは、リードコマンドに対してメモリ105から入力する最後のデータであり、最後尾データに該当する(S400でYES)。
リクエスト要求元101から要求された要求ペイロードデータはD0~D3であり、また、対応ECCはEEC0である。
0004h番地のデータには、後続のペイロードデータであるD4~D6が含まれている。
このため、S401の判定結果はYESとなる。
前述したように、内部バッファ管理部107は、メモリアドレス変換部106からリードリクエストを入力しており、また、図1のデータ配置及び図2のデータ配置を認識しているため、0004h番地のD4~D6が、要求ペイロードデータ及び対応ECCのいずれでもない後続のペイロードデータであると判断できる。
つまり、データ整列部103は、メモリ105からのデータ又は内部バッファA109のデータと前回値保持部104のデータとで、リクエスト要求元101から要求された要求ペイロードデータと対応ECCとが得られるかを判断する。
この時点では、メモリ105から0004h番地のデータを入力し、前回値保持部104に前回値として0000h番地のデータが格納されている。
メモリ105から入力したデータと前回値保持部104のデータで、要求ペイロードデータと対応ECCとが得られるため、S305の判定結果はYesとなる。
以上で要求されたペイロードデータを全て返送し終えたので処理が完了する(S207)。
つまり、ヒット判定部113は、S201で受理したリードリクエストは、内部バッファ情報記憶部112の「内部バッファAのアドレス」に記述されているアドレスに連続するアドレスのデータのリードを要求しているかを判断する。
本例の場合は、「内部バッファAのアドレス」に「0000h番地」が記述され、「距離情報A」に「4」が記述されているため、「0000h番地」に4バイトを加算して「0004h」となり、リードリクエストの要求に合致するので、ヒット判定となり、S301の判定結果はYesである。
図2を参照すると、上記データは0004h番地と、0008h番地に跨って配置されているため、通常であれば、メモリアドレス変換部106は0004h番地から8バイトのリードを指示するリードコマンドを生成する。
しかし、0004h番地のデータは内部バッファA109のデータを利用するため、メモリアドレス変換部106は、0008hから4バイトのリードを指示するリードコマンド(部分リードコマンド)を生成し、生成したリードコマンドをメモリ105に出力する(S302)。
また、メモリアドレス変換部106は、生成したリードコマンドをメモリ105に出力するとともに、内部バッファ管理部107及びデータ選択部108に、リードコマンドとリクエスト要求元101からのリードリクエストを出力する。
つまり、データ整列部103は、メモリ105からのデータ又は内部バッファA109のデータと前回値保持部104のデータとで、リクエスト要求元101から要求された要求ペイロードデータと対応ECCとが得られるかを判断する。
この時点では、内部バッファA109に0004h番地のデータがあり、前回値保持部104にも0004h番地のデータがある。
0004h番地のデータだけでは要求ペイロードデータと対応ECCとが得られないため、データ整列部103は、0008h番地のデータの入力を待つ(S305でNO)。
このとき、データ選択部108から前回値保持部104に、内部バッファA109のデータ(0004h番地)が前回値として格納される。
データ選択部108は、データ整列部103と内部バッファ管理部107にリードデータの入力を通知する。
0008h番地のデータは、リードコマンドに対してメモリ105から入力する最後のデータであり、最後尾データに該当する(S400でYES)。
リクエスト要求元101から要求された要求ペイロードデータはD4~D7であり、また、対応ECCはEEC1である。
0008h番地のデータには、後続のペイロードデータであるD8~D9が含まれている。
このため、S401の判定結果はYESとなる。
つまり、データ整列部103は、メモリ105からのデータ又は内部バッファA109のデータと前回値保持部104のデータとで、リクエスト要求元101から要求された要求ペイロードデータと対応ECCとが得られるかを判断する。
この時点では、メモリ105から0008h番地のデータを入力し、前回値保持部104に前回値として0004h番地のデータが格納されている。
メモリ105から入力したデータと前回値保持部104のデータで、要求ペイロードデータと対応ECCとが得られため、S305の判定結果はYesとなる。
以上で要求されたペイロードデータを全て返送し終えたので処理が完了する(S207)。
第1データA(D0~D3)は、最後尾データではないため、内部バッファA109では保持されないが、第1データB(D0~D3)として前回値保持部104に保持される。
次に、メモリ105から第2データA(ECC0~D6)が図2の0004h番地から読み出される。
第2データA(ECC0~D6)は、最後尾データであるので、第2データE(ECC0~D6)として内部バッファA109に保持される。
データ整列部103は、メモリ105からの第2データA(ECC0~D6)と、前回値保持部104の第1データB(D0~D3)からデータ整列を行って、第1データC(D0~ECC0)を生成する。
そして、ECC訂正部102が、第1データC(D0~ECC0)のECC訂正を行い、ECC訂正後の第1データD(D0~D3)をリクエスト要求元101に出力する。
また、第2データA(ECC0~D6)は、第2データB(ECC0~D6)として前回値保持部104に保持される。
内部バッファA109の第2データE(ECC0~D6)と前回値保持部104の第2データB(ECC0~D6)では、データ整列ができないので、第2データE(ECC0~D6)が前回値として前回値保持部104に保持されるとともに、メモリ105から第4データA(D7~D9)が図2の0008h番地から読み出される。
第4データA(D7~D9)は、最後尾データであるので、第4データE(D7~D9)として内部バッファA109に保持される。
データ整列部103は、メモリ105からの第4データA(D7~D9)と、前回値保持部104の第2データE(ECC0~D6)からデータ整列を行って、第2データC(D4~ECC1)を生成する。
そして、ECC訂正部102が、第2データC(D4~ECC1)のECC訂正を行い、ECC訂正後の第2データD(D4~D7)をリクエスト要求元101に出力する。
また、第4データA(D7~D9)は、第4データB(D7~D9)として前回値保持部104に保持される。
これに対して、本実施の形態では、内部バッファA109内の第2データE(ECC0~D6)を利用することが可能であるため、メモリ105からの重複した読み出しは不要である。
ここでは、内部バッファA109の他に内部バッファB1090が含まれるメモリ制御装置100の動作例を説明する。
なお、第1のリードリクエスト(0000h番地のリードリクエスト)の際には、第1のリードリクエストに先行するリードリクエストに対して読み出されたECC4~D16のデータ(図2の0018h番地)が第3データEとして内部バッファB1090に保持されているものとする。
一方、内部バッファA109には、第1のリードリクエストの際には、データが保持されていないものとする。
第1データA(D0~D3)は、最後尾データではないため、内部バッファA109では保持されないが、第1データB(D0~D3)として前回値保持部104に保持される。
次に、メモリ105から第2データA(ECC0~D6)が読み出される。
第2データA(ECC0~D6)は、最後尾データであるので、第2データE(ECC0~D6)として内部バッファA109に保持される。
データ整列部103は、メモリ105からの第2データA(ECC0~D6)と、前回値保持部104の第1データB(D0~D3)からデータ整列を行って、第1データC(D0~ECC0)を生成する。
そして、ECC訂正部102が、第1データC(D0~ECC0)のECC訂正を行い、ECC訂正後の第1データD(D0~D3)をリクエスト要求元101に出力する。
また、第2データA(ECC0~D6)は、第2データB(ECC0~D6)として前回値保持部104に保持される。
内部バッファB1090の第3データE(ECC4~D16)と前回値保持部104の第2データB(ECC0~D6)では、データ整列ができないので、第3データE(ECC4~D16)が第3データB(ECC4~D16)(前回値)として前回値保持部104に保持されるとともに、メモリ105から第4データA(D17~D19)が図2の001Ch番地から読み出される。
第4データA(D17~D19)は、最後尾データであるので、第4データE(D17~D19)として内部バッファA109に保持される。
データ整列部103は、メモリ105からの第4データA(D17~D19)と、前回値保持部104の第3データB(ECC4~D16)からデータ整列を行って、第2データC(D14~ECC5)を生成する。
そして、ECC訂正部102が、第2データC(D14~ECC5)のECC訂正を行い、ECC訂正後の第2データD(D14~D17)をリクエスト要求元101に出力する。
また、第4データA(D17~D19)は、第4データB(D17~D19)として前回値保持部104に保持される。
内部バッファA109の第2データE(ECC0~D6)と前回値保持部104の第4データB(D17~D19)では、データ整列ができないので、第2データE(ECC0~D6)が第5データB(ECC0~D6)(前回値)として前回値保持部104に保持されるとともに、メモリ105から第6データA(D7~D9)が図2の0008h番地から読み出される。
第6データA(D7~D9)は、最後尾データであるので、第6データE(D7~D9)として内部バッファA109に保持される。
データ整列部103は、メモリ105からの第6データA(D7~D9)と、前回値保持部104の第5データB(ECC0~D6)からデータ整列を行って、第3データC(D4~ECC1)を生成する。
そして、ECC訂正部102が、第3データC(D4~ECC1)のECC訂正を行い、ECC訂正後の第3データD(D4~D7)をリクエスト要求元101に出力する。
また、第6データA(D7~D9)は、第6データB(D7~D9)として前回値保持部104に保持される。
なお、第6データB(D7~D9)の図示は省略している。
本実施の形態のメモリ制御装置100は、4バイトの整数倍ずつのリードリクエストにも対処可能である。
例えば、0000h番地から8バイト、0008h番地から8バイトというように、8バイトずつのリードリクエストにも対処可能である。
以下の手段を備えたメモリ制御装置を説明した。
(a)リクエスト要求元からのリクエストを、メモリのリクエストに変換し、データの橋渡しをする手段
(b)データのECCエラー訂正をする手段
(c)垂直ECCを採用したメモリからの受信データを、ECCエラー訂正をすることができるデータ(データと対応するECCに分離したもの)に再配置する手段
(d)リクエスト要求元からのアドレスとレングスを、垂直ECCを採用したメモリのアドレスとレングスに変換する手段
(e)メモリから受信した前回のデータを保持する手段
(f)次のアドレスのペイロードデータを含む最後に受信したリードデータを保持する手段
(g)次のアドレスであることを判定するために、保持しているペイロードデータのアドレスを記憶する手段
(h)次のアドレスであることを判定するために、距離情報を保持する手段
(i)これからメモリに発行するリードコマンドが保持しているペイロードデータを再利用するかどうかを判定する手段
(j)内部バッファのデータとメモリから受信したリードデータのどちらかを選択する手段。
実施の形態1では、例えば、リクエスト要求元101からの0004h番地(図1)から4バイトリードのリードリクエストは、先行する0000h番地(図1)から4バイトのリードが完了後(図4のS207でYES)に行われているため、非パイプライン型の動作が行われている。
パイプライン型の動作では、内部バッファに保持しているデータを利用するタイミングで、別トランザクションのリードデータがメモリから返送され、内部バッファのデータとメモリからのデータとの間で競合が生ずる可能性があり、データの競合が発生した場合にはいずれかのデータが消失してしまう。
本実施の形態では、パイプライン型の動作で内部バッファのデータを再利用する場合に、メモリから受信するリードデータのデータ取得部111への出力タイミングと内部バッファからのデータのデータ取得部111への出力タイミングとが重ならないように、メモリからのリードデータの受信タイミングを遅らせる。
このようにして、本実施の形態のメモリ制御装置100では、パイプライン型のメモリに対応する。
そして、本実施の形態のメモリ制御装置100は、パイプライン型メモリの特徴を活かすことができ、メモリアクセスのスループット向上に寄与することができる。
メモリ105からは、リードコマンドを出力してから、ある一定間隔の後(リードレイテンシ)にリードデータが返送されてくるため、コマンド発行間隔制御部114によりリードコマンドを発行する間隔を制御することで、内部バッファAのデータを利用するための時間を空けることが可能である。
なお、コマンド発行間隔制御部114がリードコマンドの出力を遅延させる遅延時間は、例えば、パイプラインにおける1スロット分の時間である。
本実施の形態では、コマンド発行間隔制御部114も、コマンド出力部の例に相当する。
更に、メモリアドレス変換部106は、内部バッファA109に保持されているデータを入力するようデータ整列部103に指示する内部バッファデータ入力コマンド(キャッシュデータ入力コマンドに相当)と、メモリ105からのデータを入力するようデータ整列部103に指示するメモリデータ入力コマンドをFIFOバッファ110に格納する。
FIFOバッファ110は、リードコマンド、内部バッファデータ入力コマンド及びメモリデータ入力コマンドを記憶する。
つまり、本実施の形態に係るメモリ制御装置100は、リクエスト要求元101から受理したリードリクエストに対応するリードデータをリクエスト要求元101に全て返送し終わる前に、次のリードリクエストをリクエスト要求元101から受理し、メモリ105に対してリードコマンドを発行する。
このために、FIFOバッファ110において、発行したリードコマンドを記憶する。
このため、ヒット判定部113は、読み出し対象アドレスのデータが内部バッファA109にキャッシュ済みであるか否かを判定するだけでなく、「内部バッファAのアドレス」の値と「距離情報A」の値から、読み出し対象アドレスのデータが内部バッファA109にキャッシュされる予定であるか否かも判定する。
コマンド発行間隔制御部114は、メモリアドレス変換部106がリードコマンドを生成した後にリードコマンドを出力する通常のタイミングから、所定の遅延時間が経過した後に、リードコマンドをメモリ105に出力する。
つまり、内部バッファ管理部107は、S202又はS302で生成されたリードコマンドに対してメモリ105から読み出されるデータのうちの最後尾データに後続のペイロードデータが含まれるか否かを判断する。
この処理は、図4のS401と同様の処理である。
実施の形態1と同様に、内部バッファ管理部107は、メモリアドレス変換部106から、リクエスト要求元101からのリードリクエスト及びメモリ105へのリードコマンドを入力しており、また、図1のデータ配置及び図2のデータ配置を認識しているため、S505のように、最後尾データに後続のペイロードデータが含まれるか否かを判断することができる。
但し、この時点では、内部バッファA109のデータは更新しない。
本実施の形態では、パイプライン型のメモリに対応した動作を行うために、内部バッファ情報記憶部112の「内部バッファAのアドレス」及び「距離情報A」の値を、リードデータをメモリ105から入力する前に更新する。
具体的には、メモリアドレス変換部106は、S202において全域リードコマンドを生成した場合には、メモリ105からのデータを入力するようデータ整列部103に指示するメモリデータ入力コマンドを生成する。
そして、メモリアドレス変換部106は、全域リードコマンド及びリードリクエストとメモリデータ入力コマンドをFIFOバッファ110に格納する。
また、メモリアドレス変換部106は、S302において部分リードコマンドを生成した場合には、内部バッファA109に保持されているデータを入力するようデータ整列部103に指示する内部バッファデータ入力コマンドと、メモリデータ入力コマンドを生成する。
そして、メモリアドレス変換部106は、部分リードコマンド及びリードリクエストと内部バッファデータ入力コマンドとメモリデータ入力コマンドをFIFOバッファ110に格納する。
なお、ECC訂正をした要求ペイロードデータの返送が完了する前に、リクエスト要求元101からリードリクエストを受け付けた場合は、連続してFIFOバッファ110にコマンドが格納される。
取り出したコマンドが内部バッファデータ入力コマンドであれば、S504でYESとなり、S303に処理を進める。
取り出したコマンドがメモリデータ入力コマンドであれば、S504でNOとなり、S203に処理を進める。
なお、作図上の理由により、図9には、取り出したコマンドがリードコマンド及びリードリクエストである場合の処理が示されていないが、リードコマンド及びリードリクエストを取り出した場合は、データ整列部103は、取り出したリードコマンド及びリードリクエストを所定の記憶領域に保持するとともに、再度、FIFOバッファ110からコマンドを取り出す。
内部バッファ管理部107は、入力されたリードデータが最後尾のデータであるか否かを判断し(S400)、リードデータが最後尾データである場合は、最後尾データに後続のペイロードデータが含まれているか否かを判断する(S401)。
最後尾データに後続のペイロードデータが含まれている場合は、内部バッファ管理部107は内部バッファA109のデータを更新する(S402)。
更に、ECC訂正部102が、整列されたデータをデータ整列部103から取得し、ECCデータを用いて要求ペイロードデータのECC訂正を行った後に、リクエスト要求元101に、要求ペイロードデータを返送する(S206)。
要求ペイロードデータを全て返送したら処理が完了する(S207)。
ここでは、リクエスト要求元101から、第1のリードリクエストとして、0000h番地(図1)からの4バイトリードのリードリクエストを受理し、第1のリードリクエストに対して要求ペイロードデータを返送する前に、第2のリードリクエストとして、0004h番地(図1)からの4バイトリードのリードリクエストを受理する例を想定して、メモリ制御装置100の動作を説明する。
Memory CLKは、リクエスト要求元101、メモリ制御装置100及びメモリ105の動作クロックを示す。
また、図12のCommand(C1)は、図7のC1に相当し、Command(C2)は、図7のC2に相当し、Command(C3)は、図7のC3に相当する。
また、図12のRead Data(Out)は、ECC訂正部102からリクエスト要求元101への要求ペイロードデータの出力を示している。
また、図12のRead Data(In)は、メモリ105からのリードデータの入力を示している。
また、sRead-0000は、リクエスト要求元101からのリードリクエストを示し、0000h番地(図1)から4バイトリードのリードリクエストを示している。
また、sRead-0004は、リクエスト要求元101からのリードリクエストを示し、0004h番地(図1)から4バイトリードのリードリクエストを示している。
dRead-0000は、メモリ105へのリードコマンドを示し、0000h番地(図2)から4バイトリードのリードコマンドを示している。
dRead-0004は、メモリ105へのリードコマンドを示し、0004h番地(図2)から4バイトリードのリードコマンドを示している。
dRead-0008は、メモリ105へのリードコマンドを示し、0008h番地(図2)から4バイトリードのリードコマンドを示している。
Read Data(out)の以外の欄にあるdata-0000は、メモリ105からリードされた0000h番地(図2)のデータを示している。
Read Data(out)の以外の欄にあるdata-0004は、メモリ105からリードされた0004h番地(図2)のデータを示している。
Read Data(out)の以外の欄にあるdata-0008は、メモリ105からリードされた0008h番地(図2)のデータを示している。
Read Data(out)の欄にあるdata-0000は、リクエスト要求元101に出力する0000h番地(図1)の要求ペイロードデータを示している。
Read Data(out)の欄にあるdata-0004は、リクエスト要求元101に出力する0004h番地(図1)の要求ペイロードデータを示している。
次に、ヒット判定部113が、受理したリードリクエストが内部バッファA109に格納されているデータとヒットするかを判定する(S301)。
なお、この時点では、内部バッファA109にはデータが格納されていないので、S301の判定結果はNoとなる。
この結果、図12の「内部バッファAのアドレス」の欄に示されるように「内部バッファAのアドレス」に「0000h番地」が記述され、「距離情報A」には「4」が記述される。
また、メモリアドレス変換部106は、リードコマンド(図12のdRead-0000とdRead-0004)及びリードリクエスト(図12のsRead-0004)、メモリデータ入力コマンドをFIFOバッファ110に格納する(S501)。
前述のようにS507の処理にて内部バッファ情報記憶部112の「内部バッファAのアドレス」に「0000h番地」が記述され、「距離情報A」には「4」が記述されており、0004h番地(図2)のデータは内部バッファA109にキャッシュされる予定なので、S301の判定はYESとなる。
このため、メモリアドレス変換部106は、0008h番地(図2)からリードを指示するリードコマンド(図12のdRead-0008)を生成する(S302)。
そして、コマンド発行間隔制御部114が、内部バッファA109のデータを利用するための時間(データの衝突を回避するための時間)だけ間隔を空けてリードコマンド(図12のdRead-0008)をメモリ105に出力する。
リクエスト要求元101からのリードリクエスト(図12のsRead-0004)の入力タイミングからは、リードコマンド(図12のdRead-0008)は、図12の符号1201のタイミングでメモリ105に出力することができる。
しかし、本実施の形態では、コマンド発行間隔制御部114は、リードコマンドを出力できるタイミングから、1スロット分、リードコマンドの出力タイミングを遅らせ、符号1202のタイミングでリードコマンド(図12のdRead-0008)をメモリ105に出力している。
この場合は、0008h番地(図2)からのリードデータに後続のペイロードデータが含まれるので、内部バッファ管理部107は、内部バッファ情報記憶部112の「内部バッファAのアドレス」、「距離情報A」の値を更新する(S507)。
この結果、図12の「内部バッファAのアドレス」の欄に示されるように「内部バッファAのアドレス」に「0004h番地」が記述され、「距離情報A」には「4」が記述される。
また、メモリアドレス変換部106は、リードコマンド(図12のdRead-0008)及びリードリクエスト(図12のsRead-0004)、メモリデータ入力コマンド及び内部バッファデータ入力コマンドをFIFOバッファ110に格納する(S501)。
この場合は、内部バッファA109を利用しないため、S504はNOとなり、図12に示すように、データ選択部108が、メモリ105から0000h番地(図2)のデータ(図12のdata-0000)を入力する(S203)。
そして、入力されたデータ(図12のdata-0000)は、最後尾データではないので(S400でNO)、内部バッファA109には格納されない。
また、入力されたデータ(図12のdata-0000)だけではデータの整列ができないので(S305でNO)、メモリ105からの次のデータの入力を待つ。
なお、このとき、0000h番地(図2)のデータ(図12のdata-0000)は前回値保持部104に保持される。
入力されたデータ(図12のdata-0004)は、最後尾データであり(S400でYES)、また、後続のペイロードデータを含むので(S401でYES)、入力されたデータが内部バッファA109に格納される。
また、入力されたデータ(図12のdata-0004)と前回値保持部104のデータ(図12のdata-0000)でデータの整列ができるので(S305でYES)、データ整列部103がデータを整列し、ECC訂正部102がECC訂正を行って、ECC訂正後の要求ペイロードデータ(図12のdata-0000)をリクエスト要求元101に出力する(S205、S206)。
また、0004h番地(図2)のデータ(図12のdata-0004)は前回値保持部104に保持される。
この場合は、内部バッファA109を利用するため、S504はYESとなり、内部バッファA109内のデータ(図12のdata-0004)がデータ整列部103に出力される(S303)。
内部バッファA109からのデータ(図12のdata-0004)と前回値保持部104のデータ(図12のdata-0004)ではデータの整列ができないので(S305でNO)、メモリ105からの次のデータの入力を待つ。
なお、このとき、内部バッファA109からのデータ(図12のdata-0004)は前回値保持部104に保持される。
なお、符号1201のタイミングでコマンド発行間隔制御部114からメモリ105にdRead-0008が出力されていれば、符号1203のタイミングでメモリ105からdata-0008が入力されることになるが、前述のように、符号1202のタイミングでdRead-0008が出力されているので、符号1204のタイミングでメモリ105からdata-0008が入力される。
また、入力されたデータ(図12のdata-0008)と前回値保持部104のデータ(図12のdata-0004)でデータの整列ができるので(S305でYES)、データ整列部103がデータを整列し、ECC訂正部102がECC訂正を行って、ECC訂正後の要求ペイロードデータ(図12のdata-0004)をリクエスト要求元101に出力する(S205、S206)。
また、0008h番地(図2)のデータ(図12のdata-0004)は前回値保持部104に保持される。
この場合には、符号1206のタイミングで、data-0008が前回値保持部104に入力されるが、符号1205に示すように、内部バッファA109内のdata-0004が前回値保持部104に入力されるタイミングと競合してしまう。
このため、data-0008とdata-0004のいずれかが消失してしまう。
これに対して、本実施の形態では、コマンド発行間隔制御部114が符号1202のタイミングでdRead-0008を出力するため、符号1204のタイミングでメモリ105からdata-0008が入力される。
そして、符号1204のタイミングで入力された場合は、data-0008が前回値保持部104に入力されるタイミングは、符号1207のタイミングであり、データの競合は起こらない。
ここでは、リクエスト要求元101から、第1のリードリクエストとして、0000h番地(図1)からの4バイトリードのリードリクエストを受理し、第1のリードリクエストに対して要求ペイロードデータを返送する前に、第2のリードリクエストとして、0014h番地(図1)からの4バイトリードのリードリクエストを受理する例を想定して、メモリ制御装置100の動作を説明する。
なお、図13の「内部バッファBのアドレス」及び「内部バッファB」に示されるように、内部バッファB1090には、以前の0010h番地(図1)についてのリードリクエストにより0018h番地(図2)のデータ(図13のdata-0018)が格納されているものとする。
なお、図13では、data-0018が内部バッファB1090に継続して保持されていることを表すために、data-0018を二重線で表現している。
次に、ヒット判定部113が、受理したリードリクエストが内部バッファA109又は内部バッファB1090に格納されているデータとヒットするかを判定する(S301)。
なお、この時点では、内部バッファA109にはデータが格納されておらず、また、内部バッファB1090のデータはリードリクエストで要求されているアドレスに合致しないので、S301の判定結果はNoとなる。
この結果、図13の「内部バッファAのアドレス」の欄に示されるように「内部バッファAのアドレス」に「0000h番地」が記述され、「距離情報A」には「4」が記述される。
また、メモリアドレス変換部106は、リードデータ(図13のdRead-0000とdRead-0004)と、メモリデータ入力コマンドをFIFOバッファ110に格納する(S501)。
前述のように内部バッファB1090には、0014h番地(図1)に対応する0018h番地(図2)のデータと001Ch番地(図2)のデータのうち、0018h番地(図2)のデータ(図13のdata-0018)がキャッシュされているので、S301の判定はYESとなる。
このため、メモリアドレス変換部106は、001Ch番地(図2)からのリードを指示するリードコマンド(図13のdRead-001C)を生成する(S302)。
そして、コマンド発行間隔制御部114が、内部バッファB1090のデータを利用するための時間(データの衝突を回避するための時間)だけ間隔を空けてリードコマンド(図13のdRead-001C)をメモリ105に出力する。
リクエスト要求元101からのリードリクエスト(図13のsRead-0014)の入力タイミングからは、リードコマンド(図13のdRead-001C)は、図13の符号1301のタイミングでメモリ105に出力される。
しかし、本実施の形態では、コマンド発行間隔制御部114は、リードコマンドを出力できるタイミングから、1スロット分、リードコマンドの出力タイミングを遅らせて、符号1302のタイミングでリードコマンド(図13のdRead-001C)をメモリ105に出力している。
この結果、図13の「内部バッファBのアドレス」の欄に示されるように「内部バッファBのアドレス」に「0014h番地」が記述され、「距離情報B」には「4」が記述される。
また、メモリアドレス変換部106は、リードデータ(図13のdRead-001C)及びリードリクエスト(図13のsRead-0014)と、メモリデータ入力コマンド及び内部バッファデータ入力コマンドをFIFOバッファ110に格納する(S501)。
なお、本例では、内部バッファデータ入力コマンドには、内部バッファB1090のデータを入力する旨が指示されている。
一方、内部バッファA109のデータを利用する場合は、内部バッファデータ入力コマンドには、内部バッファA109のデータを入力する旨が指示されている。
この場合は、内部バッファA109を利用しないため、S504はNOとなり、図13に示すように、データ選択部108が、メモリ105から0000h番地(図2)のデータ(図13のdata-0000)を入力する(S203)。
そして、入力されたデータ(図13のdata-0000)は、最後尾データではないので(S400でNO)、内部バッファA109には格納されない。
また、入力されたデータ(図13のdata-0000)だけではデータの整列ができないので(S305でNO)、メモリ105からの次のデータの入力を待つ。
なお、このとき、0000h番地(図2)のデータ(図13のdata-0000)は前回値保持部104に保持される。
入力されたデータ(図13のdata-0004)は、最後尾データであり(S400でYES)、また、後続のペイロードデータを含むので(S401でYES)、入力されたデータが内部バッファA109に格納される。
また、入力されたデータ(図13のdata-0004)と前回値保持部104のデータ(図13のdata-0000)でデータの整列ができるので(S305でYES)、データ整列部103がデータを整列し、ECC訂正部102がECC訂正を行って、ECC訂正後の要求ペイロードデータ(図13のdata-0000)をリクエスト要求元101に出力する(S205、S206)。
また、0004h番地(図2)のデータ(図13のdata-0004)は前回値保持部104に保持される。
この場合は、内部バッファB1090を利用するため、S504はYESとなり、内部バッファB1090内のデータ(図13のdata-0018)がデータ整列部103に出力される(S303)。
内部バッファB1090からのデータ(図13のdata-0018)と前回値保持部104のデータ(図13のdata-0004)ではデータの整列ができないので(S305でNO)、メモリ105からの次のデータの入力を待つ。
なお、このとき、内部バッファA109からのデータ(図13のdata-0018)は前回値保持部104に保持される。
なお、符号1301のタイミングでコマンド発行間隔制御部114からメモリ105にdRead-001Cが出力されていれば、符号1303のタイミングでメモリ105からdata-001Cが入力されることになるが、前述のように、符号1302のタイミングでdRead-001Cが出力されているので、符号1304のタイミングでメモリ105からdata-001Cが入力される。
また、入力されたデータ(図13のdata-001C)と前回値保持部104のデータ(図13のdata-0018)でデータの整列ができるので(S305でYES)、データ整列部103がデータを整列し、ECC訂正部102がECC訂正を行って、ECC訂正後の要求ペイロードデータ(図13のdata-0014)をリクエスト要求元101に出力する(S205、S206)。
また、001Ch番地(図2)のデータ(図13のdata-001C)は前回値保持部104に保持される。
また、リクエスト要求元101からのリードリクエストで対象となっている図1の形式のアドレスを図2の形式のアドレスに変換した結果、3つ以上のアドレスが読み出し候補アドレスとなった場合に、3つ以上の読み出し候補アドレスのうちの前から2つのアドレスのデータが内部バッファA109又は内部バッファB1090にキャッシュされている場合は、メモリアドレス変換部106は、当該2つアドレス以外のアドレスのデータ、すなわち、3つ目のアドレス以降のデータのリードを指示するリードコマンド(部分リードコマンド)を生成する。
これに対して、メモリアドレス変換部106が、部分リードコマンドを、通常の生成タイミングから1スロット分遅らせて生成することで、メモリ105からのリードデータと内部バッファA109からのデータとの間での衝突を回避するようにしてもよい。
また、3つ以上の内部バッファを用いる場合も、本実施の形態で説明した手順にて処理することができる。
パイプライン型メモリに対応するためのメモリ制御装置であって、
(a)メモリに発行したリクエストを記憶する手段
(b)コマンド発行間隔を制御し、次にメモリに発行するコマンドの発行を遅延させる手段を有するメモリ制御装置を説明した。
実施の形態2では、内部バッファA109のデータを利用する場合、無条件にメモリ105へのリードコマンドの発行間隔を空けていたが、リクエスト要求元101からのリードリクエストを受理した時点で、内部バッファA109を利用する以上の時間が空いている場合、すなわち、データの競合が起きない場合には、リードコマンドの発行間隔を空ける必要がない。
本実施の形態では、内部バッファA109の利用のための時間が空いていないことを検出し、その場合のみコマンド発行間隔を空けるように制御することで、無駄なくリードコマンドを発行する方式を説明する。
発行間隔判定部115は、現在、メモリ105に発行しようとしている部分リードコマンドと、その部分リードコマンドの直前に発行したリードコマンド(全域リードコマンド、部分リードコマンドのいずれか)との発行間隔が一定以上空いているかどうかを判定する。
具体的には、発行間隔判定部115は、最後にリードコマンド(全域リードコマンド、部分リードコマンドのいずれか)を出力してからの経過時間が、実施の形態2で説明した発行間隔(遅延時間)を超えているかどうかを判定する。
コマンド発行間隔制御部114は、最後にリードコマンドを出力してからの経過時間が、実施の形態2で説明した発行間隔(遅延時間)を超えている場合には、間隔を空けることなく、部分リードコマンドをメモリ105に出力する。
なお、発行間隔判定部115は、最後にリードコマンドを出力した時刻を、直前リードの発行時刻として保持しており、この直前リードの発行時刻と現在時刻との差が、実施の形態2で説明した発行間隔(遅延時間)を超えているかどうかを判定する。
本実施の形態では、発行間隔判定部115も、コマンド出力部の例に相当する。
なお、以下では、主に実施の形態2との相違点を説明する。
また、以下では、リクエスト要求元101から、第1のリードリクエストとして、0000h番地(図1)からの4バイトリードのリードリクエストを受理し、第1のリードリクエストに対して要求ペイロードデータを返送する前に、第2のリードリクエストとして、0004h番地(図1)からの4バイトリードのリードリクエストを受理する例を想定して、メモリ制御装置100の動作を説明する。
コマンド発行間隔制御部114は、リードコマンドの出力の際に、リードコマンドの出力を発行間隔判定部115に通知し、発行間隔判定部115では、コマンド発行間隔制御部114からリードコマンドの出力が通知された時刻で直前リードの発行時刻を更新する(S602)。
以降は、実施の形態2と同様の処理が行われる。
ここでは、内部バッファA109のデータを利用できるので、ヒット判定となり、S301はYESであり、メモリアドレス変換部106は、実施の形態2と同様に、部分リードコマンド(図14のdRead-0008)を生成する(S302)。
次に、発行間隔判定部115は、最後のリードコマンド(図14のdRead-0004)の出力からの経過時間が遅延時間(図14の例では、1スロット分の時間)を超えているか否かを判断する(S601)。
図14の例では、最後のリードコマンドの出力からの経過時間が遅延時間を超えているため(S601でYES)、コマンド発行間隔制御部114は、発行間隔を空けずに(遅延時間の経過を待たずに)リードコマンド(図14のdRead-0008)をメモリ105に出力する。
実施の形態2では、図14の符号1402のタイミングでリードコマンド(dRead-0008)がメモリ105に出力されるが、本実施の形態では、リードコマンド(dRead-0008)は、符号1401のタイミングでメモリ105に出力される。
この結果、メモリ105からは、符号1403のタイミングで、リードデータ(data-0008)が入力される。
一方、実施の形態2の場合は、符号1404のタイミングで、リードデータ(data-0008)が入力される。
以降の処理は、実施の形態2と同じであるため、説明を省略する。
これに対して、最後のリードコマンドの出力からの経過時間が遅延時間を超えていない場合に、コマンド発行間隔制御部114は、最後のリードコマンドの出力からの経過時間と遅延時間との差分の時間を算出し、リードコマンドの出力が可能なタイミングから差分の時間が経過した後にリードコマンドをメモリ105に出力するようにしてもよい。
内部バッファのデータを再利用する時間が十分ある場合には、コマンド発行を遅らせないメモリ制御装置であって、
(a)直前に発行したリードコマンドとの発行間隔が、内部バッファのデータを再利用する時間よりも経っているかどうか判定する手段
(b)直前に発行したリードコマンドのタイミングを保持する手段を有するメモリ制御装置を説明した。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
Claims (15)
- 各々に所定のデータ幅分のデータが格納される複数のアドレスを有し、前記データ幅分のペイロードデータに対して誤り訂正データが設定され、対応関係にある前記データ幅分のペイロードデータと誤り訂正データとが隣接する2つのアドレスにわたって格納され、アドレス単位でデータの読み出しが行われるメモリ、からのペイロードデータの読み出しを要求するリードリクエストをパイプライン方式にて処理するメモリ制御装置であって、
前記メモリから読み出されたデータをキャッシュするキャッシュ領域と、
前記データ幅の整数倍分のペイロードデータの読み出しを要求するリードリクエストを入力するリードリクエスト入力部と、
前記リードリクエスト入力部により入力されたリードリクエストで要求されているペイロードデータである要求ペイロードデータと前記要求ペイロードデータの誤り訂正に用いられる誤り訂正データである対応誤り訂正データとが格納されている2つ以上のアドレスである読み出し候補アドレスのうちのいずれかのアドレスのデータが、前記キャッシュ領域にキャッシュ済み又はキャッシュされる予定であるかを判定するキャッシュ判定部と、
2つ以上の読み出し候補アドレスのうちのいずれかのアドレスのデータが前記キャッシュ領域にキャッシュ済み又はキャッシュされる予定であると前記キャッシュ判定部により判定された場合に、2つ以上の読み出し候補アドレスのうち前記キャッシュ領域にデータがキャッシュ済み又はキャッシュされる予定のアドレスであるキャッシュアドレス以外のアドレスからのデータの読み出しを指示する部分リードコマンドを、前記メモリへの前記部分リードコマンドの出力が可能なタイミングから所定の遅延時間が経過した後に、前記メモリに出力するコマンド出力部とを有することを特徴とするメモリ制御装置。 - 前記コマンド出力部は、
2つ以上の読み出し候補アドレスのうちの最前のアドレスのデータと前記最前のアドレスに後続する0個以上のアドレスのデータが前記キャッシュ領域にキャッシュ済み又はキャッシュされる予定であると前記キャッシュ判定部により判定された場合に、
前記最前のアドレスを含むキャッシュアドレス以外のアドレスのデータの読み出しを指示する部分リードコマンドを、前記メモリに出力することを特徴とする請求項1に記載のメモリ制御装置。 - 前記メモリ制御装置は、更に、
コマンドを蓄積するFIFO(First In First Out)バッファと、
前記FIFOバッファからコマンドを入力し、入力したコマンドに従って、前記要求ペイロードデータと前記対応誤り訂正データとを取得するデータ取得部とを有し、
前記コマンド出力部は、
前記部分リードコマンドを前記メモリに出力するとともに、
前記キャッシュ領域から前記キャッシュアドレスのデータを入力するよう前記データ取得部に指示するキャッシュデータ入力コマンドと、前記メモリから前記キャッシュアドレス以外のアドレスのデータを入力するよう前記データ取得部に指示するメモリデータ入力コマンドとを前記FIFOバッファに格納し、
前記データ取得部は、
前記FIFOバッファから前記キャッシュデータ入力コマンドと前記メモリデータ入力コマンドとを入力し、前記キャッシュデータ入力コマンドに従って、前記キャッシュ領域から前記キャッシュアドレスのデータを入力し、前記メモリデータ入力コマンドに従って、前記部分リードコマンドに応じて読み出された前記キャッシュアドレス以外のアドレスのデータを前記メモリから入力し、
前記キャッシュ領域から入力した前記キャッシュアドレスのデータと、前記メモリから入力した前記キャッシュアドレス以外のアドレスのデータとから、前記要求ペイロードデータと前記対応誤り訂正データとを取得することを特徴とする請求項2に記載のメモリ制御装置。 - 前記コマンド出力部は、
前記遅延時間が経過した後に部分リードコマンドを前記メモリに出力することで、前記データ取得部における前記キャッシュ領域からの前記キャッシュアドレスのデータの入力と前記メモリからの前記キャッシュアドレス以外のアドレスのデータの入力との間で衝突を発生させないことを特徴とする請求項3に記載のメモリ制御装置。 - 前記コマンド出力部は、
2つ以上の読み出し候補アドレスのうちのいずれのアドレスのデータも前記キャッシュ領域にキャッシュ済みでなく、キャッシュされる予定でもないと前記キャッシュ判定部により判定された場合に、
2つ以上の読み出し候補アドレスの全域からのデータの読み出しを指示する全域リードコマンドを、前記遅延時間の経過を待つことなく前記メモリに出力することを特徴とする請求項1~4のいずれかに記載のメモリ制御装置。 - 前記コマンド出力部は、
部分リードコマンドを前記メモリに出力する場合に、全域リードコマンド及び部分リードコマンドのいずれかを最後に前記メモリに出力してからの経過時間が前記遅延時間を超えているか否かを判断し、
全域リードコマンド及び部分リードコマンドのいずれかを最後に前記メモリに出力してからの経過時間が前記遅延時間を超えている場合に、前記遅延時間の経過を待つことなく部分リードコマンドを前記メモリに出力することを特徴とする請求項5に記載のメモリ制御装置。 - 全域リードコマンド及び部分リードコマンドのいずれかを最後に前記メモリに出力してからの経過時間が前記遅延時間を超えていない場合に、
全域リードコマンド及び部分リードコマンドのいずれかを最後に前記メモリに出力してからの経過時間と前記遅延時間との差分時間を算出し、
前記メモリへの前記部分リードコマンドの出力が可能なタイミングから前記差分時間が経過した後に、部分リードコマンドを前記メモリに出力することを特徴とする請求項6に記載のメモリ制御装置。 - 前記メモリ制御装置は、更に、
前記コマンド出力部により出力された全域リードコマンド及び部分リードコマンドのいずれかに応じて前記メモリから読み出された最後尾のデータである最後尾データに、前記要求ペイロードデータ及び前記対応誤り訂正データのいずれでもないデータが含まれている場合に、前記最後尾データを前記キャッシュ領域に格納するキャッシュ管理部を有することを特徴とする請求項5~7のいずれかに記載のメモリ制御装置。 - 前記コマンド出力部は、
少なくともパイプライン処理におけるスロット1つ分の時間に相当する時間を前記遅延時間とすることを特徴とする請求項1~8のいずれかに記載のメモリ制御装置。 - 前記メモリ制御装置は、
複数のキャッシュ領域を有し、
前記キャッシュ判定部は、
2つ以上の読み出し候補アドレスのうちのいずれかのアドレスのデータが前記複数のキャッシュ領域のいずれかのキャッシュ領域にキャッシュ済み又はキャッシュされる予定であるかを判定することを特徴とする請求項1~9のいずれかに記載のメモリ制御装置。 - 各々に所定のデータ幅分のデータが格納される複数のアドレスを有し、前記データ幅分のペイロードデータに対して誤り訂正データが設定され、対応関係にある前記データ幅分のペイロードデータと誤り訂正データとが隣接する2つのアドレスにわたって格納され、アドレス単位でデータの読み出しが行われるメモリ、からのペイロードデータの読み出しを要求するリードリクエストを処理するメモリ制御装置であって、
前記メモリから読み出されたデータをキャッシュするキャッシュ領域と、
前記データ幅の整数倍分のペイロードデータの読み出しを要求するリードリクエストを入力するリードリクエスト入力部と、
前記リードリクエスト入力部により入力されたリードリクエストで要求されているペイロードデータである要求ペイロードデータと前記要求ペイロードデータの誤り訂正に用いられる誤り訂正データである対応誤り訂正データとが格納されている2つ以上のアドレスである読み出し候補アドレスのうちのいずれかのアドレスのデータが、前記キャッシュ領域にキャッシュ済みであるかを判定するキャッシュ判定部と、
2つ以上の読み出し候補アドレスのうちのいずれかのアドレスのデータが前記キャッシュ領域にキャッシュ済みであると前記キャッシュ判定部により判定された場合に、2つ以上の読み出し候補アドレスのうち前記キャッシュ領域にデータがキャッシュ済みのアドレスであるキャッシュアドレス以外のアドレスからのデータの読み出しを指示する部分リードコマンドを、前記メモリに出力するコマンド出力部とを有することを特徴とするメモリ制御装置。 - 前記コマンド出力部は、
2つ以上の読み出し候補アドレスのうちのいずれのアドレスのデータも前記キャッシュ領域にキャッシュ済みでないと前記キャッシュ判定部により判定された場合に、
2つ以上の読み出し候補アドレスの全域からのデータの読み出しを指示する全域リードコマンドを、前記メモリに出力することを特徴とする請求項11に記載のメモリ制御装置。 - 前記メモリ制御装置は、更に、
前記コマンド出力部により出力された全域リードコマンド及び部分リードコマンドのいずれかに応じて前記メモリから読み出された最後尾のデータである最後尾データに、前記要求ペイロードデータ及び前記対応誤り訂正データのいずれでもないデータが含まれている場合に、前記最後尾データを前記キャッシュ領域に格納するキャッシュ管理部を有することを特徴とする請求項11又は12に記載のメモリ制御装置。 - 前記メモリ制御装置は、
複数のキャッシュ領域を有し、
前記キャッシュ判定部は、
2つ以上の読み出し候補アドレスのうちのいずれかのアドレスのデータが前記複数のキャッシュ領域のいずれかのキャッシュ領域にキャッシュ済みであるかを判定することを特徴とする請求項11~13のいずれかに記載のメモリ制御装置。 - 前記コマンド出力部は、
2つ以上の読み出し候補アドレスのうちの最前のアドレスのデータと前記最前のアドレスに後続する0個以上のアドレスのデータが前記キャッシュ領域にキャッシュ済みであると前記キャッシュ判定部により判定された場合に、
前記最前のアドレスを含むキャッシュアドレス以外のアドレスのデータの読み出しを指示する部分リードコマンドを、前記メモリに出力し、
前記メモリ制御装置は、更に、
前記キャッシュ領域から前記キャッシュアドレスのデータを入力し、前記部分リードコマンドに応じて読み出された前記キャッシュアドレス以外のアドレスのデータを前記メモリから入力し、
前記キャッシュ領域から入力した前記キャッシュアドレスのデータと、前記メモリから入力した前記キャッシュアドレス以外のアドレスのデータとから、前記要求ペイロードデータと前記対応誤り訂正データとを取得するデータ取得部を有することを特徴とする請求項11~14のいずれかに記載のメモリ制御装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE112012007102.6T DE112012007102B4 (de) | 2012-11-05 | 2012-11-05 | Speichersteuervorrichtung |
JP2014544200A JP5797342B2 (ja) | 2012-11-05 | 2012-11-05 | メモリ制御装置 |
PCT/JP2012/078628 WO2014068789A1 (ja) | 2012-11-05 | 2012-11-05 | メモリ制御装置 |
US14/423,841 US9715427B2 (en) | 2012-11-05 | 2012-11-05 | Memory control apparatus |
CN201280076878.2A CN104769558B (zh) | 2012-11-05 | 2012-11-05 | 存储器控制装置 |
TW102101434A TWI475383B (zh) | 2012-11-05 | 2013-01-15 | Memory control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/078628 WO2014068789A1 (ja) | 2012-11-05 | 2012-11-05 | メモリ制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014068789A1 true WO2014068789A1 (ja) | 2014-05-08 |
Family
ID=50626752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/078628 WO2014068789A1 (ja) | 2012-11-05 | 2012-11-05 | メモリ制御装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9715427B2 (ja) |
JP (1) | JP5797342B2 (ja) |
CN (1) | CN104769558B (ja) |
DE (1) | DE112012007102B4 (ja) |
TW (1) | TWI475383B (ja) |
WO (1) | WO2014068789A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326142A (zh) * | 2015-06-17 | 2017-01-11 | 群联电子股份有限公司 | 缓冲存储器存取方法、存储器控制器与存储器存储装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017131648A1 (en) * | 2016-01-27 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Adaptive request management |
US10713750B2 (en) * | 2017-04-01 | 2020-07-14 | Intel Corporation | Cache replacement mechanism |
CN111881068A (zh) * | 2020-06-30 | 2020-11-03 | 北京思朗科技有限责任公司 | 多入口的全相联的高速缓冲存储器及数据管理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03132852A (ja) * | 1989-10-19 | 1991-06-06 | Pfu Ltd | バス非同期制御方式 |
JPH1040165A (ja) * | 1996-07-22 | 1998-02-13 | Oki Data:Kk | データ読み出し方法およびリードバッファ |
JP2003044354A (ja) * | 2001-07-26 | 2003-02-14 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JP2010191511A (ja) * | 2009-02-16 | 2010-09-02 | Toshiba Corp | マイクロプロセッサ |
JP2012137944A (ja) * | 2010-12-27 | 2012-07-19 | Mitsubishi Electric Corp | メモリアクセス装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0588987A (ja) | 1991-09-25 | 1993-04-09 | Hitachi Ltd | バツフア記憶装置 |
JPH05233471A (ja) | 1992-02-21 | 1993-09-10 | Toshiba Corp | マイクロプロセッサ及びそれを使用したデータ処理装置 |
JPH0773114A (ja) | 1993-09-01 | 1995-03-17 | Nec Corp | 宇宙用デジタル計算機のメモリ制御回路 |
JPH07146825A (ja) | 1993-11-22 | 1995-06-06 | Okuma Mach Works Ltd | メモリシステム |
JPH1198462A (ja) | 1997-09-19 | 1999-04-09 | Hitachi Ltd | データ再生装置 |
US6748486B2 (en) * | 2001-01-04 | 2004-06-08 | International Business Machines Corporation | Method, system, and data structures for superimposing data records in a first data format to memory in a second data format |
JP2004038705A (ja) | 2002-07-05 | 2004-02-05 | Toshiba Corp | メモリ制御装置およびメモリアクセス方法 |
JP2006185162A (ja) * | 2004-12-27 | 2006-07-13 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置及びその制御方法 |
US8214600B2 (en) | 2005-02-10 | 2012-07-03 | International Business Machines Corporation | Data processing system and method for efficient coherency communication utilizing coherency domains |
US20080034132A1 (en) | 2006-08-01 | 2008-02-07 | Nec Electronics Corporation | Memory interface for controlling burst memory access, and method for controlling the same |
JP2008059565A (ja) | 2006-08-01 | 2008-03-13 | Nec Electronics Corp | バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法 |
JP2008217857A (ja) * | 2007-02-28 | 2008-09-18 | Toshiba Corp | メモリコントローラ及び半導体装置 |
EP2159704B1 (en) | 2007-06-20 | 2013-06-26 | Fujitsu Limited | Cache memory control device and pipeline control method |
KR101459200B1 (ko) | 2010-02-09 | 2014-11-07 | 미쓰비시덴키 가부시키가이샤 | 전송 제어장치, 메모리 제어장치, 및 상기 전송 제어장치를 구비한 plc |
TWI467579B (zh) * | 2011-01-14 | 2015-01-01 | Mstar Semiconductor Inc | 電子裝置及其記憶體控制方法以及相關電腦可讀取儲存媒體 |
US9465691B2 (en) | 2012-06-28 | 2016-10-11 | Mitsubishi Electric Corporation | Read request processing apparatus |
-
2012
- 2012-11-05 WO PCT/JP2012/078628 patent/WO2014068789A1/ja active Application Filing
- 2012-11-05 JP JP2014544200A patent/JP5797342B2/ja active Active
- 2012-11-05 DE DE112012007102.6T patent/DE112012007102B4/de active Active
- 2012-11-05 CN CN201280076878.2A patent/CN104769558B/zh not_active Expired - Fee Related
- 2012-11-05 US US14/423,841 patent/US9715427B2/en active Active
-
2013
- 2013-01-15 TW TW102101434A patent/TWI475383B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03132852A (ja) * | 1989-10-19 | 1991-06-06 | Pfu Ltd | バス非同期制御方式 |
JPH1040165A (ja) * | 1996-07-22 | 1998-02-13 | Oki Data:Kk | データ読み出し方法およびリードバッファ |
JP2003044354A (ja) * | 2001-07-26 | 2003-02-14 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JP2010191511A (ja) * | 2009-02-16 | 2010-09-02 | Toshiba Corp | マイクロプロセッサ |
JP2012137944A (ja) * | 2010-12-27 | 2012-07-19 | Mitsubishi Electric Corp | メモリアクセス装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326142A (zh) * | 2015-06-17 | 2017-01-11 | 群联电子股份有限公司 | 缓冲存储器存取方法、存储器控制器与存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
US20150186208A1 (en) | 2015-07-02 |
JP5797342B2 (ja) | 2015-10-21 |
JPWO2014068789A1 (ja) | 2016-09-08 |
CN104769558B (zh) | 2017-07-21 |
TWI475383B (zh) | 2015-03-01 |
US9715427B2 (en) | 2017-07-25 |
DE112012007102B4 (de) | 2022-04-28 |
DE112012007102T5 (de) | 2015-07-16 |
CN104769558A (zh) | 2015-07-08 |
TW201418980A (zh) | 2014-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11379123B2 (en) | Address/command chip synchronized autonomous data chip address sequencer for a distributed buffer memory system | |
JP5797342B2 (ja) | メモリ制御装置 | |
JP5076488B2 (ja) | 情報処理装置、履歴管理方法、履歴管理プログラム | |
US9753872B2 (en) | Information processing apparatus, input and output control device, and method of controlling information processing apparatus | |
JP2012089010A (ja) | メモリ制御装置、記憶装置、及びメモリ制御方法 | |
JP2007034392A (ja) | 情報処理装置及びデータ処理方法 | |
KR20140108787A (ko) | 텍스쳐 맵핑 파이프라인을 위한 논블로킹 방식의 텍스쳐 캐쉬 메모리 시스템 및 논블로킹 방식의 텍스쳐 캐쉬 메모리의 동작 방법 | |
JP5623677B2 (ja) | リードリクエスト処理装置 | |
US8806102B2 (en) | Cache system | |
JPS5829187A (ja) | キヤツシユメモリ制御装置 | |
KR20190112020A (ko) | 데이터 처리 | |
US11841812B2 (en) | Data bus bridge | |
US11487695B1 (en) | Scalable peer to peer data routing for servers | |
WO2016170673A1 (ja) | 計算機システム、及び、メモリモジュール | |
JP2009015783A (ja) | インタフェースコントローラ | |
JP6625735B2 (ja) | 計算機システム及び不揮発性メモリの冗長化方法 | |
JP2012137944A (ja) | メモリアクセス装置 | |
JP5852090B2 (ja) | 命令処理装置およびその命令処理方法 | |
WO2014128967A1 (ja) | 記憶制御装置、及びデータの書き込み完了を検知する方法 | |
JP2019200592A (ja) | メモリ制御回路、出力回路、メモリ制御回路の制御方法および出力回路の制御方法 | |
WO2011033862A1 (ja) | 情報処理装置およびデータ転送方法 | |
KR19990030723A (ko) | 로컬버스의 트랜잭션 지연 제어방법 및 장치 | |
JP2004318252A (ja) | システムlsiにおけるデータ転送制御回路 | |
JP2006146966A (ja) | 記憶制御装置 | |
JP2006268708A (ja) | 冗長接続構成を持つコンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12887469 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014544200 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14423841 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1120120071026 Country of ref document: DE Ref document number: 112012007102 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12887469 Country of ref document: EP Kind code of ref document: A1 |