CN101154195A - 代码转换装置、代码转换方法以及计算机产品 - Google Patents
代码转换装置、代码转换方法以及计算机产品 Download PDFInfo
- Publication number
- CN101154195A CN101154195A CNA2007101038148A CN200710103814A CN101154195A CN 101154195 A CN101154195 A CN 101154195A CN A2007101038148 A CNA2007101038148 A CN A2007101038148A CN 200710103814 A CN200710103814 A CN 200710103814A CN 101154195 A CN101154195 A CN 101154195A
- Authority
- CN
- China
- Prior art keywords
- data
- impact damper
- encryption
- enciphered
- clear
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 title claims description 36
- 230000005055 memory storage Effects 0.000 claims description 142
- 238000012545 processing Methods 0.000 claims description 100
- 238000011084 recovery Methods 0.000 claims description 22
- 238000013500 data storage Methods 0.000 claims description 19
- 241001269238 Data Species 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 36
- 238000007726 management method Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 10
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明涉及代码转换装置、代码转换方法以及计算机产品。代码转换装置、盘驱动器、代码缓冲器以及加密缓冲器包括在存储装置中。所述代码缓冲器中存储存在于所述盘驱动器中的第一加密数据,而所述加密缓冲器中存储存在于所述盘驱动器中的第一未加密数据。加密单元将存在于所述加密缓冲器中的所述第一未加密数据加密成预定加密数据,而解密单元将存在于所述代码缓冲器中的所述第一加密数据解密成第二未加密数据。此外,再加密单元将存在于所述代码缓冲器中的所述第一加密数据解密成第三未加密数据,并将该第三未加密数据加密成与所述第一加密数据不同的第二加密数据。
Description
技术领域
本发明涉及用于对存储在存储装置(storage)的盘驱动器中的数据进行加密和解密的技术。
背景技术
在管理存储在构成存储装置的多个盘驱动器中的数据的该存储装置中,需要提高数据安全性。响应于此,已经对存储在盘驱动器中的数据进行了加密。
例如,在日本专利申请特开No.2006-127061中公开了一种涉及用于对盘驱动器中的数据进行加密的加密装置的技术。该公开的加密装置设置在盘驱动器(存储装置)的外部。在从用户接收到对数据进行加密或解密的指令时,该加密装置读取存储在盘驱动器中的数据以执行加密或解密,并且将加密或解密的数据返回至盘驱动器。
然而,在常规技术中,因为加密装置读取盘驱动器中的数据,并随后对所读取的数据进行加密或解密,所以读取盘驱动器中的数据很耗时。因此,对数据进行加密或解密很耗时,并且读/写来自主机的请求,从而造成盘驱动器的停滞。
发明内容
本发明的一个目的是至少部分地解决常规技术中的问题。
根据本发明的一个方面,提供了一种代码转换装置,该代码转换装置包括在存储装置中,并且对存储在该存储装置中的盘驱动器中的数据进行加密和解密,该存储装置管理该数据,所述代码转换装置包括:加密数据存储单元,该加密数据存储单元在所述存储装置中的代码缓冲器中存储存在于所述盘驱动器中的第一加密数据;未加密数据存储单元,该未加密数据存储单元在所述存储装置中的加密缓冲器中存储存在于所述盘驱动器中的第一未加密数据;加密单元,该加密单元将存在于所述加密缓冲器中的所述第一未加密数据加密成预定加密数据;解密单元,该解密单元将存在于所述代码缓冲器中的所述第一加密数据解密成第二未加密数据;以及再加密单元,该再加密单元将存在于所述代码缓冲器中的所述第一加密数据解密成第三未加密数据,并将该第三未加密数据加密成与所述第一加密数据不同的第二加密数据。
根据本发明的另一方面,提供了一种用于对存储在存储装置中的盘驱动器中的数据进行加密和解密的方法,该存储装置管理该数据,该方法包括以下步骤:加密数据存储,其包括在所述存储装置中的代码缓冲器中存储存在于所述盘驱动器中的第一加密数据;未加密数据存储,其包括在所述存储装置中的加密缓冲器中存储存在于所述盘驱动器中的第一未加密数据;将存在于所述加密缓冲器中的所述第一未加密数据加密成预定加密数据;将存在于所述代码缓冲器中的所述第一加密数据解密成第二未加密数据;以及再加密,其包括将存在于所述代码缓冲器中的所述第一加密数据解密成第三未加密数据,并将该第三未加密数据加密成与所述第一加密数据不同的第二加密数据。
根据本发明的又一方面,提供了一种计算机可读记录介质,该计算机可读记录介质中存储有使计算机实现上述方法的计算机程序。
当结合附图考虑时,通过阅读下面对本发明具体优选实施例的详细说明,将更好地理解本发明的上述和其它目的、特征、优点以及技术和工业重要性。
附图说明
图1是用于说明根据本发明第一实施例的存储装置的概要和特征的示意图;
图2是用于说明图1所示的存储装置的概要和特征的另一示意图;
图3是用于说明图1所示的存储装置的概要和特征的又一示意图;
图4是包括图1所示的存储装置的整体系统构成的框图;
图5是图1所示的存储装置的框图;
图6是用于说明由图5所示的管理控制器执行的处理进展(progress)监测处理的示意图;
图7是用于说明由图5所示的读/写控制器执行的读/写控制处理的示意图;
图8是由图5所示的加密单元执行的加密处理的流程图;
图9是由图5所示的解密单元执行的解密处理的流程图;
图10是图5所示的再加密单元执行的再加密处理的流程图;
图11是由图5所示的读/写控制器执行的读/写控制处理的流程图;
图12是用于说明根据本发明第二实施例的由存储装置执行的读/写控制处理的示意图;
图13是图12所示的读/写控制处理的流程图;
图14是用于说明根据本发明第三实施例的存储装置的加密缓冲器的示意图;
图15是用于说明图14所示的存储装置中的控制器模块(CM)中出现故障的情况的示意图;
图16是用于说明由图14所示的存储装置执行的恢复(recovery)处理的示意图;
图17是用于说明由图14所示的存储装置执行的恢复处理的示意图;
图18是用于说明由图14所示的存储装置执行的恢复处理的示意图;
图19是用于说明由图14所示的存储装置执行的恢复处理的示意图;
图20是用于说明由图14所示的存储装置执行的恢复处理的示意图;
图21是用于说明由图14所示的存储装置执行的恢复处理的示意图;
图22是用于说明由图14所示的存储装置执行的恢复处理的示意图;
图23是用于说明由图14所示的存储装置执行的复原(restoration)处理的示意图;
图24是用于说明由图14所示的存储装置执行的复原处理的示意图;
图25是用于说明由图14所示的存储装置执行的复原处理的示意图;
图26是用于说明由图14所示的存储装置执行的复原处理的示意图;
图27是用于说明由图14所示的存储装置执行的复原处理的示意图;以及
图28是根据本发明第四实施例的执行加密程序的计算机的框图。
具体实施方式
下面将参照附图对本发明的示例性实施例进行详细说明。在下面的实施例中,对将本发明应用至作为存储器的存储装置的示例进行说明。
图1到3是用于说明根据本发明第一实施例的存储装置10的概要和特征的示意图。
存储装置10管理存储在盘驱动器50中的数据,并且对存储在盘驱动器50中的数据进行加密或解密。存储装置10的主要特征在于:在存储装置10中对数据进行加密或解密而不需要将数据读出至存储装置10的外部,这使得能够减少用于对数据进行加密或解密的时间。
具体地说,如图1所示,存储装置10包括:代码缓冲器14a,用于在其中存储盘驱动器50中所存储的加密数据;以及加密缓冲器14b,用于在其中存储盘驱动器50中所存储的未加密数据。
在接收到来自管理装置40的针对预定卷的加密请求(参见图1中的(1))时,存储装置10开始从盘驱动器50将该预定卷中的未加密数据读取至加密缓冲器14b(参见图1中的(2))。
接着,存储装置10使未加密数据冗余(参见图1中的(3)),并且将该未加密数据加密成预定加密数据(参见图1中的(4))。具体地说,存储装置10将加密缓冲器14b中的未加密数据复制到控制器模块(CM)1中的加密缓冲器24b中,将该未加密数据加密成预定加密数据,并将该加密数据发送至代码缓冲器24a。存储装置10将该加密数据写入到盘驱动器50中(参见图1中的(5))。
接下来,参照图2对解密处理进行说明。当接收到来自管理装置40的针对预定卷的解密请求(参见图2中的(1))时,存储装置10开始从盘驱动器50将该预定卷中的加密数据读取至代码缓冲器14a(参见图2中的(2))。
接下来,存储装置10将存储在代码缓冲器14a中的加密数据解密成未加密数据(参见图2中的(3)),并且使该解密数据冗余(参见图2中的(4))。具体地说,存储装置10对加密数据进行解密,将该解密数据存储在加密缓冲器14b中,并且复制加密缓冲器14b中的未加密数据。随后,存储装置10将该解密的未加密数据写入到盘驱动器50中(参见图2中的(5))。
参照图3对再加密处理进行说明。当接收到来自管理装置40的针对预定卷的再加密请求(参见图3中的(1))时,存储装置10开始从盘驱动器50将该预定卷中的加密数据读取至代码缓冲器14a(参见图3中的(2))。
接着,存储装置10将存储在代码缓冲器14a中的加密数据解密成未加密数据(参见图3中的(3)),并且使该解密数据冗余(参见图3中的(4))。具体地说,存储装置10对加密数据进行解密,将该解密数据存储在加密缓冲器14b中,并且复制加密缓冲器14b中的未加密数据。接着,存储装置10将复制的未加密数据转换成与该解密代码不同的加密数据(参见图3中的(5)),并且将该加密数据写入到盘驱动器50中(参见图3中的(6))。
这样,因为可以在存储装置10中对数据进行加密或解密,而不需要将数据读出至存储装置10的外部,所以可以减少数据加密时间和解密时间。
图4是包括存储装置10的整体系统构成的框图。
如图4所示,存储系统1包括:存储装置10、主机20、切换部30,以及管理装置40。在存储系统1中,存储装置10、主机20以及管理装置40经由切换部30彼此连接。
主机20向存储装置10发送用于请求读取或写入数据的主机输入/输出(I/O)请求,以请求在盘驱动器50中读取或写入数据。切换部30在存储装置10、主机20以及管理装置40中调节数据的传送目的地。管理装置40向存储装置10发送用于请求将未加密数据加密成加密数据的加密请求、用于请求将加密数据解密成未加密数据的解密请求,以及用于请求将加密数据转换成不同代码的再加密请求。
在存储装置10中,CM中的通道适配器(CA)接收来自主机20的主机I/O请求,并且该CM利用高速缓存(未示出)来控制在盘驱动器50中读取和写入数据。存储装置10执行与从管理装置40接收到的加密请求、解密请求以及再加密请求相对应的加密处理、解密处理以及再加密处理,作为后台处理。
参照图5对存储装置10的构成进行说明。图5是存储装置10的框图,图6是用于说明处理进展监测处理的示意图,而图7是用于说明读/写控制处理的示意图。如图5所示,存储装置10包括:切换控制I/F 11、盘控制I/F 12、控制器13,以及存储器14,并且存储装置10经由切换部30连接至主机20和管理装置40。
切换控制I/F 11对在要连接至存储装置10的主机20与管理装置40之间传送的多条信息的通信进行控制。具体地说,切换控制I/F11接收来自主机20的用于请求对数据进行读或写的主机I/O请求,并且发送存储在盘驱动器50中的所请求的数据。切换控制I/F 11还接收来自管理装置40的加密请求、解密请求以及再加密请求。
盘控制I/F 12对在要连接至存储装置10的盘驱动器50与存储装置10之间传送的多条信息的通信进行控制。具体地说,盘控制I/F 12在盘驱动器50与存储装置10之间传送加密数据和未加密数据。
存储器14中存储数据和控制器13执行的各种处理所需的程序。具体地说,存储器14包括代码缓冲器14a和加密缓冲器14b。代码缓冲器14a中存储加密数据,而加密缓冲器14b中存储未加密数据。存储器14中还存储用于加密和解密的加密密钥(未示出)。
控制器13具有用于存储指定各种处理的程序和所需数据的内部存储器,并且执行各种处理。具体地说,控制器13包括:加密单元13a、解密单元13b、再加密单元13c、管理控制器13d以及读/写控制器13e。加密单元13a对应于所附权利要求中的“加密单元”,解密单元13b对应于权利要求中的“解密单元”,而再加密单元13c对应于权利要求中的“再加密单元”。
加密单元13a将未加密数据加密成预定加密数据。具体地说,在接收到来自管理装置40的针对预定卷的加密请求时,加密单元13a确定是否已经在存储器区中获取了加密缓冲器14b。作为确定的结果,如果没有获取加密缓冲器14b,则加密单元13a在存储器区中获取加密缓冲器14b。如果已经获取了加密缓冲器14b,则加密单元13a开始从盘驱动器50将该预定卷中的未加密数据读取至加密缓冲器14b。
加密单元13a复制加密缓冲器14b中的未加密数据,并且将该未加密数据加密成预定加密数据。接着,加密单元13a将加密数据写到盘驱动器50上,并且确定加密是否已经完成至卷的末端。作为确定的结果,如果加密没有完成至卷的末端,则加密单元13a将未加密数据读取至加密缓冲器14b,并且重复该加密处理。如果加密已经完成至卷的末端,则加密单元13a结束该处理。
解密单元13b将加密数据解密成未加密数据。具体地说,当接收到来自管理装置40的针对预定卷的解密请求时,解密单元13b确定是否已经在存储器区中获取了代码缓冲器14a。作为确定的结果,如果没有获取代码缓冲器14a,则解密单元13b在存储器区中获取代码缓冲器14a。如果已经获取了代码缓冲器14a,则解密单元13b开始从盘驱动器50将该预定卷中的加密数据读取至代码缓冲器14a。
解密单元13b解密该加密数据并将解密的数据存储在加密缓冲器14b中。在复制加密缓冲器14b中的未加密数据之后,解密单元13b将该解密的数据写到盘驱动器50上。此后,解密单元13b确定解密是否已经完成至卷的末端。作为确定的结果,如果解密没有完成至卷的末端,则解密单元13b将解密数据读取至加密缓冲器14b,并且重复该解密处理。解密单元13b在解密已经完成至卷的末端时结束该处理。
再加密单元13c对加密数据进行解密,并且将解密的数据转换成与先前代码不同的代码。具体地说,当接收到来自管理装置40的针对预定卷的再加密请求时,再加密单元13c确定是否已经在存储器区中获取了代码缓冲器14a。作为确定的结果,如果没有获取代码缓冲器14a,则再加密单元13c在存储器区中获取代码缓冲器14a。如果已经在存储器区中获取了代码缓冲器14a,则再加密单元13c开始从盘驱动器50将该预定卷中的加密数据读取至代码缓冲器14a。
再加密单元13c对该加密数据进行解密,将解密的数据存储在加密缓冲器14b中,复制加密缓冲器14b中的未加密数据,并且将所复制的未加密数据转换成与已经解密的代码不同的加密数据。此后,再加密单元13c将该加密数据写到盘驱动器50上,并且确定加密是否已经完成至卷的末端。作为确定的结果,如果加密没有完成至卷的末端,则再加密单元13c将解密数据读取至代码缓冲器14a,并且重复该再加密处理。如果加密已经完成至卷的末端,则再加密单元13c结束该处理。
管理控制器13d监测被加密或被解密的数据。具体地说,管理控制器13d监测加密单元13a、解密单元13b或再加密单元13c加密或解密数据的处理进展。例如,管理控制器13d确定或监测存储在图6所示的示例中的存储器区500到550中的数据正被解密作为处理进展状态。
响应于管理控制器13d监测到的处理进展状态,读/写控制器13e接收来自主机20的主机I/O请求,并且基于该主机I/O请求控制从盘驱动器50进行读取/向盘驱动器50进行写入。
具体地说,当接收到主机I/O请求时,读/写控制器13e确定是否正在解密主机I/O请求所请求的卷。作为确定的结果,如果没有正在解密主机I/O请求所请求的卷,则读/写控制器13e确定主机I/O请求所请求的数据是否是加密数据。作为确定的结果,如果该数据不是加密数据,则读/写控制器13e直接访问盘驱动器50,并且执行主机I/O请求所请求的处理。另一方面,如果主机I/O请求所请求的数据是加密数据,则读/写控制器13e解密该加密数据,访问盘驱动器50,并执行主机I/O请求所请求的处理。
如果主机I/O请求所请求的卷正被解密,则读/写控制器13e确定该主机I/O请求是否针对当前正被解密的区。作为确定的结果,如果主机I/O请求针对当前正被解密的区,则读/写控制器13e执行进行等待直到解密完成为止的独占处理,接着,确定主机I/O请求是否跨越处理进展区中的加密数据和未加密数据。另一方面,如果主机I/O请求不针对当前正被解密的区,则在不执行独占处理的情况下,读/写控制器13e确定主机I/O请求是否跨越所请求的区中的加密数据和未加密数据。
作为确定的结果,如果主机I/O请求没有跨越所请求的区中的加密数据和未加密数据,则读/写控制器13e访问盘驱动器50,并且确定主机I/O请求所请求的目标数据是否是加密数据。作为确定的结果,如果该数据是加密数据,则读/写控制器13e通过解密该加密数据,来执行主机I/O请求所请求的处理。另一方面,如果该数据不是加密数据,则读/写控制器13e在不执行解密的情况下执行主机I/O请求所请求的处理。
另一方面,如果主机I/O请求跨越加密数据和未加密数据,则读/写控制器13e划分加密数据和未加密数据,并且针对加密数据和未加密数据中的每一个来访问盘驱动器。接着,读/写控制器13e解密该加密数据,组合解密的数据和该未加密数据,并且执行主机I/O请求所请求的处理。当接收到来自主机20的请求读取包括当前正被解密的数据在内的数据的主机I/O请求时,读/写控制器13e将该主机I/O请求传送至高速缓存,并将数据直接发送至主机20。
参照图7对具体示例进行说明。当接收到主机I/O请求(针对存储在图7中的存储器区500到600中的数据的主机I/O请求)时,因为主机I/O请求所述请求的数据当前正被解密(在图7中,500到550正被解密),所以读/写控制器13e执行进行等待直到解密完成为止的独占处理。接着,读/写控制器13e划分该过程中的未加密数据和加密数据(在图7中,500到550中的未加密数据和551到600中的加密数据),并且针对该加密数据和未加密数据中的每一个来访问盘驱动器。接着,读/写控制器13e解密该加密数据,组合解密的数据和该未加密数据,并且执行主机I/O请求所请求的处理。
参照图8对存储装置10执行的加密处理进行说明。
如图8所示,当接收到来自管理装置40的针对预定卷的加密请求(步骤S 101中的是)时,存储装置10中的加密单元13a确定是否已经在存储器区中获取了加密缓冲器14b(步骤S102)。作为确定的结果,如果没有获取加密缓冲器14b(步骤S102中的否),则加密单元13a在存储器区中获取加密缓冲器14b(步骤S103),并且开始从盘驱动器50将该预定卷中的未加密数据读取至加密缓冲器14b(步骤S104)。如果已经在存储器区中获取了加密缓冲器14b(步骤S102中的是),则加密单元13e直接开始从盘驱动器50将该预定卷中的未加密数据读取至加密缓冲器14b(步骤S104)。
加密单元13a复制加密缓冲器14b中的未加密数据(步骤S105),并且将该未加密数据加密成预定加密数据(步骤S106)。加密单元13a将加密的数据写到盘驱动器50上(步骤S107),并且确定加密是否已经完成至卷的末端(步骤S108)。作为确定的结果,如果加密没有完成至卷的末端(步骤S108中的否),则加密单元I 3a将未加密数据读取至加密缓冲器14b(步骤S104),并且重复该加密处理。如果加密已经完成至卷的末端(步骤S108中的是),则加密单元13a结束该处理。
参照图9对存储装置10执行的解密处理进行说明。
如图9所示,当接收到来自管理装置40的用于解密预定卷的请求(步骤S201中的是)时,存储装置10中的解密单元13b确定是否已经在存储器区中获取了代码缓冲器14a(步骤S202)。作为确定的结果,如果没有获取代码缓冲器14a(步骤S202中的否),则解密单元13b在存储器区中获取代码缓冲器14a(步骤S203)。如果已经在存储器区中获取了代码缓冲器14a(步骤S202中的是),则解密单元13b开始从盘驱动器50将该预定卷中的加密数据读取至代码缓冲器14a(步骤S204)。
解密单元13b解密该加密数据并将解密的数据存储在加密缓冲器14b中(步骤S205)。此后,解密单元13b复制加密缓冲器14b中的未加密数据(步骤S206),并且将解密的数据写到盘驱动器50上(步骤S207)。此后,解密单元13b确定解密是否已经完成至卷的末端(步骤S208)。作为确定的结果,如果解密没有完成至卷的末端(步骤S208中的否),则解密单元13b将加密的数据读取至加密缓冲器14b,(步骤S204),并且重复该解密处理。如果解密已经完成至卷的末端(步骤S208中的是),则解密单元13b结束该处理。
参照图10对存储装置10执行的再加密处理进行说明。
如图10所示,当接收到来自管理装置40的针对预定卷的再加密请求(步骤S301中的是)时,存储装置10中的再加密单元13c确定是否已经在存储器区中获取了代码缓冲器14a(步骤S302)。作为确定的结果,如果没有获取代码缓冲器14a(步骤S302中的否),则再加密单元13c在存储器区中获取代码缓冲器14a(步骤S303)。如果已经在存储器区中获取了代码缓冲器14a(步骤S302中的是),则再加密单元13c开始从盘驱动器50将该预定卷中的解密数据读取至代码缓冲器14a(步骤S304)。
再加密单元13c解密该加密数据,并将解密的数据存储在加密缓冲器14b中(步骤S305)。此后,再加密单元13c复制加密缓冲器14b中的未加密数据(步骤S306),并且将所复制的未加密数据转换成与数据在步骤S305中进行解密之前被加密的代码不同的加密数据(步骤S307)。此后,再加密单元13c将加密数据写到盘驱动器50上(步骤S308),并且确定加密是否已经完成至卷的末端(步骤S309)。作为确定的结果,如果加密没有完成至卷的末端(步骤S309中的否),则再加密单元13c将解密数据读取至代码缓冲器14a(步骤S304),并且重复该再加密处理。如果加密已经完成至卷的末端(步骤S309中的是),则再加密单元13c结束该处理。
参照图11对存储装置10执行的读/写控制处理进行说明。
如图11所示,当接收到主机I/O请求(步骤S401中的是)时,存储装置10中的读/写控制器13e确定主机I/O请求所请求的卷是否正被解密(步骤S402)。作为确定的结果,如果主机I/O请求所请求的卷没有正被解密(步骤S402中的否),则读/写控制器13e访问盘驱动器50(步骤S409),并且确定主机I/O请求所请求的数据是否是加密数据(步骤S410)。如果该数据不是加密数据(步骤S410中的否),则读/写控制器13e执行主机I/O请求所请求的处理(步骤S412)。另一方面,如果主机I/O请求所请求的数据是加密数据(步骤S410中的是),则读/写控制器13e执行解密处理(步骤S411),并随后执行主机I/O请求所请求的处理(步骤S412)。
如果主机I/O请求所请求的卷正被解密(步骤S402中的是),则读/写控制器13e确定主机I/O请求是否针对当前正被解密的区(步骤S403)。作为确定的结果,如果主机I/O请求针对当前正被解密的区(步骤S403中的是),则读/写控制器13e执行进行等待直到解密完成为止的独占处理(步骤S404),接着,确定主机I/O请求是否跨越处理进展区中的加密数据和未加密数据(步骤S405)。另一方面,如果主机I/O请求没有针对当前正被解密的区(步骤S403中的否),则在不执行独占处理的情况下,读/写控制器13e确定主机I/O请求是否跨越所请求的区中的加密数据和未加密数据(步骤S405)。
因此,如果主机I/O请求没有跨越所请求的区中的加密数据和未加密数据(步骤S405中的否),则读/写控制器13e访问盘驱动器50(步骤S409),并且确定主机I/O请求所请求的数据是否是加密数据(步骤S410)。作为确定的结果,如果该数据是加密数据(步骤S410中的是),则读/写控制器13e执行解密处理(步骤S411),并且还执行主机I/O请求所请求的处理(步骤S412)。另一方面,如果该数据不是加密数据(步骤S410中的否),则读/写控制器13e在不执行解密的情况下执行主机I/O请求所请求的处理(步骤S412)。
另一方面,如果主机I/O请求跨越所请求的区中的加密数据和未加密数据(步骤S405中的是),则读/写控制器13e划分加密数据和未加密数据,并且针对该加密数据和未加密数据中的每一个来访问盘驱动器(步骤S406)。随后,读/写控制器13e解密该加密数据(步骤S407),组合解密的数据和该未加密数据(步骤S408),并且执行主机I/O请求所请求的处理(步骤S412)。
如上所述,存储装置10将存储在盘驱动器50上的加密数据存储到存储装置10中的代码缓冲器14a中,将存储在盘驱动器50上的未加密数据存储到存储装置10中的加密缓冲器14b中,将所存储的未加密数据加密成预定加密数据,将所存储的加密数据解密成未加密数据,并且将解密出的未加密数据转换成与解密之前的代码不同的加密数据。因此,因为在存储装置10内部加密或解密数据,所以可以减少加密或解密数据所需的时间。
此外,根据第一实施例,使所存储的未加密数据冗余并将其转换成预定加密数据,接着将该加密数据写到盘驱动器50上。将所存储的加密数据解密成未加密数据,并且使解密的数据冗余,并将其写到盘驱动器50上。将所存储的加密数据解密成未加密数据,使解密的数据冗余并将其转换成不同的加密数据,并将该加密数据写到盘驱动器50上。因此,可以将未加密数据转换成加密数据,可以将加密数据转换成未加密数据,并且可以将加密数据转换成不同的加密数据。此外,因为使数据冗余,所以数据几乎不会丢失。
此外,根据第一实施例,监测对数据的加密和解密的处理进展,并且在加密和解密期间接收到用于请求盘驱动器以读取和写入数据的读/写请求时,基于与监测到的处理进展相对应的读/写请求来控制读取和写入。因此,可以基于与对数据进行加密和解密的处理进展相对应的读/写请求来控制读取和写入。
此外,根据第一实施例,当接收到用于请求读/写包括当前正被解密的数据在内的数据的读/写请求时,在等待解密完成之后,将请求读取的数据划分成加密数据和未加密数据,以读取相应的数据,对所读取的加密数据进行解密并且将其与该未加密数据进行组合,并且控制对该组合数据的读取。因此,将加密数据与未加密数据分离,并且不需要对加密数据进行解密。因此,可以减少读/写控制所需的时间。
此外,根据第一实施例,当接收到用于请求读/写包括当前正被解密的数据在内的数据的读/写请求时,对当前正被解密的数据进行解密并将其存储到加密缓冲器14b中,接着控制对加密缓冲器14b的读取。
此外,根据第一实施例,当接收到用于请求读/写包括当前正被解密的数据在内的数据的读/写请求时,对当前正被解密的数据进行解密并将其存储到加密缓冲器14b中,接着控制对加密缓冲器14b的读取。因此,不需要从盘驱动器50进行读取存储在加密缓冲器14b中的数据,从而可以减少读/写控制所需的时间。
在第一实施例中,对以下情况进行了说明:当主机I/O请求针对当前正被解密的区域时,执行用于等待解密完成的独占处理,并且随后执行与主机I/O请求相对应的处理。然而,本发明不限于此,可以在不等待解密完成的情况下,执行与主机I/O请求相对应的处理。
参照作为在不等待解密完成的情况下执行与主机I/O请求相对应的处理的示例的图12和13,对根据本发明第二实施例的存储装置10进行说明。图12是用于说明根据第二实施例的存储装置10执行的读/写控制处理的详细示意图,而图13是根据第二实施例的存储装置10执行的读/写控制处理的流程图。
如图12所示,当接收到主机I/O请求(接收到针对存储在图12中的存储器区500到600中的数据的主机I/O请求)时,与第一实施例相似,根据第二实施例的存储装置10将数据(已接收到对该数据的主机I/O请求)划分成未加密数据和加密数据(当前正被解密的数据和加密数据)。接着,根据第二实施例的存储装置10对该加密数据进行解密,并将解密的数据与该未加密数据进行组合。在将所有数据(已经接收到对该数据的主机I/O请求)转换成未加密数据之后,根据第二实施例的存储装置10执行与主机I/O请求相对应的处理。
参照图13对根据第二实施例的存储装置10执行的读/写控制处理进行说明。第二实施例中的读/写控制处理与图11所示的第一实施例中的读/写控制处理的不同之处在于没有执行独占处理。
换句话说,如图13所示,当接收到主机I/O请求(步骤S501中的是)时,根据第二实施例的存储装置10中的读/写控制器13e确定是否正在解密该主机I/O请求所请求的卷(步骤S502)。作为确定的结果,如果主机I/O请求所请求的卷正被解密(步骤S502中的是),则读/写控制器13e确定主机I/O请求是否跨越该处理进展状态下的加密数据和未加密数据(步骤S503)。
作为确定的结果,如果主机I/O请求跨越处理进展区中的加密数据和未加密数据(步骤S503中的是),则读/写控制器13e将数据划分成未加密数据、当前正被解密的数据以及加密数据,并且访问盘驱动器50,以读取相应的数据(步骤S504)。读/写控制器13e与第一实施例相似地对该加密数据进行解密(步骤S505),组合解密的数据与该未加密数据(步骤S506),并且执行主机I/O请求所请求的处理(步骤S510)。
如果主机I/O请求所请求的卷没有正被解密(步骤S502中的否),或者如果主机I/O请求没有跨越加密数据和未加密数据(步骤S503中的否),则与第一实施例相似,读/写控制器13e访问盘驱动器50(步骤S507),并且确定主机I/O请求所请求的数据是否是加密数据(步骤S508)。作为确定的结果,如果该数据是加密数据(步骤S508中的是),则读/写控制器13e执行解密处理(步骤S509),接着执行主机I/O请求所请求的处理(步骤S510)。另一方面,如果该数据不是加密数据(步骤S508中的否),则读/写控制器13e在不执行解密处理的情况下执行主机I/O请求所请求的处理(步骤S510)。
这样,在第二实施例中,当接收到用于读/写包括正被解密的数据在内的数据的读/写请求时,读/写控制器13e将请求读取的数据划分成未加密数据、当前正被解密的数据以及加密数据中的每一个。读/写控制器13e对所划分的当前正被解密的数据和加密数据中的每一个进行解密,并且将这些数据和该未加密数据进行组合,由此,控制对组合数据的读/写。结果,因为在不等待正被解密的数据的情况下将加密数据并行地解密成未加密数据,所以可以减少读/写控制所需的时间。
存储装置中的加密缓冲器可以由本地区域和镜像区域构成,该本地区域用于存储作为本地数据的未加密数据,而该镜像区域用于存储作为与存储在另一加密缓冲器中的本地数据相对应的镜像数据的未加密数据。
参照作为包括本地区域和镜像区域的加密缓冲器的示例的图14和15,对根据本发明第三实施例的存储装置10进行说明。图14是用于说明根据第三实施例的存储装置10的加密缓冲器的示意图,而图15是用于说明根据第三实施例的存储装置10中的CM中出现故障时的情况的流程图。
在根据第三实施例的存储装置10中,如图14所示,每一个CM中的加密缓冲器中都包括本地区域(本地)和镜像区域(镜像),该本地区域用于存储作为本地数据的未加密数据,而该镜像区域用于存储作为与存储在另一加密缓冲器中的本地数据相对应的镜像数据的未加密数据。根据第三实施例的存储装置10在CM的加密缓冲器中的本地区域写入本地数据,并且指示加密缓冲器在另一CM的另一加密缓冲器中的镜像区域中写入与该本地数据相对应的镜像数据,以复制未加密数据。具体地说,根据第三实施例的存储装置10中的CM0在加密缓冲器14b的本地区域中写入本地数据,并且指示在CM1中的加密缓冲器24b的镜像区域中写入与该本地数据相对应的镜像数据,以复制未加密数据。
如图15所示,存在以下的情况:在根据第三实施例的存储装置10中的CM中出现故障。在这种情况下,因为不能执行对具有故障的CM中的本地数据的处理,所以已经存储了与该本地数据相对应的镜像数据的CM(下文中,称为“镜像CM”)需要接管该处理。此外,因为具有故障的CM中的镜像数据已经丢失从而没有与本地数据相对应的镜像数据,所以需要再次复制数据。即,参照图15,当根据第三实施例的存储装置10中的CM1具有故障时,因为不能执行对存储在CM1中的加密缓冲器24b的本地区域中的本地数据的处理,所以作为CM1的镜像CM的CM2需要利用存储在加密缓冲器34b的镜像区域中的镜像数据来执行该处理。此外,当根据第三实施例的存储装置10中的CM1具有故障时,因为不存在与存储在CM0中的加密缓冲器14b的本地区域中的本地数据相对应的镜像数据,所以需要将该本地数据再次复制到CM2中的加密缓冲器34b的镜像区域中。
因此,当根据第三实施例的存储装置10中的CM中出现故障时,执行下面的处理。下文中,用于在出现故障时接管对本地数据的处理的处理或用于再复制数据的处理被称为恢复处理,而要恢复的数据被称为恢复目标。
下面,参照图16到21,对根据第三实施例的存储装置10执行的恢复处理进行说明。
如图16所示,CM0在本地区域中存储本地数据,而CM1在镜像区域中存储与该本地数据相对应的镜像数据。CM1在本地区域中存储本地数据,而CM2在镜像区域中存储与该本地数据相对应的镜像数据。CM2在本地区域中存储本地数据,而CM0在镜像区域中存储与该本地数据相对应的镜像数据。该存储装置包括管理所有CM的主控制器(未示出)。
根据这种结构,如果在根据第三实施例的存储装置10中的CM1中出现故障,如图17所示,则主控制器向CM0和CM2发送用于请求暂停(suspend)该处理的暂停通知。当CM0中的本地数据和CM2中的本地数据的处理进展信息是表示数据正被写回到盘驱动器50上的“状态=写入(phase=WRITE)”时,根据第三实施例的存储装置10将CM0中的本地数据和CM2中的本地数据连续写回到盘驱动器50上,并且在不暂停该处理的情况下继续该处理,直到处理进展信息被更新为止。假定图17所示的根据第三实施例的存储装置10已经完成了对CM2中的本地数据的写回,然而,CM0中的本地数据不能被写回并保持不变。
随后,如图18所示,因为在根据第三实施例的存储装置10中,存储有与存储在CM0的本地区域中的本地数据相对应的镜像数据的CM1中出现故障,所以CM0发出指令以在没有故障的CM2的镜像区域中写入与该本地数据相对应的镜像数据。然而,如果已经将CM1的镜像数据存储在CM2的镜像区域中,则使该本地数据到CM2的镜像区域中的复制进行等待。
具体地说,当根据第三实施例的存储装置10中的主控制器向CM0和CM2发出用于请求准备以继续该处理的降级(degrade)通知时,将没有被复制并且处理进展信息为“状态=写入”的CM0中的本地数据和CM2中的镜像数据指定为恢复目标。换句话说,根据第三实施例的存储装置10设定表示该数据为恢复目标的标志,并且设置表示需要恢复多少卷的计数器(例如,CM0的计数器为“3”而CM2的计数器为“2”)。当保存CM0的本地数据的再复制数据的CM2的标志被设定时,根据第三实施例的存储装置10暂停对CM0的再复制,因为存在破坏CM2的镜像数据的可能性。
如图19所示,当CM1中存在故障并且在CM2的镜像区域中存储有与存储在CM1中的本地数据相对应的镜像数据时,根据第三实施例的存储装置10将CM2中的镜像数据指定为恢复目标,并且CM2利用该镜像数据从CM1接管处理。
具体地说,在根据第三实施例的存储装置10中,主控制器向CM0和CM2发送用于请求继续该处理的继续通知。CM2从CM1接管对作为恢复目标的镜像数据的处理,而其它CM还照常继续处理。CM0独占地继续对要恢复的本地数据的处理,而不继续其它正常处理,因为不能使用CM2中的将要被重新复制的镜像数据。
如图20所示,当已经存储在CM2的镜像区域中的数据消失时,根据第三实施例的存储装置10向CM0发送表示在CM2的镜像区域中不存在数据的信息。当CM0接收到该信息时,根据第三实施例的存储装置10在CM2的镜像区域中写入CM0的本地数据。
具体地说,当已经完成对CM0中的本地数据和CM2中的镜像数据的恢复处理时,根据第三实施例的存储装置10清除CM0和CM2的标志,并且使它们的计数器递减。在根据第三实施例的存储装置10中,当CM2的计数器数变为零时,主控制器结束恢复处理并且向CM0发送表示CM2的镜像区域中不存在数据的恢复完成通知,以使CM0取消复制暂停状态,以继续正常的处理。
如图21所示,当具有故障的CM1被恢复时,根据第三实施例的存储装置10中的主控制器向CM0和CM2发送认证管理协议(CMP)-升级(upgrade)通知。这些CM中的每一个都继续正常的处理,从而将CM0中的本地数据复制到CM1的镜像区域中,而将CM1中的本地数据复制到CM2的镜像区域中。
接下来,参照图22对根据第三实施例的存储装置10执行的强制存储处理进行说明。
如图22所示,当存储有与存储在CM0的本地区域中的本地数据相对应的镜像数据的CM1中出现故障,并且在CM2中也出现了故障时,根据第三实施例的存储装置10在CM0、CM1以及CM2中强制地存储数据,并且强制地暂停与CM0、CM1以及CM2中的数据相关的处理。
参照图23到27对根据第三实施例的存储装置10执行的复原处理进行说明。
如图23所示,当CM0中出现故障时,根据第三实施例的存储装置10开始对CM1中的作为恢复目标的镜像数据的恢复处理。
随后,如图24所示,作为恢复处理,根据第三实施例的存储装置10中的CM1对CM2的镜像区域中的镜像数据(图23中由黑色三角表示的数据)进行再复制,将该镜像数据恢复到CM1的本地区域中,并且执行随后的处理。
当如图25所示复原CM0时,CM1向CM0发出指令以确保用于本地数据(图24中由白色三角表示的数据,该本地数据是最初要存储在CM0中的数据)的本地缓冲器,并且将存储在CM1的本地区域中的本地数据写入CM0的本地区域中。
如图26所示,当CM1将待存储在镜像区域中的镜像数据保存在自身的本地区域中时,因为与该本地数据(图25中由白色三角表示的数据)相对应的镜像数据需要被存储在CM1的镜像区域中,所以CM1将该镜像数据存储在镜像区域中。
此外,因为作为最初要被存储在CM0中的数据的本地数据(图26中由黑色圆表示的数据)需要被存储在CM0中,并且还作为镜像数据存储在CM1中,所以如图27所示,CM1指示CM0将存储在CM1的镜像区域中的镜像数据写入CM0的本地区域中,并且按照原样存储该镜像数据。
根据第三实施例的存储装置10中的加密缓冲器14b包括本地区域和镜像区域,该本地区域用于存储未加密数据作为本地数据,而该镜像区域用于存储与另一加密缓冲器14b存储的本地数据相对应的未加密数据作为镜像数据。加密缓冲器14b将本地数据写入本地区域中,并且指示将与该本地数据相对应的镜像数据写入另一加密缓冲器14b的镜像区域中。当另一加密缓冲器14b中出现故障,并且在所述加密缓冲器14b本身的镜像区域中存储有与存储在所述另一加密缓冲器14b中的本地数据相对应的镜像数据时,所述加密缓冲器14b将存储在镜像区域中的未加密数据加密成预定加密数据,并将该加密数据写到盘驱动器50上,而不是写入所述另一加密缓冲器14b中。当另一加密缓冲器14b中出现故障,并且在所述加密缓冲器14b本身的镜像区域中存储有与存储在所述另一加密缓冲器14b中的本地数据相对应的镜像数据时,所述加密缓冲器14b将加密数据写到盘驱动器50上,而不是写入所述另一加密缓冲器14b中。当另一加密缓冲器14b中出现故障,并且在所述加密缓冲器14b本身的镜像区域中存储有与存储在所述另一加密缓冲器14b中的本地数据相对应的镜像数据时,所述加密缓冲器14b将存储在镜像区域中的未加密数据转换成不同的加密数据,并将该加密数据写到盘驱动器50上,而不是写入所述另一加密缓冲器14b中。结果,即使在其它加密缓冲器14b存在故障时,也可以利用与另一加密缓冲器14b中的本地数据相对应的镜像数据来执行加密处理、解密处理以及再加密处理。
根据第三实施例,当存储有与存储在加密缓冲器14b本身的本地区域中的本地数据相对应的镜像数据的另一加密缓冲器14b中出现故障时,该加密缓冲器14b指示没有故障的另一加密缓冲器14b将与所述本地数据相对应的镜像数据写入上述另一加密缓冲器14b中。结果,即使在镜像缓冲器中存在故障时,也可以再复制未加密数据。
此外,根据第三实施例,当已经将数据存储在另一加密缓冲器14b的镜像区域中时,使未加密数据到所述另一加密缓冲器的镜像区域中的写入进行等待。结果,可以防止对已经存储在另一加密缓冲器14b的镜像区域中的数据的重写。
此外,根据第三实施例,当已经存储在另一加密缓冲器14b镜像区域中的数据消失时,存储装置发送表示该另一加密缓冲器14b的镜像区域中不存在数据的存储状态信息。当另一加密缓冲器14b接收到该存储状态信息时,该另一加密缓冲器14b将未加密数据写入上述另一加密缓冲器14b的镜像区域中。结果,当不存在已经存储在镜像区域中的任何数据时,可以再复制未加密数据。此外,根据第三实施例,当存储有与存储在其本身的本地区域中的本地数据相对应的镜像数据的加密缓冲器14b出现故障,并且另一加密缓冲器14b中也出现故障时,暂停与未加密数据相关的处理,同时保持存储在该加密缓冲器14b中的未加密数据。因此,可以强制保持所存储的数据,以使所存储的数据不会丢失。
此外,根据第三实施例,当存储有与存储在所述加密缓冲器14b本身的镜像区域中的镜像数据相对应的本地数据的另一加密缓冲器14b被复原时,所述加密缓冲器14b指示将存储在所述加密缓冲器14b本身的镜像区域中的镜像数据写入所述另一加密缓冲器14b的本地区域中。因此,可以使状态返回至故障出现之前的原始状态。
此外,根据第三实施例,当把要存储在镜像区域中的未加密数据保存在所述加密缓冲器14b本身的本地区域中时,将该未加密数据存储在镜像区域中。结果,可以通过省略不同模块之间的通信来提高处理速度。
虽然上面已经对本发明的第一到第三实施例进行了说明,但是本发明还可以包含上述实施例以外的各种不同实施例。下面,说明本发明的第四实施例,作为本发明所包含的其它实施例中的一个实施例。
附图中所示单元的各个构成组件是功能上的概念,并不总是需要在物理上的相同构成。换句话说,根据各种负载和使用状态,单元的分布和集成的具体模式不限于所示模式,而其全部或部分可以在功能上或在物理上分布或集成在可选单元中。例如,可以集成加密单元13a、解密单元13b以及再加密单元13c。每一个单元执行的各种处理功能的全部或可选部分可以通过中央处理单元(CPU)或由CPU分析和执行的程序来实现,或者可以通过布线逻辑实现为硬件。
上述实施例中说明的各种处理可以通过由计算机执行预先准备的程序来实现。参照图28对执行包括与上述实施例相同功能的程序的计算机的示例进行说明。图28表示执行加密程序的计算机。
如图28所示,经由总线650连接硬盘驱动器(HDD)610、随机存取存储器(RAM)620、只读存储器(ROM)630以及CPU 640来构成作为存储装置的计算机600。
如图28所示,在ROM 630中,存储装置表现出与上述实施例相同的功能,即,预先存储了加密程序631、解密程序632、再加密程序633、管理控制程序634以及读/写控制程序635。可以适当地组合或分布这些程序631到635,如图28所示的存储装置中的相应组件。
如图28所示,因为CPU 640从ROM 630读取这些程序631到635,以执行这些程序,所以程序631用作加密处理641,程序632用作解密处理642、程序633用作再加密处理643、程序634用作管理控制处理644,而程序635用作读/写控制处理645。处理641对应于加密单元13a,处理642对应于解密单元13b,处理643对应于再加密单元13c,处理644对应于管理控制器13d,而处理645对应于读/写控制器13e。
如图28所示,HDD 610中存储有用于对数据进行加密或解密的加密密钥(解密密钥)611。
根据本发明的一个方面,可以在存储装置中对数据进行加密或解密,而不需要将数据读出至存储装置的外部。因此,可以减少用于对数据进行加密和解密的时间。
根据本发明的另一方面,可以将未加密数据转换成加密数据,可以将加密数据转换成未加密数据,以及可以将加密数据转换成不同的加密数据。此外,可以防止因冗余而造成的数据丢失。
根据本发明的又一方面,可以根据对数据进行加密或解密的处理进展来执行基于读/写请求的读/写控制。
根据本发明的又一方面,将数据分成加密数据和未加密数据,从而可以减少执行读/写控制所需的时间,而不需要等待完成对已加密的数据的解密。
根据本发明的又一方面,并行地将加密数据解密成未加密数据,而不等待当前正被解密的数据。由此,可以减少用于执行读/写控制的时间。
根据本发明的又一方面,不需要从盘驱动器中读取存储在加密缓冲器中的数据。因此,可以减少用于执行读/写控制的时间。
根据本发明的又一方面,即使在另一加密缓冲器中出现故障,也可以利用与所述另一加密缓冲器的本地数据相对应的镜像数据继续进行加密、解密以及再加密。
根据本发明的又一方面,即使在镜像缓冲器中出现故障,也可以再复制未加密数据。
尽管为了完整和清楚的公开,针对特定实施例对本发明进行了说明,但是所附权利要求并不因而受限,而应被解释为涵盖落入在此阐述的基本教导内的本领域技术人员可以想到的全部修改和另选构造。
Claims (15)
1.一种代码转换装置,该代码转换装置包括在存储装置中,并且该代码转换装置对存储在所述存储装置中的盘驱动器中的数据进行加密和解密,所述存储装置管理所述数据,所述代码转换装置包括:
加密数据存储单元,该加密数据存储单元在所述存储装置中的代码缓冲器中存储存在于所述盘驱动器中的第一加密数据;
未加密数据存储单元,该未加密数据存储单元在所述存储装置中的加密缓冲器中存储存在于所述盘驱动器中的第一未加密数据;
加密单元,该加密单元将存在于所述加密缓冲器中的所述第一未加密数据加密成预定加密数据;
解密单元,该解密单元将存在于所述代码缓冲器中的所述第一加密数据解密成第二未加密数据;以及
再加密单元,该再加密单元将存在于所述代码缓冲器中的所述第一加密数据解密成第三未加密数据,并将该第三未加密数据加密成与所述第一加密数据不同的第二加密数据。
2.一种对存储在存储装置中的盘驱动器中的数据进行加密和解密的方法,所述存储装置管理所述数据,所述方法包括:
加密数据存储,其包括在所述存储装置中的代码缓冲器中存储存在于所述盘驱动器中的第一加密数据;
未加密数据存储,其包括在所述存储装置中的加密缓冲器中存储存在于所述盘驱动器中的第一未加密数据;
将存在于所述加密缓冲器中的所述第一未加密数据加密成预定加密数据;
将存在于所述代码缓冲器中的所述第一加密数据解密成第二未加密数据;以及
再加密,其包括将存在于所述代码缓冲器中的所述第一加密数据解密成第三未加密数据,并将该第三未加密数据加密成与所述第一加密数据不同的第二加密数据。
3.根据权利要求2所述的方法,其中
所述加密包括:复制所述加密缓冲器中的所述第一未加密数据,将所述第一未加密数据加密成所述预定加密数据,以及将所述预定加密数据写入至所述盘驱动器,
所述解密包括:将所述第一加密数据解密成第四未加密数据,复制所述代码缓冲器中的第四未加密数据,以及将第四未加密数据写入至所述盘驱动器,并且
所述再加密包括:将所述第一加密数据解密成第五未加密数据,复制所述代码缓冲器中的第五未加密数据,将第五未加密数据加密成与所述第一加密数据不同的第三加密数据,以及将第三加密数据写入至所述盘驱动器。
4.根据权利要求2所述的方法,所述方法还包括:
监测数据的处理进展,其包括监测数据是否为在所述加密、所述解密以及所述再加密中的任何一个处理中进行了加密和解密中的至少一个处理的数据;以及
读/写控制,其包括当在所述加密、所述解密以及所述再加密中的任何一个中对数据加密和解密时接收到用于请求所述盘驱动器读取和写入该数据的读/写请求时,基于该读/写请求,根据在所述监测中监测到的处理进展来控制对数据的读/写。
5.根据权利要求4所述的方法,其中,所述读/写控制包括:在接收到用于请求读取包括当前正被解密的数据的目标数据的读/写请求时,等待完成对所述数据的解密,在完成对所述数据的解密之后将所述目标数据分成第四加密数据和第六未加密数据,读取该第四加密数据和该第六未加密数据,将该第四加密数据解密成第七未加密数据,组合该第六未加密数据和该第七未加密数据,以及控制对该组合数据的读取。
6.根据权利要求4所述的方法,其中,所述读/写控制包括:在接收到用于请求读取包括当前正被解密的数据的目标数据的读/写请求时,将所述目标数据分成第八未加密数据、当前正被解密的第一数据以及第五加密数据,将该第一数据解密成第九未加密数据,并将第五加密数据解密成第十未加密数据,彼此组合该第八未加密数据到第十未加密数据,以及控制对该组合数据的读取。
7.根据权利要求4所述的方法,其中,所述读/写控制包括:在接收到用于请求读取包括当前正被解密的第一数据的目标数据的读/写请求时,控制在完成对该第一数据的解密并且将该第一数据存储在所述加密缓冲器中之后从所述加密缓冲器读取未加密数据。
8.根据权利要求2所述的方法,所述方法还包括:
将所述加密缓冲器划分成本地区域和镜像区域,该本地区域用于存储作为第一本地数据的未加密数据,而该镜像区域用于存储作为与存储在不同加密缓冲器中的第二本地数据相对应的第一镜像数据的未加密数据;以及
写入控制,其包括发出指令以将所述第一本地数据写入第一加密缓冲器中的本地区域中,而将与所述第一本地数据相对应的第二镜像数据写入第二加密缓冲器的镜像区域中,其中,
所述加密包括:当所述第一加密缓冲器中出现故障,并且与存储在所述第一加密缓冲器中的所述第一本地数据相对应的所述第二镜像数据被存储在所述第二加密缓冲器的所述镜像区域中时,将所述第二镜像数据解密成预定加密数据并将该预定加密数据写入至所述盘驱动器,
所述解密包括:当所述第一加密缓冲器中出现故障,并且与存储在所述第一加密缓冲器中的所述第一本地数据相对应的所述第二镜像数据被存储在所述第二加密缓冲器的所述镜像区域中时,将所述第二镜像数据写入至所述盘驱动器,并且
所述再加密包括:当所述第一加密缓冲器中出现故障,并且与存储在所述第一加密缓冲器中的所述第一本地数据相对应的所述第二镜像数据被存储在所述第二加密缓冲器的所述镜像区域中时,将所述第二镜像数据加密成不同的加密数据并将该不同的加密数据写入至所述盘驱动器。
9.根据权利要求8所述的方法,其中,所述写入控制包括:当存储有与存储在所述第一加密缓冲器的所述本地区域中的所述第一本地数据相对应的所述第二镜像数据的所述第二加密缓冲器中出现故障时,发出指令以将与所述第一本地数据相对应的所述第二镜像数据写入没有故障的第三加密缓冲器的镜像区域中。
10.根据权利要求9所述的方法,其中,所述写入控制包括:当已经将数据存储在所述第三加密缓冲器的所述镜像区域中时,将所述第二镜像数据写入第四加密缓冲器的镜像区域中。
11.根据权利要求10所述的方法,所述方法还包括:存储状态通知,其包括当先前存储在所述第二加密缓冲器的所述镜像区域中的数据不存在时,发送表示所述第二加密缓冲器的所述镜像区域中不存在数据的存储状态信息,其中,所述写入控制包括:在接收到在所述存储状态通知中发送的所述存储状态信息时,将所述第二镜像数据写入所述第二加密缓冲器的所述镜像区域中。
12.根据权利要求8所述的方法,所述方法还包括:暂停,其包括当存储有与存储在所述第一加密缓冲器的所述本地区域中的所述第一本地数据相对应的所述第二镜像数据的所述第二加密缓冲器中出现故障,并且所述第三加密缓冲器中出现故障时,将未加密数据保持在所述第二加密缓冲器中并且暂停对该未加密数据的处理。
13.根据权利要求8所述的方法,所述方法还包括:复原,其包括当存储有与存储在所述第一加密缓冲器的所述镜像区域中所述第一镜像数据相对应的所述第二本地数据的所述第三加密缓冲器被复原时,发出指令以将存储在所述第一加密缓冲器的所述镜像区域中的所述第一镜像数据写入所述第三加密缓冲器的所述本地区域中。
14.根据权利要求8所述的方法,其中,所述复原包括:当待存储在不同加密缓冲器的镜像区域中的未加密数据包括在自身加密缓冲器的所述本地区域中时,将该未加密数据存储在该镜像区域中。
15.一种存储装置,该存储装置包括:
盘驱动器,该盘驱动器存储数据,以及
代码转换装置,该代码转换装置对存储在所述盘驱动器中的数据进行加密和解密,其中,所述代码转换装置包括:
加密数据存储单元,该加密数据存储单元在所述存储装置中的代码缓冲器中存储存在于所述盘驱动器中的第一加密数据;
未加密数据存储单元,该未加密数据存储单元在所述存储装置中的加密缓冲器中存储存在于所述盘驱动器中的第一未加密数据;
加密单元,该加密单元将存在于所述加密缓冲器中的所述第一未加密数据加密成预定加密数据;
解密单元,该解密单元将存在于所述代码缓冲器中的所述第一加密数据解密成第二未加密数据;以及
再加密单元,该再加密单元将存在于所述代码缓冲器中的所述第一加密数据解密成第三未加密数据,并将该第三未加密数据加密成与所述第一加密数据不同的第二加密数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006-268011 | 2006-09-29 | ||
JP2006268011 | 2006-09-29 | ||
JP2006268011 | 2006-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101154195A true CN101154195A (zh) | 2008-04-02 |
CN101154195B CN101154195B (zh) | 2010-12-01 |
Family
ID=39255865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101038148A Expired - Fee Related CN101154195B (zh) | 2006-09-29 | 2007-05-16 | 代码转换装置、代码转换方法以及计算机产品 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080080706A1 (zh) |
KR (1) | KR100895570B1 (zh) |
CN (1) | CN101154195B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108475316A (zh) * | 2016-03-08 | 2018-08-31 | 惠普发展公司,有限责任合伙企业 | 使数据安全 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4843531B2 (ja) * | 2006-09-29 | 2011-12-21 | 富士通株式会社 | 暗号変換装置、暗号変換方法および暗号変換プログラム |
JP5539024B2 (ja) * | 2010-05-27 | 2014-07-02 | キヤノン株式会社 | データ暗号化装置およびその制御方法 |
US20180322768A1 (en) * | 2017-05-05 | 2018-11-08 | Lenovo (Singapore) Pte. Ltd. | Wearable Electronic Device Alerts |
EP4100858B1 (en) * | 2020-02-07 | 2023-08-23 | Telefonaktiebolaget LM ERICSSON (PUBL) | Storage provisioning |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805706A (en) * | 1996-04-17 | 1998-09-08 | Intel Corporation | Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format |
BR0212873A (pt) * | 2001-09-28 | 2004-09-14 | High Density Devices As | Método e dispositivo para criptografia, (cifração, embaralhamento) / descriptografia (decifração, desembaralhamento) de itens de dados transferidos para ou de uma mìdia de armazenamento em massa |
US20060053308A1 (en) * | 2004-09-08 | 2006-03-09 | Raidy 2 Go Ltd. | Secured redundant memory subsystem |
KR20060058546A (ko) * | 2004-11-25 | 2006-05-30 | 펜타시큐리티시스템 주식회사 | 데이터베이스 암호화 및 접근 제어 방법 및 장치 |
US8045714B2 (en) * | 2005-02-07 | 2011-10-25 | Microsoft Corporation | Systems and methods for managing multiple keys for file encryption and decryption |
US7925895B2 (en) * | 2005-02-22 | 2011-04-12 | Kyocera Mita Corporation | Data management apparatus, data management method, and storage medium |
US7730327B2 (en) * | 2005-09-09 | 2010-06-01 | Netapp, Inc. | Managing the encryption of data |
-
2007
- 2007-04-24 US US11/790,275 patent/US20080080706A1/en not_active Abandoned
- 2007-05-15 KR KR1020070047065A patent/KR100895570B1/ko active IP Right Grant
- 2007-05-16 CN CN2007101038148A patent/CN101154195B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108475316A (zh) * | 2016-03-08 | 2018-08-31 | 惠普发展公司,有限责任合伙企业 | 使数据安全 |
CN108475316B (zh) * | 2016-03-08 | 2022-07-26 | 惠普发展公司,有限责任合伙企业 | 使数据安全 |
US11586775B2 (en) | 2016-03-08 | 2023-02-21 | Hewlett-Packard Development Company, L.P. | Securing data |
Also Published As
Publication number | Publication date |
---|---|
KR20080030451A (ko) | 2008-04-04 |
KR100895570B1 (ko) | 2009-04-29 |
CN101154195B (zh) | 2010-12-01 |
US20080080706A1 (en) | 2008-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713328B2 (en) | Code conversion apparatus, code conversion method, and computer product | |
JP4829632B2 (ja) | データ暗号化装置、データ暗号化方法、データ暗号化プログラム、および記録媒体 | |
US8140864B2 (en) | Computer system, storage system, and data management method for updating encryption key | |
US7277941B2 (en) | System and method for providing encryption in a storage network by storing a secured encryption key with encrypted archive data in an archive storage device | |
CN1331056C (zh) | 集成系统中的数据访问方法和系统 | |
US8966288B2 (en) | System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services | |
CN102208001B (zh) | 硬件支持的虚拟化密码服务 | |
US20040172538A1 (en) | Information processing with data storage | |
WO2000057290A1 (fr) | Processeur d'informations | |
US20110276965A1 (en) | Information processing apparatus, information processing system, and encryption information management method | |
CN101154195B (zh) | 代码转换装置、代码转换方法以及计算机产品 | |
CN1734475B (zh) | 半导体集成电路和信息处理设备 | |
JP2001103045A (ja) | 暗号鍵バックアップ記憶装置 | |
US8332658B2 (en) | Computer system, management terminal, storage system and encryption management method | |
JP2007336446A (ja) | データ暗号化装置 | |
JPH04181282A (ja) | ファイルの暗号方式 | |
CN109711208B (zh) | Usb接口设备数据加密转换装置及其工作方法 | |
JPH10275115A (ja) | データ暗号化保存方法及びシステム装置 | |
JP2010219883A (ja) | 画像形成装置および画像形成方法 | |
JP4867935B2 (ja) | 暗号化データ記憶装置、暗号化データ管理方法、データ暗号化装置、及び暗号化データ管理制御プログラム | |
JP2004038476A (ja) | 暗号化装置及び暗号化システム | |
JP2005165735A (ja) | データ保護方法及びその装置 | |
JPH03278137A (ja) | 暗号化データ処理システム | |
JP2007097102A (ja) | 通信システム、情報処理装置、及びプログラム | |
JP2009075474A (ja) | 暗号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101201 |