数据处理方法及存储设备与流程

文档序号:12462679阅读:197来源:国知局
数据处理方法及存储设备与流程

本公开涉及存储技术领域,具体地,涉及一种数据处理方法及存储设备。



背景技术:

利用固态硬盘(Solid State Drives,SSD)等存储设备进行存储,在个人电脑消费、服务器以及移动电子设备等领域中使用的越来越多,对性能要求也越来越高。

固态硬盘等存储设备通过数据接口与主设备(例如,主机)连接,进行数据传输。一般的数据接口在唤醒时的响应时间包括链路处理时间和软件处理时间。在主设备的控制器芯片的处理能力不变的情况下,如何减少存储设备的数据接口的链路处理时间对提高存储设备的响应速度有着重要的影响。

存储设备的数据接口从低功耗状态被唤醒时,需要获取参数信息,以与主设备进行通信。然而,相关技术中的数据接口在每次被唤醒时,都从“零”开始获取参数信息,导致响应时间较长,影响了整个存储设备的响应速度。



技术实现要素:

为了实现上述目的,本公开提供一种数据处理方法及存储设备。

根据本公开实施例的第一方面,提供一种数据处理方法,应用于存储设备,所述方法包括:

当接收到进入第一状态的指令时,获取所述接口的配置参数信息;

将所述接口的配置参数信息保存到第一存储空间;

当接收到进入第二状态指令时,从所述第一存储空间中获取所述配置参数信息;

基于所述配置参数信息,生成所述接口的更新配置参数信息;

所述第一状态与所述第二状态的功耗不同。

可选地,所述方法还包括:

当所述接口包括至少两种链路速率时,分别获取链路速率对应的配置参数信息;以及

将不同链路速率对应的配置参数信息分别保存到所述第一存储空间中。

可选地,所述当接收到进入第二状态指令时,从所述第一存储空间中获取所述配置参数信息的步骤包括:

当接收到进入第二状态指令时,根据所述接口与主机设备的链路速率,从所述第一存储空间中获取与所述链路速率相对应的配置参数信息。

可选地,所述方法还包括:

接收与所述接口连接的主机设备发送的参数信息;

根据所述参数信息和从所述第一存储空间中获取的配置参数信息,生成所述接口的更新配置参数信息。

可选地,所述第一存储空间为所述存储设备中一被设置为不掉电的寄存器。

可选地,所述第一存储空间为在所述存储设备中增加的一不掉电的静态随机存储器。

可选地,所述方法还包括:

当接收到进入第一状态的指令,且将所述配置参数信息保存到所述第一存储空间后,进入所述第一状态。

根据本公开实施例的第二方面,提供一种数据处理方法,应用于与存储设备通过接口连接的主机设备,所述方法包括:

当向所述存储设备发送进入第一状态的指令时,保存所述接口的参数信息;

当向所述存储发送进入第二状态的指令时,将所述参数信息发送给所述存储设备,所述参数信息用于生成所述接口的更新配置参数信息;

所述第一状态与所述第二状态的功耗不同。

根据本公开实施例的第三方面,提供一种存储设备,包括接口,还包括:

处理器;

用于存储处理器可执行指令的存储介质;

所述处理器,被配置为当接收到进入第一状态的指令时,获取所述接口的配置参数信息;将所述接口的配置参数信息保存到第一存储空间;当接收到进入第二状态指令时,从所述第一存储空间中获取所述配置参数信息;基于所述配置参数信息,生成所述接口的更新配置参数信息;

所述第一状态与所述第二状态的功耗不同。

可选地,所述第一存储空间为所述存储设备中一被设置为不掉电的寄存器。

可选地,所述第一存储空间为在所述存储设备中增加的一不掉电的静态随机存储器。

根据本公开实施例的第四方面,提供一种数据处理装置,应用于存储设备,所述装置包括:

第一获取模块,被配置为当接收到进入第一状态的指令时,获取所述接口的配置参数信息;

第一保存模块,被配置为将所述接口的配置参数信息保存到第一存储空间;

第二获取模块,被配置为当接收到进入第二状态指令时,从所述第一存储空间中获取所述配置参数信息;

第一生成模块,被配置为基于所述配置参数信息,生成所述接口的更新配置参数信息;

所述第一状态与所述第二状态的功耗不同。

可选地,所述装置还包括:

第三获取模块,被配置为当所述接口包括至少两种链路速率时,分别获取链路速率对应的配置参数信息;以及

第二保存模块,被配置为将不同链路速率对应的配置参数信息分别保存到所述第一存储空间中。

可选地,所述第二获取模块包括:

第一获取子模块,被配置为当接收到进入第二状态指令时,根据所述接口与主机设备的链路速率,从所述第一存储空间中获取与所述链路速率相对应的配置参数信息。

可选地,所述装置还包括:

接收模块,被配置为接收与所述接口连接的主机设备发送的参数信息;

第二生成模块,被配置为根据所述参数信息和从所述第一存储空间中获取的配置参数信息,生成所述接口的更新配置参数信息。

可选地,所述第一存储空间为所述存储设备中一被设置为不掉电的寄存器。

可选地,所述第一存储空间为在所述存储设备中增加的一不掉电的静态随机存储器。

可选地,所述装置还包括:

执行模块,被配置为当接收到进入第一状态的指令,且将所述配置参数信息保存到所述第一存储空间后,进入所述第一状态。

根据本公开实施例的第五方面,提供一种数据处理装置,应用于与存储设备通过接口连接的主机设备,所述装置包括:

第三保存模块,被配置为当向所述存储设备发送进入第一状态的指令时,保存所述接口的参数信息;

发送模块,被配置为当向所述存储发送进入第二状态的指令时,将所述参数信息发送给所述存储设备,所述参数信息用于生成所述接口的更新配置参数信息;

所述第一状态与所述第二状态的功耗不同。

通过本公开实施例提供的技术方案,通过在存储设备进入低功耗前将接口的配置参数保存到不掉电的存储空间中,并在存储设备接收到唤醒信号时,利用存储的配置参数进行总线链路训练,使存储设备较快地达到最佳工作状态,无需在唤醒存储设备时重头进行链路训练,在存储设备处理器的处理能力不变的情况下,减少了存储设备的链路处理时间,从而节省了存储设备的响应时间,优化了存储设备的性能,提升了用户体验。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的一种存储设备的结构示意图;

图2是根据一示例性实施例示出的一种存储设备接口与主机设备接口连接的示意图;

图3是根据另一示例性实施例示出的一种存储设备的结构示意图;

图4是根据一示例性实施例示出的一种用于存储设备的数据处理方法的流程图;

图5是根据另一示例性实施例示出的一种用于存储设备的数据处理方法的流程图;

图6是根据另一示例性实施例示出的一种数据处理方法的流程图;

图7是根据一示例性实施例示出的一种用于存储设备的数据处理装置的框图;

图8是根据另一示例性实施例示出的一种用于存储设备的数据处理装置的框图;

图9是根据一示例性实施例示出的一种用于主机设备的数据处理装置的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

图1是根据一示例性实施例示出的一种存储设备的结构示意图。参照图1,该存储设备100包括:处理器110、接口120和寄存器130。此外,存储设备还包括闪存芯片多路分配器、缓存管理器等,其中,处理器、闪存芯片多路分配器和缓存管理器构成存储设备的控制芯片,在图中未示出。

处理器110提供了各种处理操作、内存管理以及组织和管理闪存芯片的方法,例如地址映射、磨损均衡等。

寄存器130可以包括随机存储器(RAM,Random Access Memory)、多个闪存芯片等,可用于存储指令和数据。

接口120是存储设备100与主机设备200交互的重要部件,主要用于接收主机设备200发来的指令以及相关数据并将其交由处理器110进行处理,然后将指令的完成状态以及需要返回的数据通过总线传输给主机备200。

在一个实施例中,接口可以为PCIe(Peripheral Component Interface Express)接口,该接口包括事务层、数据链路层和物理层。其中,事务层用于接收来自主机设备的数据,进行封装后发向数据链路层,此外还可以从数据链路层中接收数据并转发至主机设备;数据链路层用于保证来自主机设备的数据可以可靠、完整地发送到存储设备的数据链路层;物理层为主机设备和存储设备间的数据通信提供传送介质,为数据传送提供可靠的物理环境。

主机设备的接口120与存储设备的接口220通过一条总线链路相连进行数据交互,即主机设备的数据和存储设备的数据经过事务层、数据链路层和物理层后,通过各自的接收端(RX部件)和发送端(TX部件)进行互相传送,如图2所示。总线链路由发送端的发送链路310(主机设备的发送端和存储设备的接收端的连接线路)和接收端的发送链路320(主机设备的接收端和存储设备的发送端的连接线路)组成。

由于不同的主机设备的接口所支持的参数不同,例如,接口链路支持的链路速率、链路宽度、收发器管脚的驱动能力等,因此当存储设备接入主机设备时,需要对存储设备和主机设备的链路进行处理。例如,对存储设备与主机设备之间的链路进行训练,动态地调整接口的配置参数。

在一个实施例中,当存储设备与主机设备通过各自的接口连接好后,存储设备的控制芯片将主机设备提供的参考时钟PCLK作为基本输入时钟,通过内部的时钟锁相环(PLL,Phase Locked Loop)将基本输入时钟倍频到较高频率,以使链路速率可达到2.5Gbps、5Gbps、8Gbps或者更高。

此外,由于存储设备的工作电压、工作温度等因素会影响存储设备的工作状态,因此存储设备在首次接入主机设备上电,或者在用户使用过程中存储设备从低功耗状态进入正常工作状态时,需对存储设备与主机设备之间的链路进行训练,动态地调整接口的配置参数,如接口收发器管脚的驱动能力、时序等,使存储设备能在当前的工作电压、工作温度等环境条件下达到最佳的工作状态,高速、稳定地工作在与主机设备匹配的标准链路速率下。

在得到使存储设备保持最佳工作状态的接口的配置参数信息后,存储设备与主机设备之间可进行正常的数据交互。由于在存储设备每次从低功耗状态下唤醒时,存储设备的工作电压、工作温度等可能都会发生变化,因此需要再次对存储设备与主机设备的总线链路进行训练,得到新的一组接口的配置参数信息,从而使存储设备与主机设备之间再次进行正常数据交互。

图3是根据一示例性实施例示出的一种存储设备的结构示意图。参照图3,该存储设备100除了包括与图1所示的处理器110、接口120、寄存器130,还包括第一存储空间140。

在一个实施例中,当存储设备100接收到进入第一状态的指令时,处理器110可以获取接口120的配置参数信息,并将接口120的配置参数信息保存到第一存储空间140中;当存储设备100接收到进入第二状态指令时,处理器110从第一存储空间140中获取配置参数信息,并基于该配置参数信息,生成接口120的更新配置参数信息。

应理解为,第一状态与第二状态的功耗不同,例如第一状态可以为低功耗状态,第二状态可以为正常工作状态。

在一个实施例中,第一存储空间140可以为存储设备100中一被设置为不掉电的寄存器130。在另一个实施例中,第一存储空间140还可以为在存储设备100中增加的一不掉电的静态随机存储器(SRAM,Static Random Access Memory)。在存储设备100处于第一状态(低功耗状态)时,处理器110仍可以从第一存储空间140中读取数据,例如接口120的配置参数信息。

图4是根据一示例性实施例示出的一种数据处理方法的流程图,其中,该方法应用于存储设备。如图4所述,该方法包括以下步骤:

在步骤S41中,当接收到进入第一状态的指令时,获取接口的配置参数信息。

存储设备连接主机设备上电的过程中,存储设备的接口进行正常的冷启动,系统初始化,确定链路速率,并对存储设备与主机设备之间的总线链路进行训练,动态地调整存储设备接口的配置参数,得到存储设备在当前的工作电压、工作温度等环境条件下达到最佳的工作状态时接口的配置参数,如接口收发器管脚的驱动能力、时序等。

在得到使存储设备保持最佳工作状态的接口的配置参数信息后,存储设备与主机设备之间可进行正常的数据交互。此时,若存储设备接收到进入第一状态(例如,低功耗状态)的指令,但由于存储设备在不同的工作电压、工作温度等条件下以及连接不同的主机设备时,可获取存储设备在进入第一状态(低功耗状态)之前正常工作时接口的配置参数信息。

在步骤S42中,将接口的配置参数信息保存到第一存储空间。

可选地,在获取到接口的配置参数信息后,可以将配置参数信息发送到第一存储空间进行保存。在一个实施例中,第一存储空间可以为存储设备中一被设置为不掉电的寄存器。在另一个实施例中,第一存储空间还可为在存储设备中增加的一被设置为不掉电的静态随机存储器(SRAM,Static Random Access Memory)。

存储设备将配置参数信息保存好后,就进入到第一状态(低功耗状态),就也是存储设备的处理器控制存储设备中的部分部件进入低功耗状态,然后将处理器内部的绝大多数电路关闭(例如关闭电源或关闭时钟)。

存储设备进入第一状态(低功耗状态)后,第一存储空间仍保持上电状态,也就是说处理器仍可从第一存储空间中读取出接口上一次正常工作时的配置参数信息。

在步骤S43中,当接收到进入第二状态指令时,从第一存储空间中获取配置参数信息。

在一个实施例中,第二状态可以为正常工作状态。当处于第一状态(低功耗状态)的存储设备接收到进入第二状态(正常工作状态)指令时,由于存储设备从第一状态(低功耗状态)唤醒进入第二状态(正常工作状态)后,存储设备的工作温度、工作电压等可能会发生变化,因此需要重新对接口的参数进行配置,也就是对总线链路重新进行训练,动态调整接口的配置参数,得到当前一组新的接口的配置参数,才能使存储设备可以高速、稳定地工作在与主机设备匹配的标准链路速率下,与外部设备(如主机)之间再次进行正常的数据交换。

由于第一存储空间中存储的接口的配置参数信息是存储设备在进入第一状态(低功耗状态)前处于最佳工作状态时其接口的配置参数,该组配置参数对应的存储设备的工作电压、工作温度等可能与本次进入最佳工作状态时的工作电压、工作温度等相同或相近,因此可将第一存储空间中存储的接口的配置参数信息作为本次总线链路训练的起点数据,从而可以使存储设备较容易地达到最佳工作状态,比如可能只需经过一次训练,或者只经过较少次数的训练。因此,当存储设备接收到进入第二状态(正常工作状态)的指令时,可从第一存储空间中读取出保存的存储设备上一次正常工作时接口的配置参数信息。

在步骤S44中,基于配置参数信息,生成接口的更新配置参数信息。

在从第一存储空间读取出的接口的配置参数后,利用读取出的配置参数信息进行总线链路训练,当存储设备达到最佳工作状态时,停止训练,将本次最佳工作状态对应的接口的配置参数作为更新配置参数信息。

此外,应理解为,第一状态与第二状态的功耗不同,比如第一状态为低功耗状态,第二状态为正常工作状态,在此不再赘述。

通过本公开实施例的上述技术方案,通过在存储设备进入低功耗前将接口的配置参数保存到不掉电的存储空间中,并在存储设备接收到唤醒信号时,利用存储的配置参数进行总线链路训练,使存储设备较快地达到最佳工作状态,无需在唤醒存储设备时重头进行链路训练,在存储设备处理器的处理能力不变的情况下,减少了存储设备的链路处理时间,从而节省了存储设备的响应时间,优化了存储设备的性能,提升了用户体验。

在本公开的实施例中,对外接口可能包括至少两种链路速率。参照图5,针对此种情况,上述方法还包括以下步骤:

在步骤S45中,当接口包括至少两种链路速率时,分别获取不同链路速率对应的配置参数信息。

在步骤S46中,将不同链路速率对应的配置参数信息分别保存到第一存储空间中。

存储设备的接口可以包括多种链路速率,针对不同的链路速率,存储设备在达到最佳工作状态时其接口的配置参数信息不同。当接口包括至少两种链路速率时,可分别获取不同链路速率对应的配置参数信息,并将各链路速率对应的配置参数信息分别保存到第一存储空间中。

在步骤S47中,当接收到进入第二状态指令时,根据接口与主机设备的链路速率,从第一存储空间中获取与链路速率相对应的配置参数信息。

当接收到进入第二状态(正常工作)指令时,可获取接口与主机设备的链路速率,并根据该链路速率,从第一存储空间中查找该链路速率对应的配置参数信息,作为本次训练的起点数据,在此对接口进行训练,得到当前正常工作状态对应的一组新的配置参数信息。

通过本实施例的技术方案,保存不同链路速率对应的多组接口的配置参数信息,然后对应地进行链路训练,在存储设备处理器的处理能力不变的情况下,减少了存储设备的各链路处理时间,从而节省了存储设备的响应时间,优化了存储设备的性能,提升了用户体验。

除了上述实施例示出的存储设备自身完成接口唤醒的方法,在本公开的,存储设备还可以与主机设备配合来完成对接口的唤醒工作。接下来,以一个实施例对通过存储设备与主机设备配合来唤醒接口的方法进行说明,可参见图6。

图6是根据一示例性实施例示出的一种数据处理方法的流程图。如图6所述,该方法包括以下步骤:

在步骤S61中,主机设备在向存储设备发送进入第一状态的指令时,保存接口的参数信息。

可选地,可在主机设备增加驱动,主机设备获取接口的参数信息,例如主机设备支持的标准链路速率等,并进行保存。

在步骤S62中,存储设备在接收到进入第一状态的指令时,获取接口的配置参数信息。

在步骤S63中,存储设备将接口的配置参数信息保存到第一存储空间。

在步骤S64中,主机设备在向存储设备发送进入第二状态的指令时,将参数信息发送给存储设备。

主机设备在向存储设备发送进入第二状态(正常工作状态)的指令时,同时将接口的参数信息发送给存储设备。

在步骤S65中,存储设备接收与接口连接的主机设备发送的参数信息。

在步骤S66中,存储设备从第一存储空间中获取接口的配置参数信息。

在步骤S67中,存储设备根据主机设备发送的接口的参数信息和从第一存储空间中获取的配置参数信息,生成接口的更新配置参数信息。

存储设备将接收到的主机设备接口的参数信息与第一存储空间中获取的配置参数信息结合,在接收到进入第二工作状态(正常工作状态)的指令后,进行链路训练。例如,主机设备的参数信息中包括主机设备支持的标准链路速率,存储设备在获知标准链路速率后,可通过PLL将主机设备提供的基本输入时钟倍频到相应的频率,得到与主机设备的标准链路速率相统一的链路速率,使得存储设备无需倍频得到多个频率来确定链路速率。

应理解为,主机设备接口的参数信息还可以是其他参数,在此不再赘述。主机设备接口的参数信息越多,存储设备的链路处理速度越快,在存储设备处理器的处理能力不变的情况下,可以使存储设备的响应时间更短。

通过本公开实施例的上述技术方案,从而使链路处理时间更短,在存储设备处理器的处理能力不变的情况下,使存储设备的响应时间更短,从而使得整个设备的性能更优、用户体验更好。

相应的,本公开实施例提供一种存储设备,包括处理器和用于存储处理器可执行指令的存储介质。处理器,被配置为当接收到进入第一状态的指令时,获取接口的配置参数信息;将接口的配置参数信息保存到第一存储空间;当接收到进入第二状态指令时,从第一存储空间中获取配置参数信息;基于配置参数信息,生成接口的更新配置参数信息;第一状态与第二状态的功耗不同。

图7是根据一示例性实施例示出的一种数据处理装置的框图,其中,该装置应用于存储设备。参照图7,该装置700包括:第一获取模块701、第一保存模块702、第二获取模块703和第一生成模块704。

该第一获取模块701被配置为当接收到进入第一状态的指令时,获取所述接口的配置参数信息;

该第一保存模块702被配置为将所述接口的配置参数信息保存到第一存储空间;

该第二获取模块703被配置为当接收到进入第二状态指令时,从所述第一存储空间中获取所述配置参数信息;

该第一生成模块704被配置为基于所述配置参数信息,生成所述接口的更新配置参数信息;

所述第一状态与所述第二状态的功耗不同。

可选地,参照图8,在一个实施例中,该装置700还包括:

第三获取模块705,被配置为当所述接口包括至少两种链路速率时,分别获取链路速率对应的配置参数信息;以及

第二保存模块706,被配置为将不同链路速率对应的配置参数信息分别保存到所述第一存储空间中。

可选地,参照图8,在另一个实施例中,第二获取模块703还包括:

第一获取子模块731,被配置为当接收到进入第二状态指令时,根据所述接口与主机设备的链路速率,从所述第一存储空间中获取与所述链路速率相对应的配置参数信息。

可选地,参照图8,在另一个实施例中,该装置700还包括:

接收模块707,被配置为接收与所述接口连接的主机设备发送的参数信息;

第二生成模块708,被配置为根据所述参数信息和从所述第一存储空间中获取的配置参数信息,生成所述接口的更新配置参数信息。

可选地,在一个实施例中,所述第一存储空间为所述存储设备中一被设置为不掉电的寄存器。

可选地,在另一个实施例中,所述第一存储空间为在所述存储设备中增加的一不掉电的静态随机存储器。

可选地,参照图8,在另一个实施例中,该装置700还包括:

执行模块709,被配置为当接收到进入第一状态的指令,且将所述配置参数信息保存到所述第一存储空间后,进入所述第一状态。

图9是根据一示例性实施例示出的一种数据处理装置的框图,其中,该装置应用于与存储设备通过接口连接的主机设备。参照图9,该装置900包括:第三保存模块901和发送模块902。

该第三保存模块901被配置为当向所述存储设备发送进入第一状态的指令时,保存所述接口的参数信息;

该发送模块902被配置为当向所述存储发送进入第二状态的指令时,将所述参数信息发送给所述存储设备,所述参数信息用于生成所述接口的更新配置参数信息;

所述第一状态与所述第二状态的功耗不同。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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