闪存

快闪记忆体（flash memory）是一种像-
不足之处.
区块抹除.
快闪记忆体的一种限制在于即使它可以单一位元组的方式读或写入，但是抹除一定是一整个区块。一般来说都是设定某一区中的所有位元为“1”，刚开始区块内的所有部分都可以写入，然而当有任何一个位元被设为“0”时，就只能借由清除整个区块来回复“1”的状态。换句话说快闪记忆体（特别是NOR Flash）能提供随机读取与写入操作，却无法提供任意的随机覆写。不过其上的区块可以写入与既存的“0”值一样长的讯息（新值的0位元是旧值的0位元的超集）。例如：有一小区块的值已抹除为1111，然后写入1110的讯息。接下来这个区块还可以依序写入1010、0010，最后则是0000。可是实际上少有演算法可以从这种连续写入相容性得到好处，一般来说还是整块抹除再重写。尽管快闪记忆体的资料结构不能完全以一般的方式做更新，但这允许它以“标记为不可用”的方式删除讯息。这种技巧在每单元储存大于1位元资料的MLC装置中必须稍微做点修改。
记忆耗损.
另一项快闪记忆体的限制是它有抹写循环的次数限制（大多商业性SLC快闪记忆体保证“0”区有十万次的抹写能力，但因为制造精度问题其他区块不保证，有可能还会出现完全无法使用的出厂坏块）。这个结果部分地被某些韧体或档案系统为了在相异区块间分散写入操作而进行的计算写入次数与动态重映射所抵销；这种技巧称为耗损平衡（wear leveling）。另一种处理方法称为坏区管理（Bad Block Management, BBM）。这种方法是在写入时做验证并进行动态重测，如果有验证失败的区块就加以剔除。对多数行动装置而言，这些磨损管理技术可以延长其内部快闪记忆体的寿命（甚至超出这些装置的使用年限）。此外，遗失部分资料在这些装置上或许是可接受的。至于会进行大量资料读写循环的高可靠性资料储存应用则不建议使用快闪记忆体。不过这种限制不适用于路由器与瘦客户端（Thin clients）等唯读式应用，这些装置往往在使用年限内也只会写入一次或少数几次而已。
读取干扰.
所使用的快闪记忆体读取方式随著时间的推移会导致在同一区块中相近的记忆单元内容改变（变成写入动作）。这即是所谓的读取干扰。会导致读取干扰现象的读取次数门槛介于区块被抹除间，通常为100,000次。假如连续从一个记忆单元读取，此记忆单元将不会受损，而受损却是接下来被读取的周围记忆单元。为避免读取干扰问题，快闪记忆体控制器通常会计算从上次抹除动作后的区块读取动作总次数。当计数值超过所设定的目标值门槛时，受影响的区块会被复制到一个新的区块，然后将原区块抹除后释放到区块回收区中。原区块在抹除动作后就会像新的一样。若是快闪记忆体控制器没有即时介入时，读取干扰错误就会发生，如果错误太多而无法被ECC机制修复时就会伴随著可能的资料遗失。
写入（编程）干扰.
写入干扰（编程干扰）是指当对页（page）进行写入时，由于阈值电压接近的关系，相邻的位（bit）也被升高，从而造成相邻的位出错。快闪记忆体电荷非常不稳定，相邻存储电荷的悬浮门间会相互干扰，造成相邻悬浮门间的bit错误，MLC由于存在4组接近的电压，与SLC相比更容易受到干扰。现在的主控固件已经支持使用异或的方式尽可能的将数据打乱到尽量每个bit之间是互相反转的方式来尽可能减少这种情况对数据存储稳定性的干扰
低阶存取.
快闪记忆体晶片的低阶介面通常与透过支援外界的定址汇流排行随机存取的DRAM、ROM、EEPROM等记忆体不同。NOR Flash本身为读取操作（支援随机存取）提供外部定址汇流排；至于解锁、抹除与写入则须以区块-区块（Block-by-block）的方式进行，典型的区块大小为64、128或256位元组。NAND Flash所有的动作都必须以区块性基础（Block-wise fashion）执行，包含读、写、解锁与抹除。
NOR Flash.
从NOR Flash读取资料的方式与从RAM读取资料相近，只要提供资料的位址，资料汇流排就可以正确的汇出资料。基于以上原因，多数微处理器可以将NOR Flash当作原地执行（, XIP）记忆体使用，这意味著储存在NOR Flash上的程式不需复制到RAM就可以直接执行。
由于NOR Flash没有原生坏区管理，所以一旦储存区块发生毁损，软体或驱动程式必须接手这个问题，否则可能会导致装置发生异常。在解锁、抹除或写入NOR Flash区块时，特殊的指令会先写入已绘测的记忆区的第一页（Page）。接著快闪记忆晶片会提供可用的指令清单给实体驱动程式，而这些指令是由通用快闪记忆体介面（Common Flash memory Interface, CFI）所界定的。与用于随机存取的ROM不同，NOR Flash也可以用在储存装置上；不过与NAND Flash相比，NOR Flash的写入速度一般来说会慢很多。NOR Flash最常见用途之一就是BIOS ROM晶片。
NAND Flash.
东芝在1989年发表了NAND Flash架构，这种记忆体的存取方式类似硬碟、记忆卡之类的区块性储存装置，每个区块由数个页所构成。一般来说这些页的大小为512或2048或4096位元组。在各个页之间彼此的连接区域会有几个位元组（一般而言是资料大小的1/32），这些空间用于储存错误修正码的校验和。以下是一些典型的区块大小：
读取与写入动作可以以“页”为单位偏移量进行，抹除动作只能以“区块”为单位偏移量进行。NAND Flash还有一项限制就是区块内的资料只能序列性的写入。
操作次数（Number of Operations, NOPs）则代表“页”可以被写入的次数。目前MLC的NOPs是1；而SLC则是4。
NAND Flash也需要由装置驱动程式软体或分离的控制器晶片来进行坏区管理，例如SD卡内部便包含实行坏区管理与耗损平衡的电路。当一个逻辑区被高阶软体存取时，逻辑区对应到实体区的工作则由驱动程式或控制器进行。
标准化.
（Open NAND Flash Interface Working Group (ONFI))已为快闪记忆体晶片开发完成一份标准化低阶存取介面规格书。这份规格允许并确认了来自不同供应商的快闪记忆体元件间的互通性。《开放式快闪记忆体介面规格书版本1.0》于2006年12月28日释出。规定著：
支援ONFI小组的主要快闪记忆体制造商包含有：海力士、英特尔、美光科技与，也有与快闪记忆体晶片结合元件的主要制造商。
一群供应商，包含英特尔、戴尔与微软成立非挥发性记忆体主控制器介面(Non-Volatile Memory Host Controller Interface (NVMHCI))工作小组。此小组的目的是提供标准的非挥发性记忆体软硬体程式设计介面，包含有连接到PCI Express汇流排的"快闪快取"（flash cache）元件。
NOR型与NAND型快闪记忆体的差异.
NOR型与NAND型快闪记忆体最主要的两个差异点如下：
以上两点是相关的NAND型快闪记忆体研发所做出的设计抉择。NAND型快闪记忆体发展的一个目标是为了减少所需的晶片面积来实现给定的快闪记忆体容量，从而降低每位元的成本，并推升晶片最大容量，如此就可与磁性储存设备相互竞争，如硬碟。
NOR和NAND型快闪记忆体由记忆单元间的内部连接结构而得名。NOR型快闪记忆体内部记忆单元以平行方式连接到位元线，允许个别读取与程式化记忆单元。这种记忆单元的平行连接类似于CMOS NOR闸中的电晶体平行连接。NAND型快闪记忆体内部记忆单元以顺序方式连接，类似于NAND闸。顺序连接方式所占空间较平行连接方式为小，降低了NAND型快闪记忆体的成本。
NOR型快闪记忆体面世后，成为比现有的EPROM与EEPROM记忆体更经济、更方便的复写型唯读记忆体。因此，随机存取的读取电路是需要的。然而，NOR型快闪记忆体当成唯读记忆体使用时的读取次数在预期上通常远大于写入次数，所以其内含的写入电路是相当慢的，并且只提供区块抹除功能。另一方面，使用快闪记忆体的应用，如取代硬碟，无需字元组层级的位址线，因为字元组层级的位址线只会增加无谓的复杂度与成本。
因为采用顺序连接方式及去除字元组的接触点，NAND型快闪记忆体记忆单元的大型闸格所占面积只有NOR型记忆单元的60%（假设采用相同的CMOS制程，如130nm、90nm或65nm）。NAND型记忆体的设计者理解到快闪记忆体的面积，在移除外部位址线及资料汇流排电路后，将可进一步缩小。取而代之的是，外部装置可使用顺序存取命令与资料暂存器与NAND型快闪记忆体沟通，由记忆体内部取得所需资料并将其输出。选择这种设计方式使得NAND型快闪记忆体无法随机存取，但是NAND型快闪记忆体的主要目标是取代硬碟，而不是唯读记忆体。
写入续航力.
NOR型快闪记忆体SLC浮闸的写入续航力通常大于或等于NAND型快闪记忆体，然而MLC NOR型与NAND型快闪记忆体有著相近的续航能力。
NAND型与NOR型快闪记忆体规格书所提供的写入续航周期速率如下：
以上数据只是大概的标称数值，实际写入寿命与不同厂商的产品技术及定位有关。使用更细微化的制程，可以提高产品读写性能和容量，但同时在写入寿命方面可能会面临更大的挑战。使用如记忆损耗调节及写入放大的特定演算法及设计范例，可以用来调节储存系统的续航率来符合特定的需求。损耗平衡是闪存产品使用寿命的必要保证，在U盘和固态硬碟等产品中，均有相关支持。
快闪记忆体档案系统.
因为快闪记忆体的独特特性，最好使用一个额外的控制器来实行记忆耗损平衡与错误修正（目前绝大多数SSD的主控自带闪存寿命磨损均衡功能和管理ECC纠错区域）或是一个特别设计的快闪记忆体档案系统，来将对媒体的写入动作与NOR快闪记忆体区块的长抹除时间的处理动作分开。快闪记忆体档案系统的背景观念如下：当快闪记忆体的储存内容被更新时，主控将欲改变的资料写入一个新的区块，创建地址对应，然后找时间抹除旧有的标记删除的区块（现在支持TRIM指令的SSD可以使用TRIM指令整理已经标记删除的块）。
特别的是，快闪记忆体档案系统只使用于MTDs（memory technology devices），此设备具有内嵌式快闪记忆体，但没有控制器。可携式快闪记忆卡与随身碟均有内建控制器来实行记忆耗损平衡与错误修正，所以使用特别的快闪记忆体档案系统并不会增加任何的好处。
多数情况下，闪存与计算机间存在一个中间层（大多数为主控芯片），将闪存模拟成磁盘使用。对于上层软件和使用者来说，并不需要关心闪存的实际细节。
容量.
一般采用多颗快闪记忆体晶片组成阵列的方式来达到增高容量的目的，这种方式使用于消费性电子产品中，如多媒体拨放器或全球定位系统中。因为快闪记忆体属于积体电路，所以快闪记忆体晶片的容量通常遵循摩尔定律。闪存可以通过工艺的进化和3D IC多层堆叠的方式获得更高的容量。但是闪存工艺到16nm以下时会出现严重漏电，导致内部短路或者写入时干扰其它块，所以目前的闪存工艺大部分是16nm到24nm之间以防止过高的漏电。而在市售的闪存封装产品中，可以通过包含多个闪存晶体（称为多管芯）来获得更高的容量。控制器可以通过不同的CE信号，选择不同的管芯进行操作。
消费性快闪记忆体储存装置一般使用2的整数次幂（2、4、8等等）来标示可使用的容量大小，而最终以百万位元组（MB）或十亿位元组（GB）来表示，例如：512MB，8GB。然而如欲取代传统硬碟（HDD）的固态硬碟（SSD）装置则是使用10的整数倍数来表示容量大小，如1,000,000位元组与1,000,000,000位元组，这是因为传统硬碟标示容量大小即是使用10进制词头。因此，固态硬碟上标示"64GB"，则表示实际上至少有64×1,0003位元组（64GB），通常更大一些。大部分使用者则会感到容量稍少于他们的档案，这是因为主控的固件信息和坏块使用了一些空间。同时，一些操作系统容量标记的标记与生产商的标记方式不同也造成了此问题（混淆MB和MiB）。
快闪记忆体晶片内部的容量大小是以2进位倍数计算，但并非所有实际容量空间均能被驱动器介面所使用。快闪记忆体晶片实际的容量会大于出厂可用容量，或者说，可用容量会小于芯片容量，这是为了存放写入的闪存寿命磨损均衡表（FTL）（记忆损耗平衡）、出厂预留空间、分区表、错误修正码、及装置内部韧体程式运算所需要的其他中继资料。
2005年，东芝与新帝公司使用多层储存单元（multi-level cell，MLC）技术开发出可储存1GB资料量的NAND型快闪记忆体晶片，MLC拥有在最小记忆单元中储存两个位元资料的能力。2005年9月，三星电子宣布开发出世界上第一颗2GB快闪记忆体晶片。
2006年3月，三星电子宣布开发出容量为4GB的固态硬碟机，比膝上型电脑所使用的同样容量硬碟还要来的小。2006年9月，三星电子宣布使用40奈米制程量产8GB快闪记忆体晶片。
2008年1月，新帝公司宣布16GB的MicroSDHC与32GB的SDHC Plus记忆卡开始贩售。
2012年后的快闪记忆体储存装置有了较大的容量，如64、128及256GB。一些更大容量的固态硬碟，根据容量大小，能被使用来当作整个电脑的备份硬碟。
仍有小容量的快闪记忆体晶片生产以供BIOS-ROM与嵌入式应用使用，容量大小约为1MB或以下。
传输速率.
NAND型快闪记忆卡的读取速度远大于写入速度。
当晶片磨损，抹除与程式的操作速度会降到相当慢，主控需要需要更大电压进行操作和更长的时间保证数据完整和创建ECC数据。传递多个小型档案时，若是每个档案长度均小于快闪记忆体晶片所定义的区块大小时，因为每次擦写一整个块，导致写入时需要将已有数据移至空闲的区域，每次读写都需要操作多次，就可能导致很低的传输速率。存取的迟滞也会影响效能，但还是比硬碟的迟滞影响小。但是在现有的分区的文件系统中，已经开始默认以闪存和Advanced format扇区配机械硬盘相同的4096字节为一个扇区对齐闪存块和机械硬盘的物理扇区进行扇区读写解决这个问题，每次当写入数据小于一个扇区时，会将不足一个扇区的数据写入后的扇区空闲空间置空，并且下次写入一个文件的时候只能单独再使用一个扇区以防止二次读写同一个块挪动数据导致的写入缓慢。
有些时候速度以MB/s（每秒百万位元组）表示，或是以旧式单速光碟机速度的倍数表示，如60×、100×或150×。在这里，1×等于150KB/s。举例来说，100×的记忆卡的传输速率为150kB/s×100 = 15,000kB/s。
快闪记忆体控制器的品质也是影响效能的因素之一。即使快闪记忆体只有在制造时做缩小晶粒（die-shrink）的改变，但如果欠缺合适的控制器，就可能引起速度的降级。
不同种类、不同工艺、不同技术水平的NAND闪存在读写速率上存在差异，同时，闪存产品的读写性能也与读写方式有关。一般闪存的数据接口为8位或者16位，其中8位较为常见。如果产品支持多通道并行读写，那么就会有更高的速度。同时，若产品支持DDR、interleave技术，也可以提高速度。DDR是存储产品在时脉(clock)上升沿和下降沿都可以读写数据，从而提高性能。interleave是存储产品内不同bank或plane间交错读写，控制器在操作对象尚处于忙状态时，即可以转到另一方进行操作，从而提高速度。如果同类闪存中有异步模式和同步模式之分，其中同步模式的读写速度会更快。
应用.
序列介面快闪记忆体.
序列介面快闪记忆体是一种使用序列式介面（通常使用序列周边介面汇流排（SPI））来循序存取资料内容，小型且低功率的快闪记忆体。当其使用于嵌入式系统上时，序列式快闪记忆体比平行式快闪记忆体在印刷电路板上所需的连接线数要少得多；因为序列式介面可以一次同时传送与接受资料的一个位元，这使得序列式快闪记忆体具有减少在印刷电路板上所占面积、耗电量及整体系统成本的优势。
有好几个理由说明了为何使用较少外部接脚的序列式元件，而不是使用平行式元件，可以大大的降低整体的成本：
SPI快闪记忆体的型式主要有两种：一种是小页特性且内含一个或多个内部SRAM的页缓冲区，能够让整个页的资料都读入缓冲区、修改部分资料、而后再写回快闪记忆体中（例如Atmel的"DataFlash"：AT45，Micron Technology页抹除NOR型快闪记忆体）。另一种则有较大的区段。一般来说，SPI快闪记忆体的最小区段大小是4kB，最大可达64kB。因为此类SPI快闪记忆体缺乏内部SRAM缓冲区，修改资料时必须将完整的资料页读出，再修改资料后，写回快闪记忆体中，使得管理速度变慢。SPI快闪记忆体比平行式介面快闪记忆体便宜，因此应用于具有程式代码映射（Code-Shadowing）功能的系统上，是一个不错的选择。
而这两种型式的快闪记忆体不容易做到简单的直接置换，因为没有相同的外部接脚且命令集也互不相容。
韧体储存.
随著现下CPU的速度越来越快，平行式介面快闪记忆体元件的速度通常远小于与其连接的电脑系统记忆体汇流排速度。相较之下，目前的SRAM存取的时间通常小于10ns，而DDR2 SDRAM存取时间一般则小于20ns。因为这个因素，一般合理的使用方式是将要存放于映射记忆体里的程式码预先存放于快闪记忆体中，并在CPU执行程式码前将快闪记忆体中的程式码复制到映射记忆体中，如此一来，CPU就可以用最高速度来取用程式码。设备上的韧体也可以预先存放于序列式介面快闪记忆体中，在设备开机后，将其复制到SDRAM或SRAM里。使用外部序列式快闪记忆体而不用晶片中内嵌快闪记忆体是因为晶片制程上的考虑而妥协的结果（适用于高速逻辑制程通常不适用于快闪记忆体，反之亦然）。如果有需要将一个大区块的韧体程式码读入时，通常会事先将程式码压缩后再存入快闪记忆体中，就可以缩小快闪记忆体晶片上被使用的区域。典型的序列式介面快闪记忆体应用于韧体储存上有：硬碟、乙太网路控制器、DSL数据机、无线网卡等等。对于UEFI而言，因为在UEFI启动过程的DXE阶段前UEFI对主记忆体的访问有限，所以UEFI固件通常保存在NOR Flash中。
快闪记忆体作为硬碟的替代品.
近期另一个快闪记忆体的应用就是作为硬碟的替代品。因为快闪记忆体没有硬碟机械因素的限制并且可以多单元并行存取，所以固态硬碟（SSD）在速度、噪音、耗电量与可靠度等因素的考量上是非常吸引人的。快闪记忆体元件正取得可携式行动设备上第二储存元件的地位。同时使用在高效能桌上型电脑及一些具有RAID和SAN架构的伺服器上作为硬碟的替代品。
但是以快闪记忆体为基础的固态硬碟，也存在其他方面因素，使得它并不具有吸引力。例如快闪记忆体每千兆位元的成本依旧比硬碟高出许多。另一个不具吸引的因素就是快闪记忆体有著有限的P/E循环次数，但是这个因素可以透过程序优化，目前似乎已在人为控制能力范围内，加上容量的增大使得每单位读写次数减少，让它的使用寿命可以达到传统硬碟甚至更高的水准，因此以快闪记忆体为基础的固态硬碟也施行了与现有硬碟相同的保固政策。
对于关联性资料库或其他使用ACID的资料库事务系统上，即使是使用目前最慢的快闪记忆体储存媒体也可以比使用硬碟所组成的阵列，在速度的表现上有著显著的提升。
于2006年6月，三星发布第一批配备快闪记忆体固态硬碟的个人电脑：Q1-SSD及Q30-SSD，均使用32GB的固态硬碟，并且初期只在南韩地区发售。
在2008年，固态硬碟成为第一版MacBook Air的选用配备，并且从2010年起，固态硬碟成为所有Macbook Air膝上型电脑的标准配备。2011年后开始，由于固态硬碟成为Intel所倡议Ultrabook的一部份，超薄膝上型电脑以固态硬碟为标准配备的数量逐渐增加。因为固态硬盘的性能远高于机械硬盘，所以2011年以后固态硬盘在PC上逐步得到普及。
也有混合型技术，诸如混合型硬碟和ReadyBoost，尝试将两种技术的优点合并，使用快闪记忆体作为硬碟上常用且鲜少修改的档案，如应用程式及作业系统的执行档，的高速非挥发性快取；或者使用固态硬盘加快机械硬盘的读写速度。
快闪记忆体作为随机存取记忆体.
截至2012年，有许多的尝试想把快闪记忆体作为电脑的主记忆体，动态随机存取记忆体（DRAM）。在这个应用角色上，快闪记忆体的速度是比现有的DRAM慢，但是耗电量却远小于DRAM。但是闪存的寿命也是需要注意的问题。闪存的寿命通常是几千次P/E，而RAM的寿命几乎是无尽的P/E次数，闪存寿命耗尽有可能会导致数据丢失，系统崩溃。
新型存储介质.
2015年，英特尔及美光联合发布了xPoint新型存储介质，这种介质是一种相变存储材料（而非NAND或者Nor），当下主要用于英特尔的Optane固态硬盘中。
工业产值.
2008年，一份资料中表示快闪记忆体在制造与销售上的工业产值约为US$91亿。2006年，另一些资料将快闪记忆体市场规模预估为超过US$200亿，这是根据整体半导体市场超过8%与全部半导体记忆体市场超过34%的成长。
根据DRAMeXchange的研究报告，2007年全球Flash产业的市场规模为133亿6千8百万美元，2008年则是114亿1千8百万美元，整体营收降低了14.6％，主要的原因是受到产品平均单价下滑的影响。
根据DRAMeXchange于2009年2月所发布的2008年全年NAND型快闪记忆体品牌厂商营收排名资料，第一为南韩厂商三星（Samsung）市占率高达40.4%（46亿1千4百万美元），其次是日本厂商东芝（Toshiba）的28.1%（32亿5百万美元），第三是南韩厂商Hynix的15.1%（17亿2千7百万美元），第4为美国厂商美光（Micron）7.9％（8亿9千7百万美元），第5为美国厂商英特尔（Intel）5.8％（6亿6千万美元），第6是欧洲厂商恒忆（Numonyx，STMicro）2.6%（营收为2亿9千5百万美元）。
于2012年，预估快闪记忆体市场落在$268亿。然而根据2013年4月DRAMeXchange的调查数据显示，2012年全年NAND型快闪记忆体品牌厂商总营收落在190亿6千2百万美元，较2011年衰退6.6%。
现今技术发展.
由于NAND型快闪记忆体本身相对简单的结构及对高容量的高需求关系，使它成为电子元件中，在技术规模上发展最积极的。只有少数几家顶尖的制造商能够在高度的竞争中，积极的开发出缩小设计规则或是制程技术里程点。
虽然原始版本摩尔定律所预测尺寸缩小一半时程因子为每三年，但是在近期NAND型快闪记忆体的例子上这个因子却是每两年。
于2012年11月，三星宣布已经开始量产10nm的晶片，这暗示著最小几何形状介于10至19nm间。
由于快闪记忆体的最小组成元件已被最小化到极致的关系，未来的快闪记忆体密度的增加，将依靠更高级别的MLC，或是多层堆叠与制程的改善来驱动。从缩小尺寸伴随而来的耐久性降低与不正确位元错误率增加，这些都可以借由改善错误修正机制来弥补。即使有了这些进步，已有经济规模的快闪记忆体在尺寸上也难以越来越小。闪存本身的读写速度有限，并且有写入次数限制。有些具有光明展望的新技术（诸如铁电随机存取记忆体（FeRAM）、磁阻式随机存取记忆体（MRAM）、可编程金属化单元（PMC）、电阻式存储器（ReRAM）、相变化记忆体（PCM）与其他)均在探索与研发中，希望能更大规模的取代快闪记忆体。
随着NAND制程越来越小，缩短制程提高存储密度已经非常困难。最新的NAND技术被称为3D-NAND，这种材料改变了2D-NAND单层的设计，将32层、64层NAND进行堆叠，从而提高存储密度。当前美光、SK-海力士、东芝、西部数据、三星几大NAND厂商均已拥有自己的3D-NAND产品。第一代基于3D-NAND的固态硬盘也已经开始广泛应用于数据中心和消费级计算机。借助3D-NAND，固态硬盘容量得到了质的提升，在2017年中国国内一家厂商Memblaze发布的PBlaze5 PCIe SSD已经最高可以做到11TB可用容量。