NANDフラッシュのプログラミング構造を分析する

時間:2020-11-21   アクセス:1033

NANDフラッシュのプログラミング構造を分析する

前回の記事では、NANDフラッシュとNORフラッシュの違いを紹介しましたが、構造と原理の観点から、NORフラッシュのROMのような構造でプログラミングが容易なため、多くのエンジニアが使用されます。コストが高すぎない場合は、 NANDフラッシュは単に生き残ることはできません。

NANDフラッシュは、その低価格と大容量のストレージのために消費者、特に大量のデータを保存する必要がある消費者にますます人気があります。 NANDフラッシュをプログラミングする際に注意すべき点は何ですか?

パーティション

パーティションを定義することの本質は、データがNANDフラッシュに書き込まれる方法を定義することであり、異なる内容のデータが対応するアドレスに書き込まれます。一般ユーザーには、ブート、カーネル、fs、ユーザー、その他のパーティションなど、複数の領域があります。

パーティションの説明:パーティションアドレス範囲(開始ブロック、終了ブロック)、画像ファイルサイズ(画像サイズ)。

パーティションデータストレージ:ミラーファイルはパーティションの開始ブロックから保存されます。パーティションに不良ブロックがある場合は、不良ブロック処理戦略を使用して、ミラーファイルが終了するまで不良ブロックを置き換えます。パーティションがミラーファイルを格納するのに十分でない場合は、書き込みに失敗しました。

次の図は、不良ブロックをスキップして書き込みを行っているイメージファイルパーティションの概略図です。

剖析NAND Flash的编程结构

スペアエリアのECC(OOB)

ECCはNANDの各ページのスペアエリアに存在します。これにより、外部システムはメインエリアのデータが正しくないかどうかを確認できます。ほとんどの場合、ECCアルゴリズムはエラーを修正でき、使用中のNandFlashでも不良ブロックが発生する可能性があるため、ECCは非常に必要です。

異なるユーザーが異なるECCアルゴリズムを使用する場合があります。一般的に、ECCアルゴリズムはプロセッササプライヤによって提供されます。ECCアルゴリズムがプログラマソフトウェアに含まれていない場合、ユーザーはECCアルゴリズムのソースコードを提供する必要があります。

ユーザーがインポートされたファイルを使用せず、マスターを読み取る方法を使用し、動的データがない場合、マスターのスペア領域はすでにECCを計算しており、マスターのスペア領域は直接であるため、ECCアルゴリズムは無視できます。他のチップにコピーするだけです。

不良ブロック管理(不良ブロック管理)

不良ブロック処理戦略は、アルゴリズムが不良ブロックを処理する方法を定義します。基本的な不良ブロック処理戦略には、不良ブロックのスキップ、テーブルの置換(Reserve Block Area、RBA)などが含まれます。

●ハードコピー

実際、ハードコピーは、不良ブロックが検出されたときに何も処理されないことを意味します。良好なブロックまたは不良ブロックが直接書き込まれた場合でも、検証データに一貫性がなくても、エラーは報告されません。

剖析NAND Flash的编程结构

●不良ブロックをスキップする

悪いブロックをスキップすることは、悪いブロックに遭遇したときに燃やすために次の良いブロックにジャンプすることです。

剖析NAND Flash的编程结构

●交換用テーブル

一部のブロックは、不良ブロックを置き換えるために予約ブロックとして予約されています。不良ブロックが検出されると、予約領域でブロックが選択されて置き換えられ、不良ブロックに最初に書き込まれたデータが置換ブロックに書き込まれます。

剖析NAND Flash的编程结构

●BBT(不良ブロックテーブル)

実際には、不良ブロックをスキップして、Nandフラッシュメモリの指定した場所に不良ブロックテーブル(不良ブロックテーブル)を書き込むことです。下図はBBTの構造です。

剖析NAND Flash的编程结构

転送元:Zhiyuan Electronics


携帯サイト

携帯サイトのプレビュー