具体实施方式
在下文中将参照附图描述本发明的优选实施例。
根据本发明,在存储卡中提供控制程序以符合多个标准,并且利用外部开关或者内部控制程序来切换存储卡内部的控制程序或控制器件,从而选择适合于主机控制器的存储卡标准。
在本发明中,如上所述的多个标准被认为是具有类似形状和类似电特性的标准。将在下面描述的例子(第一至第八实施例)针对SD卡和MMC卡,以及针对SD卡和SDHC存储卡。但本发明并不局限于这些特定卡。
[第一实施例]
图1是示出了根据本发明第一实施例的非易失性存储卡的内部配置的方块图。根据第一实施例的非易失性存储卡2包括控制器件4、非易失性存储器6和程序存储存储器8。
非易失性存储卡2用于经由控制器件4来执行非易失性存储器6和主机控制器(未示出)之间的数据传送。提供用于控制第一存储卡的控制程序12a、用于控制第二存储卡的控制程序12b以及初始化程序10以作为控制程序。
在根据第一实施例的非易失性存储卡2中,用于第一存储卡或者第二存储卡的控制程序12a或者12b可以在执行初始化程序10之后执行。例如,执行用于SD卡的控制程序或者用于MMC的控制程序以使非易失性存储卡2作为SD卡或者MMC运行。下面将参照第三及以上实施例描述做出选择的方法和用于操作的机制。
另一个例子是用于第一存储卡的控制程序12a是用于SD卡的控制程序,而用于第二存储卡的控制程序12b是用于SDHC存储卡的控制程序。
[第二实施例]
图2A和2B是示出了根据本发明第二实施例的非易失性存储卡的内部配置的方块图。根据第二实施例的非易失性存储卡2包括第一控制器件4a、第二控制器件4b、非易失性存储器6和写保护开关16。
非易失性存储卡2经由控制器件(即,第一控制器件4a或者第二控制器件4b)来执行非易失性存储器6和主机控制器(未示出)之间的数据传送。控制器件4a用于控制第一存储卡,并且控制器件4b用于控制第二存储卡。控制器件的数目可以更大。
在根据第二实施例的非易失性存储卡2中,写保护开关16对写第一存储卡提供保护,但是不对写第二存储卡提供保护。
所述电路被配置为当写保护开关16被设置在写使能位置时(如图2A所示),控制器件4a被置为运行状态。在此情况下,主机控制器可以根据第一存储卡的方法与非易失性存储卡2交换数据。因为写保护开关16被设置在写使能位置,所以可以向作为第一存储卡的存储卡写入数据。
而且,所述电路被配置为当写保护开关16被设置在写禁止位置时(如图2B所示),控制器件4b被置为运行状态。在此情况下,主机控制器可以根据第二存储卡的方法与非易失性存储卡2交换数据。尽管写保护开关16被设置在写禁止位置,但因为写保护开关16不提供对第二存储卡的写保护(即,开关设置被忽略),因此可以向作为第二存储卡的存储卡写入数据。
在下文中,将对具有用于SD卡的控制器件和用于MMC的控制器件的存储卡的例子进行描述。SD卡对应于如上所述的第一存储卡,而MMC对应于如上所述的第二存储卡。当希望作为SD卡运行时,写保护开关16被设置在写使能位置。在此情况下,主机控制器可以根据SD卡的方法与非易失性存储卡2交换数据。因为写保护开关16被置于写使能位置,所以数据可以被写到非易失性存储卡2。
当希望作为MMC运行时,写保护开关16被设置在写禁止位置。在此情况下,主机控制器可以根据MMC的方法与非易失性存储卡2交换数据。因为写保护开关16的设置被忽略,所以数据可以被写到非易失性存储卡2。
另一个例子是存储卡具有用于SD卡的控制器件和用于SDHC存储卡的控制器件。SD卡对应于第一存储卡,而SDHC存储卡对应于第二存储卡。
在根据第二实施例的非易失性存储卡2中,使用写保护开关16的写使能/禁止开关机制被用于切换存储卡的控制器件。这使得可以在不增加另一个物理开关的情况下增加切换功能。
[第三实施例]
图3A和3B是示出了根据本发明第三实施例的非易失性存储卡的内部配置的方块图。根据第三实施例的非易失性存储卡2包括控制器件4、非易失性存储器6、程序存储存储器8和写保护开关16。
非易失性存储卡2用于经由控制器件4来执行非易失性存储器6和主机控制器(未示出)之间的数据传送。提供用于控制第一存储卡的控制程序12a、用于控制第二存储卡的控制程序12b以及初始化程序10作为控制程序。
在根据第二实施例的非易失性存储卡3中,写保护开关16对写第一存储卡提供保护,但是不对写第二存储卡提供保护。
进行规定,以使得当写保护开关16被设置在写使能位置(如图3A所示)时,初始化程序用来选择用于第一存储卡的控制程序12a。在此情况下,主机控制器可以根据第二存储卡的方法与非易失性存储卡1交换数据。因为写保护开关16被设置在写使能位置,所以数据可以被写到用作第一存储卡的存储卡。
进行进一步规定,以使得当写保护开关16被设置在写禁止位置时(如图3B所示),初始化程序用来选择用于第二存储卡的控制程序12b。在此情况下,主机控制器可以根据第二存储卡的方法与非易失性存储卡2交换数据。尽管写保护开关16被设置在写禁止位置,但因为写保护开关16不提供对第二存储卡的写保护(即,开关设置被忽略),所以数据可以被写到用作第二存储卡的存储卡。
在下文中,将对配备有用于SD卡的控制程序和用于MMC的控制程序的存储卡的例子进行描述。SD卡对应于如上所述的第一存储卡,而MMC对应于如上所述的第二存储卡。当期望作为SD卡运行时,写保护开关16被设置在写使能位置。在此情况下,主机控制器可以根据SD卡的方法与非易失性存储卡2交换数据。因为写保护开关16被置于写使能位置,所以数据可以被写到非易失性存储卡2。
当希望作为MMC运行时,写保护开关16被设置在写禁止位置。在此情况下,主机控制器可以根据MMC的方法与非易失性存储卡2交换数据。因为写保护开关16的设置被忽略,所以数据可以被写到非易失性存储卡2。
另一个例子是存储卡具有用于SD卡的控制器件和用于SDHC存储卡的控制器件。SD卡对应于第一存储卡,而SDHC存储卡对应于第二存储卡。
与在第二实施例中一样,根据第三实施例的非易失性存储卡2被配置为,使用写保护开关16的写使能/禁止开关机制被用于切换存储卡的控制器件。这使得可以增加切换功能而无需增加另一个物理开关。
在根据第三实施例的非易失性存储卡2中,提供单个控制器件。与具有多个控制器件的第二实施例的存储卡相比较,可以减少成本。
[第四实施例]
图4A是根据本发明第四实施例的非易失性存储卡的内部配置的方块图。根据第四实施例的非易失性存储卡与根据第三实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件由相同的附图标记指代,并且将省去对其的描述。
在如上所述的根据第三实施例的非易失性存储卡的情况下,没有定义切换控制程序的定时。根据第四实施例的非易失性存储卡2被配置为,将开关17被切换至另一个位置的时间用作切换控制程序的定时。根据第四实施例的非易失性存储卡2包括开关17,其产生中断信号15。或者,写保护开关16可以用作开关17。
如图4A所示,当希望将非易失性存储卡2作为第一存储卡使用时,开关17被设置在开(open)位置。在此情况下,当切换时发生中断,从而执行存储在程序存储存储器8中的中断处理器程序20,以选择用于第一存储卡的控制程序。因此,主机控制器可以根据第一存储卡的方法与非易失性存储卡2交换数据。
相反,当希望将非易失性存储卡2作为第二存储卡使用时,开关17被设置在关(closed)位置。同样,在此情况下,当切换时发生中断,从而执行存储在程序存储存储器8中的中断处理器程序20,以选择用于第二存储卡的控制程序。因此,主机控制器可以根据第二存储卡的方法与非易失性存储卡2交换数据。
图4B是示出了在设置开关17时为存储卡选择控制程序的中断处理器程序的过程的流程图。当该过程开始时(例如,当接通时)(S02),中断处理器程序20确定从开关17传送的中断信号15的状态(S04),并且响应于此,执行用于第一存储卡的控制程序或者用于第二存储卡的控制程序(S06,S10)。在图4B中,相对于S04的“H”对应于开关17的开状态,而且“L”对应于开关17的关状态。
即使在执行用于第一存储卡的控制程序12a或者用于第二存储卡的控制程序12b(S06,S10)期间,当开关17的状态变化时(在S08的“是”,在S12的“是”),中断处理器程序20也会确定中断信号15的状态(S04),并且响应于此,执行用于第一存储卡的控制程序或者用于第二存储卡的控制程序(S06,S10)。
在下文中,将对具有用于SD卡的控制程序和用于MMC的控制程序的存储卡的例子进行描述。SD卡对应于如上所述的第一存储卡,而MMC对应于如上所述的第二存储卡。当希望作为SD卡运行时,开关17被设置在开位置。在这种情况下,当切换时发生中断,以使中断处理器程序20选择用于SD卡的控制程序。主机控制器可以根据SD卡的方法与非易失性存储卡2交换数据。
当希望作为MMC运行时,开关17被设置在关位置。在此情况下,当切换时发生中断,从而中断处理器程序20选择用于MMC的控制程序。主机控制器可以根据MMC的方法与非易失性存储卡2交换数据。
另一个例子是存储卡具有用于SD卡的控制器件和用于SDHC存储卡的控制器件。SD卡对应于第一存储卡,而SDHC存储卡对应于第二存储卡。
在根据第四实施例的非易失性存储卡2中,响应于开关17的设置的变化执行中断处理。因此,即使当开关17被无意中或者偶然改变时,也会执行到另一种存储卡类型的切换,从而防止了故障。
[第五实施例]
图5A是示出了根据本发明第五实施例的非易失性存储卡的内部配置的方块图。根据第五实施例的非易失性存储卡与根据第四实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件由相同的附图标记指代,并且将省去对其的描述。在根据第五实施例的非易失性存储卡2中,开关17产生转换(changeover)信号14。或者,写保护开关16可以用作开关17。
在根据第五实施例的非易失性存储卡2中,接通电源时执行的复位操作导致为存储卡设置控制程序。在非易失性存储卡2的控制器件4的内部或者外部提供触发电路26。触发电路26在其数据输入端接收从开关17提供的转换信号14,并且在其时钟输入端接收复位信号22。控制器件4将触发电路26的输出用作切换控制程序的切换信号。也可以使用复位信号22来复位控制器件4。
当希望使用非易失性存储卡2作为第一存储卡时,开关17被设置在开位置。在此情况下,当响应于非易失性存储卡接通电源,复位信号22的状态为“H”时,初始化程序选择用于第一存储卡的控制程序。因此,主机控制器可以根据第二存储卡的方法与非易失性存储卡1交换数据。
另一方面,当希望使用非易失性存储卡2作为第二存储卡时,开关17被设置在关位置。在此情况下,当响应于非易失性存储卡接通电源,复位信号22的状态为“H”时,初始化程序选择用于第二存储卡的控制程序。因此,主机控制器可以根据第二存储卡的方法与非易失性存储卡2交换数据。
图5B是示出了当复位时为存储卡选择控制程序的初始化程序的过程的流程图。初始化程序10在复位信号22变为“H”时(在S24的“是”)确定转换信号14的状态(S26),并且,响应于此,执行用于第一存储卡的控制程序或者用于第二存储卡的控制程序(S28,S30)。因此,只有当发生复位操作时,才响应于开关17的状态选择将执行的控制程序。
在下文中,将对具有用于SD卡的控制程序和用于MMC的控制程序的存储卡的例子进行说明。SD卡对应于如上所述的第一存储卡,而MMC对应于如上所述的第二存储卡。当希望作为SD卡运行时,开关17被设置在开位置。在此情况下,当响应于存储卡接通电源,复位信号22的状态为“H”时,初始化程序10选择用于SD卡的控制程序。主机控制器可以根据SD卡的方法与非易失性存储卡2交换数据。
当希望作为MMC运行时,开关17被设置到关位置。在此情况下,当响应于存储卡的接通电源,复位信号22的状态为“H”时,初始化程序10选择用于MMC的控制程序。主机控制器可以根据MMC的方法与非易失性存储卡2交换数据。
另一个例子是存储卡具有用于SD卡的控制器件和用于SDHC存储卡的控制器件。SD卡对应于第一存储卡,而SDHC存储卡对应于第二存储卡。
在根据第五实施例的非易失性存储卡2中,存储卡接通电源时产生的复位信号被用于选择控制程序。因此,除非产生复位信号,否则不会发生控制程序的设置变化。即使由于某种原因开关被切换至另一个位置,所选的存储卡标准也不会改变。
[第六实施例]
图6A是示出了根据本发明第六实施例的非易失性存储卡的内部配置的方块图。根据第六实施例的非易失性存储卡与根据第五实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件由相同的附图标记指代,并且将省去对其的描述。
在第六实施例的非易失性存储卡2中,初始化程序10A和控制程序具有嵌入在其中的、用于分析从主机控制器发送的复位命令的程序代码。
当希望使用非易失性存储卡2作为第一存储卡时,开关17被设置到开位置。在此情况下,当由控制器件4接收到从主机控制器发送的复位命令时,初始化程序10A或者控制程序选择用于第一存储卡的控制程序。因此,主机控制器可以根据第二存储卡的方法与非易失性存储卡1交换数据。
另一方面,当希望使用非易失性存储卡2作为第二存储卡时,开关17被设置到关位置。在此情况下,当由控制器件4接收到从主机控制器发送的复位命令时,初始化程序10A或者控制程序选择用于第二存储卡的控制程序。因此,主机控制器可以根据第二存储卡的方法与非易失性存储卡2交换数据。
图6B是示出了当接收到从主机控制器发送的复位命令时,为存储卡选择控制程序的控制器件的操作的流程图。当初始化程序10A接收到复位命令时(在S44的“是”),检查转换信号的状态(S46),并且选择用于第一存储卡的控制程序(S48)或者用于第二存储卡的控制程序(S52)。转换信号的“H”状态指示选择第一存储卡,而转换信号的“L”状态指示选择第二存储卡。
当控制程序接收到复位命令时(在S50的“是”,在S54的“是”),即使在执行控制程序期间,也会检查转换信号的状态(S46),并且重新选择用于第一存储卡的控制程序(S48)或者用于第二存储卡的控制程序(S52)。
在下文中,将对具有用于SD卡的控制程序和用于MMC的控制程序的存储卡的例子进行说明。SD卡对应于如上所述的第一存储卡,而MMC对应于如上所述的第二存储卡。当希望作为SD卡运行时,开关17被设置在开位置。在此情况下,当接收到从主机控制器发送的复位命令“CMD0”时,初始化程序10A或者控制程序选择用于SD卡的控制程序。主机控制器可以根据SD卡的方法与非易失性存储卡2交换数据。
当希望作为MMC运行时,开关17被设置于关位置。在此情况下,当接收到从主机控制器发送的复位命令“CMD0”时,初始程序10A或者控制程序选择用于MMC的控制程序。主机控制器可以根据MMC的方法与非易失性存储卡2交换数据。
另一个例子是存储卡具有用于SD卡的控制器件和用于SDHC存储卡的控制器件。SD卡对应于第一存储卡,而SDHC存储卡对应于第二存储卡。
在根据第六实施例的非易失性存储卡2中,由主机控制器用来初始化存储卡的复位命令被用于选择控制程序。因此,除非产生复位命令,否则不会发生控制程序的设置变化。即使由于某种原因开关被切换至另一个位置,所选的存储卡标准也不会改变。
[第七实施例]
图7A是示出了根据本发明第七实施例的非易失性存储卡的内部配置的方块图。根据第七实施例的非易失性存储卡与根据第六实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件由相同的附图标记指代,并且将省去对其的描述。
根据第七实施例的非易失性存储卡2不具有开关。在根据第七实施例的非易失性存储卡2中,分析主机控制器(未示出)的访问协议以选择控制程序。
在第七实施例的非易失性存储卡2中,初始化程序10A和控制程序具有嵌入在其中的程序代码,用于分析主机控制器的访问协议,以用于初始化存储卡。
当初始化程序10A分析主机控制器的访问协议并且确定该协议用于第一存储卡时,初始化程序10A选择用于第一存储卡的控制程序。因此,主机控制器可以根据第一存储卡的方法与非易失性存储卡2交换数据。
当初始化程序10A分析主机控制器的访问协议并且确定该协议用于第二存储卡时,初始化程序10A选择用于第二存储卡的控制程序。因此主机控制器可以根据第二存储卡的方法与非易失性存储卡2交换数据。响应于该协议既不是用于第一存储卡也不是用于第二存储卡的确定,执行中断过程,从而继续协议分析。
图7B是示出了通过分析主机控制器的访问协议来为存储卡选择控制程序的控制器件的操作的流程图。当初始化程序10A(或者控制程序)接收到复位命令(例如,“CMD0”)时(在S64的“是”),就该协议是否是用于第一存储卡而进行检查。如果确定该协议是用于第一存储卡的(在S66的“是”),那么选择并且执行用于第一存储卡的控制程序(S68)。如果确定该协议是用于第二存储卡的(在S66的“否”,在S70的“是”),那么选择并且执行用于第二存储卡的控制程序(S72)。响应于该协议既不是用于第一存储卡也不是用于第二存储卡的确定(在S70的“否”),执行中断处理(S74),从而等候另一个复位命令。
在下文中,将对具有用于SD卡的控制程序和用于MMC的控制程序的存储卡的例子进行说明。SD卡对应于如上所述的第一存储卡,而MMC对应于如上所述的第二存储卡。当初始化程序10A(或者控制程序)连续接收到CMD0和CMD55时,初始化程序10A(或者控制程序)选择用于SD卡的控制程序。主机控制器可以根据SD卡的方法与非易失性存储卡2交换数据。
当初始化程序10A(或者控制程序)连续接收到CMD0和CMD1时,初始化程序10A(或者控制程序)选择用于MMC的控制程序。主机控制器可以根据MMC的方法与非易失性存储卡2交换数据。
另一个例子是存储卡具有用于SD卡的控制器件和用于SDHC存储卡的控制器件。SD卡对应于第一存储卡,而SDHC存储卡对应于第二存储卡。应当注意,在这些存储卡的情况中,在图7B的S70的命令是不同的(即,应当用CMD8替换CMD1)。
在第七实施例的非易失性存储卡2中,初始化程序10A和控制程序分析主机控制器执行的访问协议,以选择控制程序。因此该配置不需要开关。
在上述实施例中使用的示例中,控制程序的数目是两个。作为选择,也可以提供两个以上的存储卡控制程序,并且可以执行这些程序之间的切换。即使在这种情况下,与第一至第六实施例不同的是,也不需要提供附加的开关。
[第八实施例]
图8是示出了根据本发明第八实施例的非易失性存储卡的内部配置的方块图。根据第八实施例的非易失性存储卡与根据第七实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件由相同的附图标记指代,并且将省去对其的描述。
根据第八实施例的非易失性存储卡2没有开关。而且,不执行控制程序的切换。尽管是这样的配置,也可以与具有不同规格的主机控制器进行数据传送。
第八实施例的非易失性存储卡2经由控制器件4来执行非易失性存储器6和主机控制器(未示出)之间的数据传送。程序存储存储器8在其中存储了命令检查程序24、存储卡共享部分控制程序26、第一存储卡专用控制程序30a、以及第二存储卡专用控制程序30b。
图9是示出了存储卡的控制器件4的操作的流程图。当从主机控制器接收到命令时,命令检查程序24检查该命令是什么。如果该命令是由所有存储卡公用的这种类型的命令(在S84的“是”),那么该命令被传递到存储卡共享部分控制程序26,并由其进行处理(S86)。然后,过程返回到由命令检查程序24执行的检查处理。
如果该命令专用于第一存储卡(在S84的“否”,在S88的“是”),那么该命令被传递到第一存储卡专用控制程序30a并由其进行处理(S90)。然后过程返回到由命令检查程序24执行的检查处理。
如果该命令专用于第二存储卡(在S84的“否”,在S88的“否”,在S92的“是”),那么该命令被传递到第二存储卡专用控制程序30b并由其进行处理(S94)。然后,过程返回到由命令检查程序24执行的检查处理。
响应于该命令不是这些类型中的任意一种的确定(在S84的“否”,在S88的“否”,在S92的“否”),执行中断处理(S96)。然后,过程返回到由命令检查程序24执行的检查处理。
在下文中,将对具有命令检查程序、SD卡和MMC共享部分控制程序、SD卡专用控制程序、以及MMC专用控制程序的存储卡的例子进行说明。
首先将说明的是非易失性存储卡2被插入主机计算机(未示出)的SD卡专用槽(未示出)中的情况。当从SD卡主机控制器接收到命令时,命令检查程序检查该命令是什么。如果该命令是所有存储卡公用的这种类型的命令,那么该命令被传递到存储卡共享部分控制程序并由其进行处理。然后,过程返回到由命令检查程序执行的检查处理。
如果该命令专用于SD卡,那么该命令被传递到SD卡专用控制程序并由其进行处理。然后,过程返回到由命令检查程序执行的检查处理。在此情况下,SD卡主机控制器通过将本发明的存储卡视为SD卡来对其进行访问,因为本发明的存储卡正确地响应SD卡所支持的所有命令。而且,因为该主机控制器被设计成用于SD卡,所以控制器不传送专用于MMC的命令。因此,不会将命令传递到MMC专用控制程序。
在下文中将说明将非易失性存储卡2插入主机计算机(未示出)的MMC专用槽(未示出)中的情况。当从MMC主机控制器接收到命令时,命令检查程序检查该命令是什么。如果该命令是由所有存储卡公用的这种类型的命令,那么该命令被传递到存储卡共享部分控制程序并由其进行处理。然后,过程返回到由命令检查程序执行的检查处理。
如果该命令专用于MMC,那么该命令被传递到MMC专用控制程序并由其进行处理。然后,过程返回到由命令检查程序执行的检查处理。在此情况下,MMC主机控制器通过将本发明的存储卡视为MMC来对其进行访问,因为本发明的存储卡正确地响应MMC所支持的所有命令。而且,因为该主机控制器被设计成用于MMC,所以控制器不传送专用于SD卡的命令。因此,不会将命令传递到SD卡专用控制程序。
将进一步说明将存储卡插入到SD卡和MMC兼容的槽中的情况。在既支持SD卡又支持MMC的主机控制器的情况下,主机控制器需要检查插入的存储卡是SD卡还是MMC。主机控制器通过传送由SD卡特定支持的命令或者由MMC特定支持的命令、并检查对所传送的命令的响应,来确定是什么存储卡。
例如,如果响应于“CMD0”和“CMD1”的连续传送而返回了适当的响应,那么主机控制器认为是MMC,并且如果响应于“CMD0”和“CMD55”的连续传送而返回了适当的响应,那么主机控制器认为是SD卡。
当主机控制器连续地传送专用于SD卡的命令“CMD0”和“CMD55”时,本发明的存储卡正确地响应命令。在此情况下,主机控制器确定所插入的存储卡是SD卡,并且在之后使用由SD卡所支持的命令访问存储卡。因为本发明的存储卡正确地响应SD卡所支持的命令,所以主机控制器和本发明的存储卡之间的数据传送将正确地执行。
同理,当主机控制器通过使用专用于MMC的命令作出关于存储卡的确定时,本发明的存储卡作为MMC适当地运行。
另一个例子是具有命令检查程序、SD卡和SDHC卡共享部分控制程序、SD卡专用控制程序、以及SDHC存储卡专用控制程序的存储卡。该存储卡具有与图8和图9中示出的非易失性存储卡2基本上相同的配置与操作。
在根据第八实施例的非易失性存储卡2中,除了用于处理专用于各个标准的命令的控制程序以外的控制程序可以共享。因此可以减小控制程序的总大小。而且,因为不必切换控制程序,所以不需要开关。
在上述实施例中所使用的示例中,控制程序的数目是两个。作为选择,也可以提供用于存储卡的两个以上的专用控制程序,并且可以执行这些程序之间的切换。与第一至第六实施例不同,即使在这种情况下,也不需要提供附加的开关。
[非易失性存储器的实施例]
根据如上所述的第一至第八实施例的非易失性存储卡2被配置为使得控制器件4具有多种配置。在下文中描述的根据第九至第十五实施例的非易失性存储卡2被配置为使得非易失性存储器6具有多种配置。
如上所述,即使在SDHC存储卡中实现与SD卡兼容的控制器,被设计成支持SD卡的主机控制器也无法识别超出4GB的SDHC存储卡的数据区域,因为SD卡不支持超出2GB的数据区域。根据第九至第十五实施例的非易失性存储卡特别用于解决这一问题。但是,尽管如此,本发明并不局限于这两种特定类型的卡。
在如下所述的第九至第十五实施例中,控制器件4与多种存储卡兼容。也就是,控制器件4至少配备有用于第一存储卡的控制器件的功能(即第一存储卡兼容模式)和用于第二存储卡的控制器件的功能(即,第二存储卡兼容模式)。例如,控制器件4具有SD卡控制器件的功能(即,SD卡兼容模式)和SDHC存储卡控制器件的功能(即,SDHC存储卡兼容模式)。
[第九实施例]
图10是示出了根据本发明第九实施例的非易失性存储卡的内部配置的方块图。根据第九实施例的非易失性存储卡2包括控制器件4和非易失性存储器6,其被分成第一存储卡数据区域6a和第二存储卡数据区域6b。
当控制器件4以第一存储卡兼容模式运行时,允许访问第一存储卡数据区域。当控制器件4以第二存储卡兼容模式运行时,允许访问第二存储卡数据区域。
当控制器件4以第一存储卡兼容模式运行时,不允许访问第二存储卡数据区域。当控制器件4以第二存储卡兼容模式运行时,不允许访问第一存储卡数据区域。因此,在各个主机控制器支持各自的存储卡的系统中,不能对存储卡的公用数据区域进行访问。通过这种存储卡无法在系统之间共享数据。
在下文中,将对具有用于SD卡的控制器件的功能和用于SDHC存储卡的控制器件的功能的存储卡的例子进行描述。SD卡对应于如上所述的第一存储卡,而SDHC存储卡对应于如上所述的第二存储卡。存储卡的非易失性存储器6被分成SD卡数据区域和SDHC存储卡数据区域。
在此情况下,SD卡主机控制器以SD卡模式运行,并且可以访问小于2GB的SD卡数据区域。SDHC存储卡主机控制器以SDHC存储卡模式运行,并且可以访问SDHC存储卡数据区域。
然而,如在如上所述的根据第七和第八实施例的非易失性存储卡2的情况中那样,当控制程序自动切换控制器件4的功能时,SDHC存储卡主机控制器无法访问SD卡数据区域。因此,不能执行具有SD卡主机控制器的系统和具有SDHC存储卡主机控制器的系统之间的数据交换和数据共享。如果像如上所述的第二至第六实施例那样配置非易失性存储卡,以便手动切换控制器件4或者控制程序,那么通过令控制器件4以SD卡兼容模式运行,SDHC存储卡主机控制器可以使用对应于2GB大小的区域来执行数据交换和数据共享。
[第十实施例]
图11是示出了根据本发明第十实施例的非易失性存储卡的内部配置的方块图。根据第十实施例的非易失性存储卡与根据第九实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件由相同的附图标记指代,并且将省去对其的描述。
根据第十实施例的非易失性存储卡2在非易失性存储器6中具有单个文件系统7,非易失性存储器6被分成第一存储卡数据区域6a和第二存储卡数据区域6b。
当控制器件4以第一存储卡兼容模式运行时,允许访问第一存储卡数据区域。当控制器件4以第二存储卡兼容模式运行时,允许访问第二存储卡数据区域。
当控制器件4以第二存储卡兼容模式运行时,访问文件系统7中的第一存储卡数据需要特殊的软件,因为第一存储卡数据区域6a作为文件系统7中的单个磁盘映象文件(disc image file)存在。因此,具有第二存储卡主机控制器的系统不能直接访问第一存储卡数据区域6a。也就是,因为在各个主机控制器支持各自的存储卡的系统中,不能容易地对存储卡的公用数据区域进行访问,所以不容易通过这种存储卡在系统之间共享数据。
在下文中,将对具有用于SD卡的控制器件的功能和用于SDHC存储卡的控制器件的功能的存储卡的例子进行描述。SD卡对应于如上所述的第一存储卡,而SDHC存储卡对应于如上所述的第二存储卡。在存储卡的文件系统中,非易失性存储器被分成SD卡数据区域和SDHC存储卡数据区域。
在此情况下,SD卡主机控制器以SD卡模式运行,并且可以访问作为文件系统中的磁盘映象文件存在的小于2GB的SD卡数据区域。SDHC存储卡主机控制器以SDHC存储卡模式运行,并且可以访问SDHC存储卡数据区域。
如在如上所述的根据第七和第八实施例的非易失性存储卡2的情况中那样,当控制程序自动切换控制器件4的功能时,为了访问在SD卡兼容模式下存储的数据,SDHC存储卡主机控制器需要特殊的软件来访问SD卡数据区域中的磁盘映象文件。因此,不容易执行具有SD卡主机控制器的系统和具有SDHC存储卡主机控制器的系统之间的数据交换和数据共享。如果像如上所述的第二至第六实施例那样,将非易失性存储卡配置成使得控制器件4或者控制程序通过手动切换,那么通过令控制器件4以SD卡兼容模式运行,SDHC存储卡主机控制器可以使用对应于2GB大小的区域来执行数据交换和数据共享。
[第十一实施例]
图12是示出了根据本发明第十一实施例的非易失性存储卡的内部配置的方块图。根据第十一实施例的非易失性存储卡与根据第十实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件通过相同的附图标记指代,并且将省去对其的描述。
根据第十一实施例的非易失性存储卡2在非易失性存储器6中具有多个文件系统(第一文件系统7a和第二文件系统7b),并且这些文件系统7a和7b分别具有第一存储卡数据区域6a和第二存储卡数据区域6b。
当控制器件4以第一存储卡兼容模式运行时,可以访问第一文件系统7a的第一存储卡数据区域6a。当控制器件4以第二存储卡兼容模式运行时,如果进行规定以使得各个文件系统7a和7b可以独立地被识别,那么,控制器件4可以访问第一文件系统7a的第一存储卡数据区域6a和第二文件系统7b的第二存储卡数据区域6b。
在此情况下,具有第一存储卡主机控制器的系统可以以第一存储卡兼容模式访问单个文件系统(即,第一文件系统7a)。而且,具有第二存储卡主机控制器的系统可以以第二存储卡兼容模式访问多个文件系统(即,第一文件系统7a和第二文件系统7b)。
这里将考虑如图17所示的具有用于SD卡的控制器件的功能和用于SDHC存储卡的控制器件的功能的存储卡的例子。在图17中示出的非易失性存储卡2A的非易失性存储器6A中,第一文件系统7a’配备有SD卡数据区域6a’,而第二文件系统7b’配备有SDHC存储卡数据区域6b’。
在此情况下,具有SD卡主机控制器的系统以SD卡模式运行,并且可以访问配备在第一文件系统7a’中的、并且被检测为特定驱动器(例如,“Y驱动器”)的小于2GB的SD卡数据区域6a’。
而且,具有SDHC存储卡主机控制器的系统以SDHC存储卡模式运行,并且可以访问配备在第二文件系统7b’中的、并被检测为另一个驱动器(例如,“X驱动器”)的SDHC存储卡数据区域6b’。而且,配备在第一文件系统7a’中的小于2GB的SD卡数据区域6a’被检测为“Y驱动器”,并且是可访问的。也就是,SD卡数据区域6a’和SDHC存储卡数据区域6b’被检测为两个相应的驱动器。
因此,可以容易地执行具有SD卡主机控制器的系统和具有SDHC存储卡主机控制器的系统之间的数据交换,从而经由单个存储卡提供数据的共享使用。
在根据第十一实施例的非易失性存储卡2中,文件系统被分成段(piece)。可以进行规定,以使得SD卡数据区域被配备在单个文件系统(诸如第十实施例中的文件系统)中,并且使得该数据区域被检测为与用于SDHC存储卡数据区域的驱动器不同的驱动器。利用这种规定下,可以获得与第十一实施例的非易失性存储卡2相同的功能和结果。
[第十二实施例]
图13是示出了根据本发明第十二实施例的非易失性存储卡的内部配置的方块图。根据第十二实施例的非易失性存储卡与根据第十一实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件由相同的附图标记指代,并且将省去对其的描述。
根据第十一实施例的非易失性存储卡2将它的非易失性存储器6分成多个分区。这些分区配备有各自的文件系统(第一文件系统7a和第二文件系统7b),并且这些文件系统7a和7b分别配备有第一存储卡数据区域6a和第二存储卡数据区域6b。
当控制器件4以第一存储卡兼容模式运行时,可以访问第一文件系统7a的第一存储卡数据区域6a。当控制器件4以第二存储卡兼容模式运行时,可以访问第二文件系统的第二存储卡数据区域。而且,第一文件系统7a的第一存储卡数据区域6a被分配给第二文件系统7b中的特定目录,这使得可以通过第二文件系统7b间接地访问第一存储卡数据区域6a。
在此情况下,具有第一存储卡主机控制器的系统可以在第一存储卡兼容模式中访问单个文件系统(即,第一文件系统7a)。而且,具有第二存储卡主机控制器的系统可以在第二存储卡兼容模式中经由单个文件系统(即,第二文件系统7b)访问两个存储卡数据区域。
这里将考虑配备有如图18所示的用于SD卡的控制器件的功能和用于SDHC存储卡的控制器件的功能的存储卡的例子。图18中示出的非易失性存储卡2A的非易失性存储器6A被分成多个分区,其包括各自的文件系统(即,第一文件系统7a’和第二文件系统7b’)。第一文件系统7a’配备有SD卡数据区域6a’,而第二文件系统7b’配备有SDHC存储卡数据区域6b’。
在此情况下,具有SD卡主机控制器的系统以SD卡模式运行,并且可以访问配备在第一文件系统7a’中的、并且被检测为特定驱动器(例如,“Y驱动器”)的小于2GB的SD卡数据区域6a’。
而且,具有SDHC存储卡主机控制器的系统以SDHC存储卡模式运行,并且能够访问配备在第二文件系统7b’中的、并且被检测为另一个驱动器(例如,“X驱动器”)的SDHC存储卡数据区域6b’。小于2GB的SD卡数据区域6a’被分配给配备有SDHC存储卡数据区域6b’的第二文件系统7b’中的目录SDFILES。利用这样的规定,具有SDHC存储卡主机控制器的系统可以访问SD卡数据区域6a’。
也就是,访问第二文件系统7b’使得可以访问具有SD卡数据区域的第一文件系统。因此,可以容易地执行具有SD卡主机控制器的系统和具有SDHC存储卡主机控制器的系统之间的数据交换,从而经由单个存储卡提供数据的共享使用。
在根据第十二实施例的非易失性存储卡2中,文件系统被分成段。可以进行规定,以使得SD卡数据区域被提供在单文件系统(诸如第十实施例中的文件系统)中,并且使得该数据区域被识别为第二文件系统中的目录。利用这种规定,可以获得与第十二实施例的非易失性存储卡2相同的功能和结果。
[第十三实施例]
图14是示出了根据本发明第十三实施例的非易失性存储卡的内部配置的方块图。根据第十三实施例的非易失性存储卡与根据第十二实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件由相同的附图标记指代,并且将省去对其的描述。
根据第十三实施例的非易失性存储卡2将它的非易失性存储器6分成多个分区。这些分区配备有各自的文件系统(第一文件系统7a和第二文件系统7b),并且这些文件系统7a和7b分别配备有第一存储卡数据区域6a和第二存储卡数据区域6b。
当控制器件4以第一存储卡兼容模式运行时,可以访问第一文件系统7a的第一存储卡数据区域6a。当控制器件4以第二存储卡兼容模式运行时,可以访问第二文件系统的第二存储卡数据区域。而且,第一文件系统7a的第一存储卡数据区域6a被分配给第二文件系统7b中的特定文件,这使得可以通过第二文件系统7b间接地访问第一存储卡数据区域6a。
例如,当以第二存储卡兼容模式运行时,第一存储卡数据区域6a作为第二文件系统中的单个磁盘映象文件存在。因此,需要用于访问该映象文件的第一存储卡数据(区域)的特殊软件,从而使具有第二存储卡主机控制器的系统不可能实现直接访问。也就是,因为具有各自的主机控制器的系统不能对非易失性存储器的公用数据区容易地进行访问,所以不容易经由这种存储卡在系统之间共享数据。
这里将考虑配备有如图19所示的用于SD卡的控制器件的功能和用于SDHC存储卡的控制器件的功能的存储卡的例子。图19中示出的非易失性存储卡2A的非易失性存储器6A被分成多个分区,其包括各自的文件系统(即,第一文件系统7a’和第二文件系统7b’)。第一文件系统7a’配备有SD卡数据区域6a’,并且第二文件系统7b’配备有SDHC存储卡数据区域6b’。
在此情况下,具有SD卡主机控制器的系统以SD卡模式运行,并且能够访问配备在第一文件系统7a’中的、并且被检测为特定驱动器(例如,“Y驱动器”)的小于2GB的SD卡数据区域6a’。
而且,具有SDHC存储卡主机控制器的系统以SDHC存储卡模式运行,并且能够访问配备在第二文件系统7b’中地、并且被检测为另一个驱动器(例如,“X驱动器”)的SDHC存储卡数据区域6b’。小于2GB的SD卡数据区域6a’被分配给配备有SDHC存储卡数据区域6b’的第二文件系统7b’中的文件“SD.IMG”。利用这种规定,具有SDHC存储卡主机控制器的系统可以访问SD卡数据区域6a’。
然而应当指出,因为文件“SD.IMG”作为磁盘映象文件存在,所以访问该映象文件的SD卡数据(区域)需要特殊的软件。也就是,具有SDHC存储卡主机控制器的系统无法直接访问SD卡数据(区域)。换句话说,因为具有各自主机控制器的系统不能容易地对非易失性存储器的公用数据区域进行访问,所以不能容易地经由这种存储卡在系统之间共享数据。
如果像如上所述的第二至第六实施例那样配置非易失性存储卡,以使得控制器件4或者控制程序通过手动切换,那么通过令控制器件4以SD卡兼容模式运行,SDHC存储卡主机控制器可以使用对应于2GB大小的区域来执行数据交换和数据共享。
[第十四实施例]
图15是示出了根据本发明第十四实施例的非易失性存储卡的内部配置的方块图。根据第十四实施例的非易失性存储卡与根据第十三实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件通过相同的附图标记指代,并且将省去对其的描述。
根据第十四实施例的非易失性存储卡2将它地非易失性存储器6分成多个分区。这些分区配备有各自的文件系统(第一文件系统7a和第二文件系统7b),并且这些文件系统7a和7b分别配备有第一存储卡数据区域6a和第二存储卡数据区域6b。
当控制器件4以第一存储卡兼容模式运行时,可以访问第一文件系统7a的第一存储卡数据区域6a。当控制器件4以第二存储卡兼容模式运行时,可以访问第二文件系统的第二存储卡数据区域。而且,第一文件系统7a的第一存储卡数据区域6a被分配作为第二文件系统7b中的特定通用压缩文件,这使得可以通过第二文件系统7b间接地访问第一存储卡数据区域6a。
在此情况下,当使用第二存储卡兼容模式时,第一存储卡数据区域6a作为第二文件系统中的压缩文件存在。因此,需要用于处理压缩文件的软件来访问该压缩文件的第一存储卡数据(区域),从而使使具有第二存储卡主机控制器的系统无法实现直接访问。
然而,因为该文件是通用压缩文件,所以不需要定义文件的格式。与第十实施例和第十三实施例相比,具有各自的主机控制器的系统访问非易失性存储器的公用数据区域相对容易,从而使得经由这种存储卡在系统之间共享数据更加容易。
这里将考虑配备有如图20所示的用于SD卡的控制器件的功能和用于SDHC存储卡的控制器件的功能的存储卡的例子。图20中示出的非易失性存储卡2A的非易失性存储器6A被分成多个分区,其包括各自的文件系统(即,第一文件系统7a’和第二文件系统7b’)。第一文件系统7a’配备有SD卡数据区域6a’,并且第二文件系统7b’配备有SDHC存储卡数据区域6b’。
在此情况下,具有SD卡主机控制器的系统以SD卡模式运行,并且可以访问配备在第一文件系统7a’中的、并且被检测为特定驱动器(例如,“Y驱动器”)的小于2GB的SD卡数据区域6a’。
而且,具有SDHC存储卡主机控制器的系统以SDHC存储卡模式运行,并且可以访问配备在第二文件系统7b’中的、并且被检测为另一个驱动器(例如,“X驱动器”)的SDHC存储卡数据区域6b’。小于2GB的SD卡数据区域6a’被分配给配备有SDHC存储卡数据区域6b’的第二文件系统7b’中的文件“SD.ZIP”。利用这种规定,具有SDHC存储卡主机控制器的系统可以访问SD卡数据区域6a’。
因为文件“SD.ZIP”作为压缩文件存在,所以访问该压缩文件的SD卡数据(区域)需要用于处理压缩文件的特殊软件。也就是,具有SDHC存储卡主机控制器的系统无法直接访问SD卡数据(区域)。
然而因为ZIP文件是通用压缩压缩文件,所以不需要定义文件的格式。与第十实施例和第十三实施例相比,具有各自的主机控制器的系统访问非易失性存储器的公用数据区域相对容易,从而使得经由这种存储卡在系统之间共享数据相对容易。
在根据第十四实施例的非易失性存储卡2中,文件系统被分成段。可以进行规定,以使得SD卡数据区域被配备在单文件系统(诸如第十实施例中的文件系统)中,并且使得该数据区域被识别为第二文件系统中的诸如AIP的压缩文件。利用这种规定,可以获得与第十四实施例的非易失性存储卡2相同的功能和结果。
[第十五实施例]
图16是示出了根据本发明第十五实施例的非易失性存储卡的内部配置的方块图。根据第十五实施例的非易失性存储卡与根据第十四实施例的非易失性存储卡基本上相同。这样的实施例中相同的元件通过相同的附图标记指代,并且将省去对其的描述。
根据第十四实施例的非易失性存储卡2在非易失性存储器6中具有多个文件系统(第一文件系统7a和第二文件系统7b),并且这些文件系统7a和7b分别配备有第一存储卡数据区域6a和第二存储卡数据区域6b。
当控制器件4以第一存储卡兼容方式运行时,可以访问第一文件系统7a的第一存储卡数据区域6a。当控制器件4以第二存储卡兼容模式运行时,可以访问第二文件系统的第二存储卡数据区域。进一步做出规定,使得当控制器件4以第二存储卡兼容模式运行时,可以通过使用第一存储卡和第二存储卡都不使用的命令来访问第一文件系统7a的第一存储卡数据区域6a。
在此情况下,具有第一存储卡主机控制器的系统可以以第一存储卡兼容模式访问单个文件系统(即,第一文件系统7a)。具有第二存储卡主机控制器的系统可以以第二存储卡兼容模式访问多个文件系统。然而,当利用第一存储卡和第二存储卡都不支持的命令时,无法再保持与这两个存储卡的兼容性。
这里将考虑如图21所示的配备有用于SD卡的控制器件的功能和用于SDHC存储卡的控制器件的功能的存储卡的例子。图21中示出的非易失性存储卡2A的非易失性存储器6A包括多个文件系统(即,第一文件系统7a’和第二文件系统7b’)。第一文件系统7a’配备有SD卡数据区域6a’,并且第二文件系统7b’配备有SDHC存储卡数据区域6b’。
在此情况下,具有SD卡主机控制器的系统以SD卡模式运行,并且可以访问配备在第一文件系统7a’中的、并且被检测为特定驱动器(例如,“Y驱动器”)的小于2GB的SD卡数据区域6a’。
而且,具有SDHC存储卡主机控制器的系统以SDHC存储卡模式运行,并且可以访问配备在第二文件系统7b’中的、并且被检测为另一个驱动器(例如,“X驱动器”)的SDHC存储卡数据区域6b’。而且,当使用SD卡和SDHC存储卡都不使用的命令来访问SDHC存储卡时,配备在第一文件系统7a’中的小于2GB的SD卡数据区域6a’被检测为“Y驱动器”,并且对其进行访问。也就是,SD卡数据区域和SDHC存储卡数据区域被检测(识别)为两个各自的驱动器。
因此,很容易在具有SD卡主机控制器的系统和具有SDHC存储卡主机控制器的系统之间执行数据交换,从而经由单个存储卡提供数据的共享使用。然而应当指出,因为使用了SD卡和SDHC存储卡都不支持的命令,所以需要在SDHC主机控制器中使用与SDHC存储卡不兼容的控制程序。
在根据第十五实施例的非易失性存储卡2中,文件系统被分成段。可以进行规定,以使得SD卡数据区域被提供在单个文件系统(诸如第十实施例中的文件系统)中,并且使得响应于SD卡和SDHC存储卡都不支持的命令将该数据区域检测(识别)为与用于第二文件系统7b的驱动器不同的驱动器。利用这种规定,可以获得与第十五实施例的非易失性存储卡2相同的功能和结果。
而且,可以像第十二,第十三或者第十四实施例那样,分配目录或者文件来代替驱动器。
尽管已经参照实施例描述了本发明,但本发明不局限于这些实施例,在不脱离所附权利要求所阐述出的本发明的范围的情况下,可以做出各种修改和变化。