JP4895262B2 - 情報処理装置、コントローラおよびファイル読み出し方法 - Google Patents

情報処理装置、コントローラおよびファイル読み出し方法 Download PDF

Info

Publication number
JP4895262B2
JP4895262B2 JP2005357050A JP2005357050A JP4895262B2 JP 4895262 B2 JP4895262 B2 JP 4895262B2 JP 2005357050 A JP2005357050 A JP 2005357050A JP 2005357050 A JP2005357050 A JP 2005357050A JP 4895262 B2 JP4895262 B2 JP 4895262B2
Authority
JP
Japan
Prior art keywords
file
memory
stored
page
read
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
JP2005357050A
Other languages
English (en)
Other versions
JP2007164303A (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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2005357050A priority Critical patent/JP4895262B2/ja
Priority to US11/562,751 priority patent/US20070136549A1/en
Priority to EP06024852A priority patent/EP1806650A3/en
Publication of JP2007164303A publication Critical patent/JP2007164303A/ja
Application granted granted Critical
Publication of JP4895262B2 publication Critical patent/JP4895262B2/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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、記憶手段に記録された情報を処理する装置およびコントローラに関する。
半導体メモリには、データアクセスの高速化を図る目的で、ページ単位での読み出し処理を可能としたものが存在する。たとえば、全メモリ領域が数KByte単位の領域(ページ)に区切られ、CPUは、各ページの先頭アドレスを指定することで、データの読み出しを行うことが可能となっている。例を挙げると、NOR型のFLASHでは、ページアクセスとランダムアクセスの両方が可能となっている。また、NAND型のFLASHでは、ページアクセスのみ可能となっている。
また、ハードディスクや半導体メモリに格納されたデータにファイル単位でアクセスするために、ファイルシステムが用いられる。ファイルシステムは、ハードディスクや半導体メモリに格納されている各ファイルの格納位置を示す情報を管理している。格納位置を示す情報とは、具体的には、ファイルが格納されているページの論理アドレスのチェーン情報である。ファイルシステムとしてFATシステムが利用されている場合、これらファイルの格納情報は、記憶装置内に格納されたFAT(File Allocation Tables)に記録されている。
アプリケーションプログラムにより、あるファイルの読み出し命令が実行されると、ファイルシステムが、指定されたファイルの格納位置を示す論理アドレスのチェーン情報を取得する。そして、ドライバプログラムにより、この論理アドレスで指定されたページを順次読み出すことで、ファイルの読み出しが行われるのである。
そして、一般的には、1つのファイルを構成するデータは、連続するページ、つまり、連続する論理アドレスのページに格納されている。このような場合、DMAC(Direct Memory Access Controller)によるファイル読み出しが有効である。
たとえば、図7に示すように、メモリの連続する4つの論理アドレスA100〜A103に、ファイルX1が格納されているとする(この場合、物理アドレスと論理アドレスは1対1に対応しているものとする。)。ドライバプログラムは、対象ファイルを構成するデータが、連続するページに格納されているか否か、つまり、連続する論理アドレスの領域に格納されているか否かを確認する。そして、連続するページに格納されている場合には、ドライバプログラムは、DMACを用いて連続読み出しを実行するのである。つまり、DMACは、先頭ページの論理アドレスA100を指定するとともに、4ページ分のデータを読み出すような命令を出力するのである。これにより、DMACから1回の命令が送られることで、4ページ部のデータを連続的に読み出すバースト転送が可能である。
上記のように、読み出し対象であるデータが連続したアドレスのページに格納されている場合には、DMACによるバースト転送が可能であり、データ処理速度の向上が図られる。また、DMA転送時の割り込み発生の回数を減らすことができるので、処理効率も向上する。
しかし、1つのファイルが不連続な論理アドレスのページに格納される場合がある(論理アドレスと物理アドレスが1対1に対応している場合を考えれば、1つのファイルが不連続な物理アドレスに格納されている場合でもある。)。たとえば、図8に示すように、ファイルX1は、不連続なページに格納されている。この場合、DMACは、次に、示す3回の処理を実行することになる。
(1)A100〜A101の連続読み出し(バースト転送)
(2)A102の読み出し
(3)A103の読み出し
つまり、論理アドレスが連続している区間に関してバースト転送を実行した後、一旦、DMA転送を終了し、再び、割り込みを発生させて、次のDMA転送を実行するのである。つまり、上記の例であれば、3回の割り込み処理が発生し、3回のDMA転送により、ファイルX1を読み出すことになる。このように、ファイルが不連続ページに格納されている場合には、データの転送効率が悪いという問題があった。
そこで、本発明は前記問題点に鑑み、ファイルが不連続ページに格納されている場合にも、効率よくファイル読み出しを行う技術を提供することを目的とする。
上記課題を解決するため、請求項1記載の発明は、ページ単位で区画されたメモリに記憶された情報を処理する情報処理装置であって、前記メモリに記憶された情報を処理するホストシステムと、前記ホストシステムから入力したコマンドに基づいて、前記メモリに対するアクセス制御をページ単位で実行するメモリコントローラと、を備え、前記ホストシステムは、前記メモリに記憶された情報を管理するとともに、前記メモリに記憶されているファイルの読み出し命令に応じて、前記メモリに格納されている前記ファイルのページインデックスを読み出すファイルシステム、を含み、前記メモリコントローラは、前記ファイルシステムによって読み出された前記ファイルのページインデックスを格納するページインデックスバッファと、前記ホストシステムから前記ファイルに対する読み出しコマンドを一つ入力した場合、前記読み出しコマンドのアドレス部を前記ページインデックスバッファに格納されているページインデックスに順次置き換えることにより複数の読み出しコマンドを生成し、前記メモリに対して連続して前記複数の読み出しコマンドを転送する変換手段と、を備えることを特徴とする。
請求項2記載の発明は、請求項1に記載の情報処理装置において、前記ファイルシステムによって読み出された前記ファイルのページインデックスがソフトウェア処理によって前記ページインデックスバッファに格納され、前記変換手段がハードウェアによって構成されていることを特徴とする。
請求項3記載の発明は、請求項1または請求項2に記載の情報処理装置において、前記ホストシステムは、DMAコントローラ、を含み、前記ホストシステムから出力される前記ファイルの読み出しコマンドは、前記DMAコントローラにより制御され、前記変換手段により順次置き換えられるページインデックスについてバースト転送が行われることを特徴とする。
請求項4記載の発明は、請求項3に記載の情報処理装置において、前記メモリに、不連続なページアドレスに格納された不連続ファイルが記憶されており、前記ページインデックスバッファには、前記不連続ファイルの不連続なページインデックスが格納され、前記変換手段によって、読み出しコマンドのアドレス部が不連続なページインデックスに置き換えられることにより、前記DMAコントローラは、1回のバースト転送により前記不連続ファイルを読み出すことを特徴とする。
請求項5記載の発明は、情報処理装置に組み込まれるメモリコントローラであって、前記情報処理装置は、ページ単位で区画されたメモリに記憶された情報を処理する装置であって、前記メモリに記憶された情報を管理するファイルシステムを含むホストシステムを備えており、前記メモリコントローラは、前記メモリに記憶されているファイルの読み出し命令に応じて前記ファイルシステムによって読み出された前記メモリに記憶されている前記ファイルのページインデックスを格納するページインデックスバッファと、前記ホストシステムから出力された前記ファイルの読み出しコマンドを一つ入力した場合、前記読み出しコマンドのアドレス部を前記ページインデックスバッファに格納されているページインデックスに順次置き換えることにより複数の読み出しコマンドを生成し、前記メモリに対して連続して前記複数の読み出しコマンドを転送する変換手段と、を備えることを特徴とする。
請求項6記載の発明は、請求項5に記載のメモリコントローラにおいて、前記ファイルシステムによって読み出された前記ファイルのページインデックスがソフトウェア処理によって前記ページインデックスバッファに格納され、前記変換手段がハードウェアによって構成されていることを特徴とする。
請求項7記載の発明は、請求項5または請求項6に記載のメモリコントローラにおいて、前記変換手段が、DMAコントローラより発生された読み出しコマンドのアドレス部をページインデックスで順次置き換えることにより、置き換えられたページインデックスについてバースト転送が行われることを特徴とする。
請求項8記載の発明は、ページ単位で区画されたメモリに格納されたファイルの読み出し方法であって、前記ファイルの読み出しが命令された場合、ソフトウェア処理によって、前記ファイルが格納されているページインデックスが取得され、前記ページインデックスがバッファに格納される工程と、演算処理装置により、前記ファイルの読み出しコマンドが一つ生成される工程と、ハードウェア処理によって、前記読み出しコマンドのアドレス部が、前記バッファに格納されている前記ページインデックスに順次置き換えられることにより複数の読み出しコマンドが生成され、前記複数の読み出しコマンドが連続的に前記メモリに出力される工程と、を備えることを特徴とする。
請求項9記載の発明は、請求項8に記載のファイル読み出し方法において、前記演算処理装置は、DMAコントローラであり、前記DMAコントローラによって生成された1回の読み出しコマンドにより、順次置き換えられたページインデックスについてバースト転送が行われることを特徴とする。
本発明の情報処理装置は、読み出しコマンドのアドレス部をページインデックスに置き換えた上で、記憶手段に対してコマンドを転送する。したがって、演算処理装置が1回の読み出しコマンドを発生させることで、ページインデックスに対応したデータを全て読み出すことが可能である。
また、ページインデックスの読み出しおよびバッファへの書き込みがソフトウェアにより実行され、変換手段が、ハードウェアにより構成されているので、ソフトウェア処理とハードウェア処理がバランスよく負荷分散される。
また、変換手段により置き換えられたページインデックスを1単位としてDMAバースト転送が行われるので、CPUの負荷を軽減しつつ、効率的なデータ転送を実現する。
また、記憶手段に、不連続なページアドレスに格納された不連続ファイルが記憶されている場合にも、DMAコントローラは、1回のバースト転送により不連続ファイルを読み出すので、データ転送効率が格段に向上する。
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本発明の実施の形態に係る情報処理装置1の機能ブロック図である。情報処理装置1は、メモリ4に格納されているファイルを読み込んで様々な情報処理を行う装置である。本実施の形態において、メモリ4は、フラッシュメモリ等の半導体メモリである。
また、本実施の形態において、情報処理装置1は、メモリ4をFATファイルシステムによって管理している。メモリ4は、図に示すように、FAT領域41とデータ領域42を備えている。データ領域42には、プログラムファイルやデータファイルの実体が格納され、FAT領域41には、ファイルの管理情報が記録されている。
また、図に示すように、メモリ4のデータ領域42は、複数のページ領域43,43・・・に区画されており、メモリ4は、ページ単位でアクセス制御される。つまり、ページ単位で、データの読み出し処理や書き込み処理が実行される。したがって、1つのファイルが複数のページに分割して格納される場合には、FAT領域41には、各ファイルのページチェーン情報が記録される。
情報処理装置1は、たとえば、ゲーム装置である。この場合、メモリ4はゲームカートリッジであり、ゲーム装置である情報処理装置1は、メモリ4に格納されたゲームプログラムを実行する。
情報処理装置1は、ホストシステム2とメモリコントローラ3とを備えている。ホストシステム2は、情報処理装置1の全体制御を行う中枢処理部であり、CPU21、DMAC(Direct Memory Access Controller)22、ROM23を備えている。ROM23には、後述する各種のソフトウェアが格納されている。また、情報処理装置1は、この他に、各種の入力装置や出力装置などを備えている。情報処理装置1が、ゲーム装置である場合には、出力装置として液晶表示装置やスピーカなどを備える。また、入力装置としては、各種の操作ボタンを備える。
メモリコントローラ3は、ホストインタフェース31と、ページインデックスバッファ32と、コマンドテンプレート生成部33と、ページインデックス転送シーケンサ34とを備えている。
ホストインタフェース31は、ホストシステム2との間でコマンドやデータの入出力を行うインタフェースである。つまり、ホストインタフェース31は、ホストシステム2からアドレス部を指定した読み出しコマンドや書き込みコマンドを入力するインタフェースであり、また、メモリ4から読み出されたデータをホストシステム2に出力するインタフェースである。
ページインデックスバッファ32は、読み出し対象であるファイルのページインデックスを格納するバッファである。つまり、読み出し対象であるファイルが格納されている全ページの情報が記録されるバッファである。ただし、ページインデックスバッファ32にファイルの全ページ情報が格納しきれない場合には、一部のページ情報が複数回に分けて格納されることになる。なお、後述するように、ページインデックスバッファ32に格納されるアドレスは、メモリ4の物理アドレスである。このページインデックスバッファ32には、不連続なページに格納されたファイルについては、不連続な物理アドレスがそのまま記録される。
コマンドテンプレート生成部33は、ページインデックス転送シーケンサ34において生成する読み出しコマンドのテンプレートを作成する。そして、ページインデックス転送シーケンサ34は、コマンドテンプレート生成部33によって生成されたコマンドのアドレス部を、ページインデックスバッファ32に格納されているページインデックスに置き換えた上で、メモリ4に読み出しコマンドを出力する。コマンドテンプレート生成部33およびページインデックス転送シーケンサ34は、ハードウェアで構成されている。
図2は、情報処理装置1の構成をソフトウェア層とハードウェア層に分類して示した図である。ソフトウェア層は、図に示すように、上位のアプリケーション層、アプリケーションの下位に位置するAPI(Application Program Interface)層、ドライバ層から構成され、ドライバ層の下位にハードウェア層が位置している。本実施の形態においては、アプリケーション層は、たとえば、ゲームプログラムなどのアプリケーションプログラムであり、API層は、FATシステムであり、ドライバ層は、メモリコントローラ3を制御するドライバ(デバイスドライバ)である。
なお、アプリケーションプログラムは、メモリ4に格納されている。また、FATシステムは、プログラムとメモリ4に記録されているテーブルなどの情報(FAT領域41に格納されている情報)から構成されるが、そのプログラム部分は、ROM23に格納されている。また、ドライバもROM23に格納されている。
以上の構成のもと、本実施の形態の情報処理装置1によるメモリアクセス処理の流れを図3のフローチャートを参照しながら説明する。ここでは、メモリ4には、図4に示すようにファイルが記録されているものとする。具体的には、ファイルAおよびファイルBが、データ領域42のページアドレスA0〜A7に格納され、その格納情報が、FAT領域41に記録されている。つまり、ファイルAが、ページアドレスA0,A1,A3,A5,A7に格納されており、ファイルBが、ページアドレスA2,A4,A6に格納されている。つまり、ファイルA、ファイルBとも、不連続なページに格納されている。
なお、ページアドレスA0〜A7は、メモリ4のFAT領域41に記録された論理アドレスである。ただし、本実施の形態においては、メモリ4のFAT領域41に記録された論理アドレスは、メモリ4の物理アドレスと1対1に対応している。したがって、本実施の形態においては、ファイルAおよびファイルBは、論理アドレスとしても、また、物理アドレスとしても、不連続なページに格納されている。
アプリケーションプログラムが、ファイルAを読み出す処理について説明する。まず、アプリケーションプログラムが、ファイルAを読み出す命令を実行する(ステップS1)。実質的には、この命令はCPU21によって実行される。
次に、FATシステムが、メモリ4にアクセスし、メモリ4に記録されているFAT領域41を参照する。そして、ファイルAが格納されている論理アドレスのチェーン情報(ページアドレスのチェーン情報)を取得する(ステップS2)。つまり、ファイルAが、論理アドレスA0,A1,A3,A5,A7に格納されているという情報を取得する。
FATシステムが取得したファイルAの格納アドレス情報は、ドライバに渡される。そして、ドライバは、ファイルAの格納論理アドレスを物理アドレスに変換する(ステップS3)。この論理―物理変換を行うために、ホストシステム2は、ページアドレスの対応テーブルを保持している。
ドライバは、ファイルAの格納物理アドレスを得ると、この物理アドレスを、ページインデックスバッファ32に格納する(ステップS4)。図5は、ページインデックスバッファ32に格納されたファイルAのインデックスを示している。図に示すように、インデックス0〜インデックス4に対応した記憶領域に、物理アドレスA0,A1,A3,A5,A7が格納されている。また、上述したように、この実施の形態においては、論理アドレスと物理アドレスとは1対1に対応しているので、ページインデックスバッファ32に格納されるアドレスの符号についても、説明を簡単にするために、同じアドレスの符号A0,A1,A3,A5,A7を用いている。
また、ドライバは、ファイルAのページ数情報をページインデックス転送シーケンサ34に与える(ステップS5)。この場合であれば、ファイルAは、メモリ4の5つのページ領域に格納されているので、ページ数情報「5」をページインデックス転送シーケンサ34に与える。ページインデッックス転送シーケンサ34は、バッファを持っており、ドライバから受け取ったファイルのページ数情報を格納する。
さらに、ドライバは、コマンドテンプレート生成部33に対して、コマンドのテンプレートを設定する(ステップS6)。つまり、メモリ4に対する読み出しコマンドのフォーマットを指定する。具体的には、命令部の開始ビット位置、ビット数、アドレス部の開始ビット位置、ビット数などを設定する。
以上で、読み出しコマンドの出力の準備が終わり、次に、DMAC22によりDMA転送コマンドが出力される(ステップS7)。このコマンドは、ファイルAを読み出すコマンドであるが、コマンドには、読み出しコマンドを示す命令語を指定するだけでよい。読み出しアドレスは指定する必要はない。
DAMC22により出力された読み出しコマンドは、ホストインタフェース31を介して、コマンドテンプレート生成部33に渡される。ここで、読み出しコマンドは、コマンドテンプレートによりマスクされて、アドレス部がクリアされる(ステップS8)。
図6は、読み出しコマンドの変換内容を示す図である。図中、「Command」は、DMAC22より出力された読み出しコマンドを示している。このコマンドには、“Command ID”として、読み出し命令(Read)を示すコード(“01234567”(16進数))が指定されている。また、アドレス部は、特に指定する必要がないため、意味のないコード(“11223344”(16進数))が含まれている。
図中、「Command Template」は、コマンドテンプレート生成部33において生成されたコマンドテンプレートである。このコマンドテンプレートは、コマンド中の命令部に全てF(16進数)が指定され、アドレス部には、全て0(16進数)が指定されている。
そして、DMAC22から出力された「Command」が、「Command Template」でマスクされることによって、得られるのが、「Masked Command」である。つまり、「Command」と「Command Template」で論理積をとることによって、得られるのが「Masked Command」であり、アドレス部が0にクリアされている。
次に、マスクされた読み出しコマンドがページインデックス転送シーケンサ34に出力される。ページインデックス転送シーケンサ34は、ドライバから取得したページ数情報に基づいてページインデックスバッファ32から、ファイルAのページインデックスを取得する(ステップS9)。ここでは、ドライバからページ数情報「5」を得ているので、ページインデックスバッファ32に格納されている5つの領域のインデックスを取得する。つまり、物理アドレスA0,A1,A3,A5,A7を取得する。
そして、ページインデックス転送シーケンサ34は、ページインデックスバッファ32から取得したインデックスを、1アドレスずつ、マスクされた読み出しコマンドのアドレス部にセットし、メモリ4に対して出力するのである(ステップS10)。この例であれば、まず、物理アドレスA0をアドレス部にセットした読み出しコマンドをメモリ4に出力し、続いて、物理アドレスA1をアドレス部にセットした読み出しコマンドをメモリ4に出力し、順に、物理アドレスA3,A5,A7をセットした読み出しコマンドをメモリ4に出力するのである。つまり、ページインデックス転送シーケンサ34は、DMAC22から1つのファイル読み出しコマンドを受け取ると、ページインデックスバッファ32から受け取った全てのページインデックスについて連続的に、読み出しコマンドを出力するのである。
これにより、メモリ4からは、順次、物理アドレスA0,A1,A3,A5,A7に格納されていたデータが出力される。このデータは、ホストインタフェース31を介してホストシステム2に渡されるのである。このようにして、ファイルAの読み出し処理が終了する。
このように、本実施の形態によれば、ファイルが不連続な論理アドレスに格納されている場合にも、DMAバースト転送が可能であり、ファイルの読み出し速度を向上させることが可能である。上記の例であれば、1回のDMAバースト転送により、ファイルAを読み出すことが可能であった。なお、図5では、ファイルAの全ページの情報がページインデックスバッファ32に格納されているが、ファイルが格納されているページ数がページインデックスバッファ32のインデックス数を超える場合には、ドライバは、複数回に分けてページ情報をページインデックスバッファ32に格納するようにすればよい。たとえば、ページサイズが2Kbyteで、ページインデックスバッファ32が64個のインデックスを格納可能であれば、一度に読み出せるデータ量は128Kbyteになる。したがって、1Mbyteのファイルを読み出す場合には、128Kbyte単位で8回に分けて処理が行うようにすればよい。
また、ページインデックスの取得と、バッファへの格納は、ファイルシステムやドライバなどのソフトウェアによって処理し、コマンドのアドレス部の置き換えは、ハードウェアであるページインデックス転送シーケンサ34によって処理するようにした。つまり、ハードウェアかに不向きな高位の機能はファイルシステムの一部として実装し、ハードウェアに適した低位な機能である連続ページ読み出し処理は、シーケンサおよびバッファ(レジスタ)として実装することによって、ソフトウェアとハードウェアがそれぞれ得意とする処理がバランスよく負荷分散し、高機能かつ効率のよいシステムが構築される。
なお、上記の実施の形態においては、ページインデックスを置き換えることにより、DMAバースト転送を行う場合を例に説明したが、本発明は、DMA転送のみならず、CPUによる転送にも適用可能である。つまり、上記の実施の形態において、DMAC22を用いることなく、CPU21より読み出しコマンドを発生させ、CPU21より発生した読み出しコマンドのアドレス部を、図6等で示したように、ページインデックスで置き換えるようにしてもよい。
また、本発明は、ファイルが格納されているページの論理アドレスが不連続の場合に、効果を奏するものであるが、上記の実施の形態で示したように、論理アドレスと物理アドレスが1対1に対応している場合には、ファイルは、物理アドレスについても不連続なページに格納されている。したがって、論理、物理いずれのアドレスについても不連続な場合にも適用可能である。
本発明の実施の形態に係る情報処理装置のブロック図である。 情報処理装置の機能階層を示す図である。 本実施の形態に係るファイル読み出し処理のフローチャートである。 不連続なアドレスにファイルが格納されたメモリを示す図である。 ページインデックスバッファにページインデックスが格納された状態を示す図である。 コマンドの置き換えイメージを示す図である。 連続エリアにファイルが格納されているメモリマップを示す図である。 不連続エリアにファイルが格納されているメモリマップを示す図である。
符号の説明
1 情報処理装置
2 ホストシステム
3 メモリコントローラ
4 メモリ
21 CPU
22 DMAC
32 ページインデックスバッファ
33 コマンドテンプレート生成部
34 ページインデックス転送シーケンサ

Claims (9)

  1. ページ単位で区画されたメモリに記憶された情報を処理する情報処理装置であって、
    前記メモリに記憶された情報を処理するホストシステムと、
    前記ホストシステムから入力したコマンドに基づいて、前記メモリに対するアクセス制御をページ単位で実行するメモリコントローラと、
    を備え、
    前記ホストシステムは、
    前記メモリに記憶された情報を管理するとともに、前記メモリに記憶されているファイルの読み出し命令に応じて、前記メモリに格納されている前記ファイルのページインデックスを読み出すファイルシステム、
    を含み、
    前記メモリコントローラは、
    前記ファイルシステムによって読み出された前記ファイルのページインデックスを格納するページインデックスバッファと、
    前記ホストシステムから前記ファイルに対する読み出しコマンドを一つ入力した場合、前記読み出しコマンドのアドレス部を前記ページインデックスバッファに格納されているページインデックスに順次置き換えることにより複数の読み出しコマンドを生成し、前記メモリに対して連続して前記複数の読み出しコマンドを転送する変換手段と、
    を備えることを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置において、
    前記ファイルシステムによって読み出された前記ファイルのページインデックスがソフトウェア処理によって前記ページインデックスバッファに格納され、前記変換手段がハードウェアによって構成されていることを特徴とする情報処理装置。
  3. 請求項1または請求項2に記載の情報処理装置において、
    前記ホストシステムは、
    DMAコントローラ、
    を含み、
    前記ホストシステムから出力される前記ファイルの読み出しコマンドは、前記DMAコントローラにより制御され、前記変換手段により順次置き換えられるページインデックスについてバースト転送が行われることを特徴とする情報処理装置。
  4. 請求項3に記載の情報処理装置において、
    前記メモリに、不連続なページアドレスに格納された不連続ファイルが記憶されており、前記ページインデックスバッファには、前記不連続ファイルの不連続なページインデックスが格納され、前記変換手段によって、読み出しコマンドのアドレス部が不連続なページインデックスに置き換えられることにより、前記DMAコントローラは、1回のバースト転送により前記不連続ファイルを読み出すことを特徴とする情報処理装置。
  5. 情報処理装置に組み込まれるメモリコントローラであって、
    前記情報処理装置は、ページ単位で区画されたメモリに記憶された情報を処理する装置であって、前記メモリに記憶された情報を管理するファイルシステムを含むホストシステムを備えており、
    前記メモリコントローラは、
    前記メモリに記憶されているファイルの読み出し命令に応じて前記ファイルシステムによって読み出された前記メモリに記憶されている前記ファイルのページインデックスを格納するページインデックスバッファと、
    前記ホストシステムから出力された前記ファイルの読み出しコマンドを一つ入力した場合、前記読み出しコマンドのアドレス部を前記ページインデックスバッファに格納されているページインデックスに順次置き換えることにより複数の読み出しコマンドを生成し、前記メモリに対して連続して前記複数の読み出しコマンドを転送する変換手段と、
    を備えることを特徴とするメモリコントローラ。
  6. 請求項5に記載のメモリコントローラにおいて、
    前記ファイルシステムによって読み出された前記ファイルのページインデックスがソフトウェア処理によって前記ページインデックスバッファに格納され、前記変換手段がハードウェアによって構成されていることを特徴とするメモリコントローラ。
  7. 請求項5または請求項6に記載のメモリコントローラにおいて、
    前記変換手段が、DMAコントローラより発生された読み出しコマンドのアドレス部をページインデックスで順次置き換えることにより、置き換えられたページインデックスについてバースト転送が行われることを特徴とするメモリコントローラ。
  8. ページ単位で区画されたメモリに格納されたファイルの読み出し方法であって、
    前記ファイルの読み出しが命令された場合、ソフトウェア処理によって、前記ファイルが格納されているページインデックスが取得され、前記ページインデックスがバッファに格納される工程と、
    演算処理装置により、前記ファイルの読み出しコマンドが一つ生成される工程と、
    ハードウェア処理によって、前記読み出しコマンドのアドレス部が、前記バッファに格納されている前記ページインデックスに順次置き換えられることにより複数の読み出しコマンドが生成され、前記複数の読み出しコマンドが連続的に前記メモリに出力される工程と、
    を備えることを特徴とするファイル読み出し方法。
  9. 請求項8に記載のファイル読み出し方法において、
    前記演算処理装置は、DMAコントローラであり、前記DMAコントローラによって生成された1回の読み出しコマンドにより、順次置き換えられたページインデックスについてバースト転送が行われることを特徴とするファイル読み出し方法。
JP2005357050A 2005-12-09 2005-12-09 情報処理装置、コントローラおよびファイル読み出し方法 Expired - Fee Related JP4895262B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005357050A JP4895262B2 (ja) 2005-12-09 2005-12-09 情報処理装置、コントローラおよびファイル読み出し方法
US11/562,751 US20070136549A1 (en) 2005-12-09 2006-11-22 Information processing apparatus, controller and file reading method
EP06024852A EP1806650A3 (en) 2005-12-09 2006-11-30 Information processing apparatus, controller and file reading method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005357050A JP4895262B2 (ja) 2005-12-09 2005-12-09 情報処理装置、コントローラおよびファイル読み出し方法

Publications (2)

Publication Number Publication Date
JP2007164303A JP2007164303A (ja) 2007-06-28
JP4895262B2 true JP4895262B2 (ja) 2012-03-14

Family

ID=37708320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005357050A Expired - Fee Related JP4895262B2 (ja) 2005-12-09 2005-12-09 情報処理装置、コントローラおよびファイル読み出し方法

Country Status (3)

Country Link
US (1) US20070136549A1 (ja)
EP (1) EP1806650A3 (ja)
JP (1) JP4895262B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080105390A (ko) * 2007-05-30 2008-12-04 삼성전자주식회사 플래시 메모리에 사용되는 명령어들을 제어하는 방법 및장치
US9377968B2 (en) * 2013-11-13 2016-06-28 Sandisk Technologies Llc Method and system for using templates to communicate with non-volatile memory
WO2015073608A1 (en) * 2013-11-13 2015-05-21 Sandisk Technologies Inc. Method and system for communicating with non-volatile memory
JP6361130B2 (ja) * 2013-12-24 2018-07-25 株式会社ソシオネクスト ファイルアクセスプログラム、ファイルアクセス方法
US10209900B2 (en) * 2016-09-19 2019-02-19 Fungible, Inc. Buffer allocation and memory management using mapping table
CN114035749B (zh) * 2018-01-12 2023-02-28 珠海极海半导体有限公司 电子设备和Flash存储器
CN113051194B (zh) * 2021-03-02 2023-06-09 长沙景嘉微电子股份有限公司 缓冲存储器、gpu、处理系统及缓存访问方法
CN114328508B (zh) * 2021-11-19 2024-04-26 北京遥测技术研究所 一种星载固态存储器的快速检索方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01267750A (ja) * 1988-04-19 1989-10-25 Nec Corp 記憶域管理方式
JPH04128947A (ja) * 1990-09-19 1992-04-30 Pfu Ltd アドレス変換バッファ装置
JPH04259046A (ja) * 1991-02-13 1992-09-14 Nec Software Ltd Romパッチ方式
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JP3619565B2 (ja) * 1995-04-26 2005-02-09 株式会社ルネサステクノロジ データ処理装置、及びそれを用いたシステム
JPH1063432A (ja) * 1996-08-22 1998-03-06 Ricoh Co Ltd ファイル制御装置
JPH10269141A (ja) * 1997-03-28 1998-10-09 Fujitsu Ltd プロセッサボード回路
US6151641A (en) * 1997-09-30 2000-11-21 Lsi Logic Corporation DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments
US6571054B1 (en) * 1997-11-10 2003-05-27 Nippon Telegraph And Telephone Corporation Method for creating and utilizing electronic image book and recording medium having recorded therein a program for implementing the method
JP3096280B2 (ja) * 1997-11-10 2000-10-10 日本電信電話株式会社 電子映像文書作成利用方法及びプログラム格納媒体
US6202106B1 (en) * 1998-09-09 2001-03-13 Xilinx, Inc. Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller
JP2000099451A (ja) * 1998-09-24 2000-04-07 Fuji Xerox Co Ltd インターフェース制御装置
JP2001256104A (ja) * 2000-03-14 2001-09-21 Fuji Xerox Co Ltd 情報処理装置
JP2003316395A (ja) * 2002-04-26 2003-11-07 Toshiba Corp 情報再生装置とその信号処理モジュール及び信号処理プログラム
JP2004265162A (ja) * 2003-03-03 2004-09-24 Renesas Technology Corp 記憶装置およびアドレス管理方法
JP4357305B2 (ja) * 2004-01-09 2009-11-04 株式会社バッファロー 外部記憶装置
JP3955862B2 (ja) * 2004-09-27 2007-08-08 株式会社ルネサステクノロジ データ処理装置、及びそれを用いたシステム

Also Published As

Publication number Publication date
JP2007164303A (ja) 2007-06-28
EP1806650A3 (en) 2008-08-13
US20070136549A1 (en) 2007-06-14
EP1806650A2 (en) 2007-07-11

Similar Documents

Publication Publication Date Title
JP4895262B2 (ja) 情報処理装置、コントローラおよびファイル読み出し方法
JP4406339B2 (ja) コントローラ、メモリカード及びその制御方法
JP4404625B2 (ja) 情報処理装置および該装置用のromイメージ生成装置
EP1898312A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
JP2005222228A (ja) メモリカード及び半導体装置
JP2006195565A (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
JP4751037B2 (ja) メモリカード
JP2008102774A (ja) データ記憶装置及びデータ制御方法
JP2007233838A (ja) メモリシステムの制御方法
EP1804166B1 (en) Memory device and information processing apparatus
CN113031854B (zh) 一次性可编程存储器装置及其容错方法
JP7225904B2 (ja) ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム
WO2020039927A1 (ja) 不揮発性記憶装置、ホスト装置、及びデータ記憶システム
JP2008210280A (ja) 半導体装置及びdmaコントローラ
JP2020170477A (ja) 記憶装置、その制御方法、及びプログラム
JP2007249662A (ja) メモリカード及びメモリカードの制御方法
JP4985108B2 (ja) データ記憶装置およびその制御方法
JP5195690B2 (ja) 情報処理装置、該装置用のromイメージ生成装置、および転送装置
JP2003122630A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP2008243156A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR100592859B1 (ko) 기록매체제어장치및방법
CN113050880A (zh) 一次性可编程存储器装置及其容错方法
JP2008299513A (ja) データ記憶装置およびその制御方法
JP2004326538A (ja) 情報記録再生方法
JP6080490B2 (ja) 情報処理装置、起動方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081202

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111028

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4895262

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees