首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】用于存储内容的方法和装置_意法半导体(R&D)有限公司_201811591219.8 

申请/专利权人:意法半导体(R&D)有限公司

申请日:2015-01-28

公开(公告)日:2024-06-21

公开(公告)号:CN110083550B

主分类号:G06F12/14

分类号:G06F12/14;H04L9/08

优先权:["20140327 GB 1405521.4"]

专利状态码:有效-授权

法律状态:2024.06.21#授权;2019.08.27#实质审查的生效;2019.08.02#公开

摘要:一种方法,包括:从具有虚拟缓冲器的功能块接收第一数据,第一数据在虚拟缓冲器中具有第一虚拟地址,虚拟缓冲器具有第二数据,第二数据具有与第一虚拟地址邻接的第二虚拟地址;使用取决于与虚拟缓冲器相关联的虚拟地址信息的至少一个密钥来加密第一数据;以及使加密的第一数据写入物理存储器的位置,该位置与物理存储器中的第二数据的第二位置不邻接。

主权项:1.一种用于存储数据的方法,包括:接收与虚拟缓冲器相关联的命令,所述虚拟缓冲器的连续虚拟地址与物理存储器的不连续地址相关联;确定与所述命令相关联的虚拟地址是否在地址范围内;以及基于确定与所述命令相关联的虚拟地址是否在所述地址范围内,基于与所述虚拟缓冲器相关联的虚拟缓冲器地址信息确定密钥;以及使用所确定的所述密钥执行所述命令。

全文数据:用于存储内容的方法和装置本申请是申请日为2015年1月28日、申请号为201510044128.2、发明名称为“用于存储内容的方法和装置”的中国发明专利申请的分案申请。技术领域一些实施例涉及用于存储数据的方法和装置,具体但不排他地,涉及用于存储内容的方法和装置。背景技术在诸如音频或视频数据的传输中,已知将数据配置为数据包流。这意味着,首先将数据划分为预定格式的离散数据包,每个数据包均包括数据头和载荷。数据头可包含各种类型的控制数据,至少包括数据包标识符。然后,载荷包含实际的信息内容,即诸如终端用户期望使用的音频或视频数据的信息,有时也被称为“用户数据”。载荷可为了压缩的目的而被编码并且为了安全而被加密,使得用户数据通常不以其“原始”形式被传输。数据包还可以包括纠错码形式的冗余信息,用于接收侧的误差校正。发明内容根据第一方面,提供了一种方法,包括:从具有虚拟缓冲器的功能块接收第一数据,所述第一数据在所述虚拟缓冲器中具有第一虚拟地址,所述虚拟缓冲器具有第二数据,所述第二数据具有与所述第一虚拟地址邻接的第二虚拟地址;使用取决于与所述虚拟缓冲器相关联的虚拟地址信息的至少一个密钥来加密所述第一数据;以及使加密的所述第一数据写入物理存储器的位置,该位置与所述物理存储器中的所述第二数据的第二位置不邻接。所接收的第一数据可以是未加密数据。根据第二方面,提供了一种方法,包括:从具有虚拟缓冲器的功能块接收针对第一数据的读取请求,所述第一数据在所述虚拟缓冲器中具有虚拟地址,所述虚拟缓冲器具有第二数据,所述第二数据具有与所述第一虚拟地址邻接的第二虚拟地址;从物理存储器的一个位置读取加密形式的第一数据,该位置与所述物理存储器中的所述第二数据的第二位置不邻接;以及使用取决于与所述虚拟缓冲器相关联的虚拟地址信息的至少一个密钥对加密的所述第一数据进行解密。该方法可包括:向所述功能块提供未加密形式的所述第一数据。应该理解,以下一项或多项可以与第一和第二方面中的一个或两个进行组合。存储器可包括DDR。虚拟地址信息可包括第一地址范围。该方法可包括:确定所述第一数据的所述虚拟地址是否在所述第一地址范围内。该方法可包括:如果所述第一数据的所述虚拟地址在所述第一地址范围内,则仅对加密的所述第一数据进行解密。该方法可包括:如果所述第一数据的所述虚拟地址在所述第一地址范围内,则仅对所述第一数据进行加密。该方法可包括:接收所述第一数据的虚拟地址。该方法可包括:接收来自所述功能块的标识信息。标识信息可标识与第一数据和或功能块相关联的事务的类型。该方法可包括:根据接收的标识信息来确定是加密还是阻挡所述第一数据。该方法可包括:根据接收的标识信息确定是否对所述第一数据进行解密。该方法可包括:限定虚拟缓冲器的所述第一地址范围;以及根据与所述第一地址范围相关联的地址信息限定所述至少一个密钥。该方法可包括:限定所述虚拟缓冲器的第二地址范围,并且根据与所述第二范围相关联的地址信息限定至少一个密钥,在关于所述第一地址范围执行该方法的同时,执行限定所述第二范围和相应的至少一个密钥。根据另一方面,提供了一种方法,包括:为虚拟缓冲器限定地址范围;以及根据与所述地址范围相关联的地址信息限定至少一个密钥。根据另一方面,提供了一种装置,包括:功能块,具有虚拟缓冲器,具有第一数据和第二数据,所述第一数据在所述虚拟缓冲器中具有第一虚拟地址,所述第二数据具有与所述第一虚拟地址邻接的第二虚拟地址;第二块,被配置为接收所述第一数据并使用取决于与所述虚拟缓冲器相关联的虚拟地址信息的至少一个密钥对所述第一数据进行加密;以及存储管理单元,被配置为使加密的所述第一数据写入物理存储器的位置,该位置与在所述物理存储器中的所述第二数据的第二位置不邻接。所接收的第一数据是未加密数据。第二块可被配置为从所述功能块接收针对所述第一数据的读取请求,所述存储管理单元可被配置为从所述物理存储器读取加密形式的第一数据,以及所述第二块可被配置为使用取决于与所述虚拟缓冲器相关联的虚拟地址信息的至少一个密钥来对加密的所述第一数据进行解密。根据另一方面,提供了一种装置,包括:功能块,具有虚拟缓冲器,具有第一数据和第二数据,所述第一数据在所述虚拟缓冲器中具有第一虚拟地址,所述第二数据具有与所述第一虚拟地址邻接的第二虚拟地址;第二块,被配置为从所述功能块接收针对所述第一数据的读取请求;以及存储管理单元,被配置为从物理存储器的一个位置读取加密形式的第一数据,该位置与所述物理存储器中的所述第二数据的第二位置不邻接;所述第二块被配置为使用取决于与所述虚拟缓冲器相关联的虚拟地址信息的至少一个密钥来对加密的所述第一数据进行解密。第二块可被配置为向所述功能块提供未加密形式的所述第一数据。各种特征可以与上述装置中的一个或两个进行组合来使用。存储器可包括DDR。虚拟地址信息可包括第一地址范围。第二块可被配置为确定所述第一数据的所述虚拟地址是否在所述第一地址范围内。第二块可被配置为:如果所述第一数据的所述虚拟地址在所述第一地址范围内,则仅对加密的所述第一数据进行解密。第二块可被配置为:如果所述第一数据的所述虚拟地址在所述第一地址范围内,则仅对所述第一数据进行加密。第二块可被配置为接收所述第一数据的虚拟地址。第二块可被配置为接收来自所述功能块的标识信息。标识信息标识与第一数据和或功能块相关联的事务的类型。第二块可被配置为根据接收的所述标识信息来确定是加密还是阻止所述第一数据。第二块可被配置为根据接收的所述标识信息确定是否对所述第一数据进行解密。该装置可包括:第四块,被配置为限定所述虚拟缓冲器的所述第一地址范围;以及所述第二块被配置为根据与所述第一地址范围相关联的地址信息限定所述至少一个密钥。第四块可被配置为限定用于所述虚拟缓冲器的第二地址范围,并且所述第二块被配置为根据与所述第二地址范围相关联的地址信息限定至少一个密钥,在关于所述第一地址范围执行动作的同时,执行限定所述第二范围和相应的至少一个密钥。还可以提供用于执行方法的包括程序代码的计算机程序。计算机程序可通过载体介质来存储和或实施。在上述内容中,描述了许多不同的实施例。应该理解,可以通过上述实施例中的两个或多个的组合来提高更多实施例。附图说明现在仅通过示例来参考附图,其中:图1示意性示出了用于针对存储器写入和或读取数据的布置。图2示意性示出了数据在写入存储器之前被加密并且在从存储器中读出时被解密的布置。图3示出了用于建立用于存储器读写的密钥的方法。图4示出了如果已经建立了密钥或者还没有建立密钥针对读写访问的行为的方法。图5示意性示出了多个功能块利用公共存储器的布置。图6是媒体通信网络的示意性框图。图7是用于处理通过通信网络接收的流的接收系统的示意性框图。具体实施方式用于传输数据流的一种技术是将多个流复用为组合流已知为“传输流”。在图6中示意性示出了该技术的示例应用,其示出了将数字媒体广播至多个接收用户终端102的数字电视发射器100。发射器100例如可以为用于经由一个或多个卫星的网络传输无线数字传输流信号的卫星发射器或者是用于经由一个或多个地面中继站的网络传输无线数字传输流信号的地面电视发射器。可选或附加地,传输流可以经由有线网络来传输。用户终端102例如可以为具有集成数字接收器的电视机、连接至电视机的机顶盒、数字式收放机或者配置有适当接收器的便携式终端、计算机、平板电脑、电话或任何其他适当的设备。发射器100广播多个不同的并行电视频道的内容。在传输流的术语中,用于被同一用户同时使用的相关流的组一起被称为节目。例如,电视频道n的输出内容可包括视频流、一个或多个音频流例如,在不同语言的情况下为两个以上的音频流以及任选的包括其他相关数据的另一数据流诸如总结该节目的文本或用于交互服务的数据的形式的节目。发射器100可广播无线电台的内容即,纯音频内容而没有视频。例如,无线电台的输出内容可包括一个或多个音频流以及任选的提供节目信息的另一数据流的形式的无线电节目。可选或附加地,发射器100可发射没有具体与任何一个特定的频率或电台相关的其他非音频视频数据的独立数据流,诸如提供节目列表的文本或交互内容。在发射器100处,每个节目的音频、视频和或其他数据流被复用到一起成为相应的传输流。然后,这些传输流复用到一起成为用于传输的组合传输流。然后,通常通过时分复用来进行复用,使得传输数据包在时间上相互交织。为了在接收器102处选择和处理所请求节目的流,可通过发射器100将一些控制信息包括在传输流中。节目的每个传输数据包均包括同步信息,通常为同步字节的形式。附加或可选地,接收器102还能够从硬盘驱动器106中检索出所存储的内容流,或者经由与另一源108诸如有线电视提供商或互联网的有线连接来得到内容流。可以作为内容流的发射和接收处理的一部分来执行安全操作。例如,这可以涉及在发射之前对流进行加密以及在接收器处再次对它们进行解密,以防止未授权的用户利用这种传输。图7示出了可设置在用户终端或设备中用于接收和处理内容的接收器装置的示意性框图。内容可以是传输流和或任何其他形式的内容。该装置具有一个或多个芯片和或一个或多个管芯。一个或多个芯片和或一个或多个管芯包括内容系统58稍后将进行详细描述、主CPU59、存储接口63、任选的一个或多个输出外围设备61、系统存储管理单元sMMU6以及通信网络64。通信网络可以采用任何适当的形式,并且可以为总线网络和或芯片上网络。内容系统58、主CPU59、存储接口63和输出外围设备61可通过通信网络64相互耦合。此外,内容系统58可经由一个或多个中断线60耦合至主CPU59。存储接口63可耦合至诸如DDR或其他RAM的芯片管芯外系统存储器8尽管在一些实施例中,可选或附加地,可以使用芯片管芯上系统存储器。可以设置其他外部的芯片管芯外接口。这些可以包括内容输入接口53和内容输出接口55。内容系统58可耦合至一个或多个内容输入52。内容系统58可耦合至芯片外的一个或多个内容输出54。内容拥有者能够防止内容被盗窃。内容可以采用任何适当的形式,并且可以为音频或视频内容。内容可以是电影或任何其他内容。在传送至机顶盒STB的过程中,这种内容被加密并且可以通过条件访问或数字版权管理系统来管理密钥。一旦被传送,内容就被解密。一些实施例可以确保清楚的流不会被未授权的实体访问。一些STB可仅执行数字认证软件。然而,如果不被信任、开放式或不安全的框架被支持,这就不再实际了。这是因为即使被数字签字digitallysigned,也有相对较大量的代码被要求表明是安全的。一些实施例可以使用可下载的应用程序。这些应用程序不能被认为是安全的和或可能不被数字签字。仅通过示例,Linux和Android可以认为是这种框架的示例。安全数据路径SDP要求解密流不能被不被信任的、开放式或不安全的软件访问。安全数据路径是设置在仅在用于至少一些数据的两端之间具有安全路径的端点之间的路径。已经提出使用称为隔室IDcompartmentID,CID和隔室感知过滤器CAF的硬件安全机制来提供SDP,其允许或拒绝访问存储缓冲器。这要求建立物理邻接的存储池来保持内容缓冲器是安全的安全存储器。软件分配来自所要求存储池的缓冲器,即,内容在“安全存储器”中且非内容在“非安全存储器”中。只有后者可以被应用处理器访问。应用级软件可以不知道应该被分配的存储器类型。如果软件是开放式框架例如,Gstreamer,则可能需要修改以增加存储器类型认知信息,导致非标准的实现。分割存储器可能会不利地影响应用级软件。物理邻接的存储器可能难以管理。可选方法是使用存储管理硬件。MMU页面大小和对准alignment可以是64KB。如果该应用不知道所需要的存储器类型,则每个分配都必须置于MMU页面中。例如,1KB的分配将消耗存储器的64KB。1KB和2KB的两个独立的分配将消耗存储器的128KB。这对于存储器来说是浪费的。在可用存储器受限的产品中,这是不利的。参照图1,示出了功能块2。该功能块被称为SDP块,并且是用于处理SDP的环境中的数据的功能块。仅通过示例,该功能块可以是提供以下一个或多个功能的功能块:视频解码、音频解码、图像拍摄、音频拍摄、视频处理、音频处理和数据处理。SDP块2具有包含数据A、数据B和数据C的虚拟缓冲器4。应该理解,这仅仅是示例性的,缓冲器可以包含两个以上的数据段。在一些实施例中,SDP块2利用虚拟地址进行工作,并且缓冲器是虚拟邻接的。换句话说,数据A、数据B和数据C被SDP块认为存储在相邻的虚拟位置中。然而,如稍后更详细描述的,存储器DDR中的数据A、数据B和数据C的物理位置是不邻接的。可以看出,DDR的第一存储位置10存储数据A,第二存储位置14存储数据B,以及第三存储位置12存储数据C。DDR的其他部分标为16。因此,SDP块2的虚拟缓冲器的64KB页面存储在不邻接的地址位置中。在一些实施例中,根据数据的大小,数据A、数据B和数据C可以存储在虚拟缓冲器的物理上不同的页面上。这可以与上述CIDCAF方法的物理邻接的物理存储器的使用是不一致的。系统MMU6设置为能够将对虚拟缓冲器的访问翻译为物理存储器8中的位置。在该示例中,物理存储器8是DDR,但是在其他情况下,其可以通过任何其他适当类型的存储器来设置。参照图2,其示出了一个实施例。如参照图1所描述的,SDP块22设置有虚拟缓冲器24。该SDP块22利用虚拟地址进行工作,使得缓冲器是虚拟邻接的。窗口加密块windowedciphering20被设置为sMMU6。窗口加密块20布置在SDP块22和sMMU块6之间。应该理解,在该示例中,数据A被写入存储位置10,数据C被写入存储位置12,且数据B被写入存储位置14。临时存储在SDP块中的数据是非加密数据。SDP块可具有少量的存储器。在一些实施例中,该少量的存储器可以小于虚拟缓冲器。在一些实施例中,SDP块存储器可以用于临时存储数据。虚拟地址、未加密数据26和标识信息28被提供给窗口加密块20。标识信息可以标识数据的类型,例如安全和不安全的数据或者事务性质。标识信息可提供有关事务的安全状态的信息。附加或可选地,标识信息可以标识功能块。标识信息可以是隔室ID。窗口加密块20将输出虚拟地址和加密数据30。窗口加密块20将基于例如部分来源于秘密值的强密码诸如AES高级加密标准使用流密码类型加密。地址26和CID28用于确定行为。因此,窗口加密块20使数据以加密形式输出。通过sMMU将虚拟地址翻译为物理地址,并且加密数据在该物理地址处被sMMU6写入存储器。上述处理描述了将数据写入DDR。对于读取操作,SDP将为窗口加密块20提供将从DDR中读出的数据的虚拟地址和标识信息。窗口加密块将为sMMU提供虚拟地址,sMMU可将虚拟地址翻译为物理地址并从该物理地址取出数据。经由sMMU从DDR中读出的数据被提供给窗口加密块20。由于数据来自虚拟缓冲器,所以窗口加密块20能够解密数据并将解密后的数据提供给SDP块。参照图3,其示出了用于窗口加密块的初始化的流程图。应该理解,例如可通过CPU59的驱动软件或者通过任何其他适当的驱动软件来执行步骤S1和S3。可通过窗口加密块来执行步骤S2。在步骤S1中,窗口加密块的软件为物理SDP缓冲器指定窗口的开始地址x和结束地址y。在虚拟地址空间中限定该窗口。窗口可以包括整个虚拟缓冲器或者只包括缓冲器的一部分。在一些实施例中,可以选择窗口的尺寸为固定尺寸。在其他实施例中,窗口的尺寸是可变尺寸。在一些实施例中,如果虚拟缓冲器大于窗口尺寸,则可以选择性地应用窗口,使得SDP对虚拟缓冲器的所有访问在窗口加密块20中产生有效的窗口。实际上,这可以意味着窗口加密块20内的窗口的运行时间创建和破坏。注意,窗口在虚拟地址空间中,即在被sMMU翻译为物理地址之前。因此,窗口加密块可以不知道DDR中的数据的物理分裂。在步骤S2中,在创建时,窗口加密块将基于硬件秘密和基于地址的种子包括x至y来生成一组密钥。窗口可以至少与地址范围x至y具有相同大小或者大于地址范围x至y。在一些实施例中,虚拟缓冲器可大于窗口。在其他实施例中,虚拟缓冲器24小于支持的窗口大小,则例如因为一些类型的密码要求SDP块的虚拟地址空间内n字节的倍数和n字节对准的倍数,x-y可较大。n的值可以为任何适当的值。在一些实施例中,n可以为16。在一些实施例中,虚拟缓冲器可以任意对准和或任意大小。在一些实施例中,窗口可以设置为小于一个密钥或大于一个密钥。窗口可以至少部分地重叠一个或多个密钥。如上所述,窗口不需要与密钥边缘对准,但是在一些实施例中要求与密钥边缘对准。在步骤S3中,一旦生成密钥,就告知驱动器。当为x至y的窗口创建所有密钥时,窗口加密块20可向主CPU59发送中断。一旦完成,主CPU的驱动软件就可以变成SDP块,使得SDP块能够访问虚拟缓冲器的地址范围x-y。应该理解,使用两个窗口将允许乒乓使用来掩饰mask密钥计算时间。换句话说,可以执行图3的方法,使得针对缓冲器的不同窗口至少部分地并行执行该方法。应该理解,在一些实施例中,图3的方法步骤的定时其中存在两个以上的窗口可偏移,从而有效地使用窗口加密块的处理资源。因此,可以掩饰密钥计算时间。从SDP块22到窗口加密块20到sMMU6到DDR的时间为全速或实时路径。当发生这种访问时,设置下一窗口,使得可以发生下一全速或实时访问。换句话说,存在两个定时路径,一个为实时访问,另一个为乒乓掩饰的设置时间。应该理解,在一些实施例中,可以阻挡建立密钥之前的所有事务。这是使用CID28的原因。参照图4,其示出了两种可选的访问:一种访问针对地址范围x-y,另一种不是。在关于图3描述的初始化之后,通过窗口加密块执行图4所示步骤。在步骤T1中,阻挡SDP块不在x至y范围中的地址的写入。不在地址范围x至y中的地址的读取可以返回诸如0的值或者加密存储内容。在可选步骤T2中,地址范围x和y之间的访问可以排他地ORXOR运算,基于地址选择所计算的密钥。应该理解,XOR功能仅仅是一个示例,并且可以使用任何其他可逆伪随机排列。异OR或类似功能的使用可以减小吞吐率。在T1和T2的情况下,SDP将输出将被写入数据的虚拟地址、数据和标识信息。窗口加密块20将确定虚拟地址是否在地址范围内。如果不在地址范围内,则窗口加密块将拒绝写入请求。应该理解,即使虚拟地址在地址范围外,窗口加密块也可以并不拒绝写入请求。如果写入请求针对不安全的数据诸如控制数据,这是可以的。这可以根据标识信息来确定。如果虚拟地址在地址范围内,则窗口加密块将使用一组密钥加密数据。加密数据和虚拟地址被提供给sMMU6,其将虚拟地址映射至DDR中的物理位置。类似处理可以应用于读取请求。SDP将输出将被读取数据的虚拟地址和隔室ID。窗口加密块20将确定虚拟地址是否在地址范围内。在一些实施例中,可以省略这些验证,并且所有请求都通过sMMU。如果不在地址范围内,则窗口加密块将拒绝读取请求。如果虚拟地址在地址范围内,则窗口加密块将虚拟地址提供给sMMU6,其将虚拟地址映射至DDR中的物理位置并从DDR中读出数据。加密形式的数据以及任选的虚拟地址被提供给窗口加密块。窗口加密块可确定虚拟地址是否在地址范围内。在一些实施例中,如果窗口加密块先前验证了地址范围并拒绝了不被允许的任何请求,则这是可以省略的。如果数据在地址范围内,则加密数据被解密。应该理解,即使虚拟地址在地址范围外,窗口加密块也可以不拒绝读取请求和或读取数据。如果读取请求用于不安全的数据诸如控制数据,则这是可以的。这可以根据隔室ID来确定。参照图5,其示出了具有两个SDP块22a和22b以及Linux和或Android应用CPU32的示例。SDP块22a和22b的每一个都具有相应的缓冲器24a和24b。与相应的sMMU6a和6b一起设置有相应的窗口加密块20a和20b。应用CPU可具有虚拟缓冲器34。缓冲器34具有数据A、数据B和数据C,但是只是该数据的加密形式。因此,应用CPU仅访问任意对准字节的加密形式和一定大小的缓冲器,但是完全clear访问DDR中的其他地方。在该示例中,两个SDP块22a和22b均经由窗口加密块20a和20b访问相同的加密数据和设备以解密该数据。在该示例中,窗口加密块20a和20b设置有相同的硬件种子值并且设置有相同的虚拟地址以生成相同的密钥,从而建立被保护的数据流。在一些实施例中,使用AES。如果使用AES,则密码块大小可以为16字节。这意味着在密钥生成中使用的地址忽略了4个最低有效23至20位,也导致内存图内的16字节对准。x和y可以由于如上所述的按位XOR操作或任何其他适当的操作而字节对准。这可以是期望的行为;任意字节对准。用于第一数据块X的密钥应该包括地址x。类似地,用于最后一个块Y的密钥应该包括地址y。因此:X≤xX+16y≤Yy+16这种配置可要求16字节密钥用于窗口中的存储器的每16字节。一些实施例可使用块大小=2n的较小密钥。密钥生成可忽略地址的n个最低有效位,即2n-1至20。如果位2m至2nm≥n也被忽略,则所计算的密钥被复制2m-n+1次,因此要求许多较小的密钥。这可以减小功能块大小和密钥建立时间,但是也可能潜在降低保护级别。在一些实施例中,对存储器的访问没有被拒绝,但是针对未授权的请求将加密检索的数据。去除窗口将不会去除存储在存储器中的数据的相对较强的加密。一些实施例可提供以下一个或多个优势。可以通过窗口提供相对较强的加密,这将一次要求的密钥的数量限制为合理的数量。一旦建立了窗口,流类型密码可以不影响性能。每个功能块都可以通过诸如隔室ID的标识符来标识。这意味着可以基于每个隔室ID来制定访问权利。SDP块的被保护缓冲器可以在DDR中为任意大小和或对准。应该理解,在一些实施例中,硬件限制可以在任何一个时间为窗口的大小设置上限。在一些实施例中,应用程序可分配虚拟缓冲器而不考虑类型安全或不安全的并且不存在对准和大小约束。只需要驱动器建立加密窗口,并且驱动器知道存储器类型。在一些实施例中,对安全事务的阻挡行为意味着建立窗口失败,导致不能以安全方式进行访问。在一些实施例中,数据可以被任何其他发起人自由访问,因为仅返回加密数据。通常,可以以硬件或专用电路、软件、逻辑或它们的任何组合来实施各个实施例。一些实施例可通过硬件来实施。可选实施例可以以软件来实施。一些实施例可通过硬件和软件的组合来实施。当加载到适当的数据处理装置上时,适当改写的计算机程序代码产品可用于实施实施例。用于提供操作的程序代码产品可通过适当的承载介质来存储、提供和实施。适当的计算机程序可实施在计算机可读记录介质上。可以经由数据网络下载该程序代码产品。描述了关于在机顶盒中设置的装置的一些实施例。应该理解,这仅仅是示例,并且可以在接收数据的其他适当设备中提供其他实施例。已经关于将内容写入存储器和或读取内容而描述了一些实施例。应该理解,其他实施例可以使用任何其他适当的数据。已经关于Linux和或Android应用描述了一些实施例。应该理解,这仅仅是示例,并且其他实施例可以使用任何其他适当的应用。虽然本说明书阐述了本发明的一些实施例,但根据各种修改和改进,所附权利要求覆盖不同于所描述的实施例的本发明的其他实施例。对于本领域技术人员来说,其他应用和结构是显而易见的。

权利要求:1.一种方法,包括:接收与虚拟缓冲器相关联的命令,所述虚拟缓冲器的连续虚拟地址与物理存储器的不连续地址相关联;确定与所述命令相关联的虚拟地址是否在地址范围内;以及基于确定与所述命令相关联的虚拟地址是否在所述地址范围内,基于与所述虚拟缓冲器相关联的虚拟缓冲器地址信息确定密钥;以及使用所确定的所述密钥执行所述命令。2.根据权利要求1所述的方法,其中所述命令是写请求,并且所述方法包括:从具有所述虚拟缓冲器的功能块接收第一数据,所述第一数据在所述虚拟缓冲器中具有第一虚拟地址,所述虚拟缓冲器具有第二数据,所述第二数据具有与所述第一虚拟地址邻接的第二虚拟地址;使用取决于与所述虚拟缓冲器相关联的虚拟地址信息的至少一个密钥来加密所述第一数据;以及使加密的所述第一数据被写入物理存储器的位置,所述位置与所述物理存储器中的所述第二数据的第二位置不邻接。3.根据权利要求2所述的方法,其中所接收的第一数据是未加密数据。4.根据权利要求1所述的方法,包括:从具有所述虚拟缓冲器的功能块接收对第一数据的读取请求,第一数据在所述虚拟缓冲器中具有虚拟地址,所述虚拟缓冲器具有第二数据,所述第二数据具有与所述第一虚拟地址邻接的第二虚拟地址;从物理存储器的位置读取加密形式的第一数据,所述位置与所述物理存储器中的所述第二数据的第二位置不邻接;以及使用取决于与所述虚拟缓冲器相关联的虚拟地址信息的至少一个密钥对加密的所述第一数据进行解密。5.根据权利要求4所述的方法,包括:向所述功能块提供未加密形式的所述第一数据。6.根据权利要求1所述的方法,其中所述虚拟地址信息包括第一地址范围。7.根据权利要求6所述的方法,包括:确定与所述命令相关联的虚拟地址是否在所述第一地址范围内。8.根据权利要求7所述的方法,其中所述命令是读取与所述虚拟地址相关联的加密的第一数据的请求,所述方法包括:如果所述虚拟地址在所述第一地址范围内,则仅对加密的所述第一数据进行解密。9.根据权利要求7所述的方法,其中所述命令是写入与第一虚拟地址相关联的数据的请求,所述方法包括:如果所述第一虚拟地址在所述第一地址范围内,则仅加密和写入所述第一数据。10.根据权利要求1所述的方法,包括:接收与所述命令相关联的虚拟地址。11.根据权利要求1所述的方法,包括:接收来自与所述虚拟缓冲器相关联的功能块的标识信息。12.根据权利要求11所述的方法,其中所述标识信息标识与数据和所述功能块中的至少一个相关联的事务的类型。13.根据权利要求11所述的方法,其中所述命令是写命令,并且执行所述命令包括:基于接收的所述标识信息来确定是加密还是阻挡数据。14.根据权利要求11所述的方法,其中所述命令是读取命令,并且执行所述命令包括:基于接收的所述标识信息确定是否对数据进行解密。15.根据权利要求6所述的方法,包括:限定所述虚拟缓冲器的第二地址范围,并根据与所述第二地址范围相关联的地址信息限定至少一个密钥。16.一种装置,包括:接口电路,被配置为接收与虚拟缓冲器的地址相关联的命令,所述虚拟缓冲器的连续虚拟地址与物理存储器的不连续地址相关联;以及加密电路,耦合至所述接口电路,并被配置为确定与所述虚拟缓冲区相关联的所述地址是否在地址范围内,并且基于确定与所述虚拟缓冲区相关联的地址是否在所述地址范围内,基于与所述虚拟缓冲器相关联的虚拟缓冲器地址信息确定与所述命令相关联的密钥;以及启动对所述命令的执行。17.根据权利要求16所述的装置,其中所述加密电路被配置为通过执行以下步骤来响应所接收的写命令,使用所述密钥加密与所述命令相关联的数据;以及启动将所加密的数据写入与所述虚拟缓冲器的地址相关联的所述物理存储器的位置。18.根据权利要求16所述的装置,其中所述加密电路被配置为通过执行以下步骤来响应接收的读取命令,从与所述虚拟缓冲器的地址相关联的所述物理存储器中的位置开始检索加密数据;以及使用所确定的密钥对所检索的数据进行解密。19.根据权利要求16所述的装置,其中所述接口电路被配置为耦合到与所述虚拟缓冲器相关联的功能块。20.根据权利要求16所述的装置,其中所述加密电路包括加窗的加密块。21.根据权利要求16所述的装置,包括:存储器接口,被配置为耦合到所述物理存储器。22.根据权利要求16所述的装置,其中所述虚拟地址信息包括第一地址范围。23.根据权利要求22所述的装置,其中所述加密电路被配置为确定与所述命令相关联的所述虚拟地址是否在所述第一地址范围内。24.根据权利要求23所述的装置,其中所述加密电路被配置为基于确定所述虚拟地址是否在所述第一地址范围内来启动所述命令的执行。25.根据权利要求16所述的装置,其中所述接口电路被配置为接收来自与所述虚拟缓冲器相关联的功能块的标识信息。26.根据权利要求25所述的装置,其中所述加密电路被配置为基于所接收的标识信息来启动所述命令的执行。27.一种系统,包括:数据处理电路,具有虚拟数据缓冲器,所述虚拟缓冲器的连续虚拟地址与物理存储器的不连续地址相关联;以及加密电路,耦合至所述数据处理电路,并被配置为通过确定与所述命令相关联的地址是否在地址范围内并且基于确定与所述命令相关联的地址是否是在所述地址范围内来响应从所述数据处理电路接收的命令,基于与所述虚拟缓冲器相关联的虚拟缓冲器地址信息确定与所述命令相关联的密钥;以及启动对所述命令的执行。28.根据权利要求27所述的系统,其中所述加密电路被配置为通过执行以下步骤来响应所接收的写命令,使用所述密钥加密与所述命令相关联的数据;以及启动将所加密的数据写入与所述虚拟缓冲器的地址相关联的所述物理存储器的位置。29.根据权利要求27所述的系统,其中所述加密电路被配置为通过执行以下步骤来响应接收的读取命令,从与所述虚拟缓冲器的地址相关联的所述物理存储器中的位置开始检索加密数据;以及使用所确定的密钥对所检索的数据进行解密。30.根据权利要求27所述的系统,其中所述加密电路包括加窗的加密块。31.根据权利要求27所述的系统,包括耦合到所述加密电路的存储器管理电路。32.根据权利要求27所述的系统,其中所述虚拟地址信息包括第一地址范围。33.根据权利要求32所述的系统,其中所述加密电路被配置为确定与所述命令相关联的所述虚拟地址是否在所述第一地址范围内。34.根据权利要求33所述的系统,其中所述加密电路被配置为基于确定所述虚拟地址是否在所述第一地址范围内来启动所述命令的执行。35.根据权利要求27所述的系统,其中所述加密电路被配置为基于从所述数据处理电路接收的标识信息来启动所述命令的执行。36.根据权利要求27所述的系统,包括所述物理存储器和中央处理器。37.一种方法,包括:接收与虚拟缓冲器相关联的命令,所述虚拟缓冲器的连续虚拟地址与物理存储器的不连续地址相关联;基于与所述虚拟缓冲器相关联的标识信息,确定是否执行所述命令;以及响应于确定执行所述命令,基于与所述虚拟缓冲器相关联的虚拟缓冲器地址信息确定密钥;以及使用所确定的密钥执行所述命令。38.根据权利要求37所述的方法,其中所述命令是写请求,并且所述方法包括:从具有所述虚拟缓冲器的功能块接收第一数据,所述第一数据在所述虚拟缓冲器中具有第一虚拟地址,所述虚拟缓冲器具有第二数据,所述第二数据具有与所述第一虚拟地址邻接的第二虚拟地址;使用取决于与所述虚拟缓冲器相关联的虚拟地址信息的至少一个密钥来加密所述第一数据;以及使加密的所述第一数据写入物理存储器的位置,该位置与所述物理存储器中的所述第二数据的第二位置不邻接。39.根据权利要求37所述的方法,包括:从具有所述虚拟缓冲器的功能块接收对第一数据的读取请求,第一数据在所述虚拟缓冲器中具有虚拟地址,所述虚拟缓冲器具有第二数据,所述第二数据具有与所述第一虚拟地址邻接的第二虚拟地址;从物理存储器的位置读取加密形式的第一数据,该位置与所述物理存储器中的所述第二数据的第二位置不邻接;以及使用取决于与所述虚拟缓冲器相关联的虚拟地址信息的至少一个密钥对加密的所述第一数据进行解密。40.根据权利要求37所述的方法,其中所述标识信息标识与数据和所述功能块中的至少一个相关联的事务的类型。41.根据权利要求37所述的方法,其中所述命令是写命令,并且确定是否执行所述命令包括:基于接收的所述标识信息来确定是加密还是阻挡数据。42.根据权利要求37所述的方法,其中所述命令是读取命令,并且确定是否执行所述命令包括:基于接收的所述标识信息确定是否对数据进行解密。43.一种系统,包括:数据处理电路,具有虚拟数据缓冲器,所述虚拟缓冲器的连续虚拟地址与物理存储器的不连续地址相关联;以及加密电路,耦合至所述数据处理电路并被配置为通过以下方式响应从所述数据处理电路接收的命令:基于与所述虚拟缓冲器相关联的标识信息,确定是否执行所述命令;以及响应于执行所述命令的决定:基于与所述虚拟缓冲器相关联的虚拟缓冲器地址信息确定密钥;以及使用所确定的密钥启动所述命令的执行。44.根据权利要求43所述的系统,其中所述加密电路被配置为通过执行以下步骤来响应于执行接收的写命令的确定,使用所述密钥加密与所述写命令相关联的数据;以及启动将所加密的数据写入与所述虚拟缓冲器的地址相关联的所述物理存储器的位置。45.根据权利要求43所述的系统,其中所述加密电路被配置为通过执行以下步骤来响应于执行接收的读取命令的确定,从与所述虚拟缓冲器的地址相关联的所述物理存储器中的位置开始检索加密数据;以及使用所确定的密钥对所检索的数据进行解密。

百度查询: 意法半导体(R&D)有限公司 用于存储内容的方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。