什么使闪存可用于平板电脑等计算机中的OS?


7

自从发明了闪存驱动器(USB记忆棒)以来,人们一直在想是否可以在其上运行操​​作系统。答案为“否”,因为操作系统所需的写入次数会很快使闪存驱动器磨损。

随着SSD的普及,磨损平衡技术得到了改进,以允许操作系统在其上运行。

各种平板电脑,上网本和其他轻薄型计算机使用闪存代替硬盘或SSD,并且操作系统存储在其上。这是怎么突然变成现实的?例如,他们通常采用损耗均衡技术吗?


“随着SSD的流行,发明了磨损均衡技术” –您倒退了。
锯末2016年

@sawdust谢谢。我进行了修改,说“已改进”。尽管IIRC的第一个SSD没有任何磨损平衡。
RockPaperLizard '16

2
问题的重点是存储介质和与“公知常识”的明显冲突。平板电脑可以说是热门话题,而上网本/ Chromebook都是热门话题,也是该问题适用的平台。智能手机只是使用类似存储介质的一个例子,它们并不是问题的重点。问题是关于了解闪存,它适用于主题设备。
fixer1234'2013/

体面的问题,但投票结束。FWIW,虽然这个问题很不错,但是每个人的答案似乎都集中在意见上,并作了广泛的声明,而没有真正地以事实或细节为后盾。
JakeGould '16

@JakeGould,观察得很好;让我重新审视了我的答案。最重要的是,一种闪存可以以诱人的价格满足特定需求,因此被使用。在这种情况下,答案实际上集中于问题中的假设(不使用它的原因是写入限制,适用于任何设计和目的)。对事实和细节有什么建议可以使答案更好吗?
fixer1234'2013/

Answers:


4

“答案是“否”,因为操作系统所需的写入次数会很快使闪存驱动器磨损。”

TLDR:它们终于成为主流使用的成本有效的方法。

磨损是唯一需要考虑的问题。已有相当长的一段时间,系统会消耗固态存储器-许多制造汽车电脑的人都是从CF卡(与PATA电气兼容,并且安装琐碎而不是PATA硬盘驱动器)启动的,具有小型,坚固,基于闪存的存储。就是说,普通人没有太多选择。您可以购买价格昂贵的CF卡和笔记本电脑适配器,或者在台式机模块单元上找到一块很小的价格非常昂贵的工业磁盘。与当代硬盘相比,它们的体积不是很大(我认为现代IDE DOM的最高容量为8gb或16gb)。可以肯定的是,在“标准” SSD普及之前,您可能已经设置了固态系统驱动器

据我所知,在磨损平衡方面并没有真正的普遍/神奇的改进。已经有了逐步的改进(虽然我们已经从昂贵的SLC转移到MLC,TLC甚至QLC,并且过程尺寸更小,但所有这些都降低了成本,并且有较高的磨损风险)。Flash 便宜了很多

还有一些不存在磨损问题的替代方案-例如,使用ROM(可以说固态存储)运行整个系统,使用电池供电的内存,许多早期的SSD和掌上电脑等便携式设备都使用了内存。这些都不是当今常见的。硬盘驱动器震撼比说,电池备份RAM(太贵),早期的固态设备(有些价格昂贵),或农民用标志(从来没有流行起来,可怕的数据密度)。甚至现代闪存也是快速擦除eeproms的后代,并且eeproms在电子设备中用于存储固件之类的东西已有很长时间了。

硬盘只是处于高容量(这很重要!),低廉的成本和相对足够的存储空间的良好交汇处。

您在现代低端PC中找到emmc的原因是这些组件相对便宜,足够大(用于台式机操作系统),且价格昂贵,并且与手机组件具有共同性,因此可以通过标准接口批量生产。它们还为它们的体积提供了很大的存储密度。考虑到其中许多机器只有32GB或64GB的硬盘,与十年前大部分时间的硬盘驱动器相当,因此,在这些角色中,它们是明智的选择。

我们终于到达,您可存储内存的合理数量的点实惠,并用合理的速度上emmcs和闪光灯,这就是为什么人们去为他们。


3

从平板电脑到手机到智能手表,再到SSD甚至相机和USB拇指驱动器中的SD卡,所有闪存设备都使用NVRAM技术。不同之处在于NVRAM的体系结构,以及操作系统如何在任何存储介质上挂载文件系统。

对于Android平板电脑和手机,NVRAM技术基于eMMC。我可以从这项技术上找到的数据表明写入周期在3k到10k之间。不幸的是,到目前为止我还没有发现任何确定的东西,因为Wikipedia在该技术的写入周期中是空白的。我看过的所有其他地方都恰好是各种论坛,所以我很难称其为可靠的消息来源。

为了比较起见,其他NVRAM技术(例如使用NAND或NOR技术的SSD)的写周期在10k到30k之间。

现在,关于操作系统对如何挂载文件系统的选择...。我不能说苹果是如何做到的,但是对于Android,芯片的分配就像硬盘一样。您有一个OS分区,一个数据分区以及几个其他专有分区,具体取决于设备制造商。真正的根分区位于引导加载程序内部,该引导加载程序与内核一起捆绑为压缩文件(jffs2,cramfs等),因此,当设备的第1阶段引导完成时(通常是制造商的徽标屏幕),内核便会引导根分区同时作为ram磁盘安装。

在操作系统启动时,它将主分区的文件系统(/ system,在Android 4.0之前的设备上为jffs2,在Android 4.0之后的设备上为ext2 / 3/4,最新版本的设备上的xfs)挂载为只读,因此数据可以写入其中。当然,这可以通过设备的所谓“ rooting”来解决,它可以让您以超级用户的身份访问,并允许您将分区重新安装为读/写。您的“用户”数据被写入芯片上的另一个分区(/ data,遵循与Android相同的上述约定)。

随着越来越多的电话放弃sdcard插槽,您可能会认为自己会更快达到写入上限,因为所有数据现在都保存到了eMMC存储器中,而不是sdcard中。幸运的是,大多数文件系统都检测到对给定存储区域的写入失败。如果写入失败,则数据将以静默方式保存到存储的新区域,并且文件系统驱动程序将坏区域(称为坏块)封锁起来,以便将来不再将数据写入那里。如果读取失败,则数据被标记为已损坏,并且被告知用户运行文件系统检查或检查磁盘,或者设备在下次引导期间自动检查文件系统。

实际上,Google拥有自动检测和处理坏块的专利。

https://www.google.com/patents/US7690031

为了更深入地探讨这一点,您的问题“这是如何突然变成现实的?” 不是要问的正确问题。相反,首先它从来都不是不切实际的。强烈建议不要将OS(Windows)安装在SSD上(大概是这样),因为OS会对磁盘进行的写入次数很多。

例如,注册表实际上每秒接收数百次读写,这可以通过Microsoft / SysInternals工具Regmon(https://technet.microsoft.com/en-us/sysinternals/regmon.aspx)查看。

建议不要在第一代SSD驱动器上安装(Windows)操作系统,因为在缺乏损耗平衡的情况下,每秒写入注册表的数据最终可能会赶上早期采用者,并由于注册表损坏而导致无法启动的系统。

使用平板电脑和电话以及几乎所有其他嵌入式设备,都没有注册表(Windows Embedded设备当然是例外),因此,不必担心数据不断写入闪存介质的相同部分。

对于Windows Embedded设备,例如许多公开发布的信息亭(包括Walmart和Kroger自助结账亭),您可能会不时看到随机的BSOD,但数量不多可以完成的配置,因为它们已预先设计成永远不会更改的配置。在大多数情况下,唯一的更改时间是在芯片写入之前。任何需要保存的内容(例如您对杂货店的付款)都通过网络存储到服务器上商店的数据库中。


2

您的问题是基于这样一个假设,即闪存写入限制(没有广泛的损耗平衡)使其不适合任何计算设备的主存储。有许多计算设备(包括平板电脑,上网本,智能手机等)都使用闪存来实现此目的,而SSD中没有损耗水平。

记忆生活

我找不到证据证明这些设备中使用的内存通常比闪存驱动器或SD卡具有更长的寿命。

尽管使用了闪存,但是与笔式驱动器或SD卡中的闪存有所不同。这些计算机通常使用eMMC,它在单个芯片上包含控制器和闪存,其架构与SD卡或闪存驱动器不同。eMMC控制器的一个不同之处在于它模拟硬盘驱动器,因此计算机将其视为可引导设备。这是设计上的便利。

一些制造商声称,与典型的SD卡或闪存驱动器相比,他们的eMMC控制器具有更好的磨损平衡和更强大的纠错能力。改进的ECC的含义是它可以忍受更多的退化并且仍然可以工作,因此具有更长的有效寿命。

由于所有这些都是专有的,因此很难找到支持它的硬数据。即使高端eMMC的使用寿命更长,也不一定是大多数此类设备中使用的高端eMMC。我可以找到的有关eMMC写入限制的各种信息似乎将其与SD卡和笔式驱动器放在同一通用范围内。

通常,使用寿命更长的内存似乎并不是将闪存用作这些设备中的主要存储的基础。每个人都对写限制没有错;用法可以通过需求不同的事实来解释。

平台差异

PC和膝上型计算机是人们期望长期使用的通用计算机。考虑到闪存驱动器和存储卡旨在处理的典型写入量以及预期的使用寿命,它们不太适合作为其主存储设备。这反映在您在问题中描述的指导中,并且没有改变(至少对于当前的闪存而言)。

平板电脑,上网本,智能手机等是不同的情况。使用闪存作为其主要存储的设备是有限用途的设备。他们设计用于处理的任务,可用于支持其他用途的最少硬件资源,其基本设计以及其OS和软件,与PC相比,可减少编写工作。鉴于这些设备依赖闪存(不可替换的格式),因此写限制是它们上运行内容的考虑因素。

他们的寿命也较短。使用闪存作为主要存储设备的设备价格便宜,专为人们经常升级的市场而设计。这些设备以很小的尺寸就提供了某些特性和功能,并且它们的使用寿命与基于其构建的组件的使用寿命一样长。电池可能在闪存之前发生故障,或者部件可能会损坏。而且,不断的市场营销使您相信您的设备已经过时,需要用最新的型号替换。

有个故事,亨利·福特曾经派他的工程师到垃圾场去寻找仍然不错的死车零件。当时的想法是,这些零件的制造成本可能会更低,因为它们的使用寿命不需要那么长。该逻辑适用于这些设备中的闪存。它只需要持续足够长的时间,就不需要使设备寿命更长。

底线

市场上有便宜,微型的计算设备,它们对个人存储的写操作不如PC所设计的那样,并且对使用寿命的期望也不同。eMMC形式的内存便宜,小巧,可启动,并且足以满足该应用程序的需求。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.