CN104834475A - 固态硬盘的读取方法 - Google Patents
固态硬盘的读取方法 Download PDFInfo
- Publication number
- CN104834475A CN104834475A CN201410044831.9A CN201410044831A CN104834475A CN 104834475 A CN104834475 A CN 104834475A CN 201410044831 A CN201410044831 A CN 201410044831A CN 104834475 A CN104834475 A CN 104834475A
- Authority
- CN
- China
- Prior art keywords
- demand
- reading
- reading demand
- solid state
- hard disc
- 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
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种固态硬盘的读取方法,首先接收读取需求,预先检查非易失性存储单元的读取需求队列阻塞状态,判断不会造成阻塞,则将读取需求登记在读取需求队列,判断会造成读取阻塞,则暂存读取需求,继续分送下一个读取需求,并定时检查及重新分送暂存的读取需求,以提高读取速度。
Description
技术领域
本发明有关一种固态硬盘的读取方法,尤其关于固态硬盘读取数据时,调整造成阻塞的读取需求的读取顺序的方法。
背景技术
固态硬盘(Solid State Drive,简称SSD)一般由数个非易失性存储单元(Non-Volatile Memory,简称NVM)整合成为单一储存装置。由于固态硬盘传输数据的速度非常快速,已成为现代计算机系统等主机主要的数据储存装置。
计算机系统通常利用处理器发送数据的读取需求,再由固态硬盘中的存储器控制器接收读取需求,并分送读取需求至数据储存的各非易失性存储单元。由各非易失性存储单元根据分送的读取需求的先后,登记在读取需求队列中。再依各非易失性存储单元队列中读取需求的顺序,按照先进先出(FirstIn First Out,简称FIFO)的原则,读取非易失性存储单元储存的数据,由各非易失性存储单元各自的先进先出管道经存储器控制器整理后,传输至计算机系统。接着由处理器控制将读取的数据储存在计算机系统的动态随机存储器(DRAM)中备用。因此,固态硬盘利用非易失性存储单元各自的先进先出管道传输数据,以多渠道读取数据,达到提高数据读取的速度。
然而,各非易失性存储单元的存储缓冲空间限制,一旦读取需求的队列一满,就不再接收读取需求,常造成分送读取需求失败。如图1所示,为先前技术固态硬盘的读取方法。当固态硬盘中的存储器控制器将接收的读取需求,分送至各非易失性存储单元(步骤P1),并检查读取需求是否被接受(步骤P2),假如分送至一读取需求队列已满的非易失性存储单元,该非易失性存储单元将拒绝接收分送的读取需求,导致读取需求分送失败,存储器控制器必需一再尝试分送该失败的读取需求(步骤P3),直到该非易失性存储单元执行队列中的读取需求,让出队列空间重新接收分送的读取需求以执行读取数据(步骤P4),存储器控制器才能继续分送下一个读取需求至其它非易失性存储单元(步骤P5),或者等待接收计算机系统下一个读取需求(步骤P6)。
由于固态硬盘一再尝试分送失败的读取需求,必需耗费时间等待阻塞的非易失性存储单元让出读取需求队列空间,因而阻塞后续固态硬盘中其它非易失性存储单元数据读取作业,导致固态硬盘的读取速度降低,影响整体的效能。因此,固态硬盘在数据的读取方法,仍有问题亟待解决。
发明内容
本发明的目的在于提供一种固态硬盘的读取方法,通过预先检查非易失性存储单元,将会阻塞的分送读取需求先储存在需求暂存区,并继续分送下一读取需求,以避免读取阻塞。
本发明另一目的在于提供一种固态硬盘的读取方法,利用定时检查需求暂存区中读取需求的阻塞状态,重新分送不阻塞的读取需求,以提高读取的速度。
为了达到前述发明的目的,本发明固态硬盘的读取方法,首先接收读取需求,预先检查非易失性存储单元的读取需求队列阻塞状态,判断不会造成阻塞,则将读取需求登记在读取需求队列,判断会造成读取阻塞,则暂存读取需求,继续分送下一个读取需求,并定时检查及重新分送暂存的读取需求,以提高读取速度。
本发明固态硬盘的读取方法,由固态硬盘的存储器控制器接收主机的读取需求,准备分送读取需求至固态硬盘的非易失性存储单元。并在分送读取需求前,预先检查该非易失性存储单元的读取需求队列阻塞状态。判断会造成读取阻塞,则将读取需求暂存在固态硬盘的需求暂存区,计时固定时间,以定时检查储存在需求暂存区的读取需求。固定时间最佳设定至少一倍执行读取需求平均时间,以确保空出读取需求队列。
附图说明
图1为先前技术固态硬盘的读取方法的流程图。
图2为本发明固态硬盘的系统结构图。
图3为本发明固态硬盘读取过程的示意图。
图4为本发明固态硬盘的读取方法的流程图。
[标号说明]
10 主机 11 处理器
12 动态随机存储器 20 固态硬盘
21 存储器控制器 22 缓冲区
23 需求暂存区 24 先进先出管道
25 非易失性存储单元
具体实施方式
有关本发明为达成上述目的,所采用的技术手段及其功效,兹举较佳实施例,并配合图式加以说明如下。
请同时参阅图2及图3,图2为本发明固态硬盘20的系统结构,图3为本发明固态硬盘20读取过程的示意图。图2中,主机10设置处理器11发送主机需要数据的读取需求,且具有动态随机存储器12暂时储存读取的数据备用。本发明的固态硬盘20连接在主机10,固态硬盘20内设存储器控制器21配合缓冲区22及需求暂存区23,控制由数个先进先出管道24一对一对应连接的数个非易失性存储单元25,整合成为单一储存装置,作为主机的数据主要储存装置。本实施例虽以固态硬盘20包含8个第0至7个非易失性存储单元25为例说明,但固态硬盘20包含且不限于8个非易失性存储单元25。另外,需求暂存区23也可由缓冲区22中划设,而不需另外设置需求暂存区23。
主机10利用处理器11发送数据的读取需求,由固态硬盘20中的存储器控制器21依据读取需求的序列接收读取需求。再由存储器控制器21依序分送读取需求至数据储存的非易失性存储单元25。非易失性存储单元25根据接收分送读取需求的先后,登记在读取需求的队列。再根据各非易失性存储单元25队列中读取需求的顺序,按照先进先出的原则,读取非易失性存储单元25储存的数据,由非易失性存储单元25各自的先进先出管道送出至缓冲区22。经存储器控制器21整理后,将数据传输至主机10,由处理器11控制读取的数据储存在动态随机存储器12中备用。
为避免非易失性存储单元25已满的读取需求队列,不接收分送读取需求而造成的数据读取阻塞。本发明利用存储器控制器21针对分送读取需求的非易失性存储单元25,预先检查读取需求队列,判断是否会造成数据读取阻塞?对于不会造成阻塞的分送读取需求,直接登记在非易失性存储单元25的读取需求队列。而对于会造成阻塞的分送读取需求,则先储存在需求暂存区23,以便继续分送下一个读取需求至其它非易失性存储单元25,除可避免分送的读取需求漏失,且可避免阻塞后续数据的读取。另对于储存在需求暂存区23的读取需求,存储器控制器21利用计时固定时间定时检查分送的非易失性存储单元25读取需求队列状态。判断会造成阻塞时,继续暂存读取需求,但判断不会造成阻塞时,则再重新分送暂存的读取需求,登记在读取需求队列以读取数据。其中检查需求暂存区23的定时,根据测试执行读取需求平均时间,设定至少一倍执行读取需求平均时间,确保空出读取需求队列,以避免密集检讨暂存的读取需求,影响数据的读取及后续读取需求的分送。
举一实例说明本发明固态硬盘20的读取过程。图3中,主机10发送读取需求的序列A为0-1-2-3-4-4’-1’-2’-3’-5-6-7。存储器控制器21接收读取需求序列A,接着在时序T=0时,依序分送读取需求。首先在分送读取需求0至第0个非易失性存储单元25前,预先检查第0个非易失性存储单元25的读取需求队列,判断不会造成数据读取阻塞时,将读取需求0直接登记在第0个非易失性存储单元25的读取需求的队列中,由第0个非易失性存储单元25根据读取需求0读取数据,并经先进先出管道FIFO0送出读取数据。同时存储器控制器21在下一个单位时序△t,继续分送下一个读取需求1前,同样预先检查的第1个非易失性存储单元25的读取需求队列,判断不会造成数据读取阻塞,将读取需求1直接登记在第1个非易失性存储单元25的读取需求的队列中读取数据,经先进先出管道FIFO1送出读取数据。同样按照时序T,依序分送不阻塞的读取需求2、读取需求3及读取需求4登记在读取需求的队列中读取数据,如图3中实线的读取需求0-1-2-3所示。
存储器控制器21依序继续分送读取需求4’,假设不检查第4个非易失性存储单元25的读取需求队列。存储器控制器21直接分送读取需求4’至第4个非易失性存储单元25,第4个非易失性存储单元25因读取需求队列已满,不接收而导致分送读取需求4’失败。存储器控制器21如放弃分送读取需求4’,将导致读取需求4’流失,所以存储器控制器21需一再尝试重新分送失败的读取需求4’,而需耗费几个单位时序△t等待,直到第4个非易失性存储单元25执行队列中的读取需求而让出队列空间,才能接收如图3中虚线的读取需求4’。因此,后续分送的读取需求1’-2’-3’-5-6-7的时序也会跟着递延至如图3中所示虚线的时序位置,因此降低固态硬盘20的数据读取速度。
为了改正前述降低读取速度的缺陷,本发明固态硬盘20的读取方法,利用存储器控制器21预先检查第4个非易失性存储单元25的读取需求队列状态。当判断队列已满时,先将读取需求4’储存在需求暂存区23,同时计时固定时间K,定时检讨需求暂存区23的读取需求。并接着在分送下一个读取需求1’,分送前同样预先检查的第1个非易失性存储单元25的读取需求队列,判断不会造成数据读取阻塞,将读取需求1’直接登记在第1个非易失性存储单元25的读取需求的队列中以读取数据。同样按照时序T依序分送不阻塞的读取需求2’与读取需求3’登记在读取需求的队列中读取数据。
直到达到计时固定时间K,存储器控制器21定时检查储存在需求暂存区23的读取需求4’,预先检查第4个非易失性存储单元25读取需求队列状态,判断不会造成阻塞时,再重新分送读取需求4’,因此可紧接着分送读取需求3’的时序,登记在第4个非易失性存储单元25的读取需求队列以读取数据,而当检查第4个非易失性存储单元25会造成阻塞时,维持储存读取需求4’在需求暂存区23,等待计时下一个固定时间K再检讨重送,不会中断读取数据。同样按照时序T依序分送后续不阻塞的读取需求5、读取需求6及读取需求7,如图3实线读取需求1’-2’-3’-4’-5-6-7所示,登记在读取需求的队列中以读取数据。
如图4所示,为本发明固态硬盘读取方法的流程图。本发明固态硬盘读取方法的详细步骤说明如下:首先在步骤S1,由固态硬盘的存储器控制器依据接收主机读取需求的序列,准备分送读取需求至固态硬盘的非易失性存储单元。进入步骤S2,分送读取需求前,预先检查非易失性存储单元的读取需求队列阻塞状态,判断是否会造成数据读取阻塞?假如会造成阻塞,则进入步骤S3,将读取需求储存在固态硬盘的需求暂存区,接着进入步骤S4。假如不会造成阻塞,则进入步骤S5,直接分送读取需求登记在非易失性存储单元的读取需求队列以读取数据,然后进入步骤S4。
接着在步骤S4,检查计时是否到达固定时间以定时检查储存在需求暂存区的读取需求?假如到达定时检查需求暂存区,则回到步骤S2重新检查暂存的读取需求,假如未到达定时检查需求暂存区,则进入步骤S6,检查是否还有分送的读取需求,假如有分送的读取需求,则回到步骤S1继续分送下一个读取需求,假如无分送的读取需求,再进入步骤S7检查需求暂存区是否还有读取需求?假如需求暂存区有读取需求,则回到步骤S4继续计时,等待到达定时检查需求暂存区,假如检查需求暂存区无读取需求,表示分送的读取需求已处理完成,最后进入步骤S8,等待主机的指令。
因此,本发明固态硬盘的读取方法,即可通过预先检查非易失性存储单元的读取需求队列,判断分送的读取需求造成阻塞状态,将会阻塞的读取需求先储存在需求暂存区,避免读取阻塞,以继续分送下一读取需求。另外,利用计时适当的固定时间,定时检查需求暂存区中读取需求的阻塞状态,重新分送不会造成阻塞的读取需求,以达到提高固态硬盘读取速度的目的。
以上所述者,仅为用以方便说明本发明的较佳实施例,本发明的范围不限于该等较佳实施例,凡依本发明所做的任何变更,于不脱离本发明的精神下,皆属本发明权利要求的范围。
Claims (6)
1.一种固态硬盘的读取方法,其步骤包含:
(1)接收读取需求;
(2)检查非易失性存储单元的读取需求队列阻塞状态,判断会造成读取阻塞,则暂存该读取需求,判断不会造成阻塞,则分送该读取需求登记在该读取需求队列;
(3)到达定时检查,回到步骤(2)重新检查暂存的读取需求,假如未到达定时,则进入步骤(4);
(4)检查还有分送读取需求,则回到步骤(1),继续分送下一个读取需求,假如检查无分送的读取需求,则进入步骤(5);
(5)检查有暂存的读取需求则回到步骤(3),等待定时检查暂存的读取需求,假如检查无暂存的读取需求,则等待指令。
2.根据权利要求1所述的固态硬盘的读取方法,其中由固态硬盘的存储器控制器接收主机的读取需求,准备分送读取需求至固态硬盘的非易失性存储单元。
3.根据权利2所述的固态硬盘的读取方法,其中该步骤(2)是在分送读取需求前,预先检查该非易失性存储单元的读取需求队列阻塞状态。
4.根据权利2所述的固态硬盘的读取方法,其中将读取需求暂存在固态硬盘的需求暂存区。
5.根据权利4所述的固态硬盘的读取方法,其中该定时检查是计时固定时间检查储存在需求暂存区的读取需求。
6.根据权利5所述的固态硬盘的读取方法,其中该固定时间设定至少一倍执行读取需求平均时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410044831.9A CN104834475B (zh) | 2014-02-07 | 2014-02-07 | 固态硬盘的读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410044831.9A CN104834475B (zh) | 2014-02-07 | 2014-02-07 | 固态硬盘的读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104834475A true CN104834475A (zh) | 2015-08-12 |
CN104834475B CN104834475B (zh) | 2017-11-21 |
Family
ID=53812392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410044831.9A Expired - Fee Related CN104834475B (zh) | 2014-02-07 | 2014-02-07 | 固态硬盘的读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104834475B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062514A (zh) * | 2018-08-16 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种基于命名空间的带宽控制方法、装置和存储介质 |
CN111666143A (zh) * | 2020-06-19 | 2020-09-15 | 厦门卫星定位应用股份有限公司 | 基于管道阻塞式的大数据计算调度系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026468A (en) * | 1997-08-18 | 2000-02-15 | Fujitsu Limited | Method of controlling magnetic tape unit |
US20090210655A1 (en) * | 2008-02-15 | 2009-08-20 | International Business Machines Corporation | Processor, method and computer program product including specialized store queue and buffer design for silent store implementation |
US20110179200A1 (en) * | 2010-01-18 | 2011-07-21 | Xelerated Ab | Access buffer |
CN102369519A (zh) * | 2011-08-31 | 2012-03-07 | 华为技术有限公司 | 地址访问方法、装置及系统 |
US8489820B1 (en) * | 2008-03-18 | 2013-07-16 | Netapp, Inc | Speculative copying of data from main buffer cache to solid-state secondary cache of a storage server |
CN103336672A (zh) * | 2013-06-28 | 2013-10-02 | 华为技术有限公司 | 数据读取方法、装置及计算设备 |
-
2014
- 2014-02-07 CN CN201410044831.9A patent/CN104834475B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026468A (en) * | 1997-08-18 | 2000-02-15 | Fujitsu Limited | Method of controlling magnetic tape unit |
US20090210655A1 (en) * | 2008-02-15 | 2009-08-20 | International Business Machines Corporation | Processor, method and computer program product including specialized store queue and buffer design for silent store implementation |
US8489820B1 (en) * | 2008-03-18 | 2013-07-16 | Netapp, Inc | Speculative copying of data from main buffer cache to solid-state secondary cache of a storage server |
US20110179200A1 (en) * | 2010-01-18 | 2011-07-21 | Xelerated Ab | Access buffer |
CN102369519A (zh) * | 2011-08-31 | 2012-03-07 | 华为技术有限公司 | 地址访问方法、装置及系统 |
CN103336672A (zh) * | 2013-06-28 | 2013-10-02 | 华为技术有限公司 | 数据读取方法、装置及计算设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062514A (zh) * | 2018-08-16 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种基于命名空间的带宽控制方法、装置和存储介质 |
CN109062514B (zh) * | 2018-08-16 | 2021-08-31 | 郑州云海信息技术有限公司 | 一种基于命名空间的带宽控制方法、装置和存储介质 |
CN111666143A (zh) * | 2020-06-19 | 2020-09-15 | 厦门卫星定位应用股份有限公司 | 基于管道阻塞式的大数据计算调度系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104834475B (zh) | 2017-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7765352B2 (en) | Reducing core wake-up latency in a computer system | |
TWI528379B (zh) | 固態硬碟的讀取方法 | |
US6948010B2 (en) | Method and apparatus for efficiently moving portions of a memory block | |
US10976939B2 (en) | Address/command chip synchronized autonomous data chip address sequencer for a distributed buffer memory system | |
CN107544923B (zh) | 用于控制对存储器设备的访问的装置以及相关方法 | |
JP2009517725A (ja) | メモリ・システム内で不確定な読み取りデータ待ち時間を可能にする方法及びシステム | |
US20160064261A1 (en) | Dispatching method and system | |
US11704023B2 (en) | Extensible storage system and method | |
US11960350B2 (en) | System and method for error reporting and handling | |
CN103811080A (zh) | 存储器测试系统以及存储器测试方法 | |
US8266331B2 (en) | Transmitting retry request associated with non-posted command via response credit channel | |
CN104834475A (zh) | 固态硬盘的读取方法 | |
CN111694508B (zh) | 在基于NVMe的SSD中管理LBA重叠检查的方法和系统 | |
US7177989B1 (en) | Retry of a device read transaction | |
US20120254527A1 (en) | Dynamic random access memory for a semiconductor storage device-based system | |
CN104899155A (zh) | 固态硬盘的写入方法 | |
US20190163384A1 (en) | Host Synchronized Autonomous Data Chip Address Sequencer for A Distributed Buffer Memory System | |
US8285944B1 (en) | Read-write control of a FIFO memory with packet discard | |
US20060129714A1 (en) | Method and apparatus for transferring data | |
US9251054B2 (en) | Implementing enhanced reliability of systems utilizing dual port DRAM | |
US10120831B1 (en) | Circuit and method for handling write and read requests between a master circuit and a slave circuit in different clock domains | |
US9395744B2 (en) | De-skewing transmitted data | |
US10002087B1 (en) | Communication between an external processor and FPGA controller | |
US11127466B2 (en) | Read data sorting method and storage device for sequentially transmitting read data of continuous logic block addresses to host | |
US11340791B2 (en) | Apparatus and method for handling delivery of data from a source to one or more destinations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171121 Termination date: 20190207 |
|
CF01 | Termination of patent right due to non-payment of annual fee |