早期的闪存产品每个厂家的设计标准各有不同,会碰到各种各样的问题,特别是到了06年之后,闪存产业市场需求开始发力,造成了迫切需要一个统一的标准来改变这个问题。
  2007年1月,以英特尔,镁光,海力士,意法半导体,力晶为首的NAND闪存厂商控制芯片开发商台湾群联电子以及产品厂商索尼等宣布统一制定连接NAND闪存和控制芯片的接口标准“ONFI 1.0”。
       ONFI 1.0制定的是包括:闪存指令,寄存器集,引脚排列,电气参数以及封装等有关标准。主要是从包括东芝和三星在内各NAND闪存厂商的自主标准中,将通用的部分抽出进行了标准化。这样便使控制芯片和中间件不依赖于NAND芯片厂商而可实现通用,由此可减轻产品厂商的开发负担。
       由于传统的Legacy接口每通道传输带宽为40MT/s,已经不能满足现今高速发展的SSD产品需求。ONFI 1.0标准把传统Legacy接口每通道传输带宽提升到了50MT/s,可以说ONFI 1.0的目的主要是想着统一接口的设计。 
       2008年2月,ONFI 2.0宣布了,ONFI 2.0的标准使NAND闪存的通道传输带宽从50MT/s提高到了133MT/s,并保持了老版本接口的兼容性。ONFI 2.0主要是通过下面2项技术来缩短数据在缓存区中的交换传输时间。第一,在DRAM里常用的双倍数据流信号技术。第二,ONFI使用了源同步时钟来精确控制锁存信号,使闪存设备达到了更高的工作频率。 
       2009年2月,ONFI 2.1宣布了,相比ONFI 2.0更加简化了闪存控制器设计,并将传输性能提升到166MT/s ~ 200MT/s附近。ONFI 2.1特别针对上网本等低消费产品应用做了调整,加入了新的Small Data Move指令,解放低端消费产品在纠错功能上的限制,增强ECC纠错能力,新增交错读取支持,允许主机向NAND闪存写入数据时停止时钟来节省用电,新增Change Row Address指令来解决某些情况下NAND闪存操作负担,并同时向下兼容老的ONFI标准并和老NAND界面兼容。 
       2009年10月,ONFI 2.2宣布了,在ONFI 2.1的基础上,ONFI 2.2加入了独立LUN重置,增强页编程寄存器的清除,新的ICC测量和规范。前两个功能主要增强了多NAND环境下处理的效率,而规范的电流ICC测试和定义将简化供应商的测试和改进数据的一致性。 
       2011年3月,ONFI 3.0宣布了,提升接口带宽到400MT/s,降低CE针脚需求来提升PCB的布局能力,支持EZ-NAND(闪存内集成ECC)接口

ONFI闪存数据通道接口标准的更多相关文章

  1. [转帖]国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测

    国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测 https://www.cnbeta.com/articles/tech/830875.htm 全国产的 SSD 群联貌似是对岸的 不过不管怎么说 ...

  2. laravel 控制器方法里存get值 和 blade 模板获得闪存值的方法

    //get 方式把id传到路由 <a href="/admin/reply/add/{{$comment -> id}}" class="btn btn-bl ...

  3. [Perl]抓取个人的所有闪存+格式化保存为文本

    以下代码保存为utf8文本格式 环境:ActivePerl v5.16 built for MSWin32-x86 两个要调整的地方: for my $i (17..45) {  这里改成自己对应的页 ...

  4. 用 VeraCrypt 加密闪存盘

    导读 很多安全专家偏好像 VeraCrypt 这类能够用来加密闪存盘的开源软件,是因为可以获取到它的源代码.要是你需要在 Windows 系统,苹果的 OS X 系统或者 Linux 系统上加密以及访 ...

  5. python3使用requests发闪存

    闪存ing.cnblogs.com是博客园类似推特.饭否的服务, 我写了以下程序可以完成发闪存的操作,目的是顺便练习使用requests库. requests是一个python 轻量的http客户端库 ...

  6. 博客标题栏增加一个"闪存“按钮

    最近来博客园喜欢去闪存上看看,也就是一个类似微博的东西,但是貌似没看到哪里有这个按钮. 所以只要自己动手搞一个. 暴力猴js: // ==UserScript== // @name fwindpeak ...

  7. 被忽视的eMMC——A1 SD Bench闪存测试

    一直以来,大家对手机的配置方面都比较关注CPU和GPU的架构.频率.核心数等,却经常忽略了手机闪存的速度.实际上手机的闪存素质对手机日常操作的响应.载入速度同样起到举足轻重的影响,今天给大家介绍的则是 ...

  8. 原创:应用串行NOR闪存提升内存处理能力

    在嵌入式系统中,NOR闪存一直以来仍然是较受青睐的非易失性内存,NOR器件的低延时特性可以接受代码执行和数据存储在一个单一的产品.虽然NAND记忆体已成为许多高密度应用的首选解决方案,但NOR仍然是低 ...

  9. iphone6闪存检测

    iPhone6自从发布以后一直又不少的诟病和非议,比如一机难求,容易掰弯,程序崩溃等, 甚至传出了苹果将要召回这些问题设备,最近有人终于查出了iPhone6安装大量程序后崩溃的原因,原因就是大容量的i ...

随机推荐

  1. 与后台进行连接,mysql模块 第六篇

    var mysql = require("mysql"); var client = function(sql, callback) { var db = mysql.create ...

  2. symfony的安装

    Symfony 是一个基于MVC的PHP框架,最新版本为2.7 工作原理 Synfony安装的两种方法 1.使用composer进行安装 1)下载composer http://getcomposer ...

  3. python初学笔记(三)

    Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节 (byte),所以,一 ...

  4. Vim 缓冲区与窗口 操作

    ##############缓冲区 :e(:open) 打开新缓冲区 :ls (:buffers) 列出列表内所有缓冲区/bs /bv /be(BufExplore快捷键) :b 2(:buffer ...

  5. QT进度条QProgressBar的练习

    progressbar.h #ifndef PROGRESSBAR_H #define PROGRESSBAR_H #include <QProgressBar> class QStrin ...

  6. Python核心编程笔记--unicode编码

    #定义编码方式,与物理文件. code='utf-8'file='D:/utf8.txt' #把编码后的字符写入文件. hello_out =u'hello world'bytes_out =hell ...

  7. PHP学习之数据库操作

    PHP数据库操作: 一.连接数据库 mysql_connect() 例:$link=mysql_connent("localhost","root"," ...

  8. Oracle EBS-SQL (SYS-17):查询一张报表在哪个职责下面.sql

    1.查询该报表的 concurrent_program_id SQL如下: SELECT t.application_id, t.concurrent_program_id, t.* FROM FND ...

  9. ViewTreeObserver简介

    Android ViewTreeObserver简介 一.结构 public final class ViewTreeObserver extends Object java.lang.Object ...

  10. C++死锁解决心得

    一. 概述C++多线程开发中,容易出现死锁导致程序挂起的现象.关于死锁的信息,见百度百科http://baike.baidu.com/view/121723.htm. 解决步骤分为三步:1.检测死锁线 ...