2KページサイズのNANDフラッシュに書き込む際のRAMメモリの節約


10

Samsung K9WAG08U1D NAND flashチップ用のドライバーを書いています。メモリチップの仕様には、2048バイト(2kB)のページサイズがあると記載されています。私TI MSP430F2619は4096バイト(4kB)のRAMを持つを使用しています。つまり、フラッシュに書き込むためだけに2kのメモリバッファを割り当てる必要があります。私のアプリケーションはプロトコルコンバーターです。そのため、送信と送信の間の処理のために追加のバッファーが必要です。フラッシュページサイズによるRAM要件を減らすためのより良いアプローチを私に提案してください。

回答:


7

一度にすべてのページレジスタを埋める必要はありません。

シリアルデータ入力コマンド(0x80)、列アドレス、および行アドレスを書き込むことにより、ページ書き込み(「ページプログラム」操作)を開始します。次に、データをページレジスタに転送します(最大2112バイト)。この転送はチャンクに分割でき、チャンク間の遅延は必要です。

ページレジスタがいっぱいになると、ページプログラム確認コマンド(0x10)を使用して、ページレジスタからアレイへの転送を開始します。


NANDフラッシュは通常、1ページあたり4回の部分書き込みに制限されていることに注意してください

1
@Jacenページごとの部分的な書き込みについては言及していません。これは、パーツごとに個別のコマンド/アドレス/データ/コマンドシーケンスによって行われます。ページレジスタへの転送を分割することを指します。ページレジスタは、必要に応じてバイトごとに1つの「チャンク」にすることができます。
Patrick

基本的に、私の現在のドライバーロジックは、RAM内の2Kバッファー全体がいっぱいになるのを待ってから、フラッシュに書き込んでいました。しかし、今では最低でも1バイトのRAMバッファを使用できます。

ああ、そうです、あなたは正しいパトリックです、私はこのオプションを忘れました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.