一种PCI接口转Flash接口的控制装置及方法

文档序号:6429205阅读:156来源:国知局
专利名称:一种PCI接口转Flash接口的控制装置及方法
技术领域
本发明涉及通讯技术领域,特别是涉及一种PCI接口转Flash接口的控制装置及方法。
背景技术
随着以太网技术的高速发展。以太网已经成为人们日常工作和生活必不可少的工具。而在以太网交换设备上用户对于数据传送需求越来越多,而且传输速率的要求越来越高,这就要求CPU (Central Processing Unit,中央处理器)与周边设备能实现高速结合。PCI (Peripheral component interconnect,外设组件互连标准)接口即可满足此类需求;并且整个交换设备一般选用Flash(闪存,英文名称为〃 Flash Memory",简称为〃 Flash")作为存储设备,因而PCI接口到Flash接口的转化具有相当重要的地位和作用。目前Flash主要应用于计算机平台中,与CPU、DDR(Double Data Rate,双倍速率同步动态随机存储器)、声卡、显卡等构成一个计算机平台系统,多将Flash用于存储BOOT 启动程序,或者存储临时文件等,应用较为单一。现有技术中的计算机平台架构,PCI接口上挂接Flash作为BOOT存储器,应用单一,而且并未提及其PCI接口到Flash接口转换的具体实现策略。

发明内容
本发明要解决的技术问题是提供一种PCI接口转Flash接口的控制装置及方法, 用以解决现有技术PCI接口上挂接Flash作为BOOT存储器应用单一的问题。为解决上述技术问题,一方面,本发明提供一种PCI接口转Flash接口的控制装置,所述装置包括PCI接口模块,通过PCI接口与PCI总线连接,与PCI主设备进行数据通讯;状态机控制模块,与所述PCI接口模块连接,用于根据所述PCI接口模块获取的所述PCI总线上的操作信息,确定状态机控制模块的状态;Flash接口模块,与所述状态机控制模块连接,且通过Flash接口与Flash存储器连接,用于根据所述状态机控制模块的状态,对所述Flash存储器进行访问。进一步,当所述PCI总线上的操作信息为对所述Flash存储器的写操作时,所述状态机控制模块的状态为写Flash状态,所述Flash接口模块向所述Flash存储器发送写指令和写数据格式;待写操作结束后,所述状态机控制模块的状态由写Flash状态跳转为PCI 空闲状态。进一步,当所述PCI总线上的操作信息为对所述Flash存储器的读操作时,所述状态机控制模块的状态为读Flash状态,所述Flash接口模块向所述Flash存储器发送读指令格式;待读操作结束后,所述状态机控制模块的状态由读Flash状态跳转为PCI空闲状态。
另一方面,本发明还提供一种PCI接口转Flash接口的控制方法,所述方法包括以下步骤A,PCI接口模块通过PCI接口获取PCI总线上的操作信息;B,根据所述PCI总线上的操作信息,确定状态机控制模块的状态;C,根据所述状态机控制模块的状态,Flash接口模块对Flash存储器进行访问。进一步,在获取所述PCI总线上的操作信息之后,还包括判断所述PCI总线发起的操作是否是对所述Flash存储器进行访问,如果是,则转步骤B ;如果否,则所述状态机控制模块的状态为PCI忙状态,所述PCI总线根据初始化时分配的PCI从设备地址,访问与所述操作信息对应的PCI从设备。进一步,访问所述PCI从设备结束之后,所述状态机控制模块的状态由PCI忙状态跳转为PCI空闲状态。进一步,当所述PCI总线上的操作信息为对所述Flash存储器的写操作时,所述状态机控制模块的状态为写Flash状态,所述Flash接口模块向所述Flash存储器发送写指令和写数据格式。进一步,待写操作结束后,所述状态机控制模块的状态由写Flash状态跳转为PCI 空闲状态。进一步,当所述PCI总线上的操作信息为对所述Flash存储器的读操作时,所述状态机控制模块的状态为读Flash状态,所述Flash接口模块向所述Flash存储器发送读指令格式。进一步,待读操作结束后,所述状态机控制模块的状态由读Flash状态跳转为PCI 空闲状态。本发明有益效果如下本发明通过使用状态机控制实现PCI接口到Flash接口的转化,使得PCI总线操作以及Flash存储器接口操作在主状态机中都有具体的对应状态,可以更好的保证PCI接口到Flash存储器接口访问的可靠性及传输的高效性。此外,本发明还提供了标准的PCI 接口,使得本发明可以灵活移植,运用于其他设备中。并使用了单独的PCI接口模块,Flash 接口模块,使得接口实现更为独立和清晰,防止其他信号参与和影响标准接口上各信号间的配合,有利于系统的升级和维护。


图1是本发明实施例中一种PCI接口转Flash接口的控制装置的结构示意图;图2是本发明实施例中状态机控制模块状态机的实现示意图;图3是本发明实施例中一种PCI接口转Flash接口的控制方法的流程图。
具体实施例方式为了解决现有技术PCI接口上挂接Flash实现方法空白以及作为BOOT存储器应用单一的问题,本发明提供了一种PCI接口转Flash接口的控制装置及方法,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
如图1所示,本发明实施例涉及一种PCI接口转Flash接口的控制装置,包括PCI接口模块101,通过PCI接口与PCI总线104连接,与PCI主设备进行数据通讯;状态机控制模块102,与PCI接口模块101连接,用于根据PCI接口模块101获取的PCI总线104上的操作信息,确定状态机控制模块102的状态;Flash接口模块103,与状态机控制模块102连接,且通过Flash接口与Flash存储器105连接,用于根据状态机控制模块102的状态,对Flash存储器105进行访问。本实施例中,PCI接口模块101,包括了标准的PCI接口,与PCI主设备进行通信, 是CPU访问Flash存储器105的数据和控制通道。PCI接口模块101对外直接与PCI总线 104相连,对内与状态机控制模块102相连。在PCI总线104发起的对Flash存储器进行读、写或擦除操作时,PCI总线104侧看到的只有PCI总线104上的写操作和读操作。在PCI 总线104进行写操作时,PCI接口模块101负责将CPU发起的写地址和写数据(操作信息) 传递给状态机控制模块102,并且将写操作过程中的PCI总线104握手信息通过PCI总线 104传递给CPU。在PCI总线104进行读操作时,PCI接口模块101负责将CPU发起的读地址传递给状态机控制模块102,并将从Flash接口端读回的数据通过PCI接口传递给CPU ; PCI接口模块101还负责PCI总线104访问过程中的数据、地址校验计算,以及PCI总线104 仲裁信息处理等。状态机控制模块102,包括了在PCI总线104访问Flash存储器105时状态跳转情况,是本发明实施例的核心部分。状态机控制模块102分别与PCI接口模块101和Flash 接口模块103相连。在PCI总线104初始化完成后,状态机控制模块102处于空闲状态,一旦PCI总线104发起总线操作,状态机即根据指令类型(操作信息)发生跳转,如果是对非 Flash所分配的地址进行的操作,则根据指令内容跳转至PCI忙状态,当PCI总线操作完成后,状态机控制模块102跳转至PCI空闲状态;如果是对Flash存储器105所分配的地址进行的写操作,则根据指令内容跳转至Flash写操作状态,完成Flash写操作后,状态机控制模块102跳转至PCI空闲状态;如果是对Flash存储器105所分配的地址进行读操作,则根据指令内容跳转至Flash读操作状态,完成Flash读操作后,状态机控制模块102跳转至 PCI空闲状态。Flash接口模块103,包括了标准的Flash接口,连接Flash存储器105,与Flash存储器105进行通信;是对Flash存储器105进行读、写或擦除等一系列操作的控制和数据通道。Flash接口模块103对内与状态机控制模块102连接,对外与Flash存储器105相连。 在对Flash存储器105进行写操作时,Flash接口模块103负责提供Flash接口标准的写指令、写数据格式,发送给Flash存储器105。在对Flash存储器105进行读操作时,Flash 接口模块103负责提供Flash标准的读指令格式,发送给Flash存储器105,并正确接收由 Flash存储器105返回的读数据;在对Flash存储器105进行擦除操作时,按照Flash接口协议规定的访问方式,对Flash对应地址进行操作。如图2所示,本发明实施例状态机控制模块102的状态包括以下几个状态PCI空闲状态201 此状态为状态机控制模块102的默认状态。当以太网交换机设备开始工作,即进入PCI空闲状态201,而当PCI总线104上发起总线操作后,状态机控制模块102将从PCI空闲状态201跳转至PCI忙状态202或Flash访问状态203 ;当PCI总线访问结束后,状态机控制模块102则从PCI忙状态202跳转至PCI空闲状态201。当对Flash 进行的是写操作,状态机控制模块102则从Flash访问状态203自动跳转至写Flash状态 204,当Flash写操作完成后,状态机控制模块102则从写Flash状态204跳转至PCI空闲状态201。当对Flash进行的是读操作,状态机控制模块102则从Flash访问状态203自动跳转至读Flash状态205,当Flash读操作完成后,状态机控制模块102则从读Flash状态 205跳转至PCI空闲状态201。当PCI总线上无操作,状态机控制模块102则维持PCI空闲状态201。PCI忙状态202 当PCI总线上发起非Flash分配的地址读或写操作的时候,状态机控制模块102即进入PCI忙状态202。状态机控制模块102从PCI空闲状态201跳转至 PCI忙状态202的条件包括但不限于以下几种操作(1)对非Flash分配地址空间的读操作;⑵对非Flash分配地址空间的写操作;(3)对PCI总线设备的设备号询问操作等。当以上操作完成,PCI总线被释放后,状态机控制模块102即从PCI忙状态202跳转至PCI空闲状态201。Flash访问状态203 当PCI总线空闲状态201时收到PCI总线上访问Flash地址的读操作或者写操作时,状态机控制模块102即从PCI总线空闲状态201跳转至Flash访问状态203 ;Flash访问状态203根据PCI总线上的操作属性,如果是Flash写操作则自动跳转至写Flash状态204,如果是Flash读操作则自动跳转至读Flash状态205。写Flash状态204 此状态由Flash访问状态203根据PCI总线上发起的是Flash 存储器的写操作自动跳转而来,当对Flash存储器的写操作完成后,写Flash状态204将跳转至PCI空闲状态201。读Flash状态205 此状态由Flash访问状态203根据PCI总线上发起的是Flash 存储器的读操作自动跳转而来,当对Flash存储器的读操作完成后,读Flash状态205将跳转至PCI空闲状态201。本发明实施例的控制装置可通过但不限于可编程逻辑器件,或ASIC(AppliCati0n Specific Integrated Circuit,专用集成电路)芯片等载体实现。另外,本发明实施例还涉及一种由上述装置实现的PCI接口转Flash接口的控制方法,包括以下步骤A,PCI接口模块通过PCI接口获取PCI总线上的操作信息;B,根据所述PCI总线上的操作信息,确定状态机控制模块的状态;C,根据所述状态机控制模块的状态,Flash接口模块对Flash存储器进行访问。下面以一具体实施例对上述方法进行详细说明,如图3所示,本发明实施例PCI接口转Flash的控制方法包括以下几个步骤步骤301 设备开始工作。此步骤包含但不限于以太网交换机设备的上电启动,掉电重启,CPU发起软件复位,设备上硬件按钮复位等几种情况。步骤302 =PCI初始化,在初始化过程中,板上CPU获得各PCI从设备的设备号及各PCI设备分配的地址。此步骤中涉及状态机控制模块102状态机从PCI空闲状态201到 PCI忙状态202间的跳转;PCI总线初始化完成,PCI总线空闲;步骤303 :PCI总线空闲。此步骤对应于PCI接口转Flash接口主状态机102的 PCI空闲状态201。当PCI总线初始化完成后,CPU并未发起PCI总线上的操作时,或者是PCI总线上访问Flash存储器的地址空间及非Flash存储器的地址空间完成后,将进入此步骤;当以太网交换机设备掉电时,将进入步骤307,设备工作结束。步骤304 =PCI上新的总线操作到来,判断PCI总线上是否访问Flash对应的地址空间;此步骤对应于状态机控制模块102的Flash访问状态203。如果判定不是访问Flash 存储器对应的地址空间,则进入步骤305,PCI总线访问其他设备;如果判定是访问Flash存储器对应的地址空间,则进入步骤306,根据操作属性,对Flash进行读、写或擦除操作。步骤305 =PCI总线访问其他设备,PCI总线根据初始化时分配的PCI从设备地址, 访问对应的PCI从设备。此操作包括了 PCI总线初始化过程中的询问PCI从设备ID号,分配PCI从设备地址空间,或PCI总线访问非Flash分配的地址空间等一系列操作。此步骤对应于状态机控制模块102的PCI忙状态202。此步骤完成后,将跳转至步骤303,PCI总线空闲,等待新的PCI总线操作到来。步骤306 根据操作属性,对Flash进行读、写或擦除操作。此步骤包含了对Flash 存储器的读操作,写操作或擦除操作。此步骤对应于状态机控制模块102的写Flash状态 204和读Flash状态205。此步骤完成后,将跳转至步骤303,PCI总线空闲,等待新的PCI 总线操作到来。步骤307 设备工作结束。当以太网交换机设备掉电后,将进入此步骤。本发明实施例实现了 PCI接口到Flash接口的转化,可以应用于以太网交换机设备中,以Flash作为存储设备,用以存储以太网交换机的版本内容,业务上的配置文件,死机文件及BOOT升级时的临时文件等。本发明实施例不仅选用了高速的数据传输接口 PCI 接口,而且将Flash空间地址根据需求分段使用,大大提高了 FLASH的利用空间。本发明通过使用状态机控制实现PCI接口到Flash接口的转化,使得PCI总线操作,Flash存储器接口操作在主状态机中都有具体的对应状态,可以更好的保证PCI接口到 Flash存储器接口访问的可靠性及传输的高效性。此外,本发明还提供了标准的PCI接口, 使得本发明可以灵活移植,运用于其他设备中。并使用了单独的PCI接口模块,Flash接口模块,使得接口实现更为独立和清晰,防止其他信号参与和影响标准接口上各信号间的配合,有利于系统的升级和维护。尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
权利要求
1.一种PCI接口转Flash接口的控制装置,其特征在于,所述装置包括PCI接口模块,通过PCI接口与PCI总线连接,与PCI主设备进行数据通讯;状态机控制模块,与所述PCI接口模块连接,用于根据所述PCI接口模块获取的所述 PCI总线上的操作信息,确定状态机控制模块的状态;Flash接口模块,与所述状态机控制模块连接,且通过Flash接口与Flash存储器连接, 用于根据所述状态机控制模块的状态,对所述Flash存储器进行访问。
2.如权利要求1所述的PCI接口转Flash接口的控制装置,其特征在于,当所述PCI 总线上的操作信息为对所述Flash存储器的写操作时,所述状态机控制模块的状态为写 Flash状态,所述Flash接口模块向所述Flash存储器发送写指令和写数据格式;待写操作结束后,所述状态机控制模块的状态由写Flash状态跳转为PCI空闲状态。
3.如权利要求1所述的PCI接口转Flash接口的控制装置,其特征在于,当所述PCI 总线上的操作信息为对所述Flash存储器的读操作时,所述状态机控制模块的状态为读 Flash状态,所述Flash接口模块向所述Flash存储器发送读指令格式;待读操作结束后, 所述状态机控制模块的状态由读Flash状态跳转为PCI空闲状态。
4.一种PCI接口转Flash接口的控制方法,其特征在于,所述方法包括以下步骤A,PCI接口模块通过PCI接口获取PCI总线上的操作信息;B,根据所述PCI总线上的操作信息,确定状态机控制模块的状态;C,根据所述状态机控制模块的状态,Flash接口模块对Flash存储器进行访问。
5.如权利要求4所述的PCI接口转Flash接口的控制方法,其特征在于,在获取所述 PCI总线上的操作信息之后,还包括判断所述PCI总线发起的操作是否是对所述Flash存储器进行访问,如果是,则转步骤 B ;如果否,则所述状态机控制模块的状态为PCI忙状态,所述PCI总线根据初始化时分配的 PCI从设备地址,访问与所述操作信息对应的PCI从设备。
6.如权利要求5所述的PCI接口转Flash接口的控制方法,其特征在于,访问所述PCI 从设备结束之后,所述状态机控制模块的状态由PCI忙状态跳转为PCI空闲状态。
7.如权利要求4所述的PCI接口转Flash接口的控制方法,其特征在于,当所述PCI 总线上的操作信息为对所述Flash存储器的写操作时,所述状态机控制模块的状态为写 Flash状态,所述Flash接口模块向所述Flash存储器发送写指令和写数据格式。
8.如权利要求7所述的PCI接口转Flash接口的控制方法,其特征在于,待写操作结束后,所述状态机控制模块的状态由写Flash状态跳转为PCI空闲状态。
9.如权利要求4所述的PCI接口转Flash接口的控制方法,其特征在于,当所述PCI 总线上的操作信息为对所述Flash存储器的读操作时,所述状态机控制模块的状态为读 Flash状态,所述Flash接口模块向所述Flash存储器发送读指令格式。
10.如权利要求9所述的PCI接口转Flash接口的控制方法,其特征在于,待读操作结束后,所述状态机控制模块的状态由读Flash状态跳转为PCI空闲状态。
全文摘要
本发明公开了一种PCI接口转Flash接口的控制装置及方法,装置包括PCI接口模块,通过PCI接口与PCI总线连接,与PCI主设备进行数据通讯;状态机控制模块,与PCI接口模块连接,用于根据PCI接口模块获取的所述PCI总线上的操作信息,确定状态机控制模块的状态;Flash接口模块,与状态机控制模块连接,且通过Flash接口与Flash存储器连接,用于根据状态机控制模块的状态,对Flash存储器进行访问。本发明通过使用状态机控制实现PCI接口到Flash接口的转化,可以更好的保证PCI接口到Flash存储器接口访问的可靠性及传输的高效性。
文档编号G06F13/38GK102279828SQ20111020851
公开日2011年12月14日 申请日期2011年7月25日 优先权日2011年7月25日
发明者魏翠 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1