发明内容
在本发明中,鉴于所述问题,其目的在于,提供一种信息记录介质、对于它的访问装置和区域设定方法。该信息记录介质具有由分别独立的文件***管理的多个区域,并能设定各区域的尺寸。
本发明的信息记录介质是能由访问装置进行数据的访问,包括:存储元件,其具有多个保存数据的区域,且各区域由分别独立的文件***管理;区域信息存储部件,其至少存储关于所述存储元件全体的尺寸或者所述存储元件的多个区域中的规定区域的尺寸的信息;主接口部件,其从所述访问装置接收用于设定所述存储元件的各区域尺寸的命令;区域长度设定部件,其设定所述存储元件的各区域的尺寸和位置;以及认证控制部件,进行所述访问装置的认证,所述存储元件,具有:只在基于所述认证控制部件的认证成功时才允许所述访问装置访问的认证区、和无论基于所述认证控制部件的认证结果如何都允许所述访问装置访问的非认证区,所述非认证区和所述认证区内的至少一方具有多个区域,所述非认证区的一个区域和所述认证区的一个区域具有与相互区域的尺寸相关的相关关系,所述区域长度设定部件,参照存储在所述区域信息存储部件的信息,按照从所述访问装置收到的命令,根据与所述相互区域的尺寸相关的相关关系,设定所述存储元件内的各区域的区域长度。
在信息记录介质中,主接口部件从访问装置接收存储元件的一个区域的尺寸。这时,区域长度设定部件根据收到的一个区域的尺寸和设定部件,决定存储元件的其他区域的尺寸,根据收到的值和决定的值设定区域信息存储部件中存储的信息。
另外,信息记录介质还具有进行访问装置的认证的认证控制部件。另外,存储元件具有只在基于认证控制部件的认证成功时才允许基于访问装置的访问的认证区、无论基于认证控制部件的认证结果如何都允许基于访问装置的访问的非认证区。非认证区和认证区分别具有多个区域,非认证区的各区域和所述认证区的各区域具有对应关系。
当信息记录介质具有非认证区和认证区时,作为设定条件,可以存储关于非认证区和认证区的全体尺寸的信息。这时,主接口部件从所述的访问装置接收非认证区和所述认证区中的任意一方的一个区域的尺寸。区域设定部件根据收到的尺寸和设定条件,决定非认证区和认证区中的任意一方的其他区域的尺寸,根据收到的值和决定的值能设定区域信息存储部件中存储的信息。
另外,当信息记录介质具有非认证区和认证区时,作为设定条件,可以存储关于非认证区内的区域的尺寸和与它对应的认证区内的区域的尺寸的比率的信息。这时,主接口部件从访问装置接收非认证区和认证区中的任意一方的一个区域的尺寸。区域长度设定部件根据收到的一个区域的尺寸和所述比率,决定非认证区和认证区的各区域的尺寸,根据收到的值和决定的值能设定区域信息存储部件中存储的信息。
另外,当信息记录介质具有非认证区和认证区时,作为设定条件,存储关于非认证区内的区域的尺寸和与它对应的认证区内的区域的尺寸的比率的信息。这时,主接口部件从访问装置接收非认证区和认证区中的任意一方的各区域的尺寸。区域长度设定部件根据收到的各区域的尺寸和所述比率,决定非认证区和认证区的各区域的尺寸,根据收到的值和决定的值能设定区域信息存储部件中存储的信息。
另外,当信息记录介质具有非认证区和认证区时,作为设定条件,可以是非认证区或认证区中各区域的构成比。这时,主接口部件从访问装置接收非认证区和认证区中的任意一方的各区域的尺寸。区域长度设定部件根据收到的各区域的尺寸计算所述构成比,根据该构成比决定非认证区和认证区中的另一方的各区域的尺寸,根据收到的值和决定的值能设定区域信息存储部件中存储的信息。
另外,当信息记录介质具有非认证区和认证区时,区域信息存储部件存储多个非认证区和认证区的各区域尺寸的组合。这时,主接口部件从访问装置接收表示一个组合的指定信息。区域长度设定部件按照收到的指定信息选择区域信息存储部内的一个组合,按照选择的组合,能设定非认证区和认证区的各区域的尺寸。
另外,当信息记录介质具有非认证区和认证区时,主接口部件从访问装置接收非认证区和认证区的至少一方的全体尺寸。区域长度设定部件能根据收到的全体的尺寸设定非认证区和认证区的全体的尺寸。
区域长度设定部件只允许离散的值作为能由访问装置设定的区域的尺寸。
另外,区域长度设定部件把存储元件的各区域的尺寸设定为比从存储元件全体的尺寸或存储元件的各区域的尺寸、好块率计算的不良块数的合计尺寸还大的值。
另外,在信息记录介质中,认证区中包含的m个区域的区域长度、非认证区中包含的n个区域(m和n是满足m+n≧2的0以上的整数)的区域长度是固定尺寸。
本发明的访问装置,对信息记录介质进行数据的写入、读出,所述信息记录介质包括:存储元件,其具有多个保存数据的区域,且各区域的所述数据由分别独立的文件***管理;和区域信息存储部件,其存储与所述存储元件的多个区域中的规定区域的尺寸相关的信息,特征在于,所述访问装置包括:安装所述信息记录介质的插槽;和文件***控制部件,控制在该插槽中安装的信息记录介质上构筑的文件***,该文件***控制部件,为了设定所述信息记录介质的各区域的尺寸,对所述信息记录介质,发送要求区域长度设定的命令,并且指定与所述信息记录介质的区域的尺寸相关的信息,所述信息记录介质,接收由所述装置发送的命令,参照所述区域信息存储部件存储的信息,根据通过所述命令从所述装置发送的与区域的尺寸相关的信息和与所述信息记录介质的多个区域内的两个对应的区域的尺寸相关的规定的相关关系,设定所述多个区域的区域长度。
文件***控制部件为了设定信息记录介质的各区域的尺寸,指定信息记录介质中的一个区域的尺寸。
另外,信息记录介质具有只在认证成功时才允许访问的认证区、无论认证的结果如何都允许访问的非认证区,当非认证区和所述的认证区分别具有多个时,文件***控制部件按如下构成。
即文件***控制部件为了设定信息记录介质的各区域的尺寸,在所述信息记录介质中指定非认证区和认证区中任意一方的一个区域的尺寸。
或者文件***控制部件为了设定信息记录介质的各区域的尺寸,在信息记录介质中指定非认证区和认证区中任意一方的一个区域的尺寸。
或者文件***控制部件为了设定信息记录介质的各区域的尺寸,在信息记录介质中指定非认证区和认证区中任意一方的各区域的尺寸。
或者文件***控制部件为了设定信息记录介质的各区域的尺寸,在信息记录介质中指定非认证区和认证区中任意一方的各区域的尺寸。
信息记录介质存储多个非认证区和认证区的各区域的尺寸的组合时,文件***控制部件为了设定信息记录介质的各区域的尺寸,对信息记录介质发送用于从存储的多个组合中选择一个组合的指定信息。
或者文件***控制部件为了设定信息记录介质的各区域的尺寸,在信息记录介质中指定非认证区和认证区的至少一方的全体尺寸。
文件***控制部件在设定信息记录介质的各区域的尺寸时,作为可指定的区域的尺寸,只指定离散的值。
文件***控制部件在设定信息记录介质的各区域的尺寸时,把指定的区域的尺寸设定为比从信息记录介质全体的尺寸或信息记录介质的各区域的尺寸、好块率计算的不良块数的合计尺寸还大的值。
本发明的信息记录介质的区域设定方法,该信息记录介质包括:存储元件,具有多个保存数据的区域,且各区域的所述数据由分别独立的文件***管理;和区域信息存储部件,其存储与所述存储元件的多个区域中的规定区域的尺寸相关的信息,其中:从所述信息记录介质的外部接收命令,该命令,要求信息记录介质的区域尺寸的设定并且指定关于所述信息记录介质的区域尺寸的信息;参照所述区域信息存储部件存储的信息,按照所述收到的命令,根据从所述外部指定的与所述信息记录介质的区域的尺寸相关的信息和与所述信息记录介质的多个区域内的两个对应的区域的尺寸相关的规定的相关关系,设定信息记录介质内的各区域的区域长度。
在所述区域设定方法中,从外部接收信息记录介质的一个区域的尺寸,根据收到的一个区域的尺寸和设定条件决定信息记录介质的其他区域的尺寸,根据收到的值和决定的值设定信息记录介质的各区域的尺寸。
另外,信息记录介质具有只在认证成功时才允许访问的认证区、无论认证的结果如何都允许访问的非认证区,当非认证区和所述的认证区分别具有多个区域时,所述的区域设定方法按如下构成。
即接收非认证区和认证区中的任意一方的一个区域的尺寸,根据收到的尺寸、关于非认证区和认证区的全体尺寸的信息,决定非认证区和认证区中的任意一方的其他区域的尺寸,根据收到的值和决定的值设定信息记录介质的各区域的尺寸。
或者,作为设定条件,存储关于非认证区内的区域尺寸和与它对应的认证区内的区域尺寸的比率的信息,接收非认证区和认证区中的任意一方的一个区域的尺寸,根据收到的一个区域的尺寸和所述比率决定非认证区和认证区的各区域的尺寸,根据收到的值和决定的值设定信息记录介质的各区域的尺寸。
或者,作为设定条件,存储关于非认证区内的区域尺寸和与它对应的认证区内的区域尺寸的比率的信息,接收非认证区和认证区中的任意一方的各区域的尺寸,根据收到的各区域的尺寸和所述比率决定非认证区和认证区的各区域的尺寸,根据收到的值和决定的值设定信息记录介质的各区域的尺寸。
或者,接收非认证区和认证区中的任意一方的各区域的尺寸,从收到的各区域的尺寸计算非认证区或认证区的各区域的构成比,根据该构成比决定非认证区和认证区中的另一方的各区域的大小,根据收到的值和决定的值设定信息记录介质的各区域的尺寸。
信息记录介质存储多个非认证区和认证区的各区域的尺寸组合时,接收用于选择一个组合的指定信息,按照收到的指定信息,从存储的组合中选择一个组合,按照选择的组合,设定信息记录介质的各区域的尺寸。
或者,接收非认证区和认证区的至少一方全体的尺寸,根据收到的全体尺寸,设定非认证区和认证区的全体尺寸。
根据本发明,在具有由分别独立的文件***管理的多个区域的半导体存储卡等信息记录介质、访问信息记录介质的装置中,访问装置通过指定关于信息记录介质内存在的各区域的尺寸的信息,能设定信息记录介质内存在的各区域的尺寸。
具体实施方式
下面参照附图说明本发明的信息记录介质和访问装置的实施例。
(实施例1)
图1本发明实施例的半导体存储卡和访问装置的结构图。在图1中,访问装置100包含CPU101、RAM102插槽103和ROM104。
插槽103是与半导体存储卡110的连接部,安装半导体存储卡110。经由插槽103,在访问装置100和半导体存储卡110之间收发控制信号和数据。
ROM104存储控制访问装置100的各种程序105~107,这些程序把RAM102作为暂时存储区使用,由CPU101执行,提供给定的功能。
具体而言,ROM104存储应用程序105、文件***控制程序106、访问控制程序107。应用程序105、文件***控制程序106、访问控制程序107分别进行访问装置100全体的控制、半导体存储卡110上构筑的文件***的控制、对半导体存储卡110的数据的读出、写入等访问控制。
具体而言,应用程序105是控制在访问装置100上工作的应用程序的程序,如果访问装置100是音频播放器,就包含音乐再现程序,如果是数字相机,就包含静止画面拍摄程序。
文件***控制程序106通过与CPU101协作,构成文件***控制部件,提供以文件为单位管理、控制数据的写入、读出的功能(文件***控制功能)。
访问控制程序107通过与CPU101协作,构成访问控制部件,提供对于半导体存储卡110上构筑的逻辑地址空间,指定处理开始地址和处理尺寸,执行数据的写入、读出的功能(访问控制功能)。
而半导体存储卡110包含主接口111、RAM113、存储器控制器114、非易失性存储器115、ROM116、半导体存储器117。
主接口111是与访问装置100之间收发控制信号和数据的接口。主接口111包含控制访问半导体存储卡110的访问装置100的认证的认证控制部118。认证控制部118只在认证成功时,允许基于访问装置100的对半导体存储器117内的给定记录区域的访问。
另外,ROM116存储控制半导体存储卡110的程序(未图示),该程序把RAM113作为暂时存储区使用,在CPU112上执行,提供给定的功能。
半导体存储器117具有存储数据的记录区,通过存储器控制器114与连接主接口111或CPU1112的总线连接。存储器控制器114进行对半导体存储器117的控制。半导体存储器117内分割为多个区域,各区域由分别独立的文件***管理。
半导体存储卡110的多个区域划分为非认证区和认证区。认证区是只在访问装置100的认证成功时,允许来自访问装置100的访问的区域,非认证区是无论认证的结果如何,都允许访问的区域。非认证区由非认证区1(121)和非认证区2(122)构成。认证区由认证区1(123)和认证区2(124)构成。各区域121~124由分别独立的文件***管理。这里,非认证区1和认证区1成对。即认证区1存储对于非认证区1的存储数据的认证数据。同样,非认证区2和认证区2成对。即认证区2存储对于非认证区2的存储数据的认证数据。须指出的是,在以下的说明中,把非认证区1和认证区1称作“第一区”,把非认证区2和认证区2称作“第二区”。
半导体存储卡110具有非认证区1(121)、非认证区2(122)、认证区1(123)和认证区2(124)等4个区域。关于各区域121~124的位置和尺寸的信息存储在非易失性存储器115的区域信息存储部119内。
设定各区域的尺寸的功能由ROM116内存出的区域长度设定程序120实现。即区域长度设定程序120与CPU112协作,构成区域长度设定部件,提供在半导体存储器117内存在多个区域的半导体存储卡110中设定各区域长度的功能(区域长度设定功能)。
以下说明按以上构成的半导体存储卡110和访问装置100的区域长度设定处理。
图2表示本实施例的区域信息存储部119和半导体存储器117的内部结构的一例。区域信息存储部119存储关于半导体存储器117内存在的非认证区全体的尺寸(TS_D)、非认证区1的尺寸(AS1_D)、认证区1全体的尺寸(TS_P)的信息。非认证区全体的尺寸(TS_D)、认证区全体的尺寸(TS_P)的值是固定的。在本实施例中,作为设定条件,使用固定长度的全部非认证区和全部认证区的尺寸(TS_D、TS_P),通过后面描述的区域长度设定命令,设定全部非认证区或全部认证区内的第一区和第二区的尺寸的分配。
在图2的例子中,TS_D为800MB(兆字节),AS1_D为1000MB,从这些值计算出非认证区2的尺寸为7000MB(=8000-1000MB)。同样,TS_P为196MB,AS1_P为10MB,从这些值计算出认证区2的尺寸为186MB(=196-10MB)。
接着,参照图3说明本实施例的区域长度设定处理。这里说明的区域长度设定处理由半导体存储卡110内的区域长度设定程序120和CPU112实现。
本实施例的区域长度设定处理由区域长度设定命令(Set_Area_Size命令)执行。区域长度设定命令具有以下的格式。
用Set_Area_Size(Size,Area)参数的Size指定第一区的非认证区1或认证区1的尺寸。用参数的Area指定区域的种类(非认证区或认证区)。通过Set_Area_Size命令设定全部非认证区的非认证区1和非认证区2的尺寸或全部认证区的认证区1和认证区的尺寸。
在本实施例的区域长度设定处理中,首先半导体存储卡110从访问装置100接收命令(S301)。接着参照接收的命令,判定自身无法识别的非法命令(S302)。当非法命令时,对访问装置100通知错误,结束处理(S303)。当不是非法命令的可识别的命令时,判定该命令是否区域长度设定命令(S304)。
当命令判定的结果为区域长度设定命令以外时,实施与该命令对应的其他处理(S305)。当区域长度设定命令时,判定与命令一起传递的参数是否正确(S306)。
当用参数的Area指定非认证区、认证区以外的区域时,当判断为参数不正确时,对访问装置100通知错误,结束处理(S307)。
当参数正确时,从区域信息存储部119取得由Area指定的种类的区域的全区域长度(TS)(S308)。即由Area指定“非认证区”时,成为TS=TS_D(全部非认证区长度),当由Area指定“认证区”时,变为TS=TS_P(全部认证区长度)。
接着比较TS和Size的值(S309)。当Size超过TS时,无法把区域长度设定为Size的值,所以对访问装置100通知错误,结束处理(S310)。
当Size为TS以下时,全部删除由Area指定的种类的区域中存储的数据(S311)。最后,把区域信息存储部119中存储的由Area指定的种类的第一区的尺寸(AS1_D或AS1_P)变更为由Size指定的值,结束处理(S312)。
图4是表示图3中说明的区域长度设定处理前后的区域信息存储部119和半导体存储器117的状态一例的图。图4(a)是区域长度设定处理前的状态,非认证区1(AS1_D)的尺寸为100MB,图4(b)是表示从图4(a)的状态,根据Set_Area_Size(Size=3000MB,Area=非认证区)进行区域长度设定处理后的状态的图。非认证区1的尺寸变更为3000MB,伴随着此,非认证区的尺寸变更为5000MB。
如上所述,在区域信息存储部119中事先存储关于各记录区的位置和尺寸的嬉戏,把这些信息的一部分作为区域设定条件使用,能按照来自访问装置100的要求设定记录区的尺寸。据此,按照对各用户不同的半导体存储卡110的使用用途,能灵活地变更各区域的尺寸。
须指出的是,包含区域信息存储部119的非易失性存储器115在半导体存储卡110内可以不单独存在,可以包含在半导体存储器117内。
另外,在图3的步骤S311的处理中,删除由Area指定的区域中粗出的全部数据,但是可以只删除需要删除的部分,如果不需要删除,可以不删除。
另外,可以在图3的处理中附加认证处理等处理。另外,本实施例中说明的命令的形式是一个例子,可以使用其它形式。例如没有Area的参数,使用对各非认证区、认证区不同的命令。即作为非认证区的区域长度设定命令,作为Set_Data_Area_Size(Size)、认证区的区域长度设定命令,可以是Set_Protected_Area_Size(Size)那样的形式。另外,Size可以不是第一区的尺寸,可以指定第二区的尺寸。在其他的方法中,如果是能确定第一区、第二区的区域分配的信息,就可以使用各区域间的比率。即用区域长度设定命令的参数指定为Size=80%时,如果TS=10000MB,则计算出第一区的尺寸为8000MB。
另外,本实施例的区域长度设定方法是只对非认证区、认证区中的任意一方区域提供影响的方法,对一方的区域的区域长度设定对另一方的区域不带来影响。因此,可以把本实施例的区域长度设定方法只应用于非认证区、认证区中的任意一方区域。例如作为非认证区的区域长度设定方法,可以应用本实施例中说明的方法,认证区的各区域可以是固定长度。这时,认证区没必要一定存在认证区1、认证区2等2个区域,可以应用于由0以上的任意区域数构成的半导体存储卡110。同样,作为认证区区域长度设定方法,可以应用于具有由0以上的任意区域数构成的非认证区的半导体存储卡110。
另外,在本实施例中,作为设定条件,使用固定长度的全部非认证区和全部认证区的尺寸,通过区域长度设定命令,能设定全部非认证区或全部认证区内的第一区和第二区的尺寸的分配,但是作为设定条件,可以使用固定长度的全部第一区和全部第二区的尺寸,设定这些区域内非认证区和认证区的尺寸分配。这时,如图5所示,区域信息存储部119把全部第一区长度(TS_1)、全部第二区长度(TS_2)作为固定值存储。这时,在区域长度设定命令(Set_Area_Size命令)中,例如用参数Size指定非认证区1或非认证区2的尺寸,用参数Area,指定“第一区”或“第二区”作为区域的种类。
(实施例2)
在实施例1中,作为区域长度设定处理中使用的设定条件,使用非认证区长度或认证区长度的全体尺寸,但是在本实施例中,作为设定条件,使用各区域间的尺寸的比率。
图6是表示本实施例的半导体存储卡110内的区域信息存储部119和半导体存储器117的内部结构的一个例子的图。本实施例的半导体存储卡以及访问装置的结构与图1所示的结构相同。如图6所示,区域信息存储部119存储半导体存储器117的全区域的尺寸(CS)、非认证区1的尺寸(AS1_D)、非认证区2的尺寸(AS2_D)、认证区1的尺寸(AS1_P)、认证区2的尺寸(AS2_P)作为关于区域长度的信息。
在本实施例中,区域信息存储部119存储认证区1对于非认证区1的比例(RT1)、认证区2对于非认证区2的比例(RT2)作为区域长度设定处理中使用的设定条件。在图6的例子中,非认证区1的尺寸(AS1_D)是2000MB,认证区1的比例(RT1)为1%,所以认证区1的尺寸(AS1_P)为20MB。
在本实施例中,在非认证区长度和认证区长度之间设置相关关系,与非认证区长度的变更联动,变更认证区长度。在本实施例的区域长度设定处理中,从访问装置100取得非认证区1的尺寸(AS1_D),根据该值和区域信息存储部119中存储的设定条件,决定非认证区2的尺寸(AS2_D)、认证区1的尺寸(AS1_P)、认证区2的尺寸(AS2_P)。据此,访问装置100只通过指定一个区域的尺寸,就能设定半导体存储器117内的4个区域全部的尺寸。
参照图7,说明本实施例的区域长度设定处理。这里说明的区域长度设定处理与实施例1同样,由半导体存储卡110内的区域长度设定功能执行。
在区域长度设定处理中,首先半导体存储卡110从访问装置100接收命令(S601)。参照接收的命令,判定是否为自身无法识别的非法命令(S602)。当非法命令时,对访问装置100通知错误,结束处理(S603)。当不是非法命令的可识别的命令时,判定该命令是否为区域长度设定命令(S604)。区域长度设定命令具有以下的格式,用参数的Size指定非认证区1的尺寸。
Set_Area_Size(Size)
当区域长度设定命令以外时,实施与该命令对应的其他处理(S605)。当区域长度设定命令时,判定与命令一起传递的参数是否正确(S606)。当参数的Size指定负的数时,判定为参数不正确时,对访问装置100通知错误,结束处理(S607)。当参数正确时,把非认证区1的尺寸(AS1_D)决定为指定的Size的值(S608)。
接着根据区域信息存储部119中存储的认证区1的比例(RT1),计算认证区1的尺寸(AS1_P)(S609)。当AS1_D为4000MB,RT1为1%时,计算出AS1_P为40MB(=4000MB×1%)。
接着计算第二区全体的尺寸(S610)。通过从卡全体容量(CS)减去非认证区1的尺寸(AS1_D)与认证区1的尺寸(AS1_P)的和,求出第二区全体的尺寸。例如如果卡全体容量(CS)为10000MB,AS1_D为4000MB,AS1_P为40MB,则第二区全体的尺寸为5960MB。
接着从计算出的全部第二区长度、区域信息存储部119中存储的认证区2的比例(RT2)计算出认证区2的尺寸(AS2_D)(S611)。例如,全部第二区长度为5960MB,认证区2对于非认证区2的比例(RT2)为5%时,把全部第二区2的尺寸中非认证区2的尺寸为100%时的5%分配给认证区2。因此,认证区2的尺寸(AS2_P)为285MB(≒5960MB×5(%)/105(%))。须指出的是,计算AS2_P的值时,值不能整除时,每5MB,把AS2_P的值四舍五入。
接着从全部第二区长度减去认证区2的尺寸(AS2_P),计算出非认证区2的尺寸(AS2_D)(S612)。例如在所述的例子时,AS2_D为5675MB(=5960MB-285MB)。
接着判定用此前的步骤计算出的4个区域长度是否为有效的值(S612)。有效的值是指4个区域长度的总和不超过卡全体容量(CS),并且各区域长度的值为0以上。无效的值时,对访问装置100通知错误,结束处理(S614)。有效的值时,删除全部区域的数据(S615),最后变更区域信息存储部119内的值(S616)。
图8是表示图7所示的区域长度设定处理前后的区域信息存储部119的状态例的图。图8(a)是区域长度设定处理前的状态,图8(b)是表示从图8(a)的状态,通过Set_Area_Size(Size=4000MB),进行区域长度设定处理后的状态的图。如图8(b)所示,用从访问装置100用区域长度设定命令指定的非认证区1的尺寸、区域信息存储部119中存储的比例(RT1、RT2)设定各区域的尺寸。AS1_D、AS2_D、AS1_P、AS2_P的值的计算方法如参照图7所述那样。
如上所述,在本实施例中,在具有多个记录区的半导体存储卡110中,在区域信息存储部119中事先存储作为区域设定条件的关于给定记录区之间的区域长度比率的信息,能按照来自访问装置100的要求,使用由访问装置100指定的区域长度、区域设定条件,自动设定各记录区的尺寸。
区域信息存储部119中存在的区域长度设定处理中使用的设定条件还能按照来自访问装置100的要求变更。图9是表示本实施例的设定条件变更处理的程序流程图。设定条件变更处理由来自访问装置100设定条件变更命令执行。设定条件变更命令具有以下的格式。
Set_Change_Condition(Rate,Area)
用参数的Rate指定认证区1的比率(RT1)或认证区2的比率(RT2)。用参数的Area指定区域的种类(第一区或第二区)。
在图9所示的设定条件变更处理中,在接收命令后,与所述同样,进行非法命令的检查、参数的检查、错误处理后(S801~S807)。当判断为收到的命令是正当的设定条件变更命令时,根据由命令的参数指定的Rate的值,变更区域信息存储部119内的设定条件RT1、RT2(S808)。通过该处理步骤,访问装置100能变更设定条件RT1、RT2的值。
须指出的是,包含区域信息存储部119的非易失性存储器115可以与半导体存储器117不独立设置,包含在半导体存储器117内。在图7的步骤S615中,删除全部数据,但是可以只删除必要的部分,如果不需要删除,则可以完全不删除。另外,在图7的处理中,说明数值不能整除时,把值四舍五入的例子,但是也可以舍去值,如果是能唯一确定值的方法,就可以采用任意的方法。另外,对图7的处理可以附加认证处理等处理。
另外,本实施例中说明的命令的形式是一个例子,可以使用其它形式。例如Size不是非认证区1的尺寸,可以指定非认证区2的尺寸,按照认证区2、认证区1、非认证区1的顺序计算各区域长度,可以是用其他方法指定1个区域的尺寸的信息,可以使用卡全部区域内的比率。即用区域长度设定命令的参数指定为Size=80%时,如果CS=10000MB,就计算出非认证区1的尺寸为8000MB。
另外,在本实施例中,说明半导体存储器117内存在2个非认证区、2个认证区时的例子,但是只存在1个认证区时,也能应用。这时,作为设定条件的认证区的比例,可以使用对于非认证区1的比例、对于非认证区2的比例中任意一个。另外,存在3个以上的认证区时,对其中2个认证区应用本区域长度设定处理,其他认证区的尺寸为固定长度,即对本实施例加以变形实施。另外,说明作为设定条件,使用RT1和RT2等2个条件时的例子,但是可以RT1=RT2,只把一个信息作为设定条件存储。另外,设定条件如果是能确定非认证区和认证区的相关关系的信息,就可以使用认证区的比例以外的信息。
(实施例3)
图10是表示本实施例的区域信息存储部119和半导体存储器117的内部结构一例的图。本实施例半导体存储卡和访问装置的结构与图1所示的结构相同。图10所示的本实施例的区域信息存储部119中存储的信息与图6所示的实施例2时相同。与实施例2的不同点在于半导体存储器117内存在未使用区125。在实施例2中,说明半导体存储器117内的全部区域没有保留,全部分配为4个区域时的情况。在本实施例中,说明以在半导体存储器117中存在不属于4个区域的任意一个的未使用区为前提,能与相关的情形对应的区域长度设定处理。
在本实施例中,与实施例2同样,作为设定条件,在非认证区长度和认证区长度之间存在相关关系,与非认证区长度的变更联动,变更认证区长度。本实施例的区域长度设定处理从访问装置100取得非认证区1的尺寸(AS1_D)和非认证区2的尺寸(AS2_D),根据该值和区域信息存储部119中存储的设定条件,决定认证区1的尺寸(AS1_P)、认证区2的尺寸(AS2_P)。访问装置100通过指定2个区域的尺寸,能设定4个区域的尺寸。
参照图11说明本实施例的区域长度设定处理。本实施例的区域长度设定处理与实施例1同样,由半导体存储卡110区域长度设定功能执行。
在区域长度设定处理中,首先半导体存储卡110从访问装置100接收命令(S1001)。接着参照收到的命令,判定是否为自身无法识别的非法命令(S1002)。当非法命令时,对访问装置100通知错误,结束处理(S1003)。当不是非法命令的可识别的命令时,判定该命令是否区域长度设定命令(S1004)。本实施例的区域长度设定命令具有以下的格式。
Set_Area_Size(Size1,Size2)
用参数的Size1指定非认证区1的尺寸,用参数的Size2指定非认证区2的尺寸。
当区域长度设定命令以外时,实施与该命令对应的其他处理(S1005)。当区域长度设定命令时,判定与命令一起传递的参数是否正确(S1006)。用参数Size1指定负数时,对访问装置100通知错误,结束处理(S1007)。参数不正确时,把非认证区1的尺寸(AS1_D)决定为由命令指定的Size1的值(S1008)。
接着使用区域信息存储部119中存储的认证区1对于非认证区1的比例(RT1),计算认证区1的尺寸(AS1_P)(S1009)。例如,非认证区1的尺寸(AS1_D)为3000MB,认证区1的比例(RT1)为1%时,计算出非认证区1的尺寸(AS1_P)为30MB。
接着把非认证区2的尺寸(AS2_D)决定为由命令指定的Size2的值(S1010)。
接着,使用区域信息存储部119中存储的认证区2对于非认证区2的比例(RT2),计算认证区2的尺寸(AS2_P)(S1011)。例如,非认证区2的尺寸(AS2_D)为6000MB,认证区2的比例(RT2)为5%时,计算出非认证区2的尺寸(AS2_P)为300MB。
接着判定此前的步骤中计算的4个区域长度是否为有效的值(S1012)。有效的值是指4个区域长度的总和不超过卡全体容量(CS),并且各区域长度的值为0以上。无效的值时,对访问装置100通知错误,结束处理(S1013)。有效的值时,删除全部区域的数据(S1014),最后变更区域信息存储部119内的值(S1015)。
图12是表示图11所示的区域长度设定处理前后的区域信息存储部119的状态例的图。图12(a)表示区域长度设定处理前的状态,图12(b)表示从图12(a)所示的状态通过Set_Area_Size(Size1=3000MB,Size2=6000MB),进行区域长度设定处理后的状态。AS1_D、AS2_D、AS1_P、AS2_P的值的计算方法如参照图11所述那样。
如上所述,在本实施例中,在具有多个记录区的半导体存储卡110中,在区域信息存储部119中事先存储作为区域设定条件的关于给定记录区之间的区域长度比率的信息,能按照来自访问装置100的要求,使用由访问装置100指定的区域长度、区域设定条件,自动设定各记录区的尺寸。
须指出的是,本实施例的区域长度设定处理中使用的区域信息存储部119内的设定条件与实施例2同样,能按照来自访问装置100的要求变更。设定条件变更处理与图9所示的处理步骤相同。
另外,在本实施例中,以半导体存储器117内存在未使用区为前提,所以如果半导体存储卡110中设置从访问装置100取得未使用区的尺寸或卡全体容量的功能,就更有效。
另外,包含区域信息存储部119的非易失性存储器115可以与半导体存储器117不独立设置,包含在半导体存储器117内。在图11的步骤S1014中,删除全部数据,但是可以只删除必要的部分,如果不需要删除,则可以完全不删除。另外,在图11的处理中可以附加认证处理等处理。另外,本实施例中说明的命令的形式是一个例子,可以使用其它形式。例如Size不是非认证区1的尺寸,可以指定认证区1的尺寸,把非认证区和认证区的处理颠倒,可以是用其他方法指定区域的尺寸的信息,可以使用卡全部区域内的比率。例如用区域长度设定命令的参数指定为Size1=80%时,如果CS=10000MB,就计算出非认证区1的尺寸为8000MB。
另外,在本实施例中,说明半导体存储器117内存在2个非认证区、2个认证区时的例子,但是只存在1个认证区时也能应用。这时,作为设定条件的认证区的比例,可以使用对于非认证区1的比例、对于非认证区2的比例中任意一个。另外,存在3个以上的认证区时,对其中2个认证区应用本区域长度设定处理,其他认证区的尺寸为固定长度,即对本实施例加以变形实施。另外,说明作为设定条件,使用RT1和RT2等2个条件时的例子,但是可以RT1=RT2,只把一个信息作为设定条件存储。另外,设定条件如果是能确定非认证区和认证区的相关关系的信息,就可以使用认证区的比例以外的信息。另外,非认证区、认证区的组不是2组,可以应用于存在N组的半导体存储卡。这时,对区域长度设定命令的参数可以指定N个非认证区长度。
(实施例4)
图13是表示实施例4的区域信息存储部119和半导体存储器117的内部结构一例的图。本实施例的半导体存储卡以及访问装置的结构与图1所示的结构相同。图13所示的区域信息存储部119存储半导体存储器117内存在的全部区域尺寸(CS)、非认证区1的尺寸(AS1_D)和非认证区2的尺寸(AS2_D)、认证区1的尺寸(AS1_P)、认证区2的尺寸(AS2_P)。
在本实施例中,与实施例3同样,在非认证区长度和认证区长度之间设置相关关系,与非认证区长度的变更联动,变更认证区长度。在区域长度设定处理中,从访问装置100取得非认证区1的尺寸(AS1_D)和非认证区2的尺寸(AS2_D),根据该值,决定认证区1的尺寸(AS1_P)、认证区2的尺寸(AS2_P)。据此,访问装置100只通过指定两个区域的尺寸,就能设定4个区域的尺寸。本实施例与实施例3的不同点在于:区域长度设定处理中,作为设定条件,不使用区域信息存储部119中存储的信息。在本实施例中,决定认证区内的各区域的尺寸时,把非认证区内的各区域间尺寸的比率即构成比作为区域设定条件计算出来,根据计算的构成比决定认证区内的各区域的尺寸。
参照图14说明本实施例的区域长度设定处理。本实施例的区域长度设定处理由半导体存储卡110内的区域长度设定功能执行。
在图14所示的区域长度设定处理中,首先半导体存储卡110从访问装置100接收命令(S1301)。接着参照收到的命令,判定是否为自身无法识别的非法命令(S1302)。当非法命令时,对访问装置100通知错误,结束处理(S1303)。当不是非法命令的可识别的命令时,判定该命令是否为区域长度设定命令(S1304)。须指出的是,本实施例的区域长度设定命令具有以下的格式。
Set_Area_Size(Size1,Size2)
用参数的Size1指定非认证区1的尺寸,用参数的Size2指定非认证区2的尺寸。
当区域长度设定命令以外时,实施与该命令对应的其他处理(S1305)。当区域长度设定命令时,判定与命令一起传递的参数是否正确(S1306)。用参数Size1指定负数时,对访问装置100通知错误,结束处理(S1307)。参数不正确时,把非认证区1的尺寸(AS1_D)决定为由命令指定的Size1的值(S1308)。
接着把非认证区2的尺寸(AS2_D)决定为由命令指定的Size2的值
(S1309)。
接着求出非认证区1的尺寸(AS1_D)和非认证区2的尺寸(AS2_D)的比率即构成比,根据该构成比计算认证区1的尺寸(AS1_P)(S1310)。例如卡全体容量(CS)为10000MB,非认证区1的尺寸(AS1_D)为3000MB,非认证区2的尺寸(AS2_D)为5000MB时,能分配给认证区的剩余区域长度为2000MB(=10000-(3000+5000)MB)。另外,非认证区1的尺寸(AS1_D)和非认证区2的尺寸(AS2_D)的比率(构成比)为3对5,所以把剩余区域长度按3对5的比例分配,计算出认证区1的尺寸(AS1_P)为750MB。
接着计算认证区2的尺寸(AS2_P)(S1311)。从能分配给认证区的剩余区域长度减去认证区1的尺寸,求出认证区2的尺寸。例如在所述例子时,认证区2的尺寸(AS2_P)为1250MB(=2000-750)。
接着判定此前的步骤中计算的4个区域长度是否为有效的值(S1312)。有效的值是指4个区域长度的总和不超过卡全体容量(CS),并且各区域长度的值为0以上。无效的值时,对访问装置100通知错误,结束处理(S1313)。有效的值时,删除全部区域的数据(S1314),最后变更区域信息存储部119内的值(S1315)。
图15是表示图14所示的区域长度设定处理前后的区域信息存储部119的状态例的图。图15(a)表示区域长度设定处理前的状态,图15(b)是表示从图15(a)所示的状态通过Set_Area_Size(Size1=3000MB,Size2=5000MB),进行区域长度设定处理后的状态的图。AS1_D、AS2_D、AS1_P、AS2_P的各数值的计算方法如参照图14所述那样。
如上所述,在本实施例中,在具有多个记录区的半导体存储卡110中,能按照来自访问装置100的要求,从由访问装置100指定的给定的记录区之间的区域长度计算出作为区域设定条件的区域长度的比率,使用计算出的区域设定条件,自动设定各记录区的尺寸。
须指出的是,包含区域信息存储部119的非易失性存储器115可以不与半导体存储器117独立设置,而包含在半导体存储器117内。在图14的步骤S1314中,删除全部数据,但是可以只删除需要删除的部分,如果不需要删除,可以完全不删除。
另外,在图14的处理中,说明数值能整除时的情形,但是不能整除时,采用四舍五入、舍去等方法,唯一地确定值。另外,在图14的处理中可以附加认证处理等处理。
另外,本实施例中说明的命令的形式是一个例子,可以使用其它形式。例如Size不是非认证区1的尺寸,可以指定认证区1的尺寸,把非认证区和认证区的处理颠倒,可以是用其他方法指定区域的尺寸的信息,可以使用卡全部区域内的比率。例如用区域长度设定命令的参数指定为Size1=80%时,如果CS=10000MB,就计算出非认证区1的尺寸为8000MB。
另外,在本实施例中,说明半导体存储器117内存在2个非认证区、2个认证区时的例子,但是只存在1个认证区时也能应用。这时,认证区的尺寸变为从卡全体容量(CS)减去非认证区的尺寸的总和的尺寸。另外,当存在3个以上的认证区时,对其中2个认证区应用本区域长度设定处理,其他认证区的尺寸为固定长度,即对本实施例加以变形实施。
另外,非认证区、认证区的组不是2组,可以应用于存在N组的半导体存储卡110。这时,对区域长度设定命令的参数可以指定N个非认证区长度。
另外,在本实施例中,说明通过指定非认证区1和非认证区2的尺寸,根据非认证区1和非认证区2的构成比,自动设定认证区1和认证区2的尺寸的方法,但是也可以指定非认证区1和认证区1的尺寸,根据非认证区1和认证区1的构成比,自动设定非认证区2和认证区2的尺寸。
(实施例5)
在本实施例中,区域信息存储部119管理作为设定条件的对于半导体存储器117内的各区域121~124的区域长度状态。状态包含半导体存储器117内的各区域121~124的区域长度组合。区域信息存储部119存储关于多个状态的信息。访问装置100对半导体存储卡110发送选择一个状态的命令,半导体存储卡110使按照该命令选择的一个状态有效。根据该结构,访问装置100只通过从预先设定的多个状态选择一个状态,就能设定4个区域的尺寸。
图16是表示本实施例的区域信息存储部119和半导体存储器117的内部结构的一例的图。本实施例的半导体存储卡和访问装置的结构与图1所示的结构相同。如图16所示,区域信息存储部119存储半导体存储器117内存在的全部区域的尺寸(CS)、区域信息内存在的全部状态数、表示现在变为有效的状态的有效标志(AF)、各状态(情况1、2)的详细信息。作为第一状态(情况1),存储非认证区1的尺寸(AS1_D)、非认证区2的尺寸(AS2_D)、认证区1的尺寸(AS1_P)、认证区2的尺寸(AS2_P),同样,作为第二状态(情况2),存储4个区域长度的不同组合。
参照图17,说明本实施例的区域长度设定处理。本区域长度设定处理由半导体存储卡110内的区域长度设定功能执行。
在图17所示的区域长度设定处理中,首先半导体存储卡110从访问装置100接收命令(S1901)。接着参照收到的命令,判定是否为自身无法识别的非法命令(S1902)。当非法命令时,对访问装置100通知错误,结束处理(S1903)。当不是非法命令的可识别的命令时,判定该命令是否为区域长度设定命令(S1904)。区域长度设定命令具有以下的格式。
Set_Area_Size(Flag)
用参数的Flag指定预先存储在区域信息存储部119内的多个状态中的一个状态。
当区域长度设定命令以外时,实施与该命令对应的其他处理(S1905)。当区域长度设定命令时,判定与命令一起传递的参数是否正确(S1906)。
当用参数的Flag指定不存在的状态时,判定为参数不正确时,对访问装置100通知错误,结束处理(S1907)。当参数正确时,删除全部区域的数据(S1908)。
最后,把区域信息存储部119内的有效标志(AF)变更为由参数的Flag指定的值(S1909)。图16的例子时,半导体存储卡110作为状态,在区域信息存储部119内保持情况1和情况2等2个状态,指定“情况1”或“情况2”中的任意一个,把区域信息存储部119的有效标志(AF)的值变更为指定的状态。
如上所述,在本实施例中,作为区域设定条件,管理半导体存储器117内的各区域的区域长度的状态(组合),按照由访问装置100指定的状态,能同时设定各区域的尺寸。
另外,在本实施例的区域长度设定处理中,在区域信息存储部119中预先设定多个状态,所以希望半导体存储卡110具有从访问装置100取得关于已经设定的状态的信息、状态的数量、关于现在变为有效的状态的信息的功能。半导体存储卡110可以具有从访问装置100进行状态的追加、变更、删除的功能。
须指出的是,包含区域信息存储部119的非易失性存储器115可以不与半导体存储器117独立设置,而包含在半导体存储器117内。在图17的步骤S1308中,删除全部数据,但是可以只删除需要删除的部分,如果不需要删除,可以完全不删除。另外,在图17的处理中可以附加认证处理等处理。
另外,本实施例中说明的命令的形式是一个例子,可以使用其它形式。另外,本实施例中,说明半导体存储器117内存在2个非认证区、2个认证区时的例子,但是本实施例的区域长度设定处理是指定设定各区域的区域长度的状态的方法,所以非认证区和认证区的数量可以是0个以上的任意组合。另外,作为状态,说明保持2种状态的例子,但是可以为保持一个以上的任意数量的状态的结构。
(实施例6)
在实施例1中,说明个别设定非认证区长度、认证区长度的方法。这时,在非认证区和认证区各自的区域内能设定区域长度,但是跨非认证区和认证区之间,无法变更区域的尺寸。在本实施例中,跨非认证区和认证区之间,能变更区域的尺寸的处理(以下称作“不同种类区域间区域长度设定处理”。
Set_Area_Border(Size)
用参数的Size指定全部非认证区长度。
参照图18,说明本实施例的不同种类区域间区域长度设定处理。不同种类区域间区域长度设定处理由半导体存储卡110的区域长度设定功能执行。
在图18所示的区域长度设定处理中,首先半导体存储卡110从访问装置100接收命令(S2001)。接着参照收到的命令,判定是否为自身无法识别的非法命令(S2002)。当非法命令时,对访问装置100通知错误,结束处理(S2003)。当不是非法命令的可识别的命令时,判定该命令是否为不同种类区域间区域长度设定命令(Set_Area_Border)(S2004)。
当不同种类区域间区域长度设定命令以外时,实施与该命令对应的其他处理(S2005)。当不同种类区域间区域长度设定命令时,判定与命令一起传递的参数是否正确(S2006)。用参数Size指定负数时,对访问装置100通知错误,结束处理(S2007)。参数正确时,删除全部区域的数据(S2008)。最后,根据由命令指定的值变更区域信息存储部119内的全部非认证区长度、全部认证区长度(S2009)。例如半导体存储器117的全体容量(CS)为10000MB,由不同种类区域间区域长度设定命令的Size指定7000MB作为全部非认证区长度时,区域信息存储部119内的全部非认证区长度(TS_D)为7000MB。因为半导体存储器117的全体容量(CS)为10000MB,所以全部认证区长度(TS_P)为3000MB。
图19是表示图18所示的不同种类区域间区域长度设定处理前后的区域信息存储部119的状态例的图。区域信息存储部119存储作为设定条件的存储卡全体容量(CS)。图19(a)表示处理前的状态,图19(b)表示从图19(a)所示的状态,通过Set_Area_Border(Size=7000MB)进行区域长度设定处理后的状态的图。
如上所述,在本实施例中,在半导体存储器117内存在非认证区和认证区等2种区域,并且各区域在分割管理为2个以上的区域的半导体存储卡110中,能任意设定非认证区和认证区全体的尺寸。
须指出的是,包含区域信息存储部119的非易失性存储器115可以与半导体存储器117不独立设置,包含在半导体存储器117内。在图18的步骤S2008中,删除全部数据,但是可以只删除必要的部分,如果不需要删除,则可以完全不删除。另外,在图18的处理中可以附加认证处理等处理。
另外,本实施例中说明的命令的形式是一个例子,可以使用其它形式。例如用Size指定的不是非认证区长度,可以指定认证区长度,可以是用参数指定非认证区和认证区双方的形式。代替用参数指定区域长度,可以使用卡全部区域内的比率。例如用不同种类区域间区域长度设定命令的参数指定为Size=80%时,如果CS=10000MB,就计算出非认证区1的尺寸为8000MB。
另外,在本实施例中,说明半导体存储器117内存在2个非认证区、2个认证区时的例子,但是非认证区和认证区的数量可以为1个以上的任意组合。
另外,在本实施例中,说明变更全部非认证区长度和认证区长度的方法,但是可以只变更任意一组非认证区长度、认证区长度。这时,对不同种类区域间区域长度设定命令的参数可以设置指定变更区域长度的组的参数。
(实施例7)
在所述的实施例中,说明设定半导体存储器117内的各区域尺寸的各种方法。在这些方法的说明中,未特别提到对于可设定的区域长度的限制。可是,在实际的设计中,能进行对全部区域长度的设定时,设定的自由度提高,但是产生商品化中的试验项目数上升为巨大的数的问题。
因此,为了解决所述问题,在实施区域长度设定处理时,希望设置对可设定的区域长度的限制。限制方法如果是在访问装置100和半导体存储卡110之间能取得一致的方法,就可以采用任意的方法。以下说明几个限制方法。
作为第一方法,说明把可设定的区域长度设定为离散的值的方法。
图20是表示区域长度设定的一例的图。图20表示把可设定的区域长度设定为固定尺寸的数据单位(区域长度设定单位)的整数倍时的情况。即在该方法中,用分割为各区域长度设定单位(这里,64MB)的N个(N为自然数)的区域管理半导体存储器117内的全部区域。在区域长度设定中,只能把区域的边界设定为从成为区域长度设定单位的倍数的边界1到边界(N-1)中的任意一个边界。即各区域的尺寸成为区域长度设定单位的整数倍。在图20的例子中,在边界2存在认证区、非认证区的边界,认证区的尺寸设定为128MB,非认证区的尺寸设定为1920MB。
另外,图21表示本实施例的区域长度设定的其他例子。在图21中,表示把可设定的区域长度设定为固定尺寸的最小设定单位(AU)的2的乘方倍的尺寸时的情形。即在该方法中,区域的边界存在于最小设定单位(AU)(这里,8MB)的2的乘方倍的位置,只在该边界,能设定区域长度。在图21中,在8MB的位置存在边界1,在16MB的位置存在边界2,在32MB的位置存在边界3,在64MB的位置存在边界4,以下同样在最小设定单位(AU)的2的乘方倍的位置存在边界。另外,在图21中,在边界2存在认证区和非认证区的边界,认证区的尺寸为16MB,非认证区尺寸设定为2032MB。
作为第二方法,说明考虑半导体存储器的物理特性的限制方法。
半导体存储器117中主要使用的Flash存储器具有以一定概率存在不良块的物理特性。例如在包含1000块的物理存储器的Flash存储器中,如果是好块率98%的规格,就有可能存在最多20块(1000块的2%)的不良块。因此,在使用Flash存储器的半导体存储卡中,以不良块的存在为前提,在半导体存储卡外部作为记录区提供的区域长度(容量)比物理上内部存在的全部块数少。
图22是表示半导体存储卡110中的记录区的一例的图。半导体存储卡110管理把Flash存储器上的物理地址、从外部的访问装置100访问时的逻辑地址关联的表。半导体存储卡110管理能从外部的访问装置100访问的记录区、不良块即无法从外部访问的不良块区等2种区域。通过这些结构,实际在Flash存储器内发现不良块时,把不良块变换为不良块区域内的逻辑地址,管理,不从访问装置100访问。
通过在逻辑上把不良块固定在不良块区中,即使物理上在任意的位置存在不良块时,也可以保证对全部好块的访问。在实际的半导体存储卡中,作为不良块对策,采用不仅用不良块区管理不良块,当正常的块在物理上破坏,变为不能记录时,用正常块代替该不良块的方式。因此,保持包含一定数量的块的代替块区。这时,能作为记录区使用的块数进一步减少。在以下的说明中,只把焦点放在不良块上,进行说明。
把这样的半导体存储卡的区域分割为多个区域时,并不清楚在哪个区域中包含不良块。因此,对各区域,在区域长度设定中设定限制,从而满足一定的好块率。
图23是表示考虑了不良块的区域长度设定的一例的图。图23表示用块单位表现区域长度,在半导体存储器117内存在1000块,好块率为98%时。把半导体存储器117分割为认证区和非认证区,管理时,在任意的区域中都有可能包含不良块,所以有必要在认证区和非认证区中分别设置最大不良块数(20块)的不良块区。这是因为全部不良块只集中在认证区和非认证区中的任意一方时,在包含全部不良块的区域中最低也要确保1块的记录区。因此,有必要把认证区和非认证区的区域长度分别设定为比最大不良块数还大的尺寸(21块以上)。即作为区域长度设定的限制,有必要设置各区域长度>最大不良块数(20块)的尺寸的限制。
另外,为了缓和所述的限制,存在改良Flash存储器的方法。以往的Flash存储器规定了每1个的好块率。该规定变更为规定每一定块数的好块率。例如在包含1000块的Flash存储器中,把每100块的好块率规定为98%时,在区域长度设定中,可以假定每100块有2块的不良块。即如图24所示,把认证区域长度设定为100块时,作为不良块区,可以确保2块,与图23的例子所示的20块相比,缓和了限制。
须指出的是,在本实施例中,说明了在半导体存储器117内存在认证区、非认证区各一个时的情形,但是也可以应用于存在2个以上时。另外,作为把可设定的区域长度限制为离散的值的方法,说明了2个方法,但是可以使用此外的方法。另外,说明按照好块率对可设定的区域长度设定限制的方法,但是也可以使用Flash存储器的删除块尺寸、半导体存储卡内部的区域管理单位等其他物理特性设置限制。
本发明说明了特定的实施例,但是对于业内人士,其他很多变形例、修正、其他利用是明显的。因此,本发明并不局限于这里的特定的描述,只由附加的权利要求书限定。