响应读请求挂起编程和擦除操作的存储设备及其管理方法技术

技术编号:2879782 阅读:247 留言:0更新日期:2012-04-11 18:40
一个使得能同时应用非易失性存储器进行代码执行及数据存储/处理的系统和方法,包括一个能够支持自动挂起和恢复操作的硬件装置。该装置要求挂起逻辑电路和恢复逻辑电路(26和27)集成到一个芯片硬件上,或以能和芯片一起操作的任何方式配置逻辑芯片。本系统和方法使得一闪存芯片(24)能够在其进行擦除/编程操作的同时进行代码执行,以避免通常会引起系统毁坏的冲突。这通过感应芯片的操作状态和CPU/总线(20)的活动,以及命令闪存设备在适当时机挂起和/或恢复编程/擦除操作,以免与读请求相冲突来实现。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种使非易失性存储器在作为一个数据存储设备运转时能够执行代码的系统。
技术介绍
非易失性存储器的主要应用于代码的执行。在非易失性代码存储器市场,闪存因其更好的成本结构、易于制造和高密度,正在取代只读存储器家族的各种成员(ROM,PROM,EPROM,EEPROM)。闪存通常既用作独立设备也用作嵌入式存储器。该领域的市场竞争集中在为降低设备的成本而把一段信息压缩于一个更小的硅区域。用作代码执行的最常用的闪存类型称为NOR闪存。这种NOR闪存能够随意访问它的每一个地址并因此能够从中执行代码。由于这个原因NOR闪存被称为XIP存储器,其中XIP代表在位置上可执行(executable inplace)。迄今为止我们讨论了闪存应用于代码执行,闪存显现出来的另一个市场——数据存储市场开始成长并变为主要市场。数据存储应用要求一个对闪存的文件系统管理。用作数据存储的闪存叫做闪速磁盘,它由H/W(闪存)和一个S/W包(文件系统管理,OS界面等)组成。现代应用通常要求闪存既可用于代码执行又可用于数据存储。今天,大多数体系应用独立设备(或成套设备)来实现每一个功能。这就非常需要应用同一设备(单一设备)来储存应用的数据及软件代码。这样做的主要好处有减少不动产的需求、芯片数量、硅的尺寸和能量消耗。下述情节列举了这种方法的主要问题假设有两个任务运行在应用的OS下。第一个任务(T1)是数据存储驱动程序任务。其负责把所有的应用数据存储在闪存上。第二个任务(T2)是执行同一闪存上的代码。开始于T1的情节向闪存的某些区域发出一个擦除命令,作为数据管理要求的一部分。NOR闪存的典型擦除时间是1秒。在这个时间内(这1秒内),OS给T2一个时隙(time slot),T2开始从闪存执行代码。这时操作将失败并引起整个应用失败。原因在于,当闪存忙于擦除/编程另一部分时,它不可用于读操作(例如,代码的执行)。OS和T2不会意识到闪存此时不可用。OS和T2期望储存在闪存上的代码将总是可用来执行,但情况并非如此。事实上,每当忙于紧随着T1请求的擦除/编程部分时它都将不可用。现有解决方法1、利用两个设备,一个用做数据存储,另一个用作代码存储(XIP)。正如上述,这是当今最常用的体系。这一方法的图解说明见图1。这一方法的缺陷是需要更多的不动产、芯片数量、硅的尺寸和能量消耗。2、应用具有多存储体(multi-bank)体系的单独设备,它能够同时进行读操作和擦除/编程操作。几家闪存供应商已经开始提供具有多存储体(通常是双存储体)体系的闪存设备。利用此方法可减少不动产的需求,且芯片数量也可减少到一个。这个方法的不足在于硅的费用(由于多存储体设计)。估计这种设计的硅的费用比常规高30%,因此基本上必须为硅的附加功能付费。这种方法仅在不动产不足的应用中流行,因为否则它将受限于成本。这一方法的图解说明见图2。3、利用具有特殊系统S/W的单一设备控制和计划系统的所有任务,例如,英特尔的PSM。这种方法利用闪存的挂起和恢复S/W命令,以便实现设备的双功能。利用此方法可以解决没有意识到这一问题,但是其代价是复杂的集成。这要求为每一CPU和/或OS特别制订一个方法。这种特殊系统S/W加到OS并控制和计划所有任务和中断。因为有很高的复杂性,所以这种方法集成和开发的时间过长。而且这方法具有很强的入侵性,因此可能适合一些适当的市场。于是广泛地认识到需要一个能够真正同时利用非易失性存储器进行代码执行和数据存储的系统,并且这种系统将有大的优势。本专利技术提供另一个方法,解决了一个非易失性(闪存)设备(或一套设备)既可用作数据存储/处理又可用作代码执行的问题。这个方法能够实现两种应用的适当功能,特别是能够在任何时间从闪存上进行代码执行,包括当闪存忙于擦除/编程某些部分时。本专利技术涉及一种硬件应用,它使闪存设备既能以有效的方式产生又能以有效的方式运行,并使得能够利用闪存同时进行数据存储/处理和代码执行。
技术实现思路
本专利技术提供一种能够使用非易失性存储器,特别是闪存,进行代码执行和数据存储/处理的系统,包括CPU/总线/控制器;非易失性设备阵列;非易失性设备电路;及逻辑电路,其中所述的逻辑电路是一个能够支持自动挂起和恢复操作的硬件装置。本专利技术提供一种能够支持自动挂起和恢复操作的单片(on-chip)H/W装置的设计和实现的方法。这种方法易于集成到任何CPU/OS。本专利技术使一种非易失性存储器芯片,如闪存芯片,能够在进行擦除/编程操作时进行代码执行。这通过感应芯片的运行状态和CPU/总线的活动,以及命令闪存设备在适当时机挂起和/或恢复编程/擦除操作以免与读请求相冲突来实现。因此当芯片在进行编程/擦除操作时,该系统缓冲CPU/总线/控制器的读命令的执行。附图说明参照附图,仅仅通过举例子的方法对本专利技术进行描述,其中 图1说明当今最常用的方法,把两个独立设备合并进存储器芯片以实现代码执行和数据存储;图2说明一种替换的方法,在闪存芯片中既可进行代码执行又可进行数据存储,其中利用了多存储体体系;图3说明根据本专利技术的系统的基本操作;图4是根据本专利技术的系统的基本组成的流程图。具体实施例方式本专利技术是一种能够同时应用非易失性存储器芯片进行代码执行及数据存储和处理的系统和方法。特别地,本专利技术能用于执行闪存芯片上的代码,同时又处理存储在同一芯片中的数据。这是基于自动挂起和自动恢复操作的应用。参照附图及其说明,能更好地理解根据本专利技术的这一系统的原理和操作,其中图3和图4说明在本专利技术的优选应用的基本组成和操作。本专利技术的硬件装置是一个逻辑电路(或几个电路),它被设计成能够以如下方式进行编程和/或擦除操作的自动挂起和自动恢复。例如,假定一个有效的擦除/编程命令10发布到存储器设备。该存储器设备正在执行擦除/编程操作15,同时登记一个读请求11。同本方法相对立的方法将不能执行该读请求并可能毁坏系统,而本专利技术暂时挂起12编程/擦除操作15。在挂起模式12期间,CPU/总线仍可自由地继续读请求。读操作将随后被监控以便检测一个超时13(一个预先设定的时间段,在这段时间里没有进行读操作)。一旦检测到超时,它自动发出一个命令以恢复操作14,允许编程/擦除操作15继续进行。更详细地说,系统运行如下1、在下面情形自动执行挂起操作1.1设备正忙于擦除/编程操作15。1.2设备11正在尝试进行一个读操作。2、一个忙信号22(图4)指示设备进入挂起状态12(这段时间称作挂起等待时间(latency))。这个忙信号是给CPU/总线的一个物理信号,其将被用在平台上以通知存储在闪存芯片中的代码将可以执行。主机CPU/总线/控制器20或主机总线21通过这个信号利用它的标准保持/重试机制进行保持/重试操作,或通过CPU/总线/控制器提供的其它方法防止因读尝试失败引起系统损坏。3、一旦完成所有的读循环,恢复操作14将自动执行。用超时监测13(一个预先设定的时间段,在这段时间里没有进行读操作)来检测是否完成读循环。可能基于可选因素,如预先设定的时间间隔或任何其它选定的方法来命令恢复操作执行。优势首先,本专利技术可应用非易失性存储器芯片或用作一体化芯片的存储体,既进行数据存储/处理又进行代码执行。这能显著减少不动产的需求、芯片数量、硅的尺寸和能本文档来自技高网
...

【技术保护点】
一种利用非易失性存储设备在进行数据处理操作的同时执行代码的系统,包括:CPU/总线/控制器,用于控制所述存储设备;非易失性阵列,用于保持所述系统的数据和代码;非易失性设备电路,用于控制所述非易失性阵列的内容和活动;及逻辑电路,用于使能自动挂起和/或自动恢复操作。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:莫西吉分苏卡泽诺维兹基阿米尔班
申请(专利权)人:M系统快闪盘开拓者公司
类型:发明
国别省市:IL[以色列]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1