ランダムアクセスが可能な複数の不揮発性メモリセルにより構成された不揮発性RAMと、前記不揮発性RAMに対する最小アクセス単位より大きいデータに、パリティデータを付与して、ECCフレームを生成するECC回路と、前記パリティデータが有効であることを示すフラグを前記ECCフレームに付与する制御部と、を具備し、前記制御部は、定期的に前記ECC回路により、前記ECCフレームのパリティデータを更新させ、前記フラグを再設定することを特徴とする半導体記憶装置。ランダムアクセスが可能な複数の不揮発性メモリセルにより構成された不揮発性RAMと、前記不揮発性RAMに対する最小アクセス単位より大きいデータに、パリティデータを付与して、ECCフレームを生成するECC回路と、前記パリティデータが有効であることを示すフラグを前記ECCフレームに付与する制御部とを具備することを特徴とする半導体記憶装置。前記制御部は、定期的に前記ECC回路により、前記ECCフレームのパリティデータを更新させ、前記フラグを再設定することを特徴とする請求項2記載の半導体記憶装置。前記制御部は、前記不揮発性RAMがビジー状態でなく、前記フラグが前記パリティデータの無効を示すとき、前記ECC回路により、前記ECCフレームのパリティデータを再計算させ、前記フラグを有効状態に設定することを特徴とする請求項3記載の半導体記憶装置。前記制御部は、前記半導体記憶装置が接続されるホスト装置がスタンバイ状態であるとき、又は、前記不揮発性RAMがアイドル状態であるとき、前記ECC回路により、前記ECCフレームのパリティデータを再計算させ、前記フラグを有効状態に設定する請求項4記載の半導体記憶装置。前記不揮発性RAMは、磁気ランダムアクセスメモリMRAMと、抵抗性ランダムアクセスメモリReRAMのいずれかであることを特徴とする請求項1又は5記載の半導体記憶装置。本実施形態は、不揮発性ランダムアクセスメモリにおいて、符号化率を向上できるとともに、スループットの低下を防止することが可能な半導体記憶装置を提供しようとするものである。本実施形態の半導体記憶装置は、ランダムアクセスが可能な複数の不揮発性メモリセルにより構成された不揮発性RAMと、前記不揮発性RAMに対する最小アクセス単位より大きいデータに、パリティデータを付与して、ECCフレームを生成するECC回路と、前記パリティデータが有効であることを示すフラグを前記ECCフレームに付与する制御部と、を具備し、前記制御部は、定期的に前記ECC回路により、前記ECCフレームのパリティデータを更新させ、前記フラグを再設定することを特徴とする。以下、実施の形態について、図面を参照して説明する。図1は、第1、第2の実施形態に適用されるメモリシステムを概略的に示している。メモリシステムは、例えばSDカードのような、半導体記憶装置としてのメモリデバイス11と、ホスト20により構成される。メモリデバイス11は、ホスト20に接続されたときに電源供給を受けて動作し、ホスト20からのアクセスに応じた処理を行う。このメモリデバイス11は、コントローラ11aを有している。コントローラ11aは、例えばホストインタフェースI/F12、CPU13、ROMReadonlyMemory14、RAMRandomAccessMemory15、バッファ16、メモリインターフェースI/F17、ECC回路18により構成されている。これらは、バスにより接続されている。メモリインターフェース17には、不揮発性RAM19が接続されている。この不揮発性RAM19は、例えばMRAM、又はReRAMにより構成されている。しかし、不揮発性RAM19は、MRAMやReRAMに限定されるものではなく、その他の不揮発性RAMであってもよい。ホストインタフェース12は、コントローラ11aとホスト20との間のインターフェース処理を行う。メモリインターフェース17は、コントローラ11aと不揮発性RAM19との間のインターフェース処理を行う。CPU13は、メモリデバイス11全体の動作を司るものである。このCPU13は、ROM14の中に格納されているファームウェア制御プログラム等に基づき、所定の処理を実行する。すなわち、CPU13は、ホスト20から例えばライト書き込みコマンド、リード読み出しコマンドを受けて不揮発性RAM19上の領域をアクセスしたり、バッファ16を介してデータ転送処理を制御したり、ECC回路18を制御する。ROM14は、CPU13により使用される制御プログラムなどのファームウェアを格納する。RAM15は、CPU13の作業エリアとして使用され、制御プログラムや各種のテーブルなどを記憶する。バッファ16は、ホスト20から送られてくるデータを、例えば不揮発性RAM19へ書き込む際、一定量のデータを一時的に記憶したり、不揮発性RAM19から読み出されたデータをホスト20へ送り出す際、一定量のデータを一時的に記憶したりする。ECC回路18は、後述するように、通常のデータの書き込み動作、又はデータ読み出し動作以外の期間などで、不揮発性RAM19がビジー状態ではない期間において、不揮発性RAM19に書き込まれた例えば数百バイトのデータに、パリティデータ、及びパリティデータが有効であるかどうかを示すバリッドフラグを付与してECCフレームを生成する。不揮発性RAM19は、例えばワード単位で、データの書き込み又は読み出しが実効される。すなわち、不揮発性RAM19の最小アクセス単位は、ワードである。1ワードは、例えば32ビットにより構成されている。また、1ワードは、4バイトにより構成され、1バイトは、例えば8ビットにより構成されている。ホスト20は、例えばパーソナルコンピュータ、デジタルカメラ、又は携帯電話機などにより構成される。ホスト20は、ホストコントローラ21、CPU22、ROM23、RAM24、例えばハードディスク25、又はSSDSolidStateDriveにより構成されている。これらはバスにより接続されている。CPU22は、ホスト全体を制御する。ROM23は、CPU22の動作に必要なファームウェアを記憶している。RAM24は、例えばCPU22の作業領域として使用されるが、CPU22が実行可能なプログラムもここにロードされ実行される。ハードディスク25は、各種データを記憶する。ホストコントローラ21は、メモリデバイス11が接続された状態において、メモリデバイス11とのインターフェース処理を行う。図2aは、不揮発性RAM19内に形成されるECCフレーム19aの一例を示している。ECCフレーム19aは、ユーザデータブロックUDBと、パリティデータPDにより構成されている。各ECCフレーム19aには、1ビットのバリッドフラグVFが付与される。このバリッドフラグVFは、パリティデータPDが有効であるか無効であるかを示している。前述したように、不揮発性RAM19は、最小アクセス単位としてのワード単位で、データの書き込み又は読み出しが実行される。これに対して、ユーザデータブロックUDBは、最小アクセス単位より大きなデータとされており、例えば512バイトにより構成されている。また、例えばECCの符号化方式をBCH符号BoseChaudhuriHocquenghemcodeとし、訂正能力を12ビットとすると、512バイトのユーザデータブロックUDBに対して156ビット=19.5バイトのパリティデータPDが設定されている。バリッドフラグVFは、後述するように、初期化動作時に全パリティデータPDが有効であることを示す1に設定される。また、不揮発性RAM19がランダムアクセスされることにより、図2bに斜線で示すように、不揮発性RAM19のユーザデータブロックUDBの一部にデータが書き込まれた場合、そのデータを含むユーザデータブロックUDBに対応するバリッドフラグVFが無効を示す0に設定される。すなわち、データの書き込みにより、ユーザデータブロックUDBに対応するパリティデータの再計算が必要となるため、バリッドフラグVFが無効とされる。このバリッドフラグVFは、コントローラ11aにより制御される。上記構成において、第1の実施形態に係るECC処理について説明する。第1の実施形態において、ECC処理は、通常のワード単位の書き込み、又は読み出し動作時に実行されず、所定の期間毎に定期的に実行される。図3は、第1の実施形態に係るECC処理の一例を示すフローチャートであり、このECC処理は、コントローラ11aの制御の下でECC回路18により実行される。例えばメモリカード11がホスト20に接続された状態において、ホスト20からの指令により、ECCの初期化動作が実行されるS11。この初期化動作は、例えば全ユーザデータブロックUDBに対してECCがエンコードされる。すなわち、ECC回路18により、不揮発性RAM19内の全ユーザデータブロックUDBのパリティデータが演算され、全ユーザデータブロックUDBにパリティデータが付与される。さらに、各ユーザデータブロックUDBのバリッドフラグVFが有効であることを示す1に設定される。この初期化動作は、メモリカード11のフォーマット動作として実行したり、メモリカード11がホスト20に接続された状態において、不揮発性RAM19にデータが書き込まれた後、ホスト20からの指令により実行してもよい。次いで、不揮発性RAM19に対してECC処理を行うタイミングを設定するECCタイマーが初期化されるとともにS12、ECCフレーム19aの数をカウントするECCフレームカウンタが初期化されるS13。ECCタイマーは、ECC処理を実行するための割り込みタイミングを設定するものである。ECCタイマーは、例えばソフトウェアにより構成されたカウンタであり、このECCタイマーのカウント値が予め設定された規定値に達した場合、割り込み信号を発生する。この割り込み信号が発生された場合、ECC回路18を用いてECC処理が実行される。また、ECCフレームカウンタも、例えばソフトウェアにより構成されたカウンタであり、ECCフレーム19aの数をカウントする。上記初期化動作の後、ECCタイマーのカウント値が規定値に達したかどうかが判別されるS14。このECCタイマーが動作している間に、不揮発性RAM19に対して、データの書き込み、又は読み出しが実行される。ステップS14の判別の結果、ECCタイマーのカウント値が規定値に達した場合、割り込みが発生され、コントローラ11aは、ECC回路18を用いてECC処理を実行する。ECC処理において、先ず、ECCタイマーが再度初期化されるS15。この後、不揮発性RAM19がビジー状態であるかどうかが判別されるS16。すなわち、不揮発性RAM19が書き込み又は読み出し動作を実行しているかどうかが判別される。不揮発性RAM19が書き込み又は読み出し動作の実行中でない場合、ECCフレームカウンタにより指示されたECCフレーム19aに付与されたバリッドフラグVFが有効1であるかどうかが判別されるS17。この結果、バリッドフラグVFが有効であると判別された場合、ECCフレームカウンタにより指示されたECCフレーム19aが不揮発性RAM19から読み出され、ECC回路18によりデコードされ、エラー訂正処理が実行されるS18。また、ステップS17において、バリッドフラグVFが無効0であると判別された場合、ECC回路18を用いてECCフレームカウンタにより指示されたECCフレーム19aが不揮発性RAM19から読み出されてエンコードされる。すなわち、読み出されたECCフレーム19aに対してパリティデータが再計算されるS19。この後、パリティデータが再計算されたECCフレーム19aのバリッドフラグVFが、有効であることを示す1に設定されるS20。上記デコードされたECCフレームや、エンコードされたECCフレーム、及びバリッドフラグは、不揮発性RAM19に書き込まれる。次いで、ECCフレームカウンタが更新されS21、ECCフレームカウンタのカウント値が予め設定された規定値に達したかどうかが判別されるS22。この結果、カウント値が規定値に達していない場合、制御がステップS16に移行され、上記動作が繰り返される。また、カウント値が規定値に達している場合、制御がステップS14に移行され、割り込み待ち状態となる。上記第1の実施形態によれば、不揮発性RAM19のアクセス単位より大きな単位のユーザデータブロックUDBにパリティデータPDを付与してECCフレーム19aを生成し、さらに、パリティデータPDの有効性を示すバリッドフラグVFを設定している。このため、ランダムアクセスされるデータの符号化率を向上することが可能である。しかも、ECCフレーム19aに対して、通常の書き込みや読み出しが実行されていないとき、バックグラウンドにおいて、ECC処理が実行され、バリッドフラグVFが有効なECCフレームに対してエラー訂正が行われ、バリッドフラグVFが無効とされたECCフレームの場合、再度パリティデータを付与し、バリッドフラグを有効としている。このため、ランダムアクセスにより、頻繁にデータが書き換えられる場合においても、データがアクセスされる都度ECC処理を実行する必要がないため、通常アクセスの効率の低下を防止でき、スループットを向上することが可能である。また、ECCタイマーを設け、このECCタイマーにより、定期的に割り込みを発生させ、ECC処理を実行している。このため、ECCフレーム19aのパリティデータPD、及びバリッドフラグVFを定期的にリフレッシュすることができるため、ビットエラーレートが所定のレンジであれば、ユーザデータブロックUDBの信頼性を向上することが可能である。尚、上記第1の実施形態の場合、ECCタイマーにより定期的にECCフレームのパリティデータPD、及びバリッドフラグVFをリフレッシュしたが、これに限定されるものではない。例えば不揮発性RAM19に対して、バースト転送等のブロックアクセスのアプリケーションが実行される場合、アプリケーションの実行中に、ECCフレーム単位でECC処理を実行することも可能である。第2の実施形態図4は、第2の実施形態を示しており、図4において、図3と同一部分には同一符号を付し、異なる部分についてのみ説明する。上記第1の実施形態は、ECCタイマーにより割り込みを発生させて、ECC処理を実行した。これに対して、第2の実施形態は、ホスト20がスタンバイモードであることをメモリカード11に通知することにより、メモリカード11において、ECC処理が実行される。すなわち、図4に示すように、例えば不揮発性RAM19の全ユーザデータブロックUDBに対してECCの初期化動作が実行されS11、ECCフレームカウンタが初期化された後S13、ホスト20のアイドル期間を検知するアイドル期間検知タイマーが初期化されるS31。アイドル期間検知タイマーは、例えばソフトウェアにより構成されたカウンタであり、コントローラ11aから不揮発性RAM19に対してコマンドやチップイネーブル信号が予め設定された期間に発行されない場合、すなわち、不揮発性RAM19が一定期間アクセスされないアイドル状態である場合、割り込み信号を発生する。この後、ホスト20からスタンバイモード信号がアサート表明されたか否かが判別されるS32。ここで、スタンバイモードとは、ホスト20が、アイドル状態となり、通常より消費電力が少なくなっている状態であり、不揮発性RAM19の情報は、ホスト20のハードディスク25には保存されていない状態である。上記判別の結果、ホスト20から、スタンバイモード信号がアサートされた場合、制御がステップS16に移行され、前述した動作により、ECCフレームに対してECC処理が実行され、パリティデータPDや、バリッドフラグVFがリフレッシュされるS16~S22。一方、上記判別の結果、ホスト20から、スタンバイモード信号がアサートされていない場合、アイドル期間検知タイマーのカウント値が予め設定された規定値に達したかどうかが判別されるS33。この結果、アイドル期間検知タイマーが規定値に達した場合、割り込みが発生され、アイドル期間検知タイマーが初期化された後S34、ステップS16~S22に示すECC処理が実行される。上記第2の実施形態によれば、ホスト20がスタンバイ状態の場合や、不揮発性RAM19がアイドル状態の場合において、不揮発性RAM19のECC処理を実行することができる。このため、通常アクセスの効率の低下を防止でき、スループットを向上することが可能であるとともに、不揮発性RAM19内のデータの信頼性を向上することが可能である。尚、上記第1、第2の実施形態は、不揮発性RAM19をメモリカード11に適用した場合について説明したが、これに限定されるものではない。例えば不揮発性RAM19をキャッシュメモリとして使うシステムの場合、キャッシュのエントリーサイズでECCのエンコードを行ってもよい。さらに、不揮発性RAM19を例えばSSDSolidStateDriveに適用する場合においても実施可能である。その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。