データを保持可能なNAND型フラッシュメモリと、前記データについての誤りを検出訂正する誤り訂正部と、前記データ毎に、使用される誤り訂正方式についての情報を有するテーブルとを具備し、前記誤り訂正部は、前記テーブル内の前記情報に従って、適用する誤り訂正方式を前記データ毎に選択することを特徴とする半導体装置。オペレーティングシステム及び/またはアプリケーションを実行するプロセッサを更に備え、前記誤り訂正方式についての情報は、前記オペレーティングシステム及び/またはアプリケーションにより与えられることを特徴とする請求項1記載の半導体装置。前記誤り訂正部は、第1誤り訂正方式の第1回路と、第2誤り訂正方式の第2回路とを含み、前記第1回路と前記第2回路は、誤り訂正能力が異なることを特徴とする請求項1または2記載の半導体装置。前記NAND型フラッシュメモリは、第1の単位で複数のメモリセルから一括してデータを読み出し、書き込み時において、前記第1誤り訂正方式は、前記第1の単位よりも小さい第2の単位毎にパリティを生成し、前記第2誤り訂正方式は、前記第1の単位でパリティを生成することを特徴とする請求項3記載の半導体装置。前記テーブルにおいて、第1のアクセス速度を必要とするデータについては前記第1誤り訂正方式が関連付けられ、前記第1のアクセス速度より低速の第2のアクセス速度を必要とするデータについては前記第2誤り訂正方式が関連付けられることを特徴とする請求項4記載の半導体装置。前記データを、前記NAND型フラッシュメモリ内においてコピーする制御部を更に備え、前記制御部は、前記テーブル内の前記誤り訂正方式に基づいて、コピー先となる領域を選択することを特徴とする請求項1または2記載の半導体装置。前記誤り訂正部は、第1誤り訂正方式と、前記第1誤り訂正方式よりも誤り訂正能力の高く且つ低速の第2誤り訂正能力とを使用可能とされ、前記制御部は、コピー対象となるデータが前記第1誤り訂正方式に関連付けられていた場合、第1誤り発生頻度を有する領域を前記コピー先の領域として選択し、コピー対象となるデータが前記第2誤り訂正方式に関連付けられていた場合、前記第1誤り発生頻度よりも高い第2誤り発生頻度を有する領域を前記コピー先の領域として選択することを特徴とする請求項6記載の半導体装置。コピー対象となるデータが前記第1誤り訂正方式に関連付けられ、且つ第1誤り発生頻度を有する領域を前記コピー先の領域として選択できない場合、前記制御部は、前記第2誤り発生頻度を有する領域を前記コピー先の領域として選択すると共に、コピーの際に誤り訂正方式を前記第1誤り訂正方式から前記第2誤り訂正方式に変更することを特徴とする請求項7記載の半導体装置。前記NAND型フラッシュメモリは、ページ単位でデータの書き込み及び読み出しが可能であり、前記制御部は、前記コピー対象となるデータが複数のページにある場合、該複数のページのデータを1ページに統合しつつ、統合した前記データにつき前記第2誤り訂正方式を適用して、前記コピー先の領域に書き込むことを特徴とする請求項8記載の半導体装置。前記テーブルは更に、前記データ毎に誤り発生頻度に関する情報を保持し、前記制御部は、前記誤り発生頻度が所定の閾値を超えた際に、前記データをコピーすることを特徴とする請求項6乃至9いずれか1項記載の半導体装置。消費電力を低減出来る半導体装置を提供する。実施形態に係る半導体装置は、データを保持可能なNAND型フラッシュメモリと、前記データについての誤りを検出訂正する誤り訂正部と、前記データ毎に、使用される誤り訂正方式についての情報を有するテーブルとを具備し、前記誤り訂正部は、前記テーブル内の前記情報に従って、適用する誤り訂正方式を前記データ毎に選択する。以下、実施形態を、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。[第1実施形態]第1実施形態に係る半導体装置について、以下説明する。1.半導体装置の構成についてまず、本実施形態に係る半導体装置の構成につき、図1を用いて説明する。図1は、本実施形態に係る半導体装置のブロック図である。本実施形態に係る半導体装置は、プロセッサと、メインメモリとして使用されるNAND型フラッシュメモリと、このNAND型フラッシュメモリへのアクセスを管理するメモリ管理装置とを備えた情報処理システムである。図1に示すように半導体装置1は、大まかには情報処理装置10及び記憶装置20を備えており、両者は例えばバス等により互いに通信可能に接続されている。情報処理装置10及び記憶装置20は、共に同一の半導体基板上に形成されても良いし、別個のチップとして形成されても良い。また記憶装置20は複数の半導体メモリを備え、本実施形態では揮発性半導体メモリ21及び不揮発性半導体メモリ22を含む。1.1情報処理装置10の構成についてまず、情報処理装置10の構成について説明する。図1に示すように情報処理装置10は、複数のプロセッサ11、2次キャッシュメモリ12、バス13、及びメモリ管理装置14を備え、例えばSoCsystemonchipにより形成される。プロセッサ11の各々は、1次キャッシュメモリ16及びMMUmemorymanagementunit15を備える。プロセッサ11としては、例えばCPUCentralProcessingUnitが用いられるが、MPUMicroProcessorUnit、GPUGraphicProcessorUnitなどのような他の処理ユニットが用いられてもよい。また図1において、プロセッサ11の数は4つであるが、1つ以上であればよい。またプロセッサ11は、2次キャッシュメモリ12を共有し、バス13を介してメモリ管理装置14と電気的に接続される。そして、メモリ管理装置14を介して記憶装置20にアクセスする。更にプロセッサ11は、記憶装置20からOSを読み出しこれを実行し、更に記憶装置20等からアプリケーションを読み出し、これをOS上で実行する。メモリ管理装置14は、記憶装置20内の揮発性半導体メモリ21及び不揮発性半導体メモリ22と電気的に接続されている。そしてメモリ管理装置14は、プロセッサ11の要求に応じて記憶装置20へアクセスし、データを記憶装置20から読み出し、またはデータを記憶装置20へ書き込む。またメモリ管理装置14は、プロセッサ11と非同期に動作可能であり、プロセッサ11での処理実行中に、不揮発性半導体メモリに対してウェアレベリングwearleveling、ガーベージコレクションgarbagecollection、及びコンパクションcompactionなどの処理を実行出来る。1.2記憶装置20の構成について次に、引き続き図1を参照して、記憶装置20の構成について説明する。前述の通り、記憶装置20は、揮発性半導体メモリ21及び複数の不揮発性半導体メモリ22を備えている。これらの揮発性半導体メモリ21及び不揮発性半導体メモリ22は、プロセッサ11のメインメモリとして使用される。本実施形態では、不揮発性半導体メモリ22に十分なメモリ量が確保され、不揮発性半導体メモリ22のメモリ容量は揮発性半導体メモリ21よりも大きい。そして、揮発性半導体メモリ21には、例えば、最近アクセスされたデータ、使用頻度の高いデータなどのアクセスされる可能性の高いデータが不揮発性半導体メモリ22からキャッシュされる。プロセッサ11が揮発性半導体メモリ21にアクセスした際に、揮発性半導体メモリ21にアクセス対象データが存在しない場合、不揮発性半導体メモリ22から揮発性半導体メモリ21に、必要なデータが転送される。このように、揮発性半導体メモリ21と不揮発性半導体メモリ22とを組み合わせて使用することで、揮発性半導体メモリ21のメモリ容量より大きいメモリ空間がメインメモリとして使用可能となる。本実施形態において揮発性半導体メモリ21は、例えばDRAMDynamicRandomAccessMemoryである。しかしながら揮発性半導体メモリ21としては、DRAMに代えて、FPM-DRAMFastPageModeDRAM、EDO-DRAMExtendedDataOutDRAM、またはSDRAMSynchronousDRAMなどのような、コンピュータにおいてメインメモリとして利用されるメモリを用いてもよい。また、DRAM程度の高速ランダムアクセスが可能であり、アクセス可能上限回数に実質的な制限がないのであれば、揮発性半導体メモリ21に代えて、MRAMMagnetoresistiveRandomAccessMemory、FeRAMFerroelectricRandomAccessMemoryなどの不揮発性ランダムアクセスメモリが用いられてもよい。そして揮発性半導体メモリ21は、不揮発性半導体メモリ22よりも小容量例えば128Mバイト~4Gバイトなどだが高速にアクセス可能である。また本実施形態において不揮発性半導体メモリ22は、例えばNAND型フラッシュメモリである。従って以下の説明では、不揮発性半導体メモリ22をNAND型フラッシュメモリ22と呼ぶことがある。しかしながら不揮発性半導体メモリ22は、例えばNOR型フラッシュメモリなど、他の不揮発性半導体メモリであっても良い。不揮発性半導体メモリ22は、揮発性半導体メモリ21よりも大容量だがアクセス時間が長い。本実施形態のように不揮発性半導体メモリ22がNAND型フラッシュメモリの場合、書き込みと読み出しとはページ単位で実行される。消去は複数ページを含むブロック単位で行われる。1.3メモリ管理装置14の構成について次に、上記メモリ管理装置14の構成について、特にNAND型フラッシュメモリ22を管理するための構成に着目して、図2を用いて説明する。図2は、メモリ管理装置14のブロック図である。1.3.1メモリ管理装置14の全体構成について図2に示すようにメモリ管理装置14は、NAND処理部30、記憶部31、及びNANDコントローラ33を備えている。記憶部31は、DRAM等の揮発性半導体メモリやNOR型フラッシュメモリ等の不揮発性半導体メモリ等であって良い。そして記憶部31は、カラーリングテーブル35及びアドレス変換テーブル36を保持する。カラーリングテーブル35は、データ毎に、種々の基準を基にして当該データを特徴付ける情報これをカラーリング情報と呼ぶを保持する。またアドレス変換テーブル36は、プロセッサ11からメモリ管理装置14へのアクセスに用いられるアドレス以下、これをCPU物理アドレスと呼ぶと、NAND型フラッシュメモリ22内においてCPU物理アドレスに対応する領域のアドレス以下、これをNAND物理アドレスと呼ぶとの関係を保持する。カラーリングテーブル35及びアドレス変換テーブル36内の情報は、プロセッサ11によって実行されるOSやアプリケーションから与えられても良いし、NAND処理部30から与えられても良い。なお、カラーリングテーブル35及びアドレス変換テーブル36については、後に詳細に説明する。NAND処理部30は、プロセッサ11からのNAND型フラッシュメモリ22へのアクセスデータの書き込み/読み出し/消去を受け付ける。そして、アクセスに応じた処理を実行するよう、NANDコントローラ33に命令する。この際、NAND処理部30は、アドレス変換テーブル36を参照して、プロセッサ11から受信したCPU物理アドレスをNAND物理アドレスに変換して、これをNANDコントローラ33に供給する。またNAND処理部30は、プロセッサ11からの命令に応じて、及び/またはプロセッサ11から独立して、NAND型フラッシュメモリ22におけるウェアレベリング、ガーベージコレクション、及びコンパクションの必要性を判断し、必要であればこれを実行するようNANDコントローラ33に命令する。また、この結果に応じて、カラーリングテーブル35やアドレス変換テーブル36を更新する。NAND処理部30は、上記処理を実行するためのソフトウェアによって実現されても良いし、ハードウェアによって実現されても良い。ソフトウェアによって実現される場合、このソフトウェアはNAND型フラッシュメモリ22内に保持されていても良い。そして例えば電源投入時などにおいて、NAND型フラッシュメモリ22からこのソフトウェアがNAND処理部30に読み出されて実行されるようにしても良い。NANDコントローラ33は、NAND処理部30の命令に応答して、NAND型フラッシュメモリ22へのアクセスを司る。すなわちNANDコントローラ33は、コマンド/アドレス発行部37及びECCerrorcheckingandcorrecting部38を備えている。コマンド/アドレス発行部37は、NAND処理部30からの命令に応じて、データの書き込み/読み出し/消去コマンドを発行し、これをNAND物理アドレスと共にNAND型フラッシュメモリ22へ出力する。これらのコマンド及びアドレスは、NAND型フラッシュメモリ22全体の動作を司るシーケンサに与えられる。そしてシーケンサは、このコマンドを受信することで起動し、コマンドに応じた処理を開始する。ECC部38は、NAND型フラッシュメモリ22から読み出したデータ、及びNAND型フラッシュメモリ22に書き込むべきデータにつき、誤り訂正処理ECC処理と呼ぶことがあるを行う。すなわちECC部38は、データの読み出し時には、NAND型フラッシュメモリ22から読み出したデータ内のパリティからシンドロームを生成し、これにより誤り検出を行う。そして誤りが発見された際には、これを訂正する。そして、訂正後のデータが、例えば揮発性半導体メモリ21やプロセッサ11に供給される。他方、データの書き込み時には、例えばプロセッサ11や揮発性半導体メモリ21からデータを受信する。そして、受信したデータについてパリティを生成し、受信したデータにパリティを付加して、これを書き込みデータとしてNAND型フラッシュメモリ22のページバッファに転送する。なお本実施形態に係るECC部38は、複数の方式により誤り訂正が可能である。各データに対していずれの方式の誤り訂正が適用されるかは、少なくともOSやアプリケーションが把握しており、またその情報はカラーリングテーブル35及び/またはアドレス変換テーブル36に保持されている。従ってNAND処理部30は、データの書き込み及び読み出しアクセスを受信した際には、カラーリングテーブル35及び/またはアドレス変換テーブル36を参照し、適用すべき誤り訂正方式を選択して、これをECC部38に通知する。1.3.2カラーリングテーブル35について次に、上記カラーリングテーブル35の詳細について説明する。本実施形態では、データ毎にカラーリング情報が付与される。カラーリング情報が付与されるデータの単位は、例えば、読み出し及び書き込みの最小の単位である。例えば、読み出し及び書き込みの最小の単位は、NAND型フラッシュメモリ22のページサイズである。以下において、カラーリングテーブル35によりカラーリング情報が対応付けられるデータのサイズはページサイズであるとして説明するが、これに限定されるものではない。図3は、カラーリングテーブル35の模式図である。カラーリングテーブル35は、データ毎にカラーリング情報を対応付け、エントリ単位でカラーリング情報を格納する。カラーリングテーブル35の各エントリには、インデックスが付されている。インデックスとは、CPU物理アドレスを基に生成される値である。従ってNAND処理部30は、プロセッサ11からアクセスが為された際には、受信したCPU物理アドレスに対応するインデックスにより管理されているエントリを参照することで、当該データのカラーリング情報を取得出来る。カラーリング情報は、個々のデータに特有の情報であり、静的カラー情報と、動的カラー情報とを含む。静的カラー情報は、カラーリング情報が付与される当該データの特性に基づいて生成される情報であり、例えば当該データの記憶装置20上の配置書き込み領域を決定するヒントとなる情報を含む。動的カラー情報は、データの読み出しと書き込みの回数と頻度の少なくとも一方を含む情報である。図3に示すように静的カラー情報は、当該データの重要度、静的書き込み頻度、静的読み出し頻度、データ寿命、ECC情報、及びデータ生成時刻を含む。以下、それぞれについて説明する。重要度とは、データの種類等に基づいて、当該データの重要性を推測して設定される値である。重要度は、例えば、ファイルシステムに保持されるファイルの特性、またはプログラムに一次的に使用される領域例えばスタック領域、ヒープ領域などの特性により推測される。静的書き込み頻度とは、データの種類等に基づいて、当該データが書き込まれる頻度を推測して設定される値である。例えば、静的書き込み頻度は、書き込み頻度が高いと推測されるデータほど、高い値が設定される。静的読み出し頻度とは、データの種類等に基づいて、当該データが読み出される頻度を推測して設定される値である。例えば、静的読み出し頻度は、読み出し頻度が高いと推測されるデータほど、高い値が設定される。データ寿命とは、データの種類等に基づいて、当該データが消去されずにデータとして使用される期間データの寿命を推測して設定される値である。ECC情報は、データの種類等に基づいて決定され、ECC部38で使用すべき誤り訂正方式に関する情報である。例えば、高速に読み出されることが求められるデータの場合、例えばOSは、当該データについては高速で誤り訂正可能な方式を使用するよう決定し、その旨がECC情報としてカラーリングテーブル35に書き込まれる。上記の静的カラー情報は、データを生成するプログラムプロセスにより、静的に、予め決められた値である。また、OSが、データのファイル拡張子またはファイルヘッダ等に基づいて、静的カラー情報を予測してもよい。そして、プログラムやOSによって、静的カラー情報がカラーリングテーブル35に記録される。次に動的カラー情報について説明する。動的カラー情報は、データの書き込み回数及び読み出し回数を含む。ここで、データの書き込み回数とは、当該データが揮発性半導体メモリ21に書き込まれた回数である。データの読み出し回数とは、当該データが記憶装置20から読み出された回数である。これらの動的カラー情報は、例えばNAND処理部30によって管理される。すなわちNAND処理部30は、データが書き込まれる度に当該データの書き込み回数をインクリメントし、データが読み出される度に当該データの読み出し回数をインクリメントする。上記の重要度、静的書き込み頻度、静的読み出し頻度、及びデータ寿命は、例えば記憶装置20のうちのいずれの領域にデータを格納すべきかを決定するために使用され得る。このような例を、図4のフローチャートを参照して説明する。図4は、記憶装置20へのデータ格納時の処理の一例を示すフローチャートである。図示するようにNAND処理部30はまず、書き込み要求が発生した場合、書き込みデータに対応するカラーリング情報を参照するステップS10。そしてNAND処理部30は、カラーリング情報のデータ寿命を参照し、書き込み対象データのデータ寿命を判断するステップS11。書き込み対象データのデータ寿命が短いと判断された場合ステップS12、YESには、NAND処理部30は、書き込み対象データを格納すべきメモリ領域として揮発性半導体メモリ21を選択しステップS13、決定するステップS14。ステップS11においてデータ寿命が長いと判断された場合ステップS12、NOには、NAND処理部30は、書き込み対象データのカラーリング情報の重要度を参照し、書き込み対象データの重要度を判断するステップS14。ステップS14において書き込み対象データの重要度が高いと判断された場合ステップS15、YESには、NAND処理部30は、書き込み対象データを格納すべきメモリ領域として、耐久性信頼性の高い不揮発性半導体メモリ22を選択するステップS16。耐久性の高い不揮発性半導体メモリ22は、例えば各メモリセルが2値1ビットデータを保持するNAND型フラッシュメモリ22以下、SLCsinglelevelcellのNAND型フラッシュメモリ22と呼ぶである。さらにNAND処理部30は、書き込み対象データのカラーリング情報に基づき、書き込み対象データを揮発性半導体メモリ21にキャッシュするか否かカラーリング情報によるキャッシュ方式の判断を行うステップS17。そして、書き込み対象データを格納するメモリ領域を、SLCのNAND型フラッシュメモリ22に決定するステップS12。ステップS14において重要度が低いと判断された場合ステップS15、NOには、NAND処理部30は、書き込み対象データを格納すべきメモリ領域として、耐久性の低い不揮発性半導体メモリ22を選択するステップS18。耐久性の低い不揮発性半導体メモリ22は、例えば各メモリセルが2値を超える値2ビット以上のデータを保持するNAND型フラッシュメモリ22以下、MLCmultilevelcellのNAND型フラッシュメモリ22と呼ぶである。さらにNAND処理部30は、書き込み対象データのカラーリング情報動的カラー情報、静的カラー情報により、書き込み対象データの読み出し頻度、書き込み頻度の判断を行うステップS19。ステップS19において書き込み対象データの読み出し頻度、書き込み頻度が高いと判断された場合ステップS20、YESには、NAND処理部30は、書き込み対象データを格納すべきメモリ領域として、SLCのNAND型フラッシュメモリ22を選択してステップS16、ステップS17に進む。他方、ステップS19において、読み出し頻度、書き込み頻度が低いと判断された場合ステップS20、NOには、MLCのNAND型フラッシュメモリ22を選択したまま、ステップS17に進む。以上のように、カラーリング情報は、例えば書き込みデータをいずれのメモリ領域に格納すべきかを決定するために用いることが出来る。但し、図4のフローチャートは、その決定方法の一例を示すに過ぎず、その他の方法を用いても良い。例えば、データ生成時刻及び現在時刻を用いて、動的な書き込み頻度及び読み出し頻度を求め、これに応じて決定しても良い。1.3.3アドレス変換テーブル38について次に、アドレス変換テーブル38について説明する。図5は、本実施形態に係るアドレス変換テーブル38の模式図である。図示するようにアドレス変換テーブル38では、CPU物理アドレスの各々につき、対応するNAND物理アドレス、及び有効ビットが、テーブル形式で管理される。ここで、CPU物理アドレスとNAND物理アドレスについて簡単に説明する。前述の通り、CPU物理アドレスとは、プロセッサ11からメモリ管理装置14にアクセスが為される際に使用されるアドレスであり、プロセッサ11がある特定のデータを指定するために使用される。これに対してNAND物理アドレスは、NAND型フラッシュメモリ22内における物理的な領域のアドレスである。NAND型フラッシュメモリ22に書き込まれたデータは、NAND型フラッシュメモリ22内の物理領域を転々と移動する。すなわち、あるCPU物理アドレスADDCPU1に対応するデータが最初に書き込まれた領域のNAND物理アドレスがADDNAND1であったとすると、このデータはその後、ADDNAND2の領域に移動し、次にADDNAND3の領域に移動し、更にADDNAND4の領域に移動する。つまり、NAND物理アドレスは、ADDNAND1から、ADDNAND2、ADDNAND3、ADDNAND4、...、と、時間と共に変化していく。この理由は、NAND型フラッシュメモリではデータの上書きが許されていないため、データの更新時には別の物理領域に更新データを書き込まなければならないことや、ウェアレベリングやガーベージコレクションにより、定期的にデータの移動があること、などが挙げられる。このような理由により、CPU物理アドレスとNAND物理アドレスとの関係を常に把握しておく必要があり、そのためにアドレス変換テーブル36が設けられる。アドレス変換テーブル36では、CPU物理アドレス毎にエントリが割り当てられる。そして、各エントリに、対応するNAND物理アドレス及び有効ビットが格納される。有効ビットは、対応するエントリが有効であるか否かを示す情報である。有効ビットが1の際、当該エントリは有効とされ、0の際には無効とされる。有効ビットの初期値は0である。そして有効ビットが0の際であるエントリは、CPU物理アドレスのマッピングされていないエントリであるか、またはCPU物理アドレスがマッピングされたがその後消去されたエントリである。有効ビットが1であるエントリには、CPU物理アドレスがマッピングされており、揮発性半導体メモリ21とNAND型フラッシュメモリ22の少なくとも一方に、当該CPU物理アドレスに対応する領域が存在する。なお、アドレス変換テーブル36の各エントリは、カラーリングテーブル36と同様に、NAND型フラッシュメモリ22のページ単位で割り当てられても良く、以下ではこの場合を例に説明を続ける。しかし、勿論、この場合に限らず、種々のサイズ毎にエントリを割り当てることが出来る。2.半導体装置1の動作について次に、上記構成の半導体装置1の動作について、データの読み出し時及び書き込み時におけるメモリ管理装置14の動作について、以下説明する。2.1メモリ管理装置14の動作原理についてまず、メモリ管理装置14の動作の基本原理について、データの読み出し時及び書き込み時についてそれぞれ説明する。2.1.1データの読み出し時についてデータの読み出し時においては、NAND処理部30は、まずプロセッサ11から読み出しコマンドとCPU物理アドレスADDCPU1を受信する。するとNAND処理部30は、記憶部31内のアドレス変換テーブル36を参照して、ADDCPU1に対応するNAND物理アドレスADDNAND1及びECC情報を把握する。次にNAND処理部30は、NANDコントローラ33のコマンド/アドレス発行部37にADDNAND1を転送すると共に、読み出しコマンドを発行するよう命令する。これに応答してコマンド/アドレス発行部37は、NAND型フラッシュメモリ22のシーケンサに対して、読み出しコマンド及びADDNAND1を出力する。またNAND処理部30は、カラーリングテーブル35を参照して得たECC情報に基づき、これに対応する誤り訂正方式を選択するよう、ECC部38に命令する。その結果、ECC部38では、選択された誤り訂正方式による処理を行う回路がイネーブルとされ、その他の方式による処理を行う回路はディセーブルとされる。NAND型フラッシュメモリ11では、読み出しコマンドに応答して、ADDNAND1に対応するページデータDREADがページバッファに読み出され、更にECC部38に転送される。するとECC部38では、選択された誤り訂正方式に従って、DREADにつき誤り検出及び誤り訂正を実行する。2.1.2データの書き込み時についてデータの書き込み時は、上記読み出し時と逆の処理を行う。すなわちNAND処理部30は、まずプロセッサ11から書き込みコマンド、データDWRITE、及びCPU物理アドレスADDCPU2を受信する。するとNAND処理部30は、記憶部31内のアドレス変換テーブル36を参照して、ADDCPU2に対応するNAND物理アドレスADDNAND2及びECC情報を把握する。次にNAND処理部30は、カラーリングテーブル35を参照して得たECC情報に基づき、これに対応する誤り訂正方式を選択するよう、ECC部38に命令する。その結果、ECC部38では、選択された誤り訂正方式による処理を行う回路がイネーブルとされ、その他の方式のための回路はディセーブルとされる。そしてECC部38は、DWRITEにつき、選択された誤り訂正方式に従って誤り訂正符号パリティを生成し、データDWRITE及び誤り訂正符号を、NAND型フラッシュメモリ11のページバッファに転送する。またNAND処理部30は、NANDコントローラ33のコマンド/アドレス発行部37にADDNAND2を転送すると共に、書き込みコマンドを発行するよう命令する。これに応答してコマンド/アドレス発行部37は、NAND型フラッシュメモリ22のシーケンサに対して、書き込みコマンド及びADDNAND1を出力する。NAND型フラッシュメモリ11では、書き込みコマンドに応答して、ページバッファに転送されたデータDWRITE及び誤り訂正符号を、ADDNAND1に対応する領域に書き込む。2.2ECC部38と動作の具体例次に、上記構成及び動作の具体例について、特にECC部38に着目して、以下説明する。2.2.1ECC部38の構成について図6は、本例に係るECC部38のブロック図である。なお、図6に示す矢印はデータの読み出し時における信号の流れを示しているが、書き込み時には逆になる。図示するようにECC部38は、CRCcyclicredundancycheck部40、第1ECC回路41、第2ECC回路42、及び選択回路43を備えている。CRC部40は、データの読み出し時には、データに含まれるCRC方式に従った検査データをチェックする。またデータの書き込み時には、書き込みデータにつき、CRC方式に従った検査データを生成する。第1ECC回路41は、信号Enb1によってイネーブルとされ、第1誤り訂正方式に従って、誤り検出及び誤り訂正を実行する。すなわち、データの書き込み時には、第1誤り訂正方式に従って第1パリティP1を生成する。他方、データの読み出し時には、第1誤り訂正方式に従ってシンドロームを生成し、誤りの検出及び訂正を行う。第1誤り訂正方式は、第1の誤り訂正能力を有する。第2ECC回路42は、信号Enb2によってイネーブルとされ、第2誤り訂正方式に従って、誤り検出及び誤り訂正を実行する。すなわち、データの書き込み時には、第2誤り訂正方式に従って第2パリティP2を生成する。他方、データの読み出し時には、第2誤り訂正方式に従ってシンドロームを生成し、誤りの検出及び訂正を行う。第2誤り訂正方式は、第2の誤り訂正能力を有する。信号Enb1、Enb2は、例えばNAND処理部30から与えられる。選択回路43は、例えばNAND処理部30の命令に従って、第1ECC回路41の出力と第2ECC回路42の出力とのいずれかを選択する。図7は、第1誤り訂正方式が選択された際に生成されるページデータの概念図である。図示するように、プロセッサ11または揮発性半導体メモリ21から与えられる書き込みデータこれをメインデータDmainと呼ぶは、N個Nは2以上の自然数に分割される。分割されたN個のデータを、それぞれメインデータD1~DNと呼ぶ。そして、N個のメインデータD1~DNにつき、第1ECC回路41が第1パリティP1~PNをそれぞれ生成し、またCRC部40が検査データCRC1~CRCNをそれぞれ生成する。なお、メインデータDi、第1パリティPi、及び検査データCRCiiは1~Nのいずれかをまとめて第iセクタと呼ぶことにする。図8は、第2誤り訂正方式が選択された際に生成されるページデータの概念図である。図示するように、第2ECC回路42は、メインデータDmainにつき第2パリティP2を生成し、これをメインデータDmainの後ろに付加する。なお、本例においては、第2の誤り訂正能力は、第1の誤り訂正能力よりも優れたものとされ、誤り訂正能力は例えば以下のように定義される。すなわち、誤り訂正能力=誤り訂正可能ビット数/符号長符号長=メインデータビット数パリティビット数である。但し、第1の誤り訂正能力についてのメインデータビット数は、メインデータDiのビット数であり、第2の誤り訂正能力についてのメインデータビット数は、メインデータDmainのビット数=D1~DNのビット数の和である。更に、第1の誤り訂正方式ではECC処理がセクタ単位で行われるため、第1ECC回路41の回路規模は第2ECC回路42の回路規模よりも小さい。そして第1ECC回路41の処理速度は、第2ECC回路42の処理速度よりも高速である。従って、OSまたはアプリケーションは、高速なアクセスが必要とされるデータについては第1誤り訂正方式図7に示すデータ形式を適用し、高速なアクセスが必要とされないデータについては第2誤り訂正方式図8に示すデータ形式を適用する。2.2.2データの読み出し時の動作について次に、データの読み出し時の動作につき、図9を用いて説明する。図9は、読み出し時のフローチャートである。先に説明した通り、コマンド/アドレス発行部37が読み出しコマンドを発行するとステップS30、NAND型フラッシュメモリ22からデータDREADがページ単位で読み出されるステップS31。データDREADは、第1誤り訂正方式を使用していれば、図7に示す構造を有し、第2誤り訂正方式を使用していれば、図8に示す構造を有している。またNAND処理部30は、カラーリングテーブル35を参照して、当該データDREADについてのECC情報を確認するステップS32。その結果、第1誤り訂正方式で無ければ、すなわち第2誤り訂正方式が使用されていればステップS33、NO、NAND処理部30は信号Enb2=Hとして、第2ECC回路42を活性化するステップS34。また信号Enb1=Lとして、第1ECC回路41を非活性化するステップS35。そして、第2ECC回路42が、データDREADにおける第2パリティP2を用いてECC処理を実行するステップS36。その後、選択回路43は、第2ECC回路42で処理されたデータを選択して、プロセッサ11や揮発性半導体メモリ21へ出力する。他方、ステップS32において第1誤り訂正方式であればステップS33、YES、NAND処理部30は、信号Enb1=Hとして第1ECC回路41を活性化しステップS37、信号Enb2=Lとして第2ECC回路42を非活性化するステップS38。そしてCRC部40が、検査データCRCiをチェックするステップS39。そしてステップS39の結果、誤りが検出されなければステップS40、YES、第1ECC回路41が、第iセクタにつき、ECC処理を実行するステップS41。選択回路43は、第1ECC回路41で処理されたデータを選択して、プロセッサ11や揮発性半導体メモリ21へ出力する。ステップS39~S41の処理は、第1~第Nセクタの全てにつき、順次実行される。但し、CRCエラーが発生した場合にはステップS40、NO、データの読み出しはエラーとなって、処理は終了する。2.2.3データの書き込み時の動作について次に、データの書き込み時の動作につき、図10を用いて説明する。図10は、書き込み時のフローチャートである。先に説明した通り、メモリ管理装置14は、プロセッサ11から書き込みデータDWRITEを受信するステップS50。データDWRITEは、図7におけるメインデータD1~DNの集合、言い換えれば図8におけるメインデータDmainに相当する。またNAND処理部30は、カラーリングテーブル35を参照して、当該データDWRITEについてのECC情報を確認するステップS51。その結果、第1誤り訂正方式であればステップS52、YES、CRC部40がメインデータDiにつき、検査データCRCiを生成するステップS53。なお、iの初期値は1とする。引き続きNAND処理部30は、信号Enb1=Hとして第1ECC回路41を活性化しステップS54、信号Enb2=Lとして第2ECC回路42を非活性化するステップS55。そして第1ECC回路41が、第iセクタにつき、ECC処理を実行するステップS56。つまり、メインデータDiを用いて第1パリティP1-iを生成する。以上の結果、第iセクタデータが完成する。以上の処理を、全セクタにつき繰り返すステップS57、NO、ステップS58。以上の結果、図7に示す構造を有するデータが完成し、NAND型フラッシュメモリ22のページバッファへ転送される。そしてコマンド/アドレス発行部37が書き込みコマンドを発行するステップ59。他方、ステップS52において第2誤り訂正方式が選択されていればステップS52、NO、NAND処理部30は信号Enb2=Hとして、第2ECC回路42を活性化するステップS60。また信号Enb1=Lとして、第1ECC回路41を非活性化するステップS61。そして、第2ECC回路42が、データDWRITEメインデータDmainについてECC処理を実行して、第2パリティP2を生成するステップS62。その結果、図8に示す構造を有するデータが完成する。そして、このデータがNAND型フラッシュメモリ22のページバッファへ転送され、書き込みコマンドが発行されるステップ59。3.本実施形態に係る効果以上のように、本実施形態に係る半導体装置であると、消費電力を低減出来る。本効果につき、以下説明する。本実施形態に係るメモリ管理装置14は、カラーリング情報としてECC情報を有している。ECC情報とは、適用されている、または適用すべき誤り訂正方式をデータ毎に示す情報である。そしてメモリ管理装置14は、データへのアクセス要求があった際には、このECC情報に基づいて、必要なECC回路のみを動作させる。従って、ECC回路の動作を必要最小限とすることが出来、消費電力を低減出来る。より具体的には、本実施形態に係る構成は、第1誤り訂正方式と、第1誤り訂正方式より低速であるが訂正能力の高い第2誤り訂正方式とをサポートする。そして、高速なアクセスが必要なデータに対しては第1誤り訂正方式を適用し、低速のアクセスで良いデータに対しては第2誤り訂正方式を適用し、この情報がECC情報としてアドレス変換テーブルに登録される。従って、高速なアクセスが必要なデータに対してアクセスがあった際には、NAND処理部30はECC情報に基づき、第1誤り訂正方式に従ったECC処理を行う第1ECC回路41を動作させる。この際、第2誤り訂正方式に従ったECC処理を行う第2ECC回路42は動作させない。他方、低速のアクセスで良いデータに対してアクセスがあった際には、NAND処理部30はECC情報に基づき、第2ECC回路42を動作させ、第1ECC回路41を動作させない。このように、第1、第2ECC回路41、42のうち、必要とするいずれか一方のみが動作し、両方が同時に動作することがない。従って、ECC部38での消費電力を低減出来ると共に、確実に誤りを訂正しつつ、プロセッサ11によるアクセス速度についての要求を満たすことが出来る。また、本実施形態に係る第1誤り訂正方式であると、より高速なデータアクセスが可能となる。この点につき、以下説明する。NAND型フラッシュメモリでは、メモリセルアレイの端部の領域がECCデータ用の領域として使用されることが一般的である。従って、1ページのデータ構造は、図8に示すように、カラムアドレスの小さい領域からまずメインデータが配置され、このメインデータの後ろにまとめてパリティが配置される。データの読み出し時において、ページバッファとECC部との間のバス幅がページサイズより小さい場合には、データはカラムアドレス順にバス幅単位でECC部に転送される。従ってECC部は、メインデータの全てがECC部に転送され、引き続きパリティのECC部への転送が完了するまで、ECC処理を開始することが出来ない。これに対して本実施形態に係る第1ECC回路41は、図7で説明したように、セクタ毎にECC処理を実行する。より具体的には、1ページに書き込むべきメインデータを、N個のグループに分割し、個々のグループ毎に第1パリティP1-iを生成する。そしてこの第1パリティP1-iは、第1パリティP1-iを生成するために使用したメインデータDiの直後に置かれる。つまり、1ページ内のデータ構造は、カラムアドレスの小さい順から、メインデータD1/パリティP1-1/メインデータD2/パリティP1-2/...といった並びになる。従って、ECC部38の第1ECC回路41は、メインデータD1及びパリティP1-1を受信した時点で、第2セクタ以降の残りのデータの受信を待つことなく、第1セクタについてのECC処理を開始出来る。それ以降のセクタについても同様である。従って、セクタ単位で順次ECC処理を実行し、そしてECC処理の終了したセクタから順に、データをプロセッサ11や揮発性半導体メモリ21に供給出来る。よって、プロセッサ11は高速にデータをアクセス出来る。このことは、NAND型フラッシュメモリ22がメインメモリとして使用される形態において、より好ましい効果と言うことが出来る。なお、NAND処理部30は、NAND物理アドレスからページ番号及びセクタ番号を算出し、更にページ内のカラムアドレスを算出する。この際、図7に示すデータ形式と図8に示すデータ形式とでは、ページ内における有効データの位置の計算方法が異なる。NAND物理アドレスがページ単位で割り当てられているとすると、図7に示すデータ形式の場合、以下のように算出される。すなわち、ページ番号=intNAND物理アドレス/データ数/セクタ数セクタ番号=intNAND物理アドレス/データ数modセクタ数カラムアドレス=データ数パリティ数CRC数×セクタ番号但し、データ数、パリティ数、及びCRC数はそれぞれ、各セクタ内におけるメインデータDiのビット数、第1パリティP1-iのビット数、及び検査データCRCiのビット数であり、例えばそれぞれ128バイト、4バイト、及び1バイトである。またintAは、Aの整数部分を取得し、AmodBは、AをBで除算した際の余りを取得する演算を示す。また図8に示すデータ形式の場合、以下のように算出される。すなわち、ページ番号=intNAND物理アドレス/データ数カラムアドレス=0この場合、例えばデータ数は1024バイトであり、パリティ数第2パリティP2のビット数は42バイトである。[第2実施形態]次に、第2実施形態に係る半導体装置について説明する。本実施形態は、上記第1実施形態において図7乃至図10を用いて説明したECC部38の別の具体例に関するものである。以下では、第1実施形態と異なる点についてのみ説明する。1.ECC部38の構成について図11は、本例に係るECC部38のブロック図である。図11に示す矢印はデータの読み出し時における信号の流れを示しているが、書き込み時には逆になる。図示するように本実施形態に係るECC部38は、第1実施形態で説明した図6の構成においてCRC部を排した構成を有しており、その他は第1実施形態と同様である。また本例においては、第2の誤り訂正能力は、第1の誤り訂正能力と同じか、それより優れたものとされている。処理速度は第1の実施形態で説明した通りであり、第1ECC回路41の処理速度は、第2ECC回路42の処理速度よりも高速である。他方で、回路規模は、第2ECC回路42の方が第1ECC回路41よりも小さく、また第2ECC回路42の符号化率R2は、第1ECC回路41の符号化率R1よりも優れている。すなわち、R1<R2である。なお符号化率とは、入力データと出力データ入力データにパリティを付加したものとの比率であり、例えば入力データのビット数がB1、パリティのビット数がB2であれば、符号化率はB1/B1B2となる。従って、OSまたはアプリケーションは、高速なアクセスが必要とされるデータについては第1誤り訂正方式を適用し、高速なアクセスが必要とされないデータについては第2誤り訂正方式を適用する。図12は、第1誤り訂正方式が選択された際に生成されるページデータの概念図である。図示するように、本実施形態では、第1実施形態で説明した図7の構成において、各セクタからCRCを排したものに相当する。なお、セクタ数MMは2以上の自然数は、Nと同じであっても良いし異なっていても良い。第2誤り訂正方式が選択された際に生成されるページデータは、第1実施形態で説明した通りである。2.本実施形態に係る動作2.1データの読み出し時の動作について次に、データの読み出し時の動作につき、図13を用いて説明する。図13は、読み出し時のフローチャートである。図示するように、本実施形態に係る動作は、第1実施形態で説明した図9において、CRCに関する処理ステップS39、S40を排したものである。2.2データの書き込み時の動作について次に、データの書き込み時の動作につき、図14を用いて説明する。図14は、書き込み時のフローチャートである。図示するように、本実施形態に係る動作は、第1実施態様で説明したFIG10において、CRCに関する処理ステップS53を排したものである。3.本実施形態に係る効果以上のように、第1の実施形態は、複数の誤り訂正方式が同一の誤り訂正能力を有する場合にも適用でき、第1の実施形態と同様の効果が得られる。[第3実施形態]次に、第3実施形態に係る半導体装置について説明する。本実施形態は、上記第1実施形態で説明したECC部38の具体例と、第2実施形態で説明したECC部38の具体例とを組み合わせたものである。つまり、ページデータが、第1実施形態で説明した図7、図8に示すフォーマットと、第2実施形態で説明した図12に示すフォーマットとの、3つのフォーマットを取り得る場合に関する。以下では、第1、第2実施形態と異なる点についてのみ説明する。1.ECC部38の構成について本実施形態では、図7、図8、及び図12に示すフォーマットを、それぞれ第1乃至第3フォーマットと呼び、これがECC情報としてカラーリングテーブル35に保持される。図15は、本実施形態に係るECC部38のブロック図である。図示するように、ECC部38のブロック構成自体は、第1実施形態で説明した図6と同じである。但し、CRC部40は、信号Enb1=Hの際に活性化される。他方、信号Enb1=Lの際には非活性化され、CRC部40は入力信号をそのまま出力する。また第1ECC回路41は、信号Enb3=Hの際にも活性化される。第1フォーマットが選択される場合には、Enb1=H、Enb2=L、Enb3=Lとされる。すなわち、この場合にECC部38は、第1実施形態において第1誤り訂正方式が選択された場合と同一の動作を行う。第2フォーマットが選択される場合には、Enb1=L、Enb2=H、Enb3=Lとされる。すなわち、この場合にECC部38は、第1実施形態において第2誤り訂正方式が選択された場合と同一の動作を行う。第3フォーマットが選択される場合には、Enb1=L、Enb2=L、Enb3=Hとされる。すなわち、この場合にECC部38は、第2実施形態において第1誤り訂正方式が選択された場合と同一の動作を行う。2.具体例図16は、本実施形態に係るメモリ管理装置14及びNAND型フラッシュメモリ22の主要部のみを例示的に示す概念図である。図示するように、NAND型フラッシュメモリ22のページPG1~PG3には、第1~第3フォーマットのデータがそれぞれ書き込まれている。また、これらのページPG1~PG3のNAND物理アドレスは、それぞれ1111_1111h、1111_1112h、及び1111_1113hであったとする。なお、アドレスを示す数字の末尾のhは、hより前の8桁の数字が16進数であることを示す。また、メモリ管理装置14のアドレス変換テーブル36には、3つのCPU物理アドレス0000_0001h、0000_0002h、及び0000_0003hが登録されている。そして、これらのCPU物理アドレスにはそれぞれ、NAND物理アドレス1111_1111h、1111_1112h、及び1111_1113hが対応付けられている。従って、カラーリングテーブル35においてこれらのCPU物理アドレスに対応するエントリには、ECC情報としてそれぞれ、第1フォーマットであることを示す値1、第2フォーマットであることを示す値2、及び第3フォーマットであることを示す値3が割り当てられている。例えば、プロセッサ11から、CPU物理アドレス0000_0001hを用いて読み出しアクセスが為された場合、メモリ管理装置14は、これに対応するページPG1を読み出す。そしてECC部38は、ECC情報=1に基づいて、第1フォーマットについてのECC処理すなわち、第1実施形態において第1誤り訂正方式が選択された際の処理を実行する。また、CPU物理アドレス0000_0002hを用いて読み出しアクセスが為された場合、メモリ管理装置14は、これに対応するページPG2を読み出す。そしてECC部38は、ECC情報=2に基づいて、第2フォーマットについてのECC処理を実行する。更に、CPU物理アドレス0000_0003hを用いて読み出しアクセスが為された場合、メモリ管理装置14は、これに対応するページPG3を読み出す。そしてECC部38は、ECC情報=3に基づいて、第3フォーマットについてのECC処理を実行する。3.本実施形態に係る効果以上のように、第1実施形態と第2実施形態とを組み合わせて実施することも可能である。[第4実施形態]次に、第4実施形態に係る半導体装置について説明する。本実施形態は、上記第1実施形態において、ウェアレベリングやガーベージコレクションの際にECC情報を使用するものである。以下では、第1実施形態で説明を省略した点、及び第1実施形態と異なる点についてのみ説明する。1.本実施形態に係る構成について1.1NAND型フラッシュメモリの構成について図17は、NAND型フラッシュメモリ22の構成を示すブロック図である。図示するようにNAND型フラッシュメモリ22は、メモリセルアレイ50及びページバッファ51を備えている。まず、メモリセルアレイ50について説明する。図示するようにメモリセルアレイ50は、S個Sは2以上の自然数のメモリブロックBLKBLK0~BLKS-1を備えている。各メモリブロックBLKはそれぞれ、L個Lは2以上の自然数のNANDセル53を備えている。NANDセル53の各々は、例えば32個のメモリセルトランジスタMTMT0~MT31と、選択トランジスタST1、ST2とを含んでいる。メモリセルトランジスタMTは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層例えば浮遊ゲートと、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。なお、メモリセルトランジスタMTの個数は32個に限られず、8個や16個、64個、128個、256個等であってもよく、その数は限定されるものではない。メモリセルトランジスタMTは、選択トランジスタST1、ST2間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルトランジスタMTの一端側のドレインは選択トランジスタST1のソースに接続され、他端側のソースは選択トランジスタST2のドレインに接続されている。同一行にあるメモリセルトランジスタMTの制御ゲートはいずれかのワード線WLWL0~WL31に共通接続され、同一行にあるメモリセルの選択トランジスタST1、ST2のゲートは、それぞれセレクトゲート線SGD、SGSに共通接続されている。またメモリセルアレイ50において、メモリブロックBLKはワード線WLに直交する方向に配列されており、同一列にある選択トランジスタST1のドレインは、ビット線BLBL0~BLL-1に共通接続される。選択トランジスタST2のソースはソース線SLに共通接続される。上記構成において、同一のメモリブロックBLK内にある複数のNANDセル23は、一括してデータが消去される。また、同一のワード線WLに接続された複数のメモリセルトランジスタMTには一括してデータが書き込まれ、また読み出され、この単位がページとなる。従って、SLCのNAND型フラッシュメモリでは、各ブロックBLK内のワード線本数は32本であるから、ブロックBLKあたりのページ数も32ページである。他方、MLCのNAND型フラッシュメモリでは、各メモリセルトランジスタMTが保持するマルチビットのビット毎にページが割り当てられる。つまり、データの書き込み及び読み出しは、ビット毎に行われる。従って、例えば各メモリセルトランジスタMTが2ビットデータを保持する場合、ブロックBLKあたりのページ数は、32×2=64ページとなる。3ビットデータを保持する場合には、32×3=96ページであり、以下同様である。ページバッファ51は、データの書き込み時には、メモリ管理装置14から受信した書き込みデータを保持し、これを各ビット線BLに転送して、メモリセルトランジスタMTへのデータの書き込みを実行する。またデータの読み出し時には、各ビット線BLに読み出されたデータをセンス増幅して、メモリ管理装置14へ転送する。1.2アドレス変換テーブル36について次に、本実施形態に係るアドレス変換テーブル36について、図18を用いて説明する。図18は、本実施形態に係るアドレス変換テーブル36を示す模式図である。図示するようにアドレス変換テーブル36は、第1実施形態で説明した図5において更に頻度情報フィールドを備えた構成を有している。頻度情報フィールドは、対応するCPU物理アドレスにおける誤りの発生頻度を示す頻度情報を格納する。この頻度情報は、例えばECC部38での誤り検出結果に基づいて、NAND処理部30によって作成、更新される。また誤り発生頻度の具体例としては、当該データの読み出し時において発生した誤りビット数の累積値、誤りの発生した累積回数、または対応するページを消去した累積回数などである。1.3ウェアレベリング及びガーベージコレクションについて次に、ウェアレベリング及びガーベージコレクションについて簡単に説明する。ウェアレベリングとは、メモリブロックBLK毎の書き換え回数を管理して、特定のメモリブロックBLKにデータのアクセスが集中しないようにする処理である。例えばあるメモリブロックBLK1にデータを書き込む際に、当該メモリブロックBLK1の書き込み頻度が高い場合には、書き込み頻度の低い別のメモリブロックBLK2にこのデータを書き込むと共に、メモリブロックBLK1に既に書き込まれていたデータをメモリブロックBLK2にコピーする。これがウェアレベリングである。なお、ウェアレベリングは必ずしもデータの書き込み時に実行されなくても良く、あるメモリブロックBLK1の書き込み頻度が一定の閾値を超えた際に、あるタイミングでメモリブロックBLK1全体を別のメモリブロックBLK2にコピーしても良い。ガーベージコレクションとは、有効データの少なくなった幾つかのメモリブロックBLK内の有効データを、別の消去済みメモリブロックBLKにコピーし、元のメモリブロックBLKを消去して、これを消去済みメモリブロックBLKとして使用する方法である。NAND型フラッシュメモリ22では、セレクトゲート線SGSに近いワード線WL0から順番にデータが書き込まれる。つまり、データは追記のみが許容され、上書きは禁止される。従って、例えばメモリブロックBLK0のワード線WL0のデータを更新する場合には、メモリブロックBLK0のワード線WL0のデータはそのままに、消去状態にある例えばメモリブロックBLK1のいずれかのワード線WLに更新データを書き込む。この際、メモリブロックBLK0のワード線WL0に残っているデータは、無効なデータである。このデータの更新回数が増加すると、いずれ消去状態のメモリブロックBLKが無くなり、データの書き込みが出来なくなる。この問題を解消するのがガーベージコレクションである。すなわち、例えば図17において、メモリブロックBLK0、BLK1ではワード線WL0~WL15のデータが既に更新済み更新データは別のメモリブロックBLKに書き込まれているであり、ワード線WL16~WL31のデータのみが有効データであったとする。またメモリブロックBLKS-1が消去状態であったとする。この場合、メモリブロックBLK0、BLK1におけるワード線WL16~WL31のデータを、メモリブロックBLKS-1のワード線WL0~WL31にコピーする。そしてメモリブロックBLK0、BLK1を消去する。これにより、新たに2つの消去ブロックBLK0、BLK1を確保出来る。以上のウェアレベリング及びガーベージコレクションは、NAND処理部30によって制御される。この際、NAND処理部30は、適用されている誤り訂正方式に基づいて、コピー先の領域を選択する。本動作について、以下説明する。2.本実施形態に係る動作について2.1ウェアレベリング及びガーベージコレクション時の動作について次に、ウェアレベリング及びガーベージコレクション時の本実施形態に係るメモリ管理装置14の動作について、図19を用いて説明する。図19は、メモリ管理装置14の動作を示すフローチャートである。図示するようにNAND処理部30は、常に、または定期的に、または処理を行っていない空き時間に、アドレス変換テーブル36の頻度情報を監視するステップS70。そして、アドレス変換テーブル36の各エントリについて、誤りの発生頻度が第1の閾値Fth1を超えているか否かを判断する。第1の閾値Fth1は、例えばエントリ毎すなわちCPU物理アドレス毎、更に言い換えればページ毎に設定され、その情報は例えばOSによってNAND処理部30に与えられる。いずれかのエントリにおいて、誤りの発生頻度が第1の閾値Fth1を超えていた場合ステップS71、YES、NAND処理部30は、当該エントリに対応するデータを、別のページへ移動させることを決定する。そしてNAND処理部30は、カラーリングテーブル35において当該エントリに対応するECC情報を参照して、現在適用されている誤り訂正方式を確認するステップS72。ステップS72の結果、第2誤り訂正方式であった場合、すなわち誤り訂正能力の高い方式が適用されていた場合にはステップS73、NO、NAND処理部30は、コピー先の領域として、誤り発生頻度の高いページを候補とするステップS74。この際の誤り発生頻度の高低は、例えば第2の閾値Fth2を基準として判断される。なお、例えばFth2≦Fth1である。そしてNAND処理部30は、誤り訂正方式を変えることなく、誤り発生頻度の高い空きページに対してデータをコピーするよう、NANDコントローラ33に命令するステップS75。この結果、NAND型フラッシュメモリ22では、当該エントリに対応するデータがページバッファ51に読み出され、引き続きこのデータが空きページにコピーされる。なお、誤り発生頻度の低い空きページしか無い場合には、当該空きページにデータがコピーされる。ステップS72の結果、第1誤り訂正方式であった場合、すなわち誤り訂正能力の低い方式が適用されていた場合にはステップS73、YES、NAND処理部30は、コピー先の領域として、誤り発生頻度の低いページを候補とするステップS76。従ってNAND処理部30は、アドレス変換テーブル36を参照して、誤り発生頻度の低い空きページあるか否かを判断する。誤り発生頻度の低い空きページがあればステップS77、YES、NAND処理部30は、誤り訂正方式を変えることなく、当該空きページに対してデータをコピーするよう、NANDコントローラ33に命令するステップS78。この結果、NAND型フラッシュメモリ22では、当該エントリに対応するデータがページバッファ51に読み出され、引き続きこのデータが空きページにコピーされる。誤り発生頻度の低い空きページが無ければステップS77、NO、NAND処理部30は、誤り訂正方式を第2誤り訂正方式に変更した上で、誤り発生頻度の高い空きページに対してデータをコピーするよう、NANDコントローラ33に命令するステップS74、S75。この結果、当該エントリに対応するデータがページバッファ51に読み出され、引き続きこのデータがECC部38に転送される。そしてECC部38は、誤り検出及び誤り訂正を行う。その後ECC部38は、第2誤り訂正方式でECC処理を行って第2パリティP2を生成し、第2パリティP2を含むデータをページバッファ51に転送する。そして、このデータが空きページにコピーされる。2.2動作の具体例について次に、上記説明した動作の具体例について、図20を用いて説明する。図20は、メモリブロックBLK、ページデータ、並びにカラーリングテーブル35及びアドレス変換テーブル36を示し、データコピーの様子を模式的に示す概念図である。図示するように、メモリブロックBLK0のページPG1に、第1誤り訂正方式が適用されたデータPD1が格納されている。以下、このデータPD1についての誤り発生頻度F1が第1の閾値Fth1を超え、空きページPG10またはPG20にコピーされる場合を、それぞれをCASEI及びCASEIIとして説明する。CASEIまず、コピー対象となるデータPD1には第1誤り訂正方式が適用されている図19のステップS73、YES。従ってNAND処理部30は、コピー先の領域として、誤り発生頻度が第2の閾値Fth2を超えていないページを候補とするステップS76。CASEIでは、ページPG10が空きページであり、且つその誤り発生頻度F10は第2の閾値Fth2未満であるアドレス変換テーブル36参照。従ってNAND処理部30は、データPD1をそのままページPG10にコピーするステップS78。CASEII次にCASEIIについて説明する。CASEIIは、ページPG10が使用中で、ページPG20が空きページであり、且つその誤り発生頻度F20は第2の閾値Fth2以上である場合に相当するステップS77、NO。この場合、NAND処理部30は、データD1をページPG20にコピーする。この際、NAND処理部30は、誤り訂正方式を第1誤り訂正方式から第2誤り訂正方式に変更するステップS75。3.本実施形態に係る効果本実施形態に係る構成であると、上記第1実施形態で説明した効果に加えて、データのアクセス速度の低下を効率的に抑制出来る、という効果が得られる。本効果について、以下説明する。第1実施形態で説明したように、高速アクセスが求められるデータについては第1誤り訂正方式が適用され、そうではないデータについては第2誤り訂正方式が適用される。この関係は、ウェアレベリング及びガーベージコレクション後であっても維持されることが望ましい。この点、本実施形態によれば、ウェアレベリング及びガーベージコレクションの際、コピー対象となるデータに適用されている誤り訂正方式に基づいて、コピー先の領域を決定している。より具体的には、第1誤り訂正方式のデータをコピーする際には、誤り発生頻度の低いページをコピー先とする。これにより、コピー後においても第1誤り訂正方式を適用して、高速なアクセスを可能とする。また同時に、コピー先の領域は誤り発生頻度の低いページであるので、第1誤り訂正方式であっても十分に誤りを訂正出来る。他方、第2誤り訂正方式のデータをコピーする際には、誤り発生頻度の高いページをコピー先とする。これにより、誤り発生頻度の低い空きページを無駄に使うことを抑制できる。つまり、誤り発生頻度の低い空きページを、第1誤り訂正方式のデータのために効率的に使用できる。なお、コピー先の領域の誤り発生頻度が高くても、第2誤り訂正方式は誤り訂正能力が高いため、十分に誤りを訂正出来る。また、誤り発生頻度の低い空きページが無い場合には、コピー対象データが第1誤り訂正方式のデータであったとしても、誤り発生頻度の高いページをコピー先としなければならない。この場合には、NAND処理部30は、誤り訂正方式を第1誤り訂正方式から第2誤り訂正方式に変更した上で、データをコピーする。これにより、コピー後も十分に誤りを訂正出来る。本実施形態の第1変形例なお、図20で説明したCASEIIでは、データD1は、別のブロックBLK2にコピーされるのでは無く、メモリブロックBLK0に再度書き込まれても良い。すなわち、NAND処理部30は、誤り発生頻度の低い空きページが無いと判断すると図19のステップS77、NO、データPD1のみ、またはメモリブロックBLK0内の全有効データを読み出し、これを例えば揮発性半導体メモリ22に一時的に保持させる。その後NAND処理部30は、メモリブロックBLK0を消去する。そして、消去後のメモリブロックBLK0に、揮発性半導体メモリ22に保持させたデータをコピーする。この際、データPD1は、第2誤り訂正方式が適用されて、メモリブロックBLK0に書き込まれるステップS75。このように、誤り訂正方式を第1誤り訂正方式から第2誤り訂正方式に変更する場合には、コピー先の領域には特に制限は無い。従って、コピー先の領域として、もともとデータPD1が保持されていたメモリブロックBLK0を使用しても良い。これは、例えば図19のステップS75において、空きページデータのコピー先として使用できる領域が全く無い場合にも適用出来る。本実施形態の第2変形例また図20で説明したCASEIIでは、ページPG20にデータを書き込む際、複数のページが1ページに統合されても良い。このような例を図21に示す。図示するように、コピーが必要なデータPD1、PD2が2つのページPG1、PG2に存在し、共に第1誤り訂正方式が適用されていたとする。このような場合、ページP1についてのメインデータDmain1D1~DNと、ページP2についてのメインデータDmain2D1~DNとを、1つのデータDmain3にまとめる。更に、このデータDmain3について第2パリティP2を生成し、メインデータDmain3と第2パリティP2とを含むデータPD3を、ページPG20に書き込んでも良い。すなわち、誤り訂正方式を第1誤り訂正方式から第2誤り訂正方式に変更することで、1ページに含まれるパリティのビット数は大幅に少なくなる。そこで、パリティのビット数が減少することで空いた領域に、別のページのメインデータを格納することで、効率的にデータを記憶出来る。従って、本例は以下の条件の全てが満たされる場合に可能となる。すなわち、コピー対象となるページが2ページ以上あること、コピーの際、誤り訂正方式が、もとの誤り訂正方式よりも訂正能力の低い誤り訂正方式に変更されることつまり、コピーによってパリティのビット数が減少すること、及び統合されるページのメインデータの和と、それについてのパリティと、の総和が、ページサイズ以下であること。[第5実施形態]次に、第5実施形態に係る半導体装置につき説明する。本実施形態は、上記第1乃至第4実施形態で説明したメモリ管理装置14の機能を、SSDSolidStateDriveに適用したものである。図22は、SSD100の構成を示すブロック図である。図示するようにSSD100は、データ保存用の複数のNAND型フラッシュメモリ200、データ転送用又は作業領域用のDRAM101、これらを制御するドライブ制御回路102、及び電源回路103を備えている。ドライブ制御回路102は、SSD100の外部に設けられる状態表示用LEDを制御するための制御信号を出力する。なお、DRAM101に代えて、FeRAMferroelectricrandomaccessmemoryを用いてもよい。SSD100は、ATAインターフェースATAI/Fを介して、パーソナルコンピュータ等のホスト装置との間でデータを送受信する。また、SSD100は、RS232CインターフェースRS232CI/Fを介して、デバッグ用機器との間でデータを送受信する。電源回路103は、外部電源を受け、この外部電源を用いて複数の内部電源を生成する。これらの内部電源は、SSD100内の各部に供給される。また、電源回路103は、外部電源の立ち上がりを検知して、パワーオンリセット信号を生成する。パワーオンリセット信号は、ドライブ制御回路102に送られる。図23は、ドライブ制御回路102の構成を示すブロック図である。ドライブ制御回路102は、データアクセス用バス104、第1の回路制御用バス105、及び第2の回路制御用バス106を備えている。第1の回路制御用バス105には、ドライブ制御回路102全体を制御するプロセッサ107が接続されている。また、第1の回路制御用バス105には、各管理プログラムFW:firmwareのブート用プログラムが格納されたブートROM108がROMコントローラ109を介して接続されている。また、第1の回路制御用バス105には、電源回路103からのパワーオンリセット信号を受けて、リセット信号及びクロック信号を各部に供給するクロックコントローラ110が接続されている。第2の回路制御用バス106は、第1の回路制御用バス105に接続されている。第2の回路制御用バス106には、状態表示用LEDにステータス表示用信号を供給するパラレルIOPIO回路111、RS232Cインターフェースを制御するシリアルIOSIO回路112が接続されている。ATAインターフェースコントローラATAコントローラ113、第1のECCErrorCheckandCorrect回路114、NANDコントローラ115、及びDRAMコントローラ119は、データアクセス用バス104と第1の回路制御用バス105との両方に接続されている。ATAコントローラ113は、ATAインターフェースを介してホスト装置との間でデータを送受信する。データアクセス用バス104には、データ作業領域として使用されるSRAM120がSRAMコントローラ121を介して接続されている。NANDコントローラ115は、4つのNAND型フラッシュメモリ200とのインターフェース処理を行うNANDインターフェース回路NANDI/F118、制御部117、及びNAND型フラッシュメモリ-DRAM間のアクセス制御を行うDMA転送制御用DMAコントローラ116を備えている。そして制御部117は、第1乃至第4実施形態で説明したメモリ管理装置14の機能を有する。すなわち制御部117は、図2で説明したNAND処理部30、記憶部31、及びNANDコントローラ33を備え、第1乃至第4実施形態で説明した動作を実行する。図24は、SSD100を搭載したポータブルコンピュータ200の一例を示す斜視図である。ポータブルコンピュータ200は、本体201、及び表示ユニット202を備えている。表示ユニット202は、ディスプレイハウジング203と、このディスプレイハウジング203に収容された表示装置204とを備えている。[変形例など]以上のように、第1乃至第5実施形態に係る半導体装置1は、データを保持可能なNAND型フラッシュメモリ22と、前記データについての誤りを検出訂正する誤り訂正部38と、前記データ毎に、使用される誤り訂正方式についての情報ECC情報を有するテーブルカラーリングテーブル35またはアドレス変換テーブル36とを具備する。そして誤り訂正部は、前記テーブル内の前記情報に従って、適用する誤り訂正方式を前記データ毎に選択する。本構成により、誤り訂正部では必要最小限のECC回路のみが活性化され、半導体装置1の消費電力を削減出来る。なお実施形態は、上記説明した第1乃至第5実施形態に限定されるものではなく、種々の変形が可能である。例えば、第1、第2実施形態では、誤り訂正方式が2種類の場合について説明し、第3実施形態では3種類の場合について説明した。しかし、それ以上の種類の誤り訂正方式が使用可能であっても良い。また、各誤り訂正方式によるデータフォーマットは、上記実施形態で挙げたフォーマットに限らず、種々のフォーマットが使用されて良い。また、ECC情報は、カラーリングテーブル35ではなくアドレス変換テーブル36に記録されて良いし、またはカラーリングテーブル35とアドレス変換テーブル36の両方に記録されても良い。また第1乃至第4実施形態では、半導体装置1として、NAND型フラッシュメモリをメインメモリとして使用するシステムを例に挙げ、また第5実施形態ではSSDを例に挙げて説明した。しかし、これらのシステムに限定されるものでは無く、例えばNAND型フラッシュメモリをメインメモリとして使用しない場合であっても良いし、またSDTMメモリカードなどにも適用出来る。なお、SSDやSDメモリカードの例では、図3で説明したようなカラーリングテーブルは特に必須では無い。この場合には、ホスト機器からECC情報のみを与えられれば十分である。また、不揮発性半導体メモリ22としてはNAND型フラッシュメモリに限らず、その他の半導体メモリ全般に適用出来る。更に、記憶装置20は半導体メモリに限らず、磁気記録媒体や光学的な記録媒体など、誤り訂正処理を行う記録媒体全般に適用出来る。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。