在终端中转换存储器的地址和数据的设备和方法
【技术领域】
[0001]本公开涉及一种在终端中转换存储器的地址和数据的设备和方法。更具体地讲,本公开涉及一种在终端中以这样的方式转换存储器的地址和数据的设备和方法:存储器的整个区域可均匀地受到损耗,并且数据可受到保护。
【背景技术】
[0002]诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器通常被用作主存储器和快速缓冲存储器。鉴于易失性存储器的随机存取和快速操作的优点,易失性存储器适用于存储将在中央处理器(CPU)中处理的代码和数据。然而,如果未向易失性存储器供电,则存储的数据从易失性存储器中被擦除,这使得易失性存储器不能独立用于长期数据存储。因此,诸如硬盘或闪存的非易失性存储器被用作数据存储器。尽管无法进行随机存取且(相对于易失性存储器而言)操作慢,但非易失性存储器适用于永久存储大量数据。
[0003]非易失性RAM (NVRAM)最近已被商品化。NVRAM包括相变RAM (PRAM)、磁RAM (MRAM)等。NVRAM像DRAM那样基于字节而随机存取,还具有永久性数据存储器的非易失特性。
[0004]换言之,在NVRAM在功能特征上与DRAM相同的同时,NVRAM即使断电也会保存数据。具体地讲,MRAM每单元硅面积比SRAM和DRAM具有更高的集成度。因此,MRAM的成本效益更好。考虑到MRAM的优点,预期DRAM和SRAM将让位于MRAM。
[0005]虽然最近的NVRAM将代替DRAM,但NVRAM也面临着一些具有挑战性的问题。
[0006]NVRAM的存储单元(cell)由于编程和擦除会受到损耗。由于存储单元因重复写入NVRAM而受到损耗,因此与提供几乎无穷多次写入操作的DRAM相比,NVRAM仅允许有限次数的写入操作。PRAM保证约108次写入,FeRAM保证约1012次写入,并且MRAM保证约1014次写入。
[0007]损耗均衡是这样的技术:这项技术考虑到存储器的使用期限,布置数据以通过防止写入周期高度集中于特定单元而使得擦除和重写均匀地分布于存储器的所有单元。
[0008]一种易失性存储器NAND闪存通过经由闪存转换层对块和页进行管理,使得每个存储块被均匀使用来防止过度擦除特定存储块(block) ο为此,闪存转换层记录和管理每个块的擦除的计数。
[0009]如果NVRAM而不是DRAM被用作主存储器,则由于操作系统(OS)和计算机系统(诸如,现有的便携式终端)的较高应用层软件不考虑损耗均衡,因此这是有问题的。
[0010]虽然NVRAM确保相对高的耐久性,但可考虑损耗均衡来延长NVRAM的使用期限,从而用NVRAM代替DRAM。
【发明内容】
[0011]技术问题
[0012]当NVRAM断电之后又通电时,写在NVRAM上的数据通常被擦除。然而,一些数据仍然余留在NVRAM上。
[0013]如果余留数据是诸如密码的重要信息,则信息会有暴露于未授权的第三方的风险。
[0014]以上信息仅作为背景信息被呈现以帮助对本公开的理解。至于上述内容中的任何内容是否可应用为针对本公开的现有技术,未做出确定,也未做出断定。
[0015]技术方案
[0016]为了解决上面讨论的不足,首要目标是提供一种在终端中转换存储器的地址和数据,使得存储器的所有区域可均匀地受到损耗的设备和方法。
[0017]本公开的另一方面在于提供一种用于在终端中转换存储器的地址和数据的设备和方法,其中,所述设备和方法执行损耗均衡,使得当NVRAM在终端中被用作主存储器时,存储器的所有区域均匀地受到损耗。
[0018]本公开的另一方面在于提供一种在终端中转换存储器的地址和数据的设备和方法,其中,所述设备和方法可保护写在NVRAM上的数据。
[0019]本公开的另一方面在于提供在终端中转换存储器的地址和数据的设备和方法,其中,所述设备和方法可保护当NVRAM断电并随后通电时余留在NVRAM上的数据。
[0020]根据本公开的一方面,提供一种在终端中转换存储地址的设备。所述设备包括:随机密钥产生器,被配置为在每次终端开启时产生新的随机密钥;地址映射器,被配置为使用随机密钥来转换用于数据写入或数据读取的存储区域的地址,并将转换后的地址发送到存储器,以将数据写入与转换后的地址相应的存储区域,或者从与转换后的地址相应的存储区域读取数据。
[0021]根据本公开的另一方面,提供一种在终端中转换存储器的地址和数据的设备。所述设备包括:随机密钥产生器,被配置为在每次终端开启时产生新的随机密钥;地址映射器,被配置为使用随机密钥来转换用于数据写入或数据读取的存储区域的地址,并将转换后的地址发送到数据转换器;数据转换器,被配置为使用转换后的地址来转换将被写入存储器的数据,并使用转换后的地址把将从存储器读取的数据转换为原始数据。
[0022]根据本公开的另一方面,提供了一种在终端中转换存储器的地址和数据的设备。所述设备包括:处理器,被配置为把将被写入存储器的数据和用于数据写入或数据读取的存储区域的地址发送到转换单元;转换单元,被配置为使用在每次终端开启时产生的随机密钥来转换用于数据写入或数据读取的存储区域的地址,将转换后的地址发送到存储器,转换将被写入存储器的数据,将转换后的数据发送到存储器,并将从存储器读取的转换后的数据返回至原始数据;存储器,被配置为将从转换单元接收到的转换后的数据写入与从转换单元接收到的转换后的地址相应的存储区域,从与从转换单元接收到的转换后的地址相应的存储区域提取转换后的数据,并将提取出的数据发送到转换单元。
[0023]根据本公开的另一方面,提供一种在终端中转换存储器的地址的方法。所述方法包括:在终端开启时产生新的随机密钥;使用随机密钥来转换用于数据写入或数据读取的存储区域的地址;将数据写入与转换后的地址相应的存储区域,或者从与转换后的地址相应的存储区域读取数据。
[0024]根据本公开的另一方面,提供一种在终端中转换存储器的地址和数据的方法。所述方法包括:在终端开启时产生新的随机密钥;使用随机密钥来转换用于数据写入或数据读取的存储区域的地址;当请求数据写入时,使用转换后的地址来转换将被写入存储器的数据,并将转换后的数据写入与转换后的地址相应的存储区域;当请求数据读取时,从与转换后的地址相应的存储区域提取转换后的数据,并将提取出的数据转换为原始数据。
[0025]从下面结合附图来公开本公开的示例性实施例的详细描述中,本公开的其他方面、优点和显著特征对于本领域技术人员而言将变得明显。
[0026]在着手下面的“【具体实施方式】”之前,阐述在本专利文件中通篇使用的特定词语和短语的定义会是有益的:术语“包括”和“包含”及其派生词意指包含而没有限制;术语“或”是兼容性的,意指和/或;短语“与……相关联的”和“与其相关联的”及其派生词可意指包括、被包括在……内、与……相互连接、包含、被包含在……内、连接到……或与……连接、耦合到……或与……耦合、可与……通信、与……合作、交织、并置、近似于、被绑定到……或与……绑定、具有、具有……的属性,等等;术语“控制器”意指控制至少一个操作的任何装置、系统或装置、系统的一部分,其中,可以以硬件、固件或软件或者硬件、固件和软件中的至少两个的某一组合来实施所述装置。应注意到的是,无论是以本地方式还是以远程方式,可集中或分散与任何特定控制器相关联的功能。在本专利文件中通篇提供针对特定词语和短语的定义,本领域普通技术人员应理解的是,在许多(如果不是大多数)情况中,所述定义应用于所述定义的词语和短语的之前以及未来的使用。
[0027]技术效果
[0028]从以上描述中清楚的是,如果NVRAM被用作主存储器,则本公开可通过提供前述存储地址转换设备和方法,使存储器的所有单元均匀地受到损耗。无需用于地址映射的映射表,没有由于地址映射而发生的时延。因此,主存储器的确定性操作不受影响。此外,当NVRAM断电之后又通电时,余留在NVRAM上的数据不暴露于未授权的第三方。因此,NVRAM的数据受到保护。
【附图说明】
[0029]为了更完整地理解本公开及其优点,现在参考以下结合附图的描述,其中,相同的标号表不相同的部件:
[0030]图1示出根据本公开示例性实施例的终端的框图;
[0031]图2示出根据本公开示例性实施例的在终端中转换存储器的地址的设备的框图;
[0032]图3示出根据本公开示例性实施例的终端中的第一存储地址转换操作的流程图;
[0033]图4示出根据本公开示例性实施例的终端中的第二存储地址转换操作的流程图;
[0034]图5示出根据本公开示例性实施例的终端中的第三存储地址转换操作的流程图;
[0035]图6示出根据本公开另一示例性实施例的在终端中转换存储器的地址和数据的设备的框图;
[0036]图7示出根据本公开第二示例性实施例的终端中的第一存储地址和数据转换操作的流程图;
[0037]图8示出根据本公开第二示例性实施例的终端中的第二存储地址和数据转换操作的流程图;
[0038]图9示出根据本公开第二示例性实施例的终端中的第三存储地址和数据转换操作的流程图。
[0039]贯穿附图,相同的标号将被理解为指示相同的部件、元件和结构。
【具体实施方式】
[0040]在本专利文件中,以下讨论的图1至图9以及用于描述本公开的原理的各种实施例仅仅是举例说明,并且不应该以任何方式被解释为用于限制本公开的范围。本领域技术人员将理解的是,可在任何适当地布置的系统或装置中实现本公开的原理。提供以下参照附图的描述来帮助全面理解由权利要求及其等同物限定的本公开的示例性实施例。本公开包括各种用于帮助理解的具体细节,但这些细节将仅被视为示例性的。因此,本领域普通技术人员将认识到的是,在不偏离本公开的范围的情况下,可对这里所描述的实施例进行各种改变和修改。此外,为了清楚和简明,可省略对于公知功能和构造的描述。
[0041]在以下描述和权利要求中使用的术语和词汇不限于字面含义,而仅被发明人用于实现对本公开的清晰和一致的理解。因此,本领域技术人员应清楚的是,仅为了示意目的而提供本公开的示例性实施例的以下描述,而并非为了限制由权利要求及其等同物限定的本公开的目的。
[0042]将理解的是,除非上下文清晰地另有指示,否则单数形式包括复数的指示物。因此,例如
,引用“组件表面”包括引用一个或更多个这样的表面。
[0043]通过术语“大体上地”,意指引用的特征、参数或数值不需要被精确地实现,而偏差或变化(其中,偏差或变化包括:例如,公差、测量误差、测量精度限制和本领域技术人员已知的其它因素)可按照不妨碍所述特征被期望提供的效果的数量而出现。
[0044]将提供本公开的示例性实施例来实现本公开的上述技术方面。在示例性实现中,定义的实体可具有相同的名称,本公开不限于此。因此,在具有类似技术背景的系统中,可利用相同或准备好的修改来实现本公开的示意性实施例。
[0045]在本公开的示例性实施例中,终端可以是便携式的或固定的。便携式终端是用户容易携带的电子装置,诸如视频电话、便携式电话、智能电话、国际移动电信2000(IMT-2000)终端、宽带码分多址(WCDMA)终端、全球移动电信系统(UMTM)终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数字多媒体广播(DMB)终端、电子书阅读器、膝上型计算机、平板或数码相机。固定的终端可以是例如台式个人计算机(PC)。
[0046]图1示出根据本公开示例性实施例的终端的框图。
[0047]参照图1,射频(RF)单元123执行终端的无线通信功能。RF单元123包括RF发送器和RF接收器,其中,RF发送器对发送信号的频率进行上变换,并对上变换后的发送信号进行放大,RF接收器对接收的信号进行低噪放大,并对低噪放大后的信号的频率进行下变换。数据处理器120包括发送器和接收器,其中,发送器对发送信号进行编码和调制,接收器对接收的信号进行解调和解码。因此,数据处理器120可包括调制解调器(MODEM)和编解码器(CODEC)。CODEC包括数据CODEC和音频CODEC,其中,数据CODEC处理包数据,音频CODEC处理诸如声音的音频信号。音频处理器125再现从音频CODEC接收的音频信号,或者将从麦克风产生的发送音频信号发送到数据处理器120的音频CODEC。
[0048]键区127包括用于输入数字和字符的字母数字键和用于设置各种功能的功能键。
[0049]相机单元140包括相机传感器和信号处理器,其中,相机传感器捕捉图像数据,并将捕捉到的光学信号转换为电信号,信号处理器将由相机传感器捕捉的模拟图像信号转换为数字数据。相机传感器可以是电荷耦合器件(CCD)传感器或互补金属氧化物半导体(CMOS)传感器,并且信号处理器可包括数字信号处理器(DSP)。相机传感器和信号处理器可合并为单个装置,或者可单独进行配置。
[0050]视频处理器150执行图像信号处理(ISP),以在显示器160上显示从相机单元140接收的图像信号。ISP包括诸如伽玛校正、插值、空间改变、图像效果、图像缩放、自动白平衡(AWB)、自动曝光(AE)和自动对焦(AF)的图像处理功能。视频处理器150逐帧对从相机单元140接收的图像信号进行处理,并根据显示器160的特性和尺寸来输出帧图像数据。视频处理器150包括视频CODEC,其中,视频CODEC用于以预定方法压缩显示在显示器160上的帧图像数据,并将压缩后的帧图像数据恢复(或解压缩)为原始帧图像数据。视频CODEC可以是联合图像专家组(JPEG)C0DEC、运动图像专家组4(MPEG4)C0DEC、Wavelet CODEC等。假设视频处理器150具有屏幕显示(OSD)功能,并可在处理器110的控制下根据显示的屏幕的尺寸来输出OSD数据。
[0051]显示器160在屏幕上显示从视频处理器150接收的图像信号,并显示从处理器110接收的用户数据。显示器160可被配置为液晶显示器(IXD)。在这种情况下,显示器160可包括LCD控制器、存储图像数据的存储器和LCD装置。如果LCD被配置为触摸屏,则LCD可用作输入单元。在这种情况下,可在显示器160上显示键区127上的虚拟键。
[0052]处理器110提供对于终端的整体控制。
[0053]在本公开的示例性实施例中,当伴随着特定应用的执行而接收到数据写入/读取请求时,处理器110将数据将被写入或从中读取的存储区域的第一地址值发送到转换单元170。
[0054]在本公开的示例性实施例中,转换单元170使用随机密钥将从处理器110接收的第一地址值转换为第二地址值,并将第二地址值发送到非易失性存储器(例如,存储器130的非易失性随机存取存储器(NVRAM) 131)。
[0055]在本公开的示例性实施例中,如果第一地址值是被排除在地址转换以外的预定地址,则转换单元170在不进行地址转换的情况下将接收的第一地址值发送到存储器130的非易失性随机存取存储器(NVRAM) 131。
[0056]在本公开的另一示例性实施例中,当从处理器110接收到将被写入的第一数据和第一数据将被写入的存储区域的第一地址值时,转换单元170使用随机密钥将第一地址值转换为第二地址值,并使用第二地址值将第一数据转换为第二数据。
[0057]转换单元170将第二数据和用于写入第二数据的第二地址值发送到存储器130的NVRAM 131。
[0058]在本公开的第二示例性实施例中,当从处理器110接收到用于读取第一数据的第一地址值时,转换单元170使用随机密钥将第一地址值转换为第二地址值,并将第二地址值发送到NVRAM 130,以便读取第一数据。当从NVRAM 130接收到按照第二地址值写入的第二数据时,转换单元170使用第二地址值将第二数据转换为第一数据,并将第一数据发送给处理器110。
[0059]存储器130可包括程序存储器和数据存储器。程序存储器可存储用于控制终端的总体操作的程序。根据本公开的示例性实施例,程序存储器可存储控制下述处理的程序:将数据将被写入或从中读取的特定存储区域的第一地址值映射到第二地址值,并控制对与第二地址值相应的特定存储区域的写入或从与第二地址值相应的特定存储区域的读取,使得NVRAM 13的所有单元可均匀地受到损耗。根据本公开的示例性实施例,程序存储器可存储控制下述处理的程序:使用第二地址值将第一数据映射到第二数据,将第二数据写入NVRAM 131,将写入NVRAM 131中的第二数据转换为第一数据,并读取第一数据,从而保护NVRAM 131中的数据。
[0060]数据存储器暂时存储在执行上述程序期间产生的数据。
[0061]存储器130包括易失性存储器和非易失性存储器。在本公开中,如果NVRAM被用作主存储器,则执行损耗均衡以使NVRAM的所有单元均匀地受到损耗。
[0062]在本公开的第一示例性实施例中,当从转换单元170接收到第二地址值时,NVRAM131将数据写入与第二地址值相应的存储区域,或者从与第二地址值相应的存储区域读取数据。
[0063]在本公开的第一示例性实施例中,当从转换单元170接收到第一地址值时,NVRAM131将数据写入与第一地址值相应的存储区域,或者从与第一地址值相应的存储区域读取数据。
[0064]在本公开的第二示例性实施例中,当从转换单元170接收到第二地址值和第二数据时,NVRAM 131将第二数据写入与第二地址值相应的存储区域。当从转换单元170接收到读取与第二地址值相应的数据的请求时,NVRAM131从与第二地址值相应的存储区域读取第二数据,并将第二数据发送到转换单元170。
[0065]在本公开的第二示例性实施例中,当从转换单元170接收到第一地址值和第二数据时,NVRAM 131将第二数据写入与第一地址值相应的存储区域中。当从转换单元170接收到读取与第一地址值相应的数据的请求时,NVRAM 131从与第一地址值相应的存储区域读取第二数据,并将第二数据发送到转换单元170。
[0066]将参照图2至图5来详细描述下述操作:通过经由转换单元170将用于数据写入或数据读取的存储区域的第一地址值映射到第二地址值,在NVRAM 131上执行损耗均衡。
[0067]图2示出根据本公开示例性实施例的转换存储地址的设备的框图。
[0068]参照图2,终端的存储地址转换设备包括处理器110、转换单元170和NVRAM 131。
[0069]当伴随着特定应用的执行而接收到数据写入/读取请求时,处理器110将NVRAM131的用于数据写入或数据读取的特定存储区域的地址发送到转换单元170。
[0070]转换单元170包括随机密钥产生器171和地址映射器172。
[0071]在每次终端开启,随机密钥产生器171产生新的随机密钥,并将新的随机密钥发送到地址映射器172。随机密钥可以是数字。
[0072]如果终端在省电模式下开启,则随机密钥产生器172可不产生新的随机密钥,或者可产生与先前的随机密钥相同的随机密钥并将产生的随机密钥发送到地址映射器172。像休眠那样,当前状态被写入存储器,随后终端在省电模式下关闭。随后,当终端再次开启时,写入数据全部被读取和恢复,因此使存储器返回至原有状态。此外,正在进行的程序仍运行,就像什么都没发生那样。
[0073]因此,当终端在省电模式下开启时,随机密钥产生器171可不产生新的随机密钥,或者可产生与先前的随机密钥相同的随机密钥并将产生的随机密钥发送到地址映射器172。
[0074]地址映射器172从随机密钥产生器171接收随机密钥。当从处理器110接收到用于数据写入或数据读取的特定存储区域的第一地址值时,地址映射器172使用随机密钥将第一地址值转换为第二地址值,并将第二地址值发送到NVRAM 131。
[0075]可使用随机密钥来通过下面的等式创建第二地址值:
[0076]第二地址值=(第一地址值+随机密钥)% (总存储地址范围)……(I)
[0077]例如,如果用于数据写入或数据读取的特定存储器的第一地址值是“7”,当前随机密钥是“8”,并且NVRAM的总地址范围是“10”,则第一地址值“7”通过等式(I)被映射到第二地址值“5”。
[0078]地址映射器172使用从随机密钥产生器171接收的随机密钥,将第一地址值一一对应地转换为第二地址值,使得第一地址值不以重叠方式被转换为第二地址。
[0079]也就是说,一旦第一地址值“7”被映射到第二地址值“5”,则地址映射器172使用随机密钥将另一第一地址值一一对应地映射为不同于“5”的第二地址值。
[0080]在每次地址映射器172从随机密钥产生器171接收到随机密钥时,地址映射器172使用接收的随机密钥将第一地址值转换为不同的第二地址值。当随机密钥产生器1
71在每个开启周期产生随机密钥时,地址映射器172从随机密钥产生器171接收新的随机钥匙,并因而使用新的随机钥匙将存储区域的第一地址值转换为新的第二地址值,以用于数据写入或数据读取。
[0081]如果地址映射器172不从随机钥匙产生器171接收随机密钥,则地址映射器172使用先前的随机密钥来执行地址映射。
[0082]如果从处理器110被接收的数据将被写入或从中读取的存储区域的第一地址值是指示诸如固件的基本程序将被存储在其中的预定存储区域的预定地址值,则地址映射器172简单地在不进行地址转换的情况下将第一地址值输出到NVRAM 131。
[0083]当从转换单元170接收到第二地址值时,NVRAM 131将数据写入与第二地址值相应的存储区域,或者从与第二地址值相应的存储区域读取数据。
[0084]当从转换单元170接收到第一地址值时,NVRAM 131将数据写入与第一地址值相应的存储区域,或者从与第一地址值相应的存储区域读取数据。
[0085]转换单元170可被单独配置,或者被配置为并入处理器110或NVRAM131。
[0086]如果转换单元170被并入处理器110,则处理器110通过转换单元170将用于数据写入或数据读取的存储区域的第一地址值转换为第二地址值,并将第二地址值发送到NVRAM 131。如果存储区域的第一地址值是被排除在地址转换以外的预定地址值,则处理器110在不进行地址转换的情况下将第一地址值发送到NVRAM 131。
[0087]当从处理器110接收到第一地址值或第二地址值时,NVRAM 131将数据写入与第一地址值或第二地址值相应的存储区域,或者从与第一地址值或第二地址值相应的存储区域读取数据。
[0088]如果转换单元170被并入NVRAM 131,则处理器110将用于数据写入或数据读取的存储区域的第一地址值发送到NVRAM 131。
[0089]当从处理器110接收到存储区域的第一地址值时,NVRAM 131通过转换单元170将第一地址值转换为第二地址值,并将数据写入与第二地址值相应的存储区域,或者从与第二地址值相应的存储区域读取数据。
[0090]如果存储区域的第一地址值是被排除在地址转换以外的预定地址,则NVRAM 131在不进行地址转换的情况下将数据写入与第一地址值相应的存储区域,或者从与第一地址值相应的存储区域读取数据。
[0091]在如图2所示在终端中转换单元170被单独配置的情况下,将参照图3、图4和图5来更详细地描述转换NVRAM的地址的操作。
[0092]图3示出根据本公开第一示例性实施例的终端中的第一存储地址转换操作的流程图。
[0093]将额外参照图1和图2来描述根据本公开第一示例性实施例的第一存储地址转换操作。
[0094]参照图3,当在步骤301终端开启时,在步骤302,随机密钥产生器171产生新的随机密钥,并将新的随机密钥发送到地址映射器172。
[0095]当在步骤303伴随着特定应用的执行而接收到数据写入/读取请求时,处理器110将用于数据写入或数据读取的存储区域的第一地址值发送到转换单元170的地址映射器172。
[0096]在步骤304,地址映射器172使用在步骤302接收的随机密钥,通过例如等式(I)将第一地址值转换为第二地址值。
[0097]在步骤305,地址映射器172将第二地址值发送到NVRAM 131,并且NVRAM 131将数据写入与第二地址值相应的存储区域,或者从与第二地址值相应的存储区域读取数据。
[0098]根据图3的操作,由于在每个开启周期产生新的随机密钥,并且使用该随机密钥将用于数据写入或数据读取的NVRAM的地址转换为另一地址,因此通过损耗均衡而使NVRAM的区域均匀地受到损耗。
[0099]图4示出根据本公开第一示例性实施例的终端中的第二存储地址转换操作的流程图。
[0100]将额外参照图1和图2来详细描述根据本公开第一示例性实施例的第二存储地址转换操作。
[0101]参照图4,当在步骤401终端开启时,在步骤402,随机密钥产生器171产生新的随机密钥,并将新的随机密钥发送到地址映射器172。
[0102]当在步骤403伴随着特定应用的执行而接收到数据写入/读取请求时,在步骤404,处理器110确定数据将被写入或从中读取的存储区域的第一地址值是否为被排除在地址转换以外的预定地址。
[0103]如果在步骤404第一地址值不是被排除在地址映射以外的预定地址,则处理器110将第一地址值发送到转换单元170的地址映射器172。
[0104]在步骤405,地址映射器172使用在步骤402接收的随机密钥,通过例如等式(I)将第一地址值转换为第二地址值。
[0105]在步骤406,地址映射器172将第二地址值发送到NVRAM 131,并且NVRAM 131将数据写入与第二地址值相应的存储区域,或从与第二地址值相应的地址区域读取数据。
[0106]另一方面,如果在步骤404第一地址值是被排除在地址转换以外的预定地址,则处理器110将第一地址值直接发送到NVRAM 131,而不是转换单元170的地址映射器172。
[0107]随后,在步骤407,NVRAM 131将数据写入与第一地址值相应的存储区域,或从与第一地址值相应的存储区域读取数据。
[0108]根据图4的操作,由于在每个开启周期产生新的随机密钥,并且使用该随机密钥将用于数据写入或数据读取的NVRAM的地址转换为另一地址,因此通过损耗均衡而使NVRAM的区域均匀地受到损耗。此外,如果已请求将数据写入被预设为存储诸如固件的基本程序的特定存储区域,或者已请求从所述特定存储区域读取数据,则将NVRAM 131的所述特定存储区域的地址直接提供给NVRAM 131,而不是将该地址转换为另一地址。因此,终端的被预设用于基本程序的区域的地址保持不变。
[0109]图5示出根据本公开第一示例性实施例的终端中的第三存储地址转换操作的流程图。
[0110]将额外参照图1和图2来详细描述根据本公开第一示例性实施例的第三存储地址转换操作。
[0111]参照图5,当在步骤501终端在省电模式下开启时,随机密钥产生器171不产生新的随机密钥,或者产生与先前的随机密钥相同的随机密钥并将该随机密钥发送到地址映射器 172。
[0112]当在步骤502伴随着特定应用的执行而接收到数据写入/读取请求时,处理器110将数据将被写入或从中读取的存储区域的第一地址值发送到转换单元170的地址映射器172。
[0113]在步骤503,地址映射器172使用先前随机密钥或在步骤402接收的随机密钥,通过例如等式(I)将第一地址值转换为第二地址值。
[0114]在步骤504,地址映射器172将第二地址值发送到NVRAM 131,并且NVRAM 131将数据写入与第二地址值相应的存储区域,或者从与第二地址值相应的存储区域读取数据。
[0115]另一方面,如果第一地址值是被排除在地址转换以外的预定地址,则处理器110将第一地址值直接发送到NVRAM 131,而不是转换单元170的地址映射器172。随后,NVRAM131将数据写入与第一地址值相应的存储区域,或从与第一地址值相应的存储区域读取数据。
[0116]根据图5的操作,由于在每个开启周期产生新的随机密钥,并且使用该随机密钥将用于数据写入或数据读取的NVRAM的地址转换为另一地址,因此通过损耗均衡而使NVRAM的区域均匀地受到损耗。此外,如果已请求将数据写入被预设为存储诸如固件的基本程序的特定存储区域,或者已请求从所述特定存储区域读取数据,则将NVRAM 131的所述特定存储区域的地址直接提供给NVRAM 131,而不是将该地址转换为另一地址。因此,终端的被预设用于基本程序的区域的地址保持不变。此外,当终端在像休眠那样的省电模式下开启时返回至先前状态时,使用先前的随机密钥或不是新的随机密钥来执行地址映射。由此NVRAM的转换后的地址被保持。
[0117]图6示出根据本公开第二示例性实施例的在终端中转换存储器的地址和数据的设备的框图。
[0118]参照图6,存储器地址和数据转换设备包括处理器110、转换单元170和NVRAM131。
[0119]当伴随着特定应用的执行而接收到数据写入/读取请求时,处理器110将与NVRAM131的数据将被写入或从中读取的存储区域相应的地址发送到转换单元170。
[0120]转换单元170包括随机密钥产生器171、地址映射器172和数据转换器130。
[0121]在每次终端开启时,随机密钥产生器171产生新的随机密钥,并将新的随机密钥发送给地址映射器172。随机密钥可以是数字。
[0122]如果终端在省电模式下开启,则随机密钥产生器172可不产生新的随机密钥,或者可产生与先前的随机密钥相同的随机密钥并将产生的随机密钥发送到地址映射器172。在省电模式下,在当前状态被写入存储器之后,终端断电,像休眠那样。随后,当终端再次开启时,写入数据全部被读取和恢复,因此使存储器返回至原有状态。此外,正在进行的程序仍运行,就像什么都没发生那样。
[0123]因此,当终端在省电模式下开启时,随机密钥产生器171可不产生新的随机密钥,或者可产生与先前的随机密钥相同的随机密钥并将产生的随机密钥发送到地址映射器172。
[0124]地址映射器172从随机密钥产生器171接收随机密钥。
[0125]当从处理器110接收到数据将被写入或从中读取的特定存储区域的第一地址值时,地址映射器172使用随机密钥将第一地址值转换为第二地址值,并将第二地址值发送到NVRAM 131和数据转换器173。
[0126]可使用随机密钥通过等式(I)来创建第二地址值。
[0127]地址映射器172使用从随机密钥产生器171接收的随机密钥,将第一地址值一一对应地转换为第二地址值。在每次地址映射器172从随机密钥产生器171接收随机密钥时,地址映射器172使用接收的随机密钥将第一地址值转换为不同的第二地址值。当随机密钥产生器171在每个开启周期产生新的随机密钥时,地址映射器172从随机密钥产生器171接收新的随机密钥,因而使用新的随机密钥将存储区域的第一地址值转换为新的第二地址值,以用于数据写入或数据读取。
[0128]如果地址映射器172未从随机密钥产生器171接收到随机密钥,则地
址映射器712使用先前的随机密钥来执行地址映射。
[0129]如果从处理器接收的与数据将被写入或从中读取的存储区域相应的第一地址值是与诸如固件的基本程序将被存储在其中的预定存储区域相应的预定地址,则地址映射器172简单地在不进行地址转换的情况下将第一地址值输出到NVRAM 131。
[0130]地址映射器172通过等式(I)将第一地址值转换为第二地址值,并将第二地址值发送到地址转换器130。
[0131]当从处理器110接收到将被写入的第一数据时,数据转换器173使用从地址映射器172接收的第二地址值将第一数据转换为第二数据,并将第二数据发送到NVRAM 131。
[0132]当响应于对于从处理器110读取第一数据的请求而从NVRAM 131接收到第二数据时,数据转换器173使用第二地址值将第二数据转换为第一数据,并将第一数据发送到处理器100。
[0133]数据转换器173可通过等式(2)将第二数据转换为第一数据或者将第一数据转换为第二数据。在等式(2)中,第一数据是原始数据,第二数据是转换后的数据。
[0134]第二数据=第一数据+第二地址值
[0135]第一数据=第二数据-第二地址值……(2)
[0136]虽然在本公开的示例性实施例中,通过等式(2)中的加法和减法执行第一数据与第二数据之间的转换,但第一数据和第二数据可通过任何其他将对将被写入的数据进行处理的结果恢复为原始数据的等式彼此转换。
[0137]当从转换单元170接收到第二数据和用于数据写入的第二地址值时,NVRAM 131将第二数据写入与第二地址值相应的存储区域中。
[0138]当从转换单元170接收到用于数据读取的第二地址值时,NVRAM 131从与第二地址值相应的存储区域读取第二数据,并将第二数据发送到转换单元170。
[0139]当从转换单元170接收到将被写入的第二数据和用于写入第二数据的第一地址值时,NVRAM 131将第二数据写入与第一地址值相应的存储区域中。
[0140]当从转换单元170接收到用于数据读取的第一地址值时,NVRAM 131从与第一地址值相应的存储区域读取第二数据,并将第二数据发送到转换单元170。
[0141]转换单元170可被单独配置,或者被并入处理器110或NVRAM 131。
[0142]如果转换单元170被并入处理器110,则处理器110通过转换单元170将与第一数据将被写入或从中读取的存储区域相应的第一地址值转换为第二地址值,通过转换单元170将第一数据转换为第二数据,并将第二地址值和第二数据发送到NVRAM 131。
[0143]处理器110通过转换单元170将与第一数据将被从中读取的存储区域相应的第一地址值转换为第二地址值,并将第二地址值发送到NVRAM 131。当从NVRAM 131接收到从与第二地址值相应的存储区域读取的第二数据时,处理器110通过转换单元170将第二数据转换为第一数据。
[0144]如果与第一数据将被写入的存储区域相应的第一地址值是被排除在地址转换以外的预定地址,则处理器I1通过转换单元170将第一数据转换为第二数据,并将第一地址值和第二数据发送到NVRAM 131。
[0145]如果与第一数据将被从中读取的存储区域相应的第一地址值是被排除在地址转换以外的预定地址,则处理器110将第一地址值发送到NVRAM 131。当从NVRAM 131接收到与第一地址值相应的存储区域读取的第二数据时,处理器110通过转换单元170将第二数据转换为第一数据。
[0146]如果转换单元170被并入NVRAM 131,则处理器110将与第一数据将被写入或从中读取的存储区域相应的第一地址值发送到NVRAM 131。
[0147]当从处理器110接收到与第一数据将被写入的存储区域相应的第一地址值时,NVRAM 131通过转换单元170将第一地址值转换为第二地址值并将第一数据转换为第二数据,并将第二数据写入与第二地址值相应的存储区域。
[0148]当从处理器110接收到与第一数据被从中读取的存储区域相应的第一地址值时,NVRAM 131通过转换单元170将第一地址值转换为第二地址值并将存储在与第二地址值相应的存储区域中的第二数据转换为第一数据,并将第一数据发送到处理器110。
[0149]如果与第一数据将被写入的存储区域相应的第一地址值是被排除在地址映射以外的预定地址,则NVRAM 131通过转换单元170将第一数据转换为第二数据,并将第二数据写入与第一地址值相应的存储区域。
[0150]如果与第一数据将被从中读取的存储区域相应的第一地址值是被排除在地址转换以外的预定地址,则NVRAM 131通过转换单元170将存储在与第一地址值相应的存储区域中的第二数据转换为第一数据,并将第一数据发送到处理器110。
[0151]在如图6所示在终端中转换单元170被单独配置的情况下,将参照图7、图8和图9来更详细地描述NVRAM 131的转换地址的操作。
[0152]图7示出根据本公开第二示例性实施例的终端中的第一存储地址和数据转换操作的流程图。
[0153]将额外参照图1和图6来描述根据本公开第二示例性实施例的第一存储地址和数据转换操作。
[0154]参照图7,当在步骤701终端开启时,在步骤702,随机密钥产生器171产生新的随机密钥,并将新的随机密钥发送到地址映射器172。
[0155]当在步骤703伴随着特定应用的执行而接收到对于写入第一数据的请求时,处理器I1将与第一数据将被写入的存储区域相应的第一地址值发送到转换单元170的地址映射器172,并将第一数据发送到转换单元170的数据转换器173。
[0156]在步骤704,地址转换器172使用在步骤702接收的随机密钥,通过例如等式(I)将第一地址值转换为第二地址值。地址映射器172将第二地址值发送到数据转换器173和NVRAM 131。
[0157]在步骤705,数据转换器173使用从地址映射器172接收的第二地址值,通过例如等式(2)将从处理器110接收的第一数据转换为第二数据,并将第二数据发送到NVRAM131。
[0158]在步骤706,当从地址映射器172接收到第二地址值并从数据转换器173接收到第二数据时,NVRAM 131将第二数据写入与第二地址值相应的存储区域。
[0159]随后,当在步骤707伴随着特定应用的执行而接收到对于读取第一数据的请求时,处理器110将与第一数据将被从中读取的存储区域相应的第一地址值发送到转换单元170的地址映射器172。在步骤708,地址映射器172使用在步骤720接收的随机密钥,通过例如等式(I)将第一地址值转换为第二地址值。
[0160]地址映射器172将第二地址值发送到NVRAM 131和数据转换器173。
[0161]NVRAM 131从与接收的第二地址值相应的存储区域读取第二数据,并将第二数据发送到数据转换器173。
[0162]在步骤709,数据转换器173使用从地址映射器172接收的第二地址值,通过例如等式(2)将从NVRAM 131接收的第二数据转换为第一数据,并将第一数据发送到处理器110,因而完成对第一数据的读取操作。
[0163]根据如图7所示的操作,可通过在每个开启周期产生随机密钥,并使用随机密钥写入/读取数据来保护数据。
[0164]例如,当终端开启时,产生第一随机密钥,并使用第一随机密钥将用于写入第一数据(a)的第一地址值转换为第二地址值。随后,使用第二地址值将第一数据(a)转换为第二数据(b),并将第二数据(b)写入NVRAM。此外,可使用第二数据值将第二数据(b)转换为第一数据(a)。因此,可从NVRAM读取原始的第一数据(a)。
[0165]然而,当终端关闭之后又开启时,NVRAM也断电之后又通电。因此,从随机密钥产生器产生新的随机密钥(即,第二随机密钥)。
[0166]在第一数据(a)仍余留在NVRAM中的情况下,当请求读取第一数据(a)时,使用第二随机密钥将用于读取第一数据(a)的第一地址值转换为第三地址。不同于被转换为余留的第一数据(a)的第二数据(b),使用第三地址来读取第三数据(C)。因此,尽管在NVRAM通电之后又断电的情况下数据仍留在NVRAM上,但所述数据不被读取。
[0167]图8示出根据本公开第二示例性实施例的终端中的第二存储地址和数据转换操作的流程图。
[0168]将额外参照图1和图6来描述根据本公开第二示例性实施例的第二存储地址和数据转换操作。
[0169]参照图8,当在步骤801终端开启时,在步骤802,随机密钥产生器171产生新的随机密钥,并将新的随机密钥发送到地址映射器172。
[0170]当在步骤803伴随着特定应用的执行而接收到对于写入第一数据的请求时,处理器I1将与第一数据将被写入的存储区域相应的第一地址值发送到转换单元170的地址映射器172,并将第一数据发送到转换单元170的数据转换器173。
[0171]如果在步骤804确定接收的第一地址值是被排除在地址转换以外的预定地址,则地址映射器172在不进行地址转换的情况下将第一地址值发送到NVRAM 131。被排除在地址映射以外的预定地址是与诸如固件的基本程序将被存储在其中的特定区域相应的地址。
[0172]在步骤805,为了数据转换,地址映射器172使用在步骤802接收的随机密钥,通过例如等式(I)将第一地址值转换为第二地址值。
[0173]地址映射器172将第二地址值发送到数据转换器173,并将第一地址值发送到NVRAM 131。
[0174]在步骤806,数据转换器173使用从地址映射器172接收的第二地址值,通过例如等式(2)将从处理器110接收的第一数据转换为第二数据,并将第二数据发送到NVRAM131。
[0175]在步骤807,当从地址映射器172接收到第一地址值并从数据转换器173接收到第二数据时,NVRAM 131将第二数据写入与第一地址值相应的存储区域。
[0176]随后,当在步骤808伴随着特定应用的执行而接收到对于读取第一数据的请求时,处理器110将与第一数据将被从中读取的存储区域相应的第一地址值发送到转换单元170的地址映射器172。如果在步骤809确定接收的第一地址值是被排除在地址映射以外的预定地址,则地址映射器172在不进行地址映射的情况下将
第一地址值发送到NVRAM 131。
[0177]在步骤810,为了数据转换,地址映射器使用在步骤802接收的随机密钥,通过例如等式(I)将第一地址值转换为第二地址值。
[0178]地址映射器172将第二地址值发送到数据转换器173。
[0179]NVRAM 131从与接收的第一地址值相应的存储区域读取第二数据,并将第二数据发送到地址转换器173。
[0180]在步骤811,数据转换器173使用从地址映射器172接收的第二地址值,通过例如等式(2)将从NVRAM 131接收的第二数据转换为第一数据,并将第一数据发送到处理器110,因而完成对第一数据的读取操作。
[0181]图9示出根据本公开第二示例性实施例的终端中的第三存储地址和数据转换操作的流程图。
[0182]将额外参照图1和图6来详细描述根据本公开第二示例性实施例的第三存储地址和数据转换操作。
[0183]参照图9,由于假定终端在像休眠那样的省电模式下读取所有写入数据并将所述数据恢复至数据的原始状态,因此当在步骤901终端在省电模式下开启时,随机密钥产生器171不产生新的随机密钥,或者产生与先前随机密钥相同的随机密钥并将该随机密钥发送到地址映射器172。
[0184]当在步骤902伴随着特定应用的执行而接收到对于写入第一数据的请求时,处理器I1将与第一数据将被写入的存储区域相应的第一地址值发送到转换单元170的地址映射器172,并将第一数据发送到转换单元170的数据转换器173。
[0185]在步骤903,地址转换器172使用先前随机密钥或从随机密钥产生器171接收的随机密钥,通过例如等式(I)将第一地址值转换为第二地址值。
[0186]地址映射器172将第二地址值发送到数据转换器173和NVRAM 131。
[0187]在步骤904,数据转换器173使用从地址映射器172接收的第二地址值,通过例如等式(2)将从处理器110接收的第一数据转换为第二数据,并将第二数据发送到NVRAM131。
[0188]在步骤905,当从地址映射器172接收到第二地址值并从数据转换器173接收到第二数据时,NVRAM 131将第二数据写入与第二地址值相应的存储区域。
[0189]随后,当在步骤906伴随着特定应用的执行而接收到对于读取第一数据的请求时,处理器110将与第一数据将被从中读取的存储区域相应的第一地址值发送到转换单元170的地址映射器172。在步骤907,地址映射器172使用先前随机密钥或与先前随机密钥相同的随机密钥,通过例如等式(I)将第一地址值转换为第二地址值。
[0190]地址映射器172将第二地址值发送到数据转换器173和NVRAM 131。
[0191]NVRAM 131从与接收的第二地址值相应的存储区域读取第二数据,并将第二数据发送到数据转换器173。
[0192]在步骤908,数据转换器173使用从地址映射器172接收的第二地址值,通过例如等式(2)将从NVRAM 131接收的第二数据转换为第一数据,并将第一数据发送到处理器110,因而完成对第一数据的读取操作。
[0193]在此,应意识到的是,本公开的上述示例性实施例一般在某种程度上涉及输入数据的处理和输出数据的产生。可以以硬件或与硬件结合的软件来实现所述输入数据处理和输出数据产生。例如,可在用于实现与本公开的上述示例性实施例相关联的功能的移动装置等或相关电路中使用特定电子元件。可选地,根据存储的指令进行操作的一个或更多个处理器可实现与本公开的上述示例性实施例相关联的功能。如果是这样的话,下述情况在本公开的范围内,这样的指令可被存储在一个或更多个处理器可读介质中。处理器可读介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储器件。处理器可读介质还可分布在联网的计算机系统上,使得以分布式方式存储和执行指令。此外,本公开所属领域的程序员可容易解释用于实现本公开的功能性计算机程序、指令和指令段。
[0194]虽然已利用示例性实施来描述了本公开,但可向本领域技术人员建议各种改变和修改。意在本公开包含落入权利要求的范围的这样的改变和修改。
【主权项】
1.一种用于在终端中转换存储器(131)的地址和数据的设备(170),其中,所述设备包括: 随机密钥产生器(171),被配置为在终端开启时产生随机密钥; 地址映射器(172),被配置为使用产生的随机密钥来转换用于数据写入或数据读取的存储区域的地址,并将转换后的地址发送到数据转换器(172);以及 数据转换器(172),被配置为使用转换后的地址来转换将被写入存储器的数据,并使用转换后的地址将从存储器读取的数据转换为原始数据。2.如权利要求1所述的设备(170),其中,随机密钥产生器(171)被配置为:当终端在省电模式下开启时,产生与先前的随机密钥相同的随机密钥。3.如权利要求1或2所述的设备(170),其中,地址映射器(171)被配置为:使用产生的随机密钥将存储区域的第一地址值映射到第二地址值,并将第二地址值发送到存储器(131)和数据转换器(173), 其中,地址映射器被配置为:使用随机密钥将第一地址值一一对应地映射到第二地址值, 其中,地址映射器被配置为:在每次新的随机密钥被产生时,使用新的随机密钥将第一地址值映射到不同的第二地址值。4.如前面的权利要求中的任意一个所述的设备(170),其中,地址映射器(171)被配置为:如果存储区域的第一地址值是被排除在地址转换以外的预定地址,则将第一地址值发送到存储器,使用产生的随机密钥将第一地址值映射到第二地址值,并将第二地址值发送到数据转换器。5.如前面的权利要求中的任意一个所述的设备,还包括: 处理器(I 10),被配置为把将被写入存储器(131)的数据发送到数据转换器(173),并将用于数据写入或数据读取的存储区域的地址发送到地址映射器(172);以及 存储器(131),被配置为将从数据转换器接收到的转换后的数据写入与从地址映射器接收到的转换后的地址相应的存储区域,从与从地址映射器接收到的转换后的地址相应的存储区域提取转换后的数据,并将提取出的数据发送到数据转换器。6.如权利要求5所述的设备,其中,如果数据写入被请求,则存储器(131)被配置为:将从数据转换器(173)接收到的转换后的数据写入与从地址映射器(172)接收到的地址相应的存储区域,如果数据读取被请求,则存储器被配置为:从与从地址映射器接收的地址相应的存储区域提取转换后的数据。7.—种在终端中转换存储器的地址和数据的方法,其中,所述方法包括: 在终端开启时产生随机密钥(302、402、702、802); 使用随机密钥来转换用于数据写入或数据读取的存储区域的地址(304、405、503、704、708、805、810、903、907)以获取转换后的地址; 响应于对于数据写入的请求,使用转换后的地址来转换将被写入存储器的数据(705、806、904),并将转换后的数据写入与转换后的地址相应的存储区域;并且/或者 响应于对于数据读取的请求,从与转换后的地址相应的存储区域提取转换后的数据,并将提取出的数据转换为原始数据(709、811、908)。8.如权利要求7所述的方法,其中,产生随机密钥(302、402、702、802)的步骤包括:在每次终端开启时,产生新的随机密钥。9.如权利要求7或8所述的方法,还包括: 如果终端在省电模式下开启,则不产生随机密钥;并且 使用在省电模式之前产生的随机密钥来转换用于数据写入或数据读取的存储区域的地址。10.如权利要求7-9中的任意一个所述的方法,还包括:如果终端在省电模式下开启,则产生与先前的随机密钥相同的随机密钥。11.如权利要求7-10中的任意一个所述的方法,其中,转换用于数据写入或数据读取的存储区域的地址的步骤包括: 接收用于数据写入或数据读取的存储区域的第一地址值到第二地址值; 通过计算第一地址与随机密钥之和的模数,将第一地址值转换为第二地址值。12.如权利要求7-11中的任意一个所述的方法,其中,使用转换后的地址来转换将被写入存储器的数据,并将转换后的数据写入与转换后的地址相应的存储区域的步骤包括: 通过用第二地址值加上第一数据值来获取第二数据值,从而使用转换后的第二地址值把将被写入的第一数据转换为第二数据。13.如权利要求7-11中的任意一个所述的方法,其中,使用转换后的地址来转换将被写入存储器的数据,并将转换后的数据写入与转换后的地址相应的存储区域的步骤包括: 响应于对于数据写入的请求,使用转换后的第二地址值把将被写入的第一数据转换为第二数据;并且 如果第一地址值被排除在地址转换以外,则将第二数据存储在与第一地址值相应的存储区域中。14.如权利要求7-12中的任意一个所述的方法,其中,从与转换后的地址相应的存储区域提取转换后的数据,并将提取出的数据转换为原始数据的步骤包括: 通过从第二数据值减去第二地址值来获得第一数据值,从而将第二数据转换为作为原始数据的第一数据。15.如权利要求7-11中的任意一个所述的方法,其中,从与转换后的地址相应的存储区域提取转换后的数据,并将提取出的数据转换为原始数据的步骤包括: 如果第一地址值被排除在地址转换以外,则响应于对于数据读取的请求,从与第一地址值相应的存储区域提取转换后的第二数据;并且 将第二数据转换为作为原始数据的第一数据。16.如权利要求7-13中的任意一个所述的方法,还包括:如果用于数据写入或数据读取的存储区域的地址值是被排除在地址转换以外的预定地址,则将数据写入与第一地址值相应的存储区域,或者从与第一地址值相应的存储区域读取数据。
【专利摘要】一种在终端中转换存储器的地址和数据的设备和方法。所述设备包括:随机密钥产生器,被配置为在每次终端开启时产生新的随机密钥;地址映射器,被配置为使用随机密钥来转换用于数据写入或数据读取的存储区域的地址,并将转换后的地址发送到数据转换器;数据转换器,被配置为使用转换后的地址来转换将被写入存储器的数据,并使用转换后的地址把将从存储器读取的数据转换为原始数据。
【IPC分类】G06F7/58, G06F12/02
【公开号】CN104903870
【申请号】CN201480004209
【发明人】申喜燮
【申请人】三星电子株式会社
【公开日】2015年9月9日
【申请日】2014年1月7日
【公告号】EP2752770A1, US20140195724, WO2014107096A1