数据储存装置以及参数改写方法与流程

文档序号:15147946发布日期:2018-08-10 20:40阅读:202来源:国知局

本发明有关于一种参数改写方法;特别有关于一种避免不可改写的参数被改变的参数改写方法。



背景技术:

快闪存储器为一种普遍的非挥发性数据储存装置,是以电性方式抹除与程序化。以非及闸型的快闪存储器(即nandflash)为例,常用作记忆卡(memorycard)、通用串行总线闪存装置(usbflashdevice)、固态硬碟(ssd)、嵌入式快闪存储器模组(emmc)…等使用。

在快闪存储器中的操作中,控制器需要依据许多参数来据以对快闪存储器进行存取与维护。一般而言,操作参数皆具有预设值,使得快闪存储器可工作在洽当的环境中。然而,使用者可藉由特定的命令对操作参数进行改写。若使用者改写不当,会造成快闪存储器操作于不洽当的环境,例如过久的写入读取周期,或者淘汰太多存储器空间。因此,需要一种方法来避免不可被改写的参数被使用者改变,以防止快闪存储器操作不当。



技术实现要素:

本发明所提供的数据储存装置以及参数写入方法可拒绝会改变不可改写的模式参数的要求并且通知主机。

本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器用以储存一固件,其中固件具有多个模式页面设定,并且每一模式页面设定包括多个模式参数。控制器自一主机接收用以改写模式页面设定中的一第一模式页面设定的一数据输出讯息,根据数据输出讯息判断数据输出讯息是否会改变第一模式页面设定中不可改写的模式参数,其中当数据输出讯息会改变第一模式页面设定中不可改写的模式参数时,控制器回传相应于失败的一upiu回复讯息至主机。

另外,当数据输出讯息不会改变第一模式页面设定中不可改写的模式参数时,控制器回传相应于成功的upiu回复讯息至主机。

在一实施例中,控制器自主机接收一模式选择命令,并且响应于模式选择命令传送一准备传送讯息至主机后,才接收到主机响应于准备传送讯息所回传的数据输出讯息。其中,模式选择命令包括一页面储存参数用以指示新模式参数是否再数据储存装置关闭后保留。

又另一实施例中,控制器是将新模式参数填入一第一阵列,并且对第一阵列进行逻辑运算以判断数据输出讯息是否会改变第一模式页面设定中不可改写的模式参数。详细而言,控制器还用以将第一模式页面设定预设的模式参数填入一第二阵列,将第一阵列与第二阵列进行一互斥或逻辑运算,并且将互斥或逻辑运算填入一第三阵列。控制器更用以将第三阵列与一第四阵列进行一及逻辑运算,并且将及逻辑运算的结果填入一第五阵列,其中第四阵列中相应于不可改写的模式参数的位元为逻辑1,并且相应于可改写的模式参数的位元为0。当第五阵列中的任一位元为非零整数时,控制器判断数据输出讯息会改变第一模式页面设定中不可改写的模式参数。

本发明另提供一种参数改写方法,适用于一数据储存装置,其中数据储存装置包括一快闪存储器用以储存具有多个模式页面设定的固件,并且每一模式页面设定包括多个模式参数。参数改写方法包括:自一主机接收用以改写模式页面设定中的一第一模式页面设定的一数据输出讯息;根据数据输出讯息判断数据输出讯息是否会改变第一模式页面设定中不可改写的模式参数;以及当数据输出讯息会改变第一模式页面设定中不可改写的模式参数时,回传相应于失败的一upiu回复讯息至主机。

另外,参数改写方法还包括当数据输出讯息不会改变第一模式页面设定中不可改写的模式参数时,回传相应于成功的upiu回复讯息至主机。

在一实施例中,参数改写方法还包括:自主机接收一模式选择命令;以及响应于模式选择命令传送一准备传送讯息至主机,其中数据输出讯息是主机响应于准备传送讯息所回传的,其中模式选择命令包括一页面储存参数用以指示新模式参数是否再数据储存装置关闭后保留。

另外,根据数据输出讯息判断数据输出讯息是否会改变第一模式页面设定中不可改写的模式参数的步骤还包括:将新模式参数填入一第一阵列;以及对第一阵列进行逻辑运算,以判断数据输出讯息是否会改变第一模式页面设定中不可改写的模式参数。

在一实施例中,对第一阵列进行逻辑运算的步骤包括:将第一模式页面设定预设的模式参数填入一第二阵列;将第一阵列与第二阵列进行一互斥或逻辑运算;将互斥或逻辑运算填入一第三阵列;将第三阵列与一第四阵列进行一及逻辑运算;将及逻辑运算的结果填入一第五阵列,其中第四阵列中相应于不可改写的模式参数的位元为逻辑1,并且相应于可改写的模式参数的位元系为0;当第五阵列中的任一位元为非零整数时,判断数据输出讯息会改变第一模式页面设定中不可改写的模式参数;以及当第五阵列中的任一位元皆不为非零整数时,判断数据输出讯息不会改变第一模式页面设定中不可改写的模式参数。

另外,数据储存装置符合统一快闪储存的规格。模式页面设定包括一控制模式页面设定,一读写错误模式页面设定以及一快取模式页面设定。

在一实施中,upiu回复讯息包括一回复栏位、一状态栏位、一感测数据[2]栏位以及一感测数据[12]-[13]栏位,其中在相应于失败的upiu回复讯息中,回复栏位被设定为"targetfailure",状态栏位被设定为"checkcondition",感测数据[2]栏位被设定为"illegalrequest",并且感测数据[12]-[13]栏位被设定为"invalidfieldinparameterlist"。在相应于成功的upiu回复讯息中,回复栏位被设定为"targetsucess",并且状态栏位被设定为"good"。数据输出讯息包括一标头以及一新模式页面设定,其中新模式页面设定相应于第一模式页面设定,并且具有相应于第一模式页面设定的模式参数的多个新模式参数。

附图说明

图1是本发明的电子系统的一种实施例的方块图。

图2是本发明的模式页面设定的数据结构的一种实施例的示意图。

图3是本发明的参数改写方法的一种实施例的流程图。

图4是本发明的第一阵列的一种实施例的示意图。

图5是本发明的第二阵列的一种实施例的示意图。

符号说明

100电子系统

120主机

140数据储存装置

160控制器

162运算单元

164永久存储器

166随机存取存储器

180快闪存储器

200表

a0、b0、c0-c5、d0-d7、e0-e3、f0、g0-g1、h0、a0'、b0'、c0'-c5'、d0'-d7'、e0'-e3'、f0'、g0'-g1'、h0'位元

arr1、arr2阵列

el0、el1、el2元素

s302~s312步骤

具体实施方式

以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。

图1是本发明的电子系统的一种实施例的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,并且响应于自主机120所接收的命令进行操作。值得注意的是,在一实施例中,数据储存装置140符合统一快闪储存(universalflashstorage,ufs)的规格。另外,电子系统100可实施于其他电脑系统样态(configuration)上,例如行动装置(mobiledevices)、多处理器系统、以微处理器为基础或可程序化的消费性电子产品(microprocessor-basedorprogrammableconsumerelectronics)、网络电脑、迷你电脑、大型主机以及类似的设备。举例而言,电子系统100可实现于一移动装置,例如手机、平板、智慧型手表、虚拟实境装置(virtualrealitydevice),其中主机120可为移动装置中的中央处理器(cpu)或者微处理器(mcu),并且数据储存装置140可为行动装置中的一存储器装置。

控制器160是用以基于储存于快闪存储器180中的固件控制快闪存储器180。控制器160包括一运算单元162、一永久存储器164(rom)以及一随机存取存储器166(ram)。永久存储器164与所载的程序码组成引导程序(bootloader),由运算单元162执行以开启(boot)数据储存装置140。随机存取存储器166用以暂存将提供给运算单元162执行数据以及固件。快闪存储器180包括多个区块,并且每一区块包括多个页面,以储存数据或者数据储存装置140的固件。

在一实施例中,固件包括多个模式页面设定(modepagesetting)(即,scsi模式设定),模式页面设定可包括一控制模式页面设定(controlmodepagesetting),一读写错误模式页面设定(read-writeerrormodepagesetting)以及一快取模式页面设定(cachingmodepagesetting),其中每一模式页面设定分别包括多个模式参数。控制器160可基于每个模式页面设定中的模式参数进行操作。在一实施例中,控制模式页面设定可用以在适用于所有装置的scsi介面(smallcomputersysteminterface)下提供控制参数(例如,任务集管理(tasksetmanagement)以及错误记录(errorlogging);读写错误模式页面设定可用以制定数据储存装置140在任何命令(例如读取命令、写入命令或者确认命令)下对快闪存储器180所执行的读写中应该使用的错误还原参数(errorrecoveryparameter);快取模式页面设定可用以定义如何使用快取的参数。

在一实施例中,控制模式页面设定、读写错误模式页面设定以及快取模式页面设定中的模式参数可用分别被预先设定为预设模式参数。主机120可发起一模式选择命令(modeselectcommand)以要求控制器160将模式页面设定中之一者重写为具有与预设参数不同的新参数的新模式页面设定。在一实施例中,模式选择命令可包括一页面储存参数(savepageparameter,即sp参数)用以指示新的模式页面设定的新的模式参数是否在数据储存装置140关闭后仍要保留。举例而言,当模式选择命令中的sp参数为"0"时,控制器160可将暂存于随机存取存储器166中相应的预设模式参数重写为新的模式参数。当模式选择命令中的sp参数为"1"时,控制器160可将暂存于随机存取存储器166中相应的预设模式参数重写为新的模式参数并且同时将储存于快闪存储器180中相应的预设模式参数重写为新的模式参数。

在一实施例中,每个模式页面设定中大部分的预设模式参数是不可被改写的。若主机120命令控制器160对不可改写的模式参数进行改写,数据储存装置140则无法适当且正常地操作。在一实施例中,控制模式页面设定(controlmodepagesetting)中的除了软件写入保护(softwarewriteprotect,"swp")外的其他所有模式参数都是不可改写的,其中软件写入保护规定是否需要拒绝(终止)自主机120所接收的写入命令。换言之,软件写入保护的参数制定了在写入所有快取或者缓存皆被写入数据后,控制器160需要禁止对快闪存储器180进行写入的写入动作。举例而言,写入命令的架构可包括一格式化单位命令(formatunitcommand)、写入(6)(write(6))、写入(10)(write(10))、写入(16)(write(16))、同步快取命令(synchronizecachecommand)、取消映射命令(unmapcommand)以及确认命令(verifycommand)。若软件写入保护参数被设定为"1",控制器160可禁止写入命令,若软件写入保护参数被设定为"0",控制器160可允许执行写入命令。因此,当软件写入保护参数为"1"时,所有需要对快闪存储器180进行写入的命令都会被终止并且回复错误的资讯,即在终止后传送一upiu回复讯息(ufsprotocolinformationunits,upiu)至主机120,其中upiu回复讯息(responseupiu)包括设定为"targetfailure"的回复栏位(responsefiled),设定为"checkcondition"的状态栏位(statusfiled),设定为"dataprotect"的感测数据[2]栏位(sensedata[2]field)(sensekey,以及设定为"writeprotected"的感测数据[12]-[13]栏位(sensedata[12]-[13]field)(asc&ascq)setto"writeprotected")。数据储存装置140的预设模式可为正常操作模式(normalmode),其允许执行自主机120所接收的写入命令。当接收到具有新的控制模式页面设定并且其具有设定为"1"的软件写入保护参数时,数据储存装置140可切换至数据保护模式(dataprotectmode),其中数据保护模式禁止执行自主机120所接收到的写入命令。当数据储存装置140在数据保护模式下接收到一写入命令时,数据储存装置140可回复前述的upiu回复讯息给主机120。接着,数据储存装置140可继续操作于数据保护模式直到接收到新的具有设定为"0"的软件写入保护参数的控制模式页面设定,其中具有设定为"0"的软件写入保护参数的控制模式页面设定可致使数据储存装置140切换回正常操作模式。在本发明的实施例中,upiu为通用快闪存储器储存的通讯资讯单元(ufsprotocolinformationunits)的简称。

在一实施例中,读写错误模式页面设定(read-writeerrormodepagesetting)中除了重复读取次数(readretrycount,rrc)、重复写入次数(writeretrycount,wrc)以及复原次数限制(recoverytimelimit,rtl)外的所有的模式参数皆不可改写,其中重复读取次数制定控制器160在读取程序中需要执行几次复原演算(recoveryalgorithm),重复写入次数制定控制器160在写入程序中需要执行几次复原演算(recoveryalgorithm),复原次数限制制定控制器160仅能持续执行复原程序多少时间(毫秒),但本发明不限于此。在一实施例中,数据储存装置140可具有一正常操作模式、一高读取恢复模式(highreadrecoverymode)、一高写入恢复模式(highwriterecoverymode)以及一高读写恢复模式(highread-writerecoverymode)。详细而言,数据储存装置140可预设操作于正常操作模式,其中重复读取次数、重复写入次数以及复原次数限制可分别被预设为第一数值、第二数值以及第三数值。举例而言,预设的重复读取次数、重复写入次数以及复原次数限制可分别为"0"、"0"以及"0x4b0"。当接收到具有设定为一第四数值的重复读取次数的新的读写错误模式页面设定时,数据储存装置140可被切换至高读取恢复模式,其中第四数值为一非负整数,并且第四数值大于第一数值。在其他实施例中,当接收到具有被设定为一第五数值的重复写入次数的新的读写错误模式页面设定时,数据储存装置140可切换为高写入恢复模式,其中第五数值为非负整数,并且第五数值大于第二数值。又另一实施例中,当接收到具有被设定为第四数值的重复读取次数以及被设定为第五数值的重复写入次数的新的读写错误模式页面设定时,数据储存装置140可切换为高读写恢复模式。

在一实施例中,快取模式页面设定(cachingmodepagesetting)中除了回写快取致能(writebackcacheenable,wce)以及读取快取去能(readcachedisable,rcd)外的所有模式参数都是不能改写的。当回写快取致能"wce"的参数被设定为"0",数据储存装置140则应在所有数据都正确地被写入快闪存储器180后才能完成具有好状态(goodstatus)的写入命令(即,回复具有被设定为"targetsuccess"的回复栏位以及被设定为"good"的状态栏位的upiu回复讯息);以及当回写快取致能"wce"的参数被设定为"1"时,数据储存装置140则仅需要在接收到正确的数据后在数据被写入快闪存储器180前,即可完成具有好状态(goodstatus)的写入命令。当读取快取去能"rcd"的参数被设定为"0"时,数据储存装置140可自随机存取存储器166或者快闪存储器180读取读取命令所要求的数据并且回传;当读取快取去能"rcd"的参数被设定为"1"时,数据储存装置140仅可自快闪存储器180读取读取命令所要求的数据并且回传(即当读取命令所要求的数据储存在随机存取存储器166时,控制器160需要将所要求的数据自随机存取存储器166写入快闪存储器180后,才可将所要求的数据自快闪存储器180读取后回传给主机120)。在一实施例中,数据储存装置140具有一正常操作模式,一回写快取去能模式(writebackcachedisablemode)以及一读取快取致能模式(readcacheenablemode),数据储存装置140可预设操作于正常操作模式,其中在预设的快取模式页面设定中,读取快取去能"rcd"的参数是预设为"0"并且回写快取致能"wce"的参数是预设为"1"。当接收到具有被设定为"1"的读取快取去能"rcd"的参数的新的快取模式页面设定时,数据储存装置140可自正常操作模式切换至读取快取致能模式。当接收到具有被设定为"0"的回写快取致能"wce"的参数的新的快取模式页面设定时,数据储存装置140可自正常操作模式切换至回写快取去能模式。

图2是本发明的模式页面设定的数据结构的一种实施例的示意图。图2包括一表200用以表示储存于模式页面设定的位元数据,其中模式页面设定的数据长度为3位元组,表200的第一行显示了模式页面设定中的第一个位元组的数据分别为位元a0、b0、c0-c5,第二行显示了模式页面设定中的在第一个位元组之后的第二个位元组的数据分别为位元,并且第三行显示了模式页面设定中的在第二个位元组之后的第三个位元组的数据分别为位元e0-e3、f0、g0-g1以及h0。另外,每一个代号a0、b0、c0-c5、d0-d7、e0-e3、f0、g0-g1、h0分别为1位元(即,"0"或者"1"),其中位元a0是一第一模式参数,位元b0为一第二模式参数,位元c0-c5组成一第三模式参数,位元d0-d7组成一第四模式参数,位元e0-e3组成一第五模式参数,位元f0为一第六模式参数,位元g0-g1组成一第七模式参数并且位元h0为一第八模式参数。换言之,模式参数是由至少一位元所构成的,并且模式参数的长度不一定相同。

如上所述,本发明还包括一实施例可避免主机120改写不可被改写的模式参数。在一实施例中,当控制器160自主机120接收到一模式选择命令时,控制器160可回传一准备传送讯息(readytotransferupiu)以致使主机120传送一数据输出讯息(dataoutupiu),其中数据输出讯息包括一标头以及一新模式页面设定。换言之,数据输出讯息包括模式页面设定需要重写的讯息以及需要被写入模式页面设定的新的模式参数。

在一实施例中,在获得新的模式参数后,控制器160需要执行多个判断。在判断过程中,控制器160需要分别宣告每一预设的模式参数的变数,分别将每一新的模式参数与预设的模式参数进行比较以判断哪些参数改变,并且改变的参数是否属于不可被改写的模式参数。

上述的判断过程会花费控制器160大量的时间以及资源。因此,本发明还提供另一实施例用以使用特定的逻辑运算以及阵列来判断与预设模式参数不同的新的模式参数是否不可被改写。详细过程请参考图3的说明。

图3是本发明的参数改写方法的一种实施例的流程图。如图3所示,在步骤s302中,在获得新模式参数后,控制器160将所获得的新模式参数填入一第一阵列rr1,如图4所示,其中第一阵列arr1具有三个元素(element)el0~el2,每一元素的大小为1位元组用以储存相应于模式页面设定中的一行所储存的参数。换言之,第一阵列arr1的大小相应于新模式页面设定的大小。举例而言,控制器160可获得八个新模式参数分别相应于图2所示的模式参数,其中所获得的新模式参数包括具有位元a0'的一新第一模式参数、具有位元b0'的一新第二模式参数、具有位元c0'-c5'的新第三模式参数、具有位元d0'-d7'的一新第四模式参数、具有位元e0'-e3'的一新第五模式参数、具有位元f0'的一新第六模式参数、具有位元g0'-g1'的一新第七模式参数以及具有位元h0'的一新第八模式参数。接着,控制器160将相应于表200的第一行的八个位元a0'、b0'以及c0'-c5'填入第一阵列arr1的第一元素el0中,将相应于表200的第二行的八个位元d0'-d7'以及e0'填入第一阵列arr1的第二元素el1,以及将相应于表200的第三行的八个位元e1'-e3'、f0'、g0'-g1'以及h0'填入第一阵列arr1的第三元素el2。值得注意的是第一阵列arr1中每一元素的大小是相应于模式页面设定中每一行的位元的长度。换言之,基于模式页面设定中每一行的大小,第一阵列arr1中的元素的大小可大于1位元组,并且阵列中元素的数量也不限制于本实施例中的数量。另外,本发明所揭示的其他阵列的架构亦可参考图4以及图5所揭示的架构。

接着,在步骤s304中,控制器160对第一阵列arr1以及第二阵列arr2执行一互斥或逻辑运算(xor运算),并且将互斥或运算的结果填入一第三阵列,其中第二阵列arr2(如图5所示)中的元素el0~el2中的元素是被填入预设模式页面设定的预设模式参数,并且第三阵列可表示第一阵列以及第二阵列的不同。另外,在互斥或逻辑运算中,第一阵列arr1以及第二阵列arr2中相应的元素会分别执行互斥或逻辑运算。详细而言,在互斥或逻辑运算中,控制器160先将第一阵列arr1中的元素el0中的位元与第二阵列arr2中的元素el0中的位元进行互斥或逻辑运算,以获得一第一结果;接着,将第一阵列arr1中的元素el1中的位元与第二阵列arr2中的元素el1中的位元进行互斥或逻辑运算,以获得一第二结果;再将第一阵列arr1中的元素el2中的位元与第二阵列arr2中的元素el2中的位元进行互斥或逻辑运算,以获得一第三结果;最后将第一结果、第二结果以及第三结果的位元依序填入第三阵列之el0~el2中。如图5所示,预设模式参数与图2所示的模式参数相同,并且1位元组的模式参数会被填入一个元素。

接着,在步骤s306中,控制器160用以对第三阵列以及一第四阵列进行一及逻辑运算(andoperation),并且将及逻辑运算的结果填入一第五阵列,其中在及逻辑运算中,第三阵列以及第四阵列中相应的元素会分别进行及逻辑运算,并且第四阵列的数值表示哪些预设模式页面设定中的位元是不可被改写的。详细而言,在互斥或逻辑运算中,控制器160先将第三阵列中的元素el0中的位元与第四阵列中的素el0中的位元进行及逻辑运算,以获得一第一结果;接着,将第三阵列中的元素el1中的位元与第四阵列中的元素el1中的位元进行及逻辑运算,以获得一第二结果;再将第三阵列中的元素el2中的位元与第四阵列中的元素el2中的位元进行及逻辑运算,以获得一第三结果;最后将第一结果、第二结果以及第三结果的位元依序填入第五阵列的el0~el2中。举例而言,第四阵列中的每一元素相应于预设模式页面设定中的一行(即1位元组)。若第四阵列之中的一元素里的一位元被设定为"1"时,该被设定为"1"的位元所相应的参数则为预设页面模式设定中不可被改写的(即,不可改写模式参数)。若第四阵列之中的一元素里的一位元被设定为"0"时,该被设定为"0"的位元所相应的参数则为预设页面模式设定中可以被改写的(即,可改写模式参数)。最后,在步骤s308中,控制器160可根据第五阵列的结果判断数据输出讯息(dataoutupiu)是否具有会改写不可改写模式参数的新模式页面设定。详细而言,若第五阵列中的任一元素包括任何非零位元(即,位元值为1)时,相应于非零位元的新模式参数则将会改变预设模式页面设定中不可改写的模式参数。因此,当第五阵列中的任一元素包括非零位元时,程序进行至步骤s312;否则,流程进行至步骤s310。在步骤s312中,控制器160拒绝模式选择命令并且向主机120回复"失败"。在步骤s310中,控制器160接受模式选择命令,并且重写预设模式页面设定及向主机120回复"成功"。

举例而言,控制器160自数据输出讯息中获得新模式参数,其中新模式参数包括位元值为"1"(a0')的一新第一模式参数、位元值为"0"(b0')的一新第二模式参数、位元值为"001011"(c0'-c5')的新第三模式参数、位元值为"00110001"(d0'-d7')的一新第四模式参数、位元值为"1101"(e0'-e3')的一新第五模式参数、位元值为"0"(f0')的一新第六模式参数、位元值为"00"(g0'-g1')的一新第七模式参数以及位元值为"1"(h0')的一新第八模式参数。接着,控制器160将所获得的新模式参数填入第一阵列arr1的元素中。如上所述被填入新模式参数的第一阵列arr1的第一元素el0为"10001011"(a0'、b0'、c0'-c5'),第二元素el1为"00110001"(d0'-d7'),以及第三元素el2为"11010001"(e0'-e3'、f0'、g0'-g1'、h0')。另外,被填入预设模式参数的第二阵列arr2的第一元素为"11001011"(a0、b0、c0-c5),第二元素el1为"00110111"(d0-d7),以及第三元素el2为"11010001"(e0-e3、f0、g0-g1、h0)。接着,控制器160将第一阵列arr1中的元素el0中的"10001011"与第二阵列arr2中的元素el0中的位元"11001011"进行互斥或逻辑运算,并获得第一结果"01000000";再将第一阵列arr1中的元素el1中的位元"00110001"与第二阵列arr2中的元素el1中的位元"00110111"进行互斥或逻辑运算,并获得第二结果"00000110";再将第一阵列arr1中的元素el2中的位元"11010001"与第二阵列arr2中的元素el2中的位元"11010001"进行互斥或逻辑运算,并获得第三结果"00000000";最后将第一结果、第二结果以及第三结果的位元依序填入第三阵列的el0~el2中。由所获得的结果可知,元素el0中相应于b0与b0'的位元值改变了,并且元素el1中相应于d5-d6与d5'-d6'的位元值改变了。换言之,新第二模式参数以及新第四模式参数与预设的第二模式参数以及第四模式参数不同。接着,控制器160则可藉由第四阵列以及及逻辑运算来判断改变的新第二模式参数以及新第四模式参数是否为不可改变的参数。

在此实施例中,假设模式参数中只有第二模式参数(b0)以及第五模式参数(e0-e3)是可以被改写的,第四阵列的元素el0中的位元则会被设定为"10111111";元素el1中的位元则会被设定为"11111111";元素el2中的位元则会被设定为"00001111"。而第三阵列与第四阵列中的三个元素的及逻辑运算的结果则分别为"00000000"、"00000110"、"00000000",其中这些结果会被依序填入第五阵列的元素el0-el2中。由第五阵列的结果可知,其中元素el1中相应于d5以及d6的位元值非零。因此,控制器160可知新的第四模式参数会改写不可被更改的原第四模式参数。因此,在本实施例中,控制器160拒绝模式选择命令并且向主机120回复"失败"。

在另一实施例中,假设模式参数中只有第二模式参数(b0)以及第四模式参数(d0-d7)是可以被改写的,第四阵列的元素el0中的位元则会被设定为"10111111";元素el1中的位元则会被设定为"00000000";元素el2中的位元则会被设定为"11111111"。而第三阵列与第四阵列中的三个元素的及逻辑运算的结果则分别为"00000000"、"00000000"、"00000000",其中这些结果会被依序填入第五阵列的元素el0-el2中。由第五阵列的结果可知,所有的位元值皆为零。因此,在本实施例中,控制器160接受模式选择命令,并且重写预设模式页面设定及向主机120回复"成功"。

在一实施例中,控制器160可藉由upiu回复讯息(responseupiu)向主机120回复成功或者失败,其中upiu回复讯息包括一回复栏位(responsefield)、一状态栏位(statusfield)、一感测数据[2]栏位(sensedata[2]field)以及一感测数据[12]-[13]栏位(sensedata[12]-[13]field)。举例而言,当控制器160向主机120回复失败时,upiu回复讯息中的回复栏位、状态栏位、感测数据[2]栏位以及感测数据[12]-[13]栏位分别被设定为"targetfailure"、"checkcondition"、"illegalrequest"以及"invalidfieldinparameterlist"。当控制器160向主机120回复成功时,upiu回复讯息中的回复栏位以及状态栏位分别被设定为"targetsucess"以及"good"。

如上入的方法所示,数据储存装置100可拒绝会改变不可改写的模式参数的要求并且通知主机120该要求已被拒绝。另外,控制器160可使用阵列以及逻辑运算来判断不可改写的模式参数是否会被改变。因此,本发明的实施例可藉由判断不可改写模式参数是否将被改变,来避免数据储存装置140操作于不适当的环境并进而增进效能。

本发明的方法,或特定型态或其部份,可以以程序码的型态存在。程序码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。

以上所述,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或申请专利范围不须达成本发明所揭示的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1