emmc ext_csd信息 emmc secure erase_linux

emmc闪存 mlc

emmc ext_csd信息 emmc secure erase_linux_02

Using flash memory to run a desktop system, like Windows, was advised against for quite some time. But what made it a desirable and viable option for mobile devices? Today’s SuperUser Q&A post has the answer to a curious reader’s question.

建议在相当长的一段时间内禁止使用闪存来运行Windows之类的桌面系统。 但是,是什么使它成为移动设备的理想选择和可行选择呢? 今天的“超级用户问答”帖子回答了一个好奇的读者的问题。

Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.

今天的“问答”环节由SuperUser提供,它是Stack Exchange的一个分支,该社区是由社区驱动的Q&A网站分组。

(The Question)

SuperUser reader RockPaperLizard wants to know what makes eMMC flash memory viable in mobile devices, but not PCs:

超级用户阅读器RockPaperLizard想要了解使eMMC闪存在移动设备(而不是PC)中可行的原因:

Ever since USB flash drives were invented, people have wondered if they could run their operating systems on them. The answer was always “no” because the number of writes required by an operating system would quickly wear them out.

自从发明USB闪存驱动器以来,人们一直在想是否可以在其上运行操作系统。 答案始终是“否”,因为操作系统所需的写入次数会很快耗尽它们。

As SSDs have become more popular, wear-leveling technology has improved in order to allow operating systems to run on them. Various tablets, netbooks, and other slim computers use flash memory instead of a hard drive or SSD, and the operating system is stored on it.

随着SSD变得越来越流行,磨损均衡技术也得到了改进,以允许操作系统在其上运行。 各种平板电脑,上网本和其他小型计算机使用闪存代替硬盘或SSD,并且操作系统存储在其上。

How did this suddenly become practical? Do they typically implement wear-leveling technologies, for example?

这是怎么突然变成现实的? 例如,他们通常采用损耗均衡技术吗?

What does make eMMC flash memory viable in mobile devices, but not PCs?

什么使eMMC闪存在移动设备(而不是PC)中可行?

(The Answer)

SuperUser contributors Speeddymon and Journeyman Geek have the answer for us. First up, Speeddymon:

超级用户贡献者Speeddymon和Journeyman Geek为我们找到了答案。 首先,Speeddymon:

All flash memory devices, from tablets to mobile phones, smart watches, SSDs, SD cards in cameras, and USB thumb drives use NVRAM technology. The difference is in the NVRAM architecture and how the operating system mounts the file system on whatever storage medium it is on.

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

For Android tablets and mobile phones, the NVRAM technology is eMMC based. The data I can find on this technology suggests between 3k to 10k write cycles. Unfortunately, none of what I have found so far is definitive, as Wikipedia is blank on this technology’s write cycles. All other places that I have looked happened to be various forums, so hardly what I would call a reliable source.

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

For comparison’s sake, the write cycles on other NVRAM technology such as SSDs, which use NAND or NOR technology, are between 10k and 30k.

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

Now, regarding the operating system’s choice of how to mount the file system. I cannot speak on how Apple does it, but for Android, the chip is partitioned out like a hard drive would be. You have an operating system partition, a data partition, and several other proprietary partitions depending on the device manufacturer.

现在,关于操作系统如何安装文件系统的选择。 我不能说苹果如何做到这一点,但是对于Android来说,芯片就像硬盘一样被分割了。 根据设备制造商的不同,您具有操作系统分区,数据分区和其他几个专有分区。

The real root partition lives inside the bootloader, which is bundled as a compressed file (jffs2, cramfs, etc.) together with the kernel, so that when the device’s stage 1 boot is complete (the manufacturer’s logo screen usually), then the kernel boots and the root partition is simultaneously mounted as a RAM disk.

真正的根分区位于引导加载程序内部,该引导加载程序与内核一起捆绑为压缩文件(jffs2,cramfs等),因此,当设备的第1阶段引导完成(通常是制造商的徽标屏幕)时,内核引导,并且根分区同时作为RAM磁盘安装。

As the operating system boots up, it mounts the primary partition’s file system (/system, which is jffs2 on devices before Android 4.0, ext2/3/4 on devices since Android 4.0, and xfs on the latest devices) as read-only so that no data can be written to it. This can, of course, be worked around by so-called “rooting” of your device, which gives you access as a super user and allows you to remount the partition as read/write. Your “user” data is written to a different partition on the chip (/data, which follows the same convention as above based on the Android version).

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

With more and more mobile phones ditching SD card slots, you might think that you will hit the write cycle cap sooner because all of your data is now being saved to eMMC storage instead of an SD card. Fortunately, most file systems detect a failed write to a given area of storage. If a write fails, then the data is silently saved to a new area of storage and the bad area (known as a bad block) is cordoned off by the file system driver so that data is no longer written there in the future. If a read fails, then the data is marked as corrupt and either the user is told to run a file system check (or check disk), or the device automatically checks the file system during the next boot.

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

As a matter of fact, Google has a patent for automatically detecting and handling bad blocks: Managing bad blocks in flash memory for electronic data flash card

实际上,Google拥有自动检测和处理坏块的专利: 管理电子数据闪存卡中闪存中的坏块

To get more to the point, your question on how this suddenly became practical is not the right question to ask. It was never impractical in the first place. It was strongly advised against installing an operating system (Windows) on an SSD (presumably) because of the number of writes it does to a disk.

更确切地说,关于如何突然变为现实的问题不是正确的问题。 首先,这从不切实际。 强烈建议不要在SSD上安装操作系统(Windows)(大概是这样),因为它对磁盘的写入次数很多。

For example, the registry receives literally hundreds of reads and writes per second, which can be seen with the Microsoft-SysInternals Regmon Tool.

例如,注册表实际上每秒接收数百次读取和写入,这可以通过Microsoft-SysInternals Regmon Tool看到。

Installing Windows was advised against on first generation SSDs because with the lack of wear leveling, the data written to the registry every second (likely) eventually caught up to early adopters and resulted in unbootable systems due to registry corruption.

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

With tablets, mobile phones, and pretty much any other embedded device, there is no registry (Windows Embedded devices being exceptions, of course) and thus, there is no worry of data constantly being written to the same parts of the flash medium.

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

For Windows Embedded devices, such as many of the kiosks found in public places (like Walmart, Kroger, etc.) where you may see a random BSOD from time to time, there is not a whole lot of configuration that can be done since they are pre-designed with configurations that are intended to never change. The only time changes take place is before the chip is written in most cases. Anything that needs to be saved, such as your payment to the grocery store, is done over the network to the store’s databases on a server.

对于Windows Embedded设备,例如在公共场所(例如Walmart,Kroger等)发现的许多自助服务终端,您可能会不时看到随机的BSOD,因此无法进行大量配置预先设计的配置永不改变。 在大多数情况下,唯一的更改时间是在芯片写入之前。 任何需要保存的内容,例如您对杂货店的付款,都是通过网络完成到服务器上商店数据库的。

Followed by the answer from Journeyman Geek:

随后是Journeyman Geek的回答:

The answer was always “no” because the number of writes required by an operating system would quickly wear them out.

答案始终是“否”,因为操作系统所需的写入次数会很快耗尽它们。

They finally became cost effective for mainstream use. That “wear” is the only concern is a bit of an assumption. There have been systems running off solid state memory for a considerable period of time. Many folks who built car-puters booted off of CF cards (which were electrically compatible with PATA and trivial to install compared to PATA hard drives), and industrial computers have had small, rugged flash based storage.

它们终于成为主流使用的成本有效的方法。 唯一担心的是“磨损”,这只是一个假设。 已经有相当多的时间使系统用尽了固态存储器。 许多制造汽车电脑的人都是从CF卡启动的(CF卡与PATA电气兼容,与PATA硬盘驱动器相比很容易安装),而工业计算机则具有小型坚固的闪存存储。

That said, there were not many options for the average person. You could buy a pricy CF card and an adaptor for a laptop, or find a tiny, very pricy industrial disk on a module unit for a desktop. They were not very large compared to contemporary hard drives (modern IDE DOMs top out at 8GB or 16GB I think). I am pretty sure you could have gotten solid state system drives set up way before standard SSDs became common.

也就是说,普通人没有太多选择。 您可以购买价格昂贵的CF卡和笔记本电脑适配器,或者在台式机模块单元上找到一块很小的价格昂贵的工业磁盘。 与现代硬盘相比,它们的体积不是很大(我认为现代IDE DOM的最大容量为8GB或16GB)。 我敢肯定,在标准SSD变得普遍之前,您可能已经设置了固态系统驱动器。

There have not really been any universal/magical improvements in wear leveling as far as I know. There have been incremental improvements while we have been moving away from pricy SLC to MLC, TLC, and even QLC along with smaller process sizes (all of which lower cost with some higher risk of wearing out). Flash has gotten a lot cheaper.

据我所知,在磨损平衡方面并没有真正的普遍/神奇的改进。 当我们从昂贵的SLC转向MLC,TLC甚至QLC时,已经有了逐步的改进,同时Craft.io尺寸更小(所有这些都降低了成本,并具有更高的磨损风险)。 Flash便宜了很多。

There were also a few alternatives that did not have wear issues. For example, running the entire system off a ROM (which is arguably solid state storage ) and battery backed RAM, which many early SSDs and portable devices like the Palm Pilot used. None of these are common today. Hard drives rocked compared to say, battery backed RAM (too expensive), early solid state devices (somewhat pricy), or peasants with flags (never caught on due to terrible data density). Even modern flash memory is a descendant of fast-erasing eeproms and eeproms have been used in electronic devices for storage of things like firmware for ages.

还有一些没有磨损问题的替代品。 例如,通过ROM(可以说是固态存储)和电池供电的RAM来运行整个系统,许多早期的SSD和Palm Pilot等便携式设备都使用了RAM。 这些都不是今天常见的。 与之相比,硬盘驱动器动摇了,例如电池供电的RAM(太贵),早期的固态设备(有点贵)或带有标志的农民 (由于可怕的数据密度而从未流行)。 甚至现代闪存也是快速擦除的eeprom的后代,并且eeprom在电子设备中用于存储诸如固件之类的东西已有很长时间了。

Hard drives simply were at a nice intersection of high volume (which is important), low cost, and relatively sufficient storage.

硬盘只是在大容量(这很重要),低成本和相对足够的存储量之间有很好的交集。

The reason you find eMMCs in modern, low end computers is the components are relatively cheap, large enough (for desktop operating systems) at that cost, and share commonality with mobile phone components, so they are produced in bulk with a standard interface. They also give great density of storage for their volume. Considering many of these machines have a paltry 32GB or 64GB drive, on par with hard drives from the better part of a decade ago, they are a sensible option in this role.

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

We are finally reaching the point where you can store a reasonable amount of memory affordably and with reasonable speeds on eMMCs and flash, which is why people go for them.

我们终于达到了可以在eMMC和闪存上以合理的速度负担得起的合理数量的内存的原因,这就是人们追求它们的原因。



Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.

有什么补充说明吗? 在评论中听起来不错。 是否想从其他精通Stack Exchange的用户那里获得更多答案? 在此处查看完整的讨论线程 。

Image Credit: Martin Voltri (Flickr)


翻译自: https://www.howtogeek.com/293339/what-makes-emmc-flash-memory-viable-in-mobile-devices-but-not-pcs/

emmc闪存 mlc