(57)【要約】【課題】処理速度を低減させることなく、読み出し専用のデータを格納した半導体記憶装置の長寿命化を図ることの可能な情報処理装置、半導体記憶装置、及びプログラムを提供することを課題とする。【解決手段】読み出し専用のデータをデータの読み出し頻度に応じて、ROM１２中の複数の物理ブロックに格納する。読み出し頻度の低いデータより読み出し頻度の高いデータに多くの物理ブロックを割り当て、割り当てられた物理ブロックに同一のデータを格納し、データの読み出しの際にはこの複数の物理ブロックを順に使用していく。複数回読み出しが行われたとき、これらの複数の物理ブロックの読み出し回数は平滑化されている。また、読み出し頻度に応じて物理ブロックの割り当て数を異ならせることで、半導体記憶装置全体として読み出し回数が平滑化され、長寿命化を図ることが可能となる。【選択図】図２
2011076497.tif 000002
【特許請求の範囲】
【請求項１】
演算処理を行う処理手段と、
第１のデータが第１の個数の物理ブロックに格納されており、第１の個数より多い第２の個数の物理ブロックのそれぞれに、第１のデータより読み出し頻度の高い第２のデータが同様に格納されている記憶手段と、
前記処理手段が前記第２のデータを前記第２の個数の倍数回読み出すとき、第２の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出し、前記処理手段に前記第２のデータを送信する読み出し制御手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記第２の個数の物理ブロックのうち、前記処理手段が前記記憶手段より前記第２のデータの読み出し処理を行うときの前記第２のデータの読み出し対象の物理ブロックを示す情報を有する読み出し管理テーブルを更に具備し、
前記読み出し制御手段は前記処理手段に前記第２のデータを読み出させるとき、前記読み出し管理テーブルを参照して読み出し対象の物理ブロックを設定し、さらに次の読み出し対象の物理ブロックを指定するように前記読み出し管理テーブルの編集を行う
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶手段に記憶された第２のデータの前記処理手段による読み出し頻度は、前記第１のデータの読み出し頻度の略整数倍であって、前記第２のデータが格納されている物理ブロックの個数である第２の個数は前記第１のデータが格納されている物理ブロックの個数である第１の個数の前記整数倍である
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
演算処理を行う処理手段と、
記憶されたデータのうち、第１のデータが第１の個数のページに格納されており、
第１の個数より多い第２の個数のページのそれぞれに、第１のデータより読み出し頻度の高い第２のデータが同様に格納されている記憶手段と、
前記処理手段が前記第２のデータを前記第２の個数の倍数回読み出すとき、第２の個数のページの内の全てページの読み出し回数がそれぞれ同数となるようにデータを読み出し、前記処理手段に前記第２のデータを送信する読み出し制御手段と
を具備することを特徴とする情報処理装置。
【請求項５】
本体と、
第１のデータが第１の個数の物理ブロックに格納されており、第１の個数より多い第２の個数の物理ブロックのそれぞれに、第１のデータより読み出し頻度の高い第２のデータが同様に格納されている記憶手段と、
前記記憶装置に格納されているデータの読み出し指示を前記本体とは異なる電子機器より受信する受信手段と、
前記受信手段よるデータの読み出し指示を実行する読み出し制御手段であって、前記第２のデータを前記第２の個数の倍数回読み出すとき、第２の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出す読み出し制御手段と、
前記読み出し制御手段が読み出したデータを前記電子機器に対して送信する送信手段と
を具備することを特徴とする半導体記憶装置。
【請求項６】
前記第２の個数の物理ブロックのうち、前記処理手段が前記記憶手段より前記第２のデータの読み出し処理を行うときの前記第２のデータの読み出し対象の物理ブロックを示す情報を有する読み出し管理テーブルを更に具備し、
前記読み出し制御手段は前記処理手段に前記第２のデータを読み出させるとき、前記読み出し管理テーブルを参照して読み出し対象の物理ブロックを設定し、さらに次の読み出し対象の物理ブロックを指定するように前記読み出し管理テーブルの編集を行う
ことを特徴とする請求項５記載の半導体記憶装置。
【請求項７】
前記記憶手段に記憶された第２のデータの前記処理手段による読み出し頻度は、前記第１のデータの読み出し頻度の略整数倍であって、前記第２のデータが格納されている物理ブロックの個数である第２の個数は前記第１のデータが格納されている物理ブロックの個数である第１の個数の前記整数倍である
ことを特徴とする請求項５記載の半導体記憶装置。
【請求項８】
情報処理装置において実行されるプログラムであって、
演算処理を行う処理手段が、第１のデータが第１の個数の物理ブロックに格納されており、第１の個数より多い第２の個数の物理ブロックのそれぞれに、第１のデータより読み出し頻度の高い第２のデータが同様に格納されている記憶装置に格納されたデータを読み出すとき、
前記読み出しを行う読み出し手段に、前記第２のデータを前記第２の個数の倍数回読み出すときには、第２の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出ださせること
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、半導体記憶装置、及び読み出し制御方法に関するものであって、特に半導体記憶装置の長寿命化に寄与する情報処理装置、半導体記憶装置、およびプログラムに関する。
【背景技術】
【０００２】
近年記憶装置の技術の発展により、例えば半導体記憶装置のような記憶装置において長寿命化が進んでいる。
【０００３】
例えばNANDフラッシュメモリのようなアクセス回数に応じて劣化が進むような半導体記憶装置の長寿命化を図る技術としてウェアレベリング技術が存在する。
【０００４】
ウェアレベリング技術の一例として、フラッシュメモリにおいて、記憶ブロックの書き込み回数を計測し、書き込み回数限界値までこの当該記憶ブロックに書き込みが行われると、他の記憶ブロックに書き込み先を変更するフラッシュメモリが提案されている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１７２４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上述のフラッシュメモリ等における一般的なウェアレベリング技術は読み出し専用のデータアクセスによる長寿命化には対応していない。
【０００７】
また、半導体記憶装置において読み出し処理は書き込み処理よりも処理速度が速く、読み出し処理に関して、一般的なウェアレベリング技術を用いようとすると書き込み回数を数える処理が増加する等のケースが多く、処理の速度が大きく低減してしまう場合がある。
【０００８】
本発明は上記問題に鑑みてなされたものであって、処理速度を低減させることなく、読み出しを主とするデータを格納した半導体記憶装置の長寿命化を図ることの可能な情報処理装置、半導体記憶装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明にかかる一つの情報処理装置は、演算処理を行う処理手段と、第１のデータが第１の個数の物理ブロックに格納されており、第１の個数より多い第２の個数の物理ブロックのそれぞれに、第１のデータより読み出し頻度の高い第２のデータが同様に格納されている記憶手段と、前記処理手段が前記第２のデータを前記第２の個数の倍数回読み出すとき、第２の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出し、前記処理手段に前記第２のデータを送信する読み出し制御手段とを具備することを特徴としている。
【００１０】
また本発明にかかる一つの情報処理装置は演算処理を行う処理手段と、記憶されたデータのうち、第１のデータが第１の個数のページに格納されており、第１の個数より多い第２の個数のページのそれぞれに、第１のデータより読み出し頻度の高い第２のデータが同様に格納されている記憶手段と、前記処理手段が前記第２のデータを前記第２の個数の倍数回読み出すとき、第２の個数のページの内の全てページの読み出し回数がそれぞれ同数となるようにデータを読み出し、前記処理手段に前記第２のデータを送信する読み出し制御手段とを具備することを特徴としている。
【００１１】
また本発明にかかる半導体記憶装置は本体と、第１のデータが第１の個数の物理ブロックに格納されており、第１の個数より多い第２の個数の物理ブロックのそれぞれに、第１のデータより読み出し頻度の高い第２のデータが同様に格納されている記憶手段と、前記記憶装置に格納されているデータの読み出し指示を前記本体とは異なる電子機器より受信する受信手段と、前記受信手段よるデータの読み出し指示を実行する読み出し制御手段であって、前記第２のデータを前記第２の個数の倍数回読み出すとき、第２の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出す読み出し制御手段と、前記読み出し制御手段が読み出したデータを前記電子機器に対して送信する送信手段とを具備することを特徴としている。
【００１２】
更に、本発明にかかるプログラムは、情報処理装置において実行されるプログラムであって、演算処理を行う処理手段が、第１のデータが第１の個数の物理ブロックに格納されており、第１の個数より多い第２の個数の物理ブロックのそれぞれに、第１のデータより読み出し頻度の高い第２のデータが同様に格納されている記憶装置に格納されたデータを読み出すとき、前記読み出しを行う読み出し手段に、前記第２のデータを前記第２の個数の倍数回読み出すときには、第２の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出ださせることを特徴としている。
【発明の効果】
【００１３】
本発明によれば、読み出しを主とするデータに読み出し頻度に応じて半導体記憶装置の複数の物理ブロックを割り当てることで、処理速度を低減させることなく、読み出しを主とするデータを格納した半導体記憶装置の長寿命化を図ることの可能な情報処理装置、半導体記憶装置、及びプログラムを実現することができる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態における情報処理装置であるPCの内部構成の一例を示す図。
【図２】第１の実施形態における論理アドレスに対するROMの物理ブロックの割当の一例を示す図。
【図３】第１の実施形態における読み出し管理テーブルの一例を示す図。
【図４】第１の実施形態におけるPCの行うデータ読み出し処理の処理フローの一例を示す図。
【図５】第１の実施形態の変形例におけるPC及びメモリカードの内部構成の一例について示す図。
【発明を実施するための形態】
【００１５】
本発明にかかる実施の形態を図面を参照しながら説明する。
【００１６】
（第１の実施形態）
図１は本実施形態における情報処理装置であるPC１０の内部構成の一例を示す図である。図１にはPC１０、CPU１１、ROM１２、RAM１３、読み出し制御モジュール１４、キャッシュ１５、およびバス１６が示されている。
【００１７】
PC１０は、本実施形態における情報処理装置の例示であるパーソナルコンピュータ（Personal Computer）であり、各種計算処理を行う機能を有している。本実施形態において、情報処理装置の例としてパーソナルコンピュータを示すがこれに限定されず、例えばデジタルテレビ、携帯電話、さらにはマイコン（Micro computer）を搭載した家電等の電子機器において本発明を適用するとしてもよい。
【００１８】
CPU１１はPC１０全体を制御する中央演算処理装置（Central Processing Unit）である。受信したプログラムを実行し、そのプログラムに応じた所定の処理を実行する機能を有している。また、各種記憶媒体からの情報の読み出し、および各種記憶媒体への情報の書き込みを行うことができる、
ROM１２は、例えばNANDフラッシュメモリ等の半導体メモリによって構成される不揮発性半導体記憶装置（Read Only Memory）である。本実施形態においてROM１２はCPU１１がPC１０のブート時や各種プログラム実行時に使用するデータを格納している。
【００１９】
RAM１３は例えばSDRAM等の、半導体メモリによって構成されるアドレス指定を用いたランダムな読み出しが可能な揮発性の記憶媒体（Random Access Memory）である。RAM１３はCPU１１が各種情報処理を行う際のデータの展開領域等に使用される。
【００２０】
読み出し制御モジュール１４はCPU１１がROM１２の所定のデータを読み出す際に、その読み出しを制御する半導体チップである。読み出し制御モジュール１４はCPU１１が読み出そうとしているデータの論理アドレスに基づいて、ROM１２の該データの格納されている物理ブロックより当該データを読み出し、CPU１１に送信する機能を有している。
【００２１】
キャッシュ１５は読み出し制御モジュール１４の一部の半導体メモリである。キャッシュ１５には読み出し管理テーブルというテーブルデータが格納されており、読み出し制御モジュール１４はROM１２からのデータの読み出し処理の際にはこの読み出し管理テーブルを参照して処理を実行する。
【００２２】
バス１６はバス１６に接続される各モジュールをそれぞれ通信可能に接続する機能を有している。
【００２３】
図２は本実施形態におけるアドレス空間２１上の論理アドレスに対するROM１２の物理ブロックの割当の一例を示す図である。図２にはアドレス空間２１およびROM１２が示されている。
【００２４】
アドレス空間２１はCPU１１がデータを読み出そうとするときにアクセスする、記憶装置に格納されたデータに対して論理アドレスが割り当てられた仮想的な空間である。つまりROM１２に関して、アドレス空間２１の論理アドレスはそれぞれのデータが格納された物理ブロックとの対応関係を有している。本実施形態において、データ１はアドレス空間２１上ではアドレスAという論理アドレスから格納されており、また、データ２はアドレス空間２１上ではアドレスBという論理アドレスから格納されているものとして扱われる。また、以下データ３乃至データ５に関しても図２に示されるとおり、それぞれアドレス空間２１上の論理アドレスが割り当てられている。
【００２５】
ROM１２はデータを実際に格納する複数の物理ブロック（物理ブロックa乃至物理ブロックｌ）を有している。本実施形態においては読み出し制御モジュール１４はROM１２よりデータを読み出す際にはこの物理ブロック毎にアクセスしてデータを読み出す。
【００２６】
本実施形態では使用頻度の異なることが予めわかっているデータ１乃至データ５の読み出し処理を挙げて説明を行う。また、データ１乃至データ５はROM１２の単一の物理ブロックに格納可能な大きさのデータである。
【００２７】
ここで、データ１はデータ１乃至データ５の中で最も読み出し頻度が低いデータである。データ２はデータ１の略４倍の回数読み出し処理が行われるデータである。またデータ３及びデータ５はデータ１の略２倍、データ４はデータ１の略３倍の読み出し頻度を有するデータである。
【００２８】
ROM１２においてデータ１乃至データ５を実際に格納している物理ブロックは図２に示されるものとなっている。例えばデータ１に関してはブロックaのみの１つの物理ブロックが格納しており、データ２に関してはブロックb乃至ブロックeの４つの物理ブロックが同一のデータを格納している。本実施形態においてはこのように読み出し頻度の低いデータは少数の物理ブロックのみにデータを記憶させ、読み出し頻度の高いデータは多くの物理ブロックに同一のデータを記憶させる。
【００２９】
物理ブロックが読み出しアクセス数が限界回数を超えると、その物理ブロックは破損してしまい、もうデータを読み出すことができない。そのため、本実施形態のPC１０では読み出し頻度の高いデータに関しては、このデータを異なる複数の物理ブロックに同様に格納する（それぞれの物理ブロックに格納されるデータは同一）。そして１つの物理ブロックのみから毎回データを読み出すのではなく、これらの複数の物理ブロックを順に使用していき（順に読み出していき）、データを使用する頻度に対してこの複数の物理ブロックのうちのそれぞれ個々の物理ブロックの使用回数を少なくすることで、それぞれの物理ブロックの破損までの期間を延長させ、半導体記憶装置であるROM１２の長寿命化を図ることができる。
【００３０】
また本実施形態において、それぞれのデータには使用頻度に応じて、格納のために割り当られる物理ブロックの個数が設定されている。例えばデータ２はデータ１に対して使用頻度が略４倍であって、データ１に物理ブロックがブロックaの１つのみ割り当てられているのに対して、データ２には物理ブロックがブロックｂ乃至ブロックeの４つが割り当てられている。このように本実施形態において、第１のデータに対して、第１のデータの略N倍の使用頻度を有する第２のデータは、第１のデータに割り当てられる物理ブロックのN倍の個数の物理ブロックがデータの格納用に割り当てられる（N倍の物理ブロックに同一データが格納される）。この様に構成することで、それぞれの物理ブロックの使用される頻度が同じ程度のものとなり、使用回数が平滑化され、特定の物理ブロックが先に破損したため、他の物理ブロックに問題がなくてもROM１２が全体的に使用できなくなる可能性が低減する。またこれによってそれぞれの物理ブロックを限界近くまで使用することができ、ROM１２全体としての長寿命化を図ることができる。
【００３１】
図２においてROM１２ではデータ１乃至データ５が格納される物理ブロックが連続して存在している（隣り合って存在している）様に示されている。これらの物理ブロックは連続して存在していてもよいが、連続している必要はない。
【００３２】
CPU１１のアドレス空間２１の論理アドレスへの読み出しアクセスと、読み出し制御モジュール１４のROM１２の物理ブロックへの読み出しアクセスとの関係について、以下に図３を用いて説明する。
【００３３】
図３は本実施形態における読み出し管理テーブル３１の一例を示す図である。
【００３４】
図３に示される読み出し管理テーブル３１はキャッシュ１５に格納されており、読み出し制御モジュール１４は、CPU１１からアドレス空間２１の論理アドレスに読み出しアクセスがある場合、この読み出し管理テーブル３１を参照してROM１２の物理ブロックに対して読み出しアクセスを行う。
【００３５】
読み出し管理テーブル３１には論理アドレス３２、ナンバー３３、読み出しフラグ３４、及び使用物理ブロック３５という項目がそれぞれ縦方向に示されている。
【００３６】
ナンバー３３の項目には、それぞれの論理アドレスに対応した物理ブロックの項目に関して、番号が１から昇順に付与されている。また、読み出しフラグ３４の項目には、CPU１１がデータを読み出す際に、そのとき使用する物理ブロックが示されるフラグが示される。読み出しフラグ３４の項目には「１」又は「０」の数値が設定されており、「１」は対応する物理ブロックより読み出し処理を行うことを示し、「０」は対応する物理ブロックより読み出し処理を行わないことを示している。更に、使用物理ブロック３５の項目はCPU１１がデータを読み出す際に、実際にデータの読み出しを行う物理ブロックが示される。
【００３７】
読み出し制御モジュール１４はCPU１１がアドレス空間２１上の論理アドレスへと読み出しアクセスを行うと、この論理アドレスを取得し、読み出し管理テーブル３１の論理アドレス３２の項目と照らし合わせる。読み出し制御モジュール１４は、CPU１１が読み出しアクセスした論理アドレスを論理アドレス３２の項目内より見つけると、その論理アドレスに対応している読み出し管理テーブル３１の段の中から、読み出しフラグ３４の項目に関して読み出しフラグの立っている段を判別し、その段の使用物理ブロック３５の項目に示される物理ブロックよりデータを読み出す。そして読み出し制御モジュール１４は、読み出したデータをCPU１１に対して送信する。
【００３８】
例えば、CPU１１がデータ２を読み出そうするとき、まずCPU１１はアドレス空間２１上のデータ２が格納されているものとして扱われるアドレスBに対して読み出しアクセスを行う。すると、読み出し制御モジュール１４はその読み出し先の論理アドレスであるアドレスBの情報を取得し、読み出し管理テーブル３１の論理アドレス３２の項目より、アドレスBを検出する。次にアドレスBに対応するナンバー１乃至４のうち読み出しフラグの立っているナンバーを特定する。ここではナンバー２に読み出しフラグが立っており、これらに対応する物理ブロックはブロックｃである。よって読み出しフラグが立っているナンバー２に対応する物理ブロックであるブロックｃとなるため、読み出し制御モジュール１４はROM１２のブロックｃよりデータ２を読み出し、CPU１１に対して送信する。これらの処理によってCPU１１は読み出しの対象であったデータ２を取得することができる。
【００３９】
図４は本実施形態におけるPC１０の行うデータ読み出し処理の処理フローの一例を示す図である。
【００４０】
CPU１１がROM１２よりデータを読み出すとき、まずCPU１１は読み出したいデータが格納されているとして扱われるアドレス空間２１中の論理アドレスに対して読み出しアクセスを行う（ステップS４１）。
【００４１】
次に、読み出し制御モジュール１４はCPU１１がアクセスする論理アドレスの情報を取得し、キャッシュ１５に格納されている読み出し管理テーブル３１中の該論理アドレスに対応する段を検出し、対応する段のうちから読み出しフラグの立っている段及びその段のナンバーを判別する（ステップS４２）。
【００４２】
そして読み出し制御モジュール１４は判別したナンバーの段の使用物理ブロック３５の項目に記載されているROM１２の物理ブロックよりデータを読み出し（ステップS４３）、CPU１１へとデータを送信する。
【００４３】
読み出し制御モジュール１４はROM１２よりデータを読み出すと、次にステップS４２において判別したナンバーが、そのナンバーが対応する論理ブロックに割り当てられているナンバーの内最後のナンバーであるか否かの判別を行う（ステップS４４）。例えば、図３で示す読み出し管理テーブルにおいて、論理アドレスがアドレスBであるデータ２を読み出すとき、読み出し制御モジュール１４はまずROM１２の物理ブロックcよりデータを読み出して、CPU１１へと送信する。その後、読み出し制御モジュール１４は読み出しフラグの立っているナンバーは２であるので、アドレスBに対応したナンバーにおいて最後のナンバーである４とは異なるためこれは最後のナンバーではないと判別する。
【００４４】
ステップS４４において、読み出し制御モジュール１４が読み出しフラグの立つナンバーが最後のナンバーではないと判断するとき（No）、現在読み出しフラグが立っているナンバーの読み出しフラグ３４の項目よりフラグを消去し（１から０へと変更）、このナンバーの次のナンバーの段の読み出しフラグ３４の項目に読み出しフラグを立てる（０から１へと変更）。つまり、読み出したデータの論理アドレスに対応するナンバーの内、フラグを立てるナンバーを読み出したナンバーから１加算したナンバーへと変更する（ステップS４５）。
【００４５】
ステップS４４において読み出し制御モジュール１４が読み出しフラグの立つナンバーが最後のナンバーであると判別するとき（Yes）、現在読み出しフラグが立っているナンバーの読み出しフラグ３４の項目よりフラグを消去し（１から０へと変更）、ナンバー１の段の読み出しフラグ３４の項目に読み出しフラグを立てる（０から１へと変更）（ステップS４６）。
【００４６】
ステップS４５及びステップS４６が終了すると、本実施形態における読み出し処理フローは終了となる。
【００４７】
つまり、本実施形態においては同一のデータが格納された物理ブロックを順に使用していき、一通り全ての同一データを格納する物理ブロックからデータの読み出しを行うと、再び最初に戻り、再度最初に使用された物理ブロックからデータの読み出しを始める。このように構成することによって、同一データを格納する物理ブロックを均等に使用することができ、各物理ブロックの使用頻度がほぼ同様となる。また更に、使用頻度の異なるデータに関しても、その使用頻度に応じてデータを格納する物理ブロックの個数を割り当てることで、これらの読み出しデータを格納する全ての物理ブロックの使用回数を平滑化することができ、半導体記憶装置であるROM１２の長寿命化を図ることができる。そして、本実施形態では読み出し回数を数える等の処理を行う必要もないため処理量が少なく、処理速度をほぼ低減させることなく、半導体記憶装置よりデータの読み出しを行うことが可能となる。
【００４８】
本実施形態において、物理ブロックのデータを読み出す順番としては、例えばデータ２に関してはブロックb→ブロックc→ブロックd→ブロックe→ブロックbという順番で、最後まで一通り読み出した後に、再び最初から読み出すように例示しているが、これに限定されない。データ２に関して物理ブロックのデータを読み出す順番として、例えばブロックb→ブロックc→ブロックd→ブロックe→ブロックe→ブロックd→ブロックc→ブロックbというように読み出す順を、最後まで読み出したら、読み出してきた順番と逆の順番で再度読み出していくという読み出し順も考えられる。また、データを読み出す物理ブロックを１度読み出す毎に変更していくのではなく、複数回読み出す毎に変更していくとしてもいい。更に、例えば物理ブロックの温度が上昇しすぎると、ROM１２周辺に設けられた温度の検出を行う温度検出手段（温度センサ）によってこの温度上昇を検知し、異なる物理ブロックに読み出し対象を変更する等のように、読み出し対象の物理ブロックの変更のトリガーとして回数とは異なる指標を用いるとしてもよい。
【００４９】
また本実施形態において、読み出し制御モジュール１４はROM１２より読み出したデータをCPU１１に対して送信するとしたが、例えば読み出したデータをRAM１３に直接格納し、CPU１１はRAM１３に格納された該データを用いて、そのデータにかかる処理を行うとしてもよい。
【００５０】
更に、本実施形態において、読み出し制御モジュール１４は他のモジュールから独立して存在する半導体チップとして例示したがこれには限定されず、例えばバス１６がこの読み出し制御モジュール１４を有しているとしてもよいし、ROM１２がこの読み出し制御モジュール１４を有しているとしてもよい、またCPU１１がこれを有しているとしてもよい。CPU１１が読み出し制御モジュール１４を有しているとすると、CPU１１はROM１２に対して直接読み出しアクセスを行い、設定された物理ブロックよりデータを読み出すこととなる。また、この読み出し制御モジュール１４はソフトウェアにて構成されるとしてもよい。
【００５１】
（変形例）
第１の実施形態の変形例を図５を参照して説明する。
【００５２】
図５は本変形例におけるPC５０及びメモリカード６０の内部構成の一例について示す図である。
【００５３】
本変形例は第１の実施形態とは異なり、CPU５１がPC５０内のROM５２に格納されたデータを読み出す場合ではなく、メモリカード６０内のフラッシュメモリ６３内に格納されたデータを読み出す場合を考える。
【００５４】
PC５０の内部構成は、第１の実施形態に示したPC１０から読み出し制御モジュール１４が無くなり、カードI/F５４が加えられたものとなっている。それぞれもモジュールブロックの機能はほぼ同様であるため、上述と重複する説明に関してはこれを割愛する。
【００５５】
メモリカードI/F５４はメモリカード６０とのデータの送受信を行うためのインターフェースである。
【００５６】
メモリカード６０は例えばSDカードのようなPC５０に接続することで、半導体に記憶されているデータの読み出しが可能な半導体記憶装置である。
【００５７】
メモリカード６０は例えば半導体チップであるメモリカードコントローラ６１を有しており、PC５０に対して信号の送受信可能に接続されるとき、このメモリカードコントローラ６１がメモリカード６０全体を制御する。
【００５８】
メモリカード６０はメモリカードI/F６２をインターフェースとしてPC５０と信号のやり取りを行う。メモリカードI/F６２はPC５０のメモリカードI/F５４と信号の送受信を行うことができる。
【００５９】
フラッシュメモリ６３は半導体メモリで構成され、第１の実施形態におけるROM１２と同様の構成であり、複数の物理ブロックを持つ。フラッシュメモリ６３にはPC５０で使用可能なデータを格納している。
【００６０】
読み出し制御モジュール６４及びキャッシュ６５は第１の実施形態における読み出し制御モジュール１４およびキャッシュ１５とそれぞれ同様の機能を有している。
【００６１】
キャッシュ６５は読み出し管理テーブルを有しており、PC５０からフラッシュメモリ６３に対しての読み出し要求を受けると第１の実施形態と同様に読み出し制御モジュール６４はこの読み出し管理テーブルを参照して、フラッシュメモリ６３の読み出し管理テーブルより基づいた物理ブロックよりデータを読み出して、PC５０に対してデータを送信する。
【００６２】
本変形例は第１の実施形態と処理フロー等は同様のものである。本変形例ではPCの外部の半導体記憶装置内の半導体チップ（読み出し制御モジュール６４）が上述の処理を行う。
【００６３】
本実施形態において、データ読み出しの管理単位として物理ブロック単位での管理を例示しているがこれに限定されず、例えば物理ブロックを更に細分化した単位であるページごとにデータ読み出しの管理を行なうとしてもよい。このときは同一のデータを複数のページに格納し、読み出し管理テーブルの物理ブロックの項目がページという項目になる。一般的に消去処理は物理ブロック毎の単位でしか処理を行うことができないが、読み出し／書き込み処理はページ単位での処理を行うことが可能であるため、本発明をページ単位にて適用すると、ページ単位での、より詳細な読み出し回数の平滑化を行うことができ、半導体記憶装置の長寿命化を図ることが可能となる。さらには同じデータを複数のページ（物理ブロック）より読み出すため、特定のページ（物理ブロック）より何度も同じデータを読み出すことによってデータに破損が生じてしまう現象であるリードディスターブ現象の発生をも低減することができる。
【００６４】
本発明によれば、読み出し専用のデータに読み出し頻度に応じた半導体記憶装置の物理ブロックを割り当てることで処理速度をほぼ低減させることなく、読み出し専用データを格納した半導体記憶装置の長寿命化を図ることの可能な情報処理装置、半導体記憶装置、及び物理ブロック管理方法を実現することができる。
【００６５】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６６】
１０…PC、１１…CPU、１２…ROM、１３…RAM、１４…読み出し制御モジュール、１５…キャッシュ、１６…バス、２１…アドレス空間、３１…読み出し管理テーブル、３２…論理アドレス、３３…ナンバー、３４…読み出しフラグ、３５…使用物理ブロック、５０…PC、５１…CPU、５２…ROM、５３…RAM、５４…メモリカードI/F、５５…バス、６０…メモリカード、６１…メモリカードコントローラ、６２…メモリカードI/F、６３…フラッシュメモリ、６４…読み出し制御モジュール、６５…キャッシュ、６６…バス
【図１】
2011076497.tif 000003
【図２】
2011076497.tif 000004
【図３】
2011076497.tif 000005
【図４】
2011076497.tif 000006
【図５】
2011076497.tif 000007
【手続補正書】
【提出日】平成22年12月22日(2010.12.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
演算処理を行う処理手段と、
第１の個数の物理ブロックのそれぞれに第１のデータを格納する記憶手段と、
前記処理手段が前記第１のデータを前記第１の個数の倍数回読み出す場合、前記第１の個数の物理ブロックの内のそれぞれの物理ブロックの読み出し回数が同数となるようにデータを読み出し、前記処理手段に前記第１のデータを送信する読み出し制御手段と
を具備する情報処理装置。
【請求項２】
前記第１の個数の物理ブロックのうち、前記処理手段が前記記憶手段より前記第１のデータの読み出し処理を行うときの前記第１のデータの読み出し対象の物理ブロックを示す情報を有する読み出し管理テーブルを更に具備し、
前記読み出し制御手段は前記処理手段に前記第１のデータを読み出させるとき、前記読み出し管理テーブルを参照して読み出し対象の物理ブロックを設定し、さらに次の読み出し対象の物理ブロックを指定するように前記読み出し管理テーブルの編集を行う、請求項１記載の情報処理装置。
【請求項３】
前記記憶手段は、第２の個数の物理ブロックのそれぞれに第２のデータを格納し、前記第１の個数及び前記第２の個数は、前記処理手段による前記第１のデータ及び前記第２のデータの読み出し頻度に応じた個数である、請求項１記載の情報処理装置。
【請求項４】
本体と、
第１の個数の物理ブロックのそれぞれに、第１のデータを格納する記憶手段と、
格納された前記第１のデータの読み出し指示を前記本体とは異なる電子機器より受信する受信手段と、
受信された前記読み出し指示を実行する読み出し制御手段であって、前記第１のデータを前記第１の個数の倍数回読み出す場合、前記第１の個数の物理ブロックの内のそれぞれの物理ブロックの読み出し回数が同数となるようにデータを読み出す読み出し制御手段と、
前記読み出し制御手段が読み出したデータを前記電子機器に対して送信する送信手段と
を具備する半導体記憶装置。
【請求項５】
前記第１の個数の物理ブロックのうち、前記記憶手段から前記第１のデータの読み出される場合に読み出し対象となる物理ブロックを示す読み出し管理テーブルを更に具備し、
前記読み出し制御手段は、前記第１のデータを読み出す場合、前記読み出し管理テーブルを参照して読み出し対象の物理ブロックを設定し、さらに次の読み出し対象の物理ブロックを指定するように前記読み出し管理テーブルの編集を行う、請求項４記載の半導体記憶装置。
【請求項６】
前記記憶手段は、第２の個数の物理ブロックのそれぞれに第２のデータを格納し、前記第１の個数及び前記第２の個数は、前記第１のデータ及び前記第２のデータの読み出し頻度に応じた個数である、請求項４記載の半導体記憶装置。
【請求項７】
情報処理装置において実行されるプログラムであって、
演算処理を行う処理装置が、第１の個数の物理ブロックのそれぞれに第１のデータを格納する記憶装置に格納されたデータを読み出す場合、
前記第１のデータを前記第１の個数の倍数回読み出す場合には、前記第１の個数の物理ブロックの内のそれぞれの物理ブロックの読み出し回数が同数となるように前記処理装置にデータを読み出させる、プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明にかかる一つの情報処理装置は、演算処理を行う処理手段と、第１の個数の物理ブロックのそれぞれに第１のデータを格納する記憶手段と、前記処理手段が前記第１のデータを前記第１の個数の倍数回読み出す場合、前記第１の個数の物理ブロックの内のそれぞれの物理ブロックの読み出し回数が同数となるようにデータを読み出し、前記処理手段に前記第１のデータを送信する読み出し制御手段とを具備することを特徴としている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また本発明にかかる半導体記憶装置は、本体と、第１の個数の物理ブロックのそれぞれに、第１のデータを格納する記憶手段と、格納された前記第１のデータの読み出し指示を前記本体とは異なる電子機器より受信する受信手段と、受信された前記読み出し指示を実行する読み出し制御手段であって、前記第１のデータを前記第１の個数の倍数回読み出す場合、前記第１の個数の物理ブロックの内のそれぞれの物理ブロックの読み出し回数が同数となるようにデータを読み出す読み出し制御手段と、前記読み出し制御手段が読み出したデータを前記電子機器に対して送信する送信手段とを具備することを特徴としている。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
更に、本発明にかかるプログラムは、情報処理装置において実行されるプログラムであって、演算処理を行う処理装置が、第１の個数の物理ブロックのそれぞれに第１のデータを格納する記憶装置に格納されたデータを読み出す場合、前記第１のデータを前記第１の個数の倍数回読み出す場合には、前記第１の個数の物理ブロックの内のそれぞれの物理ブロックの読み出し回数が同数となるように前記処理装置にデータを読み出させる、ことを特徴としている。