多数据源的访问控制方法、装置和存储系统的制作方法

文档序号:6578397阅读:152来源:国知局
专利名称:多数据源的访问控制方法、装置和存储系统的制作方法
技术领域
本发明涉及一种数据处理方法,尤其涉及一种多数据源的访问控制方法、 装置和存储系统。
背景技术
在数据传输领域的逻辑系统,需要处理的数据往往来自多种不同的数据 源,这些数据源的数据速率一般都不相同,不同的数据源在大批量交换数据
时一般都要使用外部存储器(SRAM或DIUM)缓存数据,因此需要一种技术方 案来实现逻辑设计内部多个不同的数据源访问同一外部存储器时的仲裁管 理,为每个数据源提供外部存储器访问通道。现有的访问仲裁方法有基于优 先级的总线仲裁方案。
在基于优先级的总线仲裁方案中,为每个共享外部存储器的内部数据源 设定了固定的优先级,在多个数据源同时请求访问外部存储器时根据优先级 来授权哪个数据源获得外部存储器的访问权限。该方法实现简单,不需要专 门设计复杂的仲裁算法,对于设定为高优先级的数据源能保证及时的外部存 储器访问。但是,在高优先级数据源密集访问外部存储器时,低优先级数据 源难以获得外部存储器访问权限,从而导致系统的整体效率降低。

发明内容
本发明实施例提供一种多数据源的访问控制方法、装置和存储系统,以 有效提高多个数据源访问外部存储装置的效率。本发明实施例提供一种多数据源的访问控制方法,所述方法包括在任 意时间片中接收至少一个数据源的访问请求;根据所述时间片中预先设置的 数据源访问优先级顺序,在提出访问请求的数据源中确定授予访问权限的数 据源,以使所述授予访问权限的数据源访问外部存储装置;其中时间片的数 目等于数据源的个数,各时间片中具有最高访问优先级的数据源不相同。
本发明实施例另提供一种多数据源的访问控制装置,所述装置包括接 收单元,用于在任意时间片中接收至少一个数据源的访问请求;仲裁单元, 用于根据所述时间片中预先设置的数据源访问优先级顺序确定授予访问权限 的数据源,以使所述授予访问权限的数据源访问外部存储装置;其中时间片 的数目等于数据源的个数,各时间片中具有最高访问优先级的数据源不相同。
本发明实施例还提供一种存储系统,所述系统包括多个数据源,用于 发出访问请求,当所述访问请求被授权时对外部存储装置进行访问;访问控 制装置,用于在任意时间片中接收至少一个数据源的访问请求,根据所述时 间片中预先设置的数据源访问优先级顺序,在提出访问请求的数据源中确定 授予访问权限的数据源,以使所述授予访问权限的数据源访问外部存储装置, 其中时间片的数目等于数据源的个数,各时间片中具有最高访问优先级的数 据源不相同;外部存储装置,用于存储数据,接受所述授予访问权限的数据 源的访问。
本发明提供的上述实施例,通过在任意时间片中接收至少一个数据源的 访问请求,根据所述时间片中预先设置的数据源访问优先级顺序确定授予访 问权限的数据源,以使所述授予访问权限的数据源访问外部存储装置的技术 手段,有机地结合优先级和时间片方法,针对固定优先级仲裁算法中的低优 先级数据源难以访问到外部存储器和时间片浪费的问题,有效地提升了多个 数据源访问外部存储装置的效率。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提 下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的多数据源的访问控制方法的流程图2为本发明实施例一的数据源访问优先级顺序的示意图3为本发明实施例三的多数据源的访问控制装置的结构示意图;
图4为本发明实施例四的多数据源的访问控制装置的结构示意图;
图5为本发明实施例四中访问代理的结构示意图6为本发明实施例五的存储系统的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而 不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种多数据源的访问控制方法如图l所示,包括
S110:在任意时间片中接收至少一个数据源的访问请求;
S120:根据该时间片中预先设置的数据源访问优先级顺序,在提出访问
请求的数据源中确定授予访问权限的数据源,以使授予访问权限的数据源访
问外部存储装置。
本发明实施例中,时间片的数目等于数据源的个数,各时间片中具有最 高访问优先级的数据源不相同。例如当数据源有四个时,设置四个时间片, 每个时间片的时间长短根据实际需要设定。
预先设置的数据源访问优先级包括在每个时间片中设置一个不同的数据源具有最高访问优先级,随机设置除所述具有最高访问优先级的数据源外的 数据源的访问优先级顺序。如图2所示,可以设置成前一时间片中的访问优 先级最高的数据源作为后一时间片中访问优先级最低的数据源,前一时间片 中的其他数据源的访问优先级在后一时间片中依次升高一级。或者,也可以 设置成前一时间片中的访问优先级最低的数据源作为后一时间片中访问优先 级最高的数据源,前一时间片中的其他数据源的访问优先级在后一时间片中 依次降低一级。
本实施例通过在任意时间片中接收至少一个数据源的访问请求,根据所 述时间片中预先设置的数据源访问优先级顺序确定授予访问权限的数据源, 以使所述授予访问权限的数据源访问外部存储装置的技术手段,有机地结合 优先级和时间片方法,针对固定优先级仲裁算法中的低优先级数据源难以访 问到外部存储器和时间片浪费的问题,有效地提升了多个数据源访问外部存 储装置的效率。
实施例二
本实施例对多数据源的访问控制方法进行进一步说明,包括-
S210:在任意时间片中接收至少一个数据源的访问请求。
其中,时间片是具有预定长短的时间段。时间片的数目根据数据源的数
目设定,如数据源有4个,时间片就设定为4个。时间片的长短可以根据实 际需要设定。任意时间片针对总时间片中任意一个时间片。至少一个数据源 是指提出访问请求的数据源数目为1个以上。
S220:根据该时间片中预先设置的数据源访问优先级顺序,在提出访问 请求的数据源中确定授予访问权限的数据源,以使授予访问权限的数据源访 问外部存储装置。
预先设置的数据源访问优先级如图2所示,可以设置成前一时间片中的 访问优先级最高的数据源作为后一时间片中访问优先级最低的数据源,前一 时间片中的其他数据源的访问优先级在后一时间片中依次升高一级。例如,在时间片2接收到数据源1,数据源3和数据源5发来的访问请求,根据时间 片2的数据源访问优先级顺序(数据源2,数据源3,数据源4,……,数据 源n,数据源0,数据源l)确定先授予数据源3的访问权限,然后是数据源 5的访问权限,最后是数据源1的访问权限。
某些实施方式中,在S220中,数据源访问外部存储装置时可以通过访问 代理提出访问请求,包括访问的首地址、首数据(对于写操作)、本次访问请 求的访问数据量和读写标志,授权访问后,输入后续数据。此外,在外部存 储器进行刷新、预充电、换行等操作时,暂停数据源访问代理的继续访问, 直到外部存储器准备好可以继续被访问。请求数据量的访问没有完成之前可 通过数据源访问代理中止请求的访问。本实施例通过采用数据源访问代理来 代理数据源进行访问处理,便于在不同的逻辑设计中无缝地移植。
某些实施方式中,访问代理中还可以缓存交互数据。例如,在数据源访 问外部存储装置的具体过程中,缓存授予访问权限的数据源访问外部存储装 置时的交互数据。具体为在写数据访问时,部份缓存数据后再请求访问外部 存储器;在读数据访问时,缓存从外部存储器读出而来不及被数据源读走的 数据,外部存储器与数据源的数据均通过缓存交换,避免了外部存储器被低 速数据源访问时产生等待而浪费外部存储器带宽资源。本实施例通过使用数 据缓存,使数据源的传输带宽与外部存储器的传输带宽相匹配,有效地利用 了外部存储器的传输带宽。
实施例三
本实施例提供一种多数据源的访问控制装置。下面参照图3,详细描述外
部装置的访问控制装置300,该装置包括
接收单元310,用于在任意时间片中接收至少一个数据源的访问请求; 仲裁单元320,用于根据所述时间片中预先设置的数据源访问优先级顺
序,在提出访问请求的数据源中确定授予访问权限的数据源,以使所述授予
访问权限的数据源访问外部存储装置。其中时间片的数目等于数据源的个数,在各时间片中具有最高访问优先 级的数据源不相同。
如图2所示,前一时间片中的访问优先级最高的数据源作为后一时间片 中访问优先级最低的数据源,前一时间片中的其他数据源的访问优先级在后 一时间片中依次升高一级。或者,前一时间片中的访问优先级最低的数据源 作为后一时间片中访问优先级最高的数据源,前一时间片中的其他数据源的 访问优先级在后一时间片中依次降低一级。但数据源访问优先级顺序可以根
据实际应用的不同而改变。以图2中的时间片2为例,接收单元310在时间 片2接收到数据源1,数据源3和数据源5发来的访问请求,仲裁单元320根 据时间片2的数据源访问优先级顺序(数据源2,数据源3,数据源4,……, 数据源n,数据源O,数据源l)确定先授予数据源3的访问权限,然后是数 据源5的访问权限,最后是数据源l的访问权限。
本实施例采用的仲裁单元结合了时间片轮转与优先级的仲裁规则,针对 固定优先级仲裁算法中低优先级数据源难以访问到外部存储器和时间片浪费 的问题,有效地提升了多个数据源访问外部存储装置的效率。
实施例四
本实施例提供一种多数据源的访问控制装置。下面参照图4,详细描述多 数据源的访问控制装置400,该装置包括
接收单元410,用于在任意时间片中接收至少一个数据源的访问请求;
仲裁单元420,用于根据所述时间片中预先设置的数据源访问优先级顺 序,在提出访问请求的数据源中确定授予访问权限的数据源,以使所述授予 访问权限的数据源访问外部存储装置;
访问代理430,其数量与所述数据源的数量对应,且用于代理各数据源向 外部装置提出访问请求。
其中,本实施例的接收单元410和仲裁单元420与实施例三的相同,在 此不再赘述。在数据源需要访问外部存储器时,数据源通过其访问代理430向仲裁单 元420提出访问请求,同时输入访问的首地址、首数据(对于写操作)、本次 访问请求的访问数据量和读写标志,在仲裁器授权总线后,输入后续数据。 在数据访问的过程中,外部存储器可能会有刷新、预充电、换行等操作,在 这种情况下多数据源的访问控制装置400暂停数据源访问代理430的继续访 问,直到外部存储器准备好可以继续被访问。请求数据量的访问没有完成之 前访问代理430可以中止请求的访问。内部数据源的数据传输带宽一般都远低于外部存储器,在多个数据源共 享外部存储器时,如果不加处理,外部存储器的传输带宽受限于外部数据源 的传输带宽,这将严重浪费外部存储器的传输带宽。为此,如图5所示,本 实施例的访问代理430中还包括缓存模块431,用于缓存所述数据源访问所述 外部装置时的交互数据。具体而言,在写数据访问时先把数据部份写入数据 缓存,再请求访问外部存储器;在读数据访问时把从外部存储器读出而来不 及被数据源读走的数据写入数据缓存,外部存储器与数据源的数据均通过缓 存交换,避免了外部存储器被低速数据源访问时产生等待而浪费外部存储器 带宽资源。本实施例通过采用数据源访问代理和仲裁单元的配合工作的实现结构, 定义了数据源仲裁代理与存储器仲裁器的清晰接口,便于在不同的逻辑设计 中无缝地移植;通过使用数据缓存,使数据源的传输带宽与外部存储器的传 输带宽相匹配,有效地利用外部存储器的传输带宽。实施例五本实施例提供一种存储系统。下面参照图6,详细描述该存储系统600, 该系统包括多个数据源610,用于发出访问请求,当所述访问请求被授权时对外部存 储装置进行访问;访问控制装置620,用于在任意时间片中接收至少一个数据源的访问请求;根据所述时间片中预先设置的数据源访问优先级顺序,在提出访问请求 的数据源中确定授予访问权限的数据源,以使所述授予访问权限的数据源访问外部存储装置;其中时间片的数目等于数据源的个数,各时间片中具有最高访问优先级的数据源不相同;外部存储装置630,用于存储数据,接受所述授予访问权限的数据源的访问。本实施例的存储系统600还可以进一步包括访问代理640,用于代理所述 授予访问权限的数据源向所述外部存储装置发出访问请求,其数目等于数据 源的个数。某些实施方式中,在访问代理640包括缓存模块,用于缓存所述 授予访问权限的数据源访问所述外部存储装置时的交互数据。具体而言,在 写数据访问时先把数据部份写入数据缓存,再请求访问外部存储器;在读数 据访问时把从外部存储器读出而来不及被数据源读走的数据写入数据缓存, 外部存储器与数据源的数据均通过缓存交换,避免了外部存储器被低速数据 源访问时产生等待而浪费外部存储器带宽资源。本实施例有效地解决了固定优先级仲裁算法和时间片轮转仲裁算法的低 优先级数据源难以访问到外部存储器和时间片浪费的问题,有效地提升多个 数据源访问外部存储装置的效率;采用数据源访问代理和外部存储器仲裁器 的配合工作的实现结构,定义了数据源仲裁代理与存储器仲裁器的清晰接口, 便于在不同的逻辑设计中无缝地移植;使用数据缓存,使数据源的传输带宽 与外部存储器的传输带宽相匹配,有效地利用外部存储器的传输带宽。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一 计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例 的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体 (Read—OnlyMemory,廳)或随机存储记忆体(Random Access Memory,薩)等。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了 进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而己, 并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任 何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多数据源的访问控制方法,其特征在于,所述方法包括在任意时间片中接收至少一个数据源的访问请求;根据所述时间片中预先设置的数据源访问优先级顺序,在提出访问请求的数据源中确定授予访问权限的数据源,以使所述授予访问权限的数据源访问外部存储装置;其中时间片的数目等于数据源的个数,各时间片中具有最高访问优先级的数据源不相同。
2. 根据权利要求1所述的方法,其特征在于,所述预先设置的数据源访 问优先级顺序包括-在任意时间片中,将该时间片的前一时间片中的访问优先级最低的数据 源设置为访问优先级最高的数据源,将所述前一时间片中除访问优先级最低 的数据源以外的数据源的访问优先级依次降低一级;或者,在任意时间片中,将该时间片的前一时间片中的访问优先级最高的数据 源设置为访问优先级最低的数据源,将所述前一时间片中除访问优先级最高 的数据源以外的数据源的访问优先级依次升高一级。
3. 根据权利要求1所述的方法,其特征在于,所述授予访问权限的数据 源访问外部存储装置包括所述授予访问权限的数据源通过访问代理访问所述外部存储装置。
4. 根据权利要求3所述的方法,其特征在于,所述方法还包括缓存所述授予访问权限的数据源访问所述外部存储装置时的交互数据。
5. —种多数据源的访问控制装置,其特征在于,所述装置包括 接收单元,用于在任意时间片中接收至少一个数据源的访问请求;仲裁单元,用于根据所述时间片中预先设置的数据源访问优先级顺序, 在提出访问请求的数据源中确定授予访问权限的数据源,以使所述授予访问权限的数据源访问外部存储装置;其中时间片的数目等于数据源的个数,各时间片中具有最高访问优先级 的数据源不相同。
6. 根据权利要求5所述的访问控制装置,其特征在于,所述装置还包括: 访问代理,用于代理所述授予访问权限的数据源向所述外部存储装置发出访 问请求,其数目等于数据源的个数。
7. 根据权利要求6所述的访问控制装置,其特征在于,所述访问代理中 包括缓存模块,用于缓存所述授予访问权限的数据源访问所述外部存储装置 时的交互数据。
8. —种存储系统,其特征在于,所述系统包括多个数据源,用于发出访问请求,当所述访问请求被授权时对外部存储 装置进行访问;访问控制装置,用于在任意时间片中接收至少一个数据源的访问请求; 根据所述时间片中预先设置的数据源访问优先级顺序,在提出访问请求的数 据源中确定授予访问权限的数据源,以使所述授予访问权限的数据源访问外 部存储装置;其中时间片的数目等于数据源的个数,各时间片中具有最高访 问优先级的数据源不相同;外部存储装置,用于存储数据,接受所述授予访问权限的数据源的访问。
9. 根据权利要求8所述的系统,其特征在于,所述系统还包括访问代 理,用于代理所述授予访问权限的数据源向所述外部存储装置发出访问请求, 其数目等于数据源的个数。
10. 根据权利要求9所述的系统,其特征在于,所述访问代理中包括 缓存模块,用于缓存所述授予访问权限的数据源访问所述外部存储装置时的交互数据。
全文摘要
本发明提供一种多数据源的访问控制方法、装置和存储系统。其中该方法包括在任意时间片中接收至少一个数据源的访问请求;根据所述时间片中预先设置的数据源访问优先级顺序,在提出访问请求的数据源中确定授予访问权限的数据源,以使所述授予访问权限的数据源访问外部存储装置;其中时间片的数目等于数据源的个数,各时间片中具有最高访问优先级的数据源不相同。本发明有效地提升多个数据源访问外部存储装置的效率,便于在不同的逻辑设计中无缝地移植,有效地利用外部存储器的传输带宽。
文档编号G06F13/18GK101556563SQ200910141659
公开日2009年10月14日 申请日期2009年5月25日 优先权日2009年5月25日
发明者剑 梁 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1