掌桥专利:专业的专利平台
掌桥专利
首页

基于固态硬盘的DRAM时序矫正方法、装置及计算机设备

文献发布时间:2023-06-19 13:29:16


基于固态硬盘的DRAM时序矫正方法、装置及计算机设备

技术领域

本发明涉及固态硬盘测试技术领域,特别是涉及一种基于固态硬盘的DRAM时序矫正方法、装置、计算机设备及存储介质。

背景技术

目前,现代主流SSD的硬件架构往往由多核CPU通过Bus Matrix总线来连接外部存储单元。除了最重要的用于保存用户数据的Nand Flash存储器以外,还需要一个高速的数据缓存(一般用DDR-SRAM,简称DRAM)来暂存临时数据和映射表。现代DRAM往往通讯频率高达2Ghz,这对DRAM访问的时序提出了很高要求,一旦时序有偏差就会导致缓存的主机数据出错,将会影响SSD的可靠性。

在现有技术中,当需要临时进行DRAM时序矫正时,通常是由一个主CPU核来发起,此时,如果其他CPU核在DRAM时序矫正时访问了DRAM里的数据,往往会由于读写到错误的数据导致固件出现错误。

发明内容

基于此,有必要针对上述技术问题,提供一种基于固态硬盘的DRAM时序矫正方法、装置、计算机设备及存储介质。

一种基于固态硬盘的DRAM时序矫正方法,所述方法包括:

获取基于固态硬盘的DRAM时序矫正请求;

在第一CPU执行DRAM时序矫正之前,所述第一CPU向其他CPU发送进入低功耗模式的命令;

待其他CPU进入了低功耗模式后,所述第一CPU根据DRAM时序矫正请求开始进行DRAM时序矫正的动作;

当所述第一CPU完成时序矫正后,所述第一CPU向其他CPU发送退出低功耗模式的命令。

在其中一个实施例中,所述在第一CPU执行DRAM时序矫正之前,所述第一CPU向其他CPU发送进入低功耗模式的命令的步骤还包括:

在第一CPU执行DRAM时序矫正之前,所述第一CPU通过总线向第二CPU和第三CPU发送进入低功耗WIFI模式命令;

所述第二CPU和第三CPU在获取到进入低功耗WIFI模式命令后直接进入低功耗状态,并向第一CPU返回已完成状态。

在其中一个实施例中,所述待其他CPU进入了低功耗模式后,所述第一CPU根据DRAM时序矫正请求开始进行DRAM时序矫正的动作的步骤还包括:

所述第二CPU和第三CPU在进入低功耗WIFI模式后,则停止与DRAM之间的通讯。

在其中一个实施例中,所述当所述第一CPU完成时序矫正后,所述第一CPU向其他CPU发送退出低功耗模式的命令的步骤还包括:

当所述第二CPU和第三CPU获取到第一CPU发送的退出低功耗WIFI模式命令后直接退出低功耗WIFI模式,并恢复与DRAM的通讯。

一种基于固态硬盘的DRAM时序矫正装置,所述装置包括:

获取模块,所述获取模块用于获取基于固态硬盘的DRAM时序矫正请求;

第一命令模块,所述第一命令模块用于在第一CPU执行DRAM时序矫正之前,所述第一CPU向其他CPU发送进入低功耗模式的命令;

时序矫正模块,所述时序矫正模块用于待其他CPU进入了低功耗模式后,所述第一CPU根据DRAM时序矫正请求开始进行DRAM时序矫正的动作;

第二命令模块,所述第二命令模块用于当所述第一CPU完成时序矫正后,所述第一CPU向其他CPU发送退出低功耗模式的命令。

在其中一个实施例中,所述第一命令模块还用于:

在第一CPU执行DRAM时序矫正之前,所述第一CPU通过总线向第二CPU和第三CPU发送进入低功耗WIFI模式命令;

所述第二CPU和第三CPU在获取到进入低功耗WIFI模式命令后直接进入低功耗状态,并向第一CPU返回已完成状态。

在其中一个实施例中,所述装置还包括通讯停止模块,所述通讯停止模块用于:

所述第二CPU和第三CPU在进入低功耗WIFI模式后,则停止与DRAM之间的通讯。

在其中一个实施例中,所述装置还包括通讯恢复模块,所述通讯恢复模块用于:

当所述第二CPU和第三CPU获取到第一CPU发送的退出低功耗WIFI模式命令后直接退出低功耗WIFI模式,并恢复与DRAM的通讯。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。

上述基于固态硬盘的DRAM时序矫正方法、装置、计算机设备及存储介质通过获取基于固态硬盘的DRAM时序矫正请求;在第一CPU执行DRAM时序矫正之前,所述第一CPU向其他CPU发送进入低功耗模式的命令;待其他CPU进入了低功耗模式后,所述第一CPU根据DRAM时序矫正请求开始进行DRAM时序矫正的动作;当所述第一CPU完成时序矫正后,所述第一CPU向其他CPU发送退出低功耗模式的命令。本发明对多核SSD产品进行DRAM时序矫正时,先通过将无关的CPU核进入低功耗模式,再由相关CPU核执行DRAM时序矫正动作,最后再把其他CPU核从低功耗模式恢复,可以有效地防止SSD由于DRAM内数据异常导致出错的情况,提升了SSD产品的稳定性。

附图说明

图1为现有多核SSD的硬件架构的示意图;

图2为现有技术中进行DRAM时序矫正的示意图;

图3为一个实施例中基于固态硬盘的DRAM时序矫正方法的流程示意图;

图4为另一个实施例中基于固态硬盘的DRAM时序矫正方法的流程示意图;

图5为一个实施例中CPU0让其他核进入低功耗模式的示意图;

图6为一个实施例中其他核进入低功耗模式后CPU0开始DRAM矫正的示意图;

图7为一个实施例中CPU0操作其他核退出低功耗模式的示意图;

图8为一个实施例中所有核都可以读写DRAM的示意图;

图9为一个实施例中基于固态硬盘的DRAM时序矫正装置的结构框图;

图10为另一个实施例中基于固态硬盘的DRAM时序矫正装置的结构框图;

图11为再一个实施例中基于固态硬盘的DRAM时序矫正装置的结构框图;

图12为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

现代主流SSD的硬件架构往往由多核CPU通过Bus Matrix总线来连接外部存储单元。除了最重要的用于保存用户数据的Nand Flash存储器以外,还需要一个高速的数据缓存(一般用DDR-SRAM,简称DRAM)来暂存临时数据和映射表,详见图1所示。这样就对DRAM保存数据的稳定性和可靠性提出了很高的要求。

DRAM除了本身的地址线/数据线DQ之外,还需要数据锁存DQS,时钟CLK,时钟使能CKE,写使能WE等等辅助控制信号。在主流DDR3通讯速度已达2133Mhz的情况下,CLK,DQ,DQS这些高速信号是否和SSD主控之间达到紧密的同步传输,对于SSD内数据是否能够正确读写有着重要的作用。

由于SSD产品的PCB的电气特性,DRAM信号走线各不相同。主流SSD主控都可以通过内部寄存器Register来微调DQ,DQS和CLK信号之间的时延值,以达到兼容不同产品的效果。

现有技术中,常常会由1个核(CPU0)来运行固件初始化,处理主机命令和数据。其他核要不运行管理算法和维护映射表,要不就管理Nand Flash的相关操作。例如,图1里3个核都需要访问DRAM,如图2所示,当CPU0在执行DRAM时序矫正时,其他核如果发生访问DRAM的动作,可能就会读写了DRAM里错误的数据,导致固件运行错误。

基于此,本发明在现有技术上优化DRAM时序矫正的方法,期望防止在DRAM时序矫正期间,出现多核竞争访问DRAM导致读写数据出错的问题。

在一个实施例中,如图3所示,提供了一种基于固态硬盘的DRAM时序矫正方法,该方法包括:

步骤302,获取基于固态硬盘的DRAM时序矫正请求;

步骤304,在第一CPU执行DRAM时序矫正之前,第一CPU向其他CPU发送进入低功耗模式的命令;

步骤306,待其他CPU进入了低功耗模式后,第一CPU根据DRAM时序矫正请求开始进行DRAM时序矫正的动作;

步骤308,当第一CPU完成时序矫正后,第一CPU向其他CPU发送退出低功耗模式的命令。

在本实施例中,对多核SSD产品进行DRAM时序矫正时,先通过将无关的CPU核进入低功耗模式,再由相关CPU核执行DRAM时序矫正动作,最后再把其他CPU核从低功耗模式恢复,该方法具体的执行步骤如下:

首先,获取基于固态硬盘的DRAM时序矫正请求,在本实施例中依然由第一CPU(CPU0)来进行DRAM时序的矫正。但是,在第一CPU执行DRAM时序矫正之前,第一CPU向其他CPU发送进入低功耗模式的命令。

接着,待其他CPU进入了低功耗模式后,第一CPU根据DRAM时序矫正请求开始进行DRAM时序矫正的动作。这样可以有效地防止在第一CPU进行时序矫正时,其他CPU与DRAM进行数据读写进而导致的固件运行错误的问题。

最后,当第一CPU完成时序矫正后,第一CPU向其他CPU发送退出低功耗模式的命令。在第一CPU完成后,其他的CPU就可以恢复与DRAM的正常数据读写操作了。

在本实施例中,通过获取基于固态硬盘的DRAM时序矫正请求;在第一CPU执行DRAM时序矫正之前,所述第一CPU向其他CPU发送进入低功耗模式的命令;待其他CPU进入了低功耗模式后,所述第一CPU根据DRAM时序矫正请求开始进行DRAM时序矫正的动作;当所述第一CPU完成时序矫正后,所述第一CPU向其他CPU发送退出低功耗模式的命令。本方案对多核SSD产品进行DRAM时序矫正时,先通过将无关的CPU核进入低功耗模式,再由相关CPU核执行DRAM时序矫正动作,最后再把其他CPU核从低功耗模式恢复,可以有效地防止SSD由于DRAM内数据异常导致出错的情况,提升了SSD产品的稳定性。

在一个实施例中,如图4所示,提供了一种基于固态硬盘的DRAM时序矫正方法,该方法还包括:

步骤402,在第一CPU执行DRAM时序矫正之前,第一CPU通过总线向第二CPU和第三CPU发送进入低功耗WIFI模式命令;

步骤404,第二CPU和第三CPU在获取到进入低功耗WIFI模式命令后直接进入低功耗状态,并向第一CPU返回已完成状态;

步骤406,第二CPU和第三CPU在进入低功耗WIFI模式后,则停止与DRAM之间的通讯;

步骤408,当第二CPU和第三CPU获取到第一CPU发送的退出低功耗WIFI模式命令后直接退出低功耗WIFI模式,并恢复与DRAM的通讯。

参考图5-8所示,在本实施例中,提供了一种基于固态硬盘的DRAM时序矫正方法,该方法以三核CPU为例进行说明如下:

Step1:在本实施例中,仍然由CPU0来进行DRAM时序的矫正,但在矫正前,首先通过Bus Matrix向CPU1和CPU2发送进入低功耗WFI模式的命令,如图5所示。

Step2:CPU0等待CPU1和CPU2进入了低功耗WFI模式,即其他核不再访问DRAM时,再进行DRAM时序矫正的动作,如图6所示。

Step3:CPU0完成时序矫正后,再发送命令让CPU1和CPU2退出低功耗WFI模式,这时其他核再访问DRAM就不会发生读写错误的DRAM内数据的问题,如图7和图8所示。

在本实施例中,该方法能够有效地防止SSD产品由于DRAM数据访问错误导致出错,大大提升了SSD产品的稳定性。

应该理解的是,虽然图1-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图9所示,提供了一种基于固态硬盘的DRAM时序矫正装置900,该装置包括:

获取模块901,所述获取模块用于获取基于固态硬盘的DRAM时序矫正请求;

第一命令模块902,所述第一命令模块用于在第一CPU执行DRAM时序矫正之前,所述第一CPU向其他CPU发送进入低功耗模式的命令;

时序矫正模块903,所述时序矫正模块用于待其他CPU进入了低功耗模式后,所述第一CPU根据DRAM时序矫正请求开始进行DRAM时序矫正的动作;

第二命令模块904,所述第二命令模块用于当所述第一CPU完成时序矫正后,所述第一CPU向其他CPU发送退出低功耗模式的命令。

在一个实施例中,第一命令模块902还用于:

在第一CPU执行DRAM时序矫正之前,所述第一CPU通过总线向第二CPU和第三CPU发送进入低功耗WIFI模式命令;

所述第二CPU和第三CPU在获取到进入低功耗WIFI模式命令后直接进入低功耗状态,并向第一CPU返回已完成状态。

在一个实施例中,如图10所示,提供了一种基于固态硬盘的DRAM时序矫正装置900,该装置还包括通讯停止模块905,所述通讯停止模块用于:

所述第二CPU和第三CPU在进入低功耗WIFI模式后,则停止与DRAM之间的通讯。

在一个实施例中,如图11所示,提供了一种基于固态硬盘的DRAM时序矫正装置900,该装置还包括通讯恢复模块906,所述通讯恢复模块用于:

当所述第二CPU和第三CPU获取到第一CPU发送的退出低功耗WIFI模式命令后直接退出低功耗WIFI模式,并恢复与DRAM的通讯。

关于基于固态硬盘的DRAM时序矫正装置的具体限定可以参见上文中对于基于固态硬盘的DRAM时序矫正方法的限定,在此不再赘述。

在一个实施例中,提供了一种计算机设备,其内部结构图可以如图12所示。该计算机设备包括通过装置总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于固态硬盘的DRAM时序矫正方法。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 基于固态硬盘的DRAM时序矫正方法、装置及计算机设备
  • DRAM-Less固态硬盘的数据随机写入方法、装置及DRAM-Less固态硬盘
技术分类

06120113693772