Roc*_*ket 7 ssd usb-flash-drive tablet-pc
自从发明了闪存驱动器(USB 记忆棒)以来,人们想知道是否可以在其上运行操作系统。答案是否定的,因为操作系统所需的写入次数会很快耗尽闪存驱动器。
随着 SSD 的流行,磨损均衡技术得到改进,以允许操作系统在其上运行。
各种平板电脑、上网本和其他超薄电脑使用闪存代替硬盘驱动器或 SSD,操作系统存储在其上。这怎么突然变得实用了?例如,他们通常会实施磨损均衡技术吗?
所有闪存设备,从平板电脑到手机、智能手表、SSD,甚至相机和 USB 拇指驱动器中的 SD 卡,都使用 NVRAM 技术。不同之处在于 NVRAM 的架构,以及操作系统如何将文件系统挂载到任何存储介质上。
对于 Android 平板电脑和手机,NVRAM 技术基于 eMMC。我能找到的有关该技术的数据表明写入周期在 3k 到 10k 之间。不幸的是,到目前为止我发现的内容都不是确定的,因为维基百科在该技术的写入周期上是空白的。我看过的所有其他地方碰巧都是各种论坛,所以很难说是可靠的来源。
为了进行比较,其他 NVRAM 技术,例如使用 NAND 或 NOR 技术的 SSD,写入周期在 10k 到 30k 之间。
现在,关于操作系统选择如何挂载文件系统......我不能说苹果是如何做到的,但对于Android来说,芯片像硬盘一样被分区。您有一个操作系统分区和一个数据分区,以及其他几个专有分区(具体取决于设备制造商)。真正的根分区位于引导加载程序内部,它作为压缩文件(jffs2、cramfs 等)与内核捆绑在一起,这样当设备的第 1 阶段引导完成(通常是制造商的徽标屏幕)时,内核就会引导根分区同时挂载为ram盘。
当操作系统启动时,它会将主分区的文件系统(/system,在 Android 4.0 之前的设备上为 jffs2,在 Android 4.0 之后的设备上为 ext2/3/4,在最新设备上为 xfs)挂载为只读,这样就不会出现任何问题。可以向其中写入数据。当然,这可以通过所谓的设备“生根”来解决,这使您可以作为超级用户进行访问,并允许您将分区重新挂载为读/写。你的“用户”数据被写入芯片上的不同分区(/data,根据Android版本遵循与上面相同的约定)。
随着越来越多的手机放弃 SD 卡插槽,您可能会认为自己会更快达到写入上限,因为所有数据现在都保存到 eMMC 存储而不是 SD 卡中。幸运的是,大多数文件系统都会检测到对给定存储区域的写入失败。如果写入失败,则数据会默默地保存到存储的新区域,并且文件系统驱动程序会封锁坏区域(称为坏块),以便将来不再将数据写入那里。如果读取失败,则数据将被标记为损坏,并且通知用户运行文件系统检查或检查磁盘,或者设备在下次引导期间自动检查文件系统。
事实上,谷歌拥有自动检测和处理坏块的专利。
https://www.google.com/patents/US7690031
为了更切题,你的问题是“这怎么突然变得实用了?” 这不是要问的正确问题。相反,这从一开始就不是不切实际的。强烈建议不要将操作系统 (Windows) 安装在 SSD 上(大概),因为操作系统对磁盘的写入次数较多。
例如,注册表每秒接收数百次读取和写入,这可以通过 Microsoft/SysInternals 工具 Regmon 看到(https://technet.microsoft.com/en-us/sysinternals/regmon.aspx)
建议不要在第一代 SSD 驱动器上安装 (Windows) 操作系统,因为由于缺乏磨损均衡,每秒写入注册表的数据可能最终会赶上早期采用者,并因注册表损坏而导致系统无法启动。
对于平板电脑和手机以及几乎任何其他嵌入式设备,都没有注册表(当然 Windows 嵌入式设备是例外),因此不必担心数据不断写入闪存介质的相同部分。
对于 Windows Embedded 设备,例如许多公共亭(包括 Walmart 和 Kroger 自助结账亭)——您知道,您可能会不时看到随机的 BSOD——没有太多可以完成的配置,因为它们是预先设计的,并且配置永远不会改变。在大多数情况下,唯一发生变化的时间是在写入芯片之前。任何需要保存的内容(例如您向杂货店的付款)都通过网络保存到服务器上的商店数据库中。