インテルのみ表示可能 — GUID: lhe1481129948235
Ixiasoft
インテルのみ表示可能 — GUID: lhe1481129948235
Ixiasoft
15.4.10.6. 不良ブロックマーカーの維持
ECCが有効になっている場合、不良ブロックマーカーがページの最後のセクターのデータによって上書きされる場合があります。これは、NANDフラッシュ・コントローラーもまた、ページのメイン領域を使用してECC情報を格納しており、それによって最後のセクターがスペア領域にまで及ぶことで発生します。データを書き込む前にシステムで不良ブロック情報を保存し、フラッシュデバイス内の不良ブロックを正しく識別する必要があります。
NANDフラッシュ・コントローラーをコンフィグレーションし、ページの最後のセクターをスペア領域に書き込む際に、指定されたバイト数をスキップすることができます。このオプションにより、フラッシュ・コントローラーは不良ブロックマーカーを維持することができるようになります。このオプションを使用するには、configグループのspare_area_skip_bytesレジスターに必要なオフセットを書き込みます。例えば、デバイスのページサイズが2KBで、デバイスメーカーが不良ブロックマーカーをスペア領域の最初の2バイトに格納している場合は、spare_area_skip_bytesレジスターを2に設定します。フラッシュ・コントローラーは、スペア領域に重なるページの最後のセクターを書き込む際に、スペア領域のオフセット2から開始して、オフセット0の不良ブロックマーカーをスキップします。0の値 (デフォルト) は、バイトをスキップしないことを指定します。spare_area_skip_bytesの値は偶数にする必要があります。例えば、不良ブロックマーカーが1バイトの場合は、spare_area_skip_bytesを2に設定します。
メイン領域転送モードでは、NANDフラッシュ・コントローラーは不良ブロックマーカーをスキップしません。代わりに、configグループのspare_area_markerレジスターにプログラムされている値で不良ブロックマーカーを上書きします。この8ビット・レジスターをconfigグループのspare_area_skip_bytesレジスターとともに使用し、新しいマーカー値が書き込まれるページのスペア領域のバイトを決定します。例えば、ブロックを良好としてマークするには、spare_area_markerレジスターを0xFFに設定し、spare_area_skip_bytesレジスターを、スペア領域のベースから開始する、マーカーを書き込むバイト数に設定します。
スペア領域転送モードでは、NANDフラッシュ・コントローラーは、spare_area_skip_bytesレジスターおよびspare_area_markerレジスターを無視します。フラッシュ・コントローラーは、ホストまたはデバイスから受信したとおりにデータを転送します。
メイン+スペア領域転送モードでは、NANDフラッシュ・コントローラーは、ページの最後のセクターのスペア領域への書き込みを、spare_area_skip_bytesレジスターで指定されているオフセットから開始します。ただし、不良ブロックの識別子情報を含む領域は、ホストがページに書き込むデータによって上書きされます。ホストは、データセクターと不良ブロックマーカーの両方を書き込みます。フラッシュ・コントローラーは、ホスト・ソフトウェアに依存して、データを書き込む前に不良ブロックマーカーを適切に設定します。