JP6424330B2 - 情報処理装置、及び情報処理方法 - Google Patents

情報処理装置、及び情報処理方法 Download PDF

Info

Publication number
JP6424330B2
JP6424330B2 JP2016173829A JP2016173829A JP6424330B2 JP 6424330 B2 JP6424330 B2 JP 6424330B2 JP 2016173829 A JP2016173829 A JP 2016173829A JP 2016173829 A JP2016173829 A JP 2016173829A JP 6424330 B2 JP6424330 B2 JP 6424330B2
Authority
JP
Japan
Prior art keywords
data
data type
unit
temporary storage
storage unit
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
JP2016173829A
Other languages
English (en)
Other versions
JP2017076375A (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.)
Axell Corp
Original Assignee
Axell 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 Axell Corp filed Critical Axell Corp
Priority to TW105132573A priority Critical patent/TWI707271B/zh
Priority to CN201610881982.9A priority patent/CN106649138B/zh
Priority to US15/293,162 priority patent/US10802712B2/en
Publication of JP2017076375A publication Critical patent/JP2017076375A/ja
Application granted granted Critical
Publication of JP6424330B2 publication Critical patent/JP6424330B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0032Serial ATA [SATA]

Description

本発明は、ライフタイム及びデータサイズが異なる複数種類のデータを扱うのに好適な情報処理装置及び情報処理方法に関する。
パチンコ機やパチスロ機等の遊技機においては、静止画や動画の画像、スピーカーからの音、LEDによる発光等により、遊技中の遊技者に対して、多彩な演出を提供することにより、高い遊興感を味わえるように緻密に構成されている。
遊技中のこれらの画像、音、光の出力は、それらの出力のためのデータを予め遊技機内に格納しておき、遊技の際、遊技の進行に応じて、それらのデータを読み出してきて、所定のデータ変換により画像、光、音として出力することにより行われている。更に詳細には、それらの画像データ、音声データ、及び発光データは、遊技機の製造時に、読出し専用メモリに圧縮符号化して書き込んでおき、遊技の際には、それらのデータを専用で処理するプロセッサが、随時、その読出し専用メモリから読み出して復号して、データに応じて液晶表示器、スピーカー、LED(Light Emitting Diode)等に出力するようにしている。
ところで、上記の専用のデータ処理プロセッサが、読出し専用メモリから所望のデータを読み出す際においては、特に遊技機にあっては液晶表示器等への多彩で変化の激しい出力要求に応ずべく、高速に読み出せることが要求される。従って、この読出し専用メモリからのデータの読み出しにおいても、キャッシュの技術を採用することが多い。具体的には、読出し専用メモリにおいて、画像データ、音声データ、及び発光データを格納する主たるメモリ(典型的にはフラッシュメモリ)に加えて、キャッシュ(リードキャッシュ)として機能させるメモリ(例えば、DRAM(Dynamic Random Access Memory))を備え、キャッシュ機能を実現している。
特許文献1においては、HDD(8)の前段にキャッシュメモリ(6)がある構成であり、HDD(8)に記録するデータも映像信号と音声信号の2種類の信号であるものの、当該文献に記載の技術の目的は、一纏まり(1ファイル)のサイズがHDD(8)の容量を越えるようなサイズの映像・音声信号であっても、複数のHDD(8)に渡ってうまく記録できるようにすることであり、その目的を達成するための構成は、1ファイルの映像・音声信号を、その映像・音声信号の切り替わり箇所で複数に分割して、その各所で分割可能なファイルに構成する、というものである。
また、特許文献2においては、容量の異なる2つのキャッシュメモリによる階層化の技術と、命令とデータ(オペランド)とでキャッシュを分ける技術とを組み合わせる技術の更なる応用が開示されており、その具体的構成は、オペランドアクセス時及び分岐命令の分岐先命令アクセス時に比較的小容量の第1キャッシュメモリをアクセスし、不在のときに大容量の第2キャッシュメモリにアクセスする、というものである。
また、特許文献3においては、複数のプロセッサで処理する処理において、各プロセッサが時々において自身が担当処理するプロセスがない場合に効率的に低電力モードに切り替わる工夫について開示しており、その前提として、各プロセッサには1対1でキャッシュメモリが備わっている(図1、図5)というものである。
特開2003−115168公報 特開昭64−18843号公報 特表2005−531860公報
しかしながら、上述の画像データ、音声データ、及び発光データのように多種のデータを扱う場合、それらのデータ種別に応じてライフタイム(データが利用される時間長)やデータサイズ(通信データ量単位)が異なることが多く、その場合、基本的にデータサイズが大きくライフタイムの長い種別のデータが偏ってキャッシュメモリを占めてしまい、必要なデータを所望のタイミングで処理できない状況に陥ることがある。
特に、パチンコ機等の遊技機においては、音声データ及び発光データが画像データと比較して処理の遅延が許容されないにも拘わらず、データサイズの大きい画像データのみがキャッシュメモリを占めてしまうので、音や光の出力が許容量を超えて遅れてしまうといった問題があった。これは、画像データが音声データや発光データよりデータ量が大きいため、キャッシュメモリにおける占有率が高くなり、音声データや発光データのデータがキャッシュメモリにキャッシュされにくく、処理遅延が生じるためである。
本発明は、上記に鑑みてなされたもので、その目的は、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部を占めてしまうことを回避することにある。
上記課題を解決するために、請求項1記載の発明は、複数のデータ種別に対応した複数の種類のデータを記憶する記憶部と、前記記憶部から読み出したデータを前記データ種別に応じた一時記憶領域に一時的に記憶する一時記憶部と、前記記憶部、及び前記一時記憶部を制御する制御部と、を備えた補助記憶装置と、上位CPUからの要求に基づいて、前記補助記憶装置から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサと、を備えた情報処理装置であって、前記データ処理プロセッサは、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御部を備え、前記データ処理プロセッサは、前記データ種別に応じて前記インターフェース制御部のアドレス空間のアドレスを指定し、前記インターフェース制御部は指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成し、前記補助記憶装置の制御部は、前記データ処理プロセッサからのリードコマンドに含まれる前記データ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて前記一時記憶領域を選択するように制御したことを特徴とする。
本発明によれば、データ種別に応じて一時記憶部の一時記憶領域を選択するので、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部を占めてしまうことを回避することができる。
本発明の実施形態に係る情報処理装置の構成を説明するための機能ブロック図である。 本発明の実施形態に係るデータ処理プロセッサに設けられたインターフェース制御部の構成を説明するための機能ブロック図である。 本発明の実施形態に係るリードコマンドパケットの構成を示す図である。 本発明の実施形態に係る補助記憶装置に設けられた領域制御部の構成を説明するための機能ブロック図である。 本発明の実施形態に係るデータ処理プロセッサに設けられたインターフェース制御部の動作について説明するためのフローチャートである。 本発明の実施形態に係る補助記憶装置に設けられた領域制御部の動作について説明するためのフローチャートである。 本発明の実施形態に係る情報処理装置のデータ処理プロセッサと補助記憶装置との間のデータの流れ及び一時記憶部の複数の一時記憶領域について説明するための図である。
以下、本発明を図面に示した実施の形態により詳細に説明する。
本発明は、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部を占めてしまうことを回避するために、以下の構成を有する。
すなわち、本発明の情報処理装置は、複数のデータ種別に対応した複数の種類のデータを記憶する記憶部と、記憶部から読み出したデータをデータ種別に応じた一時記憶領域に一時的に記憶する一時記憶部と、記憶部、及び一時記憶部を制御する制御部と、を備えた補助記憶装置と、上位CPUからの要求に基づいて、補助記憶装置から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサと、を備えた情報処理装置であって、データ処理プロセッサは、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御部を備え、補助記憶装置の制御部は、データ処理プロセッサからのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御したことを特徴とする。
以上の構成を備えることにより、データ種別に応じて一時記憶部の一時記憶領域を選択するので、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部を占めてしまうことを回避することができる。
上記の本発明の特徴に関して、以下、図面を用いて詳細に説明する。
<情報処理装置>
図1を参照して、本発明の実施形態に係る情報処理装置の構成について説明する。図1は、本発明の実施形態に係る情報処理装置の構成を説明するための機能ブロック図である。
情報処理装置1は、データ処理プロセッサ10、補助記憶装置40、を備えている。
図1に示す上位CPU2は、遊技機等を構成する情報処理装置1に対して上位に配置されたCPUである。
データ処理プロセッサ10は、画像、音声、発光等のデータを処理するプロセッサであり、CPU12、画像処理部14、表示出力部16、サウンド処理部18、サウンド出力部20、発光処理部22、発光出力部24、インターフェース制御部26、バス28を備えている。
CPU12は、データ処理プロセッサの全体を制御する。
画像処理部14は、表示すべき画像を処理するものであり、補助記憶装置40に格納されたデータを取得して復号し、画像として描画することで画像データを生成する。
表示出力部16は、画像処理部14が生成した画像データをディスプレイ30等の表示部に出力する。ディスプレイ30は、LCD等の表示デバイスである。
サウンド処理部18は、出力すべき音声信号を処理するものであり、補助記憶装置40に格納されたデータを取得して復号し、サウンドデータを生成する。
サウンド出力部20は、生成されたサウンドデータに基づき、スピーカー32等に音声信号を出力する。
発光処理部22は、演出に基づき、補助記憶装置40に格納されたデータを復号して、LED34等の発光体を駆動するためのデータを生成する。
発光出力部24は、発光処理部が生成したデータに基づき、LED等の発光体を駆動する。
LED(light emitting diode)34は、順方向に電圧を加えた際に発光する半導体素子であり、発光体の一例である。
インターフェース制御部26は、補助記憶装置40との間のインターフェースを制御するもので、本実施形態においては、画像処理部14、サウンド処理部18、発光処理部22、その他(CPU)のいずれか1つが要求するリードリクエストがどの処理部またはCPUから行われたものかをリードリクエストに含まれるデータアドレスに基づいて判別し、判別結果に応じてリードリクエストであるリードコマンドに含ませるセクターカウント値(Sector Count)を設定する。
補助記憶装置40は、記憶部(フラッシュメモリ)42、一時記憶部(DRAM)44、メモリコントローラ46、バス48を備えている。
補助記憶装置40は、いわゆるNANDフラッシュメモリを含むSSD(Solid State Drive)である。ただし、通常のSSDでは一時記憶部44が書き込み用のキャッシュメモリとして用いられるが、本発明において用いるSSDはSSDのファームウェアを変更し、一時記憶部44を読み出し用のキャッシュメモリとして利用している。なお、書き込み用に利用されるDRAMを読み出し用に変更せず、読み出し用として別途DRAMを用意しても良い。
記憶部42は、例えば、NANDフラッシュメモリアレイからなる記憶部である。
一時記憶部44は、例えば、DDR DRAMからなる一時記憶部であって、読み出しデータをキャッシュする。
メモリコントローラ46は、全体制御部50、シーケンス制御部52、ECC(Error Check and Correct)制御部54、ホストI/F制御部56、メモリI/F制御部58、領域制御部60を備え、補助記憶装置40を制御する。
全体制御部50は、RAM、ROM等を内蔵し(図示省略)、メモリコントローラ46全体を制御する。
シーケンス制御部52は、メモリコントローラ46から記憶部42に与えられる内部コマンド信号に基づき、記憶部42の動作を制御する。
ECC制御部54は、読み出しデータに付加されたエラーコレクションコードに基づき、読み出したデータに含まれる誤りを検出し、且つ誤りを検出した場合に当該データの誤りを訂正する。
ホストI/F制御部56は、ホスト(データ処理プロセッサ)との間のインターフェースを制御する。
メモリI/F制御部58は、記憶部42であるNANDアレイや一時記憶部44であるDRAM等とのインターフェースを制御する。
領域制御部60は、一時記憶部44を用いてキャッシュするデータ種別(画像、音声、発光、他)に応じて、当該一時記憶部44におけるデータを格納する一時記憶領域を制御する。
なお、メモリコントローラ46の各構成は、メモリコントローラ46のマイクロプロセッサにより実現する。
また、バス28とバス48との接続は、シリアル高速通信バスや、PCIe(PCIエクスプレス)等を利用することができ、各バス28、48は説明を簡単にするためデータバス及びレジスタバスを区別せずに記載している。
<インターフェース制御部>
図2を参照して、図1に示すインターフェース制御部の機能ブロックの構成について説明する。図2は、本発明の本実施形態に係るデータ処理プロセッサに設けられたインターフェース制御部の構成を説明するための機能ブロック図である。
インターフェース制御部26は、要求データアドレス判定部26a、リードコマンドセクターカウント設定部26b、修正リードコマンド生成部26c、修正リードコマンド出力部26d、を備えている。
要求データアドレス判定部26aは、データ処理プロセッサ10に設けられた画像処理部14、サウンド処理部18、発光処理部22、CPU12の何れか1つから出力されるリードコマンドを入力し、リードコマンドによって要求されたデータのアドレスからどの処理部(又はCPU)からのリクエストであるかを判定する。
例えば、図7に示すように、データ処理プロセッサ10側のアドレス空間のうち0ギガバイト(以下、GBという)〜8GBまでを他データ、8GB〜16GBを音声・発光データ、16GB〜24GBを画像データとして割り当てた場合に、リクエストされたデータのアドレスが16GB〜24GBの領域のものであれば、画像データの読み出しリクエストと判定する。
すなわち、データ処理プロセッサ10において、リードコマンドを35ビットで表現し、データ処理プロセッサ10が他データのアドレスを指定する場合には最上位の2ビットを“00”とし、残り33ビットでフラッシュメモリの実アドレス空間である8GB分のアドレスを指定する。また、データ処理プロセッサ10が音声・発光データを指定する場合には最上位の2ビットを“01”とすることでデータ処理プロセッサのアドレス空間は8GB〜16GBとなり、残り33ビットでフラッシュメモリの実アドレス空間である8GB分のアドレスを指定する。更に、データ処理プロセッサ10が画像データを指定する場合には最上位の2ビットを“10”とすることでデータ処理プロセッサのアドレス空間は16GB〜24GBとなり、残り33ビットでフラッシュメモリの実アドレス空間である8GB分のアドレスを指定する。このように上位2ビットでデータ種別を指定し、インターフェース制御部26は上位2ビットを除く残りの33ビットでフラッシュメモリの実アドレスを指定し、データの読み出しを行うことができる。
リードコマンドセクターカウント設定部26bは、要求データアドレス判定部26aにて判定したデータ種別(画像データ、音声・発光データ、他データ)に応じてリードコマンドに含めるセクターカウント値をレジスタに設定する。なお、本実施形態では、一例として、画像データは16キロバイト(以下、KBという)ずつの読み出し、音声・発光データは512バイトずつの読み出し、他データは1KBずつの読み出しとして設定しているので、リードコマンドセクターカウント設定部26bは、それぞれセクターカウント値をレジスタに16、1、2と設定する。
修正リードコマンド生成部26cは、リードコマンドセクターカウント設定部26bのレジスタに設定したセクターカウント値をリードコマンドに含め、修正した修正リードコマンドを生成する。
修正リードコマンド出力部26dは、データ処理プロセッサ10の画像処理部14、サウンド処理部18、発光処理部22、CPU12から発行された35ビットのリードリクエストの上位2ビットを削除し、残りのリクエストデータをフラッシュメモリの実アドレスであるLBA(Logical Block Addressing)とし、図3に示すようなSATA規格のコマンドパケット(FIS:Frame Information Structure)のLBAに設定し、更に修正リードコマンド生成部26cで決定したセクターカウントをコマンドパケットのフィーチャーズ(Features)に割り当てられたレジスタに設定し、新たなリードコマンドとして補助記憶装置40へ出力する。
なお、シリアル高速通信バスの一規格であるSATA(Serial ATA)の規格では、コマンドパケットとして読み出しのデータ量単位を設定するセクターカウントやLBA以外にも設定する項目が存在すると共に、フラッシュメモリの読み出し単位に応じてフラッシュメモリの実アドレスを指定するための下位ビットの切り捨て処理等が行われるが、それらの詳細な説明は省略する。
<領域制御部>
図4を参照して、図1に示す領域制御部の機能ブロックの構成について説明する。図4は、本発明の実施形態に係る補助記憶装置に設けられた領域制御部の構成を説明するための機能ブロック図である。
領域制御部60は、一時記憶部領域設定部60a、セクターカウント判定部60b、一時記憶部書込み制御部60c、を備えている。
一時記憶部領域設定部60aは、一時記憶部44にキャッシュするデータ種別(画像、音声、発光、他)に応じて、キャッシュするDRAMの領域をレジスタに設定する。領域設定は任意に行うことができ、例えば、DRAMの容量が2GBの場合、1GBを画像データ用、512MBを音声・発光データ用、512MBを他データ用等に割り当てることで、画像データに対しては大きいキャッシュを確保し、音声・発光データに対しては、画像データの一時記憶領域(キャッシュ領域)に対して相対的に小さいキャッシュを確保することができる。なお、音声・発光データは一つの領域を共用して使用しているが、それぞれのデータに領域を割り当てても良いし、音声・発光データ及び他データが一つの領域を共用し、画像データが利用する領域と異なる領域に割り当てても良い。
セクターカウント判定部60bは、リードコマンドに含まれるセクターカウント値を判定することにより、リードコマンドにより求められているデータ種別(画像データ、音声・発光データ、他データ)を判定する。
一時記憶部書き込み制御部60cは、セクターカウント判定部60bによって判別されたデータ種別に応じ、一時記憶部領域設定部60aのレジスタに設定された一時記憶部44の一時記憶領域に記憶部42から読み出したデータをキャッシュ(書き込み)する。
なお、領域制御部60は、メモリコントローラ46に含まれるマイクロプロセッサにより実現するものであり、全体制御部50やシーケンス制御部52と協働し、データ処理プロセッサ10から受け付けたリードコマンドに応じて記憶部42からデータを読み出し、また一時記憶部44に読み出したデータをキャッシュとして格納する。
<インターフェース制御部の動作フロー>
図5を参照して、図2に示すインターフェース制御部の動作フローについて説明する。図5は、本発明の実施形態に係るデータ処理プロセッサに設けられたインターフェース制御部の動作について説明するためのフローチャートである。
ステップS5では、要求データアドレス判定部26aは、画像処理部14やサウンド処理部18等からのリードコマンドを受け付けたか否かを判定する。リードコマンドを受け付けた場合、ステップS10に進む。
ステップS10では、要求データアドレス判定部26aは、データ処理プロセッサ10に設けられた画像処理部14、サウンド処理部18、発光処理部22、CPU12から出力されるリードコマンドを入力し、リードコマンドによって要求されたデータのアドレスからどの処理部(又はCPU)からのリクエストであるかを判定する。
ここで、データ処理プロセッサ10がアクセス可能なアドレス空間について詳しく説明する。なお、以下で説明するアドレスは、表1に示す「要求されたデータのアドレス」を意味する。
(1)0GB〜8GBのアドレスは、35ビットの二進法で表現すると、000 0000 0000 0000 0000 0000 0000 0000 0000 〜001 1111 1111 1111 1111 1111 1111 1111 1111となる。
(2)8GB〜16GBのアドレスは、二進法で表現すると、010 0000 0000 0000 0000 0000 0000 0000 0000 〜011 1111 1111 1111 1111 1111 1111 1111 1111となる。
(3)16GB〜24GBのアドレスは、二進法で表現すると、100 0000 0000 0000 0000 0000 0000 0000 0000 〜101 1111 1111 1111 1111 1111 1111 1111 1111となる。
指定されているアドレスの34ビット目及び35ビット目を見ると、(1)0GB〜8GBは00、(2)8GB〜16GBは01、(3)16GB〜24GBは10となり、どの桁に“1”が立っているかを判別することで、どのアドレス空間を指定したものか判別できる。
すなわち、上位2ビットの1ビット目が“1”なら(3)、上位2ビットの1ビット目が“0”で、かつ2ビット目が“1”なら(2)、上位2ビットの1ビット目及び2ビット目が“0”なら(1)と、データ処理プロセッサ10のインターフェース制御部26に設けられた要求データアドレス判定部26aが判定する。そして、要求データアドレス判定部26aは、表1に示す変換テーブルと照合して、要求されたデータのアドレスに対応したデータ種別と、データ種別に対応したセクターカウント値を求める。
表1は、要求されたデータのアドレスに対応したデータ種別、データ種別に対応したセクターカウント値を示す表であり、変換テーブルとしてインターフェース制御部26に記憶されている。
Figure 0006424330
要求データのアドレスが画像データを指定する場合に、ステップS15に進み、リードコマンドセクターカウント設定部26bは、要求データアドレス判定部26aにて判定したデータ種別(画像データ)をキーとして表1に示す変換テーブルと照合して、当該データ種別に対応してリードコマンドに含めるセクターカウント値を求め、例えば16をレジスタに設定する。
要求データのアドレスが音声・発光データを指定する場合に、ステップS20に進み、リードコマンドセクターカウント設定部26bは、要求データアドレス判定部26aにて判定したデータ種別(音声・発光データ)をキーとして表1に示す変換テーブルと照合して、当該データ種別に対応してリードコマンドに含めるセクターカウント値を求め、例えば1をレジスタに設定する。
要求データのアドレスが他データを指定する場合に、ステップS25に進み、リードコマンドセクターカウント設定部26bは、要求データアドレス判定部26aにて判定したデータ種別(他データ)をキーとして表1に示す変換テーブルと照合して、当該データ種別に対応してリードコマンドに含めるセクターカウント値を求め、例えば2をレジスタに設定する。
ステップS30では、修正リードコマンド生成部26cは、リードコマンドセクターカウント設定部26bにて定めたセクターカウント値をSATA規格のコマンドパケット(FIS:Frame Information Structure)のフィーチャーズ(Features)に割り当てられたレジスタに設定すると共に、リクエストデータをフラッシュメモリの実アドレスであるLBA(Logical Block Addressing)に設定し、修正リードコマンドを生成する。
ステップS35では、修正リードコマンド出力部26dは、修正リードコマンド生成部26cにて生成した修正リードコマンドを新たなリードコマンドとして補助記憶装置40へ出力する。
<領域制御部の動作フロー>
図6を参照して、領域制御部の動作フローについて説明する。図6は、本発明の実施形態に係る補助記憶装置に設けられた領域制御部の動作について説明するためのフローチャートである。
ステップS55では、一時記憶部領域設定部60aは、インターフェース制御部26からリードリクエストを受け付けたか否かを判断する。一時記憶部領域設定部60aは、インターフェース制御部26からリードリクエストを受け付けた場合にステップS60に進む。
ステップS60では、セクターカウント判定部60bは、リードコマンドに含まれるセクターカウント値によりデータ種別(画像データ、音声・発光データ、他データ)を判定して、データ種別を認識する。すなわち、セクターカウント判定部60bは、リードコマンドに含まれるセクターカウント値をキーとして表2に示す変換テーブルと照合して、セクターカウント値に対応するデータ種別を求める。
表2は、セクターカウント値に対応したデータ種別と、データ種別に対応した一時記憶領域(アドレス空間)を示す表であり、変換テーブルとして領域制御部60に記憶されている。
Figure 0006424330

ステップS65では、一時記憶部書き込み制御部60cは、求められたデータ種別をキーとして表2に示す変換テーブルと照合して、当該データ種別に対応する一時記憶領域を求め、データ種別に割り当てられた一時記憶部44(キャッシュ)の一時記憶領域にデータがあるか否かを判定する。
データ種別に割り当てられた一時記憶部44(キャッシュ)の一時記憶領域にデータがある場合(S65、Yes)には、ステップS70に進み、一時記憶部書き込み制御部60cは、データ種別に割り当てられた一時記憶部44(キャッシュ)の一時記憶領域からデータを読み出す。同時に、ステップS75では、一時記憶部書き込み制御部60cは、データ処理プロセッサ10へデータを出力する。
一方、データ種別に割り当てられた一時記憶部44(キャッシュ)の一時記憶領域にデータがない場合(S65、No)には、ステップS80に進み、一時記憶部書き込み制御部60cは、記憶部42からデータを読み出す。次いで、ステップS85では、一時記憶部書き込み制御部60cは、セクターカウント判定部60bによって判別されたデータ種別に応じ、一時記憶部領域設定部60aのレジスタに設定された一時記憶部44(DRAM)の領域に記憶部42から読み出したデータをキャッシュ(書き込み)する。
この際、ステップS80では、一時記憶部書き込み制御部60cは、記憶部42からデータを読み出す。同時に、ステップS75では、一時記憶部書き込み制御部60cは、データ処理プロセッサ10へデータを出力する。
なお一時記憶部書き込み制御部60cは、一時記憶部44(キャッシュ)の一時記憶領域へのデータ書き込みの際に、割り当てられた一時記憶領域に空きがあれば、空いている一時記憶領域に格納し、空きがなければ最も古いデータを破棄し、そこにキャッシュする(LRUアルゴリズム(Least Recently Used))を用いることができる。また、一時記憶部書き込み制御部60cは、LFU(Least Frequently Used)アルゴリズムを用いてデータをキャッシュすることも可能である。
<一時記憶領域>
図7を参照して、一時記憶部44の一時記憶領域について説明する。
図7に示す例において、一時記憶部44には、画像データ用領域、音声及び発光データ用領域、及び他データ用領域の3つを確保している。同図に示すように、一時記憶部のアドレス空間としてはフラッシュメモリの実アドレス空間と等しく等分であることが好ましい。なお、領域の分け方は、一時記憶部44に用いるDDR DRAMの物理的構成に依存せず、論理的に分けられていることが認識できればよい。またアドレス空間の各データ領域は記憶部42の実アドレスと同一量を確保しているが、実際に一時記憶部44(キャッシュ)として利用する領域は補助記憶装置40により制限されている。
ところで、高速データ通信においては、予め決めたデータ量単位であるセクターカウント値を用いて複数回(複数リクエスト)に分けてデータの読み出しが行われる。しかも、データ種別に応じて、そのセクターカウント値は異なる。例えば、比較的大容量の画像データについては、音声データや発光データと比較して、セクターカウント値を大きく設定する。
例えば、シリアル高速通信バスの一例であるSATA I/Fでは、セクターカウント値が定義されているので、一度に読み出すデータ量が制限されている。最少読み出しデータ量は512バイトであり、最大読み出しデータ量は32メガバイト(以下、MBという)である。なお、書き込みデータ量についても同様である。
ここで、画像データと音声・発光データのデータ量単位が異なることの技術的理由について説明する。
まず、画像データは、音声データや発光データと比較して容量が大きいので、単位時間当たりでリクエストされるデータ量も音声・発光データより大きくなることが一般的である。そのため、画像データを読み出す場合には、読み出しデータ量単位を大きくすることでホスト装置であるデータ処理プロセッサ10から補助記憶装置40の一例であるSATA SSDへのアクセス回数を低減し、データ処理プロセッサ10における処理の高速化を図っている。
一方、音声や発光データは、画像データに比べてデータサイズが小さいので、画像データの読み出し単位と同じ単位で読み出しを行うと、不要なデータも読み出す可能性があり、不要なデータ読み出しにかかる処理時間が無駄になる。このため、読み出し単位を小さく設定することで、データ処理プロセッサ10における処理の高速化を図っている。
なお、SATA I/Fの場合、上記のように読み出しデータ量単位は512バイト〜32MBまで設定することが可能であるが、取り扱うデータの種別に応じ、各処理部(画像処理部、サウンド処理部、発光処理部等)が最適に処理を行うことができるように、読み出し時のデータ量単位は設定される。したがって、設定された読み出し時のデータ量単位以上のデータ量を取り扱う必要がある場合には、複数回に分けてリードコマンドが発行される。
本実施形態によれば、データ処理プロセッサ10は、読み出すデータ種別に応じてインターフェース制御部26のアドレス空間を設定し、インターフェース制御部26では要求されたアドレス空間によってデータ種別を判定し、リードコマンドに含めるセクターカウントを設定し、該セクターカウントを含むリードコマンドを補助記憶装置に出力する。一方、リードコマンドを受け付けた補助記憶装置40のメモリコントローラ46では、リードコマンドに含まれるセクターカウント値に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御したので、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部44を占めてしまうことを回避することができる。
<本発明の実施態様例の構成、作用、効果>
<第1態様>
本態様の情報処理装置1は、複数のデータ種別に対応した複数の種類のデータを記憶する記憶部42と、記憶部42から読み出したデータをデータ種別に応じた一時記憶領域に一時的に記憶する一時記憶部44と、記憶部42、及び一時記憶部44を制御するメモリコントローラ46(制御部)と、を備えた補助記憶装置40と、上位CPU2からの要求に基づいて、補助記憶装置40から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサ10と、を備えた情報処理装置1であって、データ処理プロセッサ10は、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御部26を備え、補助記憶装置40のメモリコントローラ46は、データ処理プロセッサ10からのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御したことを特徴とする。
本態様によれば、データ処理プロセッサ10は、インターフェース制御部26が読み出し要求するデータ種別に応じてデータ種別情報を設定する。補助記憶装置40のメモリコントローラ46は、データ処理プロセッサ10からのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御したので、データ種別に応じて一時記憶部44の一時記憶領域を選択することができ、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部44を占めてしまうことを回避することができる。
<第2態様>
本態様のデータ処理プロセッサ10は、データ種別に応じてインターフェース制御部26のアドレス空間のアドレスを指定し、インターフェース制御部26は指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成したことを特徴とする。
本態様によれば、データ処理プロセッサ10は、データ種別に応じてインターフェース制御部26のアドレス空間のアドレスを指定し、そして、インターフェース制御部26は指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成したので、データ種別に応じて一時記憶部44の一時記憶領域を選択することができ、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部44を占めてしまうことを回避することができる。
<第3態様>
本態様のデータ種別情報は、リードコマンドに含まれる通信データ量単位であることを特徴とする。
本態様によれば、データ種別情報は、リードコマンドに含まれる通信データ量単位であるので、一時記憶部44の一時記憶領域を通信データ量単位に応じて選択することができ、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部44を占めてしまうことを回避することができる。
<第4態様>
本態様のデータ種別情報は、リードコマンドに含まれるセクターカウント値であることを特徴とする。
本態様によれば、データ種別情報は、リードコマンドに含まれるセクターカウント値であるので、一時記憶部44の一時記憶領域をセクターカウント値に応じて選択することができ、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部44を占めてしまうことを回避することができる。
<第5態様>
本態様の情報処理装置1は、データ種別として、画像データ、音声データ、及び発光データとする。
本態様によれば、キャッシュメモリを占有しやすい画像データとそれ以外とを判別することができ、処理遅延の許容量が少ない音声データや発光データの読み出しにもキャッシュを用いて行うことができ、音や光の出力を適切に行うことができる。
<第6態様>
本態様の情報処理装置1は、画像データとその他のデータとで区分けして2以上の一時記憶領域を設ける。
本態様によれば、キャッシュメモリを占有しやすい画像データとそれ以外の音声データ、発光データのキャッシュする領域を分けて利用するので、処理遅延の許容量が少ない音声データや発光データの読み出しにもキャッシュを用いて行うことができ、音や光の出力を適切に行うことができる。
<第7態様>
本態様の情報処理方法は、複数のデータ種別に対応した複数の種類のデータを記憶する記憶部42と、記憶部42から読み出したデータをデータ種別に応じた一時記憶領域に一時的に記憶する一時記憶部44と、記憶部42、及び一時記憶部44を制御するメモリコントローラ46(制御部)と、を備えた補助記憶装置40と、上位CPUからの要求に基づいて、補助記憶装置40から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサ10と、を備えた情報処理装置1による情報処理方法であって、データ処理プロセッサ10は、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御ステップを実行し、補助記憶装置40のメモリコントローラ46(制御部)は、データ処理プロセッサ10からのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御するステップを実行したことを特徴とする。
本態様によれば、データ処理プロセッサ10は、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御ステップを実行し、一方、補助記憶装置40のメモリコントローラ46(制御部)は、データ処理プロセッサ10からのリードコマンドに含まれるデータ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて一時記憶領域を選択するように制御するステップを実行したので、複数のデータ種別のデータのうち、特定のデータのみが一時記憶部44を占めてしまうことを回避することができる。
1…情報処理装置、2…上位CPU、10…データ処理プロセッサ、12…CPU、14…画像処理部、16…表示出力部、18…サウンド処理部、26…インターフェース制御部、26a…要求データアドレス判定部、26b…リードコマンドセクターカウント設定部、26c…修正リードコマンド生成部、26d…修正リードコマンド出力部、40…補助記憶装置、42…記憶部、44…一時記憶部、46…メモリコントローラ、60…領域制御部、60a…一時記憶部領域設定部、60b…セクターカウント判定部、60c…一時記憶部書き込み制御部

Claims (6)

  1. 複数のデータ種別に対応した複数の種類のデータを記憶する記憶部と、
    前記記憶部から読み出したデータを前記データ種別に応じた一時記憶領域に一時的に記憶する一時記憶部と、
    前記記憶部、及び前記一時記憶部を制御する制御部と、を備えた補助記憶装置と、
    上位CPUからの要求に基づいて、前記補助記憶装置から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサと、を備えた情報処理装置であって、
    前記データ処理プロセッサは、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御部を備え、
    前記データ処理プロセッサは、前記データ種別に応じて前記インターフェース制御部のアドレス空間のアドレスを指定し、前記インターフェース制御部は指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成し、
    前記補助記憶装置の制御部は、前記データ処理プロセッサからのリードコマンドに含まれる前記データ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて前記一時記憶領域を選択するように制御したことを特徴とする情報処理装置。
  2. 前記データ種別情報は、
    前記リードコマンドに含まれる通信データ量単位であることを特徴とする請求項記載の情報処理装置。
  3. 前記データ種別情報は、
    前記リードコマンドに含まれるセクターカウント値であることを特徴とする請求項記載の情報処理装置。
  4. 前記データ種別は画像データ、音声データ、及び発光データであることを特徴とする請求項1ないしの何れか一項記載の情報処理装置。
  5. 前記画像データとその他のデータとで区分けして2以上の一時記憶領域を設けたことを特徴とする請求項1ないしの何れか一項記載の情報処理装置。
  6. 複数のデータ種別に対応した複数の種類のデータを記憶する記憶部と、
    前記記憶部から読み出したデータを前記データ種別に応じた一時記憶領域に一時的に記憶する一時記憶部と、
    前記記憶部、及び前記一時記憶部を制御する制御部と、を備えた補助記憶装置と、
    上位CPUからの要求に基づいて、前記補助記憶装置から複数の種類のデータを読み出し、データ種別に応じて所定の処理部にデータを出力するデータ処理プロセッサと、を備えた情報処理装置による情報処理方法であって、
    前記データ処理プロセッサは、読み出し要求するデータ種別に応じてデータ種別情報を設定するインターフェース制御ステップを実行し、
    前記データ処理プロセッサは、前記データ種別に応じて前記インターフェース制御ステップのアドレス空間のアドレスを指定し、前記インターフェース制御ステップは指定されたアドレス空間に基づきデータ種別を判定し、データ種別情報を含むリードコマンドを生成するステップを実行し、
    前記補助記憶装置の制御部は、前記データ処理プロセッサからのリードコマンドに含まれる前記データ種別情報に基づいて要求されたデータ種別を判定し、データ種別に応じて前記一時記憶領域を選択するように制御するステップを実行したことを特徴とする情報処理方法。
JP2016173829A 2015-10-13 2016-09-06 情報処理装置、及び情報処理方法 Active JP6424330B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW105132573A TWI707271B (zh) 2015-10-13 2016-10-07 資訊處理裝置、及資訊處理方法
CN201610881982.9A CN106649138B (zh) 2015-10-13 2016-10-09 信息处理装置以及信息处理方法
US15/293,162 US10802712B2 (en) 2015-10-13 2016-10-13 Information processing apparatus and method of processing information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015202472 2015-10-13
JP2015202472 2015-10-13

Publications (2)

Publication Number Publication Date
JP2017076375A JP2017076375A (ja) 2017-04-20
JP6424330B2 true JP6424330B2 (ja) 2018-11-21

Family

ID=58550314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016173829A Active JP6424330B2 (ja) 2015-10-13 2016-09-06 情報処理装置、及び情報処理方法

Country Status (3)

Country Link
JP (1) JP6424330B2 (ja)
CN (1) CN106649138B (ja)
TW (1) TWI707271B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6668445B1 (ja) * 2018-11-22 2020-03-18 株式会社東芝 情報処理装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003115168A (ja) * 2001-10-03 2003-04-18 Teac Corp 映像・音声信号の記録方法および記録装置
JP3818505B2 (ja) * 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP4186509B2 (ja) * 2002-05-10 2008-11-26 株式会社日立製作所 ディスクシステムとそのキャッシュ制御方法
JP3933027B2 (ja) * 2002-10-17 2007-06-20 日本電気株式会社 ディスクアレイ装置におけるキャッシュメモリ分割管理方式
US20070055819A1 (en) * 2003-11-07 2007-03-08 Hirokazu So Information recording medium and its control method
CN100543702C (zh) * 2003-11-18 2009-09-23 松下电器产业株式会社 文件记录装置及其控制方法和执行方法
JP2005309653A (ja) * 2004-04-20 2005-11-04 Hitachi Global Storage Technologies Netherlands Bv ディスク装置及びキャッシュ制御方法
US7558920B2 (en) * 2004-06-30 2009-07-07 Intel Corporation Apparatus and method for partitioning a shared cache of a chip multi-processor
JP2006294152A (ja) * 2005-04-12 2006-10-26 Toshiba Corp 情報記憶媒体、情報記録装置、および情報再生装置
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器
KR101431205B1 (ko) * 2007-07-13 2014-08-18 삼성전자주식회사 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법
TW201015579A (en) * 2008-09-18 2010-04-16 Panasonic Corp Buffer memory device, memory system, and data readout method
CN103019962B (zh) * 2012-12-21 2016-03-30 华为技术有限公司 数据缓存处理方法、装置以及系统
CN103268201B (zh) * 2013-04-19 2016-02-17 北京经纬恒润科技有限公司 一种数据存储方法、存储装置及读取方法
US9251081B2 (en) * 2013-08-01 2016-02-02 Advanced Micro Devices, Inc. Management of caches
CN103488581B (zh) * 2013-09-04 2016-01-13 用友网络科技股份有限公司 数据缓存系统和数据缓存方法

Also Published As

Publication number Publication date
CN106649138A (zh) 2017-05-10
TW201730745A (zh) 2017-09-01
CN106649138B (zh) 2022-04-15
JP2017076375A (ja) 2017-04-20
TWI707271B (zh) 2020-10-11

Similar Documents

Publication Publication Date Title
KR102170539B1 (ko) 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
US10409502B2 (en) Method and apparatus for writing metadata into cache
US20110231598A1 (en) Memory system and controller
KR102246840B1 (ko) 정보 처리 장치, 메모리 액세스 방법 및 컴퓨터 프로그램
US10162554B2 (en) System and method for controlling a programmable deduplication ratio for a memory system
US9122586B2 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
JP5492156B2 (ja) 情報処理装置およびキャッシュ方法
JP2011253251A (ja) データ記憶装置及びデータ書き込み方法
KR20120082218A (ko) 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
JP2007156633A (ja) メモリ装置及びメモリ制御方法
JP2010146326A (ja) 記憶装置、その制御方法及びその記憶装置を用いた電子装置
JP6139711B2 (ja) 情報処理装置
KR20120055707A (ko) 메모리 시스템
US20200104072A1 (en) Data management method and storage controller using the same
CN106598504B (zh) 数据存储方法及装置
JP6424330B2 (ja) 情報処理装置、及び情報処理方法
US9471227B2 (en) Implementing enhanced performance with read before write to phase change memory to avoid write cancellations
US10802712B2 (en) Information processing apparatus and method of processing information
JP2019048003A (ja) 補助記憶装置、及び遊技機
US9047959B1 (en) Data storage device, memory control method, and electronic device with data storage device
WO2015118623A1 (ja) 情報処理装置
JP6402432B2 (ja) 情報処理装置、及び情報処理方法
JP2006252137A (ja) 不揮発性記憶装置の最適化方法
WO2014147840A1 (ja) アクセス制御プログラム、ディスク装置及びアクセス制御方法
TW201624491A (zh) 資訊處理裝置及非暫態電腦可讀取記錄媒體

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180921

R150 Certificate of patent or registration of utility model

Ref document number: 6424330

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250