EMMC与RAND的区别
作者:Younger Liu,
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可。
EMMC与RAND的区别
说到两者的区别,必须从flash的发展历程说起,因为两者都属于flash的范畴。
1. Flash发展历程
1.1 NOR Flash和NAND Flash
NOR Flash和NAND Flash,两者均为非易失性闪存模块。
1988年,Intel首次发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。NOR类似于DRAM, 以存储程序代码为主,可以让微处理器直接读取。因为读取速度较快,但晶片容量较低,所以多应用在通讯产品中,如手机。
1989,东芝公司发表NAND flash结构,强调降低每比特的成本,更高的性能,并且像磁盘一样可以通过接口轻松升级。因为NAND flash的晶片容量相对于NOR flash大,更像硬盘,写入与清除资料的速度远快于NOR。目前已广泛应用在各种存储设备上, 可存储代码和资料。
1.2 NAND Flash发展
NAND Flash的存储单元发展:从SLC, MLC到TLC。
SLC:Single-Level Cell, 即1bit/cell,读写速度快,寿命长,价格是MLC三倍以上,约10万次读写寿命。
MLC:Multi-Level Cell, 即2bit/cell ,速度一般,寿命一般,价格一般,约3000-10000次读写寿命。
TLC = Triple-Level Cell, 即3bit/cell,速度慢,寿命短,价格便宜,约500次读写寿命,技术在逐渐成长中。
NAND Flash的存储单元从最初的SLC( Single Layer Cell), 到2003年开始兴起MLC (Multi-Layer Cell), 发展至今,SLC已经淡出主流市场,主流存储单元正在从MLC向TLC(Triple Layer Cell)迈进。纳米制程工艺和存储单元的发展,使得同样大小的芯片有更高密度和更多的存储单元,Flash得以在容量迅速增加的同时,还大幅降低了单位存储容量的成本。
但其弊端也轻易显现,从原来的1bit/cell发展到后来3bit/cell, 计算更为复杂,出错率不免更高,读写次数和寿命也会更短。在这种情况下现有MLC 和 TLC Flash 都需要搭配一颗高性能的控制芯片来提供EDC和ECC、平均擦写等Flash管理。
1.3 EMMC的出现
移动设备行业的迅猛发展,引发了电子产品更新换代,对存储硬件提出了更高的要求。多媒体播放、高清摄像,GPS,各色各样的应用以及外观轻薄小巧的发展趋势,要求存储硬件拥有高容量、高稳定性和高读写速度的同时,需要存储芯片在主板中占有更小的空间。然而NAND Flash 随着纳米制程和存储技术的主流趋势发展,性能却在不断下降。可擦写寿命短,出错概率高,读写速度慢,稳定性差。
嵌入式存储芯片eMMC就可以弥补这个市场需求和NAND Flash发展的缺口。
eMMC ( Embedded Multi Media Card) 采用统一的MMC标准接口, 把高密度NAND Flash以及MMC Controller封装在一颗BGA芯片中。针对Flash的特性,产品内部已经包含了Flash管理技术,包括错误探测和纠正,flash平均擦写,坏块管理,掉电保护等技术。用户无需担心产品内部flash晶圆制程和工艺的变化。同时eMMC单颗芯片为主板内部节省更多的空间。
2. 两者分析
2.1 Nand Flash
Nand-flash内存是flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。
Nand-flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用。
2.2 EMMC
eMMC (Embedded Multi Media Card) 为MMC协会所订立的、主要是针对手机产品为主的内嵌式存储器标准规格。
eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。
其优点如下:
1.简化手机存储器的设计:eMMC目前是最流行的移动设备本地存储解决方案,目的在于简化手机存储器的设计。
3.加速产品研发速度,降低了移动设备上市周期和研发成本:eMMC的设计概念——简化手机内存储器的使用,将NAND Flash芯片和控制芯片设计成1颗MCP芯片,移动设备开发商只需要采购eMMC芯片,放进新手机中,不需处理其它繁复的NAND Flash兼容性和管理问题,最大优点是缩短新产品的上市周期和研发成本,加速产品的推陈出新速度
3. 参考资料
http://baike.baidu.com/view/3509283.htm
http://baike.baidu.com/view/3064158.htm
http://baike.baidu.com/subview/64506/5136742.htm?fromId=3233929
作者:Younger Liu,
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可。
EMMC与RAND的区别的更多相关文章
- Numpy中np.random.randn与np.random.rand的区别,及np.mgrid与np.ogrid的理解
np.random.randn是基于标准正态分布产生的随机数,np.random.rand是基于均匀分布产生的随机数,其值在[0,1). np.mgrid 与np.ogrid的理解及区别:np.mgr ...
- emmc和ssd的区别【转】
本文转载自:https://blog.csdn.net/hawk_lexiang/article/details/78228789 emmc和ssd eMMC和SSD主要是满足不同需求而发展出来的NA ...
- numpy.random.randn()与numpy.random.rand()的区别(转)
numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中. numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值. n ...
- numpy.random.randn()与rand()的区别【转】
本文转载自:https://blog.csdn.net/u010758410/article/details/71799142 numpy中有一些常用的用来产生随机数的函数,randn()和rand( ...
- 【转】numpy.random.randn()与rand()的区别
转自: https://blog.csdn.net/u010758410/article/details/71799142 numpy中有一些常用的用来产生随机数的函数,randn()和rand()就 ...
- numpy.random.randn()与numpy.random.rand()的区别
numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中. numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值. n ...
- php函数mt_rand和rand 速度测试
今天在写代码时,看到以前的同时写了一个取随机数,用到了mt_rand(2,19) 就顺手搜了一下,mt_rand和rand的区别. 先看官方的解释 mt_rand 和 rand mt_rand — 生 ...
- 浅谈 SSD,eMMC,UFS(转自知乎)
但作为一个计算机体系结构的研究生,在这些名词满天飞的时候,我的好奇心是抑制不住的,想一探这几样技术的究竟.本文不对某一特定事件进行点评,仅从技术角度分析对比一下这三种技术.就算是当做自己的技术储备+科 ...
- Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 原理and实现
Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 1. 应用场景 1 2. 随机抽取数据原理 1 3. 常用的实现方法:::数据库随机函数 1 4. Mssq ...
随机推荐
- 通过Servlet生成验证码图片
原文出自:http://www.cnblogs.com/xdp-gacl/p/3798190.html 一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类, ...
- ionic 添加新module
angular.module 引入新的module: 1. 在index.html中需要引入必须的js文件2. app.js: angular.module('starter', ['ionic',' ...
- hdoj 1175 (bfs)
题意: 判断两点之间是否可以通过至多有两次转变方向以达到相连,就是平时玩的连连看游戏,但是不能从外面绕过去. 思路:bfs,给每个加入的队列的点添加转变方向次数turn和点当前要走的方向dir属性,起 ...
- System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt".
昨天遇到一个比较奇怪的问题,运行VS2010调试程序的时候,总是会报一个错,然后程序就挂掉了:无可用源….,弹出一个窗口提示:System.AccessViolationException: Atte ...
- Unity3D Shader Stencil模版测试学习
官方文档地址: https://docs.unity3d.com/Manual/SL-Stencil.html 参考博客: http://blog.csdn.net/onafioo/article/d ...
- 对于自定义标签类中JspBody类的invoke方法的理解
下面是javaeeAPI中对于invoke()方法的介绍: 其中的参数out是一个Writer类的对象,如果写null,就是将标签体内容写到了与此jsp相关联的JspWriter对象,也就是下面的w: ...
- C# 通过反射实现类似MVC路由的机制
最近封装了个功能非常类似于MVC的路由.//MVC路由机制先找到Controller Action 什么是反射 反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获 得.NET ...
- iOS开发之iOS程序的启动过程
程序启动的完整过程: (1)main函数 (2)UIApplicationMain * 创建UIApplication对象 * 创建UIApplication的delegate对象 (3)delega ...
- SQL Server 备份所有数据库代码
今天让我备份一下网上所有数据库,猛地一看,几百个呢, 坑爹呢,只好网上找找有没有简便的,没想到还真有 记下来,以后好用,哈哈... use master declare @DbName varchar ...
- piwik安装部署最佳实践
1.piwik介绍 Piwik是一个PHP和MySQL的开放源代码的Web统计软件,它给你一些关于你的网站的实用统计报告,比如网页浏览人数,访问最多的页面,搜索引擎关键词等等. Piwik拥有众多不同 ...