インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

15.5.2.5. コピーバック操作

NANDフラッシュ・コントローラーは、コピーバック操作をサポートします。ただし、フラッシュデバイスでこの機能のサポートが制限されている場合があります。コピーバックをサポートしていないデバイスでコピーバック操作を試みると、NANDフラッシュ・コントローラーは割り込みをトリガーします。割り込みは、宛先のブロックを指定する前にソースブロックが指定されていない場合、またはソースブロックを指定した後に続く次のコマンドで宛先のブロックが指定されていない場合もトリガーされます。

コピーバック・コマンドでは、NANDフラッシュ・コントローラーはECC検証を行うことができません。フラッシュ・コントローラーはECCデータをコピーしますが、コピー動作時にそれをチェックしません。

注: インテルでは、フラッシュ・コントローラーに実装されているECCが十分に強力で、蓄積されたエラーを次のアクセスで訂正できる場合にのみコピーバックを使用することを推奨しています。

8ビット値の <PP> は、コピーバックのページ数を指定します。この機能を使用すると、NANDフラッシュ・コントローラーでは、連続する複数のページを単一のコマンドでコピーすることができます。コピーバック・コマンドを発行すると、フラッシュ・コントローラーはバックグラウンドで操作を実行します。フラッシュ・コントローラーは、現在のコピーバックが完了するまで他のコマンドを保留します。

マルチプレーン・デバイスでは、configグループのmultiplane_operationレジスターのflagビットが1に設定されている場合に、マルチプレーンのコピーバックをオプションで使用することができます。この場合、指定するブロックアドレスはプレーンに揃える必要があり、値 <PP> では、コピーするページの総数をプレーンの数の倍数として指定する必要があります。ブロックアドレスは、ページアドレスをインクリメントする前に、デバイスのプレーンの総数に対して、ページアドレスを固定したままインクリメントします。

フラッシュ・コントローラーが <PP> ページすべてのコピーバック操作を完了すると、pipe_cpyback_cmd_comp割り込みが生成されます。コピーバック操作の一部としてのページのプログラミング操作の結果、デバイスでプログラミング・エラーが発生した場合は、program_fail割り込みが発行されます。問題があるページのブロックアドレスおよびページアドレスは、statusグループのerr_block_addr0レジスターおよびerr_page_addr0レジスターで更新されます。