基于通用串行总线的pc闪存盘的体系结构的制作方法

文档序号:6561031阅读:95来源:国知局
专利名称:基于通用串行总线的pc闪存盘的体系结构的制作方法
技术领域
和背景本发明与半导体存储设备有关,具体地说与利用USB PC总线连接到主机平台的可擦和可编程的非易失存储模块有关。
可擦和可编程的非易失存储模块,以下简称为闪速存储器(flashmemory)或闪存设备(flash devices),在该技术领域内已知用来存储信息。闪存设备包括由闪速型浮栅晶体管构成的电可擦和可编程的只读存储器(EEPROM),在功能和性能上是与EPROM存储器类似的非易失存储器,但有一个附加功能,允许一个线路中的可编程操作擦除存储器的一些页面。实现这样的闪存设备的一个例子在美国专利No.5,799,168中给出,该专利在这里列作参考。
闪存设备与传统的存储磁盘相比具有比较便宜的优点,所需的功率也比较小。然而,在一个闪存设备中,要改写存储器的一个以前写过的区域而不对这个区域先进行页擦除是不行的。闪存设备的这个限制导致它们与典型的现有操作系统程序不兼容,因为数据不能写入闪存设备内的一个先前已经写入数据的存储区域,除非首先对这个区域进行擦除。需要一种诸如在1993年3月5日申请的美国专利No.5,404,485中所揭示的那样的软件管理系统来管理闪存设备的这些功能,这个专利在这里列作参考。
当前,这些闪存设备还有另一个限制,它们必须或者静态地连接到主机平台上,或者利用PCMCIA(国际个人计算机存储卡协会)接口动态地接拆。这两种实现都有缺点,其中包括使用困难和成本高。
一种较为有益的实现要遵从如在USB规范1.1中所描述的USB标准,这个规范在这里列作参考。USB标准为最终用户提供了较小的格式因子和较大的运用方便,同时降低了实现成本。这个标准规定为一个由诸如Compaq、Microsoft、IBM、Intel一些公司推行的工业中广泛应用的标准,作为对PC体系结构的一个扩展,面向计算机电话一体化(CTI)、用户和工业应用。规定USB标准的体系结构所用的准则包括PC(个人计算机)外围扩展方便,成本低,支持高达12Mb/s的传送率,以及完全支持实时数据、语音、音频和压缩视频。这个标准还提供了协议的灵活性,可用于以混合模式进行等时数据传送和异步消息传送,用商品设备技术进行一体化,以及提供一种可迅速集成入任何给定主机产品的标准接口。此外,这个USB标准为接电缆和加添连接器提供了单个模型,使得电功能的所有细节,包括总线终接,都与最终用户隔离。通过这个标准,那些外围设备可以自我标识,支持将功能自动映射为一个驱动器。此外,这个标准还使所有外围设备能动态地可接拆和可重新配置。
按照USB标准构成的系统用三个独立的定义范围描述USB互连,USB设备,以及USB主机平台。USB互连是USB设备与主机平台连接和通信的方式。相关的功能和组件包括总线布局(拓朴),这是USB设备与主机平台之间的连接模型。
USB物理互连具有一个迭层星形布局。在每个星的中央是一个集线器。每个线段是一个在主机平台与一个集线器或功能之间或者在主机平台与一个连接到另一个集线器或功能的集线器之间的点对点连接。
就性能叠层(capability stack)来说,在系统内每一层执行的USB任务包括一个数据流模型和一个调度表。数据流模型是在系统内数据通过USB在数据发生端与数据用户之间移动的方式。调度表确定接入共享的互连。这样调度使等时数据传送得到支持,从而省去了仲裁开销。
USB本身是一种轮询总线。主机平台上的主机控制器启动所有数据传送。所有总线事项涉及发送最多三种分组。每个事项在主机控制器按照预定计划的方式发送一个说明事项的类型和方向、USB设备地址和端点号码的USB分组时开始。这种分组称为“令牌分组(tokenpacket)”。这种分组所针对的USB设备通过对相应地址段解码选取各自分组。在一个给定的事项中,数据或者从主机平台传送给一个设备或者从一个设备传送给主机平台。数据传送的方向在令牌分组内规定。事项的发起端然后发送一个数据分组,或者表示发起端没有数据要传送。通常,目的端用一个握手分组响应,表示传送是否成功。
在主机平台上的一个发起端和目的端与一个设备上的一个端点之间的这种USB数据传送模型称为“管道(pipe)”。有两种类型的管道流型和消息型。流型数据没有USB定义的结构,而信息型数据有。另外,管道与数据带宽、传送业务类型和象方向性和缓冲区大小那样的端点特性关联。大多数管道在配置一个USB设备时形成。一个设备一通电就始终存在一个消息型管道,也就是默认的控制管道,以便接入这个设备的配置、状态和控制信息。
USB标准的事项调度允许对一些流型管道进行流量控制。在硬件层,这通过利用NAK握手节制数据率来防止缓存器欠载运行或过载运行的情况。利用NAK握手,一个事项可以在总线时间可得到时再试。流量控制机制允许设计出灵活的调度,适应同时为不同种类混合的一些流型管道服务。因此,可以在不同的区间用容量不同的分组为多个流型管道服务。
如所说明的那样,USB标准有三个主要类型的分组,即令牌分组、数据分组和握手分组。在背景技术的

图1-3中分别示出了各类分组的例子。
背景技术
图4示出了一个典型的USB抽象设备。
令牌分组10,如背景技术图1所示,起重要作用的是一个PID(分组标识)段12,用来规定三个分组类型中的一个,是IN、OUT还是SETUP类型。如果PID段12规定是IN分组类型,这个数据事项就规定为从一个功能端到主机平台。如果PD段12规定是OUT或SETUP分组类型,这个数据事项就规定为从主机平台到一个功能端。
ADDR段14规定地址,而ENDP段16规定令牌分组10的端点。对于OUT和SETUP事项,PID段12规定了这个令牌分组10是OUT分组类型或SETUP分组类型,ADDR段14和ENDP段16唯一地标识了接收在令牌分组10后的后续数据分组(如图2所示)的端点。对于IN事项,PID段12规定了这个令牌分组10是IN分组类型,ADDR段14和ENDP段16唯一地标识了哪个端点要发送数据分组。CRC5段18含有校验和,用来确定令牌分组10已经接收而没有差错。只有主机平台才可以发布令牌分组10,使令牌分组10可以对发送后续数据分组进行控制。

背景技术
图2所示,背景技术的USB数据分组20起重要作用的也是PID(分组标识)段22,用来标识数据分组的类型。数据分组20还有一个随意含有数据的数据段24和一个含有如前面所述的校验和的CRC段26。
背景技术
图3示出了背景技术的USB握手分组28,特点是只有一个PID(分组标识)段30。握手分组28用来报告一个数据事项的状态,可以返回一些表示数据成功接收、命令合格或不合格、流量控制和暂停状况的值。只有支持流量控制的事项类型可以返回握手分组28。握手分组28始终在一个事项的握手阶段返回,而在一个事项的数据阶段可以代替数据分组20返回。
这三种不同类型的分组在包括一个USB设备的事项的各个阶段期间交换。在抽象的背景技术USB设备的图4中示出了一个典型的USB设备32内的功能块的示意方框图。USB设备32通常包括一个以一根电缆和一个连接器为特征的电接口34,它是一个物理接口,用来接收和发送与如前面所述的USB规范兼容的电信号。这些信号然后传送给一个逻辑接口36。逻辑接口36包括一个或者多个缓存器,对信号的源设备的地址进行解码的设备地址解码器,以及一个同步信号的SYNC段同步器。管理作为一个USB设备的USB抽象设备32所需的信息和结构存储在一个USB类控制和列举引擎38内。功能和设备引擎40,也称为"应用",控制和管理USB抽象设备32的特定功能和性质。此外,功能和设备引擎40还使用和产生大多数USB总线上的数据。
然而,USB规范没有规定在USB抽象设备32内不同实体之间的关系。更确切些说,USB规范只描述了对于分组和对于USB抽象设备32与总线之间的电和物理连接的要求。因此在背景技术的图4中示出的这些连接和相互关系只是满足USB规范要求的实现的一个例子。这样,任何具体设备为了满足USB规范必须具有一个具体规定和描述的体系结构。
不幸的是,对于一个含有一个或多个闪存模块的闪存设备并不存在这样的体系结构使这个闪存设备可以连接到一个遵从USB规范的总线上从而形成在一个主机平台上的USB系统的一部分。例如,美国专利No.5,799,168并没有揭示或提议这样实现闪存设备。如前面提到的那样,这种体系结构由于成本低、运用方便和对最终用户透明等等将会特别有用。
因此,有必要和有用的是开发一种规定和描述一种与USB系统兼容和遵从USB规范的闪存设备的体系结构,使得这种闪存设备可以连接在一个USB定义的总线上、通过这个总线与主机平台通信。
附图简要说明图1为背景技术的USB令牌分组结构的示意方框图;图2为背景技术的USB数据分组结构的示意方框图;图3为背景技术的USB握手数据分组结构的示意方框图;图4为典型的背景技术的USB设备的示意方框图;图5为按照本发明实现的有闪存USB设备功能的系统的示意方框图;图6为USB闪存盘的示意方框图;图7为闪存标识请求分组的示意方框图;图8为闪存标识状态分组的示意方框图;图9为闪存写入请求分组的示意方框图;图10为闪存写入状态分组的示意方框图;图11为闪存读取请求分组的示意方框图;图12为闪存读取状态分组的示意方框图;图13为闪存擦除请求分组的示意方框图;以及图14为闪存擦除状态分组的示意方框图。
发明概述本发明提出了一种闪存设备,这种闪存设备含有一个或多个闪存模块,其中闪速存储器映射到一个具有一个USB定义的电气接口和一个USB定义的逻辑接口的ASIC或控制器的地址空间。这个控制器/ASIC(以下称为“控制器”)支持遵从USB标准的USB功能,从而支持在USB总线上进行列举,以及通过USB管道从USB端点接收数据和向USB端点发送数据。控制器还支持闪存设备的功能和控制,以及对来自主机控制器的命令和数据分组的处理。主机控制器利用若干可能协议(无论是标准的还是专有的)之一向USB闪存控制器发送下一个需执行的命令。因此,整个设备对于主机平台来说起着一个动态可接拆的非易失存储设备的作用。
按照本发明,所提供的一种连接到一个USB定义的总线上的USB闪存设备包括(a)至少一个储存数据的闪存模块;(b)一个与USB定义的总线连接的USB连接器,用来将分组发送到USB定义的总线和从USB定义的总线接收分组;以及(c)一个USB控制器,用来按照从USB定义的总线接收的至少一个分组控制所述至少一个闪存模块和控制所述USB连接器,使得数据可以写入所述至少一个闪存模块和从所述至少一个闪存模块读取数据。
在下文中,所谓“计算机”包括(但不局限于)具有一个诸如DOS、WindowsTM、OS/2TM或Linux之类的操作系统的个人计算机(PC);MacintoshTM计算机;具有JAVATM-OS作为操作系统的计算机;以及诸如Sun MicrosystemsTM和Silicon GraphicsTM的计算机及其他具有某个版本的UNIX操作系统(例如Sun MicrosystemsTM的AIXTM或SOLARISTM)的计算机之类的图形工作站;或者任何其他巳知和可得到的操作系统,包括诸如用于嵌入系统(包括蜂窝电话、手持计算设备和掌上计算设备,以及任何其他可以与一个网络连接的其他计算设备)的Windows CETM之类的操作系统。在下文中,所谓“WindowsTM”包括(但不局限于)Windows95TM,Windows 3.xTM(“x”是一个诸如“1”之类的整数),Windows NTTM,Windows98TM,Windows CETM以及这些操作系统的任何由Microsoft公司(Seattle,Washington,USA)升级的版本。
发明详细说明本发明提出了一种闪存设备,这种闪存设备含有一个或多个闪存模块,其中闪速存储器映射到一个具有一个USB定义的电气接口和一个USB定义的逻辑接口的ASIC或控制器的地址空间。这个控制器/ASIC(以下称为“控制器”)支持遵从USB标准的USB功能,从而支持在USB总线上进行列举,以及通过USB管道从USB端点接收数据和向USB端点发送数据。控制器还支持闪存设备的功能和控制,以及对来自主机控制器的命令和数据分组的处理。主机控制器利用若干可能协议(无论是标准的还是专有的)之一向USB闪存控制器发送下一个需执行的命令。因此,整个设备对于主机平台来说起着一个动态可接拆的非易失存储设备的作用。
虽然本发明容许有各种修改而且可以用许多可替代的形式来实现,但下面将以附图所示实施例作为例子详细予以说明。很清楚,原就熟悉该技术的人员可以理解,本发明能够以各种其他方式实现。本发明的专利保护范围涵盖了所有根据本发明的精神作出的各种修改和替换。
按照本发明实现的USB闪存设备和系统的原理和工作情况结合附图及其说明可以得到更好的理解,当然,这些都只是说明性的而不是限制性的。
现在来看这些附图,图5是一个按照本发明实现的闪存设备和系统的主要的组件的示意方框图。如图所示,闪存系统42包括一个主机平台44。主机平台44将USB闪存设备46作为一个非易失性存储空间对它进行操作。
主机平台44通过USB电缆48连接到本发明的USB闪存设备46。主机平台44通过USB主机连接器50与USB电缆48连接,而USB闪存设备46通过USB闪存设备连接器52与USB电缆48连接。主机平台44的起重要作用的功能部件是USB主机控制器54,用来控制和管理所有在USB总线上的USB传送。
USB闪存设备46的起重要作用的功能部件是USB闪存设备控制器56,用来控制USB闪存设备46的其他组件和为USB闪存设备46提供对USB总线、USB闪存设备连接器52和至少一个闪存模块58的接口。闪存模块58最好是一个存储数据的闪存模块阵列58。
每当USB闪存设备46连接到主机平台44上,就发生一个标准的USB列举过程。在这个过程中,主机平台44对USB闪存设备46和与USB闪存设备46通信的模式进行配置。虽然有许多不同的方法来配置USB闪存设备46,但为了清晰(而不是为了限制)起见,在下面结合主机平台44通过一个端点向USB闪存设备46发布命令和请求的情况对本发明进行详细说明。主机平台44通过另一个端点询问USB闪存设备46有关状态改变的情况,以及接收有关的分组,如果有这样的分组要接收的话。
主机平台44通过向USB主机控制器54发送请求分组请求USB闪存设备46服务。USB主机控制器54将这些分组发送到USB电缆48上。这些请求在USB闪存设备46是处在所请求的端点上的设备时由USB闪存设备控制器56接收。于是,USB闪存设备控制器56执行各种操作,例如对闪存模块58进行数据读取、写入或擦除,或者支持诸如设备列举和配置之类的基本的USB功能。USB闪存设备控制器56利用控制闪存模块58供电的控制线60以及通过各种其他诸如芯片启动、读和写信号之类的信号对闪存模块58进行控制。闪存模块58还由地址/数据总线62连接到USB闪存设备控制器56。地址/数据总线62如闪存模块58的生产厂家规定的那样传送对闪存模块58执行读取、写入或擦除的命令,以及这些命令的地址和数据。
为了使USB闪存设备46能向主机平台44报告由主机平台44请求的不同的操作的结果和状态,USB闪存设备46利用“状态端点”发送一些状态分组。按照这个过程,主机平台44对状态分组进行检验(轮询),而USB闪存设备46或者返回一个空分组(如果对于新的状态信息没有分组要给出),或者返回这个状态分组本身。
USB闪存设备46的这些功能组件的更详细的结构示于图6.。USB闪存设备46包括USB标准规定的物理和电气接口,在这里示为USB闪存设备连接器52和连接器接口64。USB闪存设备连接器52从载有来自主机控制器(未示出)的电信号的USB电缆48接收电信号。这些信号通过连接器接口64传送。在USB定义的总线上以每毫秒传送一个USB帧的方式将分组发送给USB闪存设备46。
连接器接口64于是通过一个第一接口组件接收这些分组,这个第一接口组件是一个组合的物理和逻辑接口66。功能接口68特别设计成能接收如在USB规范中所规定和如前面结合图1所说明的令牌分组。这些令牌分组只与USB闪存设备46的遵从USB标准的特定功能方面有关,而与USB闪存设备46按照本发明作为一个闪存盘的具体应用没有任何关系。这些令牌分组和它们各自的返回数据分组使USB主机控制器54(未示出)和主机平台44(未示出)能识别USB闪存设备46和在USB总线上为USB闪存设备46分配资源。因此,功能接口68只支持在USB总线上进行标识和登记USB闪存设备46所需要的USB功能。
USB闪存设备46的另一个起重要作用的功能部件是应用分组提取器70,用来从这些USB应用分组中提取应用数据和命令,因此应用分组提取器70只支持与应用有关的分组。接下来,主机平台44(未示出)以读取、写入、标识和擦除命令形式向USB闪存设备46提出的任何请求由一个应用命令解释器72解释。对于任何涉及数据或地址的任何命令,例如读取、写入和擦除命令,有一个地址解析模块74将地址从逻辑地址空间转换到物理地址空间。主机平台44(未示出)与一个由逻辑地址构成的线性地址空间有关,而USB闪存设备46含有至少一个而最好是多个闪存模块58,每个闪存模块58具有一个物理地址空间。因此,必须在主机平台44(未示出)的逻辑地址空间与物理地址空间或USB闪存设备46的空间之间进行转换。有许多方式实现适合于本发明的这种转换。适合执行地址转换方法的一个例子可参见前面列作本发明参考的美国专利No.5,404,485,其中揭示了一种将闪速存储器作为一个闪存盘进行管理的方法,适合与本发明配合运用。
数据处理器76处理任何接收命令中与数据有关的情况,通过功能接口68传送发给和来自闪存模块58的数据。可以按需选择而且最好是使数据处理器76执行任何纠错和检错方法。应用命令解释器72、数据处理器76和地址解析模块74都在存储技术驱动器(MTD)78配合下进行操作,对一个特定的闪存模块58和在这个闪存模块58上的所要求的地址进行写入、读取或擦除。
主机平台44检查USB闪存设备46内状态改变情况,在一个新的状态可得到时读取来自USB闪存设备46的状态分组。利用这些状态分组,USB闪存设备46可以向主机平台44发送由主机平台44在它的一些请求(未示出)中发布的不同命令的结果。例如,读命令状态分组含有诸如成功、错误或“无效地址”之类的可得到的状态字之一,使主机平台44可以确定读命令(未示出)的结果。类似,擦除状态分组含有一个表明完成擦除过程的状态字。USB闪存设备46利用一个写入状态分组向主机平台44报告有关写入命令的结果,例如这个命令是否成功和USB闪存设备46是否已为来自主机平台44的另一个写入请求作好准备。
存储技术驱动器或者说MTD 78通常含有一些对闪存设备进行读取、写入和擦除的例行程序,这些例行程序受操作MTD 78的控制器控制。此外,MTD 78可按需设有一个识别MTD 78所配合的正确闪存设备类型的标识例行程序,使得控制器能够根据与一个特定的闪存设备阵列交互作用确定应该激活哪个MTD。此外,一个标识例行程序应该能检测闪存设备阵列的容量,包括阵列内的闪存设备数,以及闪存阵列的各种几何特征,诸如交织和总线宽度之类。这信息以后使主机平台44可以确定存储媒体的地址空间和容量。前面列作参考的美国专利No.5,799,168揭示了这种用于闪存设备的MTD的一个例子。
利用以上说明的协议和体系结构,主机平台44可以随意地实现用任何正规的存储器映射或I/O映射的闪存设备可实现的应用。例如,主机平台44为每个应用给出一个标准块设备接口,诸如磁存储介质“硬盘”驱动器之类,如前面说明的美国专利No.5,404,485中所揭示的那样。
作为本发明的一个优选实施例的一个例子,与本发明的USB闪存设备连接的主机系统的工作情况将结合对闪存设备进行标识、编程、读取和擦除这些过程予以说明。为了例示(并不是意味着什么限制),这个示范的USB闪存设备具有一个有两个闪存模块的阵列,每个闪存模块的容量是64Mbit。地址转换表在闪存设备内,因此主机平台用逻辑地址操作。所有命令和返回代码在闪存设备与主机平台之间用USB数据分组承载,通过USB数据管道传送。在USB规范中描述了分组、管道和定时的确切结构。
这个示范的设备和系统按照本发明进行工作的情况如下。在USB闪存设备最初连接到主机平台时,USB主机控制器就在USB总线上为这个USB闪存设备分配一个地址和分配资源,如在USB规范中所描述的那样。实际上是USB闪存设备请求主机平台分配这些资源,因此必须通知主机平台需要多少资源。所以,USB闪存盘能够按需要随意地支持较慢设备速度,如果USB主机平台已经将资源分配给其他设备的话。
USB控制器还与这些闪存模块协商,确定这些模块的容量和产品类型。于是,控制器建立一个把持这信息以及转换表和逻辑地址空间的标识结构。
在USB主机控制器标识了USB闪存设备后,主机平台通常对一个USB客户驱动器进行上载。这个驱动器向USB主机控制器发布一个标识请求命令,使控制器发送一个图7所示的标识数据分组80。标识分组80含有PID段22和校验和段26,如前面对于背景技术的图2所说明的那样。标识分组80还在一个操作码段82含有一个“标示”操作码。USB闪存设备的分组提取器接收到标识数据分组80后,将“标示”命令的操作码传送给应用命令解释器。
于是,闪存设备对这个“标示”命令作出响应,发送一个图8所示的标识数据分组84。除了在图7中示出的这些段,标识数据分组84还在一个闪存设备容量段86含有有关闪存设备的容量的信息,以及在一个擦除单元容量段88含有有关擦除闪存的最小擦除单元的容量的信息。
在这个例子中所说明的所有这些分组都只是在USB总线上发送的数据分组。在每个数据分组发送前,发送一个USB令牌分组,将数据分组应该发送到的设备端点的标志通知USB控制器。成功接收到这个分组后,USB控制器发布一个如在USB规范中所描述的USB ACK分组。
一旦在主机平台内的设备驱动器接收到这个状态分组,这个驱动器就可以开始用应用命令向USB闪存设备发布读取和写入命令。在发送一个写入请求时,一个带有“写入”命令的操作码和缓存器含有的数据的USB数据分组就传送给USB闪存设备。图9示出了一个写入数据分组90,它同样包括前面在图8中示出的那些字段,只是写入数据分组90还包括一个带有“写入”操作码的写入段;一个带有需写入的逻辑地址的ADDR段94;一个带有需写入的长度的LEN段96;以及一个含有要写的实际数据的DATA段98。分组提取器从写入数据分组90提取操作码,传送给应用命令解释器。逻辑地址传送给地址解析模块,由地址解析模块将这个逻辑地址转换成一个在其中一个闪存模块上的物理地址。数据处理器可按需选择成有计算纠错和检错机制,如果USB闪存设备采用的话。一旦所有这些闪存模块都已准备好,就可向MTD块发送一个对含有这个物理地址的一个或几个闪存模块的“写入”命令,物理地址可以按需选择成跨越多于一个闪存模块。于是,MTD块在将闪存模块连接到USB设备控制器的数据/地址总线上发布一个“写入”命令。一旦这个操作完成、一个状态分组返回给MTD,这个操作的结果就发送给主机控制器,传送到主机平台内的设备驱动器。
在闪存控制器完成写入过程时,控制器就通过发送一个如图10所示的“写入状态”分组100向主机平台发出信号,表明USB闪存设备的状态已经改变。代替数据段98,写入状态分组100含有一个状态段102。主机平台读取来自闪存设备的状态分组,从写入状态分组100中主机平台通过读取状态段102检索出有关写入命令完成状态的信息。在这个例子中,闪存设备重复ADDR段94和LEN段96,以便使主机平台可以参考一下与状态分组100有关的具体命令。
如图11所示,一个“读取请求”分组104在一个读取段106内含有“读取”命令的操作码和在一个ADDR段108内含有闪存控制器应该从哪个预定位置读取的逻辑地址。接收到这个命令,闪存控制器在地址解析模块将在ADDR段108内的地址转换成其中一个闪存组件内的一个具体物理地址后,向MTD块发布一个读取命令。
在闪存控制器接收来自闪存设备的数据时,无论是在读取命令发布后还是如果发生错误,闪存控制器都向主机平台发送一个信号,表明必须读取一个新状态分组。主机平台发布一个读取请求,接收一个如图12所示的“读取状态”分组110。读取状态分组110在一个ADDR段108内含有读出数据的地址,在一个LEN段112内含有读出数据的长度,以及在一个数据段114内含有数据本身。读取状态分组110还在一个状态段116内含有起重要作用的状态字,与完成操作的情况相应。完成读取操作可以有许多不同的状态情况,诸如成功、失败、检测到错误、无效地址、无效长度等等。
在主机平台需要擦除在闪存设备内的一个擦除单元时,主机平台发布一个图13所示的“擦除请求”分组118。这个分组在一个擦除段120含有“擦除”操作码和在一个ADDR段122含有擦除单元的逻辑地址。接收到这样一个请求,闪存控制器就将逻辑地址转换成其中一个闪存模块的物理地址空间上的一个物理擦除单元地址,再向MTD块发布一个擦除命令。
擦除过程通常要比读取或写入过程需要多一些的时间。在擦除过程完成时,控制器向主机平台报告一个新状态分组已准备发送。然后,控制器发送一个如图14所示的“擦除状态”分组124。擦除状态分组124在一个ADDR段122含有擦除单元的地址,从而为主机平台提供一个对擦除请求的参考。与操作完成情况相应的状态在一个状态段126内提供。
可以理解,,以上说明只是用来作为例子,而在本发明的精神和范围内许多其他实现方式都是可行的。
权利要求
1.一种USB闪存系统,所述闪存系统包括(a)闪存设备,所述闪存设备包括(i)至少一个用于存储数据的闪存模块;(ii)包括根据USB标准的电气接口和逻辑接口的闪存设备控制器,该闪存设备控制器适用于根据至少一个从主机接收到的分组来控制所述至少一个闪存模块,使得数据被写入所述至少一个闪存模块以及从中读出;以及(b)蜂窝电话主机平台,所述蜂窝电话主机平台包括(i)USB主机控制器,其适用于使用USB协议控制所述闪存设备。
2.如权利要求1所述的系统,其中所述至少一个闪存模块包括至少16MB。
3.如权利要求1所述的系统,其中所述闪存设备控制器包括单个ASIC。
4.如权利要求1所述的系统,其中所述闪存设备控制器作为标准块设备与所述USB主机控制器进行通信。
5.如权利要求1所述的系统,其中所述USB主机控制器使用封装在USB数据分组中的写分组与所述闪存设备控制器进行通信。
6.如权利要求1所述的系统,其中所述闪存设备控制器作为闪存盘与所述USB主机控制器进行通信。
7.如权利要求1所述的系统,其中所述主机平台具有WindowsCE操作系统。
8.如权利要求1所述的系统,其中所述闪存设备控制器实施闪存软件管理系统。
9.如权利要求1所述的系统,其中所述主机适用于使用几种可能的协议之一用于与所述闪存设备进行通信。
10.如权利要求1所述的系统,其中所述闪存设备可连接到所述蜂窝电话主机。
11.如权利要求1所述的系统,其中所述闪存设备适用于将标识数据传输到所述主机控制器。
12.如权利要求11所述的系统,其中所述主机基于所述标识数据访问所述闪存设备。
13.如权利要求1所述的系统,其中所述闪存上存储有话音数据。
14.如权利要求1所述的系统,其中所述闪存上存储有压缩视频。
15.如权利要求1所述的系统,其中所述闪存上存储有音频数据。
16.如权利要求1所述的系统,其中所述闪存控制器对所述主机的逻辑地址空间中的地址和所述闪存设备的物理地址空间中的地址进行相互翻译。
17.一种蜂窝电话系统,包括蜂窝电话和闪存盘,该蜂窝电话和闪存盘适用于使用USB协议进行通信。
18.一种蜂窝电话系统,包括蜂窝电话和闪存盘,该蜂窝电话和闪存盘适用于使用多种可能的协议进行通信。
19.如权利要求18所述的系统,其中所述协议的至少一个包括USB协议。
20.如权利要求18所述的系统,其中所述协议的至少一个包括基于分组的协议。
21.如权利要求18所述的系统,其中所述协议的至少一个包括块设备协议。
22.一种使用闪存设备的方法,该方法包括向闪存设备提供外部数据连接器和闪存;将所述设备连接到蜂窝电话;以及使用USB协议,从所述蜂窝电话访问所述闪存。
23.如权利要求22所述的方法,其中所述设备是整体的可安装/可拆卸设备。
24.一种使用闪存设备的方法,该方法包括向闪存设备提供外部连接器;将所述设备连接到蜂窝电话主机系统的USB总线;以及从所述蜂窝电话通过所述USB总线将所述闪存设备作为硬盘进行访问。
25.如权利要求24所述的方法,其中所述闪存设备是整体的可移动闪存设备。
26.一种USB闪存系统,该系统的特征在于USB定义的总线,该系统包括(a)闪存设备,该闪存设备包括(i)至少一个用于存储数据的闪存模块;(ii)闪存设备连接器,用于连接到USB定义的总线,并且用于向该USB定义的总线发送分组,以及用于从该USB定义的总线接收分组;以及(iii)USB闪存设备控制器,其用于根据从USB定义的总线接收的至少一个分组来控制所述至少一个闪存模块以及控制所述连接器,使得数据写入所述至少一个闪存模块以及从中读出;以及(b)用于与所述闪存设备通信的蜂窝电话主机平台,所述蜂窝电话主机平台包括(i)USB主机控制器,其用于控制所述主机平台;以及(ii)主机连接器,用于连接到USB定义的总线。
27.一种系统,该系统包括(i)用于连接到USB定义的总线的USB闪存设备,该闪存设备被设置为带有单个外部连接器的单个整体单元,该闪存设备包括(a)至少一个闪存模块;(b)仅仅单个外部连接器,该连接器是适用于连接到USB定义的总线的USB连接器;(c)USB控制器,其通过提供块设备接口经由所述USB连接器与主机连接,并且向所述至少一个闪存模块进行读和写中的至少一种操作,其中所述控制器包括命令解释器,该命令解释器将作为应用程序分组而通过所述USB连接器被接收的读和写块命令解释为用于所述至少一个闪存模块的动作;以及其中所述闪存设备包括USB闪存盘;以及(ii)充当用于所述USB闪存设备的主机的蜂窝电话。
全文摘要
本发明提出的以与USB规范可兼容的方式实现的存储设备(46)由一个闪存阵列(58)和一个通用串行总线(USB)控制器(56)构成。这种设备(46)包括一些储存模块(58),这些储存模块可以接受来自一个主机(44)的写入命令和读取命令,都是可擦和非易失的,称为闪存模块(58)。USB/闪存控制器(56)配置成可以提供USB功能和兼容对这种闪存模块(58)执行诸如编程、读取和擦除之类的通常闪存操作。
文档编号G06F13/36GK1937073SQ20061011492
公开日2007年3月28日 申请日期2000年3月20日 优先权日1999年4月5日
发明者阿米尔·班, 道夫·莫兰, 奥龙·奥格丹 申请人:M-系统快闪盘开拓者公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1