JP5330409B2 - メモリ制御装置、データプロセッサ及びデータ読み出し方法 - Google Patents

メモリ制御装置、データプロセッサ及びデータ読み出し方法 Download PDF

Info

Publication number
JP5330409B2
JP5330409B2 JP2010540367A JP2010540367A JP5330409B2 JP 5330409 B2 JP5330409 B2 JP 5330409B2 JP 2010540367 A JP2010540367 A JP 2010540367A JP 2010540367 A JP2010540367 A JP 2010540367A JP 5330409 B2 JP5330409 B2 JP 5330409B2
Authority
JP
Japan
Prior art keywords
read
data
memory
address
read request
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
JP2010540367A
Other languages
English (en)
Other versions
JPWO2010061588A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010540367A priority Critical patent/JP5330409B2/ja
Publication of JPWO2010061588A1 publication Critical patent/JPWO2010061588A1/ja
Application granted granted Critical
Publication of JP5330409B2 publication Critical patent/JP5330409B2/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
    • 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/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

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

Description

本発明は、メモリからのデータの読み出しの高速化に関する。
メモリからのデータの読み出しに当たり、当該データの読み出しに要する時間が短ければ短いほど良い事は言うまでもない。特に、メモリにプログラムが格納されている場合に当該プログラムを速く読み出すことで、より速く実行に移ることができる。殊に携帯電話機などにおいては、メモリには、読み出せばそのまま直接実行できる実行形式のプログラムやコマンドが格納されているため、メモリからの読み出しの高速性がより有用になってくる。なお、メモリに実行形式のプログラムが記憶され、それを読み出してRAMなどに展開することなく即実行する形式をXIP(eXecute In Place)という。
メモリからのデータの読み出しの高速化に当たっては、バースト転送を行ってデータ転送の効率を高めるということが行なわれている。バースト転送においては、例えばCPUからの読み出し要求に応じて、メモリインターフェース回路がメモリにアクセスし、当該読み出し要求で指定されたアドレスから、複数のアドレスに跨る予め定められた量のデータを一括して取得し、取得したデータをCPUに転送するということが行なわれる。
従来においては、メモリからの読み出しに当たっては、メモリインターフェース回路が、通常の読み出し方法と、バースト転送を行なうバーストモードとの制御を行って、メモリアクセスの平均時間の短縮が図られてきた。
特許文献1には、バスマスタのアドレッシングモードとメモリのアドレッシングモードとの違いに基づき、バーストアクセスを制御する技術が開示されている。
特開2008−59565号公報
ところで、一般的に、バーストモードで動作するメモリに読み出し対象の開始アドレスを出力すると、すぐには対応するデータが読み出されず、一定の時間(以下、本明細書においては、チャージ時間と記載する)が経過してからデータの読み出しが開始される。上記特許文献1においても、当該チャージ時間は発生している。
このチャージ時間はメモリデバイスに依存する固定の時間である。というのも、メモリの読み出し開始時にメモリを構成する記憶素子への電圧制御が行なわれるが、当該電圧制御にかかる時間が記憶素子に応じて一定であるためである。例えば、NOR型フラッシュメモリでは、記憶素子であるトランジスタの電圧制御を行い、トランジスタの導通状態を変化させることでデータの読み出しを可能にするが、この導通状態を変化させるために要する時間が100nsecとなる。当該時間は現状では、これ以上短縮することができないと言われている。
その一方で、CPUやメモリインターフェースの動作クロック自体は、より一層、高速化しており、これによって、メモリから読み出したデータのRAMなどへの書き込みなどが高速化して一定期間内におけるアクセス時間の短縮が行なわれているが、これに伴い、一定期間内のアクセス時間に占めるチャージ時間の割合もまた増加しており、当該チャージ時間を低減することが望まれている。
そこで、本発明においては、一定期間内のアクセス時間に占めるチャージ時間の平均的割合を短縮しうるメモリ制御装置を提供することを目的とする。
上記課題を解決するため、本発明は、バースト転送機能を有するメモリから、バスマスタからの読み出し要求に対応するデータを読み出すメモリ制御装置であって、前記バスマスタから発行された第1読み出し要求に基づいて読み出し命令を前記メモリに発行し、当該読み出し命令で指定される前記メモリのアドレスを読み出し開始アドレスとして所定単位のデータ量だけ前記メモリから読み出す読み出し手段と、前記バスマスタからの前記第1読み出し要求に対応するデータを前記メモリから読み出した後に、当該データが格納されているアドレスに後続するアドレス以降のデータを順次読み出して蓄積する蓄積手段と、前記読み出し手段が読み出したデータを前記バスマスタに転送する転送手段と、前記バスマスタから新たな第2読み出し要求を受け付けた場合に、当該第2読み出し要求により指定されるアドレスと、前記第1読み出し要求で指定されるアドレスとの差分が所定の範囲内にあるか否かを判定する判定手段とを備え、前記転送手段は、前記判定手段が前記所定の範囲内にあると判定した場合に、前記蓄積手段が読み出した、前記第2読み出し要求により指定されるアドレスを読み出し開始アドレスとする所定単位のデータを前記バスマスタに転送することを特徴とするメモリ制御装置。
上述のような構成によって、本発明に係るメモリ制御装置は、一度のバースト転送の後も、バスマスタからの読み出し要求の有無に拘らず、メモリからの読み出しを継続して、データを蓄積する。そして、バスマスタから新たな読み出し要求が到来した場合であって、当該新たな読み出し要求で指定されているアドレスが前回の読み出し要求で指定されたアドレスから所定範囲内のアドレスである場合に、その読み出し要求で指定されるアドレスのデータを蓄積手段が読み出して転送することができる。この場合には新たな読み出し要求に対するチャージ時間は発生しないことになるので、一定期間内のアクセス時間において発生しうるチャージ時間の割合を低減することができる。
また、前記転送手段は、前記判定手段が前記所定の範囲内にあると判定した場合であって、前記蓄積手段がまだ前記第2読み出し要求により指定されるアドレスを読み出し開始アドレスとするデータを読み出していないときに、前記蓄積手段による当該データの読み出しを待って、読み出されたデータを前記バスマスタに転送することとしてもよい。
これにより、新たな読み出し要求を受け付けたタイミングにおいて、まだ、メモリ制御装置がメモリから新たな読み出し要求で指定されるデータを読み出していなくとも、蓄積手段がデータを読み出すのを待ってデータを転送することができる。新たな読み出し要求の指定するアドレスが前回のアドレスから所定範囲内に収まっている場合に、新たな読み出し要求を受け付けたタイミングにおいて、まだ蓄積手段が新たな読み出し要求で指定されるデータを読み出していなくとも、新たにメモリに対するアクセスの設定を実行してチャージ時間が発生してデータ転送を開始するよりも、蓄積手段がデータの読み出しを継続した方がデータの転送をより速く開始できる。
また、前記メモリ制御装置は、更に、前記判定手段が所定範囲内にないと判定した場合に、前記蓄積手段によるデータの読み出しを中止させる中止手段を備えることとしてもよい。
あるいは、前記メモリ制御装置は、更に、前記第1読み出し要求を受けてから、前記バスマスタから新たな読み出し要求を受け付けることなく所定の時間が経過した場合に、前記蓄積手段によるデータの読み出しを中止させる中止手段を備えることとしてもよい。
更には、前記メモリ制御装置は、更に、前記転送手段が前記第1読み出し要求に対応するデータを前記バスマスタに転送し終えてから、前記バスマスタから新たな読み出し要求を受け付けることなく所定の時間が経過した場合に、前記蓄積手段によるデータの読み出しを中止させる中止手段を備えることとしてもよい。
これらの構成にあるように、メモリ制御装置は、中止手段を備えているので、無駄に延々とデータの読み出しを継続せずともよく、データの読み出しを継続し続けることによって消費される電力を低減することができる。
実施の形態に係るメモリインターフェースを備えたコンピュータシステムの構成を示したシステム図である。 メモリインターフェースの機能構成を示した機能ブロック図である。 実施の形態におけるバーストストップ設定部への設定方法の概要を示す図である。 メモリインターフェースのバーストアクセスリードにおける動作を示したフローチャートである。 メモリインターフェースが制御するバーストリードアクセスのタイミングの一例を示す図である。 時間経過により読み出しの継続を中止する場合のバーストアクセスリードのタイミングの一例を示す図である。 要求されたアドレスのデータが、まもなく読み出される場合のバーストアクセスリードのタイミングの一例を示す図である。 従来におけるバーストリードアクセスのタイミングの一例を示す図である。 バーストストップ設定部への他の設定方法の概要を示す図である。 メモリ制御装置の実装形態を示す図である。
<実施の形態>
以下、本発明に係るメモリ制御装置の一実施形態であるメモリインターフェース及び当該メモリインターフェースを含むシステムについて図面を用いて説明する。
<構成>
図1は本発明に係るメモリインターフェース100が含まれるコンピュータシステムのシステム構成を示す図である。
図1に示すようにコンピュータシステム10は、メモリインターフェース100と、CPU111と、DMAC(Direct Memory Access Controler)112と、内部バス130とを含んで構成される。図1にあるように、CPU111と、DMAC112と、メモリインターフェース100とは相互に内部バス130により接続されている。また、メモリインターフェース100とメモリ20とは外部バスにより接続されており、メモリ20はメモリインターフェース100に対して着脱自在に構成される。
CPU111は、バスマスタであり、内部バス130及びメモリインターフェース100を介して、メモリ20からデータを読み出す機能を有する。
CPU111は、メモリ20からデータを読み出したい場合に、リードリクエスト信号と、アドレス信号とを、内部バス130を介してメモリインターフェース100に発行する。そして、アドレス信号に対応するデータを内部バス130を介してメモリインターフェース100から受け取る機能を有する。
バースト転送を実行するバーストアクセスモードの場合、CPU111は、アドレス信号で指定したアドレスを読み出し開始アドレスとして、所定量のデータをインターフェース100から受け取ることになり、これに連続するデータを読み出したい場合には、CPU111は、アドレス信号で指定するアドレスを、前回指定したアドレスに所定のアドレス値だけ加算したものにする。ここで所定のアドレス値は、バースト転送における転送量によって決定されるものである。例えば、バースト転送によって32ビット(4ワード)のデータを4バーストで読み出している場合は、所定のアドレス値は、16(4ワード×4バースト)となる。
DMAC112は、バスマスタであり、CPU111と同様に、内部バス130及びメモリインターフェース100を介して、メモリ20からデータを読み出す機能を有する。
メモリインターフェース100は、メモリ20からのデータの読み出しを制御するメモリ制御装置であり、CPU111やDMAC112からのデータの読み出し要求を内部バス130を介して受け取り、メモリ20から外部バス140を介してデータを読み出してCPU111やDMAC112に転送する機能を有する。
図2は、メモリインターフェース100の詳細な機能構成を示した機能ブロック図である。
図2に示すようにメモリインターフェース100は、転送要求解析回路101と、ステートカウンタ102と、データバッファ制御部103と、バーストップ制御部104とを含んで構成される。
転送要求解析回路101は、バスマスタたるCPU111あるいはDMAC112からのリードアドレスと転送サイズとを含む読み出し要求を受け取り、当該読み出し要求で指定されるリードアドレスをメモリアドレスに変換し、変換したメモリアドレスと読み出し要求に含まれる転送サイズとを、ステートカウンタ102及びバーストストップ制御部104に供給する機能を有する。ここで、読み出し要求に含まれるリードアドレスは、バースト転送における読み出しの開始アドレスのことである。
バーストストップ制御部104は、バーストストップ設定部105を含み、バーストストップ設定部105が保持している情報に基づいて生成したバーストストップ要求をステートカウンタ102に伝達する機能を有する。バーストストップ制御部104は、読み出し要求の連続性が途切れたと判定した場合に、バーストストップ要求を生成する。読み出し要求の連続性が途切れた場合というのは、
(1)1つの読み出し要求がバスマスタから発行され、当該読み出し要求に基づくメモリ20からバスマスタへのデータ転送がなされた後に、その次に来た読み出し要求で指定されるリードアドレスと、前回の読み出し要求で指定されるリードアドレスとのアドレス値の差分が所定範囲内に収まっていない場合と、
(2)1つの読み出し要求がバスマスタから発行され、当該読み出し要求に基づくメモリ20からバスマスタへのデータ転送がなされた後、所定時間内に新たな読み出し要求を受け取らなかった場合
のことをいう。
バーストストップ設定部105はバーストストップ制御部104が上述の条件を判定するための各種の情報を保持するものであり、アドレス連続判定情報151と、要求中断サイクル情報152と、要求中断基準情報153とを保持している。
アドレス連続判定情報151は、2つの連続する読み出し要求で指定されるそれぞれのリードアドレスの連続性を判定するための情報であり、予め定められたアドレス値である。バーストストップ制御部104は、今回の読み出し要求で指定されるリードアドレスと、前回の読み出し要求で指定されるリードアドレスとの差分値が、アドレス連続判定情報151で定められるアドレス値以下である場合に2つの読み出し要求が連続していると判定し、多い場合には2つの読み出し要求が連続していないと判定してバーストストップ要求をステートカウンタ102に伝達することになる。例えば、1具体例を示すと、仮にアドレス連続判定情報151で示されるアドレス値が「32番地(16進数表記で0x20番地)」で、前回の読み出し要求で指定されるリードアドレスが、「1000番地」であったとする。そして、今回来た読み出し要求で指定されるリードアドレスが、「1032番地」であったとすれば、2つの読み出し要求は連続していると判定され、今回来た読み出し要求で指定されるリードアドレスが、「1064番地」であったとすれば、2つの読み出し要求は連続していなないと判定される。ここで、アドレス連続判定情報151のアドレス値を「32番地」とするのは、バスマスタからのアクセスが32ビット(4ワード)で8バーストとして計算した(4ワード×8バースト=32番地)場合の一例である。
要求中断サイクル情報152は、上述の(2)の条件における所定時間を定めた情報であり、ここでは、メモリインターフェース100の動作クロックのサイクル数で定められており、例えば、「400サイクル」などと設定される。400サイクルとは、CPUの周波数を400MHzで、1サイクル秒までカウントした一例である。
要求中断基準情報153は、上述の要求中断サイクル情報152で定めるサイクル数をカウントし始めるタイミングを定義する情報である。バーストストップ制御部104は、要求中断基準情報153で定められる状態になったときに、要求中断サイクル情報152で定められるサイクル数のカウントを開始し、メモリインターフェース100が新たな読み出し要求を受け付けることなく、当該サイクル数のカウントを終えるとバーストストップ要求を生成する。ここでは、要求中断基準情報153で定められるタイミングは、読み出し要求に対するデータをバスマスタに転送し終えたタイミングとする。
バーストストップ設定部105に保持されている各情報は、図3に示されるように、内部バス130を介して、CPU111により、データ転送を実行する前に予め設定される。この場合、バーストストップ設定部105は、フリップフロップ、SRAMなどの書き込み可能な記憶デバイスにより実現される。
図2に戻って、ステートカウンタ102は、転送要求解析回路101から供給されたメモリアドレスと転送サイズを含む読み出し要求に応じて、転送制御信号出力回路106にステート情報とメモリアドレスとを供給する機能を有する。ステート情報とは、アクセス開始、チャージ時間中、データ読み出し開始などの情報のいずれかの情報を含む。また、ステートカウンタ102は、バーストストップ制御部104から、バーストストップ要求を受け付けた場合に、転送制御信号出力回路106にバーストストップを示すステート情報を伝達する機能も有する。
データバッファ制御部103は、外部データバス142を介してメモリ20から受け取ったデータを格納しておき、ステートカウンタ102から受け取ったバッファリード要求に基づき、当該バッファリード要求で示されるアドレスに対応するリードデータを内部バス130を介してバスマスタに転送する機能を有する。データバッファ制御部103には、読み出し速度がメモリ20からの読み出し速度よりも高速なものを使用することとする。
転送制御信号出力回路106は、ステートカウンタ102から受け取ったステート情報に基づき、バースト転送制御信号を外部転送制御信号バス141を介してメモリ20に出力する機能と、データ読み出しを行なう場合に、そのアドレスを外部アドレスバス140を介して出力する機能を有する。転送制御信号出力回路106は、ステート情報がアクセス開始を示す場合に、メモリ20の指定されたメモリアドレスに対するアクセスを開始する。転送制御信号出力回路106は、ステート情報がデータ読み出し開始を示す場合に、指定されたメモリアドレスを読み出し開始アドレスとして、それ以降のアドレスに格納されているデータを順次外部データバス142に出力させる。このとき、転送制御信号出力回路106は、バーストストップを示すステート情報を受け付けるまで、メモリアドレス値を1ずつ加算しながらメモリ20にデータの出力を要求していくことにより、読み出し要求により指定されるデータ以降のデータをメモリ20から順次出力させる。転送制御信号出力回路106は、ステート情報がバーストストップを示す場合に、データの外部データバス142への出力を停止させる。
図1に戻って、メモリ20は、NOR型フラッシュメモリであり、メモリインターフェース100の制御のもと、指定されたアドレスのデータを順次外部データバス142に出力する機能と、メモリインターフェース100からのバーストストップ信号に基づきデータの出力を停止する機能とを有する。
<動作>
まず、メモリインターフェース100の基本的動作を図4に示すフローチャートを用いて説明し、その後に、当該フローチャートに従って動作する場合のデータ転送の具体例を説明する。
図4に示すフローチャートは、1つの読み出し要求をバスマスタから受け付けた場合のメモリインターフェース100の動作を示すフローチャートである。
メモリインターフェース100は、バスマスタから新たな読み出し要求を受け付ける(ステップS401)。
すると、転送要求解析回路101は、受け付けた読み出し要求を解析し、そのリードアドレスをメモリアドレスに変換して、当該メモリアドレスと転送サイズとを含む読み出し要求をバーストストップ制御部104とステートカウンタ102とに供給する。
バーストストップ制御部104は、メモリインターフェース100がメモリ20からデータの読み出し中であるかどうかを、転送制御信号出力回路106が最後にメモリ20に出力した制御信号が読み出し開始の信号であるか、バーストストップ信号であるかに基づいて判定する(ステップS402)。
メモリインターフェース100がメモリ20からデータの読み出し中である場合、即ち、転送制御信号出力回路106が最後にメモリ20に出力した制御信号が読み出し開始の信号である場合には(ステップS402のYES)、バーストストップ制御部104は、受け付けた読み出し要求で指定されるリードアドレスと、前回受け付けた読み出し要求で指定されるリードアドレスとの差分が、アドレス連続判定情報151で指定されるアドレス値内に収まっているかどうかを判定する(ステップS403)。これにより、2つの読み出し要求のリードアドレスが連続しているかどうかを判定する。データが読み出し中でない場合には(ステップS402のNO)、ステップS405に移行する。
アドレス値内に収まっている場合には(ステップS403のYES)、供給された読み出し要求をそのままステートカウンタ102に転送する。ステートカウンタ102は、転送要求解析回路101と、バーストストップ制御部104とから読み出し要求を受け付けた場合には、メモリアドレスと、転送サイズとを含む信号をデータバッファ制御部103に伝達する。そして、データバッファ制御部103は、保持しているデータの中から指定されたメモリアドレスに対応するデータを転送サイズ分だけ内部バス130に出力する。なお、メモリアドレスに対応するデータを保持していなかった場合には、外部データバス142に該当するデータが出力されるのを待ち、当該データを取得してから、内部バス130に出力する(ステップS407)。
アドレス値内に収まっていなかった場合には(ステップS403のNO)、バーストストップ制御部104は、ステートカウンタ102にバーストストップ要求を出力する。
ステートカウンタ102は、転送要求解析回路101から読み出し要求を、バーストストップ制御部104からバーストストップ要求を受け付けた場合には、まず、バーストストップを示すステート情報を含む信号を転送制御信号出力回路106に伝達する。転送制御信号出力回路106は、受け付けた信号のステート情報がバーストストップを示すことから、バーストストップ信号をメモリ20に出力し、外部データバス142へのデータの出力を停止させる(ステップS404)。
次にステートカウンタ102は、転送要求解析回路101から受け付けた読み出し要求に基づき、アクセス開始を示すステート情報と、メモリアドレスと、転送サイズとを含む読み出し要求を転送制御信号出力回路106に伝達し、転送制御信号出力回路106は、メモリ20にメモリアドレスで指定されるアドレスへのアクセスを開始する(ステップS405)。
そして、チャージ時間が経過すると、転送制御信号出力回路106は、メモリ20に対して、指定したメモリアドレスを読み出し開始アドレスとして、アドレス順に格納されているデータの外部データバス142への出力を指示する(ステップS406)。
データバッファ制御部103は、外部データバス142に出力されたデータであって、受け付けた読み出し要求で指定されるデータを取得し、内部バス130に出力する(ステップS407)。バスマスタは、内部バス130に出力されたデータを受け取る。
バーストストップ制御部104は、要求中断基準情報153に示されるタイミングの情報に基づき、データバッファ制御部103が内部バス103にデータを出力したことをトリガに、要求中断サイクル情報で示されるサイクル数のカウントを開始する(ステップS408)。
当該サイクル数のカウント中に、新たな読み出し要求を受け付けた場合には(ステップS408のNO、ステップS409のYES)、ステップS402に移行する。
新たな読み出し要求を受け付けることなくサイクル数のカウントを終えた場合には(ステップS408のYES)、バーストストップ制御部104は、バーストストップ要求をステートカウンタ102に伝達し、ステートカウンタ102から出力されるバーストストップを示すステート情報を含む信号を受け付けた転送制御信号出力回路106がメモリ20に対して外部データバス142へのデータの出力を停止させて(ステップS410)、処理を終了する。
以上が、読み出し要求を受け付けたときのメモリインターフェース100の動作である。
ここから、図4に示すフローチャートに従ってメモリインターフェース100が動作した場合のデータ転送のタイミングの具体例を、図5から図7を用いて説明する。
図5から図7で示されるバースト転送においては、理解しやすくするために、バスマスタから発行されるリードアドレスと、メモリインターフェース100から発行されるメモリアドレスとは、同じものとして記載している。当該アドレスはここでは、「A0」、「A1」・・・と、Aに番号を付した形で表現するものとし、番号が異なればアドレスが異なるものとする。なお、アドレスはメモリ20においてこの番号順にアドレスが設定されているものとする。
転送するデータについては、「D0」、「D1」・・・と、Dに番号を付した形で表現するものとする。当該データの番号はそれぞれアドレスの番号と対応する。つまり、アドレス「A2」に対応するリードデータは「D2」となる。
また、バースト転送の転送サイズを4アドレス分のデータとする。つまり、メモリインターフェースは、バスマスタからアドレス「A0」を読み出し開始アドレスとして指定された場合には、データ「D0」〜「D3」までをバースト転送する。
そして、アドレス連続判定情報151には、12番地という情報が設定され、要求中断サイクル情報152には、4クロック分という情報が設定され、要求中断基準情報153には、読み出し要求に対応するリードデータを転送し終えてからという情報が設定されているとする。
また、図5〜図7においては、データの読み出しが実行されていない状態からの説明を行うものとする。
上記条件の下で、メモリインターフェース100の動作の具体例を説明する。
図5は、本発明に係るバースト転送のデータ転送例を示す図である。図5の上4つの信号は、バスマスタ−メモリインターフェース100間でやり取りされる信号を示しており、下5つの信号は、メモリインターフェース100−メモリ20間でやり取りされる信号を示している。内部クロック及び外部クロックはそれぞれ動作クロックを示しており、ここでは同一の周期に設定されているものとする。内部バス(リクエスト)は、バスマスタからのメモリインターフェース100に対して発行された読み出し要求を示しており、ハイ(high)になっているタイミングが読み出し要求が発行されているタイミングを示す。内部バス(アドレス)は、バスマスタから発行された、バスマスタが読み出したいデータのアドレスを示すものであり、各アドレスが発行されているタイミングを示す。内部バス(データ)は、メモリインターフェース100からバスマスタに対して転送されているデータとそのタイミングを示す。外部アドレスバスは、メモリインターフェース100からメモリ20に対して発行したアドレスとそのタイミングを示す。外部データバスは、メモリ20からメモリインターフェースに対して外部データバス142に出力されたデータとそのタイミングを示す。転送ACK信号は、転送が実行されていることを通知するための信号であり、ハイ(high)になっているタイミングではデータ転送が実行されていないことを示す。バーストストップ信号は、メモリインターフェース100からメモリ20に対して発行されるバーストストップ信号を示しており、メモリ20はバーストストップ信号がハイ(high)になったことを検出すると外部データバス142へのデータの出力を中止する。
図5に示すデータ転送例では、データの読み出しを継続して、2回目以降の連続するアドレスへの読み出し要求が来た場合にチャージ時間の発生を抑制できていることを示し、また、新たな読み出し要求で示されるリードアドレスが前回の読み出し要求で示されるリードアドレスとの差分がアドレス連続判定情報151で示されるアドレス値よりも大きかった場合を示す。
メモリインターフェース100は、時刻T500に、バスマスタからアドレスA0を読み出し開始アドレスとする読み出し要求を受け付ける。
当該読み出し要求を受け付けて、メモリインターフェース100は、時刻T500の半クロック後の時刻T501にメモリ20のアドレスA0に対してのアクセスを開始する。
すると、時刻T501〜時刻T502までの間で示されるチャージ時間が経過した後に、外部データバス142には、リードアドレスA0を読み出し開始アドレスとするデータ、すなわちデータD0、D1、・・・が出力され始める。
時刻T503においてバースト転送の転送サイズ分のデータD0〜D3が外部データバスに出力された後も、メモリ20は、バーストストップ信号を受け付けていないので後続するデータ(D4、D5、・・・)を外部データバスに出力し続ける。
一方、リードアドレスA0を読み出し開始アドレスとするバースト転送単位分のデータD0〜D3を時刻T504に受け付け終えると、バスマスタは次の読み出し要求を発行し、メモリインターフェース100は、時刻T505にリードアドレスA4を読み出し開始アドレスとするデータの読み出し要求を受け付ける。
この時点でアドレスA4に対応するデータD4は、既にデータバッファ制御部に蓄積されているので、次のクロックの時刻T506には、データD4からの転送サイズ分のデータが内部バス130に出力され始める。
時刻T507において、データD4を受け取ったバスマスタは、次のアドレスA8を読み出し開始アドレスとする読み出し要求をメモリインターフェース100に発行する。
これを受けて、メモリインターフェース100は、時刻T509から、アドレスA8に対応するデータD8以降のデータを内部バス130に出力する。
時刻T510でデータD11を受け取ったバスマスタは次に、リードアドレスがA100である読み出し要求をメモリインターフェース100に発行する。
当該読み出し要求を受け付けたメモリインターフェース100は、そのリードアドレスから、前回の読み出し要求のリードアドレスA8を減算して、その差分値92が、アドレス連続判定情報151に定められている12番地よりも大きいことから、その連続性が途切れたと判断し、時刻512においてバーストストップ信号をメモリ20に発行して、時刻T502から継続していた読み出しを中止し、時刻T513から新たにアドレスA100を読み出し開始アドレスとするアクセスを実行する。この場合、再び時刻T513〜時刻T514に示されるようにチャージ時間が発生する。
図5に示されるように、メモリインターフェース100がメモリ20からの読み出しを継続することによって、従来であれば、時刻T505の読み出し要求や、時刻T508の読み出し要求に対して発生していたチャージ時間を抑制できている。
図6に示すデータ転送例では、最後のデータ転送から所定時間経過した場合を示す。
図6に示すデータ転送例のうち、時刻T510までは、図5に示した状態に共通するのでそこまでの経緯についてはここでは説明を割愛する。
時刻T510でアドレスA8に対応するデータをバスマスタに転送し終えたメモリインターフェース100のバーストストップ制御部は、要求中断サイクル情報152に示されるサイクル数のカウントを開始する。
そして、時刻T611までに、新たな読み出し要求を受け付けることなく、要求中断サイクル情報152に示される4クロックのサイクルが経過すると、バーストストップ制御部104は、バーストストップ要求を生成し、これにより、転送制御信号出力回路106からバーストストップ信号が時刻T612において出力され、データD18までのデータを読み出した時点で、時刻T502から継続して行なっていたデータの読み出しを中止する。そして、この時点で、データバッファ制御部103は、保持していたデータを破棄する。
図6の場合、読み出したデータD12〜D18は、結果的に無駄になっているが、T510〜T611までの4クロックのサイクルのカウントを行なって、バーストストップを行なうことにより、無駄なデータの読み出しが多くなることを防いでいる。
図7に示すデータ転送例では、新たな読み出し要求で示されるリードアドレスが、前回の読み出し要求で示されるリードアドレスとの差分がアドレス連続判定情報151で示されるアドレス値よりも小さい場合であって、まだ、データがデータバッファ制御部103に蓄積されていない場合を示す。
図7に示すデータ転送例のうち、時刻T510までは、図5に示した状態に共通するのでそこまでの経緯についてはここでは説明を割愛する。
時刻T510において、バスマスタにアドレスA8に対応するデータを転送し終えたメモリインターフェース100は、そこから、要求中断サイクル情報152に示される4クロックのサイクルのカウントを開始するが、当該カウントを終える前に、メモリインターフェース100は、バスマスタからの新たな読み出し要求を時刻T711に受け付ける。時刻T711で受け付けた読み出し要求のリードアドレスA19は、前回の読み出し要求のリードアドレスA8との差分が11であり、アドレス連続判定情報151に定められているアドレス値の範囲内に収まっていることから、時刻T711の読み出し要求は、連続していると判定される。
しかしながら、時刻T711の時点においては、まだ、リードアドレスA19に対応するデータD19はメモリ20から読み出されていない。
そこで、メモリインターフェース100は、アドレス値を1ずつ加算しての読み出しを継続し、時刻T712において、データD19が読み出されるので、時刻T713からバスマスタに読み出し要求A19に対応するデータD19が転送され始める。
アドレス連続判定情報151のアドレス値を単純に転送サイズの次のアドレスとの差分値となる4番地よりも長めに設定することにより、読み出しを継続した方が、新たにアクセスを開始してチャージ時間を発生させるよりも、アクセス時間を短縮することができる。
図8には、本発明に係るデータ転送のタイミングとの差異を明確にするために、従来のバースト転送におけるデータ転送のタイミングの具体例を示す。なお、図8に示す従来例においても、チャージ時間は4クロックかかり、バースト転送の転送サイズも4アドレス分のデータであるとする。
図8に示されるように、時刻T800において、アドレスA0からの読み出し要求を受け付けると、メモリインターフェースは、メモリへのアクセスを開始し、時刻T801〜時刻T802のチャージ時間を経て、時刻T802からメモリインターフェースはメモリからのデータの読み出しを開始する。時刻T803において、メモリインターフェースはバースト転送単位分のメモリからのデータの読み出しを終了し、時刻T804において、メモリインターフェースからバスマスタへのデータの転送が完了する。
そして、時刻T805において、新たな読み出し要求を受け付けると、時刻T800〜T804までと同じ手順を踏んで、時刻T805の読み出し要求で指定されるデータの読み出しを、時刻T805〜時刻T809にかけて行なう。これは時刻T810において受け付けた読み出し要求においても同様である。
図8に示すように、従来であれば、アドレスA0、A4、A8をリードアドレスとする3つの読み出し要求を連続して受け付けた場合には、図8において都合29クロックかかり、チャージ時間が3回(時刻T801〜時刻T802と、時刻T806〜時刻T808と、時刻T811〜時刻T812の3回)発生している。
対して、図5にあるように、本実施の形態に係るメモリインターフェース100の場合、アドレスA0、A4、A8をリードアドレスとする3つの読み出し要求を連続して受け付けた場合には、図5において、都合20クロックかかり、チャージ時間が1回のみ(時刻T502〜時刻T503)発生している。このことから、本実施の形態に係るメモリインターフェース100は、バスマスタの所望のデータを確実に転送しつつ、チャージ時間を削減して、アクセス時間の短縮を実現していると言える。
また、図7に示す時刻T711におけるアドレスA19に対する読み出し要求に対して、データD22のデータ転送を終えるまでかかった時間は、都合6クロックかかっているが、これは従来の1の読み出し要求に対して発生する時間、例えば、図8を例にすると、時刻T800の読み出し要求を受け付けてから、データD3を転送し終えた時刻T804までの9クロックよりも短縮されている。
<まとめ>
本発明に係るメモリインターフェースは、バスマスタから発行された1つの読み出し要求に対応するデータをメモリから読み出してバスマスタに転送した後にも、当該読み出し要求で転送したデータのアドレスに後続するアドレスにあるデータ以降の読み出しを継続する。当該読み出しの継続はメモリインターフェース100が指定するアドレス値を1ずつ加算してそのたびに対応するデータを読み出すことで行なわれる。そして、新たな読み出し要求が来た場合に、当該新たな読み出し要求で指定されるリードアドレスと、前回の読み出し要求で指定されるリードアドレスとの差分が所定範囲内に収まっている場合に、メモリインターフェースがバスマスタからの要求なく自主的に読み出していたデータを転送する。この場合、メモリインターフェースは、新たな読み出し要求で指定されるリードアドレスに基づく読み出しの設定をメモリに対して行なわないので、チャージ時間が発生することはない。これにより、2つの連続する読み出し要求が上述の条件を満たす場合に、一定時間内において発生するバスマスタからの読み出し要求に対して発生するチャージ時間の発生回数を抑制することができる。また、チャージ時間の発生回数を抑制することにより、メモリアクセスの時間が短縮されることになるので、消費電力の削減にもつながる。
近年、例えば、携帯電話機や、デジタルテレビ、BD(Blu-ray Disc)レコーダといったデジタル家電においては、高性能化・多機能化によって、プログラムとデータを格納するNOR型フラッシュROMに要求される動作クロックも年々高速化している。更に、CPUの高性能化も進んでおり、キャッシュのタ印サイズの増加により、従来の固定サイズのバーストアクセスでは、数回に分けないとライン分のデータを読み出せなくなってきている。即ち、従来では、ライン分のデータを読み出すにあたって、この数回分のチャージ時間が発生することになる。
そのため、本発明に係るメモリインターフェース100を、図10に示すように、例えばシステムLSI(Large Scale Integrated circuit)1000として実現し、当該システムLSI1000を回路基板1001に設置し、当該回路基板1001を、例えば、携帯電話機1002、DVD(Digital Versatile Disc)プレーヤやBDレコーダなどに代表される放送受信装置/蓄積再生装置1003、デジタルテレビ1004、自動車1006に搭載されるカーナビに代表される車載端末1005など各種のデジタル家電に搭載すると効果的である。
<補足>
上記実施の形態において、本発明の実施の手法について説明してきたが、本発明の実施の形態がこれに限られないことは勿論である。以下、上記実施の形態以外に本発明の思想として含まれる各種の変形例について説明する。
(1)上記実施の形態においては、メモリ20は、コンピュータシステム10のメモリインターフェース100に対して着脱可能であるとしたが、メモリ20は、メモリインターフェース100によってデータの読み出しが行なわれるものであればよく、メモリ20は、コンピュータシステム100の内部に予め備え付けられていたものであってもよい。
(2)上記実施の形態においては、メモリ20からのデータの読み出しについてのみ記載したが、バスマスタたるCPU111やDMAC112は書き込み要求を書き込むべきデータとともにメモリインタフェース100に転送する機能を有し、メモリインターフェース100は、指定されたデータをメモリ20に書き込む機能を有していてもよい。
(3)上記実施の形態においては、バーストストップ設定部105をバーストストップ制御部104内に設けるように構成したが、バーストストップ制御部104は、バーストストップ設定部105内の情報を読み出す機能があればよく、バーストストップ制御部104外にバーストストップ設定部105を設けてもよい。
(4)上記実施の形態においては、バーストストップ設定部105に設定されている情報はCPU111により設定されることとしたが、これは、CPU111以外から設定されてもよい。
例えば、図9(a)に示すように、コンピュータシステム10は、バーストストップ設定部105として、保持すべき各種の情報を記憶している不揮発デバイス160を備えてもよい。この構成は、接続するメモリ20の種別が予め決まっており、バーストストップ信号発生タイミングの変更がない場合に、コスト的にも有利になると言える。
あるいは、図9(b)に示すように、ジャンパピン、ディップスイッチなどにより実現される外部スイッチ170からバーストストップ設定部105が保持する各情報を設定してもよい。この構成はソフトウェアの変更なしで、バーストストップ設定部105が保持する情報の内容の変更が可能である。
(5)上記実施の形態においては、要求中断基準情報153で定められるタイミングは、読み出し要求で指定されるデータをバスマスタに転送し終えたタイミングとしたが、当該タイミングはこれに限定されるものではない。要求中断基準情報153は、上記実施の形態において、要求中断サイクル情報152で定められるサイクル数のカウントを開始するためのトリガとなる状態を規定するものであればよく、例えば、バスマスタから読み出し要求を受け付けたタイミングや、最初の読み出し要求のリードデータを転送し始めたタイミングなどであってもよい。なお、それぞれの定めたタイミングに応じて、チャージ時間や動作クロックを考慮して、要求中断サイクル情報152で定めるサイクル数を調節する必要がある。
(6)上記実施の形態においては、メモリ20は、NOR型フラッシュメモリであるとしたが、メモリ20は、バースト転送機能を有し、データの読み出しにチャージ時間が発生するタイプのものであれば、NOR型フラッシュメモリでなくともよい。
(7)上記実施の形態においては、特に記載しなかったが、バスマスタは、更に、最初の読み出し要求の段階において、メモリインターフェース100に対して、バーストストップ信号を生成するタイミングを規定する情報も送信してもよい。
例えば、バスマスタは、読み出し要求を発行する際に、その後でアドレスが連続する回数を通知する構成をとってもよい。そして、メモリインターフェース100は、当該回数の分だけ、データの順次読み出しを継続した後に、バーストストップ信号を生成して読み出しの継続を中止してもよい。
これにより、読み出し要求の対象外となるデータの読み出し(図6で言えば、データD12〜D18)を削減することができる。
(8)上記実施の形態においては、メモリインターフェース100が、バスマスタからの要求なく、自身で読み出したデータについて、新たな読み出し要求が所定時間経過しても来なかった場合や、受け付けた新たな読み出し要求で指定されるリードアドレスが前回の読み出し要求で指定されるリードアドレスとの差分がアドレス連続判定情報で示されるアドレス値よりも大きかった場合は、読み出したデータを破棄することとした。
しかしながら、この読み出したデータを破棄することなく利用することとしてもよい。例えば、データバッファ制御部103は、バーストストップ信号が転送制御信号出力回路106から出力されたことをトリガに、その時点で保持していたデータであって、読み出し対象外となったデータを前回読み出し要求を発行したバスマスタに出力することとしてもよい。
そして、メモリインターフェース100が出力したデータを受け取ったバスマスタは、当該データをキャッシュの普段使われないラインに格納しておき、当該バスマスタがそのデータを利用するタイミングでメモリインターフェース100に読み出し要求を出力することなく、当該キャッシュからデータを読み出して利用してもよい。
(9)上記実施の形態においては、新たな読み出し要求と前回の読み出し要求とのそれぞれで指定されるリードアドレスの差分がアドレス連続判定情報151で示されるアドレス値内に収まるかどうかを判定した。しかし、連続で読み出し続けることにより、図7において示したように、新たな読み出し要求のリードアドレスと、実際に読み出しているデータの格納されていたアドレスとの差分が縮まることがある。これは、図7の場合でいえば、時刻T505や時刻T508において、バスマスタからの読み出し要求を受け付けていた間にもメモリ20からデータを読み出し続けていたことに起因している。
そこで、上記実施の形態において示した構成に更に、以下のような構成を加えてもよい。即ち、新たな読み出し要求を受け付けた時点において、その時点で継続して読み出し、データバッファ制御部103が蓄積しているデータのうち、そのアドレスが最も大きいものとの差分が所定の番地内であるかを、図4のステップS403の前段において判定してもよい。そして、当該判定が肯定的な場合には、読み出しを中止せずに継続させて、読み出しを継続することによって得られたデータをデータバッファ制御部103が転送することとしてもよい。なお、当該所定の番地は、チャージ時間分を使ってデータを読み出したとした場合に、読み出しうるデータのアドレス分に相当する。
そして、このときには、アドレス連続判定情報151は、上記実施の形態の図7に示したデータ転送を実現するために余裕を持たせていたアドレス値を、単純にバースト転送の転送サイズ分のアドレス値(図5〜図7の例で言えば、4アドレス)に設定できる。
(10)上記実施の形態においては、データバッファ制御部103は、メモリインターフェース100がメモリ20に対してバーストストップ信号を発行すると、保持していたデータを破棄することとしたが、これは、破棄せずに残しておいてもよい。
この場合、新たな読み出し要求に対するデータを外部データバス142から取得すると、これまでに保持していたデータのうち、古いもののから上書きすることとしてよい。また、新たな読み出し要求に対するデータを、データバッファ制御部103が既に保持していた場合には、メモリ20からデータを読み出さずにそのままデータバッファ制御部103が保持していたデータを内部バス130に出力することとしてもよい。
(11)上記実施の形態におけるメモリインターフェース100の各機能部は、1または複数のLSIによって実現されてもよく、複数の機能部が1のLSIにより実現されてもよい。
また、集積化の手法としてはLSIに限定されるものではなく、専用回路または汎用プロセッサで実現することとしてもよい。さらには、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンイギュラブル・プロセッサを利用してもよい。また、半導体技術の進歩又は派生する別技術により、LSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
(12)上述の実施形態で示したバースト転送に係る動作、バースト転送を継続、中止する処理等を、コンピュータシステムのプロセッサ、及びそのプロセッサに接続された各種回路に実行させるためのプログラムコードからなる制御プログラムを、記録媒体に記録すること、又は各種通信路等を介して流通させ頒布させることもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROM等がある。流通、頒布された制御プログラムはプロセッサに読み出され得るメモリ等に格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより、実施形態で示したような各種機能が実現されるようになる。
本発明は、チャージ時間を短縮することにより、メモリからのデータの読み出しを高速化することができるメモリ制御装置であって、例えば、携帯電話機、デジタルTV、BDレコーダ、DVDレコーダなど、各種デジタル家電に有用である。
10 コンピュータシステム(データプロセッサ)
20 メモリ
100 メモリインターフェース(メモリ制御装置)
101 転送要求解析回路
102 ステートカウンタ
103 データバッファ制御部
104 バーストストップ制御部
105 バーストストップ設定部
106 転送制御信号出力回路
111 CPU(バスマスタ)
112 DMAC(バスマスタ)
130 内部バス
140 外部アドレスバス
141 外部転送制御信号バス
142 外部データバス
160 不揮発デバイス
170 外部スイッチ

Claims (7)

  1. バースト転送機能を有するメモリから、バスマスタからの読み出し要求に対応するデータを読み出すメモリ制御装置であって、
    前記バスマスタから発行された第1読み出し要求に基づいて読み出し命令を前記メモリに発行し、当該読み出し命令で指定される前記メモリのアドレスを読み出し開始アドレスとして所定単位のデータ量だけ前記メモリから読み出す読み出し手段と、
    前記バスマスタからの前記第1読み出し要求に対応するデータを前記メモリから読み出した後に、当該データが格納されているアドレスに後続するアドレス以降のデータを順次読み出して蓄積する蓄積手段と、
    前記読み出し手段が読み出したデータを前記バスマスタに転送する転送手段と、
    前記バスマスタから新たな第2読み出し要求を受け付けた場合に、当該第2読み出し要求により指定されるアドレスと、前記第1読み出し要求で指定されるアドレスとの差分が所定の範囲内にあるか否かを判定する判定手段とを備え、
    前記転送手段は、前記判定手段が前記所定の範囲内にあると判定した場合に、前記蓄積手段が読み出した、前記第2読み出し要求により指定されるアドレスを読み出し開始アドレスとする所定単位のデータを前記バスマスタに転送する
    ことを特徴とするメモリ制御装置。
  2. 前記転送手段は、前記判定手段が前記所定の範囲内にあると判定した場合であって、前記蓄積手段がまだ前記第2読み出し要求により指定されるアドレスを読み出し開始アドレスとするデータを読み出していないときに、前記蓄積手段による当該データの読み出しを待って、読み出されたデータを前記バスマスタに転送する
    ことを特徴とする請求項1記載のメモリ制御装置。
  3. 前記メモリ制御装置は、更に、
    前記判定手段が所定範囲内にないと判定した場合に、前記蓄積手段によるデータの読み出しを中止させる中止手段を備える
    ことを特徴とする請求項1記載のメモリ制御装置。
  4. 前記メモリ制御装置は、更に、
    前記第1読み出し要求を受けてから、前記バスマスタから新たな読み出し要求を受け付けることなく所定の時間が経過した場合に、前記蓄積手段によるデータの読み出しを中止させる中止手段を備える
    ことを特徴とする請求項1記載のメモリ制御装置。
  5. 前記メモリ制御装置は、更に、
    前記転送手段が前記第1読み出し要求に対応するデータを前記バスマスタに転送し終えてから、前記バスマスタから新たな読み出し要求を受け付けることなく所定の時間が経過した場合に、前記蓄積手段によるデータの読み出しを中止させる中止手段を備える
    ことを特徴とする請求項1記載のメモリ制御装置。
  6. バスマスタと、バースト転送機能を有するメモリから前記バスマスタからの読み出し要求に対応するデータを読み出すメモリインターフェースとを備えたデータプロセッサであって、
    前記メモリインターフェースは、
    前記バスマスタから発行された第1読み出し要求に基づいて読み出し命令を前記メモリに発行し、当該読み出し命令で指定される前記メモリのアドレスを読み出し開始アドレスとして所定単位のデータ量だけ前記メモリから読み出す読み出し手段と、
    前記バスマスタからの前記第1読み出し要求に対応するデータを前記メモリから読み出した後に、当該データが格納されているアドレスに後続するアドレス以降のデータを順次読み出して蓄積する蓄積手段と、
    前記読み出し手段が読み出したデータを前記バスマスタに転送する転送手段と、
    前記バスマスタから新たな第2読み出し要求を受け付けた場合に、当該第2読み出し要求により指定されるアドレスと、前記第1読み出し要求で指定されるアドレスとの差分が所定の範囲内にあるか否かを判定する判定手段とを備え、
    前記転送手段は、前記判定手段が前記所定の範囲内にあると判定した場合に、前記蓄積手段が読み出した、前記第2読み出し要求により指定されるアドレスを読み出し開始アドレスとする所定単位のデータを前記バスマスタに転送する
    ことを特徴とするデータプロセッサ。
  7. バースト転送機能を有するメモリから、バスマスタからの読み出し要求に対応するデータを読み出すデータ読み出し方法であって、
    前記バスマスタから発行された第1読み出し要求に基づいて読み出し命令を前記メモリに発行し、当該読み出し命令で指定される前記メモリのアドレスを読み出し開始アドレスとして所定単位のデータ量だけ前記メモリから読み出す読み出しステップと、
    前記バスマスタからの前記第1読み出し要求に対応するデータを前記メモリから読み出した後に、当該データが格納されているアドレスに後続するアドレス以降のデータを順次読み出して蓄積する蓄積ステップと、
    前記読み出しステップにおいて読み出したデータを前記バスマスタに転送する転送ステップと、
    前記バスマスタから新たな第2読み出し要求を受け付けた場合に、当該第2読み出し要求により指定されるアドレスと、前記第1読み出し要求で指定されるアドレスとの差分が所定の範囲内にあるか否かを判定する判定ステップとを含み、
    前記転送ステップは、前記判定ステップにおいて前記所定の範囲内にあると判定された場合に、前記蓄積ステップにおいて読み出した、前記第2読み出し要求により指定されるアドレスを読み出し開始アドレスとする所定単位のデータを前記バスマスタに転送する
    ことを特徴とするデータ読み出し方法。
JP2010540367A 2008-11-28 2009-11-25 メモリ制御装置、データプロセッサ及びデータ読み出し方法 Expired - Fee Related JP5330409B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010540367A JP5330409B2 (ja) 2008-11-28 2009-11-25 メモリ制御装置、データプロセッサ及びデータ読み出し方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008303970 2008-11-28
JP2008303970 2008-11-28
PCT/JP2009/006344 WO2010061588A1 (ja) 2008-11-28 2009-11-25 メモリ制御装置、データプロセッサ及びデータ読み出し方法
JP2010540367A JP5330409B2 (ja) 2008-11-28 2009-11-25 メモリ制御装置、データプロセッサ及びデータ読み出し方法

Publications (2)

Publication Number Publication Date
JPWO2010061588A1 JPWO2010061588A1 (ja) 2012-04-26
JP5330409B2 true JP5330409B2 (ja) 2013-10-30

Family

ID=42225474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010540367A Expired - Fee Related JP5330409B2 (ja) 2008-11-28 2009-11-25 メモリ制御装置、データプロセッサ及びデータ読み出し方法

Country Status (3)

Country Link
US (1) US8230138B2 (ja)
JP (1) JP5330409B2 (ja)
WO (1) WO2010061588A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5446464B2 (ja) * 2009-05-26 2014-03-19 富士通セミコンダクター株式会社 情報処理システム及びデータ転送方法
US8516167B2 (en) * 2011-08-03 2013-08-20 Atmel Corporation Microcontroller system bus scheduling for multiport slave modules
KR101932920B1 (ko) * 2012-09-14 2019-03-18 삼성전자 주식회사 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법
JP6517549B2 (ja) * 2015-03-13 2019-05-22 東芝メモリ株式会社 メモリコントローラ、記憶装置、データ転送システム、データ転送方法、及びデータ転送プログラム
US10459855B2 (en) 2016-07-01 2019-10-29 Intel Corporation Load reduced nonvolatile memory interface
US11243804B2 (en) * 2019-11-19 2022-02-08 Micron Technology, Inc. Time to live for memory access by processors
US11199995B2 (en) 2019-11-19 2021-12-14 Micron Technology, Inc. Time to live for load commands
JP2022129524A (ja) * 2021-02-25 2022-09-06 ソニーセミコンダクタソリューションズ株式会社 メモリコントローラおよびメモリアクセス方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324465A (ja) * 1992-05-15 1993-12-07 Toshiba Corp インターリーブドメモリ装置
JPH1165920A (ja) * 1997-08-11 1999-03-09 Nkk Corp メモリ制御方法
JP2001229074A (ja) * 2000-02-16 2001-08-24 Nec Ibaraki Ltd メモリ制御装置と情報処理装置及びメモリ制御チップ
JP2002108700A (ja) * 2000-10-04 2002-04-12 Matsushita Graphic Communication Systems Inc Sdramインターフェイス回路およびsdram制御方法ならびにsdramインターフェイス回路を備えた画像処理装置
JP2004078376A (ja) * 2002-08-13 2004-03-11 Canon Inc 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3889195B2 (ja) * 1999-02-03 2007-03-07 株式会社東芝 画像処理装置、画像処理システムおよび画像処理方法
CN100570577C (zh) 2001-08-29 2009-12-16 联发科技股份有限公司 高速程序跟踪
US7155554B2 (en) * 2004-11-02 2006-12-26 Sonics, Inc. Methods and apparatuses for generating a single request for block transactions over a communication fabric
JP2008059565A (ja) 2006-08-01 2008-03-13 Nec Electronics Corp バーストメモリアクセスを制御するメモリインターフェース装置及びその制御方法
US20080034132A1 (en) 2006-08-01 2008-02-07 Nec Electronics Corporation Memory interface for controlling burst memory access, and method for controlling the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324465A (ja) * 1992-05-15 1993-12-07 Toshiba Corp インターリーブドメモリ装置
JPH1165920A (ja) * 1997-08-11 1999-03-09 Nkk Corp メモリ制御方法
JP2001229074A (ja) * 2000-02-16 2001-08-24 Nec Ibaraki Ltd メモリ制御装置と情報処理装置及びメモリ制御チップ
JP2002108700A (ja) * 2000-10-04 2002-04-12 Matsushita Graphic Communication Systems Inc Sdramインターフェイス回路およびsdram制御方法ならびにsdramインターフェイス回路を備えた画像処理装置
JP2004078376A (ja) * 2002-08-13 2004-03-11 Canon Inc 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム

Also Published As

Publication number Publication date
JPWO2010061588A1 (ja) 2012-04-26
US20100318691A1 (en) 2010-12-16
WO2010061588A1 (ja) 2010-06-03
US8230138B2 (en) 2012-07-24

Similar Documents

Publication Publication Date Title
JP5330409B2 (ja) メモリ制御装置、データプロセッサ及びデータ読み出し方法
CN104520932B (zh) 闪存存储器控制器
US8310880B2 (en) Virtual channel support in a nonvolatile memory controller
KR101747570B1 (ko) 가변 레이턴시들을 갖는 메모리 동작들을 위한 장치들 및 방법들
TWI472923B (zh) 控制外部介面之裝置及命令處理之方法
KR101693131B1 (ko) 가변 레이턴시들을 갖는 메모리 동작들을 위한 장치들 및 방법들
US7725621B2 (en) Semiconductor device and data transfer method
US20110138092A1 (en) Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device
KR20230017865A (ko) Dram을 위한 리프레시 관리
US20040267979A1 (en) Readdressable virtual DMA control and status registers
US20070038795A1 (en) Asynchronous bus interface and processing method thereof
JP5304815B2 (ja) マイクロコンピュータ
US7913013B2 (en) Semiconductor integrated circuit
US20080052424A1 (en) Data access system, data access apparatus, data access integrated circuit, and data access method
JP2006268753A (ja) Dma回路及びコンピュータシステム
JP4693843B2 (ja) メモリ制御装置及びメモリ制御方法
US7552301B2 (en) Information processing apparatus and memory access arranging method
US20090276553A1 (en) Controller, hard disk drive and control method
US8402233B2 (en) Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
JP4478592B2 (ja) メモリ回路
US20230418472A1 (en) Methods and apparatus to schedule memory operations
JP4696003B2 (ja) データ転送回路
JP2000250850A (ja) バス制御装置、マスタ装置及びスレーブ装置並びにバス制御方法
JPH07146814A (ja) メモリ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees