CN108021516B - 一种并行存储介质存储控制器的命令调度管理系统与方法 - Google Patents
一种并行存储介质存储控制器的命令调度管理系统与方法 Download PDFInfo
- Publication number
- CN108021516B CN108021516B CN201711372044.7A CN201711372044A CN108021516B CN 108021516 B CN108021516 B CN 108021516B CN 201711372044 A CN201711372044 A CN 201711372044A CN 108021516 B CN108021516 B CN 108021516B
- Authority
- CN
- China
- Prior art keywords
- storage
- command
- storage medium
- state
- unit
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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 (6)
1.一种并行存储介质存储控制器的命令调度管理系统,包括:
存储命令队列单元,用于接收分别操作多个存储介质的命令,每个所述命令具有相应的优先级别,所述存储命令队列单元包括多个命令队列组,具有相同所述优先级别的所述命令位于同一所述命令列队组中,至少一个所述存储介质对应的所述命令的数量为多个,且针对同一所述存储介质的多个所述命令的优先级别不同;
存储命令执行单元,用于接收相应的所述命令在多个所述存储介质上并行执,并且获取每个所述存储介质的状态;以及
存储命令调度单元,用于从所述存储命令执行单元中获取每个所述存储介质的状态,依次按照多个所述命令列队组对应的所述优先级别检测所述命令列队组对应的每个所述存储介质的状态,并根据检测结果将相应的所述命令调配至所述存储命令执行单元中,
其中,在依次按照多个所述命令列队组对应的所述优先级别检测所述命令列队组对应的每个所述存储介质的状态的过程中,
如果每个所述存储介质状态均不为空闲状态,则所述存储命令调度单元重新从存储命令执行单元获取每个所述存储介质的状态并重新依次按照多个所述命令列队组对应的所述优先级别检测所述命令列队组对应的每个所述存储介质的状态;
如果检测到某一所述命令列队组中对应的至少一个所述存储介质的状态为空闲状态,则所述存储命令调度单元从所述存储命令队列单元中获取处于所述空闲状态的所述存储介质的所述命令并发送至所述存储命令执行单元,在所述存储命令执行单元获取更新的每个所述存储介质的状态后,所述存储命令调度单元重新从存储命令执行单元获取每个所述存储介质的状态并重新依次按照多个所述命令列队组对应的所述优先级别检测所述命令列队组对应的每个所述存储介质的状态。
2.根据权利要求1所述的系统,其特征在于,每个所述存储命令队列组可单独为每一个所述存储介质配制相应的存储命令队列。
3.根据权利要求1所述的系统,其特征在于,所述命令来自存储系统应用端,所述命令包括:数据读、数据写以及数据擦除操作。
4.根据权利要求1所述的系统,其特征在于,所述存储命令队列单元根据所述存储命令调度单元的请求发送所述命令至所述存储命令调度单元。
5.根据权利要求1所述的系统,其特征在于,所述存储命令执行单元通过共享的存储介质接口交织发送多个所述命令至相应的所述存储介质,以充分利用多个所述存储介质共享所述存储介质接口带宽。
6.一种并行存储介质存储控制器的命令调度管理方法,其特征在于,采用如权利要求1-5任一项所述并行存储介质存储控制器的命令调度管理系统执行。
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 CN108021516A (zh) | 2018-05-11 |
CN108021516B true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766056A (zh) * | 2018-11-28 | 2019-05-17 | 上海威固信息技术股份有限公司 | 一种存储阵列控制器io队列调度方法与装置 |
CN109614049B (zh) * | 2018-12-11 | 2022-03-25 | 湖南国科微电子股份有限公司 | 闪存控制方法、闪存控制器及闪存系统 |
WO2021146877A1 (zh) * | 2020-01-21 | 2021-07-29 | 上海华东汽车信息技术有限公司 | 车辆控制器并行刷新方法、装置、计算机设备和存储介质 |
CN115237833A (zh) * | 2021-04-23 | 2022-10-25 | 超聚变数字技术有限公司 | 传输数据的方法及存储装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609438A (zh) * | 2008-06-19 | 2009-12-23 | 索尼株式会社 | 存储器系统、其访问控制方法和计算机程序 |
CN105975338A (zh) * | 2016-05-05 | 2016-09-28 | 汉柏科技有限公司 | 一种任务调度的方法和系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8112566B2 (en) * | 2007-06-06 | 2012-02-07 | Intel Corporation | Methods and apparatuses for processing I/O requests of data storage devices |
US8245101B2 (en) * | 2007-12-27 | 2012-08-14 | Sandisk Enterprise Ip Llc | Patrol function used in flash storage controller to detect data errors |
CN101227350B (zh) * | 2008-02-03 | 2011-05-11 | 中兴通讯股份有限公司 | 一种基于优先级调度的并行执行自动化测试系统及其方法 |
CN101498994B (zh) * | 2009-02-16 | 2011-04-20 | 华中科技大学 | 一种固态硬盘控制器 |
US8429374B2 (en) * | 2010-01-28 | 2013-04-23 | Sony Corporation | System and method for read-while-write with NAND memory device |
CN107092445B (zh) * | 2017-05-31 | 2020-05-29 | 郑州云海信息技术有限公司 | 一种多通道ssd固态盘io调度方法及装置 |
-
2017
- 2017-12-19 CN CN201711372044.7A patent/CN108021516B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609438A (zh) * | 2008-06-19 | 2009-12-23 | 索尼株式会社 | 存储器系统、其访问控制方法和计算机程序 |
CN105975338A (zh) * | 2016-05-05 | 2016-09-28 | 汉柏科技有限公司 | 一种任务调度的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108021516A (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108021516B (zh) | 一种并行存储介质存储控制器的命令调度管理系统与方法 | |
US11467769B2 (en) | Managed fetching and execution of commands from submission queues | |
US8661188B2 (en) | Parallel flash memory controller, chip and control method thereof | |
US10156994B2 (en) | Methods and systems to reduce SSD IO latency | |
US8832333B2 (en) | Memory system and data transfer method | |
US20140137128A1 (en) | Method of Scheduling Tasks for Memories and Memory System Thereof | |
US10642500B2 (en) | Methods, systems and computer readable media for intelligent fetching of data storage device commands from submission queues | |
EP2884396A1 (en) | Storage control apparatus, storage control program, and storage control method | |
US11449443B2 (en) | Identification and classification of write stream priority | |
CN104090847A (zh) | 一种固态存储设备的地址分配方法 | |
US20220206874A1 (en) | Determination of workload distribution across processors in a memory system | |
KR20010066933A (ko) | 디스크 제어기로부터 디스크 드라이브로 명령을 보낼것인가를 판단하는 방법, 디스크 제어기 및 프로그램을저장하는 기록매체 | |
CN112534392A (zh) | 用于存储器系统中的读取操作的服务质量控制 | |
CN109614049B (zh) | 闪存控制方法、闪存控制器及闪存系统 | |
US20220197563A1 (en) | Qos traffic class latency model for just-in-time (jit) schedulers | |
CN113518970A (zh) | 存储器存取命令的双阈值受控调度 | |
US20140082318A1 (en) | Apparatus and Method for Sharing Resources between Storage Devices | |
CN114174977B (zh) | 改进对存储器子系统中的主机起始的请求的处置 | |
CN112748883B (zh) | 一种io请求流水线处理设备、方法、系统及存储介质 | |
US12001359B2 (en) | Identification and classification of write stream priority | |
US20230393877A1 (en) | Apparatus with dynamic arbitration mechanism and methods for operating the same | |
KR101453663B1 (ko) | 인텔리전트 ssd를 위한 효율적인 외부 정렬 방법 및 저장 장치 | |
CN116737398B (zh) | 一种异步io请求的调度与处理方法、装置、设备及介质 | |
US11868287B2 (en) | Just-in-time (JIT) scheduler for memory subsystems | |
EP3992771B1 (en) | Controller for performing command scheduling, storage device including the controller, and operating method of the controller |
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 |
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. |
|
CP03 | Change of name, title or address |