存储设备及其存储器管理方法与流程

文档序号:20838532发布日期:2020-05-22 17:11阅读:226来源:国知局
存储设备及其存储器管理方法与流程

本发明构思的示例性实施例涉及一种存储设备,更具体地,涉及一种使用主机存储器缓冲器的存储设备以及包括存储设备的存储器管理方法。



背景技术:

基于闪速存储器的大容量存储设备的示例是固态驱动器(在下文中称为“ssd”)。ssd用于各种目的,并且对ssd的需求正在增加。例如,ssd可以用于服务器、客户端、数据中心等。ssd的接口应该为每个目的提供最佳速度和可靠性。为了满足这种需求,正在使用诸如串行高级技术附件(sata)接口、外围组件互连快速(pcie)接口和串行附接的小型计算机系统接口(sas)之类的接口。具体地,正在开发基于pcie的非易失性存储器快速(nvme)或基于通用闪存(ufs)的统一存储器扩展(ume)并将其应用于存储设备。该接口提供了设备之间的存储器共享功能。因此,关于使用存储器资源共享方案的存储设备,需要数据管理方法。

在使用存储器共享方案的存储设备中,关于对存储设备和主机所共享的存储器的可靠性的管理,可能会出现问题。其原因是主机分配给存储设备的存储器区域包含在主机内但由存储设备管理。另外,用于管理存储设备的数据被加载到主机的存储器区域(在下文中称为“主机存储器缓冲器”)并在其中被更新,该存储器区域被存储设备与主机共享。因此,需要管理被存储在主机存储器缓冲器(hmb)中的数据的可靠性。



技术实现要素:

根据本发明构思的示例性实施例,提供了一种存储设备,所述存储设备与主机共享主机存储器。所述存储设备包括接口,所述接口与所述主机交换数据并实施协议以使用所述主机存储器的部分区域作为所述存储设备的缓冲器。所述存储设备的存储控制器监测所述缓冲器的第一区域的劣化信息,并基于所述监测的结果向所述主机发送与所述第一区域相关联的损坏预测通知。

根据本发明构思的示例性实施例,提供了一种存储设备的存储器管理方法,主机的主机存储器被分配给所述存储设备。所述存储器管理方法包括:在所述存储设备处,将所述缓冲器划分成多个缓冲器区域,并检测所述多个缓冲器区域中的每个缓冲器区域的劣化信息。所述存储器管理方法还包括:使用所述存储设备基于检测到的劣化信息来确定第一缓冲器区域是否超过错误阈值。当所述第一缓冲器区域超过所述错误阈值时,向所述主机发送与所述第一缓冲器区域相关联的损坏预测通知。

根据本发明构思的示例性实施例,提供了一种存储设备,所述存储设备使用主机的主机存储器作为缓冲器。所述存储设备包括:接口,被配置为与所述主机通信;非易失性存储器设备;以及存储控制器,被配置为将通过所述接口从所述主机存储器分配的缓冲器区域划分为多个缓冲器区域。所述存储设备监测所述多个缓冲器区域中的每个缓冲器区域的劣化状态,并且当劣化状态超过阈值时发送损坏通知或损坏预测通知。

附图说明

根据结合附图的以下详细描述,将更清楚地理解本发明构思的上述和其它方面和特征,在附图中:

图1是示出了根据本发明构思的示例性实施例的存储设备所连接到的计算机系统的框图;

图2是示出了图1所示的主机存储器的框图;

图3是示出了图1所示的存储控制器的示例性配置的框图;

图4示出了根据本发明构思的示例性实施例的每个区域hmb的健康状态表;

图5是示出了图3所示的hmb控制器或损坏检测模块的操作的流程图;

图6是示出了发送损坏通知的存储控制器和主机的相互操作的图;

图7是示出了根据本发明构思的示例性实施例的hmb控制器的损坏预测模块的操作的流程图;

图8是示出了根据本发明构思的示例性实施例的主机和损坏预测模块的相互操作的图;

图9是示出了根据本发明构思的示例性实施例的存储设备的框图,所述存储设备具有用于向主机发送损坏通知或损坏预测通知的单独通道;以及

图10是示出了根据本发明构思的另一示例性实施例的具有用于发送损坏通知或损坏预测的通道的存储设备的框图。

具体实施方式

现在将参考附图更全面地描述本发明构思的示例性实施例。然而,本发明构思可以用多种替代形式来体现,并且不应当解释为只局限于本文阐述的本公开的示例性实施例。应当理解,在整个详细描述和附图中,相同的附图标记可以指代相同的元件。下面,将使用闪速存储器设备的固态驱动器(ssd)用作存储设备的示例来描述本发明构思的特征和功能。然而,应该理解,这仅仅是示例性的,并且其他存储器设备可应用于本文所述的发明构思。

图1是示出了根据本发明构思的示例性实施例的存储设备所连接到的计算机系统的框图。参考图1,计算机系统1000包括主机1100和存储设备1200。主机1100可以访问存储设备1200以便在非易失性存储器设备(nvm)1260中存储数据或从非易失性存储器设备(nvm)1260读取数据。存储设备1200响应于主机1100的访问请求在nvm1260中存储数据或从nvm1260读取数据。主机1100的主机存储器1130的部分区域可以分配给存储设备1200,作为hmb1120。存储设备1200可以作为主设备管理hmb1120。

主机1100可以在存储设备1200中写入数据或者读取被存储在存储设备1200中的数据。主机1100可以用于在存储设备1200中写入数据的提供命令和地址。主机1100可以向存储设备1200提供用于读取被存储在存储设备1200中的数据的命令和地址。

主机1100可以包括处理器1110、主机存储器1130和接口电路1150。可以将应用程序、文件系统、设备驱动程序等加载到主机存储器1130上。可以将在主机1100中驱动的各种软件和数据加载到主机存储器1130上。具体地,主机1100可以为hmb1120分配主机存储器1130的部分区域,用作存储设备1200的缓冲器。

分配hmb1120以允许存储设备1200使用主机存储器1130作为缓冲器。hmb1120的区域由存储设备1200监测。存储设备1200可以将hmb1120划分为多个区域并且可以监测每个区域的劣化状态。另外,存储设备1200可以监测被存储在hmb1120的划分区域中的数据的错误率,并且可以确定是否发生了损坏。

在从存储设备1200接收到监测结果时,主机1100可以重新分配hmb1120的全部或一部分。例如,在第二hmb1123劣化预定级别或更高的情况下,存储设备1200通知主机1100。响应于存储设备1200的通知,主机1100可以将第二hmb1123重新分配给第一hmb1121。

接口电路1150提供处理器1110、主机存储器1130和主机接口1220之间的连接。换言之,接口电路1150可以转换与从主机1100生成的各种访问请求相对应的命令、地址、数据等,以便适于与存储设备1200的接口连接。接口电路1150的协议可以包括通用串行总线(usb)、小型计算机系统接口(scsi)、pcie、高级技术附件(ata)、并行ata(pata)、串行ata(sata)、sas和ufs中的至少一个。

可以提供存储设备1200作为主机1100的数据存储装置。存储设备1200可以包括主机接口1220、存储控制器1240和非易失性存储器设备1260。存储设备1200可以响应于来自主机1100的命令cmd来访问非易失性存储器设备1260,或者可以执行主机1100请求的各种操作。

提供主机接口1220作为存储设备1200的物理通信通道以用于与主机1100进行数据交换。主机接口1220可以具有允许hmb1120支持存储设备1200的缓冲器功能的接口协议。主机接口1220可以支持用于相互共享主机1100的存储器资源和存储设备1200的存储器资源的接口协议。例如,存储控制器1240使得主机接口1220可以使用一个存储器映射来管理hmb1120和存储设备1200的内部缓冲器。

存储控制器1240提供主机1100和存储设备1200之间的接口连接。存储控制器1240可以根据来自主机1100的请求将用户数据写入非易失性存储器设备1260中。存储控制器1240可以包括专门管理hmb1120的hmb控制器1243。hmb控制器1243可以监测hmb1120的每个区域的劣化状态或数据的错误率。hmb控制器1243可以监测是否存在阈值量的错误率或阈值水平或更高的劣化。当hmb1120的数据错误发生时,hmb控制器1243向主机1100提供已经发生错误的通知。备选地,在劣化变得更严重并因此而随即发生严重的损坏之前,hmb控制器1243可以通过提供关于潜在事件的信息来预先通知主机1100。

提供非易失性存储器设备(nvm)1260作为存储设备1200的存储介质。nvm1260可以包括非易失性存储器,例如闪速存储器、相变随机存取存储器(pram)、磁随机存取存储器(mram)、电阻随机存取存储器(reram)、铁电随机存取存储器(fram)、磁盘等。

根据本发明构思的示例性实施例,存储设备1200可以监测hmb1120,并且可以根据监测结果向主机1100提供损坏预测通知或损坏通知。在监测结果指示在hmb1120的特定区域中发生不可校正的错误的情况下,存储设备1200可以向主机1100提供损坏通知。在这种情况下,主机1100可以重新分配hmb1120的存储器区域。另外,存储设备1200可以针对每个区域监测hmb1120的劣化状态,并且可以向主机1100通知监测结果。即使在hmb1120的特定区域中没有发生错误,也可以关于超过阈值的劣化对主机存储器1120进行监测。当检测到劣化时,存储设备1200可以向主机1100提供损坏预测通知,使得主机1100将hmb1120的特定区域重新分配给另一区域。

根据本发明构思的计算机系统1000,存储设备1200可以针对每个区域对hmb1120进行监测。存储设备1200可以向主机1100提供监测结果(指示损坏或损坏预测)以请求主机1100重新分配hmb1120。

图2是示出了图1所示的主机存储器的框图。参考图2,主机存储器1130的部分区域可以被分配给hmb1120。另外,根据来自存储设备1200的通知或请求,可以将hmb1120重新分配给主机存储器1130的另一存储器区域。

主机存储器1130是主机1100中提供的存储器。例如,主机存储器1130可以用诸如动态随机存取存储器(dram)或静态随机存取存储器(sram)之类的易失性存储器实现,或者可以用非易失性存储器实现。然而,可以理解,主机存储器1130可以根据目的以不同的方式实现。主机存储器1130可以存储或输出由主机1100请求的数据。另外,分配给存储设备1200的缓冲器的hmb1120包括在主机存储器1130中。hmb1120可以被分配给主机存储器1130的特定存储器区域,或者可以根据存储设备1200的信息以最佳大小在主机存储器1130上被分配。

hmb1120是与主机存储器1130的部分区域相对应的存储器区域,所述主机存储器1130的部分区域被分配用作存储设备1200的缓冲器。因此,存储设备1200可以使用hmb1120作为缓冲器而无需单独的内部缓冲器。由于诸如成本、设备尺寸和设计限制之类的各种问题,存储设备1200中提供的内部缓冲器可能难以提供足够的容量。然而,在共享hmb1120以允许存储设备1200使用主机存储器1130的部分区域的情况下,存储设备1200可以确保足够的缓冲容量。

根据待存储数据(在下文中称为“缓冲数据”)的属性,hmb1120可以被划分为多个hmb区域1122、1124和1126。例如,可以将存储设备1200的映射数据可以存储在hmb1区域1122中。可以将用户数据存储在hmb2区域1124中。可以将用于管理存储设备1200的管理数据存储在hmb3区域1126中。然而,用于将hmb1120划分为hmb区域1122、1124和1126的参考不限于待存储数据的属性。hmb1120可以被划分为多个区域以使存储器管理容易。

在根据待存储数据的属性将hmb1120划分为多个区域的情况下,hmb控制器1243可以高效地监测健康状态。换言之,在检测到hmb区域的缺陷、数据损坏或劣化进展状态的情况下,可以容易地将任何一个hmb区域重新分配给新的hmb区域。

可以根据待存储缓冲数据的属性将hmb1120划分为多个hmb区域。在hmb1120的情况下,可以针对hmb区域1122、1124和1126中的每个区域监测健康状态。响应于检测到的缺陷、数据损坏或劣化状态,可以根据需要将hmb区域重新分配给主机存储器1130的另一新的区域。例如,可以将hmb区域1122、1124和1126独立地重新分配给主机存储器1130中的可用hmb区域或其他地方。

图3是示出了根据图1的本发明构思的示例性实施例中示出的存储控制器的配置的框图。参考图3,存储控制器1240可以包括中央处理单元(cpu)1241、hmb控制器1243、闪存接口1245和纠错块(ecc)1247。具体地,hmb控制器1243可以驱动或包括损坏检测模块1242和损坏预测模块1244以管理hmb1120和hmb健康状态表1246。

cpu1241可以执行存储设备1200的各种存储器管理操作。例如,cpu1241可以响应于来自主机1100的命令而控制hmb控制器1243和闪存接口(i/f)1245,以在非易失性存储器设备1260中写入数据。cpu1241提示hmb控制器1243从hmb1120读取数据。

根据cpu1241的请求,hmb控制器1243可以在hmb1120中写入数据,或者可以从hmb1120读取写入的数据。hmb控制器1243可以根据hmb1120的缺陷或劣化来监测数据损坏或健康状态。hmb控制器1243可以包括损坏检测模块1242、损坏预测模块1244和hmb健康状态表1246,用于监测hmb1120的数据损坏或健康状态。

损坏检测模块1242参考从hmb1120读取的数据中是否存在错误、错误率和/或错误是否可校正来确定hmb1120的缺陷。例如,在从hmb1120的特定hmb区域读取的数据中检测到不可校正的错误的情况下,损坏检测模块1242可以将该情况确定为所述特定hmb区域的缺陷或劣化。基于该确定,hmb控制器1243可以向主机1100提供损坏通知,或者可以请求主机1100重新分配hmb区域。

损坏预测模块1244持续监测从hmb1120读取的数据的错误率或读取计数或写入计数,并且可以更新hmb健康状态表1246中的监测结果。例如,当hmb1120的hmb区域的写入计数大于阈值时,损坏预测模块1244可以预测稍后可能在特定hmb区域中发生缺陷。基于该确定,hmb控制器1243可以请求主机1100重新分配hmb区域。

可以在hmb健康状态表1246中存储或更新关于由损坏检测模块1242或损坏预测模块1244监测的每个hmb区域的健康状态的信息。可以根据在hmb健康状态表1246中更新的每个hmb区域的读取计数、写入计数和/或错误率,向主机1100提供用于hmb重新分配的请求方通知。

ecc1247检测从hmb1120读取的数据的错误。在从hmb1120读取的数据中存在可校正错误的情况下,ecc1247可以校正检测到的错误。ecc1247可以向hmb控制器1243提供从hmb1120读取的数据的错误比特的数量、错误率、和/或检测到的错误是否是可校正的。

如上所述,本发明构思的存储控制器1240可以检测hmb1120的损坏,或者可以根据数据劣化的进展来预测损坏。另外,存储控制器1240可以基于检测到的损坏或损坏预测信息向主机1100提供损坏通知或损坏预测通知。主机1100可以响应于损坏通知或损坏预测通知将损坏的hmb区域重新分配给主机存储器1130的正常存储器区域。

图4示出了根据本发明构思的示例性实施例的hmb的每个区域的hmb健康状态表1246。参考图4,可以根据待存储缓冲数据的属性将hmb1120划分为多个区域。可以在hmb健康状态表1246中存储和/或更新关于多个区域中的每个区域的劣化信息或损坏信息。

可以针对每个划分区域管理或更新hmb1120的每个区域的健康状态。指示每个区域的示例性健康状态的参考信息可以包括每个区域的写入计数和读取计数以及从被存储在每个区域中的数据检测到的错误率。然而,可以理解,与hmb1120的每个区域相关联的任何其他管理参数和/或标准可以用作被存储在hmb健康状态表1246中的健康状态信息。

根据本发明构思的示例性实施例,可以将与非易失性存储器设备1260的地址映射相关联的映射数据存储在第一hmb区域hmb1中。可以将要被编程在存储设备1200中的用户数据临时存储在第二hmb区域hmb2中。可以将用于管理或控制存储设备1200的管理数据存储在第三hmb区域hmb3中。

hmb控制器1243的损坏检测模块1242或损坏预测模块1244可以监测或更新hmb健康状态表1246的区域hmb1、hmb2和hmb3中的每个区域的写入计数wc、读取计数rc和错误率er。在从特定hmb区域检测到的错误率er对应于不可校正值的情况下,损坏检测模块1242可以向主机1100发送与特定hmb区域相关联的损坏通知。在写入计数wc、读取计数rc和错误率er中的至少一项达到或超过阈值的情况下,损坏预测模块1244可以向主机1100发送与相关hmb区域相关联的损坏预测通知。例如,阈值写入计数wc、读取计数rc和错误率er可以是彼此不同的值。损坏通知或损坏预测通知可以包括与相关hmb区域相关联的重新分配请求信息。

图5是示出了hmb控制器1243的损坏检测操作的流程图。参考图5,hmb控制器1243可以针对每个区域检测和/或监测从hmb1120读取的数据的错误率er。

在操作s110中,hmb控制器1243从cpu1241检测或接收对hmb1120的访问请求。这里,为了简化描述,假设接收到对hmb1120的读取请求。

在操作s120中,hmb控制器1243检测是否存在从hmb1120读取的数据的损坏。例如,ecc1247可以检测从hmb1120读取的数据的错误。

在操作s130中,hmb控制器1243确定从hmb1120读取的数据的错误率er是否超过错误率阈值the。当确定所读取的数据的错误率er大于错误率阈值the时,流程进行到在操作s150中通知主机。当确定读取的数据的错误率er小于或等于错误率阈值the时,流程进行到在操作s140中使用所读取的数据来执行操作或校正错误。

在操作s140中,hmb控制器1243可以使用未检测到错误的读取数据来执行存储器管理操作。备选地,存储控制器1240可以校正包括可校正错误的读取数据的错误。存储控制器1240可以通过使用经错误校正的读取数据来执行存储器管理操作或数据传输操作。

在操作s150中,当hmb控制器1243确定hmb1120的特定区域被损坏时,向主机1100通知关于该事件的信息。备选地,存储控制器1240可以将检测到不可校正错误的hmb区域分配给主机存储器1130的新区域。

在操作s160中,存储控制器1240更新被存储在hmb健康状态表1246中的hmb区域的错误率er。之后,在分配新的hmb区域的情况下,存储控制器1240可以在hmb健康状态表1246中创建与新分配区域相关联的项目。

图6是示出了存储控制器1240向主机1100发送损坏通知的操作的图。参考图6,主机1100可以响应于由存储设备1200的存储控制器1240发送的损坏通知来重新分配hmb区域。

在操作s210中,存储设备1200向主机1100发送用于读取被存储在hmb1120中的数据的读取请求。

在操作s220中,主机1100可以读取hmb1120的指定hmb区域的数据,并且可以向存储设备1200发送读取的数据。

在操作s230中,存储控制器1240可以通过使用ecc1247来检测从hmb1120读取的数据中是否存在错误。当未从所读取的数据中检测到错误时(否),在操作s260中,存储控制器1240可以处理所读取的数据。例如,存储控制器1240可以通过使用所读取的数据来执行存储设备1200的存储器管理操作,或者可以向主机1100或非易失性存储器设备1260发送所读取的数据。

当所读取的数据中存在错误时(是),存储控制器1240可以参考错误率的大小向主机1100发送损坏通知,或者可以通过错误校正来处理所读取的数据。根据本发明构思的示例性实施例,当错误率er的大小满足或超过错误率阈值the时,在操作s250中,存储控制器1240确定错误是不可校正的并且向主机1100发送损坏通知。

在操作s270中,主机1100可以响应于损坏通知,将hmb1120的hmb区域重新分配到正常存储器区域。备选地,主机1100可以尝试调整或初始化操作参数和训练参数,所述操作参数和训练参数与hmb1120的对应于损坏通知的部分区域或设备相关联。

图7是示出了根据本发明构思的示例性实施例的hmb控制器1243的损坏预测模块1244的操作的流程图。参考图7,hmb控制器1243可以监测hmb1120的每个区域的健康状态,并且可以根据监测结果生成损坏预测通知。

在操作s310中,hmb控制器1243可以参考hmb1120的访问请求,根据数据属性监测每个hmb区域的健康状态信息。这里,为了便于描述,将举例说明对与hmb1120的每个hmb区域相关联的写入计数wc或读取计数rc的监测。然而,hmb控制器1243可以使用错误率er来进行损坏预测。例如,hmb控制器1243可以监测可校正错误的可允许程度,并且可以在可校正错误的程度高于阈值时确定发送损坏预测通知。

在操作s320中,hmb控制器1243可以检查至少一个hmb区域是否具有超过写入阈值th_wc的写入计数wc。备选地,hmb控制器1243可以检查至少一个hmb区域是否具有超过读取阈值th_rc的读取计数rc。当读取计数rc未超过阈值th_rc或写入计数wc未超过写入阈值th_wc时(否),流程进行到操作s310以继续监测健康状态。当在hmb区域中读取计数rc或写入计数wc大于读取阈值th_rc或写入阈值th_wc时(是),流程进行到操作s330。

在操作s330中,hmb控制器1243向主机1100发送与特定hmb区域相关联的损坏预测通知。损坏预测通知可以是指示简单损坏预测的信号,并且可以包括与预测到损坏的hmb区域的位置有关的信息或请求重新分配的信息。

在操作s340中,hmb控制器1243更新被存储在hmb健康状态表1246中的相关hmb区域的读取计数rc或写入计数wc。在分配新的hmb区域的情况下,hmb控制器1243可以在hmb健康状态表1246中创建并维护与新分配的区域相关联的项目。

在发生严重损坏之前,hmb控制器1243可以根据针对hmb1120的每个区域监测的健康状态检测,预先向主机1100发送损坏预测通知。因此,通过防止由于hmb1120的逐步缺陷或劣化导致的严重损坏问题,可以提高存储设备1200的操作的可靠性。

图8是示出了根据本发明构思的示例性实施例的主机1100和hmb控制器1243的损坏预测模块1244的示例性相互操作的图。参考图8,存储设备1200监测hmb1120的每个hmb区域的健康状态,并且当结果表明潜在的未来损坏时,向主机1100发送损坏预测通知。

在操作s410中,存储设备1200检查hmb1120的每个hmb区域的写入计数wc。当存在写入计数wc大于写入阈值th_wc的hmb区域时,存储控制器1240可以向主机1100发送损坏预测通知。然而,当hmb区域不具有大于写入阈值th_wc的写入计数wc时,存储控制器1240进行到操作s420以检测读取计数rc。

在操作s420中,存储设备1200检查hmb1120的每个hmb区域的读取计数rc。当hmb区域当中存在读取计数rc大于读取阈值th_rc的hmb区域时(是),存储控制器1240可以进行到操作s430并且可以向主机1100发送损坏预测通知。然而,当未检测到读取计数rc大于读取阈值th_rc的hmb区域时(否),存储控制器1240可以根据操作s410和s420继续监测hmb健康状态。

在操作s440中,主机1100可以响应于损坏预测通知将预测到错误的hmb区域重新分配给任何其他正常存储器区域。备选地,主机1100可以调整与hmb1120的预测到损坏的部分区域或部分设备相关联的操作参数。例如,主机1100可以尝试初始化hmb1120的预测到损坏的部分区域或部分设备,或者调整操作参数和训练参数。

图9是示出了根据本发明构思的示例性实施例的存储设备的框图,所述存储设备具有用于向主机发送损坏通知或损坏预测通知的单独通道。参考图9,存储设备1200可以包括通知通道1350,所述通知通道1350用于向主机1100发送hmb区域的损坏通知或损坏预测通知。

主机1100和存储设备1200可以包括用于传输数据的输入/输出(i/0)通道1300。主机1100和存储设备1200可以基于各种接口方案彼此通信。具体地,主机1100和存储设备1200可以包括通知通道1350,所述通知通道1350向主机1100通知在hmb中发生的损坏或者请求重新分配hmb。主机1100和存储设备1200可以包括针对通知通道1350的单独的引脚或焊盘。备选地,主机1100和存储设备1200可以使用已有引脚中未使用的引脚作为针对通知通道1350的引脚。

图10是示出了根据本发明构思的另一示例性实施例的具有通知通道的存储设备的框图。参考图10,存储设备2200可以通过供应商消息(msg)通道实现向主机2100进行的hmb区域的损坏通知或损坏预测通知。

主机2100和存储设备2200可以包括用于传输数据的i/o通道2300。存储设备2200可以通过使用已有的v通道来发送hmb的损坏通知或损坏预测通知或者请求重新分配hmb的消息。

根据本发明构思的示例性实施例,与主机共享主机存储器的存储设备可以监测hmb区域。存储设备可以参考hmb区域的监测结果来检测或预测损坏或劣化,从而防止发生严重缺陷。

尽管已经示出和描述了本发明构思的示例性实施例,但是本领域普通技术人员将理解,在不脱离由所附权利要求限定的本公开的精神和范围的情况下,可以在其中进行形式和细节上的改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1