首页 / 专利库 / 电脑零配件 / 外围设备 / USB闪存盘 / 基于通用串行总线的PC闪存盘的体系结构

基于通用串行总线的PC闪存盘的体系结构

阅读:374发布:2020-09-19

专利汇可以提供基于通用串行总线的PC闪存盘的体系结构专利检索,专利查询,专利分析的服务。并且本 发明 提出的以与USB规范可兼容的方式实现的存储设备(46)由一个闪存阵列(58)和一个通用 串行总线 (USB) 控制器 (56)构成。这种设备(46)包括一些储存模 块 (58),这些储存模块可以接受来自一个主机(44)的写入命令和读取命令,都是可擦和非易失的,称为闪存模块(58)。USB/闪存控制器(56)配置成可以提供USB功能和兼容对这种闪存模块(58)执行诸如编程、读取和擦除之类的通常闪存操作。,下面是基于通用串行总线的PC闪存盘的体系结构专利的具体信息内容。

1.一种用于连接到USB定义总线的USB闪存设备,所述闪存设备 包括:
(a)至少一个闪存器模
(b)仅一个外部连接器,该连接器是适于连接到USB定义总线的 USB连接器;以及
(c)USB控制器,该USB控制器通过提供块设备接口而在所述USB 连接器上与主机连接,并且该USB控制器至少读或写所述至少一个闪存 器模块,
其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作,所述至少一个闪存器模块、USB连接器和USB控制器形成 单个集成单元。
2.如权利要求1所述的USB闪存设备,其中,所述控制器读和写所 述至少一个闪存器模块。
3.如权利要求1所述的USB闪存设备,其中,所述USB控制器提 供与所述主机的标准块设备接口,以访问所述至少一个闪存器模块。
4.如权利要求1所述的USB闪存设备,其中,所述USB控制器提 供与所述主机的硬盘接口,以访问所述至少一个闪存器模块。
5.如权利要求1所述的USB闪存设备,其中,所述设备用于支持与 所述主机的连接,其中,在超出所述主机操作系统的标准之外,用户不 再需要安装所述设备的驱动程序。
6.如权利要求5所述的USB闪存设备,其中,所述主机运行Windows 操作系统。
7.如权利要求5所述的USB闪存设备,其中,所述设备使用所述主 机上的标准硬盘驱动器
8.如权利要求1所述的USB闪存设备,其中,单个所述应用分组包 括整个读命令及其参数。
9.如权利要求1所述的USB闪存设备,其中,单个所述应用分组包 括写命令及其参数。
10.如权利要求9所述的USB闪存设备,其中,所述应用分组包括 将被所述写命令写的数据。
11.如权利要求9所述的USB闪存设备,其中,所述块设备接口在 发送命令参数之前先发送命令。
12.如权利要求1所述的USB闪存设备,其中,所述设备作为用于 所述主机的可动态连接/拆卸的非易失性存储设备。
13.如权利要求1所述的USB闪存设备,其中,所述USB控制器 以与所述闪存器分离的单个集成电路来实现,所述USB控制器通过所 述USB连接器与主机通信,并提供与所述主机的接口,以访问所述至 少一个闪存器模块。
14.如权利要求13所述的USB闪存设备,其中,所述单个集成电路 包括ASIC。
15.如权利要求1所述的USB闪存设备,其中,所述控制器包括:
(i)USB定义的电气接口;
(ii)USB定义的逻辑接口;
(iii)适于从写数据分组提取操作码的分组提取器;
(iv)适于在所述至少一个闪存器模块中的一个或多个上将来自写分 组的逻辑地址翻译成物理地址的地址解析器。
16.如权利要求1所述的USB闪存设备,其中,所述设备在所述主 机和所述至少一个闪存器模块之间提供逻辑-物理地址翻译。
17.如权利要求1所述的USB闪存设备,其中,所述USB控制器 在提取要从所述分组写的数据之后解释写命令。
18.如权利要求1所述的USB闪存设备,其中,所述至少一个闪存 器模块、USB连接器和USB控制器形成所述USB闪存设备的整体。
19.如权利要求1所述的USB闪存设备,其中,所述USB总线连 接到主机,并且其中,所述主机使用专用协议向所述USB控制器提供 命令。
20.如权利要求1所述的USB闪存设备,其中,所述USB总线连 接到主机,并且其中,所述主机使用标准协议向所述USB控制器提供 命令。
21.如权利要求1所述的USB闪存设备,包括互连所述USB控制 器和所述至少一个闪存器模块的地址/数据总线
22.如权利要求1所述的USB闪存设备,其中,所述USB控制器 与所述至少一个闪存器模块协商以确定其尺寸,并使用所述确定的尺 寸来产生翻译表和地址空间中的至少一个。
23.如权利要求1所述的USB闪存设备,其中,所述USB控制器 与所述至少一个闪存器模块协商以确定其制造类型,并使用所述确定 的制造类型来产生翻译表和地址空间中的至少一个。
24.如权利要求1所述的USB闪存设备,其中,所述USB控制器 与所述至少一个闪存器模块协商以确定其尺寸和制造类型,并使用所 述确定的尺寸和制造类型来产生翻译表和地址空间中的至少一个。
25.如权利要求1所述的USB闪存设备,其中,所述USB控制器 与所述至少一个闪存器模块协商以确定闪存器模块的几何形状的至少 一个特征。
26.如权利要求25所述的USB闪存设备,其中,所述至少一个特 征包括尺寸。
27.如权利要求25所述的USB闪存设备,其中,所述至少一个特 征包括总线宽度。
28.如权利要求25所述的USB闪存设备,其中,所述至少一个特 征包括交织。
29.如权利要求1所述的USB闪存设备,其中,所述控制器包括多 个用于连接到多个闪存器模块的芯片启动信号线。
30.如权利要求1所述的USB闪存设备,其中,所述控制器适于与 多个不同类型的闪存器模块工作。
31.如权利要求1所述的USB闪存设备,其中,所述控制器使用至 少两个USB末端来与主机系统通信。
32.如权利要求1所述的USB闪存设备,其中,所述USB连接器 通过组合的物理/逻辑接口连接到所述控制器。
33.如权利要求1所述的USB闪存设备,其中,所述USB连接器 直接连接到所述控制器。
34.如权利要求1所述的USB闪存设备,其中,所述至少一个闪存 器模块包括两个或更多个闪存器模块。
35.如权利要求1所述的USB闪存设备,其中,所述闪存器模块至 少包括64Mbit。
36.如权利要求1所述的USB闪存设备,其中,所述闪存器模块被 组织为多个块,每个块包括多个可单独寻址的扇区,所述扇区每一个 都与文件系统扇区相对应,并且其中,所述存储器只允许以所述块为 单位进行删除。
37.如权利要求1所述的USB闪存设备,其中,所述设备使用软件 管理系统,以把所述闪存器作为闪存盘来管理。
38.如权利要求1所述的USB闪存设备,其中,所述闪存设备包括 USB闪存盘
39.如权利要求1所述的USB闪存设备,其中,所述闪存器模块包 含在所述设备内。
40.如权利要求1所述的USB闪存设备,其中,所述USB控制器 包括:
(i)支持USB协议的USB接口;和
(ii)功能性分离的闪存器接口,所述闪存器接口至少读或写所述至 少一个闪存器模块。
41.一种用于连接到USB定义总线的USB闪存设备,所述闪存设 备包括:
(a)至少一个闪存器模块;
(b)适于与USB定义总线连接的USB连接器;以及
(c)USB控制器,该USB控制器通过所述USB连接器与主机连接, 并且读和写所述至少一个闪存器模块,该USB控制器包括:
(i)支持USB协议的USB接口;和
(ii)功能性分离的闪存器接口,所述闪存器接口把在所述USB 连接器上作为应用分组接收的命令解释成所述至少一个闪存器模 块的操作,
所述至少一个闪存器模块、USB连接器和USB控制器形成具有单个 外部连接器的单个集成单元。
42.如权利要求41所述的USB闪存设备,其中,所述USB控制器 把在所述USB连接器上作为应用分组接收的命令解释成所述至少一 个闪存器模块的操作。
43.如权利要求41所述的USB闪存设备,其中,所述设备包括两 个或更多个闪存器模块。
44.一种用于连接到USB定义总线的USB闪存设备,所述闪存设 备包括:
(a)至少一个闪存器模块;
(b)适于与USB定义总线连接的USB连接器,该连接器适于通 过USB定义总线发送和接收分组;以及
(c)用于控制所述至少一个闪存器模块并用于在所述USB连接器 上通信的USB控制器,该USB控制器包括:
(i)适于接收分组的功能接口,从而,如果所述分组是USB 功能分组,所述功能接口对所述分组起作用;
(ii)在所述功能接口之后串联连接并适于接收应用分组的应用 分组提取器,所述应用分组提取器从所述分组中提取至少一个命令;
以及
(iii)适于接收所述命令并执行所述命令的应用命令解释器, 使得在闪存器模块中写入和读取数据,
其中,所述设备可动态地连接到所述USB定义总线/可动态地从所 述USB定义总线拆卸,所述至少一个闪存器模块、USB连接器和USB 控制器形成具有单个外部连接器的单个集成单元。
45.一种用于连接到USB定义总线的USB闪存设备,所述闪存设 备包括:
(a)用于储存数据的闪存器器件;
(b)用于连接到USB定义总线的器件;
(c)用于向所述连接器件提供USB接口功能性的器件;
(d)用于从通过所述连接器件接收的分组提取闪存器命令的器件;
(e)用于解释所述命令的器件;和
(f)为响应所述命令而控制所述闪存器器件的器件,
闪存器器件、用于连接的器件、用于提供的器件、用于提取的器件、 用于解释的器件和用于控制的器件形成具有单个外部连接器的单个集成 单元。
46.一种集成存储单元,包括:
(a)适于存储数据并包含在所述存储单元中的至少一个闪存器模 块;
(b)适于连接到USB定义总线的USB连接器;
(c)USB控制器,该USB控制器通过所述连接器与主机通信,并 且提供与所述主机的读/写硬盘块设备接口,以访问所述至少一个闪存器 模块,
其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作,以及
其中,所述存储单元可与所述USB定义总线动态地连接/拆卸。
47.一种用于连接到USB定义总线的USB闪存单元,所述闪存单 元包括:
(a)适于储存数据并包含在所述闪存单元中的至少一个闪存器模 块;
(b)适于连接到USB定义总线的USB连接器;
(c)USB控制器,该USB控制器通过所述连接器与主机通信,并 且提供与所述主机的读/写硬盘块设备接口,以访问所述至少一个闪存器 模块,
其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作,以及
其中,所述闪存单元使用在超出所述主机操作系统的标准之外用户 不再需要安装所述设备的驱动程序的连接,可从所述USB定义总线动 态地连接/拆卸,所述至少一个闪存器模块、USB连接器和USB控制器 形成具有单个外部连接器的单个集成单元。
48.一种用于连接到USB定义总线的USB闪存设备,所述闪存设 备包括:
(a)储存数据的至少一个闪存器模块;
(b)适于连接到USB定义总线的USB连接器;以及
(c)USB控制器,该USB控制器通过所述USB连接器与主机连接, 并且读和写所述至少一个闪存器模块,
其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作,以及
其中,所述USB控制器与所述至少一个闪存器模块协商以确定其 类型,并使用所述确定的类型来确定用于所述闪存器的存储技术驱动 器。
49.如权利要求48所述的USB闪存设备,其中,所述控制器在所 述协商之后通知主机已经准备好。
50.一种用于连接到USB定义总线的USB闪存设备,所述闪存设 备包括:
(a)用于储存数据的至少一个闪存器模块;
(b)适于连接到USB定义总线的USB连接器;和
(c)USB控制器,该USB控制器通过所述USB连接器与主机连 接,并且读和写所述至少一个闪存器模块,
其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作,以及
其中,所述USB控制器与所述至少一个闪存器模块协商来确定其 尺寸和类型中的至少一个。
51.如权利要求50所述的USB闪存设备,其中,所述确定的尺寸 和类型用于产生翻译表和地址空间。
52.如权利要求51所述的USB闪存设备,其中,所述USB控制器 产生所述翻译表和所述地址空间。
53.一种用于连接到USB定义总线的USB闪存单元,所述闪存单 元包括:
(a)适于储存数据并包含在所述闪存单元中的至少一个闪存器模 块;
(b)适于连接到USB定义总线的USB连接器;
(c)USB控制器,该USB控制器通过所述连接器与主机通信,并 且提供与所述主机的读/写硬盘块设备接口,以访问所述至少一个闪存器 模块,
其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作;以及
其中,所述闪存单元使用在超出所述主机操作系统的标准之外用户 不再需要安装所述设备的驱动程序的连接,可从所述USB定义总线动 态地连接/拆卸。
54.如权利要求53所述的USB闪存单元,其中,所述至少一个闪存 器模块、USB连接器和USB控制器形成具有单个外部连接器的单个集成 单元。
55.一种用于连接到USB定义总线的USB闪存系统,包括:
(a)至少一个闪存器模块;
(b)适于连接到USB定义总线的USB连接器;和
(c)USB控制器,所述USB控制器以与所述闪存器分离的单个 集成电路来提供,所述USB控制器通过提供块设备接口而在所述USB 连接器上与主机连接,并且至少读或写所述至少一个闪存器模块;以 及
其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作。
56.如权利要求55所述的USB闪存系统,其中,所述闪存系统用 于仿真主机的硬盘,所述主机与所述闪存系统连接并执行Windows操 作系统。
57.一种用于连接到USB定义总线的USB闪存设备,该闪存设备 以单个集成单元提供,所述设备包括:
(a)至少一个闪存器模块;
(b)适于连接到USB定义总线的USB连接器;
(c)USB控制器,所述USB控制器通过提供块设备接口在所述 USB连接器上与主机连接,并且至少读或写所述至少一个闪存器模块; 以及
(d)壳体,所述壳体封装所述至少一个闪存器模块和所述USB 控制器,在所述壳体上安装所述USB连接器,
其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作。
58.一种用于连接到USB定义总线的USB闪存设备,包括:
(a)至少一个闪存器模块;
(b)适于连接到USB定义总线的USB连接器;
(c)USB控制器,所述USB控制器通过提供块设备接口在所述 USB连接器上与主机连接,并且至少读或写所述至少一个闪存器模块; 以及
(d)壳体,所述壳体封装所述至少一个闪存器模块和所述USB 控制器,在所述壳体上安装所述USB连接器,
其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作,
所述至少一个闪存器模块、USB连接器、USB控制器和壳体形成具 有单个外部连接器的单个集成单元。
59.一种使用闪存设备的方法,包括:
提供仅一个外部计算机数据连接器的单一闪存设备,所述连接器是 USB连接器;
把所述设备连接到主机系统上的USB端口;以及
通过所述USB端口,所述主机使用块设备接口把所述闪存器作为硬 盘而进行访问。
60.如权利要求59所述的方法,其中,所述外部连接器包括集成连 接器。
61.如权利要求59所述的方法,其中,所述USB连接器、通过所述 USB连接器与主机接口的控制器、以及所述闪存器形成闪存设备的整体。
62.如权利要求59所述的方法,其中,所述设备包括提供USB功能 性和闪存器功能性的单个控制器。
63.如权利要求59所述的方法,其中,所述设备至少包括两倍64Mbit 的闪存器存储容量。
64.如权利要求59所述的方法,包括在所述设备上执行从硬盘地址 空间到闪存地址空间的地址翻译。
65.如权利要求59所述的方法,其中,所述连接和所述访问包括使 用在超出所述主机操作系统的标准之外用户不再需要安装所述设备的 驱动程序的连接进行连接和访问。
66.一种使用闪存设备的方法,包括:
提供仅有一个IC控制器和仅一个外部USB连接器的单一闪存设备;
把所述设备连接到主机系统上的USB端口;以及
通过所述USB端口,所述主机使用块设备接口把所述闪存作为硬盘 而进行访问。
67.一种在USB连接上使用闪存存储器的方法,包括:
提供闪存存储模块作为单一设备;
把所述模块连接到主机上的仅一个外部USB连接器;以及
访问储存在所述模块上的至少64Mbit数据,
其中,所述连接包括使用在超出所述主机操作系统的标准之外用户 不再需要安装所述设备的驱动程序的连接进行连接。
68.如权利要求67所述的方法,其中,所述闪存器模块由单一闪存 存储设备组成。
69.如权利要求67所述的方法,其中,所述闪存器模块被作为闪存 盘进行访问。
70.如权利要求67所述的方法,其中,所述操作系统是Windows 操作系统。
71.一种使用闪存设备的方法,包括:
提供单一闪存设备;
把所述设备连接到主机系统上的仅一个外部USB端口;以及
通过所述USB端口,所述主机使用块设备接口把所述闪存作为硬盘 而进行访问。
72.一种用于连接到USB定义总线的USB闪存设备,所述USB 闪存设备包括:
用于储存数据的至少一个闪存器模块;
用于连接到USB定义总线并用于在USB定义总线上发送分组和 接收分组的USB连接器;以及
USB控制器,所述USB控制器用于连接所述至少一个闪存器模 块,并根据从USB定义总线接收的至少一个分组而控制所述USB连 接器,从而,在所述至少一个闪存器模块中读和写数据。

说明书全文

技术领域

发明半导体存储设备有关,具体地说与利用USB PC总线连接 到主机平台的可擦和可编程的非易失存储模有关。

背景技术

可擦和可编程的非易失存储模块,以下简称为闪速存储器(flash memory)或闪存设备(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分组时开始。这种分组称为“令牌分组(token packet)”。这种分组所针对的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定义的总线上、通过这个总线与主机平台通信。

发明内容

根据本发明第一方面,提供一种用于连接到USB定义总线的USB闪 存设备,所述闪存设备包括:(a)至少一个闪存器模块;(b)仅一个外 部连接器,该连接器是适于连接到USB定义总线的USB连接器;以及(c) USB控制器,该USB控制器通过提供块设备接口而在所述USB连接器上与 主机连接,并且该USB控制器至少读或写所述至少一个闪存器模块,其 中,所述控制器包括命令解释器,所述命令解释器把在所述USB连接器 上作为应用分组接收的读和写块命令解释成所述至少一个闪存器模块的 操作,所述至少一个闪存器模块、USB连接器和USB控制器形成单个集 成单元。
根据本发明第二方面,提供一种用于连接到USB定义总线的USB闪 存设备,所述闪存设备包括:(a)至少一个闪存器模块;(b)适于与 USB定义总线连接的USB连接器;以及(c)USB控制器,该USB控制器 通过所述USB连接器与主机连接,并且读和写所述至少一个闪存器模块, 该USB控制器包括:(i)支持USB协议的USB接口;和(ii)功能性分离 的闪存器接口,所述闪存器接口把在所述USB连接器上作为应用分组接 收的命令解释成所述至少一个闪存器模块的操作,所述至少一个闪存器 模块、USB连接器和USB控制器形成具有单个外部连接器的单个集成单 元。
根据本发明第三方面,提供一种用于连接到USB定义总线的USB闪 存设备,所述闪存设备包括:(a)至少一个闪存器模块;(b)适于与 USB定义总线连接的USB连接器,该连接器适于通过USB定义总线发送和 接收分组;以及(c)用于控制所述至少一个闪存器模块并用于在所述USB 连接器上通信的USB控制器,该USB控制器包括:(i)适于接收分组的功 能接口,从而,如果所述分组是USB功能分组,所述功能接口对所述分 组起作用;(ii)在所述功能接口之后串联连接并适于接收应用分组的应 用分组提取器,所述应用分组提取器从所述分组中提取至少一个命令; 以及(iii)适于接收所述命令并执行所述命令的应用命令解释器,使得在 闪存器模块中写入和读取数据,其中,所述设备可动态地连接到所述USB 定义总线/可动态地从所述USB定义总线拆卸,所述至少一个闪存器模 块、USB连接器和USB控制器形成具有单个外部连接器的单个集成单元。
根据本发明第四方面,提供一种用于连接到USB定义总线的USB闪 存设备,所述闪存设备包括:(a)用于储存数据的闪存器器件;(b) 用于连接到USB定义总线的器件;以及(c)用于向所述连接器件提供USB 接口功能性的器件;(d)用于从通过所述连接器件接收的分组提取闪存 器命令的器件;(e)用于解释所述命令的器件;和(f)为响应所述命令 而控制所述闪存器器件的器件,闪存器器件、用于连接的器件、用于提 供的器件、用于提取的器件、用于解释的器件和用于控制的器件形成具 有单个外部连接器的单个集成单元。
根据本发明第五方面,提供一种集成存储单元,包括:(a)适于存 储数据并包含在所述存储单元中的至少一个闪存器模块;(b)适于连接 到USB定义总线的USB连接器;(c)USB控制器,该USB控制器通过所述 连接器与主机通信,并且提供与所述主机的读/写硬盘块设备接口,以访 问所述至少一个闪存器模块,其中,所述控制器包括命令解释器,所述 命令解释器把在所述USB连接器上作为应用分组接收的读和写块命令解 释成所述至少一个闪存器模块的操作,以及其中,所述存储单元可与所 述USB定义总线动态地连接/拆卸。
根据本发明第六方面,提供一种用于连接到USB定义总线的USB闪 存单元,所述闪存单元包括:(a)适于储存数据并包含在所述闪存单 元中的至少一个闪存器模块;(b)适于连接到USB定义总线的USB连接 器;(c)USB控制器,该USB控制器通过所述连接器与主机通信,并且提 供与所述主机的读/写硬盘块设备接口,以访问所述至少一个闪存器模 块,其中,所述控制器包括命令解释器,所述命令解释器把在所述USB 连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪存器 模块的操作,以及其中,所述闪存单元使用在超出所述主机操作系统的 标准之外用户不再需要安装所述设备的驱动程序的连接,可从所述USB 定义总线动态地连接/拆卸,所述至少一个闪存器模块、USB连接器和USB 控制器形成具有单个外部连接器的单个集成单元。
根据本发明第七方面,提供一种用于连接到USB定义总线的USB闪 存设备,所述闪存设备包括:(a)储存数据的至少一个闪存器模块;(b) 适于连接到USB定义总线的USB连接器;以及(c)USB控制器,该USB 控制器通过所述USB连接器与主机连接,并且读和写所述至少一个闪存 器模块,其中,所述控制器包括命令解释器,所述命令解释器把在所述 USB连接器上作为应用分组接收的读和写块命令解释成所述至少一个闪 存器模块的操作,以及其中,所述USB控制器与所述至少一个闪存器模 块协商以确定其类型,并使用所述确定的类型来确定用于所述闪存器 的存储技术驱动器。
根据本发明第八方面,提供一种用于连接到USB定义总线的USB闪 存设备,所述闪存设备包括:(a)用于储存数据的至少一个闪存器模 块;(b)适于连接到USB定义总线的USB连接器;和(c)USB控制 器,该USB控制器通过所述USB连接器与主机连接,并且读和写所述 至少一个闪存器模块,其中,所述控制器包括命令解释器,所述命令解 释器把在所述USB连接器上作为应用分组接收的读和写块命令解释成所 述至少一个闪存器模块的操作,以及其中,所述USB控制器与所述至少 一个闪存器模块协商来确定其尺寸和类型中的至少一个。
根据本发明第九方面,提供一种用于连接到USB定义总线的USB闪 存单元,所述闪存单元包括:(a)适于储存数据并包含在所述单元中 的至少一个闪存器模块;(b)适于连接到USB定义总线的USB连接器;(c) USB控制器,该USB控制器通过所述连接器与主机通信,并且提供与所 述主机的读/写硬盘块设备接口,以访问所述至少一个闪存器模块,其中, 所述控制器包括命令解释器,所述命令解释器把在所述USB连接器上作 为应用分组接收的读和写块命令解释成所述至少一个闪存器模块的操 作,以及其中,所述闪存单元使用在超出所述主机操作系统的标准之外 用户不再需要安装所述设备的驱动程序的连接,可从所述USB定义总线 动态地连接/拆卸。
根据本发明第十方面,提供一种用于连接到USB定义总线的USB闪 存系统,包括:(a)至少一个闪存器模块;(b)适于连接到USB定 义总线的USB连接器;和(c)USB控制器,所述USB控制器以与所述 闪存器分离的单个集成电路来提供,所述USB控制器通过提供块设备 接口而在所述USB连接器上与主机连接,并且至少读或写所述至少一 个闪存器模块;以及其中,所述控制器包括命令解释器,所述命令解释 器把在所述USB连接器上作为应用分组接收的读和写块命令解释成所述 至少一个闪存器模块的操作。
根据本发明第十一方面,提供一种用于连接到USB定义总线的USB 闪存设备,该闪存设备以单个集成单元提供,所述设备包括:(a)至 少一个闪存器模块;(b)适于连接到USB定义总线的USB连接器;和 (c)USB控制器,所述USB控制器通过提供块设备接口在所述USB连 接器上与主机连接,并且至少读或写所述至少一个闪存器模块;以及 (d)壳体,所述壳体封装所述至少一个闪存器模块和所述USB控制器, 在所述壳体上安装所述USB连接器,其中,所述控制器包括命令解释器, 所述命令解释器把在所述USB连接器上作为应用分组接收的读和写块命 令解释成所述至少一个闪存器模块的操作。
根据本发明第十二方面,提供一种用于连接到USB定义总线的USB 闪存设备,包括:(a)至少一个闪存器模块;(b)适于连接到USB 定义总线的USB连接器;和(c)USB控制器,所述USB控制器通过提 供块设备接口在所述USB连接器上与主机连接,并且至少读或写所述 至少一个闪存器模块;以及(d)壳体,所述壳体封装所述至少一个闪 存器模块和所述USB控制器,在所述壳体上安装所述USB连接器,其 中,所述控制器包括命令解释器,所述命令解释器把在所述USB连接器 上作为应用分组接收的读和写块命令解释成所述至少一个闪存器模块的 操作,所述至少一个闪存器模块、USB连接器、USB控制器和壳体形成 具有单个外部连接器的单个集成单元。
根据本发明第十三方面,提供一种使用闪存设备的方法,包括:提 供仅一个外部计算机数据连接器的单一闪存设备,所述连接器是USB连 接器;把所述设备连接到主机系统上的USB端口;以及通过所述USB端 口,所述主机使用块设备接口把所述闪存器作为硬盘而进行访问。
根据本发明第十四方面,提供一种使用闪存设备的方法,包括:提 供仅有一个IC控制器和仅一个外部USB连接器的单一闪存设备;把所述 设备连接到主机系统上的USB端口;以及通过所述USB端口,所述主机 使用块设备接口把所述闪存作为硬盘而进行访问。
根据本发明第十五方面,提供一种在USB连接上使用闪存存储器的 方法,包括:提供闪存存储模块作为单一设备;把所述模块连接到主 机上的仅一个外部USB连接器;以及访问储存在所述模块上的至少 64Mbit数据,其中,所述连接包括使用在超出所述主机操作系统的标准 之外用户不再需要安装所述设备的驱动程序的连接进行连接。
根据本发明第十六方面,提供一种使用闪存设备的方法,包括:提 供单一闪存设备;把所述设备连接到主机系统上的仅一个外部USB端 口;以及通过所述USB端口,所述主机使用块设备接口把所述闪存作为 硬盘而进行访问。
根据本发明第十七方面,提供一种用于连接到USB定义总线的USB 闪存设备,所述USB闪存设备包括:用于储存数据的至少一个闪存器 模块;用于连接到USB定义总线并用于在USB定义总线上发送分组和 接收分组的USB连接器;以及USB控制器,所述USB控制器用于连接 所述至少一个闪存器模块,并根据从USB定义总线接收的至少一个分 组而控制所述USB连接器,从而,在所述至少一个闪存器模块中读和 写数据。
本发明提出了一种闪存设备,这种闪存设备含有一个或多个闪存 模块,其中闪速存储器映射到一个具有一个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)升级的版本。
附图说明
图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闪存设备和系统的原理和工作情况结合附 图及其说明可以得到更好的理解,当然,这些都只是说明性的而不是 限制性的。
现在来看这些附图,图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内提 供。
可以理解,以上说明只是用来作为例子,而在本发明的精神和范 围内许多其他实现方式都是可行的。
本发明是2000年12月5日申请的申请号为00800509.5、发明名称为 “基于通用串行总线的PC闪存盘的体系结构”的发明专利申请的分案 申请。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈