那么 SSD、eMMC、SD、USB 闪存等的底层技术... NAND 闪存正确吗?那么它们之间的区别只是控制器的实现方式吗?还是这些技术完全不同?
据我所知,我认为 SSD 适用于台式机,而 eMMC 适用于移动设备,但所有这些存储技术之间是否存在一些复杂的差异?
答案1
NAND 代表否被授予和. 它通常指 逻辑门由硅构成的方式。
闪存也是由硅片制成,并使用 NAND 门。这导致了术语NAND 闪存。我怀疑这就是您所指的 NAND,但为了完整起见,我想提一下背景。
您可以使用 NAND 闪存构建存储,但您需要某种方式来访问它。
例如,你可以在 PCB 上放置一个 NAND 闪存芯片,添加一个控制器芯片和一些 USB 逻辑,你就得到了一个 USB 笔式驱动器。或者你可以添加一个标准差控制器并将其置于这种格式,您就会得到一张 SD 卡。
两者都是相对简单的设备,当你在它们上面存储信息时,你会写入一个固定的位置。这是一件坏事,因为写入 NAND 闪存的次数是有限的。
您可以在设备中添加一个控制器,以确保所有写入均匀分布在 NAND 上,同时为计算机提供一致的图像。这需要设备部分具有更多的智能,并且是在固态硬盘(SSD 旨在取代机械硬盘,因此有望获得大量的写入)。
它们之间的区别仅仅在于控制器的实现方式吗?
对于 SD/USB pendive:大部分相同,只是接口不同。
对于 SSD:完全不同的控制器。
或者说这些技术根本就不同?
有几种方法可以实现 nand 存储。主要的实现差异似乎归结为:
- 可以存储高电压或低电压的单电池(速尔, 或者年代单个级别)。 基本上要么是“开”要么是“关”,要么是“1”或“0”。
- 允许多种电源级别的芯片。(关闭、轻微充电、大部分充电、完全充电。将其与立体声信号进行比较。SLC 可以是音乐开启或音乐关闭。MLC 可以是“关闭、轻音乐、大声音乐和超聋模式”)。
那么嵌入式多媒体卡。
我以前从未听说过,但根据维基百科,它是一种闪存存储卡标准。
答案2
NAND——原始闪存
原始闪存使用自己的协议,该协议包括读取页面、写入页面和擦除块。它不像磁盘那样工作 - 磁盘能够读取块和写入块,闪存能够读取和写入页面 - 以及一组称为堵塞 必须先擦除才能写入新数据。您只能擦除有限次数,之后块会磨损,并且无法再完全擦除。
SD——“安全数字”
这是一种存储卡格式。SD 卡包含一个微型微控制器和 NAND。微控制器实现了 FTL(闪存转换层),可进行类似磁盘的块访问并将其转换为有意义的 NAND 操作,以及执行损耗均衡和块备用。SD 卡在“主机”端使用 SPI 协议。USB SD 卡读卡器将 USB 大容量存储命令转换为 SPI SD 命令。
eMMC——嵌入式 MMC
这基本上是指您可以想象到的内置在主板中的 SD 卡(SD 和 MMC 标准非常相似 - 足够 SD 卡读卡器通常可以读取 MMC 卡) - 通常焊接在主板上且不可拆卸。通常,它通过内部 SPI 总线连接到其余硬件。手机和 ARM 硬件以及其他嵌入式设备(即路由器)可能具有此功能。更新:一些较新的物有所值的 Windows 上网本也开始具有这些功能。SD 卡和 eMMC 比 SSD 慢,因为 SPI 总线不如 SATA 总线快。
SSD——“固态硬盘”
一个控制器 + 一堆 NAND 放在硬盘盒中。控制器实现 FTL(闪存转换层),它接受类似磁盘的块访问并将其转换为有意义的 NAND 操作,以及执行损耗均衡和块备用。一些控制器类型(如“Sandforce”等)是众所周知的。SSD 在“主机”端使用 SATA 协议和连接器。
如果您正在处理原始 NAND(例如 Guruplug),则您有责任执行磨损均衡和块备用。Linux 文件系统等会jffs2
执行此操作,但不需要,因为 FTL 可以执行此操作,例如在大多数 SD 卡、USB 卡等上。
答案3
请注意,这些都是非易失性存储器,无需断电即可保留数据:
闪光- 非易失性存储器的存储介质。
NAND- 闪存芯片的类型。
固态硬盘- 包含许多 NAND 芯片。
只是为了区分 Flash内存(随机存取存储器)类型:
- 内存/DDR- 易失性存储器芯片,断电时数据会丢失。