聊聊SSD测试(2) – Emulator

我是一名测试攻城狮。

在SSD主控芯片设计阶段,除了RTL Simulation以外,通常还会进行Verification的工作,而Verification中就会使用到Emulator或者FPGA。

这次聊聊Emulator (FPGA这东西,唐杰大师比较熟悉,各位可以没事骚扰他)。

先说一下Simulation和Emulation的区别,以SSD主控芯片为例:

Simulator是仿真器,基于软件,重点是实现芯片的功能并输出结果;

Emulator是模拟器,用硬件实现,通过模拟实现芯片的内部设计,从而实现功能并输出结果;

业界比较知名的Emulator提供商Cadence,旗下的Emul[……]

阅读全文

聊聊SSD测试(1) – Verification & Validation

我是一名测试攻城狮。

SSD从设计,固件到成品出货,少不了各种测试。中文博大精深都叫测试,到英文里有N个词:Simulation,Emulation, Verification,Validation,Test,QA.

这次先聊一下Verification和Validation。

为了帮助理解,先简单说一下芯片设计的过程:

  1. 需求:老大,大佬们商量这颗主控要实现什么功能
  2. 架构:Architecture出设计图
  3. 设计:ASIC攻城狮把各种内部,外部IP攒起来
  4. TapeOut
  5. 芯片回来

在设计阶段,使用Emulator(以后介绍)或者FPGA进行测试的过程,叫Verification,中文翻译为”[……]

阅读全文

PCIe SSD网络时代来临!

我们先来科普一下PCIe,NVMe,PCIe SSD这些概念。

 

PCIe简介

 

尽管老男孩已经介绍过了,阿呆还是再提一下。

 

如果数据是汽车,那么PCIe就是高速公路了,每个车道叫做Lane,车道有x1, x2, x4, x8, x12, x16, x32几种模式,就是有这么多条车道,速度就是相应的倍数。所以PCIe在性能上的扩展性很不错。

 

下面是从第一代到第四代PCIe每个Lane的性能。PCIe 1,2采用8b10b编码,就是10个bit有2个校验位,PCIe 3之后是128b/130b编码,130个bit才有2个校验位,效率更高。其实这是一个趋势,Intel的Omni Pat[……]

阅读全文

Separate DIMM VS Hybrid DIMM

 

作者:斯托瑞吉

今年的FMS2016刚结束,Storage class memory成为了热门,前段时间刚看了Diablo的Memory1,还没研究完, 这不三星携手Netlist隆重推出了HybriDIMM,实际都叫做NVDIMM,实属于Storage class memory—本质上用Flash介质充当memory,在容量成本和性能三者找一个综合,替代DRAM做CPU和SSD/HDD之间的一层data tier。但架构和设计上还是有很大的不同,本文就想分析下这两种产品和架构的异同点,纯做技术分析对比。分析数据来源于网络文档、产品官方文档加上个人一些推断,因为是推断,不保[……]

阅读全文

NVMeDirect:超越SPDK(5)

 

前面写了那么多铺垫,其实是为了引出阿呆的老关系户韩国科学家提出的一个用户态NVMe架构:NVMeDirect,你终于明白标题的意思了吧?论文标题和作者如下,没兴趣看英文原文的人就看阿呆慢慢给你讲吧。

 

 

特点

 

相比SPDK,NVMeDIrect有以下特点,按作者的说法是优点:

  • 和传统内核态驱动共存,比如内核驱动使用SSD的一个分区,用户态驱动使用别的分区,反正大家划分地盘,自己种自己的地。
  • 在命令队列,IO回调,IO调度,缓存等方面进行了优化。IO可以根据自己的特点选择不同的策略,比如对延迟要求高,就自己搞一个队列,发完命令一直轮询读结果。还可以搞一个高优先级队列,数据库的日志[……]

阅读全文