CN107832020A - 一种固态硬盘的写入方法 - Google Patents
一种固态硬盘的写入方法 Download PDFInfo
- Publication number
- CN107832020A CN107832020A CN201711187207.4A CN201711187207A CN107832020A CN 107832020 A CN107832020 A CN 107832020A CN 201711187207 A CN201711187207 A CN 201711187207A CN 107832020 A CN107832020 A CN 107832020A
- Authority
- CN
- China
- Prior art keywords
- request
- queue
- write
- read
- added
- 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.)
- Pending
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
- 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]
Abstract
本发明提供了一种固态硬盘读写方法,提高固态硬盘的读写效率。包括:排序模块,用于当接收到任一请求时,确定该请求为读请求、异步写请求还是同步写请求;如果是读请求,则将该请求加入到读请求队列中,并排在最后一位;如果是异步写请求,则将该请求加入到异步写请求队列中,并排在最后一位;如果是同步写请求,则将该请求加入到同步写请求队列中,并排在最后一位;处理模块,用于按照由先到后的排序顺序对各队列中的各请求进行处理。
Description
技术领域
本发明涉及硬盘技术,特别涉及一种固态硬盘读写方法。
背景技术
现有的硬盘读写方式中,读请求和写请求分别被放入到硬盘的读请求队列和写请求队列中,每个队列中的请求均按照请求的数据在硬盘中的逻辑位置先后顺序进行排序。也就是说,读请求队列中的各请求按照要读取的数据在硬盘中的逻辑位置先后顺序进行排序,写请求队列中的各请求按照要写入的数据在硬盘中的逻辑位置先后顺序进行排序。
硬盘通常可分为两类,即机械硬盘和固态硬盘。其中,机械硬盘即指传统的普通硬盘,采用磁性碟片来进行数据存储,固态硬盘采用闪存颗粒来进行数据存储。对于机械硬盘来说,采用现有的硬盘读写方式后,可以使磁头尽可能地进行顺序读写,从而避免了磁头去来回地定位数据在硬盘中的逻辑位置,进而提高了机械硬盘的读写效率。但是,对于固态硬盘来说,由于其没有磁头,因此现有硬盘读写方式对其并没有帮助,反而,按照请求的数据在硬盘中的逻辑位置先后顺序对各请求进行排序还会浪费时间和资源,进而降低了固态硬盘的读写效率。
发明内容
本发明提供了一种固态硬盘读写方法,提高固态硬盘的读写效率。本发明的技术方案是:当接收到任一请求时,固态硬盘确定该请求为读请求、异步写请求还是同步写请求;如果是读请求,则将该请求加入到读请求队列中,并排在最后一位;如果是异步写请求,则将该请求加入到异步写请求队列中,并排在最后一位;如果是同步写请求,则将该请求加入到同步写请求队列中,并排在最后一位;所述固态硬盘按照由先到后的排序顺序对各队列中的各请求进行处理。包括:
排序模块,用于当接收到任一请求时,确定该请求为读请求、异步写请求还是同步写请求;如果是读请求,则将该请求加入到读请求队列中,并排在最后一位;如果是异步写请求,则将该请求加入到异步写请求队列中,并排在最后一位;如果是同步写请求,则将该请求加入到同步写请求队列中,并排在最后一位;
处理模块,用于按照由先到后的排序顺序对各队列中的各请求进行处理。
可见,采用本发明所述方案,针对固态硬盘,无需按照请求的数据在硬盘中的逻辑位置先后顺序来对各请求进行排序,只需按照各请求的到达时间由先到后的顺序进行排序即可,从而节省了时间和资源,进而提高了固态硬盘的读写效率,而且,将写请求进一步区分为异步写请求和同步写请求,从而更加方便后续处理,实现起来更为灵活方便。
附图说明
图1为本发明固态硬盘实施例的组成结构示意图。
图2为本发明固态硬盘读写方法实施例的流程图。
具体实施方式
针对现有技术中存在的问题,本发明中提出一种固态硬盘读写方案,能够提高固态硬盘的读写效率。
图2为本发明固态硬盘读写方法实施例的流程图。如图2所示,包括:
步骤11:当接收到任一请求时,固态硬盘确定该请求为读请求、异步写请求还是同步写请求;如果是读请求,则将该请求加入到读请求队列中,并排在最后一位;如果是异步写请求,则将该请求加入到异步写请求队列中,并排在最后一位;如果是同步写请求,则将该请求加入到同步写请求队列中,并排在最后一位。本步骤中,当固态硬盘接收到任一请求时,首先区分出该请求为读请求、异步写请求还是同步写请求,如果是读请求,则将该请求加入到读请求队列中,并将该请求排在读请求队列中的最后一位,如果是异步写请求,则将该请求加入到异步写请求队列中,并将该请求排在异步写请求队列中的最后一位,如果是同步写请求,则将该请求加入到同步写请求队列中,并将该请求排在同步写请求队列中的最后一位。即无论是读请求队列、异步写请求队列还是同步写请求队列,其中的请求均按照到达时间由先到后的顺序进行排序,从而节省了时间和资源,进而提高了固态硬盘的读写效率,而且,将写请求进一步区分为异步写请求和同步写请求,从而更加方便后续处理,实现起来更为灵活方便。
另外,为了进一步提升固态硬盘的读写效率,在实际应用中,还可进行以下处理:
对于任一请求,如果其为读请求,那么在将该请求加入到读请求队列中之后,可进一步确定该请求是否能够和读请求队列中已有的请求进行合并,如果是,则进行合并,否则,将该请求排在读请求队列中的最后一位;
同样,在将该请求加入到异步写请求队列中之后,可进一步确定该请求是否能够和异步写请求队列中已有的请求进行合并,如果是,则进行合并,否则,将该请求排在异步写请求队列中的最后一位;
在将该请求加入到同步写请求队列中之后,可进一步确定该请求是否能够和同步写请求队列中已有的请求进行合并,如果是,则进行合并,否则,将该请求排在同步写请求队列中的最后一位。
符合何种条件的两个请求能够进行合并可根据实际需要而定。
比如:读请求队列中已有三个读请求,其中一个读请求为读请求A,请求读扇区1~10,读请求A排在第二位,之后,新来了一个读请求B,请求读扇区11~20,那么则可将读请求B和读请求A进行合并。
步骤12:固态硬盘按照由先到后的排序顺序对各队列中的各请求进行处理。本步骤中,针对每个队列,固态硬盘分别按照该队列中的各请求的由先到后的排序顺序对各请求进行处理。
另外,可预先设定处理策略,比如处理完读请求之后再处理写请求,或者处理完写请求之后再处理读请求,或者,也可以读请求和写请求交叉进行处理,具体如何进行处理可根据实际需要而定。
但通常,在处理写请求时,会优先处理同步写请求队列中的同步写请求,即优先确保对应的数据比较重要的同步写请求能够得到及时处理。所述优先可体现在:每处理N个同步写请求,则处理一个异步写请求,之后再处理N个同步写请求,依次类推,N为大于1的正整数,具体取值可根据实际需要而定,比如可为6。
至此,即完成了关于本发明方法实施例的介绍。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种固态硬盘读写方法,其特征在于,固态硬盘按照由先到后的排序顺序对各队列中的各请求进行处理。
2.根据权利要求1所述的方法,其特征在于,
所述将该请求加入到读请求队列中之后,进一步包括:确定该请求是否能够和所述读请求队列中已有的一请求进行合并,如果是,则进行合并,否则,将该请求排在所述读请求队列中的最后一位;
所述将该请求加入到异步写请求队列中之后,进一步包括:确定该请求是否能够和所述异步写请求队列中已有的一请求进行合并,如果是,则进行合并,否则,将该请求排在所述异步写请求队列中的最后一位;
所述将该请求加入到同步写请求队列中之后,进一步包括:确定该请求是否能够和所述同步写请求队列中已有的一请求进行合并,如果是,则进行合并,否则,将该请求排在所述同步写请求队列中的最后一位。
3.根据权利要求1或2所述的方法,其特征在于,该方法进一步包括:在处理写请求时,优先处理所述同步写请求队列中的写请求。
4.一种固态硬盘,其特征在于,包括:
排序模块,用于当接收到任一请求时,确定该请求为读请求、异步写请求还是同步写请求;如果是读请求,则将该请求加入到读请求队列中,并排在最后一位;如果是异步写请求,则将该请求加入到异步写请求队列中,并排在最后一位;如果是同步写请求,则将该请求加入到同步写请求队列中,并排在最后一位;
处理模块,用于按照由先到后的排序顺序对各队列中的各请求进行处理。
5.根据权利要求4所述的固态硬盘,其特征在于,
所述排序模块进一步用于,在将该请求加入到读请求队列中之后,确定该请求是否能够和所述读请求队列中已有的一请求进行合并,如果是,则进行合并,否则,将该请求排在所述读请求队列中的最后一位。
6.根据权利要求4或5所述的固态硬盘,其特征在于,所述处理模块进一步用于,在处理写请求时,优先处理所述同步写请求队列中的写请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711187207.4A CN107832020A (zh) | 2017-11-24 | 2017-11-24 | 一种固态硬盘的写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711187207.4A CN107832020A (zh) | 2017-11-24 | 2017-11-24 | 一种固态硬盘的写入方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107832020A true CN107832020A (zh) | 2018-03-23 |
Family
ID=61653464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711187207.4A Pending CN107832020A (zh) | 2017-11-24 | 2017-11-24 | 一种固态硬盘的写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832020A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064636A (zh) * | 2012-12-24 | 2013-04-24 | 创新科存储技术有限公司 | 一种固态硬盘读写方法以及一种固态硬盘 |
CN104317656A (zh) * | 2014-10-14 | 2015-01-28 | 深圳市锐明视讯技术有限公司 | 一种块设备输入输出请求调度的方法及装置 |
CN104503710A (zh) * | 2015-01-23 | 2015-04-08 | 福州瑞芯微电子有限公司 | 一种提高闪存写入速度的方法和装置 |
-
2017
- 2017-11-24 CN CN201711187207.4A patent/CN107832020A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064636A (zh) * | 2012-12-24 | 2013-04-24 | 创新科存储技术有限公司 | 一种固态硬盘读写方法以及一种固态硬盘 |
CN104317656A (zh) * | 2014-10-14 | 2015-01-28 | 深圳市锐明视讯技术有限公司 | 一种块设备输入输出请求调度的方法及装置 |
CN104503710A (zh) * | 2015-01-23 | 2015-04-08 | 福州瑞芯微电子有限公司 | 一种提高闪存写入速度的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150253992A1 (en) | Memory system and control method | |
KR101373978B1 (ko) | 배치 스케줄링에 의한 스레드들의 스케줄링 | |
US8332608B2 (en) | Method of enhancing command executing performance of disc drive | |
CN103064636B (zh) | 一种固态硬盘读写方法以及一种固态硬盘 | |
US20150186068A1 (en) | Command queuing using linked list queues | |
US20120159016A1 (en) | Memory system and data transfer method | |
US20110119679A1 (en) | Method and system of an i/o stack for controlling flows of workload specific i/o requests | |
US20170008172A1 (en) | Stable grasp point selection for robotic grippers with machine vision and ultrasound beam forming | |
CN107247619A (zh) | 虚拟机热迁移方法、装置、系统、存储介质及设备 | |
US20160011966A1 (en) | Solid state memory command queue in hybrid device | |
US20060161923A1 (en) | Task management in a data processing environment having multiple hardware entities | |
US20150149741A1 (en) | Storage System and Control Method Thereof | |
GB2593408A (en) | Increasing data performance by transferring data between storage tiers using workload characteristics | |
CN106325974A (zh) | 一种虚拟化io性能优化方法及系统 | |
CN106383742A (zh) | 一种基于linux的IO调度方法 | |
CN106681660A (zh) | Io调度方法及io调度装置 | |
JP2006216027A5 (zh) | ||
TW201039349A (en) | Data accessing method for flash memory and storage system and controller using the same | |
CN1637725A (zh) | 用于保留存储器的方法、系统及产品 | |
CN105389268B (zh) | 资料储存系统及其运作方法 | |
CN109597570B (zh) | 高速处理闪存的方法及基于该方法的设备和可读存储介质 | |
US20180173460A1 (en) | Contention reduction scheduler for nand flash array with raid | |
AU2015203828B2 (en) | Implementing enhanced performance with read before write to phase change memory to avoid write cancellations | |
CN107832020A (zh) | 一种固态硬盘的写入方法 | |
CN102779017B (zh) | 一种固态盘中数据缓存区的控制方法 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180323 |