CN108021516A - 一种并行存储介质存储控制器的命令调度管理系统与方法 - Google Patents
一种并行存储介质存储控制器的命令调度管理系统与方法 Download PDFInfo
- Publication number
- CN108021516A CN108021516A CN201711372044.7A CN201711372044A CN108021516A CN 108021516 A CN108021516 A CN 108021516A CN 201711372044 A CN201711372044 A CN 201711372044A CN 108021516 A CN108021516 A CN 108021516A
- Authority
- CN
- China
- Prior art keywords
- storage
- command
- module
- order
- medium
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
Abstract
本发明涉及一种存储控制器的命令调度管理系统与方法,适用于采用并行存储介质的存储系统。该管理系统包括三个模块:1.存储命令队列单元;2.存储命令调度单元;3.存储命令执行单元。存储控制器从应用端接收到存储介质操作命令后,根据命令的优先级以及所操作的存储介质,将存储命令存入存储命令队列单元的相应队列中;存储命令调度单元根据存储命令执行单元提供的并行存储介质的状态,以及命令队列中存储命令的优先级,从命令队列中挑选可执行命令,并发送给存储命令执行单元执行;存储命令执行单元接收来自存储命令调配单元的命令并在多个存储介质上并行执行命令,同时根据存储介质上命令执行状态,提供存储介质的状态信息给命令调配单元。
Description
技术领域
本发明涉及数据存储领域,特别涉及并行存储介质存储控制器的命令调度管理系统和方法。
背景技术
随着互联网和电子设备的发展,数据信息量如潮水般迅猛增长,数据存储面临海量数据和高速访问的双重挑战。为提高数据存储密度和数据访问速度,在共享存储接口通道上挂载多个并行的存储介质是一种通用的存储系统架构。例如,NAND闪存的接口通道通常挂载多个NAND闪存颗粒。这些NAND闪存颗粒共享一个命令数据接口通道,但是可以独立且并行执行NAND闪存操作。以NAND闪存颗粒为存储介质的存储系统,在便携式电子设备存储卡,固态硬盘,企业存储,云存储等领域被广泛应用。
通过存储介质上命令的并行执行,采用并行存储介质的新型存储系统能大大提高存储接口的利用效率,从而提升数据存储密度和数据访问速度。但是,如果存储控制器的存储命令调度管理方法不针对并行化的存储介质进行优化,并不能充分发挥并行存储介质的优势。例如,单存储命令队列系统只能按顺序读取单队列中的存储命令。如果在队列中出现多个连续的命令发送至同一存储介质,因为同一存储介质上只能有一个正在执行的命令,会造成存储命令在队列中的阻塞,进而使得大量存储介质处于空闲状态,无法发挥并行存储介质在数据访问速度上的优势。因此,针对并行化存储介质的特点,存储控制器的命令调度需要跨多个层次考综合优化:既要考虑系统层面的命令优先级,也要兼顾物理层面上的存储介质状态。
发明内容
根据上述问题,本发明提供了一种并行存储介质存储控制器的命令调度管理系统与方法。
本发明提供了一种适用于并行存储介质的命令调度管理系统与方法,包括3个功能模块,包括:
模块1:接收操作存储介质命令的存储命令队列单元;
模块2:调配存储命令队列中存储命令的存储命令调度单元;
模块3:在存储介质上并行执行多个存储命令的存储命令执行单元。
本发明的有益效果是:通过同时考虑存储命令优先级以及并行存储介质的工作状态,优化存储命令的调度管理,充分利用并行化的存储介质,提高存储接口的带宽利用效率。
在上述技术方案的基础上,本发明还可以做如下进一步说明。
进一步,所述模块1的功能包括,提供多存储命令队列管理机制,根据命令的优先级和所操作的存储介质,将接收到来自存储控制器应用端的存储命令发送至相应的命令队列排队等待执行。并且模块1,即存储命令队列单元可根据模块2,即存储命令调配单元的请求,从被请求的存储命令队列中读取待执行存储命令并发送至模块2。
进一步,所述模块2的功能包括,根据模块1中存储命令队列的优先级,以及来自模块3的存储介质的状态,向模块1,即存储命令队列单元请求读取相应的队列命令作为待执行存储命令,并发送至模块3,即存储命令执行单元执行,从而充分利用并行存储介质的并行化特点,提高存储命令调度的效率。
进一步,所述模块3的功能包括,并行执行多个存储介质上的存储命令,将多个存储命令在单一的存储介质接口上交织执行,提高数据通道的带宽利用率,并且监控存储介质的状态,提供给模块2,即存储命令调度单元做命令调度决策优化。
附图说明
图1是采用并行存储介质的存储系统框架图;
图2是一种应用本发明的并行存储介质控制系统框架图;
图3是一种应用本发明的存储命令队列单元的系统框图;
图4是一种应用本发明的存储命令队列单元的队列管理控制流程;
图5是一种应用本发明的存储命令调度单元的控制流程;
图6是存储介质的工作状态流程。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,图1描述了采用并行存储介质的存储系统框架图。存储系统由存储系统的应用端,存储控制器和存储介质组成。采用并行存储介质的存储系统其特征在于,在共享的存储介质接口上挂载多个并行的存储介质,且每个挂载在共享接口上的存储介质可单独进行存储介质的操作,例如高数据读、数据写等操作。存储系统中的存储控制器把多个存储介质上的存储操作在存储接口上交织发送,可以提高存储接口数据带宽的使用率,从而提升整体存储系统的数据吞吐率。例如,NAND闪存的IO通道通常挂载多个NAND闪存颗粒。这些NAND闪存颗粒共享一个命令数据接口通道,但是可以独立且并行执行NAND闪存操作。
如图2所示,图2描述了一种应用本发明的并行存储介质控制系统框架图。该系统由存储命令队列单元,存储命令调配单元和存储命令执行单元组成。
存储命令队列单元负责接收来自存储系统应用端的存储介质操作命令,比如存储介质的数据读取、写入或者擦除等操作。如图3所示,图3描述了一种应用本发明的存储命令队列单元框架图。存储命令队列单元包含多个具有不同执行优先级的命令队列组。根据存储命令的执行优先级,存储命令被列入相应的命令队列组进行执行等候。在命令队列组内部,针对并行化的存储介质可独立操作的特点,可对每个存储介质单独配置存储命令队列;如果存储命令之间具有相关性,也可采用单一的存储命令队列。
存储命令队列单元的队列管理模块对命令队列进行存储命令的队列写入和读取管理,并将各个命令队列的状态提供给存储命令调配单元做调配控制。如图4所示,图4描述了一种应用本发明的存储命令队列单元的队列管理控制流程:在接收到命令写入请求之后,队列管理模块根据命令的优先级和对应的存储介质,将存储命令写入相应的队列等候执行;在接收到命令读取请求之后,队列管理模块从相应的命令队列读取出存储命令。
存储命令调度单元负责检查并行存储介质的状态,并根据待执行命令的优先级,在命令队列单元中选取存储命令,读取并发送至存储命令执行单元。如图5所示,图5描述了一种应用本发明的存储命令调度单元的控制流程。存储命令调度单元读取并行存储介质状态后,根据优先级别,从高到低依次检查存储命令队列单元内的的命令队列组:如果在当前检查的命令队列组中,对应的空闲存储介质的命令队列有等候的存储命令,存储命令调度单元请求读出命令并发送至存储命令执行单元执行;如果没有,存储命令调度单元对下一个优先级别的命令队列组进行检查直至最低的命令队列组。如果所有的队列组都没有符合条件的存储命令,命令调度单元重新从存储命令执行单元读取并行存储介质状态,再次进行存储命令队列的检查。
存储命令执行单元可负责多个存储介质上存储命令的并行管理,其允许存储介质接口上挂载的每个储存介质上有一个正在执行的命令。存储命令执行单元会交织执行不同存储介质上的命令,最大效率利用存储接口的通道带宽。存储命令执行单元负责记录所管理的存储介质的状态。如图6所示,图6描述了存储介质在执行一个命令时的状态转换流程。当存储介质上没有命令执行时,此存储介质处于空闲状态。当存储介质从存储调度单元接收到一个命令,其状态转变成准备状态,代表此存储介质可以被存储命令执行单元处理。当存储命令执行单元选中处理此存储介质,其状态转变为活跃状态,并且开始执行存储介质上的当前命令。当前存储介质上的命令的当前任务执行完成后,如果当前任务是命令流程中的最终任务,此存储介质状态转变为空闲,否则转变为准备状态,并根据命令流程选定下一个将要被执行任务。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种并行存储介质存储控制器的命令调度管理系统,包括3个模块:
模块1:接收操作存储介质命令的存储命令队列单元;
模块2:调配存储命令队列中存储命令的存储命令调度单元;
模块3:在存储介质上并行执行多个存储命令的存储命令执行单元。
2.根据权利要求1所述的系统,其特征在于,所述模块1包括多个不同优先级的命令队列组,且每个存储命令队列组可单独为每一个存储介质配制相应的存储命令队列。
3.根据权利要求1所述的系统,其特征在于,所述模块1的功能包括,接收来自存储系统应用端的对存储介质进行操作的存储命令,且根据命令优先级和所操作的存储介质,将存储命令存入相应的命令队列。存储介质的存储命令包括但不限于,数据读、数据写、以及数据擦除等操作。
4.根据权利要求1所述的系统,其特征在于,所述模块1的功能还包括,依据权利要求1所述的系统中的模块2的请求发送存储命令至模块2,即存储命令调度单元。
5.根据权利要求1所述的系统,其特征在于,所述模块2的功能包括,根据权利要求1所述的系统中的模块3,即命令执行模块提供的存储介质状态以及存储命令对应的优先级,从权利要求1所述的系统中的模块1的相应命令队列中选取存储命令,发送至模块3,即存储命令执行单元执行。
6.根据权利要求1所述的系统,其特征在于,所述模块3的功能包括,可并行管理多个存储介质上的存储命令,通过共享的存储介质接口交织发送多个存储命令至相应的存储介质,以充分利用多个存储介质共享存储介质接口带宽。
7.根据权利要求1所述的系统,其特征在于,所述模块3的功能还包括,将共享存储介质接口的并行存储介质的状态反馈给权利要求1所述的系统中的模块2,集存储命令调度单元。
8.一种并行存储介质存储控制器的命令调度管理方法,其特征在于,通过对存储命令队列优先级和并行存储介质状态的同时考虑,优化存储命令的调度管理。其中,权利要求1所诉系统中的模块1,负责存储命令的优先级管理,并为并行的存储介质提供各自的命令队列;所诉模块3做并行存储介质操作执行和状态管理;所诉模块2,依据模块1提供的命令优先级,和模块3提供的存储介质状态进行最优化命令调度。采用并行存储介质的存储系统,例如NAND闪存,其存储介质接口通常挂载多个存储介质。这些存储介质共享一个数据命令接口,但是可以独立且并行执行存储命令操作。通过所诉的的存储控制器命令调度管理方法可优化命令调度管理,充分利用并行存储介质系统提供的数据带宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711372044.7A CN108021516B (zh) | 2017-12-19 | 2017-12-19 | 一种并行存储介质存储控制器的命令调度管理系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711372044.7A CN108021516B (zh) | 2017-12-19 | 2017-12-19 | 一种并行存储介质存储控制器的命令调度管理系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108021516A true CN108021516A (zh) | 2018-05-11 |
CN108021516B CN108021516B (zh) | 2020-12-25 |
Family
ID=62074219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711372044.7A Active CN108021516B (zh) | 2017-12-19 | 2017-12-19 | 一种并行存储介质存储控制器的命令调度管理系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108021516B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614049A (zh) * | 2018-12-11 | 2019-04-12 | 湖南国科微电子股份有限公司 | 闪存控制方法、闪存控制器及闪存系统 |
CN109766056A (zh) * | 2018-11-28 | 2019-05-17 | 上海威固信息技术股份有限公司 | 一种存储阵列控制器io队列调度方法与装置 |
WO2021146877A1 (zh) * | 2020-01-21 | 2021-07-29 | 上海华东汽车信息技术有限公司 | 车辆控制器并行刷新方法、装置、计算机设备和存储介质 |
WO2022222375A1 (zh) * | 2021-04-23 | 2022-10-27 | 华为技术有限公司 | 传输数据的方法及存储装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227350A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 一种基于优先级调度的并行执行自动化测试系统及其方法 |
US20080307130A1 (en) * | 2007-06-06 | 2008-12-11 | I Chia Chang | Methods and apparatuses for processing I/O requests of data storage devices |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN101609438A (zh) * | 2008-06-19 | 2009-12-23 | 索尼株式会社 | 存储器系统、其访问控制方法和计算机程序 |
CN101965559A (zh) * | 2007-12-27 | 2011-02-02 | 普莱恩特技术股份有限公司 | 包括将处理器与内部存储器连接的交叉切换器的用于闪存的存储控制器 |
CN102763090A (zh) * | 2010-01-28 | 2012-10-31 | 索尼爱立信移动通讯有限公司 | 用于利用nand存储器件同时读写的系统和方法 |
CN105975338A (zh) * | 2016-05-05 | 2016-09-28 | 汉柏科技有限公司 | 一种任务调度的方法和系统 |
CN107092445A (zh) * | 2017-05-31 | 2017-08-25 | 郑州云海信息技术有限公司 | 一种多通道ssd固态盘io调度方法及装置 |
-
2017
- 2017-12-19 CN CN201711372044.7A patent/CN108021516B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080307130A1 (en) * | 2007-06-06 | 2008-12-11 | I Chia Chang | Methods and apparatuses for processing I/O requests of data storage devices |
CN101965559A (zh) * | 2007-12-27 | 2011-02-02 | 普莱恩特技术股份有限公司 | 包括将处理器与内部存储器连接的交叉切换器的用于闪存的存储控制器 |
CN101227350A (zh) * | 2008-02-03 | 2008-07-23 | 中兴通讯股份有限公司 | 一种基于优先级调度的并行执行自动化测试系统及其方法 |
CN101609438A (zh) * | 2008-06-19 | 2009-12-23 | 索尼株式会社 | 存储器系统、其访问控制方法和计算机程序 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN102763090A (zh) * | 2010-01-28 | 2012-10-31 | 索尼爱立信移动通讯有限公司 | 用于利用nand存储器件同时读写的系统和方法 |
CN105975338A (zh) * | 2016-05-05 | 2016-09-28 | 汉柏科技有限公司 | 一种任务调度的方法和系统 |
CN107092445A (zh) * | 2017-05-31 | 2017-08-25 | 郑州云海信息技术有限公司 | 一种多通道ssd固态盘io调度方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766056A (zh) * | 2018-11-28 | 2019-05-17 | 上海威固信息技术股份有限公司 | 一种存储阵列控制器io队列调度方法与装置 |
CN109614049A (zh) * | 2018-12-11 | 2019-04-12 | 湖南国科微电子股份有限公司 | 闪存控制方法、闪存控制器及闪存系统 |
CN109614049B (zh) * | 2018-12-11 | 2022-03-25 | 湖南国科微电子股份有限公司 | 闪存控制方法、闪存控制器及闪存系统 |
WO2021146877A1 (zh) * | 2020-01-21 | 2021-07-29 | 上海华东汽车信息技术有限公司 | 车辆控制器并行刷新方法、装置、计算机设备和存储介质 |
WO2022222375A1 (zh) * | 2021-04-23 | 2022-10-27 | 华为技术有限公司 | 传输数据的方法及存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108021516B (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108021516A (zh) | 一种并行存储介质存储控制器的命令调度管理系统与方法 | |
CN104915151B (zh) | 多虚拟机系统中一种主动共享的内存超量分配方法 | |
US6418478B1 (en) | Pipelined high speed data transfer mechanism | |
CN103370685B (zh) | 存储环境中的i/o写入的调度 | |
US8307170B2 (en) | Information processing method and system | |
CN101477511B (zh) | 一种实现多操作系统共享存储介质的方法和装置 | |
DE102022107621A1 (de) | Resourcenauswahl, die zum teil auf der arbeitslast basiert | |
CN104580447B (zh) | 一种基于访问热度的时空数据服务调度方法 | |
CN101373445B (zh) | 一种内存调度方法及装置 | |
CN105335219A (zh) | 一种基于分布式的任务调度方法及系统 | |
CN103095788A (zh) | 一种基于网络拓扑的云资源调度策略 | |
JP5882557B2 (ja) | 要求優先順位シーク・マネージャ | |
KR20170107886A (ko) | 다중 스트림 솔리드 스테이트 드라이브 서비스 품질 관리 | |
CN109542814A (zh) | 通过pci-express的p2p连接在存储设备之间传输数据的方法和系统 | |
CN107515728A (zh) | 发挥闪存设备内部并发特性的数据管理方法和装置 | |
Shen et al. | Probabilistic network-aware task placement for mapreduce scheduling | |
CN103905517A (zh) | 一种数据存储方法及设备 | |
CN108667903B (zh) | 数据发送方法、装置和存储介质 | |
CN109799956A (zh) | 一种存储控制器及io请求处理方法 | |
CN109408243A (zh) | 一种基于rdma的数据处理方法、装置和介质 | |
CN110007870A (zh) | 一种存储设备写请求处理方法及相关装置 | |
CN103297350A (zh) | 一种信元交换系统的实现方法和交换设备 | |
CN112506431B (zh) | 基于磁盘设备属性的i/o指令调度方法及装置 | |
CN112463064B (zh) | 基于双链表结构的i/o指令管理方法及装置 | |
CN109766056A (zh) | 一种存储阵列控制器io队列调度方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310053 room c1-604, building C, No. 459, Qianmo Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province Patentee after: Lianyun Technology (Hangzhou) Co.,Ltd. Address before: 310053 9 / F, building 2, No. 307, Liuhe Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: MAXIO TECHNOLOGY (HANGZHOU) Ltd. |