痞子衡嵌入式:并行接口NAND互操作性标准(JEDEC-JESD230)
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是JESD230标准。
众所周知,最早也最流行的Raw NAND接口标准是ONFI标准,痞子衡在 并行接口NAND标准(ONFI)及SLC Raw NAND简介 里详细介绍过ONFI 1.0,很多知名NAND厂商(Hynix、Intel、Micron、Phison、Sony、ST)都是ONFI标准的制定者,但发展到高速DDR NAND的时候出现了一个与ONFI分庭抗礼的标准Toggle DDR,这个Toggle DDR标准是由Samsung和Toshiba两家共同推出的,这两家NAND的产能占据全球70%,所以Toggle DDR标准不容忽视。眼看着这两大NAND标准要打起来,微电子行业的标准权威JEDEC组织出来打圆场了,JEDEC尝试制定了一套Raw NAND互操作标准,即本文的主角JESD230标准,该标准的目的主要是为了融合ONFI和Toggle两大标准。痞子衡今天就为大家介绍一下JESD230标准。
一、JESD230标准由来
在讲JESD230标准之前有必要先简要介绍一下ONFI以及Toggle DDR标准,ONFI组织成立于2006年,该组织于2006年12月发布了ONFI 1.0标准(仅针对50MB/s低速异步模式NAND),ONFI标准从此便成为了Raw NAND事实上的标准,ONFI标准一直指导着Raw NAND接口技术的发展,到了2012年9月,ONFI标准已经发展到了3.1(可支持400MB/s(NV-DDR2)高速同步模式NAND)。再说到Samsung和Toshiba联盟,这两家在2007年签署了NAND技术互换授权协议,并于2010年6月正式推出Toggle DDR 1.0接口标准的NAND产品,在这样的背景下JEDEC组织站出来与ONFI组织合作并于2012年10月推出JESD230标准第一个版本,从此JESD230标准便与ONFI、Toggle DDR标准同步发展,其对应关系可见下表:
时间 | JEDEC标准 | 对应ONFI标准 | 对应Toggle DDR标准 |
---|---|---|---|
2012.10 | JESD230 | ONFI 3.1 | Toggle DDR 2.0 |
2013.08 | JESD230A | ONFI 3.2 | |
2014.07 | JESD230B | ||
2016.11 | JESD230C | ONFI 4.0 |
现在说回JESD230标准,其全名是NAND Flash Interface Interoperability,从全称可见JESD230是NAND接口的一种补充协议,我们再来看一下JESD230官方Scope:
This document defines a standard NAND flash device interface interoperability standard that provides means for a system to be designed that can support Asynchronous SDR, Synchronous DDR and Toggle DDR NAND flash devices that are interoperable between JEDEC and ONFI member implementations. This standard was jointly developed by JEDEC and the Open NAND Flash Interface Workgroup (ONFI).
从Scope可以看出,JESD230主要是对Asynchronous SDR, Synchronous DDR and Toggle DDR NAND设备互操作性方面进行了规范。
二、JESD230标准概要
让我们从分析JESD230与ONFI区别的角度来概要了解JESD230,就以最新的JESD230C与ONFI 4.0对比着来分析吧,ONFI 4.0手册共315页,而JESD230C仅有60页,可见JESD230标准补充的内容相比ONFI原规范内容是少很多的。下面我们仅从软件驱动设计的角度(命令集、参数表)来看两者区别:
首先从命令集角度来看两者区别,下图是JESD230C与ONFI 4.0命令集对比,根据对比我们可以发现,两者命令基本是兼容的,只是JESD230多了Toggle Mode下的一些Multi-plane相关命令的第二种实现。
再从参数表角度来看两者区别,下图是JESD230C与ONFI 4.0参数表对比(仅截取部分),ONFI参数表是256bytes,而JESD230参数表是512bytes,关于具体byte定义两者有很多相似之处,其中对于AC特性尤其是速度等级定义,两者是一致,这是互操作性的保证。
至此,JESD230标准痞子衡便介绍完毕了,掌声在哪里~~~
参考资料:
欢迎订阅
文章会同时发布到我的 博客园主页、CSDN主页、微信公众号 平台上。
微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。
痞子衡嵌入式:并行接口NAND互操作性标准(JEDEC-JESD230)的更多相关文章
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU开发那些事 - 索引
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是飞思卡尔i.MX RT系列微控制器相关知识. 飞思卡尔半导体(现恩智浦半导体)于2017年开始推出的i.MX RT系列开启了高性能MC ...
- 痞子衡嵌入式:并行接口NAND标准(ONFI)及SLC Raw NAND简介
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ONFI标准及SLC Raw NAND. NAND Flash是嵌入式世界里常见的存储器,对于嵌入式开发而言,NAND主要分为两大类:S ...
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(8)- 从Raw NAND启动
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Raw NAND启动. 前面铺垫了七篇启动系列文章,终于该讲具体Boot Device了,我们知道i. ...
- 痞子衡嵌入式:ARM Cortex-M调试那些事(1)- 4线协议标准(JTAG)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式调试里的接口标准JTAG. 在结束<ARM Cortex-M文件那些事>系列文章之后,痞子衡休整了一小段时间,但是讲课的 ...
- 痞子衡嵌入式:测一测i.MXRT1170 Raw NAND启动时间(从POR到进App的Reset_Handler)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RT1170 Raw NAND启动时间. 关于i.MXRT1170这颗划时代的MCU,痞子衡去年10月在其刚发布的时候, ...
- 痞子衡嵌入式:串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串行NAND Flash的两大特性导致其在i.MXRT FlexSPI下无法XiP. 在嵌入式世界里,当我们提起XiP设备(支持代码原地 ...
- 痞子衡嵌入式:MCUBootUtility v3.4发布,支持串行NAND
-- 痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v3.3.0)发布过去 4 个多月了,这一次痞子衡为大家带来了版本升级 v3.4.0,这个版本主要有几个非常重要的更新需 ...
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(9)- 从Parallel NOR启动
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Parallel NOR启动. 上一篇讲i.MXRT从Raw NAND启动的文章 从Raw NAND启 ...
- 痞子衡嵌入式:串行EEPROM接口事实标准及SPI EEPROM简介
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是EEPROM接口标准及SPI EEPROM. 痞子衡之前写过一篇文章 <SLC Parallel NOR简介>,介绍过并行N ...
随机推荐
- python中的矩阵、多维数组
2. 创建一般的多维数组 import numpy as np a = np.array([1,2,3], dtype=int) # 创建1*3维数组 array([1,2,3]) type(a ...
- git教程——安装配置
Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个 ...
- DOM-节点概念-属性
1.节点的概念 页面中的所有内容,包括标签,属性,文本(文字,空格,回车,换行等),也就是说页面的所有内容都可以叫做节点. 2.节点相关的属性 2.1.节点分类 **标签节点:**比如 div 标签, ...
- win10 anaconda安装后使用报错“Original error was: DLL load failed: 找不到指定的模块”
报错:Original error was: DLL load failed: 找不到指定的模块. 环境变量需要添加3个 然后就okay了.
- 微信报错 config:fail.Error:invalid signature
config:fail.Error:invalid signature 微信公众号报这个错,appid等各项都配置好,经过一番折腾,发现原来ip白明单设置了不是该服务器的ID,重新设置后就可以了
- Python练手例子(15)
85.输入一个奇数,然后判断最少几个 9 除于该数的结果为整数. 程序分析:999999 / 13 = 76923. #!/usr/bin/python #coding=utf-8 if __name ...
- Fragment中TabLayout加FragmentViewPager
让tablayout中的Tab平铺:在tablayout布局中写: app:tabMaxWidth="0dp"app:tabGravity="fill"app: ...
- MySQL 分区建索引
200 ? "200px" : this.width)!important;} --> 介绍 mysql分区后每个分区成了独立的文件,虽然从逻辑上还是一张表其实已经分成了多张 ...
- Kubernetes — 我的第一个容器化应用
而在这篇文章中,我们就来扮演一个应用开发者的角色,使用这个 Kubernetes 集群发布第一个容器化应用. 在开始实践之前,我先给你讲解一下 Kubernetes 里面与开发者关系最密切的几个概念. ...
- Java 三种方式实现接口校验
方法一:AOP 代码如下定义一个权限注解 package com.thinkgem.jeesite.common.annotation; import java.lang.annotation.Ele ...