首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是内存技术设备?

问什么是内存技术设备?
EN

Unix & Linux用户
提问于 2016-01-03 09:55:13
回答 2查看 1.7K关注 0票数 0

文档和网页对此并不十分清楚。这是一种Linux技术吗?这是一种存储设备吗?

其他一些问题:

  • 如果它是Linux技术,那么它使用什么类型的存储?
  • 什么是“磨损财产”?
  • 为什么使用引导参数定义MTD分区?
EN

回答 2

Unix & Linux用户

发布于 2016-01-03 23:54:17

大多数常规linux系统(以及更一般的unix )都使用称为块设备的存储抽象。块设备是块(扇区)的序列。可以读取或写入单个块。有一个假设,读或写顺序块将比随机读写更快,一个假设是可以重复写到同一个地方,另一个假设是可以安全地写入单个扇区而不会干扰附近的其他扇区。

对于磁盘驱动器来说,这是一个很好的模型。这不是一个很好的闪存模型。

在重写闪存之前,必须将其擦除.擦除电路相对复杂,因此擦除块(特别是在NAND闪存中)通常比写块大得多。每个擦除块只能在失败前被擦除有限的次数。因此,为了最大限度地延长使用寿命,需要一种机制来平衡整个设备的磨损。

有两种方法。一种方法是创建一个控制器,该控制器提供一个标准块设备接口,并通过将逻辑块重映射为不同的物理块来处理磨损平整,并在某些情况下将“冷”(很少修改)数据从低磨损块移动到高磨损块。这意味着可以使用任何正常的文件系统,但是重映射系统很难正确实现。特别是正确处理电力故障是非常困难的。这是SSD、USB卡、SD卡等使用的方法。

另一种方法不是假装flash是磁盘驱动器,而是创建一个直接代表闪存芯片的新设备类型。然后,文件系统(或者泛在ubi层的情况下)承担起磨损平整的责任。Linux调用这样的设备,mtd设备。与硬盘驱动器一样,每个设备可以被分割成多个分区(尽管IIRC分区通常是由系统固件而不是闪存设备上的分区表定义的)。这种方法经常出现在嵌入式设备、智能手机和类似智能手机的平板电脑中。

票数 4
EN

Unix & Linux用户

发布于 2016-01-03 12:15:49

与往常一样,最好的描述是维基百科。

基本上,它是一个抽象层(linux设备驱动程序),在嵌入式系统的车载闪存设备和所呈现的块设备之间,操作系统可以看到。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/252982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档