CN1221885C - 用于重写在磁盘驱动器中执行的程序的方法 - Google Patents
用于重写在磁盘驱动器中执行的程序的方法 Download PDFInfo
- Publication number
- CN1221885C CN1221885C CN03123527.1A CN03123527A CN1221885C CN 1221885 C CN1221885 C CN 1221885C CN 03123527 A CN03123527 A CN 03123527A CN 1221885 C CN1221885 C CN 1221885C
- Authority
- CN
- China
- Prior art keywords
- program
- master routine
- cpu
- nonvolatile memory
- routine
- 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
- 238000000034 method Methods 0.000 title claims abstract description 145
- 230000005540 biological transmission Effects 0.000 claims description 36
- 230000004913 activation Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 2
- 238000009987 spinning Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 77
- 230000003213 activating effect Effects 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 20
- 238000007689 inspection Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000012795 verification Methods 0.000 description 7
- 238000004092 self-diagnosis Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004321 preservation Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100284507 Schizosaccharomyces pombe (strain 972 / ATCC 24843) hdd1 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003716 rejuvenation Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
用于重写在磁盘驱动器中执行的程序的方法。如果磁盘驱动器(1)收到由主机系统(2)发出的程序传输命令(步骤502),将该命令指定的程序写入到磁盘11(步骤503)。下次磁盘驱动器(1)接通电源时,在激活过程期间执行一个过程(303),过程(303)包括使用写入到磁盘(11)的程序重写存储在非易失存储器(19)中的程序(43)。
Description
技术领域
本发明涉及包括记录了数据的磁盘介质的磁盘驱动器,具体来说,涉及用于重写在磁盘驱动器中执行的程序的方法和装置。
背景技术
磁盘驱动器包括记录了数据的磁盘介质。磁盘驱动器通常连接到利用此驱动器的主机系统。主机系统是利用磁盘驱动器作为辅助存储器(大容量存储器)的电子设备并由个人计算机代表。磁盘驱动器执行各种过程,包括在磁盘介质上记录数据以及从介质中读取数据。这些过程是通过允许磁盘驱动器中提供的CPU执行预先确定的程序(控制程序)来实现的。此程序一般存储在磁盘驱动器中提供的非易失存储器中。
对可以重写存储在非易失存储器中的程序的需求越来越强烈。最近的磁盘驱动器使用可重写的非易失存储器来存储程序(例如,请参考日本专利申请KOKAI Publication No.2000-99270)。这样的非易失存储器可以是快闪ROM(只读存储器)。
一般而言,要重写存储在磁盘驱动器中的可重写非易失存储器中的程序,主机系统需要执行如下所述的过程。首先,主机系统执行一个命令以将新程序传输到磁盘驱动器。随后,主机系统执行一个命令以将传输到磁盘驱动器的程序写入到非易失存储器。即,紧随在将待重写的新程序传输到磁盘驱动器之后,主机系统将程序写入到非易失存储器。如此,存储在非易失存储器中的程序被转换为新程序。在这种状态下,主机系统执行一个命令以重新激活重写的程序。即,紧随在程序被重写之后,主机系统重新激活整个系统。
为安全地重写存储在磁盘驱动器中的非易失存储器中的程序,必须建立下列规则:正在对程序进行重写时,主机系统访问磁盘驱动器的目的只能是重写程序。然而,如果主机系统是个人计算机,计算机通常具有同时执行许多任务(程序)的多任务功能。在同时执行许多任务的环境中重写存储在磁盘驱动器中的非易失存储器中的程序是有危险的。
在现有技术中,在程序被重写之后,使用如下所述的方法重新激活整个系统,并防止主机系统在正在重写程序时访问磁盘驱动器。首先,提供一个软盘,在该软盘中,存储了启动程序和用于重写程序的应用程序。启动程序具有最低限度的必需的启动功能。应用程序与主机系统的体系结构(计算机体系结构)兼容。此软盘安装在主机系统中的软盘驱动器中。在这种状态下,主机系统执行软盘上的应用程序以根据上面描述的过程重写存储在磁盘驱动器中的非易失存储器中的程序。
然而,在上面描述的常规方法中,程序重写过程相当复杂。此外,具有各种体系结构的主机系统,必须具有系统所特有的程序重写应用程序。具体来说,磁盘驱动器至今用于个人计算机之外的领域,如汽车导航装置的大容量存储器和视听(AV)装置的大容量存储器。即,利用磁盘驱动器的主机系统不一定是主机系统计算机(主机计算机)。此外,主机系统可以使用各种体系结构。因此,上述问题是明显的。
此外,利用上面描述的常规方法,紧随在程序被重写之后,整个系统都必须重新激活。因此,在普通的操作系统上难以运行程序重写应用程序。相应地,利用常规方法,使用存储了启动程序的软盘执行程序重写应用程序,而不必依靠操作系统。然而,利用磁盘驱动器的所有的最近的主机系统都没有软盘驱动器。因此,难以重写在没有软盘驱动器的主机系统利用的磁盘驱动器上执行的程序。
发明内容
本发明的一个目标是提供用于重写在磁盘驱动器中执行的程序的方法和装置。
本发明提供了一种重写存储在磁盘驱动器(1)中的非易失存储器(19)中的程序(43)的方法,在磁盘驱动器中,根据程序(43)执行包括对磁盘介质(11)的访问在内的控制,所述程序(43)附带有程序重写例程(42),该方法的特征在于包括:从主机系统(2)接收(503)一个由所述主机系统(2)的程序传输命令指定的程序;将所接收的程序写入(505)到磁盘介质(11);根据向磁盘介质(11)的进行的程序写入,在非易失存储器(19)中设置(506)有效的重写请求标志(44),所述有效的重写请求标志表示存储在非易失存储器(19)中的程序(43)必须重写;当磁盘驱动器(1)接通电源之后,根据存储在非易失存储器(19)中的程序执行(201)激活过程以激活磁盘驱动器(1),所述执行(201)激活过程包括:如果在非易失性存储器(19)中设置了有效的重写请求标志,则将附带于存储在非易失性存储器(19)中的程序(43)的程序重写例程(42)复制(258)到特定的存储器(20),以及使用复制到特定存储器(20)的程序重写例程,将存储在非易失存储器(19)中的程序(43)重写(301)到写在磁盘介质(11)上的程序中。
根据本发明的一个实施例,提供一种程序重写方法,用于重写存储在磁盘驱动器中的非易失存储器中的程序,根据该程序执行包括访问磁盘介质之类的控制。此方法包括在从主机系统接收到程序传输命令之后将用于传输程序的程序传输命令指定的程序写入到磁盘介质,当磁盘驱动器接通电源之后,根据存储在非易失存储器中的程序执行激活过程以激活磁盘驱动器。执行激活过程包括根据程序传输命令使用写入到磁盘介质中的程序重写存储在非易失存储器中的程序。
在随后的描述中将阐述本发明的其他目标和优点,经过描述,这些目标和优点将变得显而易见,也可以通过实践本发明来对其进行了解。本发明的目标和优点可以通过下文中特别指出的手段和它们的组合来实现和获得。
附图说明
本说明书收入的并构成本说明书的一部分的附图说明了本发明的目前优选的实施例,与上文给出的一般说明以及下面给出的实施例的详细说明一起,用于说明本发明的原理。
图1是显示根据本发明的一个实施例的硬盘驱动器的配置的方框图;
图2是显示CPU地址空间的映射的示例的图表;
图3是说明图2中的监视程序执行的过程的流程图;
图4A和4B是说明图2中的主程序43的在接通电源时执行重置过程的那一部分执行的过程的流程图;
图5是说明图2中的主程序重写例程42执行的过程的流程图;
图6是说明图2中的主程序43包含的空循环执行的过程的流程图;以及
图7是说明图2中的主程序43包含的一种命令处理例程执行的过程的流程图。
具体实施方式
下面将对本发明应用于硬盘驱动器(磁盘驱动器)的实施例进行描述。图1是显示根据本发明的一个实施例的硬盘驱动器(以下简称“HDD”)的配置的方框图。在图1中,磁盘(磁盘介质)11具有两个磁盘表面:顶面和底面。磁盘11的两个磁盘表面的至少一个磁盘表面,例如,两个磁盘表面构成了用磁性方法记录数据的记录面。头(磁头)12如此排列以便对应于磁盘11的相应记录面。磁头12用于将数据写入磁盘介质11(数据记录)和从磁盘介质11读取数据(数据重现)。在图1中的配置中,采用了包括单个磁盘11的HDD。然而,HDD中可以堆积许多磁盘11。
磁盘11由主轴电机(以下简称“SPM”)高速旋转。每个磁头12都连接到传动器(滑架)14作为磁头移动机制。当传动器14旋转时,磁头12在磁盘11的径向上移动。磁头12如此位于目标磁道上。传动器14具有音圈电机(以下简称“VCM”)15,充当传动器14的驱动源。传动器14由VCM 15驱动。SPM 13和VCM15由电机驱动器IC(集成电路)16提供的相应的驱动电流(SPM电流和VCM电流)驱动。电机驱动器IC 16由一个芯片组成,并在CPU 17的控制下驱动SPM 13和VCM 15。电机驱动器IC 16给SPM 13提供SPM电流,电流量由CPU 17指定以便在预先确定的转速范围内旋转SPM 13。SPM 13在预先确定的转速范围内旋转的状态叫做“稳定转动态”(“额定转动态”)。电机驱动器IC 16给VCM 15提供VCM电流,电流量由CPU 17指定以便在磁盘11上的目标位置定位磁头12。
CPU 17是HDD 1的主控制器。CPU 17以时分方式执行HDD1的电机驱动器IC 16之外的元素的控制和电机驱动器IC的控制。CPU 17连接到CPU总线(CPU-BUS)18。快闪ROM(以下简称“FROM”)19、RAM(以下简称“CPU-RAM”)20、磁盘控制器(以下简称“HDC”)21和门阵列22连接到CPU总线18。FROM 19是可重写非易失存储器。FROM 19存储了由CPU 17执行的程序。CPU-RAM 20的存储区用于,例如,存储CPU 17使用的变量。门阵列22生成控制HDD 1所要求的信号。
HDC 21不仅连接到CPU总线18,而且还连接到门阵列22,读取/写入IC 24,以及缓冲RAM 25。HDC 21还通过主机系统接口3连接到主机系统2。主机系统2是利用HDD 1的电子设备并由个人计算机代表。HDC 21和门阵列22的控制寄存器(HDC寄存器和门阵列寄存器)分别被分配给CPU 17的地址空间中的一个区域。CPU 17通过执行使用此区域的读取或写入来控制HDC 21或门阵列22。HDC 21具有接口控制功能、磁盘控制功能和缓冲控制功能。HDC 21使用接口控制功能来控制由主机系统2传输的命令(读取/写入及其他命令)的接收和主机系统2和HDC 21之间的数据传输。HDC 21使用磁盘控制功能来控制磁盘11和HDC 21之间的数据传输。HDC 21使用缓冲控制功能来控制缓冲RAM 25。
磁头12连接到磁头IC(前置放大器电路)23。磁头IC 23具有用于放大由磁头12读取的读出信号的读放大器(未显示),和将写数据转换为写电流的写放大器(未显示)。磁头IC 23连接到读取/写入IC(读取/写入信道)。读取/写入IC 24执行各种信号处理。这些信号处理包括读出信号的A/D(模拟-数字)转换过程、对写数据进行编码的过程,以及对读取数据进行解码的过程。
在HDD 1中,当执行由主机系统2提供的读命令时,访问磁盘11上的对应于由此命令指定的逻辑地址的物理地址指出的区域。如此,磁头12读取磁盘11上的此区域记录的数据信号。然后,磁头IC放大由磁头12读取的信号(读信号)。读取/写入IC 24对放大的信号进行A/D转换,然后对转换后的信号进行解码。HDC 21根据来自门阵列22的控制信号处理由读取/写入IC 24解码的数据。如此,生成了要传输到主机系统的数据(读取数据)。此数据存储在缓冲RAM 25中,然后传输到主机系统2。
另一方面,当执行来自主机系统2的写入命令时,由主机系统2传输到HDC 21的数据(写数据)存储在缓冲RAM 25中。HDC 21根据来自门阵列22的控制信号传输将存储在缓冲RAM中的写数据传输到读取/写入IC 24。读取/写入IC 24传输的写数据是经过编码的。通过磁头IC 23将编码的写数据传输到磁头12。如此,磁头12写入磁盘11上的由对应于由上述命令指定的逻辑地址的物理地址指出的区域的写数据。
图2显示了CPU地址空间映射的一个示例。CPU地址空间映射显示了连接到CPU总线18的各种设备和这些设备被分配到的CPU地址空间30中的区域之间的对应关系。在图2中的示例中,FROM 19和CPU-RAM 20分别被分配给CPU地址空间30的区域31和32。此外,HDC 21和门阵列22的控制寄存器(HDC寄存器和门阵列寄存器)分别被分配给CPU地址空间30的区域33和34。如此,CPU 17可以使用与存储器存取使用的方法相同的方法从这些设备接收输入,并将输出传输到这些设备。
被分配了FROM 19的CPU地址空间30的区域31大致被分成监视程序区域51、主程序区域52和参数区域53。在CPU 17上运行的监视程序41存储在监视程序区域51。在CPU 17上运行的主程序重写例程42和主程序43存储在主程序区域52。主程序重写例程42用于访问FROM 19。在本实施例中,主程序重写例程42伴随主程序43。当主程序43被重写时,主程序重写例程42也被重写。然而,在重写之前存在的主程序重写例程42不一定不同于在重写之后存在的主程序重写例程42。此外,稍后将描述的重写请求标志44、检查代码45和校验和46也存储在主程序区域52。参数集47存储在参数区域53中。参数集47是一组参数,并包括有关HDD 1的预先确定的部分的设置信息和HDD 1使用的各种优化数据。
从主程序分别提供监视程序41以只实现HDD 1的所需的最小输入和输出。所需的最小输入和输出对应于根据来自主机系统2的用于重写主程序的特定命令从主机系统2接收主程序,然后将主程序写入在主程序区域52。只有在不能正常地根据主程序重写例程42和主程序43进行主程序重写的情况下,才根据监视程序41对主程序进行重写,而不利用磁盘11。即使主程序43不存在,HDD 1(CPU 17)也可以通过使用监视程序41按照主机系统2的指示重写主程序。
主程序43用于控制整个HDD 1。此控制包括控制对磁盘11的访问。具体地说,主程序43用于控制,例如,HDD 1的预先确定的硬件组件。硬件组件可以是IC。IC包括电机驱动器IC 16、磁头IC23和读取/写入IC 24。主程序43还用于执行的磁头定位控制以定位磁头12在磁盘11上的目标位置。主程序43进一步用于解释和执行由主机系统2传输的命令。可以给HDD 1添加功能或可以通过重写主程序来改进现有的功能。
向其分配了CPU-RAM 20的CPU地址空间30的区域32大致被分成状态保存区域61,用于状态保存管理标志的区域62,以及变量区域63。变量区域63主要用于存储出现在监视程序41和主程序43中的变量。然而,如果FROM 19的存储内容被删除,变量区域63也可以用作临时的程序存储区域。这是因为如果FROM 19的存储内容被删除,则不可能从FROM读取数据或在FROM 19中写数据。
现在,将参考图3、4A和4B中的流程图,对图1中的HDD 1在接通电源时执行的操作(在正常激活时执行的操作)进行描述。图3是说明监视程序41执行的过程的流程图。图4A和4B是说明主程序43的在接通电源时执行重置过程的那一部分执行的过程的流程图。当HDD 1接通电源时,CPU 17初始化HDD 1中的硬件,然后开始在步骤101中执行监视程序41。CPU 17首先清除(重置)CPU-RAM 20中排列的状态保存管理标志62(步骤102)。状态保存管理标志62稍后将被主程序43引用。在清除状态保存管理标志62之后,CPU 17执行为了执行监视程序41所需要执行的最小初始化过程(步骤103)。随后,CPU 17读取主程序区域52中排列的检查代码45。根据检查代码45,CPU 17判断主程序区域52是否存在有效的主程序43(步骤104)。
如上所述,检查代码45存在于主程序区域52。相应地,当主程序43被删除以便进行重写时,同时也删除检查代码45。比如,检查代码45的值是0FFFFH。此值的末尾的H表示此值是十六进制数。在进行上述删除操作之后,状态被转换为如下所述的一种状态,以将检查代码45更新为一个特定值(比如,01234H)。在此状态下,一个新的主程序43被写入主程序区域52,然后确认此主程序43可以正确地执行。
如此,假设检查代码45具有特定值(01234H),在上述步骤104中,判断主程序43存在。在这种情况下,监视程序41转到主程序43(步骤105)。另一方面,如果检查代码45具有不同于特定值的值,则判断主程序43不存在。在这种情况下,CPU 17进入监视程序的命令等待循环(步骤113),以便允许监视程序41执行所需的最小输入和输出。此命令等待循环与稍后描述的主程序43的命令等待循环(空循环)不同。
监视程序41不仅包括接通电源入口(步骤101),而且还包括特定冷启动入口,如稍后描述的(步骤111)。这样对监视程序41进行配置,以便如果使用冷启动入口执行(步骤111),在状态保存管理标志62在CPU-RAM 20设置之后,控制被转到步骤103。在这种情况下,除了状态保存管理标志62的操作之外,还执行类似于在接通电源时执行的操作。
这里,假设监视程序41转到主程序43(步骤105)。即,假设控制被转到主程序43(步骤201)。在这种情况下,CPU 17根据主程序43执行初始化过程(步骤202)。此初始化过程包括HDD 1的每个部分(每个IC)的初始化和CPU-RAM 20的变量区域63的初始化。然而,CPU-RAM 20中的状态保存管理标志62和状态保存区域61不能初始化。
此外,假设设置了状态保存管理标志62,CPU 17不更改主机系统接口3中的信号线(接口信号)的状态,这些状态可以由主机系统2识别。主机系统接口3可以是,比如,ATA接口。主机系统接口3包含BSY(忙)信号、DASP(Device Active Slave Present)信号和RESET信号。实际上,BSY不是主机系统接口3所特有的信号。即,BSY是状态寄存器中的特定位(BSY位),该位可以由主机系统2通过主机系统接口3从HDD 1读取。在本实施例中,为简化描述,由BSY位表示的状态被当做表示主机系统接口3中的BSY的特定接口信号的状态。BSY表示连接到主机系统接口3的设备(在这种情况下,HDD 1)不能从主机系统2接收任何命令。DASP是连接到主机系统接口3的设备使用的信号,如果它是从属(从属设备),以通知从属设备所属的主(主设备)。此通知可以通过激活DASP信号来执行。在命令被接收之后和命令结束之前,当主机系统2访问磁盘时,DASP信号也处于活动状态。RESET是用于重置连接到主机系统接口3的设备(HDD 1)的信号。当主机系统2接通电源时,RESET信号(重置信号)被主机系统2设置为活动。
在结束初始化过程(步骤202)之后,CPU 17判断主程序区域52中的检查代码45是否匹配特定值(01234H)(步骤203)。如果检查代码45不匹配特定值,CPU 17判断检查代码45的值不正确。换句话说,CPU 17判断主程序区域52中没有有效的主程序43,主程序43被完全地重写。在这种情况下,CPU 17将控制转到步骤231。步骤231构成了重写主程序的一部分操作。相反,如果检查代码45匹配特定值,则CPU 17转到步骤204以检查状态保存管理标志62的值。
如果没有设置状态保存管理标志62,则CPU 17转到步骤205以执行正常的激活操作。在步骤205中,CPU 17等待主机系统2清除主机系统接口3中的复位信号(RESET信号)。然后,一旦复位信号被清除,CPU 17就启动激活操作以激活SPM 13(步骤206)。此激活操作通过控制电机驱动器IC 16来执行。在这种情况下,在SPM 13到达稳定的转动态之前需要一定的时间。如此,在启动激活操作之后,CPU 17转到下一步骤207,而不等待到达稳定的转动态。因此,与激活SPM 13的过程同时执行从步骤207开始的多个步骤。
在步骤207中,CPU 17判断连接到主机系统接口3的每个设备是用作主设备还是从属设备,如下所述。其中一个设备是HDD 1。首先,如果HDD 1被用作从属设备,则CPU 17激活主机系统接口3中的DASP信号以便通知主设备有关存在HDD 1的信息。相反,如果HDD 1不用作从属设备,则CPU 17检测主机系统接口3中的DASP的状态,以检查是否存在任何从属设备。然后,CPU 17判断连接到主机系统接口3的每个设备是用作主设备还是从属设备。
现在,将描述在上述步骤204中判断设置了状态保存管理标志62的情况下执行的操作。首先,状态保存管理标志62不在接通电源之后立即设置。即,在HDD 1的状态建立之后,如果在内部再次执行重置操作,则设置状态保存管理标志62。在这种情况下,HDD 1的状态包括主或从属设置状态和主机系统接口3中的信号线的相关状态,以及主机系统2指定的模式。这些状态(设置状态)必须保持。如此,如果设置了状态保存管理标志62,则执行步骤221或213而不是步骤205到207,如稍后所描述的。在步骤221中,执行一个操作以激活SPM 13,如在上述步骤206中的情况一样。此激活操作不必等待清除主机系统接口3中的复位信号即可启动。此外,在本实施例中,主或从属设置状态必须保持。因此,不执行对应于步骤207的过程。主或从属设置状态之外的HDD 1的状态通过将以前保存的内容重新设置到状态保存区域61来恢复。在步骤213中恢复HDD 1的状态。
当在步骤221中开始激活SPM 13的操作时,CPU执行自诊断过程(步骤208)。自诊断过程包括在FROM 19、CPU-RAM 20和缓冲RAM 25上的检查。检查FROM 19的过程包括计算主程序区域52的校验和。对应于存储在主程序区域52中的数据的校验和46存储在区域52。然而,存储在主程序区域52中的数据中包含的重写请求标志41和检查代码45不涉及校验和46的计算。此外,在检查CPU-RAM 20时,必须避免销毁状态保存管理标志62和状态保存区域61的内容。
在步骤208中完成自诊断过程之后,CPU 17等待SPM 13以到达稳定的转动态(步骤209)。一旦SPM 13到达稳定的转动态,CPU17就根据重写请求标志44的状态(值)判断是否已经请求重写主程序(步骤210)。如果重写请求标志44具有初始化的状态(0FFFFH),CPU 17就判断没有请求重写主程序。在这种情况下,CPU 17转到步骤211以便执行正常的激活。相反,如果重写请求标志44的状态不同于初始化的状态,CPU 17就判断已经请求了主程序的重写。在这种情况下,CPU 17执行从步骤251开始执行主程序重写过程。稍后将描述主程序重写过程。
在步骤211中,CPU 17首先读取磁盘11上记录的系统数据,以执行正常的激活。系统数据包括主机系统2设置的缺陷扇区列表和信息。缺陷扇区列表显示一个磁盘11上存在的缺陷扇区的列表。CPU17允许HDD 1的状态以反映从磁盘11读取的系统数据。然后,CPU 17判断在CPU-RAM 20的预先确定的区域中是否已经设置了状态保存管理标志62(步骤212)。如果设置了状态保存管理标志62,CPU就允许HDD 1的状态反映CPU-RAM 20的状态保存区域61的内容(步骤213)。即,CPU 17根据读取的系统数据和状态保存区域61的内容恢复HDD 1的状态。在这种情况下,在步骤211中设置的内容可以用状态保存区域61的内容改写。
然后,CPU 17执行重置结束过程(步骤214)。重置结束过程将主机系统接口3中的预先确定的信号线的状态和HDC 21和门阵列22的控制寄存器的状态设置为预先确定的值。此外,还允许主机系统2进行中断。重置结束过程允许HDD 1(HDC 21)从主机系统接口3接收命令。如此,CPU 17清除状态保存管理标志62(步骤215)并使用主机系统接口3中的BSY信号清除HDD 1的忙状态(步骤216)。然后,CPU 17进入空循环以等待命令(步骤217)。HDD 1紧随在接通电源之后和在步骤215中清除忙状态之前维持忙状态。
现在,将参考图6和7中的流程图,描述图1中的HDD 1执行的命令过程。图6是说明主程序43中的空循环(命令等待循环)执行的过程的流程图。图7是说明主程序43中一种命令处理例程执行的过程的流程图。如前所述,一旦根据主程序在接通电源时执行的重置过程完成,HDD 1就进入空循环(步骤217)。如此控制就转到步骤401。在从步骤401开始的空循环中,HDD 1可以从主机系统2接收命令。在空循环中,在主机系统2发出命令之前以相应的时间间隔执行预先确定的过程。在这种情况下,预先确定的过程包括HDD 1的节省电源的过程和自诊断过程。
当控制转到空循环中的步骤401时,CPU 17获得一个定时器值(步骤402)。然后CPU 17根据定时器值判断在此期间是否执行任何过程(步骤403)。如果在此期间执行任何过程,CPU 17就执行此过程(步骤404)并返回到步骤402。相反,如果在此期间不执行任何过程,CPU 17就不执行任何操作,并将控制转到步骤402。CPU17重复从步骤402开始的过程。
空循环用于等待来自主机系统2的命令。如此,即使空循环执行处理,也必须响应来自主机系统2的命令。相应地,在本实施例中,HDC 21在接收到来自主机系统2的命令时,请求CPU 17执行一个中断过程。为响应此请求,CPU 17暂停正在执行的过程,并立即将HDD 1设置为忙状态。然后,CPU 17使程序从空循环转到图7显示的命令处理例程。即,在空循环执行处理的过程中在接收到来自主机系统2的命令时,CPU 17执行中断过程以将控制转到命令处理例程中的步骤501。
在命令处理例程期间,CPU 17从HDC 21接收到主机系统2发出的命令以确定命令的类型(步骤502或511)。如果主机系统2发出主程序传输命令(步骤502),CPU 17转到步骤503。另一方面,如果主机系统2发出主程序写入命令(步骤511),CPU 17转到步骤512。如果主机系统发出了不同于主程序传输命令或主程序写入命令的命令,则CPU 17转到步骤521以执行该命令。在这种情况下,假设CPU 17转到步骤503或521以执行不同于主程序写入命令的命令。在这种情况下,在完成此命令之后,CPU 17将控制转到步骤508。在步骤508中,CPU 17执行命令结束过程。命令结束过程分别包括HDC 21和门阵列22的控制寄存器的设置值,并清除忙状态。在执行命令结束过程之后,CPU 17再次转到空循环(步骤509)。
现在,将参考图3、4A、4B、6和7中的流程图以及图5中的流程图描述图1中在HDD 1中接通电源时执行的重写主程序的过程。图5是显示由主程序重写例程42执行的过程的流程图,该过程是在使用之前复制到CPU-RAM 20。在本实施例中,主程序的重写具有两个主要特征。第一个特征是主机系统2传输的主程序根据主机系统2提供的主程序传输命令被写入到磁盘11。主程序写入到磁盘11的过程与从主机系统进行的正常的数据传输(数据写入)类似。第二个特征是下次HDD 1接通电源时,读取写入到磁盘11的主程序,然后写入到FROM 19的主程序区域52。
假设主机系统向HDD 1发出主程序传输命令。此主程序传输命令由HDD 1中的HDC 21接收。然后,开始对接收到的命令进行处理,如前面参考图7中的流程图所描述的(步骤501)首先,判断是否已经收到主程序传输命令(步骤502)。如果在此示例中主程序传输命令已经收到,则CPU 17将控制转到步骤503。在步骤503中,主程序传输命令指定的数据(主程序)由HDC 21收到,然后存储在缓冲RAM 25中。然后,CPU 17根据校验和的计算结果判断存储在缓冲RAM 25中的数据是否为主程序传输命令(步骤504)指定的正确的(有效的)主程序。如果存储在缓冲RAM 25中的数据不是有效的主程序,CPU 17就将结束状态设置为表示“反常”的值(步骤513)。如此,CPU 17中止收到的命令(主程序传输命令)的处理(步骤508)。然后CPU 17进入空循环(步骤509)。
另一方面,如果存储在缓冲RAM 25中的数据是有效的主程序,则CPU 17提供诸如将数据(主程序)写入到磁盘11之类的控制(步骤505)。然后,CPU 17设置存储在FROM 19的主程序区域52中的重写请求标志44(步骤506)。在存储在缓冲RAM 25中的数据(主程序)被写入磁盘11之前,在步骤302中重写请求标志44被初始化(重置)到0FFFFH(比如)。如果重写请求标志44在0FFFFH设置,这意味着没有请求重写主程序。如此CPU 17将主程序写入到磁盘11,然后在上述步骤506中将重写请求标志44设置到0FFFFH之外的值。如此,重写请求标志44转到表示请求了重写主程序的状态。在执行步骤506之后,CPU 17设置结束状态以表示“正常”(步骤507)。如此,CPU 17正常地结束收到的命令(主程序传输命令)的处理(步骤508)。然后CPU 17进入空循环(步骤509)。
假设在空循环期间,到主机系统2(和HDD 1)的电源被中断,随后恢复。在这种情况下,CPU 17启动与主程序43的重写关联的激活操作,如下所述。首先,当HDD 1接通电源(步骤101)时,CPU 17执行步骤102到105和201到209,与前面描述的在伴随接通电源的正常激活期间执行的操作的情况相同。然后在步骤210中,CPU 17引用重写请求标志44的状态以根据这状态判断是否请求了主程序的重写。
在正常激活的情况下,重写请求标志44被初始化到0FFFFH。在这种情况下,判断没有请求重写主程序。控制转到步骤211。另一方面,在此示例中,已经设置了重写请求标志44,因为已经执行了前面描述的主程序传输命令。如果在此状态中HDD 1接通电源,则执行与正常激活执行的操作不同的操作,如下所述。首先,在上述步骤210中,判断请求了主程序的重写。在这种情况下,CPU 17转到步骤251以便重写当前写入在FROM 19 52的主程序区域52的主程序43。在步骤251中,CPU 17提供诸如读取写入到磁盘11的主程序然后将它存储在缓冲RAM 25的变量区域63之类的控制。在这种情况下,变量区域63被用作临时程序存储区域。
当正在从磁盘11读取主程序时,可以执行由于读错误而产生的重试过程。在这种情况下,读取主程序需要很多时间。然后重写存储在主程序区域52中的主程序43可以延迟以延长总激活时间。如此,本实施例测量从HDD 1接通电源直到主程序被完全读出所需要的时间(持续时间)。如果测量的持续时间超过预先确定的时间(指定的时间),则不重写主程序43。如此,CPU 17将完成主程序的读取的持续时间与指定的时间进行比较(步骤252)。如果完成读取的持续时间超过指定的时间,CPU 17将控制转到步骤211。这是因为CPU17执行的操作类似于在没有请求重写主程序的情况下执行的操作(即,类似于正常激活执行的操作的操作)。如此,虽然主程序43的重写至少延迟到下次接通电源,可以阻止处理时间无用地增大。还可以使用计时器,该计时器计算接通电源(或开始读取主程序)之后的指定的时间。如果甚至在计时器计算指定的时间之后没有完全读出主程序,使用此计时器可使控制转到步骤211。
如果主程序在指定的时间内完全读出,CPU 17就判断从磁盘11读取然后存储在缓冲RAM 25中的主程序是否正常(步骤254和255)。这种判断可以利用校验和的计算结果来进行。如果存储在缓冲RAM 25中的主程序正常,则CPU 17将转到步骤256。相反,如果存储在缓冲RAM 25中的主程序反常,CPU 17将控制转到步骤211以便随后执行类似于正常激活执行的操作的操作。
如果CPU已经转到步骤256,它控制电机驱动器IC 16以停止驱动SPM 13以便重写主程序43。SPM 13的驱动被停止,因为当主程序43被重写时,控制SPM 13和VCM 15的例程也被删除,以使SPM 13和VCM 15不受控制。甚至当CPU 17停止驱动SPM 13时,SPM 13由于惯性而继续旋转。因此,在SPM 13的转速到达预先确定的值之前需要很多时间。因此,紧随在步骤256中停止驱动SPM 13之后,CPU 17将控制转到步骤257而不等待SPM13的转速到达预先确定的值。在步骤257中,CPU 17获得HDD 1的当前设置状态(设置状态)。然后CPU 17将表示获得的设置状态的信息(状态信息)保存到CPU-RAM 20中提供的状态保存区域61。在由于将存储在FROM 19中的主程序43更改到此新程序而使控制被转到新程序43之后,在步骤257中执行处理以恢复当前设置状态。
然后,CPU 17将保存到FROM 19的主程序区域52的主程序重写例程42复制到CPU-RAM 20的变量区域63(步骤258)。下面将描述执行此过程的理由。首先,要重写主程序43,需要执行重写的主程序重写例程42。然而,在对主程序43进行重写时,整个FROM 19不可访问。在这种情况下,主程序重写例程42无法在FROM 19上运行。因此,在本实施例中,应用这样的布置:代替FROM 19,主程序重写例程42在CPU-RAM 20上运行。因此,在上述步骤258中,主程序重写例程42被从FROM 19的主程序区域52复制到CPU-RAM 20的变量区域63。主程序重写例程42被配置为在CPU-RAM 20的变量区域63上运行,以完成主程序重写过程,然后转到主程序43的开始。
在完全将主程序重写例程42复制到CPU-RAM 20(步骤258)之后,CPU 17转到CPU-RAM 20的变量区域63中的特定地址(步骤258)。因此,CPU 17使主程序重写例程42被复制到CPU-RAM20的变量区域63以在CPU-RAM 20上运行(步骤259)。CPU 17根据主程序重写例程42重写主程序43,如下所述。
FROM 19的特征在于,在FROM 19中写入数据时,新数据无法再写入到正在写入第一批数据的区域。即,此区域中的数据必须首先删除,然后才能在此区域写入新数据。如此,在将控制转到主程序重写例程42之后,CPU 17删除FROM 19的主程序区域52上的所有数据(步骤302)。这不仅删除主程序43而且还删除主程序重写例程42、重写请求标志44、检查代码45和校验和46。然后,CPU 17连续地将存储在缓冲RAM 25中的主程序写入到FROM19的主程序区域52(步骤303)。如此存储的程序是新的主程序43。此时,伴随主程序的主程序重写例程也写入到与主程序重写例程42相同的主程序区域52。
假设新主程序43完全正常地写入(步骤304)。在这种情况下,CPU 17将主程序重写例程42转到主程序43(步骤305)的开始(步骤201)。另一方面,如果新主程序43没有正常地写入(步骤304),CPU 17判断新主程序43无效。在这种情况下,CPU 17将主程序重写例程42转到特定冷启动入口(步骤311)。
一旦新主程序43完全正常地写入,然后控制被转到新主程序43(步骤201),执行初始化过程,与前面描述的将监视程序41转到主程序43(步骤202)的情况相同。这就允许对HDD 1的每个部分(每个IC)进行初始化和对CPU-RAM 20的变量区域63进行初始化。然后,CPU 17检查主程序区域52中的检查代码45(步骤203)。在此阶段,还没有写入检查代码45。即,检查代码45仍处于其初始化状态。在这种情况下,CPU 17转到步骤231。
如上所述,在本实施例中,在重写主程序43时,使用不同的路径多次执行图4A和4B中的流程图中显示的重置过程部分。如此,重置过程部分的程序结构,特别是转移条件,优选情况下对新主程序43通用。
在转到步骤231之后,CPU 17测试新主程序43的操作。执行的测试包括类似于前面描述的步骤208中执行的自诊断过程。测试还包括虚假地发出命令中断的过程,以检查执行命令的例程是否操作正确。CPU 17根据步骤231的测试结果判断新主程序43是否操作正常(步骤232)。如果新主程序43操作正常,则CPU 17判断主程序43被正确地写入。在这种情况下,CPU 17将特定值(01234H)的检查代码45写入到主程序52(步骤233)。一旦执行完步骤233,写入新主程序43的操作正常地完成。然后,为检查写入新主程序43的操作是否正常地完成,CPU 17从其头部执行监视程序41(步骤234)。然而,监视程序41不转到接通电源入口(步骤101)而是转到上文描述的冷启动入口(步骤111)。这是因为在正在重写主程序时主机系统接口3中的信号线的状态无法更改,并且因为根据新主程序43上面的步骤257中保存的HDD 1的设置状态必须恢复。
在转到冷启动入口(步骤111)之后,CPU 17首先设置CPU-RAM 20中排列的状态保存管理标志62(步骤112)。然后,CPU 17执行初始化过程(步骤103),与前面描述的在接通电源时执行的操作(步骤101)的情况相同。此操作不同于在接通电源时(或紧随其后)执行的操作,不同点在于,在状态保存管理标志62被重置(步骤102)之后不执行初始化过程(步骤103),而是在状态保存管理标志62被设置(步骤112)之后执行。
在执行初始化过程(步骤103)之后,CPU 17判断主程序区域52中是否写入了正确的检查代码45(步骤104)。此时,在前面的步骤233中写入的正确值(01234H)的检查代码45位于主程序区域52。在这种情况下,CPU 17转到步骤105以再次从其头部执行新主程序43(步骤201)。然后,在执行初始化过程(步骤202)之后,CPU 17判断主程序区域52中是否写入了正确的检查代码45,与上面的步骤104(步骤203)的情况相同。还与上面的步骤104相同,判断主程序区域52中是否写入了正确值(01234H)的检查代码45。在这种情况下,CPU 17转到步骤204以判断是否设置了状态保存管理标志62。
在主程序43从监视程序41转移期间执行步骤204。在这种情况下,监视程序41从冷启动入口开始(步骤111)。在步骤112,在冷启动入口之后(步骤111),设置了状态保存管理标志62。相应地,在步骤204中判断是否设置了状态保存管理标志62。如果设置了状态保存管理标志62,则CPU 17转到步骤221以便防止主机系统接口3中的主或从属设置状态和信号线的状态的变化,如前面所描述。在步骤221中,CPU 17只执行SPM 13的激活。随后,CPU 17执行自诊断过程(步骤208),与正常激活的情况相同。然后,一旦SPM 13到达稳定的转动态(步骤209),CPU 17根据重写请求标志44的值判断是否已经请求重写主程序(步骤210)。在这种情况下,在步骤302执行的删除操作清除了重写请求标志44。如此CPU17判断还没有请求重写主程序。然后,CPU 17读取磁盘11上记录的系统数据,并允许HDD 1的状态以反映此数据(步骤211),与正常激活的情况相同。
然后,CPU 17判断是否设置了状态保存管理标志62(步骤212)。在这种情况下,设置了状态保存管理标志62。如此,在重写主程序之前,CPU 17读取保存到状态保存管理区域61的状态信息(步骤257)。然后它允许HDD 1的当前状态以反映由状态信息表示的HDD 1的设置状态(步骤213)。即,CPU 17将HDD 1的状态恢复到重写主程序之前的状态。在此恢复过程期间,步骤211中设置的内容可以转变为在步骤213恢复的内容。随后,CPU 17执行步骤214到216,与正常激活的情况相同,以便从主机系统2接收命令。然后CPU 17转到空循环(步骤217)以完成接通电源之后的激活过程,包括主程序43的重写。
在本实施例中,HDD 1在接通电源之后和在步骤216中执行新主程序43以清除忙状态之前以及在正在重写和重新激活主程序时维持忙状态。如此,主机系统2简单地识别在接通电源时激活HDD 1所需要的时间增大。此外,在本实施例中,在步骤207中根据无变化的主程序43的处理设置的主或从属设置状态,HDD 1的其他设置状态恢复到重写之前存在的状态。即,在本实施例中,HDD 1的主或从属设置状态和其他设置状态类似于正常激活期间的状态。如此,在本实施例中,可以重写主程序43,而不会影响主机系统2的操作。
如上所述,在本实施例中,作为在接通电源时执行的激活过程的一部分执行主程序的重写。此外,在本实施例中,还可以通过在主程序传输命令之后使主机系统2向HDD 1发出特定命令(主程序写入命令)重写主程序。
下面参考图4B、5和7描述根据主程序写入命令重写主程序。首先,假设主机系统2已经向HDD 1发出主程序传输命令。在这种情况下,在命令处理例程中执行主程序传输命令,以将主机系统2传输的新主程序写入到磁盘11。在完成主程序传输命令的执行之后,HDD 1再次进入空循环,进一步假设在HDD 1再次进入空循环之后,主机系统2发出主程序写入命令,然后该命令由HDC 21接收。在这种情况下,CPU 17判断在图7中的命令处理例程中HDC 21已经接收到主程序写入命令(步骤511)。然后CPU 17转到主程序43的重置过程部分包含的步骤253(入口A)。在转到步骤253之后,CPU 17重写存储在主程序区域52中的主程序43,与在接通电源时执行的主程序的重写(步骤254到259和301到305)情况相同。然后,一旦主程序43被完全重写,清除忙状态以允许接收命令。
如此,即使根据主程序写入命令重写主程序,主机系统2简单地识别它已经执行单个主程序写入命令。也是在这种情况下,在重写主程序43之后,HDD 1的设置状态被恢复到重写之前的状态。如此,可以重写主程序43,而不会影响主机系统2的随后的操作。在上面描述的实施例中,主程序传输命令和主程序写入命令是分别提供的。然而,单个命令(主程序传输命令)可以连续地传输和重写主程序。为达到此目的,CPU 17可以转到入口A(步骤253)而不是执行主程序传输命令处理例程中的命令结束过程(步骤508)。
如此,在本实施例中,如果HDD 1接收由主机系统2发出的程序传输命令,则此命令指定的程序(新程序)写入到HDD 1中。在这种情况下,程序传输命令的处理结束而不重写存储在FROM 19中的主程序43。下次HDD 1接通电源时使用已经写入到磁盘11中的新程序重写主程序43。作为HDD 1接通电源时执行的激活过程的一部分自动执行主程序43的重写。这就使得存储在HDD 1的FROM19中的主程序43被重写,不管主机系统2的体系结构是什么。此外,为重写主程序43,主机系统2只需执行程序传输命令。因此,不需要复杂的过程。如此,本实施例可以灵活地根据来自具有各种体系结构的主机系统2的指令重写程序。
在上面描述的实施例中,本发明应用于硬盘驱动器(HDD)。然而,本发明还可一般地应用于使用磁盘介质作为记录介质和使用磁头在磁盘介质中写数据的诸如磁光盘驱动器之类的磁盘驱动器。
那些精通本技术的人可以容易地实现其他优点和进行其他修改。因此,本发明的更广的方面不仅局限于这里显示和描述的具体细节和代表性的实施例。相应地,在不偏离所附权利要求和它们的等效物所定义的一般发明概念的精神或范围的情况下,可以进行各种修改。
Claims (14)
1.一种重写存储在磁盘驱动器(1)中的非易失存储器(19)中的程序(43)的方法,在磁盘驱动器中,根据程序(43)执行包括对磁盘介质(11)的访问在内的控制,所述程序(43)附带有程序重写例程(42),该方法的特征在于包括:
从主机系统(2)接收(503)一个由所述主机系统(2)的程序传输命令指定的程序;
将所接收的程序写入(505)到磁盘介质(11);
根据向磁盘介质(11)进行的程序写入,在非易失存储器(19)中设置(506)有效的重写请求标志(44),所述有效的重写请求标志表示存储在非易失存储器(19)中的程序(43)必须重写;
当磁盘驱动器(1)接通电源之后,根据存储在非易失存储器(19)中的程序执行(201)激活过程以激活磁盘驱动器(1),所述执行(201)激活过程包括:
如果在非易失性存储器(19)中设置了有效的重写请求标志,则将附带于存储在非易失性存储器(19)中的程序(43)的程序重写例程(42)复制(258)到特定的存储器(20),以及
使用复制到特定存储器(20)的程序重写例程,将存储在非易失存储器(19)中的程序(43)重写(301)到写在磁盘介质(11)上的程序中。
2.根据权利要求1所述的方法,其特征在于,执行(201)激活过程包括:
如果在非易失性存储器(19)中设置了有效的重写请求标志(44),则读取(251)写在磁盘介质(11)上的程序;以及
将完成读取的持续时间与预先确定的时间进行比较(252);
并且其中,如果持续时间没有超过预先确定的时间,则执行复制(258)和重写(301);以及
如果持续时间超过预先确定的时间,则阻止复制(258)和重写(301),通过假定在非易失性存储器(19)中没有设置有效的重写请求标志(44)继续激活过程。
3.根据权利要求1所述的方法,其特征在于,执行(201)激活过程包括切换(304,305)到重写之后获得的新程序的执行;以及
根据重写之后获得的新程序继续激活过程。
4.根据权利要求3所述的方法,其特征在于,执行(201)激活过程包括确认(231,232)新程序操作正常,以及
其中,如果判断新程序操作正常,根据新程序继续激活过程。
5.根据权利要求4所述的方法,其特征在于,执行(201)激活过程包括:
如果确认新程序操作正常,则将特定信息(45)写入(233)到非易失存储器(19),所述特定信息(45)表示新程序正常;以及
其中,如果特定信息(45)被写入到非易失存储器(19),根据新程序继续激活过程。
6.根据权利要求5所述的方法,其特征在于,进一步包括:
根据独立于要被重写的程序的监视程序(51),判断(104)特定信息(45)是否已经被写入到非易失存储器(19);以及
如果判断特定信息(45)没有被写入到非易失存储器(19),继续(113)执行监视程序(51)而不是执行重写之后获得的新程序。
7.根据权利要求6所述的方法,其特征在于,如果判断特定信息(45)没有被写入到非易失存储器(19),监视程序(51)包括命令等待循环(113)以等待来自主机系统(2)的命令。
8.根据权利要求7所述的方法,其特征在于,监视程序(51)包括一种处理例程,如果在命令等待循环(113)期间收到重写主程序的特定命令则操作,所述处理例程进行操作以将存储在非易失存储器(19)中的程序(43)重写到所述特定命令指定的程序中。
9.根据权利要求1所述的方法,其特征在于,在重写(301)之后,再次执行执行(201)激活过程的步骤,并且其中执行(201)激活过程包括:
保存(257)表示在重写(301)之前的时间点的磁盘驱动器(1)的状态的状态信息;
在重写(301)之后,执行(202)初始化过程的同时主机系统接口(3)保持与重写(301)之前的状态相同的状态,主机系统接口(3)将主机系统(2)和磁盘驱动器(1)连接在一起,主机系统接口(3)的状态包括当磁盘驱动器(1)接通电源时设置的忙状态;以及
在执行(202)初始化过程之后,根据保存的状态信息恢复(213)磁盘驱动器(1)的状态。
10.根据权利要求9所述的方法,其特征在于,执行(201)激活过程包括在恢复(213)之后清除(216)忙状态。
11.根据权利要求1所述的方法,其特征在于,在程序传输命令指定的程序被写入到磁盘介质(11)之后,如果主机系统(2)给磁盘驱动器(1)提供一个程序写入命令,指定写入(511)一种程序,则也重写该程序。
12.根据权利要求1所述的方法,其特征在于进一步包括在重写程序时停止(256)旋转磁盘介质(11)的主轴电机(13)。
13.根据权利要求1所述的方法,其特征在于,存储在非易失存储器(19)中的程序(43)包括用于重写程序的程序重写例程(42)。
14.根据权利要求13所述的方法,特征在于进一步包括在重写程序时将程序重写例程(42)复制(258)到存储器(20),以及
其中,根据复制到存储器(20)的程序重写例程(42),重写存储在非易失存储器(19)中的程序(43)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP221835/2002 | 2002-07-30 | ||
JP2002221835A JP3708914B2 (ja) | 2002-07-30 | 2002-07-30 | ディスク記憶装置において実行されるプログラムを書き換えるための方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1472629A CN1472629A (zh) | 2004-02-04 |
CN1221885C true CN1221885C (zh) | 2005-10-05 |
Family
ID=30437681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN03123527.1A Expired - Fee Related CN1221885C (zh) | 2002-07-30 | 2003-05-09 | 用于重写在磁盘驱动器中执行的程序的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6996667B2 (zh) |
JP (1) | JP3708914B2 (zh) |
CN (1) | CN1221885C (zh) |
SG (1) | SG129246A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4575112B2 (ja) * | 2004-10-28 | 2010-11-04 | 株式会社東芝 | ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム |
US7845012B2 (en) * | 2005-11-18 | 2010-11-30 | Toyota Motor Engineering & Manufacturing North America, Inc. | System and method of intelligent agent identification for vehicle diagnostics |
US8060285B2 (en) * | 2006-04-26 | 2011-11-15 | Toyota Motor Engineering & Manufacturing North America, Inc. | System and method of intelligent agent management using an overseer agent for use in vehicle diagnostics |
US7233879B1 (en) | 2006-05-09 | 2007-06-19 | Toyota Technical Center Usa, Inc. | System and method of agent self-repair within an intelligent agent system |
US7729825B2 (en) | 2006-06-29 | 2010-06-01 | Toyota Motor Engineering & Manufacturing North America, Inc. | System and method of intelligent agent management using an agent interface for use in vehicle diagnostics |
JP2011159349A (ja) | 2010-01-29 | 2011-08-18 | Toshiba Corp | 磁気ディスク装置、制御方法および情報処理装置 |
JP5221714B2 (ja) * | 2011-07-14 | 2013-06-26 | 株式会社東芝 | 磁気ディスク装置、制御方法および情報処理装置 |
WO2014089781A1 (zh) * | 2012-12-12 | 2014-06-19 | 华为技术有限公司 | 一种硬盘系统操作方法、存储系统及处理器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297067A (en) * | 1991-10-16 | 1994-03-22 | Quantum Corporation | Electronic hot connection of disk drive module to computer peripheral bus |
JPH06295238A (ja) | 1993-04-07 | 1994-10-21 | Nec Ibaraki Ltd | 磁気ディスク制御装置 |
US5537578A (en) * | 1993-04-20 | 1996-07-16 | International Business Machines Corporation | Transparent driving partition for processing logical volumes to be recorded onto optical media |
JPH07121974A (ja) | 1993-10-21 | 1995-05-12 | Mitsubishi Electric Corp | 情報記録・再生装置 |
US5452277A (en) * | 1993-12-30 | 1995-09-19 | International Business Machines Corporation | Adaptive system for optimizing disk drive power consumption |
JPH08125830A (ja) | 1994-10-19 | 1996-05-17 | Ricoh Co Ltd | ファクシミリ装置 |
KR100568642B1 (ko) * | 1996-04-11 | 2006-04-07 | 가부시끼가이샤 히다치 세이사꾸쇼 | Atapi 디스크 드라이브 장치 |
JPH10307726A (ja) | 1997-05-02 | 1998-11-17 | Nec Corp | 起動エラー時におけるファームウェアリカバリ方式 |
JP3437083B2 (ja) | 1998-02-23 | 2003-08-18 | 富士通株式会社 | 入出力制御装置およびそのファームウェア更新方法 |
JP2000099270A (ja) | 1998-09-17 | 2000-04-07 | Alps Electric Co Ltd | 制御情報書き換え可能なディスク駆動装置及びその書き換え方法 |
JP2002041298A (ja) | 2000-05-17 | 2002-02-08 | Fujitsu Ltd | 計算機と資源自動適用処理プログラムと資源自動適用処理プログラムの記録媒体 |
-
2002
- 2002-07-30 JP JP2002221835A patent/JP3708914B2/ja not_active Expired - Fee Related
-
2003
- 2003-04-30 SG SG200302564A patent/SG129246A1/en unknown
- 2003-05-09 CN CN03123527.1A patent/CN1221885C/zh not_active Expired - Fee Related
- 2003-05-15 US US10/438,046 patent/US6996667B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1472629A (zh) | 2004-02-04 |
SG129246A1 (en) | 2007-02-26 |
US20040022096A1 (en) | 2004-02-05 |
US6996667B2 (en) | 2006-02-07 |
JP2004062663A (ja) | 2004-02-26 |
JP3708914B2 (ja) | 2005-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7320050B2 (en) | Data transmission control method and storage device | |
US8638514B2 (en) | Information recording device and information recording method | |
US8307162B2 (en) | Method and apparatus for cache flush control and write re-ordering in a data storage system | |
US7487392B2 (en) | Data storage device, and method for rewriting data in nonvolatile memory | |
US8291190B2 (en) | Disk drive including a host interface supporting different sizes of data sectors and method for writing data thereto | |
JP2008016117A (ja) | テープへのデータ書込方法、テープへのデータ書込プログラム、及びテープ記憶装置 | |
JP2007200537A (ja) | ハイブリッドディスクドライブおよびハイブリッドディスクドライブのデータ制御方法 | |
US6594207B2 (en) | Information recording apparatus, information recording system and information recording medium | |
US7487388B2 (en) | Method of recovering reallocation sectors in data storage system and disc drive using the same | |
US20050216782A1 (en) | Error recovery method for data storage device, data storage device, and magnetic disk storage device | |
US20020138694A1 (en) | Magnetic disc drive, method for recording data, and method for reproducing data | |
JP2005166147A (ja) | 光ディスクドライブ、光ディスク装置およびおよび光ディスクデバイスドライバプログラム | |
CN1221885C (zh) | 用于重写在磁盘驱动器中执行的程序的方法 | |
US8429336B2 (en) | Disk drive and method of changing a program therefor | |
US9389803B2 (en) | Method for controlling interface operation and interface device applying the same | |
JP5886803B2 (ja) | 情報記録装置およびデータ復旧方法 | |
US20100214687A1 (en) | Storage device and read/write processing method therefor | |
JPH11203057A (ja) | ディスクアレイ装置およびその制御方法 | |
US7389378B2 (en) | Write processing method for stream type commands and medium storage apparatus | |
CN110232033B (zh) | 磁盘装置及写入方法 | |
JP3457602B2 (ja) | ディスク装置 | |
JP3555871B2 (ja) | ディスクアレイ装置 | |
KR20070096081A (ko) | 저장매체의 마스터 부트 레코드 복구 방법 및 이를 이용한디스크 드라이브 | |
JP3147575B2 (ja) | データ書込み装置及びデータブロック書込み方法 | |
US20200117375A1 (en) | Data storage across simplified storage volumes |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20051005 |