一种存储设备及其随机读写方法技术

技术编号:2913325 阅读:198 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种存储设备及其随机读写方法。本发明专利技术实施例公开的方法包括:接收命令;根据所述命令,通过双口高速缓存的第一端口与所述双口高速缓存进行数据传输,控制所述双口高速缓存通过所述双口高速缓存的第二端口与闪存芯片或者闪存芯片阵列进行数据传输。本发明专利技术实施例可以提高每秒进行读写操作的次数。

【技术实现步骤摘要】

本专利技术涉及存储设备
,尤其涉及一种存储设备及其随机读写方法
技术介绍
固态硬盘(SSD,Solid State Disk)作为一种存储设备,可以包括控制单元、存储单元以及高速缓存(Cache)。存储单元多采用非易失性的闪存(Flash)芯片组成。SSD在执行读操作时,解析接收到的读命令,然后从对应的Flash芯片中读出相应数据,将读出的数据缓存在Cache中,再由Cache传到主机。SSD在执行写操作时,解析接收到的写命令,然后将接收到的数据缓存在Cache中,再将缓存在Cache中的数据写入对应的Flash芯片。专利技术人在研究过程中,发现上述SSD执行读写操作至少存在以下缺点:由于SSD执行的读写操作属于串行操作,因此,很难提高每秒进行读写操作的次数(IOPS,I/O per second)。
技术实现思路
有鉴于此,本专利技术实施例提供了一种存储设备及其随机读写方法,以提高读写操作的IOPS。一种随机读写方法,所述方法包括:接收命令;根据所述命令,通过双口高速缓存的第一端口与所述双口高速缓存进行数据传输,控制所述双口高速缓存通过所述双口高速缓存的第二端口与闪存芯片或者闪存芯片阵列进行数据传输。一种存储设备,所述存储设备包括:控制单元、双口高速缓存,其中所述控制单元用于接收命令,根据所述命令,通过双口高速缓存的第一端口与所述双口高速缓存进行数据传输,控制所述双口高速缓存通过所述双口高速缓存的第二端口与闪存芯片或者闪存芯片阵列进行数据传输;-->所述双口高速缓存,用于根据所述控制单元进行的控制,与所述控制单元以及所述闪存芯片或者闪存芯片阵列进行数据传输。可以看出,控制单元可以控制双口Cache在进行数据传输的同时进行双口Cache的管理,使数据传输与双口Cache的管理并行进行,减少了双口Cache进行管理引起的时延,即减少了双口Cache准备数据的时间,从而,有效提高了IOPS。并且,即使双口Cache能够缓存的数据量较少,也可以有效提高IOPS。附图说明图1为本专利技术实施例方法流程图;图2为本专利技术实施例执行读操作具体方法流程图一;图3为本专利技术实施例执行读操作具体方法流程图二;图4为本专利技术实施例执行读操作具体方法流程图三;图5为本专利技术实施例执行写操作具体方法流程图;图6为本专利技术实施例存储设备结构框图;图7为本专利技术实施例存储设备硬件结构图。具体实施方式为了使本专利技术实施例的上述特征、优点更加明显易懂,下面结合具体实施方式对本专利技术实施例进行详细说明。请参考图1,为本专利技术实施例方法流程图,包括以下步骤:步骤101:接收命令;步骤102:根据所述命令,通过双口高速缓存的第一端口与所述双口高速缓存进行数据传输,控制所述双口高速缓存通过所述双口高速缓存的第二端口与闪存芯片或者闪存芯片阵列进行数据传输。下面对图1所示步骤进行详细说明。请参考图2,为本专利技术实施例执行读操作具体方法流程图一,可以包括以下步骤:步骤201:控制单元接收来自接口或者主机的读命令队列;-->假设读命令队列中最先要处理的两个读命令中,第一读命令对应的数据存储于双口Cache中,第二读命令对应的数据存储于对应的Flash芯片中。步骤202:控制单元启动双口Cache的第一端口,通过第一端口获取双口Cache中第一读命令对应的数据,并将获取的数据输出至接口或者主机;步骤203:在步骤202的过程中,控制单元启动双口Cache的第二端口,控制双口Cache根据第二读命令,通过第二端口从对应的Flash芯片中获取数据;步骤204:当通过第一端口获取的数据传输完毕,控制单元通过第一端口或者第二端口获取第二端口在步骤203中获取的数据,并将获取的数据输出至接口或者主机。需要指出的是,在步骤204的过程中,控制单元通过任意一个端口获取数据的同时,继续控制双口Cache通过另一个端口从对应的Flash芯片中继续获取后续读命令对应的数据。请参考图3,为本专利技术实施例执行读操作具体方法流程图二,可以包括以下步骤:步骤301:控制单元接收来自接口或者主机的读命令队列;假设读命令队列中最先要处理的两个读命令中,第一读命令以及第二读命令各自对应的数据均存储于相应的Flash芯片中。步骤302:控制单元启动双口Cache的第一端口,通过第一端口控制双口Cache根据第一读命令从对应的Flash芯片中获取数据;步骤303:控制单元通过第一端口获取双口Cache从对应的Flash芯片中获取的数据,并将获取的数据输出至接口或者主机;步骤304:在步骤303的过程中,控制单元启动双口Cache的第二端口,控制双口Cache根据第二读命令,通过第二端口从对应的Flash芯片中获取数据;步骤305:当控制单元通过第一端口获取的数据传输完毕,控制单元通过第一端口或者第二端口获取双口Cache在步骤304中获取的数据,并-->将获取的数据输出至接口或者主机。请参考图4,为本专利技术实施例执行读操作具体方法流程图三,可以包括以下步骤:步骤401:控制单元接收到来自接口或者主机的读命令;假设该读命令对应的数据存储在双口Cache中。步骤402:控制单元启动双口Cache的第一端口,通过第一端口从双口Cache中获取读命令对应的数据,并将获取的数据输出至接口或者主机;步骤403:在步骤402的过程中,控制单元启动双口Cache的第二端口,控制双口Cache通过第二端口将自身需要写入Flash芯片的数据写入对应的Flash芯片。当双口Cache的其中一个端口处于空闲状态时,例如图4所示流程图三的情况,控制单元可以控制双口Cache通过处于空闲状态的端口将双口Cache中需要写入Flash芯片的数据写入对应的Flash芯片。长时间执行写操作时,若出现空间不足的问题,会影响IOPS。在执行较长时间的写操作时,由于事先已经将双口Cache中需要写入Flash芯片的数据写入了对应的Flash芯片,提前解决了将双口Cache在执行长时间写操作时有可能会出现的空间不足的问题。另外,控制单元控制双口Cache将需要写入Flash芯片的数据写入对应的Flash芯片可以通过后文步骤S1-S3实现,可以加快写入对应的Flash芯片的时间。总之,在控制单元通过双口Cache的一个端口获取数据并将获取的数据输出至接口或者主机时,控制单元控制双口Cache通过另一端口与对应的Flash芯片进行数据传输,即控制双口Cache通过另一个端口进行双口Cache的管理。可以看出,本专利技术实施例使控制单元获取数据并向接口或者主机输出数据与双口Cache进行管理并行进行,可以减少双口Cache准备数据的时间,即使双口Cache能够缓存的数据量较少,也可以有效提高IOPS。需要指出的是,本专利技术实施例可以用高速Cache代替双口Cache。此时,将高速Cache进行分时处理,使高速Cache在不同时间段内执行不同的操作。具体为:当高速Cache的处理速度很快时,如高速Cache带宽为-->300M,而所需带宽可能只需要150M,因此,在大多时间对高速Cache的操作是空闲的,此时,可以利用高速Cache的空闲时间处理其它事务。例如,假设某高速Cache的带宽为每秒钟300M,若当前仅需要150M的带宽,则该高速Cache处理150本文档来自技高网...

【技术保护点】
一种随机读写方法,其特征在于,所述方法包括: 接收命令; 根据所述命令,通过双口高速缓存的第一端口与所述双口高速缓存进行数据传输,控制所述双口高速缓存通过所述双口高速缓存的第二端口与闪存芯片或者闪存芯片阵列进行数据传输。

【技术特征摘要】
1、一种随机读写方法,其特征在于,所述方法包括:接收命令;根据所述命令,通过双口高速缓存的第一端口与所述双口高速缓存进行数据传输,控制所述双口高速缓存通过所述双口高速缓存的第二端口与闪存芯片或者闪存芯片阵列进行数据传输。2、根据权利要求1所述的方法,其特征在于,所述接收命令为接收读命令;根据所述命令,通过双口高速缓存的第一端口与所述双口高速缓存进行数据传输,控制所述双口高速缓存通过所述双口高速缓存的第二端口与闪存芯片或者闪存芯片阵列进行数据传输包括:根据所述读命令,通过所述第一端口从所述双口高速缓存中获取所述读命令对应的数据,控制所述双口高速缓存通过所述第二端口从所述闪存芯片或者闪存芯片阵列中获取下一读命令对应的数据。3、根据权利要求2所述的方法,其特征在于,若所述读命令对应的数据获取完毕,所述方法还包括:通过所述第一端口或者第二端口获取所述第二端口从所述闪存芯片或者闪存芯片阵列中获取的数据,并输出所获取到的数据。4、根据权利要求1所述的方法,其特征在于,所述接收命令为接收读命令;根据所述命令,通过双口高速缓存的第一端口与所述双口高速缓存进行数据传输,控制所述双口高速缓存通过所述双口高速缓存的第二端口与闪存芯片或者闪存芯片阵列进行数据传输包括:控制所述双口高速缓存通过所述第一端口从所述闪存芯片或者闪存芯片阵列中获取所述读命令对应的数据;通过所述第一端口从所述双口高速缓存中获取所述读命令对应的数据,控制所述双口高速缓存通过所述第二端口从所述闪存芯片或者闪存芯片阵列中获取下一读命令的对应的数据。5、根据权利要求1所述的方法,其特征在于,根据所述命令,通过双口高速缓存的第一端口与所述双口高速缓存进行数据传输,同时,控制所述双口高速缓存通过所述双口高速缓存的第二端口与闪存芯片或者闪存芯片阵列进行数据传输包括:通过所述第一端口从所...

【专利技术属性】
技术研发人员:张宗全
申请(专利权)人:成都市华为赛门铁克科技有限公司
类型:发明
国别省市:90[中国|成都]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1