JP2011076497A - 情報処理装置、半導体記憶装置、及びプログラム - Google Patents
情報処理装置、半導体記憶装置、及びプログラム Download PDFInfo
- Publication number
- JP2011076497A JP2011076497A JP2009228933A JP2009228933A JP2011076497A JP 2011076497 A JP2011076497 A JP 2011076497A JP 2009228933 A JP2009228933 A JP 2009228933A JP 2009228933 A JP2009228933 A JP 2009228933A JP 2011076497 A JP2011076497 A JP 2011076497A
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- physical blocks
- stored
- reading
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
【課題】処理速度を低減させることなく、読み出し専用のデータを格納した半導体記憶装置の長寿命化を図ることの可能な情報処理装置、半導体記憶装置、及びプログラムを提供することを課題とする。
【解決手段】読み出し専用のデータをデータの読み出し頻度に応じて、ROM12中の複数の物理ブロックに格納する。読み出し頻度の低いデータより読み出し頻度の高いデータに多くの物理ブロックを割り当て、割り当てられた物理ブロックに同一のデータを格納し、データの読み出しの際にはこの複数の物理ブロックを順に使用していく。複数回読み出しが行われたとき、これらの複数の物理ブロックの読み出し回数は平滑化されている。また、読み出し頻度に応じて物理ブロックの割り当て数を異ならせることで、半導体記憶装置全体として読み出し回数が平滑化され、長寿命化を図ることが可能となる。
【選択図】図2
【解決手段】読み出し専用のデータをデータの読み出し頻度に応じて、ROM12中の複数の物理ブロックに格納する。読み出し頻度の低いデータより読み出し頻度の高いデータに多くの物理ブロックを割り当て、割り当てられた物理ブロックに同一のデータを格納し、データの読み出しの際にはこの複数の物理ブロックを順に使用していく。複数回読み出しが行われたとき、これらの複数の物理ブロックの読み出し回数は平滑化されている。また、読み出し頻度に応じて物理ブロックの割り当て数を異ならせることで、半導体記憶装置全体として読み出し回数が平滑化され、長寿命化を図ることが可能となる。
【選択図】図2
Description
本発明は情報処理装置、半導体記憶装置、及び読み出し制御方法に関するものであって、特に半導体記憶装置の長寿命化に寄与する情報処理装置、半導体記憶装置、およびプログラムに関する。
近年記憶装置の技術の発展により、例えば半導体記憶装置のような記憶装置において長寿命化が進んでいる。
例えばNANDフラッシュメモリのようなアクセス回数に応じて劣化が進むような半導体記憶装置の長寿命化を図る技術としてウェアレベリング技術が存在する。
ウェアレベリング技術の一例として、フラッシュメモリにおいて、記憶ブロックの書き込み回数を計測し、書き込み回数限界値までこの当該記憶ブロックに書き込みが行われると、他の記憶ブロックに書き込み先を変更するフラッシュメモリが提案されている(特許文献1を参照)。
しかし、上述のフラッシュメモリ等における一般的なウェアレベリング技術は読み出し専用のデータアクセスによる長寿命化には対応していない。
また、半導体記憶装置において読み出し処理は書き込み処理よりも処理速度が速く、読み出し処理に関して、一般的なウェアレベリング技術を用いようとすると書き込み回数を数える処理が増加する等のケースが多く、処理の速度が大きく低減してしまう場合がある。
本発明は上記問題に鑑みてなされたものであって、処理速度を低減させることなく、読み出しを主とするデータを格納した半導体記憶装置の長寿命化を図ることの可能な情報処理装置、半導体記憶装置、及びプログラムを提供することを目的とする。
本発明にかかる一つの情報処理装置は、演算処理を行う処理手段と、第1のデータが第1の個数の物理ブロックに格納されており、第1の個数より多い第2の個数の物理ブロックのそれぞれに、第1のデータより読み出し頻度の高い第2のデータが同様に格納されている記憶手段と、前記処理手段が前記第2のデータを前記第2の個数の倍数回読み出すとき、第2の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出し、前記処理手段に前記第2のデータを送信する読み出し制御手段とを具備することを特徴としている。
また本発明にかかる一つの情報処理装置は演算処理を行う処理手段と、記憶されたデータのうち、第1のデータが第1の個数のページに格納されており、第1の個数より多い第2の個数のページのそれぞれに、第1のデータより読み出し頻度の高い第2のデータが同様に格納されている記憶手段と、前記処理手段が前記第2のデータを前記第2の個数の倍数回読み出すとき、第2の個数のページの内の全てページの読み出し回数がそれぞれ同数となるようにデータを読み出し、前記処理手段に前記第2のデータを送信する読み出し制御手段とを具備することを特徴としている。
また本発明にかかる半導体記憶装置は本体と、第1のデータが第1の個数の物理ブロックに格納されており、第1の個数より多い第2の個数の物理ブロックのそれぞれに、第1のデータより読み出し頻度の高い第2のデータが同様に格納されている記憶手段と、前記記憶装置に格納されているデータの読み出し指示を前記本体とは異なる電子機器より受信する受信手段と、前記受信手段よるデータの読み出し指示を実行する読み出し制御手段であって、前記第2のデータを前記第2の個数の倍数回読み出すとき、第2の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出す読み出し制御手段と、前記読み出し制御手段が読み出したデータを前記電子機器に対して送信する送信手段とを具備することを特徴としている。
更に、本発明にかかるプログラムは、情報処理装置において実行されるプログラムであって、演算処理を行う処理手段が、第1のデータが第1の個数の物理ブロックに格納されており、第1の個数より多い第2の個数の物理ブロックのそれぞれに、第1のデータより読み出し頻度の高い第2のデータが同様に格納されている記憶装置に格納されたデータを読み出すとき、前記読み出しを行う読み出し手段に、前記第2のデータを前記第2の個数の倍数回読み出すときには、第2の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出ださせることを特徴としている。
本発明によれば、読み出しを主とするデータに読み出し頻度に応じて半導体記憶装置の複数の物理ブロックを割り当てることで、処理速度を低減させることなく、読み出しを主とするデータを格納した半導体記憶装置の長寿命化を図ることの可能な情報処理装置、半導体記憶装置、及びプログラムを実現することができる。
本発明にかかる実施の形態を図面を参照しながら説明する。
(第1の実施形態)
図1は本実施形態における情報処理装置であるPC10の内部構成の一例を示す図である。図1にはPC10、CPU11、ROM12、RAM13、読み出し制御モジュール14、キャッシュ15、およびバス16が示されている。
図1は本実施形態における情報処理装置であるPC10の内部構成の一例を示す図である。図1にはPC10、CPU11、ROM12、RAM13、読み出し制御モジュール14、キャッシュ15、およびバス16が示されている。
PC10は、本実施形態における情報処理装置の例示であるパーソナルコンピュータ(Personal Computer)であり、各種計算処理を行う機能を有している。本実施形態において、情報処理装置の例としてパーソナルコンピュータを示すがこれに限定されず、例えばデジタルテレビ、携帯電話、さらにはマイコン(Micro computer)を搭載した家電等の電子機器において本発明を適用するとしてもよい。
CPU11はPC10全体を制御する中央演算処理装置(Central Processing Unit)である。受信したプログラムを実行し、そのプログラムに応じた所定の処理を実行する機能を有している。また、各種記憶媒体からの情報の読み出し、および各種記憶媒体への情報の書き込みを行うことができる、
ROM12は、例えばNANDフラッシュメモリ等の半導体メモリによって構成される不揮発性半導体記憶装置(Read Only Memory)である。本実施形態においてROM12はCPU11がPC10のブート時や各種プログラム実行時に使用するデータを格納している。
ROM12は、例えばNANDフラッシュメモリ等の半導体メモリによって構成される不揮発性半導体記憶装置(Read Only Memory)である。本実施形態においてROM12はCPU11がPC10のブート時や各種プログラム実行時に使用するデータを格納している。
RAM13は例えばSDRAM等の、半導体メモリによって構成されるアドレス指定を用いたランダムな読み出しが可能な揮発性の記憶媒体(Random Access Memory)である。RAM13はCPU11が各種情報処理を行う際のデータの展開領域等に使用される。
読み出し制御モジュール14はCPU11がROM12の所定のデータを読み出す際に、その読み出しを制御する半導体チップである。読み出し制御モジュール14はCPU11が読み出そうとしているデータの論理アドレスに基づいて、ROM12の該データの格納されている物理ブロックより当該データを読み出し、CPU11に送信する機能を有している。
キャッシュ15は読み出し制御モジュール14の一部の半導体メモリである。キャッシュ15には読み出し管理テーブルというテーブルデータが格納されており、読み出し制御モジュール14はROM12からのデータの読み出し処理の際にはこの読み出し管理テーブルを参照して処理を実行する。
バス16はバス16に接続される各モジュールをそれぞれ通信可能に接続する機能を有している。
図2は本実施形態におけるアドレス空間21上の論理アドレスに対するROM12の物理ブロックの割当の一例を示す図である。図2にはアドレス空間21およびROM12が示されている。
アドレス空間21はCPU11がデータを読み出そうとするときにアクセスする、記憶装置に格納されたデータに対して論理アドレスが割り当てられた仮想的な空間である。つまりROM12に関して、アドレス空間21の論理アドレスはそれぞれのデータが格納された物理ブロックとの対応関係を有している。本実施形態において、データ1はアドレス空間21上ではアドレスAという論理アドレスから格納されており、また、データ2はアドレス空間21上ではアドレスBという論理アドレスから格納されているものとして扱われる。また、以下データ3乃至データ5に関しても図2に示されるとおり、それぞれアドレス空間21上の論理アドレスが割り当てられている。
ROM12はデータを実際に格納する複数の物理ブロック(物理ブロックa乃至物理ブロックl)を有している。本実施形態においては読み出し制御モジュール14はROM12よりデータを読み出す際にはこの物理ブロック毎にアクセスしてデータを読み出す。
本実施形態では使用頻度の異なることが予めわかっているデータ1乃至データ5の読み出し処理を挙げて説明を行う。また、データ1乃至データ5はROM12の単一の物理ブロックに格納可能な大きさのデータである。
ここで、データ1はデータ1乃至データ5の中で最も読み出し頻度が低いデータである。データ2はデータ1の略4倍の回数読み出し処理が行われるデータである。またデータ3及びデータ5はデータ1の略2倍、データ4はデータ1の略3倍の読み出し頻度を有するデータである。
ROM12においてデータ1乃至データ5を実際に格納している物理ブロックは図2に示されるものとなっている。例えばデータ1に関してはブロックaのみの1つの物理ブロックが格納しており、データ2に関してはブロックb乃至ブロックeの4つの物理ブロックが同一のデータを格納している。本実施形態においてはこのように読み出し頻度の低いデータは少数の物理ブロックのみにデータを記憶させ、読み出し頻度の高いデータは多くの物理ブロックに同一のデータを記憶させる。
物理ブロックが読み出しアクセス数が限界回数を超えると、その物理ブロックは破損してしまい、もうデータを読み出すことができない。そのため、本実施形態のPC10では読み出し頻度の高いデータに関しては、このデータを異なる複数の物理ブロックに同様に格納する(それぞれの物理ブロックに格納されるデータは同一)。そして1つの物理ブロックのみから毎回データを読み出すのではなく、これらの複数の物理ブロックを順に使用していき(順に読み出していき)、データを使用する頻度に対してこの複数の物理ブロックのうちのそれぞれ個々の物理ブロックの使用回数を少なくすることで、それぞれの物理ブロックの破損までの期間を延長させ、半導体記憶装置であるROM12の長寿命化を図ることができる。
また本実施形態において、それぞれのデータには使用頻度に応じて、格納のために割り当られる物理ブロックの個数が設定されている。例えばデータ2はデータ1に対して使用頻度が略4倍であって、データ1に物理ブロックがブロックaの1つのみ割り当てられているのに対して、データ2には物理ブロックがブロックb乃至ブロックeの4つが割り当てられている。このように本実施形態において、第1のデータに対して、第1のデータの略N倍の使用頻度を有する第2のデータは、第1のデータに割り当てられる物理ブロックのN倍の個数の物理ブロックがデータの格納用に割り当てられる(N倍の物理ブロックに同一データが格納される)。この様に構成することで、それぞれの物理ブロックの使用される頻度が同じ程度のものとなり、使用回数が平滑化され、特定の物理ブロックが先に破損したため、他の物理ブロックに問題がなくてもROM12が全体的に使用できなくなる可能性が低減する。またこれによってそれぞれの物理ブロックを限界近くまで使用することができ、ROM12全体としての長寿命化を図ることができる。
図2においてROM12ではデータ1乃至データ5が格納される物理ブロックが連続して存在している(隣り合って存在している)様に示されている。これらの物理ブロックは連続して存在していてもよいが、連続している必要はない。
CPU11のアドレス空間21の論理アドレスへの読み出しアクセスと、読み出し制御モジュール14のROM12の物理ブロックへの読み出しアクセスとの関係について、以下に図3を用いて説明する。
図3は本実施形態における読み出し管理テーブル31の一例を示す図である。
図3に示される読み出し管理テーブル31はキャッシュ15に格納されており、読み出し制御モジュール14は、CPU11からアドレス空間21の論理アドレスに読み出しアクセスがある場合、この読み出し管理テーブル31を参照してROM12の物理ブロックに対して読み出しアクセスを行う。
読み出し管理テーブル31には論理アドレス32、ナンバー33、読み出しフラグ34、及び使用物理ブロック35という項目がそれぞれ縦方向に示されている。
ナンバー33の項目には、それぞれの論理アドレスに対応した物理ブロックの項目に関して、番号が1から昇順に付与されている。また、読み出しフラグ34の項目には、CPU11がデータを読み出す際に、そのとき使用する物理ブロックが示されるフラグが示される。読み出しフラグ34の項目には「1」又は「0」の数値が設定されており、「1」は対応する物理ブロックより読み出し処理を行うことを示し、「0」は対応する物理ブロックより読み出し処理を行わないことを示している。更に、使用物理ブロック35の項目はCPU11がデータを読み出す際に、実際にデータの読み出しを行う物理ブロックが示される。
読み出し制御モジュール14はCPU11がアドレス空間21上の論理アドレスへと読み出しアクセスを行うと、この論理アドレスを取得し、読み出し管理テーブル31の論理アドレス32の項目と照らし合わせる。読み出し制御モジュール14は、CPU11が読み出しアクセスした論理アドレスを論理アドレス32の項目内より見つけると、その論理アドレスに対応している読み出し管理テーブル31の段の中から、読み出しフラグ34の項目に関して読み出しフラグの立っている段を判別し、その段の使用物理ブロック35の項目に示される物理ブロックよりデータを読み出す。そして読み出し制御モジュール14は、読み出したデータをCPU11に対して送信する。
例えば、CPU11がデータ2を読み出そうするとき、まずCPU11はアドレス空間21上のデータ2が格納されているものとして扱われるアドレスBに対して読み出しアクセスを行う。すると、読み出し制御モジュール14はその読み出し先の論理アドレスであるアドレスBの情報を取得し、読み出し管理テーブル31の論理アドレス32の項目より、アドレスBを検出する。次にアドレスBに対応するナンバー1乃至4のうち読み出しフラグの立っているナンバーを特定する。ここではナンバー2に読み出しフラグが立っており、これらに対応する物理ブロックはブロックcである。よって読み出しフラグが立っているナンバー2に対応する物理ブロックであるブロックcとなるため、読み出し制御モジュール14はROM12のブロックcよりデータ2を読み出し、CPU11に対して送信する。これらの処理によってCPU11は読み出しの対象であったデータ2を取得することができる。
図4は本実施形態におけるPC10の行うデータ読み出し処理の処理フローの一例を示す図である。
CPU11がROM12よりデータを読み出すとき、まずCPU11は読み出したいデータが格納されているとして扱われるアドレス空間21中の論理アドレスに対して読み出しアクセスを行う(ステップS41)。
次に、読み出し制御モジュール14はCPU11がアクセスする論理アドレスの情報を取得し、キャッシュ15に格納されている読み出し管理テーブル31中の該論理アドレスに対応する段を検出し、対応する段のうちから読み出しフラグの立っている段及びその段のナンバーを判別する(ステップS42)。
そして読み出し制御モジュール14は判別したナンバーの段の使用物理ブロック35の項目に記載されているROM12の物理ブロックよりデータを読み出し(ステップS43)、CPU11へとデータを送信する。
読み出し制御モジュール14はROM12よりデータを読み出すと、次にステップS42において判別したナンバーが、そのナンバーが対応する論理ブロックに割り当てられているナンバーの内最後のナンバーであるか否かの判別を行う(ステップS44)。例えば、図3で示す読み出し管理テーブルにおいて、論理アドレスがアドレスBであるデータ2を読み出すとき、読み出し制御モジュール14はまずROM12の物理ブロックcよりデータを読み出して、CPU11へと送信する。その後、読み出し制御モジュール14は読み出しフラグの立っているナンバーは2であるので、アドレスBに対応したナンバーにおいて最後のナンバーである4とは異なるためこれは最後のナンバーではないと判別する。
ステップS44において、読み出し制御モジュール14が読み出しフラグの立つナンバーが最後のナンバーではないと判断するとき(No)、現在読み出しフラグが立っているナンバーの読み出しフラグ34の項目よりフラグを消去し(1から0へと変更)、このナンバーの次のナンバーの段の読み出しフラグ34の項目に読み出しフラグを立てる(0から1へと変更)。つまり、読み出したデータの論理アドレスに対応するナンバーの内、フラグを立てるナンバーを読み出したナンバーから1加算したナンバーへと変更する(ステップS45)。
ステップS44において読み出し制御モジュール14が読み出しフラグの立つナンバーが最後のナンバーであると判別するとき(Yes)、現在読み出しフラグが立っているナンバーの読み出しフラグ34の項目よりフラグを消去し(1から0へと変更)、ナンバー1の段の読み出しフラグ34の項目に読み出しフラグを立てる(0から1へと変更)(ステップS46)。
ステップS45及びステップS46が終了すると、本実施形態における読み出し処理フローは終了となる。
つまり、本実施形態においては同一のデータが格納された物理ブロックを順に使用していき、一通り全ての同一データを格納する物理ブロックからデータの読み出しを行うと、再び最初に戻り、再度最初に使用された物理ブロックからデータの読み出しを始める。このように構成することによって、同一データを格納する物理ブロックを均等に使用することができ、各物理ブロックの使用頻度がほぼ同様となる。また更に、使用頻度の異なるデータに関しても、その使用頻度に応じてデータを格納する物理ブロックの個数を割り当てることで、これらの読み出しデータを格納する全ての物理ブロックの使用回数を平滑化することができ、半導体記憶装置であるROM12の長寿命化を図ることができる。そして、本実施形態では読み出し回数を数える等の処理を行う必要もないため処理量が少なく、処理速度をほぼ低減させることなく、半導体記憶装置よりデータの読み出しを行うことが可能となる。
本実施形態において、物理ブロックのデータを読み出す順番としては、例えばデータ2に関してはブロックb→ブロックc→ブロックd→ブロックe→ブロックbという順番で、最後まで一通り読み出した後に、再び最初から読み出すように例示しているが、これに限定されない。データ2に関して物理ブロックのデータを読み出す順番として、例えばブロックb→ブロックc→ブロックd→ブロックe→ブロックe→ブロックd→ブロックc→ブロックbというように読み出す順を、最後まで読み出したら、読み出してきた順番と逆の順番で再度読み出していくという読み出し順も考えられる。また、データを読み出す物理ブロックを1度読み出す毎に変更していくのではなく、複数回読み出す毎に変更していくとしてもいい。更に、例えば物理ブロックの温度が上昇しすぎると、ROM12周辺に設けられた温度の検出を行う温度検出手段(温度センサ)によってこの温度上昇を検知し、異なる物理ブロックに読み出し対象を変更する等のように、読み出し対象の物理ブロックの変更のトリガーとして回数とは異なる指標を用いるとしてもよい。
また本実施形態において、読み出し制御モジュール14はROM12より読み出したデータをCPU11に対して送信するとしたが、例えば読み出したデータをRAM13に直接格納し、CPU11はRAM13に格納された該データを用いて、そのデータにかかる処理を行うとしてもよい。
更に、本実施形態において、読み出し制御モジュール14は他のモジュールから独立して存在する半導体チップとして例示したがこれには限定されず、例えばバス16がこの読み出し制御モジュール14を有しているとしてもよいし、ROM12がこの読み出し制御モジュール14を有しているとしてもよい、またCPU11がこれを有しているとしてもよい。CPU11が読み出し制御モジュール14を有しているとすると、CPU11はROM12に対して直接読み出しアクセスを行い、設定された物理ブロックよりデータを読み出すこととなる。また、この読み出し制御モジュール14はソフトウェアにて構成されるとしてもよい。
(変形例)
第1の実施形態の変形例を図5を参照して説明する。
第1の実施形態の変形例を図5を参照して説明する。
図5は本変形例におけるPC50及びメモリカード60の内部構成の一例について示す図である。
本変形例は第1の実施形態とは異なり、CPU51がPC50内のROM52に格納されたデータを読み出す場合ではなく、メモリカード60内のフラッシュメモリ63内に格納されたデータを読み出す場合を考える。
PC50の内部構成は、第1の実施形態に示したPC10から読み出し制御モジュール14が無くなり、カードI/F54が加えられたものとなっている。それぞれもモジュールブロックの機能はほぼ同様であるため、上述と重複する説明に関してはこれを割愛する。
メモリカードI/F54はメモリカード60とのデータの送受信を行うためのインターフェースである。
メモリカード60は例えばSDカードのようなPC50に接続することで、半導体に記憶されているデータの読み出しが可能な半導体記憶装置である。
メモリカード60は例えば半導体チップであるメモリカードコントローラ61を有しており、PC50に対して信号の送受信可能に接続されるとき、このメモリカードコントローラ61がメモリカード60全体を制御する。
メモリカード60はメモリカードI/F62をインターフェースとしてPC50と信号のやり取りを行う。メモリカードI/F62はPC50のメモリカードI/F54と信号の送受信を行うことができる。
フラッシュメモリ63は半導体メモリで構成され、第1の実施形態におけるROM12と同様の構成であり、複数の物理ブロックを持つ。フラッシュメモリ63にはPC50で使用可能なデータを格納している。
読み出し制御モジュール64及びキャッシュ65は第1の実施形態における読み出し制御モジュール14およびキャッシュ15とそれぞれ同様の機能を有している。
キャッシュ65は読み出し管理テーブルを有しており、PC50からフラッシュメモリ63に対しての読み出し要求を受けると第1の実施形態と同様に読み出し制御モジュール64はこの読み出し管理テーブルを参照して、フラッシュメモリ63の読み出し管理テーブルより基づいた物理ブロックよりデータを読み出して、PC50に対してデータを送信する。
本変形例は第1の実施形態と処理フロー等は同様のものである。本変形例ではPCの外部の半導体記憶装置内の半導体チップ(読み出し制御モジュール64)が上述の処理を行う。
本実施形態において、データ読み出しの管理単位として物理ブロック単位での管理を例示しているがこれに限定されず、例えば物理ブロックを更に細分化した単位であるページごとにデータ読み出しの管理を行なうとしてもよい。このときは同一のデータを複数のページに格納し、読み出し管理テーブルの物理ブロックの項目がページという項目になる。一般的に消去処理は物理ブロック毎の単位でしか処理を行うことができないが、読み出し/書き込み処理はページ単位での処理を行うことが可能であるため、本発明をページ単位にて適用すると、ページ単位での、より詳細な読み出し回数の平滑化を行うことができ、半導体記憶装置の長寿命化を図ることが可能となる。さらには同じデータを複数のページ(物理ブロック)より読み出すため、特定のページ(物理ブロック)より何度も同じデータを読み出すことによってデータに破損が生じてしまう現象であるリードディスターブ現象の発生をも低減することができる。
本発明によれば、読み出し専用のデータに読み出し頻度に応じた半導体記憶装置の物理ブロックを割り当てることで処理速度をほぼ低減させることなく、読み出し専用データを格納した半導体記憶装置の長寿命化を図ることの可能な情報処理装置、半導体記憶装置、及び物理ブロック管理方法を実現することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
10…PC、11…CPU、12…ROM、13…RAM、14…読み出し制御モジュール、15…キャッシュ、16…バス、21…アドレス空間、31…読み出し管理テーブル、32…論理アドレス、33…ナンバー、34…読み出しフラグ、35…使用物理ブロック、50…PC、51…CPU、52…ROM、53…RAM、54…メモリカードI/F、55…バス、60…メモリカード、61…メモリカードコントローラ、62…メモリカードI/F、63…フラッシュメモリ、64…読み出し制御モジュール、65…キャッシュ、66…バス
Claims (8)
- 演算処理を行う処理手段と、
第1のデータが第1の個数の物理ブロックに格納されており、第1の個数より多い第2の個数の物理ブロックのそれぞれに、第1のデータより読み出し頻度の高い第2のデータが同様に格納されている記憶手段と、
前記処理手段が前記第2のデータを前記第2の個数の倍数回読み出すとき、第2の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出し、前記処理手段に前記第2のデータを送信する読み出し制御手段と
を具備することを特徴とする情報処理装置。 - 前記第2の個数の物理ブロックのうち、前記処理手段が前記記憶手段より前記第2のデータの読み出し処理を行うときの前記第2のデータの読み出し対象の物理ブロックを示す情報を有する読み出し管理テーブルを更に具備し、
前記読み出し制御手段は前記処理手段に前記第2のデータを読み出させるとき、前記読み出し管理テーブルを参照して読み出し対象の物理ブロックを設定し、さらに次の読み出し対象の物理ブロックを指定するように前記読み出し管理テーブルの編集を行う
ことを特徴とする請求項1記載の情報処理装置。 - 前記記憶手段に記憶された第2のデータの前記処理手段による読み出し頻度は、前記第1のデータの読み出し頻度の略整数倍であって、前記第2のデータが格納されている物理ブロックの個数である第2の個数は前記第1のデータが格納されている物理ブロックの個数である第1の個数の前記整数倍である
ことを特徴とする請求項1記載の情報処理装置。 - 演算処理を行う処理手段と、
記憶されたデータのうち、第1のデータが第1の個数のページに格納されており、
第1の個数より多い第2の個数のページのそれぞれに、第1のデータより読み出し頻度の高い第2のデータが同様に格納されている記憶手段と、
前記処理手段が前記第2のデータを前記第2の個数の倍数回読み出すとき、第2の個数のページの内の全てページの読み出し回数がそれぞれ同数となるようにデータを読み出し、前記処理手段に前記第2のデータを送信する読み出し制御手段と
を具備することを特徴とする情報処理装置。 - 本体と、
第1のデータが第1の個数の物理ブロックに格納されており、第1の個数より多い第2の個数の物理ブロックのそれぞれに、第1のデータより読み出し頻度の高い第2のデータが同様に格納されている記憶手段と、
前記記憶装置に格納されているデータの読み出し指示を前記本体とは異なる電子機器より受信する受信手段と、
前記受信手段よるデータの読み出し指示を実行する読み出し制御手段であって、前記第2のデータを前記第2の個数の倍数回読み出すとき、第2の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出す読み出し制御手段と、
前記読み出し制御手段が読み出したデータを前記電子機器に対して送信する送信手段と
を具備することを特徴とする半導体記憶装置。 - 前記第2の個数の物理ブロックのうち、前記処理手段が前記記憶手段より前記第2のデータの読み出し処理を行うときの前記第2のデータの読み出し対象の物理ブロックを示す情報を有する読み出し管理テーブルを更に具備し、
前記読み出し制御手段は前記処理手段に前記第2のデータを読み出させるとき、前記読み出し管理テーブルを参照して読み出し対象の物理ブロックを設定し、さらに次の読み出し対象の物理ブロックを指定するように前記読み出し管理テーブルの編集を行う
ことを特徴とする請求項5記載の半導体記憶装置。 - 前記記憶手段に記憶された第2のデータの前記処理手段による読み出し頻度は、前記第1のデータの読み出し頻度の略整数倍であって、前記第2のデータが格納されている物理ブロックの個数である第2の個数は前記第1のデータが格納されている物理ブロックの個数である第1の個数の前記整数倍である
ことを特徴とする請求項5記載の半導体記憶装置。 - 情報処理装置において実行されるプログラムであって、
演算処理を行う処理手段が、第1のデータが第1の個数の物理ブロックに格納されており、第1の個数より多い第2の個数の物理ブロックのそれぞれに、第1のデータより読み出し頻度の高い第2のデータが同様に格納されている記憶装置に格納されたデータを読み出すとき、
前記読み出しを行う読み出し手段に、前記第2のデータを前記第2の個数の倍数回読み出すときには、第2の個数の物理ブロックの内の全て物理ブロックの読み出し回数がそれぞれ同数となるようにデータを読み出ださせること
を特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009228933A JP4703753B2 (ja) | 2009-09-30 | 2009-09-30 | 情報処理装置、半導体記憶装置、及びプログラム |
US12/840,193 US8307189B2 (en) | 2009-09-30 | 2010-07-20 | Information processing apparatus and semiconductor storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009228933A JP4703753B2 (ja) | 2009-09-30 | 2009-09-30 | 情報処理装置、半導体記憶装置、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011076497A true JP2011076497A (ja) | 2011-04-14 |
JP4703753B2 JP4703753B2 (ja) | 2011-06-15 |
Family
ID=43781581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009228933A Expired - Fee Related JP4703753B2 (ja) | 2009-09-30 | 2009-09-30 | 情報処理装置、半導体記憶装置、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8307189B2 (ja) |
JP (1) | JP4703753B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9235344B2 (en) * | 2012-11-28 | 2016-01-12 | International Business Machines Corporation | Identifying redundant data for disk image streaming |
US9575829B2 (en) * | 2013-03-13 | 2017-02-21 | Sandisk Technologies Llc | Probability-based remedial action for read disturb effects |
TWI537816B (zh) * | 2014-10-13 | 2016-06-11 | 慧榮科技股份有限公司 | 非揮發性儲存裝置與控制器進行的控制方法 |
JP6779821B2 (ja) * | 2017-03-24 | 2020-11-04 | キオクシア株式会社 | メモリシステム及びデータの読み出し方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007013372A1 (ja) * | 2005-07-29 | 2007-02-01 | Matsushita Electric Industrial Co., Ltd. | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 |
JP2007172447A (ja) * | 2005-12-26 | 2007-07-05 | Jatco Ltd | フラッシュメモリ |
JP2009037619A (ja) * | 2007-08-03 | 2009-02-19 | Samsung Electronics Co Ltd | メモリシステム及びその読み出し方法 |
JP2010079659A (ja) * | 2008-09-26 | 2010-04-08 | Nec Personal Products Co Ltd | フラッシュメモリの延命装置、その方法及びそのプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04332999A (ja) | 1991-05-07 | 1992-11-19 | Hitachi Koki Co Ltd | メモリの使用方法 |
JPH113287A (ja) | 1997-06-12 | 1999-01-06 | Hitachi Ltd | 記憶装置およびそれに用いられる記憶領域管理方法 |
US7710777B1 (en) * | 2006-12-20 | 2010-05-04 | Marvell International Ltd. | Semi-volatile NAND flash memory |
US7937521B2 (en) * | 2008-01-29 | 2011-05-03 | Cadence Design Systems, Inc. | Read disturbance management in a non-volatile memory system |
TWI375953B (en) * | 2008-02-21 | 2012-11-01 | Phison Electronics Corp | Data reading method for flash memory, controller and system therof |
-
2009
- 2009-09-30 JP JP2009228933A patent/JP4703753B2/ja not_active Expired - Fee Related
-
2010
- 2010-07-20 US US12/840,193 patent/US8307189B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007013372A1 (ja) * | 2005-07-29 | 2007-02-01 | Matsushita Electric Industrial Co., Ltd. | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 |
JP2007172447A (ja) * | 2005-12-26 | 2007-07-05 | Jatco Ltd | フラッシュメモリ |
JP2009037619A (ja) * | 2007-08-03 | 2009-02-19 | Samsung Electronics Co Ltd | メモリシステム及びその読み出し方法 |
JP2010079659A (ja) * | 2008-09-26 | 2010-04-08 | Nec Personal Products Co Ltd | フラッシュメモリの延命装置、その方法及びそのプログラム |
Also Published As
Publication number | Publication date |
---|---|
US8307189B2 (en) | 2012-11-06 |
JP4703753B2 (ja) | 2011-06-15 |
US20110078390A1 (en) | 2011-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6602823B2 (ja) | メモリ機器のための拡張利用範囲 | |
KR101469512B1 (ko) | 외부 컴퓨팅 디바이스의 성능 향상을 위한 어댑티브 메모리 시스템 | |
US8281072B2 (en) | Data processing system, controller, and method thereof for searching for specific memory area | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
US8296466B2 (en) | System, controller, and method thereof for transmitting data stream | |
US20140359225A1 (en) | Multi-core processor and multi-core processor system | |
US8510497B2 (en) | Flash storage device with flexible data format | |
US8001296B2 (en) | USB controller and buffer memory control method | |
JP5090819B2 (ja) | メモリーカード及び該データ格納方法 | |
US20100318760A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
KR20190065789A (ko) | 랭크 단위로 메모리 장치를 트레이닝하는 전자 장치 및 그것의 메모리 트레이닝 방법 | |
KR20080087133A (ko) | 메모리 모듈을 파티션하는 것을 제어하기 위해 메모리인터페이스를 이용하는 방법 | |
JP2004258946A (ja) | メモリカード | |
JP2022028890A (ja) | メモリアドレス指定方法と関連するコントローラ、メモリデバイス、及びホスト | |
JP4703753B2 (ja) | 情報処理装置、半導体記憶装置、及びプログラム | |
WO2006051779A1 (ja) | 不揮発性記憶装置の制御方法、メモリコントローラ及び不揮発性記憶装置 | |
US10289334B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
US9405674B2 (en) | Address generating circuit and address generating method | |
CN116414725A (zh) | 用于计算装置主存储器的分区命名空间 | |
WO2016023276A1 (zh) | 一种存储卡的数据处理方法及装置 | |
CN113253939B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20090055574A1 (en) | NAND Flash Memory Device And Related Method Thereof | |
TWI453747B (zh) | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 | |
CN106649136B (zh) | 一种数据存储方法和存储装置 | |
JP2007317078A (ja) | 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110308 |
|
LAPS | Cancellation because of no payment of annual fees |