用于固态驱动器的缓冲区优化制造技术

技术编号:30280982 阅读:25 留言:0更新日期:2021-10-09 21:48
本公开涉及用于固态驱动器的缓冲区优化。固态驱动器具有包括控制器的集成电路,所述控制器经配置以:针对在所述集成电路的主机接口与所述集成电路的非易失性半导体存储装置接口之间传送的数据,确定所述集成电路的内部缓冲区对于透明地积累所述所传送数据的可用性;及(i)如果所述内部缓冲区可用,那么将来自目标非易失性半导体存储装置或所述主机的所述数据积累在所述内部缓冲区中,或(ii)如果所述内部缓冲区不可用,那么将来自所述目标非易失性半导体存储装置或所述主机的数据单元积累在通信地耦合到所述控制器的外部缓冲区中,其中所述外部缓冲区在所述集成电路外部。然后所述控制器将所述所积累数据提供到相应接口以供应来自所述主机的读取或写入请求。供应来自所述主机的读取或写入请求。供应来自所述主机的读取或写入请求。

【技术实现步骤摘要】
用于固态驱动器的缓冲区优化


[0001]本公开涉及固态驱动器以及在处理来自主机的读取及写入请求时实现DRAM带宽使用的减少、电力消耗的减少及等待时间的减少的方法。

技术介绍

[0002]与常规磁盘驱动器相比,固态驱动器(SSD)通常具有较快性能、较紧凑且对振动或物理震动较不敏感。鉴于这些优点,即使SSD的每千兆字节存储容量成本显著高于磁盘驱动器的每千兆字节存储容量成本,但SSD代替磁盘驱动器或在磁盘驱动器之外正在越来越多的计算装置及其它消费型产品中使用。
[0003]SSD利用包括非易失性半导体存储装置(例如NAND装置)的物理存储器单元来存储数据。单芯片系统(SoC)控制器用于SSD中以管理主机与SSD的存储器单元之间的数据传送。向SSD的物理存储器单元写入数据及从所述物理存储器单元读取数据通常涉及在各种存储器单元之间混洗数据。当处理来自主机的读取请求或写入请求时,SSD通常采用缓冲区来处置由SoC进行的数据传送。具体来说,通常使用环形缓冲区,这是因为所述环形缓冲区在SoC控制器及固件功能两者中均易于实施及管理。环形缓冲区通常占用大量的存储器,因此所述环形缓冲区存储于位于控制器外部的动态随机存取存储器(DRAM)中。
[0004]外部DRAM中的环形缓冲区需要显著的存储器总线带宽使用来处理高数据传送速率。另外,如在来自主机的读取及写入请求中通常涉及的向外部DRAM传送大量的数据将增加SSD的电力消耗。因此,长期以来需要在主机与SSD之间进行优化的数据传送,以减少电力消耗并减少等待时间。
专利
技术实现思路

[0005]根据本公开的实施例,提供一种包括多个非易失性半导体存储装置的固态驱动器(SSD)。所述SSD还包括集成电路,所述集成电路包括经配置以将所述集成电路通信地耦合到主机的主机接口、控制器及经配置以将所述集成电路通信地耦合到所述多个非易失性半导体存储装置的装置接口。另外,所述SSD包括形成所述集成电路的一部分的内部缓冲区,及通信地耦合到所述控制器的外部缓冲区,所述外部缓冲区在所述集成电路外部。所述主机接口经配置以从所述主机接收针对数据的读取请求,其中受所述读取请求作用的所述数据被分段成多个数据单元。所述装置接口经配置以确定所述多个非易失性半导体存储装置中存储有受所述读取请求作用的所述数据的一或多个目标非易失性半导体存储装置。所述控制器经配置以针对所述多个数据单元中的每一数据单元,确定所述内部缓冲区对于暂时积累所述数据单元的可用性,其中(i)如果所述内部缓冲区可用,那么将来自所述一或多个目标非易失性半导体存储装置的所述数据单元积累到所述内部缓冲区,且(ii)如果所述内部缓冲区不可用,那么将来自所述一或多个目标非易失性半导体存储装置的所述数据单元积累到所述外部缓冲区。所述主机接口进一步经配置以将与受所述读取请求作用的所述数据对应的所积累数据传送到所述主机。
[0006]在一些实施方案中,所述控制器进一步经配置以从所述内部缓冲区及所述外部缓冲区移除已传送到所述主机的所述数据单元。在某些实施方案中,所述内部缓冲区及所述外部缓冲区中的每一者包括多个写入缓冲区及多个读取缓冲区。在另外实施方案中,所述读取及写入缓冲区中的每一者包括环形缓冲区。在一些实施方案中,存在比写入缓冲区多的读取缓冲区。在某些实施方案中,所述SSD进一步包括耦合到所述存储器控制器的经配置以设定所述内部缓冲区中的读取缓冲区数目及写入缓冲区数目的可编程固件配置电路。
[0007]在另外实施方案中,所述内部缓冲区驻存于与所述控制器相关联的本地存储器中。在一些实施方案中,所述本地存储器包括静态随机存取存储器(SRAM)。在某些实施方案中,所述外部缓冲区驻存于在所述集成电路外部的存储器中。在另外实施方案中,所述外部存储器包括动态随机存取存储器(DRAM)。在一些实施方案中,每一非易失性半导体存储装置包括NAND芯片。在某些实施方案中,所述控制器包括单芯片系统(SoC)控制器。
[0008]根据本公开的另一实施例,提供一种包括多个非易失性半导体存储装置的SSD。所述SSD还包括集成电路,所述集成电路包括经配置以将所述集成电路通信地耦合到主机的主机接口、控制器,及经配置以将所述集成电路通信地耦合到所述多个非易失性半导体存储装置的装置接口。另外,所述SSD包括形成所述集成电路的一部分的内部缓冲区,及通信地耦合到所述控制器的外部缓冲区,所述外部缓冲区在所述集成电路外部。所述主机接口经配置以接收含有来自主机的数据及所述多个非易失性半导体存储装置中将被写入所述数据的目标非易失性半导体存储装置的写入请求,其中受所述写入请求作用的所述数据被分段成多个数据单元。所述控制器经配置以针对所述多个数据单元中的每一数据单元,确定所述内部缓冲区对于暂时积累所述数据单元的可用性,其中(i)如果所述内部缓冲区可用,那么将来自所述主机的所述数据单元积累到所述内部缓冲区,且(ii)如果所述内部缓冲区不可用,那么将来自所述主机的所述数据单元积累到所述外部缓冲区。所述装置接口经配置以确定所述目标非易失性半导体存储装置何时准备好被写入,且在所述目标非易失性半导体存储装置准备好时将与受所述写入请求作用的所述数据对应的所积累数据传送到所述目标非易失性半导体存储装置。
[0009]在某些实施方案中,所述控制器经配置以从所述内部缓冲区移除已传送到所述目标非易失性半导体存储装置的所述数据单元。在一些实施方案中,所述控制器经配置以将积累在所述内部缓冲区中的所述数据单元的备份副本存储在所述外部缓冲区中。在另外实施方案中,所述控制器经配置以一旦将所述所积累数据单元编程到所述目标非易失性半导体存储装置中便移除所述外部缓冲区中的所述数据单元的所述备份副本。在某些实施方案中,所述控制器经配置以在将所有数据单元暂时积累在所述内部缓冲区及所述外部缓冲区中之后向所述主机发送消息以指示所述写入请求的完成。
[0010]在一些实施方案中,所述装置接口经配置以在所述目标存储装置准备好时就将所述所积累数据单元传送到所述目标非易失性半导体存储装置。在另外实施方案中,所述装置接口经配置以编程每一非易失性半导体存储装置以便在传送所述所积累数据单元之前使其准备好接收所述数据单元。在某些实施方案中,所述控制器经配置以在所述非易失性半导体存储装置中的至少一者中的电力损失或编程失败的事件中将所述外部缓冲区中的所述数据单元而非积累在所述内部缓冲区中的所述数据传送到所述目标非易失性半导体存储装置。
[0011]在一些实施方案中,所述内部缓冲区及所述外部缓冲区中的每一者包括多个写入缓冲区及多个读取缓冲区。在某些实施方案中,所述读取及写入缓冲区中的每一者包括环形缓冲区。在另外实施方案中,存在比写入缓冲区多的读取缓冲区。在一些实施方案中,所述SSD进一步包括耦合到所述存储器控制器的经配置以设定所述内部缓冲区中的读取缓冲区数目及写入缓冲区数目的可编程固件配置电路。
[0012]在某些实施方案中,所述内部缓冲区驻存于与所述控制器相关联的本地存储器中。在另外实施方案中,所述本地存储器包括静态随机存取存储器(SRAM)。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集成电路系统,其包括:集成电路;存储器控制器;内部缓冲区,其在所述集成电路内部且通信地耦合到所述存储器控制器;及外部缓冲区,其在所述集成电路外部且通信地耦合到所述存储器控制器,其中所述存储器控制器经配置以接收对将数据写入到可用缓冲区的请求,所述数据被分段成多个数据单元,针对所述多个数据单元中的每一数据单元,确定所述内部缓冲区对于暂时存储所述数据单元的可用性,如果所述内部缓冲区可用,那么将所述数据单元写入到所述内部缓冲区而不写入到所述外部缓冲区,及如果所述内部缓冲区不可用,那么将所述数据单元写入到所述外部缓冲区而不将所述数据单元写入到所述内部缓冲区。2.根据权利要求1所述的集成电路系统,其中所述存储器控制器进一步经配置以在将所述数据单元存储到非易失性半导体存储装置中之后将所述数据单元从所述内部缓冲区或所述外部缓冲区移除。3.根据权利要求1所述的集成电路系统,其中所述存储器控制器经配置以将积累在所述内部缓冲区中的数据单元的备份副本存储在所述外部缓冲区中。4.根据权利要求3所述的集成电路系统,其中所述存储器控制器经配置以在将所述数据单元存储到非易失性半导体存储装置中之后移除所述外部缓冲区中的所述数据单元的所述备份副本。5.根据权利要求1所述的集成电路系统,其中所述存储器控制器经配置以在将受所述写入请求作用的所有数据单元写入到所述内部缓冲区或所述外部缓冲区之后向主机发送消息以指示所述写入请求的完成。6.根据权利要求5所述的集成电路系统,其中所述存储器控制器经配置以在将受所述写入请求作用的所述数据单元存储到非易失性半导体存储装置中之前向主机发送所述消息。7.根据权利要求1所述的集成电路系统,其中所述存储器控制器经配置以在非易失性半导体存储装置变得可用于存储数据单元时将存储在所述内部缓冲区或所述外部缓冲区中的所述数据单元即时地传送到所述非易失性半导体存储装置。8.根据权利要求3所述的集成电路系统,其中所述存储器控制器经配置以在电力损失或编程失败的事件中将所述外部缓冲区中的所述数据单元而非存储在所述内部缓冲区中的所述数据单元传送到所述非易失性半导体存储装置。9.根据权利要求1所述的集成电路系统,其中所述存储器控制器进一步经配置以接收对读取数据的请求,所述所读取数据对应于所述数据单元,且所述存储器控制器进一步经配置以:如果将所述数据单元写入到了所述内部缓冲区,那么从所述内部缓冲区读取所述数据单元,及如果将所述数据单元写入到了所述外部缓冲区,那么从所述外部缓冲区读取所述数据
单元。10.根据权利要求9所述的集成电路系统,其中所述存储器控制器经配置以:如果将所述数据单元写入到了所述内部缓冲区,那么在已读取所述数据单元之后将其从所述内部缓冲区移除,及如果将所述数据单元写入到了所述外部缓冲区,那么在已读取所述数据单元之后将其从所述外部缓冲区移除。11.根据权利要求9所述的集成电路系统,其中所述存储器控制器经配置以针对对应于所述数据单元的所读取数据,确定所述内部缓冲区对于暂时存储所述数据单元的可用性,其中如果所述内部缓冲区可用,那么将所述数据单元写入所述内部缓冲区中,且如果所述内部缓冲区不可用,那么将所述数据单元写入到所述外部缓冲区。12.根据权利要求1所述的集成电路系统,其中所述内部缓冲区及所述外部缓冲区中的每一者包括多个写入缓冲区及多个读取缓冲区。13.根据权利要求12所述的集成电路系统,其中所述多个读取缓冲区及所述多个写入缓冲区中的每一者包括环形缓冲区。14.根据权利要求12所述的集成电路系统,其进一步包括耦合到所述存储器控制...

【专利技术属性】
技术研发人员:尼格尔
申请(专利权)人:铠侠股份有限公司
类型:发明
国别省市:

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

1