一种将计算机外部设备接入计算机系统的方法和装置的制作方法

文档序号:6577993阅读:289来源:国知局
专利名称:一种将计算机外部设备接入计算机系统的方法和装置的制作方法
技术领域
本发明涉及计算机领域,尤其涉及一种将计算机外部设备接入计算机系 统的方法和装置。
背景技术
如图1所示,为现有技术计算机外部设备接入计算机系统架构示意图,
计算机系统一般由CPU 105、内存106、系统总线104、北桥103和南桥102 组成,计算机外部设备101通过南桥102接入该计算机系统。北桥103连接 着系统总线104,主要负责CPU 105与内存106之间的数据交互,并控制AGP (Accelerated Graphics Port,加速图形端口) 、 PCI (Peripheral Component Interconnect,外设组件互连标准)数据在其内部的传输。南桥102负责I/O总 线之间的通信。相对于北桥103来说,南桥102负责挂接或管理的设备一般 是慢速设备,数据处理量偏小;例如PCI总线、USB (Universal Serial BUS, 通用串行总线)总线、ATA (Advanced Technology Attachment,高级技术配 件)、SATA (Serial Advanced Technology Attachment,串行高级技术附件, 一种基于行业标准的串行硬件驱动器接口)、音频控制单元、键盘控制单元 等。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题图1
的现有架构中,计算机外部设备101 (如硬盘等)挂接在南桥102上,南桥 102再通过北桥103与CPU 105、内存106进行数据交互。随着计算机技术的 发展,计算机外部设备101 (特别是固态硬盘等)快速发展,已经发展成为计 算机高速外部设备,其数据传输速率与容量已有巨大的提升。由于南桥102本身面向慢速设备,设计结构较为简单,且需通过北桥103接入系统总线104, 已经越来越无法满足发展后的计算机外部设备的需求,现有架构越来越成为 影响计算机性能的重要瓶颈。

发明内容
本发明实施例提供一种将计算机外部设备接入计算机系统的方法和装 置,提高计算机外部设备接入计算机系统的性能。
一方面,本发明实施例提供了一种将计算机外部设备接入计算机系统的
方法,所述方法包括
将所述计算机系统的高速外设组件互连标准PCI-E协议的命令转换为外 部设备接入管理装置内部格式的命令;
将所述外部设备接入管理装置内部格式的命令转换为对所述计算机外部 设备操作的命令,与所述计算机外部设备进行通讯,执行对所述计算机外部 设备操作的命令。
另一方面,本发明实施例提供了一种外部设备接入管理装置,用于将计 算机外部设备接入计算机系统,所述计算机外部设备通过PCI-E总线与外部 设备接入管理装置相连,所述装置包括
接口单元,用于将所述计算机系统的PCI-E协议的命令转换为所述装置 内部格式的命令;
命令队列管理单元,用于将装置内部格式的命令转换为对计算机外部设 备操作的命令;
控制单元,用于与计算机外部设备进行通讯,执行对计算机外部设备操 作的命令。
上述技术方案具有如下有益效果将计算机系统PCI-E协议的命令最终 转换为对计算机外部设备操作的命令,并执行对计算机外部设备操作的命令 的技术手段,从而提高了计算机外部设备接入计算机系统的性能,加快了计算机外部设备与计算机系统之间的数据传输处理速度。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1是现有技术计算机外部设备接入计算机系统架构示意图; 图2是本发明实施例将计算机外部设备接入计算机系统的方法流程示意
图3是本发明实施例外部设备接入管理装置结构示意图4是本发明实施例图3所述装置以FPGA (Field-Programmable Gate Array,现场可编程门阵列)实现的架构示意图5是本发明应用实例FMU (FLASH Management Unit, FLASH芯片管 理单元)的结构示意图6是本发明应用实例FMU作为独立设备挂接在系统总线上的连接示意
图7是本发明应用实例FMU集成在计算机系统的北桥内部的连接示意
图8是本发明应用实例FMU集成在计算机系统的CPU内部的连接示意
图9是本发明应用实例FMU的FLASH控制单元的结构示意图; 图10是本发明应用实例FMU以FPGA实现的架构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 实施例一
如图2所示,是本发明实施例将计算机外部设备接入计算机系统的方法 流程示意图。所述方法包括
步骤201 ,将计算机系统PCI-E协议的命令转换为外部设备接入管理装置 内部格式的命令。
需要说明的是,所述计算机外部设备通过PCI-E总线与外部设备接入管 理装置相连;所述外部设备接入管理装置通过所述计算机系统的CPU或者北 桥和系统总线相连;
优选的,所述外部设备接入管理装置集成在计算机系统的北桥内部或者 CPU内部,或者作为独立设备挂接在所述计算机系统的系统总线上;
需要说明的是,当所述外部设备接入管理装置集成在所述计算机系统的 北桥内部或者CPU内部时,可以由北桥或者CPU将系统总线的数据转化为 PCI-E协议的命令,然后该装置将PCI-E协议的命令转化为该装置内部格式的 命令。当然可以理解的是,在另一个实施例中,也可以由该装置将系统总线 的数据转化为PCI-E协议的命令,然后该装置将PCI-E协议的命令转化为该 装置内部格式的命令。
需要说明的是,由于在计算机系统中,北桥直接与系统总线相连,当所 述外部设备接入管理装置作为独立设备挂接在所述计算机系统的系统总线上 时,在一个实施例中,所述装置可以通过PCI-E总线和北桥相连。此时北桥 接收系统总线的数据将其转化为PCI-E协议的命令,传送给该装置,该装置 将计算机系统PCI-E协议的命令转换为自身的内部格式的命令。
可以理解的是,在另一个实施例中,外部设备接入管理装置也可以通过 PCI-E总线直接和系统总线相连,该装置接收系统总线的数据,将系统总线的数据转化为PCI-E协议的命令,将PCI-E协议的命令转换为该装置自身的内 部格式的命令。
所述将计算机系统PCI-E协议的命令转换为外部设备接入管理装置内部 格式的命令步骤,可以通过集成电路IC芯片或者现场可编程门阵列FPGA实 现。所述外部设备接入管理装置内部格式的命令支持以扇区为单位的寻址与 数据操作,当然也可以支持以页为单位的寻址与数据操作,当然也可以同时 支持以扇区和页为单位的寻址与数据操作。
步骤202,将外部设备接入管理装置内部格式的命令转换为对计算机外部 设备操作的命令。
优选的,所述将外部设备接入管理装置内部格式的命令转换为对计算机 外部设备操作的命令步骤可以通过FPGA实现。所述外部设备接入管理装置 内部格式的命令支持以扇区为单位的寻址与数据操作,当然也可以支持以页 为单位的寻址与数据操作,当然也可以同时支持以扇区和页为单位的寻址与 数据操作。
步骤203,与计算机外部设备进行通讯,执行对计算机外部设备操作的命令。
优选的,所述计算机外部设备为计算机高速外部设备,所述计算机高速 外部设备包括存储颗粒、网卡、光纤中的一种或多种,所述存储颗粒进一步 包括闪存FLASH颗粒。
本发明上述实施例因为采用将计算机系统PCI-E协议的命令最终转换为 对计算机外部设备操作的命令,并执行对计算机外部设备操作的命令的技术 手段,从而提高了计算机外部设备接入计算机系统的性能,加快了计算机外 部设备与计算机系统之间的数据传输处理速度。
如图3所示,是本发明实施例外部设备接入管理装置结构示意图,该装 置用于将计算机外部设备接入计算机系统,所述装置包括
接口单元301,用于将计算机系统的PCI-E协议的命令转换为装置内部格
9式的命令;
命令队列管理单元302,用于将装置内部格式的命令转换为对计算机外部 设备操作的命令;
控制单元303,用于与计算机外部设备进行通讯,执行对计算机外部设备 操作的命令。
需要说明的是,所述计算机外部设备通过PCI-E总线与外部设备接入管 理装置相连;所述外部设备接入管理装置通过所述计算机系统的CPU或者北 桥和系统总线相连;
优选的,该装置可以与所述计算机系统的PCI-E总线相连,可以集成在 所述计算机系统的北桥内部或者CPU内部,或者可以作为独立设备挂接在所 述计算机系统的系统总线上;当作为独立设备挂接在所述计算机系统的系统 总线上时,所述装置还可以包括接口转换单元,用于将所述计算机系统的系 统总线传送过来的命令转换成所述计算机系统PCI-E协议的命令,当该装置 集成时,该接口转换单元的功能可以由北桥或者CPU来实现。所述计算机外 部设备可以为计算机高速外部设备,所述计算机高速外部设备可以包括存储 颗粒、网卡、光纤中的一种或多种,所述存储颗粒进一步可以包括闪存FLASH 颗粒。所述接口单元可以通过集成电路IC芯片或者现场可编程门阵列FPGA 实现;所述命令队列管理单元和所述控制单元可以通过FPGA实现。如图4 所示,是本发明实施例图3所述装置以FPGA实现的架构示意图。所述外部 设备接入管理装置内部格式的命令可以支持以扇区为单位的寻址与数据操 作,也可以支持以页为单位的寻址与数据操作,当然也可以同时支持以扇区 和页为单位的寻址与数据操作。
本发明上述实施例因为釆用将计算机系统PCI-E协议的命令最终转换为 对计算机外部设备操作的命令,并执行对计算机外部设备操作的命令的技术 手段,从而提高了计算机外部设备接入计算机系统的性能,加快了计算机外 部设备与计算机系统之间的薮据传输处理速度。实施例二
1956年9月,IBM的一个工程小组向世界展示了第一套磁盘系统IBM 350 RAMAC (Random Access Method of Accounting and Control),这套系统的总 容量只有5MB,使用了50个直径为24英寸的磁盘,磁头可以在盘片上的任 何一块存储区域移动。1968年,IBM公司又提出了 "温彻斯特(Winchester)" 即所谓"温盘"技术,这也是现代绝大多数硬盘的原型。到上个世纪90年代, IBM将MR (磁阻磁头)磁头技术运用到硬盘中,同时磁头、电机、接口盘 片等关键技术也有了重要突破和长足发展。从这个时候开始,硬盘开始向体 积小、容量大、转速快等多元化技术趋势发展。
无论是个人用户,还是企业用户,对存储设备的速度、容量的追求都是 没有止境的。硬盘50年的发展史,就是硬盘的速度与容量的发展史;如何在 原有架构上有所创新,如何突破原有架构,构成了硬盘发展史的主题。
随着SATAIII标准的制定与完善,固态硬盘的出现与快速发展,硬盘早 已不是传统意义上的慢速设备,性能有了相当大的提升,现有的"硬盘-南桥-北桥"结构越发的成为系统性能的制约瓶颈。
本发明实施例通过在北桥或CPU内部增加FLASH芯片管理单元(FLASH Management Unit, FMU),或者可以作为独立设备挂接在所述计算机系统的 系统总线上。
如图6所示,是本发明应用实例FMU作为独立设备挂接在系统总线上的 连接示意图,当然在另一个实施例中,因为北桥直接和系统总线相连,FMU 也可以通过PCI-E总线与北桥相连,从而实现和系统总线的挂接,这在实施 例一中已经详细描述,在此不再赘述;
如图7所示,是本发明应用实例FMU集成在计算机系统的北桥内部的连 接示意图;如图8所示,是本发明应用实例FMU集成在计算机系统的CPU 内部的连接示意图。通过FMU管理外部挂载的FLASH颗粒,实现大容量的 外部数据存储的功能。FMU,它是CPU用来管理外部大容量高速存储设备的控制单元,同时也具有RAID (Redundant Array oflndependent Disk,独立冗 余磁盘阵列)控制、损耗均衡、电源管理等功能,如图9所示。
物理架构上,FMU可以集成在北桥或CPU内部,也可以作为独立设备挂 接在系统总线上。FMU与CPU、内存通过系统总线直接连接,可以满足高速 数据传输的带宽需要。FLASH颗粒等外部高速存储设备,通过FMU接入系 统。
FLASH颗粒一般采用BGA (Ball Grid Array Package,球栅阵列封装)或 TSOP (Thin Small Outline Package,薄型小尺寸封装)封装形式,这两种封装 形式均需要将FLASH颗粒焊接在PCB (Printed Circuie Board,印制线路板) 板上。对外部存储设备来说,应具有易于装载、拆卸、可移动、容量可扩展 等特性。根据特性要求,本发明实施例提出,将一枚或多枚FLASH颗粒焊接 在PCB板上,通过SLOT (槽插口 )或SOCKET (套接字)等接口形式与FMU 连接;FMU端提供多个可同时工作的接口。通过如上所述的接口定义,FMU 可以挂载多枚FLASH颗粒;且FLASH颗粒易于更换、扩展。
例如,如图6所示,是本发明应用实例FMU作为独立设备挂接在系统总 线上的连接示意图;CPU、内存与FMU均挂接在系统总线上,FLASH颗粒 通过FMU接入系统。物理上,FMU是通过PCI-E总线接入系统总线的;FMU 与系统总线遵守PCI-E协议进行通讯。
如图5所示,是本发明应用实例FMU的结构示意图。接口单元501,用 于将PCI-E协议的命令、数据,转换为内部的命令和数据格式。接口单元501 收到主机命令后,将PCI-E协议转换为内部命令,并将命令推入命令队列管 理单元502。命令队列管理单元502,用于负责响应数据读写命令,将数据读 写命令转换为对FLASH操作的命令。FLASH控制单元503,用于负责与 FLASH颗粒阵列进行通讯,执行FLASH读写、管理操作。需要说明的是为 了更好与FMU装置的名称相对应,图5中将图3中的控制单元303替代为 FLASH控制单元503。接口单元501,可以由专用的IC芯片或FPGA实现;命令队列管理单元 502与FLASH控制单元503,可以由FPGA实现。如图10所示,是本发明应 用实例FMU以FPGA实现的架构示意图。FPGA实现PCI-E接口处理、命令 管理、FLASH控制等功能;可以增加缓存用于暂存数据;FLASH颗粒阵列是 用于存储数据的FLASH阵列。FPGA与PCI-E总线、FLASH阵列相连接,负 责接口数据/命令通讯,缓存控制与FLASH控制管理。各个管理控制模块, 在FPGA内部实现。
以主机读写数据为例说明
主机下发读数据命令,接口单元501接收到PCI-E命令,由接口单元501 将其转换为内部的命令,并推入命令队列管理单元502。命令队列管理单元 502负责维护当前的所有命令请求;当执行到读数据命令时,将其交给FLASH 控制单元503执行。FLASH控制单元按照地址映射关系,对FLASH颗粒执 行读操作;当FLASH颗粒执行完毕后,FLASH控制单元将数据从FLASH数 据寄存器取出,由接口按照PCI-E协议进行数据封装并返回。
主机下发写数据命令后,接口单元501接收到PCI-E命令,接口单元501 将命令推入命令队列管理单元502。 FLASH控制单元503对FLASH进行写操 作,并将写执行结果返回给接口。接口单元501将执行结果按照PCI-E协议 进行封装返回给主机。
对于具有完整功能的FMU来说,命令队列管理单元502、 FLASH控制单 元503,仅仅是实现了基本的数据读写功能;FMU同时具有坏块管理、ECC (Error Checking and Correcting,错误检查和纠正)、损耗均衡、电源管理等 功能。这些功能均在FPGA内部实现。
如图9所示,是本发明应用实例FMU的FLASH控制单元503的结构示 意图,所述FLASH控制单元503包括
数据条带处理模块5031,当所述FLASH颗粒为多枚时,对所述FLASH 颗粒做条带化处理,将需存储的数据分散在所述多枚FLASH颗粒上;坏块管理模块5032,用于获取所述FLASH颗粒的坏块信息,将写入所 述FLASH颗粒的坏块的有效数据改写入到所述FLASH颗粒的好块中;
损耗均衡模块5033,用于对每个FLASH颗粒的擦写次数进行统计;当 所述FLASH颗粒满足预设条件时,将所述FLASH颗粒存储的数据转移到擦 写次数较少的FLASH颗粒上;其中,所述FLASH颗粒满足预设条件包括所 述FLASH颗粒的擦写次数达到预设次数;
错误检查和纠正ECC模块5034,用于在数据写入所述FLASH颗粒之前, 对所述数据进行校验计算,将校验信息追加在所述数据后,再写入所述FLASH 颗粒;在所述数据从所述FLASH颗粒读取出后,根据所述校验信息,对所述 数据进行检查和纠错后,将所述数据返回;
电源管理模块5035,用于对长时间没有操作的所述FLASH颗粒进行待 机或关闭电源处理。
所述装置内部格式的命令支持以扇区为单位的寻址与数据操作,也可以 支持以页为单位的寻址与数据操作,当然也可以同时支持以扇区和页为单位 的寻址与数据操作。
如图5和图9所示,FMU以FLASH控制单元503为中心,命令队列管 理单元502是作为与主机交互响应的前端,FLASH控制单元503中的ECC模 块5034与后端的FLASH数据直接相关;同时,FLASH控制单元503还通过 其中的坏块管理模块5032、损耗均衡模块5033和电源管理模块5035,来实 现对FLASH芯片的控制管理。
ECC模块5034用于数据校验,FLASH中保存的数据分为两部分,用户 数据与校验信息;用户数据指的是主机下发的数据,校验信息是ECC模块5034 附加的校验数据。用户数据在写入FLASH之前,经过ECC模块5034进行计 算,并将校验信息追加在用户数据后,再写入FLASH。数据从FLASH数据 寄存器读取出后,首先经过ECC模块5034, ECC模块5034根据校验信息, 对用户数据进行检查和纠错后,将用户数据返回。坏块管理模块5032与损耗均衡模块5033,均是对FLASH的管理操作, 在对FLASH进行擦写操作时,FLASH若报擦失败或写失败,此信息会被 FLASH控制单元获知,并交由坏块管理模块5032进行处理。坏块管理模块 5032从保留块中选择好块替换坏块。损耗均衡模块5033实现均衡策略;它统 计FLASH的擦写数据;在需要对FLASH块进行均衡时,实现数据在不同 FLASH块间的转移搬迁。
电源管理模块5035,对长时间没有操作的FLASH颗粒进行待机或关闭 电源处理。电源管理模块5035,可以统计近期FLASH芯片的读写次数;根 据FLASH芯片的读写活跃程度,对FLASH芯片、FMU的器件进行电源管理。 当系统较长时间内未对FLASH进行读写操作时,FMU控制FLASH芯片、FMU 的部分器件进入待机模式,或做掉电处理。
FMU具有的主要功能为
A、 支持对FLASH的控制管理。FMU内置FLASH控制单元,通过FLASH 控制单元,对挂载的FLASH芯片进行驱动控制。FLASH控制单元可以针对 不同类型芯片的时序要求,对FLASH芯片进行数据读写、copyback (回写)、 块擦除、读ID、片选等功能。
B、 支持FLASH坏块管理。通过FLASH控制单元,FMU可以读取FLASH 芯片的出厂坏块信息;可以运行时实时获取新增的坏块信息。坏块信息记录 在FMU内置存储单元,或FLASH芯片的保留数据块中。通过记录并管理 FLASH芯片的坏块,可以避免有效数据记录到损坏的块中,保证了数据的有 效性。
C、 支持CPU、 DMA (Direct Memory Access,直接内存存取)控制器对 FLASH芯片的数据读写请求。CPU或DMA控制器对FLASH存储芯片的数 据读写请求,经由FMU转换为对应的控制命令,并由FLASH控制单元驱动 FLASH执行;FMU将结果组织成CPU或DMA控制器可以理解的格式并返 回。D、 支持ECC (Error Checking and Correcting,错误检查和纠正)校验功 能。在数据传入FMU时,FMU内部的ECC模块对数据进行ECC校验计算, 再将数据与ECC信息写入FLASH;在读取数据时,ECC模块根据ECC信息 对数据进行验证;在发现数据有损坏时,ECC模块可以纠正其中的错误。
E、 支持数据条带化功能。当FMU挂载多枚FLASH芯片时,FMU可以 对FLASH芯片做条带化处理,将数据分散在多枚FLASH芯片上,充分利用 FLASH芯片的潜伏期等特性,提高数据的吞吐速率。
F、 具有损耗均衡功能。针对FLASH芯片的存储单元具有一定的擦写寿 命,必须对FLASH颗粒进行损耗均衡。FMU具有FLASH芯片损耗均衡功能。 FMU对FLASH存储单元的擦写次数进行统计,并根据预先设定的触发条件 进行管理;当存储单元满足一定条件时,即对存储单元进行均衡操作;将其 存储的数据转移到擦写次数较少的存储单元上(一般来说,一批产品使用的 FLASH颗粒,其可擦写次数都是一样或在一个数量级的.此处指的是实际的已 发生的擦写次数)。
G、 具有电源管理功能。FMU内置的电源管理模块,可以统计近期FLASH 芯片的读写次数;根据FLASH芯片的读写活跃程度,对FLASH芯片、FMU 的器件进行电源管理。当系统较长时间内未对FLASH进行读写操作时,FMU 控制FLASH芯片、FMU的部分器件进入待机模式,或做掉电处理。
H、 支持多种访问方式。FMU支持以扇区为单位的寻址与数据操作,同 样支持以页为单位的寻址与数据操作。传统架构中,硬盘是以扇区为单位进 行寻址与数据操作的;对于CPU和DMA控制器来说,是以页 为单位对内存 进行管理的。在FMU内部,扇区或页均被转换为内部单位,再交由后端统一 处理。FMU支持以扇区或以页为单位的数据管理,为存储设备从南桥向北桥 迁移提供了平滑过渡。
CPU或DMA控制器,通过系统总线与FMU通讯。主机读取数据时,接 口收到读命令后,将主机请求的地址转换为内部地址后,将数据请求推入命令队列中。命令队列管理单元502,负责处理命令队列;当前队列走到读请求
后,将读请求交给FLASH控制单元503,由它控制FLASH颗粒,将数据取 出。数据从FLASH取出后,经由ECC模块进行数据校验后,由接口单元501 将其封装为主机可理解的格式返回。主机写入数据时,接口单元501接收到 写命令后,将主机请求的地址转换为内部地址,缓存管理负责管理传入的数 据,并将写命令推入到命令队列中。数据经过ECC模块5034,加入校验信息 后,写入FLASH颗粒中。上述过程完成后,接口单元501返回写完成信息。 FLASH颗粒在FMU的管理下,内部组建RAID,将数据条带化,充分保 证了存储设备端的高速速率。同时,FLASH颗粒通过FMU直接接入数据总 线,免去了传统的经由南桥-北桥,再到达数据总线的步骤,有效提高了数据 通路的性能。并且,FMU不仅支持以扇区为单位的寻址与数据操作,如可以 以LBA (逻辑块地址,logic block address)进行数据读写,当然也可以支持 以页为单位的数据读写请求,为CPU、 DMA控制器提供了同样的数据管理接 口,简化了系统结构。当然可以理解的是,也可以同时支持以扇区和页为单
位的寻址与数据操作。
本发明实施例通过在北桥或CPU内部集成,或独立挂接FMU,由FMU 对外部挂载的FLASH颗粒进行管理,实现存储设备接入计算机系统的目的。 本发明实施例解决了传统的"硬盘-南桥-北桥"架构带来的性能瓶颈,并提供 了灵活、便捷的解决方案。本发明实施例易于扩充、管理和使用。对于不采 用北桥、南桥设计的特殊架构的计算机,在其外部设备与系统接入点的性能 成为影响整体的瓶颈时,本发明实施例都具有积极的参考意义。此处所述计 算机外部设备为计算机高速外部设备,所述计算机高速外部设备包括存储颗 粒、网卡、光纤中的一种或多种,所述存储颗粒进一步包括闪存FLASH颗粒 等,本发明并不以此为限。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤 是可以通过程序来指令相关硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述全部或部分步骤,所述的存储
介质,如ROM/RAM、磁盘、光盘等。
以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而 已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做 的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种将计算机外部设备接入计算机系统的方法,其特征在于,所述方法包括将所述计算机系统的高速外设组件互连标准PCI-E协议的命令转换为外部设备接入管理装置内部格式的命令;将所述外部设备接入管理装置内部格式的命令转换为对所述计算机外部设备操作的命令,与所述计算机外部设备进行通讯,执行对所述计算机外部设备操作的命令。
2、 如权利要求1所述方法,其特征在于,所述计算机外部设备为计算机 高速外部设备,所述计算机高速外部设备包括存储颗粒、网卡、光纤中的一 种或多种,所述存储颗粒包括闪存FLASH颗粒。
3、 如权利要求2所述方法,其特征在于,所述与所述计算机外部设备进 行通讯,执行对所述计算机外部设备操作的命令包括获取所述FLASH颗粒的坏块信息,将写入所述FLASH颗粒的坏块的有 效数据改写入到所述FLASH颗粒的好块中。
4、 如权利要求2所述方法,其特征在于,所述与所述计算机外部设备进 行通讯,执行对所述计算机外部设备操作的命令包括对每个FLASH颗粒的擦写次数进行统计;当所述FLASH颗粒满足预设 条件时,将所述FLASH颗粒存储的数据转移到擦写次数较少的FLASH颗粒 上;其中,所述FLASH颗粒满足预设条件包括所述FLASH颗粒的擦写次数 达到预设次数。
5、 如权利要求2所述方法,其特征在于,所述与所述计算机外部设备进 行通讯,执行对所述计算机外部设备操作的命令包括对需要写入FLASH颗粒的数据进行校验计算,将校验信息追加在所述数 据后,再写入所述FLASH颗粒;在所述数据从所述FLASH颗粒读取出后,根据所述校验信息,对所述数据进行检査和纠错后,将所述数据返回。
6、 如权利要求2所述方法,其特征在于,所述与所述计算机外部设备进 行通讯,执行对所述计算机外部设备操作的命令包括对长时间没有操作的所述FLASH颗粒进行待机或关闭电源处理。
7、 如权利要求l-6任一项所述方法,其特征在于,所述外部设备接入管理装置内部格式的命令支持以扇区或者页为单位的 寻址与数据操作。
8、 一种外部设备接入管理装置,用于将计算机外部设备接入计算机系统, 其特征在于,所述计算机外部设备通过PCI-E总线与外部设备接入管理装置 相连,述装置包括接口单元,用于将所述计算机系统的PCI-E协议的命令转换为所述装置 内部格式的命令;命令队列管理单元,用于将所述装置内部格式的命令转换为对所述计算 机外部设备操作的命令;控制单元,与所述计算机外部设备进行通讯,执行对所述计算机外部设 备操作的命令。
9、 如权利要求8所述装置,其特征在于,所述装置集成在所述计算机系 统的北桥内部或者CPU内部,或者作为独立设备挂接在所述计算机系统的系 统总线上。
10、 如权利要求8所述装置,其特征在于,所述计算机外部设备为计算 机高速外部设备,所述计算机高速外部设备包括存储颗粒、网卡、光纤中的 一种或多种,所述存储颗粒进一步包括闪存FLASH颗粒。
11、 如权利要求10所述装置,其特征在于,所述控制单元还包括 数据条带处理模块,当所述FLASH颗粒为多枚时,对所述FLASH颗粒做条带化处理,将需存储的数据分散在所述多枚FLASH颗粒上。
12、 如权利要求10所述装置,其特征在于,所述控制单元还包括坏块管理模块,用于获取所述FLASH颗粒的坏块信息,将写入所述 FLASH颗粒的坏块的有效数据改写入到所述FLASH颗粒的好块中。
13、 如权利要求10所述装置,其特征在于,所述控制单元还包括 损耗均衡模块,用于对每个FLASH颗粒的擦写次数进行统计;当所述FLASH颗粒满足预设条件时,将所述FLASH颗粒存储的数据转移到擦写次 数较少的FLASH颗粒上;其中,所述FLASH颗粒满足预设条件包括所述 FLASH颗粒的擦写次数达到预设次数。
14、 如权利要求10所述装置,其特征在于,所述控制单元还包括 错误检查和纠正ECC模块,用于在数据写入所述FLASH颗粒之前,对所述数据进行校验计算,将校验信息追加在所述数据后,再写入所述FLASH 颗粒;在所述数据从所述FLASH颗粒读取出后,根据所述校验信息,对所述 数据进行检查和纠错后,将所述数据返回。
15、 如权利要求10所述装置,其特征在于,所述控制单元还包括 电源管理模块,用于对长时间没有操作的所述FLASH颗粒进行待机或关闭电源处理。
全文摘要
本发明提供一种将计算机外部设备接入计算机系统的方法和装置,所述方法包括将所述计算机系统的高速外设组件互连标准PCI-E协议的命令转换为外部设备接入管理装置内部格式的命令;将所述外部设备接入管理装置内部格式的命令转换为对所述计算机外部设备操作的命令,与所述计算机外部设备进行通讯,执行对所述计算机外部设备操作的命令。本发明提高了计算机外部设备接入计算机系统的性能,加快了计算机外部设备与计算机系统之间的数据传输处理速度。
文档编号G06F13/10GK101539894SQ20091013710
公开日2009年9月23日 申请日期2009年5月4日 优先权日2009年5月4日
发明者君 徐, 立 申 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1