CN100476759C - 外存储器的虚拟分隔方法及其装置 - Google Patents
外存储器的虚拟分隔方法及其装置 Download PDFInfo
- Publication number
- CN100476759C CN100476759C CNB2005100539624A CN200510053962A CN100476759C CN 100476759 C CN100476759 C CN 100476759C CN B2005100539624 A CNB2005100539624 A CN B2005100539624A CN 200510053962 A CN200510053962 A CN 200510053962A CN 100476759 C CN100476759 C CN 100476759C
- Authority
- CN
- China
- Prior art keywords
- virtual
- memory
- storage
- quantum memory
- storer
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
外存储器的虚拟分隔方法及其装置,用于在外存储器上逻辑划分出多个连续或非连续的子存储器存储空间,并根据用途构成多个虚拟子存储器,每个虚拟子存储器可以包括一个或多个子存储器,且任何时刻多个虚拟子存储器中只有一个可存取,以达到隔离不同应用的目的;虚拟子存储器具有写保护功能,且子存储器之间可以安全共享,该方法支持存储器内存储单元的更换;另包括系统配置子存储器,用于提供虚拟分隔配置。所述方法及其装置实施在外存储器装置内,对外接口内侧,与接口种类无关。
Description
所属技术领域
本发明涉及计算机系统中的外存储器的管理技术,具体的说涉及一种将外存储器分隔成多个虚拟子存储器的方法和装置。
背景技术
存储器的虚拟分隔,指在一个存储器上逻辑上划分出多个子存储器存储空间,并根据用途构成多个虚拟子存储器,使得任何时刻多个虚拟子存储器中只有一个可存取,以达到与物理上的多个存储器的相同的功能和效果。
将一个存储器划分出多个虚拟子存储器的意义,在于数据安全性的提高,即将不同用途的程序和数据分别限定在与物理上等价的多个子存储器中,使不同用途的虚拟子存储器在任何时候都不能被主机共同使用。这种虚拟分隔与磁盘操作系统中所述的分区(FDISK)是不同的,分区技术构造的多个子磁盘(存储器)对主机系统来讲,可以被主机同时访问,存在的危险是各个分区之间的安全隐患可被相互传递,比如,任何一个分区感染了病毒,都可能传染给其他所有分区。所谓的分区隐藏技术,只是对操作系统进行欺骗的一种手段,黑客程序和病毒对分区的访问并不受操作系统的限制。
另一个好处,可以提供存储器的读写负载平衡和坏的扇区/磁道屏蔽。通常,外存储器的绝对0扇区(第一个扇区)一旦损坏,整个存储器将无法使用。虚拟分隔技术使子存储器的绝对0扇区可以变动,从而极大提提高了存储器的可用性。对于频繁使用的子存储器,可以调整其在外存储器中的物理位置,从而使整个外存储器能比较平均的被使用,提高使用寿命。
外存储器的与主机间的并行接口主要是EIDE(增强的IDE)接口和SCSI接口,外存储器的与主机间的串行接口主要有三种,分别是IEEE 1394,USB和SATA,随着存储器的多样化、高速化、移动化,和小型化,越来越多的开始使用串行接口与主机相连接。外存储器及装置现阶段主要有硬盘、各种电子盘,各种闪存盘以及各种存储卡转化而来的等价盘和各种接口的硬盘盒、读卡器等。
公开号为CN 1324023A专利申请(以下简称CN 1324023A)曾提出了“将一硬盘虚拟成多个彼此隔离独立子盘的装置和方法”,该发明所述的方法通过改写主机的BIOS系统来实现,但现在的操作系统,对于硬盘的使用,越来越不依赖BIOS系统,这就使得CN 1324023A的方法不再具有比较广泛的实际意义。
CN 1324023A所述的发明装置实施在硬盘与主机硬盘接口之间(参见CN 1324023A说明书图1,权利要求1),与主机硬盘接口和硬盘接口高度相关,既要仿真硬盘接口,又要仿真主机硬盘接口,还要在主机硬盘接口和硬盘接口之间接收、转发数据,非常复杂,而且接收、转发数据降低了硬盘的性能。另外,该发明的装置只针对IDE硬盘,未见其对SCSI硬盘,各种串口(USB、IEEE1394、SATA)硬盘以及所有接口的非硬盘的外存储器装置适用性的说明,事实上,SCSI接口,各种串口(USB、IEEE1394、SATA)硬盘和外存储器装置的工作方式与IDE硬盘在接口通道处理上有较大甚至本质的不同,CN 1324023A所述的发明装置缺乏对这些的支持说明。
CN 1324023A所述的发明装置所虚拟出来的多个子盘,与实际的应用并不完全一致,现实中,如果用户愿意,多个物理硬盘是可以同时挂在同一计算机上的,例如不同硬盘间相互数据转移的情况,CN 1324023A不能做到。
发明内容
本发明提供一种方法和装置,用于在外存储器上逻辑划分出多个连续或非连续的子存储器存储空间,并根据用途构成多个虚拟子存储器,每个虚拟子存储器可以包括一个或多个子存储器,且任何时刻多个虚拟子存储器中只有一个可存取,以达到隔离不同应用的目的;虚拟子存储器具有写保护功能,且子存储器之间可以安全共享,该方法支持存储器内存储单元的更换;另包括系统配置子存储器,用于提供虚拟分隔配置。所述方法及其装置实施在外存储器装置内,对外接口内侧,与接口种类无关。
方法和技术方案
外存储装置通过对外接口控制器(110)接受主机系统(100)的命令,并把命令结果通过对外接口控制器(110)返回给主机系统(100),也就是说,在外存储装置对外接口控制器(110)的内测,如控制单元(180)的命令解释器(182)和接口控制模块(181)之间,我们看到的就是命令和命令结果,我们只要在这里对命令中的地址信息进行逻辑映射,对命令结果中关于外存储装置物理参数的信息进行模拟替换,就可以“欺骗”主机系统(100),构造一个主机系统(100)认为实际存在的“外存储装置”,而实际上只是原来外存储器上的某一部分存储空间,通过对外存储器存储空间的划分和管理,就可以将物理的外存储器虚拟成多个子存储器。由于在该环节避免了直接与主机系统(100)的接口处理,所以不用关心具体的接口类型,同时,由于“映射”和“模拟替换”只是对地址信息和外存储装置的物理参数信息,而这两部分在外存储装置和主机的数据传输中所占比例非常小,所以对原外存储装置性能影响非常小,可以忽略不计。
这里,我们将外存储器内的一块存储空间所对应的存储体部分称为子存储器。
外存储器的存储空间可以被逻辑划分为多个连续或非连续的空间,也就是说可以被分为多个连续或非连续子存储器;
而虚拟子存储器指主机系统(100)在某一时刻看到的被虚拟分隔的外存储器,它包括此刻被选择的子存储器及其它它可访问的子存储器,也就是说,在本发明中,至少存在两种情况,虚拟子存储器可以包括不止一个子存储器:第一种情况是,多个子存储器被同时选择,这在本发明中是通过对多个子存储指定相同的选择序号来实现;第二种情况是,某个子存储器并没被“直接”选择,但也可能被当前的虚拟子存储器所使用,在本发明中,这通过子存储器之间的共享来实现,当一个子存储器被选择时,被其共享的子存储器也将被”间接”选择。
本发明所述的方法,用于在外存储器的存储空间划分出多个子存储器存储空间,并根据用途构成多个虚拟子存储器,使得任何时刻多个虚拟子存储器中只有一个可存取。
所述外存储器存储空间的划分可以是连续的,也可以是非连续的,但不重叠;
所述任何一个虚拟子存储器可由一个或多个相临或不相临的子存储器存储空间构成;
所述外存储器的虚拟分隔方法包含以下步骤:
a.在外存储器的存储空间划分出多个子存储器存储空间并把划分参数存储在存储装置中的步骤;
b.通过子存储器选择装置选择当前使用的虚拟子存储器的步骤;
c.将数据输入/输出中的相对于当前使用的虚拟子存储器的地址值转换为外存储器的绝对物理地址的步骤;
d.将数据输出中的外存储器的物理参数用与当前使用的虚拟子存储器等价的物理参数替换的步骤;
所述外存储器的虚拟分隔方法,还包括系统配置子存储器的建立方法,该方法用于提供一个安全和“干净”的系统配置和维护手段,包括如下步骤:
a.将系统配置子存储器与子存储器选择装置的一选择位置建立对应的步骤;
b.建立系统配置子存储器存储空间的步骤;
c.建立系统配置子存储器分区结构(DPT)并存储在所述存储空间的步骤;
d.将系统主引导记录(MBR)存储在所述存储空间的步骤;
e.将操作系统或操作系统及工具存储在所述存储空间的步骤;
f.将配置工具或配置工具及自身升级系统工具存储在所述存储空间的步骤;
所述外存储器的虚拟分隔方法,使用如下步骤将一个或多个相临或不相临子存储器的存储空间形成一个虚拟子存储器存储空间:
a.设置子存储器共享属性及子存储器间共享关系并存储在存储装置中的步骤;
b 对所述虚拟子存储器中的子存储器空间和被共享的子存储器空间统一编址的步骤;
c.建立共享状态下所述虚拟子存储器的分区/扩展分区结构并存储在存储装置中的步骤;
d.对共享状态下数据输出(读)方法中的有关虚拟子存储器的分区/扩展分区结构的内容进行替换或对共享状态下数据输入(写)方法中的有关虚拟子存储器的分区/扩展分区结构的内容进行保护的步骤;
为安全考虑,对于被共享的子存储器,缺省状态下为写保护;
所述外存储器划分为子存储器的方法(可同时指定共享关系),包括以下步骤:
a.在外存储器的存储空间上划分出多个不重叠的子存储器空间,并把子存储器空间在外存储器中的绝对开始位置,绝对结束位置存储在外存储器中的一存储装置中的步骤,该步骤根据存储器的容量和用户的用途,在外存储器空间上划分出N个子存储器空间,N>=1,N个子存储空间可以是相临的,也可以是不相临的,但不能重叠;
b.设置子存储器共享属性及子存储器间共享关系并存储在外存储器中的一存储装置中的步骤;被划分的子存储器可以被定义成共享属性,并可以指定被哪个或哪几个子存储器所共享,具有共享属性的子存储器在被共享时,缺省具有只读属性,在不被共享时,其读写属性由写保护状态位决定;
如果不设置,则缺省为无任何共享属性和共享关系;
c.根据存储空间的划分和共享的设置建立虚拟子存储器参数表并存储在非失记忆体装置的步骤,所述虚拟子存储器参数表包括本存储器或其存储单元的特征(序列号或标记),被划分成的子存储器个数,每个子存储器区的绝对开始位置,绝对结束位置,该子存储器可共享的虚拟子存储器序号等;
所述建立当前虚拟子存储器的方法,包括以下步骤:
a.读取子存储器选择装置获得当前使用的虚拟子存储器序号并存储在存储装置中;
b.读取对虚拟子存储器写保护状态并存储在存储装置中;
c.读取共享状态并存储在存储装置中的步骤;
d.根据当前使用的虚拟子存储器区序号和共享状态建立当前虚拟子存储器参数表并存储在存储装置的步骤,所述当前虚拟子存储器参数表一般包括如下参数:当前使用的子存储器的绝对开始位置、绝对结束位置,该子存储器可共享的虚拟子存储器的绝对开始位置、绝对结束位置,总扇区数,等价的柱面数、磁头数、每磁道扇区数,可用扇区数,以及用于加快计算所需要的其他中间数据,如每个子存储器或共享的子存储器的逻辑地址范围,容量或哈希表等;
e.建立与当前虚拟子存储器等价的虚拟物理参数表并存储在存储装置中的步骤,虚拟物理参数表是将原外存储器的物理参数表中的总容量用当前的虚拟子存储器容量(子存储器与被其共享的子存储器容量之和)替换,然后以此计算出等价的柱面数目、磁头数目、以及每磁道扇区数目及总的可用扇区数目等,并用这些参数替换原外存储器的物理参数表中相应的参数而来;主机系统在查询外存储器(虚拟子存储器)物理参数时,固件将构造的与当前虚拟子存储器等价的虚拟物理参数传递给主机系统;
f.建立当前虚拟子存储器逻辑地址空间的步骤,将当前虚拟子存储器内的子存储器和被共享的子存储器的存储空间逻辑相连,从0开始连续编址,结束地址为子存储器和被共享的子存储器容量之和减1;当前虚拟子存储器包括当前使用的子存储器以及被其共享的子存储器,后者缺省是只读的;
子存储器间共享的方法,包括以下步骤:
a.建立子存储器在非共享状态下分区/扩展分区结构并存储在子存储器的分区表/扩展分区表中;
b.读取共享状态并存储在存储装置中;
c.建立共享状态下分区/扩展分区结构并存储在存储装置中,所述步骤可以是:
c1.将被共享的子存储器的分区中的非扩展分区依次添加到子存储器的主引导扇区里的磁盘分区表(DPT)中的空闲分区记录中;
c2.将被共享的子存储器的分区中的扩展分区依次添加到DPT中的扩展分区链中的最后一个,如果DPT中无扩展分区记录,则创建一个;
c3.如果DPT中空闲的分区记录不能满足被共享的子存储器中的分区所需,则将被共享的子存储器中的独立分区也依次添加在DPT的扩展分区链上;
e4.如果DPT中的分区记录空间已经被占用完,而且没有扩展分区,则选择一个合适的分区记录,把其中的分区改造为扩展分区,并把被共享的子存储器中的所有分区添加在扩展分区链上;将分区改造为扩展分区所需要的额外的一个扇区使用系统扇区、隐藏扇区或其他空闲扇区或512字节的存储区虚拟扩展而来的扇区,选择合适的分区记录的策略可以由用户在系统配置时指定,缺省为最后一个合适的分区,其他的策略有最先合适、最大合适、最小合适、操作系统合适等策略;
d.对共享状态下分区/扩展分区结构与非共享状态下分区/扩展分区结构不同的地方建立扇区内容区别表并存储在存储装置中的步骤,扇区内容区别表可以这样来建立,其中每一项为一个扇区的区别内容,至少包括扇区逻辑地址,不同内容最小覆盖的偏移、长度,新的扇区内容,扇区内容区别表总项数为所述不同扇区的总对数,存储在扇区内容区别表的最开始部分;不同内容最小覆盖指内容不同的两个扇区内,第一处不同到最后一处不同的之间的全部内容:
e.对实际读命令中位于扇区内容区别表中的扇区结果替换的步骤,指共享状态下如果读命令中的扇区包括扇区内容区别表中的扇区,表示实际读出的是非共享状态下相应扇区的内容,使用扇区内容区别表中的新的扇区内容替换后,才是共享状态下相应扇区的内容,如此处理的好处是保持共享和非共享时虚拟存储器的分区/扩展分区结构;
f.对实际写命令中位于扇区内容区别表中的扇区写保护的步骤,共享时不允许修改虚拟存储器的分区/扩展分区结构;
外存储器装置内可更换存储单元虚拟分隔数据一致性建立的方法,如果外存储器划分为子存储器的方法所述的虚拟子存储器参数表存储在可更换存储单元内,则直接读出虚拟子存储器参数表即可得到所有的关于该可更换存储单元的虚拟分隔数据,否则,使用如下的步骤:
a.建立使用过的可更换存储单元的“虚拟分隔参数”列表并存储在非失记忆体装置的步骤,该步骤将本存储装置使用过的所有可更换存储单元的“虚拟分隔参数”保存在一个列表中,该列表的每一项是一个可更换存储单元的“虚拟分隔参数”及用于识别该可更换存储单元的特征,该特征可以是可更换存储单元的序列号或特殊的标记,列表位于非失存储体内,当最大列表项用完后,采用特定的算法进行淘汰,如最近使用,最少使用,FIFO…等等;
b.可更换存储单元虚拟分隔数据一致性检查的步骤,通过检查虚拟子存储器参数表中的序列号或标记与当前可更换存储单元的序列号和标记是否一致,来决定存储单元是否更换,如果更换,则转步骤c;
c.可更换存储单元虚拟分隔参数匹配的步骤,通过扫描“虚拟分隔参数”列表,从中寻找与当前可更换存储单元特征匹配的“虚拟分隔参数”,如果找到,则数据一致性建立完成,否则需要重建;
当前虚拟存储器读写地址转换为外存储器绝对读写地址的方法,包括以下步骤;
a.设当前虚拟子存储器的逻辑读写地址为addr,读写的长度为len,从当前虚拟子存储器参数表中获得如下参数:当前虚拟子存储器总容量为Cs,其中子存储器容量为C1,其在外存储器中的绝对开始地址为S1,被共享的子存储器容量分别为C2,...,Cm,被共享的子存储器在外存储器中的绝对开始地址分别为S2,...,Sm,将上述地址addr、长度len、容量C1-Cm,Cs、绝对开始地址S1-Sm分别存储在存储装置中,定义Sum(0)=0,Sum(n)=C1+...+Cn(其中,0<n<=m),分别计算Sum(1),Sum(2),…,Sum(m),Cs=Sum(m),将Sum(0),Sum(1),…,Sum(m)分别存储在存储装置中;
b.如果存储装置中的addr值小于0或大于等于存储装置中的Cs值,表示读写地址错;
c.设置变量k在整数1-m之间依次循环,找到满足存储装置中的addr值大于等于存储装置中的Sum(k-1)值且小于存储装置中的Sum(k),停止循环,此时获得的绝对读写地址为:存储装置中的addr值减去Sum(k-1)值加上Sk值,如果存储装置中的addr值加上len值大于Sum(k)值,则读写长度为存储装置中的Sum(k)值减去addr值,否则为存储装置中的原读写长度len值;
当前虚拟子存储器数据输出(读)的方法,包括以下步骤;
a.外存储器接收上层主机系统的读命令;
b.外存储器从读命令中获得读的相对于当前虚拟存储器的开始扇区和扇区长度;
c.将开始扇区地址转换为外存储器的绝对扇区地址作为读命令实际的开始地址;
d.检查转换后地址是否合法;
e.读取实际的扇区数据
f.如果共享开关装置处于共享状态,且读取的扇区包含“扇区区别表”中的扇区,则根据“扇区区别表”替换相应扇区的内容;
对于系统配置子存储器的读,如果系统配置子存储器的存储区不是外存储器存储单元上的一部分,则无须将开始扇区地址转换为外存储器的绝对扇区地址,直接读取相应非失记忆体装置即可。
当前虚拟子存储器数据输入(写)的方法,包括以下步骤;
a.外存储器接收上层主机系统的写命令以及欲写入的数据;
b.外存储器检查当前虚拟子存储器的写保护状态位;
c.外存储器从写命令中获得写的相对于当前虚拟子存储器的开始扇区和扇区长度;
d.如果共享开关装置处于共享状态,且写入的扇区包含“扇区区别表”中的扇区,或写入的扇区包含非分区内扇区,则写保护;
d.将开始扇区地址转换为外存储器的绝对扇区地址作为写命令实际的开始地址;
e.检查转换后地址是否合法,并对共享子存储器存储区扇区缺省写保护;
f.写入实际的扇区数据;
对于系统配置子存储器的写,如果系统配置子存储器的存储区不是外存储器存储介质上的一部分,则无须将开始扇区地址转换为外存储器的绝对扇区地址,直接写入相应非失记忆体装置的相应位置即可。
外存储器配置的方法,包括以下步骤:
a.设置当前使用的子存储器序号为系统配置序号;
b.从系统配置子存储器启动主机系统,并在主机上运行系统配置程序,或直接在主机上运行系统配置程序;
c.主机上的配置程序提醒用户对外存储器进行虚拟分割对现有数据的影响并询问用户是否继续操作,如果用户停止虚拟分割,则配置终止退出,否则进行下一步;
d.用户根据需要在主机上建立新的外存储器虚拟分割的方案,或读出外存储器上现有的虚拟分割的方案并进行修改;
e.主机上的配置程序检查提交的分割方案是否合法;
f.主机上的配置程序再次提请用户确认操作,并将用户的分割方案转换为外存储器控制单元认识的格式,并传输给控制单元,配置程序通过对系统配置子存储区的特定扇区进行特定的读写与控制单元交换系统配置信息和方案;
g.外存储器控制单元将再次检查分割方案的参数,如果没有错误,则保存在”虚拟子存储器参数表”中,否则返回主机系统参数表错误信息;
如果没有建立系统配置子存储器区,控制单元通过虚拟一个最小容量的虚拟”系统配置子存储器”来支持与主机的通讯,例如:虚拟一个仅具有最小容量的物理参数表给主机系统,然后对非特定扇区的主机系统的读操作,固定返回全0的扇区、写操作返回写保护。
子存储器选择装置设定一个系统配置序号的目的在于将存储器的使用与设置隔离开,安全性更好。
子存储器序号(该序号用于被子存储器选择装置所选择)建立方法,包括如下步骤:
a.设定划分出的子存储器与子存储器选择装置的对应关系,并保存在非失记忆体装置;该步骤如果缺省,则自动按子存储器空间地址从小到大依次与子存储器选择装置的选择序号从小到大分别对应;
b.与子存储器选择装置具有相同对应关系的子存储器将被虚拟到同一虚拟子存储器空间,并依据设定的先后次序或其他的规则(如地址大小顺排、逆排等)建立逻辑地址空间,设有m个子存储与子存储器选择装置具有相同对应关系,它们的容量分别为C1,C2,...,Cm,在外存储器里的绝对开始地址为S1,S2,...,Sm,定义Sum(0)=0,Sum(n)=C1+C2+…+Cn(其中,0<n<=m),则该虚拟子存储器逻辑空间范围为0-Sum(m)-1,第i个子存储器逻辑空间范围为Sum(i-1)-Sum(i-1)+Ci-1,对于逻辑地址addr,如果addr小于0或者大于等于Sum(m),表示地址非法,否则,依次在1-m之间寻找k,使得addr大于等于Sum(k-1)且小于Sum(k),此时,地址addr在外存储器里的绝对地址为Sk+addr-Sum(k-1),最大可读长度为:Sum(k)-addr
定义:m个与子存储器选择装置具有相同对应关系的子存储器存储空间构成的新的存储空间所对应的等价子存储器这里称之为组合子存储器。
子存储器序号建立与子存储器间共享的有关考虑:当组合子存储器与子存储器间共享方法作用到同一个子存储器时,子存储器间的关系理论上会变得复杂,而实际的应用并不象理论上那么复杂,可以这样处理,将组合子存储器作为一个整体(子存储器)参与子存储器间的共享,地址空间变换的时候,对于共享或被共享的组合子存储器要进行两次,第一次是虚拟子存储器地址到组合子存储器地址(参见“当前虚拟存储器读写地址转换为外存储器绝对读写地址的方法”,步骤c中的addr值减去Sum(k-1)即为相对于组合子存储器的地址),第二次是组合子存储器地址到子存储器的在外存储器里的物理地址(见子存储器序号建立方法:步骤b)。
所述的外存储器的虚拟分隔方法,其特征在于,虚拟划分的子存储器与子存储器选择装置的对应关系可以被任意设定,与子存储器选择装置具有相同对应关系的子存储器将被虚拟到同一虚拟子存储器空间
所述的外存储器的虚拟分隔方法,其特征在于所述非失记忆体装置可以是由快闪存储器(FLASH MEMORY)、EEPROM、FRAM、MRAM或其它的具有数据保持(在外存储器不加电情况下)功能的存储体装置构成,或者使用外存储中存储单元上的一块存储空间构成,或者它们的任意组合构成;
所述的外存储器的虚拟分隔方法,其特征在于适用于具有IDE/EIDE(增强的IDE)、SCSI、USB(通用串行接口),SATA(串行ATA)、IEEE1394、PCMCIA或其他的任意接口的硬盘、电子硬盘、各种电子盘、闪存盘、存储卡、读卡器、各种硬盘盒、ZIP盘、CF卡或任意掉电非失记忆体装置构成的存储体;
所述的外存储器的虚拟分隔方法,其特征在于所述划分的子存储器物理空间之间可以是相临的,也可以是不相临的,但不重叠,子存储器和被其共享的子存储器物理空间地址可以是不连续的,子存储器和被其共享的子存储器的存储空间逻辑相连,从0开始连续编址,结束地址为子存储器和被共享的子存储器容量之和减1;
所述的外存储器的虚拟分隔方法,其特征在于具有写保护功能,可对子存储器区数据写入写保护;
所述的外存储器的虚拟分隔方法,其特征在于所述系统配置子存储器是可引导的虚拟子存储器区,其中至少包括运行于主机上的操作系统及工具,运行于主机系统上的系统配置工具程序,运行于主机上的配置程序通过对系统配置子存储区的特定扇区进行特定的读写存取系统配置信息和方案;
所述的外存储器的虚拟分隔方法,其特征在于具有全局允许/禁止子存储器间的共享的功能,子存储器区和被其共享的子存储器通过分区/扩展分区的组织形式被主机系统使用,子存储器间共享时的分区/扩展分区结构由控制单元自动建立,无需用户干预,而且不影响非共享时的子存储器的分区/扩展分区结构,共享时自动对被共享的子存储器区进行写保护,并对分区/扩展分区结构写保护,一个分区或扩展分区只存在于一个子存储器(或共享的子存储器)区内,一个子存储器可以共享多个具有共享属性的子存储器,一个具有共享属性的子存储器可被多个子存储器共享;
所述的外存储器的虚拟分隔方法,其特征在于使用子存储器选择装置选择当前使用的子存储器;
所述的外存储器的虚拟分隔方法,其特征在于支持外存储器内存储单元的更换,可识别已经虚拟分割过的存储单元并自动建立或导入针对该存储单元虚拟分割的“虚拟子存储器参数表”。
所述的外存储器的虚拟分隔方法,通过设置一控制单元,来控制外存储器的虚拟分隔,包括:外存储器内部的划分与虚拟子存储器建立、控制虚拟子存储器地址转换与存取、控制子存储器间共享、控制可更换存储单元虚拟分隔数据一致性建立、控制系统配置子存储器的建立、以及控制外存储器系统配置;所述控制单元可以通过固件(Fireware)实现,可共用原外存储器的固件装置或扩大原外存储器的固件装置的容量;
发明的目的,还可以通过以下技术方案进一步的实现,一种外存储器装置,包括:对外接口控制器(110),控制单元(180),含接口控制模块(181)、命令解释器(182)和虚拟控制模块(183),存储单元(120)或含有可更换存储单元(120)的接口,写保护开关装置(140),子存储器选择装置(150),虚拟分隔参数存储装置(160),含虚拟划分参数存储装置(161)和虚拟共享参数存储装置(162),虚拟分隔参数列表存储装置(190),共享开关装置(170),系统配置子存储器装置(130)
其中:
虚拟分隔参数存储装置(160),用于存储对外存储器的虚拟分隔参数;
虚拟划分参数存储装置(161),用于存储对外存储器的虚拟划分参数;
虚拟共享参数存储装置(162),用于存储子存储器共享属性及共享关系参数;
虚拟参数列表存储装置(190),用于存储使用过的可更换存储单元的虚拟划分参数列表;
子存储器选择装置(150),用于选择当前使用的虚拟子存储器;
共享开关装置(170),用于设置全局的允许/禁止子存储器间共享状态;
写保护开关装置(140),用于对虚拟子储器写保护;
系统配置子存储器装置(130),是可引导的虚拟子存储器区,其中至少包括运行于主机上的操作系统,运行于主机系统上的系统配置工具;
虚拟控制模块(183),用于控制外存储器内部的划分与虚拟子存储器建立、控制虚拟子存储器地址转换与存取、控制子存储器间共享、控制可更换存储单元虚拟分隔数据一致性建立、控制系统配置子存储器的建立、以及控制外存储器系统配置;
所述外存储器装置中的虚拟控制模块(183),可由固件和微控制器实现,或者使用逻辑电路实现。
所述外存储器装置中的子存储器选择装置(150)、写保护开关装置(140)、共享开关装置(170)可以是由机械的或电子的,选择的或编码的,有线的或无线的,或者是通过接口选择或设定,它们可以是分别的装置,也可是合并在同一装置内的子装置;
所述外存储器装置中的虚拟分隔参数存储装置(160),虚拟参数列表存储装置(190),系统配置子存储器装置(130)中的存储体可以是由快闪存储器(FLASH MEMORY)、EEPROM、FRAM、MRAM或其他的非失记忆体或所述外存储器装置的存储单元(120)上的一块存储空间或它们的任意组合构成,它们可以是分别的存储装置,也可以是一个存储装置中的子存储装置;
所述外存储器装置,可以是具有IDE/EIDE(增强的IDE)、SCSI、USB(通用串行接口),SATA(串行ATA)、IEEE1394、PCMCIA或其他的任意接口的硬盘、电子硬盘、各种电子盘、闪存盘、存储卡、读卡器(包含或不包含存储卡)、各种硬盘盒(包含或不包含硬盘)、ZIP盘、CF卡或任意掉电非失记忆体装置构成的存储体;
所述外存储器装置,其支持存储单元的更换,即存储装置和存储空间可以分离,如磁光驱(MO Driver),以及读卡器(card reader),以及硬盘盒(harddisk box)等,在该种情况下外存储器装置的实际存储空间存在于另外的存储介质或存储器上,外存储器装置通过特定的接口去访问它们。
技术效果
本发明的方法和装置,可将一个外存储器变成多个虚拟子存储器,供不同需要的使用,具有较好的安全性。由于与外存储器的接口类型无关,不需要在主机和外存储设备之间增加仿真接口,可适用于任意接口外存储器,且对外存储设备的性能基本没有影响。
本发明对外存储器的划分是可以是连续的,也可以是非连续的,一个虚拟子存储器的物理存储空间可由多个子存储器存储空间组成,多个子存储器存储空间可以是不连续的,能有效地跳过坏道,增加外存储器的可用性。
通过本发明得到的虚拟子存储器具有写保护功能,而且子存储器之间可以安全共享,减少了共用/公用数据和程序在各虚拟子存储器内的重复存储。由于被共享的子存储器缺省有写保护,而且这种写保护除非用户自己改变,否则主机系统是无法自行改变的,所以很安全。
应用本发明的外存储器,其虚拟分隔支持存储器内存储单元(存储介质)的更换,支持读卡器类存储器和移动类存储器存储单元的更换。可用多种方式可用来选择子存储器,通过遥控开关或编码开关,可以对箱体里的外存储器做到不开箱控制,简单方便。
由于具有系统设置子存储器,可以直接引导,自带操作系统和工具、系统设置工具,升级工具,无需其他任何系统和额外的接口即可完成系统配置和虚拟划分功能,避免了其他系统可能的安全隐患的传播。
附图说明:
图1为普通外存储器的内部结构原理框图以及与主机系统的连接关系,其中:(80)外存储器,(90)总线,(100)主机系统,(110)接口控制器,(180)控制单元包括(181)接口控制模块,(182)命令解释器,(120)存储单元;
图2为本发明的外存储器装置的最小实现方案内部结构原理框图以及与主机系统的连接关系,其中:(80)外存储器,(90)总线,(100)主机系统,(110)接口控制器,(180)控制单元包括(181)接口控制模块、(182)命令解释器和(183)虚拟控制模块,(120)存储单元,(150)子存储器选择装置,(160)虚拟分隔参数存储装置包括(161)虚拟划分参数存储装置;
图3为本发明的外存储器装置的较大实现方案内部结构原理框图以及与主机系统的连接关系,其中:(80)外存储器,(90)总线,(100)主机系统,(110)接口控制器,(180)控制单元包括(181)接口控制模块、(182)命令解释器、(183)虚拟控制模块,(120)存储单元,(140)写保护开关装置,(150)子存储器选择装置,(160)虚拟分隔参数存储装置,包括(161)虚拟划分参数存储装置和(162)共享参数存储装置,(190)虚拟参数列表存储装置,(170)共享开关装置,(130)系统配置子存储器装置;
图4为本发明的实施例一:具有虚拟分隔功能的USB接口闪存盘/硬盘/硬盘盒的结构原理框图,该实施例的外存储器装置中的存储单元(120)与外存储器装置即可以是一体的,如USB硬盘,也可以是可分离/更换的,如USB接口的硬盘盒(Harddisk Box),该实施例是最佳实施例;
图5为本发明的实施例二:具有虚拟分隔功能的SATA接口硬盘的结构原理框图,该实施例是另一个最佳实施例;
图6为本发明的实施例三:具有虚拟分隔功能的SCSI接口的硬盘的结构原理框图;
图7为本发明的实施例四:具有虚拟分隔功能的1394接口的硬盘/硬盘盒的结构原理框图;
图8为本发明的实施例五:具有虚拟分隔功能的EIDE接口的ZIP盘的结构原理框图;
图9为本发明的方法和装置的地址变换和虚拟子存储器构成示意图,图中:(200)外存储器,(240)一个子存储器,(300)虚拟子存储器,(20)命令中的扇区地址,该图显示了单个子存储器构成虚拟子存储器的情况;
图10为本发明的方法和装置的另一地址变换和虚拟子存储器构成示意图,图中:(200)外存储器,(210)、(220)、(230)三个子存储器,(310)虚拟子存储器,(400)虚拟子存储器中的一个分区,(20)命令中的扇区地址,该图显示了三个单个子存储器构成虚拟子存储器以及分区地址转换的情况;
图11为本发明的主流程图;
图12为本发明的“扇区内容区别表”的使用流程图;
下面,结合附图和实施例进一步说明。
具体实施例:
本发明所述的方法可用图4所示的实施例一予以说明,实施例是在USB存储器内的USB接口内侧的控制单元(180)中虚拟控制模块(183)处实施本发明所述的方法的。
假定本实施例的硬盘容量为30G,欲做如下各部分之用:
部分1:工作,10G,分为两个区,C盘6G,D盘4G;
部分2:上网,5G,分为一个区,C盘5G;
部分3:游戏,12G,分为4个区,C盘5G,D盘3G,E盘3G,F盘1G;
部分4:存储系统软件、工具软件、各种驱动,2G空间,分为一个区,C盘2G;
下面,结合本实施例,更进一步的说明本发明所述的方法:
1.将硬盘空间划分为四个部分,每个部分的起始位置如下:
部分1:0.1G -10.1G
部分2:10.5G-15.5G
部分3:15.5G-27.5G
部分4:28.0G-30.0G
注意,部分1和部分2以及部分3和部分4之间是不连续的,而且部分1也不在硬盘空间的开始处。
2.设定部分4为共享属性,并指定部分4可被部分1和部分2以及部分3共享;
3.在非共享状态下对部分1-4按要求进行分区(FDISK),各部分的DPT项分别为2,1,2,1;
4.共享状态下,对虚拟子存储器进行统一逻辑编址,如下:
部分1:0-12G,其中C:0-6G,D:6-10G,E:10-12G(共享)
部分2:0-7G, 其中C:0-5G,D:5-7G(共享)
部分3:0-14G,其中C:0-5G,D:5-8G, E:8-11G,F:11-12G,G:12-14G(共享)
部分4:0-2G, 其中C:0-2G
5.建立共享状态下新的分区/扩展分区结构,即将共享部分分区将直接加入部分1和3的DPT的第3项;将共享部分分区直接加入部分2的DPT的第二项;将如此得到的分区/扩展分区结构与不共享时候的分区/扩展分区结构比较,得到扇区区别表,这里应该是部分1-3的DPT所在的扇区;
6.共享状态下构造的虚拟物理参数表中的部分主要参数如下:
部分 | 总容量 | 可用容量 |
1 | 12G | 12G |
2 | 7G | 7G |
3 | 14G | 14G |
4 | 2G | 2G |
7.共享状态下对接收到的主机的读写地址进行转换,见图9和图10,具体例子如下表:
虚拟子盘 | 虚拟子盘内地址/操作 | 子存储器 | 子存储器内地址 | 绝对地址 |
1 | 5G读写 | 1 | 5G | 5.1G |
1 | 11G读 | 4 | 1G | 29G |
3 | 6G读写 | 3 | 6G | 21.5G |
3 | 13G读 | 4 | 1G | 29G |
3 | 13G写 | 4 | 1G写保护 | 29G写保护 |
3 | 15G读写 | 非法地址 | 非法地址 | 非法地址 |
8.对虚拟子盘1-3,共享盘缺省是写保护的,所以不会在子盘1-3之间传递不安全因素;共享时,禁止写DPT,读DPT时,自动用共享时候的DPT替换(使用扇区区别表);
9.对于本发明方法中的涉及的其它的步骤的进一步说明如下:
1.系统配置子存储器区,如果实现时,设计了系统配置子存储器,可在其中装有操作系统(如免费的DOS 7.00或Linux操作系统)以及运行于相应操作系统下的系统配置工具,还可以包括一些其他的磁盘工具或杀毒软件等;如果实现时,没有设计系统配置子存储器,则需要通过控制单元(180)中的虚拟控制模块(183)在子存储器选择装置位于系统配置(子存储器)位置时,自动构造一个最小容量的系统配置子存储器虚拟空间,此时系统配置子存储器并没有实际的物理存储空间,仅用来支持与主机系统(100)之间的通信。控制单元(180)与主机系统(100)之间关于虚拟分隔的管理和维护的通信通过对系统配置子存储器的特定扇区的特定读写来进行,特定扇区可以是扇区地址为-1,0,n-1,n,n+1,m,或其它的某个特别值,其中m位于保留扇区内,n为系统配置子存储器可用扇区数,读写的数据以扇区为单位,在扇区内定义专门的结构和校验,进一步区别与正常的扇区读写。
2.虚拟分隔参数存储体(160)、系统配置子存储器存储体(130)的构成,可以使用单独的掉电非失记忆体或在外存储器上保留一块空间作为它们的存储体,保留的空间可以是外存储器的最开始或最后面的一块区域,也可以是其他地方的保留区域。
3.对于可更换存储单元(120)的虚拟分隔数据一致性的考虑,如果虚拟分隔参数存储体(160)存储在存储单元(120)上,虚拟分隔数据一致性没有任何问题,否则需要通过特征对比来搜索对该可更换存储单元(120)的虚拟分隔参数,此时,对有序列号的可更换存储单元(120),序列号即为特征,没有序列号的,控制单元(180)将产生一个唯一的序列号(如操作时的时间+足够大的随机数),保存在可更换存储单元(120)的特定位置(特定扇区的特定位置),为增加可靠性,可保存在多个不同地方。
图9和图10为本发明所述的虚拟子存储器的构成以及地址转换示意图,其中图九为单个子存储器构成虚拟子存储器的情况,图10为三个单个子存储器构成虚拟子存储器的情况。
图11和图12为本发明的流程图。
本发明的目的,还可以通过以下技术方案进一步的实现,一种具有虚拟分隔功能的USB接口的闪存盘/硬盘/硬盘盒,如图4所示,除包括一般USB接口的闪存盘/硬盘/硬盘盒所具有的USB接口控制器(110),控制单元(180)含接口控制模块(181)、命令解释器(182),存储单元(120)外,还包括:控制单元(180)含虚拟控制模块(183),写保护开关装置(140),子存储器选择装置(150),共享开关装置(170),虚拟分隔参数存储装置(160),含虚拟划分参数存储装置(161)和虚拟共享参数存储装置(162),虚拟参数列表存储装置(190),系统配置子存储器装置(130)
电路的连接关系为:
USB接口控制器(110)一端与USB总线相连,另一端与控制单元(180)和存储单元(120)相连,控制单元(180)与USB接口控制器(110)和存储单元(120)均连接(在某些情况下,为减少数据的传输环节,控制单元与存储单元的连接是通过USB接口控制器实现的,这依赖USB接口控制器的功能),存储单元(120)与控制单元(180)和USB接口控制器(110)均相连,这些连接均是双向连接,支持信号和数据的双向流动。控制单元(180)内的接口控制模块(181)、命令解释器(182)互相配合,完成存储器的基本的读写。
写保护开关装置(140),共享开关装置(170),子存储器选择装置(150)通过控制单元(180)接入虚拟控制模块(183),它们是单向输入信号;虚拟分隔参数存储装置(160)和虚拟参数列表存储装置(190)通过I2C总线接入控制单元(180)中的虚拟控制模块(183),I2C总线支持数据和信号的双向流动;系统配置子存储器装置(130)通过数据总线、地址总线和控制总线接入控制单元(180)中的虚拟控制模块(183),该连接支持数据和信号的双向流动;写保护开关装置(140)、共享开关装置(170)、子存储器选择装置(150)、虚拟分隔参数存储装置(160)、虚拟参数列表存储装置(190)、系统配置子存储器装置(130)与虚拟控制模块(183)一起用于存储器的虚拟分隔功能。
主机系统(100)通过USB总线(90)与具有虚拟分隔功能的USB接口的闪存盘/硬盘/硬盘盒(80)的USB接口控制器(110)相连接,传输数据和命令,具有虚拟分隔功能的USB接口的闪存盘/硬盘/硬盘盒(80)的控制单元(180)中的接口控制模块(181)用于处理与接口有关的操作,并把USB接口控制器(110)收到的命令传递给控制单元(180)中虚拟控制模块(183),虚拟控制模块(183)根据命令的性质决定是否需要进行地址变换或构造虚拟物理参数,或进入设置,然后根据处理的结果,决定是否调用命令解释器(182),如果调用命令解释器(182),命令解释器(182)执行实际的存储体的存取,并返回虚拟控制模块(183),虚拟控制模块(183)根据需要决定是否对命令结果进行处理,最后虚拟控制模块(183)通过USB接口控制模块(181)模块将结果返回给主机系统(100)。整个过程的主要流程图如图11和图12所示,图11是命令处理流程和配置处理流程,图12为共享状态下的使用“扇区内容区别表”进行内容替换的流程。
存储单元(120)可以是闪存存储单元或硬盘存储单元或硬盘,分别对应USB接口的闪存盘、USB接口的硬盘、USB接口的硬盘盒三种USB外存储器,闪存存储单元或硬盘存储单元均为公示成熟技术或部件,硬盘更是现成的商品。
USB接口控制器(110),控制单元(180),包括接口控制模块(181)和命令解释器(182)是其技术领域成熟的现有技术。
写保护开关装置(140),共享开关装置(170),子存储器选择装置(150),由于USB接口的存储器一般是外置使用,它们均可以使用机械开关完成,其中写保护开关装置(140)和共享开关装置(170)使用拨动开关,子存储器选择装置(150)使用旋转式8选1开关,所有开关都位于用户方便触及的地方且不影响存储器的放置。对于其他位于箱体内的如SCSI接口或EIDE接口的外存储器,可以考虑使用遥控开关或通过接口引出到箱体外部设定。旋转式8选1开关可提供最多7个用户定义的虚拟子存储器的选择,另一个为系统配置用。
写保护开关装置(140),共享开关装置(170),子存储器选择装置(150)可以直接通过控制单元(180)的I/O口接入,或者在控制单元(180)的I/O比较紧张的时候,对子存储器选择装置(150)进行编码,以减少I/O口数量,甚至可以通过锁存器来扩展I/O。它们与控制单元的连接是单向的,即输入到控制单元(180)。
虚拟分隔参数存储装置(160)和虚拟参数列表存储装置(190)使用串行的EEPROM构成,如24C16A、24C32等,与控制单元(180)之间使用I2C接口,或者使用软件模拟I2C接口。需要占用两个I/O口线。对于具有虚拟分隔功能的USB接口的硬盘盒,其中的硬盘是可更换的,虚拟参数列表存储装置(190)中可将硬盘的序列号作为特征予以保存和做为检索、匹配之使用。
系统配置子存储器装置(130),本实施例的系统配置子存储器容量设定为1M,由通用的并行FLASH芯片构成,其中装有可引导的免费DOS系统、系统配置工具和磁盘工具等。FLASH芯片直接连接于控制单元(180)的总线上,对于地址线比较少的控制单元(180),可以考虑通过增加锁存器来扩展地址线的高位。FLASH芯片的位宽及电压与控制单元(180)一致即可。
对于系统配置子存储器装置(130)和虚拟分隔参数存储装置(160)使用存储单元(120)上的存储空间时,可以这样处理:保留一块存储单元(120)上的存储空间,可以在最前或最后,容量要大于虚拟分隔参数存储装置(160)和系统配置子存储器装置(130)容量之和,系统配置子存储器装置(130)容量可由系统或用户设定,剩余部分为用户可划分区域。另外,还可以采用另外一种方法,即仅保留虚拟分隔参数存储装置(160)的存储空间,由用户将划分的某个子存储器区指定为系统配置子存储器区。
图5为本发明的实施例二:具有虚拟分隔功能的SATA接口硬盘的结构原理框图,其中,除包括一般SATA接口的硬盘所具有的SATA接口控制器(110),控制单元(180)含接口控制模块(181)、命令解释器(182),硬盘存储单元(120)外,还包括:控制单元(180)含虚拟控制模块(183),写保护开关装置(140),子存储器选择装置(150),共享开关装置(170),虚拟分隔参数存储装置(160),含虚拟划分参数存储装置(161)和虚拟共享参数存储装置(162),虚拟参数列表存储装置(190),系统配置子存储器装置(130)
系统配置子存储器装置(130)是硬盘存储单元(120)上的一块存储空间;
图6为本发明的实施例三:具有虚拟分隔功能的SCSI接口的硬盘的结构原理框图,其中,除包括一般SCSI接口的硬盘所具有的SCSI接口控制器(110),控制单元(180)含接口控制模块(181)、命令解释器(182),硬盘存储单元(120)外,还包括:控制单元(180)含虚拟控制模块(183),写保护开关装置(140),子存储器选择装置(150),共享开关装置(170),虚拟分隔参数存储装置(160),含虚拟划分参数存储装置(161)和虚拟共享参数存储装置(162),虚拟参数列表存储装置(190),系统配置子存储器装置(130)
虚拟分隔参数存储装置(160)包括虚拟划分参数存储装置(161)和共享参数存储装置(162),是硬盘存储单元(120)上的一块存储空间;
图7为本发明的实施例四:具有虚拟分隔功能的1394接口的硬盘/硬盘盒的结构原理框图,其中,除包括一般1394接口的硬盘/硬盘盒所具有的SATA接口控制器(110),控制单元(180)含接口控制模块(181)、命令解释器(182),硬盘存储单元/硬盘(120)外,还包括:控制单元(180)含虚拟控制模块(183),写保护开关装置(140),子存储器选择装置(150),共享开关装置(170),虚拟分隔参数存储装置(160),含虚拟划分参数存储装置(161)和虚拟共享参数存储装置(162),系统配置子存储器装置(130)
系统配置子存储器装置(130),虚拟分隔参数存储装置(160)是硬盘存储单元/硬盘(120)上的一块存储空间,虚拟分隔参数列表(190)是可选项,不再是必须的;
图8为本发明的实施例五:具有虚拟分隔功能的EIDE接口的ZIP盘的结构原理框图,其中,除包括一般EIDE接口的ZIP所具有的EIDE接口控制器(110),控制单元(180)含接口控制模块(181)、命令解释器(182),ZIP盘片(120)外,还包括:控制单元(180)含虚拟控制模块(183),写保护开关装置(140),子存储器选择装置(150),虚拟分隔参数存储装置(160),含虚拟划分参数存储装置(161)
存储单元(120)是可更换的ZIP盘片;
上述所有实施例中的虚拟控制模块(183)用于控制与虚拟分隔相关的操作和步骤,可由控制单元(180)中的微控制器和固件实现,或者使用逻辑电路实现。虚拟控制模块(183)完成和需要由其配合完成的有关方法和步骤如下(不同的实施例可能只需要其中的一部分):
外存储器划分为子存储器的方法;
建立当前虚拟子存储器的方法;
系统配置子存储器区的建立方法;
子存储器间共享的方法;
外存储器装置内可更换存储单元虚拟分隔数据一致性建立的方法;
当前虚拟存储器读写地址转换为外存储器绝对读写地址的方法;
当前虚拟子存储器数据输出(读)的方法;
当前虚拟子存储器数据输入(写)的方法;
外存储器配置的方法;
子存储器序号建立方法;
上述方法和步骤在本发明所述的外存储器的虚拟分隔方法中已有描述,这里不再重复。
Claims (10)
1.一种外存储器的虚拟分隔方法,用于在外存储器的存储空间划分出多个子存储器存储空间,并根据用途构成多个虚拟子存储器,使得任何时刻多个虚拟子存储器中只有一个可存取,包括:
a.在外存储器的存储空间划分出多个子存储器存储空间并把划分参数存储在外存储器内的一存储装置中的步骤;
b.将数据输入/输出中的相对于当前使用的虚拟子存储器的地址值转换为外存储器的绝对地址的步骤;
c.将数据输出中的外存储器的物理参数用与当前使用的虚拟子存储器等价的物理参数替换的步骤;
其特征在于,还包括:
d.将所述多个虚拟子存储器与子存储器选择装置的不同选择位置建立对应关系的步骤;
e.通过子存储器选择装置获得当前使用的虚拟子存储器的步骤;
所述外存储器存储空间的划分可以是连续的,也可以是非连续的,但不重叠;
所述每个虚拟子存储器可由一个或多个相临或不相临的子存储器存储空间构成;
所述步骤b,c通过虚拟控制模块实施,所述虚拟控制模块位于外存储器内,对外接口内侧,外存储器控制单元的命令解释器和接口控制模块之间,所述之间包括命令解释器和接口控制模块;
所述子存储器选择装置使用独立的控制接口或通道。
2.按照权利要求1所述的方法,其特征在于,所述多个虚拟子存储器中,至少包括系统配置子存储器,用于对外存储器的虚拟分隔进行配置;
所述子存储器选择装置具有与之相对应的系统配置子存储器选择位置。
3.按照权利要求2所述的方法,其特征在于,系统配置子存储器中至少存储有运行于主机上的系统配置工具及该系统配置工具所依赖的基本运行环境或操作系统。
4.按照权利要求2所述的方法,其特征在于,只有当子存储器选择装置位于系统配置子存储器选择位置时,才可对外存储器进行虚拟分隔配置。
5.一种外存储器装置,包括对外接口控制器(110),控制单元(180),存储单元(120)或具有一个可更换的存储单元(120)的接口,所述对外接口控制器(110)用于接收对外存储器操作的命令和数据,控制单元(180)解释所述的命令和数据,并根据需要对存储单元(120)进行访问,结果通过对外接口控制器(110)返回,
其特征在于,还包括:
一虚拟分隔参数存储装置(160),用于存储对外存储器的虚拟分隔参数;
一子存储器选择装置(150),用于选择当前使用的虚拟子存储器;
一虚拟控制模块(183),用于控制:
接受对外存储器的划分并将划分参数保存在虚拟分隔参数存储装置(160)中;
通过子存储器选择装置获得当前使用的虚拟子存储器;
将数据输入/输出中的相对于当前使用的虚拟子存储器的地址值转换为外存储器的绝对物理地址;
将数据输出中的外存储器的物理参数用与当前使用的虚拟子存储器等价的物理参数替换;
所述虚拟分隔参数存储装置(160)中的存储体可以是由快闪存储器、EEPROM、FRAM、MRAM或其他的掉电非失记忆体或所述外存储器装置的存储单元(120)上的一块存储空间或它们的组合构成;
所述虚拟控制模块(183)位于控制单元(180)内;
所述控制单元(180)位于对外接口控制器(110)和存储单元(120)之间,或对外接口控制器(110)和可更换的存储单元(120)访问接口之间;
所述子存储器选择装置使用单独的控制接口;
所述虚拟分隔参数存储装置(160)、子存储器选择装置(150)、虚拟控制模块(183)一起用于在外存储器的存储空间划分出多个子存储器存储空间,并根据用途构成多个虚拟子存储器,使得任何时刻多个虚拟子存储器中只有一个可存取。
6.按照权利要求5所述的装置,其特征在于,还包括:
虚拟共享参数存储装置(162),用于存储子存储器共享属性及共享关系;
所述虚拟控制模块(183)还用于控制将子存储器和被该子存储器所共享的其他子存储器的存储空间一起构成一个虚拟子存储器。
7.按照权利要求5,6任何一项所述的装置,其特征在于,还包括系统配置子存储器装置(130),所述系统配置子存储器装置(130)是可引导的虚拟子存储器,其中至少包括运行于主机上的系统配置工具及该系统配置工具所依赖的基本运行环境或操作系统,用于对外存储器的虚拟分隔进行配置;
所述系统配置子存储器装置(130)中的存储体可以是由快闪存储器、EEPROM、FRAM、MRAM或其他的掉电非失记忆体或所述外存储器装置的存储单元(120)上的一块存储空间或它们的组合构成。
8.一种外存储器的虚拟分隔方法,用于在外存储器的存储空间划分出多个子存储器存储空间,并根据用途构成多个虚拟子存储器,使得任何时刻多个虚拟子存储器中只有一个可存取,包括:
a.在外存储器的存储空间划分出多个子存储器存储空间的步骤;
b.通过子存储器选择装置获得当前使用的虚拟子存储器的步骤;
c.将数据输入/输出中的相对于当前使用的虚拟子存储器的地址值转换为外存储器的绝对地址的步骤;
d.将数据输出中的外存储器的物理参数用与当前使用的虚拟子存储器等价的物理参数替换的步骤;
其特征在于,至少一个所述虚拟子存储器包括两个或两个以上的子存储器存储空间。
9.按照权利要求8所述的方法,其特征在于,至少同一子存储器存储空间被两个或两个以上的虚拟子存储器所共享。
10.按照权利要求9所述的方法,其特征在于,还包括对被共享的子存储器存储空间进行写保护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100539624A CN100476759C (zh) | 2004-03-16 | 2005-03-15 | 外存储器的虚拟分隔方法及其装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200410008720.9 | 2004-03-16 | ||
CN200410008720 | 2004-03-16 | ||
CNB2005100539624A CN100476759C (zh) | 2004-03-16 | 2005-03-15 | 外存储器的虚拟分隔方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1690984A CN1690984A (zh) | 2005-11-02 |
CN100476759C true CN100476759C (zh) | 2009-04-08 |
Family
ID=35346438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100539624A Expired - Fee Related CN100476759C (zh) | 2004-03-16 | 2005-03-15 | 外存储器的虚拟分隔方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100476759C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882058A (zh) * | 2010-05-26 | 2010-11-10 | 孟智平 | 一种将存储设备虚拟划分为多个设备的方法 |
CN102890618B (zh) * | 2011-07-19 | 2016-02-17 | 杭州华澜微电子股份有限公司 | 一种带分区管理的存储扩展设备 |
CN104639981B (zh) * | 2015-02-05 | 2018-01-30 | 深圳创维-Rgb电子有限公司 | 电视系统开启方法和电视 |
CN107392011B (zh) * | 2017-08-22 | 2019-11-22 | 海光信息技术有限公司 | 一种内存页转移方法 |
-
2005
- 2005-03-15 CN CNB2005100539624A patent/CN100476759C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1690984A (zh) | 2005-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100524188C (zh) | 对外存储器在接口转换中进行虚拟分隔的装置 | |
KR100599429B1 (ko) | 파티션 작성 방법 및 삭제 방법 | |
KR102358477B1 (ko) | 인터페이스 제어 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법 | |
CN100419713C (zh) | 对大容量存储器储存装置进行分割的方法 | |
CN101268449B (zh) | 数据记录装置以及数据记录方法 | |
KR100449485B1 (ko) | 스트라이핑 시스템 및 이의 매핑 및 처리방법 | |
TWI464586B (zh) | 記憶體系統 | |
CN103080894A (zh) | 存储系统、存储系统的管理方法和程序 | |
CN105824879B (zh) | 一种基于PostgreSQL块存储设备的迁移方法 | |
WO1999030239A1 (fr) | Memoire et procede d'acces | |
US10678470B2 (en) | Computer system,control method for physical storage device,and recording medium | |
JPWO2009153982A1 (ja) | 複数区分型不揮発性記憶装置およびシステム | |
CN104347104A (zh) | 一种大容量存储设备 | |
US6983355B2 (en) | Virtualization of physical storage using size optimized hierarchical tables | |
CN100476759C (zh) | 外存储器的虚拟分隔方法及其装置 | |
CN101789019A (zh) | 一种可移动磁盘在Windows下的控制方法 | |
CN108628541A (zh) | 一种文件存储的方法、装置及存储系统 | |
KR102316271B1 (ko) | 데이터 저장장치의 주소 맵핑 테이블 운용 방법 | |
CN107908571A (zh) | 一种数据写入方法、闪存装置及存储设备 | |
CN108399050A (zh) | 一种数据处理方法及装置 | |
CN108304142B (zh) | 一种数据管理方法和装置 | |
CN105630879A (zh) | 一种PostgreSQL块存储设备读写模块 | |
CN112988055A (zh) | 包括键值存储装置的机器和操作键值存储装置的方法 | |
CN112148226A (zh) | 一种数据存储方法及相关装置 | |
Daylight et al. | Memory-access-aware data structure transformations for embedded software with dynamic data accesses |
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: 20090408 Termination date: 20150315 |
|
EXPY | Termination of patent right or utility model |