Multi-Die系统介绍
一个典型的存储系统一般是有几片NAND存储器组成的。一般会使用8-bit的总线,用来将不同的存储器与控
制器进行连接,如图2.32所示。一个系统中多片NAND的存储系统可以提高存储容量,同时还可以提高读写速度。
基于一个通道的操作是能够被插入的,也就是说当一个占有通道的芯片(die)处于空闲状态,而另一个芯
片(die)处于忙碌状态(例如写或者擦除),这个时候这个处于忙碌的芯片就可以去占有这个通道进行使用。
例如:如图2.37所示的一个需要多次写操作的序列。当使用这种可插入的读写方式之后,数据通道的利用率就因
为充分利用通道而被最大化了;同时也不用专门的通道去进行(以前的芯片读和写要分开);一个典型的系统
一般会同时操作一个并行的2到8个(甚至更多)通道。
如图2.38所示,当每个页的写入时间是固定的时候,使用了多die芯片之后,整个系统的吞吐效率就增加了
很多。
存储芯片的控制器要负责通过通道来对所有的数据进行分配存储。控制器一般会使用专门的低功耗通讯工具
来与NAND Flash进行通信。
另外,和写操作(与输出的数据是同样的内容)对比起来,数据的负载阶段也是要特别注意的:持续增加的
输入/输出接口的传输速度是另一个可以考虑的提高输入/输出效能的方式。一些高速接口(比如DDR)我们会在
之后的内容中详细介绍。图2.39展示了DDR高速接口在写数据的时候对速度的影响。随着速度的增加,更多的
NAND芯片能够在同一时间被读写,当然,接口的速度也是会有极限的。例如:假设一个终端的接口速度只有
30MB/s,有两块NAND芯片,要求最低速的DDR频率至少为50MHz,给定NAND的一个页的写时间为200us,当在
50MHz的时候我们就可以通过切换芯片同时对4块NAND进行操作,这显然已经达到了终端写入速度的两倍。
4块NAND的计算方式:(1000000/200)*2K*4 略小于 50MHz的速度(这里以一个page为2K进行计算)。除此之外,功耗当然也是需要特别注意的一个问题。
除了单独的NAND芯片结构之外,还有一些将不同类的存储芯片集合在一起的存储结构体,例如一些存储体
里面除了包含NAND还使用了DRAM或者SRAM来做存储缓存;在写入阶段这些缓存就可以用来在真正写入NAND之前
暂存数据。这样做的好处就是可以得到更快的速度的同时还可以延长NAND的寿命。
还有一种结构是使用NOR Flash和NAND Flash共用的形式,使用NOR Flash的目的是可以片上执行软件,从
而省去了读取数据的时间。
对于这些使用不同存储芯片的混合存储体而言,在一个包装好的芯片里面打包多个die的方式是一种很不错的既可以降低空间又可以降低功耗的方式。
Multi-Die系统介绍的更多相关文章
- No zuo no die:DDD 应对具体业务场景,Domain Model 重新设计
写在前面 上联:no zuo no die why you try 下联:no try no high give me five 横批: let it go上联:no zuo no die why y ...
- 艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)(四)
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开源,作者是英国的,开发时间5年多,框架很稳定. 项 ...
- 艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)(一)
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项 ...
- Also unsere eigene Christian Louboutin Webshop bietet die überragende Christian Louboutin Schuhe uk schiebt zusammen mit kostengünstigen Wert
www.heelschuhe.de, Es ist wirklich eine der Frauen erfordern immer interessant und auch Louboutin Pu ...
- python学习笔记4-redis multi watch实现锁库存
python 关于redis的基本操作网上已经很多了,这里主要介绍点个人觉得有意思的内容1.redis的事务操作以及watch 乐观锁:后面描述2.tornado下异步使用redis的方式 ...
- Elasticsearch——multi termvectors的用法
前一篇已经翻译过termvectors的使用方法了,这对于学习如何使用tf-idf来说是很有帮助的了. 更多内容参考我整理的ELK教程 什么是TF-IDF? 今天早晨起来,看<ES IN ACT ...
- Linux文件系统介绍(转)
文章转自:http://www.iteye.com/topic/816268 文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识. 本文将站在一个较高的视图来了解linux的文 ...
- php的exit和die
首先, 两者是相等的: exit is equivalent to die; 其次, 都是语言构造器, language construct. 不是函数! 后面的内容用括号括起来只是为了方便... 用 ...
- IE6 Must Die
最近 Twitter 上很多人在推一个名为 IE6 Must Die 的活动, 参与的朋友可以通过头像转换服务在自己的头像上加上一个禁止 IE6 的图标, 很是拉风. Internet Explore ...
- Xamarin Android教程Android基本知识版本介绍与系统介绍
Xamarin Android教程Android基本知识版本介绍与系统介绍 Xamarin Android教程Android基本知识版本介绍与系统介绍,开发Andriod有时候不像iOS一样轻松,因为 ...
随机推荐
- 跨时钟域设计【一】——Slow to fast clock domain
跨时钟域设计是FPGA设计中经常遇到的问题,特别是对Trigger信号进行同步设计,往往需要把慢时钟域的Trigger信号同步到快时钟域下,下面是我工作中用到的慢时钟域到快时钟域的Verilog HD ...
- MVC框架是什么
MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使 ...
- i++与++i的区别
i++与++i的意思都是i自身加1,不过这个两个语句却有很大的区别. ++i,就是直接在i上再加1,这个无需多解释. i++会稍微特殊些,他会在下次执行语句,再遇到i时,才会在i身上加1. 打个比方, ...
- HttpRuntime.Cache被清空的DataTable
将一个DataTable存到Cache中后,另一个页面新建变量并获取,操作变量,Cache中的数据也被改动了? 页面a.aspx 初始化并赋值,输出当前缓存内DataTable内数据条数 Page_L ...
- ASP.NET问题处理---targetFramwork=‘4.0’错误
问题原因分析:系统没有下载 .NET framwork 4.0 版本的框架或者有下载但没使用. 解决办法: 打开iis上发布的“应用程序池”,并右键我们所发布的网站: 选择“添加应用程序池”: 最后选 ...
- c# 串口发送接收数据
/********************** 串口数据接收事件 *****************************/ private void SerialPort_DataReceived ...
- Codevs 5059 一起去打CS
5059 一起去打CS 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 钻石 Diamond 题目描述 Description 早就和lyk约好了去打cs,一直没找着时间,终于今天我家 ...
- Codevs 1225 八数码难题
1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Yours和zero在研究A*启发式算法.拿到一道经典的 ...
- 九度OJ 1107 搬水果 -- 哈夫曼树 2011年吉林大学计算机研究生机试真题
题目地址:http://ac.jobdu.com/problem.php?pid=1107 题目描述: 在一个果园里,小明已经将所有的水果打了下来,并按水果的不同种类分成了若干堆,小明决定把所有的水果 ...
- Headfirst设计模式的C++实现——装饰者模式(Decorater)
Beverage.h #ifndef BEVERAGE_H_INCLUDED #define BEVERAGE_H_INCLUDED #include <string> class Bev ...