(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143815
(43)【公開日】2024-10-11
(54)【発明の名称】管理装置、管理方法、及び管理プログラム
(51)【国際特許分類】
G06F 12/00 20060101AFI20241003BHJP
G06F 12/02 20060101ALI20241003BHJP
G06F 11/10 20060101ALI20241003BHJP
【FI】
G06F12/00 550Z
G06F12/02 510A
G06F12/00 597U
G06F11/10 662
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023056713
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】320012037
【氏名又は名称】ラピステクノロジー株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】清水 啓介
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160AA13
5B160NA03
(57)【要約】
【課題】誤り訂正部を用いた不揮発性メモリの書換回数の管理を、より簡易な処理により行うことができる管理装置、管理方法、及び管理プログラムを提供する。
【解決手段】データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサが、前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる管理装置。
【選択図】
図3
【特許請求の範囲】
【請求項1】
データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサが、
前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、
前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、
前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる
管理装置。
【請求項2】
前記プロセッサは、
前記アドレスをインクリメントまたはデクリメントすることで前記アドレスを書き換える
請求項1に記載の管理装置。
【請求項3】
前記誤り訂正部はデータを訂正した場合、訂正したことを表す値であって、0以外の値を出力し、
前記プロセッサは、
前記値を加算または減算することにより、前記アドレスを書き換える
請求項1に記載の管理装置。
【請求項4】
前記誤り訂正部はECC回路である
請求項1に記載の管理装置。
【請求項5】
データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサによる管理方法であって、
前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、
前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、
前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる
管理方法。
【請求項6】
データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサに、
前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、
前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、
前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる
処理を実行させるための管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、管理装置、管理方法、及び管理プログラムに関する。
【背景技術】
【0002】
一般に、半導体メモリやマイコンには、プログラムやデータを記憶するため不揮発性メモリが内蔵されている。例えば、1秒間に1回、特定のデータを書き換えるプログラムが存在した場合、1時間で3600回の書き換えが発生し、10000回の書き換えが可能な不揮発性メモリは6時間程度で書換が可能な回数をオーバーしてしまう。一方で一般的な不揮発性メモリであるフラッシュメモリは、消去と書込みの繰り返しによって記憶素子の劣化が進み、数千回から数万回の書換が寿命とされている。そのため、フラッシュメモリの書換回数を延長する方法として、書換領域を広く取り、その領域内の特定のアドレスにデータの書換が集中しないような処理(ウェアレベリング)をソフトウェアで行い、書換回数を延長する方法が採られる。この方法を採用する場合、ウェアレベリングを行うソフトウェアの設計およびそれを格納するメモリ領域、更には書換時にこのソフトウェアを実行するCPU(Central Processing Unit)回路や処理時間が追加で必要となる問題が発生する。
【0003】
この問題について不揮発性メモリの代表としてフラッシュメモリを例に説明する。従来のフラッシュメモリとそれらを制御する周辺回路を含むメモリシステム100は、基本的には
図4に示す回路構成となっている。
図4に示した従来のメモリシステム100の例では、フラッシュメモリに対して読出しや書込みの指示を出すCPU110、CPU110からの指示でフラッシュメモリ114に対するデータの書き込み及び読み出しを行うメモリコントローラ112、ECC(Error-Correction Code)回路116、及びECC訂正有無情報が入力されるテスト回路118を備える。また、フラッシュメモリ114はプログラム領域120及びデータ領域122を含むのが一般的である。フラッシュメモリ114の書換回数の延長方法としては、フラッシュメモリ114の記憶素子の書換回数上限データ等の情報を元に、データ領域122を広く取っておく。そして、プログラム領域120に記憶されているソフトウェアをCPU110が実行することにより、その領域内の特定のアドレスに書換が集中しないような処理(ウェアレベリング)を行う。
【0004】
しかしながら、ソフトウェアでウェアレベリングを行う場合、本来の目的であるアプリケーション動作を実現するソフトウェアとは別に、書換回数を延長するためのウェアレベリングソフトウェアを開発する工数が必要であることと、そのソフトウェアを格納するプログラム領域が必要となり、本来のプログラム領域が少なくなってしまう問題が発生する。また、ソフトウェアの複雑度によってはCPU110での処理に時間がかかり、フラッシュメモリ114への読出しや書込みの度に、ウェアレベリング処理分の遅延が発生してしまい、システムのパフォーマンス低下に繋がる問題も発生する。
【0005】
そこで、ECC回路116等の誤り訂正部を利用して、フラッシュメモリ114の書換回数を延長する技術が知られている。例えば、文献1には、フラッシュメモリの寿命を長期化させるために、誤り訂正を行ったビット数に応じてメモリセルの消耗度を測定し、消耗度に応じてメモリの使い方を変更し、消耗度が激しい場合、そのセルの使用を禁止して不良ブロックとして管理する技術が記載されている。
【0006】
また例えば、文献2には、不揮発性半導体装置に発生するカラム不良に対応するために、NANDフラッシュメモリから読み出したデータのECC結果から、カラム不良が生じているいかを判断する技術が記載されている。
【0007】
また例えば、文献3には、誤り訂正符号アルゴリズムを利用してメモリセルのうち誤りを有する1つまたは複数のメモリセルを識別し、誤りを有するものとして識別されたメモリセルを頻繁にリフレッシュするようにする技術が記載されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2015-138498号公報
【特許文献2】特開2006-48777号公報
【特許文献3】特開2016-115354号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述したように、ソフトウェアでウェアレベリングを行う場合、本来の目的であるアプリケーション動作を実現するソフトウェアとは別に、書換回数を延長するためのウェアレベリングソフトウェアを開発する工数が必要である。また、そのソフトウェアを格納するプログラム領域が必要となり、本来のプログラム領域が少なくなってしまう問題が発生する。また、ソフトウェアの複雑度によっては処理に時間がかかり、フラッシュメモリへの読出しや書込みの度に、ウェアレベリング処理分の遅延が発生してしまい、システムのパフォーマンス低下に繋がる問題も発生する。
【0010】
しかしながら、特許文献1~3に記載の技術では、上記の問題を解決するためには十分ではなく、より簡易な処理で不期末性メモリの書換回数の管理ができる技術が望まれている。
【0011】
本開示は、誤り訂正部を用いた不揮発性メモリの書換回数の管理を、より簡易な処理により行うことができる管理装置、管理方法、及び管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本開示の管理装置は、データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサが、前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる。
【0013】
また、上記目的を達成するために、本開示の管理方法は、データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサによる管理方法であって、前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる方法である。
【0014】
また、上記目的を達成するために、本開示の管理プログラムは、データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサに、前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる処理を実行させるためのものである。
【発明の効果】
【0015】
本開示によれば、誤り訂正部を用いた不揮発性メモリの書換回数の管理を、より簡易な処理により行うことができる。
【図面の簡単な説明】
【0016】
【
図1】実施形態のメモリシステムの構成の一例を表すブロック図である。
【
図2】実施形態のメモリシステムの構成の一部の一例を表す回路図である。
【
図3】CPUにおいて実行される管理処理の流れの一例を表すフローチャートである。
【
図4】従来のメモリシステムの構成の一例を表すブロック図である。
【発明を実施するための形態】
【0017】
以下、図面を参照して本開示の実施形態を詳細に説明する。なお、以下の実施形態は、本開示の技術を限定するものではない。
【0018】
まず、本実施形態のメモリシステムの構成の一例について
図1を参照して説明する。
図1には、本実施形態のメモリシステム1の構成の一例を表すブロック図が示されている。本実施形態のメモリシステム1は、フラッシュメモリ14に対する、データの書き込み及び読出を行うシステムである。
図1に示すように、本実施形態のメモリシステム1は、CPU10、メモリコントローラ12、フラッシュメモリ14、ECC(Error-Correction Code)回路16、及びテスト回路18を備える。なお、本実施形態のフラッシュメモリ14が、本開示の不揮発性メモリの一例である。
【0019】
CPU10は、フラッシュメモリ14に対するデータの書き込みや読み出しに関する制御を行う機能を有する。メモリコントローラ12は、CPU10の指示に応じて、フラッシュメモリ14の仕様に応じた制御信号やアドレス信号を生成する機能を有する。ECC回路16は、テスト回路18の指示に応じて、フラッシュメモリ14に書き込むデータ及びフラッシュメモリ14から読み出されたデータの誤りを訂正する機能を有する。なお、本実施形態のECC回路16が、本開示の誤り訂正部の一例である。
【0020】
次に、本実施形態のCPU10によるフラッシュメモリ14の書換回数の管理について説明する。なお、本実施形態のCPU10が、本開示のプロセッサの一例であり、本実施形態のCPU10を備える装置が、本開示の管理装置の一例である。
【0021】
まず、
図2も参照して、CPU10の制御によりフラッシュメモリ14にデータを書き込む際の流れの概略、及びフラッシュメモリ14からデータを読み出す際の流れの概略について説明する。
図2に示すように、メモリコントローラ12は、ライトアドレスレジスタ30及びライトデータレジスタ32含む。また、フラッシュメモリ14は、CPU10で実行される、詳細を後述する管理処理プログラムを含むソフトウェアプログラムが記憶されるプログラム領域20と、各種のデータが記憶されるデータ領域22とを含む。
【0022】
図2に示すように、フラッシュメモリ14にデータを書き込む場合、CPU10からメモリコントローラ12へ、データの書き込み先となるフラッシュメモリ14のアドレスが出力される。CPU10から出力されたアドレスは、ライトアドレスレジスタ30に格納される。また、CPU10からメモリコントローラ12へ、フラッシュメモリ14に書き込むデータが出力される。CPU10から出力されたデータは、ライトデータレジスタ32に格納される。以下、ライトデータレジスタ32に格納されたデータは、フラッシュメモリ14に書き込むためのデータであるため、
図2に示すように「ライトデータ:Wデータ」という。また、「アドレス」について、データの書き込み先を表す場合と、データとの読み出し元を表す場合とがあるが、各々について区別する場合、前者を「ライトアドレス」といい、後者を「リードアドレス」という。一方、総称する場合、単に「アドレス」という。
【0023】
メモリコントローラ12は、ライトデータレジスタ32に格納されたライトデータを、ECC回路16を介して、ライトアドレスレジスタ30に格納されたライトアドレスに応じたデータ領域22に記憶させる。ECC回路16は、入力されたデータの誤りを訂正し、誤りが訂正されたデータ及び誤りを訂正したか否かを表す情報を出力する機能を有する。ECC回路16は、例えば、16bitのデータに対して、1bitの誤りが訂正できる。
【0024】
一方、フラッシュメモリ14に記憶されているデータを読み出す場合、メモリコントローラ12は、CPU10から出力されたリードアドレスが示す、フラッシュメモリ14のデータ領域22の番地に記憶されているデータを、ECC回路16を介して読み出して、CPU10に出力する。以下、フラッシュメモリ14から読み出し、CPU10に出力するデータを、
図2に示すように「リードデータ:Rデータ」という。
【0025】
上述したように、例えば、ECC回路16が16bitのデータに対して、1bitの誤りが訂正できる場合、フラッシュメモリ14から読み出したリードデータに1bitのデータ誤りがあったとしても、その誤りはECC回路16により訂正されるため、誤りが訂正されたリードデータがCPU10に出力される。従って、CPU10としては、問題なく動作することができる。本実施形態のメモリシステム1では、フラッシュメモリ14から読み出したリードデータに対してECC回路16が上記のように訂正を行ったか否かを表す信号(以下、「ECC訂正有無情報」という)がECC回路16からCPU10に出力される。本実施形態のECC回路16は、ECC訂正有無情報の値が「0」の場合、訂正を行わなかったことを示しており、一方、ECC訂正有無情報の値が「1」の場合、訂正を行ったことを示す。
【0026】
本実施形態のCPU10は、フラッシュメモリ14にライトデータを書き込む際に、ECC訂正有無情報を利用して、フラッシュメモリ14の書換回数の管理を行う。
図3には、CPU10において実行される管理処理の流れの一例を表すフローチャートが示されている。フラッシュメモリ14のプログラム領域20に記憶されている管理処理プログラム(図示省略)をCPU10が実行することにより、
図3に示した管理処理が実行される。なお、
図3に示した管理処理は、フラッシュメモリ14にデータを書き込む際に実行される。
【0027】
図3のステップS100でCPU10は、メモリコントローラ12に、フラッシュメモリ14のデータ領域22のA番地(
図2参照)のデータを読み出させる。なお、フラッシュメモリ14のデータ領域22のA番地には、ライトデータの書き込みを開始するライトアドレスが記憶されている。なお、本実施形態では、初期状態では、A番地にライトアドレスとして「X番地」が記憶されている。なお、本実施形態におけるデータ領域22のA番地が、本開示のアドレス格納領域の一例である。
【0028】
次のステップS102でCPU10は、メモリコントローラ12に、データ領域22のA番地から読み出したデータを、メモリコントローラ12のライトアドレスレジスタ30に格納させる。初期状態では、上述したように、データ領域22のA番地には、ライトアドレスとして「X番地」が記憶されているため、ライトアドレスレジスタ30に「X番地」が書き込まれる。
【0029】
次のステップS104でCPU10は、ライトアドレスレジスタ30に記憶されているライトアドレスが示すデータ領域22の番地からデータ(リードデータ)を読み出す。上述したようにメモリコントローラ12からリードデータを読み出す場合、ECC回路16を介して読み出され、ECC訂正有無情報がCPU10に出力される。
【0030】
そこで、次のステップS106でCPU10は、ECC訂正有無情報が示す値に基づいて、ECC回路16による訂正があったか否かを判定する。本実施形態では、ECC訂正有無情報が示す値が「1」の場合、訂正が行われたことを示している。そのため、ECC訂正有無情報が示す値が「1」の場合、ステップS106の判定が肯定判定となり、ステップS108へ移行する。
【0031】
上述したように、リードデータに誤りが生じていても、ECC回路16により訂正が行われることにより、CPU10は問題なく動作することができる場合がある。しかしながら、フラッシュメモリ14から読み出したデータに、誤りがあるということは、読み出し元のアドレスについて、データの書き込み及び消去を繰り返すこと等により劣化が進んでいることが考えられる。
【0032】
そこで、本実施形態のCPU10は、劣化が進んでいると考えられるアドレスについて、書き込みを行わないように制御するため、ステップS108でメモリコントローラ12により、ライトアドレスレジスタ30に格納されているライトアドレスに「1」を加算させる。
【0033】
次のステップS110でCPU10は、メモリコントローラ12により、フラッシュメモリ14のデータ領域22のA番地に記憶されているデータ(ライトアドレス)に「1」を加算した後、ステップS112へ移行する。例えば、上述したように、初期状態で、A番地にライトアドレスとして「X番地」が記憶されており、X番地から読み出したリードデータに対するECC訂正有無情報が「1」、即ち、訂正が行われたことを示している場合、本ステップにより、A番地のデータ(ライトアドレス)が「X+1」番地に書き換えられる。
【0034】
一方、データ領域22のX番地から読み出したリードデータに対応するECC訂正有無情報が「0」を示す場合、即ち、訂正が行われなかったことを示している場合、リードデータの読み出し元のアドレ(番地)に劣化が生じていないとみなせる。この場合、ステップS106の判定が否定判定となり、ステップS112へ移行する。
【0035】
ステップS112でCPU10は、フラッシュメモリ14に書き込ませるライトデータを、メモリコントローラ12のライトデータレジスタ32に格納する。
【0036】
このようにしてライトデータレジスタ32にライトデータが格納されると、メモリコントローラ12は、ライトデータレジスタ32に格納されているライトデータを、ライトアドレスレジスタ30に格納されているライトアドレスが示す、メモリコントローラ12のデータ領域22の番地に書き込ませる。
【0037】
例えば、上記初期状態において、ステップS110の後にステップS112へ移行した場合、メモリコントローラ12は、データ領域22のX+1番地にリードデータを書き込ませる。一方、上記初期状態において、ステップS106で否定判定となりステップS112へ移行した場合、メモリコントローラ12は、データ領域22のX番地にリードデータを書き込ませる。
【0038】
次のステップS114でCPU10は、フラッシュメモリ14へのライトデータの書き込みを終了するか否かを判定する。終了しない場合、ステップS114の判定が否定判定となり、ステップS116へ移行する。
【0039】
ステップS116でCPU10は、メモリコントローラ12により、ライトアドレスレジスタ30に格納されているライトアドレスに「1」を加算させたあと、ステップS112に戻る。これにより、順次、次の番地にライトデータが書き込まれていく。
【0040】
一方、フラッシュメモリ14へのライトデータの書き込みを終了する場合、ステップS114の判定が肯定判定となり、
図3に示した管理処理が終了する。
【0041】
以上説明したように、上記実施形態のCPU10は、ライトデータの書き込み先を表すライトアドレスが格納されたデータ領域22のA番地を備えたフラッシュメモリ14へのライトデータの書き込みを管理するためのプロセッサである。CPU10は、データを書き込む場合に、ECC回路16を介してデータ領域22のA番地からライトアドレスを読み出す。CPU10は、ECC回路16が読み出したライトアドレスを訂正した場合、データ領域22のA番地に書き込まれているライトアドレスを書き換えた後、書き換え後のアドレスが示すデータ領域22の番地にライトデータを書き込ませる。また、CPU10は。ECC回路16が読み出したライトアドレスを訂正しなかった場合、データ領域22のA番地に書き込まれているライトアドレスが示すデータ領域22の番地にライトデータを書き込ませる。
【0042】
すなわち、本実施形態のCPU10によれば、メモリシステム1の構成を、従来のメモリシステム(
図4,メモリシステム100参照)と比較して、ECC回路16から出力されるECC訂正有無情報の値をCPU10が判別可能とすればよい。
【0043】
従って、本実施形態のCPU10によれば、ECC回路16を用いたフラッシュメモリ14の書換回数の管理を、より簡易な処理により行うことができる。
【0044】
このように、本実施形態のCPU10によれば、メモリシステム1をより簡易な構成及び管理名処理により、ECC回路16を用いたフラッシュメモリ14の書換回数の管理を行うことができる。そのため、管理処理の処理プログラムの記憶に要するフラッシュメモリ14のプログラム領域20の領域を削減することができる。また、管理処理に要するCPU10の処理時間も比較的、少なくすることができるため、メモリシステム1のパフォーマンスの低下を抑制しつつ、フラッシュメモリ14の書換回数の管理を行うことができる。
【0045】
さらに、本実施形態のCPU10によれば、適切に、フラッシュメモリ14の書換回数の管理を行うことができるため、フラッシュメモリ14の寿命を延長することができる。
【0046】
なお、上記は、ECC訂正有無情報の値が「0」の場合、訂正を行わなかったことを示し、また、ECC訂正有無情報の値が「1」の場合、訂正を行ったことを示す形態について説明したが、ECC訂正有無情報の具体的な値と訂正の有無との関係は本形態に限定されない。例えば、ECC訂正有無情報の値が「1」の場合、訂正を行わなかったことを示し、また、ECC訂正有無情報の値が「0」の場合、訂正を行ったことを示す形態であってもよい。
【0047】
また、上記では、A番地に記憶されているライトアドレスに「1」を加算する(インクリメント)することで、データ領域22の劣化した領域(アドレス)を使用しないようにする形態について説明したが、本形態に限定されない。例えば、ECC訂正有無情報が訂正を行ったことを示していた場合、A番地に記憶されているライトアドレスに「2」を加算する形態としてもよい。また、例えば、ECC訂正有無情報が訂正を行ったことを示していた場合、A番地に記憶されているライトアドレスから「1」を減算する(デクリメントする)形態としてもよい。なお、インクリメントするか、デクリメントするかに係わらず、ECC訂正有無情報が示す値を用いてA番地に記憶されているライトアドレスを更新することが好ましい。
【0048】
また、上記各実施形態で説明したCPU10、メモリコントローラ12、フラッシュメモリ14、及びECC回路16等の構成及び動作等は一例であり、本発明の主旨を逸脱しない範囲内において状況に応じて変更可能であることはいうまでもない。
【0049】
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサが、
前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、
前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、
前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる
管理装置。
【0050】
(付記2)
前記プロセッサは、
前記アドレスをインクリメントまたはデクリメントすることで前記アドレスを書き換える
付記1に記載の管理装置。
【0051】
(付記3)
前記誤り訂正部はデータを訂正した場合、訂正したことを表す値であって、0以外の値を出力し、
前記プロセッサは、
前記値を加算または減算することにより、前記アドレスを書き換える
付記1または付記2に記載の管理装置。
【0052】
(付記4)
前記誤り訂正部はECC回路である
付記1から付記3のいずれか1つに記載の管理装置。
【0053】
(付記5)
データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサによる管理方法であって、
前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、
前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、
前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる
管理方法。
【0054】
(付記6)
データの書き込み先を表すアドレスが格納されたアドレス格納領域を備えた不揮発性メモリへのデータの書き込みを管理する管理装置が備えるプロセッサに、
前記データを書き込む場合に、誤り訂正部を介して前記アドレス格納領域から前記アドレスを読み出し、
前記誤り訂正部が前記アドレスを訂正した場合、前記アドレス格納領域に書き込まれている前記アドレスを書き換えた後、書き換え後のアドレスが示す前記不揮発性メモリの領域に前記データを書き込ませ、
前記誤り訂正部が前記アドレスを訂正しなかった場合、前記アドレス格納領域に書き込まれている前記アドレスが示す前記不揮発性メモリの領域に前記データを書き込ませる
処理を実行させるための管理プログラム。
【符号の説明】
【0055】
1 メモリシステム
10 CPU
12 メモリコントローラ
14 フラッシュメモリ
16 ECC回路
20 プログラム領域
22 データ領域