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一样轻松,因为 ...
随机推荐
- 45种Javascript技巧大全【转藏】
JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...
- Unity3D 之UGUI 按钮
新建一个按钮 按钮对应的属性 按钮下面只有一个文本的 游戏对象,是Button对应的显示文字 Interactable -->是否可以交互 Transition -->变换,对应各种关于按 ...
- Discuz!nt整合心得
最近研究了下Discuz!nt的整合,因为是网上找的实例,有个地方的写错了,导致纠结了一整天,这里分享出来. Discuz!nt提供了整合工具DiscuzToolkit,用于调用Discuz!nt A ...
- WebView支持特效,页面内跳转(转载!)
webView = (WebView) findViewById(R.id.lottery_webview); webView.getSettings().setJavaScriptEnabled(t ...
- 项目由Windows2003 迁移到Windows 2008 过程,报 JS错误
这两天在做服务器迁移,遇到了一些小的问题,现在做个粗略的记录 原服务器环境:Windows 2003 现服务器环境:Windows 2008 其中SSB项目在迁移部署后发现,报 JS的错误. 我在想除 ...
- 文件打开方式O_DSYNC、O_RSYNC、O_SYNC
O_DSYNC: 每次write都等待物理I/O完成,但是如果写操作不影响读取刚写入的数据,则不等待文件属性更新 O_RSYNC: 每个以文件描述符作为参数的read操作等待,直到所有对文件同一部分的 ...
- java.util.HashMap源码分析
在java jdk8中对HashMap的源码进行了优化,在jdk7中,HashMap处理“碰撞”的时候,都是采用链表来存储,当碰撞的结点很多时,查询时间是O(n). 在jdk8中,HashMap处理“ ...
- docker中搭建gitlab
1, 下载镜像 docker pull sameersbn/gitlab:7.4.3 # 下载gitlab镜像 docker pull sameersbn/mysql:latest # 下载gitla ...
- Invoke()方法的使用
在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界 ...
- js 中如何通过提示框跳转页面
通过提示框跳转页面 <!doctype html> <html lang="en"> <head> <meta charset=" ...