CN1122914C - 软盘控制器、软盘控制系统和软盘控制方法 - Google Patents

软盘控制器、软盘控制系统和软盘控制方法 Download PDF

Info

Publication number
CN1122914C
CN1122914C CN00107006A CN00107006A CN1122914C CN 1122914 C CN1122914 C CN 1122914C CN 00107006 A CN00107006 A CN 00107006A CN 00107006 A CN00107006 A CN 00107006A CN 1122914 C CN1122914 C CN 1122914C
Authority
CN
China
Prior art keywords
floppy disk
data
sectors
write
memory storage
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
Application number
CN00107006A
Other languages
English (en)
Other versions
CN1271886A (zh
Inventor
长谷野慎一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN1271886A publication Critical patent/CN1271886A/zh
Application granted granted Critical
Publication of CN1122914C publication Critical patent/CN1122914C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • G11B19/041Detection or prevention of read or write errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/004Recording, reproducing or erasing methods; Read, write or erase circuits therefor
    • G11B7/0045Recording
    • G11B7/00458Verification, i.e. checking data during or after recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/007Arrangement of the information on the record carrier, e.g. form of tracks, actual track shape, e.g. wobbled, or cross-section, e.g. v-shaped; Sequential information structures, e.g. sectoring or header formats within a track
    • G11B7/00745Sectoring or header formats within a track

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Bus Control (AREA)

Abstract

在盘控制系统中,缓冲存储器逐个扇区地存储从盘读取的数据或待写入盘的数据。存储器控制器让软盘驱动器逐个扇区断续地从盘读取传输到缓冲存储器的数据或将从缓冲存储器传输的数据逐个扇区断续地写入盘。当软盘驱动器不是正在将数据写入盘或从盘读取数据时,从盘读取的数据逐个扇区地从缓冲存储器传输到系统总线或待写入盘的数据逐个扇区地从系统总线传输到缓冲存储器。可以显著减少对盘控制器和系统总线的负载。

Description

软盘控制器、软盘控制系统 和软盘控制方法
                          技术领域
本发明涉及应用于诸如软盘之类的盘的控制器、控制系统和控制方法,更具体地说,本发明涉及适用于将盘控制器保持的数据传送到自中央处理单元的盘控制器、盘控制系统和盘控制方法。
                          背景技术
软盘控制器(下文称为“FDC”)在中央处理单元(下文称为“CPU”)和软盘驱动器(下文称为“FDD”)之间以字节为单位传输数据,软盘驱动器将数据写入软盘和从软盘中读取数据。
一般来说,由于FDD以大约60kB/S的传输速度从盘中读取数据或将数据写入盘中,CPU不得不每隔16μs将数据传输到FDD中或从FDD中传出。FDC通过系统总线每隔大约16μs将从盘中读取的数据提供到存储器。FDC还通过系统总线每隔大约16μs从存储器中接收将要由FDD写入盘中的数据,并将数据传输给FDD。因此,每隔大约16μs就要占用系统总线供在FDC和CPU之间数据传输用。
上述的数据传输赶不上盘转动速度,除非长时间频繁地重复数据,并且每次从FDC接收到对数据传输的请求也要在相当高的速度下进行操作。此外,伴随着盘的转动,数据传输请求的周期包括百分之几的抖动时间。
因此,为了实现上面的数据传输,CPU应该具有包括中断操作的开销在内的相当大的处理能力。一般来说,当前可用的FDC含有防止CPU过载的DMA(直接存储器访问)数据传输机制。
现在参考图1对FDC与FDD系统中的软盘之间的数据传输占用系统总线的时间进行说明,图1显示了在数据传输期间系统总线的占用状态。
如图1A和1B所示,软盘上的轨道划分成多个扇区。每个扇区记录预定字节数的数据。此外,在每个字节串之前和之后都提供地址信息、纠错信号和保护每个数据区免受软盘转动偏差影响的间隙。FDC将处于突发状态的数据传送给CPU和从CPU中接收处于突发状态的数据,其中数据分成扇区。
在这样占用系统总线的同时,FDC以与软盘转动速度相对应的速度从软盘中读取数据和将数据写入软盘,并且即使当软盘正在以非均匀的速度转动时,FDC也能读取数据。
上面的DMA数据传输使得有可能降低将由CPU处理的数据量。然而,由于FDC和存储器之间的数据传输每隔大约16μs占用系统总线一次,对整个系统的负载仍然保持很大。另外,在DMA数据传输机制正在传输其它数据的同时,尽管CPU能够处理数据,但系统总线被DMA、FDC等占用着。
                          发明内容
因此,本发明的目的是通过提供软盘控制器、软盘控制系统和软盘控制方法克服现有技术中的上述缺点,通过在适当的时间实现在软盘控制器与存储器等之间进行的数据传输,其需要花费相对较长时间,这种软盘控制器、软盘控制系统和软盘控制方法适合于显著减少对软盘控制器和系统总线的负载。
本发明提供一种用于控制从软盘读取数据和将数据写入软盘的软盘驱动器的操作的软盘控制器,包括:
存储装置,用于以软盘上一个扇区的数据量为单位,存储从软盘读取并从软盘驱动器提供的数据或通过总线提供的用于写入软盘的外部数据,该单位是从软盘中一次读取或写入软盘的数据量;和
控制装置,用来控制从软盘读取的和写入软盘的数据;并且
所述控制装置以软盘上一个扇区的数据量为单位从软盘中断续地读取用于提供给所述存储装置的数据,并以软盘上一个扇区的数据量为单位断续地将所述存储装置提供的数据写入软盘中;和
在所述软盘驱动器不是正在从软盘读取数据或将数据写入软盘的时间,所述控制装置以软盘上一个扇区的数据量为单位将从软盘读取并存储在所述存储装置中的数据提供给所述总线,并以软盘上一个扇区的数据量为单位将来自该总线的用于写入软盘的数据提供给所述存储装置。
本发明还提供了一种用来控制软盘驱动器的软盘控制系统,包括通过总线相互连接在一起的软盘控制器和存储器,其中所述软盘控制器控制存储在存储器中的数据写入软盘和从软盘中读取数据以存储到存储器中,该软盘控制器包括:
存储装置,用于以软盘上一个扇区的数据量为单位,存储从软盘读取并从软盘驱动器提供的数据或通过总线提供的用于写入软盘的外部数据,该单位是从软盘中一次读取或写入软盘的数据量;和
控制装置,用来控制从软盘读取的和写入软盘的数据;并且
所述控制装置以软盘上一个扇区的数据量为单位从软盘中断续地读取用于提供给所述存储装置的数据,并以软盘上一个扇区的数据量为单位断续地将所述存储装置提供的数据写入软盘中;和
在所述软盘驱动器不是正在从软盘读取数据或将数据写入软盘的时间,所述控制装置以软盘上一个扇区的数据量为单位将从软盘读取并存储在所述存储装置中的数据提供给所述总线,并以软盘上一个扇区的数据量为单位将来自该总线的用于写入软盘的数据提供给所述存储装置。
本发明还提供了一种用来控制从软盘读取数据或将数据写入软盘中的软盘驱动器的操作的软盘控制方法,该方法包括如下步骤:
以软盘上一个扇区的数据量为单位存储从软盘读取并从软盘驱动器提供的数据或通过总线提供的待写入软盘中的外部数据,该单位是从软盘中一次读取或写入软盘的数据量;
以软盘上一个扇区的数据量为单位从软盘断续地读取用于提供给存储装置的数据,或以软盘上一个扇区的数据量为单位断续地将存储装置提供的数据写入软盘;和
在软盘驱动器不是正在从软盘读取数据或将数据写入软盘的时候,以软盘上一个扇区的数据量为单位将从软盘读取并存储在存储装置中的数据提供给总线,和以软盘上一个扇区的数据量为单位将来自总线的待写入软盘的数据提供给所述存储装置。
正如上文已经描述的,通过利用保持与每扇区数据量相同数据容量的存储装置来实现在软盘控制器与存储器之间进行的、需要耗费相对较长时间的数据传输,根据本发明的软盘控制器、软盘控制系统和软盘控制方法非常有利地减少了对中央处理单元和系统总线的负载。
                          附图说明
通过结合附图对本发明的优选实施例进行如下详细说明,本发明的这些目的和其它目的、特征和优点将更加显而易见。
图1显示在传统软盘控制器的控制下在数据传输期间系统总线的占用状态;
图2是根据本发明的包括软盘控制器的软盘驱动系统的方块图;
图3是根据本发明的软盘控制器的方块图;
图4显示在根据本发明的软盘控制器的控制下在数据传输期间系统总线的占用状态;
图5是在根据本发明的软盘控制器的控制下从软盘上的指定扇区中读取数据所进行的操作的流程图;和
图6是在根据本发明的软盘控制器的控制下将数据写入软盘上指定扇区中所进行的操作的流程图。
                          具体实施方式
现在,参考图2,图2以方块图的形式示意地显示了根据本发明的包括软盘控制器(下文称为FDC)的软盘驱动器(下文称为FDD)系统。
FDC概括地用标记1来表示。如图2所示,FDC1包括将数据写入盘和从盘读取数据的FDD2;根据通过系统总线6从中央处理单元(下文称为CPU)4提供的信号来控制FDD2的操作等的FDC3,CPU4使FDC3能实现各种各样的操作;和存储FDD2已经从软盘读取的数据或FDD2写入软盘的数据的存储器5。系统总线6将FDC3、CPU4和存储器5相互连接起来。
根据来自FDC3的控制信息,FDD2将数据写入软盘中或从软盘中读取数据。更具体地说,按照来自FDC3的控制信息,FDD2逐个扇区断续地从软盘读取数据。每个扇区是一个预定数据量的单位。FDD2通过解调器11将逐个扇区从软盘读取的数据提供给缓冲存储器14中,解调器11下面将会作进一步说明。在FDC3的控制下,FDD2逐个扇区断续地将通过CRC发生器16和调制器17从缓冲存储器14提供的数据写入软盘中。
如上所述,扇区是写入软盘或从软盘读取的预定数据量的单位。另外,每个扇区包括含有表示扇区的开始和地址的信息的ID字段和数据记录在其中的数据字段。
根据来自CPU4的控制信息,FDC3允许FDD2将数据写入软盘或从软盘中读取数据。更具体地说,在CPU4的控制下,FDC3使FDD2逐个扇区断续地从软盘中读取数据并通过系统总线将读取的数据扇区的数据提供给存储器5。并且,在CPU的控制下,FDC3使FDD2逐个扇区断续地将通过系统总线6从存储器5提供的数据写入软盘。
如上所述,CPU4将请求FDD2从软盘读取数据或将数据写入软盘的信息传输给FDC3。
更具体地说,CPU4将请求FDD2从软盘读取数据的信息提供给FDC3。接收到请求信息之后,FDC3使FDD2从软盘读取数据。并且,CPU4将请求FDD2将数据写入软盘的信息提供给FDC3。接收到请求信息后,FDC3使FDD2将数据写入软盘。
存储器5存储已经由FDD2从软盘读取并从FDC3通过系统总线6提供的数据或通过系统总线6提供到FDC3的用于由FDD2写入软盘的数据。
系统总线6是一条信息从多个信息源的任何一个传输到多个信息目的地的任何一个的路径。更具体地说,系统总线5帮助数据在FDC3、CPU4和存储器5之间传输。
现在,参考图3,图3以方块图的形式示意性地显示了根据本发明的软盘控制器(FDC3)。
如图3所示,FDC3包括:解调从FDD2提供的数据的解调器11;从解调器11传输的数据中提取地址信息的地址分离器12;计算包含在解调器11提供的数据之中的、用来检验数据中的任何差错的CRC的CRC(循环冗余校验)校验电路13;具有至少一个扇区数据的数据存储容量的、用于FDD2和CPU4之间数据传输的缓冲存储器14;控制提供到缓冲存储器14的数据或从缓冲存储器14传输到存储器5等的数据的读和写的存储器控制器15;以预定方式计算从缓冲存储器14提供的数据的CRC发生器;调制从CRC发生器16提供的数据的调制器17;根据从CPU4通过系统总线6提供的命令来控制整个FDC3的操作的顺序控制器18;以及用作系统总线6和FDC3之间的接口的总线驱动器19。
解调器11以字节为单位将已经由FDD2从软盘读取的和从FDD2提供的串行数据解调成并行数据,并将解调后的并行数据提供给地址分离器12、CRC校验电路13和缓冲存储器14。
地址分离器12从包含在从软盘读取并从解调器11提供的数据所在的扇区中的ID字段提取地址信息,并将地址信息已从中被提取的数据和所提取的地址信息提供给存储控制器15。更具体地说,地址分离器12从包括在含有从软盘读取并从解调器11提供的数据流的扇区中的ID字段提取作为地址信息的ID信息,根据所提取的信息判断从解调器11提供的当前数据流是否是ID信息,并将判断结果和地址信息已从中被提取的数据提供给存储器控制器15。
还将每一个都根据软盘的一次完整转动形成的索引(index)脉冲从FDD2提供给地址分离器12。
ID信息包含CRC数,根据该CRC数,可以判断在数据写或读的过程中,当前还在进行的是将数据写入目标扇区还是从目标扇区读取数据。
CRC校验电路13计算包含在从软盘读取并从解调器11提供的数据中的CRC信息,以检验是否有差错包含在从软盘读取的数据之中,并将检验结果传输到存储器控制器15。
缓冲存储器14是先进先出(FIFO)型存储器,它在存储器控制器15的控制下用于FDD2和CPU4之间的数据传输,具有至少一个扇区的数据存储容量。缓冲存储器14存储从软盘读取并从解调器11提供的数据或从存储器5经系统总线6和总线驱动器19提供并将写入软盘中的数据。
FIFO存储器是从第一个写入的数据开始,从中依次读取数据的存储器。
当FDD2从软盘中读取数据时,存储器控制器15根据从地址分离器12和CRC校验电路13提供的信息使缓冲存储器14断续地存储逐个扇区地从软盘读取并从FDD2经过解调器11提供给缓冲存储器14的数据。也就是说,在存储在缓冲存储器14中的一个扇区的数据已经完全传输到存储器5之后,存储器控制器15使缓冲存储器14存储下面的一个扇区的数据。此外,当FDD2将数据写入软盘中时,存储器控制器15根据来自CPU4的控制信息,使缓冲存储器14将存储在缓冲存储器14中的待写入软盘的每个一个扇区的数据经过CRC发生器和解调器17提供给FDD2,并使FDD2将数据逐个扇区断续地写入软盘。也就是说,存储器控制器15使缓冲存储器14将存储在缓冲存储器14中的一个扇区的数据提供给FDD2,然后将从存储器5提供到缓冲存储器14中的下面的一个扇区的数据提供给FDD2。
更具体地说,当FDD2从软盘读取数据时,存储器控制器15使FDD2从软盘读取一个扇区的数据,并通过解调器11将读取的一个扇区的数据送给地址分离器12、CRC校验电路13和缓冲存储器14。根据FDD2从软盘读取并从FDD2提供的一个扇区的数据,地址分离器12和CRC校验电路13按照上面预定的方式操作,并将预定操作所生成的信息传输给存储器控制器15。存储器控制器15根据从地址分离器12和CRC校验电路13提供的信息使缓冲存储器14存储从软盘读取并提供到缓冲存储器14的一个扇区的数据。此后,顺序控制器18通过总线驱动器19和系统总线6将存储在缓冲存储器14中的一个扇区的数据提供到存储器5。
因此,当存储器控制器15使缓冲存储器14获得从软盘读取的一个扇区的数据并在这个提供的一个扇区的数据传输到存储器5之前不让缓冲存储器14得到任何下面的一个扇区的数据时,存储器控制器15可以使缓冲存储器14断续地存储从软盘逐个扇区读取的数据。
此外,当FDD2将数据写入软盘时,存储器控制器15根据从CPU4提供的控制传输信息,使缓冲存储器14将一个扇区的数据通过CRC校验电路16和解调器17提供到FDD2,已经由顺序控制器18允许将该数据通过系统总线6和总线驱动器19提供到缓冲存储器14,该数据将写到软盘中。当将一个扇区的数据提供到FDD2完成时,存储器控制器15使存储器5将通过系统总线6和总线驱动器19提供到缓冲存储器14的下面的一个扇区的数据提供到FDD2。
在从缓冲存储器14将前一个一个扇区的数据提供到FDD2被完成之前,不将来自存储器5的任何进一步的一个扇区的数据提供给缓冲存储器14。因此,存储器控制器15将从缓冲存储器14提供并将写入软盘中的各扇区的数据提供给FDD2,从而允许让FDD2逐个扇区断续地将数据写入软盘。
此外,存储器控制器15允许缓冲存储器14将存储在其中的8-位数据转换成16-位数据或将16-位数据转换成8-位数据。
当缓冲存储器14的存储容量变小时,存储器控制器15可以调整为以系统总线6的全速将数据通过总线驱动器19传输到存储器5等。存储器控制器15还可以调整让缓冲存储器14只将ID已经被排除的数据存储在缓冲存储器14中。
CRC发生器16以预定的方式计算从缓冲存储器14提供的数据,并将计算结果与从缓冲存储器14提供的数据一起提供给调制器17。
在将从CRC发生器16提供的并行数据以字节为单位转换成串行数据之后,调制器17调制用于写入软盘中的转换后串行数据,并将调制后的串行数据提供给FDD2。
根据从CPU4经系统总线6提供到FDD2的命令,顺序控制器18控制整个FDC3的操作并发出中断请求给CPU4。
总线驱动器19也用作系统总线6和FDC3之间的接口。
如上文所述构造而成的FDD系统1具有如下的功能:
当FDD2不是正在将数据写入软盘或从软盘读取数据时,FDC3允许相对较长时间的在FDD2和CPU4之间以扇区为单位的数据传输。
更具体地说,在FDD系统1中,由FDD2从软盘读取的数据从FDD2经解调器11传送到缓冲存储器14。该数据一次存储在缓冲存储器14中。当FDD2不是正在将数据写入软盘或从软盘读取数据时,如此一次存储在缓冲存储器14中的数据通过总线驱动器19和系统总线6传送到存储器5。此外,在FDD系统1中,允许FDD2写入软盘的数据被从存储器5经系统总线6和总线驱动器19一次传送到缓冲存储器14,并且一次存储在缓冲存储器14中。如此一次存储在缓冲存储器14中的数据被从缓冲存储器14经CRC发生器16和调制器17传送到FDD2。因此,由FDD2将该数据写入软盘中。
接下来,在FDD系统1中,当FDC3允许FDD2从软盘读取数据或将数据写入软盘时,在FDD2、FDC3、CPU4和存储器5之间的数据传输占用系统总线6,现在参考图4对此进行说明。
如图4A和4B所示,软盘上的轨道划分成多个扇区。每个扇区记录预定字节数的数据。并且,在每个字节串之前和之后提供了地址信息、纠错信号和防止每个数据区免受软盘转动变化影响的间隙。在FDD2逐个扇区地从软盘读取数据、或逐个扇区地将数据写入软盘之后,FDC3将处于其中数据被划分成扇区的突发(burst)状态的数据传送给CPU4和从CPU4中接收该数据。
通常,在这样占用系统总线的同时,FDC3以与软盘转动速度相对应的速度从软盘中读取数据和将数据写入软盘,和即使在软盘正在以非均匀的速度转动时,FDC3也能读取数据。
根据本发明的FDC3可以在软盘上从中没有数据读出或没有数据写入其中的扇区之间的时间,将数据提供到FDD2或从FDD2接收数据。因此,FDC3占用系统总线6所用的时间要比现有技术短得多。
现在,参考图5,图5显示在FDD系统1中FDC3已经允许FDD2从软盘上指定扇区中读取的数据一直传输到存储器5所进行的操作的流程图。
图5所示的流程图是基于这样一种假设,即诸如FDD系统1的初始化、FDD2的起动等一系列预备操作已经完成。
在图5中,首先,在步骤S1、CPU4将包括指定扇区的地址信息并指令从指定扇区读取数据的命令提供给FDC3的顺序控制器18,其中地址信息包含读写头号、轨道号、扇区号等。更具体地说,CPU4将从例如读写头0、轨道0、扇区1中读取数据的命令通过系统总线6和总线驱动器19提供给顺序控制器18。
下一步,在步骤S2,顺序控制器18等待,直到其地址与从CPU4提供的地址信息相一致的扇区的地址标识符从FDD2已经从软盘读取的数据流中读取出来。
在步骤S3,顺序控制器18判断是否已经在FDD2已经从软盘读取的数据中检测到指定扇区。
当顺序控制器18确定已经检测到指定扇区时,操作前进到步骤S7。
另一方面,当顺序控制器18确定没有检测到指定扇区时,操作前进到步骤S4。
在步骤S4,顺序控制器18计数索引脉冲。
在步骤S5,顺序控制器18判断是否已经计数到两个或多个索引脉冲。
当顺序控制器18确定还没有计数到两个或多个索引脉冲时,操作返回到步骤S2。
另一方面,当顺序控制器18确定已经计数到两个或多个索引脉冲时,操作前进到步骤S6。
接下来,在步骤S6,顺序控制器18将表示用当前定位的读写头不能检测到指定扇区的出错信号提供到CPU4。如果当前读写头位置是正确的,则在软盘转动一整圈时可以检测到指定扇区。除非在计数到两个索引脉冲之前检测到指定扇区,顺序控制器18将表示用当前定位的读写头不能检测到指定扇区的出错信号提供到CPU4。
在步骤S7,解调器11解调从FDD2提供的串行数据、以字节为单位将串行数据转换成并行数据并将转换后的数据提供到地址分离器12、CRC校验电路13和缓冲存储器14。
CRC电路13计算包含在从解调器11提供的数据中的、与指定扇区的CRC相一致的地址标识符的CRC。
下一步,在步骤S8,CRC校验电路13判断从解调器11提供的地址标识符CRC是否与计算的地址标识符CRC相一致。
当CRC校验电路13确定来自解调器11的地址标识符CRC与计算的地址标识符CRC相一致并且没有出现错误时,操作前进到步骤S10。
另一方面,当CRC校验电路13确定来自解调器11的地址标识符CRC与计算的地址标识符不相一致和存在错误时,操作前进到步骤S9。
在步骤S9,CRC校验电路13将设置在FDD2中的软盘是有缺陷的或FDD2已经从软盘中读取的数据含有错误的CRC出错信息通过存储器控制器15和缓冲存储器14提供给顺序控制器18。
在步骤S10,CRC校验电路13将设置在FDD2中的软盘没有缺陷的信息和地址标识符提供给存储器控制器15。存储器控制器15根据从CRC校验电路13提供的地址标识符,使缓冲存储器14依次存储从解调器11提供的数据。
下一步,在步骤S11,存储器控制器15判断从解调器11传输的一个扇区的数据是否已经存储在缓冲存储器14中。
当存储器控制器15确定从解调器11传输的一个扇区的数据还没有存储在缓冲存储器14中时,操作返回步骤S10。
另一方面,当存储器控制器15确定从解调器11传输的一个扇区的数据已经存储在缓冲存储器14中时,操作前进到步骤S12。
在步骤S12,CRC校验电路13计算包含在从解调器11提供的数据中的数据区CRC。
接下来,在步骤S13,CRC校验电路13判断包含在从解调器11传输的数据中的数据区的CRC是否与计算的数据区CRC相一致。
当CRC校验电路13确定数据区CRC不与计算的数据区CRC相一致和存在错误时,操作返回步骤S9。
另一方面,当CRC校验电路13确定数据区CRC与计算的数据区CRC相一致和没有错误时,操作前进到步骤S14。
在步骤S14,顺序控制器18将请求接受存储在缓冲存储器14中的数据的中断命令提供到CPU4。
在从顺序控制器18接收中断命令时,CPU4能够连续地进行任何其它处理直到它实际上接收到中断命令为止。
接下来,在步骤S15,CPU4根据从顺序控制器18传输的中断命令,在没有数据正在从软盘中读取的时间内或在记录在软盘中的数据字节串的扇区之间的时间内,将来自缓冲存储器14的一个扇区的数据通过总线驱动器19和系统总线6提供到存储器5中的预定存储区。该数据是以只由FDC3、CPU4和存储器5确定的高速度传输的,它并不依赖于软盘的慢速转动。
在步骤S16,顺序控制器18判断从CPU4到存储器5的数据传输是否已经在预定的时间内完成。
当顺序控制器18确定从CPU4到存储器5的数据传输已经在预定的时间内完成时,操作前进到步骤S18。
另一方面,当顺序控制器18确定从CPU4到存储器5的数据传输没有在预定的时间内完成时,下一个扇区的数据不能存储到缓冲存储器14中,因此,操作前进到步骤S17。当顺序控制器18使FDD2从软盘上多个连续的扇区一个接一个地读取数据时,在允许FDD2读取下一个扇区的地址标识符之前,CPU4必须完成从缓冲存储器14经总线驱动器19和系统总线6到存储器5的数据传输。
在步骤S17,顺序控制器18将禁止FDD2从下一个扇区读取数据的超时错误信息传输给FDD2,同时将中止从缓冲存储器14通过总线驱动器19和系统总线6到存储器5的数据传输的CPU4超时错误信息传输给CPU4。
在步骤S18,顺序控制器18判断是否已经从所有指定扇区读出数据。
当顺序控制器18确定已经从所有指定扇区读出数据时,操作成功地结束。
另一方面,当顺序控制器18确定还没有从所有指定扇区读出数据时,操作返回步骤S1从下一个扇区读取数据。
借助于上面所述的操作,在FDC3和存储器5之间的、需要花费相对较长时间的数据传输可以在FDD2不是正在从软盘读取数据的时间逐个扇区地进行,因此,可以显著地减少对CPU4和系统总线6的负载。
现在,参考图6,图6显示在FDD系统1中,一直到将FDC3已经允许FDD2写入软盘上指定扇区中的数据传输列FDD2所进行的操作的流程图。
图6所示的流程图是基于这样一种假设的,即诸如FDD系统1的初始化、FDD2的起动等一系列预备操作已经完成。
在图6中,首先,在步骤S21,CPU4将包括指定扇区的地址信息并指令将数据写入指令扇区的命令通过系统总线6和总线驱动器19提供到FDC3的顺序控制器18,其中地址信息包括读写头号、轨道号、扇区号等。更具体地说,CPU4将写入数据至例如读写头0、轨道0、扇区1中的命令通过系统总线6和总线驱动器19传输到顺序控制器18。
下一步,在步骤S22,顺序控制器18在存储在存储器5中的数据中搜索待写入软盘并包括其地址与从CPU4提供的地址信息相一致的扇区的地址标识符的数据。
在步骤S23,顺序控制器18判断是否已经从存储在存储器5中并待写入软盘中的数据中检测到要写入指定扇区的数据。
当顺序控制器18确定已经检测到要写入指定扇区的数据时,操作前进到步骤S27。
另一方面,当顺序控制器18确定没有检测到要写入指定扇区的数据时,操作前进至步骤S24。
在步骤S24,顺序控制器18计数索引脉冲。
在步骤S25,顺序控制器18判断是否已经计数到两个或更多个索引脉冲。
当顺序控制器18确定还没有计数到两个或更多个索引脉冲时,操作返回到步骤S22。
另一方面,当顺序控制器18确定已经计数到两个或更多个索引脉冲时,操作前进到步骤S26。
接下来,在步骤S26,顺序控制器18将在检索过程中没有从存储器5的存储区检测到待写入指定扇区的数据的出错信号提供到CPU4。
在步骤S27,顺序控制器18计算包含在从存储器5通过系统总线6和总线驱动器19提供的数据中的、与指定扇区的CRC相一致的地址标识符的CRC。
下一步,在步骤S28,顺序控制器18判断从存储器5提供的数据的地址标识符CRC是否与计算的地址标识符CRC相一致。
当顺序控制器18确定来自存储器5的数据的地址标识符CRC与计算的地址标识符CRC相一致和没有出错时,操作前进到步骤S30。
另一方面,当顺序控制器18确定来自存储器5的数据的地址标识符CRC与计算的地址标识符CRC不相一致和存在错误时,操作前进到步骤S29。
在步骤S29,顺序控制器18将表示存储器5中的存储区有缺陷或FDD2将写入软盘的数据有错误的CRC错误信息通过总线驱动器19和系统总线6传输到CPU4。
在步骤S30,顺序控制器18将请求缓冲存储器14传输存储在存储器5中并要由FDD2写入软盘的一个扇区的数据的中断命令传输到CPU4。
CPU4将能够连续地进行任何其它处理直到它实际上接收到从顺序控制器18传输的中断命令为止。
下一步,在步骤S31,CPU4根据从顺序控制器18提供的中断命令将存储在存储器5的预定存储区中的一个扇区的数据通过系统总线6和总线驱动器19传输到缓冲存储器14。数据以只由FDC3、CPU4和存储器5确定的和并不依赖于软盘的慢速转速的高速度传输。
在步骤S32,顺序控制器18判断从CPU4到缓冲存储器14的数据传输是否已经在预定时间内完成。
当顺序控制器18确定从CPU4到缓冲存储器14的数据传输已经在预定时间内完成,操作前进到步骤S34。
另一方面,当顺序控制器18确定从CPU4到缓冲存储器14的数据传输没有在预定时间内完成,操作前进到步骤S33。
在步骤S33,顺序控制器18将禁止FDD2把数据写入软盘上的下一个扇区的超时错误信息传输给FDD2,同时将中止从存储器5通过系统总线6和总线驱动器19到缓冲存储器14的数据传输的超时错误信息传输到CPU4。也就是说,当顺序控制器18允许FDD2一个接一个地将数据写到软盘上多个连续的扇区中时,在到达软盘中的下一个数据区之前,CPU4必须完成将存储在存储器5中数据通过系统总线6和总线驱动器19传输到缓冲器14。
在步骤S34,存储器控制器15从缓冲存储器14读取一个扇区的数据并将它提供到CRC发生器16。CRC发生器16以预定方式计算从缓冲存储器14传输的一个扇区的数据,并将计算的CRC信息和一个扇区的数据提供到调制器17。调制器17将所提供的一个扇区的数据,即一个扇区字节的并行数据转换成串行数据,并调制转换后的串行数据以写入软盘。
存储器控制器15使调制器17将调制后的串行数据提供到FDD2。接着,存储器控制器15让FDD2在包含待写入软盘的数据的字节串的各扇区之间的时间内,以与软盘的转动速度相对应的速度将调制的一个扇区的串行数据写入软盘。
在步骤S35,存储器控制器15判断FDD2是否已经将调制的一个扇区的串行数据写入软盘。
当存储器控制器15确定调制的一个扇区的串行数据还没有被写入软盘时,操作返回到步骤S34。
另一方面,当存储器控制器15确定调制的一个扇区的串行数据已经被写入软盘时,操作前进到步骤S36。
在步骤S36,FDD2将跟随在一个扇区的串行数据之后的由CRC发生器16计算的CRC字节信息以与软盘的转动速度相对应的速度写入软盘。
接下来,在步骤S37,顺序控制器18判断所有数据是否都已经写入指定扇区中。
当顺序控制器18确定所有的数据都已经写入指定扇区,操作成功地结束。
另一方面,当顺序控制器18确定所有数据还没有全部写入指定扇区时,操作返回到步骤S21以便将剩余数据写入下一个扇区。
借助于上述的操作,在FDC3和存储器5之间的、需要花费相对较长时间的数据传输可以在FDD2不是正在将数据写入软盘的时间逐个扇区地进行,因此,可以显著地减少对CPU4和系统总线6的负载。
在图5和6的流程图所示的一系列操作中,缓冲存储器14保持与一个扇区数据量相同的数据容量。然而,缓冲存储器14可以具有为一个扇区数据量的整数倍的缓冲容量。也就是说,当具有各种各样格式的软盘需要控制时,缓冲存储器14可以拥有最大扇区的数据容量的整数倍的缓冲容量。因此,通过提供具有每个扇区的数据容量的整数倍的缓冲容量的缓冲存储器14,访问CPU4的次数可以有效地减少,并使具有冗余容量的存储器更加经济。
在图6的流程图所示的一系列操作中,FDC3可以适用于在检测到第一扇区之前传输第一数据。
在图5和6的流程图所示的一系列操作中,数据是以字节为单位传输的。但是,由于系统总线6具有几个字节的宽度,因此,视具体情况而定,在与系统总线6的宽度相对应的一个周期内可以几个字节几个字节地传输数据。因此,可以进一步减少对FDD系统1的负载。
在图5和6的流程图所示的一系列操作中,软盘用作记录介质。但是,除了软盘之外记录介质还可以是任何其它盘。
正如上文已经描述的,在根据本发明的FDD系统1中,当具有相对较慢的传输速度的FDD2与系统总线6相连接时,并不占用系统总线太长时间。即,系统总线可以更高效地得到使用。
在FDD系统1中,CPU4能够以数据不容易受到由软盘转动速度引起的抖动的影响这样一种方式处理数据。
此外,在根据本发明的FDD系统1中,系统总线6的宽度可以有效地用于数据传输。
并且,在根据本发明的FDD系统1中,即使当通过提高软盘的转动速度来实现高速驱动时,对CPU4的负载也只增加很小一点。

Claims (15)

1.一种用于控制从软盘读取数据和将数据写入软盘的软盘驱动器的操作的软盘控制器,包括:
存储装置,用于以软盘上一个扇区的数据量为单位,存储从软盘读取并从软盘驱动器提供的数据或通过总线提供的用于写入软盘的外部数据,该单位是从软盘中一次读取或写入软盘的数据量;和
控制装置,用来控制从软盘读取的和写入软盘的数据;并且
所述控制装置以软盘上一个扇区的数据量为单位从软盘中断续地读取用于提供给所述存储装置的数据,并以软盘上一个扇区的数据量为单位断续地将所述存储装置提供的数据写入软盘中;和
在所述软盘驱动器不是正在从软盘读取数据或将数据写入软盘的时间,所述控制装置以软盘上一个扇区的数据量为单位将从软盘读取并存储在所述存储装置中的数据提供给所述总线,并以软盘上一个扇区的数据量为单位将来自该总线的用于写入软盘的数据提供给所述存储装置。
2.如权利要求1所述的软盘控制器,其中所述存储装置能够存储其数量为软盘上一个扇区的数据量的整数倍的数据。
3.如权利要求1所述的软盘控制器,其中所述控制装置将存储在所述存储装置中的数据长度转换成所述总线的宽度并提供该数据作为输出。
4.如权利要求1所述的软盘控制器,其中所述控制装置检测所述存储装置是否已经存储了以软盘上一个扇区的数据量为单位的数据,并且只有当所述存储装置已经存储了以软盘上一个扇区的数据量为单位的数据时才将所述存储在存储装置中的数据提供到软盘或总线。
5.如权利要求1所述的软盘控制器,进一步包括错误检测装置,用于检测在以软盘上一个扇区的数据量为单位要从软盘读取的或要写入软盘的数据和该数据的地址数据中的错误,只有当该错误检测装置在地址数据中没有检测到错误时,所述控制装置才允许所述存储装置存储该数据。
6.一种用来控制软盘驱动器的软盘控制系统,包括通过总线相互连接在一起的软盘控制器和存储器,其中所述软盘控制器控制存储在存储器中的数据写入软盘和从软盘中读取数据以存储到存储器中,该软盘控制器包括:
存储装置,用于以软盘上一个扇区的数据量为单位,存储从软盘读取并从软盘驱动器提供的数据或通过总线提供的用于写入软盘的外部数据,该单位是从软盘中一次读取或写入软盘的数据量;和
控制装置,用来控制从软盘读取的和写入软盘的数据;并且
所述控制装置以软盘上一个扇区的数据量为单位从软盘中断续地读取用于提供给所述存储装置的数据,并以软盘上一个扇区的数据量为单位断续地将所述存储装置提供的数据写入软盘中;和
在所述软盘驱动器不是正在从软盘读取数据或将数据写入软盘的时间,所述控制装置以软盘上一个扇区的数据量为单位将从软盘读取并存储在所述存储装置中的数据提供给所述总线,并以软盘上一个扇区的数据量为单位将来自该总线的用于写入软盘的数据提供给所述存储装置。
7.如权利要求6所述的软盘控制系统,其中所述存储装置能够存储其数量为软盘上一个扇区的数据量的整数倍的数据。
8.如权利要求6所述的软盘控制系统,其中所述控制装置将存储在所述存储装置中的数据长度转换成所述总线的宽度并提供该数据作为输出。
9.如权利要求6所述的软盘控制系统,其中所述控制装置检测所述存储装置是否已经存储了以软盘上一个扇区的数据量为单位的数据,并且只有当所述存储装置已经存储了以软盘上一个扇区的数据量为单位的数据时才将存储在所述存储装置中的数据提供到软盘或总线。
10.如权利要求6所述的软盘控制系统,进一步包括错误检测装置,用来检测在以软盘上一个扇区的数据量为单位要从软盘读取的或要写入软盘的数据和该数据的地址数据中的错误,只有当所述错误检测装置在地址数据中没有检测到错误时,所述控制装置才允许所述存储装置存储该数据。
11.一种用来控制从软盘读取数据或将数据写入软盘中的软盘驱动器的操作的软盘控制方法,该方法包括如下步骤:
以软盘上一个扇区的数据量为单位存储从软盘读取并从软盘驱动器提供的数据或通过总线提供的待写入软盘中的外部数据,该单位是从软盘中一次读取或写入软盘的数据量;
以软盘上一个扇区的数据量为单位从软盘断续地读取用于提供给存储装置的数据,或以软盘上一个扇区的数据量为单位断续地将存储装置提供的数据写入软盘;和
在软盘驱动器不是正在从软盘读取数据或将数据写入软盘的时候,以软盘上一个扇区的数据量为单位将从软盘读取并存储在存储装置中的数据提供给总线,和以软盘上一个扇区的数据量为单位将来自总线的待写入软盘的数据提供给所述存储装置。
12.如权利要求11所述的方法,其中所述存储装置能够存储其数量为软盘上一个扇区的数据量的整数倍的数据。
13.如权利要求11所述的方法,其中,将存储在所述存储装置中的数据长度转换成总线宽度并提供该数据作为输出。
14.如权利要求11所述的方法,其中,检测所述存储装置是否已经存储了以软盘上一个扇区的数据量为单位的数据,并且只有当所述存储装置已经存储了以软盘上一个扇区的数据量为单位的数据时,才将存储在所述存储装置中的数据提供到软盘或总线。
15.如权利要求11所述的方法,进一步包括错误检测步骤,用来检测在以软盘上一个扇区的数据量为单位待从软盘读取的或待写入软盘的数据和该数据的地址数据中的错误,只有当错误检测步骤在地址数据中没有检测到错误时,才允许所述存储装置存储该数据。
CN00107006A 1999-04-23 2000-04-24 软盘控制器、软盘控制系统和软盘控制方法 Expired - Fee Related CN1122914C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11117125A JP2000305716A (ja) 1999-04-23 1999-04-23 ディスク制御装置及びディスク制御方法
JP117125/1999 1999-04-23

Publications (2)

Publication Number Publication Date
CN1271886A CN1271886A (zh) 2000-11-01
CN1122914C true CN1122914C (zh) 2003-10-01

Family

ID=14704066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00107006A Expired - Fee Related CN1122914C (zh) 1999-04-23 2000-04-24 软盘控制器、软盘控制系统和软盘控制方法

Country Status (8)

Country Link
US (1) US6546475B1 (zh)
EP (1) EP1047061B1 (zh)
JP (1) JP2000305716A (zh)
KR (1) KR100709026B1 (zh)
CN (1) CN1122914C (zh)
CA (1) CA2305836C (zh)
DE (1) DE60028447T2 (zh)
TW (1) TW581963B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342942A (ja) * 2001-05-14 2002-11-29 Toshiba Corp 情報記憶媒体、情報記録方法、および情報記録再生装置
JP2004164072A (ja) * 2002-11-11 2004-06-10 Hitachi Ltd ディスク制御装置およびディスク制御装置の制御方法
JP4404353B2 (ja) * 2004-05-25 2010-01-27 株式会社日立製作所 ディスク故障を抑止するディスクアレイ
US7797482B2 (en) * 2004-06-21 2010-09-14 Rohm Co., Ltd. Method of reading from and writing to a storage disk, and storage disk control unit
CN106250785A (zh) * 2016-08-17 2016-12-21 成都市和平科技有限责任公司 一种数据中断传输的保护方法和基于该保护方法的数据存储器
JP7409043B2 (ja) 2019-11-25 2024-01-09 セイコーエプソン株式会社 メディア処理装置、メディア処理装置の制御方法、及び、プログラム
JP2021086644A (ja) * 2019-11-26 2021-06-03 セイコーエプソン株式会社 メディア処理装置、及び、メディア処理装置の制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149229A (ja) * 1984-08-16 1986-03-11 Mitsubishi Electric Corp 情報処理装置
US5687389A (en) * 1993-12-22 1997-11-11 Adaptec, Inc. System for controlling an automatic read operation of read cache control circuit in a disk drive controller utilizing a start counter, a working counter, and a sector counter

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5450244A (en) * 1977-09-28 1979-04-20 Fujitsu Ltd Data write control system of floppy disc device
JPS5833770A (ja) * 1981-08-24 1983-02-28 Sony Corp デジタルデ−タのプログラム転送方法
JPS5851367A (ja) * 1981-09-24 1983-03-26 Fujitsu Ltd フロッピイデイスク装置の制御処理方式
JPS58154054A (ja) * 1982-03-10 1983-09-13 Hitachi Ltd 外部記憶装置制御用回路
DE3303627A1 (de) * 1983-02-03 1984-08-09 Telefonbau Und Normalzeit Gmbh, 6000 Frankfurt Schaltungsanordnung fuer eine floppy-disk-steuerung zur beschleunigung von pruefvorgaengen
US4984103A (en) * 1987-12-07 1991-01-08 Fujitsu America, Inc. Method for reading/writing for a floppy disc drive with buffer memory
JP3178063B2 (ja) * 1992-03-23 2001-06-18 株式会社明電舎 停電工区自動判定方法
US5276662A (en) * 1992-10-01 1994-01-04 Seagate Technology, Inc. Disc drive with improved data transfer management apparatus
US5465338A (en) * 1993-08-24 1995-11-07 Conner Peripherals, Inc. Disk drive system interface architecture employing state machines
JPH08185271A (ja) * 1994-12-27 1996-07-16 Internatl Business Mach Corp <Ibm> ディスク装置用データ処理方法及びディスク装置
US5881248A (en) * 1997-03-06 1999-03-09 Advanced Micro Devices, Inc. System and method for optimizing system bus bandwidth in an embedded communication system
US6055603A (en) * 1997-09-18 2000-04-25 Emc Corporation Method and apparatus for performing pre-request operations in a cached disk array storage system
US6092231A (en) * 1998-06-12 2000-07-18 Qlogic Corporation Circuit and method for rapid checking of error correction codes using cyclic redundancy check

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6149229A (ja) * 1984-08-16 1986-03-11 Mitsubishi Electric Corp 情報処理装置
US5687389A (en) * 1993-12-22 1997-11-11 Adaptec, Inc. System for controlling an automatic read operation of read cache control circuit in a disk drive controller utilizing a start counter, a working counter, and a sector counter

Also Published As

Publication number Publication date
US6546475B1 (en) 2003-04-08
KR20000071796A (ko) 2000-11-25
TW581963B (en) 2004-04-01
JP2000305716A (ja) 2000-11-02
CA2305836A1 (en) 2000-10-23
EP1047061A1 (en) 2000-10-25
EP1047061B1 (en) 2006-06-07
DE60028447T2 (de) 2007-01-04
DE60028447D1 (de) 2006-07-20
CA2305836C (en) 2007-06-26
CN1271886A (zh) 2000-11-01
KR100709026B1 (ko) 2007-04-19

Similar Documents

Publication Publication Date Title
CN1265382C (zh) 光盘缺陷的管理方法和光盘装置
CN1273983C (zh) 后台验证记录介质或检验写入介质的数据的方法
CN1904858A (zh) 数据存储设备、数据存储方法以及记录/再现系统
CN1975900A (zh) 信息记录的方法和装置
CN1122914C (zh) 软盘控制器、软盘控制系统和软盘控制方法
CN101032085A (zh) 数据交织装置
CN101067968A (zh) 一种自适应控制闪存接口读写速度的装置和方法
CN1136696A (zh) 冗余盘存储系统
CN1366634A (zh) 磁盘装置和数据记录方法及数据重放方法
CN1306279A (zh) 数据再现设备和方法
CN1272207A (zh) 在/从盘形记录载体上记录/再现和/或编辑实时信息
CN1132092C (zh) 打印机控制装置及打印机控制方法
CN100345204C (zh) 记录方法以及记录和再现设备
CN1160269A (zh) 连接微控制单元,和加入所述接口电路的数字记录和重放装置的外部扩展总线接口电路
CN1213426C (zh) 盘再生系统
CN1363096A (zh) 磁盘装置及改变磁盘装置旋转速度的方法
CN1130701C (zh) 光盘装置和访问光盘的方法
CN1455926A (zh) 数据传输方法、存储装置、其控制方法及数据传输控制装置
CN1327554A (zh) 磁盘装置,磁盘装置的盘访问方法以及记录了磁盘装置用盘访问控制程序的记录媒体
CN101044560A (zh) 再现方法、光盘装置、程序和计算机可读信息记录介质
CN1150534C (zh) 多光束光盘读出方法和装置
CN1143300C (zh) 记录/重放设备、记录/重放方法
CN1358309A (zh) 数据再生装置、数据再生方法以及数据再生程序记录介质
CN1097767C (zh) 使用磁带数据记录器的数字数据复制装置
CN1862694A (zh) 信息记录介质、缺陷管理方法及装置

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: 20031001

Termination date: 20100424