最新日志

发表于:2008-3-21 9:16:21
标签:Altium  

4

不走寻常路——我看Altium

在小组和论坛里多次看到关于Altium的讨论,下面是我的一些想法,最初发表在“FPGA讨论组”里面。 riple

 

 

Altium这个公司最早是做PCB设计软件的(Protel)。在传统的嵌入式开发流程中,PCB设计就等于系统设计,要考虑的内容很多:市场定位、成本功耗、器件选型、嵌入式操作系统的选择,还有许多我列举不出来的因素。所以,由Altium这样的PCB EDA工具厂商提出一个系统级EDA工具也是顺理成章的。 riple

嵌入式系统开发不是纸上谈兵,光动鼠标不行。处理器的仿真技术已经很成熟了,什么ISS、虚拟原形啊,但是只限于指令集;像Proteus这样的工具已经很不错了,除了处理器仿真,还可以实现外设和外部器件仿真,但是仍然存在可扩展性差的问题:不能对仿真库里尚不存在的器件进行仿真。最重要的是,仿真速度太慢。所以,还要有硬件才行。 riple

硬件,成了嵌入式系统开发中的第一个门槛。没有硬件,就无法实现软硬件的联调。而硬件设计又岂是一般人能为的,经验和系统设计能力都不可缺少。怎么办,许多芯片厂商都提供开发板,这就是跨过硬件设计门槛的一个方法。嵌入式开发的第一个门槛变成了开发板选型(和扩展板的制作)。这种方法解决了很是不少的问题。我们最近的一个项目就是先买的开发板,做的扩展板,功能调通了,自己做的PCB也生产好了。 riple

对于Altium这样的EDA厂商来说,想进入系统设计EDA领域既不能纸上谈兵(已经有很多人在谈了,而且谈得很贵、很专业),又不能生产几款必然会过时的流行处理器的开发板(销量不行,支持和服务也做不过来)。怎么办,我猜Martin是看到了Xilinx和Altera卖的嵌入式开发板才一拍脑门想出了这么个办法:生产基于FPGA的嵌入式系统开发板,解决硬件开发的门槛。要不就是那几年Altera宣传SOPC闹的(我的另一个猜想)。其实,应该是大势所趋和英雄所见略同。那几年,SOC和SOPC的概念已经逐渐普及,在FPGA内部实现一个嵌入式系统的技术已经成熟了。还有一点,低成本FPGA上市了。这时Martin看到了Cyclone,想到了Moore,于是困扰他的问题解决了——今天做不起的FPGA芯片,明年就便宜了;眼前很便宜的芯片,明年性价比提高一倍。 riple

在低成本FPGA内部实现一个完整的嵌入式系统,而且这个S是可P的。这样一来,一款基于FPGA的开发板就等价于老多款基于处理器的开发板。对Altium来说,生产一款万变开发板可行了。嵌入式系统设计的第一个门槛看起来就要踏平了。这时,Martin又想到了一个新问题,虽然SOPC可行,但是谁来进行FPGA内部的开发和设计,扔给用户可不行。Altera的SOPC Builder系统开发工具给了他新的灵感(又是我猜的,其实是又一次英雄所见略同):由EDA厂商提供一系列的IP core,用户只需要进行组合就可以了,不用开发。那么,一下子从哪来那么多IP core呢,收购!据(Altium的AE)说,Altium收购了一(几)家提供IP core的(小)公司,让这些开发人员专门开发常用的IP core,包括处理器,还要针对不同的FPGA厂商的器件结构开发不同的版本。这些IP core,就免费(?但是不开源,是固核形式)提供给用户了。 riple

接下来(也许是与此同时),Altium又收购了TASKING,一家提供嵌入式软件开发工具的百年老店。这样,一个完整的可变的嵌入式系统硬件、软件开发平台就齐套了。从FPGA开发、嵌入式软件开发到PCB开发,都集成在一个IDE下面,还搭配一个万能开发平台。捆绑出售,像Office那样批发着卖。买了这个嵌入式开发Office软件(当然还包括嵌入式的PC机硬件),用户可以不用仿真就能进行软硬件的联合开发了,嵌入式开发进入了PES(Personal Embedded System)时代。在我看来,下一步,就剩把嵌入式操作系统也捆绑进去了。Martin,考虑一下收购那家叫什么来着的公司——那个提供可配置嵌入式实时操作系统的什么公司来着,你上google上自己搜一下吧。 riple

 


上面只是我的随意调侃。Altium在整合整个嵌入式系统开发工具链时着实下了不小的功夫,有许多很好的创意。比如,那根神奇的下载电缆,不同的FPGA厂家故意不用PC机并口上的同一组信号,硬件上要做成能转换的,其实就多焊了一片244,用个开关拨来拨去的。(还有一个方法,就是用CPLD转换一下,这可能是NanoBoard上采用的方法)。再有,为了软件调试,还要用到JTAG,又不能跟FPGA厂家冲突,不能用人家的驱动,Altium用并口8根数据线中的另外4根另开了一条调试之路,实现了LiveDesign(协议用的是IEEE的15xx)。还再有,不顾那么多现代人的强烈鄙视,毅然“返祖”到用原理图输入法进行FPGA设计,结果是团结了更多的群众。还有,IDE中的各种工具之间不是简单的捆绑,而是在后台共用一个统一的数据库,还把众多FPGA厂商的P&R工具统一进来,实现无缝的链接。最后,最新的“创新电子开发平台”,让嵌入式软件设计师可以一个人完成整个嵌入式产品的开发,简直就可以一下子摆到超市的货架上去卖。 riple

总之,Altium走了一条EDA巨头们不走的路,这是我们发展中国家的嵌入式工程师们欢迎的。 riple

 

相关链接:开发板加快了学习周期和产品开发周期

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类:    |    来源: 原创

评论(5) | 阅读(432)
发表于:2008-3-19 9:17:25
标签:我爱这土地  

0

我爱这土地

我爱这土地

央视国际 2003年03月18日 17:09

  作者 艾青


  

  

  

  

  假如我是一只鸟,

  我也应该用嘶哑的喉咙歌唱:

  这被暴风雨所打击着的土地,

  这永远汹涌着我们的悲愤的河流,

  这无止息地吹刮着的激怒的风,

  和那来自林间的无比温柔的黎明……

  ——然后我死了,

  连羽毛也腐烂在土地里面。

  为什么我的眼里常含着泪水?

  因为我对这土地爱得深沉……

  

点击此处查看原文 >>

系统分类: 生活点滴   |    用户分类:    |    来源: 整理

评论(1) | 阅读(320)
发表于:2008-3-14 18:11:40
标签:SignalTAP  Trigger  

4

这不就是“可综合的断言监控器”么?!

    最早看到“可综合断言”是在VMM里。书中介绍的断言在设计验证中的强大功能我能够理解,并且在代码里也实际应用过。但是正因为断言具备强大的交互能力,才使得我对断言的可综合性迷惑不解。 riple

    即使采用可综合语句在芯片中用逻辑电路实现了断言监控器,当硬件电路实际运行时,断言监控器又如何与设计师沟通呢?断言的输出通道如何在电路中建立呢?在一篇文章中看到过一种方法:用一个CPU收集断言信息并实现与设计师的沟通。我能想出的另一个方法是一个足够大的FIFO再配合Virtual JTAG。但是这样做只能获得“什么事件发生过”的信息。如果再配合一个计数器,还能获得“何时发生”的信息。这些信息虽然有用,但是对于电路调试者来说仍然不够。对电路调试者来说,最佳的信息形式是波形,大量的波形。 riple

    感谢天才而勤奋的Altera的工程师们,他们先是发明了一种叫做SignalTap II的芯片内部波形观察工具(嵌入式逻辑分析仪),让我们看到了芯片内部的运行状况,然后又给这一工具加入了“基于状态的触发方式”,而这一功能只有在昂贵的外部逻辑分析仪中才会提供。采用了状态触发的SignalTap II,就可以在FPGA调试——这一让我又爱又恨的工作中——扮演“可综合的断言监控器”的角色。 riple

    State-based triggering flow是在Quartus II 7.2版本中新添加的功能。不同于原有的Sequential触发方式中通过增加触发级别实现的简单时序触发功能,State-based触发方式可以实现复杂而且精确的时序触发功能,甚至可以通过添加可动态配置的计数器实现“触发后延时采样”的功能。为了实现复杂时序触发条件的准确描述,Quartus II中提供了SignalTap II Trigger Flow Description Language这一触发条件编程语言(别怕,这种语言的语法非常简单,就是一串if else和goto语句)。 riple

    能够对电路的预期行为进行准确描述,能够在电路中实时运行,还能够给出事件发生时相关信号的波形,这不就是我需要的“可综合的断言监控器”么! riple

    在我看来,Sequential触发方式与State-based触发方式都可以用于检测简单的握手关系,而且都需要通过增加触发级别(Trigger level)来实现对时间上存在先后关系的事件的检测。在检测简单时序关系的情况下,Sequential触发方式更简单灵活一些。 riple

   在检测复杂时序关系时,还是State-based触发方式更高效。这是因为State概念的引入,可以使得触发条件的描述与真实电路的状态迁移行为一致。许多在Sequential触发方式下需要Advanced触发条件才能描述的情况都可以在State-based触发方式下用Basic触发条件实现。由于State-based触发方式中的一些参数可以实时更改,省去了重新编译的时间,就比Sequential触发方式下使用Advanced触发条件灵活了许多。在Sequential触发方式下,只能触发依次发生的事件,如果需要触发循环事件或者部分循环事件就需要设置多级重复的触发级别;在State-based触发方式下,由于有了可命名的State,就可以通过goto语句实现触发事件的循环,可以省去重复的触发级别,减少逻辑资源的占用。State-based触发方式中的触发条件状态机,是昂贵的外部逻辑分析仪才具备的功能。这是3年多来,Altera在SignalTap II调试手段上的一个重大突破。(这一技术与同时在Quartus II 7.2中引入的图形化FSM输入方式采用的技术有一定关联。这表明,Altera在FSM代码自动生成上有了自己的核心技术。) riple

    在需要检测的两个或多个事件之间存在精确的时间关系的情况下,State-based触发方式中的counter也是很有用的。除此之外,采用counter实现的“触发后延时采样”也是一个非常实用的功能:在采用Sequential触发方式的调试中,为了用有限的采样窗口捕获在一个确定触发事件之后很长时间才出现的波形,我不知道想了多少窍门,花了多少时间。 riple

    下面,就是Altera网站上刚刚公布的如何使用State-based触发方式的一组例子: riple

  • Trigger on an Event Absent for Greater than or Equal to 5 Clock Cycles
  • Trigger on Event Absent for Less than 5 Clock Cycles
  • Trigger on 5th Occurrence of a Group Value
  • Trigger on the 5th Transition of a Group Value
  • Trigger after Condition1 is Followed by Condition2
  • Trigger on Condition1 Immediately Followed by Condition2
  • Trigger on Condition2 not Occurring Between Condition 1 and Condition3
  • Trigger on the 5th Consecutive Occurrence of Condition1
  • Trigger after a Violation of Sequence: Condition1->Condition2->Condition3->Condition4
  • Trigger on a Sequence of Edges
  • Trigger on Condition1 Followed by Condition2 after 5 Clock Cycles
  • Trigger on Condition1 Followed by Condition2 within 5 Clock Cycles
  • Trigger on Condition1 not Followed by Condition2 within 5 Clock Cycles
  • Trigger after 5 Consecutive Transitions
  • Trigger when Condition1 Occurs less than 5 Times Between Condition2 and Condition3
  • 相关链接:FPGA设计验证关键要点

    用于可编程逻辑设计的快速、有效的RTL调试解决方案(上)

    用于可编程逻辑设计的快速、有效的RTL调试解决方案(下)

    Synplicity助Foundry快速定位FPGA设计中的bug

    基于FPGA的原型:为什么所有的ASIC都应该采用FPGA来创建原型(上)

    基于FPGA的原型:为什么所有的ASIC都应该采用FPGA来创建原型(下)

    The Chip is Ready. Am I done? On-chip Verification using Assertion Processors点击下载

    点击此处查看原文 >>

    系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

    评论(2) | 阅读(630)
    发表于:2008-3-9 12:17:24
    标签:无标签

    1

    EETChina上的名词解释

    前两天恢复了《电子工程专辑》的电子刊物订阅。午休时偶然看到几篇文章的结尾处都有一至两段“相关信息”。看似人云亦云,仔细一品味,比常见的解释多了那么几个词,多了那么几句话,就准确、详实了很多,很受启发。故抄录于此,时常温习之。

     

    * 什么是IC设计?
    IC设计是将系统、逻辑与性能的设计要求转化为具体的物理版图的过程,也是一个把产品从抽象的过程一步步具体化、直至最终物理实现的过程。为了完成这一过程,人们研究出了层次化和结构化的设计方法:层次化的设计方法能使复杂的系统简化,并能在不同的设计层次及时发现错误并加以纠正;结构化的设计方法是把复杂抽象的系统划分成一些可操作的模块,允许多个设计者同时设计,而且某些子模块的资源可以共享。 IC设计简单的说就是硬件电路设计。设计者根据设计要求,提出设计构思,并将这个构思逐步细化,直到具体代码实现;再由代码综合出门级网表,生成版图,最终制成产品的过程。在IC产品的设计中,好的设计思想价值千金,当然,有了好的设计思想之后,也需要高水平的设计技能来实现。

    * 什么是FPGA?
    FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

    * 什么是SoC?
    SoC(System on a Chip )中文名是系统级芯片。20世纪90年代中期,因使用ASIC实现芯片组受到启发,萌生应该将完整计算机所有不同的功能块一次直接集成于一颗硅片上的想法。SoC应由可设计重用的IP核组成,IP核是具有复杂系统功能的能够独立出售的VLSI块;IP核应采用深亚微米以上工艺技术;SoC中可以有多个MPU、DSP、MCU或其复合的IP核。

    点击此处查看原文 >>

    系统分类: CPLD/FPGA   |    用户分类:    |    来源: 整理

    评论(1) | 阅读(302)
    发表于:2008-3-9 12:15:57
    标签:验证  断言  

    1

    学点儿验证——断言验证的优点

    下面列举了在设计中使用断言监控器的优点。

    设计者的规范性

    设计者在设计里加入断言时,会要求自己更仔细地检查设计和提取出来的特征。

    可观察性

    在设计里增加断言监视器可使设计更利于观察。

    可进行形式验证

    断言对应于形式验证工具里的特征。设计里插入断言监视器后可以用形式验证工具对其进行验证。

    可执行的注释

    断言监视器可以看成是对设计特点的说明或对行为的注释。这些注释在行为违约时产生相应的信息。

    包括设计描述和测试进程的设计

    插入了断言监视器的设计在一个Verilog模块里同时包含了设计描述和测试程序。

    ——摘自《Verilog数字系统设计——RTL综合、测试平台与验证(第二版)》P152

     

    Improved error detection

    Improved error isolation

    Improved error notification

    Reduced debug time—up to 50%

    Improved (IP) integration through correct usage checking

    Improved verification efficiency through specification

    Improved communication through documentation

    ——摘自Assertion-based Design (2nd Edition)

    点击此处查看原文 >>

    系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

    评论(0) | 阅读(440)
    发表于:2008-3-5 22:26:32
    标签:Quartus  文件  CVS  输入法  

    2

    Quartus II中图形与HDL输入法混用时,文件的保存原则

    Quartus II中取舍相互关联的文件的一个原则:如果文件之间有父子关系,那么只需要保留父文件,一定不要保存子文件,可以在获得父文件后用Quartus II中的文件转换工具生成对应的子文件。 riple

    比如:由.v文件可以生成.bsf文件,.bsf文件可以用来更新上一层.bdf文件中的模块属性,只有模块的属性与.v文件一一对应时编译才会正确。.bdf文件中的模块可以直接用来更新下一层对应.v文件的端口属性,但是.v文件只有通过.bsf文件才能更新上一层.bdf文件中模块的端口属性。用公式表示为: riple

    (1) .bdf -> .v  riple

    (2) .v -> .bsf -> .bdf  riple

    由这组公式可以看出:.v与.bdf是一一对应的,.bsf是中间文件,即.v的子文件。如果修改了.bdf文件中的模块属性,用公式(1)更新了.v文件,这时.v与.bdf文件中的模块一致,但是.bsf文件过时,与.v文件和.bdf文件都不匹配。如果保存了这样的三个文件,由于.bsf文件不参与编译,在编译过程中不会报告任何问题;但是,如果在很久以后的某个时刻执行了公式(2)的后半部分,用过时的.bsf文件更新了.bdf文件中的模块端口,就会造成.v文件与.bdf文件中对应模块的失配,产生编译错误。 riple

     

    相关链接:QuartusII文件的管理--如何建立一个最小工程 riple

    点击此处查看原文 >>

    系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

    评论(1) | 阅读(512)
    发表于:2008-3-5 21:53:47
    标签:无标签

    2

    从PFL megafunction中学到的Virtual JTAG使用技巧

    现在开发的产品需要借用CPLD烧写Nor Flash,可选的方案有两个:采用Altera的Parallel Flash Loader,或者自己用VJTAG做一个。 riple

    采用PFL虽然速度够快,但是曾经有过文件不匹配的失败经历,所以采用了后一个方案。CPLD代码和Tcl底层操作很快开发出来了,做软件的同事开发的Tcl用户接口也很容易操作,但是发现烧写速度慢得惊人,只有几kB/s。 riple

    同样是采用JTAG电路,甚至原理都一样,为什么效率差这么多?是不是Altera给用户开放的API是慢速的?PFL到底需要怎样的文件格式。为了弄清这些问题,我硬着头皮又把PFL做了一遍。先前采用PFL时没弄清文件格式和烧写起始地址,所以失败了。这次在文件格式上下了些功夫,把原理搞清楚了,下载也就成功了。 riple

    烧写虽然成功了,但是我仍然没弄明白占用的逻辑资源差不多,PFL的速度为什么这么快。于是利用周末的时间把PFL生成的代码仔细分析了一遍,还真发现不少提高Virtual JTAG操作效率的窍门: riple

    1. IR采用one-hot方式编码,减少了译码逻辑的复杂度。 riple

    2. 采用一条专用的IR命令,通过JTAG获得参数化硬件电路的参数值。通过读取硬件电路的参数值,自动保证Tcl脚本与HDL代码中数据宽度等信息的一致性。 riple

    3. 对于连续地址写入操作,采用一个计数器产生地址值,而不采用专用IR命令传入地址值。 riple

    4. 在数据写入命令的数据移入寄存器中多添加一位,用于产生上述计数器的计数脉冲。 riple

    5. 采用TCK同步操作,既可以保证电路在低频率下稳定工作,还省去了外部输入时钟和相应的跨时钟域边沿同步脉冲提取电路。 riple

    6. 在PFL的Magawizard界面中,有一个area/speed选项,选中speed模式,还能进一步提高速度。代价是需要采用RAM(CPLD中没有)或LE实现一个FIFO,实现数据的缓冲;围绕着这个FIFO,还要设计两个状态机,一个实现从VJTAG接口向FIFO写入数据的操作,一个实现读取FIFO向Flash接口写入数据的操作。这只是初步分析,我还没能弄清speed模式下的操作细节。 riple

     

    PS:PFL需要的文件格式和生成方法我还要另写一篇日志。 riple

    参考文件:rar

    点击此处查看原文 >>

    系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

    评论(2) | 阅读(189)
    发表于:2008-3-5 21:51:55
    评论(0) | 阅读(133)
    发表于:2008-3-1 23:19:22
    标签:NAND  Flash  ONFI  

    1

    为什么Micron的NAND Flash能达到200MB/s的读取速度

          今天看到新闻Intel, Micron claim world’s fastest NAND flash,就直接到Micron的网站上浏览了一下。Micron的新产品分类为High Speed NAND Flash Products,用“High Speed”与原有NAND产品系列区分(估计ONFI 3.0兼容的产品出来后,还要加上“Ultra”,才能再分出一个类别来)。 riple  
          Micron的High Speed系列目前按照容量分为8Gb、16Gb、32Gb三种,按照接口个数分为单端口(8Gb)和双端口(16、32Gb)两种。在Micron的网站上还看不到详细的datasheet,只能看到一个Product BriefFlyer riple  
          通过Product Brief可以得到8Gb芯片的如下信息:采用了50nm而不是72nm工艺生产;是SLC而不是MLC结构;4096Byte/Page,128Page/Block,512Block x 1/Plane,4Planes;I/O分为异步和同步(DDR)两种模式;速度最高的同步传输模式,读写I/O时间都是6ns/Toggle;读Array 30us/Page,写Array 160us/Page,擦Array 3ms/Block。 riple 
          从上面的信息可以看出,High Speed特性要归功于6ns/Toggle的I/O时间,对于8bit的接口来说,相当于166MB/s的传输速度。 riple 
          但是,NAND Flash的访问速度不仅仅取决于I/O速度,还和Array传输时间、芯片内部缓冲结构和Plane数量有关。 riple

    点击看大图

    〇、NAND Flash访问时间分析 riple

          访问操作 =  命令输入 + I/O操作 + Array传输操作,第一项的操作时间所占比例很小,在性能估算中可以忽略。 riple 
          访问时间 = I/O时间 + Array传输时间,在上一代NAND Flash中,第一项占的比例最大,是第二项的4-5倍。 riple

          Micron主要采用了如下的4种技术缩短了平均的访问时间。其中第一种技术是第一次在NAND Flash上应用,也是这次“大提速”的核心技术。正是这项技术的采用,使上述公式中的第一项缩小到上一代的1/5,才使得其他3项技术发挥了最佳的效果。 riple

     

    一、接口传输模式对I/O速度的影响 riple

          采用ONFi 2.0提出的DDR接口,提高了I/O数据传输速率:源同步(缩小了建立保持时间要求)、双边沿触发(加倍了数据传输速率)。 riple

     

    二、Block结构和生产工艺对Array传输速度的影响 riple

          与上一代NAND Flash相比,Page容量加倍,在Array传输时间基本不变的情况下,等效地加倍了Array传输速度。 riple 
          72nm到50nm的工艺改进,缩小了芯片面积,提高了芯片速度(读Array速度提升不明显,写Array速度提升了1倍),降低了功耗。 riple

     

    三、缓冲与缓存对速度的影响 riple

          Micron的NAND Flash的一大特点是:每一个Plane对应一个Page大小的缓冲(data register)和一个Page大小的缓存(cache register)。数据写入的顺序是:I/O -> cache register -> data register -> Plane,数据读出的顺序刚好相反。缓冲(data register)与缓存(cache register)之间的数据传输速度很快,data register可以把I/O操作和Array操作分隔开,形成I/O操作和Array操作的“两级流水线”。这种结构与上一代NAND Flash一样。(其实,4个Plane对应4个data register和1个cache register即可) riple

     

    四、多Plane操作对速度的影响 riple

          4个Plane对应4组缓冲与缓存,每一组可以分别操作。2个Plane交替操作,可以实现“乒乓操作”,达到2倍的Array访问带宽。4个Plane交替操作,可以实现“乒乒乓乓操作”,达到4倍的Array访问带宽。在上一代的NAND Flash芯片中,采用2Plane结构是比较常见的。 riple

     

    五、200MB/s的读速度和100MB/s的写速度是怎样得到的 riple

          读I/O时间:1Toggle/Byte x 6ns/Toggle x 4096Byte/Page = 24.6us/Page,与读Array时间30us/Page相当。在采用cache模式的读操作下,流水线的两级均衡,效率最高,无需多Plane操作,平均速度可以近似于I/O速度:4096Byte/24.6us = 166MB/s。这是按照数据手册给出的数值计算得到的极限速度,与200MB/s的速度还有些差距。芯片实际能够达到的速度往往要略高一些。在上面的分析中,只要I/O时间缩短至5ns/Toggle,I/O速度就能达到200MB/s。在2Plane模式下,平均读Array时间缩短至15us/Page,小于读I/O时间20us/Page。再配合cache模式,流水线的速度等于流水线两级中最慢的“I/O速度”,就可以达到宣传中的200MB/s的平均读取速度。 riple 
          写I/O时间:1Toggle/Byte x 6ns/Toggle x 4096Byte/Page = 24.6us/Page,与写Array时间160us/Page相差很多,单独采用cache模式不够,还要采用4Plane的“乒乒乓乓操作”,缩短写Array时间,尽量均衡流水线的两级操作时间。4Plane模式平均Array写操作时间为一次Array写操作时间的1/4,40us/Page。所以在cache模式配合4Plane模式的写操作下,流水线的速度等于流水线两级中最慢的“平均Array写速度”,可以近似为:4096Byte/40us = 102MB/s。 riple

     

          从上面的分析可以看出,I/O速度限制了读取速度的最大值,在ONFi 3.0预计的400MB/s的I/O速度实现后,NAND Flash的平均读取速度也能够达到400MB/s;Array传输速度限制了写入速度的最大值,如果不对芯片的内部结构和生产工艺进行改进的话,NAND Flash的平均写入速度很难进一步提高。 riple

     

    PS:上述分析是针对8bit位宽接口的单个芯片的性能分析。如果两片8bit的芯片并联使用,位宽可以加倍,性能也会加倍,这是Samsung生产的SSD采用的技术。这样一来,SSD的性能就能达到400MB/s,惊人啊!。

     

    相关链接: riple

    NAND Flash Technical Notes,“车上的东西实在是好哇~”,连FPGA实现的控制器和ECC代码都有了,好! riple

    TN-29-07: Small Block vs. Large Block NAND Devices增大Block容量的效果。 riple

    TN-29-01: NAND Flash Performance Increase - Using the Micron® PAGE READ CACHE MODE Commandcache模式读操作 riple

    TN-29-14: NAND Flash Performance Increase with PROGRAM PAGE CACHE MODE Commandcache模式写操作。 riple

    TN-29-25: Improving NAND Flash Performance Using Two-Plane Command Enabled Micron Devices2Plane操作。 riple

    ONFi Webcast Series,“宁舍一顿饭,不舍二人转”。 riple

    ONFi BREAKS SPEED BARRIER FOR NAND FLASH,ONFi的网站上暂时还不提供2.0的specification下载,只有这个Press Release可以看看。 riple

    http://www.onfi.org/docs/ONFI_1_0_Gold.pdf riple

    Intel发表15篇论文 公布多项全新技术,其中包括此项NAND技术,还包括PCM(相变存储器)。 riple

    Spoke to Micron about NAND and SSD

    避开误区全面对比MLC和SLC架构

    MLC Challenges Mobile-Entry Barriers

    Memory Motivates Cell-Phone Growth

    点击此处查看原文 >>

    系统分类: 消费电子   |    用户分类:    |    来源: 原创

    评论(5) | 阅读(626)
    总共 , 当前 /,2345678910>>下一页