专利名称:用于数据处理系统的存储方法和装置的制作方法
技术领域:
本发明涉及外存储装置技术,具体的说本发明提供一种新型的存储方法和装置,用于更好的控制数据交换。
背景技术:
外存储装置广泛的用于数据处理系统的数据交换。目前,常见的外存储装置主要有以下几类1.各种接口的外存储器,如硬盘、电子硬盘、闪存盘等等;2.各种接口的可更换存储介质存储装置,如软驱、Zip驱动器,MO驱动器,光驱等;3.各类硬盘盒(光盘盒)、读卡器等,它们使用另外的存储器做为存储空间;常见的用于外存储装置的接口有IDE(Integrated Drive Electronics/电子集成驱动器)*接口SCSI(Small Computer System Interface/小型计算机系统接口)SAS(Serial Attached SCSI/串行化SCSI)IEEE 1394接口SATA(Serial ATA/串行ATA)接口USB(Universal Serial Bus/通用串行总线)接口、PCMCIA(Personal Computer Memory Card Internation Association/PC机内存卡国际联合会)接口CF(Compact Flash)接口MMC(Multi Memory Card)接口SD(Secure Digital)接口SM(Smart Media Card)接口xD(XD Picture Card)接口MS(Memory Stick)接口并口等等而对于网络接口、蓝牙(Bluetooth)等虽然也可以用于外存储装置与主机之间的接口通道,但目前尚不常见,将来可能会有所应用,而CE-ATA(Consumer Electronics ATA)也计划推出,将广泛应用于消费类电子产品如手机、随身听的存储接口应用中。
现有的外存储方法和装置一般基于块设备(Block Device),即数据处理系统主机对外存储装置发送的数据访问请求都是基于“块”的,最常见的“块”是扇区,主机对常规硬驱,软驱,光驱均是以扇区为单位进行读写的。
通常,数据的组织和管理均是由数据处理系统主机来进行,控制权基本上都在数据处理系统主机上,外存储装置唯一可能的控制就是写保护操作。
由于数据处理系统主机对外存储装置具有几乎绝对的控制权,因而,位于数据处理系统主机上的病毒也就有机会控制外存储装置,从而使外存储装置成为其传播的介质,特别的,随着移动存储装置的流行,这种趋势越来越明显。
虽然写保护操作可以避免外存储装置遭受来自主机的病毒侵袭,但不打开写保护,用户也就不能在主机与外存储装置之间交换数据。从另一个角度讲,写保护也不能阻止外存储装置上存在的病毒对主机系统的可能的感染。
同时,不同的数据处理系统主机对数据的组织形式也不相同,这使得常常发生Windows下能正常使用的外存储装置在Solaris下可能就不能被识别和使用,除非清除其上的数据,进行重新组织(格式化)。
而且,不同的数据处理系统主机对数据的保护和许可方式具有相当差别,有的甚至根本就没有,这极不利于数据的安全。另外,现有的访问许可方法过于简单,不能满足日益复杂的数据保护要求。
最后,随着数字化进程的提高,越来越多的便携设备具有存储要求,如何在这些便携设备之间方便的进行数据交换,也是需要考虑的问题。
本发明将提出一种方法和装置,用于解决以上问题。
发明内容
本发明提供一种存储方法和装置,使数据处理系统主机对外存储装置发送的数据访问请求都是基于文件系统的操作命令方式,外存储装置使用文件系统组织和管理存储空间,拥有对数据的完全控制,可对主机系统的任何请求进行许可控制并进行日志(Log)记录。
同时,外存储装置还可做为便携主机,对其它的存储装置进行读写。
技术方案一种数据存储方法,包括存储空间的设立,外存储装置对存储空间的组织和管理方法,数据处理系统主机对外存储装置的数据访问的方法,其特征在于所述外存储装置本身可以包括存储介质,也可不包括存储介质,而通过接口装置访问可更换的存储介质或另外的存储装置中的存储空间,前者如普通的硬盘,后者如Zip驱动器或读卡器,这里的接口可以是通用接口,也可以是专用接口。
所述外存储装置对存储空间的组织和管理方法使用文件系统进行,文件系统可以选用任何现有的文件系统或自定义的文件系统或将来新出现的文件系统,存储空间可以被划分为一个或多个卷(或分区),每个卷(或分区)可以使用相同的文件系统,也可以使用不同的文件系统。
现有常见的的文件系统有FAT12/16/32,NTFS,HPFS,EXT2,UFS,VXFS4.0,....等等所述数据处理系统对外存储装置的数据访问方法使用基于文件系统的操作命令方式进行,与常规基于块设备的存储装置不同,数据处理系统主机不能访问外存储装置的“块”存储空间,只能对文件外存储装置中的文件系统进行访问,如打开文件,读/写文件,关闭文件,列目录,获得文件属性,获得文件系统空间,删除文件...等等;外存储装置拥有对所述文件系统的绝对的控制权。
本发明所述的方法,其特征在于,所述外存储装置对于数据处理系统的数据访问请求可以进行许可控制,所述许可控制包括但不仅限于以下方法之中的任何一种或多种或它们的任意组合a)基于文件的许可控制;如,某文件读询问,写不允许;b)基于文件属性的许可控制;文件属性包括创建者,创建者所属组,创建时间、修改时间,最后访问时间,访问次数(日次、周次、月次、年次等),隐藏属性、系统属性,大小,类型,名称,..,等等,相关的许可例如DOC文件可以读/不能写,EXE文件读询问/不能写,创建时间48小时内可以读/写,...,等等;c)基于目录的许可控制;如某目录下的文件不可读,也不可写;d)基于卷或分区的许可控制;如某个分区不允许写入;e)基于外存储器装置的许可控制;如外存储器装置读需要询问f)基于某个操作命令的许可控制;如删除命令需询问;g)基于某类操作命令的许可控制;如目录类命令不允许;h)基于访问时间的许可控制;如某个文件在早8点到下午5点之间可以访问;i)基于访问者许可控制;如某人可以访问那些类型的文件j)基于访问频次的许可控制;如如某个文件或目录只能打开被规定的次数k)基于访问顺序的许可控制;如第一次访问文件或目录询问;l)基于批次的许可控制;如某个文件读需要询问,并且该询问的结果可以只适用于该文件,也可以适用于所有当前位置(如目录)下的所有文件;m)其它可能的许可方式,如基于访问可更换介质的种类的许可控制等;本发明所述的上述任何一种方法,其特征是在于,所述许可方式可以是以下任何一种a)允许;b)禁止;c)询问;d)凭密码或密钥或等同物;e)其它可能的方式;所述询问可以是各种询问方式如每次都询问、只首次询问或带有询问结果适用范围选择的询问等。所述适用范围如“本次询问结果适用于当前目录下的所有文件”,“本次许结果适用于所有同类型的文件”,“本次许可30分钟内适用于所有类似询问”,“本次许可30分钟内适用于当前目录下的所有文件”等等,一般可以在基本选择(Yes/No)的基础上增加选择(Yes to all/No to all)的形式让用户决定,这里的all指许可控制设定的范围;本发明所述的上述任何一种方法,其特征是在于,所述外存储装置可以对数据处理系统的数据访问情况做日志(Log)记录,日志(Log)记录策略包括但不仅限于以下方法之中的任何一种或多种或它们的任意组合a)基于文件的日志(Log)记录策略;b)基于文件属性的日志(Log)记录策略;c)基于目录的日志(Log)记录策略;d)基于卷或分区的日志(Log)记录策略;e)基于外存储器装置的日志(Log)记录策略;f)基于某个操作命令的日志(Log)记录策略;g)基于某类操作命令的日志(Log)记录策略;h)基于访问时间的日志(Log)记录策略;i)基于访问者日志(Log)记录策略;j)基于访问频次的日志(Log)记录策略;如对不经常访问的文件做日志记录;k)其它可能的许可方式,如基于访问可更换介质的种类等的许可控制;上述日志(Log)记录策略类似与许可控制的方法。
日志(Log)记录内容可以包含以下内容的任何一种或多种或它们的任意组合a.访问开始时间;b.访问结束时间;c.访问次数;d.操作参数;e.操作过程;f.操作内容;g.访问者;h.目标文件名称;i.目标文件该次访问前的最后的有关状态和属性;j.其它用户设定的内容;日志(Log)记录可以记录在具有特定权限的文件或存储空间中,只有经过特别的授权才能被外部访问。
用于数据处理系统的外存储装置(200),包括用于与数据处理系统主机(100)相连接的接口(110),存储单元访问接口(120),其特征在于,还包括命令处理装置(181),用于接受并解释/执行数据处理系统传送过来的数据访问命令;文件系统装置(182),用于以文件系统组织和管理存储空间;命令处理装置(181)一端与接口(110)连接,从接口(110)获得数据处理系统主机(100)发出的数据访问命令,并把命令执行结果通过接口(110)装置返回数据处理系统主机;命令处理装置(181)另一端与文件系统装置(182)相连,通过文件系统装置(182)进行文件的存取访问;文件系统装置(182)一端与存储单元访问接口(120)相连,通过存储单元访问接口(120)访问存储空间;
文件系统装置(182)另一端与命令处理装置(181)相连,为命令处理装置(181)提供基于文件系统的功能调用;所述数据访问命令为基于文件系统的操作命令;本发明所述的装置,其特征在于,还包括许可控制装置(183),用于对来自数据处理系统主机(100)的数据访问进行许可控制,它与命令处理装置(181)直接或间接相连接;本发明所述的上述任何一种装置,其特征在于,还包括日志记录装置(188),用于记录外存储装置(200)被数据处理系统主机(100)访问的状况,它与命令处理装置(181)直接或间接相连接;本发明所述的上述任何一种装置,其特征在于,所述接口(110)可以是IDE(含增强IDE等)接口、SCSI、SAS、IEEE 1394接口、SATA接口、CE-ATA接口、USB接口、PCMCIA接口、CF接口、MMC接口、SD接口、SM接口、xD接口、MS接口、并口、网络接口或蓝牙接口中的任何一种,也可以是其它现有的或将来用于外存储装置的任何接口;本发明所述的上述任何一种装置,其特征在于,还包括系统设置装置(186),用于对外存储装置(200)进行管理、维护或设置,它与命令处理装置(181)、文件系统装置(182)、许可控制装置(183)、日志记录装置(188)中的一个或多个直接或间接相连接;本发明所述的上述任何一种装置,其特征是在于,还包括以下部件的一个或多个或它们的任意组合a)开关装置(10)用于设置访问控制状态;b)输入装置(11)用于信息或控制输入;c)输出装置(12),用于信息或状态输出;d)输入/输出接口(16),用于连接另外的输入/输出设备;所述被包括的部件与命令处理装置(181)或许可控制装置(183)直接或间接相连接;本发明所述的上述任何一种装置,其特征是在于,还包括一个或多个接口(160),可以接入具有该接口的另外的外存储器(503),并能与之交换数据;所述接口(160)可以和接口(110)共用同一接口,也可以是单独的另一个接口;所述接口(160)和接口(110)可以是相同的接口类型,也可以是不同的接口类型;所述接口(160)可以是现有存储装置或将来存储装置使用的任何类型的接口,包括但不仅限于IDE(含增强IDE等)接口、SCSI、SAS、IEEE 1394接口、SATA接口、CE-ATA接口、USB接口、PCMCIA接口、CF接口、MMC接口、SD接口、SM接口、xD接口、MS接口、并口、网络接口或蓝牙接口中的任何一种;本发明所述的上述任何一种方法或装置,其特征是在于,还可包括加密方法或装置,对数据进行加密处理。
所述加密,即可以在物理存储单元读取过程中(任何一个环节)进行,也可在文件系统底层的基于扇区读写处进行,也可以在文件系统中进行(如NTFS中的EFS),或者是针对文件的加密,或者上述方式的任意组合。
本发明所述的上述任何一种方法或装置,数据处理系统主机与外存储装置之间的数据访问命令及结果的传送可以在以下的几种方法之中进行选择1.借用现有的硬件传输通道,重新定义基本协议和命令;例如对于只支持ATA-1协议的IDE接口,可参考ATA界面上的ATAPI协议的使用原理,重新制定适合本发明的协议和命令集。
2.利用现有的协议包格式,重新定义命令,例如对于支持ATAPI协议的IDE或其它接口通道,可以在ATAPI协议包中重新定义命令,而达到传输本发明所需的命令和数据。
3.在现有的硬件传输通道传输模式支持下定义新的协议,例如对于USB通道,可以在其批传输(Bulk only)传输模式下定义一种新的协议包格式来传输本发明所需要的命令和数据;4.直接使用现有的协议,例如对于网络通道,可以使用远程执行(函数调用)协议来执行命令;5.可以适用于本发明传输需要的其它现有的数据传输技术或与现有的数据传输技术类似的方法;最后,当然可以设计出全新的数据传输通道以及相应的传输协议,这也是技术不断发展的必然。
技术效果本发明的方法和装置,可保证外存储装置对数据的绝对控制,保障了数据安全,可以避免非授权的数据访问,同时也避免了病毒潜在的通过外存储装置进行的主动性传播。
日志(Log)记录,可以让用户更好的了解和掌握数据的被访问情况,以便更好的发现潜在的数据泄露、毁坏或丢失情况。
外存储装置还可做为便携主机,对其它的存储装置进行读写,方便了便携应用。
加密措施更进一步提高了数据的安全性。
最后,由于文件系统对于技术开发者而言,更为熟悉和了解,其应用更容易开发和扩展。
图1为本发明的所述外存储装置的内部结构原理框图以及与主机系统的连接关系,其中(200)用于数据处理系统的外存储装置,(100)主机系统,(90)接口总线,(110)接口,(181)命令处理装置,(182)文件系统装置,(183)许可控制装置,(186)系统设置装置,(188)日志记录装置,(120)存储单元访问接口,(160)接口;(10)开关装置,(11)输入装置,(12)输出装置,(16)输入/输出接口,此四项为涉及用户界面的选项;(500)存储介质,(501)可更换存储介质,(502)另外的外存储装置,此三项为外存储空间设立的选项;(503)另外的外存储器,用于示意所述外存储装置做为主机时的一种连接方式;图2为本发明所述的外存储装置与数据处理系统主机(100)操作系统的接口调用示意图,同时,也展示了本发明所述的外存储装置与通常基于块设备的外存储装置之间被主机(100)操作系统访问的接口流程对比关系;图3为本发明所述的外存储装置的实施例,具有USB接口的硬盘存储装置(200),其中(100)主机系统,(90)USB总线,(110)USB接口,(181)命令处理装置,(182)文件系统装置,(183)许可控制装置,(186)系统设置装置,(188)日志记录装置,(120)介质读取装置,(500)存储介质,(160)USB接口,(11)小键盘,(16)密钥接口,(12)小屏幕;(10)开关装置,包括读许可开关、写许可开关、删除许可开关、许可状态改变询问开关;图4为本发明所述的外存储装置的另一实施例,具有IDE接口的硬盘存储装置(200),其中(100)主机系统,(90)IDE总线,(110)IDE接口,(181)命令处理装置,(182)NTFS文件系统装置,(120)介质读取装置;图5为本发明所述的外存储装置的实施例,具有SATA接口的MO驱动器,其中(100)主机系统,(90)SATA总线,(110)SATA接口,(181)命令处理装置,(182)文件系统装置,(183)许可控制装置,(188)日志记录装置,(120)MO读取装置,(500)MD盘片,(11)确定/取消按键,(12)小屏幕;(10)开关装置,包括读许可开关、写许可开关、删除许可开关、许可状态改变询问开关;图6为本发明所述的外存储装置的实施例,具有1394接口的硬盘盒/读卡器,其中,接口为(110)IEEE 1394接口,传输总线为(90)IEEE 1394总线,存储单元访问接口为(120)IDE/CF/SD等接口,存储空间位于外接的(502)IDE硬盘/CF卡/SD卡等存储装置上,输入装置使用(11)确定/取消按键,通过(16)显示接口外接显示设备;图7为本发明所述的外存储装置的实施例,具有网络接口的硬盘存储装置,其中,接口为(110)网络接口,传输总线为(90)网络总线,其具有三个另外的(160)接口,其中SD接口用于接入另外的SD卡存储器,CF接口用于接入另外的CF卡存储器,蓝牙接口用于接入另外的蓝牙存储装置;图8为本发明所述的外存储装置的实施例,具有SCSI接口的硬盘存储装置,其中,接口为(110)SCSI接口,传输总线为(90)SCSI总线,其具有另外接口为(160)SATA接口,可外接其它的SATA接口的外存储器;本实施例通过(16)键盘/显示接口外接输入/输出设备;通过(190)加密装置在介质读取接口处进行加/解密,加/解密使用密钥进行;图9为本发明所述的外存储装置的主要处理流程图;下面,结合附图和实施例进一步说明。
具体实施例本发明所述的方法可以这样实施,对现有的硬盘装置进行如下改进1.在外存储装置内部用文件系统对存储空间进行组织和管理;2.将现有的硬盘装置与主机之间基于“块”的访问方式改为基于文件系统操作命令的访问方式;3.加入许可访问控制;4.加入日志(Log)记录;5.进行加/解密处理;具体而言,本实施例的存储空间位于存储装置内部,外存储装置具有存储介质访问装置;外存储装置被设计为使用NTFS文件系统对存储空间进行组织和管理,并采用EFS进行加密;存储空间可以被分成3个卷(分区),3个卷(分区)建议使用同一文件系统,也可以使用不同的文件系统;数据处理系统主机对外存储装置的数据访问的方法采用基于文件系统的操作命令,方法为,将标准C语言中关于文件的函数,每个函数对应于一个操作命令,将命令及相关参数按一定格式打包后,通过接口通道在数据处理系统主机和外存储装置之间传输,此外根据需要,可以增加一些关于系统设置和维护的指令,如建立文件系统,许可设置等。
本实施例中设计的许可方法有1.全局性许可,包括针对外存储装置的读许可和写许可,全局性许可通过设置全局的开关装置实现;2.基于卷(分区)的许可,外存储装置中的多个分区可以被设置为不同的读/写许可状态,卷(分区)许可采用属性设定方式,通过在卷(分区)的属性表中设置读/写许可位进行;3.基于目录的许可,目录可以被设置为不同的访问(如读/写)许可状态,通过在目录属性表中增加读/写许可位实现,下层目录对上层目录的许可属性是继承的;4.基于文件的许可,通过设置文件的读/写许可位进行;5.基于文件属性的许可,在本实施例中,文件属性包括创建者,创建者所属组,创建时间、修改时间,最后访问时间,访问次数(日、周、月、年等),隐藏属性、系统属性,大小,类型,名称等,相关的许可例如DOC文件可以读/不能写,EXE文件读询问/不能写,创建时间48小时内可以读/写,…等等,这些许可通过在许可规则表中增加规则来实现;6.基于访问命令的许可,如删除文件(delete)命令询问,创建文件(Create)不允许,打开文件(Open)允许等,这些许可通过在许可规则表中增加规则来实现;7.基于访问时间的许可,如目录”工作目录”只能在每天8时至17时之间能访问,这些许可通过在许可规则表中增加规则来实现;
8.基于访问者许可控制,如目录或文件的创建者可以读写/同组可以读不能写/其它人不能读写等9.基于访问频次的许可控制,如某个文件或目录只能打开被规定的次数,该许可通过在许可规则表中增加规则来实现;所述许可采用许可规则表和被访问对象(存储装置、分区、目录、文件)属性表进行控制,许可规则表使用类似防火墙规则的技术实现。
所述许可方法可以组合使用,技术实现时只需要将对应的许可规则进行组合即可。
所述许可属性可以在被访问对象(存储装置、分区、目录、文件)最初创建时候被赋于,也可以在任何时候被修改,对于任何许可属性的设置或修改命令,原则上应经过许可询问,以确保安全,对此,可以设置一全局开关装置来进行允许或禁止所述的许可询问;对于日志(Log)记录方法的实现,可以与许可方法类似,使用日志记录属性和日志记录规则表进行。
本实施例设计为将许可规则表、日志记录规则表、日志信息记录在特殊文件中,该文件必须通过密码或密钥才能被外部访问;密码或密钥的输入以及对许可的询问回答通过在外存储装置上设置输入装置来完成;被许可的对象信息以及许可方式的显示通过在外存储装置上设置输出装置来完成;下面以1个具体的操作实例来对本实施例做更进一步的说明假定该存储装置的存储空间被分为3个分区,其中第二个分区具有data目录,目录下有文件day.doc,该文件的许可状态为读询问,day.doc文件的全路径为f$d:\data\day.doc,其中f$表示驱动器为使用本发明方法的存储装置驱动器,d表示第2个分区。如果有多个本发明方法所述的存储装置与主机相连,则它们按主机识别次序依次排列分区,从c:开始。
例读取data目录下的day.doc文件,其过程为a.用户发出类似FILE*fp=fopen(“f$d:\\data\\day.doc”,”rb”)的函数请求;b.主机将用户的fopen(“f$d:\\data\\day.doc”,”rb”)翻译为命令fopen,参数f$d:\data\day.doc和rb,将它们打包后,通过接口通道发送给外存储装置;c.外存储装置收到主机命令请求,解释出fopen命令及参数f$d:\data\day.doc和rb,命令执行装置依次检查外存储装置的读许可、分区d的读许可、目录data的读许可以及文件day.doc的读许可,如果有任何一个不允许,则返回+OK,0;d.命令执行装置继续检查许可规则表中与路径f$d:\data\day.doc相关的规则,看是否有禁止读的情况;e.由于day.doc文件的许可状态为读询问,所以外存储装置的显示装置会显示”来宾用户将要访问d:\data\day.doc文件,同意/不同意 (user guest want to acess thefile d:\data\day.doc,yes or no?)”,并等待用户回答。这里假定用户是以guest身份使用本外存储装置的(缺省状态)f.外存储装置根据用户的回答,决定是否最终执行实际的fopen命令。如果用户允许,则命令执行装置执行实际的fopen命令,并返回结果,如果成功,可能的结果为+OK,5;g.命令执行装置将结果打包后返回主机;
h.主机将”+OK,5”或”+OK,0”翻译为用户函数结果形式(FILE*)00000005或NULL;i.对于返回的NULL,用户可以调用GetLastError()函数查询错误原因,本例将返回”禁止访问(forbid to acess)”的代码;j.对于返回的(FILE*)00000005指针,用户将使用它做为读取数据的文件指针;k.用户使用fread(buff,1,1024,fp)函数读取文件内容,该函数翻译的结果为fread,1,1024,5;l.如果执行正确,返回的结果为OK+,1024,xx,xx,xx…xx,xx(共1024个数据),经主机系统翻译后返回给调用函数;m.用户使用fclose关闭文件;上述的+OK(用0x4b4f2b或者1表示),只是表示外存储装置收到主机命令并进行了处理,并不表示执行结果成功,执行的结果在第二个参数中,如果有的话。
参数传递和数据打包是数据传输中常用技术,这里不多叙述。而数据传输本身以及各种文件系统更是成熟的公示技术。
在上述c到m的过程中,外存储装置将根据日志(Log)记录属性(可以与许可状态同步进行检测),将该过程中相关的过程和内容按设置的日志(Log)记录要求进行记录。
外存储装置对于当前用户的确定,可以这样来实现,如果用户不做任何设置,缺省为来宾(guest)用户,用户可以在任何时候通过输入装置以新身份登陆(包括使用智能卡或指纹或类似方式)。
本发明方法的另一实施例可以通过与上一实施例相似的方法改造现有的MO驱动器来进行,与上一实施例不同的是,本例的存储装置使用可更换的存储介质(MO盘片),被设计为用FAT32文件系统组织和管理存储空间;整个存储空间只分为一个分区;在文件系统底层扇区读写处进行加/解密,该加密是基于整个存储空间的;在本实施例中,数据处理系统主机与所述外存储装置之间的基于文件系统的基本操作命令(集)可以采用这样的设计如图2所示,为数据处理系统主机上操作系统关于文件系统与文件应用之间的结构示意图,对于不同的文件系统,操作系统使用文件系统应用层接口来提供统一的文件应用调用接口,因此,数据处理系统主机与所述外存储装置之间的基本操作命令设计只要满足文件系统应用层接口(303)对基于文件系统的外存储装置(200)的最基本调用要求即可。也就是说,接口通道(93)上传递的是调用接口(363)。因此,只要参照调用接口(361)和调用接口(362),即可得到调用接口(363)的所需要的各种接口定义,也就是所需的数据处理系统主机与所述外存储装置之间的基于文件系统的各种操作命令。此外根据需要,可以增加一些关于系统设置和维护的操作命令,如建立文件系统,许可设置等。
本发明方法的再一实施例可以这样实现,使用本方法的读卡器或硬盘盒,其与常规的读卡器或硬盘盒的区别为在外存储装置内部用文件系统对存储空间进行组织和管理;将现有的硬盘装置与主机之间基于“块”的访问方式改为基于文件系统操作命令的访问方式;加入许可访问控制;加入日志(Log)记录;进行加/解密处理。
本实施例的读卡器或硬盘盒本身不具有存储空间,需通过接口使用另外的存储装置中的存储空间,例如通过CF接口使用CF卡,通过SD接口使用SD卡,通过IDE接口使用移动硬盘或电子硬盘;本实施例设计为存储空间被分为两个分区,使用FAT和EXT2文件系统分别组织和管理它们,在存储空间接口处进行加/解密,该加密也是基于整个存储空间的;在本实施例中,数据处理系统主机与所述外存储装置之间的基于文件系统的基本操作命令可以采用这样的设计抽象出覆盖操作外存储装置文件系统功能的最小(或最佳)功能单元覆盖,每个功能单元形成一个操作命令,并以此形成一规范,作为所有数据处理系统主机引用的标准。所述“操作外存储装置文件系统功能”包含本发明方法所涉及到的所有功能及附加功能。所述功能单元可以按以下分类进行,例如文件操作、目录操作、卷操作、许可操作、日志(Log)记录操作、系统设置与维护、其它杂项等等。
上述三个实施例中提供了三种数据处理系统主机与所述外存储装置之间的基于文件系统的基本操作命令的实现方法,这三种方法可以在实际使用中根据需要任意选用,而不是仅仅拘泥于所述实施例的用法。
本发明所述的装置可用图3所示的实施例予以说明,本实施例将实现一个具有USB接口(110)的硬盘存储装置(200),数据处理系统主机(100)对该存储装置(200)的数据访问请求是基于文件系统的操作命令,该硬盘存储装置(200)被设计为容量为30G;具有全盘加密功能,加密通过密钥进行;具有一个USB接口(160),可以接入其它的具有USB接口的存储装置(503),并操控与之进行数据交换本装置可对主机访问命令进行许可,并可记录访问过程;本装置具有显示屏(12)和键盘(11),以及四个全局开关,用于控制有关的输入/输出和状态;本装置具有系统设置功能,不需要主机即可完成外存储装置的设置、维护等工作。
该外存储装置(200)与主机系统连接的通道为USB总线(90),信息传输采用USB协议的Bulk Only传输方式下的自定义协议包;该外存储装置(200)的存储介质(500)位于外存储装置(200)内部,存储单元访问接口(120)为普通硬盘的介质读取装置(120);文件系统装置(182)采用FAT文件系统,存储空间共30G,分为2个分区,分区1为10G,分区2为20G,两个分区均使用FAT32文件系统;文件系统装置(182)核心由微处理器和固件(Firmware)完成;文件系统装置(182)在文件系统的底部调用介质读取装置(120),并在底层扇区写/读调用接口处进行加/解密处理,这里使用AES 128位加密,在加电时密码由键盘或密钥输入接口(16)输入。
设置一密钥输入接口(16),用于输入密钥;设置一组开关装置(10),其中包括读许可开关、写许可开关、删除许可开关、许可状态改变询问开关,这些开关用于控制全局(整个存储器装置)访问状态,开关可以是两态的(允许/禁止),也可以是三态(允许/禁止/询问),甚至是多态(允许/禁止/询问/凭密码/密钥等);设置一小键盘(11)和一小屏幕(12),可以参考手机的键盘和屏幕,用于显示和操作所需要的输入/输出;命令处理装置(181)核心由微处理器和固件(Firmware)完成,处理来自数据处理系统主机的命令,当外存储装置(200)作为其它设备的主机时,命令处理装置(181)还将完成用户发出的与数据交换相关的命令,用户发出的命令由小键盘操作进行;许可控制装置(183)核心由微处理器和固件(Firmware)完成,它根据开关装置(10)状态、命令处理装置(181)处理的命令以及命令的目标等因素决定许可结果,并把结果返回命令处理装置(181)。对于需要询问或需要密码/密钥的许可,许可控制装置(183)将调用键盘或密钥输入接口完成;日志记录装置(188)核心由微处理器和固件(Firmware)完成,它对命令处理装置(181)处理的命令以及命令的目标文件进行有关的操作按照一定的策略进行记录(Log),并保存在一个特殊的日志文件中,该文件需要最高的许可方可访问;系统设置装置(186)核心由微处理器和固件(Firmware)完成,主要完成用户对该存储装置(200)的有关系统参数设置、以及系统管理和维护等;USB接口(160)可以使用单独的USB Host芯片,如飞利浦(Philip)的USB HOST 2.0芯片,也可以选择和USB接口(110)共用接口芯片,如基于USB2.0OTG的芯片,甚至USB接口(160)和USB接口(110)可以被集成在微处理器中,如ATMEL公司的ARM920T系列高性能32位微处理器同时包含适用于USB接口(110)和USB接口(160)的接口,开关装置(10)、小键盘(11)、小屏幕(12)、USB接口(160)、以及USB接口(110)均和微处理器相连接。
命令处理装置(181),文件系统装置(182),许可控制装置(183),日志记录装置(188),系统设置装置(186)可以共用微处理器以及固件(Firmware)装置,因而,它们之间可以存在任意可能的连接或非连接关系。例如目志记录装置(188)与文件系统装置(182)可以直接相连接,也可以不直接相连接,而通过与命令处理装置(181)或许可控制装置(183)相连接,并进而通过它们调用文件系统装置(182)的有关功能模块。
为保证所述装置的性能,本实施例建议使用32位的高性能微处理器芯片,并使用较大容量FLASH芯片作为Firmware的存储单元,同时使用较大的SDRAM。
建议使用2-4MB的FLASH,8-16MB的SDRAM,50-100Mips以上的微处理器片,并在现有的嵌入式操作系统下实现。
命令处理的流程如图9所示。
处理来自主机命令的步骤主要是1.等待主机命令,并在到达时接受主机的命令;2.访问许可权限检查,对需要确认的,通知用户确认;3.如果满足访问许可,执行相应的命令;4.根据日志(Log)记录策略,记录有关操作过程;5.将结果返回主机;6.返回步骤1;
当外存储装置作为主机时,处理用户命令的流程主要为1.等待用户命令,并在到达时接受用户的命令;2.访问许可权限检查,对需要确认的,通知用户确认;3.如果满足访问许可,执行相应的命令;4.根据日志(Log)记录策略,记录有关操作过程;5.将结果返回用户;6.返回步骤1本发明所述的装置另一个实施例予图4所示,为一简单的IDE接口的存储装置(200),其接受主机发出的基于文件系统的操作命令。与上一实施例不同的是,其与主机的接口为IDE接口,只包含一个分区,使用NTFS文件系统。
目前,IDE接口有多种规范,一种只能使用ATA-1规范,另一种还可使用ATAPI规范,如增强的IDE接口(EIDE)。
对于只能使用ATA-1规范的IDE接口,为传输主机(100)与本实施例所述装置(200)之间命令与结果,必须对之改造,只使用其硬件通道,而重新定义协议与命令及数据的传输,该改造可以参照ATAPI规范对ATA-1规范的扩展,同时,对主机(100)的IDE接口驱动也需要加以改造。另一个可行的办法是,通过对外存储装置按ATA-1规范发送特定扇区的读写来传递信息,这可参照CD-R中的相似应用。
由于现有的IDE设备大都支持ATAPI规范,我们可以采用更好的方案。即通过ATAPI的协议包来发送我们自己的命令,这只需在主机上提供新的ATAPI协议命令的解释即可。我们甚至可以只使用ATAPI规范中的某个未定义的命令字(或者重定义某个命令字)作为我们发送信息的命令,而将实际的命令与参数一起作为数据发送。
本发明所述的装置另一个实施例予图5,为一具有SATA接口的MO驱动器(200),其接受主机发出的基于文件系统的操作命令。与前面实施例不同的是,它使用的是SATA接口,存储空间为可更换的MO盘片,只具有确定/取消两个按键,用于回答对于操作的询问。确定表示同意,取消表示不同意。
本发明所述的装置再一个实施例予图6,为一具有IEEE 1394接口的硬盘盒/读卡器(200),其接受主机发出的基于文件系统的操作命令。本实施例使用IEEE 1394接口(110)与数据处理系统主机(100)通信,其存储空间存在于另外的存储装置(IDE硬盘或CF卡或SD卡),通过相对应的IDE接口或CF接口或SD接口来访问。
在本实施例中,信息的显示是通过显示接口(16)接到另外的显示设备来进行,例如,可以通过RS-232发送到主机的终端程序。
图7为本发明所述装置的又一实施例,为一具有网络接口的硬盘装置,使用网络接口用于传输主机发出的基于文件系统的操作命令及返回结果,在本实施例中,另外的三个接口SD,CF和蓝牙用于接入SD卡,CF卡和具有蓝牙接口的外存储装置。
本实施例可以使用现有的网络传输协议上的远程函数调用来实现数据处理系统主机(100)对所述装置的数据访问命令。当然,也可以使用传统的网络基本协议上的自定义协议来进行。
图8为本发明所述装置的另一实施例,为一具有SCSI接口的外存储装置,使用SCSI接口用于传输主机发出的基于文件系统的操作命令及返回结果,本实施例在介质读取装置(120)的接口处加入了加密装置,用于提供基于扇区的全盘加密,该加密对文件系统是透明的,加密使用逻辑电路实现,使用密钥来控制和提供密码。
本实施例使用RS232接口与主机上的终端程序(串口)相连接,用于信息显示和信息输入。
在上述本发明所述装置的实施例中,外存储装置(200)即可以做为数据处理系统主机(100)的设备,又可以做为另外的外存储装置(503)的主机系统,从图9的命令流程也可以看到本发明所述的装置具有的这两种工作模式,这两种模式可以分别单独的工作,也可以同时工作,对于前者,只要在加电时候设置好工作模式即可,而对于后一种情况,则可以通过设置两个进程(或线程)来实现,其中一个进程(或线程)工作在设备模式,另一个工作在主机模式。
最后,对于所有新的协议,在数据处理系统主机端均需相应的支持软件(或驱动),这做为技术常识本说明书将不做过多的论述,而关于这方面的技术资料,通信协议相关的公开资料和数据处理系统主机端的操作系统的开发资料已经完全覆盖。
注*本说明书以及本发明其它文档和附图中所述IDE,如果不特别说明,均已涵盖了EIDE等由基本IDE发展而来的接口及规范。
权利要求
1.一种数据存储方法,包括存储空间的设立,外存储装置对存储空间的组织和管理方法,数据处理系统主机对外存储装置的数据访问的方法,其特征在于所述外存储装置本身可以包括存储介质,也可不包括存储介质,而通过接口装置访问可更换的存储介质或另外的存储装置中的存储空间;所述外存储装置对存储空间的组织和管理方法使用文件系统进行;所述数据处理系统主机对外存储装置的数据访问方法使用基于文件系统的操作命令方式进行;
2.按照权利要求1所述的存储方法,其特征在于,所述外存储装置对数据处理系统主机的数据访问请求可以进行许可控制,所述许可控制包括但不仅限于以下方法之中的任何一种或多种或它们的任意组合A.基于文件的许可控制;B.基于文件属性的许可控制;C.基于目录的许可控制;D.基于卷或分区的许可控制;E.基于外存储器装置的许可控制;F.基于某个操作命令的许可控制;G.基于某类操作命令的许可控制;H.基于访问时间的许可控制;I.基于访问者许可控制;J.基于访问频次的许可控制;K.基于访问顺序的许可控制;L.基于批次的许可控制;
3.按照权利要求2所述的方法,其特征是在于,所述许可方式可以是以下任何一种A.允许;B.禁止;C.询问;D.凭密码、密钥、智能卡或其它凭证;E.其它可能的方式;
4.按照权利要求1、2、3任何一项所述的方法,其特征是在于,所述外存储装置可以对数据处理系统的数据访问情况进行日志(Log)记录,日志(Log)记录策略包括但不仅限于以下方法之中的任何一种或多种或它们的任意组合A.基于文件的日志(Log)记录策略;B.基于文件属性的日志(Log)记录策略;C.基于目录的日志(Log)记录策略;D.基于卷或分区的日志(Log)记录策略;E.基于外存储器装置的日志(Log)记录策略;F.基于某个操作命令的日志(Log)记录策略;G.基于某类操作命令的日志(Log)记录策略;H.基于访问时间的日志(Log)记录策略;I.基于访问频次的日志(Log)记录策略;J.基于访问者的日志(Log)记录策略;所述日志(Log)记录内容可以包含以下内容的任何一种或多种或它们的任意组合1.访问开始时间;2.访问结束时间;3.访问次数;4.操作参数;5.操作过程;6.操作内容;7.访问者;8.目标文件名称;9.目标文件该次访问前的最后的有关状态和属性;10.其它用户设定的内容;
5.用于数据处理系统的外存储装置(200),包括用于连接数据处理系统主机(100)的接口(110),存储单元访问接口(120),其特征在于,还包括命令处理装置(181),用于接受并解释/执行数据处理系统传送过来的数据访问命令;文件系统装置(182),用于以文件系统组织和管理存储空间;命令处理装置(181)一端与接口(110)连接,从接口(110)获得数据处理系统主机(100)发出的数据访问命令,并把命令执行结果通过接口(110)装置返回数据处理系统主机;命令处理装置(181)另一端与文件系统装置(182)相连,通过文件系统装置(182)进行文件的存取访问;文件系统装置(182)一端与存储单元访问接口(120)相连,通过存储单元访问接口(120)访问存储空间;文件系统装置(182)另一端与命令处理装置(181)相连,为命令处理装置(181)提供基于文件系统的功能调用;所述数据访问命令为基于文件系统的操作命令;
6.按照权利要求5所述的装置,其特征在于,还包括许可控制装置(183),用于对来自数据处理系统主机(100)的数据访问进行许可控制,它与命令处理装置(181)直接或间接相连接;
7.按照权利要求5,6任何一项所述的装置,其特征在于,还包括日志记录装置(188),用于记录外存储装置(200)被数据处理系统主机(100)访问的状况,它与命令处理装置(181)直接或间接相连接;
8.按照权利要求5,6,7任何一项所述的装置,其特征在于,所述接口(110)可以是IDE(含增强IDE等)接口、SCSI、SAS、IEEE 1394接口、SATA接口、CE-ATA接口、USB接口、PCMCIA接口、CF接口、MMC接口、SD接口、SM接口、xD接口、MS接口、并口、网络接口或蓝牙接口中的任何一种,也可以是其它现有的或将来用于外存储装置的任何接口;
9.按照权利要求5,6,7,8任何一项所述所述的装置,其特征是在于,还包括以下部件的一个或多个或它们的任意组合A.开关装置(10)用于设置访问控制状态;B.输入装置(11)用于信息或控制输入;C.输出装置(12),用于信息或状态输出;D.输入/输出接口(16),用于连接另外的输入/输出设备;所述被包括的部件与命令处理装置(181)或许可控制装置(183)直接或间接相连接;
10.按照权利要求5,6,7,8,9任何一项所述所述的装置,其特征是在于,还包括一个或多个接口(160),可以接入具有同类接口的另外的存储装置(503),并能与之交换数据;所述接口(160)可以和接口(110)共用同一接口,也可以是单独的另一个接口;所述接口(160)和接口(110)可以是相同的接口类型,也可以是不同的接口类型;所述接口(160)可以是现有存储装置或将来存储装置使用的任何类型的接口,包括但不仅限于IDE(含增强IDE等)接口、SCSI、SAS、IEEE 1394接口、SATA接口、CE-ATA接口、USB接口、PCMCIA接口、CF接口、MMC接口、SD接口、SM接口、xD接口、MS接口、并口、网络接口或蓝牙接口中的任何一种。
全文摘要
用于数据处理系统的存储方法和装置,该方法和装置用于更好的控制数据交换,通过在外存储装置内部使用文件系统组织和管理存储空间,在文件系统层面上提供数据处理系统主机访问接口,并进行访问许可审核,从而可保证外存储装置对数据的绝对控制,保障了数据安全,可以避免非授权的数据访问,同时也避免了病毒潜在的通过外存储装置进行的主动性传播。通过对访问的日志(Log)记录以及对数据的加密,可以让用户更好的了解和掌握数据的被访问情况和更好的防止潜在的数据泄露、毁坏或丢失。外存储装置还可做为便携主机,对其它的存储装置进行读写,方便了便携应用。
文档编号G06F3/06GK1797372SQ20041010156
公开日2006年7月5日 申请日期2004年12月23日 优先权日2004年12月23日
发明者钟巨航 申请人:钟巨航