(57)【要約】  メモリにおけるデータの読出し時間を短縮する。  選択部は、複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリとブロックを単位としてアクセスされて記録開始ブロックの途中から複数の記録データが記録される第２のメモリとについて第１のメモリまたは第２のメモリに記録された記録データに含まれるデータを読み出す際に必要となるブロックの数に基づいて第１のメモリまたは第２のメモリのいずれか一方を読出し対象として選択する。読出し制御部は、選択の結果に基づいて第１のメモリまたは第２のメモリのいずれか一方から読出しを行う。
2016063716.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第２のメモリとについて前記第１のメモリまたは前記第２のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方から読出しを行う読出し制御部と
を具備するメモリコントローラ。
【請求項２】
前記第１のメモリの前記記録開始ブロックの先頭から複数の記録データの書込みを行い、複数の前記記録データの先頭および末尾に所定のデータを追加することにより新たな記録データを生成して当該新たな記録データを前記第２のメモリの前記記録開始ブロックの先頭から書き込む書込み制御部をさらに具備する請求項１記載のメモリコントローラ。
【請求項３】
前記第１のメモリおよび前記第２のメモリは、書込みおよび読出しの際にバースト転送を行うメモリであり、
前記データは、ワードデータであり、
前記ブロックサイズは、前記バースト転送におけるバースト長である
請求項１記載のメモリコントローラ。
【請求項４】
前記データは、ビットデータであり、
前記ブロックサイズは、複数のビットデータからなるワードサイズであり、
前記ブロックは、ワードである
請求項１記載のメモリコントローラ。
【請求項５】
複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと、
前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第２のメモリと、
前記第１のメモリまたは前記第２のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方から読出しを行う読出し制御部と
を具備する記憶装置。
【請求項６】
複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと、
前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第２のメモリと、
前記第１のメモリまたは前記第２のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方から読出しを行う読出し制御部と
を備える記憶装置と、
前記記憶装置の前記データにアクセスするマスタと
を具備する情報処理システム。
【請求項７】
複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第２のメモリとについて前記第１のメモリまたは前記第２のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方を読出し対象として選択する選択手順と、
前記選択の結果に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方から読出しを行う読出し制御手順と
を具備するメモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、メモリコントローラに関する。詳しくは、書込みおよび読出しの際にブロックを単位としてデータの転送を行うメモリを扱うメモリコントローラ、記憶装置、情報処理システムおよびこれらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
従来、撮像装置等の画像メモリに使用されるメモリとして大容量かつ広帯域のＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）が使用されている。このＳＤＲＡＭにアクセスする際には、ＳＤＲＡＭにローアドレスを入力した後でカラムアドレスを入力する必要がある。そして、アクセスに伴うデータの転送は、バースト転送により行われる。これは、カラムアドレスが連続する複数のデータを順次転送する方式であり、１度のカラムアドレスの入力により、予め設定されたワード数（バースト長）のデータが転送される方式である。１度のカラムアドレスの入力により複数のデータの転送が可能なため、データ転送レートを高めることができる。このようなＳＤＲＡＭは、記録領域がバースト長に相当するサイズのブロックにより分割されており、このブロックを単位としてデータが転送される。【０００３】
バースト長が８ワードに設定されたＳＤＲＡＭからデータを読み出す場合を例に挙げて説明する。このＳＤＲＡＭに対して、カラムアドレスとして＃０ｘ０を入力して１バーストのデータの読出しを行うと、ＳＤＲＡＭからは、カラムアドレス＃０ｘ０乃至＃０ｘ７に対応する読出しデータが順に出力される。すなわち、入力されたカラムアドレスの下位３ビットで表される範囲（８ワード）のデータが出力される。カラムアドレスとして＃０ｘ８を入力した場合には、カラムアドレス＃０ｘ８乃至＃０ｘＦに対応するデータが出力される。このようなＳＤＲＡＭを画像メモリとして使用するマスタは、このバースト長の倍数のサイズのデータをＳＤＲＡＭとの間でやり取りする。【０００４】
しかし、マスタの読出しを要求するデータの範囲がブロックによって分割された範囲とは整合しない場合が存在する。例えば、マスタが、カラムアドレス＃０ｘ４乃至＃０ｘＢの８ワードのデータの読出しを必要とする場合である。ＭＰＥＧ（Moving Picture Experts Group）形式のエンコードを行う場合等において画像データに設定される矩形領域であるマクロブロックに対応する画像データを画像メモリから読み出す際、このような読出しが必要となる。この場合、カラムアドレスとして、＃０ｘ４を入力しても、ＳＤＲＡＭからはカラムアドレス＃０ｘ０乃至＃０ｘ７に対応するデータが出力され、所望のデータを全て読み出すことができない。上述のデータを読み出すためには、カラムアドレスの入力を＃０ｘ０および＃０ｘ８とする２度の読出しが必要となり、読出し時間の増大を招くこととなる。【０００５】
このような、ブロックによって分割された範囲と整合しない範囲のデータの読出し時間を短縮する方法として、次のようなシステムが提案されている（例えば、特許文献１参照。）。これは、マスタとメモリコントローラとメモリとからなるシステムにおいて、マスタからの読出しの要求を処理するメモリコントローラが、読出し先のアドレスからバイト組合せ情報を生成し、これに基づいて読出しを行うものである。このバイト組合せ情報とは、読出し対象のデータの範囲を示す情報である。上述の例を適用すると、カラムアドレス＃０ｘ０に対して４ワード分アドレスがずれた領域のデータが読出し対象であることを示す情報がバイト組合せ情報に該当し、メモリコントローラにより生成される。この生成されたバイト組合せ情報は、メモリにより解釈され、入力されたカラムアドレス＃０ｘ０に対する読出しデータとしてアドレス＃０ｘ４乃至＃０ｘＢの範囲のデータが出力される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１５９１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の従来技術では、メモリコントローラにより生成されたバイト組合せ情報を解釈して異なるブロックに記録されたデータを読み出して出力する機能を有する特殊なメモリを要するという問題があった。【０００８】
本技術はこのような状況に鑑みて生み出されたものであり、特殊なメモリを使用することなく、メモリにおけるデータの読出し時間を短縮することを目的とする。
【課題を解決するための手段】
【０００９】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと上記ブロックを単位としてアクセスされて上記記録開始ブロックの途中から複数の上記記録データが記録される第２のメモリとについて上記第１のメモリまたは上記第２のメモリに記録された上記記録データに含まれるデータを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択する選択部と、上記選択の結果に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方から読出しを行う読出し制御部とを具備するメモリコントローラである。これにより、データを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択するという作用をもたらす。【００１０】
また、この第１の側面において、上記第１のメモリの上記記録開始ブロックの先頭から複数の記録データの書込みを行い、複数の上記記録データの先頭および末尾に所定のデータを追加することにより新たな記録データを生成して当該新たな記録データを上記第２のメモリの上記記録開始ブロックの先頭から書き込む書込み制御部をさらに具備してもよい。これにより、上記第１のメモリの上記記録開始ブロックの先頭から複数のデータが書き込まれるとともに上記第２のメモリの上記記録開始ブロックの途中から複数のデータが書き込まれるという作用をもたらす。【００１１】
また、この第１の側面において、上記第１のメモリおよび上記第２のメモリは、書込みおよび読出しの際にバースト転送を行うメモリであり、上記データは、ワードデータであり、上記ブロックサイズは、上記バースト転送におけるバースト長であってもよい。これにより、バースト長により分割された記録領域を有する第１のメモリおよび第２のメモリにおいてデータを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択するという作用をもたらす。【００１２】
また、この第１の側面において、上記データは、ビットデータであり、上記ブロックサイズは、複数のビットデータからなるワードサイズであり、上記ブロックは、ワードであってもよい。これにより、ワードサイズにより分割された記録領域を有する第１のメモリおよび第２のメモリにおいてデータを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択するという作用をもたらす。【００１３】
また、本技術の第２の側面は、複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと、上記ブロックを単位としてアクセスされて上記記録開始ブロックの途中から複数の上記記録データが記録される第２のメモリと、上記第１のメモリまたは上記第２のメモリに記録された上記記録データに含まれるデータを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択する選択部と、上記選択の結果に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方から読出しを行う読出し制御部とを具備する記憶装置である。これにより、データを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択するという作用をもたらす。【００１４】
また、本技術の第３の側面は、複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと、上記ブロックを単位としてアクセスされて上記記録開始ブロックの途中から複数の上記記録データが記録される第２のメモリと、上記第１のメモリまたは上記第２のメモリに記録された上記記録データに含まれるデータを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択する選択部と、上記選択の結果に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方から読出しを行う読出し制御部とを備える記憶装置と、上記記憶装置の上記データにアクセスするマスタとを具備する情報処理システムである。これにより、データを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択するという作用をもたらす。【００１５】
また、本技術の第４の側面は、複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと上記ブロックを単位としてアクセスされて上記記録開始ブロックの途中から複数の上記記録データが記録される第２のメモリとについて上記第１のメモリまたは上記第２のメモリに記録された上記記録データに含まれるデータを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択する選択手順と、上記選択の結果に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方から読出しを行う読出し制御手順とを具備するメモリ制御方法である。これにより、データを読み出す際に必要となる上記ブロックの数に基づいて上記第１のメモリまたは上記第２のメモリのいずれか一方を読出し対象として選択するという作用をもたらす。
【発明の効果】
【００１６】
本技術によれば、ブロックによって分割された範囲と整合しない範囲のデータを読み出す場合であっても、特殊なメモリを使用することなく、データの読出し時間を短縮するという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１７】
【図１】本技術の実施の形態における情報処理システムの構成例を示す図である。
【図２】本技術の第１の実施の形態におけるメモリコントローラ２１０の構成例を示す図である。
【図３】本技術の第１の実施の形態におけるデータの書込みを示す図である。
【図４】本技術の第１の実施の形態におけるデータの読出しを示す図である。
【図５】本技術の第１の実施の形態における書込み処理の処理手順の一例を示す図である。
【図６】本技術の第１の実施の形態における読出し処理の処理手順の一例を示す図である。
【図７】本技術の第１の実施の形態におけるメモリ選択処理（ステップＳ９６０）の処理手順の一例を示す図である。
【図８】本技術の第２の実施の形態におけるデータの書込みを示す図である。
【図９】本技術の第２の実施の形態におけるデータの読出しを示す図である。
【図１０】本技術の第３の実施の形態における画像メモリの構成例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（ＳＤＲＡＭに適用した場合の例）
２．第２の実施の形態（ＳＲＡＭに適用した場合の例）
３．第３の実施の形態（画像メモリ装置に適用した場合の例）
【００１９】
＜１．第１の実施の形態＞
［情報処理システムの構成］
図１は、本技術の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システムは、マスタ１００と、記憶装置２００とを備える。
【００２０】
マスタ１００は、画像処理等の処理を行うものである。このマスタ１００は、記憶装置２００に対して書込みまたは読出し等のコマンドを発行してアクセスを行う。記憶装置２００は、マスタ１００における処理に必要なデータの記録を行うものである。なお、信号線１０１は、マスタ１００と記憶装置２００とを電気的に接続するものである。
【００２１】
記憶装置２００は、メモリコントローラ２１０と、メモリ＃１（２２０）と、メモリ＃２（２３０）とを備える。
【００２２】
メモリコントローラ２１０は、メモリ＃１（２２０）およびメモリ＃２（２３０）を制御するものである。このメモリコントローラ２１０は、マスタ１００から発行された書込みおよび読出しコマンドを解釈し、これに基づく書込みおよび読出しリクエストをメモリ＃１（２２０）およびメモリ＃２（２３０）に対して要求する。
【００２３】
メモリ＃１（２２０）およびメモリ＃２（２３０）は、データを記録するものである。メモリコントローラ２１０から要求されたリクエストに基づいて、このデータに対するアクセスが行われる。この際、メモリ＃１（２２０）およびメモリ＃２（２３０）とメモリコントローラ２１０との間でデータの転送が行われる。このメモリ＃１（２２０）およびメモリ＃２（２３０）は複数のデータからなるブロックサイズにより記録領域が分割されており、この分割された記録領域であるブロックを単位としてメモリコントローラ２１０によりアクセスされる。このメモリ＃１（２２０）およびメモリ＃２（２３０）として、例えばＳＤＲＡＭにより構成されたメモリを使用することができる。なお、メモリ＃１（２２０）は、特許請求の範囲に記載の第１のメモリの一例である。メモリ＃２（２３０）は、特許請求の範囲に記載の第２のメモリの一例である。
【００２４】
なお、信号線２０１は、メモリコントローラ２１０とメモリ＃１（２２０）とを電気的に接続するものである。また、信号線２０２は、メモリコントローラ２１０とメモリ＃２（２３０）とを電気的に接続するものである。
【００２５】
マスタ１００は、書込みを行う際に、書込みコマンドとこれに付随する書込みデータ、書込み先アドレスおよび書込みデータ数を記憶装置２００に対して発行する。この書込みコマンドは、記憶装置２００のメモリコントローラ２１０により処理される。メモリコントローラ２１０は、発行された書込みコマンドを解釈し、これに付随する書込みデータ、書込み先アドレスおよび書込みデータ数に基づいてメモリ＃１（２２０）およびメモリ＃２（２３０）に対して書込みリクエストを要求する。メモリ＃１（２２０）およびメモリ＃２（２３０）は、このリクエストに基づいて書込みを行う。
【００２６】
一方、読出しの際には、マスタ１００は、読出しコマンドとこれに付随する読出し先アドレスおよび読出しデータ数を記憶装置２００に対して発行する。メモリコントローラ２１０がこのコマンドを解釈して、これに付随する読出し先アドレスおよび読出しデータ数に基づいてメモリ＃１（２２０）およびメモリ＃２（２３０）に対して読出しリクエストを要求する。メモリ＃１（２２０）およびメモリ＃２（２３０）は、このリクエストに基づいて読出しを行い、読み出したデータをメモリコントローラ２１０に対して出力する。メモリコントローラ２１０は、この出力されたデータをマスタ１００に対して出力する。なお、書込みおよび読出しデータのサイズは、バースト長の倍数である。メモリ＃１（２２０）およびメモリ＃２（２３０）に対する書込みおよび読出しの制御の詳細については、後述する。
【００２７】
［メモリコントローラの構成］
図２は、本技術の第１の実施の形態におけるメモリコントローラ２１０の構成例を示す図である。このメモリコントローラ２１０は、マスタインターフェース２１１と、書込み制御部２１２と、読出し制御部２１３と、バッファ２１４と、選択部２１５と、メモリインターフェース２１６と、バス２１９とを備える。
【００２８】
マスタインターフェース２１１は、マスタ１００との間のやり取りを行うものである。メモリインターフェース２１６は、メモリ＃１（２２０）およびメモリ＃２（２３０）との間のやり取りを行うものである。
【００２９】
バッファ２１４は、書込みおよび読出しデータを一時的に保持するものである。バス２１９は、メモリコントローラ２１０内の各部を相互に接続するものである。
【００３０】
書込み制御部２１２は、メモリ＃１（２２０）およびメモリ＃２（２３０）に対するデータの書込みの制御を行うものである。この書込み制御部２１２は、マスタ１００からの書込みコマンドに基づいて、マスタ１００から出力されてバッファ２１４に保持された書込みデータをメモリ＃１（２２０）およびメモリ＃２（２３０）に転送して書込みを行わせる。このデータの書込みの詳細については、後述する。
【００３１】
選択部２１５は、データの読出しの際にメモリ＃１（２２０）またはメモリ＃２（２３０）のいずれか一方を選択するものである。この選択の方法の詳細については、後述する。
【００３２】
読出し制御部２１３は、データの読出しを行うものである。この読出し制御部２１３は、マスタ１００からの読出しコマンドに基づいて、メモリ＃１（２２０）またはメモリ＃２（２３０）からデータの読出しを行う。この読み出されたデータは、一旦バッファ２１４に保持された後、マスタ１００に送出される。なお、読出し制御部２１３は、選択部２１５の選択結果に基づいてメモリ＃１（２２０）またはメモリ＃２（２３０）のいずれか一方からこの読出しを行う。
【００３３】
［データの書込み］
図３は、本技術の第１の実施の形態におけるデータの書込みを示す図である。同図におけるａは、メモリ＃１（２２０）およびメモリ＃２（２３０）におけるブロックと記録領域との関係を表したものである。同図におけるａの矩形により区切られた領域は１ワードの領域を表し、この矩形部分に記載された文字は各領域のアドレス（１６ビット表記。ただし、スペースの関係上「０ｘ」の記載を省略した。）を表している。なお、メモリ＃１（２２０）およびメモリ＃２（２３０）のバースト長は、８ワードを想定する。この場合、ブロックサイズも８ワードとなる。また、１ワードは、例えば、８ビットのデータとすることができる。このようなメモリ＃１（２２０）およびメモリ＃２（２３０）に対してデータを記録する。この記録されるデータを記録データと称する。
【００３４】
同図におけるｂは、メモリ＃１（２２０）に対して記録データである４バーストのデータ３０１を記録させた状態を表したものである。このデータ３０１は、メモリ＃１（２２０）のブロック＃１を記録開始ブロックとし、ブロック＃４を記録終了ブロックとする４ブロックの領域に記録されている。また、このデータ３０１は、ブロック＃１に属するアドレス０ｘ０の領域から記録されている。すなわち、記録開始ブロックの先頭から記録されている。一方、同図におけるｃは、メモリ＃２（２３０）に対して記録データである４バーストのデータ３０２を記録させた状態を表したものである。このデータ３０２は、データ３０１と同一内容のデータであり、メモリ＃２（２３０）のブロック＃１を記録開始ブロックとし、ブロック＃５を記録終了ブロックとする５ブロックの領域に記録されている。また、このデータ３０２は、ブロック＃１に属するアドレス０ｘ４の領域から記録されている。すなわち、記録開始ブロックの途中から記録されている。
【００３５】
このように、本技術の第１の実施の形態においては、メモリ＃１（２２０）には、記録データが記録開始ブロックの先頭から記録され、メモリ＃２（２３０）には、同一内容の記録データが記録開始ブロックの途中から記録されている。すなわち、冗長なデータの記録が行われてデータが多重化されるとともに、メモリ＃２（２３０）では、ブロックのアライン開始位置からずれた領域にデータが記録されている。このようなデータの記録は、書込み制御部２１２におけるデータの書込みにより実行される。この書込み制御部２１２は、書込みデータをメモリ＃１（２２０）の指定アドレスに書き込む。その後、同一のデータをメモリ＃２（２３０）にも書き込む。
【００３６】
この書込みは、例えば、以下の手順により行うことができる。まず、書込み制御部２１２は、書込みデータをバッファ２１４に転送して保持させる。次に、書込み制御部２１２は、バッファ２１４に保持されたデータをメモリ＃１（２２０）に対して書き込む。これにより、メモリ＃１（２２０）には、記録データであるデータ３０１が記録開始ブロックの先頭から記録される。次に、書込み制御部２１２は、書き込まれた記録データが記録開始ブロックの途中から記録された状態になるように、バッファ２１４に保持されている書込みデータを加工する。これは、書込みデータの先頭および末尾にデータを追加することにより行うことができる。
【００３７】
同図におけるｃに表したように記録開始ブロックの先頭から４ワードずれた記録領域であるアドレス＃０ｘ４からデータ３０２を記録する場合を例に挙げて説明する。まず、書込み制御部２１２は、バッファ２１４に保持されている書込みデータの先頭に同図におけるｃに表したアドレス：＃０ｘ０乃至＃０ｘ３の領域に記録されているデータを追加する。次に、書込み制御部２１２は、バッファ２１４に保持されている書込みデータの末尾に同図におけるｃに表したアドレス：＃０ｘ２４乃至＃０ｘ２７の領域に記録されているデータを追加する。なお、これら追加するデータは、事前にメモリ＃２（２３０）から読み出しておく必要がある。次に、書込み制御部２１２は、データが追加されて５バーストのサイズとなった書込みデータをメモリ＃２（２３０）のブロック＃１乃至ブロック＃５の範囲の領域に書き込む。これにより、メモリ＃２（２３０）に対して、記録データであるデータ３０２を記録開始ブロックであるブロック＃１の途中から記録することができる。
【００３８】
［データの読出し］
図４は、本技術の第１の実施の形態におけるデータの読出しを示す図である。同図におけるａは、メモリ＃１（２２０）に書き込まれたデータ３０１の一部のデータを読み出す場合を表している。このデータは、アドレス０ｘ７乃至０ｘ１０の領域に記録された１０ワードのデータであり、ブロックによって分割された範囲と整合しない範囲に記録されたデータである。メモリ＃１（２２０）からこのデータを読み出す場合には、ブロック＃１乃至ブロック＃３の３ブロックのデータを読み出す必要がある。一方、同図におけるｂは、メモリ＃２（２３０）に書き込まれたデータ３０２から上述のデータと同一内容のデータを読み出す場合を表している。メモリ＃１（２２０）のアドレス０ｘ７乃至０ｘ１０の領域に記録されたデータと同一内容のデータは、メモリ＃２（２３０）のアドレス０ｘＢ乃至０ｘ１４の領域に記録されている。メモリ＃２（２３０）からこのデータを読み出すには、ブロック＃２およびブロック＃３の２ブロックのデータの読出しを行えばよい。この場合、メモリ＃２（２３０）から読み出すほうがメモリ＃１（２２０）から読み出すよりも読出し時間を短縮することができる。
【００３９】
読出しの際のメモリの選択は、選択部２１５が行う。この選択の方法を次に説明する。まず、メモリ＃１（２２０）における読出しに係るデータが記録されている領域の先頭および末尾の物理アドレスを算出する。同図におけるａに表したように、以下、これらをＳＡｄｄｒ１およびＥＡｄｄｒ１と称する。メモリ＃１（２２０）の場合は、データ３０１は、ブロックの先頭の領域から記録されているため、所望の読出しデータの先頭のアドレスおよび末尾のアドレスと、先頭の物理アドレスＳＡｄｄｒ１および末尾の物理アドレスＥＡｄｄｒ１とは一致する。メモリ＃２（２３０）においても同様に読出しに係るデータが記録されている領域の先頭および末尾の物理アドレスを算出する。以下、これらをＳＡｄｄｒ２およびＥＡｄｄｒ２と称する。
【００４０】
メモリ＃２（２３０）では、データ３０２は、ブロックの途中から記録されている。すなわち、読出しに係るデータのアドレスと当該データが記録されている領域の物理アドレスとは、異なる値となる。同図におけるｂでは、データ３０２がブロックの先頭の領域のアドレス０ｘ０から４ワード分ずらした領域から記録されているため、先頭の物理アドレスＳＡｄｄｒ２および末尾の物理アドレスＥＡｄｄｒ２は、それぞれ０ｘＢおよび０ｘ１４となる。
【００４１】
次に、ＳＡｄｄｒ１、ＥＡｄｄｒ１、ＳＡｄｄｒ２およびＥＡｄｄｒ２が含まれるブロックの位置を算出する。同図に表したように、以下、これらをＳＢＡｄｄｒ１、ＥＢＡｄｄｒ１、ＳＢＡｄｄｒ２およびＥＢＡｄｄｒ２と称する。これらは、次式に基づいて算出することができる。
ＳＢＡｄｄｒ１＝ｆｌｏｏｒ（ＳＡｄｄｒ１／８）＋１
ＥＢＡｄｄｒ１＝ｆｌｏｏｒ（ＥＡｄｄｒ１／８）＋１
ＳＢＡｄｄｒ２＝ｆｌｏｏｒ（ＳＡｄｄｒ２／８）＋１
ＥＢＡｄｄｒ２＝ｆｌｏｏｒ（ＥＡｄｄｒ２／８）＋１
ただし、ｆｌｏｏｒは、１の位を切り捨てる演算を表す。同図に挙げた例では、ＳＢＡｄｄｒ１、ＥＢＡｄｄｒ１、ＳＢＡｄｄｒ２およびＥＢＡｄｄｒ２の値は、それぞれ「１」、「３」、「２」および「３」となる。
【００４２】
次に、ＳＢＡｄｄｒ１、ＥＢＡｄｄｒ１、ＳＢＡｄｄｒ２およびＥＢＡｄｄｒ２からメモリ＃１（２２０）およびメモリ＃２（２３０）における読出しブロック数を算出する。以下、メモリ＃１（２２０）の読出しブロック数およびメモリ＃２（２３０）の読出しブロック数をそれぞれＲＢ１およびＲＢ２と称する。これらは、次式に基づいて算出することができる。
ＲＢ１＝ＥＢＡｄｄｒ１−ＳＢＡｄｄｒ１＋１
ＲＢ２＝ＥＢＡｄｄｒ２−ＳＢＡｄｄｒ２＋１
このメモリ＃１（２２０）の読出しブロック数ＲＢ１およびメモリ＃２（２３０）の読出しブロック数ＲＢ２のうち値が小さい方のメモリを読出し対象のメモリとする。同図の例では、メモリ＃１（２２０）の読出しブロック数ＲＢ１が値「３」となり、メモリ＃２（２３０）の読出しブロック数ＲＢ２が値「２」となる。ＲＢ１よりＲＢ２の方が小さいため、メモリ＃２（２３０）が読出し対象メモリとして選択される。このようにして、読出し時のメモリが選択される。
【００４３】
読出し制御部２１３は、選択されたメモリからデータを読み出して、バッファ２１４に転送する。次にバッファ２１４に転送されたデータに余分なデータが含まれている場合には、読出し制御部２１３は、これを除去する。この余分なデータとは、例えば、メモリ＃２（２３０）のブロック＃１）から読出しを行った際の、読み出したデータの先頭から４ワードのデータが該当する。これは、図３におけるｂにおいて説明した、書込みの際に書込みデータに追加したデータである。読出し制御部２１３は、この余分なデータの除去を行う。その後、余分なデータが除去された読出しデータがマスタ１００に送出される。なお、読出しデータに上述した余分なデータが含まれていた場合であってもマスタ１００の処理において支障がない場合には、この処理を省略してもよい。このように、読出しを行う際のブロック数が少ない方のメモリを選択して読出しを行うことにより、データの読出しに要する時間を短縮することができ、メモリ帯域を削減することができる。
【００４４】
［書込み処理］
図５は、本技術の第１の実施の形態における書込み処理の処理手順の一例を示す図である。マスタから書込みコマンドが発行されると、メモリコントローラ２１０は、本処理を開始する。まず、メモリコントローラ２１０は、書込みコマンドに係る書込みデータをバッファ２１４に保持させる（ステップＳ９０１）。次に、メモリコントローラ２１０は、バッファ２１４に保持された書込みデータをメモリ＃１（２２０）に転送して書込みを行わせる（ステップＳ９０２）。次に、メモリコントローラ２１０は、図３において前述したように、バッファ２１４に保持された書込みデータの先頭および末尾にデータを追加する（ステップＳ９０３）。次に、メモリコントローラ２１０は、データが追加された書込みデータをバッファ２１４からメモリ＃２（２３０）に転送して書込みを行わせ（ステップＳ９０４）、書込み処理を終了する。
【００４５】
［読出し処理］
図６は、本技術の第１の実施の形態における読出し処理の処理手順の一例を示す図である。マスタから読出しコマンドが発行されると、メモリコントローラ２１０は、本処理を開始する。まず、メモリコントローラ２１０は、読出しコマンドの読出し先アドレスに基づいてメモリの選択を行う（ステップＳ９６０）。次に、メモリコントローラ２１０は、メモリ選択結果に基づいて、読出しを行う。メモリ＃１（２２０）が選択された場合には（ステップＳ９５１：Ｙｅｓ）、メモリコントローラ２１０は、メモリ＃１（２２０）からデータの読出しを行い（ステップＳ９５２）、読み出したデータをバッファ２１４に保持させる（ステップＳ９５３）。その後、ステップＳ９５６の処理に移行する。
【００４６】
一方、メモリ＃２（２３０）が選択された場合には（ステップＳ９５１：Ｎｏ）、メモリコントローラ２１０は、メモリ＃２（２３０）からデータの読出しを行い（ステップＳ９５４）、読み出したデータをバッファ２１４に保持させる（ステップＳ９５５）。その後、ステップＳ９５６の処理に移行する。ステップＳ９５６において、メモリコントローラ２１０は、バッファ２１４に保持されたデータから余分なデータを除去し（ステップＳ９５６）、マスタ１００に対して送出する（ステップＳ９５７）。その後、メモリコントローラ２１０は、読出し処理を終了する。
【００４７】
［メモリ選択処理］
図７は、本技術の第１の実施の形態におけるメモリ選択処理（ステップＳ９６０）の処理手順の一例を示す図である。メモリコントローラ２１０は、メモリ＃１（２２０）における読出しに係るデータが記録されている領域の先頭の物理アドレスＳＢＡｄｄｒ１および末尾の物理アドレスＥＢＡｄｄｒ１を算出する（ステップＳ９６１）。同様に、メモリコントローラ２１０は、メモリ＃２（２３０）における読出しに係るデータが記録されている領域の先頭の物理アドレスＳＢＡｄｄｒ２および末尾の物理アドレスＥＢＡｄｄｒ２を算出する（ステップＳ９６２）。次に、メモリコントローラ２１０は、メモリ＃１（２２０）における読出しブロック数ＲＢ１を算出する（ステップＳ９６３）。同様に、メモリコントローラ２１０は、メモリ＃２（２３０）における読出しブロック数ＲＢ２を算出する（ステップＳ９６４）。
【００４８】
次に、メモリコントローラ２１０は、メモリ＃１（２２０）における読出しブロック数ＲＢ１とメモリ＃２（２３０）における読出しブロック数ＲＢ２とを比較する（ステップＳ９６５）。この結果、メモリ＃２（２３０）における読出しブロック数ＲＢ２の方が小さい場合は（ステップＳ９６５：Ｙｅｓ）、メモリコントローラ２１０は、メモリ＃２（２３０）を選択し（ステップＳ９６６）、選択処理を終了する。一方、メモリ＃２（２３０）の読出しブロック数ＲＢ２の方が小さくない場合は（ステップＳ９６５：Ｎｏ）、メモリコントローラ２１０は、メモリ＃１（２２０）を選択し（ステップＳ９６７）、選択処理を終了する。
【００４９】
このように、本技術の第１の実施の形態によれば、同一のデータをＳＤＲＡＭにより構成された２つのメモリに記録させる。その際、一方のメモリにおいては記録開始ブロックの先頭からデータを記録させ、他方のメモリにおいては記録開始ブロックの途中からデータを記録させる。そして、読出しに必要なブロックの数が少ない方のメモリを選択して読み出すことにより、ＳＤＲＡＭを使用するシステムにおいてデータの読出し時間を短縮させることができる。
【００５０】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、ブロックサイズをバースト長とし、バースト転送を行うＳＤＲＡＭを想定していた。これに対し本技術の第２の実施の形態では、ＳＲＡＭへの適用を想定する。この場合、ブロックサイズには、ＳＲＡＭにおけるデータ長であるワードサイズが該当する。これにより、ＳＲＡＭを使用する記憶装置においてもデータの読出し時間を短縮させることができる。
【００５１】
［記憶装置の構成］
本技術の第２の実施の形態における記憶装置２００は、図１において説明した記憶装置２００におけるメモリ＃１（２２０）およびメモリ＃２（２３０）をＳＲＡＭにより構成されたメモリに置き換えた構成を採ることができる。このＳＲＡＭとしては、例えば、バースト転送を行わない形式のＳＲＡＭを使用することができる。このＳＲＡＭにおけるワードサイズを１６ビットと想定する。上述のように、この場合のブロックサイズはワードサイズとなる。これ以外の記憶装置２００の構成およびメモリコントローラ２１０の構成は、上述の第１の実施の形態と同様であるため、説明を省略する。
【００５２】
［データの書込み］
図８は、本技術の第２の実施の形態におけるデータの書込みを示す図である。同図におけるａは、メモリ＃１（２２０）およびメモリ＃２（２３０）におけるブロック（ワード）と記録領域との関係を表したものである。同図におけるａの矩形により区切られた領域は１ビットの領域を表し、この矩形部分に記載された文字は各ビットのビットアドレス（１６ビット表記。ただし、スペースの関係上「０ｘ」の記載を省略した。）を表している。
【００５３】
同図におけるｂは、メモリ＃１（２２０）に対して記録データである４ワードのデータ３０３を記録させた状態を表したものである。このデータ３０３は、メモリ＃１（２２０）のワード＃１を記録開始ワードとし、ワード＃４を記録終了ワードとする４ワードの領域に記録されている。また、このデータ３０３は、ワード＃１の最初のビット（ビットアドレス０ｘ０）から記録されている。すなわち、記録開始ワードの先頭から記録されている。一方、同図におけるｃは、メモリ＃２（２３０）に対して記録データである４ワードのデータ３０４を記録させた状態を表したものである。このデータ３０４は、データ３０３と同一内容のデータであり、メモリ＃２（２３０）のワード＃１に属するビットアドレス０ｘ８の領域から記録されている。すなわち、記録開始ワードの途中から記録されている。
【００５４】
このように、本技術の第２の実施の形態においても、メモリ＃１（２２０）には、記録データが記録開始ワードの先頭から記録され、メモリ＃２（２３０）には、同一内容の記録データが記録開始ワードの途中から記録されている。これは、書込み制御部２１２におけるデータの書込みにより実行され、この書込みは、例えば、図３において説明した手順と同様の以下の手順により行うことができる。まず、書込み制御部２１２は、書込みデータをバッファ２１４に転送して保持させる。次に、書込み制御部２１２は、バッファ２１４に保持されたデータをメモリ＃１（２２０）に対して書き込む。これにより、メモリ＃１（２２０）には、記録データであるデータ３０３が記録開始ワードの先頭から記録される。次に、書込み制御部２１２は、書き込まれた記録データが記録開始ワードの途中から記録された状態になるように、書込みデータの先頭および末尾にビットデータを追加する。
【００５５】
同図におけるｃに表したように記録開始ワードの先頭から８ビットずれた記録領域であるビットアドレス＃０ｘ８からデータ３０４を記録する場合を例に挙げて説明する。まず、書込み制御部２１２は、バッファ２１４に保持されている書込みデータの先頭に同図におけるｃに表したアドレス：＃０ｘ０、ビットアドレス：＃０ｘ０乃至＃０ｘ７の領域に記録されているビットデータを追加する。次に、書込み制御部２１２は、バッファ２１４に保持されている書込みデータの末尾に同図におけるｃに表したアドレス：０ｘ４、ビットアドレス：＃０ｘ８乃至＃０ｘＦの領域に記録されているビットデータを追加する。なお、これら追加するビットデータは、事前にメモリ＃２（２３０）から読み出しておく必要がある。次に、書込み制御部２１２は、データが追加されて５ワードのサイズとなった書込みデータをメモリ＃２（２３０）のワード＃１乃至ワード＃５の範囲の領域に書き込む。これにより、メモリ＃２（２３０）に対して、記録データであるデータ３０２を記録開始ワードであるワード＃１の途中から記録することができる。
【００５６】
［データの読出し］
図９は、本技術の第２の実施の形態におけるデータの読出しを示す図である。同図におけるａは、メモリ＃１（２２０）に書き込まれたデータ３０３の一部のデータを読み出す場合を表している。このような読出しが必要な場合としては、マスタ１００が８ビット単位でデータの処理を行っており、必要となるデータが、メモリ＃１（２２０）においては、ワードの境界をまたぐ領域に記録されている場合が該当する。メモリ＃１（２２０）からアドレス：０ｘ１、ビットアドレス：０ｘ８乃至アドレス：０ｘ２、ビットアドレス：０ｘ７に記録されたデータを読み出す場合には、ワード＃２およびワード＃３の２ワード分のデータを読み出す必要がある。一方、同図におけるｂは、メモリ＃２（２３０）に書き込まれたデータ３０４から上述のデータと同一のデータを読み出す場合を表している。メモリ＃１（２２０）における上述のデータは、メモリ＃２（２３０）におけるワード＃３のビットアドレス０ｘ０乃至ビットアドレス０ｘＦの領域に記録されている。メモリ＃２（２３０）からこのデータを読み出す場合には、１ワード分のデータの読出しで足りるため、メモリ＃１（２２０）から読み出す場合よりも読出し時間を短縮することができる。
【００５７】
本技術の第２の実施の形態においても、選択部２１５が読出しの際のメモリの選択を行う。この選択には、本技術の第１の実施の形態において説明した方法と同様の方法を用いることができる。まず、メモリ＃１（２２０）およびメモリ＃２（２３０）における読出しに係るデータが記録されている領域の先頭および末尾の物理アドレス（ワードアドレス＋ビットアドレス）を算出し、これらが含まれるワードの位置を算出する。次に算出されたこれらのワードの位置からメモリ＃１（２２０）およびメモリ＃２（２３０）における読出しワード数を算出する。最後に、算出された読出しワード数が少ない方のメモリを選択する。
【００５８】
読出し制御部２１３は、選択されたメモリからデータを読み出して、バッファ２１４に転送する。次にバッファ２１４に転送されたデータに余分なデータが含まれている際には、これを除去する。その後、余分なデータが除去された読出しデータがマスタ１００に送出される。
【００５９】
このように、本技術の第２の実施の形態によれば、同一のデータをＳＲＡＭにより構成された２つのメモリに記録させる。その際、一方のメモリにおいては記録開始ブロックの先頭からデータを記録させ、他方のメモリにおいては記録開始ブロックの途中からデータを記録させる。そして、読出しに必要なワードの数が少ない方のメモリを選択して読み出すことにより、ＳＲＡＭを使用するシステムにおいてデータの読出し時間を短縮させることができる。
【００６０】
＜３．第３の実施の形態＞
上述の第１の実施の形態では、ＳＤＲＡＭによる記憶装置を想定していた。これに対し本技術の第３の実施の形態では、画像メモリ装置への適用を想定する。これにより、画像メモリ装置においてもデータの読出し時間を短縮させることができる。
【００６１】
［情報処理システムの構成］
本技術の第３の実施の形態における情報処理システムは、図１において説明した情報処理システムと同様の構成を採ることができる。ただし、メモリ＃１（２２０）およびメモリ＃２（２３０）は、画像データを記録する画像メモリであり、ＳＤＲＡＭにより構成される。
【００６２】
［画像メモリの構成］
図１０は、本技術の第３の実施の形態における画像メモリの構成例を示す図である。同図の画像メモリは、ＳＤＲＡＭであるメモリ＃１（２２０）およびメモリ＃２（２３０）により構成される。同図におけるａおよび同図におけるｂは、それぞれメモリ＃１（２２０）およびメモリ＃２（２３０）を模式的に表したものである。これらの図における矩形で示された領域は、１ワードの記録領域を表している。メモリ＃１（２２０）およびメモリ＃２（２３０）は、この記録領域が２次元に配置されて構成されている。この２次元の配置のうち横方向はＳＤＲＡＭにおけるカラムアドレス順の配列を表し、縦方向はＳＤＲＡＭにおけるローアドレス順の配列を表している。メモリ＃１（２２０）を例に挙げて説明すると、メモリ＃１（２２０）の左上に配置されている記録領域２２１が、カラムアドレスおよびローアドレスともに値「０」の記録領域に該当する。他の記録領域は、記録領域２２１を起点として、図面に向かって右方向にカラムアドレスの順に配置され、図面に向かって下方向にローアドレスの順に配置されている。
【００６３】
また、これらのメモリは、いずれもバースト長として８ワードを想定する。同図におけるａでは、メモリ＃１（２２０）のブロックの先頭からデータ３０５（網掛けが施された領域）が記録されている。一方、同図におけるｂでは、データ３０５と同一内容のデータ３０６（網掛けが施された領域）がメモリ＃２（２３０）のブロックの先頭から４ワードずらして記録されている。なお、メモリコントローラの構成は、図１において説明したメモリコントローラ２１０と同様であるため、説明を省略する。
【００６４】
［データの読出し］
このようなメモリ＃１（２２０）およびメモリ＃２（２３０）に対して同図におけるｃに表した画像データが記録された場合を想定する。画像処理においては、画像データに設定された矩形領域であるマクロブロックを単位として画像データを処理する場合が多い。例えば、動きベクトル補償を行う際には、同図におけるｃに表したように、マクロブロック３０９を設定してこのマクロブロック３０９と近似する画像を含むマクロブロックを検索する場合がある。このような場合に、マクロブロック３０９に含まれる画像のデータを画像メモリから読み出す必要が生じる。ここで、同図におけるａおよび同図におけるｂに表した１ワードの記録領域に１画素分の画像データが記録されるものと想定する。マクロブロックのサイズを１６×１６画素とした場合には、同一のローアドレスにおいて１６ワードのデータの読出しを行い、さらにこれを１６ローアドレス分繰り返す必要が生じる。同図におけるａに表したように、メモリ＃１（２２０）におけるこの読出しデータの範囲がカラムアドレス０ｘ４乃至０ｘ１３の場合には、ブロック＃１乃至ブロック＃３の３ブロックの読出しが必要となる。
【００６５】
これに対して、メモリ＃２（２３０）から上述のデータと同じ内容のデータを読み出す場合、当該データには、同図におけるｂに表したようにカラムアドレス０ｘ８乃至０ｘ１７の範囲のデータが該当する。これを読み出すには、ブロック＃２およびブロック＃３の２ブロックの読出しで済むため、メモリ＃１（２２０）から読み出す場合と比べて短い読出し時間にすることができる。なお、メモリ＃１（２２０）およびメモリ＃２（２３０）の選択方法等は本技術の第１の実施の形態において説明した方法等と同様であるため、説明を省略する。
【００６６】
このように、本技術の第３の実施の形態によれば、本技術を画像メモリ装置に適用した場合であってもデータの読出し時間を短縮することができる。
【００６７】
以上のように、本技術の実施の形態によれば、記録開始ブロックの先頭からデータを記録するメモリと記録開始ブロックの途中からデータを記録するメモリの２つのメモリを使用する。これらのうち読出しの際に必要なブロックの数が少ない方のメモリを選択して読出しを行う。これにより、ブロックによって分割された範囲と整合しない範囲のデータを読み出す場合であっても、ＳＤＲＡＭ等を使用したシステムにおいて、データの読出し時間を短縮することができる。
【００６８】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００６９】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【００７０】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【００７１】
なお、本技術は以下のような構成もとることができる。
（１）複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第２のメモリとについて前記第１のメモリまたは前記第２のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方から読出しを行う読出し制御部と
を具備するメモリコントローラ。
（２）前記第１のメモリの前記記録開始ブロックの先頭から複数の記録データの書込みを行い、複数の前記記録データの先頭および末尾に所定のデータを追加することにより新たな記録データを生成して当該新たな記録データを前記第２のメモリの前記記録開始ブロックの先頭から書き込む書込み制御部をさらに具備する前記（１）に記載のメモリコントローラ。
（３）前記第１のメモリおよび前記第２のメモリは、書込みおよび読出しの際にバースト転送を行うメモリであり、
前記データは、ワードデータであり、
前記ブロックサイズは、前記バースト転送におけるバースト長である
前記（１）または（２）に記載のメモリコントローラ。
（４）前記データは、ビットデータであり、
前記ブロックサイズは、複数のビットデータからなるワードサイズであり、
前記ブロックは、ワードである
前記（１）または（２）に記載のメモリコントローラ。
（５）複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと、
前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第２のメモリと、
前記第１のメモリまたは前記第２のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方から読出しを行う読出し制御部と
を具備する記憶装置。
（６）複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと、
前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第２のメモリと、
前記第１のメモリまたは前記第２のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方を読出し対象として選択する選択部と、
前記選択の結果に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方から読出しを行う読出し制御部と
を備える記憶装置と、
前記記憶装置の前記データにアクセスするマスタと
を具備する情報処理システム。
（７）複数のデータからなるブロックサイズにより分割された記録領域であるブロックを単位としてアクセスされて記録開始ブロックの先頭から複数の記録データが記録される第１のメモリと前記ブロックを単位としてアクセスされて前記記録開始ブロックの途中から複数の前記記録データが記録される第２のメモリとについて前記第１のメモリまたは前記第２のメモリに記録された前記記録データに含まれるデータを読み出す際に必要となる前記ブロックの数に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方を読出し対象として選択する選択手順と、
前記選択の結果に基づいて前記第１のメモリまたは前記第２のメモリのいずれか一方から読出しを行う読出し制御手順と
を具備するメモリの制御方法。
【符号の説明】
【００７２】
１００  マスタ
２００  記憶装置
２１０  メモリコントローラ
２１１  マスタインターフェース
２１２  書込み制御部
２１３  読出し制御部
２１４  バッファ
２１５  選択部
２１６  メモリインターフェース
２２０  メモリ＃１
２３０  メモリ＃２
３０９  マクロブロック
【図１】
2016063716.tif 000003
【図２】
2016063716.tif 000004
【図３】
2016063716.tif 000005
【図４】
2016063716.tif 000006
【図５】
2016063716.tif 000007
【図６】
2016063716.tif 000008
【図７】
2016063716.tif 000009
【図８】
2016063716.tif 000010
【図９】
2016063716.tif 000011
【図１０】
2016063716.tif 000012
【国際調査報告】
2016063716.tif 000013
2016063716.tif 000014