首页> 中国专利> 具有非易失性存储器和缓冲存储器的存储系统及读取方法

具有非易失性存储器和缓冲存储器的存储系统及读取方法

摘要

公开了一种具有非易失性存储器和缓冲存储器的存储系统及读取方法。在包括缓冲存储器和非易失性存储器的存储系统中读取数据的方法包括:确定在读取请求中的输入地址是否被分配到缓冲存储器;确定请求的数据的大小是否大于参考,除非输入地址被分配给缓冲存储器;以及如果请求的数据大小大于参考,则从非易失性存储器进行预取读取操作。

著录项

  • 公开/公告号CN101339539A

    专利类型发明专利

  • 公开/公告日2009-01-07

    原文格式PDF

  • 申请/专利权人 三星电子株式会社;

    申请/专利号CN200810131985.6

  • 申请日2008-07-04

  • 分类号G06F12/08;G06F3/06;

  • 代理机构北京铭硕知识产权代理有限公司;

  • 代理人韩明星

  • 地址 韩国京畿道水原市灵通区梅滩洞416

  • 入库时间 2023-12-17 21:15:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-07-01

    授权

    授权

  • 2010-08-18

    实质审查的生效 IPC(主分类):G06F12/08 申请日:20080704

    实质审查的生效

  • 2009-01-07

    公开

    公开

说明书

本申请要求于2007年7月6日在韩国知识产权局提交的第10-2007-68149号韩国专利申请的优先权,该申请全部公开于此以资参考。

技术领域

在此公开的本发明的实施例通常涉及存储系统,具体地,涉及包括非易失性存储器的存储系统及其读取方法。

背景技术

即使没有将电源提供给存储器,非易失性存储器也保留数据。非易失性存储器是典型的掩模型只读存储器,或者是电可擦除和可编程只读存储器(EEPROM)。

作为另一种类型的非易失性存储器的闪存源于东芝公开的术语“闪速EEPROM”。从传统的EEPROM开发了闪存,但是在架构和操作上进行了修改。可按照块、扇区或整个芯片擦除闪存。此外,闪存能够进行位级编程操作。闪存与盘类型的辅助存储器装置相似,其具有以扇区格式化的结构。

闪存可用于两个不同的架构:在位线和地线之间并联排列存储单元的NOR类型;和在位线和地线之间串联排列存储单元的NAND类型。NOR闪存具有简单的外围电路和短的读存取时间,但是比NAND类型需要更多的单元区,原因在于NOR闪存对于各个存储单元的每个位线需要接触电极。然而,对于NAND闪存,有必要在读取数据之前选择相应的块,并且由于存储单元的串联,NAND闪存以较大阻抗的方式操作。因此,NAND闪存中的读取操作相对NOR类型中的读取操作来说较慢。

闪存是适合高集成密度的非易失性存储装置。因为闪存较好的数据保留能力,所以在一些系统中闪存可用作主存储器。值得注意的是:闪存用于高密度大容量数据存储,并且可取代传统的硬盘或软盘。当前,闪存广泛用作便携式数字设备(诸如移动电话、数字相机、MP3播放器、可携式摄像机、个人数据助理等)中的存储介质。

然而,闪存具有比随机存取存储器(RAM)低的数据输入/输出速率。当写入被写入单元阵列之前临时存储在页缓冲存储器中的数据时,以及当读出首先从单元阵列传送到页缓冲存储器的数据时,在闪存中出现延迟。

为了使闪存能够以随机存取方式操作,已经开发了新的方案,以通过闪存系统中的缓冲存储器支持随机存取功能。缓冲存储器用于在将数据写入闪存或者将数据传送到主机之前临时存储数据。缓冲存储器通常是可随机存取类型的存储器(例如,动态或静态RAM)。例如,在来自主机的数据被传送到闪存之前,首先将其存储在缓冲存储器中。存储在缓冲存储器中的数据接着被写入闪存中。另外,从闪存读出的数据在被传送到主机之前首先被存储在缓冲存储器中。其后,从缓冲存储器读取数据,并将其传送到主机。

发明内容

本发明的一方面是一种在包括缓冲存储器和非易失性存储器的存储系统中读取数据的方法,所述方法包括:确定在读取请求中的输入地址是否被分配到缓冲存储器;以及如果输入地址没有被分配到缓冲存储器,则确定请求的数据的大小是否大于参考,并且如果请求的数据大小大于参考,则从非易失性存储器进行预取读取操作。

在实施例中,输入地址是开始地址。提供包括开始地址和请求的数据大小的读取请求信息,以响应于读取请求从开始地址开始以请求的数据大小确定的量读取数据。

在实施例中,预取操作包括:以大于请求的数据大小的量从开始地址开始从非易失性存储器读取数据。在预取读取操作期间读取的数据被临时存储在缓冲存储器中。

在实施例中,所述方法还包括:如果请求的数据大小大于参考,则在预取读取操作期间,分配缓冲存储器以存储从非易失性存储器读取的数据。

在实施例中,所述方法还包括:将在预取读取操作期间存储在缓冲存储器中的数据从缓冲存储器传送到外部系统。

在实施例中,所述方法还包括:在缓冲存储器的地址映射表中搜索开始地址和与请求的数据相应的地址,以确定输入地址是否被分配给缓冲存储器。

在实施例中,所述方法还包括:如果输入地址被分配给缓冲存储器,则将请求的数据从缓冲存储器传送到外部系统。

在实施例中,所述方法还包括:在非易失性存储器上进行普通读取操作,除非请求的数据大小大于参考。

在实施例中,在普通读取操作期间,将从非易失性存储器读取的数据传送到外部系统,而不通过缓冲存储器。

本发明的另一方面是一种在包括缓冲存储器、闪存和盘的存储系统中读取数据的方法,所述方法包括:确定在读取请求中的输入地址是否被分配到缓冲存储器;如果输入地址没有被分配到缓冲存储器,则确定是否将输入地址分配给闪存;如果输入地址没有分配给闪存,则确定请求的数据的大小是否大于参考;以及如果请求的数据大小大于参考,则从闪存进行预取读取操作。

本发明的另一方面是一种在包括缓冲存储器、闪存和盘的存储系统中读取数据的方法,所述方法包括:同时确定在读取请求中的输入地址是被分配到缓冲存储器、闪存还是盘;如果输入地址被分配到闪存,则确定请求的数据的大小是否大于参考;以及如果请求的数据大小大于参考,则从闪存进行读取操作。

本发明的另一方面是一种存储系统,所述系统包括:闪存;盘;缓冲存储器,在预取读取操作期间临时存储从闪存或盘读取的数据;以及控制器,进行操作以控制闪存、盘和缓冲存储器,并且根据读取请求所请求的数据的大小确定从闪存进行预取读取操作还是普通读取操作。

在实施例中,控制器响应于读取请求从盘进行读取操作。

在实施例中,在从闪存的普通读取操作期间,将从闪存读取的数据直接传送到外部系统,而不通过缓冲存储器。

在实施例中,控制器同时确定读取请求输入的地址被分配到缓冲存储器、闪存还是盘。

在实施例中,控制器首先确定读取请求输入的地址是否被分配到缓冲存储器。

在实施例中,如果输入地址被分配到缓冲存储器,则控制器将请求的数据从缓冲存储器传送到外部系统。

在实施例中,控制器确定输入地址是否被分配给闪存,除非输入地址被分配给缓冲存储器。

在实施例中,如果输入地址被分配给闪存,则根据请求的数据大小确定进行预取读取操作还是普通读取操作。

在实施例中,控制器从盘进行预取读取操作,除非输入地址被分配给闪存。

可通过参照说明剩余部分和附图来实现对在此描述的本发明的特点和优点的进一步理解。

附图说明

将通过参照附图描述本发明的非限制性和非穷尽的实施例,其中,除非另有指定,否则,在各个附图中,相同的标号是指相同的部件。在附图中:

图1是根据本发明的实施例的存储系统的框图;

图2是示出根据本发明的实施例的存储系统的读取方法的流程图;

图3是示出根据本发明的实施例的存储系统的实施例的框图;

图4是示出根据本发明的实施例的图3示出的存储系统的读取方法的流程图;

图5是示出根据本发明的实施例的用于同时搜索缓冲存储器、非易失性存储器和盘的读取方法的流程图;以及

图6示出根据本发明的实施例的混合硬盘驱动的结构。

具体实施方式

下面将描述本发明的优选实施例,在示出结构和操作特征时,作为示例,包括非易失性存储器装置,然而,可按不同的形式实现本发明,并且不应该被解释为限制在此阐述的实施例。此外,提供这些实施例从而本公开将是彻底和完整的,并且将本发明的范围完全地传达给本领域的技术人员。在整个附图中,相同的标号是指相同的部件。

根据本发明的实施例的存储系统基于按照读取请求提供的请求的数据大小通过确定是否执行预取读取操作来操作。预取是指在读取操作之前将数据传送到缓冲存储器。例如,当在非易失性存储器的读取操作中请求的数据大于参考大小时,存储系统获取请求的数据以及稍后请求的附加数据,接着将这些数据存储在缓冲存储器中。从而对于依次引入地址的读取请求,本发明的存储系统增强了缓冲存储器的实际使用。其结果是,在存储系统中,使得数据读取率得到改善。

将结合附图描述本发明的示例性实施例。

图1是根据本发明的实施例的存储系统10的框图。参照图1,存储系统10包括通过总线或信道11进行通信的控制器110、缓冲存储器120和非易失性存储器130。当存在从非易失性存储器130读取数据的请求时,根据请求的数据的大小,通过数据预取来进行预取读取操作,或者不通过数据预取而进行普通读取操作。例如,如果请求的数据的大小大于参考,则执行预取读取,但是,如果请求读取的数据的大小小于参考,则执行普通读取操作。

通过预取读取操作从非易失性存储器130获得的数据被临时存储在缓冲存储器120中。然后,在缓冲存储器保留的数据中,仅将请求读取的数据传送到外部系统。

控制器110用于控制存储系统10的一般操作。控制器从外部系统(例如,主机)接收命令、地址和数据,并且控制读取和写入操作。控制器按照如下方式接受读取请求。作为示例,如果将读取请求R<100,60>输入到控制器110,则该请求指示控制器从开始地址“100”开始读取60个扇区的数据。

控制器110确定是否将与请求读取的数据相应的地址分配给缓冲存储器120。这里,与请求的数据相应的地址是从开始地址“100”开始的60个扇区的数据的地址。如果将与请求的数据相应的地址分配给缓冲存储器120,则从缓冲存储器120读取请求的数据,接着将其传送到外部系统。如果没有将与请求的数据相应的地址分配给缓冲存储器120,则控制器110从非易失性存储器130进行读取操作。从非易失性存储器130的读取操作根据请求的数据的大小被区分为预取模式和普通模式。

运行预取模式从非易失性存储器130读出(即,获取)比请求的数据大的预定大小的数据。将以预取模式读出的数据存储在缓冲存储器120中。例如,将读出的附加数据的大小可以等于请求的数据(60个扇区),因此总共必须读取120个扇区。如果请求的数据大小是100个扇区,则控制器110在预取模式期间从非易失性存储器130读取200个扇区,并将其存储在缓冲存储器120中。在预取模式下,控制器110将请求的地址转换为与将被预取的数据相应的预取地址。

同时,运行普通模式从非易失性存储器130读出比请求的数据小的预定大小的数据。直接将在普通模式下读取的数据传送到外部系统,而不通过缓冲存储器120。这种不通过缓冲存储器传送数据的普通读取模式防止缓冲存储器120的污染等级的增加。缓冲存储器120的较小的污染意思是有更多的空间存储在预取模式下读取的数据。换句话说,增强缓冲存储器120的可用性。

控制器110通过将参考与相应于读取请求传送的数据的大小进行比较来确定是否从非易失性存储器130进行预取模式读取操作。可按经验根据存储系统的环境得到参考。

在写操作期间,缓冲存储器120临时存储已存储在非易失性存储器130中的数据,并且从外部系统传送地址和命令。另外,在读取操作期间,在从非易失性存储器130读出的数据被传送到外部系统之前,缓冲存储器120临时该数据。通常,可用静态或动态RAM实现缓冲存储器120,但是不限于此。

提供非易失性存储器130作为存储数据的储存器。例如,可通过闪存、掩模型ROM、可编程ROM或铁电RAM来实现非易失性存储器130。如果外部系统请求的数据的大小大于参考,则从非易失性存储器130读取的数据首先被存储在缓冲存储器120中,然后被传送到外部系统。相反,除非外部系统请求的数据的大小大于参考,否则,不通过缓冲存储器120而是直接将从非易失性存储器130读取的数据传送到外部系统。

非易失性存储器130可被配置为进行所有预取和普通读取模式。例如,根据外部系统请求的数据的大小,控制器110产生并提供对于非易失性存储器130预取或普通读取命令。非易失性存储器130可被配置为响应于预取命令读取与输入地址相应的数据,并且还读取与输入地址的邻近地址相应的数据。非易失性存储器130还可被配置为响应于普通读取命令只读取与输入地址相应的数据。

在本发明的实施例的存储系统10中,通过根据请求的数据的大小确定进行预取读取操作还是普通读取操作来开始读取操作。如果请求的数据的大小大于参考,则通过缓冲存储器120实施预取读取操作。因此,如果将被读取的数据是连续输入的数据,则将被请求的下面的数据已经被存储在缓冲存储器120中的概率增加。存储系统10因此有效地使用缓冲存储器120以检索连续请求的数据,从而缩短读取这种数据的时间。

图2是示出根据本发明的实施例的存储系统10的读取方法的流程图。参照图1和图2,存储系统10中的读取方法如下。

首先,外部主机(未显示)向存储系统10请求数据。详细地,存储系统10接受包括开始地址和请求的地址的数量的读取请求信息。这里,请求的地址的数量表示请求的数据的大小。例如,具有R<100,30>的读取请求表示从开始地址“100”开始读取30个扇区的数据。以下,假设基于具有R<100,30>的读取请求实施读取操作。还假设操作预取模式以两次读取请求的数据。

存储系统10从外部主机接收读取请求R<100,30>。然后,控制器110确定是否将通过读取请求传送的开始地址“100”分配到缓冲存储器(S110)。即,控制器110搜索缓冲存储器120的地址映射表,以确定开始地址“100”和与从开始地址开始的30个扇区的数据相应的地址是否被分配到缓冲存储器120。根据搜索地址的结果,控制器110确定缓冲存储器120是否处于HIT状态(S120)。缓冲存储器120的HIT状态意思是在地址映射表找到与请求的数据相应的地址。如果确定缓冲存储器120处于HIT状态,则控制器110从缓冲存储器120读取从开始地址“100”排列的30个扇区的数据,并且将数据传送到主机(S160)。从而完成读取操作。

否则,如果缓冲存储器120没有处于HIT状态,则控制器110将非易失性存储器130检测为分配了开始地址的位置,并且确定请求的数据的大小是否大于参考(S130)。将根据请求的数据的大小启动预取或普通读取模式。

如果请求的数据的大小大于参考,则控制器110向缓冲存储器120分配相应的地址以在缓冲存储器120中临时存储请求的数据(S140)。之后,控制器110执行对非易失性存储器130的预取模式(S150)。即,控制器110从开始地址“100”开始从非易失性存储器130读取60个扇区的数据。从60个扇区读取的数据被存储在缓冲存储器120中。在存储从非易失性存储器130读取的60个扇区的数据之后,更新地址映射表以包括与从开始地址“100”开始的60个扇区的数据相应的地址的映射信息。然后,控制器110读取存储在缓冲存储器120中的从开始地址“100”开始的30个扇区的数据,并且将其传送到主机(S160)。从而完成读取数据的操作。

如果请求的数据的大小不大于参考,则控制器110执行从非易失性存储器的普通读取操作(S152)。在普通读取模式下,控制器110从开始地址“100”开始从非易失性存储器130读取30个扇区的数据,并且将读取的30个扇区的数据直接传送到主机(S162)。从而,终止普通读取模式。

根据请求的数据的大小在从非易失性存储器的预取或普通读取模式下执行根据本发明的实施例的存储系统10中的读取方法。其结果是,能够有效地管理读取操作。

本发明的实施例还能够应用于包括多个存储装置的存储系统20。图3是示出根据本发明的实施例的这种存储系统的实施例的框图。参照图3,存储系统20包括通过总线或信道21相互连接的控制器210、缓冲存储器220、闪存230和盘240。闪存230通常是以快速初始响应操作的存储装置,而盘240以较慢的初始时间操作。当对盘240进行读取请求(在初始响应中相对较慢)时,启动预取读取模式以进行数据预取。

相反,当对闪存230进行读取请求(对其响应较快)时,存储系统20通过根据请求的数据的大小确定是否启动预取模式来进行读取操作。例如,如果请求的数据的大小大于参考,则存储系统20在预取模式下操作闪存230。

根据本发明的实施例的控制器210搜索表以确定是否将读取操作中输入的地址分配给缓冲存储器220。根据搜索结果,如果将输入地址分配给缓冲存储器220,则控制器210操作以将与输入地址相应的数据从缓冲存储器220传送到外部系统。否则,如果搜索结果指示没有将输入地址分配给缓冲存储器220,则控制器210重新开始寻找从闪存230输入的地址。

如果将输入地址分配给闪存230,则控制器210参照请求的数据的大小从闪存230进行预取和普通读取操作中的一个。

在预取操作期间,控制器210根据输入地址产生预取操作的预取地址,并将预取地址应用于闪存230。闪存230响应于预取地址执行读取操作。将此时读取的数据传送到缓冲存储器220。控制器210从缓冲存储器220获取请求的数据,并将该数据传送到外部系统。

在普通读取模式期间,控制器210向闪存230提供与输入地址相应的物理地址。闪存230响应于传送到闪存230的物理地址执行读取操作。不通过缓冲存储器220而直接将此时读取的数据传送到外部系统。

根据搜索结果,如果没有将输入地址分配给闪存230,则控制器210进行从盘240的预取读取操作。盘240的预取模式与闪存230的预取模式相似,因此不再进行详述。

缓冲存储器220和闪存230与图1示出的存储器120和130相同。盘240可以是硬盘驱动器(HDD)。HDD是被配置为在涂有磁材料的铝基底中存储数据的数据储存器。HDD包括存储数据的金属盘、在盘上移动并记录、校正和擦除数据的头以及旋转盘的主轴电机。

图4是示出图3所示的存储系统200的读取方法的流程图。参照图3和图4,存储系统20的读取方法如下。

外部主机(未显示)向存储系统20请求读取操作。详细地,存储系统20接受主机的读取请求,所述请求包括开始地址和请求的地址的数量。以下,为了解释方便,在这种假设下描述读取操作:将读取请求示例性地设置为R<100,30>。另外,将预取模式示例性地定义为读取请求的数据量的两倍。

存储系统20从外部主机接收读取请求R<100,30>。控制器210确定通过读取请求传送的开始地址“100”是否分配给缓冲存储器220(S210)。换句话说,控制器210确定地址映射表是否包括开始地址“100”和与从开始地址“100”开始的30个扇区相应的地址。控制器210根据搜索结果确定缓冲存储器220是否处于HIT状态(S220)。缓冲存储器220的HIT状态指示从缓冲存储器220的地址映射表找到与请求的地址相应的地址。如果缓冲存储器220处于HIT状态,则控制器210读取与开始地址“100”相应的30个扇区的数据,并且将读取的数据传送到主机(S280)。从而完成读取操作。

否则,如果缓冲存储器220没有处于HIT状态,则控制器210确定根据读取请求传送到控制器210的开始地址“100”是否被分配给闪存230(S230)。换句话说,控制器210确定闪存230的地址映射表是否包括开始地址“100”。根据搜索结果,控制器210检查闪存230是否处于HIT状态(S240)。

如果闪存230没有处于HIT状态,则控制器210确定开始地址“100”被分配给盘240,并且指派缓冲存储器220存储盘240请求的数据(S262)。然后,控制器210从盘240进行预取读取操作(S272)。也就是说,控制器210从开始地址“100”开始从盘240读取60个扇区的数据。从60个扇区读取的数据被存储在缓冲存储器220中。在将数据从盘240存储到缓冲存储器220之后,更新缓冲存储器220的地址映射表以包括关于从开始地址“100”和与60个扇区的数据相应的地址的映射信息。然后,控制器210从开始地址“100”开始从缓冲存储器220读取30个扇区的数据,并且将所述30个扇区的数据传送到主机(S280)。从而完成预取模式。

如果闪存230处于HIT状态,则控制器210确定请求的数据的大小是否大于参考(S250)。由于请求30个扇区的数据,因此请求的数据的大小与30个扇区相应。根据请求的数据大小,执行从闪存230的预取或普通读取操作。

如果请求的数据大小大于参考,则控制器210指派缓冲存储器临时存储从闪存230请求的数据(S260)。然后,控制器210从闪存230进行预取读取操作(S270)。即,控制器210从开始地址“100”开始从闪存230读取60个扇区的数据。从60个扇区读取的数据被存储在缓冲存储器220中。在将数据从盘240存储到缓冲存储器220之后,更新缓冲存储器220的地址映射表以包括关于开始地址“100”和与60个扇区的数据相应的地址的映射信息。然后,控制器210从开始地址“100”开始从缓冲存储器220读取30个扇区的数据,并且将所述30个扇区的数据传送到主机(S280)。从而完成预取模式。

如果请求的数据的大小不大于参考,则控制器210从闪存230进行普通读取操作(S271)。控制器210从开始地址“100”开始从闪存230读取30个扇区的数据,并且将所述30个扇区的数据直接传送到主机(S281)。从而完成普通读取模式。

根据本发明的实施例的读取方法的优点在于。首先,通过用于长的连续存取的预取模式,所述方法缩短了读取处理时间。这种效果源于根据存取时间比其它存储装置(例如,盘或闪存)快的缓冲存储器较高的HIT概率。第二,对于短的随机存取,所述方法减小了由于数据预取的故障。这是因为:对于短的随机存取,执行普通读取模式而不执行闪存的预取模式。第三,由于在短的随机存取中没有分配缓冲存储器,因此所述方法减少了用于分配缓冲存储器的时间。第四,缓冲存储器的HIT概率增加,原因是对于短的随机存取没有使用缓冲存储器。这种效果源于不需要从缓冲存储器去除大量数据,以管理低重用概率的数据。

下面将描述根据图4所示的方法的当前读取处理时间如何比传统读取处理时间短。TA是用于搜索缓冲存储器的时间。TB是用于搜索闪存的时间。TC是用于分配用于进行临时数据存储的缓冲存储器的时间。TD是用于从盘进行预取操作的时间。TE是用于从闪存进行普通读取操作的时间。TF是用于将数据从缓冲存储器传送到主机的时间。TG是用于从闪存进行预取操作的时间。TH是用于将通过普通读取模式从闪存读取的数据传送到主机的时间。

TE如下定义:

[等式1]

TE=TX+TY*s

在等式1中,TX是从闪存的数据传输开始,直到数据最初被传送到主机的待机时间。TY是与数据的大小成比例的传输时间。参数s表示请求的数据的大小。

同时,通过等式2给出TF

[等式2]

TF=TZ*s

根据等式2,TZ是将数据从缓冲存储器传送到主机的时间,与数据的大小成比例。参数s表示请求的数据的大小。

现在,假设将数据直接传送到主机的时间TH与将数据从缓冲存储器传送到主机的时间TF相同。为了描述方便,将在不考虑盘的情况下进行描述。换句话说,如果没有缓冲存储器的HIT,则闪存必须处于HIT状态。

然后,在根据本发明的实施例的读取方法中,读取处理时间TREAD可满足下式:

[等式3]

TREAD=TA+α*TZs+(1-α)*(TB+γ*(TC+TX+TY*S+TZ*s)*+(1-γ)*(TX+TY*s+TZ*s))

在等式3中,参数α是缓冲存储器的HIT概率。参数γ是请求的数据是连续的且大小超过参考的概率。参数S表示将被预取的数据的大小。例如,假设预取模式读取请求的数据的两倍,那么S变为2s(即,S=2s)

对于具有较小大小的随机存取数据样式和具有较大大小的连续存取数据样式,将如下评价读取处理时间TREAD。为了方面描述,假设参数如表1所示。

[表1]

P参数    TA    TB    TC    TX    TY    TZ值[μs]    200    200    200    30    20    10

这里,条件参数和读取处理时间结果如表2所概述。

[表2]

如表2所示,根据本发明的实施例的读取方法,对于长的连续存取,当前读取处理时间(2036)与传统预取模式的读取处理时间相同。对于短的随机存取,当前读取处理时间(539)比传统普通读取模式的读取处理时间(699)短很多。因此本发明的实施例的读取方法优点在于增强短的随机存取数据样式以及长的连续存取数据样式中的读取处理速率。

在图4所示的读取方法中,控制器210首先搜索缓冲存储器220以寻找将哪个存储器指派给从主机输入的开始地址,或者如果没有将开始地址指派给缓冲存储器220,则搜索闪存230。然而,控制器210的搜索方案不限于上述方式。例如,控制器21能够同时搜索缓冲存储器220、闪存230和盘240以寻找将哪个存储装置被指派给从主机输入的开始地址。

图5是同时搜索缓冲存储器220、闪存230和盘240的读取方法的流程图。

外部主机(未显示)向存储系统20请求读取操作。详细地,存储系统从主机接收读取请求信息,所述读取请求信息包括开始地址和请求的地址的数量。为了描述方便,以下假设以R<100,30>形式产生读取请求。并且假设预取模式读取主机请求的数据量的两倍。

存储系统20接受外部主机的读取请求R<100,30>。控制器210同时搜索缓冲存储器220、闪存230和盘240以寻找将哪个存储装置指派给根据读取请求传送到存储系统210的开始地址“100”。即,控制器210搜索以确定开始地址“100”和与从开始地址“100”开始的30个扇区的数据相应的地址存储在缓冲存储器220、闪存230还是盘240中。

如果缓冲存储器220被检测为处于HIT状态(S321),则控制器210从缓冲存储器220读取与开始地址“100”相应的30个扇区的数据,并且将所述30个扇区的数据传送到主机(S360)。从而完成读取操作(即,普通读取模式)。

如果盘240被检测为处于HIT状态(S322),控制器210确定将开始地址分配给盘240。然后,控制器210指派缓冲存储器210存储向盘240请求的数据(S342)。以下,控制器210从盘240进行预取读取操作(S352)。在预取模式下,控制器210从盘240读取从开始地址“100”开始的60个扇区。将60个扇区的数据存储在缓冲存储器220中。在将60个扇区的数据存储在缓冲存储器220之后,更新缓冲存储器220的地址映射表以包括关于开始地址“100”和与60个扇区的数据相应的地址的映射信息。然后,控制器210从缓冲存储器220读取与开始地址“100”相应的30个扇区的数据,并且将所述30个扇区的数据传送到主机(S360)。从完成读取操作(即,预取模式)。

如果闪存230处于HIT状态,则控制器210确定请求的数据的大小是否大于参考(S330)。如果请求的数据的大小大于参考,则控制器210指派缓冲存储器220临时存储向闪存230请求的数据(S340)。然后,控制器210进行从闪存230的预取读取操作(S350)。在预取模式下,控制器210从开始地址“100”开始从闪存230读取60个扇区的数据。将60个扇区的数据存储在缓冲存储器220中。在将60个扇区的数据存储在缓冲存储器220之后,更新缓冲存储器220的地址映射表以包括关于开始地址“100”和与60个扇区的数据相应的地址的映射信息。然后,控制器210从缓冲存储器220读取与开始地址“100”相应的30个扇区的数据,并且将所述30个扇区的数据传送到主机(S360)。从完成读取操作(即,预取模式)。

如果请求的数据大小不大于参考,则控制器210从闪存230进行普通读取操作(S351)。控制器210从闪存230读取与开始地址“100”相应的30个扇区的数据,并且将所述30个扇区的数据传送到主机(S360)。从而完成读取操作(即,普通读取模式)。

本发明的实施例的存储系统20还可应用于混合HDD。混合HDD被认为是下一代存储装置,其中,非易失性高速缓冲存储器与普通HDD结合。图6示出根据本发明的实施例的混合硬盘驱动器的结构。参照图6,混合HDD包括:控制器310,具有嵌入其中的CPU、DRAM高速缓冲存储器320、非易失性高速缓冲存储器330和HDD 340。图6所示的控制器310、DRAM高速缓冲存储器320、非易失性高速缓冲存储器330和HDD 340分别与图3所示的控制器210、缓冲存储器220、闪存230和盘240相同。

可操作非易失性高速缓冲存储器330以节省功率(达百分之九十),并且启动和数据处理速率比普通HDD快2或3倍,原因是其能够进行快速读取和写入数据。另外,混合HDD通过最小化机械操作并减小功耗来提高耐久性。例如,在混合HDD中使用的闪存可以是NAND型闪存。

在对非易失性高速缓冲存储器330的读取操作期间,根据请求的数据的大小确定进行预取读取模式还是普通读取模式。例如,如果请求的数据的大小大于参考,则混合HDD 30从高速缓冲存储器330进行预取操作。

根据本发明的实施例的存储系统和数据读取方法根据请求的数据大小确定执行从非易失性存储器的预取或普通读取操作。如果请求的数据大小大于参考,则从非易失性存储器进行预取读取操作。从而,根据本发明的实施例的存储系统可增加读取操作期间利用缓冲存储器的概率,并且还增强数据读取速率。

如上所述,根据本发明的实施例的存储系统和数据读取方法可通过根据请求读取的数据的大小确定是否进行预取读取操作来进行操作。因此,可增强读取的数据率,原因是根据数据样式进行不同的读取操作。

上面公开的主题被认为是说明性的,而不是限制性的,并且权利要求意在覆盖落入本发明的精神和范围内的所有修改、改善和其它实施例。因此,在法律允许的最大范围内,由允许的权利要求及其等同物最宽范围的解释来确定本发明的范围,而不应该由上述详细描述来约束或限制本发明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号