写数据的方法、读数据的方法及存储设备的制作方法

文档序号:6575323阅读:188来源:国知局
专利名称:写数据的方法、读数据的方法及存储设备的制作方法
技术领域
本发明涉及移动通信技术领域,特别涉及一种写数据的方法、读数据的 方法及存储设备。
背景技术
存储设备是由控制单元和固态存储单元组成的,其中固态存储单元可以
为动态随才几存Y渚器(Dynamic Random-Access Memoiy ,简称DRAM)或闪存 (FLASH)芯片。以FLASH芯片作为存储介质的存储设备中,在固态存储 单元上具有多个通道,其中,每个通道上具有多行FLASH芯片,每个FLASH 芯片可以分为4个物理层,每一物理层上可以包括4个面,每个面内可以包 括2048,即2K个物理块,每个物理块内可以包括64个页,每一个页内又可 以分为8个扇区,每个扇区内存储有数据。
目前,以FLASH芯片作为存储介质的存储设备是采用逻辑块寻址 (Logical Block Addressing ,简称LB A)的方式读取/写入数据的。存储设备 接收到主机发送的预读取/写入it据的LBA地址,对该LBA地址进行解析, 根据解析后的地址在存储设备维护的 一级映射表中找到该地址对应的物理块 号,然后再在该存储设备维护的二级映射表中找到该物理块号对应的页号, 从而得到数据的读取/写入位置。
上述读取/写入数据的处理过程中,发明人发现现有技术存在如下缺陷 存储设备解析LBA地址时要获取通道、行、物理层、面、物理块等信息,解 析操作时间长,影响数据传输速度;并且,在存储设备的内存(Cache )中要 耗费较大容量来存放映射表,且查找映射表也需要耗费大量时间,影响数据 传输速度。

发明内容
本发明实施例的目的在于提供一种写数据的方法、读数据的方法及存储设备,以提高存储设备中数据处理能力,减少存储设备中的内存容量。
本发明实施例提供了一种写数据的方法,包括
接收主机发送的写数据请求,所述写数据请求中包括逻辑块寻址地址,以及根据所述逻辑块寻址地址获得的页号;
根据所述页号,在存储设备预置的页表中查找是否存在与所述页号对应的第一物理地址中的第一物理块号,所述页表中包括页号和物理块号的对应关系;
若存在与所述页号对应的第一物理块号,则将所述写数据请求中的待写入数据写入所述第 一物理块号标识的第 一物理块中。
本发明实施例还提供了一种读数据的方法,包括
接收主机发送的读数据请求,所述读数据请求中包括逻辑块寻址地址,以及根据所述逻辑块寻址地址获得的页号;
根据所述页号,在存储设备预置的快表中查找是否存在与所述页号对应的物理地址中的物理块号,所述快表中包括页号和物理块号的对应关系;
若在所述快表中存在与所述页号对应的物理块号,则将数据从所述物理块号标识的物理块中读取至所述主机上;
若在所述快表中不存在与所述页号对应的所述物理块号,则才艮据所述页号在存储设备预置的页表中查找是否存在与所述页号对应的所述物理块号;若在所述页表中存在与所述页号对应的所述物理块号,则将数据^v所述物理块号标识的所述物理块中读取至所述主才几上。
本发明实施例还提供了一种存储设备,包括
第一接收单元,用于接收主机发送的写数据请求,所述写数据请求中包括逻辑块寻址地址,以及4艮据所述逻辑块寻址地址获得的页号;第一内存单元,用于存储预置的页表,所述页表中包括页号和物理块号
的对应关系;
第一 固件单元,用于根据所述第一接收单元接收到的所述写数据请求中 的所述页号,在所述第一内存单元存储的所述页表中查找是否存在与所述页 号对应的第 一物理地址中的第 一物理块号;
第一数据搬移单元,用于若所述第一固件单元查找到与所述页号对应的 第一物理块号,则将所述写数据请求中的待写入凝:据写入所述第一物理块号 标识的第一物理块中。
本发明实施例还提供了 一种存储设备,包括
第二接收单元,用于接收主机发送的读数据请求,所述读数据请求中包 括逻辑块寻址地址,以及才艮据所述逻辑块寻址地址获得的页号;
中央控制单元,用于存储预置的快表,所述快表中包括页号和物理块号 的对应关系;
第二内存单元,用于存储预置的页表,所述页表中包括页号和物理块号 的对应关系;
第二固件单元,用于根据所述第二接收单元接收到的所述读数据请求中 的所述页号,在所述中央控制单元存储的快表中查找是否存在与所述页号对 应的物理地址中的物理块号;若在所述快表中不存在与所述页号对应的所述 物理块号,则在所述第二内存单元存储的所述页表中查找是否存在与所述页 号对应的所述物理块号;
第二数据搬移单元,用于若在所述快表中存在与所述页号对应的物理块 号,则将数据从所述物理块号标识的物理块中读取至所述主机上;或者,若 在所述页表中存在与所述页号对应的所述物理块号,则将数据从所述物理块 号标识的所述物理块中读取至所述主机上。
由以上技术方案可知,本发明实施例的写数据的方法、读数据的方法及 存储设备,由于存储设备直接接收到页号信息,因此无需再对LBA进行解析,可以根据得到的页号在页表中查找到实际的物理块对应的物理地址,将数据
写入到存储设备中;且在写数据时存储设备的内存中只需保存一张页表,节省了存储设备的内存的容量。从而可以提高数据吞吐量和设备性能,提升了存储设备的数据处理能力。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作筒单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明写数据的方法第一实施例的流程示意图2为本发明写凄t据的方法第二实施例的流程示意图3为本发明实施例中的垃圾回收表中一个表项的示意图4为本发明读数据的方法实施例的流程示意图5为本发明存储设备第一实施例的结构示意图6为本发明存储设备第二实施例的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明写凝:据的方法第一实施例的流程示意图。如图1所示,包

步骤101、接收主机发送的写数据请求,所述写数据请求中包括逻辑块寻址地址(LBA),以及根据所述逻辑块寻址地址获得的页号。主机下发写数据请求后,由主机端的驱动程序将写数据请求中包括的
LBA地址解析成一种内存虚拟地址,即本发明实施例中的所述页号;然后将 带有该页号的写数据请求发送至存储设备。
步骤102、根据所述页号,在存储设备预置的页表中查找是否存在与所 述页号对应的第一物理地址中的第一物理块号,所述页表中包括页号和物理 块号的对应关系;
在存储设备的内存中维护有一张页表,该页表的表项包括页号与物理块 号之间的对应关系。其中页为数据单位划分单元,大小可以设置为4KB,并 作为数据传输的最小单元。
该第一物理地址中包括第一物理块号和第一块内偏移量。该第一物理地 址中的第一物理块号标识该存储设备中的FLASH芯片上的一个物理块,该第 一物理地址中的第 一块内偏移量指示该物理块中已有多少个页被写满。
步骤103、若存在与所述页号对应的第一物理块号,则将所述写数据请 求中的待写入翁:据写入所述第 一物理块号标识的第 一物理块中。
上述的写数据请求中的待写入数据,根据上述查找过程,即可以被写入 到存储i殳备中的所述第一物理块号标识的第一物理块中。
本实施例提供的存储设备中写入数据的方法,由于存储设备直接接收到 页号信息,因此无需再对LBA进行解析,可以4艮据得到的页号在页表中查找 到实际的物理块对应的物理地址,将数据写入到存储设备中;且在存储设备 的内存中只需保存一张页表,节省了存储设备的内存的容量。从而可以提高 数据吞吐量和设备性能,提升了存储设备的数据处理能力。
图2为本发明写数据的方法第二实施例的流程示意图。如图2所示,包括..
步骤201、接收主机发送的写数据请求,所述写数据请求中包括逻辑块 寻址地址,以及根据所述逻辑块寻址地址获得的页号。
步骤202、根据所述页号,在存储设备预置的页表中查找是否存在与所述页号对应的第一物理地址中的第一物理块号,若存在,执行步骤203,否 则,执行步骤205,所述页表中包括页号和物理块号的对应关系。
其中,该第一物理块号包括在第一物理地址中,该第一物理地址中还包 括有第一块内偏移量,本实施例中的其他物理地址中也包括对应的物理块号 和块内偏移量;
步骤203、判断第一块内偏移量指示的第一物理块是否^^写满,若没有 写满,则执行步骤204,否则,执行步骤207;
步骤204、将所述写数据请求中的待写入数据写入所述第一物理块号标 识的第一物理块中,结束;
步骤205、从空白块表中调取空白块表中保存的第一空白物理块对应的 第二物理地址,并将第二物理地址中的第二物理块号与页号的对应关系保存
到页表中;
在存储设备中会维护一张空白块表,该空白块表中保存有该存储设备上 的空白的物理块的物理块号和块内偏移量信息。该空白块表的每个表项占用 3个字节,其中高2个字节用来存放物理块号,低1个字节用来存放块内偏 移量。该空白块表中设置有游标,该游标指示存放了空白物理块的物理地址 信息的后一个表项。当要从该空白块表中取出 一个空白物理块对应的物理地 址信息时,可以是从该表的首位置取出,然后游标位置减1,或者也可以从 游标位置减1处直接取出空白物理块对应的物理地址信息。
步骤206、将所述写数据请求中的待写入数据写入所述第二物理块号标 识的第二物理块中,结束;
步骤207、从空白块表中调取空白块表中保存的第二空白物理块对应的 第三物理地址,并将第三物理地址中的第三物理块号替换为与页号对应的物 理块号保存到页表中;
由于原来页号对应的第一物理块号所指示的物理块已经写满,此时,该 页号对应的第一物理块已经不能再写入数据,因此,需要从空白块表中重新调取一新的空白物理块来存储该页号对应的数据,也需要将原来页号对应的 第 一物理块的第 一物理块号替换为第三物理块号。
步骤208、将所述写数据请求中的待写入数据写入所述第三物理块号标 识的第三物理块中。
步骤209、删除所述第一物理块中保存的数据,将删除数据后的所述第 一物理块作为第三空白物理块,并将标识所述第三空白物理块的所述第一物 理地址保存到所述空白块表中,结束。
对于步骤209,或是该存储设备中维护的空白块表中保存的空白物理块 的信息小于某一预设的阈值时,根据FLASH芯片的物理特性,必须进行垃圾 回收。在该存储设备的内存中还维护有一张垃圾回收表,该垃圾回收表用于 指向物理块中哪些页为无效页,哪些页为有效页。图3为本发明实施例中的 垃圾回收表中一个表项的示意图。如图3所示,该垃圾回收表中每个表项存 储一个物理块中所有页以及其中无效页的个数。 一个表项占用(64/8n+l)个 字节,其中n为页的个数,以一个页为例,则一个表项占用9个字节,其中 高8个字节(共64bits)表示一个物理块中的64个页是否是有效的,可以设 为1为有效,0为无效,低1个字节中的低7bits存储这个物理块中所含有无 效页的数量,低1个字节中最高的lbit表示存储这个物理块是否被加入了待 回收块表(脏块表)中,若已经进入到了脏块表中,则该位置l,否则置0。 该垃圾回收表在每次写操作时,如果出现无效页,就会对应相应的物理块号 将垃圾回收表中对应位置置0。
本实施例提供的存储设备中写入数据的方法,由于存储设备直接接收到 页号信息,因此无需再对LBA进行解析,可以根据得到的页号在页表中查找 到实际的物理块对应的物理地址,将数据写入到存储设备中;且在存储设备 的内存中只需保存一张页表,节省了存储设备的内存的容量。从而可以提高 数据吞吐量和设备性能,提升了存储设备的数据处理能力。
图4为本发明读数据的方法实施例的流程示意图。如图4所示,包括步骤401、接收主机发送的读数据请求,所述读数据请求中包括逻辑块 寻址地址,以及才艮据所述逻辑块寻址地址获得的页号。
步骤402、根据所述页号,在存储设备预置的快表中查找是否存在与所 述页号对应的物理地址中的物理块号,若存在,执行步骤403,否则执行步 骤404,所述快表中包括页号和物理块号的对应关系。
页号由主机中的一驱动单元根据数据的LBA地址解析出。当查找页表中 的一页号对应的物理块号的查找次数超过一预设值(例如超过5次)时,就 将超过预设值的页号和物理块号的对应关系保存到另 一个表中,即快表中。 该快表存储在存储设备的中央控制单元(AMR)中,以便可以被快速查找。
步骤403、将数据从所述物理块号标识的物理块中读取至所述主机上, 结束;
步骤404、根据所述页号在存储设备预置的页表中查找是否存在与所述 页号对应的所述物理块号,若存在,执行步骤405,否则,结束操作;
步骤405 、将数据从所述物理块号标识的所述物理块中读取至所述主机上。
本实施例提供的存储设备中读取数据的方法,由于存储设备直接接收到 页号信息,因此无需再对LBA进行解析,可以根据得到的页号在快表或页表 中查找到实际的物理块对应的物理地址,将数据从存储设备中读出,并且从 保存在中央控制单元的快表中读取信息的速度快,也可以提高数据读取的速 度;并且,节省了存储设备的内存的容量。从而可以提高数据吞吐量和设备 性能,提升了存储设备的数据处理能力。
图5为本发明存储设备第一实施例的结构示意图。如图5所示,包括 第一接收单元51、第一内存单元52、第一固件单元53和第一数据搬移单元 54。其中,第一接收单元51,用于接收主机发送的写数据请求,所述写数据 请求中包括逻辑块寻址地址,以及根据所述逻辑块寻址地址获得的页号;第 一内存单元52,用于存储预置的页表,所述页表中包括页号和物理块号的对 应关系;第一固件单元53,用于根据所述第一接收单元51接收到的所述写数据请求中的所述页号,在所述第一 内存单元52存储的所述页表中查找是否 存在与所述页号对应的第 一物理地址中的第 一物理块号;第 一数据搬移单元 54,用于若所述第一固件单元53查找到存在与所述页号对应的第一物理块 号,则将所述写数据请求中的待写入数据写入所述第一物理块号标识的第一 物理块中。
本实施例提供的存储设备,由于存储设备直接接收到页号信息,因此无 需再对LBA进行解析,可以根据得到的页号在页表中查找到实际的物理块对 应的物理地址,将数据写入到存储设备中;且在存储设备的内存中只需保存 一张页表,节省了存储设备的内存的容量。从而可以提高数据吞吐量和设备 性能,提升了存储设备的数据处理能力。
在上述实施例所述的存储设备基础上,所述第一固件单元53还可以用于 若在所述页表中不存在所述页号对应的所述第一物理块号,则从空白块表中 调取标识第 一空白物理块的第二物理地址,并将所述第二物理地址中的第二 物理块号与所述页号的对应关系保存到所述第一内存单元52存储的所述页 表中。这样,所述第一数据搬移单元54还用于将所述写数据请求中的待写入 数据写入所述第二物理块号标识的第二物理块中。
在上述实施例所述的存储设备基础上,所述第一固件单元53还可以用于 若所述第一块内偏移量指示所述第一物理块被写满,则从空白块表中调取标 识第二空白物理块的第三物理地址,并将所述第三物理地址中的第三物理块 号替换为与所述页号对应的物理块号,保存到所述第一内存单元52存储的所 述页表中。那么,所述第一数据搬移单元54还用于将所述写数据请求中的待 写入数据写入所述第三物理块号标识的第三物理块中。
在上述实施例所述的存储设备基础上,在所述第一块内偏移量指示所述 第一物理块被写满时,所述第一固件单元53还可以用于删除所述第一物理块 中保存的数据;将删除数据后的所述第一物理块作为第三空白物理块,并将 标识所述第三空白物理块的所述第一物理地址保存到所述空白块表中。图6为本发明存储设备第二实施例的结构示意图。如图6所示,该存储 设备包括第二接收单元61、中央控制单元62、第二内存单元63、第二固 件单元64、第二IU居搬移单元65。第二接收单元61,用于接收主机发送的 读数据请求,所述读数据请求中包括逻辑块寻址地址,以及根据所述逻辑块 寻址地址获得的页号。中央控制单元62,用于存储预置的快表,所述快表中 包括页号和物理块号的对应关系。第二内存单元63,用于存储预置的页表, 所述页表中包括页号和物理块号的对应关系。第二固件单元64,用于根据所 述第二接收单元61接收到的所述读数据请求中的所述页号,在所述中央控制 单元62存储的快表中查找是否存在与所述页号对应的物理地址中的物理块 号;若在所述快表中不存在与所述页号对应的所述物理块号,则在所述第二 内存单元63存储的所述页表中查找是否存在与所述页号对应的所述物理块 号。第二数据搬移单元65,用于若在所述快表中存在与所述页号对应的物理 块号,则将数据从所述物理块号标识的物理块中读取至所述主机上;或者, 若在所述页表中存在与所述页号对应的所述物理块号,则将数据从所述物理 块号标识的所述物理块中读取至所述主机上。
其中,所述中央控制单元62中存储的所述快表是由所述第二内存单元 63中存储的所述页表中查找次数超过一预设值的页号及其对应的物理块号组 成的。
本实施例提供的存储设备,由于存储设备直接接收到页号信息,因此无 需再对LBA进行解析,可以根据得到的页号在快表或页表中查找到实际的物 理块对应的物理地址,将数据从存储设备中读出,并且从保存在中央控制单 元的快表中读取信息的速度快,也可以提高数据读取的速度;并且,节省了 存储设备的内存的容量。从而可以提高数据吞吐量和设备性能,提升了存储 设备的数据处理能力。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可获取存储介质中,该程序在执行时,可包括如上述各方法的实施
例的流程。其中,所述的存储介质可为,兹石莱、光盘、只读存储记忆体(Read-Only Memory, ROM)或随才几存储记忆体(Random Access Memory, RAM)等。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技
术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种写数据的方法,其特征在于,包括接收主机发送的写数据请求,所述写数据请求中包括逻辑块寻址地址,以及根据所述逻辑块寻址地址获得的页号;根据所述页号,在存储设备预置的页表中查找是否存在与所述页号对应的第一物理地址中的第一物理块号,所述页表中包括页号和物理块号的对应关系;若存在与所述页号对应的第一物理块号,则将所述写数据请求中的待写入数据写入所述第一物理块号标识的第一物理块中。
2、 根据权利要求1所述的写数据的方法,其特征在于,若所述页表中不 存在与所述页号对应的所述第一物理块号,则从空白块表中调取标识第一空 白物理块的第二物理地址,将所述第二物理地址中的第二物理块号与所述页 号的对应关系保存到所述页表中;将所述写数据请求中的待写入数据写入所述第二物理块号标识的第二物 理块中。
3、 根据权利要求1所述的写数据的方法,其特征在于,所述第一物理地 址中还包括第一块内偏移量,若所述第一块内偏移量指示所述第一物理块^皮 写满,则从空白块表中调取标识第二空白物理块的第三物理地址,将所述第 三物理地址中的第三物理块号替换为与所述页号对应的物理块号,保存到所 述页表中;将所述写数据请求中的待写入数据写入所述第三物理块号标识的第三物 理块中。
4、 根据权利要求3所述的写数据的方法,其特征在于,还包括删除所述第一物理块中保存的数据;将删除数据后的所述第一物理块作 为第三空白物理块,并将标识所述第三空白物理块的所述第 一物理地址保存 到所述空白块表中。
5、 一种读数据的方法,其特征在于,包括接收主机发送的读数据请求,所述读数据请求中包括逻辑块寻址地址, 以及根据所述逻辑块寻址地址获得的页号;根据所述页号,在存储设备预置的快表中查找是否存在与所述页号对应 的物理地址中的物理块号,所述快表中包括页号和物理块号的对应关系;若在所述快表中存在与所述页号对应的物理块号,则将数据从所述物理 块号标识的物理块中读取至所述主^t上;若在所述快表中不存在与所述页号对应的所述物理块号,则根据所述页 号在存储设备预置的页表中查找是否存在与所述页号对应的所述物理块号; 若在所述页表中存在与所述页号对应的所述物理块号,则将数据从所述物理 块号标识的所述物理块中读取至所述主机上。
6、 一种存储设备,其特征在于,包括第一接收单元,用于接收主机发送的写数据请求,所述写数据请求中包 括逻辑块寻址地址,以及根据所述逻辑块寻址地址获得的页号;第一内存单元,用于存储预置的页表,所述页表中包括页号和物理块号的对应关系;第一固件单元,用于根据所述第一接收单元接收到的所述写数据请求中 的所述页号,在所述第一内存单元存储的所述页表中查找是否存在与所述页 号对应的第 一物理地址中的第 一物理块号;第一数据搬移单元,用于若所述第一固件单元查找到与所述页号对应的 第一物理块号,则将所述写凄t据请求中的待写入数据写入所述第一物理块号 标识的第一物理块中。
7、 根据权利要求6所述的存储设备,其特征在于,一物理块号,则/人空白块表中调取标识第一空白物理块的第二物理地址,并 将所述第二物理地址中的第二物理块号与所述页号的对应关系保存到所述第一内存单元存储的所述页表中;所述第一数据搬移单元还用于将所述写数据请求中的待写入数据写入所 述第二物理块号标识的第二物理块中。
8、 根据权利要求6所述的存储设备,其特征在于,所述第一物理地址中 还包括第一块内偏移量,所述第一固件单元还用于若所述第一块内偏移量指示所述第一物理块被 写满,则从空白块表中调取标识第二空白物理块的第三物理地址,并将所述 第三物理地址中的第三物理块号替换为与所述页号对应的物理块号,保存到 所述第一内存单元存储的所述页表中;所述第一数据搬移单元还用于将所述写数据请求中的待写入数据写入所 述第三物理块号标识的第三物理块中。
9、 根据权利要求8所述的存储设备,其特征在于,所述第一固件单元还 用于删除所述第一物理块中保存的数据;将删除数据后的所述第一物理块作 为第三空白物理块,并将标识所述第三空白物理块的所述第一物理地址保存 到所述空白块表中。
10、 一种存储设备,其特征在于,包括第二接收单元,用于接收主机发送的读数据请求,所述读数据请求中包 括逻辑块寻址地址,以及4艮据所述逻辑块寻址地址获得的页号;中央控制单元,用于存储预置的快表,所述快表中包括页号和物理块号 的对应关系;第二内存单元,用于存储预置的页表,所述页表中包括页号和物理块号 的对应关系;第二固件单元,用于根据所述第二接收单元接收到的所述读数据请求中 的所述页号,在所述中央控制单元存储的快表中查找是否存在与所述页号对 应的物理地址中的物理块号;若在所述快表中不存在与所述页号对应的所述 物理块号,则在所述第二内存单元存储的所述页表中查找是否存在与所述页号对应的所述物理块号;第二数据搬移单元,用于若在所述快表中存在与所述页号对应的物理块在所述页表中存在与所述页号对应的所述物理块号,则将数据从所述物理块 号标识的所述物理块中读取至所述主机上。
全文摘要
本发明实施例涉及一种写数据的方法、读数据的方法及存储设备。写数据的方法包括接收主机发送的写数据请求,所述写数据请求中包括逻辑块寻址地址,以及根据所述逻辑块寻址地址获得的页号;根据所述页号,在存储设备预置的页表中查找是否存在与所述页号对应的第一物理地址中的第一物理块号,所述页表中包括页号和物理块号的对应关系;若存在与所述页号对应的第一物理块号,则将所述写数据请求中的待写入数据写入所述第一物理块号标识的第一物理块中。本发明实施例可以提高存储设备中数据处理能力,减少存储设备中的内存容量。
文档编号G06F12/06GK101645043SQ200910090698
公开日2010年2月10日 申请日期2009年9月8日 优先权日2009年9月8日
发明者万峪臣, 君 徐 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1