固态硬盘的读取方法

文档序号:8512406阅读:3486来源:国知局
固态硬盘的读取方法
【技术领域】
[0001]本发明有关一种固态硬盘的读取方法,尤其关于固态硬盘读取数据时,调整造成阻塞的读取需求的读取顺序的方法。
【背景技术】
[0002]固态硬盘(Solid State Drive,简称SSD) —般由数个非易失性存储单元(Non-Volatile Memory,简称NVM)整合成为单一储存装置。由于固态硬盘传输数据的速度非常快速,已成为现代计算机系统等主机主要的数据储存装置。
[0003]计算机系统通常利用处理器发送数据的读取需求,再由固态硬盘中的存储器控制器接收读取需求,并分送读取需求至数据储存的各非易失性存储单元。由各非易失性存储单元根据分送的读取需求的先后,登记在读取需求队列中。再依各非易失性存储单元队列中读取需求的顺序,按照先进先出(First In First Out,简称FIFO)的原则,读取非易失性存储单元储存的数据,由各非易失性存储单元各自的先进先出管道经存储器控制器整理后,传输至计算机系统。接着由处理器控制将读取的数据储存在计算机系统的动态随机存储器(DRAM)中备用。因此,固态硬盘利用非易失性存储单元各自的先进先出管道传输数据,以多渠道读取数据,达到提高数据读取的速度。
[0004]然而,各非易失性存储单元的存储缓冲空间限制,一旦读取需求的队列一满,就不再接收读取需求,常造成分送读取需求失败。如图1所示,为先前技术固态硬盘的读取方法。当固态硬盘中的存储器控制器将接收的读取需求,分送至各非易失性存储单元(步骤PD,并检查读取需求是否被接受(步骤P2),假如分送至一读取需求队列已满的非易失性存储单元,该非易失性存储单元将拒绝接收分送的读取需求,导致读取需求分送失败,存储器控制器必需一再尝试分送该失败的读取需求(步骤P3),直到该非易失性存储单元执行队列中的读取需求,让出队列空间重新接收分送的读取需求以执行读取数据(步骤P4),存储器控制器才能继续分送下一个读取需求至其它非易失性存储单元(步骤P5),或者等待接收计算机系统下一个读取需求(步骤P6)。
[0005]由于固态硬盘一再尝试分送失败的读取需求,必需耗费时间等待阻塞的非易失性存储单元让出读取需求队列空间,因而阻塞后续固态硬盘中其它非易失性存储单元数据读取作业,导致固态硬盘的读取速度降低,影响整体的效能。因此,固态硬盘在数据的读取方法,仍有问题亟待解决。

【发明内容】

[0006]本发明的目的在于提供一种固态硬盘的读取方法,通过预先检查非易失性存储单元,将会阻塞的分送读取需求先储存在需求暂存区,并继续分送下一读取需求,以避免读取阻塞。
[0007]本发明另一目的在于提供一种固态硬盘的读取方法,利用定时检查需求暂存区中读取需求的阻塞状态,重新分送不阻塞的读取需求,以提高读取的速度。
[0008]为了达到前述发明的目的,本发明固态硬盘的读取方法,首先接收读取需求,预先检查非易失性存储单元的读取需求队列阻塞状态,判断不会造成阻塞,则将读取需求登记在读取需求队列,判断会造成读取阻塞,则暂存读取需求,继续分送下一个读取需求,并定时检查及重新分送暂存的读取需求,以提高读取速度。
[0009]本发明固态硬盘的读取方法,由固态硬盘的存储器控制器接收主机的读取需求,准备分送读取需求至固态硬盘的非易失性存储单元。并在分送读取需求前,预先检查该非易失性存储单元的读取需求队列阻塞状态。判断会造成读取阻塞,则将读取需求暂存在固态硬盘的需求暂存区,计时固定时间,以定时检查储存在需求暂存区的读取需求。固定时间最佳设定至少一倍执行读取需求平均时间,以确保空出读取需求队列。
【附图说明】
[0010]图1为先前技术固态硬盘的读取方法的流程图。
[0011]图2为本发明固态硬盘的系统结构图。
[0012]图3为本发明固态硬盘读取过程的示意图。
[0013]图4为本发明固态硬盘的读取方法的流程图。
[0014][标号说明]
[0015]10主机11处理器
[0016]12动态随机存储器 20固态硬盘
[0017]21存储器控制器22缓冲区
[0018]23需求暂存区24先进先出管道
[0019]25非易失性存储单元
【具体实施方式】
[0020]有关本发明为达成上述目的,所采用的技术手段及其功效,兹举较佳实施例,并配合图式加以说明如下。
[0021]请同时参阅图2及图3,图2为本发明固态硬盘20的系统结构,图3为本发明固态硬盘20读取过程的示意图。图2中,主机10设置处理器11发送主机需要数据的读取需求,且具有动态随机存储器12暂时储存读取的数据备用。本发明的固态硬盘20连接在主机10,固态硬盘20内设存储器控制器21配合缓冲区22及需求暂存区23,控制由数个先进先出管道24 —对一对应连接的数个非易失性存储单元25,整合成为单一储存装置,作为主机的数据主要储存装置。本实施例虽以固态硬盘20包含8个第O至7个非易失性存储单元25为例说明,但固态硬盘20包含且不限于8个非易失性存储单元25。另外,需求暂存区23也可由缓冲区22中划设,而不需另外设置需求暂存区23。
[0022]主机10利用处理器11发送数据的读取需求,由固态硬盘20中的存储器控制器21依据读取需求的序列接收读取需求。再由存储器控制器21依序分送读取需求至数据储存的非易失性存储单元25。非易失性存储单元25根据接收分送读取需求的先后,登记在读取需求的队列。再根据各非易失性存储单元25队列中读取需求的顺序,按照先进先出的原贝U,读取非易失性存储单元25储存的数据,由非易失性存储单元25各自的先进先出管道送出至缓冲区22。经存储器控制器21整理后,将数据传输至主机10,由处理器11控制读取的数据储存在动态随机存储器12中备用。
[0023]为避免非易失性存储单元25已满的读取需求队列,不接收分送读取需求而造成的数据读取阻塞。本发明利用存储器控制器21针对分送读取需求的非易失性存储单元25,预先检查读取需求队列,判断是否会造成数据读取阻塞?对于不会造成阻塞的分送读取需求,直接登记在非易失性存储单元25的读取需求队列。而对于会造成阻塞的分送读取需求,则先储存在需求暂存区23,以便继续分送下一个读取需求至其它非易失性存储单元25,除可避免分送的读取需求漏失,且可避免阻塞后续数据的读取。另对于储存在需求暂存区23的读取需求,存储器控制器21利用计时固定时间定时检查分送的非易失性存储单元25读取需求队列状态。判断会造成阻塞时,继续暂存读取需求,但判断不会造成阻塞时,则再重新分送暂存的读取需求,登记在读取需求队列以读取数据。其中检查需求暂存区23的定时,根据测试执行读取需求平均时间,设定至少一倍执行读取需求平均时间,确保空出读取需求队列,以避免密集检讨暂存的读取需求,影响数据的读取及后续读取需求的分送。
[0024]举一实例说明本发明固态硬盘20的读取过程。图3中,主机10发送读取需求的序列A为0-1-
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1