フラッシュメモリは、電気的に消去および再プログラム可能な、電子的な不揮発性コンピュータメモリ記憶媒体です。フラッシュメモリの主な種類は、 NORフラッシュとNANDフラッシュの2種類で、それぞれNORゲートとNANDゲートにちなんで名付けられています。どちらもフローティングゲートMOSFETで構成される同じセル設計を使用しています。回路レベルでは、ビット線またはワード線の状態がハイになるかローになるかによって違いがあります。NANDフラッシュでは、ビット線とワード線の関係はNANDゲートに似ており、NORフラッシュではNORゲートに似ています。
フラッシュメモリは、フローティングゲートメモリの一種で、1980 年に東芝の増岡富士夫によって発明され、 EEPROM技術に基づいています。東芝は 1987 年にフラッシュメモリの販売を開始しました。 [ 1 ] EPROM は書き換える前に完全に消去する必要がありました。しかし、NAND フラッシュメモリは、ブロック (またはページ) 単位で消去、書き込み、読み出しが可能で、ブロック (またはページ) は通常、デバイス全体よりもはるかに小さいです。NOR フラッシュメモリでは、単一のマシンワードを消去された場所に書き込んだり、独立して読み出したりできます。フラッシュメモリデバイスは通常、1 つ以上のフラッシュメモリチップ(それぞれ多数のフラッシュメモリセルを保持) と、別のフラッシュメモリコントローラチップで構成されています。
NAND型は、主にメモリカード、USBフラッシュドライブ、ソリッドステートドライブ(2009年以降に製造されたもの)、フィーチャーフォン、スマートフォン、および同様の製品で、データの一般的な保存と転送に使用されています。NANDまたはNORフラッシュメモリは、デジタル製品の構成データを保存するためにもよく使用されます。これは、以前はEEPROMまたはバッテリー駆動のスタティックRAMによって可能だったタスクです。フラッシュメモリの主な欠点は、特定のブロックで比較的少ない数の書き込みサイクルしか耐えられないことです。[ 2 ]
NORフラッシュは、直接ランダムアクセス機能で知られており、コードを直接実行するのに適しています。そのアーキテクチャは個々のバイトへのアクセスを可能にし、NANDフラッシュと比較して高速な読み取り速度を実現します。NANDフラッシュメモリは、シリアルアクセス方式に依存する異なるアーキテクチャで動作します。そのため、NANDは高密度データストレージに適していますが、ランダムアクセスタスクには効率が劣ります。NANDフラッシュは、USBドライブ、メモリカード、ソリッドステートドライブ(SSD)など、コスト効率が高く大容量のストレージが重要なシナリオでよく使用されます。
両者の主な違いは、用途と内部構造にある。NORフラッシュは、プログラム実行のための組み込みシステムなど、個々のバイトへの高速アクセスを必要とするアプリケーションに最適である。一方、NANDフラッシュは、コスト効率が高く、大容量で、シーケンシャルなデータアクセスが求められるシナリオで真価を発揮する。
フラッシュメモリ[ 3 ]は、コンピュータ、PDA、デジタルオーディオプレーヤー、デジタルカメラ、携帯電話、シンセサイザー、ビデオゲーム、科学計測機器、産業用ロボット、医療用電子機器などに使用されています。フラッシュメモリは読み出しアクセス時間が速いですが、スタティックRAMやROMほど高速ではありません。携帯機器では、機械式ドライブは機械的損傷を受けやすいため、フラッシュメモリの耐衝撃性の高さから、フラッシュメモリの使用が好まれています。[ 4 ]
消去サイクルは遅いため、フラッシュメモリの消去に使用される大きなブロックサイズは、大量のデータを書き込む際に、非フラッシュEEPROMよりも大幅な速度上の利点をもたらします。2019年現在、フラッシュメモリはバイトプログラマブルEEPROMよりもはるかに安価であり、システムが大量の不揮発性ソリッドステートストレージを必要とするあらゆる場面で主流のメモリタイプとなっている。しかし、EEPROMは、コンピュータメモリモジュール上のSPD実装など、少量のストレージしか必要としないアプリケーションでは依然として使用されている。[ 5 ] [ 6 ]
フラッシュメモリパッケージは、シリコン貫通ビアと数十層の3D TLC NANDセル(ダイあたり)を同時に使用して、 16個の積層ダイとパッケージ内の別個のダイとして統合されたフラッシュコントローラを使用して、パッケージあたり最大1テビバイトの容量を実現できます。[ 7 ] [ 8 ] [ 9 ] [ 10 ]
フラッシュメモリの起源は、フローティングゲートMOSFET(FGMOS)、別名フローティングゲートトランジスタの開発に遡ることができます。 [ 11 ] [ 12 ]オリジナルのMOSFETは、1959年から1960年の間にベル研究所で発明されました。[ 13 ] [ 14 ]ダウォン・カンは、 1967年にベル研究所で台湾系アメリカ人エンジニアのサイモン・ミン・シーと共に、フローティングゲートMOSFETというバリエーションを開発しました。[ 15 ]彼らは、不揮発性かつ再プログラム可能なプログラマブル読み出し専用メモリ(PROM )の一種を保存するためのフローティングゲートメモリセルとして使用できることを提案しました。 [ 15 ]
初期の浮遊ゲートメモリには、1970年代のEPROM(消去可能PROM)とEEPROM(電気的に消去可能PROM)がありました。[ 15 ]しかし、初期の浮遊ゲートメモリでは、エンジニアがデータビットごとにメモリセルを構築する必要があり、これは面倒で[ 16 ]、遅く[ 17 ] 、高価であることが判明したため、浮遊ゲートメモリは1970年代には軍事機器や初期の実験的な携帯電話などのニッチな用途に限定されていました。[ 11 ]
ファウラー・ノルドハイムトンネル方式によるデータ消去に基づく最新のEEPROMは、ベルンワードによって発明され、1974年にシーメンスによって特許が取得されました。 [ 18 ]これは、1976年から1978年にかけてヒューズ・エアクラフト社のエリヤホウ・ハラリ、およびインテルのジョージ・ペルレゴスらによってさらに開発されました。 [ 19 ] [ 20 ]
増岡富士雄は1980年に東芝でフラッシュメモリを発明した。[ 16 ] [ 21 ] [ 22 ] EEPROMとフラッシュの改良点は、フラッシュはブロック単位でプログラムされるのに対し、EEPROMはバイト単位でプログラムされる点である。東芝によると、「フラッシュ」という名前は、メモリ内容の消去プロセスがカメラのフラッシュを連想させたことから、増岡の同僚である有泉正治が提案したという。[ 23 ]増岡らは1984年にNORフラッシュの発明を発表し、 [ 24 ] [ 25 ]その後、サンフランシスコで開催されたIEEE 1987国際電子デバイス会議(IEDM)でNANDフラッシュを発表した。[ 26 ]
東芝は 1987 年に NAND フラッシュ メモリを商用発売しました。[ 1 ] [ 15 ]インテル社は1988 年に初の商用 NOR 型フラッシュ チップを発表しました。[ 27 ] NOR ベースのフラッシュは消去および書き込み時間が長いですが、完全なアドレス バスとデータ バスを提供し、任意のメモリ ロケーションへのランダム アクセスを可能にします。これにより、コンピュータのBIOSやセット トップ ボックスのファームウェアなど、更新がほとんど必要ないプログラム コードを格納するために使用される古い読み出し専用メモリ(ROM) チップの適切な代替品となります。その耐久性は、オン チップ フラッシュ メモリの場合、わずか 100 回消去サイクルから[ 28 ]より一般的な 10,000 回または 100,000 回消去サイクル、最大 1,000,000 回消去サイクルまであります。[ 29 ] NOR ベースのフラッシュは、初期のフラッシュ ベースのリムーバブル メディアの基礎となりました。CompactFlashは元々これをベースにしていたが、後のカードではより安価なNANDフラッシュに移行した。
NANDフラッシュは、消去および書き込み時間が短縮され、セルあたりのチップ面積も小さくなるため、NOR フラッシュよりも高い記憶密度と低いビットあたりのコストを実現できます。しかし、NANDフラッシュのI/Oインターフェースは 、ランダムアクセス外部アドレスバスを提供しません。そのため、データはブロック単位で読み出す必要があり、一般的なブロックサイズは数百から数千ビットです。 ほとんどのマイクロプロセッサやマイクロコントローラはバイトレベルのランダムアクセスを必要とするため、NANDフラッシュはプログラムROMの代替品としては不向きです。この点において、NANDフラッシュはハードディスクや光ディスクなどの他の二次データストレージデバイス と類似しており、メモリカードやソリッドステートドライブ(SSD)などの大容量ストレージデバイスでの使用に非常に適しています。例えば、SSDは複数のNANDフラッシュメモリチップを使用してデータを保存します。
NANDフラッシュメモリをベースとした最初のリムーバブルメモリカードフォーマットは、1995年に発売されたSmartMediaでした。その後、MultiMediaCard、Secure Digital、Memory Stick、xD-Picture Cardなど、多くのフォーマットが登場しました。
RS-MMC、miniSD、microSDといった新世代のメモリーカード規格は、極めて小型な形状を特徴としています。例えば、microSDカードの面積はわずか1.5cm²強 、厚さは1mm未満です 。
NANDフラッシュは、2000年代後半から2010年代前半にかけて商用化されたいくつかの主要技術の結果として、かなりのレベルのメモリ密度を達成しました。 [ 30 ]
NORフラッシュは2005年まで最も一般的なフラッシュメモリの種類でしたが、その年にNANDフラッシュがNORフラッシュの販売台数を上回りました。[ 31 ]
マルチレベルセル(MLC)技術は、各メモリセルに複数のビットを格納します。NECは1998年に、セルあたり2ビットを格納する80Mbフラッシュメモリチップでマルチレベルセル(MLC)技術を実証しました。[ 32 ] STMicroelectronicsも2000年に、64MB NORフラッシュメモリチップでMLCを実証しました。[ 33 ] 2009年には、東芝とSanDiskが、セルあたり4ビットを格納し、容量64GbのQLC技術を採用したNANDフラッシュチップを発表しました。[ 34 ] [ 35 ] Samsung Electronicsは、セルあたり3ビットを格納するトリプルレベルセル(TLC)技術を発表し、2010年にTLC技術を採用したNANDチップの量産を開始しました。[ 36 ]
電荷トラップフラッシュ(CTF)技術は、上部のブロッキングゲート酸化膜と下部のトンネル酸化膜の間に挟まれたポリシリコンフローティングゲートを、電気的に絶縁された窒化シリコン層に置き換えます。窒化シリコン層は電子をトラップします。理論的には、CTFは電子リークが起こりにくく、データ保持が向上します。[ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ]
CTFはポリシリコンを電気的に絶縁性の窒化物に置き換えるため、セルを小型化でき、耐久性(劣化や摩耗の低減)が向上します。しかし、電子が窒化物に捕捉されて蓄積し、劣化につながる可能性があります。高温では電子の励起度が上昇するため、リークが悪化します。ただし、CTF技術は依然としてトンネル酸化膜とブロッキング層を使用しており、これらは従来の方法で損傷を受ける可能性があるため、この技術の弱点となっています(トンネル酸化膜は極めて高い電界によって劣化し、ブロッキング層はアノードホットホール注入(AHHI)によって劣化する可能性があります)。[ 43 ] [ 44 ]
フラッシュメモリの耐久性が限られているのは、酸化物の劣化または摩耗が原因です。酸化物は劣化が進むにつれて電気絶縁性を失うため、劣化が進むにつれてデータ保持力が低下し(データ損失の可能性が高まります)、データ損失の原因となる電子の漏洩を防ぐために、酸化物は電子を遮断する必要があります。
1991年、児玉直樹、大山和也、白井弘樹を含むNECの研究者らは、電荷トラップ方式を用いたフラッシュメモリの一種について説明した。[ 45 ] 1998年、Saifun Semiconductors (後にSpansionに買収)のBoaz Eitanは、従来のフラッシュメモリ設計で使用されていた従来のフローティングゲートを電荷トラップ層に置き換えたNROMと呼ばれるフラッシュメモリ技術の特許を取得した。[ 46 ] 2000年、 Richard M. Fastow、エジプト人エンジニアのKhaled Z. Ahmed、ヨルダン人エンジニアのSameer Haddad(後にSpansionに入社)が率いるAdvanced Micro Devices(AMD)の研究チームは、NORフラッシュメモリセルの電荷トラップ機構を実証した。[ 47 ] CTFはその後、 2002年にAMDと富士通によって商用化された。[ 48 ] 3D V-NAND(垂直NAND)技術は、3D電荷トラップフラッシュ(CTP)技術を使用して、チップ内でNANDフラッシュメモリセルを垂直に積み重ねる。3D V-NAND技術は2007年に東芝によって初めて発表され、[ 49 ] 24層の最初のデバイスは2013年にサムスン電子によって商用化された。 [ 50 ] [ 51 ]
3D IC 技術は、集積回路(IC) チップを垂直に積み重ねて単一の 3D IC パッケージにします。[ 30 ]東芝は、2GB NAND フラッシュ チップを 8 個積み重ねて製造した16GB eMMC 準拠 (製品番号 THGAM0G7D8DBAI6、消費者向け Web サイトでは THGAM と略されることが多い) の組み込み NAND フラッシュ メモリ パッケージを発表した2007 年 4 月に、 NAND フラッシュ メモリに 3D IC 技術を導入しました。[ 52 ] 2007 年 9 月に、ハイニックス セミコンダクター(現在のSK ハイニックス) は、ウェハ ボンディング プロセスを使用して 24 個の NAND フラッシュ チップを積み重ねて製造した 16GB フラッシュ メモリ パッケージで、24 層の 3D IC 技術を導入しました。[ 53 ]東芝は2008年に32GBのTHGBMフラッシュパッケージに8層3D ICも使用した。[ 54 ] 2010年には、東芝は16層の3D ICを128GBのTHGBM2フラッシュパッケージに使用した。これは16個の8GBチップを積層して製造された。[ 55 ] 2010年代には、3D ICはモバイルデバイスのNANDフラッシュメモリに広く商用利用されるようになった。[ 30 ]
2016年に、MicronとIntelは、CMOS Under the Array/CMOS Under Array (CUA)、Core over Periphery (COP)、Periphery Under Cell (PUA)、またはXtackingとして知られる技術を導入しました[ 56 ]。この技術では、フラッシュメモリの制御回路がフラッシュメモリセルアレイの下または上に配置されます。これにより、制御回路や周辺回路に割り当てられる領域を増やすことなく、フラッシュメモリチップのプレーンまたはセクションの数を2プレーンから4プレーンに増やすことが可能になりました。これにより、フラッシュチップまたはダイあたりのIO操作の数が増加しますが、フラッシュメモリへの書き込みに使用されるチャージポンプ用のコンデンサを構築する際に課題も生じます[ 57 ] [ 58 ] [ 59 ]。一部のフラッシュダイは最大6プレーンを備えています[ 60 ] 。
2017年8月現在、最大容量400GB(4000億バイト)のmicroSDカードが入手可能です。[ 61 ] [ 62 ] Samsungは、3D ICチップスタッキングと3D V-NANDおよびTLC技術を組み合わせて、 8個の64層V-NANDチップを積層した512GB KLUFG8R1EMフラッシュメモリパッケージを製造しました。[ 8 ] 2019年には、Samsungは8個の96層V-NANDパッケージを積層し、QLC技術を採用した1024GBフラッシュパッケージを製造しました。[ 63 ] [ 64 ]
2025年、研究者らは書き込み時間が400ピコ秒のデバイスで実験的に成功したと発表した。[ 65 ]

フラッシュメモリは、フローティングゲートトランジスタで構成されたメモリセルアレイに情報を保存します。シングルレベルセル(SLC)デバイスでは、各セルに1ビットの情報のみを保存します。マルチレベルセル(MLC)デバイス(トリプルレベルセル(TLC)デバイスを含む)は、1セルあたり複数ビットの情報を保存できます。
フローティングゲートは導電性(ほとんどの種類のフラッシュメモリでは一般的にポリシリコン)または非導電性(SONOSフラッシュメモリのように)である可能性がある。[ 66 ]
フラッシュメモリでは、各メモリセルは標準的な金属酸化膜半導体電界効果トランジスタ(MOSFET)に似ていますが、トランジスタのゲートが1つではなく2つある点が異なります。セルは、2つの端子(ソースとドレイン)間で電流が流れ、フローティングゲート(FG)と制御ゲート(CG)によって制御される電気スイッチと見なすことができます。CGは他のMOSトランジスタのゲートに似ていますが、その下には酸化膜で周囲が絶縁されたFGがあります。FGはCGとMOSFETチャネルの間に配置されています。FGは絶縁層によって電気的に絶縁されているため、FG上に配置された電子は捕捉されます。FGに電子が帯電すると、この電荷がCGからの電界を遮蔽し、セルのしきい値電圧(V T)が上昇します。つまり、FGの電荷を変化させることで、セルのV Tを、電荷のないFGのしきい値電圧(V T1)と、より高い電荷を帯びたFGのしきい値電圧(V T2)の間で変化させることができます。セルから値を読み取るには、VT1とVT2の間の中間電圧( VI)をCGに印加します。チャネルがVIで導通する場合、 FGは充電されていないはずです(充電されている場合は、 VIがVT2より小さいため導通しません)。チャネルがVIで導通しない場合は、 FGが充電されていることを示します。セルのバイナリ値は、CGにVIが印加されたときにトランジスタに電流が流れているかどうかを判断することによって検出されます。セルごとに複数のビットを格納するマルチレベルセルデバイスでは、FGの電荷レベルをより正確に判断するために、電流の有無だけでなく、電流の量も検出されます。
フローティングゲートMOSFETは、フローティングゲートとシリコンの間に電気的に絶縁されたトンネル酸化膜層が存在するため、ゲートがシリコンの上に「浮いている」ように見えることからその名が付けられています。酸化膜は電子をフローティングゲート内に閉じ込めます。劣化や摩耗(およびフローティングゲートフラッシュメモリの耐久性の限界)は、酸化膜が受ける極めて高い電界(1センチメートルあたり1000万ボルト)によって発生します。このような高電圧密度は、比較的薄い酸化膜内の原子結合を時間とともに破壊し、徐々に電気的絶縁性を低下させ、電子がフローティングゲートから酸化膜内に閉じ込められ、自由に漏れ出す(リークする)ことを可能にします。電子(その量は、MLCフラッシュメモリの異なるビットの組み合わせに割り当てられる異なる電荷レベルを表すために使用されます)は通常フローティングゲート内にあるため、データ損失の可能性が高まります。これが、劣化が進むにつれてデータ保持率が低下し、データ損失のリスクが高まる理由です。[ 67 ] [ 68 ] [ 41 ] [ 69 ] [ 70 ]セル内のシリコン酸化物は、消去操作のたびに劣化します。この劣化により、酸化物に捕捉された電子のためにセル内の負電荷の量が時間とともに増加し、制御ゲート電圧の一部が打ち消されます。時間の経過とともに、これによりセルの消去も遅くなります。NANDチップの性能と信頼性を維持するためには、セルを使用から外す必要があります。耐久性は、セル内のビット数とともに低下します。セル内のビット数が増えると、セル内の可能な状態数(それぞれが異なる電圧レベルで表されます)が増加し、プログラミングに使用される電圧に対してより敏感になります。電圧はシリコン酸化物の劣化を補償するために調整できますが、ビット数が増加すると、可能な状態数も増加するため、セル内の各状態を定義する電圧レベル間の間隔が狭くなるため、セルはプログラミング電圧の調整に対してより耐性が低くなります。[ 71 ]
制御ゲートからフローティングゲートへ電子を移動させるプロセスはファウラー・ノルドハイムトンネル効果と呼ばれ、MOSFETのしきい値電圧を上昇させることでセルの特性を根本的に変化させます。これにより、特定のゲート電圧におけるトランジスタを流れるドレイン・ソース電流が変化し、最終的にバイナリ値を符号化するために使用されます。ファウラー・ノルドハイムトンネル効果は可逆的であるため、フローティングゲートに電子を追加したり、フローティングゲートから電子を取り除いたりすることができ、これらのプロセスは従来、書き込みと消去として知られています。[ 72 ]
比較的高いプログラミング電圧と消去電圧が必要であるにもかかわらず、今日のほぼすべてのフラッシュチップは単一の電源電圧のみを必要とし、オンチップのチャージポンプを使用して必要な高電圧を生成します。
1.8 V-NAND フラッシュ チップで使用されるエネルギーの半分以上は、チャージ ポンプ自体で失われます。ブースト コンバータはチャージ ポンプよりも本質的に効率が高いため、低消費電力SSD を開発している研究者は、初期のすべてのフラッシュ チップで使用されていたデュアル Vcc/Vpp 電源電圧に戻り、単一の共有外部ブースト コンバータで SSD 内のすべてのフラッシュ チップに高い Vpp 電圧を駆動することを提案しています。[ 73 ] [ 74 ] [ 75 ] [ 76 ] [ 77 ] [ 78 ] [ 79 ] [ 80 ]
宇宙船やその他の高放射線環境では、フラッシュチップのオンチップチャージポンプが最初に故障する部分ですが、フラッシュメモリは、はるかに高い放射線レベルでも読み取り専用モードで動作し続けます。 [ 81 ]

NOR型とNAND型のフラッシュメモリでは、セルはグリッド状に配置されています。メモリは、一定数のビット(またはセル)からなる「ワード」で構成されていると考えることができ、各ワードはグリッドの特定の列に、ビットは異なる行に配置されます。特定のワードのすべてのビットは、ワード線と呼ばれる導体によって接続されています。ワード線は、そのワードのすべてのビットの制御ゲートに接続されています。隣接する一定数のワード(列)の最初のビットはすべてビット線によって接続され、2番目のビットも同様に接続されます。ビット線は、セルの端子(ソースまたはドレイン)のいずれかに接続されます。ワード線の電圧を操作することで、対応するビット線の電圧を測定し、特定のビットを読み取ることができます。この方法は、メモリチップがNOR型かNAND型かによって異なります。
NORフラッシュでは、各セルの一端が直接グランドに接続され、もう一端が直接ビット線に接続されています。この構成はNOR ゲートのように動作するため「NORフラッシュ」と呼ばれます。つまり、ワード線(セルのグランドグランドに接続されている)のいずれかがハイになると、対応するストレージトランジスタが動作して出力ビット線をローに引き下げる可能性がありますが、これはフローティングゲートの電荷に依存します。ビット線は複数のワードに接続されているため、出力は2つのワード線(最初のワード線も2番目のワード線もハイでない場合にビット線がハイのままになる)だけでなく、すべてのワード線(どのワード線もハイでない場合にビット線がハイのままになる)に依存します。したがって、特定のワードのビットを読み取るには、目的のワード線以外のすべてのワード線をローにします。
NORフラッシュは、独立した不揮発性メモリデバイスを必要とする組み込みアプリケーションにとって、依然として最適な技術である。NORデバイスの特徴である低読み出しレイテンシにより、単一のメモリ製品で直接コード実行とデータストレージの両方が可能になる。[ 82 ]


デフォルト状態のシングルレベルNORフラッシュセルは、論理的にはバイナリ「1」の値に相当します。これは、制御ゲートに適切な電圧を印加するとチャネルに電流が流れ、ビットライン電圧がプルダウンされるためです。NOR フラッシュセルは、以下の手順でプログラム、つまりバイナリ「0」の値に設定できます。
NOR フラッシュ セルを消去 (「1」の状態にリセット) するには、CG とソース端子の間に逆極性の大きな電圧を印加し、ファウラー・ノルドハイム トンネル(FN トンネル) を介して FG から電子を引き抜きます。[ 83 ]これは負ゲート ソース消去として知られています。新しい NOR メモリは負ゲート チャネル消去を使用して消去できます。これは、NOR メモリセル ブロックのワード ラインとメモリセル ブロックの P ウェルにバイアスをかけて FN トンネルを実行し、セル ブロックを消去します。古いメモリはソース消去を使用しており、ソースに高電圧を印加し、FG から電子をソースに移動していました。[ 84 ] [ 85 ]最新の NOR フラッシュ メモリ チップは消去セグメント (ブロックまたはセクターと呼ばれることが多い) に分割されています。消去操作はブロック単位でのみ実行できます。消去セグメント内のすべてのセルを一緒に消去する必要があります。[ 86 ]ただし、NORセルのプログラミングは、一般的に1バイトまたは1ワードずつ実行できます。

NANDフラッシュもフローティングゲートトランジスタのグリッドを使用しますが(上記参照)、その接続方法はNANDゲートに似ています。複数のワードの特定のビットに対応するトランジスタが直列に接続され、すべてのワードラインがハイ(トランジスタのVT以上)にプルアップされている場合、ビットラインはローになります。特定のワードのビットを読み取るには、そのワードラインをローにし、他のすべてのワードラインをハイにすると、ビットラインは目的のセルのフローティングゲートの状態を反映します。これらのグループは、NORフラッシュで個々のトランジスタがリンクされるのと同様に、追加のトランジスタを介してNORスタイルのビットラインアレイに接続されます 。
NORフラッシュと比較すると、単一のトランジスタを直列接続されたグループに置き換えることで、アドレス指定のレベルが1つ増えます。NOR フラッシュではメモリをページ、次にワードの順にアドレス指定するのに対し、NAND フラッシュではページ、ワード、ビットの順にアドレス指定できます。ビットレベルのアドレス指定は、一度に1ビットしかアクセスしないビットシリアルアプリケーション(ハードディスクエミュレーションなど)に適しています。一方、インプレース実行 アプリケーションでは、ワード内のすべてのビットに同時にアクセスする必要があります。そのため、ワードレベルのアドレス指定が必要になります。いずれにしても、ビットアドレス指定とワードアドレス指定の両方のモードは、NORフラッシュとNANDフラッシュのどちらでも利用可能です。
データを読み取るには、まず目的のグループを選択します(NORアレイから単一のトランジスタを選択するのと同じ方法です)。次に、ほとんどのワード線をVT2より上にプルアップし、そのうちの1本をVIにプルアップします。選択されたビットがプログラムされていない場合、直列グループは導通し(ビット線をローにプルダウンします)。
トランジスタ数が増えたにもかかわらず、グランド線とビット線の削減により、より高密度なレイアウトとチップあたりのストレージ容量の増加が可能になりました。(グランド線とビット線は、図の線よりも実際にははるかに幅が広くなっています。)さらに、NAND フラッシュは通常、一定数の欠陥を許容します(BIOS ROMに使用されるNORフラッシュは、欠陥がないことが求められます)。メーカーは、トランジスタまたはセルのサイズを縮小することで使用可能なストレージ量を最大化しようとしますが、業界では、セルを積み重ねる3D NANDを使用することで、これを回避し、ダイあたりのストレージ密度を高めることができます。
NANDフラッシュセルは、さまざまな電圧に対する応答を分析することによって読み取られます。[ 69 ]
NANDフラッシュメモリは、書き込みにトンネルインジェクション、消去にトンネルリリース方式を採用しています。NANDフラッシュメモリは、 USBフラッシュドライブとして知られるリムーバブルUSBストレージデバイス の中核を成すだけでなく、現在入手可能なほとんどのメモリーカードフォーマットやソリッドステートドライブにも使用されています。
NANDフラッシュの階層構造は、セルレベルから始まり、ストリング、ページ、ブロック、プレーン、そして最終的にはダイへと続きます。ストリングとは、接続されたNANDセルの集合であり、あるセルのソースが次のセルのドレインに接続されます。NANDテクノロジーによって異なりますが、ストリングは通常32~128個のNANDセルで構成されます。ストリングはページに編成され、さらにブロックに編成されます。各ストリングは、ビットラインと呼ばれる個別のラインに接続されます。ストリング内で同じ位置にあるすべてのセルは、ワードラインを介して制御ゲートによって接続されます。プレーンには、同じビットラインで接続された一定数のブロックが含まれます。フラッシュダイは、1つ以上のプレーンと、読み出し、書き込み、消去操作を実行するために必要な周辺回路で構成されます。
NANDフラッシュのアーキテクチャでは、データの読み出しと書き込みはページ単位で行われ、ページサイズは通常4 KiBから16 KiBですが、消去は複数のページで構成されるブロック単位でしかできません。ブロックが消去されると、すべてのセルが論理的に1に設定されます。消去されたブロック内のページには、1回のパスでのみデータをプログラムできます。プログラミングプロセスでは、1つ以上のセルを1から0に設定します。プログラミングによって0に設定されたセルは、ブロック全体を消去することによってのみ1にリセットできます。つまり、既にデータが含まれているページに新しいデータをプログラムする前に、ページの現在の内容と新しいデータをすべて新しい消去済みのページにコピーする必要があります。適切な消去済みページが利用可能な場合は、データをすぐに書き込むことができます。消去済みページが利用できない場合は、データをそのブロック内のページにコピーする前に、ブロックを消去する必要があります。古いページは無効としてマークされ、消去して再利用できるようになります。[ 87 ]これはオペレーティングシステムのLBAビューとは異なります。たとえば、オペレーティングシステムがフラッシュストレージデバイス(SSDなど)に1100 0011を書き込んだ場合、実際にフラッシュメモリに書き込まれるデータは0011 1100になる可能性があります。

垂直NAND(V-NAND)または3D NANDメモリは、メモリセルを垂直に積み重ね、電荷トラップフラッシュアーキテクチャを使用します。垂直層により、個々のセルを小さくすることなく、より大きな面積ビット密度が可能になります。[ 88 ]また、 BiCS Flashという商標でも販売されており、これはキオクシア株式会社(旧東芝メモリ株式会社)の商標です。3D NANDは、2007年に東芝によって初めて発表されました。 [ 49 ] V-NANDは、 2013年にサムスン電子によって初めて商用製造されました。[ 50 ] [ 51 ] [ 89 ] [ 90 ]
V-NANDは、埋め込まれた窒化ケイ素膜に電荷を蓄積する電荷トラップフラッシュ構造(2002年にAMDと富士通によって商用化された)[ 48 ]を使用します。このような膜は点欠陥に対してより堅牢であり、より多くの電子を保持するために厚くすることができます。V-NANDは、平面電荷トラップセルを円筒形に包みます。[ 88 ] 2020年現在、MicronとIntelの3D NANDフラッシュメモリはフローティングゲートを使用していますが、MicronとIntelのパートナーシップの解消により、Micronの128層以上の3D NANDメモリは従来の電荷トラップ構造を使用しています。電荷トラップ3D NANDフラッシュは、フローティングゲート3D NANDよりも薄くなっています。フローティングゲート3D NANDでは、メモリセルは互いに完全に分離されていますが、電荷トラップ3D NANDでは、メモリセルの垂直グループが同じ窒化ケイ素材料を共有しています。[ 91 ]
個々のメモリセルは、複数の同心円状の垂直円筒で満たされた穴を含む平面ポリシリコン層で構成されています。穴のポリシリコン表面はゲート電極として機能します。最も外側の二酸化ケイ素円筒はゲート誘電体として機能し、電荷を蓄積する窒化ケイ素円筒を囲み、さらにその内側には、導電チャネルとして機能する導電性ポリシリコンの中央ロッドを囲むトンネル誘電体としての二酸化ケイ素円筒があります。[ 88 ]
異なる垂直層のメモリセルは、電荷が窒化ケイ素記憶媒体を垂直方向に移動できないため、互いに干渉しません。また、ゲートに関連する電界は各層内に密接に閉じ込められています。垂直コレクションは、従来のNAND フラッシュメモリが構成されている直列リンクグループと電気的に同一です。[ 88 ]また、ストリングスタッキングでは、複数の3D NANDメモリアレイまたは「プラグ」[ 92 ]を個別に構築し、それらを積み重ねて、1つのダイ上に3D NAND層の数が多い製品を作成します。多くの場合、2つまたは3つのアレイが積み重ねられます。プラグ間のミスアライメントは30~10nm程度です。[ 57 ] [ 93 ] [ 94 ]
V-NANDセル群の成長は、導電性(ドーピングされた)ポリシリコン層と絶縁性二酸化ケイ素層を交互に積層することから始まる。[ 88 ]
次のステップは、これらの層を貫通する円筒形の穴を形成することです。実際には、24層のメモリセルを持つ128 Gbit V-NANDチップには、約29億個のこのような穴が必要です。次に、穴の内面に複数のコーティングを施します。まず二酸化ケイ素、次に窒化ケイ素、そして二酸化ケイ素の2層目です。最後に、穴に導電性(ドープ)ポリシリコンを充填します。[ 88 ]
2013年現在、V-NANDフラッシュアーキテクチャは、従来のNANDに比べて読み書き操作が2倍速く、寿命が最大10倍長く、消費電力は50%少ない。10nmリソグラフィを使用して同等の物理ビット密度を提供するが、V-NANDは最大数百層を使用するため、ビット密度を最大2桁増加させることができる可能性がある。[ 88 ] 2020年現在、160層のV-NANDチップがSamsungによって開発中である。[ 95 ]層数が増えるにつれて、フラッシュメモリの容量と耐久性が向上する可能性がある。

3D NANDのウェハコストは、スケールダウンされた(32 nm以下)プレーナーNANDフラッシュと同程度である。[ 96 ]しかし、プレーナーNANDのスケーリングは16 nmで止まるため 、16層から始まる3D NANDによってビットあたりのコスト削減を継続することができる。ただし、層を貫通してエッチングされた穴の非垂直な側壁のため、わずかなずれでも、所定の層数に対して最小ビットコスト、つまり最小等価設計ルール(または最大密度)につながる。この最小ビットコスト層数は、穴の直径が小さいほど減少する。[ 97 ]
フラッシュメモリの制限の一つは、一度に1ブロックずつしか消去できないことです。通常、消去するとブロック内のすべてのビットが1に設定されます。新しく消去されたブロックから始めれば、そのブロック内の任意の場所にプログラムを書き込むことができます。しかし、一度ビットが0に設定されると、ブロック全体を消去しない限り、そのビットを1に戻すことはできません。つまり、フラッシュメモリ(特にNOR フラッシュ)は、ランダムアクセスによる読み出しと書き込み操作は可能ですが、任意のランダムアクセスによる書き換えや消去操作はできません。ただし、新しい値の0ビットが上書きされる値のスーパーセットである限り、場所を書き換えることは可能です。例えば、ニブルの値を 1111 に消去し、1110 として書き込むことができます。そのニブルに続けて書き込むと、1010、次に 0010、最後に 0000 に変わります。基本的に、消去によってすべてのビットが 1 に設定され、プログラミングによってビットを 0 にクリアすることしかできません。[ 98 ] フラッシュ デバイス用に設計されたファイルシステムの中には、セクター メタデータを表すために、この書き換え機能を使用するものがあります (例えばYAFFS1 )。YAFFS2 などの他のフラッシュ ファイルシステムでは、この「書き換え」機能を使用せず、「一度だけ書き込むルール」を満たすために多くの追加作業を行います。
フラッシュメモリ内のデータ構造は、完全に汎用的な方法で更新することはできませんが、この手法を用いることで、メンバーを無効としてマークすることにより「削除」することが可能です。ただし、 1つのメモリセルが複数のビットを保持するマルチレベルセルデバイスの場合、この手法は修正が必要になる可能性があります。
USBフラッシュドライブやメモリーカードなどの一般的なフラッシュデバイスは、ブロックレベルのインターフェース、つまりフラッシュ変換レイヤー(FTL)のみを備えており、デバイスの摩耗を均一化するために毎回異なるセルに書き込みます。これにより、ブロック内での増分書き込みは防止されますが、集中的な書き込みパターンによるデバイスの早期摩耗を防ぐのに役立ちます。

フラッシュセルに保存されたデータは、電子のトラップ解除により徐々に失われます。損失率は絶対温度の上昇とともに指数関数的に増加します。例えば、45 nm NORフラッシュの場合、1000時間経過後のしきい値電圧(Vt)損失は、25℃では90℃の約半分です。[ 99 ]
もう1つの制限は、フラッシュメモリにはプログラム消去サイクル(通常はP/E サイクルとして表記される)の数が有限であることです。[ 100 ] [ 101 ] Micron TechnologyとSun Microsystemsは、2008年12月17日に1,000,000 P/Eサイクル 定格のSLC NANDフラッシュメモリチップを発表しました。[ 102 ]
保証されたサイクル数は、ブロック 0 のみに適用される場合 ( TSOP NAND デバイスの場合 ) と、すべてのブロックに適用される場合 (NOR の場合) があります。この影響は、一部のチップ ファームウェアまたはファイルシステム ドライバで、書き込み回数をカウントし、ブロックを動的に再マッピングして書き込み操作をセクター間で分散させることで軽減されます。この手法はウェア レベリングと呼ばれます。別のアプローチとして、書き込み検証を実行し、書き込み失敗時に予備セクターに再マッピングする方法があります。これは不良ブロック管理 (BBM) と呼ばれる手法です。ポータブルな民生機器の場合、これらのウェアアウト管理手法により、フラッシュ メモリの寿命がデバイス自体の寿命を超えて延長されることが多く、これらのアプリケーションでは多少のデータ損失が許容される場合があります。ただし、高信頼性のデータ ストレージでは、多数のプログラミング サイクルを経る必要があるフラッシュ メモリを使用することは推奨されません。この制限は、読み取り妨害(下記参照)のため、寿命中に 1 回またはせいぜい数回しかプログラムされないシン クライアントやルーターなどの「読み取り専用」アプリケーションにも存在します。
2012年12月、マクロニクスの台湾人エンジニアは、2012年のIEEE国際電子デバイス会議で、NAND フラッシュストレージの読み書きサイクルを1万回から1億回に改善する方法を考案したと発表する意向を明らかにした。これは、「少数のメモリセルを焼きなますことができるオンボードヒーター」を備えたフラッシュチップを使用した「自己修復」プロセスによるものだった。[ 103 ]内蔵された熱焼きなましは、通常の消去サイクルを局所的な高温プロセスに置き換えるもので、蓄積された電荷を消去するだけでなく、チップ内の電子誘起ストレスも修復し、少なくとも1億回の書き込みサイクルを実現するものだった。[ 104 ]その結果、理論的には故障するはずの場合でも、何度も消去と書き換えが可能なチップが実現するはずだった。しかし、マクロニクスのこの画期的な技術はモバイル業界にとって有望なものだったかもしれないが、この機能を備えた商用製品が近い将来に発売される予定はなかった。[ 105 ]
NANDフラッシュメモリの読み出し方法によっては、 同じメモリブロック内の近傍のセルが時間とともに変化する(プログラムされる)ことがあります。これは読み出し妨害と呼ばれます。しきい値となる読み出し回数は、通常、消去操作の間隔で数十万回程度です。1つのセルから連続的に読み出すと、そのセル自体は故障しませんが、周囲のセルのいずれかが次の読み出しで故障します。読み出し妨害の問題を回避するために、フラッシュコントローラは通常、前回の消去以降のブロックへの読み出し総数をカウントします。カウントが目標値を超えると、影響を受けるブロックは新しいブロックにコピーされ、消去されてからブロックプールに解放されます。消去後、元のブロックは新品同様になります。ただし、フラッシュコントローラが適切なタイミングで介入しない場合、エラー訂正コードで修正するにはエラー数が多すぎると、読み出し妨害エラーが発生し、データ損失が発生する可能性があります。[ 106 ] [ 107 ] [ 108 ]
ほとんどのフラッシュICはボールグリッドアレイ(BGA)パッケージで提供され、そうでないものも多くの場合、他のBGAパッケージの隣にあるPCBに実装されます。PCBアセンブリ後、BGAパッケージの基板は、ボールが適切なパッドに正しく接続されているか、またはBGAの再加工が必要かどうかを確認するために、X線検査されることがよくあります。これらのX線は、フラッシュチップ内のプログラムされたビットを消去することができます(プログラムされた「0」ビットを消去された「1」ビットに変換します)。消去されたビット(「1」ビット)はX線の影響を受けません。[ 109 ] [ 110 ]
フラッシュメモリチップへの低レベルインターフェースは、ビット変更(0から1、1から0の両方)と外部からアクセス可能なアドレスバスを介したランダムアクセスをサポートするDRAM、ROM、EEPROMなどの他のメモリタイプのインターフェースとは異なります。
NORメモリは、読み出しと書き込み用の外部アドレスバスを備えています。NORメモリの場合、読み出しと書き込みはランダムアクセスで、ロック解除と消去はブロック単位で行われます。NANDメモリの場合、読み出しと書き込みはページ単位で行われ、ロック解除と消去はブロック単位で行われます。

NOR フラッシュからの読み出しは、アドレスバスとデータバスが正しくマッピングされていれば、ランダム アクセス メモリからの読み出しと似ています。このため、ほとんどのマイクロプロセッサは NOR フラッシュ メモリをイン プレース実行(XIP) メモリとして使用できます[ 113 ]。つまり、NOR フラッシュに格納されているプログラムは、最初に RAM にコピーする必要なく、 NOR フラッシュから直接実行できます。NORフラッシュは、読み出しと同様にランダム アクセス方式でプログラムできます。プログラミングでは、ビットが論理 1 から 0 に変更されます。すでに 0 になっているビットは変更されません。消去はブロック単位で実行され、消去されたブロック内のすべてのビットが 1 にリセットされます。一般的なブロック サイズは 64、128、または 256 KiBです。
不良ブロック管理は、NORチップにおける比較的新しい機能です 。不良ブロック管理をサポートしていない旧型のNORデバイスでは、メモリチップを制御するソフトウェアまたはデバイスドライバが、摩耗したブロックを修正する必要があります。そうしないと、デバイスは正常に動作しなくなります。
NORメモリのロック、ロック解除、プログラミング、消去に使用される具体的なコマンドは、メーカーごとに異なります。製造されるデバイスごとに固有のドライバソフトウェアを用意する必要をなくすため、特別な共通フラッシュメモリインターフェース(CFI)コマンドによって、デバイスが自身と重要な動作パラメータを識別できるようになっています。
NORフラッシュは、ランダムアクセスROMとしてだけでなく、 ランダムアクセスプログラミングを活用することでストレージデバイスとしても使用できます。一部のデバイスは、書き込みと同時に読み出しを行う機能を備えているため、バックグラウンドでプログラムや消去操作が実行されている間でも、コードの実行を継続できます。ただし、シーケンシャルデータ書き込みの場合、NOR フラッシュチップの書き込み速度は、NANDフラッシュに比べて一般的に遅いです 。
NANDフラッシュアーキテクチャは1989年に東芝によって導入されました。[ 115 ]これらのメモリは、ハードディスクなどのブロックデバイスとよく似た方法でアクセスされます。各ブロックは複数のページで構成されています。ページのサイズは通常512、 [ 116 ] 2,048、または4,096バイトです。各ページには、エラー訂正コード(ECC)チェックサムの保存に使用できる数バイト(通常はデータサイズの1/32)が関連付けられています。
一般的なブロックサイズは以下のとおりです。
最新のNANDフラッシュでは、消去ブロックサイズが1MiBから128MiBまでになる場合があります。[ 120 ]読み出しと書き込みはページ単位で行われますが、消去はブロック単位でのみ実行できます。[ 121 ]セルを0から1に変更するには、一部のページを変更するだけでなくブロック全体を消去する必要があるため、ブロックのデータを変更することは、実際には読み出し消去書き込み(REW)または読み出し変更消去書き込み(RMEW)プロセスであり、新しいデータは実際に別のブロックに移動されます。
NANDデバイスでは、デバイスドライバソフトウェアまたはフラッシュメモリコントローラチップによる不良ブロック管理も必要です。 たとえば、一部のSDカードには、不良ブロック管理とウェアレベリングを実行するためのコントローラ回路が搭載されています。上位レベルのソフトウェアが論理ブロックにアクセスすると、デバイスドライバまたはコントローラによって物理ブロックにマッピングされます。フラッシュチップ上のいくつかのブロックは、不良ブロックを処理するためのマッピングテーブルを格納するために確保されている場合もあれば、システムが電源投入時に各ブロックをチェックしてRAMに不良ブロックマップを作成する場合もあります。不良ブロックとしてマークされるブロックが増えるにつれて、全体のメモリ容量は徐々に減少します。
NAND は、通常のデバイス動作中に自然に故障する可能性のあるビットを補償するために ECC に依存しています。一般的な ECC は、22 ビットの ECC を使用して 2048 ビット (256 バイト)ごとに 1 ビットのエラーを訂正するか、24ビットの ECCを使用して 4096ビット (512バイト) ごとに 1 ビットのエラーを訂正します。 [ 122 ] ECC が読み出し中にエラーを訂正できない場合でも、エラーを検出できます。消去またはプログラム操作を実行すると、デバイスはプログラムまたは消去に失敗したブロックを検出して、それらを不良としてマークできます。その後、データは別の正常なブロックに書き込まれ、不良ブロック マップが更新されます。
ハミング符号は 、SLC NANDフラッシュで最も一般的に使用されるECCです。リード・ソロモン符号とBCH符号(ボーズ・チャウドリ・ホッケンゲム符号)は、MLC NANDフラッシュで一般的に使用されるECCです。一部のMLC NANDフラッシュチップは、適切なBCH誤り訂正符号を内部で生成します。[ 114 ]
ほとんどのNANDフラッシュメモリは、工場出荷時に不良ブロックがいくつか含まれています。これらの不良ブロックは、通常、規定された不良ブロックマーキング戦略に従ってマーキングされます。不良ブロックを許容することで、メーカーはすべてのブロックを良品と検証する場合よりもはるかに高い歩留まり を実現できます。これにより、NANDフラッシュメモリのコストが大幅に削減され、記憶容量の低下もわずかです。
NANDメモリからソフトウェアを実行する場合、仮想メモリ戦略がよく用いられます。つまり、メモリの内容をまずメモリマップドRAMにページングまたはコピーし、そこで実行する必要があります(これがNANDとRAMの一般的な組み合わせにつながります)。システム内のメモリ管理ユニット(MMU)は便利ですが、オーバーレイでも実現できます。そのため、一部のシステムではNORメモリとNANDメモリを組み合わせて使用します。この場合、容量の小さいNORメモリをソフトウェアROMとして使用し、容量の大きいNANDメモリをファイルシステムでパーティション分割して不揮発性データストレージ領域として使用します。
NANDはNORのランダムアクセスとインプレース実行という利点を犠牲にしています。NANDは大容量データストレージを必要とするシステムに最適です。高密度、大容量、低コストを実現し、消去、シーケンシャル書き込み、シーケンシャル読み出しが高速です。
Open NAND Flash Interface Working Group (ONFI)と呼ばれるグループが、NANDフラッシュチップ用の標準化された低レベルインターフェースを開発しました。これにより、異なるベンダーの適合NANDデバイス間の相互運用が可能になります。ONFI仕様バージョン1.0 [ 123 ]は2006年12月28日にリリースされました。この仕様では、以下の点が規定されています 。
ONFIグループは、Hynix、Intel、Micron Technology、Numonyxなどの主要NANDフラッシュメーカー、およびNAND フラッシュチップを搭載したデバイスの主要メーカーによって支援されています。[ 124 ]
東芝とサムスンという2つの主要なフラッシュデバイスメーカーは、Toggle Mode(現在はToggle)として知られる独自の設計のNANDフラッシュインターフェースを使用することを選択しました。このインターフェースはONFI仕様とピン互換性がありません。その結果、あるベンダーのデバイス用に設計された製品は、別のベンダーのデバイスを使用できない可能性があります。[ 125 ]
Intel、Dell、Microsoftなどのベンダーグループが、不揮発性メモリホストコントローラインターフェイス(NVMHCI)ワーキンググループを結成しました。 [ 126 ]このグループの目標は、 PCI Expressバスに接続された「フラッシュキャッシュ」デバイスを含む不揮発性メモリサブシステム用の標準的なソフトウェアおよびハードウェアプログラミングインターフェイスを提供することです。
NORフラッシュとNANDフラッシュには、重要な点で2つの違いがあります。
NOR [ 133 ]と NAND フラッシュは、メモリセル間の相互接続の構造からその名前が付けられています。[ 134 ] NOR フラッシュでは、セルはビット線に並列に接続されており、セルを個別に読み取ったりプログラムしたりできます。[ 135 ]セルの並列接続は、CMOS NOR ゲートのトランジスタの並列接続に似ています。[ 136 ] NAND フラッシュでは、セルは直列に接続されており、[ 135 ] CMOS NAND ゲートに似ています。直列接続は並列接続よりもスペースを消費しないため、NAND フラッシュのコストが削減されます 。[ 135 ] それ自体は、NAND セルを個別に読み取ったりプログラムしたりすることを妨げるものではありません。
NORフラッシュセルは、NANDフラッシュセルよりも大きい( 10 F 2対 4 F 2)――全く同じ半導体デバイス製造方法を使用し、各トランジスタ、コンタクトなどが全く同じサイズであっても――NORフラッシュセルは各セルに個別の金属コンタクトを必要とするためである。 [ 137 ] [ 138 ]
ワードライン接点の直列接続と除去により、NAND フラッシュメモリセルの大きなグリッドは、同等の NOR セルの面積の 60% 程度しか占めない可能性がある[ 139 ] (例えば 130 nm、90 nm、または 65 nm といった同じCMOSプロセス解像度を想定)。NANDフラッシュの設計者は、外部アドレスおよびデータバス回路をなくすことで、NAND チップの面積、ひいてはコストをさらに削減できることに気づきました。代わりに、外部デバイスは、シーケンシャルアクセスされるコマンドレジスタとデータレジスタを介して NAND フラッシュと通信し、内部で必要なデータを取得して出力します。この設計上の選択により、NAND フラッシュメモリのランダムアクセスは不可能になりましたが、NANDフラッシュの目標は、ROM を置き換えることではなく、機械式ハードディスクを置き換えることでした。
初期のGSM携帯電話や多くのフィーチャーフォンはNORフラッシュメモリを採用しており、プロセッサ命令をインプレース実行アーキテクチャで直接実行できるため、起動時間が短縮されていました。スマートフォンでは、より大きな記憶容量と低コストを実現するNANDフラッシュメモリが採用されましたが、命令を直接実行できず、実行前にまずRAMメモリにコピーする必要があるため、起動時間が長くなります。[ 140 ]
SLCフローティングゲートNORフラッシュの書き込み耐久性は通常NANDフラッシュと同等かそれ以上ですが、MLC NORフラッシュとNANDフラッシュは同様の耐久性を備えています。NANDフラッシュとNORフラッシュのデータシート、およびフラッシュメモリを使用するストレージ デバイスに記載されている耐久性サイクル定格の例を示します。 [ 142 ]
しかし、ウェアレベリング、フラッシュオーバープロビジョニング、高品質フラッシュメモリ(pSLCやeTLCなど)といった特定のアルゴリズムや設計パラダイムを適用することで、ストレージシステムの耐久性を特定の要件に合わせて調整することができます。[ 172 ]
NANDフラッシュの寿命を計算するには 、メモリチップのサイズ、メモリの種類(SLC/MLC/TLCなど)、および使用パターンを考慮する必要があります。産業用NANDとサーバー用NANDは、その容量、長い耐久性、および過酷な環境下での信頼性の高さから需要が高まっています。
セルあたりのビット数が増加すると、NANDフラッシュの性能と寿命が劣化し、ランダム読み出し時間がTLC NANDでは100μsに増加します。これはSLC NANDの4倍、MLC NANDの2倍の時間です。[ 71 ]
フラッシュメモリの特性上、ウェアレベリングとエラー訂正を行うコントローラ、または書き込みをメディア全体に分散させ、NOR フラッシュブロックの長い消去時間に対応するために特別に設計されたフラッシュファイルシステムと組み合わせて使用するのが最適です。フラッシュファイルシステムの基本的な概念は次のとおりです。フラッシュストアを更新する必要がある場合、ファイルシステムは変更されたデータの新しいコピーを新しいブロックに書き込み、ファイルポインタを再マッピングし、後で時間があるときに古いブロックを消去します。
実際には、フラッシュファイルシステムは、コントローラを持たない組み込みフラッシュメモリであるメモリテクノロジーデバイス(MTD)にのみ使用されます。リムーバブルフラッシュメモリカード、SSD、eMMC / eUFSチップ、USBフラッシュドライブには、ウェアレベリングとエラー訂正を行うためのコントローラが内蔵されているため、特定のフラッシュファイルシステムを使用してもメリットが得られない場合があります。
マルチメディアプレーヤーやGPSなどの民生用電子機器で使用するために、より高い容量を実現するために、複数のチップが配列またはダイスタックされることがよくあります[ 173 ]。フラッシュチップの容量スケーリング(増加)は、多くの同じ集積回路技術と装置を使用して製造されているため、ムーアの法則に従っていました。3D NANDの導入以来、より小さなトランジスタ(セル)が使用されなくなったため、スケーリングは必ずしもムーアの法則と関連付けられることはなくなりました。
消費者向けフラッシュストレージデバイスは通常、使用可能なサイズを2のべき乗(2、4、8など)の小さな整数とメガバイト(MB)またはギガバイト(GB)の慣習的な表記で宣伝されます。例:512 MB、8 GB。これには、従来のハードドライブと同様に10進接頭辞を使用するハードドライブの代替品として販売されているSSDも含まれます。[ 174 ]したがって、「64 GB 」とマークされたSSDは、少なくとも64 × 1000 3バイト(64 GB)です。ファイルシステムメタデータが占めるスペースと、一部のオペレーティングシステムが従来の接頭辞よりもやや大きいバイナリ接頭辞を使用してSSDの容量を報告するため、ほとんどのユーザーはファイル用にこれよりわずかに少ない容量しか使用できません。
内部のフラッシュメモリチップは厳密な2進数倍のサイズで設計されていますが、ドライブインターフェースではチップの実際の総容量は使用できません。書き込みの分散(ウェアレベリング)、予備データ、エラー訂正コード、およびデバイスの内部ファームウェアに必要なその他のメタデータのために、公称容量よりもかなり大きな容量が確保されています。
2005年、東芝とサンディスクは、1セルあたり2ビットのデータを保存できるマルチレベルセル(MLC)技術を使用して1GBのデータを保存できるNAND フラッシュチップを開発した。2005年9月、サムスン電子は世界初の2GBチップを開発したと発表した。[ 175 ]
2006 年 3 月、サムスンは容量 4 GB のフラッシュ ハード ドライブを発表しました。これは基本的に小型のノートパソコン用ハード ドライブと同程度の容量です。また、2006 年 9 月には、 40 nm 製造プロセス を使用して製造された 8 GB チップを発表しました。 [ 176 ] 2008 年 1 月、サンディスクは 16 GB MicroSDHC および 32 GB SDHC Plus カードの提供開始を発表しました。[ 177 ] [ 178 ]
より新しいフラッシュドライブ(2012年時点)は、64、128、256 GBの容量を備えており、はるかに大きな容量を持っています。[ 179 ]
IntelとMicronの共同開発により、32層の3.5テラバイト(TB )NAND フラッシュメモリと 10TBの標準サイズSSDの製造が可能になります。このデバイスは、フローティングゲートセル設計を使用した16× 48GB TLCダイの5つのパッケージで構成されています。 [ 180 ]
フラッシュチップは、1MB以下の容量、あるいは1MB前後の容量で引き続き製造されている (例えば、BIOS-ROMや組み込みアプリケーション向け)。
2016年7月、サムスンは256Gbit 48層TLC 3D V-NANDを採用した4TBのSamsung 850 EVOを発表しました。 [ 181 ] 2016年8月、サムスンは512Gbit 64層TLC 3D V-NANDをベースにした32TB 2.5インチSAS SSDを発表しました。さらに、サムスンは2020年までに最大100TBのストレージ容量を持つSSDを発表する予定です。[ 182 ]
フラッシュメモリデバイスは、通常、書き込みよりも読み出しの方がはるかに高速です。[ 183 ] パフォーマンスはストレージコントローラの品質にも依存し、デバイスが部分的に満杯になると、その重要性が増します。[ 183 ] 製造工程の変更がダイシュリンクのみの場合でも、適切なコントローラがないと速度が低下する可能性があります。[ 184 ]

シリアルフラッシュは、小型で低消費電力のフラッシュメモリであり、データへのアクセスはシリアル方式のみで行われます。つまり、個々のバイトをアドレス指定するのではなく、アドレス空間内の連続した大きなバイト群をシリアルに読み書きします。シリアルペリフェラルインターフェースバス(SPI)は、このデバイスにアクセスするための一般的なプロトコルです。組み込みシステムに組み込む場合、シリアルフラッシュはデータを1ビットずつ送受信するため、パラレルフラッシュメモリよりも基板上の配線数が少なくて済みます。これにより、基板面積、消費電力、およびシステム全体のコストを削減できる可能性があります。
パラレルデバイスよりも外部ピンの数が少ないシリアルデバイスが、全体的なコストを大幅に削減できる理由はいくつかあります。
SPIフラッシュには大きく分けて2種類あります。1つ目は、小さなブロックと1つの内部SRAMブロックバッファを備え、ブロック全体をバッファに読み出し、部分的に変更してから書き戻すことができるタイプです(例えば、Atmel AT45 DataFlashやMicron Technology Page Erase NOR Flashなど)。2つ目は、より大きなセクタを持つタイプで、このタイプのSPIフラッシュで一般的に見られる最小セクタは4KBです が、最大で64KBまで対応可能です 。このタイプのSPIフラッシュには内部SRAMバッファがないため、ブロック全体を読み出して変更してから書き戻す必要があり、処理速度が遅くなります。しかし、2つ目のタイプは1つ目のタイプよりも安価であるため、コードシャドウイングを行うアプリケーションには適しています。
両者はピン配置が異なり、コマンドセットにも互換性がないため、容易に交換することはできません。
ほとんどのFPGAはSRAM構成セルに基づいており、電源サイクルごとに構成ビットストリームを再ロードするために、外部構成デバイス(多くの場合シリアルフラッシュチップ)が必要です。[ 185 ]
現代の CPU の速度が上昇するにつれて、パラレル フラッシュ デバイスは、接続されているコンピュータのメモリ バスよりもはるかに遅くなることがよくあります。逆に、最新のSRAM は10 ns未満のアクセス時間を提供し、DDR2 SDRAM は20 ns 未満のアクセス時間を提供します。このため、フラッシュに格納されているコードを RAM にシャドウ することが望ましい場合が多くあります。つまり、実行前にフラッシュから RAM にコードをコピーして、CPU がフルスピードでアクセスできるようにします。デバイスのファームウェアはシリアル フラッシュ チップに格納され、デバイスの電源投入時に SDRAM または SRAM にコピーされます。[ 186 ]オン チップ フラッシュではなく外部シリアル フラッシュ デバイスを使用すると、大幅なプロセス トレードオフが不要になります (高速ロジックに適した製造プロセスは、一般的にフラッシュには適しておらず、その逆も同様です)。ファームウェアを 1 つの大きなブロックとして読み込むことが決定されたら、より小さなフラッシュ チップを使用できるように圧縮を追加するのが一般的です。2005 年以降、多くのデバイスがファームウェア ストレージにパラレル NOR フラッシュを廃止するためにシリアル NOR フラッシュを使用しています。シリアルNORフラッシュの一般的な用途としては、ハードドライブのファームウェア、BIOS、拡張カードのオプションROM、DSLモデムなどの保存が挙げられます。

フラッシュメモリの最近の用途の一つとして、ハードディスクの代替品としての利用が挙げられます。フラッシュメモリはハードディスクのような機械的な制約や遅延がないため、速度、静音性、消費電力、信頼性の面でソリッドステートドライブ(SSD)として魅力的です。フラッシュドライブはモバイルデバイスの二次記憶装置として普及が進んでおり、高性能デスクトップコンピュータや、RAIDおよびSANアーキテクチャを採用した一部のサーバーでは、ハードディスクの代替としても使用されています。
フラッシュベースの SSD には、魅力に欠ける点がいくつかあります。フラッシュメモリの 1 ギガバイトあたりのコストは、ハードディスクのコストよりもかなり高いままです。[ 187 ]また、フラッシュメモリには P/E (プログラム/消去) サイクルの数が有限ですが、フラッシュベースの SSD の保証期間が現在のハードドライブの保証期間に近づいていることから、これは現在管理されているようです。[ 188 ]さらに、SSD 上の削除されたファイルは、新しいデータで上書きされるまで無期限に残る可能性があります。磁気ハードディスクドライブでうまく機能する消去またはシュレッダー技術やソフトウェアは SSD には効果がなく、セキュリティとフォレンジック調査が損なわれます。ただし、ほとんどのソリッドステートドライブで使用されている、削除されたファイルが占有する論理ブロック アドレスを未使用としてマークしてガベージコレクションを有効にするいわゆるTRIMコマンドのため、データ復旧ソフトウェアでは、そのようなドライブから削除されたファイルを復元することはできません。
リレーショナルデータベースやACIDトランザクションを必要とするその他のシステムでは、少量のフラッシュストレージでもディスクドライブのアレイに比べて大幅な高速化を実現できます。[ 189 ]
2006年5月、サムスン電子はフラッシュメモリベースのPCであるQ1-SSDとQ30-SSDの2機種を発表し、どちらも32GB SSDを使用し、2006年6月に発売される予定で、少なくとも当初は韓国でのみ販売される予定だった。[ 190 ] Q1-SSDとQ30-SSDの発売は延期され、最終的に2006年8月下旬に出荷された。[ 191 ]
最初に発売されたフラッシュメモリ搭載PCは、2006年6月27日に予約販売が開始され、16GBの フラッシュメモリハードドライブを搭載して2006年7月3日に日本で出荷が開始されたソニーのVaio UX90でした。[ 192 ] 2006年9月下旬、ソニーはVaio UX90のフラッシュメモリを32GBにアップグレードしました 。[ 193 ]
2008年に発売された初代MacBook Airでは、ソリッドステートドライブ(SSD)はオプションとして提供され、2010年以降は全モデルにSSDが標準搭載されるようになった。2011年後半からは、インテルのUltrabook構想の一環として、超薄型ノートパソコンにSSDが標準搭載されるケースが増えている。
また、ハイブリッドドライブやReadyBoostといったハイブリッド技術もあり、これらは両方の技術の利点を組み合わせようとするもので、アプリケーションやオペレーティングシステムの実行ファイルなど、頻繁に参照されるがめったに変更されないディスク上のファイルに対して、高速な不揮発性キャッシュとしてフラッシュメモリを使用する。
スマートフォンでは、 eMMCやeUFSなどのNANDフラッシュ製品がファイルストレージデバイスとして使用されています。
2012年現在、フラッシュメモリをメインコンピュータメモリであるDRAMとして使用しようとする試みがある。[ 194 ]
フラッシュストレージデバイスのフローティングゲートトランジスタは、データを表す電荷を保持します。この電荷は時間の経過とともに徐々に漏れ出し、論理エラーの蓄積につながります。これは「ビット腐敗」または「ビットフェーディング」とも呼ばれます。[ 195 ]
フラッシュメモリ上のデータがアーカイブ条件下(すなわち、適切な温度と湿度で、予防的な書き換えの有無にかかわらず、アクセス頻度が低い場合)でどのくらいの期間保持されるかは不明である。Atmelのフラッシュベースの「ATmega 」マイクロコントローラのデータシートでは、通常、85 °C (185 °F)で20年、25 °C (77 °F) で100年の保持期間が約束されている。[ 196 ]
フラッシュストレージの種類やモデルによって、保持期間は異なります。電源が供給されアイドル状態の場合、データを保持しているトランジスタの電荷は、フラッシュストレージのファームウェアによって定期的に更新されます。 [ 195 ]ファームウェア、データ冗長性、エラー訂正アルゴリズムの違いにより、フラッシュストレージデバイス間でデータの保持能力が異なります。[ 197 ]
2015年のCMUの記事には、「フラッシュリフレッシュを必要としない今日のフラッシュデバイスは、室温での典型的な保持期間が1年である」と記載されています。そして、その保持時間は温度の上昇とともに指数関数的に減少します。この現象は、アレニウスの式でモデル化できます。[ 198 ] [ 199 ]
IntelのTim Schulte、Pranav Kalavade、Johnmichael Handsによると、フラッシュストレージは低温で保管するとデータをより長く保持できるが、書き込み時の温度が極端に高くない方が、電子がより容易に流れるため、ドライブへのストレスや摩耗を軽減できるという。[ 200 ]
一部のFPGAは、データストレージデバイスのフラッシュデータストレージセルと同じ種類のフローティングゲートトランジスタを使用して、内部要素を接続するための(プログラム可能な)スイッチとして直接使用されるフラッシュ構成セルに基づいています。[ 185 ]
ある情報源によると、2008年のフラッシュメモリ業界の生産と販売額は約91億米ドルだった。別の情報源では、2006年のフラッシュメモリ市場の規模は200億米ドルを超え、半導体市場全体の8%以上、半導体メモリ市場全体の34%以上を占めていたとしている。[ 201 ] 2012年には、市場規模は268億米ドルと推定された。[ 202 ]フラッシュメモリチップの製造には最大10週間かかることがある。[ 203 ]
2025年第3四半期時点でのNANDフラッシュメモリの最大手メーカーは以下のとおりです。[ 204 ]
注:サムスンは2025年第3四半期時点でも、NANDフラッシュメモリの最大手メーカーであり続けています。
キオクシアは2018/2019年にスピンオフして東芝に社名変更された。[ 205 ]
SKハイニックスは2021年末にインテルのNAND事業を買収した。[ 206 ]
個々のフラッシュメモリチップに加えて、フラッシュメモリはマイクロコントローラ(MCU)チップやシステムオンチップ(SoC)デバイスにも組み込まれています。 [ 223 ]フラッシュメモリはARMチップに組み込まれており、[ 223 ] 2019年時点で世界中で1500億個が販売されています。 [ 224 ]また、プログラマブルシステムオンチップ(PSoC)デバイスでは、2012年までに11億台が販売されている。 [ 225 ]これは、 2015年時点での既知の個々のフラッシュチップの販売数 454億個に加えて、フラッシュメモリを内蔵したMCUおよびSoCチップが少なくとも1511億個あることを意味します。 フラッシュメモリを搭載したチップの総数は少なくとも1965億個に上る。
比較的シンプルな構造と大容量化への高い需要により、NANDフラッシュメモリは電子機器の中で 最も積極的にスケーリングされている技術です。上位数社のメーカー間の激しい競争は、フローティングゲートMOSFET設計ルールまたはプロセス技術ノードの縮小への積極性をさらに高めています。[ 107 ]ムーアの法則のオリジナル版では、予想される縮小期間は3年ごとに2倍ですが、最近ではNANDフラッシュの場合、2年ごとに2倍に加速されています。
フラッシュメモリセルのMOSFETのフィーチャサイズが15~16 nmの最小限界に達すると 、フラッシュの密度はTLC(3ビット/セル)とNANDメモリプレーンの垂直積層によってさらに増加する 。フィーチャサイズの縮小に伴う耐久性の低下と訂正不能なビットエラー率の増加は、エラー訂正メカニズムの改善によって補償できる。[ 231 ]これらの進歩があっても、電子保持容量の数が減少するにつれて、フラッシュを経済的にさらに小さな寸法にスケーリングすることは不可能かもしれない。フラッシュのよりスケーラブルな代替品として、多くの有望な新技術(FeRAM、MRAM、PMC、PCM、ReRAMなど)が調査および開発されている。[ 232 ]
{{cite journal}}ISBN /日付の不一致(ヘルプ){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)フラッシュメモリは最大100回再プログラム可能。
これらのデバイスは、単一電源動作(2.7V~3.6V)、セクターアーキテクチャ、組み込みアルゴリズム、高性能、および1,000,000回のプログラム/消去サイクルの耐久性保証を提供します。
PSoC
は
独自のフラッシュプロセスを採用しています:
SONOS
℃で20年間、または25
℃で100年間
で1 PPMをはるかに下回る。
出荷台数は1999年に前年比64%増加し、2000年には44%増加して18億台になると予測されている。