CN101136979B - 数据转换单元、使用其的电子装置、以及数据转换方法 - Google Patents
数据转换单元、使用其的电子装置、以及数据转换方法 Download PDFInfo
- Publication number
- CN101136979B CN101136979B CN2007101471948A CN200710147194A CN101136979B CN 101136979 B CN101136979 B CN 101136979B CN 2007101471948 A CN2007101471948 A CN 2007101471948A CN 200710147194 A CN200710147194 A CN 200710147194A CN 101136979 B CN101136979 B CN 101136979B
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- electronic installation
- conversion unit
- selector
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (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
相关申请的交叉引用
本申请要 求2006年8月30日与2007年6月19日向日本知识产权局提交的日本专利申请第2006-233017号与2007-161528号的优先权,其内容通过引用融入本文。
技术领域
本公开涉及数据转换单元、数据转换方法、以及具有此类数据转换单元以改进数据处理的电子 装置。
背景技术
常规地,诸如复印机、打印机、传真机、或者具有复印/打印/传真功能的多功能装置等电子装置可以通过诸如并行接口或者串行接口等接口,与外部存储单元交换数据。该外部存储单元可以为例如非易失存储卡、硬盘单元、光记录介质等等。
当必须改进此类电子装置的性能、例如其数据安全能力时,添加编码/解码能力或者功能用来与外部存储单元交互数据。具体地,例如,通过替换电子装置的控制器板、通过安装用于编码/解码的软件程序、或者通过借助电子装置的扩展槽将数据编码/解码设备作为可选设备连接到电子装置,在电子装置中安装此类编码/解码功能。
但是,此类方法具有下述的某些缺点。
例如,如果在电子装置中安装软件程序以添加编码/解码功能,则电子装置的CPU(中央处理单元)可能需要分配其某些处理能力来处理此类添加的编码/解码功能。因此,CPU可能不能达到原先为该CPU设计的特定数据传送速度,并且作为结果,该电子装置可能无法以希望的处理速度处理数据。
如果在电子装置中原来安装有高性能CPU,此类CPU可以该希望的处理速度处理数据,即使在该电子装置中安装软件程序也如此。但是,如果不添加附加功能到该电子装置,此类CPU可能不能有效利用,由此减少电子装置的成本性能,这是因为此类高性能CPU为相对较昂贵的设备。
另外,虽然将可选设备(例如数据编码/解码设备)插入到电子装置的扩展槽中可以提高电子装置的性能,但是如果电子装置不具备可以用于容纳此类添加可选设备的足够数目的扩展槽,则可能不能将此类可选设备添加到电子装置。因此,依赖于电子装置的硬件配置,此类可选设备可能根本无法添加到电子装置。
发明内容
另外,虽然将可选设备(例如数据编码/解码设备)插入到电子装置的扩展槽中可以提高电子装置的性能,但是如果电子装置不具备可以用于容纳此类添加可选设备的足够数目的扩展槽,则可能不能将此类可选设备添加到电子装置。因此,依赖于电子装置的硬件配置,此类可选设备可能根本无法添加到电子装置。
本发明提供了一种数据转换装置,包括:第一输入/输出单元;第二输入/输出单元;编码器,用来编码数据;解码器,用来解码数据;随机数生成器,用来生成随机数数据;以及控制单元。控制单元选择第一设置功能、第二设置功能、以及第三设置功能。在第一设置功能中,控制单元对该数据转换单元进行设置以输入来自第一输入/输出单元的数据,由编码器编码该数据,并且从第二输入/输出单元输出编码数据。在第二设置功能中,控制单元对该数据转换单元进行设置以输入来自第一输入/输出单元的数据,用由随机数生成器生成的随机数数据替换该数据,并且从第二输入/输出单元输出该随机数数据。在第三设置功能中,控制单元对该数据转换单元进行设置以输入来自第二输入/输出单元的编码数据,由解码器解码该编码数据,并且从第一输入/输出单元输出解码的数据。控制单元根据设置到控制单元的设置状态,选择第一设置功能、第二设置功能、以及第三设置功能中的任何一种。
本发明还提供了一种电子装置,其包括上述数据转换装置。
本发明还提供了一种由包括第一输入/输出单元、第二输入/输出单元和控制单元的数据转换装置执行的数据转换方法,包括:由控制单元根据设置到该控制单元的设置状态,选择第一类处理、第二类处理、以及第三类处理中的任何一个;其中,在第一类处理中,编码从第一输入/输出单元输入的输入数据,并且从第二输入/输出单元输出编码数据;在第二类处理中,用预先生成的随机数数据替换从第一输入/输出单元输入的输入数据,并且从第二输入/输出单元输出该随机数数据;在第三类处理中,从第二输入/输出单元输入编码数据并且解码该编码数据,并且从第一输入/输出单元输出解码的数据。
从以下结合附图的详细描述,可以更全面地理解本公开,并且可以看出许多伴随的优点及其特征,其中:
图1为根据示例实施例的数据转换单元的方框图;
图2为根据示例实施例的数据转换单元的透视图;
图3为显示向图2的数据转换单元中的ASIC设置模式或参数的过程的流程图;
图4为显示当数据转换单元逐扇区编码数据时的数据流的示意图;
图5为显示当数据转换单元逐扇区解码数据时的数据流的示意图;
图6为根据另一示例实施例的数据转换单元的方框图;
图7为根据另一示例实施例的数据转换单元的方框图;
图8为根据另一示例实施例的数据转换单元的方框图;
图9为根据另一示例实施例的数据转换单元的方框图;
图10为根据另一示例实施例的数据转换单元的方框图;
图11为根据另一示例实施例的数据转换单元的方框图。
除非明确声明,否则不应该认为附图是按比例绘制的,其中在附图中相同或类似的附图标记表示相同或类似的组件,这些附图用来显示本公开的示例实施例,而不应该被理解为限制本公开的范围。
具体实施方式
现在描述本发明的示例实施例。应该注意:虽然可能在此处使用诸如第一、第二等术语来描述各种元件、组件、区域、层、和/或部分,但是应该理解此类元件、组件、区域、层、和/或部分不限于此,这是因此类术语是相对的,即,仅用来区分一个元件、组件、区域、层、或部分与另一个元件、组件、区域、层、或部分。由此,例如,以下讨论的第一元件、组件、区域、层、或部分可以被称为第二元件、组件、区域、层、或部分,而不会脱离本发明的教导。
另外,应该注意:此处使用的术语目的仅用来描述特定实施例,不是要限定本发明。由此,例如此处使用的单数形式“一”、“该”意欲也包括复数形式,除非上下文另有明确指示。另外,说明书中使用的术语“包括”指定存在所称的特征、整数、步骤、操作、元件、和/或组件,但是没有排除存在或者添加一或多个其他特征、整数、步骤、操作、元件、组件和/或其群组。
另外,虽然在描述附图中显示的示例实施例时为了简单采用了特定术语,但是本公开不限于如此选择的特定术语,并且应该理解每个特定元素包括以类似方式操作的所有技术等价物。
现在参照附图,具体参照图1与2描述根据示例实施例的数据转换单元。
图1为根据示例实施例的数据转换单元1的方框图,图2为数据转换单元1的透视图。
如图2所示,数据转换单元1包括(例如):板15、ASIC(专用集成电路)10、并行ATA(PATA)接头11、以及串行ATA(SATA)接头12。
ATA为高级技术附接的缩写,其为IDE(集成驱动电子器件)的标准,用 来连接硬驱动器到计算机系统,由美国国家标准协会(ANSI)设置。
并行ATA(PATA)接头11可以包括SCSI(小型计算机系统接口),串行ATA(SATA)接头12可以包括例如RS-232C(推荐标准232版本C)。
如图1所示,通过PATA电缆4与PATA接头11,将数据转换单元1连接到具有PATA接口的电子装置2。
电子装置2可以为(例如)复印机、打印机、传真机、或者具有复印/打印/传真功能的多功能装置。
通过未显示的SATA电缆以及SATA接头12,将数据转换单元1连接到具有SATA接口的外部存储单元。该外部存储单元为(例如)硬盘驱动器单元(HDD)、光盘单元等等。
上述连接配置使具有PATA接口的电子装置2能够与具有SATA接口的外部存储单元交换数据或者信息。
另外,数据转换单元1具有(例如)一或多个安全功能,例如用来编码要写入到外部存储单元的数据的编码功能,用来解码在外部存储单元中存储的编码数据的解码功能,用来通过在存储数据上覆盖随机数数据删除在外部存储单元中存储的数据的数据删除功能等等。
利用上述的数据转换单元1,可以容易地给予电子装置2以用来保护在外部存储单元中存储的数据的数据编码/解码功能以及用来通过在外部存储单元中存储的数据上覆盖随机数数据以删除在外部存储单元中存储的数据的数据删除功能。
如图1所示,PATA电缆4的一个端子连接到在数据转换单元1的板15上配备的PATA接头11,而PATA电缆4的另一个端子连接到电子装置2的PATA接口22。此类连接配置使数据转换单元1与电子装置2能够以并行方式相互交换数据。
如图1所示,SATA电缆5的一个端子连接到数据转换单元1的SATA接头12,而SATA电缆5的另一个端子连接到具有未显示的SATA接口的硬盘驱动器单元3(SATAHDD3)。此类连接配置使数据转换单元1与SATAHDD3能够相互串行地交换数据。此后,将具有串行接口的硬盘驱动器单元3称为SATAHDD3。
相应地,利用插入其间的数据转换单元1,将具有不同接口的电子装置2与SATAHDD3相互耦合。换言之,数据转换单元1用来使具有不同接口的电 子装置2与SATAHDD3之间能够进行数据传输。
如图1所示,ASIC10例如可包括PATA设备接口(I/F)30、编码/解码单元31、随机数生成器32、第一选择器33、第二选择器34、SATA主机接口(I/F)35、以及寄存器36。
PATA设备I/F30用于与电子装置2的并行数据输入或输出。PATA设备I/F30称为“第一输入/输出单元”。
编码/解码单元31可以包括:编码器,用来编码通过PATA设备I/F30输入的数据;以及解码器,用来解码通过SATA主机I/F35输入的编码数据。此类编码/解码单元31例如可以使用诸如AES(高级加密标准)、DES(数据加密标准)等编码/解码算法。
应该注意,具有上述数据编码/解码功能的此类ASIC10例如仅编码和/或解码数据,并不转换命令或者指令。
随机数生成器32生成随机数数据,其例如用来替换通过PATA设备I/F30输入的数据。
根据寄存器36的设置,第一选择器33从PATA设备I/F30或编码/解码单元31接收数据,并且选择性输出此类数据到第二选择器34。
另外,第一选择器33从第二选择器34接收数据,并且选择性输出数据到PATA设备I/F30或编码/解码单元31。
第二选择器34接收来自第一选择器33的从第一选择器33输出而没有任何数据处理的数据,或者来自第一选择器33的用从随机数生成器32输出的随机数处理过的数据。根据寄存器36的设置,第二选择器34选择性输出此类数据到SATA主机I/F35。
另外,第二选择器34接收来自SATA主机I/F35的数据,并且输出数据到第一选择器33。
SATA主机I/F35与SATAHDD3串行地输入和输出数据。SATAHDD3称为“第二输入/输入单元”。
寄存器36用来对编码/解码单元31或随机数生成器32设置模式或者参数,并且根据从电子装置2的寄存器接口(IF)21传送来的对模式与参数的设置,设置第一选择器33与第二选择器34的数据路径选择的模式,
寄存器36用来设置以下中的任何一种:第一设置功能、第二设置功能、以及第三设置功能。
第一设置功能用来设置以下状态:从电子装置2输入数据到PATA设备I/F30,利用编码/解码单元31编码该数据,并且通过SATA主机I/F35输出数据到SATAHDD3。
第二设置功能用来设置以下状态:从电子装置2输入数据到PATA设备I/F30,利用随机数生成器32生成的随机数数据替换该数据,并且通过SATA主机I/F35输出随机数数据到SATAHDD3。
第三设置功能用来设置以下状态:通过SATA主机I/F35从SATAHDD3输入编码数据,利用编码/解码单元31解码该数据,并且通过PATA设备I/F30输出解码的数据到电子装置2。
寄存器36用来根据从电子装置2设置到寄存器36的设置,选择以下中的任何一种:第一设置功能、第二设置功能、以及第三设置功能。
虽然通过寄存器IF21(其为与PATA设备I/F30不同的接口)将寄存器36连接到电子装置2,但是通过利用对于PATA与SATA的扩展命令,借助PATA设备I/F30从电子装置2访问寄存器36,在这种情况下,不使用寄存器IF21。
电子装置2连接到多个客户端计算机,并且例如用从客户端计算机传送来的指令操作。
此类电子装置2具有多个应用功能,例如图像处理、图像产生、数据传送等等。
此类电子装置2可以为成像装置,例如复印机、打印机、传真机、或者具有复印/打印/传真功能的多功能装置。电子装置2可以具有用来实现此类应用功能的设备(例如存储器、硬驱动器)。另外,电子装置2可以为个人计算机。
电子装置2可以包括主机控制器20、寄存器IF21、以及PATA接口22,如图1所示。主机控制器20可以包括用来控制电子装置2的微机。
电子装置2从主机控制器20输出读取命令到数据转换单元1,以通过数据转换单元1读出和获得在外部存储单元中存储的数据。
另外,电子装置2输出写入命令以及要写入的数据到数据转换单元1,以通过数据转换单元1向外部存储单元写入数据。在此类写入处理期间,寄存器IF21输出用来向数据转换单元1中的寄存器36设置模式与参数的信息。
现在描述激活数据转换单元1与电子装置2。
首先,通过将数据转换单元1连接到电子装置2与SATAHDD3,将数据转换单元1与SATAHDD3相互耦合。
在对电子装置2与SATAHDD3加电之后,电子装置2的主机控制器20识别数据转换单元1的ASIC10为HDD(硬盘驱动器)等等,并且配置或者初始化数据转换单元1为HDD。
如上所述,主机控制器20配置或者初始化PATA设备I/F30与SATAHDD3。主机控制器20还用来整体控制电子装置2。
直到完成了PATA设备I/F30的配置或者初始化,数据转换单元1中的编码/解码单元31、随机数生成器32、以及SATA主机I/F35处于非激活状态。
另外,电子装置2的寄存器IF21向数据转换单元1中的寄存器36设置模式与参数条件。具体地,寄存器36用来向编码/解码单元31设置模式与参数条件,设置第一选择器33与第二选择器34的数据路径选择模式,以及设置随机数生成器32的模式与参数条件。
如上所述,主机控制器2配置或者初始化SATA主机I/F35与SATAHDD3。
当对数据转换单元1中的寄存器36设置模式与参数时,根据设置到寄存器36的模式与参数,对数据转换单元1中的每个单元设置模式与参数。
图3为显示向图2中的数据转换单元1的ASIC10设置模式或参数条件的过程的流程图。
为了便于解释,在以下描述中,使用CPU(中央处理单元)来控制处理以及进行判定。
在步骤S1,CPU确定是否对寄存器36设置了利用随机数数据的删除模式。
如果CPU确定没有对寄存器36设置删除模式(步骤S1上的“否”),则在步骤S2,CPU确定是否对寄存器36设置了编码模式/解码模式。
如果在步骤S2CPU确定对寄存器36设置了编码模式或解码模式(步骤S1上的“是”),则在步骤S3,CPU向第一选择器33设置编码模式或解码模式。
在步骤S3,如下执行编码模式:由编码/解码单元31编码从电子装置2输入到PATA设备I/F30的数据,并且通过选择此类数据传送的数据路径,借助SATA主机I/F35,将此类编码的数据输出到SATAHDD3。此类编码处理对应于上述第一设置功能,其可以由寄存器36设置。
在步骤S3,如下执行解码模式:由编码/解码单元31解码从SATAHDD3输入到SATA主机I/F35的编码数据,并且通过选择此类数据传送的数据路径,借助PATA设备I/F30,将此类解码的数据输出到电子装置2。此类解码处理对应于上述第三设置功能,其可以由寄存器36设置。
在步骤S4,根据设置到第二选择器34的模式,CPU向随机数生成器32与第二选择器34设置非随机数写入模式。
如果设置了非随机数写入模式,则随机数生成器32不生成随机数数据,并且第二选择器34将从第一选择器33输入的数据原样输出到SATA主机I/F35。“原样”指数据从第二选择器34输出到SATA主机I/F35,而没有对从第一选择器33输入的数据的编码/解码处理。此后“原样”用来指示数据不经过特定处理,例如编码/解码处理。
在步骤S5,根据设置到寄存器36的参数,CPU向编码/解码单元31设置操作模式。
此类操作模式为某种编码或解码方法。例如,在ECB(电子代码块)模式下,将数据划分为块,并且每个块用秘密秘钥分别编码或者解码。
在CBC(密码块链接)模式下,在用秘密秘钥编码之前,将一块与先前已编码块异或。因为第一块没有先前块,所以将第一块与初始化向量异或。
在步骤S6,CPU设置编码/解码单元31用于编码或解码的秘密秘钥的秘钥长度。该秘钥长度为基于设置到寄存器36的参数的特定长度,例如128比特、192比特、或者256比特。
在步骤S7,基于设置到寄存器36的参数,CPU向编码/解码单元31设置秘密秘钥的值。
在步骤S8,CPU向编码/解码单元31设置初始化向量。当基于设置到寄存器36的参数、在编码/解码单元31中以CBC模式执行编码或解码时,执行步骤S8。
如果CPU确定向寄存器36设置了删除模式(步骤S1上的“是”),则在步骤S9,CPU向第一选择器33设置通过模式。
在通过模式下,根据设置到寄存器36的参数,将从电子装置2输入到PATA设备I/F30的数据原样输出到第二选择器34。
在步骤S10,CPU向随机数生成器32与第二选择器34设置随机数写入模式。
如果设置了随机数写入模式,则根据设置到寄存器36的参数,随机数生成器32生成随机数数据,并且将此类随机数数据输出到第二选择器34,并且第二选择器34输出随机数数据到SATA主机I/F35,其中来自第一选择器33的数据由从随机数生成器32输出的随机数数据替换,并且将随机数数据输出到SATA主机I/F35。
在步骤S11,CPU设置初始化向量的值,当随机数生成器32生成随机数数据时,随机数生成器32使用该初始化向量值。
另外,如果在步骤S2CPU确定没有设置编码模式或者解码模式(步骤S2上的“否”),则在步骤S12,根据设置到寄存器36的模式,CPU向第一选择器33设置通过模式。
在通过模式下,通过选择数据路径,将从电子装置2输入到PATA设备I/F30的数据原样输出到第二选择器34。
在步骤S13,根据设置到寄存器36的模式,CPU向随机数生成器32与第二选择器34设置非随机数写入模式。
如果设置了非随机数写入模式,则随机数生成器32不生成随机数数据,并且第二选择器34将从第一选择器33输入的数据原样输出到SATA主机I/F35。
利用该过程,完成数据转换单元1的初始化。
现在描述对要从电子装置2通过数据转换单元1写入SATAHDD3的数据的编码处理。
在初始化数据转换单元1的PATA设备I/F30之后,通过寄存器IF21,电子装置2向数据转换单元1的寄存器36设置模式或者参数信息。该模式或者参数信息包括(例如)编码模式、编码模式的类型(例如CBC模式、ECB模式)、编码的密钥长度(或加密密钥长度)的参数、秘密密钥(或加密密钥)的参数、以及初始化向量的参数。
根据设置到寄存器36的模式或者参数,数据转换单元1向第一选择器33设置编码模式,向随机数生成器32与第二选择器34设置非随机数写入模式,并且向编码/解码单元31设置编码模式的类型(例如CBC模式、ECB模式)、编码的密钥长度、以及编码的秘密密钥。如果编码模式的类型为CBC模式,则数据转换单元1设置编码/解码单元31的初始化向量。
在此类设置之后,电子装置2的主机控制器20输出数据到数据转换单元 1的PATA设备I/F30。
编码/解码单元31编码此类数据,并且通过第一选择器33与第二选择器34输出编码数据到SATA主机I/F35。SATA主机I/F35输出此类编码的数据到SATAHDD3,由此将编码的数据写入到SATAHDD3。
由此,如上所述,数据转换单元1可以有效地容易地向电子装置2提供数据编码功能。
现在描述由电子装置2借助数据转换单元1对在SATAHDD3中存储的编码数据的数据解码与数据读出数据。
在初始化数据转换单元1的PATA设备I/F30之后,通过寄存器IF21,电子装置2向数据转换单元1的寄存器36设置模式或者参数信息。该模式或者参数信息可以包括解码模式、编码模式的类型(例如CBC模式、ECB模式)、编码的密钥长度(或加密密钥长度)的参数、秘密密钥(或加密密钥)的参数、以及初始化向量的参数。
根据设置到寄存器36的模式或者参数,数据转换单元1向第一选择器33设置解码模式,向随机数生成器32与第二选择器34设置非随机数写入模式,并且向编码/解码单元31设置编码模式的类型(例如CBC模式、ECB模式)、编码的密钥长度、以及编码的秘密密钥。如果编码模式的类型为CBC模式,则数据转换单元1设置编码/解码单元31的初始化向量。
在此类设置之后,电子装置2的主机控制器20发出从SATAHDD3读取编码数据的读取命令。
当此类编码数据通过SATA主机I/F35输出到数据转换单元1时,第二选择器34将此类编码数据原样输出到第一选择器33。第一选择器33也将此类编码数据原样输出到编码/解码单元31。
编码/解码单元31解码此类数据,并且通过PATA设备I/F30输出解码的数据到电子装置2。
由此,如上所述,数据转换单元1可以有效地容易地向电子装置2提供对于编码数据的数据解码功能。
现在描述在没有编码或解码数据的情况下执行的、在电子装置2与SATAHDD3之间的数据写入处理与数据读出处理。
在数据写入处理中,在初始化数据转换单元1的PATA设备I/F30之后,通过寄存器IF21,电子装置2向数据转换单元1的寄存器36设置模式或者 参数信息。该模式或者参数信息可以包括通过模式以及非随机数写入模式。
根据设置到寄存器36的模式与参数,数据转换单元1向第一选择器33设置通过模式,并且向随机数生成器32与第二选择器34设置非随机数写入模式。
在此类设置之后,电子装置2的主机控制器20输出数据到数据转换单元1的PATA设备I/F30。
此类数据通过第一选择器33与第二选择器34输出到SATA主机I/F35,并且此类数据从SATA主机I/F35输出到SATAHDD3,由此将数据原样写入SATAHDD3中。
在数据读出处理中,电子装置2的主机控制器20发出读取命令,以从SATAHDD3读取编码数据。
当此类编码数据通过SATA主机I/F35输出到数据转换单元1时,第二选择器34将此类数据原样输出到第一选择器33,并且第一选择器33将此类数据原样输出到PATA设备I/F30。相应地,从SATAHDD3读出的此类数据通过PATA设备I/F30原样输出到电子装置2。
现在描述通过覆盖随机数数据的对在SATAHDD3中存储的数据的数据删除处理。
在初始化数据转换单元1的PATA设备I/F30之后,通过寄存器IF21,电子装置2向数据转换单元1的寄存器36设置模式或者参数信息。该模式或者参数信息可以包括通过模式、随机数写入模式、以及用来生成随机数数据的初始化向量的参数。
根据设置到寄存器36的模式与参数,数据转换单元1向第一选择器33设置通过模式,向随机数生成器32与第二选择器34设置随机数写入模式,并且向随机数生成器32设置初始化向量的参数。
在此类设置之后,电子装置2的主机控制器20输出数据到数据转换单元1的PATA设备I/F30。然后,通过第一选择器33将此类数据输出到第二选择器34。
因为第二选择器34接收由随机数生成器32生成的随机数数据,第二选择器34用从随机数生成器32接收的随机数数据替换从第一选择器33输入的数据,并且将此类随机数数据输出到SATA主机I/F35。
此类随机数数据从SATA主机I/F35输出到SATAHDD3,由此用随机数 数据覆盖SATAHDD3中的数据,以删除SATAHDD3中的数据。
由此,如上所述,数据转换单元1可以有效地容易地向电子装置2提供利用随机数数据的数据删除功能。
应该注意:当从SATAHDD3读出数据时,此类数据可以不同于上述的方式读取。例如,待读出数据的开始位置与长度可能会依据情况变化。例如,在一种情况中需要读取整个文件,而在另一种情况中仅需要读出文件的一部分。
相应地,如果将单个文件作为整体编码,则当根据编码模式的类型解码该文件中数据时可能会不方便。
例如,如果需要读出一个文件中的数据X,则可能需要解码数据X之前的数据。如果数据X在文件的后部分,则此类情况可能会增加解码时间,这对用户是不方便的。
此类不方便情况可以通过编码/解码预先设置的离散数据单元中的数据来补救。
例如,对于要记录到外部存储单元的数据,可以设置最小记录长度。然后,可以作为一个数据单元编码/解码此类最小记录长度。例如,外部存储单元可以被划分为用于编码/解码处理的最小记录长度的扇区。例如,硬盘单元可能具有512字节的扇区作为最小记录长度。
此类最小记录长度称为单个处理中处理的“最小数据量”。
图4显示逐扇区基础上进行的数据编码处理。
如图4所示,电子装置2逐扇区地向PATA设备I/F30传送数据50,即第一扇区、第二扇区、第三扇区等等。编码/解码单元31具有编码器31a,其逐扇区地编码数据,并且通过SATA主机I/F35逐扇区地将编码数据51写到SATAHDD3,即第一扇区、第二扇区、第三扇区等等。
图5显示逐扇区地解码编码数据的处理。
如图5所示,逐扇区(即第一扇区、第二扇区、第三扇区等等)地从SATAHDD3读出的编码数据51输入到SATA主机I/F35。编码/解码单元31具有解码器31b,其逐扇区地解码数据,并且通过PATA设备I/F30逐扇区地将解码数据50传送到电子装置2,即第一扇区、第二扇区、第三扇区等等。
利用此类解码处理,可以更迅速地解码要读出的目标数据。
另外,当读出编码数据时,可以从给定位置读出该给定位置上的给定数 据,而不用从第一顶部数据开始读出整个文件,从而使之能够减少数据读出的时间,并且允许更高效地执行数据读出处理。
另外,当读出编码数据时,可以从给定位置读出一个文件中的所希望量的数据。
在以上描述中,数据转换单元1具有PATA接口作为用于电子装置2的连接接口,以及SATA接口作为用于SATAHDD3(或者外部存储单元)的连接接口。
但是,可替换地,如图6所示,如果数据转换单元6具有PATA接头11与PATA接头13,并且ASIC40具有PATA设备I/F30与PATA主机I/F37,则通过在电子装置2与PATAHDD7之间插入数据转换单元6,可以将电子装置2耦合于具有PATA接口的PATAHDD7(或者外部存储单元)。
此类配置可以类似地用于向电子装置2提供上述功能。
另外,如图7所示,如果数据转换单元8具有SATA接头14与PATA接头13,并且ASIC41具有SATA设备I/F38与PATA主机I/F37,则通过在电子装置2与PATAHDD7之间插入数据转换单元8,可以将电子装置2耦合于具有PATA接口的PATAHDD7(或者外部存储单元)。
此类配置可以类似地用于向电子装置2提供上述功能。
另外,如图8所示,如果数据转换单元9具有SATA接头14与SATA接头12,并且ASIC42具有SATA设备I/F38与SATA主机I/F35,则通过在电子装置2与SATAHDD3之间插入数据转换单元9,可以将电子装置2耦合于具有SATA接口的SATAHDD3。
此类配置可以类似地用于向电子装置2提供上述功能。
在以上描述中,外部存储单元为HDD。但是,外部存储单元为任何类型,例如用于软盘、MO(磁光盘)、以及光盘(例如CD(密致盘)与DVD(数字多功能盘))的数据写入/读取单元。
另外,外部存储单元为存储卡接口,用于对诸如SD(安全数字)卡等非易失存储卡的数据写入/读取。
图9为另一数据转换单元70的方框图。数据转换单元70具有与图1所示的数据转换单元1以及图6到图8所示的其他数据转换单元类似的配置,其由类似的附图标记指示。
数据转换单元70包括ASIC44,其具有存储卡接口39,以连接到存储卡 60(例如SD卡),由此在电子装置2与存储卡60之间传送数据。在数据转换单元70中,此类存储卡接口39与存储卡60被用做外部存储单元以及外部存储器。
与先前描述的配置中一样,电子装置2与存储卡60可以执行特定类型的数据处理,例如数据转换或数据编码/解码。
虽然图9所示的电子装置2具有PATA设备IF,但是可以根据需要为电子装置2配备SATA设备IF。
如上所述,根据示例实施例的数据转换单元可以插入具有给定接口(例如并行ATA接口或者串行ATA接口)的电子装置与外部存储单元之间。另外,根据示例实施例的数据转换单元可以插入电子装置与非易失存储卡之间。
此类配置可以容易地容纳所添加的安全功能,而不需要电子装置的附加的扩展槽,由此使现有的此类扩展槽可以用于连接某些其他可选设备。
另外,此类配置可以利用硬件配置提供安全功能,其对电子设备的CPU没有添加过重的额外负担。
另外,此类配置可以提供并行ATA接口与串行ATA接口之间的数据转换功能、并行ATA接口与存储卡接口之间的数据转换功能、以及串行ATA接口与存储卡接口之间的数据转换功能,由此使之可以扩展可以用于电子装置的外部存储单元或者存储卡的类型范围。
另外,因为此类配置可以编码或者解码具有最小记录长度的数据,所以可以减少在随机读出处理期间用于解码编码数据的开销。
另外,诸如成像装置等具有上述ASIC的电子装置可以通过编码数据,向存储介质(例如硬盘、光盘、存储卡等等)存储数据或者信息,例如图像数据、通信数据、保密数据等等,而不会减少电子装置的处理效率。
另外,具有上述ASIC的电子装置可以通过用随机数数据覆盖数据来删除数据,由此可以提高数据安全性。
另外,因为可以容易地将上述ASIC与用于此类ASIC的相关软件程序添加到电子装置,所以用户当前所用的电子装置可以容易地提高其安全功能。换言之,用户可以获得功能得到改进的电子装置,而不用替换整个电子装置。
另外,诸如成像装置等具有上述ASIC的电子装置可以通过编码数据,向可去除存储介质(例如DVD、CD等等)存储信息,例如图像数据、通信数据、保密数据,而不会减少电子装置的处理效率。
另外,根据需要,可以将上述数据转换单元安装在外部存储单元中。
根据示例实施例的数据转换单元可以进一步包括数据重传功能。当在电子装置与外部存储单元或者存储卡之间的数据传送期间发生数据传送错误时,使用此类数据重传功能。
利用此类数据重传功能,即使发生了数据传送错误,电子装置与外部存储单元(或者存储卡)也不需要重新传送数据。
利用此类数据重传功能,数据转换单元可以临时存储在电子装置与外部存储单元或者存储卡之间传送的数据,并且当发生数据传送错误时,重新传送数据。
另外,此类数据转换单元可以具有重试功能,其可以重复此类数据重传给定的次数或者直至满足给定条件。
现在参照图10描述具有上述数据重传功能的数据转换单元。
图10显示具有上述数据重传功能的数据转换单元71的方框图。与图1的数据转换单元1中的类似或者相同的数据转换单元71的构成组件以类似或者相同的附图标记表示,并且省略其冗余描述。
数据转换单元71包括ASIC44,其具有添加到图1所示的数据转换单元1的配置的第三选择器80、第四选择器81、第五选择器82、命令处理电路83、第六选择器84、第一缓冲存储器85、以及第二缓冲存储器86。
数据转换单元71中的第一选择器33接收来自以下中的任何一个的数据:第一缓冲存储器85、第二缓冲存储器86、以及命令处理电路83。
根据寄存器36的设置,第一选择器33选择性地输出从第一缓冲存储器85、第二缓冲存储器86、或者命令处理电路83输入的数据到第二选择器34。
另外,第一选择器33选择性地输出从第二选择器34输入到第一选择器33的数据到第一缓冲存储器85或者第二缓冲存储器86。
除数据转换单元1或70中的上述功能之外,数据转换单元71中的寄存器36还用来选择以及切换数据路径到第三选择器80、第四选择器81、第五选择器82、以及第六选择器84。
第三选择器80用来根据寄存器36的设置,选择性地输出从PATA设备I/F30、第四选择器81、或者命令处理电路83输入的数据。
第四选择器81用来根据寄存器36的设置,选择性地输出从第三选择器80、第五选择器82、或者编码/解码单元31输入的数据。
第五82用来根据寄存器36的设置,选择性地输出从第四选择器81、编码/解码单元31、或者第六选择器84输入的数据。
命令处理电路83根据从电子装置2接收的命令指令,准备命令,并且将所准备的命令输入到SATAHDD3。
第六选择器84用来根据寄存器36的设置,选择性地输出从第五选择器82输入的数据到第一缓冲存储器85或者第二缓冲存储器86。
另外,第六选择器84用来输出从第一缓冲存储器85或者第二缓冲存储器86输入的数据到第五选择器82。
第一缓冲存储器85与第二缓冲存储器86具有给定的存储容量,以存储给定的数据量,例如128个扇区的数据,并且临时存储在电子装置2与SATAHDD3之间传送的数据。如图10所示,数据转换单元71可以包括例如多个缓冲存储器。
另外,当电子装置2从SATAHDD3读出数据或者向SATAHDD3写入数据时,寄存器IF21输出第一选择器33、第三选择器80、第四选择器81、第五选择器82、以及第六选择器84的模式或者参数条件到数据转换单元71中的寄存器36。
现在描述由数据转换单元71执行的数据读出操作。
在以下描述中,“N”表示用于诸如数据读取与数据写入等数据处理的SATAHDD3中的扇区数目。因为此类扇区数目“N”匹配对SATAHDD3读出或写入的数据总量,所以“N”也可以表示要读出或写入SATAHDD3的数据量。
在以下阶段a1到a6中,描述从SATAHADD3读取129个扇区与256个扇区之间的给定数据量(即,N>128)的操作。
“阶段a1”
当电子装置2的主机控制器20向数据转换单元71发出(或者输出)用于读取在SATAHDD3中存储的、对于129个扇区与256个扇区之间(即,N>128)的数据的读取命令时,此类读取命令由数据转换单元71的PATA设备I/F30接收,并且通过第三选择器80被进一步传送到命令处理电路83。
“阶段a2”
命令处理电路83准备对于N个扇区(N>128)中头128个扇区的第一读取命令,并且通过第一选择器33与第二选择器34,向SATA主机I/F35发出(或者输出)第一读取命令。
因为可以在单个传送中从SATAHDD3向电子装置2传送的最大数据量为128个扇区,所以需要划分数据以从SATAHDD3向电子装置2传送总体数据量(即N>128)。
第一读取命令用来读取N个扇区(即N>128)中头128个扇区的数据。
当SATA主机I/F35收到来自命令处理电路83的此类第一读取命令时,SATA主机I/F35向SATAHDD3发出此类第一读取命令。
如果无法发出此类第一读取命令,则SATA主机I/F35重新传送此类第一读取命令给定的次数。此类给定的重试次数预先设置。
“阶段a3”
当SATAHDD3收到来自数据转换单元71的对于头128个扇区的第一读取命令时,SATAHDD3读出第一目标数据,并且将第一目标数据传送给数据转换单元71。第一目标数据为第一读取命令请求的数据。
当数据转换单元71通过SATA主机I/F35、收到来自SATAHDD3的、第一读取命令请求的第一目标数据(即头128个扇区的数据)时,第一选择器33选择到第一缓冲存储器85的路径,并且通过第二选择器34与第一选择器33,在第一缓冲存储器85中存储第一目标数据。
如果来自SATAHDD3的此类数据传送失败并且无法正确传送数据,则数据转换单元71重复从阶段a2开始的过程给定的次数,以接收来自SATAHDD3的第一目标数据,其中此类给定重试次数预先设置。
“阶段a4”
当数据转换单元71将头128个扇区的第一目标数据存储在第一缓冲存储器85中时,命令处理电路83准备第二读取命令,并且通过第一选择器33与第二选择器34,向SATA主机I/F35发出第二读取命令。
因为如上所述、要从SATAHDD3传送到电子装置2的数据总量超过128个扇区,所以还剩余有无法用第一读取命令传送的数据需要传送给电子装置2。
因此,第二读取命令用来从SATAHDD3读取此类剩余数据。剩余数据量表示为“剩余数据量=N-128”,这是因为已经从SATAHDD3传送了头128个扇区数据。
当SATA主机I/F35收到来自命令处理电路83的第二读取命令时,SATA主机I/F35向SATAHDD3发出第二读取命令。
如果无法发出此类第二读取命令,则SATA主机I/F35重新传送第二读取命令给定的次数,其中此类给定重试次数预先设置。
“阶段a5”
当SATAHDD3收到来自数据转换单元71的对于“N-128”的剩余数据的第二读取命令时,SATAHDD3读出第二目标数据,并且将第二目标数据传送给数据转换单元71。第二目标数据为第二读取命令请求的数据。
当数据转换单元71通过SATA主机I/F35、收到来自SATAHDD3的、第二读取命令请求的第二目标数据(即N-128的数据)时,第一选择器33选择到第二缓冲存储器86的路径,并且通过第二选择器34与第一选择器33,在第二缓冲存储器86中存储第二目标数据。
如果来自SATAHDD3的此类数据传送失败并且无法正确传送数据,则数据转换单元71重复从阶段a4开始的过程给定的次数,以接收来自SATAHDD3的第二目标数据,其中此类给定次数预先设置。
“阶段a6”
当数据转换单元71将来自电子装置2的读取命令所请求的第一与第二目标数据分别存储在第一缓冲存储器85与第二缓冲存储器86中时,通过利用包括第六选择器84的选择器设置数据路径,依次向电子装置2输出在第一缓冲存储器85与第二缓冲存储器86中存储的数据。
如果目标数据为编码数据,则该数据由编码/解码单元31解码,并且输出到电子装置2。如果目标数据不是编码数据,则将此类数据原样输出到电子装置2。
现在描述数据转换单元71的另一数据读出操作。
在以下阶段b1到b6中,描述从SATAHADD3读取128或更少个扇区(即,N≤128)的数据读取操作。
“阶段b1”
当电子装置2的主机控制器20向数据转换单元71发出(或者输出)用于读取在SATAHDD3中存储的、对于N个扇区(N≤128)的数据的读取命令时,此类读取命令由数据转换单元71的PATA设备I/F30接收,并且通过第三选择器80传送到命令处理电路83。
“阶段b2”
命令处理电路83准备对于N个扇区(N≤128)的读取命令,并且通过第 一选择器33与第二选择器34,向SATA主机I/F35发出(或者输出)该读取命令。
当SATA主机I/F35收到来自命令处理电路83的此类读取命令时,SATA主机I/F35向SATAHDD3发出此类读取命令。
如果无法发出此类读取命令,则SATA主机I/F35重新传送此类读取命令给定的次数,其中此类给定重试次数预先设置。
“阶段b3”
当SATAHDD3收到来自数据转换单元71的对于N个扇区(N≤128)的读取命令时,SATAHDD3读出目标数据,并且将目标数据传送给数据转换单元71。
当数据转换单元71通过SATA主机I/F35、收到来自SATAHDD3的、读取命令请求的目标数据(即128或更少个扇区的数据)时,第一选择器33选择到第一缓冲存储器85的路径,并且通过第二选择器34与第一选择器33,在第一缓冲存储器85中存储目标数据。
如果来自SATAHDD3的此类数据传送失败并且无法正确传送数据,则数据转换单元71重复从阶段b2开始的过程给定的次数,以接收来自SATAHDD3的目标数据,其中此类给定次数预先设置。
“阶段b4”
当数据转换单元71将来自电子装置2的读取命令所请求的对于N个扇区(N≤128)的数据存储在第一缓冲存储器85中时,通过利用包括第六选择器84的选择器设置数据路径,向电子装置2输出在第一缓冲存储器85中存储的目标数据。
如果此类目标数据为编码数据,则该数据由编码/解码单元31解码,并且输出到电子装置2。如果目标数据不是编码数据,则将此类数据原样输出到电子装置2。
现在描述数据转换单元71执行的数据写入操作。
在以下阶段c1到c7中,描述对于SATAHADD3的129或更多个扇区(即,N>128)的数据写入操作。在此类情况下,SATAHADD3可能需要129或更多个扇区来存储要写入SATAHADD3中的数据总量。
“阶段c1”
当电子装置2的主机控制器20向数据转换单元71发出(或者输出)对 于SATAHADD3中可能超过129个扇区(N>128)的数据的写入命令时,此类写入命令由数据转换单元71的PATA设备I/F30接收,并且通过第三选择器80传送到命令处理电路83。
“阶段c2”
命令处理电路83准备对于N个扇区(N>128)中头128个扇区的第一写入命令,并且通过第一选择器33与第二选择器34,向SATA主机I/F35发出(或者输出)第一写入命令。
因为可以在单个传送中从电子装置2向SATAHDD3传送的最大数据量为128个扇区,所以需要划分数据以从电子装置2向SATAHDD3传送总体数据量(即N>128)。
第一写入命令用来写入N个扇区(即N>128)中头128个扇区的数据。
当SATA主机I/F35收到来自命令处理电路83的此类第一写入命令时,SATA主机I/F35向SATAHDD3发出此类第一写入命令。
如果无法发出此类第一写入命令,则SATA主机I/F35重新传送此类第一写入命令给定的次数,其中此类给定重试次数预先设置。
在对于第一写入命令的此类处理期间,数据转换单元71从电子装置2接收对应于第一写入命令的数据,其中此类数据要传送给SATAHDD3。
当此类数据需要编码时,在第三选择器80与第四选择器81中切换数据路径,并且将数据输出到编码/解码单元31。
编码/解码单元31编码数据,并且输出编码数据到第五选择器82,在第六选择器84中切换数据路径,并且将对于第一写入命令的数据(即头128个扇区的数据)存储在第一缓冲存储器85中。
另外,当数据不需要编码而只需要原样存储在SATAHDD3中时,在第三选择器80与第四选择器81中切换数据路径,将此类数据原样输出到第五选择器82,在第六选择器84中切换数据路径,并且将对于第一写入命令的数据(即头128个扇区的数据)存储在第一缓冲存储器85中。
“阶段c3”
当SATAHDD3收到来自数据转换单元71的对于头128个扇区的第一写入命令时,SATAHDD3等待第一写入命令的数据(即头128个扇区的数据)。
当命令处理电路83成功地发出对于头128个扇区的第一写入命令时,数据转换单元71通过第一选择器33与第二选择器34,向SATA主机I/F35输 出在第一缓冲存储器85中存储的第一写入命令的数据(即头128个扇区的数据)。SATA主机I/F35输出此类数据到SATAHDD3。
如果成功执行了此类到SATAHDD3的数据传送,则该过程行进到阶段c5。如果此类到SATAHDD3的数据传送失败并且无法正确传送数据,则该过程行进到阶段c4。
“阶段c4”
如果到SATAHDD3的数据传送失败并且无法正确传送数据,则数据转换单元71重复数据传送给定次数以向SATAHDD3传送数据,其中此类给定次数预先设置。
在此类数据写入处理期间,数据转换单元71不接收来自电子装置2的主机控制器20的其他命令。
“阶段c5”
当数据转换单元71成功地从第一缓冲存储器85向SATAHDD3输出第一写入命令的数据(即头128个扇区的数据)时,命令处理电路83准备第二写入命令,并且通过第一选择器33与第二选择器34,向SATA主机I/F35发出第二写入命令。
因为如上所述、要从电子装置2向SATAHDD3传送的数据总量超过128个扇区,所以仍然剩余有不能用第一写入命令传送的、需要传送给SATAHDD3的数据。
因此,第二写入命令用来向SATAHDD3写入此类剩余数据。剩余数据表示为“剩余数据量=N-128”,这是因为已经向SATAHDD3传送了头128个扇区数据。
当SATA主机I/F35收到来自命令处理电路83的此类第二写入命令时,SATA主机I/F35向SATAHDD3发出第二写入命令。
如果无法发出此类第二写入命令,则SATA主机I/F35重新传送第二写入命令给定的次数,其中此类给定重试次数预先设置。
在对于此类第二写入命令处理期间,数据转换单元71从电子装置2接收对应于第二写入命令的数据,其中此类数据要传送给SATAHDD3。
当此类数据需要编码时,在第三选择器80与第四选择器81中切换数据路径,并且将数据输出到编码/解码单元31。
编码/解码单元31编码数据,并且输出编码数据到第五选择器82,在第 六选择器84中切换数据路径,并且将对于第二写入命令的数据(即“N-128”的剩余数据)存储在第二缓冲存储器86中。
另外,当数据不需要编码而只需要原样存储在SATAHDD3中时,在第三选择器80与第四选择器81中切换数据路径,并且将此类数据原样输出到第五选择器82,并且在第六选择器84中切换数据路径,并且将对于第二写入命令的数据(即剩余“N-128”的数据)存储在第二缓冲存储器86中。
在此类处理期间,数据转换单元71不接收来自电子装置2的主机控制器20的其他命令。
“阶段c6”
当SATAHDD3收到来自数据转换单元71的对于“N-128”的剩余数据的第二写入命令时,SATAHDD3等待第二写入命令的“N-128”的剩余数据。
当命令处理电路83成功地发出对于“N-128”的剩余数据的第二写入命令时,数据转换单元71通过第一选择器33与第二选择器34,向SATA主机I/F35输出在第二缓冲存储器86中存储的“N-128”的剩余数据。SATA主机I/F35输出此类数据到SATAHDD3。
如果成功执行了此类到SATAHDD3的数据传送,则正确完成了由电子装置2发出的写入命令,使能数据转换单元71准备好接收来自电子装置2的新命令。
如果此类到SATAHDD3的数据传送失败并且无法正确传送数据,则该过程行进到阶段c5并且重复,在此期间,数据转换单元71不接收来自电子装置2的主机控制器20的其他命令。
现在描述数据转换单元71的另一数据写入操作。
在以下阶段d1到d3中,描述对于SATAHADD3的128或更少个扇区(即,N≤128)的数据写入操作。在此类情况下,SATAHADD3可能需要128或更少个扇区来存储要写入SATAHADD3中的数据总量。
“阶段d1”
当电子装置2的主机控制器20向SATAHADD3发出(或者输出)对于SATAHADD3中的128或更少个扇区(即,N≤128)的数据的写入命令时,此类写入命令由数据转换单元71的PATA设备I/F30接收,并且通过第三选择器80传送到命令处理电路83。
“阶段d2”
命令处理电路83准备对于N个扇区(N≤128)的写入命令,并且通过第一选择器33与第二选择器34,向SATA主机I/F35发出(或者输出)写入命令。
当SATA主机I/F35收到来自命令处理电路83的此类写入命令时,SATA主机I/F35向SATAHDD3发出此类写入命令。
如果无法发出此类写入命令,则SATA主机I/F35重新传送此类写入命令给定的次数,其中此类给定重试次数预先设置。
在此类写入命令处理期间,数据转换单元71从电子装置2接收对应于写入命令的数据。
当此类数据需要编码时,在第三选择器80与第四选择器81中切换数据路径,并且将此类数据输出到编码/解码单元31。
编码/解码单元31编码数据,并且输出编码数据到第五选择器82,在第六选择器84中切换数据路径,并且将对于写入命令的数据(即128或更少个扇区的数据)存储在第一缓冲存储器85中。
另外,当此类数据不需要编码而只需要原样存储在SATAHDD3中时,在第三选择器80与第四选择器81中切换数据路径,将此类数据原样输出到第五选择器82,在第六选择器84中切换数据路径,并且将对于N个扇区(N≤128)的数据存储在第一缓冲存储器85中。
“阶段d3”
当SATAHDD3收到来自数据转换单元71的对于N个扇区(N≤128)的写入命令时,SATAHDD3等待写入命令的数据(即128或更少个扇区的数据)。
当命令处理电路83成功地发出对于N个扇区(N≤128)的写入命令时,数据转换单元71通过第一选择器33与第二选择器34,向SATA主机I/F35输出在第一缓冲存储器85中存储的写入命令的数据(即128或更少个扇区的数据)。SATA主机I/F35可以输出此类数据到SATAHDD3。
如果成功执行了此类到SATAHDD3的数据传送,则正确完成了由电子装置2发出的写入命令,使能数据转换单元71准备好接收来自电子装置2的新命令。
如果此类到SATAHDD3的数据传送失败并且无法正确传送数据,则该过程行进到阶段d2并且重复,在此期间,数据转换单元71不接收来自电子装置2的主机控制器20的其他命令。
如上所述,在数据转换单元71的ASIC44中,安装缓冲存储器,其具有对应于电子装置2与SATAHDD3之间的一次数据传送的尺寸的最大容量的容量,从而即使在电子装置2与SATAHDD3之间出现通信错误,电子装置2也不需要向数据转换单元71重新传送数据。
另外,此类缓冲存储器可以包括具有相对较小容量的多个缓冲存储器,由此可以减少当发生通信错误时用于重传的开销。
在以上描述中,虽然在数据转换单元71中配置每个都具有128个扇区存储容量的两个缓冲存储器,但是可以根据需要改变缓冲存储器的数目。例如,可以在数据转换单元中配置每个都具有64个扇区存储容量的四个缓冲存储器。
现在参照图11描述根据示例实施例的另一数据转换单元72。数据转换单元72可以包括一个缓冲存储器而非在图10所示的数据转换单元71中配备的多个缓冲存储器。
图11为数据转换单元72的方框图。如图11所示,数据转换单元72具有与图10所示的数据转换单元71类似的配置,以类似或者相同的附图标记表示,并且省略其冗余描述。
数据转换单元72包括ASIC45,其在第五选择器82与第一选择器33之间配备有缓冲存储器87,而没有配备图10所示的数据转换单元71的ASIC44中的第六选择器84、第一缓冲存储器85、以及第二缓冲存储器86。
现在描述数据转换单元72的数据写入操作。
在以下阶段e1到e3中,描述对于SATAHADD3的128或更少个扇区(即,N≤128)的数据写入操作。在此类情况下,SATAHADD3可能需要128或更少个扇区来存储要写入SATAHADD3中的数据总量。缓冲存储器87例如具有128个扇区的存储容量。
“阶段e1”
当电子装置2的主机控制器20向SATAHADD3发出(或者输出)对于SATAHADD3中的128或更少个扇区(即,N≤128)的数据的写入命令时,此类写入命令由数据转换单元71的PATA设备I/F30接收,并且通过第三选择器80传送到命令处理电路83。
“阶段e2”
命令处理电路83准备对于N个扇区(N≤128)的写入命令,并且通过第 一选择器33与第二选择器34,向SATA主机I/F35发出(或者输出)写入命令。
当SATA主机I/F35收到来自命令处理电路83的写入命令时,SATA主机I/F35向SATAHDD3发出此类写入命令。
如果无法发出此类写入命令,则SATA主机I/F35重新传送写入命令给定的次数,其中此类给定重试次数预先设置。
在此类写入命令处理期间,数据转换单元72从电子装置2接收对应于写入命令的数据。
当此类数据需要编码时,在第三选择器80与第四选择器81中切换数据路径,并且将此类数据输出到编码/解码单元31。
编码/解码单元31编码数据,并且输出编码数据到第五选择器82,并且将此类编码数据(即128或更少个扇区的数据)存储在缓冲存储器87中。
当此类数据不需要编码而只需要原样存储在SATAHDD3中时,在第三选择器80与第四选择器81中切换数据路径,将此类数据原样输出到第五选择器82,并且将对于N个扇区(N≤128)的数据原样存储在缓冲存储器87中。
“阶段e3”
当SATAHDD3收到来自数据转换单元72的对于N个扇区(N≤128)的写入命令时,SATAHDD3等待写入命令的数据(即128或更少个扇区的数据)。
当命令处理电路83成功地发出对于N个扇区(N≤128)的写入命令时,数据转换单元72通过第一选择器33与第二选择器34,向SATA主机I/F35输出在缓冲存储器87中存储的写入命令的数据(即128或更少个扇区的数据)。SATA主机I/F35可以输出此类数据到SATAHDD3。
如果成功执行了此类到SATAHDD3的数据传送,则正确完成了由电子装置2发出的写入命令,并且使数据转换单元72准备好接收来自电子装置2的新命令。
如果此类到SATAHDD3的数据传送失败并且无法正确传送数据,则该过程行进到阶段e2并且重复,在此期间,数据转换单元72不接收来自电子装置2的主机控制器20的其他命令。
在数据转换单元72的执行的数据读取操作中,缓冲存储器87的容量被设置为对应于当电子装置2从SATAHDD3读出数据时、在SATAHDD3与电子装置2之间的一次数据传送的给定值。
例如,如果缓冲存储器87具有128或更多个扇区的存储容量,则电子装置2可以在单个数据传送中从SATAHDD3读出128或更多个扇区的数据。
现在描述对于向SATAHDD3的129或更多个扇区写入数据的数据传送、在具有两个缓冲存储器的数据转换单元与具有一个缓冲存储器的数据转换单元之间的比较。对于该比较,使用256个扇区的数据传送例子。
如果SATA主机I/F35上对于128个扇区的数据传送的错误概率为10-12,则认为对于256个扇区的数据传送的错误概率为2×10-12,其为128个扇区的两倍。
另外,当在256个扇区的数据传送期间出现一个错误时,一次重传的数据尺寸在两个缓冲存储器的情况下为128个扇区、在一个缓冲存储器的情况下为256个扇区,其为两个缓冲存储器的两倍。
因为数据传送的错误概率与一次数据传送的尺寸成比例,所以256个扇区的数据传送的错误概率为128个扇区的数据传送的错误概率的两倍。相应地,256个扇区与128个扇区的数据传送的错误概率比为2:1。
另外,包括一次数据重传的总体传送数据尺寸在两个缓冲存储器的情况下为256+128=384个扇区、在一个缓冲存储器的情况下为256×2=512个扇区。
这样,通过配备具有数据重传功能的数据转换单元,即使在电子装置2与SATAHDD3之间出现通信错误,电子装置2也不需要重传数据,这对高效数据传送是有利的。
可以为本公开中描述的所有数据转换单元配备此类重传功能。
另外,虽然在以上描述中使用了串行接口、并行接口、以及存储卡接口,但是根据示例实施例的数据转换单元可以用于其他接口,例如IEEE(电气电子工程师协会)接口与USB(通用串行总线)接口。
上述的根据示例实施例的数据转换单元与数据转换方法可以用于数据处理装置,例如图像处理装置(例如打印机、传真机、复印机、多功能装置)等等。
在以上教导下可能有各种其他的修改与变化,因此应该理解在权利要求的范围内,可以与此处具体描述不同地实现本发明。
Claims (14)
1.一种数据转换装置,包括:
第一输入/输出单元;
第二输入/输出单元;
编码器,被配置来编码数据;
解码器,被配置来解码数据;
随机数生成器,被配置来生成随机数数据;以及
控制单元,被配置来选择第一设置功能、第二设置功能、以及第三设置功能,
其中,在第一设置功能中,控制单元进行设置以输入来自第一输入/输出单元的数据,由编码器编码该数据,并且从第二输入/输出单元输出编码数据;
在第二设置功能中,控制单元进行设置以输入来自第一输入/输出单元的数据,用由随机数生成器生成的随机数数据替换该数据,并且从第二输入/输出单元输出该随机数数据;
在第三设置功能中,控制单元进行设置以输入来自第二输入/输出单元的编码数据,由解码器解码该编码数据,并且从第一输入/输出单元输出解码的数据;
控制单元根据设置到控制单元的设置状态,选择第一设置功能、第二设置功能、以及第三设置功能中的任何一种。
2.如权利要求1所述的数据转换装置,其中第一输入/输出单元与第二输入/输出单元并行地输入或输出数据。
3.如权利要求1所述的数据转换装置,其中第一输入/输出单元与第二输入/输出单元串行地输入或输出数据。
4.如权利要求1所述的数据转换装置,其中第一输入/输出单元与第二输入/输出单元中任何一个并行地输入或输出数据,并且第一输入/输出单元与第二输入/输出单元中的另一个串行地输入或输出数据。
5.如权利要求1所述的数据转换装置,其中编码器按预先设置的最小数据量编码数据。
6.如权利要求5所述的数据转换装置,其中所述最小数据量为最小记录长度。
7.一种电子装置,包括如权利要求1所述的数据转换装置。
8.如权利要求7所述的电子装置,其中该电子装置包括以下中的任何一个:复印机、打印装置、传真机、计算机、或者具有复印、打印、传真、以及计算功能的多功能装置。
9.一种由包括第一输入/输出单元、第二输入/输出单元和控制单元的数据转换装置执行的数据转换方法,包括:
由控制单元根据设置到该控制单元的设置状态,选择第一类处理、第二类处理、以及第三类处理中的任何一个;
其中,在第一类处理中,编码从第一输入/输出单元输入的输入数据,并且从第二输入/输出单元输出编码数据;
在第二类处理中,用预先生成的随机数数据替换从第一输入/输出单元输入的输入数据,并且从第二输入/输出单元输出该随机数数据;
在第三类处理中,从第二输入/输出单元输入编码数据并且解码该编码数据,并且从第一输入/输出单元输出解码的数据。
10.如权利要求9所述的方法,其中并行地输入与输出所述数据。
11.如权利要求9所述的方法,其中串行地输入与输出所述数据。
12.如权利要求9所述的方法,其中并行地输入所述数据并且串行地输出所述数据,或者串行地输入所述数据并且并行地输出所述数据。
13.如权利要求9所述的方法,其中按预先设置的最小数据量编码所述数据。
14.如权利要求13所述的方法,其中所述最小数据量为最小记录长度。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006233017 | 2006-08-30 | ||
JP233017/06 | 2006-08-30 | ||
JP161528/07 | 2007-06-19 | ||
JP2007161528A JP2008085986A (ja) | 2006-08-30 | 2007-06-19 | データ変換装置と電子装置とデータ変換方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101136979A CN101136979A (zh) | 2008-03-05 |
CN101136979B true CN101136979B (zh) | 2011-04-20 |
Family
ID=38664051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101471948A Expired - Fee Related CN101136979B (zh) | 2006-08-30 | 2007-08-30 | 数据转换单元、使用其的电子装置、以及数据转换方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7511636B2 (zh) |
EP (1) | EP1895441A1 (zh) |
JP (1) | JP2008085986A (zh) |
KR (1) | KR20080021520A (zh) |
CN (1) | CN101136979B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423789B1 (en) * | 2007-05-22 | 2013-04-16 | Marvell International Ltd. | Key generation techniques |
JP5102082B2 (ja) * | 2008-03-18 | 2012-12-19 | 株式会社リコー | 画像形成装置 |
US8510560B1 (en) | 2008-08-20 | 2013-08-13 | Marvell International Ltd. | Efficient key establishment for wireless networks |
CN102160035A (zh) | 2008-09-18 | 2011-08-17 | 马维尔国际贸易有限公司 | 至少部分地在引导期间向存储器预加载应用 |
WO2010084562A1 (ja) * | 2009-01-21 | 2010-07-29 | パナソニック株式会社 | 携帯端末、映像データ補修方法及びプログラム |
CN101795334B (zh) * | 2009-02-02 | 2012-06-06 | 联想(北京)有限公司 | 待输出数据处理装置和方法 |
JP5364840B2 (ja) * | 2010-02-22 | 2013-12-11 | 株式会社東芝 | 暗号化装置 |
US8645716B1 (en) | 2010-10-08 | 2014-02-04 | Marvell International Ltd. | Method and apparatus for overwriting an encryption key of a media drive |
US9436629B2 (en) | 2011-11-15 | 2016-09-06 | Marvell World Trade Ltd. | Dynamic boot image streaming |
US9575768B1 (en) | 2013-01-08 | 2017-02-21 | Marvell International Ltd. | Loading boot code from multiple memories |
US9736801B1 (en) | 2013-05-20 | 2017-08-15 | Marvell International Ltd. | Methods and apparatus for synchronizing devices in a wireless data communication system |
US9521635B1 (en) | 2013-05-21 | 2016-12-13 | Marvell International Ltd. | Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system |
EP3028145A1 (en) | 2013-07-31 | 2016-06-08 | Marvell World Trade Ltd. | Parallelizing boot operations |
JP6265783B2 (ja) * | 2014-03-06 | 2018-01-24 | キヤノン株式会社 | 暗号化/復号化システム及びその制御方法、並びにプログラム |
IL243789A0 (en) * | 2016-01-26 | 2016-07-31 | Winbond Electronics Corp | Split calculation of the next state to prevent analysis by energy consumption |
WO2017168228A1 (en) | 2016-03-08 | 2017-10-05 | Marvell World Trade Ltd. | Methods and apparatus for secure device authentication |
CN107786331B (zh) * | 2017-09-28 | 2020-03-17 | 平安普惠企业管理有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
JP6636006B2 (ja) * | 2017-12-15 | 2020-01-29 | キヤノン株式会社 | 暗号化/復号化システム及びその制御方法、並びにプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1359071A (zh) * | 2001-11-29 | 2002-07-17 | 上海格尔软件股份有限公司 | 彻底删除硬盘文件的方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11249826A (ja) * | 1998-03-03 | 1999-09-17 | Fujitsu Ltd | 光磁気ディスク制御装置 |
JP4101975B2 (ja) * | 1998-12-02 | 2008-06-18 | オリンパス株式会社 | 可搬型記憶媒体を用いたデータ記録/再生装置 |
JP4003203B2 (ja) * | 2000-08-10 | 2007-11-07 | サイファーゲート株式会社 | 暗号化プログラムを記録した記録媒体及び復号化プログラムを記録した記録媒体 |
JP2003006144A (ja) | 2001-06-26 | 2003-01-10 | Hitachi Ltd | 半導体集積回路及びコンピュータ読取り可能な記録媒体 |
JP2003198531A (ja) * | 2001-12-27 | 2003-07-11 | Denso Corp | 共通鍵暗号通信方法及び装置 |
EP1537473A2 (en) | 2002-04-03 | 2005-06-08 | Advanced Micro Devices, Inc. | Ata/sata combined controller |
JP3735591B2 (ja) * | 2002-06-18 | 2006-01-18 | 株式会社東芝 | 信号処理装置、信号処理方法、及び記憶媒体 |
JP2004106503A (ja) | 2002-09-20 | 2004-04-08 | Ricoh Co Ltd | 画像形成装置 |
KR100604833B1 (ko) * | 2004-02-18 | 2006-07-26 | 삼성전자주식회사 | 기록 매체의 데이터 보안 소거 방법 및 이를 이용한디스크 드라이브 |
JP2005309148A (ja) * | 2004-04-22 | 2005-11-04 | Hitachi Ltd | データ変換装置およびデータ変換方法 |
JP2005346123A (ja) | 2004-05-31 | 2005-12-15 | Toshiba Corp | パラレルインタフェースコネクタを備えたストレージ装置及び同装置に適用される変換コネクタ |
US7958292B2 (en) * | 2004-06-23 | 2011-06-07 | Marvell World Trade Ltd. | Disk drive system on chip with integrated buffer memory and support for host memory access |
JP2006018428A (ja) | 2004-06-30 | 2006-01-19 | Toshiba Corp | 情報処理装置 |
-
2007
- 2007-06-19 JP JP2007161528A patent/JP2008085986A/ja active Pending
- 2007-08-16 EP EP07114446A patent/EP1895441A1/en not_active Ceased
- 2007-08-27 KR KR1020070086126A patent/KR20080021520A/ko not_active Application Discontinuation
- 2007-08-27 US US11/845,313 patent/US7511636B2/en not_active Expired - Fee Related
- 2007-08-30 CN CN2007101471948A patent/CN101136979B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1359071A (zh) * | 2001-11-29 | 2002-07-17 | 上海格尔软件股份有限公司 | 彻底删除硬盘文件的方法 |
Also Published As
Publication number | Publication date |
---|---|
US7511636B2 (en) | 2009-03-31 |
EP1895441A1 (en) | 2008-03-05 |
KR20080021520A (ko) | 2008-03-07 |
CN101136979A (zh) | 2008-03-05 |
JP2008085986A (ja) | 2008-04-10 |
US20080136685A1 (en) | 2008-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101136979B (zh) | 数据转换单元、使用其的电子装置、以及数据转换方法 | |
US8842825B2 (en) | Data encoding apparatus, data encoding method, data encoding program, and recording medium | |
US8886956B2 (en) | Data storage apparatus having cryption and method thereof | |
WO2019153867A1 (zh) | 二维码生成及识别 | |
CN1897522B (zh) | 水印嵌入和/或检测的方法、装置及系统 | |
US8054972B2 (en) | Encryption processor of memory card and method for writing and reading data using the same | |
US20060026442A1 (en) | Encryption apparatus and decryption apparatus | |
US8504898B2 (en) | Storage apparatus, controller and data accessing method thereof | |
WO2007060103A1 (en) | Method, system, and apparatus for dynamically validating a data encrytion operation | |
JP2001297038A (ja) | データ記憶装置および記録媒体並びに記録媒体制御方法 | |
JP5620792B2 (ja) | 分散アーカイブシステム並びにデータアーカイブ装置及びデータ復元装置 | |
JP2006252451A (ja) | ストレージシステム | |
EP1439660B1 (en) | Encryption/decryption method for data limited in value range, apparatus and program therefor | |
US8677123B1 (en) | Method for accelerating security and management operations on data segments | |
KR100943318B1 (ko) | 클립보드 보안방법 | |
US8305613B2 (en) | Server device, image forming apparatus, and image processing system for image processing in a thin client system | |
CN1843025B (zh) | 图像处理设备和图像处理方法 | |
CN113158203B (zh) | 一种soc芯片、电路和soc芯片的外部数据读写方法 | |
WO2005066884A1 (ja) | 2次元バーコードシステム、2次元バーコード生成方法およびコンピュータプログラム | |
JPH1185621A (ja) | 記録データ暗号化装置 | |
KR20050045193A (ko) | 프린터 드라이버를 이용하여 보안 출력하는 방법 및 시스템 | |
WO2023167266A1 (ja) | データ管理システム | |
CN101192199B (zh) | 便携式安全存储设备及其存取控制方法 | |
JP5539024B2 (ja) | データ暗号化装置およびその制御方法 | |
JP4419467B2 (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 |
Granted publication date: 20110420 Termination date: 20150830 |
|
EXPY | Termination of patent right or utility model |