PCIE SSD自定义日志的存储方法、装置及SSD制造方法及图纸

技术编号:16885825 阅读:50 留言:0更新日期:2017-12-27 03:37
本申请提供了一种PCIE SSD自定义日志的存储方法、装置及固态硬盘,方法包括:为SSD分配允许其进行读操作和写操作的主机内存的地址,所述地址至少对应一个缓存区域;将来自于SSD控制芯片的自定义日志按照所述地址存储于所述缓存区域;按照预设的下刷策略,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘。本申请中,主机将SSD生成的自定义日志存储在内存中,再按照预设的下刷策略将缓存在内存中自定义日志下刷到主机的其他磁盘内长期保存,使得自定义日志的缓存和下刷都位于主机侧,这样,即使SSD出现故障,主机也能够顺利读取其他磁盘内的自定义日志,以便识别自定义日志中记录的SSD的运行信息。

PCIE SSD custom log storage method, device and SSD

The invention provides a storage method, a PCIE SSD custom log device and SSD method includes: host address memory read and write operations for the SSD distribution to allow its, the address corresponding to at least one cache area; custom log will come from the SSD control chip according to the address stored in the buffer region; in accordance with the brush preset strategy, will be written into the custom log cache area under the brush to the other disk in addition to the outside of the SSD. In this application, the host generates SSD custom logs stored in memory, then in accordance with the brush preset strategy will be cached in memory log custom under the brush to the long-term preservation of other host disk in the custom log cache and brush are located on the host side, so, even if the SSD fails, the host can also well read the custom log other disk, run the SSD record information that identifies the custom log in.

【技术实现步骤摘要】
PCIESSD自定义日志的存储方法、装置及SSD
本申请涉及存储
,尤其涉及一种PCIESSD自定义日志的存储方法、装置及SSD。
技术介绍
SSD(SolidStateDrives,固态硬盘)因其较低的读写延迟和较高的带宽,已广泛应用于高性能存储系统中。根据主板接口标准的不同,SSD目前可分为SATA(SerialAdvancedTechnologyAttachment,串行先进技术附件)SSD、SAS(SerialAttachedSCSI,序列式SCSI)SSD以及PCIE(PeripheralComponentInterconnect-Express,快速外部组件互联)SSD等多种类型的固态硬盘,其中,PCIESSD较其他SSD具有更高的传输效率和随机读写性能。图1为一种常见的PCIESSD的拓扑结构示意图。由图1可见,终端系统包括可通过PCIE总线相互通讯的主机和SSD,其中,主机包括CPU以及与CPU直接通信的内存(DDR);SSD包括SSD控制芯片以及与SSD控制芯片相连的至少一个FLASH芯片。在终端系统运行的过程中,SSD控制芯片上运行的软件会产生一些自定义日志(vendor日志),用于记录SSD运行过程中的一些重要信息或事件。当SSD在运行中出现故障时,该自定义日志有助于SSD控制芯片对出现的故障进行定位。SSD能够自定义vendor日志的存储方法。目前,PCIESSD对vendor日志的存储方法通常为:首先将SSD控制芯片生成的自定义日志存储于自身RAM对应的日志缓存区(log)中,当RAM中缓存的自定义日志的数量达到最小下刷单元(通常为几十KB)时,在将日志缓存区中的自定义日志下刷到FLASH芯片中长期存储。当终端系统需要获取此部分vendor日志时,需要对SSD下发vendor自定义的日志读取命令,以获取此部分vendor日志。但是,在主机获取SSD中的vendor日志之前,SSD可能已经出现IOtimeout(即主机下发到盘的读写命令超时未回复主机)等异常情况,此时,主机驱动很有可能将SSD视为异常模块,而将SSD从主机的块设备中踢出掉。当SSD被主机踢出掉后,主机则无法向SSD发送任何命令,使得存储在SSD中的vendor日志无法被主机读取。
技术实现思路
本申请提供了一种PCIESSD自定义日志的存储方法及装置,以解决SSD出现故障时,主机无法读取自定义日志的技术问题。第一方面,本申请提供了一种PCIESSD自定义日志的存储方法,所述方法包括:为SSD分配允许其进行读操作和写操作的主机内存的地址,所述地址至少对应一个缓存区域;将来自于SSD控制芯片的自定义日志按照所述地址存储于所述缓存区域;按照预设的下刷策略,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘。优选的,所述将来自于SSD控制芯片的自定义日志按照所述地址存储于所述缓存区域包括:设置存储所述自定义日志的head指针和tail指针,所述head指针和所述tail指针均指向用于存储所述自定义日志的缓存区域的起始地址;在写入所述自定义日志时更新所述tail指针,并将更新后的所述tail指针作为下一次自定义日志写入的起始地址。优选的,所述按照预设的下刷策略,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘包括:当侦测到head指针和tail指针之间的数据量达到下刷条件时,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘;更新所述head指针,并将更新后的所述head指针作为下一次自定义日志写入的起始地址。第二方面,本申请还提供了一种PCIESSD自定义日志的存储装置,所述装置包括:分配模块,用于为SSD分配允许其进行读操作和写操作的主机内存的地址,所述地址至少对应一个缓存区域;存储模块,用于将来自于SSD控制芯片的自定义日志按照所述地址存储于所述缓存区域;下刷模块,用于按照预设的下刷策略,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘。优选的,所述存储模块包括:设置子模块,用于设置存储所述自定义日志的head指针和tail指针,所述head指针和所述tail指针均指向用于存储所述自定义日志的缓存区域的起始地址;第一更新子模块,用于在写入所述自定义日志时更新所述tail指针,并将更新后的所述tail指针作为下一次自定义日志写入的起始地址。优选的,所述下刷模块包括:下刷子模块,用于当侦测到head指针和tail指针之间的数据量达到下刷条件时,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘;第二更新子模块,用于更新所述head指针,并将更新后的所述head指针作为下一次自定义日志写入的起始地址。第三方面,本申请还提供了一种固态硬盘,固态硬盘包括以上PCIESSD自定义日志的存储装置。本申请的有益效果如下:本申请提供了一种PCIESSD自定义日志的存储方法、装置及固态硬盘,方法包括:为SSD分配允许其进行读操作和写操作的主机内存的地址,所述地址至少对应一个缓存区域;将来自于SSD控制芯片的自定义日志按照所述地址存储于所述缓存区域;按照预设的下刷策略,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘。本申请中,主机将SSD生成的自定义日志存储在内存中,再按照预设的下刷策略将缓存在内存中自定义日志下刷到主机的其他磁盘内长期保存,使得自定义日志的缓存和下刷都位于主机侧,这样,即使SSD出现故障,主机也能够顺利读取其他磁盘内的自定义日志,以便识别自定义日志中记录的SSD的运行信息。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为一种常见的PCIESSD的拓扑结构示意图;图2为申请实施例一提供的一种PCIESSD自定义日志的存储方法的方法流程示意图;图3为申请实施例一提供的一种步骤S200的方法流程示意图;图4为申请实施例一提供的一种步骤S300的方法流程示意图;图5为申请实施例二提供的一种PCIESSD自定义日志的存储装置的结构示意图;图6为申请实施例二提供的一种存储模块的结构示意图;图7为申请实施例二提供的一种下刷模块的结构示意图。具体实施方式现有技术中,在主机获取SSD中的vendor日志之前,可能已经出现IOtimeout等异常情况,此时,主机驱动很有可能将SSD视为异常模块,而将SSD从主机的块设备.中踢出掉。当SSD被主机踢出掉后,主机则无法向SSD发送任何命令,使得存储在SSD中的vendor日志无法被主机读取。如果主机想通过重新扫描磁盘来读取FLASH芯片中的vendor日志,则需要采用异常下电流程,但是,异常下电将会导致日志缓存区中的vendor日志无法下刷而丢失,使得主机仍然无法获得全部的vendor日志信息。另外,如果FLASH芯片或者FLASH芯片的下刷路径出现异常,也会导致日志缓存区中的vendor日志无法下刷到FLASH芯片而丢失。为解决在SSD出现故障时,主机无法读取自定义日志的技术问题,本申请提供了一种PCIESSD自定义日志的存储方法,本方法的核心思想是本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201710718441.html" title="PCIE SSD自定义日志的存储方法、装置及SSD原文来自X技术">PCIE SSD自定义日志的存储方法、装置及SSD</a>

【技术保护点】
一种PCIE SSD自定义日志的存储方法,其特征在于,所述方法包括:为SSD分配允许其进行读操作和写操作的主机内存的地址,所述地址至少对应一个缓存区域;将来自于SSD控制芯片的自定义日志按照所述地址存储于所述缓存区域;按照预设的下刷策略,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘。

【技术特征摘要】
1.一种PCIESSD自定义日志的存储方法,其特征在于,所述方法包括:为SSD分配允许其进行读操作和写操作的主机内存的地址,所述地址至少对应一个缓存区域;将来自于SSD控制芯片的自定义日志按照所述地址存储于所述缓存区域;按照预设的下刷策略,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘。2.如权利要求1所述的方法,其特征在于,所述将来自于SSD控制芯片的自定义日志按照所述地址存储于所述缓存区域包括:设置存储所述自定义日志的head指针和tail指针,所述head指针和所述tail指针均指向用于存储所述自定义日志的缓存区域的起始地址;在写入所述自定义日志时更新所述tail指针,并将更新后的所述tail指针作为下一次自定义日志写入的起始地址。3.如权利要求2所述的方法,其特征在于,所述按照预设的下刷策略,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘包括:当侦测到head指针和tail指针之间的数据量达到下刷条件时,将写入所述缓存区域中的自定义日志下刷到除本SSD以外的其他磁盘;更新所述head指针,并将更新后的所述head指针作为下一次自定义日志写入的起始地址。4.一种PCIESSD自定义...

【专利技术属性】
技术研发人员:王翔姜黎彭鹏
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南,43

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

1