CN104317656A - 一种块设备输入输出请求调度的方法及装置 - Google Patents
一种块设备输入输出请求调度的方法及装置 Download PDFInfo
- Publication number
- CN104317656A CN104317656A CN201410541441.2A CN201410541441A CN104317656A CN 104317656 A CN104317656 A CN 104317656A CN 201410541441 A CN201410541441 A CN 201410541441A CN 104317656 A CN104317656 A CN 104317656A
- Authority
- CN
- China
- Prior art keywords
- output request
- block device
- device input
- input output
- request
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供了一种块设备输入输出请求调度的方法及装置,属于计算机存储器领域。在本发明中,首先生成块设备输入输出请求,块设备输入输出请求包括写操作请求;然后判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,则当生成的块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的块设备输入输出请求送入请求队列的最前位置。本发明通过所述块设备输入输出请求调度的方法及装置,提高了写操作的效率。
Description
技术领域
本发明涉及计算机存储器领域,特别涉及一种块设备输入输出请求调度的方法及装置。
背景技术
传统的操作系统(如Linux和windows等)的块设备输入输出调度算法以优化机械磁盘输入输出性能为目标,尽可能地让机械磁头往一个方向连续移动,以减少机械磁头寻道定位的时间开销。
随着技术的发展,采用闪存颗粒的固态硬盘和SD卡(Secure Digital MemoryCard,安全数码卡)开始逐渐取代带有机械磁盘磁头的机械磁盘。与机械硬盘的一个主要差别是:闪存颗粒没有机械磁头寻道定位的开销,但闪存内部需要后台运行垃圾回收操作,擦除无用数据块,为后续写入操作预先腾出空间。
在测试中发现,操作系统的块设备调度算法与闪存的垃圾及时回收存在配合冲突问题。表现如下:持续不断地写SD卡,每次写64KB,写地址随机。一段时间后,出现连续的数十次前后相邻写操作耗时均超过3秒,个别写操作耗时甚至长达数十秒。持续1~2分钟后恢复短暂正常,然后又重现。在实时性很强的数据采集应用场景,如此持续时间长的连续耗时过长写操作会导致数据缓冲阻塞,造成严重的实时数据丢失事故。
发明内容
本发明提供了一种块设备输入输出请求调度的方法及装置,提高了写操作的效率。
一方面,本发明提供了一种块设备输入输出请求调度的方法,所述方法包括:
A.生成块设备输入输出请求,所述块设备输入输出请求包括写操作请求;
B.判断生成的所述块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,执行步骤C1;
C1.当生成的所述块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的所述块设备输入输出请求送入所述请求队列的最前位置。
第二方面,本发明提供了一种块设备输入输出请求调度的装置,所述装置包括:
生成模块,用于生成块设备输入输出请求,所述块设备输入输出请求包括写操作请求;
判断模块,用于判断生成的所述块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,执行步骤C1;
送入模块,用于当生成的所述块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的所述块设备输入输出请求送入所述请求队列的最前位置。
在本发明中,由于首先生成块设备输入输出请求,块设备输入输出请求包括写操作请求;然后判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,则当生成的块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的块设备输入输出请求送入请求队列的最前位置,因此,提高了写操作的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的块设备输入输出请求调度的方法一种流程图;
图2为本发明实施例一提供的块设备输入输出请求调度的方法另一种流程图;
图3为本发明实施例三提供的块设备输入输出请求调度的装置一种结构示意图;
图4为本发明实施例三提供的一种块设备输入输出请求调度的装置修复模块结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一:
本发明实施例一提供了一种块设备输入输出请求调度的方法,参见图1,块设备输入输出请求调度的方法包括以下步骤:
101.生成块设备输入输出请求,块设备输入输出请求包括写操作请求。
102.判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,执行步骤103a。
步骤102中判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并具体为:判断生成的块设备输入输出请求的起始目的地址是否与请求队列中的块设备输入输出请求的结束目的地址是否相同,或判断生成的块设备输入输出请求的结束目的地址是否与请求队列中的块设备输入输出请求的起始目的地址是否相同。
103a.当生成的块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的块设备输入输出请求送入请求队列的最前位置。
如图2所示,当步骤102判断为否时,步骤102之后还包括步骤103b。
103b.当生成的块设备输入输出请求的目的设备是机械硬盘时,按照目的地址的先后顺序对生成的块设备输入输出请求与请求队列中的块设备输入输出请求进行排序以更新请求队列。
如图2所示,当步骤102判断为是时,步骤102之后还包括步骤103c。
103c.将生成的块设备输入输出请求与请求队列中的块设备输入输出请求合并。
如图2所示,步骤103a之后还包括步骤104a。
104a.执行请求队列的最前位置的块设备输入输出请求。
例如,文件系统生成写操作请求,目的地址为00000至0045 H,请求队列中的写操作请求的目的地址为00600至006 H 7,则判定生成的写操作请求不能与请求队列中的写操作请求合并,当生成的写操作请求的目的设备是固态盘时,将生成的写操作请求送入请求队列的最前位置,并执行请求队列的最前位置的写操作请求。
再例如,文件系统生成写操作请求,目的地址为00000至0045 H,请求队列中的第一写操作请求的目的地址为00600至006 H 7,请求队列中的第二写操作请求的目的地址为00700至008F4,当生成的块设备输入输出请求的目的设备是机械硬盘时,按照目的地址的先后顺序对生成的块设备输入输出请求与请求队列中的块设备输入输出请求进行排序以更新请求队列,即更新后的请求队列中写操作请求顺序为新生成的写操作请求、第一写操作请求和第二写操作请求。
再例如,文件系统生成写操作请求,目的地址为00000至0045 H,请求队列中的写操作请求的目的地址为0045 H至001H 7,生成的写操作请求的结束目的地址与请求队列中的写操作请求的起始目的地址相同,则将生成的写操作请求与请求队列中的写操作请求合并为一个新的写操作请求,其目的地址为00000至至001 H 7。
本实施例通过首先生成块设备输入输出请求,块设备输入输出请求包括写操作请求;然后判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,则当生成的块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的块设备输入输出请求送入请求队列的最前位置,因此,提高了写操作的效率。
实施例二:
本发明实施例二提供了一种块设备输入输出请求调度的装置,如图3所示,块设备输入输出请求调度的装置30包括生成模块310、判断模块320和送入模块330a。
生成模块310,用于生成块设备输入输出请求,块设备输入输出请求包括写操作请求;
判断模块320,用于判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,执行步骤C1;
送入模块330a,用于当生成的块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的块设备输入输出请求送入请求队列的最前位置。
可选的,如图4所示,块设备输入输出请求调度的装置30还包括排序模块330b、合并模块330c和执行模块340a。
排序模块330b,用于当生成的块设备输入输出请求的目的设备是机械硬盘时,按照目的地址的先后顺序对生成的块设备输入输出请求与请求队列中的块设备输入输出请求进行排序以更新请求队列。
合并模块330c,用于将生成的块设备输入输出请求与请求队列中的块设备输入输出请求合并。
执行模块340a,用于执行请求队列的最前位置的块设备输入输出请求。
其中,判断模块320判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并具体为:判断生成的块设备输入输出请求的起始目的地址是否与请求队列中的块设备输入输出请求的结束目的地址是否相同,或判断生成的块设备输入输出请求的结束目的地址是否与请求队列中的块设备输入输出请求的起始目的地址是否相同。
本实施例通过首先生成块设备输入输出请求,块设备输入输出请求包括写操作请求;然后判断生成的块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,则当生成的块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的块设备输入输出请求送入请求队列的最前位置,因此,提高了写操作的效率。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种块设备输入输出请求调度的方法,其特征在于,所述方法包括:
A.生成块设备输入输出请求,所述块设备输入输出请求包括写操作请求;
B.判断生成的所述块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,执行步骤C1;
C1.当生成的所述块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的所述块设备输入输出请求送入所述请求队列的最前位置。
2.根据权利要求1所述的方法,其特征在于,步骤B判断为否时,所述步骤B之后还包括:
C2.当生成的所述块设备输入输出请求的目的设备是机械硬盘时,按照目的地址的先后顺序对生成的所述块设备输入输出请求与所述请求队列中的块设备输入输出请求进行排序以更新所述请求队列。
3.根据权利要求1所述的方法,其特征在于,所述步骤B具体为:
判断生成的所述块设备输入输出请求的起始目的地址是否与请求队列中的块设备输入输出请求的结束目的地址是否相同,或判断生成的所述块设备输入输出请求的结束目的地址是否与请求队列中的块设备输入输出请求的起始目的地址是否相同。
4.根据权利要求1所述的方法,其特征在于,所述步骤B判断为是时,所述步骤B之后还包括以下步骤:
C3.将生成的所述块设备输入输出请求与所述请求队列中的块设备输入输出请求合并。
5.根据权利要求4所述的方法,其特征在于,所述步骤C1之后还包括:
执行所述请求队列的最前位置的块设备输入输出请求。
6.一种块设备输入输出请求调度的装置,其特征在于,所述装置包括:
生成模块,用于生成块设备输入输出请求,所述块设备输入输出请求包括写操作请求;
判断模块,用于判断生成的所述块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并,若否,执行步骤C1;
送入模块,用于当生成的所述块设备输入输出请求的目的设备是固态盘或SD卡时,将生成的所述块设备输入输出请求送入所述请求队列的最前位置。
7.根据权利要求6所述的装置,其特征在于,还包括:
排序模块,用于当生成的所述块设备输入输出请求的目的设备是机械硬盘时,按照目的地址的先后顺序对生成的所述块设备输入输出请求与所述请求队列中的块设备输入输出请求进行排序以更新所述请求队列。
8.根据权利要求6所述的装置,其特征在于,所述判断模块判断生成的所述块设备输入输出请求是否能与请求队列中的块设备输入输出请求合并具体为:
判断生成的所述块设备输入输出请求的起始目的地址是否与请求队列中的块设备输入输出请求的结束目的地址是否相同,或判断生成的所述块设备输入输出请求的结束目的地址是否与请求队列中的块设备输入输出请求的起始目的地址是否相同。
9.根据权利要求6所述的装置,其特征在于,还包括:
合并模块,用于将生成的所述块设备输入输出请求与所述请求队列中的块设备输入输出请求合并。
10.根据权利要求6所述的装置,其特征在于,还包括:
执行模块,用于执行所述请求队列的最前位置的块设备输入输出请求。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410541441.2A CN104317656B (zh) | 2014-10-14 | 2014-10-14 | 一种块设备输入输出请求调度的方法及装置 |
US15/323,966 US10254965B2 (en) | 2014-10-14 | 2014-12-01 | Method and apparatus for scheduling block device input/output requests |
PCT/CN2014/092691 WO2016058247A1 (zh) | 2014-10-14 | 2014-12-01 | 一种块设备输入输出请求调度的方法及装置 |
EP14904085.9A EP3166010A4 (en) | 2014-10-14 | 2014-12-01 | Method and apparatus for scheduling block device input/output requests |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410541441.2A CN104317656B (zh) | 2014-10-14 | 2014-10-14 | 一种块设备输入输出请求调度的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317656A true CN104317656A (zh) | 2015-01-28 |
CN104317656B CN104317656B (zh) | 2018-01-16 |
Family
ID=52372891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410541441.2A Active CN104317656B (zh) | 2014-10-14 | 2014-10-14 | 一种块设备输入输出请求调度的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10254965B2 (zh) |
EP (1) | EP3166010A4 (zh) |
CN (1) | CN104317656B (zh) |
WO (1) | WO2016058247A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325994A (zh) * | 2016-08-24 | 2017-01-11 | 广东欧珀移动通信有限公司 | 一种控制写请求的方法及终端设备 |
CN107832020A (zh) * | 2017-11-24 | 2018-03-23 | 苏州韦科韬信息技术有限公司 | 一种固态硬盘的写入方法 |
CN107943413A (zh) * | 2017-10-12 | 2018-04-20 | 记忆科技(深圳)有限公司 | 一种固态硬盘提升读性能的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148363A (en) * | 1991-07-26 | 2000-11-14 | Sandisk Corporation | Device and method for controlling solid-state memory system |
CN101354636A (zh) * | 2008-09-08 | 2009-01-28 | 创新科存储技术(深圳)有限公司 | 一种向磁盘阵列中写入数据的方法及系统 |
CN102402401A (zh) * | 2011-12-13 | 2012-04-04 | 云海创想信息技术(无锡)有限公司 | 一种磁盘io请求队列调度的方法 |
CN103064636A (zh) * | 2012-12-24 | 2013-04-24 | 创新科存储技术有限公司 | 一种固态硬盘读写方法以及一种固态硬盘 |
CN103823636A (zh) * | 2012-11-19 | 2014-05-28 | 苏州捷泰科信息技术有限公司 | Io调度方法及装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5687390A (en) * | 1995-11-14 | 1997-11-11 | Eccs, Inc. | Hierarchical queues within a storage array (RAID) controller |
US6160812A (en) * | 1998-05-04 | 2000-12-12 | Cabletron Systems, Inc. | Method and apparatus for supplying requests to a scheduler in an input buffered multiport switch |
US6490635B1 (en) * | 2000-04-28 | 2002-12-03 | Western Digital Technologies, Inc. | Conflict detection for queued command handling in disk drive controller |
US6954835B1 (en) * | 2002-10-30 | 2005-10-11 | Emc Corporation | Intercepting control of a host I/O process |
US7596670B2 (en) * | 2005-11-30 | 2009-09-29 | International Business Machines Corporation | Restricting access to improve data availability |
US7493419B2 (en) * | 2005-12-13 | 2009-02-17 | International Business Machines Corporation | Input/output workload fingerprinting for input/output schedulers |
US8135924B2 (en) * | 2009-01-14 | 2012-03-13 | International Business Machines Corporation | Data storage device driver |
US8078799B2 (en) * | 2009-06-10 | 2011-12-13 | Lsi Corporation | Method and system of an adaptive input/output scheduler for storage arrays |
CN101639763B (zh) | 2009-08-27 | 2011-08-24 | 中兴通讯股份有限公司 | 一种io调度方法及调度装置 |
US8301805B2 (en) * | 2009-09-15 | 2012-10-30 | Hewlett-Packard Development Company, L.P. | Managing I/O request in a storage system |
TW201111986A (en) * | 2009-09-29 | 2011-04-01 | Silicon Motion Inc | Memory apparatus and data access method for memories |
US8732342B1 (en) * | 2011-03-31 | 2014-05-20 | Emc Corporation | I/O scheduling system and method |
US9134909B2 (en) * | 2011-08-30 | 2015-09-15 | International Business Machines Corporation | Multiple I/O request processing in a storage system |
US9116625B2 (en) * | 2012-05-11 | 2015-08-25 | Micron Technology, Inc. | Write command overlap detection |
WO2014002126A1 (en) * | 2012-06-25 | 2014-01-03 | Hitachi, Ltd. | Computer system and method of controlling i/o with respect to storage apparatus |
US9026819B2 (en) * | 2012-10-01 | 2015-05-05 | College Of William And Mary | Method of conserving power based on electronic device's I/O pattern |
US9256384B2 (en) * | 2013-02-04 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for reducing write latency in a data storage system by using a command-push model |
-
2014
- 2014-10-14 CN CN201410541441.2A patent/CN104317656B/zh active Active
- 2014-12-01 WO PCT/CN2014/092691 patent/WO2016058247A1/zh active Application Filing
- 2014-12-01 EP EP14904085.9A patent/EP3166010A4/en not_active Withdrawn
- 2014-12-01 US US15/323,966 patent/US10254965B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148363A (en) * | 1991-07-26 | 2000-11-14 | Sandisk Corporation | Device and method for controlling solid-state memory system |
CN101354636A (zh) * | 2008-09-08 | 2009-01-28 | 创新科存储技术(深圳)有限公司 | 一种向磁盘阵列中写入数据的方法及系统 |
CN102402401A (zh) * | 2011-12-13 | 2012-04-04 | 云海创想信息技术(无锡)有限公司 | 一种磁盘io请求队列调度的方法 |
CN103823636A (zh) * | 2012-11-19 | 2014-05-28 | 苏州捷泰科信息技术有限公司 | Io调度方法及装置 |
CN103064636A (zh) * | 2012-12-24 | 2013-04-24 | 创新科存储技术有限公司 | 一种固态硬盘读写方法以及一种固态硬盘 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325994A (zh) * | 2016-08-24 | 2017-01-11 | 广东欧珀移动通信有限公司 | 一种控制写请求的方法及终端设备 |
CN106325994B (zh) * | 2016-08-24 | 2018-05-29 | 广东欧珀移动通信有限公司 | 一种控制写请求的方法及终端设备 |
CN107943413A (zh) * | 2017-10-12 | 2018-04-20 | 记忆科技(深圳)有限公司 | 一种固态硬盘提升读性能的方法 |
CN107832020A (zh) * | 2017-11-24 | 2018-03-23 | 苏州韦科韬信息技术有限公司 | 一种固态硬盘的写入方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016058247A1 (zh) | 2016-04-21 |
US10254965B2 (en) | 2019-04-09 |
EP3166010A4 (en) | 2018-03-14 |
US20170206008A1 (en) | 2017-07-20 |
EP3166010A1 (en) | 2017-05-10 |
CN104317656B (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303600B2 (en) | Method and storage device for collecting garbage data | |
CN102982180B (zh) | 数据存储方法及设备 | |
CN104166606B (zh) | 文件备份方法和主存储设备 | |
CN103870514B (zh) | 重复数据删除方法和装置 | |
CN104461936A (zh) | 缓存数据的刷盘方法及装置 | |
CN105446814A (zh) | 一种缓存回收方法和装置 | |
CN105243027A (zh) | 在存储设备中存储数据的方法和存储控制器 | |
CN1645516B (zh) | 用于闪速存储器的数据恢复设备和方法 | |
CN104317656A (zh) | 一种块设备输入输出请求调度的方法及装置 | |
CN103678337A (zh) | 数据清除方法、装置及系统 | |
CN103077163B (zh) | 数据预处理方法、装置及系统 | |
CN107229414A (zh) | 存储空间回收方法及装置 | |
EP1701358B1 (en) | Data write-in method for flash memory | |
CN107632789A (zh) | 基于分布式存储的重删方法、系统及数据重复检测方法 | |
CN104834648A (zh) | 日志查询方法和装置 | |
CN106293882A (zh) | 一种虚拟磁盘快照实现方法及装置 | |
CN103955440A (zh) | 一种非易失存储设备及其进行数据操作的方法 | |
CN111813347B (zh) | 垃圾回收空间管理方法、装置及计算机可读存储介质 | |
CN104050057A (zh) | 一种历史感知的数据去重碎片消除方法与系统 | |
CN109375870A (zh) | 一种加速ssd主控芯片d2h无映射读取的方法及其系统 | |
CN106844236A (zh) | 终端设备的数据存储方法和装置 | |
CN102467523A (zh) | 索引文件的建立方法与利用索引文件查询数据区块的方法 | |
CN106611364B (zh) | 存储碎片整理方法及装置 | |
CN105224250A (zh) | 高性能域名解析处理方法和装置 | |
CN105677244B (zh) | 一种降低tlc闪存的固态硬盘写放大的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park B1 building 22 floor Applicant after: STREAMAX TECHNOLOGY CO., LTD. Address before: 518000, Guangdong Shenzhen Nanshan District science and technology two road Shenzhen software park three, five floor Applicant before: Shenzhen Streaming Video Technology Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |