JP2010003067A - メモリシステムおよびそのアクセス制御方法、並びにプログラム - Google Patents

メモリシステムおよびそのアクセス制御方法、並びにプログラム Download PDF

Info

Publication number
JP2010003067A
JP2010003067A JP2008160652A JP2008160652A JP2010003067A JP 2010003067 A JP2010003067 A JP 2010003067A JP 2008160652 A JP2008160652 A JP 2008160652A JP 2008160652 A JP2008160652 A JP 2008160652A JP 2010003067 A JP2010003067 A JP 2010003067A
Authority
JP
Japan
Prior art keywords
information
bank
memory
request
access
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.)
Ceased
Application number
JP2008160652A
Other languages
English (en)
Inventor
Hideo Tanaka
英夫 田中
Yoshito Katano
由人 片野
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2008160652A priority Critical patent/JP2010003067A/ja
Priority to TW098119045A priority patent/TW201009576A/zh
Priority to US12/485,214 priority patent/US8200882B2/en
Priority to KR1020090053350A priority patent/KR20090132512A/ko
Priority to CN2009101463245A priority patent/CN101609438B/zh
Publication of JP2010003067A publication Critical patent/JP2010003067A/ja
Ceased legal-status Critical Current

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

【課題】システム全体の最適化を図れ、他マスタからのアクセスリクエストをマスクする機関を適切に設定することができ、同一バンクでかつ同一ページのアクセスに対しての連続アクセスの効率化を図れ、しかも特定のバスへの接続時における修正が必ずしも必要としないメモリシステムおよびそのアクセス制御方法、並びにプログラムを提供する。
【解決手段】メモリシステム10は、メモリコントローラ13がメモリ11の各バンクのページオープン情報を含むバンク情報、リクエストキュー15内のリクエスト情報であるバンク、ロウ、リードライト等の情報をバス上のアービタ17に通知する。そして、アービタ17は、マスタ群14の各マスタから並列に発行されるリクエストをアービトレーションしメモリコントローラ13に送信する。
【選択図】図1

Description

本発明は、メモリコントローラ等がメモリへのアクセスを管理するメモリシステムおよびそのアクセス制御方法、並びにプログラムに関するものである。
一般的に、メモリコントローラ単体で受信したマスタ群からのアクセスリクエストを、メモリアクセスが最適化するように並び替える、いわゆるスケジューリングを行うことでメモリアクセスの効率化が行われている。
また、メモリコントローラに接続するバスアービタのアービトレーション技術に関して、たとえば特許文献1に開示されている。
この技術では、特定のマスタからのアクセスリクエストに対してアクセスリクエストのバンク情報を管理し、アクセス中でビジー状態にあるメモリバンクに対する他のマスタからのアクセスリクエストを一定期間マスクすることでメモリアクセスの効率化を図る。
また、メモリアクセス高速化のためにメモリコントローラが接続されたメモリのバンク状態をメモリコントローラ外に送信する技術に関して、たとえば特許文献2に開示さている。
この技術では、マスタにバンク状態を通知、アクセス中でビジー状態にあるバンクに対するアクセスリクエストの発行自体を制御する。
特開平11-167546号公報 特許第3092566号
ところが、スケジューリングを行うことでメモリアクセスの効率化を行う技術では、並び替えによる最適化の範囲がリクエストキューにて受信したリクエストに限られてしまう。
このため、メモリアクセスが局所的に最適化されてしまい、システム全体としての最適化はなされていなかった。
また、特許文献1に開示された技術では、一定期間他マスタからのアクセスリクエストをマスクするためには、メモリコントローラがアクセスリクエストを受け付けてから実際にアクセスするまでのサイクルが明確でなければならない。
実際にアクセスするまでのサイクルは、メモリコントローラがスケジューリングをしなおす場合には、スケジューリング結果で初めて判明する。
このため、他マスタからのアクセスリクエストをマスクする機関を適切に設定することが困難である。
マスク期間が長すぎた場合、他マスタからのアクセスが待たされてしまうこととなる。
また、他マスタからの同一バンクでかつ同一ページのアクセスに対しては連続アクセスができずに効率が落ちるという問題が存在する。
また、特許文献2に開示された技術では、各マスタがメモリのバンク状態を考慮したアクセス発行が可能となるよう対応する必要があるため、オープンプロトコルバスへの接続を前提としたマスタIP等では修正が必須であるという問題が存在する。
本発明は、システム全体の最適化を図れ、他マスタからのアクセスリクエストをマスクする機関を適切に設定することができ、同一バンクでかつ同一ページのアクセスに対しての連続アクセスの効率化を図れ、しかも特定のバスへの接続時における修正が必ずしも必要としないメモリシステムおよびそのアクセス制御方法、並びにプログラムを提供することにある。
本発明の第1の観点のメモリシステムは、複数のバンクを有するメモリと、リクエストキューおよびバンクモニタを含み、上記メモリへのアクセスを制御するメモリコントローラと、上記メモリへのアクセスをリクエストし得る複数のマスタを含むマスタ群と、上記メモリコントローラと上記マスタ群との間に接続され、アービタが配置されるシステムバスと、を有し、上記リクエストキューは、上記システムバスを経由して上記マスタ群から発行されたアクセスリクエストを受け取り、受け取ったアクセスリクエストを適宜並び替えるスケジューリング機能を含み、キュー情報を上記アービタに提供し、上記バンクモニタは、上記メモリの各バンク情報をモニタリングし、各バンク情報を上記アービタに提供し、上記アービタは、上記提供されるキー情報および上記バンク情報に基づいて上記マスタ群の各マスタから並列に発行されるリクエストをアービトレーションし、当該情報をアクセス制御情報として上記メモリコントローラに送信する。
好適には、上記アービタはペナルティサイクルが少なくなるよう上記メモリコントローラへリクエストを送信する。
好適には、上記リクエストはデータ自体に加えて、バンクアドレス、ロウアドレス、カラムアドレスと、または、およびリクエスト発行マスタIDやプライオリティ情報が付加されて形成される。
好適には、上記各バンク情報は、各バンクが現在オープンしているページ情報を含む。
好適には、キュー情報は、上記リクエストキュー内に待機しているリクエストがアクセスする先のバンク、ページ情報並びに、リードとライトどちらであるか、リクエスト発行マスタID、プライオリティの情報を含む。
本発明の第2の観点のメモリシステムのアクセス制御方法は、システムバスを経由してマスタ群から発行された、複数のバンクを含むメモリへのアクセスリクエストを受け取り、受け取ったアクセスリクエストを適宜並び替えるスケジューリングを行うステップと、上記スケジューリングによりリクエストキュー内に待機させたキュー情報を上記システムのアービタに提供するステップと、上記メモリの各バンク情報をモニタリングするステップと、モニタリングして得られた各バンク情報を上記アービタに提供するステップと、上記アービタにおいて、上記提供されるキー情報および上記バンク情報に基づいて上記マスタ群の各マスタから並列に発行されるリクエストをアービトレーションするステップと、上記アービトレーションで得られた情報により上記メモリへのアクセスを管理するステップとを有する。
本発明の第3の観点は、システムバスを経由してマスタ群から発行された、複数のバンクを含むメモリへのアクセスリクエストを受け取り、受け取ったアクセスリクエストを適宜並び替えるスケジューリングを行う処理と、上記スケジューリングによりリクエストキュー内に待機させたキュー情報を上記システムのアービタに提供する処理と、上記メモリの各バンク情報をモニタリングする処理と、モニタリングして得られた各バンク情報を上記アービタに提供する処理と、上記アービタにおいて、上記提供されるキー情報および上記バンク情報に基づいて上記マスタ群の各マスタから並列に発行されるリクエストをアービトレーションする処理と、上記アービトレーションで得られた情報により上記メモリへのアクセスを管理する処理とを含むメモリシステムのアクセス制御をコンピュータに実行させるプログラムである。
本発明によれば、メモリコントローラのリクエストキューは、システムバスを経由してマスタ群から発行された、複数のバンクを含むメモリへのアクセスリクエストを受け取る。
リクエストキューでは、受け取ったアクセスリクエストを適宜並び替えるスケジューリングが行われ、そのキュー情報がシステムバス上のアービタに提供される。
また、バンクモニタでは、メモリの各バンク情報がモニタリングされ、各バンク情報がアービタに提供される。
そして、アービタでは、提供されるキー情報およびバンク情報に基づいてマスタ群の各マスタから並列に発行されるリクエストがアービトレーションされて、この情報がアクセス制御情報としてメモリコントローラに送信される。
本発明によれば、システム全体の最適化を図れ、他マスタからのアクセスリクエストをマスクする機関を適切に設定することができる。また、同一バンクでかつ同一ページのアクセスに対しての連続アクセスの効率化を図れ、しかも特定のバスへの接続時における修正が必ずしも必要としないという利点がある。
以下、本発明の実施形態を添付図面に関連付けて説明する。
図1は、本発明の実施形態に係るメモリシステムの構成例を示す図である。
本メモリシステム10は、図1に示すように、メモリ11、システムバス12、メモリコントローラ13、マスタ群14、リクエストキュー15、バンクモニタ16、およびアービタ17を有する。
メモリ11は、たとえばSoC外に存在するダイナミックメモリ(SDR/DDR-SDRAM)により構成される。
メモリ11は、複数(図1の例では4)のバンク11−0〜11−3を有し、メモリアクセスの際はバンク内の1ページをオープンしアクセスが行われる。
システムバス12は、メモリコントローラ13とマスタ群14との間のデータの授受を行う。
システムバス12には、アービタ17が配置されている。
メモリコントローラ13は、SoC内に存在し、メモリ11へのアクセスを制御する。
マスタ群14は、SoC内に存在し、複数のマスタ14−0,14−1,14−2、・・・を含み、システムバス12とメモリコントローラ13を経由し、メモリ11へのアクセスをリクエストしうる。
マスタ群14の各要素であるマスタ14−0,14−1,・・はメモリ11へのライトリクエストおよびリードリクエストを発行する。
1リクエストはデータ自体に加えて、バンクアドレス、ロウアドレス、カラムアドレスと、その他情報であるリクエスト発行マスタIDやプライオリティ情報が付加されて形成される。
リクエストキュー15は、メモリコントローラ13内に配置され、システムバス12を経由してマスタ群14から発行されたアクセスリクエストを受け取る。
リクエストキュー15は、受け取ったアクセスリクエストを適宜並び替えるスケジューリング機能を有している。
リクエストキュー15は、キュー情報をシステムバス12上のアービタ17に提供する。
バンクモニタ16は、メモリコントローラ13内に配置され、メモリ11の各バンク情報をモニタリングする。
バンクモニタ16は、各バンク情報をシステムバス12上のアービタ17に提供する。
アービタ17は、システムバス12に付随し、マスタ群14の各マスタから並列に発行されるリクエストをアービトレーションしメモリコントローラ13に送信する機能を有する。
本メモリシステム10においては、リクエストキュー15とバンクモニタ16が出力するキュー情報や各バンク情報を元に、後述するメモリアクセスのスループットを最適化する。
各バンク情報とは、各バンク11−0〜11−3が現在オープンしているページ情報を有している。
キュー情報とは、リクエストキュー内に待機しているリクエストがアクセスする先のバンク、ページ情報および、リードとライトどちらであるか、リクエスト発行マスタID、プライオリティの情報を有している。
本メモリシステム10は、メモリ状態およびメモリコントローラ13内のスケジューラ状態からアクセスの優先順位を決定および変更するダイナミックメモリシステムとして構成されている。
すなわち、本メモリシステム10は、メモリコントローラ13が管理するメモリのバンク状態や、リクエストキュー15内に格納されたアクセスリクエスト情報をシステムバス12上のアービタ17に通知する。
メモリシステム10は、メモリアクセスのスループットが向上するようリクエストのアービトレーションを行う機能を有している。
より具体的には、メモリシステム10は、メモリコントローラ13がメモリ11の各バンクのページオープン情報を含むバンク情報、リクエストキュー15内のリクエスト情報であるバンク、ロウ、リードライト等の情報をバス上のアービタ17に伝える。
これにより、メモリシステム10は、リクエストキュー15内のスケジューリングをシステムとして最適化可能である。
また、本メモリシスステム10は、リクエストキュー15内のリクエスト情報であるバンク、ロウ、リードライトに加えて、さらにリクエスト発行マスタID、リクエストのプライオリティ情報をアービタ17に伝える。
これにより、メモリシステム10は、リクエストキュー15内のスケジューリングをシステムとして最適化可能である。
次に、本実施形態のメモリシステム10のように、バンク情報等をアービタに通知しない場合のリード時およびライト時のタイミングサイクルについて、図2〜図9に関連付けて説明する。
その後、本実施形態のメモリシステム10の優位性等について説明する。
図2にDDR2-SDRAM(DDR667 5-5-5)を接続した場合のリード時タイミングサイクルを説明する。
例としてバースト長4の場合について言及する。
SDRAMのアドレスはバンクアドレス、ロウアドレス、カラムアドレスの3種類に分かれている。
SDRAMからデータをリードする際、制御線およびアドレス線を駆動してアクティブコマンドACTを送信する。
アクティブコマンドACTにはバンクアドレスおよびロウアドレスが含まれており、SDRAMは指定されたバンクのページをアクティブ状態にする。
アクティブコマンドACTから5サイクル後(T6)にリードコマンドRを送信する。リードコマンドRにはバンクアドレスおよびカラムアドレスが含まれており、アクティブコマンドACTと合わせてSDRAMのアドレスが全て指定されることとなる。
リードコマンドRから5サイクル後(T11)にリードデータ(バースト長4であるため、0,1,2,3)がメモリから返ってくる。
次にリードアクセスが連続した場合に関して説明する。
図3にバンクアドレスが同一、ロウアドレスが異なる場合、図4にバンクアドレスが異異なる同一の場合、図5にバンクアドレスとロウアドレスが同一の場合を示す。
バンクアドレスが同一、ロウアドレスが異なる場合、すなわちページミスヒットの場合、現在アクティブとなっているページを閉じ、異なるページをアクティブにしなおす必要がある。
そのため、図3に示すように、プリチャージコマンドPREにより最初にアクセスしたページをインアクティブにする。このコマンドは前アクティブコマンドACTの15サイクル後(T16)に発行される。
プリチャージコマンドPREから5サイクル後(T21)に再度アクティブコマンドが発行され、前述したものと同一の手順により32サイクル(T33)でアクセスが完了する。
バンクアドレスが異なる場合、SDRAMの性質上、バンク毎に1つのページをアクティブにできるため、ページミスヒットのようにインアクティブにする必要がない。
しかし、DDR667で規定されたアクセスパラメータのため、図4に示すように、連続するリードデータ間に2サイクルの空きが生じる。
これにより、16サイクル(T17)でアクセスが完了する。
バンクアドレスとロウアドレスが同一の場合、アクセスするページは最初のリードアクセスにて既にアクティブになっているため、アクティブコマンドを発行する必要がない。そのため、リードコマンドRのみでアクセスでき、図5に示すように、リードデータ間にサイクル空きは生じない。
これにより、14サイクル(T15)でアクセスが完了する。
このように、連続したリードアクセスでは同一バンク同一ロウアドレスアクセス、別バンクアドレスアクセス、同一バンク別ロウアドレスアクセスの順に複数アクセス間に必要なオーバヘッド(ペナルティサイクル)が増大する。
同様にライト時のタイミングサイクルを説明する。
図6に単発ライトアクセス、図7に同一バンク別ロウアドレスへの連続ライトアクセス、図8に別バンクアドレスへの連続ライトアクセス、図9に同一バンク同一ロウアドレスへの連続ライトアクセスのタイミングを示す。
図7、図8、および図9から上記連続リードアクセスにおける同様のことが、連続ライトアクセス時にも言えることが分かる。
図2〜図9に示したように、連続するリクエストはバンク/ロウ(ページ)アドレスが同一か異なるかによりペナルティサイクルが大きく変化する。
ここで、本実施形態のメモリシステム10の優位性を示すため、例として図10に示す一般的なメモリシステムにおけるアクセスリクエストのアービトレーションと、図11に示す本メモリシステムにおけるアクセスリクエストのアービトレーションを比較する。
図10は、一般的なメモリシステムにおけるアクセスリクエストのアービトレーションを概念的に示す図である。
図11は、本実施形態に係るメモリシステムにおけるアクセスリクエストのアービトレーションを概念的に示す図である。
図12は、図10のメモリシステムにおけるアクセス例を示す図である。
図13は、図10のメモリシステムにおけるアービトレーション処理のフローチャートである。
図14は、図11のメモリシステムにおけるアクセス例を示す図である。
図15は、図11のメモリシステムにおけるアービトレーション処理のフローチャートである。
なお、図10においては、理解を容易にするために、図1および図11の構成と同様の機能部には、図1および図11と同一の符号を付している。
ここで、アービタ17は、マスタ群14のマスタ14−0から順にIDをカウントアップする単純ラウンドロビン方式を取るものとする。
また、リクエストを発行する6マスタのうちマスタ14−0、マスタ14−2、マスタ14−4はメモリ11のバンク11−0へのリードアクセスリクエストを発行するものとする。マスタ14−1、マスタ14−3、マスタ14−5はバンク11−1へのリードアクセスリクエストを発行するものとする。
バンク11−0へのアクセスリクエストのロウアドレスは互いに重複せず、バンク11−1へのアクセスリクエストのロウアドレスは全て同一のものが発生するものとする。
また、メモリコントローラ13内のリクエストキュー15はバンク11−0へのリードアクセスリクエスト(ロウアドレス重複なし)で1キュー以外埋まっている状態とする。メモリ11の各バンク11−0〜11−3はプリチャージ済み状態からスタートするものとする。
アービタ17が単純ラウンドロビン方式を取るため、図10のシステム構成ではマスタ14−0のアクセスリクエストから順にメモリコントローラ13内のリクエストキュー15に格納される(ST1,ST2)。
この場合、バンク11−0へのリードアクセスリクエストがメモリ11に対して発行される(キュー内のどれか1つ)。
次に、アービタ17は、マスタ14−1のアクセスリクエストをメモリコントローラ13に渡す。
リクエストキュー15内のリクエストはバンク11−0の別ページへのリードアクセスとバンク11−1へのリードアクセスとなるため、ペナルティサイクルの少ないバンク11−1へのアクセスリクエストがメモリ11に発行される(ST3)。
次に、アービタ17はマスタ14−2のアクセスリクエストをメモリコントローラ13に渡す。
この場合、リクエストキュー15内のリクエストはバンク11−0の別ページへのリードアクセスのみとなるため、バンク11−0へのリードアクセスリクエストがメモリ11に対して発行される。
以降、この繰り返しが行われる。
図11のシステム構成では、マスタ14−0のアクセスリクエストから順にメモリコントローラ13内のリクエストキュー15に格納される(ST11)。
この場合、バンク11−0へのリードアクセスリクエストがメモリ11に対して発行される(キュー内のどれか1つ)。このときバンクモニタ16はバンク11−0のページ3がオープン状態にあることをアービタ17に通知する(ST12〜ST14)。
次に、アービタ17はバンク11−0の同一ページのアクセスリクエストがマスタ群14から発行されていないことを確認し、マスタ14−1からのアクセスリクエストをメモリコントローラ13に渡す。
リクエストキュー15内のリクエストはバンク11−0の別ページへのリードアクセスとバンク11−1へのリードアクセスとなるため、ペナルティサイクルの少ないバンク11−1へのアクセスリクエストがメモリに発行される(ST15)。
このとき、メモリコントローラ13内バンクモニタ16はバンク11−1のページ0がオープン状態にあることをアービタ17に通知する。
単純ラウンドロビン方式では、アービタ17は次にマスタ14−2からのアクセスリクエストをメモリコントローラ17に渡す。
この場合、バンクモニタ16からバンク11−1のページ0がオープン状態であることを通知されている。このため、よりペナルティサイクルが0となるマスタ14−3またはマスタ14−5のアクセスリクエストがメモリコントローラ13に渡され、そのままメモリ11に発行される。
図16は、図12および図14における差異が明確になるよう、メモリが受け付けるアクセスリクエスト順序と、リクエストのバンクアドレスおよびページが一致(プリチャージコマンドの必要有無)する際に発生するペナルティサイクルの一例を示す図である。
図16からも分かる通り、本実施形態に係るメモリシステムでは既存システムと比較して上記動作時にペナルティサイクルが削減される。
本実施形態によれば、メモリシステム10は、メモリコントローラ13がメモリ11の各バンクのページオープン情報を含むバンク情報、リクエストキュー15内のリクエスト情報であるバンク、ロウ、リードライト等の情報をバス上のアービタ17に通知する。そして、アービタ17は、マスタ群14の各マスタから並列に発行されるリクエストをアービトレーションしメモリコントローラ13に送信する。
すなわち、アービタ17は、メモリコントローラ内のリクエストキュー内におけるスケジューリングによる局所最適化のみならず、バンクモニタ16が提供する各バンク情報とリクエストキュー15が提供するキュー情報を加味したアービトレーションを一元的に行う。
したがって、本実施形態によれば、以下の効果を得ることができる。
すなわち、システムバス内アービタ17が、バンクモニタ16が提供する各バンク情報とリクエストキュー15が提供するキュー情報を加味したアービトレーションを一元的に行うことで、より広い範囲でのアクセスリクエスト最適化を行うことができる。
システムバス12内のアービタ17はペナルティサイクルが少なくなるようメモリコントローラへリクエストを送信することから、チップ−メモリ間のスループットを改善することが可能となる。
なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
本発明の実施形態に係るメモリシステムの構成例を示す図である。 DDR2-SDRAM(DDR667 5-5-5)を接続した場合のリード時タイミングサイクルを説明するための図である。 リードアクセスが連続した場合であって、バンクアドレスが同一で、ロウアドレスが異なる場合のリード時タイミングサイクルを示す図である。 リードアクセスが連続した場合であって、バンクアドレスが異なる場合のリード時タイミングサイクルを示す図である。 リードアクセスが連続した場合であって、バンクアドレスとロウアドレスが同一の場合のリード時タイミングサイクルを示す図である。 DDR2-SDRAM(DDR667 5-5-5)を接続した場合の単発ライトアクセスのタイミングアクセスを示す図である。 ライトアクセスが連続した場合であって、バンクアドレスが同一で、ロウアドレスが異なる場合のライト時タイミングサイクルを示す図である。 ライトアクセスが連続した場合であって、バンクアドレスが異なる場合のライト時タイミングサイクルを示す図である。 ライトアクセスが連続した場合であって、バンクアドレスとロウアドレスが同一の場合のライト時タイミングサイクルを示す図である。 一般的なメモリシステムにおけるアクセスリクエストのアービトレーションを概念的に示す図である。 本実施形態に係るメモリシステムにおけるアクセスリクエストのアービトレーションを概念的に示す図である。 図10のメモリシステムにおけるアクセス例を示す図である。 図10のメモリシステムにおけるアービトレーション処理のフローチャートである。 図11のメモリシステムにおけるアクセス例を示す図である。 図11のメモリシステムにおけるアービトレーション処理のフローチャートである。 図12および図14における差異が明確になるよう、メモリが受け付けるアクセスリクエスト順序と、リクエストのバンクアドレスおよびページが一致(プリチャージコマンドの必要有無)する際に発生するペナルティサイクルの一例を示す図である。
符号の説明
10・・・メモリシステム、11・・・メモリ、11−0〜11−3・・・バンク、12・・・システムバス、13・・・メモリコントローラ、14・・・マスタ群、14−0〜14−6・・・マスタ、15・・・リクエストキュー、16・・・バンクモニタ、17・・・アービタ。

Claims (8)

  1. 複数のバンクを有するメモリと、
    リクエストキューおよびバンクモニタを含み、上記メモリへのアクセスを制御するメモリコントローラと、
    上記メモリへのアクセスをリクエストし得る複数のマスタを含むマスタ群と、
    上記メモリコントローラと上記マスタ群との間に接続され、アービタが配置されるシステムバスと、を有し、
    上記リクエストキューは、
    上記システムバスを経由して上記マスタ群から発行されたアクセスリクエストを受け取り、受け取ったアクセスリクエストを適宜並び替えるスケジューリング機能を含み、キュー情報を上記アービタに提供し、
    上記バンクモニタは、
    上記メモリの各バンク情報をモニタリングし、各バンク情報を上記アービタに提供し、
    上記アービタは、
    上記提供されるキー情報および上記バンク情報に基づいて上記マスタ群の各マスタから並列に発行されるリクエストをアービトレーションし、当該情報をアクセス制御情報として上記メモリコントローラに送信する
    メモリシステム。
  2. 上記アービタはペナルティサイクルが少なくなるよう上記メモリコントローラへリクエストを送信する
    請求項1記載のメモリシステム。
  3. 上記リクエストはデータ自体に加えて、バンクアドレス、ロウアドレス、カラムアドレスと、または、およびリクエスト発行マスタIDやプライオリティ情報が付加されて形成される
    請求項2記載のメモリシステム。
  4. 上記各バンク情報は、各バンクが現在オープンしているページ情報を含む
    請求項1から3のいずれか一に記載のメモリシステム。
  5. キュー情報は、上記リクエストキュー内に待機しているリクエストがアクセスする先のバンク、ページ情報並びに、リードとライトどちらであるか、リクエスト発行マスタID、プライオリティの情報を含む
    請求項1から3のいずれか一に記載のメモリシステム。
  6. 上記各バンク情報は、各バンクが現在オープンしているページ情報を含み、
    キュー情報は、上記リクエストキュー内に待機しているリクエストがアクセスする先のバンク、ページ情報並びに、リードとライトどちらであるか、リクエスト発行マスタID、プライオリティの情報を含む
    請求項1から3のいずれか一に記載のメモリシステム。
  7. システムバスを経由してマスタ群から発行された、複数のバンクを含むメモリへのアクセスリクエストを受け取り、受け取ったアクセスリクエストを適宜並び替えるスケジューリングを行うステップと、
    上記スケジューリングによりリクエストキュー内に待機させたキュー情報を上記システムのアービタに提供するステップと、
    上記メモリの各バンク情報をモニタリングするステップと、
    モニタリングして得られた各バンク情報を上記アービタに提供するステップと、
    上記アービタにおいて、上記提供されるキー情報および上記バンク情報に基づいて上記マスタ群の各マスタから並列に発行されるリクエストをアービトレーションするステップと、
    上記アービトレーションで得られた情報により上記メモリへのアクセスを管理するステップと
    を有するメモリシステムのアクセス制御方法。
  8. システムバスを経由してマスタ群から発行された、複数のバンクを含むメモリへのアクセスリクエストを受け取り、受け取ったアクセスリクエストを適宜並び替えるスケジューリングを行う処理と、
    上記スケジューリングによりリクエストキュー内に待機させたキュー情報を上記システムのアービタに提供する処理と、
    上記メモリの各バンク情報をモニタリングする処理と、
    モニタリングして得られた各バンク情報を上記アービタに提供する処理と、
    上記アービタにおいて、上記提供されるキー情報および上記バンク情報に基づいて上記マスタ群の各マスタから並列に発行されるリクエストをアービトレーションする処理と、
    上記アービトレーションで得られた情報により上記メモリへのアクセスを管理する処理と
    を含むメモリシステムのアクセス制御をコンピュータに実行させるプログラム。
JP2008160652A 2008-06-19 2008-06-19 メモリシステムおよびそのアクセス制御方法、並びにプログラム Ceased JP2010003067A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008160652A JP2010003067A (ja) 2008-06-19 2008-06-19 メモリシステムおよびそのアクセス制御方法、並びにプログラム
TW098119045A TW201009576A (en) 2008-06-19 2009-06-08 Memory system, access control method therefor, and computer program
US12/485,214 US8200882B2 (en) 2008-06-19 2009-06-16 Memory system, access control method therefor, and computer program
KR1020090053350A KR20090132512A (ko) 2008-06-19 2009-06-16 메모리 시스템, 그 액세스 제어 방법, 및 컴퓨터 프로그램
CN2009101463245A CN101609438B (zh) 2008-06-19 2009-06-19 存储器***、其访问控制方法和计算机程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008160652A JP2010003067A (ja) 2008-06-19 2008-06-19 メモリシステムおよびそのアクセス制御方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2010003067A true JP2010003067A (ja) 2010-01-07

Family

ID=41432444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008160652A Ceased JP2010003067A (ja) 2008-06-19 2008-06-19 メモリシステムおよびそのアクセス制御方法、並びにプログラム

Country Status (5)

Country Link
US (1) US8200882B2 (ja)
JP (1) JP2010003067A (ja)
KR (1) KR20090132512A (ja)
CN (1) CN101609438B (ja)
TW (1) TW201009576A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9335951B2 (en) 2012-08-29 2016-05-10 Samsung Electronics Co., Ltd. Memory device for reducing a write fail, a system including the same, and a method thereof
JP2016157284A (ja) * 2015-02-25 2016-09-01 日本電信電話株式会社 通信用入出力装置
US9465757B2 (en) 2013-06-03 2016-10-11 Samsung Electronics Co., Ltd. Memory device with relaxed timing parameter according to temperature, operating method thereof, and memory controller and memory system using the memory device
JP7414477B2 (ja) 2019-11-08 2024-01-16 キヤノン株式会社 メモリコントローラ、メモリコントローラで実施される方法および装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010003067A (ja) * 2008-06-19 2010-01-07 Sony Corp メモリシステムおよびそのアクセス制御方法、並びにプログラム
TWI421683B (zh) * 2010-11-01 2014-01-01 Phison Electronics Corp 資料管理方法、記憶體控制器與記憶體儲存裝置
US9811453B1 (en) * 2013-07-31 2017-11-07 Juniper Networks, Inc. Methods and apparatus for a scheduler for memory access
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US9910675B2 (en) 2013-08-08 2018-03-06 Linear Algebra Technologies Limited Apparatus, systems, and methods for low power computational imaging
US9934043B2 (en) * 2013-08-08 2018-04-03 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing computational imaging pipeline
US9727113B2 (en) 2013-08-08 2017-08-08 Linear Algebra Technologies Limited Low power computational imaging
KR20160061704A (ko) 2014-11-24 2016-06-01 삼성전자주식회사 페이지 상태 알림 기능이 있는 메모리 장치
CN105912270B (zh) * 2016-04-12 2019-01-18 上海交通大学 一种面向pm的访存请求解析装置与方法
US10152262B2 (en) * 2016-05-03 2018-12-11 Micron Technology, Inc. Memory access techniques in memory devices with multiple partitions
WO2017206000A1 (zh) * 2016-05-28 2017-12-07 华为技术有限公司 内存访问方法及内存控制器
US10037150B2 (en) * 2016-07-15 2018-07-31 Advanced Micro Devices, Inc. Memory controller with virtual controller mode
WO2018027535A1 (zh) * 2016-08-09 2018-02-15 华为技术有限公司 访问存储设备的方法和存储设备
CN108021516B (zh) * 2017-12-19 2020-12-25 联芸科技(杭州)有限公司 一种并行存储介质存储控制器的命令调度管理***与方法
GB2574270B (en) * 2018-06-01 2020-09-09 Advanced Risc Mach Ltd Speculation-restricted memory region type
CN111881068B (zh) * 2020-06-30 2024-06-04 上海思朗科技有限公司 多入口的全相联的高速缓冲存储器及数据管理方法
CN114450672A (zh) * 2020-11-06 2022-05-06 深圳市大疆创新科技有限公司 存储器的访问控制方法、装置和存储介质
CN116578245B (zh) * 2023-07-03 2023-11-17 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167546A (ja) * 1997-12-04 1999-06-22 Nec Corp バス制御方式およびこのバス制御方式を備えたマルチプ ロセッサシステム
JP2006099199A (ja) * 2004-09-28 2006-04-13 Seiko Epson Corp メモリアクセス要求の調停
JP2006260472A (ja) * 2005-03-18 2006-09-28 Matsushita Electric Ind Co Ltd メモリアクセス装置
JP2007199816A (ja) * 2006-01-24 2007-08-09 Megachips Lsi Solutions Inc バンクコントローラ、情報処理装置、撮像装置、および制御方法
JP2008287528A (ja) * 2007-05-18 2008-11-27 Renesas Technology Corp リクエスト調停装置及びメモリコントローラ
JP2009193107A (ja) * 2008-02-12 2009-08-27 Panasonic Corp メモリアクセス装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4961839A (en) * 1988-05-23 1990-10-09 Uop High conversion hydrocracking process
JPH0358150A (ja) 1989-07-26 1991-03-13 Nec Corp メモリ制御装置
JPH0392566A (ja) 1989-09-04 1991-04-17 Mazda Motor Corp 多気筒エンジンの気筒識別装置
GB2283596B (en) * 1993-11-01 1998-07-01 Ericsson Ge Mobile Communicat Multiprocessor data memory sharing
JPH07225745A (ja) 1994-02-09 1995-08-22 Canon Inc 情報処理装置及びアービトレーション方法
ZA989153B (en) * 1997-10-15 1999-05-10 Equistar Chem Lp Method of producing olefins and feedstocks for use in olefin production from petroleum residua which have low pentane insolubles and high hydrogen content
JP3092566B2 (ja) 1997-10-30 2000-09-25 日本電気株式会社 パイプライン方式のバスを用いたメモリ制御方式
EP1026595B1 (en) * 1999-01-11 2008-07-23 STMicroelectronics Limited Memory interface device and method for accessing memories
US6363461B1 (en) * 1999-12-16 2002-03-26 Intel Corportion Apparatus for memory resource arbitration based on dedicated time slot allocation
US6622225B1 (en) * 2000-08-31 2003-09-16 Hewlett-Packard Development Company, L.P. System for minimizing memory bank conflicts in a computer system
CN100505676C (zh) * 2006-12-28 2009-06-24 复旦大学 智能多缓冲区管理的集中调度控制器和动态调度方法
JP2010003067A (ja) * 2008-06-19 2010-01-07 Sony Corp メモリシステムおよびそのアクセス制御方法、並びにプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167546A (ja) * 1997-12-04 1999-06-22 Nec Corp バス制御方式およびこのバス制御方式を備えたマルチプ ロセッサシステム
JP2006099199A (ja) * 2004-09-28 2006-04-13 Seiko Epson Corp メモリアクセス要求の調停
JP2006260472A (ja) * 2005-03-18 2006-09-28 Matsushita Electric Ind Co Ltd メモリアクセス装置
JP2007199816A (ja) * 2006-01-24 2007-08-09 Megachips Lsi Solutions Inc バンクコントローラ、情報処理装置、撮像装置、および制御方法
JP2008287528A (ja) * 2007-05-18 2008-11-27 Renesas Technology Corp リクエスト調停装置及びメモリコントローラ
JP2009193107A (ja) * 2008-02-12 2009-08-27 Panasonic Corp メモリアクセス装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9335951B2 (en) 2012-08-29 2016-05-10 Samsung Electronics Co., Ltd. Memory device for reducing a write fail, a system including the same, and a method thereof
US9465757B2 (en) 2013-06-03 2016-10-11 Samsung Electronics Co., Ltd. Memory device with relaxed timing parameter according to temperature, operating method thereof, and memory controller and memory system using the memory device
JP2016157284A (ja) * 2015-02-25 2016-09-01 日本電信電話株式会社 通信用入出力装置
JP7414477B2 (ja) 2019-11-08 2024-01-16 キヤノン株式会社 メモリコントローラ、メモリコントローラで実施される方法および装置

Also Published As

Publication number Publication date
TW201009576A (en) 2010-03-01
US20090319730A1 (en) 2009-12-24
CN101609438A (zh) 2009-12-23
US8200882B2 (en) 2012-06-12
KR20090132512A (ko) 2009-12-30
CN101609438B (zh) 2012-03-14

Similar Documents

Publication Publication Date Title
JP2010003067A (ja) メモリシステムおよびそのアクセス制御方法、並びにプログラム
KR100724557B1 (ko) 아웃 오브 오더 dram 시퀀서
JP4695761B2 (ja) コマンド再順序付けシステム
US6026464A (en) Memory control system and method utilizing distributed memory controllers for multibank memory
JP5956089B2 (ja) 開放されたロウの好適する数をもつメモリ装置
EP2686774B1 (en) Memory interface
JP2002530742A (ja) 外部デバイスへのアクセスを優先順序付けるための方法および装置
JP2022514128A (ja) メモリコントローラのリフレッシュスキーム
JP4715801B2 (ja) メモリアクセス制御装置
JP2003535380A (ja) メモリ要求の再順序付けによりバス稼働率を向上させるメモリコントローラ
KR20150017526A (ko) 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법
TWI253563B (en) Read-write switching method for a memory controller
JP2019525271A (ja) 高速メモリインタフェースのためのコマンドアービトレーション
JP2009193107A (ja) メモリアクセス装置
JP2002530743A (ja) ページタグレジスタを使用して、メモリデバイス内の物理ページの状態を追跡すること
US20070198782A1 (en) Memory controller
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US20040006665A1 (en) Methods and structure for hiding DRAM bank precharge and activate latency by issuing apriori bank state transition information
JP7493311B2 (ja) バスシステムおよびその制御方法
KR101022473B1 (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
JP2004500608A (ja) ユニバーサルリソースアクセスコントローラ
JP2012226491A (ja) メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法
US10852956B1 (en) Structure of a high-bandwidth-memory command queue of a memory controller with external per-bank refresh and burst reordering
JP5383159B2 (ja) バス中継装置及び制御方法
CN114721978B (zh) 一种加快Nand Flash控制命令执行速度的方法及***

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130404

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20130924