JP4210303B2 - デジタル・カメラにおけるメモリ・アクセス帯域幅割付けおよびレイテンシ制御 - Google Patents

デジタル・カメラにおけるメモリ・アクセス帯域幅割付けおよびレイテンシ制御 Download PDF

Info

Publication number
JP4210303B2
JP4210303B2 JP2006534482A JP2006534482A JP4210303B2 JP 4210303 B2 JP4210303 B2 JP 4210303B2 JP 2006534482 A JP2006534482 A JP 2006534482A JP 2006534482 A JP2006534482 A JP 2006534482A JP 4210303 B2 JP4210303 B2 JP 4210303B2
Authority
JP
Japan
Prior art keywords
dma
snapshot
memory
dma request
queue
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.)
Active
Application number
JP2006534482A
Other languages
English (en)
Other versions
JP2007525876A (ja
Inventor
ウィザースプーン,ダリル・ジイ
Original Assignee
ニューコア・テクノロジー・インコーポレーテッド
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 ニューコア・テクノロジー・インコーポレーテッド filed Critical ニューコア・テクノロジー・インコーポレーテッド
Publication of JP2007525876A publication Critical patent/JP2007525876A/ja
Application granted granted Critical
Publication of JP4210303B2 publication Critical patent/JP4210303B2/ja
Active 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S358/00Facsimile and static presentation processing
    • Y10S358/906Hand-held camera with recorder in a single unit

Landscapes

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

Description

本発明は、限定されたメモリ・アクセス帯域幅を有するメモリにアクセスすることを必要とする複数の機能部分を有するデジタル・カメラに関する。
従来の消費者市場のデジタル・カメラは、通常画像処理回路や個別のメモリ集積回路を含む。メモリ集積回路は、たとえば、同期ダイナミック・ランダム・アクセス・メモリ(SDRAM)とすることが可能である。
画像は画像センサによって取り込まれる。画像センサは、メモリに記憶される未処理画像情報ストリームを出力する。ビデオまたは静止画像の高速シーケンスの場合、画像情報の流れは、かなり一定のストリームとすることができる。ストリームにおいて後続の未処理画像情報がメモリに記憶されるのと同時に、ストリームにおける先行する画像情報が、デジタル画像パイプライン(DIP)による画像処理のために、メモリから読み出される。デジタル画像パイプラインはいくつかの処理ブロックを含む。第1画像処理ブロックが、画像ストリームの第1部分について動作し、一方、第2画像処理ブロックが、画像ストリームの第2部分について動作している。各ブロックは、メモリから画像情報を読み取り、処理を実施し、次いで、その結果得られた処理情報を再びメモリに書き込む。したがって、デジタル画像パイプラインのいくつかのブロックが、同時にメモリにアクセスすることがある。
デジタル画像パイプラインの異なるブロックがメモリにアクセスすることを必要とするだけでなく、メモリ・アクセスを必要とする他の機能ブロックも、デジタル・カメラに存在する。一例では、デジタル・カメラは、JPEG圧縮ブロックを含む。JPEG圧縮ブロックは、メモリから画像を読み取り、その画像を圧縮し、次いでその画像の圧縮バージョンを出力して、その圧縮バージョンを再びメモリに記憶する。デジタル・カメラは、画像をメモリから読み取り、「サムネール」と呼ばれる画像のより小さいバージョンを作成し、次いで、このサムネールを再びメモリに書き込むズーム・エンジンを通常有する。デジタル・カメラは、取り込まれる画像をユーザが閲覧するディスプレイを通常有する。サムネールは、メモリから読み取られ、閲覧のためにディスプレイに供給される。デジタル・カメラは、画像の上にアイコンまたはテキスト情報を重ねる能力をも有する。オンスクリーン・ディスプレイ(OSD)・エンジンが、メモリから背景画像を読み取り、アイコンまたはテキストもしくは他の視覚特徴を背景画像の上に重ね合わせ、次いで、カメラのディスプレイ上での閲覧のために、その合成画像をメモリに再び書き込むことが可能である。カメラは、たとえばMPEG2コーデックなど、ビデオ符号器/復号器を含むことも可能である。画像情報は、メモリから読み取られ、MPEG2コーデックにより送信される。MPEG2コーデックによって出力され、その結果得られたMPEG2ストリームは、次いで、メモリに戻される。
メモリ集積回路は、情報をメモリに書き込むために使用され、情報をメモリから読み取るために使用される単一アクセス・ポートを通常有する。画像情報をメモリ集積回路から読み取ることを必要とし、また画像情報をメモリ集積回路に書き込むことを必要とする複数の異なるエンティティのために、メモリ集積回路のアクセス・ポートは、カメラのスループット・ボトルネックとなることが多い。単位時間当たりにアクセス・ポートに移動させることができるデータ量は、限定される。カメラが適切に動作するために、アクセス・エンティティのそれぞれによってメモリ内外に移動させる全データ量は、全体で、メモリ集積回路の最大メモリ・アクセス帯域幅より小さい数でなければならない。
すべてのアクセス・エンティティによって必要とされる全メモリ・アクセス帯域幅が、長期にわたって利用可能である利用可能メモリ・アクセス帯域幅より小さくなければならないだけでなく、アクセス・エンティティのそれぞれが、メモリにアクセスすることを過度に長期に待つことがあってはならない。アクセス・エンティティのそれぞれがメモリにアクセスするのに必要な時間量は、レイテンシと呼ばれることがある。アクセス・エンティティが過度に待たされる場合、そのエンティティのオペレーションは、失敗し、または遅くなり、あるいは停止され、それにより、カメラの全体のスループットが低下する。いくつかのアクセス・エンティティは、他のエンティティと同程度のレイテンシに対応することができないこともある。画像センサからメモリへのビデオ画像情報の流れは、少量のレイテンシしか通常許容することができないという類のプロセスである。画像センサから出力されている未処理ビデオ画像情報をある時間量内に記憶することができない場合、その情報は上書きされる可能性があり、それにより、未処理画像情報が失われる。他のアクセス・エンティティは、対照的に、それらのエンティティがメモリへアクセスする必要な量を受け取るのと同程度の長期間にわたって、メモリにアクセスすることを通常待つことができる。
1つの従来のデジタル・カメラでは、全体的なメモリ・アクセス帯域幅とレイテンシの問題は、アービタを使用して対処される。アクセス・エンティティのそれぞれが、それ自体の1つまたは複数の専用DMAエンジンを有する。各アクセス・エンティティ内に、メモリにアクセスするサブエンティティが存在することがある。アクセス・エンティティの1つがメモリにアクセスする必要があるとき、そのDMAエンジンがアービタに要求する。要求するDMAエンジンが1つのみである場合、要求は許可され、アクセス・エンティティは、メモリへのアクセスを得る。複数のDMAエンジンが同時に要求する場合、そのDMAエンジンの1つが、厳密な優先順位またはラウンド・ロビン・アービトレーション方式に基づいて選択される。たとえば、未処理画像データを画像センサからメモリに移動させるDMAエンジンが、ズーム・エンジンのDMAエンジンが要求するのと同時に要求する場合、未処理画像データのDMAエンジンは、通常、その許可された要求を有し、ズーム・エンジンのDMAエンジンは、通常、待たなければならない。レイテンシの問題を防止するために、このシステムは、最低優先順位DMAエンジンのレイテンシと帯域幅の要件が無効となるほどの短時間において、非常に多くの高優先順位要求を提出することができないように設計される。DMAエンジンがいつ要求することができるかを制御し、要求エンティティのそれぞれのレイテンシとスループットの要件が無効にならないことを保証するために、困難なシステム設計問題が生じることがある。たとえば、システムが変更される場合、様々なDMAエンジンのタイミングやその要求のタイミングが、複雑に変化することがある。システムの様々な処理ブロック間の相互作用の再分析も必要であろう。帯域幅とレイテンシの問題に対処するために、ネットワーキングや電気通信の技術分野では、流れの成形とスケジューリングがルータやスイッチの設計において使用される。しかし、これらの技法は、一般に複雑で、実施が高価で厄介な傾向がある。価格に敏感な消費者市場のデジタル・カメラにおいて使用するのに適切である安価な解決法が望ましい。
デジタル・カメラのメモリ(たとえば、同期動的読取り専用メモリ−SDRAM)が、画像情報を記憶し、単一アクセス・ポートを有する。画像情報は、この単一アクセス・ポートで、メモリから読み取られ、メモリに書き込まれる。このアクセス・ポートのメモリ・アクセス帯域幅は、各リクエスタに「スナップショットあたりトークン」(TPS)値を割り当てることによって、画像情報のリクエスタのうちのいくつかに割り付けられる。スナップショットあたりトークン値は、たとえば、DMA要求エントリの数を示す数とすることが可能である。リクエスタのそれぞれは、DMAエンジンとDMA要求エントリ・キューを有する。リクエスタがメモリにアクセスすることを望む場合、DMA要求エントリが、リクエスタのDMA要求エントリ・キューにプッシュされる。このDMA要求エントリは、とりわけ、アクセスが読取りであるか書込みであるか、および開始アドレスがメモリ内においてアクセスされるものであるかを示す。
アービタ・ブロックが、様々なDMA要求キューからDMA要求エントリを選択するために、様々なリクエスタのTPS値を使用する。たとえば、所与のリクエスタが2のTPS値を割り当てられている場合、そのアービタ・ブロックは、(2つのDMAエントリがそのキューにあるとすれば)キューから2つのDMA要求エントリを選択することができる。2つより少ないDMA要求エントリがキューに存在する場合、そのアービタ・ブロックは、キューから選択することができる可能な限り多くのDMAエントリを選択する。このようにして、アービタ・ブロックは、各キューからDMA要求エントリを選択する。選択されたDMA要求エントリの結果的なセットは、「スナップショット」と呼ばれる。
スナップショットが選択された後、アービタ・ブロックは、メモリにアクセスする際にメモリ・アクセス・オーバーヘッドが低減される、または最小限に抑えられるようにサービスする順序で、スナップショットからDMA要求エントリを選択する。しかし、DMA要求エントリがサービスのために選択される前に、各キューに関連して記憶されている「サービス・タイム・アウト値」(STOV)が検査される。サービス・タイム・アウト値は、ある時間を示す値であり、その時間の後、DMA要求エントリのサービスを瞬時にサービスしても、最小限のメモリ・アクセス・オーバーヘッドとはならないDMA要求エントリのサービス順序になるということとは関係なく、キューのDMA要求エントリがサービスされるはずである。したがって、アービタ・ブロックは、サービス・タイム・アウト値のいずれかが経過しているかを確認するために、タイマを検査する。キューがタイム・アウトしたと判定される場合、サービスのためにスナップショットから選択される次のDMA要求エントリは、そのキューの最も古いDMA要求エントリである。
各キューは、タイム・アウト値(TOV)が記憶されているレジスタを有する。DMA要求エントリがアービタ・ブロックによってサービスのために選択されるとき、タイマによって示される現在時間は、タイム・アウト値(TOV)に追加される。結果的な時間は、キューのサービス・タイム・アウト値(STOV)となる。
スナップショットのすべてのDMA要求エントリが、サービスのために選択された後、次いでアービタ・ブロックは、DMA要求エントリの次のスナップショットを選択する。DMA要求エントリがアービタ・ブロックによってサービスのために選択されるとき、DMA要求エントリに関連付けられるDMAエンジンは、メモリ・インタフェース・ユニット(MIU)を介して読取りおよび/または書込みをSDRAMに対して発行する。MIUは、読取りおよび/または書込みを、使用される特定のメモリによって理解されるメモリ・コマンドに変換する。可能であれば、MIUは、起動コマンド、カラム読取りコマンド、カラム書込みコマンド、プレチャージ・コマンドなどのあらゆる必要なメモリ・コマンドを、データがメモリ内外に転送されるのと同時にメモリに供給する。起動、カラム読取り、カラム書込み、プレチャージ・コマンドをこのように供給することにより、メモリ・アクセス・オーバーヘッドが低減される。
各キューのスナップショットあたりトークン(TPS)値とタイム・アウト(TOV)値の両方をプロセッサによって書き込むことができる。キューのスナップショットあたりトークン(TPS)値を増大させることにより、他のリクエスタに関するキューに関連付けられたリクエスタに割り当てられるメモリ・アクセス帯域幅の量が増大する。キューのタイム・アウト(TOV)値を減少させることにより、キューのDMA要求エントリの連続サービス間の最大時間量が低減され、したがって、関連付けられたリクエスタのメモリ・アクセスレイテンシが低減される。
上記の例では、トークンはDMA要求エントリを示すが、トークンは、多くのリクエスタの中でメモリ・アクセス帯域幅を割り付けるためにTPS値を使用することができる他の量を表すことが可能である。たとえば、トークンは、リクエスタがメモリのアクセス・ポートを使用することができる時間量を表してもよい。たとえば、トークンは、リクエスタのDMAエンジンがメモリ内外に移動させるデータ量を表すことが可能である。
上記の例では、すべてのDMA要求エントリが等しいデータ移動量に対応するが、これは必要ではない。一例では、DMA要求エントリは、異なるデータ移動量を示すことができる。キューの底部におけるDMA要求エントリのデータ移動量は、キューのスナップショットあたりトークン(TPS)値になるキューの末尾にあるDMA要求エントリの数を決定するために合計される。代替として、DMAエントリは、キューのスナップショットあたりトークン(TPS)値となるキューの末尾にあるDMA要求エントリの数を決定するために、キューの末尾にあるDMA要求エントリの時間量が合計されるように、異なる時間量を示すことができる。
他の実施形態および利点を、以下の詳細な説明において説明する。この概要は、本発明を定義するものではない。本発明は、特許請求の範囲によって定義される。
同様の番号が同様の構成要素を示す添付の図面は、本発明の実施形態を示す。
ここで、添付の図面において例が示されている本発明のいくつかの実施形態を詳細に参照する。
図1は、本発明の一実施形態によるデジタル・カメラ1の簡略化されたブロック図である。カメラ1は、画像処理回路2とメモリ集積回路3を含む。メモリ集積回路3は、たとえば、画像情報を記憶する単一の同期ダイナミック・ランダム・アクセス・メモリ(SDRAM)集積回路である。
画像処理回路2は、複数の要求エンティティを含む。これらの要求エンティティのそれぞれは、DMAエンジンを含む。図1は、未処理画像情報出力を画像センサからSDRAM3に転送するDMAエンジン4、デジタル画像パイプラインのDMAエンジン5、ズーム・エンジンのDMAエンジン6、情報をLDCディスプレイなどのディスプレイに転送するDMAエンジン7、JPEG圧縮エンジンのDMAエンジン8を示す。画像処理回路2は、メモリ・インタフェース・ユニット(MIU)9、アービタ・ブロック10、複数のキュー11〜15をさらに含む。DMAエンジンがSDRAM3にアクセスする場合、MIU9を経てそれを実施する。たとえば、DMAエンジン4がSDRAM3から読み取るとすると、DMAエンジン4は、アービタによって並列DMAバス16を介して一連の読取りをMIU9に対して発行することができるとき、それを実施する。読取りは、MIU9内の先入れ先出しメモリ17においてバッファされる。次いで、MIU9は、SDRAM3によって理解されるメモリ・コマンドに、読取りを変換する。たとえば、メモリ位置をSDRAM3から読み取ることができるようになる前に、SDRAM3は、所望の位置を含むメモリ・バンクが「起動される」ことを必要とする可能性がある。MIU9は、バンクが起動される必要があることを認識する知能を有し、SDRAM3にバンクを起動させるのに必要な起動コマンドを生成する。起動コマンドは、その後のメモリ・アクセスの行アドレスと共に、SDRAM3のコマンド・バス18に供給される。起動コマンドと行アドレスをコマンド・バス18上において送信した後、MIU9は、適切なメモリ読取りコマンドをSDRAM3に送信する。その後のメモリ・アクセスの列アドレスが、コマンド・バス18を介して、メモリ読取りコマンドと共に供給される。SDRAM3は、バンクによって示される位置の内容、行アドレス、列アドレスを16ビット幅の平行データ・バス19を介してMIU9に戻す。コマンド・バス18とデータ・バス19は、共に、SDRAM3の2重データ率(DDR2)アクセス・ポートを備える。SDRAM3へのすべての読取りと書込みは、この単一アクセス・ポート上において生じる。アクセス・ポートのオペレーションに関するさらなる情報については、JEDEC Solid State Technology Association(2500 Wilson Boulevard、Arlington、VA22201)発行のJEDEC Standard「DDR2 SDRAM Specification」(JESD79−2A、2004年1月)を参照されたい(この主題は、参照によって本明細書に組み込まれている)。
アービタ・ブロック10は、アービタ20、タイマ21、複数のスナップショットあたりトークン(TPS)レジスタ22〜26、複数のタイム・アウト値(TOV)レジスタ27〜31を含む。DMAエンジンのそれぞれについて、1つのTPSレジスタと1つのTOVレジスタが存在する。画像処理回路2の様々なブロックのオペレーションを制御するプロセッサ(図示せず)が、平行バス32を介して、様々なTPSレジスタとTOVレジスタに対して書込みを行う。一実施形態では、このプロセッサは、ARMプロセッサであり、バス32は、AMBA準拠の32ビット・データ・バスである。
カメラ1が動作しているとき、様々な要求エンティティは、それぞれのDMAエンジンを介してDMA要求エントリをそれぞれのキューにプッシュする。図では、DMA要求エントリが、キューの既存DMAエントリの上にプッシュされる。各DMA要求エントリは、ある量のデータをSDRAMから読み取る要求、またはある量のデータをSDRAMに書き込む要求である。データ量は、この例では、読取り要求エントリと書込み要求エントリの両方について、16バイトである。各DMA読取り要求エントリは、SDRAMから読み取られる第1バイトの開始アドレスと、要求が読取り要求であることを示すインジケータ・ビットを含む。各DMA書込み要求エントリは、データが書き込まれるSDRAMの第1位置の開始アドレス、ならびに要求が書込み要求であることを示すインジケータ・ビットを含む。
この例では、DMAエンジン4は書込み要求をキュー11にプッシュする。DMAエンジン4は、アービタ・ブロック10によってそのように実施する許可を与えられるとき、カメラの画像センサ(図示せず)から来る未処理画像情報をSDRAM3に移動させる。DMAエンジン5は、デジタル撮像パイプライン(DIP)のDMAエンジンである。DMAエンジン5は、DMA読取り要求エントリをキュー12にプッシュする。アービタ・ブロック10によってそのように実施する許可を与えられるとき、DMAエンジン5は、SDRAM3から未処理画像情報を読み取り、情報をDIPに転送する。DIPは、画像情報を処理する。次いで、DMAエンジン5は、DIPの出力を再びSDRAM3に書き込む許可を与えられるように、DMA書込み要求エントリをキュー12にプッシュする。同様に、ズーム・エンジンのDMAエンジン6は、読取り要求と書込み要求の両方をキュー13にプッシュする。DMAエンジン7は、読取り要求をキュー14にプッシュする。JPEGエンジンのDMAエンジン8は、読取り要求と書込み要求をキュー15にプッシュする。図1は、DMA要求エントリを含むキュー11〜15のそれぞれを示す。図1の「SA」表示は、DMA要求エントリの「開始アドレス」部分を示す。
アービタ・ブロック10は、DMA要求エントリのどれがまず許可され、したがって、DMAエンジンのどれがまずSDRAM3にアクセスすることができるかを決定する。アービタ・ブロック10は、どのDMA要求エントリが許可されたかを決定した後、専用肯定応答信号線によって、許可信号を適切なDMAエンジンに戻す。許可信号は、それぞれの許可線によって他のDMAエンジンに供給されることはない。許可線は、番号33〜37によって示されている。許可を受け取ったDMAエンジンは、次いで、それ自体のキュー上において最も古いDMA要求を取り出す。図1の例における各キューの最も古いDMA要求エントリは、キューの末尾にあるDMA要求エントリである。DMAエンジンは、読取りおよび/または書込みをMIU9に対して発行することによって、上記で記述されたように、この最も古いDMA要求エントリをサービスする。MIU9は、上記で参照されたJEDEC規格に従って、読取りおよび/または書込みをSDRAM3に適切なメモリ・コマンドに変換する。
DMAエンジンは、読取りおよび/または書込みをMIU9に対して発行することによって最も古いDMA要求をサービスするとき、専用実施信号線を介して、実施信号をアービタ・ブロック10に送信する。実施信号線は、番号38〜42によって示されている。アービタ・ブロック10が実施信号を受信すると、アービタ・ブロック10は、許可された次のDMA要求エントリを決定する。
アービタ・ブロック10が、どのDMA要求エントリが許可されたかを決定する方法は、以下の通りであり、図2に記載されている。まず(図2のステップ100)、アービタ・ブロック10が、各DMAキューから選択されるDMA要求エントリの数を決定するために、キューのそれぞれについてスナップショットあたりトークン(TPS)値を使用する。この例では、スナップショットあたりトークン(TPS)数は、DMA要求エントリのユニットの数である。たとえば、2のスナップショットあたりトークン(TPS)数は、2つのDMA要求エントリを示す。
選択されたDMA要求エントリのセットは、本明細書では、DMA要求エントリの「スナップショット」と呼ばれる。スナップショットのすべてのDMA要求エントリは、他のあらゆるDMA要求エントリが許可される前に許可される。エントリの第1スナップショットが許可された後、エントリの第2スナップショットを選択することができる。DMA要求エントリの第1スナップショットが許可された後でのみ、DMA要求エントリの第2スナップショットを許可することができる。このプロセスは反復される。第1DMAエンジンが、第2DMAエンジンとしてメモリ・アクセス帯域幅の量の2倍を割り付けられる場合、第1DMAエンジンは、第2DMAエンジンが受信するのと同数程度のスナップショットあたりDMAエントリを平均して割り付けられるべきである。したがってこの第1DMAエンジンのスナップショットあたりトークン(TPS)値は、第2DMAエンジンのスナップショットあたりトークン(TPS)値の2倍となるように設定される。
図3は、DMA要求エントリの第1スナップショットが選択される一例を示す。DMAエンジン4〜8のそれぞれのスナップショットあたりトークン(TPS)値は、それぞれ、1、4、2、2、6である。DMA要求エントリは、キュー11には存在しない。したがって、DMA要求エントリは、キュー11のスナップショットあたりトークン(TPS1)が1である場合でも、キュー11から選択されない。キュー12の先頭の4つのDMAエントリが選択され、キュー13の先頭の2つのDMAエントリが選択され、キュー14の先頭の2つのDMAエントリが選択され、キュー15の先頭の3つのDMAエントリが選択される。キュー15の3つのDMAエントリのみが、DMAエンジン8のTPS値が6である場合でも選択される。これは、キュー15が、3つのDMAエントリのみを含むからである。図3の線200が、選択されたDMAエントリを表している。
DMAエントリの第1スナップショットが選択された後、アービタ20は、以下のように、許可されたDMA要求エントリを選択する(図2のステップ101)。特定のDMAエンジンのDMA要求エントリが許可されたとき(たとえば、DMAエンジンから実施信号を受信することによって示される)、DMAエンジンのサービス・タイム・アウト値STOV(図示せず)が、タイマ21によって維持される現在時間に、DMAエンジンに対応するTOVレジスタに記憶されているタイム・アウト値TOVを加えたものに再設定される。DMAエンジンが、サービス・タイム・アウト値STOVが到着する時間(タイマ21によって示される)までに許可されたそれ自体の次のDMA要求エントリを有していない場合、アービタ20は、そのDMAエンジンの最も古いDMA要求エントリであると認められた次のDMA要求エントリを選択する。したがって、アービタ20は、DMAキューのいずれかがタイム・アウトしたかを確認するために検査する(図2のステップ101)。
DMAキューがタイム・アウトした場合、タイム・アウトしたDMAキューの次のDMAエントリは、許可された次のDMA要求である。タイム・アウトしたDMAキューがない場合、アービタ20は、SDRAMアクセス・オーバーヘッドを最小限に抑えられると認められ、スナップショットの次のDMA要求エントリを選択する(図2のステップ101)。SDRAMアクセス・オーバーヘッドを最小限に抑える方法が、以下においてさらに詳細に説明される。スナップショットのすべてのDMA要求エントリが許可されていない場合(図2のステップ104)、DMA要求エントリを許可するプロセス(ステップ101)は、スナップショットのすべてのDMA要求エントリが許可されるまで続行される。スナップショットのすべてのDMA要求エントリが許可された後、処理は、ステップ100に戻り、DMA要求のその後のスナップショットが選択される。
DMA要求エントリがスナップショット内において許可される順序は、メモリ・アクセス・オーバーヘッドが低減される、または最小限に抑えられるように選択される。DMA要求エントリの許可を行うある種の順序では、メモリ・アクセス・オーバーヘッドが他の順序より多くなることもある。アービタ20は、アクセスされる特定のタイプのメモリについて、このオーバーヘッドを低減する、または最小限に抑えるDMA要求エントリ許可の順序を選択することができる知能を有する。これを実施する方法を、図4に関して説明する。
図4は、通常のSDRAM集積回路30を示す。SDRAM30は、メモリ・セルの4つのバンク31〜34を有する64メガバイトのSDRAMである。各バンクは、16メガバイトのメモリ・セルを有する。各バンクは、メモリ・セルの多くの1kバイトのページで作成される。第1バンクの1ページがアクセスされ、次のアクセスが同じバンクの同じページへのアクセスである場合、SDRAM集積回路は、バンクがプレチャージされる、または起動されることを必要としない(リフレッシュなど、ある他の介入非アクセス関係事象が存在しない限り)。第2アクセスは、第2アクセスを実施することができるようになる前にSDRAMに送信されなければならない任意の特別なプレチャージ・コマンドまたは任意の特別な起動コマンドを有さずに、第1アクセスに続くことができる。
しかし、第1アクセスがバンク内のページであり、次のアクセスが同じバンクの別のページである場合、第2ページは、第2アクセスを実施することができるようになる前に、起動されなければならない。起動コマンドが、コマンド・バス18を介してSDRAM3に送信される。第2ページが起動された後でのみ、第2アクセスを実施することができる。したがって、この順序のメモリ・アクセスを実施することに対して、メモリ・アクセス帯域幅ペナルティが存在する。
第1アクセスが第1バンク内のページであり、次のアクセスが別のバンクのページである場合、メモリ・アクセス帯域幅ペナルティが存在することも、存在しないこともある。第2アクセスを実施することができるようになる前に、第2ページは起動されなければならない。しかし、読取り遅延または書込み遅延の起動が満たされるように、より早期にこの起動を実施するようにSDRAMに命令することができる。読取り時間または書込み時間の起動の前に、起動コマンドをコマンド・バス18を介してSDRAMに送信することができる場合(ある以前の読取りアクセスまたは書込みアクセスのためのデータ転送と重なる)、このアクセス順序に関連するメモリ・アクセス帯域幅ペナルティは、最小限に抑えられる。一方、読取り遅延または書込み遅延の起動を満たすように十分早く第2アクセスの起動コマンドをSDRAMに送信することができない場合、第2アクセスを遅延させ、メモリ・アクセス帯域幅ペナルティを構築する。アービタ20は、SDRAM3にアクセスすることに伴うメモリ・アクセス帯域幅ペナルティが低減される、または最小限に抑えられるように、第1スナップショット200内のDMAエントリの許可をどのように順序付けるかを認識する(図3参照)。
一実施形態では、アービタ20は、スナップショットのDMAエントリがそれらの様々なキューに依然としてある間、スナップショットのすべてのDMAエントリの開始アドレスを調査する。アービタ20は、キューの任意のDMAエントリを除去し、除去されたDMAエントリがスナップショット内にあるとすれば、DMAエントリがそのキュー上において最も底の(最も古い)DMAエントリでない場合でも、そのDMAエントリをそれ自体の対応するDMAエンジンに渡すことができる。これにより、アービタ20は、スナップショットのDMAエントリを除去し、メモリ・アクセス帯域幅ペナルティが低減される、または最小限に抑えられるような任意の順序でそれらをDMAエンジンに渡すことが可能になる。
図5は、DMA要求エントリが、メモリ・アクセスを行わせるコマンドに変換される方法を示す流れ図である。まず(図5のステップ102)、それ自体の許可線を介して許可を受け取るDMAエンジンが、DMAエンジンがMIU9から読み取っている、または書き込んでいるかのように、DMAバス16上においてメモリ読取りまたはメモリ書込みを発行する。様々なDMAエンジンからのメモリ読取りとメモリ書込みは、MIU9内のFIFO17において累積する。次に(図5のステップ103)、MIU9は、FIFO17のメモリ読取りとメモリ書込みのストリームを調査し、任意の必要なプレチャージをパイプライン化し、そうすることが可能であれば、以前のメモリ・アクセスを用いてコマンドを起動する。したがって、アービタ20とMIU9は、メモリ・アクセス・オーバーヘッドを低減するために使用される特定のSDRAMの特異性に対処するように、共に作用する。MIU9は、FIFO17のメモリ読取りとメモリ書込みを、コマンド・バス18上においてSDRAM3に供給される適切なメモリ・コマンドに変換する。MIU9はまた、メモリ書込みのためにデータ・バス19を介してデータをSDRAM3に供給し、メモリ読取りのためにデータ・バス19を介してデータをSDRAM3から受け取る。
図6は、図3のDMAエントリの第1スナップショット200が選択された直後に、DMA要求エントリがキュー11、15にプッシュされることを示す。DMA要求エントリ201は、キュー11にプッシュされる新しいDMA要求エントリである。この例では、キュー15にプッシュされる新しいDMA要求エントリも存在する。上記で詳しく説明されたように、第1スナップショットのすべてのエントリが許可され、その後、これらの新しくプッシュされるDMA要求エントリのいずれかが、スナップショットに組み込まれるために選択される。
図7は、DMA要求エントリの第2スナップショット202が取り入れられるその後のステップを示す。再び、アービタ20は、レジスタ27〜31内のスナップショットあたりトークン(TPS)値を使用して、存在するならば、各キューから選択されるDMA要求エントリの数を決定する。DMAエンジン4のスナップショットあたりトークン値TPS1は1であり、したがって、新しく追加されたDMAエントリ201は、第2スナップショットに組み込まれるために選択される。DMAエンジン5のスナップショットあたりトークン値TPS2は4であるが、キュー12には2つのDMAエントリしか存在しない。したがって、2つのDMAエントリのみがキュー12から選択される。DMAエンジン8のスナップショットあたりトークンTPS5は6であり、キュー15には6つのDMAエントリが存在し、したがって、6つのDMAエントリが、キュー15から選択される。選択されたDMA要求エントリは、図7において線202で囲まれて示されている。
図8は、図3、6、7の状況において出現することがあるレイテンシの問題を示す。キュー11からDMAエントリを許可する最大時間量は、メモリ・アクセス時間のほぼ2つのスナップショットに値する。これは、DMA要求エントリ201などのDMA要求エントリが、第1スナップショットのエントリの選択直後に到達し、DMA要求エントリ201が、第2スナップショットにおいて許可された最後のDMA要求エントリになる状況において生じる。図8は、そのような状況を示す。
図8の状況に関連するレイテンシをDMAエンジン4によって許容することができない場合、キュー11のタイム・アウト値TOV1は、DMAキュー11がより早い時間にタイム・アウトするように設定される。画像センサからの未処理画像情報を転送し、その未処理画像情報をSDRAM3の中に配置するDMAエンジン4は、たとえば、データをSDRAM3に転送しようとするとき、比較的少量のレイテンシしか許容することができないこともある。DMAエンジン4が、未処理画像情報をSDRAM3に書き込もうとしているときに、過度に長期に待たされる場合、その未処理画像情報は、上書きされる可能性があり、それにより、未処理画像情報が失われることになる。こうしたレイテンシの問題は、回避されるべきである。
図9は、タイム・アウト値TOV1が、11個のDMA要求(第1スナップショットの11個のDAM要求)を許可するのにかかる時間量より小さく設定される一例を示す。したがって、キュー11の末尾にないエントリがこの時間量では認められていないので、DMAキュー11は、DMA要求エントリの第1スナップショットの許可中にタイム・アウトする。DMA要求エントリの第2スナップショットが選択され、第2スナップショットにおけるどのDMA要求エントリが認められたかの選択が開始されるとき、DMA要求エントリ201は、キューがタイム・アウトしていない第2スナップショットの他のDMA要求エントリよりも前に認められたために選択される。図9のDMA要求エントリ201は、図8に示される第2スナップショットの13個のDMA要求エントリの許可の終了時ではなく、第2スナップショットの13個のDMA要求エントリの許可の開始時に許可されたことに留意されたい。
本発明は、説明の目的のためにある特定の実施形態に関連して説明されてきたが、本発明は、それに限定されるものではない。DMA要求エントリのスナップショットを選択する技法は、デジタル・カメラでの使用に限定されず、それよりもむしろメモリへのアクセスを制御するのに有用な汎用技法である。メモリにアクセスすることを要求するエンティティは、いくつかの実施形態ではDMAエンジンとすることができるが、他のタイプのエンティティを要求エンティティとすることもできる。プロセッサや特定用途状態機械を要求エンティティとすることもできる。本発明は、1つのメモリ集積回路へのアクセスを制御することに関連して説明されたが、本発明は、複数の集積回路へのアクセスを制御するのに有用である。アクセスが制御されるメモリは、アービタ回路とは別の集積回路である必要はなく、それよりもむしろアービタ回路とメモリの両方を同じ集積回路に組み込むことができる。バス16は、バス・コンダクタの単一グループが、DMAエンジン4〜8のうちの選択された1つからMIU9へ情報を搬送するバスとして示されているが、これは必要ではない。DMAバス16は、上において信号が双方向に渡されるコンダクタを有する必要はない。たとえば、DMAエンジン4〜8の出力は、マルチプレクサのデータ入力リードに供給することができ、マルチプレクサの選択入力リードは、DMAエンジン4〜8のうちの選択された1つをMIU9に結合するように、アービタによって制御することができる。メモリ・アクセス帯域幅を割り付けるためにスナップショットを使用する技法が、デジタル・カメラと関連して上記で説明されたが、この技法は、メモリを含む任意のシステムにおいて適用可能である。したがって、特許請求の範囲において詳しく記載される本発明の範囲から逸脱せずに、ここに説明した実施形態の様々な特徴の変更形態、適合、および組合せを実施することができる。
本発明の一実施形態によるデジタル・カメラの図である。 スナップショットに組み込まれるDMA要求エントリを選択し、スナップショットのDMA要求エントリをその後許可する簡略化された流れ図である。 DMA要求エントリの2つの連続するスナップショットの選択を示す図である。 SDRAM集積回路の1つの可能な構造を示す図である。 どのように許可されたDMA要求エントリがMIUを通過し、MIUによってメモリ・コマンドに変換されるかを示す簡略化された流れ図である。 DMA要求エントリの2つの連続するスナップショットの選択を示す図である。 DMA要求エントリの2つの連続するスナップショットの選択を示す図である。 図3、6、および7の例に付随する潜在的なレイテンシの問題を示す図である。 本発明の一実施形態に従って、図8に示されたレイテンシの問題が解決される方法を示す図である。

Claims (24)

  1. 画像情報を記憶するメモリと、
    第1DMAエンジンと、
    前記第1DMAエンジンのためにDMA要求エントリを記憶する第1キューと、
    スナップショットあたり第1トークン(TSP1)を記憶する回路と、
    第2DMAエンジンと、
    前記第2DMAエンジンのためにDMA要求エントリを記憶する第2キューであって、前記第1キューの各DMA要求エントリと前記第2キューの各DMAエントリが、関連するデータ移動量を示す、第2キューと、
    第2スナップショットあたりトークン数(TPS2)を記憶する回路と、
    前記第1キューからのDMA要求エントリの第1数と、前記第2キューからのDMA要求エントリの第2数とを有するDMA要求エントリの第1スナップショットを選択するアービタと
    を備え、TPS1が前記第1数を決定するために使用され、TPS2が前記第2数を決定するために使用され、前記アービタが、前記第1スナップショットの前記DMA要求エントリが前記第1DMAエンジンと前記第2DMAエンジンによって処理される順序を決定する、カメラ。
  2. 画像センサをさらに備え、前記第1DMAエンジンが、前記画像センサから受信した未処理画像データを前記メモリ内に移動させる請求項1に記載のカメラ。
  3. ズーム・エンジンと、
    圧縮エンジンと
    をさらに備え、前記第1DMAエンジンが前記ズーム・エンジンと前記メモリとの間でデータを移動させ、前記第2DMAエンジンが前記圧縮エンジンと前記メモリとの間でデータを移動させる請求項1に記載のカメラ。
  4. 前記アービタが、DMA要求エントリの第2スナップショットを選択し、前記第1スナップショットのすべての前記DMA要求エントリが、前記第2スナップショットの任意のDMA要求エントリが処理される前に処理される請求項1に記載のカメラ。
  5. 前記DMA要求エントリのそれぞれがアドレスを含み、また、前記アービタが、前記第1スナップショットのDMA要求エントリのアドレスを調査することによって、前記順序を決定し、さらに、いくつかが他より高いメモリ・オーバーヘッドを有する前記メモリにアクセスする複数の可能な異なる順序が存在し、さらに前記アービタが、メモリ・アクセス・オーバーヘッドを最小限に抑えるように、前記第1スナップショットの前記DMA要求エントリを順序付けする請求項1に記載のカメラ。
  6. メモリ・インタフェース・ユニット(MIU)をさらに備え、前記第1DMAエンジンと前記第2DMAエンジンがある順序で前記MIUにメモリ・アクセス要求を発行し、前記メモリ・アクセス要求の前記順序が、前記第1スナップショットの前記DMA要求エントリが処理される順序である請求項1に記載のカメラ。
  7. 前記MIUが前記メモリ・アクセス要求を対応するメモリ・コマンドに変換し、前記メモリ・コマンドが前記メモリに供給される請求項6に記載のカメラ。
  8. 前記メモリが、コマンド・バスとデータ・バスを介して前記MIUとインタフェースし、前記MIUが、データが前記MIUと前記メモリとの間で前記データ・バスにわたって転送されるのと同時に、前記コマンド・バスを介してコマンドを前記メモリに対して発行する請求項6に記載のカメラ。
  9. 前記メモリが、同期ダイナミック・ランダム・アクセス・メモリ(SDRAM)集積回路である一方、前記第1DMAエンジン、前記第1キュー、TPS1を記憶する前記回路、前記第2DMAエンジン、前記第2キュー、TPS2を記憶する前記回路、前記アービタが、前記SDRAM集積回路の一部ではない請求項1に記載のカメラ。
  10. 前記第1スナップショットあたりトークン(TPS1)数が時間量を表す数である請求項1に記載のカメラ。
  11. 前記第1スナップショットあたりトークン(TPS1)数がデータ量を表す数である請求項1に記載のカメラ。
  12. 前記第1スナップショットあたりトークン(TPS1)数がDMA要求エントリの数である請求項1に記載のカメラ。
  13. 前記アービタが前記第1DMAエンジンに関連付けられる時間期間が経過したかを判定するタイマを有し、前記時間期間が経過した場合、前記アービタが、前記第1キューからの前記第1スナップショットのDMA要求を、前記第1スナップショットの他のあらゆるDMA要求エントリが処理されるより前に処理することを決定する請求項1に記載のカメラ。
  14. DMA要求エントリの前記第1スナップショットが選択された後、前記アービタがDMA要求エントリの第2スナップショットを選択し、かつ、前記第1スナップショットのDMA要求エントリの前記数が前記第2スナップショットのDMA要求エントリの前記数と同一である請求項1に記載のカメラ。
  15. DMA要求エントリの前記第1スナップショットが選択された後、前記アービタがDMA要求エントリの第2スナップショットを選択し、かつ、前記第1スナップショットのDMA要求エントリの前記数が、前記第2スナップショットのDMA要求エントリの前記数とは異なる請求項1に記載のカメラ。
  16. 前記アービタが、DMA要求エントリのスナップショットを連続的に選択し、DMA要求エントリの各スナップショットが時間ウィンドウにおいて処理され、前記スナップショットのそれぞれの前記時間ウィンドウが同一時間量である請求項1に記載のカメラ。
  17. 前記アービタが、DMA要求エントリのスナップショットを連続的に選択し、DMA要求エントリの各スナップショットが時間ウィンドウにおいて処理され、様々なスナップショットの前記時間ウィンドウが異なる時間量である請求項1に記載のカメラ。
  18. デジタル・カメラの複数の要求エンティティの中でメモリ・アクセス帯域幅を割り付け、前記要求エンティティのそれぞれがDMA要求エントリを記憶するキューを有し、各DMA要求エントリが、前記デジタル・カメラにおいてメモリ集積回路のアクセスを実施する要求であり、その際、前記要求エンティティのそれぞれがスナップショットあたりトークン(TPS)値を有する方法であって、
    (a)各キューについて、前記キューに関連付けられる前記要求エンティティの前記TPS値に基づいて、DMA要求エントリの数を選択することによって、DMA要求エントリのスナップショットを選択することと、
    (b)前記スナップショットの前記DMA要求エントリによって要求される前記メモリ・アクセスの実施に関連するメモリ・アクセス・オーバーヘッドを低減する順序で、前記スナップショットにおいて前記DMA要求エントリをサービスすることと、
    (c)ステップ(a)と(b)を繰り返すこととを含む方法。
  19. 各スナップショットあたりトークン(TPS)値がトークンの数であり、トークンが1つのDMA要求エントリを表している請求項18に記載の方法。
  20. 各スナップショットあたりトークン(TPS)値がデータ移動量の表示であり、各DMA要求エントリがデータ移動量の表示を備える請求項18に記載の方法。
  21. 各スナップショットあたりトークン(TPS)値が時間量の表示である請求項18に記載の方法。
  22. 前記要求エンティティの1つが圧縮エンジンである請求項18に記載の方法。
  23. キューにDMA要求エントリが存在しない場合、どのDMA要求エントリも(a)において前記キューから選択されない請求項18に記載の方法。
  24. 前記メモリ集積回路がダイナミック・ランダム・アクセス・メモリ(DRAM)集積回路であり、(b)において低減された前記メモリ・アクセス・オーバーヘッドが、前記DRAM集積回路上でリフレッシュ・オペレーションを実施することに伴うオーバーヘッドを含む請求項18に記載の方法。
JP2006534482A 2004-07-02 2005-07-01 デジタル・カメラにおけるメモリ・アクセス帯域幅割付けおよびレイテンシ制御 Active JP4210303B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/884,081 US7392330B2 (en) 2004-07-02 2004-07-02 Memory access bandwidth allocation and latency control in a digital camera
PCT/US2005/023358 WO2006014321A2 (en) 2004-07-02 2005-07-01 Memory access bandwidth allocation and latency control in a digital camera

Publications (2)

Publication Number Publication Date
JP2007525876A JP2007525876A (ja) 2007-09-06
JP4210303B2 true JP4210303B2 (ja) 2009-01-14

Family

ID=35515358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006534482A Active JP4210303B2 (ja) 2004-07-02 2005-07-01 デジタル・カメラにおけるメモリ・アクセス帯域幅割付けおよびレイテンシ制御

Country Status (3)

Country Link
US (1) US7392330B2 (ja)
JP (1) JP4210303B2 (ja)
WO (1) WO2006014321A2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987160B2 (en) * 2006-01-30 2011-07-26 Microsoft Corporation Status tool to expose metadata read and write queues
US8694750B2 (en) * 2008-12-19 2014-04-08 Nvidia Corporation Method and system for data structure management
US9208108B2 (en) * 2008-12-19 2015-12-08 Nvidia Corporation Method and system for improved flash controller commands selection
US8732350B2 (en) * 2008-12-19 2014-05-20 Nvidia Corporation Method and system for improving direct memory access offload
US8095700B2 (en) 2009-05-15 2012-01-10 Lsi Corporation Controller and method for statistical allocation of multichannel direct memory access bandwidth
US20100325327A1 (en) * 2009-06-17 2010-12-23 Freescale Semiconductor, Inc. Programmable arbitration device and method therefor
US8683293B2 (en) * 2009-12-16 2014-03-25 Nvidia Corporation Method and system for fast two bit error correction
US20110161553A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Memory device wear-leveling techniques
US9594675B2 (en) * 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables
US8250253B2 (en) * 2010-06-23 2012-08-21 Intel Corporation Method, apparatus and system for reduced channel starvation in a DMA engine
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
US11165963B2 (en) 2011-06-05 2021-11-02 Apple Inc. Device, method, and graphical user interface for accessing an application in a locked device
US9372978B2 (en) 2012-01-20 2016-06-21 Apple Inc. Device, method, and graphical user interface for accessing an application in a locked device
US9715464B2 (en) 2015-03-27 2017-07-25 Microsoft Technology Licensing, Llc Direct memory access descriptor processing
KR102373544B1 (ko) 2015-11-06 2022-03-11 삼성전자주식회사 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
KR102367359B1 (ko) * 2017-04-17 2022-02-25 에스케이하이닉스 주식회사 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960155A (en) 1993-08-09 1999-09-28 Ricoh Company, Ltd. Electronic still camera
US5761417A (en) * 1994-09-08 1998-06-02 International Business Machines Corporation Video data streamer having scheduler for scheduling read request for individual data buffers associated with output ports of communication node to one storage node
JP3374651B2 (ja) 1996-03-29 2003-02-10 ソニー株式会社 ディジタル電子撮像装置および撮像方法
JPH1040211A (ja) * 1996-04-30 1998-02-13 Texas Instr Inc <Ti> パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路
US6115799A (en) 1996-07-19 2000-09-05 Canon Kabushiki Kaisha Information processing apparatus and associated method for managing a memory using a next fit and for reducing a memory fragmentation problem
JPH1185059A (ja) 1997-09-05 1999-03-30 Casio Comput Co Ltd 表示素子、表示素子の製造方法及び表示素子の駆動方法
US6279052B1 (en) * 1998-01-13 2001-08-21 Intel Corporation Dynamic sizing of FIFOs and packets in high speed serial bus applications
US6213331B1 (en) * 1998-02-09 2001-04-10 Shaw Aero Development, Inc. Fuel cap having biased seal
US6192428B1 (en) * 1998-02-13 2001-02-20 Intel Corporation Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached
JP4280319B2 (ja) * 1998-03-11 2009-06-17 キヤノン株式会社 画像処理装置、画像処理方法及びコンピュータ読み取り可能な記憶媒体
US6028807A (en) 1998-07-07 2000-02-22 Intel Corporation Memory architecture
US6970182B1 (en) 1999-10-20 2005-11-29 National Instruments Corporation Image acquisition system and method for acquiring variable sized objects
US6296187B1 (en) 1999-11-12 2001-10-02 Psc Inc. CCD-based bar code scanner
US6874039B2 (en) * 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
JP3932379B2 (ja) 2001-10-02 2007-06-20 株式会社日立製作所 画像処理装置と撮像素子
JP3920659B2 (ja) 2002-02-26 2007-05-30 株式会社メガチップス Af評価値算出装置
JP2004326180A (ja) * 2003-04-21 2004-11-18 Matsushita Electric Ind Co Ltd 集積回路、それを用いた画像入出力装置及び画像入出力方法
US7225278B1 (en) * 2004-04-15 2007-05-29 Xilinx, Inc. Method and apparatus for controlling direct access to memory circuitry
US20060064517A1 (en) 2004-09-23 2006-03-23 Honeywell International Inc. Event-driven DMA controller

Also Published As

Publication number Publication date
JP2007525876A (ja) 2007-09-06
WO2006014321A3 (en) 2007-09-07
US20060004931A1 (en) 2006-01-05
US7392330B2 (en) 2008-06-24
WO2006014321A2 (en) 2006-02-09

Similar Documents

Publication Publication Date Title
JP4210303B2 (ja) デジタル・カメラにおけるメモリ・アクセス帯域幅割付けおよびレイテンシ制御
US6184906B1 (en) Multiple pipeline memory controller for servicing real time data
US6393506B1 (en) Virtual channel bus and system architecture
US5983302A (en) Method and apparatus for arbitration and access to a shared bus
US5857083A (en) Bus interfacing device for interfacing a secondary peripheral bus with a system having a host CPU and a primary peripheral bus
US5812789A (en) Video and/or audio decompression and/or compression device that shares a memory interface
US5805905A (en) Method and apparatus for arbitrating requests at two or more levels of priority using a single request line
US20070233923A1 (en) Bus arbitration system and method thereof
KR100245821B1 (ko) 비디오 인터페이스와 오버레이시스템 및 그의 프로세스
US6720968B1 (en) Video acquisition system including a virtual dual ported memory with adaptive bandwidth allocation
JP2009267837A (ja) 復号化装置
JP5707911B2 (ja) データ転送制御装置
US5907688A (en) Smart arbitration for non-symmetric data streams
EP1006451B1 (en) A DMA transfer device capable of high-speed consecutive access to pages in a memory
US5872936A (en) Apparatus for and method of arbitrating bus conflicts
US6317813B1 (en) Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller
US20220114120A1 (en) Image processing accelerator
US6091431A (en) Method and apparatus for improving processor to graphics device local memory performance
US7263587B1 (en) Unified memory controller
JP4090883B2 (ja) 異なるリソースアクセス方式を有するシステム統合エージェント
JP2007094649A (ja) アクセス調停回路
US5838955A (en) Controller for providing access to a video frame buffer in split-bus transaction environment
CA2323116A1 (en) Graphic processor having multiple geometric operation units and method of processing data thereby
JP3532318B2 (ja) プログラム可能な裁定装置
US6094696A (en) Virtual serial data transfer mechanism

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080908

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081024

R150 Certificate of patent or registration of utility model

Ref document number: 4210303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250