(57)【要約】      （修正有）【課題】誤り訂正が発生したとしてもデータ伝送が待たされる時間を少なくし、データ転送に要する時間を短縮することが可能なデータ転送装置、メモリ制御装置、およびメモリシステムを提供する。【解決手段】データ転送元の第１メモリ装置２００の第１メモリアドレスと、データ転送先の第２メモリ装置の第２メモリアドレスと、転送データに誤りが検出されたか否かを示す誤り信号と、誤り訂正が完了して第２メモリ装置１０６に格納しているデータが有効であるか否かを示す有効信号を記憶する領域を複数含むデータ情報記憶領域１０９と、第２メモリ装置に格納しているデータのうち、データが有効であるメモリのアドレスである第２メモリ有効アドレスを出力し、第２メモリ装置の第２メモリ有効アドレスからデータを読出し、読出したデータと共に、第２メモリ有効アドレスに対応する第１メモリ装置のアドレスを転送する制御部１０８とを有する。【選択図】図１
2012128778.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正符号が付加されたデータを記憶する第１メモリ装置から転送されるデータを保持する第２メモリ装置と、
訂正前のデータと誤り訂正符号から誤りを検出する誤り検出部と、
誤り検出部からの誤り検出信号、誤り情報から誤り位置を求め、誤りを含むデータを書き込んだ上記第２メモリ装置のアドレスと誤り位置情報から誤りデータを訂正する誤り訂正部と、
データ転送元の上記第１メモリ装置の第１メモリアドレスと、データ転送先の上記第２メモリ装置の第２メモリアドレスと、転送データに誤りが検出されたか否かを示す誤り信号と、誤り訂正が完了して上記第２メモリ装置に格納しているデータが有効であるか否かを示す有効信号を記憶する領域を複数含むデータ情報記憶領域と、
上記第２メモリ装置に格納しているデータのうち、データが有効であるメモリのアドレスである第２メモリ有効アドレスを出力し、上記第２メモリ装置の第２メモリ有効アドレスからデータを読出し、当該読出したデータと共に、第２メモリ有効アドレスに対応する上記第１メモリ装置のアドレスを転送する制御部と
を有するデータ転送装置。
【請求項２】
上記制御部は、
データの読出し要求を受けると、上記データ情報記憶領域の上記有効信号が無効を示し、誤り信号が誤りを非検出であり、上記第２メモリ装置に空きがあることを示している場合に、上記第２メモリ装置の書込みアドレスを設定して読出しデータを上記第２メモリ装置へ書込み、
読出しデータの誤りチェックで誤り未検出の場合、第２メモリ装置の書込みアドレスに指定されているアドレスに対応する有効信号を“有効”に、誤り信号を“なし”に、第１メモリアドレスに読出した第１メモリ装置のアドレス、第２メモリ装置の書込みアドレスを設定し、
読出しデータの誤りチェックで誤りが検出された場合、上記第２メモリ装置の書込みアドレスに指定されているアドレスに対応する有効信号を“無効”に、誤り信号を“あり”に、第１メモリアドレスに読出した上記第１メモリ装置のアドレス、第２メモリ装置の書込みアドレスを設定する
請求項１記載のデータ転送装置。
【請求項３】
上記制御部は、
上記第２メモリ装置からデータを読出す際には、
上記データ情報記憶領域の上記有効信号が有効を示す第２メモリアドレスが存在する場合、上記第２メモリ装置の読出しアドレスと読出し要求を出力して、アドレス指定された上記第２メモリ装置からデータを読出してデータおよび読み出した第２メモリアドレスに対応する第１メモリアドレスを出力し、
データの読出しを完了すると、上記データ情報記憶領域の、上記第２メモリ装置の読出しアドレスに対応する有効信号を“無効”に設定する
請求項１または２記載のデータ転送装置。
【請求項４】
第１メモリ装置間のデータ転送を行う少なくとも一つのデータ転送装置と、
少なくともホスト機器との間の転送制御を行うメモリコントローラと、を有し、
上記データ転送装置は、
誤り訂正符号が付加されたデータを記憶する上記第１メモリ装置から転送されるデータを保持する第２メモリ装置と、
訂正前のデータと誤り訂正符号から誤りを検出する誤り検出部と、
誤り検出部からの誤り検出信号、誤り情報から誤り位置を求め、誤りを含むデータを書き込んだ上記第２メモリ装置のアドレスと誤り位置情報から誤りデータを訂正する誤り訂正部と、
データ転送元の上記第１メモリ装置の第１メモリアドレスと、データ転送先の上記第２メモリ装置の第２メモリアドレスと、転送データに誤りが検出されたか否かを示す誤り信号と、誤り訂正が完了して上記第２メモリ装置に格納しているデータが有効であるか否かを示す有効信号を記憶する領域を複数含むデータ情報記憶領域と、
上記第２メモリ装置に格納しているデータのうち、データが有効であるメモリのアドレスである第２メモリ有効アドレスを出力し、上記第２メモリ装置の第２メモリ有効アドレスからデータを読出し、当該読出したデータと共に、第２メモリ有効アドレスに対応する上記第１メモリ装置のアドレスを転送する第１制御部と、を含み、
上記メモリコントローラは、
上記ホスト機器からの読出しコマンドを受信し、読出し論理アドレスを第１メモリ物理アドレスに変換し、物理アドレスを論理アドレスに変換するアドレス制御部と、
上記ホスト機器にデータを出力するときに、合わせて論理アドレスも転送し、読出しコマンドで要求されたサイズのデータ転送が完了したときに、データ転送が完了したことを示す割り込み信号をホストに通知する転送制御系と、を含む
メモリ制御装置。
【請求項５】
上記第１制御部は、
データの読出し要求を受けると、上記データ情報記憶領域の上記有効信号が無効を示し、誤り信号が誤りを非検出であり、上記第２メモリ装置に空きがあることを示している場合に、上記第２メモリ装置の書込みアドレスを設定して読出しデータを上記第２メモリ装置へ書込み、
読出しデータの誤りチェックで誤り未検出の場合、第２メモリ装置の書込みアドレスに指定されているアドレスに対応する有効信号を“有効”に、誤り信号を“なし”に、第１メモリアドレスに読出した第１メモリ装置のアドレスを設定し、
読出しデータの誤りチェックで誤りが検出された場合、上記第２メモリ装置の書込みアドレスに指定されているアドレスに対応する有効信号を“無効”に、誤り信号を“あり”に、第１メモリアドレスに読出した上記第１メモリ装置のアドレスを設定する
請求項４記載のメモリ制御装置。
【請求項６】
上記第１制御部は、
上記第２メモリ装置からデータを読出す際には、
上記データ情報記憶領域の上記有効信号が有効を示す第２メモリアドレスが存在する場合、上記第２メモリ装置の読出しアドレスと読出し要求を出力して、アドレス指定された上記第２メモリ装置からデータを読出してデータおよび読出し論理アドレスを出力し、
データの読出しを完了すると、上記データ情報記憶領域の、上記第２メモリ装置の読出しアドレスに対応する有効信号を“無効”に設定する
請求項４または５記載のメモリ制御装置。
【請求項７】
上記メモリコントローラは、
ホスト機器へ読出しデータを返す際に指定する転送先アドレスの初期値を保持する転送先アドレス保持部と、
読出しアドレスと読出しサイズにより形成される上記ホスト機器からの読出しコマンドを受信し、コマンドを解析して読み出す第１メモリ装置のアドレスを出力するコマンド処理部と、
読出し論理アドレスを第１メモリア物理ドレスに変換し、物理アドレスを論理アドレスに変換するアドレス制御部と、
上記コマンド処理部から通知される物理アドレスに基づき、上記第１メモリ装置のインターフェイスを制御し、データを読み出すインターフェイス制御部と、
上記ホスト機器へ読出しデータを返す際に指定するアドレスの初期値、読出しデータに対応する論理アドレスと、読出しコマンドで指定された読出しアドレスから読出したデータを返す上記ホスト機器の転送先アドレスを生成する転送先アドレス生成部と、
上記ホスト機器に読出しデータを出力するときに、合わせて転送先アドレスも転送し、読出しコマンドで要求されたサイズのデータ転送が完了したときに、データ転送が完了したことを示す割り込み信号をホストに通知する転送制御系と、を含む
請求項４から６のいずれか一に記載のメモリ制御装置。
【請求項８】
上記メモリコントローラは、
上記データ転送装置と上記第１メモリ装置とのインターフェイスを複数有し、
上記データ転送装置からの出力要求を受けて、データ転送を行うデータ転送装置を選択する機能を含む
請求項４から７のいずれか一に記載のメモリ制御装置。
【請求項９】
上記データ転送装置は、
上記第２メモリ装置にデータを格納した順に、データを転送する逐次モードと、
上記データ情報記憶領域の有効信号が“有効”に設定されているアドレスを優先シテ、読出しアドレスとして選択する優先モードと、を有し、
上記逐次モードと上記優先モードのいずれでデータ転送するかを設定可能である
請求項４から８のいずれか一に記載のメモリ制御装置。
【請求項１０】
ホスト機器と、
誤り訂正符号が付加されたデータを記憶する第１メモリ装置と、
上記ホスト機器および上記第１メモリ装置とのデータ転送制御を行うメモリ制御装置と、を有し、
上記メモリ制御装置は、
第１メモリ装置間のデータ転送を行う少なくとも一つのデータ転送装置と、
少なくともホスト機器との間の転送制御を行うメモリコントローラと、を有し、
上記データ転送装置は、
誤り訂正符号が付加されたデータを記憶する上記第１メモリ装置から転送されるデータを保持する第２メモリ装置と、
訂正前のデータと誤り訂正符号から誤りを検出する誤り検出部と、
誤り検出部からの誤り検出信号、誤り情報から誤り位置を求め、誤りを含むデータを書き込んだ上記第２メモリ装置のアドレスと誤り位置情報から誤りデータを訂正する誤り訂正部と、
データ転送元の上記第１メモリ装置の第１メモリアドレスと、データ転送先の上記第２メモリ装置の第２メモリアドレスと、転送データに誤りが検出されたか否かを示す誤り信号と、誤り訂正が完了して上記第２メモリ装置に格納しているデータが有効であるか否かを示す有効信号を記憶する領域を複数含むデータ情報記憶領域と、
上記第２メモリ装置に格納しているデータのうち、データが有効であるメモリのアドレスである第２メモリ有効アドレスを出力し、上記第２メモリ装置の第２メモリ有効アドレスからデータを読出し、当該読出したデータと共に、第２メモリ有効アドレスに対応する上記第１メモリ装置のアドレスを転送する第１制御部と、を含み、
上記メモリコントローラは、
上記ホスト機器からの読出しコマンドを受信し、読出し論理アドレスを第１メモリ物理アドレスに変換し、物理アドレスを論理アドレスに変換するアドレス制御部と、
上記ホスト機器にデータを出力するときに、合わせて論理アドレスも転送し、読出しコマンドで要求されたサイズのデータ転送が完了したときに、データ転送が完了したことを示す割り込み信号をホストに通知する転送制御系と、を含む
メモリシステム。
【請求項１１】
上記メモリコントローラは、
ホスト機器へ読出しデータを返す際に指定する転送先アドレスの初期値を保持する転送先アドレス保持部と、
読出しアドレスと読出しサイズにより形成される上記ホスト機器からの読出しコマンドを受信し、コマンドを解析して読み出す第１メモリ装置のアドレスを出力するコマンド処理部と、
読出し論理アドレスを第１メモリ物理アドレスに変換し、第１メモリ物理アドレスを論理アドレスに変換するアドレス制御部と、
上記コマンド処理部から通知される物理アドレスに基づき、上記第１メモリ装置のインターフェイスを制御し、データを読み出すインターフェイス制御部と、
上記ホスト機器へ読出しデータを返す際に指定するアドレスの初期値、読出しデータに対応する論理アドレスと、読出しコマンドで指定された読出しアドレスから読出したデータを返す上記ホスト機器の転送先アドレスを生成する転送先アドレス生成部と、
上記ホスト機器に読出しデータを出力するときに、合わせて転送先アドレスも転送し、読出しコマンドで要求されたサイズのデータ転送が完了したときに、データ転送が完了したことを示す割り込み信号をホストに通知する転送制御系と、を含む
請求項１０記載のメモリシステム。
【請求項１２】
上記データ転送装置は、
上記第２メモリ装置にデータを格納した順に、データを転送する逐次モードと、
上記データ情報記憶領域の有効信号が“有効”に設定されているアドレスを優先シテ、読出しアドレスとして選択する優先モードと、を有し、
上記ホスト機器は、
上記逐次モードと上記優先モードのいずれでデータ転送するかを設定可能である
請求項１０または１１記載のメモリシステム。
【請求項１３】
上記ホスト機器とメモリコントローラとの間は、シリアル転送インターフェイスにより接続されている
請求項１０から１２のいずれか一に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリ等にアクセスし誤り訂正機能を有するデータ転送装置、メモリ制御装置、およびメモリシステムに関するものである。
【背景技術】
【０００２】
メモリに書き込まれたデータの信頼性を上げるために、図１６に示すように、誤り訂正符号が用いられている。
特に、不揮発性メモリではデータの書き込み後、繰り返しのデータ読出しや、保持期間が長くなるほど、保持しているデータが劣化し、ビット化けによって、正しいデータが読み出せなくなってしまう場合がある。
【０００３】
そのため、不揮発性メモリを制御するメモリコントローラは書き込みデータに誤り訂正符号を付加してデータを書き込み、読出し時にエラー検出と訂正を行うことによって、データの信頼性を改善している。
【０００４】
一方、その読出しデータに誤りが発生すると、その訂正処理には一定の時間を要し、訂正が完了するまでメモリコントローラから外部へデータを出力することができず、データの出力が遅延する。
この場合、後続のデータがある場合には、データの出力は待たされ、その結果、データの読出し性能が低下することになる。
【０００５】
また、不揮発性メモリの一つであるＮＡＮＤフラッシュメモリは年々、製造プロセスの微細化が進み、データの信頼性が低下しており、それに伴って、メモリコントローラには、より高い訂正能力を持った誤り訂正回路が求められてきている。
【０００６】
しかし、図１７に示すように、高い誤り訂正能力やＥＣＣをかけるデータの単位が大きくなることで、誤り訂正処理に要する時間も長くなり、読出しデータに訂正が発生した場合には、データの読出し性能がさらに低下することになる。
【０００７】
特許文献１には、複数のバッファＲＡＭを持ち、誤り訂正を行っている間に空いているバッファに次のデータを読み出すことで、読出しデータのパフォーマンスを改善する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−５７０６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記技術では、メモリから読出したデータの順に誤り訂正をして、ホストシステム装置に伝送しているため、誤り訂正が発生すると、必ずホストシステムへのデータ伝送が待たされることになる。
【００１０】
本発明は、誤り訂正が発生したとしてもデータ伝送が待たされる時間を少なくし、データ転送に要する時間を短縮することが可能なデータ転送装置、メモリ制御装置、およびメモリシステムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の観点のデータ転送装置は、誤り訂正符号が付加されたデータを記憶する第１メモリ装置から転送されるデータを保持する第２メモリ装置と、訂正前のデータと誤り訂正符号から誤りを検出する誤り検出部と、誤り検出部からの誤り検出信号、誤り情報から誤り位置を求め、誤りを含むデータを書き込んだ上記第２メモリ装置のアドレスと誤り位置情報から誤りデータを訂正する誤り訂正部と、データ転送元の上記第１メモリ装置の第１メモリアドレスと、データ転送先の上記第２メモリ装置の第２メモリアドレスと、転送データに誤りが検出されたか否かを示す誤り信号と、誤り訂正が完了して上記第２メモリ装置に格納しているデータが有効であるか否かを示す有効信号を記憶する領域を複数含むデータ情報記憶領域と、上記第２メモリ装置に格納しているデータのうち、データが有効であるメモリのアドレスである第２メモリ有効アドレスを出力し、上記第２メモリ装置の第２メモリ有効アドレスからデータを読出し、当該読出したデータと共に、第２メモリ有効アドレスに対応する上記第１メモリ装置のアドレスを転送する制御部とを有する。
【００１２】
本発明の第２の観点のメモリ制御装置は、第１メモリ装置間のデータ転送を行う少なくとも一つのデータ転送装置と、少なくともホスト機器との間の転送制御を行うメモリコントローラと、を有し、上記データ転送装置は、誤り訂正符号が付加されたデータを記憶する上記第１メモリ装置から転送されるデータを保持する第２メモリ装置と、訂正前のデータと誤り訂正符号から誤りを検出する誤り検出部と、誤り検出部からの誤り検出信号、誤り情報から誤り位置を求め、誤りを含むデータを書き込んだ上記第２メモリ装置のアドレスと誤り位置情報から誤りデータを訂正する誤り訂正部と、データ転送元の上記第１メモリ装置の第１メモリアドレスと、データ転送先の上記第２メモリ装置の第２メモリアドレスと、転送データに誤りが検出されたか否かを示す誤り信号と、誤り訂正が完了して上記第２メモリ装置に格納しているデータが有効であるか否かを示す有効信号を記憶する領域を複数含むデータ情報記憶領域と、上記第２メモリ装置に格納しているデータのうち、データが有効であるメモリのアドレスである第２メモリ有効アドレスを出力し、上記第２メモリ装置の第２メモリ有効アドレスからデータを読出し、当該読出したデータと共に、第２メモリ有効アドレスに対応する上記第１メモリ装置のアドレスを転送する第１制御部と、を含み、記メモリコントローラは、上記ホスト機器からの読出しコマンドを受信し、読出し論理アドレスを第１メモリ物理アドレスに変換し、物理アドレスを論理アドレスに変換するアドレス制御部と、上記ホスト機器にデータを出力するときに、合わせて論理アドレスも転送し、読出しコマンドで要求されたサイズのデータ転送が完了したときに、データ転送が完了したことを示す割り込み信号をホストに通知する転送制御系と、を含む。
【００１３】
本発明の第３の観点のメモリシステムは、ホスト機器と、誤り訂正符号が付加されたデータを記憶する第１メモリ装置と、上記ホスト機器および上記第１メモリ装置とのデータ転送制御を行うメモリ制御装置と、を有し、上記メモリ制御装置は、第１メモリ装置間のデータ転送を行う少なくとも一つのデータ転送装置と、少なくともホスト機器との間の転送制御を行うメモリコントローラと、を有し、上記データ転送装置は、誤り訂正符号が付加されたデータを記憶する上記第１メモリ装置から転送されるデータを保持する第２メモリ装置と、訂正前のデータと誤り訂正符号から誤りを検出する誤り検出部と、誤り検出部からの誤り検出信号、誤り情報から誤り位置を求め、誤りを含むデータを書き込んだ上記第２メモリ装置のアドレスと誤り位置情報から誤りデータを訂正する誤り訂正部と、データ転送元の上記第１メモリ装置の第１メモリアドレスと、データ転送先の上記第２メモリ装置の第２メモリアドレスと、転送データに誤りが検出されたか否かを示す誤り信号と、誤り訂正が完了して上記第２メモリ装置に格納しているデータが有効であるか否かを示す有効信号を記憶する領域を複数含むデータ情報記憶領域と、上記第２メモリ装置に格納しているデータのうち、データが有効であるメモリのアドレスである第２メモリ有効アドレスを出力し、上記第２メモリ装置の第２メモリ有効アドレスからデータを読出し、当該読出したデータと共に、第２メモリ有効アドレスに対応する上記第１メモリ装置のアドレスを転送する第１制御部と、を含み、上記メモリコントローラは、上記ホスト機器からの読出しコマンドを受信し、読出し論理アドレスを第１メモリ物理アドレスに変換し、物理アドレスを論理アドレスに変換するアドレス制御部と、上記ホスト機器にデータを出力するときに、合わせて論理アドレスも転送し、読出しコマンドで要求されたサイズのデータ転送が完了したときに、データ転送が完了したことを示す割り込み信号をホストに通知する転送制御系と、を含む。
【発明の効果】
【００１４】
本発明によれば、誤り訂正が発生したとしてもデータ伝送が待たされる時間を少なくし、データ転送に要する時間を短縮することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【図２】本第１の実施形態において、第１メモリ装置読出しおよび読出しデータ情報記憶領域の制御処理を説明するためのフローチャートである。
【図３】本第１の実施形態において、第２メモリ部から外部へデータを読出す処理を説明するためのフローチャートである。
【図４】本第１の実施形態において第１メモリ装置から読出し時における読出しデータ情報記憶領域の状態を具体的に説明するための図である。
【図５】本発明の第２の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【図６】ＮＡＮＤフラッシュメモリの基本的な特徴を説明するための図である。
【図７】コマンドフォーマット例を示す図である。
【図８】本発明の第３の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【図９】本発明の第４の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【図１０】本発明の第５の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【図１１】ＰＣＩ Ｅｘｐｒｅｓｓで用いられるパケットのフォーマットを示す図である。
【図１２】第５の実施形態におけるホスト機器とメモリコントローラ間のデータ転送、並びにメモリコントローラと不揮発性メモリ間のデータ転送を示す図である。
【図１３】本発明の第６の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【図１４】本実施形態において、エラー無しのデータから先出しする効果を示す図である。
【図１５】本実施形態において、複数の不揮発メモリＩ／Ｆがある場合のエラー無しのデータから先出しする効果を示す図である。
【図１６】メモリに書き込まれたデータの信頼性を上げるために、誤り訂正符号が用いられていることを示す図である。
【図１７】ＥＣＣをかけるデータの単位が大きくなることを示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面に関連付けて説明する。
なお、説明は以下の順序で行う。
１．第１の実施形態
２．第２の実施形態
３．第３の実施形態
４．第４の実施形態
５．第５の実施形態
６．第６の実施形態
【００１７】
＜１．第１の実施形態＞
図１は、本発明の第１の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【００１８】
本メモリシステム１０は、データ転送装置１００、および第１メモリ装置２００を含んで構成される。
【００１９】
本実施形態に係るデータ転送装置１００は、第１メモリ装置２００からデータを読出し、データを外部に転送する。
データ転送装置１００は、第１メモリ装置インターフェイス（Ｉ／Ｆ）制御部１０１、訂正符号生成部１０２、誤り訂正部１０３、誤り検出部１０４、第２メモリ部書込み制御部１０５、および第２メモリ装置としての第２メモリ部１０６を有する。
データ転送装置１００は、第２メモリ部読出し制御部１０７、読出しデータ情報記録領域制御部１０８、および読出しデータ情報記憶領域１０９を有する。
【００２０】
読出しデータ情報記憶領域１０９には第１メモリ装置２００から読出したデータが格納された第２メモリ部１０６のアドレス（第２メモリアドレス１１２）、その第１メモリ装置２００のメモリアドレス（第１メモリアドレス１１３）が記憶されている。
読出しデータ情報記憶領域１０９には、第１メモリ装置２００から読出したデータに誤りが検出されたことを示す誤りフラグ１１０、誤り訂正が完了して第２メモリ部１０６に格納されているデータが有効であることを示す有効フラグ１１１が記憶されている。
【００２１】
第１メモリ装置２００にデータを書きこむときには、データ転送装置１００は外部から書込みアドレスとデータを受信し、書込みデータに対する誤り訂正符号を誤り訂正符号生成部１０２にて生成する。
そして、データ転送装置１００は、第１メモリ装置Ｉ／Ｆ制御部１０１はメモリインターフェイスを制御して、書込みデータと誤り訂正符号を第１メモリ装置２００に書き込む。
【００２２】
ここで、第１メモリ装置２００から第２メモリ部１０６にデータを読み出すまでの処理について、図２に関連付けて説明する。
図２は、本第１の実施形態において、第１メモリ装置読出しおよび読出しデータ情報記憶領域の制御処理を説明するためのフローチャートである。
【００２３】
第１メモリ装置２００からデータを読み出す時には、データ転送装置１００は外部から読出しアドレスＲＡＤＲとデータサイズＤＳＺを受け取る(step000)。
読出しデータ情報記憶領域１０９において、有効フラグ１１１が“無効”で、誤りフラグ１１０が“なし”の領域が存在する場合、第２メモリ部１０６に空きがある場合である。第２メモリ部１０６に空きがある場合(step001)には、第１メモリ装置Ｉ／Ｆ制御部１０１はメモリインターフェイスを制御して、第１メモリ装置２００の読出しアドレスからデータを受信する。
読出しデータは読出しデータ情報記録領域制御部１０８によって指定された第２メモリ部１０６のアドレスに書き込まれ(step002、step003)、並行して誤り検出部１０４によって、読出しデータの誤りがチェックされる。
【００２４】
読出しデータに誤りが検出されない場合(step004がNo)には、第１メモリ装置読出しアドレス、誤り検出処理完了、誤り未検出が読出しデータ情報記録領域制御部１０８に通知される。
【００２５】
読出しデータ情報記録領域制御部１０８は、第１メモリ装置読出しアドレスＭ１ＲＡＤＲ、誤り検出処理完了ＥＤＥ、誤り未検出信号を受信すると、次に処理を行う。
第２メモリ部１０６の書込みアドレスに指定されているアドレスに対応する有効フラグ１１１を“有効”に、誤りフラグ１１０を“なし”に、第１メモリアドレス１１３に読出した第１メモリ装置２００のアドレス、第２メモリアドレス１１２に読み出したデータを書込んだ第２メモリ装置１０６のアドレスを設定する(step005)。
ここで第１メモリアドレス１１３に記録されるアドレスと第２メモリ部１０６の書込みアドレスはＥＣＣをかけるデータの単位にアラインされる。
たとえば、ＥＣＣをかける単位が５１２バイト（Byte）であれば、書込みアドレスは０x２００の倍数であり、アドレスの下位９ビット（bit）は“0”となる。
【００２６】
一方、読出しデータに誤りが検出された場合(step004がYes)には、第１メモリ装置読出しアドレスＭ１ＡＲＡＤＲ、誤り検出処理完了ＥＤＥ、誤り検出信号ＳＥＤが読出しデータ情報記録領域制御部１０８に通知される。
読出しデータ情報記録領域制御部１０８は、第１メモリ装置読出しアドレス、誤り検出処理完了、誤り検出を受信すると、次の処理を行う。
第２メモリ部１０６の書込みアドレスに指定されているアドレスに対応する有効フラグ１１１を“無効”に、誤りフラグ１１０を“あり”に、第１メモリアドレス１１３に読出した第１メモリ装置２００のアドレス、第２メモリアドレス１１２に読み出したデータを書込んだ第２メモリ装置１０６のアドレスを設定する(step006)。
【００２７】
次に、データ転送装置１００における誤り訂正時の処理について説明する。
誤り訂正部１０３は誤り検出を受信すると、誤り情報とその第１メモリ装置読出しアドレスＭ１ＲＡＤＲを保持し、誤り訂正を行い、データの訂正が必要な第１メモリ装置読出しアドレスを読出しデータ情報記録領域制御部１０８に出力する。
ここで誤り情報とはシンドローム値などである。
また、誤り訂正部１０３は、複数の誤り情報とその第１メモリ装置読出しアドレスＭＡＲＡＤＲを保持するための領域を持つ。
読出しデータ情報記録領域制御部１０８は、データの訂正が必要な第１メモリ装置読出しアドレス（データ訂正第１メモリアドレス）を受信すると、次の処理を行う。
読出しデータ情報記録領域制御部１０８は、読出しデータ情報記憶領域１０９の第１メモリアドレス１１３からそのデータ訂正第１メモリアドレスに対応する第２メモリアドレス１１２を計算する。
そして、読出しデータ情報記録領域制御部１０８は、データの訂正をする第２メモリアドレスと訂正することを明示する信号（訂正指示信号）を第２メモリ部書込み制御部１０５に出力する。
第２メモリ部書込み制御部１０５は、訂正するデータの第２メモリアドレスと訂正指示信号を受信すると、訂正する第２メモリアドレスからデータを読出す。そして、第２メモリ部書込み制御部１０５は、そのデータと“０”と“１”を反転させたデータを第２メモリ部１０６に書きこみ、読出しデータ情報記録領域制御部１０８に書込み完了を通知する。
読出しデータ情報記録領域制御部１０８は、読出しデータ情報記憶領域１０９中の訂正が完了した第２メモリアドレス１１２に対応する誤りフラグ１１０を“なし”に、有効フラグ１１１を“有効”に設定する。
【００２８】
次に、第２メモリ部１０６から外部へデータを読出す処理について図３に関連付けて説明する。
図３は、本第１の実施形態において、第２メモリ部から外部へデータを読出す処理を説明するためのフローチャートである。
【００２９】
読出しデータ情報記録領域制御部１０８は、読出しデータ情報記憶領域１０９の有効フラグ１１１が“有効”にセットされている第２メモリアドレス１１２が存在する場合（step100）には、次に処理を行う。
読出しデータ情報記録領域制御部１０８は、第２メモリ部読出し制御部１０７に第２メモリ部１０６の読出しアドレスと読出し要求を出力する(step101)。
第２メモリ部読出し制御部１０７は、読出し要求を受けて、指定された第２メモリ部１０６からデータを読出してデータ出力し、合せて読出しデータ情報記録領域制御部１０８から読出しアドレスを出力する（step102）。
【００３０】
第２メモリ部読出し制御部１０７は、データの読出しを完了すると、読出しデータ情報記録領域制御部１０８に読出し完了を通知する(step103)。
そして、読出しデータ情報記録領域制御部１０８は読出し完了の通知を受けて、第２メモリ部１０６の読出しアドレスに対応する有効フラグ１１１を”無効”に設定する(step104)。
【００３１】
なお、第１メモリ装置２００からの読出しデータに誤りがある場合の誤り訂正処理と、第１メモリ装置２００からの次のデータの読出しは並行して行われる。
【００３２】
上述した第２メモリ部１０６の空き(図2 step001)は、読出しデータ情報記録領域制御部１０８により読出しデータ情報記憶領域１０９の誤りフラグ１１０が“なし”、有効フラグ１１１が“無効”に設定された第２メモリアドレス１１２があるか否かで判断される。
空きがある場合には、その第２メモリアドレス１１２が第２メモリ部書込み制御部１０５に通知され、第１メモリ装置２００から読み出されたデータが第２メモリ部１０６に書き込まれる。
【００３３】
図４（Ａ）〜（Ｅ）は、本第１の実施形態において第１メモリ装置２００から読出し時における読出しデータ情報記憶領域１０９の状態を具体的に説明するための図である。
【００３４】
具体例を示すと、図４（Ａ）に示すように、第１メモリ装置２００に格納されるデータには、５１２バイト（以下セクタ）毎に誤り訂正符号が付加されている。
第１メモリ装置２００のアドレス0x10000から２ＫＢのデータにおいて、セクタＳＣＴ１（アドレス0x10200）には誤りがあり、セクタＳＣＴ０(0x10000)、セクタＳＣＴ２(0x10400)、セクタＳＣＴ３(0x10600)に誤りが存在しない場合、次のように処理される。
第１メモリ装置２００のアドレス0x10000から４セクタ分のデータ読出す場合には、第１メモリ装置２００から読出したデータを書き込む第２メモリ部１０６のアドレス(0x0000)が決められる。
そして、第１メモリ装置２００からセクタＳＣＴ０が読み出される。この場合、誤りがないので、読出しデータ情報記憶領域１０９の誤りフラグ１１０は“無し”、有効フラグ１１１は“有効”、第２メモリアドレス１１２は”0x0000”、第１メモリアドレス１１３は”0x10000”に設定される（図４（Ｂ））。
【００３５】
読出しデータ情報記録領域制御部１０８は、有効フラグ１１１が有効になっている読出しデータ情報を検出すると、第２メモリ部読出し制御部１０７にその第２メモリアドレス１１２“0x0000”を出力する。
第２メモリ部読出し制御部１０７は、第２メモリアドレス１１２”0x0000”から１セクタ分のデータを読出し、合せて読出しデータ情報記録領域制御部１０８は、第１メモリアドレス１１２”0x10000”を出力する。
第２メモリ部読出し制御部１０７は、１セクタ分のデータの読出しを完了すると、読出しデータ情報記録領域制御部１０８に読出し完了を通知する。そして、読出しデータ情報記録領域制御部１０８は第２メモリアドレス１１２“0x0000”の有効フラグ１１１を“無効”に設定する。
第２メモリ部１０６からのデータの読出しと並行して、セクタＳＣＴ１のデータが第１メモリ装置２００から読み出される。
第１メモリ装置２００から読出したセクタＳＣＴ１のデータを書き込む第２メモリ部１０６のアドレス(0x0200)が決められ、第１メモリ装置２００のアドレス”0x10200”からセクタＳＣＴ１のデータが読み出される。
このデータには誤りが含まれているため、誤り検出部１０４で誤りが検出され、図４（Ｃ）に示すように、読出しデータ情報記憶領域１０９の誤りフラグ１１０は“あり”、有効フラグ１１１は“無効”に設定される。そして、第２メモリアドレス１１２は“0x0200”、第１メモリアドレス１１３は“0x10200”に設定される。
【００３６】
この状態では有効フラグ１１１が“有効”に設定されているデータがないため、第２メモリ部１０６からのデータの読出しは発生しない。
誤り訂正部１０３は、誤り検出部１０４からの誤り訂正情報（シンドローム）を受信し、誤り訂正が実行される。誤り訂正と並行して、セクタＳＣＴ２のデータが第１メモリ装置２００から読み出される。
第１メモリ装置２００から読出したセクタＳＣＴ２のデータを書き込む第２メモリ部１０６のアドレス(0x0400)が決められ、第１メモリ装置２００のアドレス”0x10400”からセクタＳＣＴ２のデータが読み出される。
このデータには誤りがないので、図４（Ｄ）に示すように、読出しデータ情報記憶領域１０９の誤りフラグ１１０は“なし”、有効フラグ１１１は“有効”、第２メモリアドレス１１２は”0x0400”、第１メモリアドレス１１３は”0x10400”に設定される。
【００３７】
図４（Ｄ）の状態では、第２メモリアドレス１１２“0x0200”のデータの訂正が完了していないため、第２メモリアドレス１１２“0x0400”のデータが先に読み出される。
これと並行して、誤り訂正部１０３で誤り訂正が実行され、セクタＳＣＴ３のデータが第１メモリ装置２００から読み出される。
第２メモリアドレス１１２“0x0200”のデータの誤り訂正が完了すると、訂正した第１メモリ装置２００のアドレスが読出しデータ情報記録領域制御部１０８に通知される。
読出しデータ情報記録領域制御部１０８は、訂正する第１メモリアドレスが含まれる第１メモリアドレス１１３を検索し、第１メモリアドレス１１３“0x10200”から、それに対応する第２メモリアドレス１１２“0x0200”を検出する。訂正する第１メモリアドレスから第１メモリアドレス１１３“0x10200”を減算した値を第２メモリアドレス１１２“0x0200”に加算した値を訂正アドレスとして、訂正指示信号と共に第２メモリ部書込み制御部１０５へ出力する。
第２メモリ部書込み制御部１０５は、読出しデータ情報記録領域制御部１０８から受信した訂正アドレスのデータを第２メモリ部から読出し、データを反転させて、再度同一アドレスにデータを書込むことで、データの訂正を行う。複数ビットにわたって誤りが存在する場合には、全ビットの訂正が完了するまで上記処理を行う。
第２メモリ部書込み制御部１０５は、訂正データの書込みが終了すると、書込み完了を読出しデータ情報記録領域制御部１０８に通知し、読出しデータ情報記録領域制御部１０８はそのアドレスに対応する誤りフラグ１１０を“無し”に設定する。
【００３８】
第２メモリアドレス１１２“0x0400”のデータの読出し完了までに、第２メモリアドレス１１２“0x0200”のデータの誤り訂正および第１メモリ装置２００からのセクタＳＣＴ３のデータの読出しが完了すると、次のようになる。
すなわち、読出しデータ情報記憶領域１０９は図４（Ｅ）の状態となり、第２メモリアドレス１１２“0x0200”、“0x0600”の２セクタ分のデータが順次読み出され、読出しが完了した第２メモリアドレス１１２に対応する有効フラグ１１１は“無効”に設定される。
【００３９】
＜２．第２の実施形態＞
図５は、本発明の第２の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【００４０】
第２の実施形態は、第１メモリ装置２００が不揮発性メモリであり、ホスト機器３００と接続されることを特徴とするメモリシステム１０Ａとしての実施形態である。
不揮発性メモリ２００の一つであるＮＡＮＤフラッシュメモリはホスト機器３００からアドレス（以下、論理アドレス）をメモリのアドレス（以下、物理アドレス）に変換（以下、論物変換）して、ＮＡＮＤフラッシュメモリにアクセスする手法がよく用いられる。
本第２の実施形態は論物変換を用いるシステムに本発明を適用した場合である。
【００４１】
図６は、ＮＡＮＤフラッシュメモリの基本的な特徴を説明するための図である。
ＮＡＮＤフラッシュメモリ２００は、図６に示すように、ページＰＧ単位で読出し、書込みが可能なデバイスであり、ページサイズは２ＫＢ、４ＫＢ、８ＫＢとデバイスにより様々である。
また、上書きが不可能であるため、一度消去してからでないと、再度書き込むことができず、消去はブロック単位でしか行えず、１ブロックＢＬＫは複数のページから構成されている。
【００４２】
第２の実施形態に係るメモリシステム１０Ａは、データ転送装置１００がメモリコントローラに含むように構成され、第１の実施形態の構成に以下の構成要素を追加した構成を有する。
基本的に、データ転送装置１００とメモリコントローラによりメモリ制御装置が構成される。
メモリシステム１０Ａは、論理アドレス・物理アドレス制御部１２０、アクセスサイズ保持部１２１、ホスト（Host）Ｉ／Ｆデータ転送サイズ保持部１２２、および読出しデータカウンタ１２３が追加されている。
さらに、メモリシステム１０Ａは、読出しデータ転送完了通知部１２４、Host Ｉ／Ｆ制御部１２５、コマンド処理部１２７、転送先アドレス初期値保持部１２８、転送先アドレス生成部１２９が追加されて、メモリコントローラ１２６が構成されている。
メモリシステム１０Ａは、メモリコントローラ１２６はホスト機器３００と接続されるシステムである。
【００４３】
図７は、コマンドフォーマット例を示す図である。
コマンドフォーマットＣＭＤＦは、オペレーションコードＯＰ、論理アドレスＬＡＤＲ、および転送データサイズＴＤＳを含んで構成される。
【００４４】
データ読出し時には、ホスト機器３００は、読出しデータが転送される転送先アドレスの開始アドレスを転送先アドレス初期値保持部１２８に設定する。
ホスト機器３００が読み出すデータの論理アドレスとそのサイズが読出しコマンド（図７）として、メモリコントローラ１２６に通知される。
たとえば、コマンドはホスト機器３００からのレジスタアクセスによって、コマンド処理部１２７の内部レジスタにセットされる。
コマンド処理部１２７は、読出しコマンドを受信し、読出しサイズをアクセスサイズ保持部１２１に保持し、アクセスする論理アドレスを論理アドレス・物理アドレス制御部１２０と転送先アドレス生成部１２９に出力する。そして、コマンド処理部１２７は、論理アドレス・物理アドレス制御部１２０から物理アドレスを受信し、不揮発性メモリ２００にアクセスする。
【００４５】
読出しデータが複数のページにまたがる場合には、複数回、物理アドレスが生成され、不揮発性メモリ２００にアクセスする。Host Ｉ／Ｆデータ転送サイズ保持部１２２は、１回のデータ転送でホスト機器３００にデータを転送するサイズ（Host Ｉ／Ｆデータ転送サイズ）を定めている。
読出しデータカウンタ１２３は、読出したデータをカウントする。
メモリコントローラ１２６からホスト機器３００への読出しデータの転送の際には、メモリコントローラ１２６がバスマスターとなり、データ転送を行う。
不揮発性メモリ（第１メモリ装置）２００からデータを読出し、第２メモリ部１０６に書き込まれ、第２メモリ部読出し制御部１０７によって読出しデータが読み出されるまでの処理は第１の実施形態と同じである。
【００４６】
ここで、読出しデータに付加されるアドレスの生成について説明する。
まず、読出しデータに対応する物理アドレス（第１メモリアドレス）が論理アドレス・物理アドレス制御部１２０によって、論理アドレスに変換され転送先アドレス生成部１２９に出力される。
転送先アドレス生成部１２９では、読出しデータに付加するホスト機器３００の転送先アドレスを生成する。
読出しデータに付加するホスト機器３００の転送先の生成は、次の情報によって行われる。転送先アドレス初期値保持部１２８に保持される転送先アドレス、コマンドで受信した論理アドレス、読出しデータに対応する論理アドレスによって生成される。さらに、読出しデータカウンタ１２３からの読出しデータのカウント数、Host Ｉ／Ｆデータ転送サイズ保持部１２２からのHost Ｉ／Ｆデータ転送サイズによって生成される。
具体的には、転送先アドレス生成部１２９は、読出しデータに対応する論理アドレスの値からコマンドで受信した論理アドレスを減算し、その値に転送先アドレス初期値保持部１２８に保持されるアドレスの値を加算しホストアドレスとして出力する。
転送先アドレス生成部１２９は、読出しデータのカウント数がHost Ｉ／Ｆ転送サイズに達した場合に、論理アドレス・物理アドレス制御部１２０からの論理アドレスが以前のままの場合には、現在のホストアドレスに、Host Ｉ／Ｆ転送サイズを加算する。そして、転送先アドレス生成部１２９は、新たなホストアドレスとしてHost Ｉ／Ｆ制御部１２５に出力する。
転送先アドレス生成部１２９は、論理アドレス・物理アドレス制御部１２０からの論理アドレスが変化している場合には、読出しデータに対応する論理アドレスの値からコマンドで受信した論理アドレスを減算する。転送先アドレス生成部１２９は、その減算値に転送先アドレス初期値保持部１２８に保持されるアドレスの値を加算しホストアドレスとして出力する。
読出しデータ転送完了通知部１２４は、アクセスサイズ保持部１２１のアクセスサイズと、読出しデータカウンタ１２３のカウンタ値からホストからの読出しサイズ分のデータ転送完了を検知すると、Host Ｉ／Ｆ制御部１２５に通知する。
Host Ｉ／Ｆ制御部１２５は、読出しデータとそのアドレスを受信し、ホストＩ／Ｆのプロトコルに変換してデータとアドレスをホスト機器３００に転送し、読出し要求のサイズ分のデータ転送を終えると、ホストに対して割り込み信号を発生させる。
【００４７】
＜３．第３の実施形態＞
図８は、本発明の第３の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【００４８】
本第３の実施形態に係るメモリシステム１０Ｂが第２の実施形態に係るメモリシステム１０Ａと異なる点は、次の通りである。
すなわち、第３の実施形態に係るメモリシステム１０Ｂでは、読出しデータ情報記録領域制御部１０８の機能と、転送モード選択部１３１が加わっている点である。
【００４９】
読出しデータ情報記録領域制御部１０８は、有効フラグ１１１が“有効”に設定されているアドレスを優先して、読出しアドレスとして選択するモード（以下、優先モード）、およびそのほかに逐次モードを有する。
逐次モードは、第２メモリ部１０６に第１メモリ装置（不揮発性メモリ）２００からのデータを書きこむ際には、第２メモリ部１０６のアドレス順に書込み、読出しの際には第２メモリ部１０６のアドレス順に読出しアドレスを選択するモードである。
転送モード選択部１３０は、前記、優先モードと逐次モードのいずれかでデータ転送するかを設定する機能であり、ホスト機器３００から設定可能である。
【００５０】
＜４．第４の実施形態＞
図９は、本発明の第４の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【００５１】
本第４の実施形態に係るメモリシステム１０Ｃが第２の実施形態に係るメモリシステム１０Ａと異なる点は、次の通りである。
すなわち、第４の実施形態に係るメモリシステム１０Ｃでは、データ転送装置１００に相当するデータ転送部１００Ｃ、不揮発性メモリ２００を複数持ち、メモリコントローラ１２６はデータ転送部選択部１３１が追加されている。そして、どのデータ転送部１００Ｃからの出力をHost Ｉ／Ｆ制御部１２５に出力するかを選択する機能を持つ。
データ転送部１００Ｃの読出しデータ情報記録領域制御部１０８は第１の実施形態で説明した機能に加えて、次の機能を有する。
読出しデータ情報記録領域制御部１０８は、第２メモリ部読出し制御部１０７に読出し要求をする前に、データ転送部選択部１３１に出力要求を出力し、データ転送部選択部１３１から出力許可を受信してから、第２メモリ部読出し制御部１０７に読出し要求をする。
データ転送部選択部１３１は、現在選択されているデータ転送部１００Ｃを論理アドレス・物理アドレス制御部１２０に通知し、論理アドレス・物理アドレス制御部１２０は現在選択されているデータ転送部１００Ｃと物理アドレスから論理アドレスを生成する。
【００５２】
＜５．第５の実施形態＞
図１０は、本発明の第５の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【００５３】
本第５の実施形態に係るメモリシステム１０Ｄは、第４の実施形態に係るメモリシステム１０Ｃを下位概念化したものであり、ホスト機器３００とのインターフェイスがシリアル転送Ｉ／Ｆの一例であるＰＣＩ Ｅｘｐｒｅｓｓ Ｉ／Ｆになっている。
ＰＣＩ Ｅｘｐｒｅｓｓは２．５Ｇｂｐｓ（Gen1）の高速シリアル伝送、プロトコルを使ったデータ通信などの特徴を有しており、パーソナルコンピュータ（ＰＣ）や組み込み機器の内部バス、Ｅｘｐｒｅｓｓ Ｃａｒｄのバスとして広く使われている。
【００５４】
図１１は、ＰＣＩ Ｅｘｐｒｅｓｓで用いられるパケットのフォーマットを示す図である。
ＰＣＩ Ｅｘｐｒｅｓｓにおいて、データにはＴＬＰヘッダ４０１が付加されている。本発明の実施形態においては、メモリコントローラ１２６からホスト機器３００に読出しデータを転送する際に、ＴＬＰヘッダ４０１のアドレスに転送先アドレスを設定し、データ・ペイロード４０２に読出しデータをセットする。
【００５５】
図４に関連付けて説明し例示した第１メモリ装置２００のデータ読出しの例を第５の実施形態で行った場合のデータ転送フローを図１２に示す。
図１２は、ホスト機器３００とメモリコントローラ１２６間のデータ転送、並びにメモリコントローラ１２６と不揮発性メモリ２００間のデータ転送を示している。
ホスト機器３００からメモリコントローラ１２６に対して、ＰＣＩ Ｅｘｐｒｅｓｓ Ｉ／Ｆを通して読出しデータの転送先アドレス(Ox00000)が転送（設定）され、読出しコマンド、論理アドレス0x10000、データサイズ２ＫＢの各情報が転送される。
メモリコントローラ１２６では、受信した論理アドレス0X00000を物理アドレスとしてブロックＢＬＫ１０、ページＰＧ０を得、不揮発性メモリ２００に対して、リードコマンド、物理アドレスＢＬＫ１０，ＰＧ０が転送される。
これに応答して、不揮発性メモリ２００がメモリコントローラ１２６に対して読出しデータが転送される。
メモリコントローラ１２６では、第２メモリ部１０６に５１２バイトで記録され、エラーのないデータは先出しされ、訂正処理が必要なデータには訂正処理が施されて、ホスト機器３００に転送される。
具体的な処理については、第１の実施形態で詳細に説明したことからここではその説明は省略する。
【００５６】
＜６．第６の実施形態＞
図１３は、本発明の第６の実施形態に係るデータ転送装置を適用したメモリシステムの構成を示す図である。
【００５７】
本第６の実施形態においては、メモリコントローラと不揮発性メモリをＥｘｐｒｅｓｓ Ｃａｒｄに実装したメモリーカード４００として構成する例が示されている。
【００５８】
図１４は、本実施形態において、エラー無しのデータから先出しする効果を示す図である。
図１５は、本実施形態において、複数の不揮発メモリＩ／Ｆがある場合のエラー無しのデータから先出しする効果を示す図である。
以上説明した実施形態によれば、以下の効果を得ることができる。
図１４および図１５に示すように、誤り訂正に時間がかかっても、後続の誤りのないデータを先に出力することで、従来と比較して、データ転送に要する時間を短くできる。
本実施形態では、誤り訂正が完了したデータからホスト機器にデータを転送するモード（優先モード）と、メモリから読出したデータの順番どおりにホストにデータを転送するモード（逐次モード）をホストが切り替えられる。
これにより、データの読出し順序がシーケンシャルとならない優先モードでのデータ転送ができないホスト機器は逐次モードを選択することで、様々なホスト機器に対応することができる。
【００５９】
また、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、ＣＰＵ等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
【符号の説明】
【００６０】
１０，１０Ａ〜１０Ｄ・・・メモリシステム、１００・・・データ転送装置、１０１・・・第１メモリ装置インターフェイス（Ｉ／Ｆ）制御部、１０２・・・訂正符号生成部、１０３・・・誤り訂正部、１０４・・・誤り検出部、１０５・・・第２メモリ部書込み制御部、１０６・・・第２メモリ部、１０７・・・第２メモリ部読出し制御部、１０８・・・読出しデータ情報記録領域制御部、１０９・・・読出しデータ情報記憶領域、１１０・・・誤りフラグ、１１１・・・有効フラグ、１１２・・・第２メモリアドレス、１１３・・・第１メモリアドレス、１２０・・・論理アドレス・物理アドレス制御部、１２１・・・アクセスサイズ保持部、１２２・・・ホスト（Host）Ｉ／Ｆデータ転送サイズ保持部、１２３・・・読出しデータカウンタ、１２４・・・読出しデータ転送完了通知部、１２５・・・Host Ｉ／Ｆ制御部、１２６・・・メモリコントローラ、１２７・・・コマンド処理部、１２８・・・転送先アドレス初期値保持部、１２９・・・転送先アドレス生成部、１３０・・・転送モード選択部、１３１・・・データ転送部選択部、２００・・・第１メモリ装置（不揮発性メモリ）、３００・・・ホスト機器。
【図１】
2012128778.tif 000003
【図２】
2012128778.tif 000004
【図３】
2012128778.tif 000005
【図４】
2012128778.tif 000006
【図５】
2012128778.tif 000007
【図６】
2012128778.tif 000008
【図７】
2012128778.tif 000009
【図８】
2012128778.tif 000010
【図９】
2012128778.tif 000011
【図１０】
2012128778.tif 000012
【図１１】
2012128778.tif 000013
【図１２】
2012128778.tif 000014
【図１３】
2012128778.tif 000015
【図１４】
2012128778.tif 000016
【図１５】
2012128778.tif 000017
【図１６】
2012128778.tif 000018
【図１７】
2012128778.tif 000019