对数据进行加扰和解扰的方法和系统技术方案

技术编号:14295570 阅读:121 留言:0更新日期:2016-12-26 01:27
提供对数据进行加扰和解扰的方法和系统。用于对存储器通道解扰和加扰的示例实施例包括:通过以下步骤来针对存储装置执行训练模式,以发现由主机系统所使用的对数据加扰的XOR矢量:针对存储装置的所有存储器位置,将所有零训练数据输入到解扰和加扰算法,以生成通过存储器通道发送到存储装置的加扰训练数据,使得加扰训练数据等于与存储器位置相应的XOR矢量;由存储装置通过存储器通道接收加扰训练数据,并且将加扰训练数据存储为针对每个相应的存储器位置的XOR矢量;在存储装置的功能模式期间,针对特定存储器位置通过存储器通道接收加扰数据,并且在写入到特定存储器位置之前,使用针对特定存储器位置存储的XOR矢量对加扰数据解扰。

【技术实现步骤摘要】
本申请要求2015年5月7日提交的62/158,420号临时专利申请、2015年8月24日提交的62/209,166号临时专利申请以及2016年3月8日提交的15/064,191号临时专利申请的权益,所述临时专利申请被转让给本申请的受让人,并且通过引用合并于此。
本申请涉及一种对数据进行加扰和解扰的方法和系统
技术介绍
固态驱动器(SSD)与标准动态随机存取存储器(DRAM)的不同之处在于,主机需要能够将控制信息发送到SSD,并且接收由SSD生成的状态信息。主机系统与SSD之间通过DRAM通道的数据通信可通过数据加扰的使用以及可选的纠错码(ECC)保护和其他数据保护方案而被极大地复杂化。由主机存储器控制器执行的大部分加扰方案包括生成伪随机(但是确定性的)模式,以及使用将被发送的数据和所述模式执行异或(XOR)运算。与数据异或的模式值可基于固定种子,或者基于种子和传输的存储器地址的某种组合。针对DDR形状因子存储装置,要求存储装置的存储器控制器能够对通过存储器总线接收的数据进行解扰,以执行命令并且将数据存储在存储器中。相似地,针对从存储器检索的将被准确地发送回到主机系统的数据,存储装置的存储器控制器将需要对数据进行加扰,以使数据能够被主机系统识别。这要求存储装置的存储器控制器能够采用与主机的存储器控制器所采用的加扰和/或ECC相同的加扰和/或ECC。这表示加扰算法必须是可逆的,并且不能实时地依赖DDR通道上的数据。由主机系统所使用的加扰算法的整个逆向工程是困难的。即使加扰算法已知,加扰算法也可因供应商/平台而彼此不同。需要改进的用于SSD通信协议的基于XOR的加扰器/解扰器,并且优选地,不需要由主机的存储器控制器提供加扰算法的知识或者整个逆向工程。
技术实现思路
示例实施例提供用于对存储器通道进行解扰和加扰的方法和系统。示例性实施例的多个方面包括:针对存储装置执行训练模式,以发现由主机系统所使用的用于对数据进行加扰的XOR矢量。这可通过以下步骤来实现:针对存储装置的所有存储器位置,将所有零训练数据输入到加扰算法,以生成通过存储器通道发送到存储装置的加扰训练数据,使得加扰训练数据等于与所述存储器位置相应的XOR矢量。加扰训练数据随后由存储装置通过存储器通道被接收,并且加扰训练数据被存储作为针对每个相应的存储器位置的XOR矢量。在存储装置的功能模式期间,针对特定存储器位置通过存储器通道接收加扰数据,并且在被写入到特定存储器位置之前,针对特定存储器位置存储的XOR矢量被用于解扰加扰数据。一种用于对通过连接到主机系统的存储装置的存储器通道发送的数据进行解扰和加扰的系统,包括:存储装置驱动器,被安装在主机系统上,通过以下操作来针对存储装置执行训练模式,以发现由主机系统所使用的对数据进行加扰的XOR矢量:针对存储装置的所有存储器位置,将所有零训练数据输入到解扰和加扰算法,以生成通过存储器通道发送到存储装置的加扰训练数据,使得加扰训练数据等于与所述存储器位置相应的XOR矢量;存储装置上的存储控制器,被配置为:通过存储器通道接收加扰训练数据,并且将加扰训练数据存储为针对每个相应的存储器位置的XOR矢量;在训练模式之后,并且在存储装置的功能模式期间,针对特定存储器位置通过存储器通道来接收加扰数据,并且在写入到特定存储器位置之前,使用针对特定存储器位置存储的XOR矢量对加扰数据进行解扰。根据在此公开的方法和系统,示例实施例提供一种用于在没有由主机的存储器控制器提供的加扰算法的知识或整个逆向工程的情况下对通道数据进行加扰/解扰的处理,并且该处理独立于由主机的存储器控制器提供的任何纠错码(ECC)算法。附图说明本总体专利技术构思的这些和/或其他特征和效用通过以下结合附图的实施例的描述将变得清楚和更加容易理解,其中:图1是示出用于对主机系统与SSD之间的存储器通道进行加扰/解扰的系统的示例性实施例的框图;图2是示出主机系统上的传统的加扰算法的操作的示图;图3是示出用于对SSD的存储器通道进行解扰/加扰的处理的流程图;图4A和图4B是示出由SSD中的解扰算法执行的处理的示图。具体实施方式现在,将详细参考本总体专利技术构思的实施例,实施例的示例在附图中被示出,其中,相同的参考标号始终表示相同的元件。以下通过参照附图来描述实施例以解释本总体专利技术构思。通过参照以下的实施例和附图的详细描述,本专利技术的优点和特征以及实现本专利技术的方法可被更加容易理解。然而,本总体专利技术构思可以以许多不同的形式来实现,并且不应被解释为受限于在此阐述的实施例。相反,提供这些实施例使得本公开将是彻底和完整的,并且将总体专利技术构思的构思完整地传达给本领域的技术人员,并且本总体专利技术构思将仅由权利要求定义。在附图中,为了清楚,层和区域的厚度被夸大。除非在此另有指示或者与上下文清楚地矛盾,否则在描述本专利技术的上下文中(尤其在权利要求的上下文中)的单数术语的使用将被解释为涵盖单数和复数。除非另有指示,否则术语“包括”、“具有”和“包含”将被解释为开放式术语(即,表示“包含,但不限于”)。在此使用的术语“算法”或“模块”表示(但不限于)执行特定任务的软件或硬件组件,诸如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。算法或模块可方便地被配置为驻留在可寻址的存储器介质中,并且被配置为执行一个或多个处理器。因此,作为示例,算法和模块可包括:组件(诸如,软件组件、面向对象的软件组件、类组件和任务组件)、进程、功能、属性、程序、子程序、程序代码段、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、阵列以及变量。针对组件以及组件或模块提供的功能可被组合在更少的组件或模块中,或者进一步地被分离到额外的组件以及组件或模块中。除非另有定义,否则这里使用的所有技术和科学术语具有与本专利技术所属领域的普通技术人员通常理解的含义相同的含义。应注意,除非另外说明,否则这里提供的任何和全部示例或示例性术语的使用仅意在更好地阐明本专利技术,并且不意在限制本专利技术的范围。此外,除非另有定义,否则在常用词典中定义的所有术语将不被过度地解释。本专利技术提供一种在没有由主机系统采用的加扰和ECC方法的知识或逆向工程的情况下,用于存储装置通信协议的基于异或的加扰器/解扰器。在此描述的方法可应用于发生加扰/纠错的不同类型的存储装置或存储器通道,但是将针对存储装置包括固态驱动器(SSD)(诸如,单倍、双倍或四倍速率形状因子SSD)的实施例来进行解释。在SSD训练模式期间,被主机系统用于对针对SSD中的每个存储器位置的数据进行加扰的加扰掩码值(在此也被称为异或(XOR)矢量)通过训练序列的使用而被发现,并且被存储在SSD中。然后,加扰掩码值或XOR矢量被用于对在SSD的功能模式期间通过存储器通道接收和发送的数据分别进行解扰和加扰。图1是示出用于在没有由主机系统采用的加扰算法的先验知识或逆向工程的情况下,对主机系统与DDR形状因子SSD之间的DDR通道进行加扰/解扰的系统的示例实施例的框图。所述系统包括通过存储器通道14连接到SSD 12的主机系统10。众所周知,SSD没有用于存储数据的移动部分,并且不需要用于保持该数据的恒流电源。与本公开相关的主机系统10的组件包括处理器22、操作系统(OS)本文档来自技高网
...
对数据进行加扰和解扰的方法和系统

【技术保护点】
一种用于对通过连接到主机系统的存储装置的存储器通道发送的数据进行解扰和加扰的方法,所述方法包括:通过以下步骤来针对存储装置执行训练模式,以发现由主机系统所使用的对数据进行加扰的XOR矢量:针对存储装置的所有存储器位置,将所有零训练数据输入到解扰和加扰算法,以生成通过存储器通道发送到存储装置的加扰训练数据,使得加扰训练数据等于与所述存储器位置相应的XOR矢量;由存储装置通过存储器通道接收加扰训练数据,并且将加扰训练数据存储为针对每个相应的存储器位置的XOR矢量;在训练模式之后,并且在存储装置的功能模式期间,由存储装置针对特定存储器位置通过存储器通道接收加扰数据,并且在写入到特定存储器位置之前,使用针对特定存储器位置存储的XOR矢量对加扰数据进行解扰。

【技术特征摘要】
2015.05.07 US 62/158,420;2015.08.24 US 62/209,166;1.一种用于对通过连接到主机系统的存储装置的存储器通道发送的数据进行解扰和加扰的方法,所述方法包括:通过以下步骤来针对存储装置执行训练模式,以发现由主机系统所使用的对数据进行加扰的XOR矢量:针对存储装置的所有存储器位置,将所有零训练数据输入到解扰和加扰算法,以生成通过存储器通道发送到存储装置的加扰训练数据,使得加扰训练数据等于与所述存储器位置相应的XOR矢量;由存储装置通过存储器通道接收加扰训练数据,并且将加扰训练数据存储为针对每个相应的存储器位置的XOR矢量;在训练模式之后,并且在存储装置的功能模式期间,由存储装置针对特定存储器位置通过存储器通道接收加扰数据,并且在写入到特定存储器位置之前,使用针对特定存储器位置存储的XOR矢量对加扰数据进行解扰。2.如权利要求1所述的方法,还包括:当在功能模式期间从特定存储器位置读取数据时,在通过存储器通道将加扰数据发送到主机系统之前,检索数据并且使用针对特定存储器位置存储的XOR矢量对所述数据进行加扰。3.如权利要求1所述的方法,其中,主机系统上的存储装置驱动器启动训练模式。4.如权利要求1所述的方法,其中,在训练模式期间,存储装置上的存储控制器接收加扰训练数据,解扰和加扰算法存储XOR矢量。5.如权利要求4所述的方法,其中,存储装置包括存储XOR矢量的矢量存储存储器。6.如权利要求1所述的方法,其中,在功能模式期间接收加扰数据的步骤还包括:通过存储装置上的解扰和加扰算法从存储装置的矢量存储存储器检索针对特定存储器位置的XOR矢量,并且对XOR矢量和加扰数据执行异或运算,以生成随后被存储在特定存储器位置中的解扰数据。7.如权利要求1所述的方法,其中,在功能模式期间接收的加扰数据包括以下数据中的至少一个:控制/描述符数据、状态数据、用户数据和控制数据。8.如权利要求7所述的方法,其中,当加扰数据包括控制/描述符数据时,存储装置上的解扰和加扰算法在训练模式期间存储针对每个相应的控制/描述符存储器位置的XOR矢量。9.如权利要求8所述的方法,其中,解扰和加扰算法在功能模式期间使用XOR矢量对控制/描述符数据进行解扰。10.如权利要求7所述的方法,其中,当加扰数据包括状态数据时,存储装置上的解扰和加扰算法在训练模式期间存储针对每个相应的状态存储器位置的XOR矢量。11.如权利要求10所述的方法,其中,解扰和加扰算法在功能模式期间使用XOR矢量对状态数据进行加扰。12.如权利要求7所述的方法,其中,当加扰数据包括用户数据和控制数据时,存储装置上的解扰和加扰算法在训练模式期间存储针对每个相应的用户数据存储器位置的XOR矢量。13.如权利要求12所述的方法,其中,解扰和加扰算法在功能模式下读取存储装置期间,使用XOR矢量对用户数据和控制数据进行加扰;并且对于在功能模式期...

【专利技术属性】
技术研发人员:张志任麦克·柏克曼兰·斯瓦伯力克克莱格·汉松
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

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

1