接口速度:

type   bw 
read 75μs 1s/75μs*8k/1s=104m/s
write   1300μs    1s/1300μs*8k/1s=6m/s
erase 3.8ms  1s/3.8ms*8k*256/1s=526m/s
PCIe Gen2 x8 5Gbps 5Gbps/8*8=4.88G/s
DDR3 533MHz(32bit) 32bit*533MHZ/8=2.132GB/s

system bus-

AXI-Lite (bus width: 32 bits)

Used for control
Operates @ 100MHz
 

storage data bus-

AXI (bus width: 64 bits, burst length: 16)

Used for DMA operations between flash
storage controller/PCIe interface and
DRAM
Operates @ 100 MHz
64bit*100MHZ/8=800m/s 
flash bus  Operates @ 50MHz, DDR (100MB/s data rate) 8bit*50MHZ/8=50m/s  

数据传输

PCIE <--DMA--AXI--> DRAM <--DMA--AXI> FSC <--flash bus--> DIE

FSC控制器结构如下:

Way arbiter

Way arbiter是用在当有多个way controller都要请求commonflash bus 和 access page buffer,因为是公用的,所以就要分配permission权限,算法如下:

lastGrantedWay = 0
while (true)
  if (requestArrived)
    for (i = 0 to numberOfWays)
      nextCandidate = (lastGrantedWay + i) % numberOfWays    //就是从上次使用的way继续往下轮训着找
      if (hasRequested(nextCandidate))
        grantPermission(nextCandidate)

permission权限的意思是指(每次只有一个way可以使用):

● Access page buffer (through data path)
● Use flash bus

下面列出一个example:

Buffer controller

Buffer controller controls data bus between page buffer and BCH ECC encoder/decoder

Buffer size is 2198B
● Data 2048B + 60B ECC parity + reserved (90B)
  – Reserved space was intended to support more powerful ECC (currently not used)
● Page size of flash device is 8192B, thus, data transfer occurs 4 times

写过程:

读过程:

page结构

1.Physical page size of flash device
■ 8KB+448B (8640B)
2.There are four chunks
■ Each chunk consists of a pair of data and parity
3.Reserved 40B area is intended to store FTL metadata (currently not used)

way controller

下面来看flash controller的具体结构:

①Reset, mode change commands are directly executed at their dedicated modules

● Reset module and mode change module are responsible for the control

②Page read, page program, block erase commands are executed in 2-3 stages

Cosmos OpenSSD架构分析--FSC的更多相关文章

  1. tomcat架构分析 (Session管理)

    Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到.在开发app时,我们只是获取一个session,然后向session中存取数据,然后再销毁session.那么如何产生se ...

  2. Magento架构分析,Magento MVC 设计分析

    Magento架构分析,Magento MVC 设计分析 分类:Magento 标签:Magento MVC.Magento架构 669人浏览 Magento 采用类似 JAVA的架构,其扩展与稳定性 ...

  3. Flickr 网站架构分析

    Flickr 网站架构分析 Flickr.com 是网上最受欢迎的照片共享网站之一,还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗?他就是将照片上传到Flickr,后而被 ...

  4. Android架构分析之Android消息处理机制(二)

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在上一篇文章中我们看了一个使用Handler处理Message消息的样例,本文我们 ...

  5. NopCommerce架构分析(转载)

    原文 一,NopCommerce架构分析之开篇 NopCommerce是.net开源项目中比较成熟的一款业务应用框架,也是电子商务系统中的典范.所以很想多学习一下里面的设计和实现方式. 二,NopCo ...

  6. Qualcomm Android display架构分析

    Android display架构分析(一) http://blog.csdn.net/BonderWu/archive/2010/08/12/5805961.aspx http://hi.baidu ...

  7. tomcat架构分析-索引

    出处:http://gearever.iteye.com tomcat架构分析 (概览) tomcat架构分析 (容器类) tomcat架构分析 (valve机制) tomcat架构分析 (valve ...

  8. [转载] 关于“淘宝应对"双11"的技术架构分析”

    微博上一篇最新的关于“淘宝应对"双11"的技术架构分析”.数据产品的一个最大特点是数据的非实时写入.

  9. apache kafka系列之性能优化架构分析

    apache kafka中国社区QQ群:162272557 Apache kafka性能优化架构分析 应用程序优化:数据压缩 watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...

随机推荐

  1. 201521123067 《Java程序设计》第12周学习总结

    201521123067 <Java程序设计>第12周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对 ...

  2. 201521123090《Java程序设计》第12周学习总结

    本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 书面作业 将Student对象(属性:int id, String name,int age,double grad ...

  3. Markdown格式

    一个例子: 例子开始 1. 本章学习总结 今天主要学习了三个知识点 封装 继承 多态 2. 书面作业 Q1. java HelloWorld命令中,HelloWorld这个参数是什么含义? 今天学了一 ...

  4. rpm包管理

    库文件 linux上,库文件是非常重要的,因为很多的软件都不是将所有的自己在需要的函数库自己写好,而是将一部分自己软件特有的库文件自己写,通用的库文件全部动态链接到公共库上去,这样不仅节省空间,同时用 ...

  5. 如何快速生成企业Web应用

    随着互联网的发展,企业认识到"电子化"和"无纸化"办公是一种必然趋势,但是企业在信息化建设中经常望而却步,主要原因是高昂的建设成本与不可以预估的结果风险.另外软 ...

  6. MongoDB分片原理篇

    MongoDB分片 为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用, ...

  7. JavaScript 基本语法结构

    1 变量 JavaScript的变量是弱类型的,就是所有的对象都是使用var 来进行声明 2 变量的命名规则 1.由字母.数字.下划线组成,区分大小写 2.以字母开头 3.变量名不能有空格 4.不能使 ...

  8. Ansible系列(三):YAML语法和playbook写法

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  9. CentOS 通过yum安装web环境

    以前有过记录用过linux安装包来安装,但是需要手动配置环境.这次是用yum 来安装web环境,就可以不需要手动配置环境. 1,安装mysql 通过yum安装mysql 输入:rpm -qa | gr ...

  10. Java9新特性之——JShell

    java9已经在北京时间9月22日正式发布,开发者可以在oracle jdk官网上下载到最新的jdk9.jdk9和jdk8中的新特性不同:jdk8中的stream和lambda表达式能够让开发者非常快 ...