メモリから読み出された第1のデータ単位および当該第1のデータ単位に対応する第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号が前記メモリとは異なるエラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部とを具備する記憶制御装置。ライト対象となるデータを含む第1のデータ単位に対応して第1のエラー検出符号を生成して前記第1のデータ単位および前記第1のエラー検出符号をメモリに対してライトさせる第1のエラー検出符号生成部と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を保持するエラー検出符号保持部と、リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第1のデータ単位および当該第1のデータ単位に対応する前記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる第2のエラー検出符号生成部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部とを具備する記憶制御装置。前記第2のエラー検出符号生成部は、前記ライト対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記ライト対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる請求項2記載の記憶制御装置。前記第1または第2のエラー検出符号はエラー訂正機能を備え、前記第1または第2のエラー検出部においてエラーが検出された場合に前記第1または第2のエラー検出符号に従ってエラー訂正を行うエラー訂正部をさらに具備する請求項2記載の記憶制御装置。第1のデータ単位に対応する第1のエラー検出符号を前記第1のデータ単位と対応付けて記憶するメモリと、ライト対象となるデータを含む前記第1のデータ単位に対応して前記第1のエラー検出符号を生成して前記第1のデータ単位および前記第1のエラー検出符号を前記メモリに対してライトさせる第1のエラー検出符号生成部と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を保持するエラー検出符号保持部と、リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第1のデータ単位および当該第1のデータ単位に対応する前記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる第2のエラー検出符号生成部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部とを具備する記憶装置。前記メモリは、不揮発性メモリである請求項5記載の記憶装置。第1のデータ単位に対応する第1のエラー検出符号を前記第1のデータ単位と対応付けて記憶するメモリと、ライト対象となるデータを含む前記第1のデータ単位に対応して前記第1のエラー検出符号を生成して前記第1のデータ単位および前記第1のエラー検出符号を前記メモリに対してライトさせる第1のエラー検出符号生成部と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を保持するエラー検出符号保持部と、リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第1のデータ単位および当該第1のデータ単位に対応する前記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる第2のエラー検出符号生成部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部と、前記メモリに対してデータのリードまたはライトを要求するリクエストを発行するプロセッサとを具備する情報処理システム。ライト対象となるデータを含む第1のデータ単位に対応して第1のエラー検出符号を生成して前記第1のデータ単位および前記第1のエラー検出符号をメモリに対してライトさせる第1のエラー検出符号生成手順と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号であってリード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記メモリとは異なるエラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第1のデータ単位および当該第1のデータ単位に対応する前記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出手順と、前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる第2のエラー検出符号生成手順と、前記リード対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出手順とを具備する記憶制御方法。上述の従来技術では、アクセス可能な単位のサイズを2種類設けて、それぞれのサイズによってエラー検出訂正処理を行っている。しかしながら、この従来の技術では、ランダムアクセス用バンクではシーケンシャルアクセス用バンクよりも小さなデータ単位でエラー訂正コードを生成するため、エラー訂正コードが占める容量が相対的に大きくなり、容量効率も悪化するという問題がある。この場合、ランダムアクセス用バンクにおける記憶容量が不足した際には、一部のデータをシーケンシャルアクセス用バンクに移行する必要が生じ、システムのパフォーマンスを低下させる要因となってしまう。一般に、ランダムアクセス用バンクはシーケンシャルアクセス用バンクよりも数倍のビットコストとなるため、ランダムアクセス用バンクの容量を大きくしてしまうとシステムコストに直接大きく影響してしまう。本技術はこのような状況に鑑みて生み出されたものであり、不揮発性メモリの記憶容量を圧迫することなく、アクセスサイズに適したエラー訂正コードを用いてエラー検出訂正処理を行うことを目的とする。本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、メモリから読み出された第1のデータ単位および当該第1のデータ単位に対応する第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、上記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号が上記メモリとは異なるエラー検出符号保持部に保持されている場合に、上記メモリから読み出された上記第2のデータ単位および上記エラー検出符号保持部に保持されている上記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部とを具備する記憶制御装置およびその記憶制御方法である。これにより、第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を用いてエラー検出処理を行わせるという作用をもたらす。また、本技術の第2の側面は、ライト対象となるデータを含む第1のデータ単位に対応して第1のエラー検出符号を生成して上記第1のデータ単位および上記第1のエラー検出符号をメモリに対してライトさせる第1のエラー検出符号生成部と、上記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を保持するエラー検出符号保持部と、リード対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号が上記エラー検出符号保持部に保持されていない場合に、上記メモリから読み出された上記リード対象となるデータを含む上記第1のデータ単位および当該第1のデータ単位に対応する上記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、上記リード対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号が上記エラー検出符号保持部に保持されていない場合に、上記メモリから読み出された上記リード対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号を生成して上記エラー検出符号保持部に保持させる第2のエラー検出符号生成部と、上記リード対象となるデータを含む上記第2のデータ単位に対応する第2のエラー検出符号が上記エラー検出符号保持部に保持されている場合に、上記メモリから読み出された上記リード対象となるデータを含む上記第2のデータ単位および上記エラー検出符号保持部に保持されている上記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部とを具備する記憶制御装置およびその記憶制御方法である。これにより、第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号がエラー検出符号保持部に保持されている場合に、これを用いてエラー検出処理を行わせるという作用をもたらす。また、この第2の側面において、上記第2のエラー検出符号生成部は、上記ライト対象となるデータを含む上記第2のデータ単位に対応する第2のエラー検出符号が上記エラー検出符号保持部に保持されている場合に、上記ライト対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号を生成して上記エラー検出符号保持部に保持させるようにしてもよい。これにより、ライト時にエラー検出符号保持部を更新させるという作用をもたらす。また、この第2の側面において、上記第1または第2のエラー検出符号はエラー訂正機能を備え、上記第1または第2のエラー検出部においてエラーが検出された場合に上記第1または第2のエラー検出符号に従ってエラー訂正を行うエラー訂正部をさらに具備してもよい。これにより、第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を用いてエラー訂正処理を行わせるという作用をもたらす。また、本技術の第3の側面は、第1のデータ単位に対応する第1のエラー検出符号を上記第1のデータ単位と対応付けて記憶するメモリと、ライト対象となるデータを含む上記第1のデータ単位に対応して上記第1のエラー検出符号を生成して上記第1のデータ単位および上記第1のエラー検出符号を上記メモリに対してライトさせる第1のエラー検出符号生成部と、上記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を保持するエラー検出符号保持部と、リード対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号が上記エラー検出符号保持部に保持されていない場合に、上記メモリから読み出された上記リード対象となるデータを含む上記第1のデータ単位および当該第1のデータ単位に対応する上記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、上記リード対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号が上記エラー検出符号保持部に保持されていない場合に、上記メモリから読み出された上記リード対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号を生成して上記エラー検出符号保持部に保持させる第2のエラー検出符号生成部と、上記リード対象となるデータを含む上記第2のデータ単位に対応する第2のエラー検出符号が上記エラー検出符号保持部に保持されている場合に、上記メモリから読み出された上記リード対象となるデータを含む上記第2のデータ単位および上記エラー検出符号保持部に保持されている上記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部とを具備する記憶装置である。これにより、第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号がエラー検出符号保持部に保持されている場合に、これを用いてメモリのエラー検出処理を行わせるという作用をもたらす。なお、この第3の側面において、上記メモリは、不揮発性メモリを採用することができる。また、本技術の第4の側面は、第1のデータ単位に対応する第1のエラー検出符号を上記第1のデータ単位と対応付けて記憶するメモリと、ライト対象となるデータを含む上記第1のデータ単位に対応して上記第1のエラー検出符号を生成して上記第1のデータ単位および上記第1のエラー検出符号を上記メモリに対してライトさせる第1のエラー検出符号生成部と、上記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を保持するエラー検出符号保持部と、リード対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号が上記エラー検出符号保持部に保持されていない場合に、上記メモリから読み出された上記リード対象となるデータを含む上記第1のデータ単位および当該第1のデータ単位に対応する上記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、上記リード対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号が上記エラー検出符号保持部に保持されていない場合に、上記メモリから読み出された上記リード対象となるデータを含む上記第2のデータ単位に対応する上記第2のエラー検出符号を生成して上記エラー検出符号保持部に保持させる第2のエラー検出符号生成部と、上記リード対象となるデータを含む上記第2のデータ単位に対応する第2のエラー検出符号が上記エラー検出符号保持部に保持されている場合に、上記メモリから読み出された上記リード対象となるデータを含む上記第2のデータ単位および上記エラー検出符号保持部に保持されている上記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部と、上記メモリに対してデータのリードまたはライトを要求するリクエストを発行するプロセッサとを具備する情報処理システムである。これにより、プロセッサからのアクセスに対し、第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号がエラー検出符号保持部に保持されている場合に、これを用いてメモリのエラー検出処理を行わせるという作用をもたらす。なお、この第4の側面において、上記メモリは、不揮発性メモリを採用することができる。本技術によれば、不揮発性メモリの記憶容量を圧迫することなく、アクセスサイズに適したエラー訂正コードを用いてエラー検出訂正処理を行うことができるという優れた効果を奏し得る。以下、本技術を実施するための形態以下、実施の形態と称するについて説明する。説明は以下の順序により行う。1.実施の形態の構成2.実施の形態の動作<1.実施の形態の構成>[情報処理システムの構成例]図1は、本技術の実施の形態における情報処理システムの全体構成例を示す図である。この情報処理システムは、プロセッサ110と、DRAM120と、不揮発性メモリNVM300と、NVM制御部200とを備えている。プロセッサ110は、各種プログラムを実行することにより情報処理を遂行する処理装置である。このプロセッサ110は、DRAM120における記憶領域をワーク領域として、データのロードまたはストアを繰り返すことによりプログラムを実行する。また、このプロセッサ110は、NVM制御部200を介してNVM300に記憶されている各データに対してアクセスを行う。DRAM120は、プロセッサ110の主記憶装置として機能する揮発性のメモリである。このDRAM120は、プロセッサ110におけるプログラムの実行に必要なデータを記憶する。NVM300は、プロセッサ110の補助記憶装置として機能する不揮発性のメモリである。このNVM300は、NVM制御部200の制御によりアクセスされる。このNVM300は、フラッシュメモリにより構成されてもよく、不揮発性ランダムアクセスメモリNVRAMにより構成されてもよい。このNVM300は、SnDStoreandDownloadモデルおよびXIPeXecuteInPlaneモデルの何れにも適用することができる。SnDモデルでは、NVM300上のデータはDRAM120を介してプロセッサ110からアクセスされる。したがって、NVM300上のデータは一旦DRAM120に転送されることによりメモリ空間としてアクセス可能となる。一方、XIPモデルでは、NVM300に記憶されているデータはそのままプロセッサ110のメモリ空間としてアクセス可能である。このXIPモデルの場合、DRAM120の役割をNVM300に持たせ、DRAM120自体を省いて構成してもよい。なお、NVM300は、特許請求の範囲に記載のメモリの一例である。NVM制御部200は、NVM300を制御するものであり、プロセッサ110とNVM300とを接続する。このNVM制御部200はNVM300との間でデータ転送するためのデータバッファを備える。このデータバッファはNVM制御部200の外付けメモリデバイスとして実現してもよく、また、内蔵メモリとして実現してもよい。なお、NVM制御部200は、特許請求の範囲に記載の記憶制御装置の一例である。また、NVM制御部200およびNVM300は、特許請求の範囲に記載の記憶装置の一例である。図2は、本技術の実施の形態におけるNVM制御部200の構成例を示す図である。このNVM制御部200は、プロセッサインターフェース201と、NVMインターフェース203と、データバッファ210とを備えている。また、第1ECC生成部220と、第1ECC誤り検出部230と、第2ECC生成部240と、第2ECCバッファ250と、第2ECCバッファ制御部260と、第2ECC誤り検出部270と、誤り訂正部280と、アクセス制御部290とを備えている。プロセッサインターフェース201は、プロセッサ110との間のやりとりを行うためのインターフェースである。また、NVMインターフェース203は、NVM300との間のやりとりを行うためのインターフェースである。データバッファ210は、プロセッサ110とNVM300との間で転送されるデータのバッファである。プロセッサ110からNVM300に対するライトストア動作であれば、プロセッサ110から受け付けられたデータが保持される。NVM300からプロセッサ110に対するリードロード動作であれば、NVM300から読み出されたデータが保持される。第1ECC生成部220は、ライト動作の際、データバッファ210に保持されたデータについて第1のエラー訂正コード第1ECCを生成するものである。この第1ECC生成部220によって生成された第1ECCは、NVM300においてデータと対応付けて記憶される。したがって、この第1ECCは、NVM300におけるアクセス単位を符号化対象とするエラー訂正コードであることが好ましい。また、第1ECCとしては、BCH符号を採用することができる。なお、エラー訂正コードはエラー誤り検出の機能も包含しているため、誤り検出符号、エラー検出符号、エラー検出コードなどと呼称する場合もある。なお、第1ECC生成部220は、特許請求の範囲に記載の第1のエラー検出符号生成部の一例である。第1ECC誤り検出部230は、リード動作の際、NVM300から読み出されたデータおよび第1ECCに基づいて、データにおける誤りエラーを検出するものである。なお、第1ECC誤り検出部230は、特許請求の範囲に記載の第1のエラー検出部の一例である。第2ECC生成部240は、データバッファ210に保持されたデータについて第2のエラー訂正コード第2ECCを生成するものである。この第2ECC生成部240によって生成された第2ECCは、NVM300におけるデータと対応付けて、第2ECCバッファ250に保持される。この第2ECCの符号化対象の単位は、第1ECCよりも小さく設定される。例えば、NVM300におけるページアクセスの単位で第1ECCを生成し、NVM300におけるランダムアクセスの単位で第2ECCを生成することが考えられる。第1ECCの符号化対象の単位は、第2ECCの符号化対象の単位の整数倍であることが好ましい。以下の例では、第1ECCの符号化対象の単位を256バイト、第2ECCの符号化対象の単位を32バイトと想定するが、これに限定されるものではない。また、第2ECCとしては、ハミング符号を採用することができる。なお、第2ECC生成部240は、特許請求の範囲に記載の第2のエラー検出符号生成部の一例である。また、ページアクセス単位は特許請求の範囲に記載の第1のデータ単位の一例であり、ランダムアクセス単位は特許請求の範囲に記載の第2のデータ単位の一例である。第2ECCバッファ250は、第2ECC生成部240において生成された第2ECCを保持するバッファである。第2ECCはNVM300には記憶されず、この第2ECCバッファ250に一時的に保持される。NVM300には第1ECCが記憶されているため、基本的なデータ保持特性は第1ECCにより担保される。したがって、第2ECCは補助的に利用されるものであり、第2ECCバッファ250に容量上の制約がある場合には第2ECCを保持しないこともあり得る。この第2ECCバッファ250は同図のようにNVM制御部200の内部に存在してもよく、また、NVM制御部200の外部に設けてもよい。なお、第2ECCバッファ250は、特許請求の範囲に記載のエラー検出符号保持部の一例である。この第2ECCバッファ250の構成例については図面を参照して後述する。第2ECCバッファ制御部260は、第2ECCバッファ250の動作を制御するものである。この第2ECCバッファ制御部260は、第2ECCバッファ250に対するリードおよびライトの制御や、第2ECCバッファ250に保持された第2ECCとそのアドレスの管理などを行う。第2ECC誤り検出部270は、リード動作の際、NVM300から読み出されたデータおよび第2ECCバッファ250に保持されている第2ECCに基づいて、データにおける誤りエラーを検出するものである。なお、第2ECC誤り検出部270は、特許請求の範囲に記載の第2のエラー検出部の一例である。誤り訂正部280は、第1ECC誤り検出部230または第2ECC誤り検出部270において誤りエラーが検出された際に、その誤りを訂正するものである。この誤り訂正部280は、それぞれの誤りを検出したエラー訂正コードによって誤り訂正を行う。すなわち、第1ECC誤り検出部230において誤りが検出された場合には第1ECCにより誤り訂正を行い、第2ECC誤り検出部270において誤りが検出された場合には第2ECCにより誤り訂正を行う。なお、誤り訂正部280は、特許請求の範囲に記載のエラー訂正部の一例である。アクセス制御部290は、プロセッサ110からNVM300に対するアクセスを制御するものである。すなわち、このアクセス制御部290は、プロセッサ110からのコマンドおよびデータに基づいてNVM300に対するアクセス制御を行い、その結果をステータスとしてプロセッサ110に返す役割を有する。なお、ここでは、第1ECCによる訂正処理を前提としているため、第2ECCの訂正能力は第1ECCよりも低いもので構わない。例えば、第1ECCの符号化単位が256バイト、第2ECCの符号化単位が32バイトとしたとき、第1ECCにおいて8ビット訂正の訂正能力を有するのであれば、第2ECCにおいては2ビット訂正の訂正能力でも構わない。この場合、2ビット訂正の訂正能力であれば、NVM300のデータに対して約10以下の容量で実現することができ、少ない容量で多くのデータ領域を高速化することができる。図3は、本技術の実施の形態におけるNVM300の構成例を示す図である。NVM300は、上述のように、フラッシュメモリにより構成されてもよく、不揮発性ランダムアクセスメモリNVRAMにより構成されてもよい。同図aはNVM300をNAND型フラッシュメモリにより構成した場合の例であり、同図bはNVM300をNVRAMにより構成した場合の例である。NAND型フラッシュメモリの場合は、ページ毎にまとめてアクセスされるため、第1ECC312を符号化対象となるデータ311に続いて記憶することが好ましい。一方、NVRAMの場合は、ランダムアクセスが可能であることから、第1ECC322をデータ321とは異なる領域に記憶することが好ましい。[第2ECCバッファの構成例]図4は、本技術の実施の形態におけるメモリアドレスフィールドの一例を示す図である。この例では、第1ECCの符号化対象の単位を256バイト、第2ECCの符号化対象の単位を32バイトと想定している。したがって、32ビットアドレス空間とした場合、256バイトの第1ECC対象データ空間は下位8ビットのアドレスフィールドNVM-ADRL620に割り当てられる。残りの上位24ビットアドレスフィールドNVM-ADRU610は、タグアドレスとして第2ECCバッファ250における比較対象となる。下位8ビットアドレスNVM-ADRL620において、32バイトの第2ECC対象データ空間は下位5ビットのアドレスフィールドNVM-ADRLb622に割り当てられる。残りのアドレスフィールドNVM-ADRLa621は、第2ECCバッファ250において、ページアクセス単位の256バイトの中から目的のランダムアクセス単位の32ビットを特定するために利用される。図5は、本技術の実施の形態における第2ECCバッファ250の項目例を示す図である。この第2ECCバッファ250はn1個のエントリnは1以上の整数からなるテーブル構成を有しており、各エントリはタグアドレス251と第2ECC252との組合せを保持する。各エントリには、第2ECCバッファ250のバッファ内アドレスEBADRが付与されている。このテーブル構成の記憶素子としては、NVM300と異なり、揮発性メモリを用いることができる。なお、この例ではフルアソシアティブ方式のキャッシュメモリと同等の構成を想定しており、メモリアドレスとバッファ内アドレスとの間に制約は設けられていないため、各エントリにはメモリアドレスとは無関係に第2ECCを保持することができる。第2ECCバッファ250に空き領域がなくなった場合も通常のキャッシュメモリと同様のエントリ選択方式を採用することができる。例えば、LRULeastRecentlyUsed方式により、最近最も使われていないエントリを利用することが考えられる。また、利用頻度が最も低いエントリを利用するようにしてもよい。タグアドレス251はアドレスフィールドの上位部分であり、上述の例では上位24ビットアドレスフィールドNVM-ADRUに相当する。この例では、それぞれのタグアドレスをEBADRi-ADRUと表す。ここで、iはバッファ内アドレスEBADRを意味する。第2ECC252は、上述のようにランダムアクセス単位のデータを符号化対象とするエラー訂正コードである。ここでは、ページアクセス単位の256バイトに対してランダムアクセス単位の32バイトのデータを符号化対象とするため、各エントリには8つずつの第2ECCが保持される。この例では、それぞれの第2ECCをEBADRi-ECCjと表す。ここで、iはバッファ内アドレスEBADRを意味し、jはページアクセス単位の256バイトにおけるランダムアクセス単位の32ビットの順序0乃至7の整数を意味する。図6は、本技術の実施の形態における第2ECCバッファ250の構成例を示す図である。この第2ECCバッファ250は、上述のタグアドレス251と第2ECC252との組合せを保持するテーブルと、比較器253と、第1の選択器254と、第2の選択器255とを備える。比較器253は、上位アドレスNVM-ADRU610とタグアドレスEBADRi-ADRU251とを比較するn1個の比較器である。この比較結果は第1の選択器254に供給される。第1の選択器254は、比較器253による比較結果に従って、8個の第2ECC252からなるn1個のエントリの中から何れかのエントリを選択するものである。比較器253による比較の結果、n1個のエントリの何れかに上位アドレスNVM-ADRU610と合致するタグアドレスが存在する場合には、対応するエントリに含まれる8個の第2ECC252が第1の選択器254において選択される。第2の選択器255は、第1の選択器254において選択された8個の第2ECC252の中から、アドレスフィールドNVM-ADRLa621によって特定された第2ECCを選択するものである。このようにして選択された第2ECCは、誤り検出のために第2ECC誤り検出部270に供給される。なお、ここでは読出しの際に必要な回路構成例を示したが、書込みの際にも同様の要領でメモリアドレスと第2ECCとの対応関係を特定することになる。<2.実施の形態の動作>[情報処理システムの動作例]図7は、本技術の実施の形態における情報処理システムのリード動作手順の一例を示す流れ図である。第2ECCバッファ250にリード対象となるデータの第2ECCが存在しなかった場合ステップS911、NVM300からページアクセス単位によるリードアクセスが行われるステップS921。これにより、データおよび対応する第1ECCがNVM300から読み出される。NVM300から読み出されたデータおよび第1ECCに基づいて、第1ECC誤り検出部230がデータにおける誤りを検出し、誤り訂正部280が誤りを訂正するステップS922。誤り訂正されたデータはデータバッファ210に保持される。これと並行して、NVM300から読み出されたデータについて、第2ECC生成部240において第2ECCの生成処理が行われるステップS923。このようにして生成された第2ECCは第2ECCバッファ250に保持されるステップS924。ページアクセスの単位は、第2ECCの符号化対象であるランダムアクセスの単位よりも大きいため、複数の第2ECCを生成するために第2ECCの生成処理が繰り返されるステップS925。想定している例では、ページアクセスにより256バイトのデータが読み出されるため、32バイトを単位として8つの第2ECCが生成される。データバッファ210に保持されたページアクセス単位のデータのうち、リード対象となるデータがプロセッサインターフェース201を介してプロセッサ110に出力されるステップS926。一方、第2ECCバッファ250にリード対象となるデータの第2ECCが存在した場合ステップS911、その第2ECCが第2ECCバッファ250から読み出されるステップS912。これと並行して、そのリード対象となるデータのNVM300からの読出しが行われて、データバッファ210に保持されるステップS913。NVM300から読み出されたデータおよび第2ECCバッファ250から読み出された第2ECCに基づいて、第2ECC誤り検出部270がデータにおける誤りを検出し、誤り訂正部280が誤りを訂正するステップS914。誤りの訂正が発生した場合にはデータバッファ210上で訂正個所が修正され、リード対象となるデータがプロセッサインターフェース201を介してプロセッサ110に出力されるステップS915。リード対象となるデータが完了していない場合にはデータが終了するまでNVM300からの読出しが繰り返されるステップS916。なお、ステップS922は、特許請求の範囲に記載の第1のエラー検出手順の一例である。また、ステップS923は、特許請求の範囲に記載の第2のエラー検出符号生成手順の一例である。また、ステップS914は、特許請求の範囲に記載の第2のエラー検出手順の一例である。図8は、本技術の実施の形態における情報処理システムのライト動作手順の一例を示す流れ図である。NVM300上では第1ECCによるデータ保護が行われるため、ライト動作の単位はページアクセス単位となる。そのため、まずライト対象データを含むページ全体のデータ256バイト分をNVM300からデータバッファ210に読み出すステップS931。そして、プロセッサ110からのライトデータ32バイト分を、データバッファ210上のページアクセス単位のデータに埋め込むことにより反映させるステップS932。このようにしてライトデータが反映されたデータバッファ210上のデータを対象として、第1ECC生成部220が第1ECCを生成するステップS933。これと並行して、第2ECCバッファ250上の第2ECCが更新される。すなわち、ライト対象データに対応する第2ECCが第2ECCバッファ250上に存在する場合ステップS934、第2ECC生成部240がランダムアクセス単位で第2ECCを生成するステップS935。生成された第2ECCは第2ECCバッファ250に保持されることにより更新されるステップS936。ライト対象となるデータの全てについて第2ECCが生成されていない場合には全ての第2ECCが生成されるまで第2ECC生成処理が繰り返されるステップS937。ライトデータが反映されたデータバッファ210上のページ全体のデータ256バイト分および第1ECC生成部220によって生成された第1ECCは、NVM300に書き込まれるステップS938。なお、ステップS933は、特許請求の範囲に記載の第1のエラー検出符号生成手順の一例である。[処理速度の向上例]図9は、本技術の実施の形態の情報処理システムによる処理速度向上例を示す図である。同図aは1回目のリード動作タイミングを示している。この場合、第2ECCバッファ250に第2ECCが保持されていないため、NVM300からページアクセス単位のデータを全て読み出した上で第1ECCによる誤り検出訂正処理を行う必要がある。したがって、リードビジー期間経過後、ページアクセス単位256バイト分のデータをNVM300からデータバッファ210に転送した後に、第1ECC誤り検出部230および誤り訂正部280において誤り検出訂正処理が行われる。その後、データバッファ210に保持されたページアクセス単位のデータの中からランダムアクセス単位32バイト分のデータがプロセッサ110に転送される。この1回目のリード動作では、データバッファ210への転送と並行して、第2ECC生成部240において第2ECCの生成が行われる。想定している例では、ページアクセスにより256バイトのデータが読み出されるため、32バイトを単位として8つの第2ECCが生成される。同図bは2回目以降のリード動作タイミングを示している。この場合、第2ECCバッファ250に第2ECCが保持されており、第1ECCによる誤り検出訂正処理を行う必要がないため、リード対象となるデータのみをNVM300からランダムアクセスすることができる。すなわち、リードビジー期間経過後、ランダムアクセス単位32バイト分のデータをNVM300からデータバッファ210に転送した後に、第2ECC誤り検出部270および誤り訂正部280において誤り検出訂正処理が行われる。その後、データバッファ210に保持されたランダムアクセス単位のデータ32バイト分がプロセッサ110に転送される。このように、2回目以降のリード動作では、第2ECCバッファ250に保持されている第2ECCを利用することができるため、リード対象となるデータのみをNVM300からリードすればよく、パフォーマンスを向上させることができる。[状態別動作まとめ]図10は、本技術の実施の形態の情報処理システムにおける1回目のリード動作のデータフロー例を示す図である。この場合、第2ECCバッファ250に第2ECCが保持されていないため、NVM300からページアクセス単位のデータを全て読み出した上で第1ECCによる誤り検出訂正処理が行われる。誤り検出訂正処理結果は、データバッファ210および第2ECC生成部240へ出力される。生成された第2ECCは第2ECCバッファ250上に保持される。NVM300から読み出されるデータサイズはページサイズ単位であるため、第2ECC生成部240はランダムアクセス単位に分割して、それぞれについて第2ECCを生成し、第2ECCバッファ250へ出力する。データバッファ210に保持されたページアクセス単位のデータの中からリード対象のランダムアクセス単位のデータがプロセッサ110に転送される。図11は、本技術の実施の形態の情報処理システムにおける2回目以降のリード動作のデータフロー例を示す図である。この場合、第2ECCバッファ250に第2ECCが保持されており、第1ECCによる誤り検出訂正処理を行う必要がなく、第2ECCによって誤り検出訂正処理が行わる。その結果のデータはデータバッファ210を経由してプロセッサインターフェース201からプロセッサ110に出力される。NVM300からはランダムアクセス単位で読み出され、リード対象となるデータのみを読み出すことができる。図12は、本技術の実施の形態の情報処理システムにおいて第2ECCバッファ250に対応する第2ECCが存在する場合のライト動作のデータフロー例を示す図である。この場合、ライト対象データを含むページ全体のデータをNVM300からデータバッファ210に読み出す必要がある。そして、プロセッサ110からのライトデータを、データバッファ210上のページアクセス単位のデータに埋め込むことにより反映させる。その後、ページ全体のデータを第1ECC生成部220へ供給して第1ECCを生成し、生成された第1ECCとライトデータをNVM300へ出力する。それと同時に、ページ全体のデータを第2ECC生成部240へ供給して、ランダムアクセス単位の第2ECCを生成して、第2ECCバッファ250上の第2ECCの更新も行う。図13は、本技術の実施の形態の情報処理システムにおいて第2ECCバッファ250に対応する第2ECCが存在しない場合のライト動作のデータフロー例を示す図である。この場合も、ライト対象データを含むページ全体のデータをNVM300からデータバッファ210に読み出す必要がある。そして、プロセッサ110からのライトデータを、データバッファ210上のページアクセス単位のデータに埋め込むことにより反映させる。その後、ページ全体のデータを第1ECC生成部220へ供給して第1ECCを生成し、生成された第1ECCとライトデータをNVM300へ出力する。ただし、第2ECCバッファ250の更新は必要ないため、第2ECCの生成も行われない。このように、本技術の実施の形態によれば、第2ECCバッファ250を設けることにより、NVM300における記憶容量を圧迫することなく、アクセスサイズに応じて第1ECCまたは第2ECCを用いてエラー検出訂正処理を行うことができる。第2ECCバッファ250は、キャッシュメモリと同様の構造を有し、必要な容量の第2ECCのみが保持される。NVM300上のデータを書き換えることや、頻繁にアクセスすることなく、ランダムアクセス性能を向上させることができる。第2ECCはランダムアクセス単位に対する相対的な容量が大きいため、仮に第2ECCをNVM300に記憶してしまうとアクセス帯域へ影響を与えるおそれがあるが、この実施の形態によればNVM300における記憶容量を圧迫することはない。第2ECCバッファ250は不揮発性メモリによって構成することができるため、ビットコストを抑えることができる。なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CDCompactDisc、MDMiniDisc、DVDDigitalVersatileDisk、メモリカード、ブルーレイディスクBlurayDisc登録商標等を用いることができる。なお、本技術は以下のような構成もとることができる。1メモリから読み出された第1のデータ単位および当該第1のデータ単位に対応する第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号が前記メモリとは異なるエラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部とを具備する記憶制御装置。2ライト対象となるデータを含む第1のデータ単位に対応して第1のエラー検出符号を生成して前記第1のデータ単位および前記第1のエラー検出符号をメモリに対してライトさせる第1のエラー検出符号生成部と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を保持するエラー検出符号保持部と、リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第1のデータ単位および当該第1のデータ単位に対応する前記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる第2のエラー検出符号生成部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部とを具備する記憶制御装置。3前記第2のエラー検出符号生成部は、前記ライト対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記ライト対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる前記2に記載の記憶制御装置。4前記第1または第2のエラー検出符号はエラー訂正機能を備え、前記第1または第2のエラー検出部においてエラーが検出された場合に前記第1または第2のエラー検出符号に従ってエラー訂正を行うエラー訂正部をさらに具備する前記2または3に記載の記憶制御装置。5第1のデータ単位に対応する第1のエラー検出符号を前記第1のデータ単位と対応付けて記憶するメモリと、ライト対象となるデータを含む前記第1のデータ単位に対応して前記第1のエラー検出符号を生成して前記第1のデータ単位および前記第1のエラー検出符号を前記メモリに対してライトさせる第1のエラー検出符号生成部と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を保持するエラー検出符号保持部と、リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第1のデータ単位および当該第1のデータ単位に対応する前記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる第2のエラー検出符号生成部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部とを具備する記憶装置。6前記メモリは、不揮発性メモリである前記5に記載の記憶装置。7第1のデータ単位に対応する第1のエラー検出符号を前記第1のデータ単位と対応付けて記憶するメモリと、ライト対象となるデータを含む前記第1のデータ単位に対応して前記第1のエラー検出符号を生成して前記第1のデータ単位および前記第1のエラー検出符号を前記メモリに対してライトさせる第1のエラー検出符号生成部と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号を保持するエラー検出符号保持部と、リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第1のデータ単位および当該第1のデータ単位に対応する前記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる第2のエラー検出符号生成部と、前記リード対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出部と、前記メモリに対してデータのリードまたはライトを要求するリクエストを発行するプロセッサとを具備する情報処理システム。8ライト対象となるデータを含む第1のデータ単位に対応して第1のエラー検出符号を生成して前記第1のデータ単位および前記第1のエラー検出符号をメモリに対してライトさせる第1のエラー検出符号生成手順と、前記第1のデータ単位よりも小さい第2のデータ単位に対応する第2のエラー検出符号であってリード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記メモリとは異なるエラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第1のデータ単位および当該第1のデータ単位に対応する前記第1のエラー検出符号に従ってエラー検出を行う第1のエラー検出手順と、前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号が前記エラー検出符号保持部に保持されていない場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位に対応する前記第2のエラー検出符号を生成して前記エラー検出符号保持部に保持させる第2のエラー検出符号生成手順と、前記リード対象となるデータを含む前記第2のデータ単位に対応する第2のエラー検出符号が前記エラー検出符号保持部に保持されている場合に、前記メモリから読み出された前記リード対象となるデータを含む前記第2のデータ単位および前記エラー検出符号保持部に保持されている前記第2のエラー検出符号に従ってエラー検出を行う第2のエラー検出手順とを具備する記憶制御方法。