赶紧扔掉你手里的Flash和RAM,IBM带你飞!

Flash对于你手上的电子设备主存储器来说太慢了,RAM虽然快,可是不但昂贵,而且一旦掉电就会丢失数据。现在,由于IBM在相变存储器上的突破,这一切都将被改变,也许在未来的某一天Flash和RAM都将被相变存储器所取代。以石英晶体为介质的存储技术已经在光盘和其他技术领域中被使用了超过15年,不过由于造价和单一存储密度的原因,这一技术一直没有获得更大的突破。所谓的单一存储密度在这里是指,每个存储单元都只能存储一个非0即1的二进制数据,也就是一个比特的数据量。然而IBM的研究者们已经解决了怎样在单一的存储单元中存储3比特的问题,这极大地提升了原有技术所决定的存储容量。

为了将相变存储器的数据存储到一块蓝光光盘里,你需要利用大电流作用于一个非结晶硅材料(非石英晶体),把数据转换到一种以电压高低表征的石英晶体结构上。为了回读数据,你需要借助一个相对较低的电压来测量通断性,高电压就是二进制的1,低电压就是二进制的0。通过加热,石英晶体可以有更多不同的状态,以此表征更多的数据,不过问题在于,随着环境温度的改变,晶体会发生状态的漂移。IBM的团队正是在追踪和计算这种状态漂移方面做出了突破,使得我们可以在每个存储单元可靠地读出3个比特的数据。

这一突如其来的技术突破,使得相变存储器似乎具备了更多的市场竞争力:它的速度本来就比Flash快得多,不过归功于较低的单元密度,它的造价只有和RAM一样高的水平。“能够达到每个存储单元存储3个比特这样高的存储密度,这是一件具有里程碑意义的大事”,IBM的研究员Haris Pozidis博士表示,“因为在同样存储容量的前提下,这样的存储单元密度使得相变存储器的造价要远低于DRAM,将接近于Flash的造价水平”。由于这个突破,相变存储器的应用范围将不仅仅是光盘。

比如说,相变存储器可以应用于手机,连同Flash一起提供一个极为高速的Cache缓存。“我们可以把一部手机的操作系统存储在相位存储器中,这样手机就能在几秒钟之内开机”,研究者们表示。在时序要求苛刻的应用场景里,普通的SSD也可以被相变存储器取代,因为基于Flash的SSD读取数据需要70微秒,而相变存储器只需要不到1微秒的时间。RAM当然还是很快的,可是在一些特定的应用场合,相变存储器可以作为一个“通用”存储器来使用,它能够同时取代RAM和Flash。

为了达到商用目的,这项研究依然需要发展,并且还要跟其他一些新兴的存储技术竞争,比如“忆阻器”和“阻抗式RAM”。IBM可能并不仅仅关注其商用性,他们把相变存储器视为一种完美的存储介质,可以应用于像Watson那样的人工智能App。

如果IBM的这项技术能够成熟商用的话,那么我们可以预见,这将不仅仅只对电子存储行业产生巨变,还将影响到整个的电子信息产业,现有的硬件版图模型、软件存储算法,甚至FPGA等可编程逻辑器件的未来都将受到影响,这不禁让人充满了好奇和期待。

本文转自d1net(转载)

时间: 2025-01-21 17:20:40

赶紧扔掉你手里的Flash和RAM,IBM带你飞!的相关文章

Flash AS 3.0菜鸟学飞教程:帧循环学习实例

多帧循环 Flash中的帧在默认情况下是循环执行的,租用gotoAndPlay()函数可以实现简单的帧循环,而实现代码的重复执行. gotoAndPlay()函数的用途是控制或改变影片剪辑的播放流程,如果在影片的第1帧画面中放置需要重复执行的程序,然后在第2帧加入gotoAndPlay(1)语句.反复执行第1帧画面的程序,那么gotoAndPlay()函数就构成了一个循环程序结构. gotoAndPlay()函数没有条件判断功能,是无条件重复的循环结构.但可以和if语句一起使用.形成具有判断终止

Flash AS 3.0菜鸟学飞教程:载入库中的影片剪辑

学习AS3.0菜鸟起飞之-载入库中的影片剪辑 在Flash创作环境中,可以从库中拖拽影片剪辑到舞台上,使它们出现在SWF文件中.当使用ActionScript 来添加影片剪辑时,实际上也是将影片添加一个实例到时间轴上.帧是时间轴的一部分,你可以使用动作面板将as代码与帧关联.因此时间轴成了用as代码添加的显示对象的父容器,除非另一个显示对象被指定. 添加一个影片剪辑到当前时间轴: 下面的例子从.fla库中导入一个名为"鹰"的影片剪辑 1.新建Flash文档(AS3),存盘. 2.打开&

Flash AS 3.0菜鸟学飞教程:用反射动态创建实例

使用new运算符创建对象或实例时,直接调用了某个具体类的构造函数,而在编写程序时,经常需要动态地创建类的实例,这时可以使用反射来创建实例. 例如,如果仅知道某个实例,而不知道实例对应的类,就可以用反射来创建实例.AS3中的所有类都属于Class类型,例如,MovieClip是一个Class,Bitmap也是一个Class. 例: 1.新建一个Flash文档 2.单击图层第一帧,打开动作面板,输入代码: //动态得到类的构造函数 var classcontructor:Class = MovieC

Flash AS 3.0菜鸟学飞教程:类的编写之时间轴代码转换为外部类

我们已经了解了在Flash CS3 中如何在时间轴上编写代码,那么如何将时间轴上的代码转换为外部类,以及Flash CS3 的文档类形式,接下来我们进一步的来研究编写类及外部as文件的方式. include 如果你了解AS1.0,AS2.0 编程,那么对include一定不陌生,在Actionscript 3.0中我们仍可以使用include 来导入代码. 例: 1.打开flash新建一个文档.保存为drag_inclue.fla在场景中创建一个影片剪辑,本例中使用的小球,将其转换为影片剪辑,并

Flash AS 3.0菜鸟学飞教程:类的编写之不使用库元件

AS3.0 类的编写(不使用库元件) 在上一讲中我们使用的是已创建好的影片剪辑,并在库中做类的链接,这对有复杂图形的创作是比较好的选择,如果你能熟练的应用绘图API绘制出你想要的任意图形,就可以不使用库元件,直接在类中编写.下面我们用这种方式编写类代码: 创建一个DocumentClass类(创建100个随机摆放的圆) 1.代码: 2. 3.package { 4. 5.import flash.display.MovieClip; 6.public class DocumentClass ex

Flash AS 3.0菜鸟学飞教程:含有多个类的AS3类文件

AS3.0含有多个类的AS3类文件 标准的AS3类文件是以".as"为结尾的纯文本文件.一个类文件可以包含一个或多个类定义,甚至可以直接写入一次性执行的语句.AS3中,在package花括号外,可以定义一个或多个Class,不可与文件同名.这些花括号外的类,称为当前类文件的包外类.只有当前类文件中的成员可以访问. 包外类的产生,每个.as文件被编译器看成一个编译单元,每个编译单元只能有一个对外可见的Class, 那么package{}之外的Class就对外不可见了. 为什么需要包外类?

Flash AS 3.0菜鸟学飞教程:创建Bitmap类

本系列Flash教程为Flash新手制作,更多教程和练习请点击这里,在这里有系列的教程.练习,并有老师对练习进行点评与指导,欢迎朋友们的光临! 在学习中遇到问题请到 论坛 发贴交流! 创建Bitmap类的实例 Bitmap类与位图操作有关,一般来说,Bitmap类应与BitmapData类一起使用. 例: 1.打开Flash,新建一个Flash文档. 2.选择一张图片,导入到库. 3.打开库面板,右键链接,在类文本框中输入BigPhoto,单击"确定"按钮. 上面的操作,实际是创建一个

flash中的自带调色板渐变

渐变 效果如下: 点击这里下载源文件 初看到混色器中的调色板,感觉很复杂,那么多颜色.其实它们是有规律的.只要找到规律就很简单了. 规律是:FF0000-g增加-FFFF00-r减少-00FF00-b增加-00FFFF-g减少-0000FF-r增加-FF00FF-b减少-FF0000看出规律了吧.这是一个分段函数,相信能把每段的变化规律用AS表示了. AS为:第1桢: var n = 1; var nmax = 320;第2桢: attachMovie("bar_mc", "

Flash AS 3.0菜鸟学飞教程:间隔循环的三种表现方式

学习AS3菜鸟起飞吧之-间隔循环 如果想使动画不依赖于帧频,可使用3种方法. 1.setlnterval()函数 setlnterval()函数作用是每隔一定的时间,就调用函数 setlnterval()函数的形式为: setlnterval(函数名,时间间隔,函数参数): 函数名是自定义的函数的名,时间间隔为毫秒,函数参数是自定义函数的参 下面制作一个计时器: //时间的初始值 var t:int; //定义一个无参函数 function time() { //输出时间 trace(++t /