接口速度:

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. 201521123016 《Java程序设计》第2周学习总结

    1. 本周学习总结 JAVA中string对象创建后不可修改. 使用StringBuilder编写代码,减少内存空间的占用. 字符串使用"+"拼接,拼接后其他类型会被转化为字符串. ...

  2. 201521123077 《Java程序设计》第1周学习总结

    1. 本章学习总结 java语言的历史 dos下运行 java文件 Math ,String ,Scanner,Interger等常用类的使用 jdk,jre,jvm等概念的了解 classpath, ...

  3. 201521123037 《Java程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 1.1 建立数据库,将自己的姓名.学号作为一条记录插入.(截图, ...

  4. 201521123072《java程序设计》第九周总结

    201521123072<java程序设计>第九周总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 常用异常 题目5-1 1.1 截 ...

  5. 201521123054 《Java程序设计》第9周学习总结

    1. 本周学习总结 2. 书面作业 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 经常会出现ArrayIndexO ...

  6. 教你在Java接口中定义方法

    基本上所有的Java教程都会告诉我们Java接口的方法都是public.abstract类型的,没有方法体的. 但是在JDK8里面,你是可以突破这个界限的哦. 假设我们现在有一个接口:TimeClie ...

  7. BootStrap基礎知識

    BootStrap基礎知識 1. .lead //突出 .text-left //文字居左 .text-right //文字居右 .text-center //文字居中 .text-justify / ...

  8. Windows下 如何添加开机启动项

    Windows XP,Windows 7: 开始 ----> 所有程序 ----> 启动, 右键打开"启动"这个文件夹, 把想开机自动启动的软件快捷方式拖进去即可. ( ...

  9. vue学习之指令简写以及事件笔记

    1.v-bind:××× 可简写为 :××× 2.v-on:××× 可简写为 @××× 例: v-on:click 可简写为 @click (官网文档介绍) 3.vue处理事件 <!-- 阻止单 ...

  10. php中常用的字符串比较函数strcmp()实例解释

    int strcmp ( string $str1 , string $str2 ) 以二进制方式进行比较以该函数比较时区分大小写返回值,如果str1小于str2返回<0,如果str1大于str ...