新四季網

將託架組件從初始位置移到目標位置的方法和裝置的製作方法

2023-05-16 05:28:06 2

>VerifyErrorCodes(驗證錯誤碼)這段表示出隨著SCSIVerifyCommand執行驗證操作時使驅動器以能報告返回主機的狀況的情況。是否實際報告該狀況取決於主機是否發生一個SCSIRequ-estSenseCommand。這些情況可以分成三個主要類型,包括(1)嘗試分配所需扇區,(2)嘗試驗證該扇區,以及(3)DriveAttentions和其他嚴重錯誤。上表8-SeverError提供了對嚴重誤差所報告的感測組合。在嘗試分配所需扇區期間,如果碰到所表示錯誤類型,將由驅動器報告在表19中所列出的感測組合。在嘗試驗證該扇區期間,如果碰到所表示的錯誤類型,將由驅動器報告表20中所列出的感測組合。但是隨著驗證操作,將沒有數據實際上返回到主機。通過確定,在驗證操作期間從不執行heroics。其目的是為了驗證能使用ModePage07h、VerifyErrorRecoveryParameters的(可能)更精確閾值來讀出的數據。對在當前閾值不能被驗證的扇區,不執行扇區的自動重新分配(注意在通過一個完全不同的SCSI命令所啟動的寫入操作之後,可以在一個驗證期間執行自動重新分配)。VerifyErrorReporting(校驗錯誤報告)這段描述了固件使用的決定何時設置一個特定檢測組合,何時通過一個CheckCondition來報告錯誤,以及何時返回數據的邏輯。檢驗操作WriteErrorCodes(寫錯誤碼)這段表示出在執行一個寫入操作期間使驅動器能報告返回主機的狀況的條件,是否實際報告該狀況取決於主機是否發出一個SCSIRequestSenseCommand。該條件可被分成四個主要類型,包括(1)嘗試定位所需扇區,(2)嘗試寫入該扇區,(3)嘗試重新分配該扇區,(4)DriveAtten-tion和其他嚴重錯誤。上表18-ErrorCodesReportedWhileAttemptingtoReallocateaSector提供了當重新分配發生故障時所報告的感測組合,而表8-SevereErrors則表示了對嚴重錯誤所報告的dgkn測組合。在嘗試定位所需扇區期間,如果遇到所表示錯誤類型則由驅動器報告表19中所列出的感測組合。在嘗試寫入該扇區時,如果遇到所表示的錯誤類型則由驅動器報告列在表23中的感測組合。表23-ErrorCodesReportedWhilePerformingWriteOperations(在執行寫入操作時所報告的錯誤碼)錯誤條件SenseKey/Code/ASCQ不需重試00/00/00需要重試01/0C/00執行了自動重新分配。01/0C/01(ARRE=1)推薦自動重新分配。03/0C/00(ARRE=0)WriteErrorReporting(寫錯誤報告)這段描述了由固件使用的邏輯,以決定何時設置一個特定檢測組合,何時通過一個CheckCondition來報告錯誤,以及何時返回數據。寫入操作VerifyAfterWriteErrorCodes(寫後驗證錯誤)這段表示出在寫入操作後在執行一個驗證時使驅動器能報告返回主機的狀況的情況。是否實際報告該狀況取決於主機是否發出一個SCSIRequestSenseCommand。該情況可被分成四個主要類型,包括(1)嘗試定位所需扇區,(2)嘗試驗證該扇區,(3)嘗試重新分配該扇區,以及(4)DriveAttentions和其他嚴重錯誤。上表18-ErroFCodesReportedWhileAttenptingtoReallocateaSector表示出當重新分配發生故障時所報告的感測組合,而表8-SevereErrors提供了對嚴重錯誤所報告的感測組合。在嘗試分配所需扇區期間,如果碰到所表示的錯誤類型,由驅動器報告在表19中所列的感測組合。在嘗試驗證該扇區期間,如果碰到所表示的錯誤類型,將由驅動器報告在表20中所列出的感測組合。VerifyAfterwriteErrorReporting(寫後驗證錯誤報告)這段描述了固件使用的邏輯,以決定何時設置一個特定感測組合,何時通過一個CheckCondition報告錯誤,以及何時返回數據。在寫入操作之後進行驗證DefectManagementAreas(缺陷管理區)這段是TBD。下面是在這段定義期間將使用的注釋和問題。ReadingDMAS要使用的哪個閾值是一個設計考慮。多少次重試。Comparing/VpdatingDMAs多少是好。它們何時重寫入。宣布「ApproachingEndofLife」和「EndofLife」。這些內容的每個都是不影響本領域技術人員實施本發明的設計考慮。建立DMA數據結構以支持SectorSlipp-ing,LinearReplacement。SeekTablesforDifferentMedia(對不同介質的找道表可)固件將根據被安裝在驅動器中被檢測的介質類型下載給DSP合適的速度表。一個預設(即固定的)速度表將被使用,直到介質類型已被確定為止。DRIVECOMMANDINTERFACE:DriveCommandInterface是提供訪問驅動器的硬體平臺的軟體接口。訪問SCSI接口、FormatSequencer、ENDEC和ExtemalENDEC被執行,按直接訪問那些部件而不通過DriveCommandInterface。使用下段所定義的DriveComman-ds來訪問所有其它的部件。DriveCommands在下表24中列出Jupiter固件使用的DriveCommands。Type欄定義了DriveCommand是即時的(I)、由80C188所執行的(188)、還是由DSP所執行的(DSP)。一個ImmediateCommand導致設置的標識或位,並且不需要任何CPU時間來處理或監控該操作。一個ImmediateCommand表示命令是立即完成的。下段DriveCommandCompletion進一步提供了與此相關的細節。188Command類型表示80C188需要附加處理來滿足其要求。需要附加監控來證實硬體已到達所需狀態。當處理或監控已完成時該命令被表示為完成。DSPCommand類型表示必須發送給DSP一個命令以滿足DriveCommand的需要。當DSP返回其命令的狀態時,該命令被表示為完成。表24-DriveCommands(驅動器命令)碼名稱說明類型Ox0000SET_EE_ADDR設置EEPROM地址IOx0100READ_EEPROM讀出EEPROM(在目前地址上)188Ox0200SET_JUMP_BACK_IN設置跳回到ODDSPOx0300SET_JUMP_BACK_OUT設置跳回到IDDSPOx0400JUMP_BACK_ENABLE允許跳回IOx0500JUMP_BACK_DISABLE禁止跳回IOx0600Ox0700DISABLE_EEWR禁止EEPROM寫入功能(TBD)Ox0800REQ_STATUS請求DSP狀態DSPOx0900SET_LASER_THOLD設置雷射讀出功率閾值DSPOx0A00SET_FOCUS_THOLD設置DSP聚焦閾值DSPOx0B00SET_TRACK_THOLD設置DSP跟蹤閾值DSPOx0C00SET_SEEK_THOLD設置DSP找道閾值DSPOx0D00SET_SPIN_THOLD設置主軸RPM閾值DSPOx0E00BIAS_TEST報告偏磁測試188Ox0F00READ_DSP_REV取DSP固件修正DSPOx1000WRITE_EEPROM寫入EEPROM(在目前地址上)188Ox2000REQ_STD_STAT請求標準狀態188,DSPOx2900REQ_OPT_STAT請求選擇狀態188,DSPOx4400SET_MAG_READ設置偏磁頻率供讀出188Ox4800SET_MAG_ERASE設置偏磁頻率供擦除188Ox4C00SET_MAG_WRITE設置偏磁頻率供寫入188Ox5000RESET_ATTN復位DriveAttentionDSPOx5100RECAL_DRIVE重新校準驅動器(TBD)Ox5200STOP_SPINDLE停止主軸188,DSPOx5300START_SPINDLE起動主軸188,DSPOx5400LOCK_CART鎖定盤盒IOx5500UNLODK_CART解鎖盤盒IOx5600EJECT_CART退出盤盒188,DSPOx5B00SEEK_COMP_OFF設置找道補償接通(TBD)Ox5B01SEEK_COMP_ON設置找道補償關斷(TFB)0x5F00SLCT_GCR_FRQ_SET選擇一組頻率IOx6700ALLOW_ATTN_CLEAR(TBD)Ox6800READ_DRV_RAM在DSP中讀出RAMDSPOx6A00NORMAL_PLL_BWIDTH把PLL帶寬設置到正常IOx6A01HGH_PLL_BWIDTH把PLL帶寬設置到高IOx6AO2VHGH_PLL_BWIDTH把PLL帶寬設置到極高IOx7000SET_LWP_RAM在RAM中設置雷射功率DSPOx8000SEEK_BACKWARD找道到IDDSPOxC000SEEK_FORWARD找道到OD1DriveCommands是一或二個字的命令,這些命令請求用80C188或傳送到DSP執行某些功能或將其傳送給DSP。DriveCommand碼是負責維持DSP的協議並決定何時命令已被完成。在某些情況下,當80C188正在的執行其功能時,命令被立即識別為完成的。在其它情況下,在硬體被允許穩定(如在接通偏磁的情況下)時需要一個延遲。在80C188命令PSP執行一個功能的情況下,80X188必須等待DSP以表示命令已完成。參見下段DriveCommandCompletion,是完成命令的更詳細討論。用於兩字的命令的高字被放在變量esdicmd中。低字被放在變量esdicmd2中。只用一個單字的命令仍使用esdicmd。這些變量是綜合變量並且必須在調用給Drivecmd功能之前被建立。DriveCommandDescriptions(驅動器命令說明)下面這些小段提供了DriveCommand(驅動命令)的更詳細的說明。SET_EE_ADDR使用SetEEPROMAddress命令來識別用於下一個NVRAM操作的地址。如下所述,該地址首先被設置,然後跟著一個READ_EEPROM或一個WRITE_EEPROM命令。READ_EEPROM:ReadEEPROM命令從以前用SET_EE_ADDR命令所識別的位置讀出當前存儲在NVRAM中的數據。SET_JUMP_BACK_IN:SetJumpbacksInCommand對DSP進行識別以使介質螺線對著ID,並由此一個跳回應執行一次對著ID的一道找道。每轉一圈執行一跳回以維持光學(裝置)在同一物理軌道上方。SET_JUMP_BACK_OUT:SetJumpbacksOutCommand對DSP進行識別以使介質螺線對著OD,由此一個跳回應執行一次對著OD的一道找道。每轉一圈執行一次跳回以維持光學(裝置)在同一物理軌道上方。JUMP_BACK_ENABLE:JumpbackEnableCommand(回跳允許命令)通知DSP執行跳回,以便於維持介質上的當前光頭位置。JUMP_BACK_DISABLE:JumpbackDisableCommand通知DSP不執行跳回並且允許光頭跟隨介質的螺線。DISABLE_EEWB該部分是TBD。REQ_STATUS:RequeststatusCommand(請求狀態命令)向DSP請求目前狀態。SET_LASER_THOLD:SetLaserReadThresholdCommand(設置雷射讀閾值命令)設置雷射讀出功率信號的可允許範圍。如果讀出功率超出該閾值,DSP發出一個異常終止中斷。SET_FOCUS_THOLD:SetFocusThresholdCommand(設置聚焦閾值命令)設置聚焦誤差信號的可允許範圍。如果聚焦誤差信號超出該閾值,DSP發出一個異常終止中斷。SET_TRACK_THOLD:SetTrackingThresholdCommand(設置跟蹤閾值命令)設置跟蹤誤差信號的可允許範圍。如果跟蹤誤差信號超出該閾值,DSP發出一個異常終止中斷。SET_SEEK_THOLD該部分是TBD。SET_SPIN_THOLD需監控主軸速度以保證數據被寫入介質並在以後能被恢復。通過DSP依靠由該命令指定的最小和最大RPM來監控主軸速度。如果主軸速度降到最小值以下或超出最大值,DSP產生一個異常終止中斷。該監控功能使DriveCommand接口去檢測何時盤盒達到正常速度以及何時盤盒發生故障,以維持正確速度。通過把最小RPM設定為零並且把最大值設定為介質額定範圍的較低RPM,DSP將在盤盒實際上達到正常速度時中斷80C188。一旦達到正常速度,80C188發出一個新的範圍給DSP以指定介質額定範圍的最大和最小RPM。最小RPM零表示在最小RPM上將不執行檢測。BLAS_TEST:BiasTestCommand(偏置測試命令)請求測試偏磁。在下段B.POSTDefinition,BiasMagnetTest中描述了在測試中所採取的實際步驟。READ_DSP_REV:ReadDSPFirmwareRevisionCommand向DSP請求固件修正級。WRITE_EEPROM:WriteEEPROM命令在上述使用SET_EE_ADDR命令所已識別的位置上把一字節的數據寫入NVRAM。REQ_STD_STAT:RequestStandardStatusCommand請求ESDIStandardStatus。所提供的狀態包括驅動器的狀況和來自DSP的狀態。REQ_OPT_STAT:RequestStandardStatusCommand請求ESDIOpticalStatus。所提供的狀態包括驅動器的狀態和來自DSP的狀態。SET_MAG_READ:SetMagnetReadCommand使驅動器準備進行讀出操作。在下段MagnetBias,LaserPower和PLLFrequencyCommand中描述了該偏置命令。SET_MAG_ERASE:SetMagnetEraseCommand(設置磁擦除命令)使驅動器準備進行擦除操作。在下段MagnetBias,LaserPower和PLLFrequencyCommand中描述了該偏置命令。SET_MAG_WRITE:SetMagnetWriteCommand(設置磁寫命令)使驅動器準備進行寫入操作。在下段MagnetBias,LaserPower和PLLFrequencyCommand中描述了該偏置命令。RESET_ATTN:ResetAttentionCommand(復位注意命令)指示DSP去復位狀態位,該狀態位已被設置成表示給80C188產生DriveAttention中斷的錯誤狀態。RECAL_DRIVE這部分是TBD。STOP_SPINDLE:StopSpindle命令打開伺服環路並使盤盒轉速下降。DriveCommand碼首先指示DSP打開用於雷射、聚集和跟蹤的伺服環路。然後主軸PRM被設置為零並施加制動器。在(TBD)數秒之後,制動器被去除並且固件證實主軸已完全慢到(TBD)RPM。一旦主軸慢下來,固件將再次施加制動器並且延伸(TBD)幾毫秒使盤盒停止。等待開始降速的時間和等待主軸停止的時間將取決於盤盒是塑料的還是玻璃的。固件將監控主軸升速時間,以便於確定所裝介質的類型。上述SET_SPIN_THOLD命令將被用於監控主軸RPM率。START_SPINDLE:StartSpindleCommand擔負使盤盒升速、確認盤盒獲得正確的PRM,以及請求DSP同盤盒一起執行初始化。如上述那樣,使用SET_SPIN_THOLD指令來監控所達到的主軸RPM。升速是兩步過程,包括(1)設置主軸閾值以監控RPM直到盤盒達到特定介質類型的最小RPM為止,(2)設置主軸閾值以監控該介質額定RPM範圍的RPM。如果盤盒的升速耗時過長,固件將使盤盒降速並返回一個錯誤碼(TBD)。驅動器不必退出盤盒。將使用一個定時器來測量使介質升到4x(預設值)RPM所需的時間值。使盤盒升速所需時間將取決於介質是塑料的還是玻璃的。當被識別後,STOP_SPINDLE命令將根據盤盒類型使用適當暫停。一旦盤盒達到所需RPM,固件將給DSP發出一個初始化命令。在此時,DSP將嘗試閉合其所有伺服環路。LOCK_CART:LockCartridgeCommand(鎖盤盒命令)設置一個產生一系列請求的標誌,以便拒絕退出盤盒。UNLOCK_CART:UnlockCartridgeCommand(解鎖盤盒命令)清除一個標誌並允許一系列請求,以便允許退出盤盒。EJECT_CART:EjectCartidegeCommand使盤盒降速,如果其目前正在旋轉的話,並退出該盤盒。為使盤盒降速所採取的步驟與上述用於STOP_SPINDLE的步驟相同。一旦其速度降下來,固件將給DSP發出一個退出盤盒命令。SEEK_COMP_OFF這部分是TBD。SEE_COMP_ON這部分是TBD。SLCT_FRO_SET:SelectFrequencySetCommand(選擇頻率設置命令)選擇一組頻率。每種介質格式需要一組相應的頻率來進行介質記錄。使用下述BiasMagnetCommand來從由該指令所識別的那組中選擇出一個頻率。ALLOW_ATTN_CLEAR這部分是TBD。READ_DRV_RAM這部分是TBD。NORMAL_PLL_BWIDTH這部分是TBD。HGH_PLL_BWIDTH這部分是TBD。VHGH_PLL_BWIDTH這部分是TBD。SET_LWP_RAM:SetLaserWritePowerRAMCommand設置一特定雷射功率區的雷射寫入功率值。該命令允許驅動器在診斷時期修改在特定功率區內所執行的下一個擦除或寫入操作期間將被使用的寫入功率。SEEK_BACKWARD用於SeekBackwardCommand(向後找道命令)的格式被表示在下段SeekCommand中。SEEK_BOEWARD用於SeekForwardCommand(向前找道命令)的格式被表示在下段SeekCommand中。SeeKCommand在下表25中表示出用於兩字找道命令的格式。表25-SeekCommand(找道命令)hiWd(位)bit15找道命令=1(位)bit14方向位(1=「OD」,0=「ID」)(位)bit13-0未使用loWd(位)bit15-0為進行查尋導的道數對於SeelkCommand(找道命令),「OD」被定義為向著OD的方向即背離主軸馬達的方向。「ID」被定義為向著ID的方向即向著主軸馬達的方向。在找道時DSP所用的閾值必須在發出找道命令之前分別設置。使用SET_SEEK_THOLD命令來設置找道閾值。MagnetBias,LaserPower和RLLFrequencyCommand:BiasCommand(偏置命令)擔負建立硬體使驅動器能夠在介質上的特定位置上進行讀出、擦除或寫入。在下表26中表示出用於單字BiasCommand的格式。表26-Bias,LaserPower,andFrequencyCommand(偏置、雷射功率和頻率命令)hiwd(位)bit15-12:偏置命令=0100(位)bit11-10:MO偏置01=讀出10=擦除11=寫入(位)bit9:「到下面找道」=1(位)bit8-0:區(雷射功率和頻率)lowd(位)bit15-0:未使用為了在介質上的特定位置上進行讀出、擦除或寫入,DriveCommand碼必須建立磁偏置、雷射寫入功率級(僅用於2x和4x)、PLL頻率和DSP聚焦與跟蹤閾值。當命令是準備進行擦除或寫入操作時,DrveCommand碼也必須證實偏磁在(TBD)幾毫秒內正在(TBD)V和(TBD)V之間感應出電流。將使用串行ADC來對偏磁正在感應的電流進行取樣。必段在該操作之前分別設置在讀出、擦除或寫入操作期間所使用的DSP聚焦和跟蹤閾值。SET_FOCUS_THOLD和SET_TRACK_THOLD命令被用於設置這些閾值。對於1x介質只存在一個頻段,而不存在LaserPowerWriteZone,因為寫入不被1x所支持。對於2x的LaserPowerWriteZon-es的數量將等於頻段的數量(即,16區)。對於4x的LaserPowerWriteZones的數量將等於頻段的數量(即,512位元組所格式化介質扇區為30頻段和1024位元組所格式化的介質扇區為34頻段)。DriveCommandStatus(驅動命令狀態)來自DriveCommandInterface的有效狀態被建立在一個修改的ESDL接口的基礎上。同RAM-5000系列產品一起使用。況狀位反映了硬體的實際狀態、來自DSP的錯誤狀態或正在由固件所管理的狀態。該狀態具有兩個16位字,通常被稱為StandardStatus和OpticalStatus。在下表27-ESDIStandardStatus和表28-ESDIOpticalStatus中列出了狀態字的定義和狀態源。表27-ESDIStandardStatus(ESDI標準狀態)標準狀態比特狀態源(被保留)15(未使用)MEDIUM_NOT_PRESENT14FW維持WRITE_PROTECT13FW維持OROM_MEDIA12FW維持(被保留)11(未使用)(被保留)10(未使用)SPINDLE_STOPPED9FW維持POWER_ON_CONDITION8(未使用)ESDI_CMD_PTY_FLT7來自DSPESDI_INTERFACE_FIT6FW維持ESDI_INVALID_CMD5來自DSPSEEK_FAULT4來自DSPMAGNET_BIAS_FAILURE3FW維持MAX_LASER_POWER_EXCEEDED2(未使用)WRITE_FAULI_ERROR1(TBD)CARTRIDGE_CHANGED0來自GLIC表28-ESDIOpticalStatus標準狀態位狀態源DRIVE_INIT_FAULURE15(未使用)NOT_ON_TRACK14來自DSPCART_LOAD_FAILURE13來自DSPSPINDLE_SPEED_FAILURE12來自DSPFOCUS_SERVO_FAILURE11來自DSP(被保留)10(未使用)(被保留)9(未使用)LASER_DRIVE_FAILURE8來自DSPCARTRIDGE_REJECTED7(未使用)CARTRIDGE_INIT_FAILURE6來自DSPDRIVE_HARDWARE_FAILURE5(未使用)WRITE_TERMINATED4(TBD)EJECT_REQUEST3來自GLICERASE_BLAS_IS_ON2FW維持WRITE_BIAS_IS_ON1FW維持DC_POWER_FAILURE0(未使用)SerialDriveControlInterface:DriveCommandInterfa-ce(驅動命令接口)提供一種普通機構以在Jupiter硬體中對一系列裝置編程。已選擇的串行裝置,用於主軸馬達控制、ADC、讀出通道部件和NVRAM。對固件來說,串行接口是透明的。DryeCommand固件擔負下列任務懂得如何同每個裝置對話以啟動主軸、讀出ADC上的偏流或在NVRAM中的一個位置上讀出或寫入數據,等等。重要的是DriveCommand固件不選擇所有串行晶片選擇以使所有仍在進行中的前面的操作異常終止。OpenIssue在執行連續訪問期間必須禁止所有中斷。中斷需要被禁止100μs至1ms。80C188/DSPCommunicationInterface在80C1188/TMS320C-5XCommunicationdocument(DSP_COMM.DOC),RevXGH-1994,8.25中指定了對DSP的指令和他們的功能。為了方便,在表29-DSPCommands中列出了這些命令。表29-DSPCommands(DSP命令)表29.DSP命令DSPStatnsDefinitions(DSP狀態定義)表30列出了用於DSP狀態字節的位定義。表30也表示出每位如何被轉換成ESDIStand-ardStatus或ESDIOpticalStatus定義中的一個位。表30-DSP狀態至ESDI狀態的轉換>DriveCommandCompletion(驅動器命令完成)為了在DSP執行命令期間給80C188固件提供靈活的連續處理,而分開DriveCommand的命令和狀態相位。在後一點上,80C188固件能專門等待命令完成。通常,所需的全部是兩個連續命令不超出正常限度。因而,在每個DriveCommand的開始,固件必須檢查以前命令已經完成,如果沒有,在定時結束前等待一特定時間(TBP)。給DSP的命令分成需要不同暫停的不同類型。一個存儲器存取應在500μs內完成。短的找道應在2毫秒內完成,長的找道應在100毫秒內完成。DSP的初始化費時可達到2秒。DriveCommand固件也必須監控硬體的暫停,該硬體負責管理如偏磁和ReadChannal部件。偏磁會花費4.5毫秒這麼長的時間來獲得所需的場強。在ReadChnnel處理期間的延遲是(TBD)μs。JUKEBOX20-PINCONNECTORSUPPORT這段描述了Jupiter驅動器根據20針投幣式自動電唱機連接器(Jukebox)上的各種信號所採取的各種動作在固件中將不進行檢驗來確定是否連上了自動幣式電唱機電纜。無論電纜是否被連上,自動投幣式電唱機接口上都將認定/禁止所有信號。ACEject當在20針連接器上置位ACEJECT信號時,驅動器將異常終止所有目前操作並把WriteCache中的所有數據傳輸給介質。如盤盒正在旋轉,固件將發出一個DriveCommand以使盤盒降速。一旦驅動器證實盤盒已停止旋轉(方法是DTB),驅動器將發出一個DriveCommand以退出該盤盒。ACReset:OpenIssue。當AC_RESET信號在20針連接器上被置位時,驅動器將不再接受任何新命令。而在當前隊列上的那些命令將會被完成。當前在WriteCache中所有數據將放入介質。一旦驅動器完成上述功能,如上述那樣,在完成SCSI初始化之前它將等候AutochangerReset信號以撤消ACReset。。CartridgeinDrive在20針連接器上的CART_IN_DRIVE(AKA盤盒存在)信號將被保持在撤消狀態,而不管盤盒是否在驅動器內。對這信號將提供無固件支持。中斷可以來自ExtemalENDEC。但是,沒有傳感器發出盤盒i入口信號。CartridgeLoaded當盤盒存在、被置於盤轂中、旋轉、以及DSP已完成其初始化(包括聚焦和跟蹤時,20針連接器上的CART_LOADED(AKA盤盒存在)信號將被置位。Error每當盤盒退出順序發生故障時,20針連接器上的ERROR信號將被置位。目前尚無辦法使固件在入口傳感器中沒有盤盒的情況下去檢測盤盒裝入可卸下故障。LEDpipe每當驅動器的LED被照亮時,在20針連接器上的LED_PIPE信號將被置位。PowerDownRequest當20針連接器上的PWRDNREQ信號被置位時,驅動器將完成已在進行中的所有寫入命令,然後把WriteCac-he/寫入緩中器中的全部數據傳送給介質。PowerDownAcknowledge當WriteCache響應一個PWRDNREQ信號而已經注滿時,驅動器將置位20針連接器上的PWRDNACK信號。Slandalone/AC驅動器可以通過檢測自動投幣式電唱機(juke-box)接口上的該信號的電平來確定20針連接器是否已被連上。如果該信號是高電平,驅動器處於可獨立應用的模式下。如果該信號是低電平,驅動器具有連到自動投幣式電唱機上的20針連接器。DRIVEOPERATION:Non-VolatileRAM(NVRAM)在Jupiter驅動器中將使用NVRAM。一些驅動參數(例如雷射功率設置和OEM產品信息)將被定製並存儲在NVRAM內。,如果以後NVRAM從設計中刪去,這些參數將被存儲在Flash中。PowerSupplyFailures:5V或12V電源的任何故障將給80C188產生一個硬體復位。FocusOffsetCalibrationfor1xand2x:DSP將執行1x和2x介質的FocusOffsetCalibration,優化最佳RadialPushPull(RPP)信號。FocusOffsetCalibrationfor4x這部分是TBD。下面是在該部分的定義期間將使用的要點和問題。FocusOffsetCalibra-tionfor4x被分成兩部分執行。由DSP執行校準的第一部分,其中其將優化為最佳RPP信號,如為1x和2xFocusOffsetCalibration所做的那樣。用於4x的FocusOffsetCalibration的第二部分將被執行以優化為最佳載波-噪聲比(CNR)。這需要80C188寫入讀出數據方式,選擇最佳偏置並使該偏置進入DSP。80C188將命令DSP使用一個特定聚焦偏置,然後把一個ZT數據方式寫入一個扇區。該扇區被讀出,並且在大約100μs內必須讀出串行ADC以獲取「取樣和保持」的值。使用各種聚焦偏置來重複該過程,直到確定了一個最佳值為止。該特定算法是TBD。最終的值然後進入DSP。WritePowerCalibrationfor2x,這部分是TBD。下面是在該部分的定義期間所使用的要點和問題。OpenIssue。80C188將使用下列(TBD)算法來執行寫入功率校準。WritePowerCalibrationfor4x(PrewriteTesting)這部分是TDB。下面是在這部分定義期間所使用的要點和問題。OpenIssue。當預寫測試將被執行時,我們需要辨別(1)起始溫度,檢驗所有區;(2)起始溫度,僅當該區在下一個時間使用;(3)每次一個新區被寫入;(4)某種其他算法。而且,預寫測試值具有首部。這些內容的每個都不會影響本領域技術人員按本文實施本發明的設計問題。對4x的寫入功率校準的處理類似於確定4x聚焦偏置的處理。80C188負責在改變WR1的寫入功率等級時寫入一系列扇區。在執行下一個寫入建立時必需跳過一個或兩個扇區。一旦一個範圍的數值已被使用,80C188讀出相同扇區並使用串行ADC來確定讀回信號的數量。在一個算法(TBD)的基礎上,確定最佳寫入功率等級。重要的是注意該順序需要能可中斷的和可重新開始。如果在該算法的中部接收到一個新的SCSI命令,驅動器需要以一種定時方式來響應該命令並在以後的時間內返回預寫測試。OpenIssue。如果驅動器正在執行預寫測試並且接收到一個新的SCSI寫入命令。驅動器要做的是(1)異常終止預寫測式並使用老的寫入功率等級執行寫入命令,或者(2)連續用預寫測試去確定新的寫入功率等級,由此增加了該命令的額外開銷。這些內容的每個都是不影響本領域普通技術人員按本文實施本發明的設計問題。Recalibration這部分是TBD。下面是在這部分定義期間所使用的要點和問題。何時做,做什麼,溫度監控,多久,在溫度升到多少時需要引起一個復校。與重校相比校驗將做什麼。驅動器何時進行重校。校準和復校是否應該相同。是否應以雷射電流改變來做復校。這些內容都是不影響本領域普通技術人員按本文實施本發明的設計問題。DSP校準包括建立FocusOffset和RPEOffset。校準聚焦有兩種算法。要使用那種算法還沒被確定。復校將被執行隨溫度或誤差恢復過程而變。溫度每上升5~10℃,FocusOffset,RPEOffset,以及WriteLaserPower將被復校。當「nothirgelse」被處理時應執行復校。如果復校正在處理過程中,其輸入的SCSI命令必須是可中斷的。如果系統仍忙於一個擴展周期。最終復校必須優先進行。對於雷射讀出功率中的各個變化,復校將不會發生。FlashEEPROMSupport:WriteBufferSCSICommand將被用於給驅動器,加入新的SCSI固件。驅動器將沒有能力經受在FlashEEPROM的更新期間可能發生的復位或電源循環。非常重要的是清除這些因素以使最後用戶可以嘗試實現固件修改在拆裝處理期間,他們決不能循環工作或產生一個復位。如果這種情況發生了,驅動器將需要被送回到製造廠以進行修理。製造要求這部分是TBD。以下是在對這部分下定義時要用的注釋和問題。TraceBufferSupport(記錄道緩存器支持)(在設計時可考慮是否與RMA-5300相同)。ReadAheadCache(超前讀高速緩存器)這部分是TBD。以下是定義這部分時要用到的注釋和問題高速緩衝存儲器中指定給讀和寫部分的存儲量是通過下文中的ModePages(方式頁面)來設定的。WriteCache(寫高速緩存器)這部分是TBD。以下是定義這部分時要用到的注釋和問題。高速緩衝存儲器中指定給讀和寫部分的存儲量是通過ModePages(方式頁面)設定的。在設計時要考慮定時的衝洗(flush)支持,立即報告(ImmediateReporting),寫記錄(WriteReordering)等問題,這些問題不會妨礙本領域的技術人員根據說明書實現本發明。SCSI命令執行這部分是TBD。以下是定義這部分時要用到的注釋和問題。把多個SCSI命令組合成一個介質請求。把一次尋道(Seek)分成預尋道和最終尋道。總線佔用算法用於寫的緩衝器空間率(BufferEmptyRatio),用於讀的緩衝器充滿率(BufferFullRatio)。這些問題在設計時需要考慮。Powered-ONHours(電小時數)在非易失RAM中要保存驅動器已被供電的小時數。為了累計供電的小時,DSP大約每過10秒(2`(19`)×20μs)使80C188中斷一次,80C188每經過2`(19`)×20μs就更新供電小時數,並將點數存入不揮發RAM。如果驅動器遇到出錯,80C188就可以請求DSP時鐘的當前值。僅使用較低的19位並加到供電小時數上,為出錯事件提供一個相關的時間標記。注釋1)在從復位狀態釋放DSP之前的初始化期間所花費的時間不包括在內。每次接通驅動器電源時可以加上這一時間。2)每次接通驅動器電源時可以加上最多達到下一個10(大約5秒)的持續時間。清潔鏡頭(LensCleaning)一旦確定了鏡頭需要清洗,下一步驅動器就應該退出盤盒,把執行機構移動到位。盤盒的退出會使一個刷子掃過鏡頭。當盤盒清掃過喉部時,執行機構就被移到其正常位置。以下是打開的問題1)盤盒是否保持在喉部。2)何時才能安全地把執行機構移回其正常位置。3)如果執行機構在這一過程中的「錯誤」時間移動是否會對鏡頭造成任何形式的損傷。在設計時要考慮這些問題,但不會妨礙熟悉本領域的人員根據說明書來實現本發明。FirmwarePerformance(固件性能)這部分是TBD。以下是定義這部分時要用到的注釋和問題。為介質RPM識別最小扇區倍數。每次中斷中對多個扇區的使用策略。識別中斷服務例程(ISR)的時間極限範圍。FrontPanelEjectRequest(前面板退出請求)這部分是TBD。以下是定義這部分時要用到的注釋和問題。是否會使當前的命令異常終止。是否首先已把高速緩衝存儲器的內容寫入介質。這些都是設計時要考慮的問題,並不影響本領域技術人員按照說明書來實現本發明。SCSIEjectCommand(SCSI退出命令)這部分是TBD。以下是定義這部分時要用到的注釋和問題。是否在CartridgePresentSwitch(盤盒存在開關)指示出沒有盤盒時仍會執行退出。這種情況是否應通過一個選擇開關來禁止。投幣式自動唱機可能希望也可能不希望主人能直接地退出盤盒。在設計時要考慮這些問題,但不會影響本領域的技術人員按照說明書的內容來實現本發明。OPtionSwitches(選擇開關)這部分是IBD。以下是定義這部分時要用到的注釋和問題。根據SCSI總線復位信號允許(Enable)/禁止(Disable)硬體復位(為了允計需要送到硬體復位)。允許/禁止SCSI終端。在寫入之後自動地識別允許/禁止。允許/禁止閃速存儲器編程用於更新SCSI固件。允許/禁止SCSI命令中的「退出」。保留(Reserved)(TBD號)。A.FIRMWAREREQUIREMENTS(固件請求)這部份包含用於獲得FirmwareFunctionalSpecificatim(固件功能說明)的固件要求。1.Diagnostics(診斷)1)支持用於診斷的串行通信。2)串行通信支持對新固件的訪問。3)開發電源接通自測試(POST)診斷,用於新的晶片和硬體RLL(1,7)ENDEC,GLIC(GlueLogicIC),非易失RAM,讀通道,主軸電機,串行A/D轉換器,並行D/A轉換器。4)通過SCSI命令應該能改變電機主軸速度。2.FirmwareUpgrades(固件更新)1)支持用於SCSI固件的閃速EEPROM。2)應能通過SCSI對新固件(SCSI和/或DSP)加載(downloadable)。3)對固件的加載操作必須是可恢復的。3.DSPSupport(數位訊號處理器支持)1)必須能根據SCSIEEPROM加載DSP代碼。2)必須支持用於提供命令,狀態及數據交換的通信接口。3)必須能支持ROM化(ROMable)DSP。4)必須為不同的介質格式支持不同的速度表。4.20腳接插件(20針連接器)1)當20腳接插件被連接時固件必須能檢測。2)固件應該能讀出下列20腳接插件信號的鎖定值,Autochang-erRESET,AutochangerPowerDownRequest,AutochangderEject,SCSIID,SCSIParityEnabled。3)固件必須能讀出AutochangerRESET的當前狀態(未鎖定)。4)在20腳接插件上的以下信號被置位時,固件必須接到一個中斷AutochangerRESET,PowerDownRequest,AutochangerEject。5)固件必須能置位/撤消20腳接插件上的以下信號CART_IN_DIRVE,CART_LORDED,ERROR,PWRDNACK(PowerDownAcknowled-ge)。6)在置位20腳接插件上的PWRDNREQ時,1)WriteCache被衝洗,然後,2)PWRDNACK被置位。5.SCSI初始化1)SCSI初始化固件採用20腳接插件作為驅動器的SCSIID源。如果連接了電纜,可以用投幣式唱機驅動該信號。如果沒有連接電纜,相同的腳上可以安裝跳線,從而指示將被使用的SCSIID。2)SCSI初始化固件採用20腳接插件作為驅動器的SCSI允許奇/偶校驗(ParityEnable)的源。如果連接電纜,可以用投幣式唱機驅動該信號。如果不連接電纜,相同腳上可以安裝跳線,從而指示出是否應允許SCSI奇/偶校驗。3)驅動器必須支持用戶選擇終端的電源。6.Reset(復位)1)如果置位了SCSI總線復位信號,就為80C188產生中斷3(INT3)。2)如果置位了Autochanger復位信號,就產生一個80C188的中斷。3)如果置位了SCSI總線復位,則中斷3中斷服務例程必須根據選擇開關來確定是否必須要執行硬體或軟體復位。如果執行軟體復位,中斷3中斷服務例程就向監控任務(MonitorTask)報告已發生了復位,並且寫高速緩存器的內容一定會被衝洗。4)如果Autochanger在電源接通過程中置位了Autochanger復位信號,驅動器a)必須忽略AutochangerEJECT,以及b)在執行SCSI初始化之前必須等待Autochanger復位信號的撤除。5)Autochanger可以在任何時間置位Autochanger復位信號,從而改變驅動器的SCSIID。7.ReadChannelSupport(讀通道支持)1)固件必須為當前的讀操作類型設置讀通道。8.WriteChannelSupport(寫通道支持)1)固件必須啟動對採樣信號的處理,此採樣信號來自用於預寫測試扇區的讀通道(ReadChannel)。2)固件必須能確定用於當前頻率範圍和當前驅動溫度的最佳寫功率電平(WritePowerLevel)。3)固件必須向用於4x介質的DSP傳送FocusOffset(聚焦偏置)。9.DriVeCommandSupport(驅動命令支持)1)驅動命令接口必須建立在用於HC11的接口之上。2)驅動命令狀態字定義必須與用於CP的狀態字相同。3)通過GLIC寄存器應能夠允許/禁止JumpBack,供DSP讀取。4)必須為DSP指定JumpBack的方向。5)驅動命令固件必須設置適合介質類型的主軸速度。6)驅動命令固件應該能證實主軸速度達到。7)驅動命令固件應該能對驅動器的溫度採樣。8)ResetInterfaceCommand(復位接口命令)每當置位伺服復位信號(SERVORESET)1微秒,然後就撤消SERVORESET。9)SeekCommand(尋道命令)必須提供一個物理道範圍,該範圍對應從-3355到+76724範圍內的邏輯道。10)驅動命令固件可以允許/禁止偏磁以及選擇磁極性。11)Bias/Laser/Freq命令必須適合多達34個頻率和雷射功率區。12)驅動命令固件會通知DSP退出盤盒。13)當盤盒具有防寫時,驅動命令固件應能檢測出來。14)驅動命令固件可以控制對串行接口的晶片選擇。15)驅動命令固件使用非易失RAM來記錄事件和其他要保存的驅動參數(例如雷射功率電平)。10.驅動器Attention信號的處理程序1)驅動器Attention信號處理程序必須進行檢測盤盒插入併到達中心處。然後使盤盒轉動。2)在盤盒被插入,加載,轉動且DSP被「鎖定」之後,必須置位CART_LOADED。3)如果置位了AutochangerEJECT或是按下了前面板退出開關,驅動器a)向介質傳輸所有排隊的寫操作(衝洗寫高速緩存器),停止盤盒的轉動,並且c)退出盤盒。4)當盤盒被停轉時,CART_LOADED應被撤消。5)在盤盒自卸載過程中,如果DSP報告退出故障,就置位Auto-changerERROR信號。6)驅動器Attention信號處理程序必須處理和清除下列類型的出錯SeekFault(尋道失敗),OffTrack(脫離跟蹤),BiasMag-netFailure(偏磁故障),LaserFailure(雷射故障),Load(加載)/Unload(卸載)故障,主軸失速,WriteFaull(寫失敗)。11.FunctionalEnhancemeatsRequired(所需的功能增強)1)當驅動器滿足介質訪問命令但介質當前未連接增加支持非介質訪問命令。(這一點通常稱為多始發者支持)。2)修改命令,以支持各種命令集(TBD_HP,IBM,DEC,AppleFujitsu等)。3)增加支持的命令集。(TBD)4)增加支持銷售商唯一檢測數據(VendorUniqneSenseData)和檢測關鍵字/碼(SenseKey/Code)組合。(TBD)5)增加可編程-ROM支持。6)增加CCW(偽一次寫ROM-WORM)支持。7)增加超前讀高速緩存器(ReadAheadCache)。8)增加寫高速緩存(WriteCache),包括在用戶可選擇的延時之後衝洗緩衝器的flush功能。12.PerformanceRequirements(性能要求)1)中斷服務例程必須能處理以下的最小扇區倍數1x在3600RPM538微秒,2x在3320RPM368微秒,4x在1900RPM272微秒。13.其他要求1)固件應能置位/撤消前面板發光二極體(LED)。2)固件應支持電源接通時間記錄器。3)固件應支持盤盒加載記錄器。4)如果5V或12V電源故障,驅動器就會(TBD)。14.InterruptSources(中斷源)。1)Jupiter的中斷源有ⅰ)中斷0(INTO),CirrusLogicSM331(DINT),CirrusLogicSM330,RLL(1,7)ENDEC;ⅱ)中斷1(INT1),CirrusLogicSM331(HINT);ⅲ)中斷2(INT2),DSP,GLIC(GlueLogicIC);ⅳ)中斷3(INT3),SCSI總線復位信號。2)DSP中斷源如下ⅰ)非異常終止(Non_Aborting)中斷,尋道錯,10秒時鐘事件,命令校驗和錯,未知命令,盤盒退出故障;ⅱ)異常終止中斷,聚焦錯,脫離跟蹤錯,雷射功率控制錯,主軸失速錯。3)GLIC中斷源如下AutochangerReset,AutochangerPowerDownRequest,AutochangerEject,FrontPanelEect,Cartr-idgeInserted(在喉部),CartridgePresent(定位在中心)。4)CartridgeInserted不是由固件支持的。15.ErrorRecovery(錯誤恢復)1)在用戶指定數目的重試和用戶指定門限之後對各個扇區嘗試HeroicErrorRecovery。2)ErrorRecovery應包括採用以下錯誤恢復模式的恢復。(TBD)B.POSTDEEINITION這部分包含對(通電自檢)Power-ONSelfTest(POST)期間的執行的測試的說明。1.80C188寄存器和標誌測試檢查80C188CPU符號,奇偶性,進位和零標誌,以確保它們的設定正確,然後復位。測試是分兩部分執行的。首先把數值OxC5置入AH寄存器,然後用SAHF指令入標誌中。對標誌的復位狀態進行測試(即JNS,JNP,JNC和JNZ)。其次將其數值求補並存入標誌中。對標誌的設定狀態時行測試(即JS,JP,JC和JZ)。標誌的任何錯誤狀態都會使測試失敗,並且迫使驅動器用LED發出的CPU故障信號。寄存器測試是一種波動測試(rippletest),使數值OxFFFF通過所有寄存器(即AX,BX,EX,CX,DS,DX,SS,BP,SI,DI和SP)。然後使數值Ox0000通過這些寄存器。如果在此系列的終點寄存器上沒有出現所期望的值,就表明測試失敗並近迫使驅動器用LED發出CPU故障信號。2.CPURAM測式CPURAM測試是分兩遍把一個遞增字節圖案(pattem)寫入靜態RAM(SRAM)的所有位置。近128位元組塊交替圖案重寫。在第一遍期間的第一塊圖案是Ox00,Ox01,Ox02,……OxFE,OxFF。下一塊的圖案是Ox01,Ox02,Ox03,……OxFF,Ox00。在第二遍期間,圖案被逆轉。如果在每遍結束時讀回的某個SRAM單元所含的值不正確,就表明測試失敗,並強迫驅動器用LED發出RAM故障信號。3.80C188中斷向量測試中斷向量測試採用軟體中斷來測試80188的派送能力。對中斷向量表(IVT)的一個入口進行初始化,以指向測試中斷服務例程(ISR)。把AX寄存器初始化為Ox0000。中斷是採用INT指令派送的。使AX寄存器遞減,並退出ISR。在中斷返回時檢測AX中的值。如果其值不是OxFFFF,就表明試失敗並迫使驅動器用LED發出CPU故障信號。4.ROM校驗和測試ROM校驗和測試用16次基本多項式檢查閃速PROM內容。如算出的校驗和不為零,就表明測試失敗並迫使驅動器和LED發出ROM故障信號。對PROM中的每個16位字,低位字節經過異或門進入BH寄存器,並將BX乘以2。如果在相乘(移位)後設定了進位標誌,多項式Ox38CB就經過異或門進入BX。PROM的高位字節經異或門進入BH寄存器,並將BX乘2。如果在相乘(移位)後設定了進位標誌,多項式Ox38CB就經過異或門進入BX。5.SM331寄存器測試CirrusLogicCL-SM331寄存器測試使SM331復位,並在復位後檢查寄存器值的正確性。如有任何寄存器的測試失敗,驅動器就報告不可消除的狀態,並且用LED發出(TBD)錯誤信號。具體的步驟如下1)置位SM331晶片復位,2)撤消SM331晶片復位,3)清除盤訪問指針(DAP),4)檢測寄存器Ox57(BM_DAPL)至Ox5F是否為零,5)檢測寄存器Ox41(SCSI_SEL_REG)是否為零,6)檢測寄存器Ox43(SCSI_SYNC_CTL)至Ox45是否為零,7)檢測寄存器Ox48(SCSI_STAT_2)至Ox49是否為零,8)檢測寄存器Ox50(BM_SCHED_DATA)至Ox52是否為零。6.SM331定序器(Sequencer)測試CrirrusLogicCl-SM331定序器測試把一個圖案寫入定序器的寫控制存儲器(WCS)並且確認該圖案的寫入。如果任何部位的測試失敗,驅動器就報告不清楚的狀態,並用LED發出(TBD)錯誤信號。具體的步驟如下1)停止定序器。(把數值Ox1F寫入起始地址)2)在WCS中用於NextAddress,Control,Count,及Branch欄位的31個位置的每一個上寫入一個遞增圖案。3)核實增量圖案。4)在WCS中用於NextAddress,Control,Count,及Branch欄位的31個位置的每一個上寫入遞減圖案。5)核實遞減圖案。7.SM330ENDEC測試CirrusLogicCL-SM330ENDEC測試使SM330復位,清除GPO寄存器,清除CorrectorRAM,核實CorrectorRAM,並且引發SectorTransferCountEqualsZero中斷。如果任何部分的測試失敗,驅動器就報告不清楚的狀態並使用LED發出(TBD)錯誤信號。具體的步驟如下1)置位SM330晶片復位。2)撤消SM330晶片復位。3)延遲至少10微秒以便晶片執行復位。4)把GeneralPurposeOutput(GPO)寄存器初始化為Ox00。5)CorrectorRAM位置Ox00和Ox01置零。6)CorrectorRAM位置Ox00和Ox16置零。7)CorrectorRAM位置Ox20和Ox27置零。8)檢查CorrectorRAM位置Ox00和Ox01是否為零。9)檢查CorrectorRAM位置Ox0F和Ox16是否為零。10)檢查CorrectorRAM位置0×20和0×27是否為零。11)如上所述執行標準的晶片初始化。12)對SM330的中斷向量進行初始化,指向測試中斷服務例程。13)在SectorTransferCountRegister中寫入一個零作為傳輸計數,強制執行「SectorTronsferCountEqualsZero」中斷。14)固件等待最大計數OxFFFF,為中斷去遞減一正初查詢的寄存器。8.外部的ENDEC測試(TBD)9.GLueLogic測試(TBD)10.緩衝器RAM測試緩衝器RAM測試是把一個遞增地址圖案寫入緩衝器RAM中的所有位置,然後再核實圖案。所用的遞增圖案是Ox00,Ox01,Ox02,……OxFF。該測試隨後把一個逆轉的地址圖案寫入緩衝器RAM的所有地址,再核實該圖案。逆轉的圖案採用Ox00,OxFF,OxFE,……OxO1。最後,該測試在緩衝器RAM的所有位置寫入Ox00。如果緩衝器RAM中任一位置出現故障,驅動器就報告不清楚的狀態,但並不用LED發出出錯信號。11.DSPPOSTDSP的基本功能是通過80C188向DSP發出ReadCodeRevision命令而生效的。這一命令能測試80C188與DSP之間的接口,訪問DSP存儲器中的一個位置,並且測試返回有效狀態的能力。12.BiasMaenetTest(偏磁測試)BiasMagnetTest將會接通用於寫功能的偏磁。(為了防止偶然的數據丟失,雷射寫功率數-模轉換器(DAC)可以維持在讀功率電平)。DriveCommand代碼的作用是接通偏磁,設定雷射寫入功率,然後讀模-數轉換器(ADC),以核實流過電流的偏置線圖(TBD)。DriveCommand代碼在讀ADC之前將會等待(TBD)數毫秒。如果電流不在(TBD)範圍之內,驅動器就報告不清楚的狀態,但不用LED發出出現信號。C.SM330的寄存器如以下的表31中所示,這部分包含對Ci-rrusLogicSM330,光碟ENDEC/ECC寄存器的說明。表31表31續D.SM331REGISTERS這部分包含表32所示的CirrusLogicSM331,SCSI光碟控制器寄存器的說明。表32表32續E.GLICREGISTERS如下表33所示,這部分是對MOSTManufacturing,Inc,GlueLogicIntegratedCircuit(GLIC)寄存器的說明。表33除驅動異常狀態和出錯處理問題以下的表33-43概括了涉及本發明的固件的「異常」處理問題,這些問題都是專門針對這種固件的。下一個目標是討論遺漏的項目/變化,數據完整性保障問題,以及驅動器執行何種功能的方案(考慮到邏輯,費用及人為的影響)。注釋和前提1)這一目錄的目的是要包括所有驅動器異常處理的條件。2)在遞交本申請時公開了本發明當前的最佳模式,其中考慮到了功率調節,雷射反饋,以及介質讀出電平損傷門限。從這一角度出發,在驅動器初始化期間應使所有讀出電平的聚焦探測都發生在內半徑區間,從而採取一種安全啟動驅動操作的方式(在數據區中決不會發生讀出功率和聚焦探測,僅是維持)。3)恢復部分指的是由於恢復失敗造成的驅動器停止及非易失性出錯記錄。這些失敗被標識和記錄,但不會阻止用戶再次試圖執行此命令。這樣對用戶數據的完整性是有危險的,由非易失性誤差記錄提供了一些補償。4)假設在SCSI總線上有一個以上初發者(initiator)。5)誤差檢測不能被禁止(儘管中斷可能會被屏蔽)。6)異常處理優選權=1)數據完整性,2)費用問題,3)系統性能,4)出錯記錄能力。7)某些驅動工具設計方法和專用的異常處理定時是由我們所面對的市場來決定的。對於特定的實施方案來說,高汙染的環境與高振動的環境就會要求具有不同的性能。8)DSP對目前所支持的通信測試及所述的出錯狀態條件以外的復位測試沒有提供完成額外能力的計劃。9)為了供電極性的正確性,需要檢查GPO寄存器的比特2和5。表中沒有其他異常1)「PowerOn」,「HardReset」和「SoRReset」已在上文中談過了。2)「InvalidSCSICommand(非法SCSI命令)」和「ImpoperSCSICommand(不合適的SCSI命令)」的異常處理結合著SCSI處理來說明。3)「PowerFailure(電源故障)」(5V和15V)通常會觸發通電復位,如上所述。然而這裡要討論的是不同的處理的電源故障(對DSP只有12V中斷,在設計方案中沒有5V)。在遞交本申請時沒有公開這一內容。然而這一問題的細節僅是進一步完善的問題,不會影響本文所述的本發明的可操作性。4)「LaserWritePowerError(雷射寫功率錯)」保留用於在沒有執行或正在進行寫入期間監視雷射寫入功率電平。5)188內部「WriteFault(寫出錯)」標誌的錯誤寫入狀態是由旋轉出錯(等等)來觸發的。這種標誌原先是通過對偏流的實時測量來觸發的。偏流的實時測量是下一步的問題。出現在下列表中的問題是設計中要考慮的問題,不會影響本領域的技術人員按照說明書的描述實現本發明。表34表35表36表37表38表39表40表41表42表43>ReadAheadCache(超前讀高速緩存器)這個部分描述用於RMD-5200-SD驅動器的ReadAheadCache原操作。首先簡要地說明高速緩衝存儲器的概況,然後對各個高速緩衝存儲器部件進行說明。這部分還要說明用於ReadAheadCache的操作的測試。256高速緩存代碼建立在128高速緩存代碼的基礎上。在兩種操作模式中僅有兩個差別(除了介質指定功能的調用之外)。第一,256高速緩存器ISR包含延遲的出錯處理。(延遲的錯誤是在前面扇區的糾錯完成之前檢測到的介質錯誤。)第二個差別是256模式不診斷「定序器停止」錯誤。這些差別對高速緩衝存儲器的操作並不重要。因而此處的說明不在256和128個高速緩衝存儲器之間加以區別。超前讀高速緩存器代碼是在此之前產生的。本發明包括對原始代碼的修改。這些改變是為了改善數據完整性和增加256模式功能。在此並不著重說明被改變的特徵,而是要說明代碼的目前最佳模式的規則。CacheOverview:CacheEnableConditions只有以下條件均滿足時高速緩衝存儲器才被啟動,1)模式頁8的RCD位被設為零,2)在尋址的LBA模式下,當前的SCSI命令是Read6或Read10,或是3)當前的SCSIREAD命令完成而沒有任何錯誤。這其中包括CheckCondition狀態的階段以及重新定位。如果為了使SDL無延遲地被更新而執行了任何重新定位,就不執行高速緩衝。CachePretetchOperation預取操作從緊接著前一個READ命令的最後一個邏輯塊之後的那個邏輯塊開始。在預取操作期間出現的錯誤不向始發者報告,除非是目標由於出錯的作用無法正確地執行後續的命令。可以在後續的命令中報告錯誤。CacheTermination在出現以下的任一條件時,高速緩衝就會結束,1)被高速緩存的最後一個LBA被讀出,2)發生了不可恢復的讀錯誤並已採用了重試,3)發生BusDeviceReset復位,4)接收到一個衝突的SCSI命令,(「衝突的」SCSI命令是指需要驅動器找道,訪問緩衝器,或是改變驅動器參數(主軸速度,介質取出阻止狀態,等等,參見下文),或是5)出現一個DriveAttention。CacheComponents:ModePage8:ModePage8定義了影響超前讀緩存操作的參數。然而,僅有RCD位(字節2的0位)對RMD-5200-SD中的超前讀緩存操作具有實際的影響。該位是ReadCacheDisa-ble位。按照這一名稱的隱含,當該位被設定時,禁止高速緩存。ModePage8中的其它欄位不能被執行,並且無法改變其預設值。DriveStructureCacheParameters指示超前讀緩存狀態的高速緩衝存儲器參數被存儲在驅動結構drvcfg中1)Cache_ctrl(UINT)各個比特表示了高速緩衝存儲器的當前狀態Ox0001:CACHE_ENABLED當模式頁8允許高速緩存時設置,在LBA模式下來自主機的最後READ命令是Read_6或Read_10,並且具有可被高速緩存的塊。Ox0002:CACHE_IN_PROG表示硬體正在執行高速緩衝存儲器讀。在高速緩衝存儲器讀啟動時設置,並當高速緩衝存儲器ISR在高速緩衝存儲器排隊中排列了一個tcs時被復位。Ox0004:CACHE_STOP由CacheMonitor任務設定,以通知高速緩衝存儲器ISR結束高速緩存。Ox0008:CACHE_TCS_ON_Q指示來自高速緩衝存儲器的ISR的tcs處在CacheMonitor排隊中。在啟動另一個高速緩衝存儲器讀之前應對這一tcs進行處理。Ox0010:CACHE_START_SCSI_XFER在發生高速緩衝存儲器命中時由RdDatalnCache功能來設定。該位表示讀處理器可以立即開始SCSI傳送。Ox0020:CACHE_ABORT_READ_TASK由CacheMonitor設定,表示控制應返回到SCSIMonitorTask。Ox0040:CACHE_MORM_IN_PROG指示當前的讀操作是針對所需的數據。2)cache_start_lba(ULONG)高速緩存第一個LBA。3)cache_cur_lba(ULONG)在高速緩存最後一個LBA之後的LBA。4)cache_buff_addr(ULONG)對應cache_start_lba的緩衝器地址。5)cache_xfer_len(UINT)留給高速緩衝存儲器的塊數。6)cache_blks_rd(UINT)高速緩存的塊數。7)cache_free_space(UTNI)可用於高速緩存數據的空閒空間。8)cache_free_space_predict(UINT)期望用於高速緩存數據的空閒空間。CacheFunctions當允許高速緩存時調用的功能,以下要粗略地說明這些功能在簡單高速緩存順序期間的調用次序。CheckQueuRouting(OldTask,NewTask):SCSIMonitorTask和CacheMonitorTask二者都可以處理來自SCSI選擇ISR的TCS。每次只有這兩項作業之一執行這一角色。可變的scsi-mon-task被用來指示用哪個作業來接收任何進一步的SCSI選擇TCS。CheckQue-uRouting會指定scsi_mon_task=New_Task。此外,對OLd_Task排隊的濾波。來自DriveAttentionISR或來自SCSI選擇ISR的任何TCS被傳送到New_Task的排隊。其他TCS被重新定位。CheckQueuRouting當SCSI控制在SCSIMonitorTask和CacheMonitorTask之間切換時被二者調用。Compute_cache_mg這一功能是一彙編程序,在開始正常讀操作之前調用,此後可以執行高速緩存。其作是計算準備高速緩存的第一個LBA和可被高速緩存的最大塊數(caehe_xfer_len)。根據最大可用空閒空間和最大LBA截斷高速緩衝存儲器的傳送長度。Compute_cache_mg還把drv_cfg.cache_blks_rd初始化為0。如果傳送長度有效,就設定drv_cfg.cache_ctrl中的ENABLED位。Prep_Cache該功能是一彙編程序,其作用是確定正常讀是否已完成。如果是,就對下列高速緩衝存儲器參數初始化1)drv_cfg.cache_free_space,2)drv-cfg.cache_free_space_predict,3)drv_cfg.cache_buff_addr。Prep_Cache在高速緩衝存儲器可被啟動時返回TRUE,否則返回FALSE。CacheISR(RA_cache_isr或gcrRAC_isr)高速緩衝器ISR是正常讀ISR的簡化版本,它在以下範圍被簡化了1)在完成ECC時,ISR僅檢查空閒空間的可用性和脈衝串的結束。與正常讀不同,高速緩衝存儲器與SCSI傳送無關,因而不需要檢查SCSI通知狀態;2)除了定序器停止錯誤之外,高速緩衝存儲器ISR不對錯誤類型進行識別,高速緩衝在重試時不修改任何錯誤門限,因而不必確定錯誤的特殊類型;3)高速緩衝存儲器ISR在每次ECC完成時檢查drv_cfg.Cache_ctrl中的CACHE_STOP位。如果該位被設定,ISR就停止進一步的高速緩存。由於這種簡化,CacheISR僅返回三種高速緩衝存儲器狀態1)在高速緩衝存儲塊已被成功讀出並且新的找道需要使高速緩存繼續時返回RA_XFER_CMPLT;2)在出現了除定序器停止所導致的錯誤之外的其他任何錯誤時,返回RA_RD_ERROR;3)RA_SEQ_STOPPED。這種錯誤是被單獨對待的,因為校正的動作需要重新啟動定序器。REQUEST_TASK(NewTask):Request_task設定調用任務狀態到SLEEP,同時激活New_Task。Request_task還要保存調用函數中的指令指針值。New_Task將會在其最後一次調用Request_task的點上開始執行(由保存的指令指針來指示)。CacheMonitorTask:ActivationofCacheMonitorTask在最後傳輸數據返回主機的時刻由ReadTask激活CacheMonitorTask。一旦被激活,它就去處理來自SCSI選擇ISR,DriveAtten-tionISR和來自CacheISR的TCS。CacheMonitorTask不是僅通過把一個TCS置於其排隊中來激活的,從速一點來看,它不是一項真正的任務。與此相反。如上所述,它是由ReadTask通過調入REQUESTTASK(New_Task)來調入的。最初,CacheMonitorTask要從最外層的Sleep語句開始執行。通過另一次調用REQUEST_TASK使CacheMonitorTask把控制歸還給ReadTask。應該特別注意到,在CacheMonitorTask活動時,ReadTask正在使用一個TCS,尚未返回到系統。當控制返回到SCSIMonitorTack時,SCSIMonitorTask仍在等待這一特定的TCS。SCSIMonitorFunctions:CacheMonitorTask的一部分角色是處理來自SCSI選擇ISR的TCR。當SCSIMonitorTask接收一個READ命令並且ModePage8尚未禁止高速緩存時,CacheMonitorTask就從SCSI選擇ISR接收TCS。在這一點,SCSIMonitorTask通過調用CheckQueuRouting(SCSI_MONITOR_TASK,CACHE_MONITOR_TASK)來重新安排其TCS。CacheMonitorTack把SCSI命令編組成三個等級,包括1)衝突的命令,2)同時出現的命令,3)連續的命令。根據命令的分類,CaCheMonitorTask會異常中斷高速緩存,執行命令,或是停止並恢復高速緩存。衝突的命令(ConflictingCommand)衝突的命令是那種要求驅動器找道,訪問緩衝器或是改變驅動器參數的指令(改變主軸速度,介質取出阻止狀態等等)。一旦接收到衝突的SCSI命令,CacheMonitorTask就關閉並異常終止高速緩存。SCSIMonitorTask被重新安置。以下的命令被定義為衝突的命令RezeroUnit,Prevent/AllowMediaRemoval,Format,Write_10,ReassignBlock,Seek_10,Erase_6,Erase_10,Write_6,Write/Verify,Seek_6,Verify,ModeSelect,ReadDefectDara,ReserveUnit,WriteBuffer,ReleaseUnifReadBuffer,ModeSense,ReadLong,Start/Stop,WriteLong,SendDiagnosti-cs,AllVendorUnique命令。ConcurrentCommand同時出現的命令是那些在不影響高速緩衝存儲器的狀態的條件下可以執行的命令。以下指令被定義為同時出現的命令TestUnitReady,Inquiry,RequestSense,ReadCapacity。ContinuingCommands連續的命令是讀命令,這些命令可能要求高速緩存的數據,並且啟動額外的高速緩衝存儲器讀。僅有兩個命令被劃分為連續命令。即Read_6和Read_10。ProcessingCacheISRTCS:CacheMonitorTask從CacheISR接收TCS,然後調用RaCacheIsrProc來處理TCS。CacheMonitorTaskDeactivation若是接收到任何要求非高速緩存數據的SCSIREAD命令,控制就返回ReadTask。若是由於出現了SCSI復位,BusDeviceResetMessage,衝突的SCSI命令,或是DriveAttention而結束了高速緩存,控制就返回SCSIMonit-orTask。當CacheMonitorTask被撤消(deactivated)時,控制返回ReadTask,而ReadTask隨後可能使控制返回到SCSIMonitorTask。控制流是通過由CacheMonitorTask設置的高速緩衝存儲器任務狀態來確定的。當ReadTack通過調用REQUEST_TASK而被重新安置時,它可以評估高速緩衝存儲器任務狀態。接下來說明三種高速緩衝存儲器任務狀態。1)RACTERM這一狀態表示高速緩衝已被異常終止。ReadTask會返回到SCSIMonitor,後者立即返回READTCS並從排隊中取出下一個TCS。值得注意的是,SCSIMonitorTask並不象其正常時那樣進到STATUS階段,因為作為向CacheMon-itorTask傳送的一部分已經送出了全部的狀態和命令。2)RACCONT這一狀態表示有一個新的READ命令已經進入,並且所要求的數據的全部或局部已被高速緩存了。CacheMonitor任務已經啟動了SCSI傳送,並且ReadProcessor需要等待SCSITCS的到來。3)RACNEWREQ這一狀態表示有一個新的READ命令已經到來,並且要求的數據尚未被高速緩存。ReadProcessor需要啟動「正常的」讀,然後等待來自ReadISR的TCS。RaCacheIsrProc這一程序由CacheMonitorTask調用,並且其作用是相對於盤傳送執行ReadTask的功能。它處理來自CacheISR的TCS,更新驅動結構中的適當的參數,並且根據要求啟動額外的讀操作。StopCacheinProg當CacheMonitorTask接收到一個「連續的」READ命令時就調用這一程序。它的作用是徹底結束當前的高速緩存處理。它檢查CACHE_IN_PROG位,看高速緩存是否正在進行。如果是,就設定CACHE_STOP位以通知CacheISR結束高速緩存。延遲5ms使高速緩存能夠結束,然後再次檢查CACHE_IN_PROG位,看看ISR是否停止了高速緩存。如果該位未被清除,就假定高速緩存被某個其他裝置關閉了。在這種情況下就清除CACHESTOP和CACHE_IN_PROG位。RdDataInCache這一程序由CacheMonitorTask在開始處理一個「連續的」READ命令時調用。其作用是確定新的讀所要求的高速緩存是否命中。如果高速緩存命中,就在drv-cfg.cache_ctrl中設定CACHE_START_SCSI_XFER位。RdDataInCache還修改drv_cfg.rw_scsi_blks,以便反映出有多少要求的塊已被高速緩存了。如果高速緩存已命中了,但並非所有要求的數據已完成了高速緩存,RdDataInCache就修改驅動結構數據,從而指出有多少塊已被讀出,有多少塊的待讀出,以及讀應從哪裡重新開始。ReadAheadCachePerformanceTest:TestDescription編制一個稱為CT.C的高速緩存測試程序。這一高速緩存測試程序和SDS-3(F)主機適配器配合運行。這一程序曾稍做修改就得到原先用於校驗RMD-5200-SD的超前讀緩存的CTTC.CTT.EXE。CTT在第一個64KLBAs中對高速緩衝存儲器進行試驗。在每個這些LBA中寫入唯一的圖案。該圖案全部由0X5A構成,前四個字節被塊的十六進位LBA地址重寫(除了LBAO,其前四個字節被設定為OXFF)。CTT首先檢查LBAO,如果未找到預期的圖案,CTT就初始化該盤。如果LBAO相符,就認為盤已被初化了。在盤初始化之後,CTT就多次執行64K塊的序列讀。每次中使用相同的傳送長度。在下一次中把傳送長度加倍。由於主機適配器的緩衝器尺寸有限,所用的最大傳送長度為64個塊。對每次讀出的數據執行比較,從而校驗數據的完整性。TestOptions(測試選擇)LoggingResultstoaFile(Co-mmandLineOption)用戶可以通過執行命令行C:>CTT-fo=fi-lename.ext.來指定一個記錄文件。若指定了一個記錄文件,正常複印在屏幕上的任何結果也會被複印到記錄文件中。TargetID:CTT可以測試各種目標ID,儘管它不能在一次執行過程中完成。NumberofLterations用戶可以指定CTT執行整個測試的次數。InitialTransferLength(初始傳送長度)用戶可以指定初始傳送長度。在後續的每遍過程中把傳送長度加倍,直至傳送長度超過64個塊。PauseBetweenReads(讀出之間暫停)CTT在讀之間總是不間斷地執行一遍。然而可以選擇,使CTT在一遍的讀之間暫停。這種選擇確保了驅動有時間完成全部或部分的高速緩存,這取決於延遲。對部分高速緩存進行測試,以便確保驅動能可靠地停止高速緩存。對全部高速緩衝進行測試,以便確保驅動在緩衝器充滿時能停止高速緩存。PauseLength(暫停長度)如果選定了暫停選擇,還可以向用戶詢問以毫秒為單位的暫停延續時間。HaltingonErrors(出誤停機)CTT還要詢問當其遇到出誤狀態時(例如數據失配或檢查條件狀態)是否應使測試停止。當用戶在執行中不是把結果存入文件時,例如在測試頻繁的出錯時,停機是有用的。DiscDriveFirmwareArchitecture(盤驅動固件結構)這部分要說明在使用CirrusLogic的光碟控制器晶片集並採用RMD-5200-SD固件作為基礎來實施Jupiter-1時所要求的結構變化。Jupiter-1結構可以減少系統中所需的任務數目。SCSIMonit-orTask(此處稱為MonitorTask)可以控制驅動的所有功能。ReadTask和WriteTask可以被合併到DriveTask中。ReadAheadCacheMoritorTask的功能可以被分解重複的監控器功能可被省去並可把高速緩存功能移到DriveTask中。上文中說明了(SCSI)MonitorTask和DriveTask的特殊改變。Interrupts(中斷)Jupiter-1的中斷分為四類。其中包括非屏蔽中斷(NMI),SCSI中斷,Drive中斷,以及DriveAttention中斷。當SCSIBusRESET信號被置位時,當20腳接插件ACRESENT被置位(TBD)時,或當PWRDNREQ(自動換片器斷電請求)被置位時,就產生NMI。當接收到一條命令的前六個字節時,在置位了SCSIBusAtt-ention信號時,在發生SCSI奇偶校驗錯誤時,當發生了緩衝器奇偶校驗錯誤時,或是在完成了SCSI傳送時,就產生SCSI中斷。驅動器中斷有可能由三個晶片產生即SM331,SM330或外部的ENDEC。SM331中斷發生在格式定序器停止時或是檢測到ECC校正向量奇偶校驗錯誤時。在1x或2x模式中的SM330中斷發生的時間是讀出了一個有效的ID時,發生介質錯誤時,發生ECC錯誤時,遇到了一個變壞(sliped)的扇區時,SectorTransferCount寄存器遞減到零時,或是當產生一個Operation完成時中斷產生。在4x模式下的SM330中斷在出現ECC錯誤或產生了一個OperationComplete中斷時發生。在4x模式中的外部ENDEC中斷發生的時間是讀出了一個有效ID時,發生介質錯誤時,遇到一個變壞了的扇區時,SectorTransferCount寄存器遞減到零時,擦除或寫入異常結束時,或是在產生了一個索引脈衝時。驅動器Attention中斷是由DSP或GlueLogicIC(GLIC)產生的。DSP在以下情況下產生DriveAttention中斷當其不能正確地初始化時,發生找道故障時,檢測到脫離跟蹤的狀態時,主軸電機速度正常以及主軸電機速度不正常時。GLIC在以下情況下產生DriveAttention中斷在ACEiect置位時,接下前面板退出按鈕時,置位了EjectLimit信號時,CartridgeSensor信號撥動時,以及CartridgeSeatedSensor信號撥動時。Multi-TaskingKemel(多任務核心)IdentifyingMessageTypes(標識信息種類)現行的結構提供了識別接收到的特定信息種類的手段。流行的方式是詢問信息源並且有時把信息的「狀態」用做其種類。TCSID,TCS源ID,以及TCSDestinationID的整數變量被轉換成字節變量。增加一個用於信息種類的新字節變量,維持了保留在TCS標頭中的附加字節。信息種類變量在不同的(Vari-ant)記錄中起到標識欄位的作用。ConcurrentProcessing(同時處理)Jupiter-1需要同時處理,以便使驅動器能a)執行命令排隊,以及b)在向DriveTask發出讀或寫請求時在多始發者環境下響應一個非介質訪問指令。這種結構使SCSIMonitorTask阻斷執行,直到ReadTask或WriteTask完成了對當前的請求的處理時為止。Jupiter-1中的同時處理可以由以下途徑來實現1)在向DriveTask傳送請求之後不允許MonitorTask阻斷,2)把所有任務都納入round-robin調度中,以便「共亨」CPU資源,以及3)在接收到非斷開命令時允許MonitorTask優先佔有DriveTask或Low-LevelTask。以實現上述的1),MonitorTask可以用了個新的核心服務向DriveTask傳送請求。在發生DriveAttention時,任務從任務寄存器中接收信息,任務寄存器的現存方式需要改變。以下要詳細討論Dri-veAttention信息路徑。項目2)round-robin調度的實施方式如下一段所述。項目3)優選佔有的實施方式在下一段之後說明。值得注意的是,如果不採用優先佔有,就需要用一個信號(Semaphore)來管理SCSI接口。新核心服務需要測試,測試和設定,以及清除SCSI-in-use信號。Round-RobinScheduling為了使每個任務對CPU資源具有「相等的」訪問,每個任務必須按照周期性的間隔釋放CPU。當任務的執行在其等待下一個信息到達其排隊中時的阻斷,已經在某種程度上實現了上述要求。根據同時處理的需求,從MonitorTask需要的運行時間和DriveTask包圍CPU的時間造成的等待時間應該儘量小。在下一段討論優先佔有時會涉及等待時間的問題。如果不需要優選佔有,就在作業之間自動地分享CPU。當核心調用等待下一個信息時造成當前任務阻斷,與此同時核心正在搜索一個準備好的任務。在核心執行這種搜索時,調度等待時間可以通過以下方式被儘量縮短1)減少需要檢查的任務數量,2)減少一項任務所處的可能的狀態。取消一項ReadAheadTask並且把讀、寫各種介質類型的獨立任務合併成一項任務的方式可以減少任務的數量。下文要進一步詳細說明任務合併的細節。一項任務中設定的可能狀態包括「等待指定信息」的狀態。按照同時處理的需要,這一狀態應該廢除,因此應從系統中去掉這一狀態。這裡只應有三種可能的狀態活動,等待信息,以及休眠。用於檢查休眠的任務以及檢查等待信息的任務的核心代碼已經被高度優化了。任務準備好的ReadyList不會使執行過程明顯地增加。在返回對原始任務的檢查之前,核心需要額外的11秒來測試兩個附加的作業。Preemption(優先佔有)Jupiter-1結構需要在這樣的程度上優先,使得在斷開的介質訪問命令期間接收到的一個非斷開命令能使MonitorTask優先佔有DriveTask或Low-LevelTask。到目前為止,不要求DriveTask優先佔有MonitorTask或Low-LevelTask。本文中建議應使DriveTask重新啟動其處理中的某些部分,而不是把非斷開命令延遲十或者數十毫秒。在DriveTask和Low-LevelTask內部需要標識部分的代碼(特別是heroic恢復程序),如果該任務被優先佔有,處這一部分處理需要重新啟動。DriveTask和Low-LevelTask在這些部分的開頭會自己記錄,以便標識重新啟動的起點。這一點類似於DriveAttention的記錄。如果DriveTask或Low-LevelTask是活動的任務但卻沒有記錄,就認為該任務可被充分地優先佔有。也就是說,該任務可以被中斷並在此後不受有害影響地從同一點恢復。當SCSIISR接收到一個新命令時,在ISR的出口會形成一個新的核心調用,以確定是否需要優先佔有,如果是,就分派。如果在運行SCSIISR之前正在執行的任務是MonitorTask,就不需要優先佔有。如果當前的任務是DriveTask或Low-LevelTask,該任務就被優先佔有。如果在驅動器正在處理一個斷開的介質訪問命令時由SCSIISR接收到了一個新的非斷開命令,ISR就在出口處調用新的核心服務程序,以檢測一任務是否自己做了記錄了。如果沒有記錄,該任務就會被MonitorTask優先佔有,並且在round-robin調度恢復時從其被中斷的那一點恢復。如果該任務是記錄的,核心就會a)關閉驅動器,b)使驅動器脫離SpiralMode(給DSP一個DriveTaskcomm-and),c)導引DriveTask或Low-LevelTask從記錄的地址重新啟動,以及d)轉移執行給MonitorTask。在MonitorTask處理了新命令之後,它將做出一個核心調用,以便等待下一個信息。然後,核心將進入空閒的循環尋找一個準備好的任務。DriveTask或Low-LevelTask也仍然是準備好的,核心就會分派到該任務,並且用AX中的值指示重新啟動的發生,從記錄的地址恢復執行。如果被MonitorTask優先佔用了,在CPU正在實時監測盤的某些內容(即等待扇區標記)任何介質的訪問將會被破壞。這部分代碼需要通過記錄來管理,以供在被優先佔有的情況下重新啟動。一旦DriveTask或LowLevelTask啟動了介質訪問,硬體和盤ISR就會使脈衝串繼續,促使任務徹底結束,並且向任務發送一個信息指示出脈衝串突發已經完成。該任務隨後就做出響應,解除信息的排隊,並啟動下一個脈衝串。在硬體已經啟動之後的優先佔有不會造成任何驅動控制的問題。在一個介質訪問的隱含找道期間,找道代碼就禁止SCSI中斷,嘗試讀出ID,並用16毫秒等待一個ISR以便讀出被鎖定的ID。在這一16毫秒期間,SCSIISR不能運行,這意味著SCSI總線在CommandPhase的中間(在前六個字節已被SM331讀出之後)暫時被佔據。在找道成功的情況下,在從找道代碼開始讀出ID直到找道代碼返回到設置代碼(即gcr_StartRdVfy)的過程中,在所有寄存器均被設置之後,以及在定序器被啟動之後,SCSI中斷仍保持被禁止。為了較好地處理這一問題,新結構將會允許MonitorTask優先佔用找道。為了優先佔用,可以通過記錄找道代碼來實現,然後允許SCSI中斷。如果正在進行找道時發生了SCSI中斷(要求優先佔用),DSP就結束找道並把驅動囂置為JumpBack。(此處假定DSP可以在結束找道的同時將DisableSpiral命令排上隊)。如果在結束找道之後但在硬體啟動之前發生SCSI中斷(要求優先佔用),代碼就應從其記錄的地址重新啟動並最終執行重新找道。若在硬體啟動之後發生SCSI中斷,介質訪問完全可以被優先佔用,因而不需要記錄。StackSize(堆棧大小)每個任務的堆棧尺寸目前被設置為512位元組。為了Jupiter-1預期增加模塊性和為了對命令排隊及高速緩存等等進行管理的附加的層,可能需要使堆棧的尺寸增加到1024位元組。如果把任務數量減少到3個,分配給堆棧的存儲器實際上是減少了。DriveconfigurationStrwture(驅動器配置結構)Identi-ficationofMediaType(介質類型標識)固件需要確定插入驅動器的介質的類型,以便為每種介質類型分派適當的程序。DriveCon-figuration變量「inited」中的獨立的位被用於各種介質類型1x、2x、以及4x。DriveStateVariable(驅動器狀態變量)按照上述同時處理的需要,MonitorTask必須能夠確定驅動器的當前狀態並且發出與新近到達的事件相對應的適當信息。這些可以通過引入一個由Mon-itorTask獨立維持的新「驅動狀態」來實現。表44列出了可能的驅動器狀態。表44-驅動器狀態--加電,階段1(無選擇)加電,階段2(忙)斷電軟復位硬復位加載盤盒主軸加速主軸減速退出盤盒間置找道格式化帶緩衝讀無緩衝讀讀高速緩存器寫寫高速緩存器出清寫高速緩存器,然後斷電出清寫高速緩存器,然後退出盤盒出清寫高速緩存器,然後復位DriveTask可以把狀態從「Read」改變到「Read,Connected」或「Read,Disconnected」。PowerOnSelfTest(通電自檢)ROMChecksum:(ROM檢測和)ROMTest通常計算單個EPROM的檢測和。按照Jupiter-1的雙晶片設計方案,ROM檢測和的範圍必須包括兩個晶片的地址範圍。兩個晶片的地址範圍是0xC0000到0xFFFFF。BufferRAMDiagnostic(緩衝器RAM診斷)在4MBBufferRAM的情況下,BufferRAM診斷要花長得多的時間。要求Jupiter-1能在250毫秒之後處理一個SCSI選擇。這種固件通常具有一個二階段(phase)初始化。PhaseⅠ初始化是在驅動器執行自身診斷的過程中(這其中通常包括BufferRAM診斷)不允許選擇。一旦確立了驅動器基本上完整,驅動器就進入PhaseII初始化,此時它可以處理一個選擇並且僅響應testUnitReadv或InquiryCommand。在PhaseⅡ期間,驅動器讀出EEPROM,初始化InquiryData,ModePageData以及其他各種數據結構。Jupiter-14BMBufferRAM測試應該在PhaseⅡ初始化期間執行。RAMDiagnostic(RAM診斷)如果針對兩個SRAM晶片的RAM診斷時間過長,就可以把測試分開,並在PhaseⅡ初始化期間按上述方式執行BufferRAM測試的剩餘部分。AutochangerReset(自動換片器復位)如果驅動器檢測到AutochangerReset已被復位,在嘗試從20腳接插件讀出使用的SCSIID以及是否允許SCSIParity之前,在驅動器必須等待Auto-changerReset被撤消。Jupiter-1驅動器可以在AutochangerReset被復位的同時執行其所有的PhaseⅠ初始化。在驅動器準備好對SM331的SCSI部分進行初始化時,它要檢查GLIC晶片,查看是否連接了20腳接插件。若沒有連接,就用選擇跳線來確定SCSIID以及是否允許SCSIParity。如果連接了20腳接插件,驅動器就會查詢GLIC晶片,以監視AutochangerReset的實際電平。當Autochan-gerReset被撤消時,來自20腳接插件的信號將確定SCSIID以及是否允許SCSIParity。BootTask(引導任務)InitializationCode(初始化碼)用於PhaseⅡ初始化的代碼被包含在BootTask之內。BootTask執行初始化,產生其他驅動任務,然後用MonitorTask的代碼替換其本身。它需要一定的時間,以便用MonitorTask覆蓋BootTask。Jupirter-1反之會把PhaseⅡ初始化代碼裝入在MonitorTask中首先被執行的一個程序中。在執行了初始化之後,MonitorTask就轉到其正常執行的代碼。由於每項任務的控制環所限,任務的執行決不會脫離其控制環。初始化代碼在任務環之前被設置,因此,初始化代碼僅在核心最初生成任務時執行一次。SingleReadandWriteTask(單個讀和寫任務)現有的結構為1x讀、2x讀、1x寫、和2x寫設置了獨立的任務。決不能同時安裝多於一種類型的介質。每次只能執行一種讀或寫功能。因此只需要一種介質訪問對話,即Read/WriteTask。PhaseⅡ初始化代碼僅生成單個讀/寫任務,在此討論中稱做DriveTask。下幾段提供進一步的細節。CartridgeInitializtion(盤盒初始化)在盤盒已在驅動囂中的情況下通電,或是在通電之後插入盤盒時,就執行盤盒初始化。現行的結構在通電時把初始化作為BootTask的一部分來執行。如果在通電後插入盤盒,初始化就作為DriveAttentionHandler的一部分被執行,DriveAttentionHandler是一個中斷服務例程(ISR)。根據來自DSP的新的中斷結構和超時信息,Cartridge初始化功能的必須由任務來執行,以便使任務能接收在其隊列中的信息(只有任務才有隊列)。PhaseⅡ初始化代碼此時就向DriveTask傳送一個信息,以便在通電時以及在插入盤盒時執行盤盒初始化。以下還要討論盤盒初始化的細節。(SCSI)MonitorTask(SCSI監控任務)ConcurrentProcess-ing(同時處理)DriveStateManagementandControl(驅動囂狀態管理和控制)MonitorTask此時可以做出響應,以便維護「驅動器狀態」變量。以下的子段說明了接收到的各SCSI命令,驅動器狀態,以及在整個驅動器結構中使用的各種信息之間的關係。如上文所述,表44提供了驅動器狀態的列表。Non-MediaAccessCommand(非介質訪問命令)MonitorTa-sk會對非介質訪問命令的執行保持響應,這類命令例如有TestUnitReady,Inquiry,以及ModeSense。Start/StopSpindleCommand(起動/停止主軸轉動命令)在現有的結構中,SCSIMonitorTask執行Start/StopSpindleCo-mmand。為了在執行該命令時實現同時處理,這一命令必須由一個獨立的任務來執行。在執行盤盒初始化時,為了結構的相容性,驅動器狀態為「SpinningDown」。關於LOW-LevelTask請看下文。SCSISeek(SCSI查找)SCSISeekCommand將由DriveTask來處理。需要這樣做是為了使MonitorTask在接收到新命令時能夠支持同時處理。MonitorTask會把驅動器狀態改變成「Seek」並且向DriveTask傳送一個執行找道的信息。DriveTask會向MonitorTask回傳一個「SeekStatus」信息,指示出請求已被滿足。MediaAccessCommands(介質訪問命令)MonitorTask對每個讀、校驗、刪除、寫、寫/校驗及格式化指令,負責向DriveTa-sk傳送一個信息。MonitorTask可以按照要求把驅動囂狀態設置到「Read」,「Write」或「Format」。在等待DriveTask滿足其要求時MonitorTask不會停止其執行。DriveTask會向MonitorTask。回傳一個狀態信息,指示出要求已經被滿足。ReadStateandCaching(讀狀態並進行緩存)當MonitorTask從始發者之一接收到一個讀請求時,它要檢查當前的ModePa-ge08h是否允許讀高速緩存。如果允許並且在隊列中沒有其他命令,MonitorTask就會向DriveTask傳送一個信息,開始處理讀請求,並且隨後開始ReadAheadCache。在該時刻,驅動器狀態會變為「Read,WithCaching」。如果在隊列中還有其他命令,MonitorTask就要確定下一個命令是否排除高速緩存。如果是,該信息就被傳送給DriveTask,開始處理讀出請求,並隨後開始ReadAheadCache。在該時刻的驅動器狀態會改變為「ReadWithCaching」。如果在隊列中存在其他命令,MonitorTask要確定下一個命令是否排除高速緩存。如果不是,傳送給DriveTask的信息就會指示出高速緩衝不應該開始,並且將會把驅動狀態設置為「Read,WithoutCaching」。如果讀高速緩存被允許並開始了,而在其後接收到了另一個命令,MonitorTask(同時在執行)就要確定是否應停止ReadAheadCache。例如,如果接收到的命令是一個寫請求,MonigorTask就會向DriveTask傳送一個信息使ReadAheadCache異常終止並且廢除高速緩衝存儲器中的所有數據。如果接收到的命令是一個讀請求,MonitorTask就會向DriveTask傳送一個信息,停止ReadAheadCache,並且保留高速緩衝存儲器的數據。以下將涉及處理DriveAttention信息的有關問題。WriteStateandCaching(寫狀態和進行緩存)當MonitorTask從一個始發者接收到一個寫請求時,它要檢查當前的ModePa-ge08h是否表決允許高速緩存。如果允許,並且在隊列中沒有其他命令,MonitorTask就會向DriveTask傳送一個信息,按要求處理寫請求。此時的驅動的器狀態會變為「WriteRequest,WithCa-ching」。如果在隊列中有其他命令,MonitorTask就要確定下一個命令是否妨礙高速緩存。如果是,傳送到DriveTask的信息就會指出不應執行高速緩存,並把驅動器狀態設置為「WriteRequestWithoutCaching」。如果允許寫高速緩存並且接收到另一命令,(同時執行的)Moni-torTask將會確定是否應停止WriteCache。若接收到的命令例如是一個讀請求,MonitorTask就應向DriveTask傳送一個信息,以停止WriteCache並且把高速緩衝存儲器中的所有數據注入介質。如果接收到的命令是一個寫請求,MonitorTask就不會動作,只是把該命令排隊,等到當前的請求被滿足之後再處理。以下將討論處理DriveAttention信息的有關問題。CatastrophicEvents(災難事件)CatastrophicEvents被定義為來自自動換片囂的SCSIBUSReset或是PowerDownRequest。在發生了這類事件之一時,就會引起NMIISR(非屏蔽中斷中斷服務例程),向MonitorTask傳送一個信息。如下文所述,MonitorTask會根據驅動器狀態採取改正的行動。當接收到一個「SCSIBUSReset」命令時,MonitorTask要檢查當前的驅動器狀態。如果當前的驅動器狀態是「Write」狀態,就向DriveTask傳送「FlushWriteCache」信息,並把驅動狀態改為「FlushWriteCache,thenReset」。當DriveTask回傳了一個「FlushStatus」信息時,MonitorTask就會檢查VendorUniqueModePage21h的字節14中的ResetBit。如果配置了硬體復位,MonitorTask就把驅動狀態設置為「HardReset」,然後跳到引導地址(OFFFFOh)啟動硬體復位。如果配置了軟體復位,Moni-torTask就把驅動器狀態設置到「SoftReset」然後啟動軟體復位。如果在驅動器正處於「Read」狀態時接收到一個「SCSIBusReset」信息,MonitorTask就會檢查VendorUniqueModePage21h的字節14中的ResetBit,然後按照指示啟動硬體或軟體復位。在接收到「PowerDownRequest」信息時,MonitorTask會檢查當前的驅動器狀態。如果當前的驅動器狀態是「Write」狀態,就向DriveTask傳送一個『『FlushWriteCache」信息,並使驅動器狀態變為「FlushWriteCache,thenPowerDown」。當DriveTask回傳了一個「FlushStatus」信息時,MonitorTask就會把驅動器狀態改為「PowerDown」並且置位20腳接插件上的PWRDNACK信號。當接收到「PowerDownRequest」信息並且驅動器處於「Read」狀態時,MonitorTask就會把驅動器狀態設置為「PowerDown」並且置位20腳接插件上的RWRDNACK信號。注在置位了PWRDNACK之後採取其他行動或保持不變。CommandQuening(命令排隊)注連接(tagged)或不連接的排隊。這些問題都是設計的問題,不會影響本領域的技術人員按照本文允許和公開的內容實現本發明。DriveTask:DriveTask用於執行盤盒初始化,SCSI找道,以及所有介質訪問和高速緩存功能。由於每次只能出現一種類型的介質訪問,並且每次僅支持一種類型的高速緩存,任務應該是單一的。MonitorTask會向DriveTask傳送信息,請求適當的服務。ServicingSCSICommands(SCSI服務命令)當DriveTask接收到一個請求為SCSI命令服務(找道,讀/校驗,擦除/寫,或格式化)的信息時,DriveTask固件就會分支到用於讀、寫、或格式化的適當路徑,然後再分支到用於1x、2x或4x介質格式化的路徑。每種介質類型的代碼也會被作為獨立的一組模塊被保存,象前述的一樣為了可維護性和穩定性。CartridgeInitialization(盤盒初始化)盤盒初始化功能將由DriveTask在電源接通時從MonitorTask接收到一個信息的時刻執行。若在電源接通後插入盤盒,DriveAttentionHandler會向MonitorTask傳送一個「CartridgeInserted」(盤盒已插入)信息。MonitorTask會把驅動器狀態選擇為「LoadingCartridge」並向DriveTask傳送「InitializeCartridgeRequest」信息。DriveTask接著向LOW-LevelTask傳送「SpindleStart/StopRequest」信息,參見下文。一旦盤盒被成功地加載並達到轉速時,DriveTask就會確定盤盒類型和介質格式,讀四個DefectManagementAreas(DMA),按要求重寫任意的DMA,並且初始化故障的管理結構。在完成了初始化工作時,DriveTask會向MonitorTask回傳一個「InitializeCartridgeStatus」信息。然後,驅動器狀態會變為「空閒」。ReadandReadAheadCache:DriveTask內的讀代碼負責管理讀過程,ReadAheadCache,確定命中發生的時間,或是決定介質的訪問。來自MonitorTask的信息會控制DriveTask的讀,高速緩存,或是非高速緩存的動作。當DriveTask接收到一個執行讀的信息時,該信息會指示出讀完成之後是否應該開始高速緩存。「ReadRequest,WithontCa-ching」信息表示DriveTask不應打算高速緩存任何數據。「ReadRequest,withcaching」信息表示DriveTask應該計劃把讀擴展到高速緩存。當DriveTask接收到這些信息之一時,MonitorTask已經把驅動器狀態設定到了適當的讀狀態。DriveTask在執行非高速緩存讀的過程中可以接收其他信息,從而忽略最初的高速緩存並且不使讀擴展。如果接收到「StopRe-adCache」信息,DriveTask僅會滿足讀的非高速緩存部分。如果高速緩存尚未開始,DriveTask就不會開始超前讀。如果高速緩存已經開始,超前讀就會被關閉,並且保留所有高速緩存的數據。ReadMode狀態圖如圖122所示。如果接收到「AbortReadCache」信息,DriveTask只會滿足讀的非高速緩存部分。如果高速緩存尚未開始,DriveTask就不會開始超前讀。如果高速緩存已經開始,就關閉超前讀並廢除所有高速緩存的數據。ReadAheadCache將會從最後的LBA,ABA緩存各個扇區,或是緩存跟蹤扇區,直到1)接收到「StopReadCache」或「AbortRe-adCache」信息,2)滿足了最大的預取要求,3)緩衝囂RAM中沒有空閒空間,或4)在當前的門限內無法恢復一扇區。DriveTask勢必必須保持DriveAttentionRouter(DAR)標誌(token)。如果在執行超前讀時發生了DriveAttention,必須使SriveTask能知道Attontion狀態,採取適當的動作清除此狀態,並且開始各恢復操作。DAR標誌的管理在下文中討論。WriteCache這一問題的討論是參照圖123說明的。DriveTask內的寫代碼的任務是負責決定訪問介質的時間,管理WriteCache,管理WriteCache緩衝器延遲時間,以及衝洗WriteCache。來自MonitorTask的信息會控制寫入過程的動作。當DriveTask接收到一個要求執行寫入的信息時,該信息會指示出數據是否可以被高速緩存。「WriteRequest,WithCaching」信息表示DriveTask根據CDB中的ImmediateFlag和WriteCache的當前內容對數據可能進行高速緩存。「WriteRequest,withoutcaching」信息表示DriveTask在任何情況下都不可能對數據進行高速緩存。DriveTask在執行高速緩存的寫入以便注入WriteCache的內容的同時可以接收其他信息。如果接收到「StopWriteCache」信息,DriveTask就會滿足當前的寫請求並隨後把所有高速緩存的數據注入介質。如果接收到「FlushWriteCache」信息,如果寫請求正在進行,DriveTask就會滿足當前的寫請求並隨後把所有高速緩存的數據注入介質,若是沒有正在進行的寫請求,就把所有高速緩存數據注入介質。WriteCache的功能是利用了來自多個SCSI寫請求的數據的相關性的優點。來自多個請求的連續扇區可以被合併成一個介質訪問,所需的處理開銷較小。連續的扇區可以被高速緩存。不連續的扇區會造成已在高速緩存器中的扇區將用最長的時間傳送到介質上。允許數據保留在BufferRAM中的最長時間是在ModePage21h中的MaximumBufferLatency內指定的。當一個寫請求被高速緩存時,DriveTask會請求TimerService在MaximumBufferLatency中指定的時間結束之後發送一個信息。如果DriveTask在數據被傳送到介質之前接收到超時信息(這是由於相繼的請求的非連續性造成的),DriveTask就開始向介質傳送數據(以及所有連續的數據)。如果由於扇區是非連接的而強行向介質傳送數據,DriveTask會請求TimerService在不要發送此前請求的超時信息。在每次監控緩衝器延遲時間時只需要一個超時。這一個超時是針對被高速緩存的第一個寫請求的。如果隨後的請求是連續的,這一請求應與第一個一起被高速緩存,當第一個請求要被寫入介質時,後一個請求也和第一個一起被寫入介質,因此,超時是單一的。如果後一個請求不連續,第一個請求就被寫入介質,其超時被取消,並為後一個請求請求一個新的超時。因此僅需要一個超時。DriveTask勢必必須保存DriveAttentionRouter(DAR)標誌。如果在執行WriteCache時出現DriveAttention,應該使DriveTask知道Attention狀態,採取適當的動作清除此狀態,並且開始各恢復操作。DAR標誌的管理在下文中討論。Low-LevelTask:Low-LevelTask在這一設計方案中的職責是處理有關讀,校驗,擦除,寫,或是大範圍恢復扇區的系統請求。這些請求的使用是在讀出DefectManagementAreas期間,重新安排一個扇區的期間,扇區的自動重新定位期間,寫出錯的恢復期間,以及讀出錯的大範圍恢復期間。Low-LevelTask的新職責還包括處理SpindleStart/StopRequests和EiectCartridgeRequests。按照同時處理的要求,MonitorTask在等待新的SCSI命令或是等待超時的情況下不再能查詢主軸或退出事件。相應地,這些功能被移到了Low-LevelTask中。Low-LevelTask具有自身的任務隊列,並且在等待各種事件發生時可以阻斷。當Low-LevelTask接收到「SpindleStart/StopRequest」時,它會發出DriveCommand去啟動或停止主軸,然後監控超時。在接收到啟動主軸的DriveCommand時,DriveCommand固件會向主軸電機控制晶片發出適當的速度命令。還會向DSP發出一個命令,以便監控主軸速度,並在主軸達到了要求的最小速度時發出一個中斷。為了監控主軸啟動功能所需的時間,Low-LevelTask向TimerService發出請求,請求接收以(待定)秒為單位的信息。然後,Low-LevelTask就等待兩個信息之一。當DSP發出了主軸達到速度的中斷時,DriveAttentionHandler會收到要求。Low-LevelTask,作為對DriveAttention信息的已登記的接收者,將接收「SpindleAtSpeed」信息。TimetSercice會收到不再需要主軸超時信息的通知,並且向MonitorTask回傳一個「SpindleStart/StopStat-us」信息。如果接收到主軸超時信息,則主軸電機尚未達到規定速度。就會發出一個DriveCommand,從而停止主軸,並且向Morn-itorTask回傳一個「SpindleStart/StopStatus」信息。目前有人對是否有必要監控停止主軸的功能提出建議。TimerServece:Jupiter-l的一個新的有效服務是系統TimerService。TimerService具有專用的Timer1和Timer2(作為prescaler)。Timer0在任何時間都可供固件使用。TimerService的職責是在經過指定時間之後向請求方傳送一個信息。若有多個重疊的請求,TimerService就負責管理各個請求,並在正確的時間產生信息。TimerService可接受兩類請求InsertTimerEvent和Remo-veTimerEvent。當接收到一個InsertTimerEvent請求並且沒有其他突出的請求時,TimerService就啟動指定時鐘信號(clockticks)總數的各定時器,允許定時器中斷,將請求置入其定時事件表的標頭中,並向主叫者回傳一定時事件的句柄(handle)。如果發生定時器中斷,TimerService就會從定時事件表的標頭中去除該請求,並向請求者發出信息。如果TimerService在一或多個請求是突出的時接收到一個定時事件請求,TimerService就會按照適當的次序把該請求置於定時事件表中,按照由小到大的延遲周期來排隊。在表中的所有定時事件均由增量時間來管理。如果有一個新的定時事件請求被排在了原有的一個請求之前,表中原有的這一請求及其後的事件的增量時間就要重新計算。如果新接收到的一個請求的超時比當前處在排頭的那一事件的超時短,各定時器就會被重新編程,並且按新的增量逐級下排事件表。如果接收到RemoveTimerEvent請求,TimerService就會利用從InsertTimerEvent請求回傳的句柄來標識該定時事件,並將其從定時事件表中去除。如果被去除的事件原先處在定時事件表的頭上,各定時囂就會在剩餘時間對表中的下一事件的重新編程並且按新的增量逐級下排事件表。如果被去除的事件原先處在表的中間,被去除的事件的增量就使事件表逐級下排。NMIISR(非屏蔽中斷中斷服務例程)如果出現了來自自動換片器事件的SCSIBusBase或是PowerDownRequest,就會引起NMIISR。ISR將詢問GlueLogicIC(GLIC),以便確定中斷源,然後向MonitorTask傳送信息。MonitorTask根據接收到的信息採取上述的改正動作。如果置位了GLIC(TBD)寄存器中的SCSIBusReset位,SCSIBusReset線的置位就曾造成NMI,並有一個「SCSIBusReset」信息被傳送給MonitorTask。如果置位了GLIC(待定)寄存器中的Au-tochangerReset位,AutochangerReset線的置位就曾造成NMI,並有一個「AutochangerReset」信息被傳送給MonitorTask。如果置位了GLIC(待定)寄存器中的AutochangerPowerDownRequest,AutochangerPWRDNREQ線的置位就曾造成NMI,並有一個「Autoch-angerPowerDownRequest」信息被傳送給MonitorTask。DriveAttentions:DriveAttention相對於諸如脫離跟蹤,找道故障,或退出請求而言是一種異常事件。本文這一部分要說明在發生了DriveAttention時需要向固件報告的過程,以及在這種情況下將產生什麼樣的信息。DriveAttentionNotification在發生DriveAttention時,可能需要不同的恢復程序,這取決於事件發生時驅動器正在做什麼。例如,如果驅動器正處於空閒並且碰巧在這時脫離軌道,就不需要恢復。另一方面,如果正在執行讀出,驅動器就需要重新找道,然後還要繼續進行讀操作。具有當前與驅動器接口的那個任務,根據任務曾做過的內容才知道用於恢復的適當措施。因此,發生DriveAttention的通知必須被傳送給當前與驅動器接口的那個任務。由於該任務不一定總是當前正在執行的任務,每個任務必須要標識它引起DriveAttetion的時間。因此,第一種通知機制是在發生DriveAttention時向對此負責的任務傳送一個信息。這一有責任的任務是通過一個可變的task-id-router來標定的,該程序由所有的任務共同管理。第一種機制依賴於等待接收信息的每個任務,其中的一個信息可能是DriveAttention信息。如果固件不打算要信息時,停止對隊列的查詢會使計算能力明顯下降。也可以採用第二種通知機制,它不依靠任務來查詢DriveAttention信息。在固件中的關鍵點上,如果發生DriveAttention,任務可以記錄要指向的一段代碼。如果如沒有發生DriveAttention,就不需要除了記錄/不記錄之外的附加時間。DriveAttentionHandlingandConcurrency:DriveAtten-tionHandler的執行就象一個ISR,首先是一個內容短小的ISR,在其間禁止中斷,然後是一個允許中斷情況下的較大的處理程序。以下的例1提供了一個解釋性的方案。例Ⅰ找道正在進行並且SCSI中斷被禁止。驅動器出現找道故障從而發生了一個DriveAttention。DriveAttentionHandler象一個ISR那樣運行。如果有另一個SCSI命令想要進入,前六個字節將由硬體來處理。其他剩餘字節需要等待在SCSIISR中被PIO處理,一直等到DriveAttention重新允許中斷之後。由於驅動器此前正在找道,SCSI中斷仍會被屏蔽掉。因此,由DriveAttentionHandler(必要時還包括再調用)來執行的全部恢復時間內,在一個命令的中間SCSI總線可以被佔據。DriveAttentionEventsandMessages確定Attention源。向DriveAttention信息的當前記錄的接受者傳送信息。傳送用於ACEjectRequest,FrontPanelEjectRequest,SpindleAtSpecd,以及EiectLimit的信息。在插入盤盒時不執行自動加速旋轉和初始化。DriveAttentionRouting和Caching在需要DriveAttentionRouter標誌時,MonitorTask傳送TCS,以終止ReadAheadCache。DriveTask的記錄在執行ReadAheadCache時必須保持為用於接收DriveAttention信息的那個任務。如果準備出現一個DriveAttention(例如脫離跟蹤),DriveTask就需要採取改正行動。MonitorTask應該向DriveTask傳送一個信息,通知其異常終止,並且返回DriveAttentionRouter標誌。SCSITtansfer:PIOMode如果傳送量大於(待定)字節,就把數據複製到BufferRAM,然後從那裡將其DMA掉。SCSIMessages:BusDeviceReset,TerminateI/O,andAbort.Events:ListofEvents.MessageTypes:CurrentTCSSourcesTypesSCSI_TCSPassrequestfromMonitorTasktoDriveTaskATTN_TCSFromDriveAttentionHandlerLL_RD_TCSRequestforLow-LevelReadLL_WR_TCSRequestforLow-LevelWriteERCVRY_TCSRequestforSectorErrorRecovery將被代替MessagesSCSIBusResetAutochangerResetAutochangerpowerDownRequestDriveAttentionTCSsError(SeekFault,OffTrack,CartridgeNotAtSpeed,etc.)CartridgeinThroatCartridgeonHubEjiectRequest(自動變換器或前面板)EjectLimitspindleAtSpeedTimerEventRequestTimerEventOccurredSpindleStart/StopRequestSpindleStart/StopStatus(OK,Fail)EjectCartridgeRequestEjectCartridgeStatus(OK,Fail)InitializeCartridgeRequestInitializeCartridgeStatus(OK,Fail;盤盒類型)DriveAttentionRouter(DAR)TokenReturnDriveAttentionRouter(DAR)TokenDARReturnedSeekRequestSeekStatus(DARToken返回)ReadRequest,withcachingReadRequest,withoutcachingReadStatusStopReadCache(將發送ReadRequest)AbortReadCache,flushReadCacheWriteRequest,withcachingWriteRequest,withoutcachingWriteStatusStopWriteCache(完成對WriteCache的寫和清倉(flush))TimedWriteRequest(將選擇的WriteCache部分寫到介質上)FlushWriteCache(Reset或PowerDownRequest)FlushStatus硬體要求1)2KRAM,以便作為非易失RAM的鏡象滿足快速存取保存的數據。這樣做有助於滿足非斷開命令(即ModeSense和LogSense)的需求。2)用於通電小時計數的ElapsedTimeCounter。電子電路驅動器電子電路由三個電路組件構成一個集成的主軸電機電路,如圖101A-101G所示;一個帶前置放大器的柔性(flex)電路,如圖102-105所示;以及一個包含主要驅動功能的主電路板,如圖106A至119所示。集成的主軸電機電路主軸電機板具有三個功能一個功能是接收圖101A中接插件J2上的致動器信號,並將其通過圖101G中的接插件J1傳遞到主板。該板的其他功能有無刷主軸電機驅動囂和一個粗調位置傳感器前置放大器。這些功能將在以下詳述。繼續參考圖101A-G,該電路示出了主軸電機的驅動器。主軸電機驅動器電路包含圖101F中的U1,它是一個無刷電機驅動器,以及用於穩定主軸電機(電機未示出)的各種元件。U1是可編程的,並且使用由主板提供的1MHz時鐘。U1在FCOM信號端子上向主板發送定位脈衝,使主板能監控主軸速度。圖101A-G的電路還被用於產生一粗調位置誤差。運算放大器U2和U3產生該誤差信號。U2和U3使用12伏電源和+5伏電源。+5伏電源被用作參考。參考信號穿過鐵氧體磁珠進到U3的輸入腳3和5,U3具有487K的反饋電阻R18和R19與47微微法拉的電容C19和C20相併聯。兩個互阻抗(transimpedance)放大器U3A和U3B接收來自位於致動器(未示出)上的位置敏感檢測器的輸入。該檢測器類似於一個分離檢測器光電二極體。放大器U2A的增益為2,用於差分放大來自U3A和U3B的輸出。U2A的輸出作為粗調位置誤差被發送給主電路板。另一運算放大囂U2B的參考電平是輸入腳6上由電阻R23和R17產生的。該參考電平需要互阻抗放大器U3A和U3B的和輸出,這二者的和出現在U2B的節點5上,它應該與節點6上來自分壓電阻R23和R17的電壓相同。反饋電容C21使U2B形成一個積分器,通過電阻R21驅動電晶體Q3。Q3驅動一個LED,其光線照射到光電二極體(均未示出)上。這樣就基本上構成一個閉環系統,確保從互阻抗放大器U3A和U3B輸出的某些電壓電平。參見圖101A-G,該板的另一功能是電機退出驅動器。電機驅動器是一個達林頓Q1,參見圖101E,電流由電晶體Q2限制並取決於電阻R7。二極體D1和C11用於抑制電機(未示出)的噪聲。盤盒退出機構位置的是通過霍爾效應傳感器U4檢測的,參見圖101D,並且用於確定齒輪串的位置,直至盤盒被退出。在板上還有三個開關WP-SW,CP-SW和FP-SW,用於檢測盤盒是否處於防寫狀態,是否存在盤盒,以及前面板開關是否請求主處理器退出盤盒。前置放大器這裡有前置放大器的兩個實施例。通用的元件如圖102A-D和103A-D所示。兩個實施例之間不同的元件如圖104A-105B所示。圖102A-105B中所示的光學模塊柔性連線器(theopticsmod-uleflexLead)有三個主要功能。其一是伺服互阻抗放大器部分;第二是讀通道讀出前置放大器;第三是一個雷射器驅動器。圖102A中示出了接插件J4和來自U1的信號,如圖102B所示,這些信號是互阻抗信號。TD和RD是用於伺服信號的兩個四線檢測器。在最初對齊過程中,X1沒有連接到X2,因此四條線可被各自對齊。然後,X1腳1被連接到X2腳1,X1腳2連接到X2腳2,依次類推。然後通過放大器U1A至U1D對兩個四芯導線的電流之和進行互阻抗放大。由四個四線信號產生主板上的伺服信號。互阻抗放大器U1A-U1D是由100K歐姆的電阻RP1A,RP1B,RP1C和RP1D與1微微法拉的電容C101-C104並聯而構成的。圖102A加的光電二極體FS是一個正向檢測二極體。其正向檢測電流指示雷射器發出的功率,並且通過接插件J4的腳15連接到主板上。參見圖102B,圖中的U106連接到J103。J103是另一個四線檢測器,其四條線中的兩條被用於產生差分的MO(磁光)信號以及和信號。U106是一個VM8101,它是專為MO驅動器製做的前置放大器,並且也是一個跨阻抗放大囂。來自U106的讀+/-信號可以通過來自接插件J103腳6的預格式信號在差信號與和信號之間切換。圖103A-D示出了用於寫電平的電平轉換器U7B,U7C和U7D。U7B,U7C和U7D是三個差分運算放大器,它們也帶有補償,可以穩定地承受大的容性負載。U7B,U7C和U7D外圍的電阻和電容執行穩定性的任務。差分放大器U7B,U7C和U7D的增益為1/2,用於為圖104A-B中所示的電晶體基極Q301,Q302,Q303,Q304,Q305和Q306建立寫電平。寫電平有三個寫電平1,寫電平2,及寫電平3,這樣就允許本發明對需要寫入MO信號的脈衝串中的不同的脈衝提供不同的寫電平。圖103C中的第四運算放大器U7A設定讀電流電平。U7A驅動Q12,並把電流鏡像到電晶體Q7,Q8和Q9中。Q7和Q8中的鏡像電流是流向雷射器的實際讀出電流。本發明的光碟系統的組合包括雷射器,向雷射器傳遞電流的第一裝置,以及數字邏輯裝置,用於切換第一裝置的電源,從而驅動雷射器,因而僅在激勵雷射器時才消耗電功率,並且得到能增強上升和下降的切換特性。在一個優先實施例中,如圖104A和104B所示,數字邏輯裝置包括CMOS緩衝囂U301和U302,它們可以接在電源地和全供電電壓之間。另外,第一裝置最好是用傳遞電晶體(passtransistors)Q301-Q306來實現,參見圖104A-B。本光碟系統的類型屬於具有聚焦機構和跟蹤機構,一個鏡頭,以及被讀的光碟,按照其另一方面,本例中的機構是由反饋環來控制的。這種反饋環的優先實施方案之一包括一個用於產生伺服信號的電子電路,以便實現聚焦機構和跟蹤機構的校正,向雷射器傳遞電流的第一裝置,以及切換第一裝置的電源以驅動雷射器的數字邏輯裝置,從而僅在激勵雷射器時才消耗電功率,並且可以獲得增強的上升和下降切換特性。在本實施例中,數字邏輯裝置包括CMOS緩衝器,它們最好是連接在電源地和全供電電壓之間。如上所述,第一裝置可用傳遞電晶體來實現。圖104A-B進一步示出了實際的脈衝驅動器及接通雷射器LDI的允許腳。雷射器實際上是由CMOS門U301和U302A來保護的,從而保證在電壓電平上升時使雷射器不受任何電流尖峰的影響。U302A保證來自LaserON信號的邏輯低,並且U302A能保持電流鏡象,如圖103A所示,不被允許,直到U302A的讀允許線,即腳1,2和3被U302A的腳20,21,22和23上的高邏輯電平允許時為止。它還提供一個信號,該信號僅在雷射囂被激活之後才允許用寫脈衝驅動雷射器。激活是由U302A的腳4來執行的,該腳4控制著301A,301B和302B的輸入。U302和U301的允許腳,即腳13和24,以及U301A的腳24是獨立的寫信號,它們對應寫選通脈衝1,寫選通脈衝2及寫選通脈衝3。接通由獨立的電晶體Q301至Q306產生的電流源就可以產生的三個寫電平。圖104B中的鐵氧體珠301和302起把讀電流和寫電流隔離的作用,並且出於EMI的要求防止RF調製從電纜中向回發射。參見圖105A-B,U303是HewlettPackard生產的訂製集成電路IDZ3,其作用是產生約為460MHz的電流。該電流被引入雷射囂用於RF調製,從而降低雷射器噪聲。其輸出通過C307耦合。在U303上有一個允許腳1,用於接通及關斷調製。本發明包括一個改進的Colpitts型振蕩器,其脈衝振鈴被減小了。該振蕩器包括一個用於提高振蕩器阻抗的諧振電路。諧振電路也可以包括一個電感。本發明的一個方面就是增大振蕩器的供電電壓,從而便於增大RF調製幅度及減少振鈴。如下文所詳述,改進的Colpitts振蕩器電路的一個優選實施例包括一個具有發射極,基極和集電極的電晶體;一個電壓源;以及一個串聯在集電極和電壓源之間的負載電阻,從而在向振蕩器提供寫脈衝時緩和振蕩器的振鈴。還可以有益地用一個負載電感與負載電阻相串聯。在本實施例中,寫脈衝被加到負載電阻和負載電感的連接點上,在跨過發射極和集電極的集電極與地之間可以連接一個分裂電容囂的振蕩槽路。本發明的另一優選實施例的改進Colpitts振蕩器電路包括一個具有發射極,基極和集電極的電晶體;一個連接在集電極和地之間的分裂電容器,跨接在發射極和集電極上;一個電壓源;以及串聯在集電極和電壓源之間的負載電感和負載電阻,從而可以在寫脈衝被加到負載電感與負載電阻之間的連接點上時緩和振蕩器的振鈴。本實施例中也具有提高的供電電壓,以便增大RF調製幅度及減少振鈴。這一Colpitts振蕩器具有一個加大電阻的負載電路,該振蕩器可以有利地與雷射器和寫脈衝源組合在一起提供。在一個最佳實施例中,負載電路還包括一個電感。這一組合要以改成包括一個雷射器,一個寫脈衝源,一個電壓源一個具有帶發射極,基極和集電極的電晶體的Colpitts振蕩器,以及一個串聯連接在集電極和電壓源之間的負載電阻,從而可以在向振蕩器提供寫脈衝時緩和振蕩器的振鈴。它可以包括一個與負載電阻相串聯的槽路電感,寫脈衝加在負載電阻與諧振電感之間的連接點上,和/或一個連接在集電極與地之間,跨接在發射極和集電極上的分裂電容器槽路。用於本發明光碟系統的這一組合中的另一實施例包括一個雷射器,一個寫脈衝源,一個具有帶發射極,基極和集電極的電晶體的Colpitts振蕩器,以及一個連接在集電極與地之間,跨接在發射極和集電極上的分裂電容器槽路,一個電壓源,以及串聯在集電極與電壓源之間的負載電感和負載電阻,這樣就可以在把寫脈衝加到負載電阻和負載電感之間的連接點上時緩和振蕩器的振鈴。這一實施例也具有增加的負載阻抗和增加的電壓,以便於增大RF調製幅度並減少振鈴。在Colpitts振蕩器中減少振鈴的方法包括增大振蕩器的負載電阻以及增大供給振蕩器的電壓。如上所述,這種光碟系統包括聚焦機構和跟蹤機構,這些機構是有利地由反饋環控制的,反饋環包括產生一個伺服誤差信號的電子電路,用於實現聚焦機構的和跟蹤機構的校正,一個雷射器,一個寫脈衝源,一個具有帶發射極,基極,和集電極的電晶體的Col-pitts振蕩器,以及一個連接在集電極與地之間,跨接在發射極和集電極上的分裂電容器槽路,一個電壓源,以及串聯在集電極與電壓源之間的槽路電感和負載電阻,這樣,當寫脈衝被加到負載電阻與諧振電感之間的連接點上時,就可以緩和振蕩器的振鈴。在圖104中,第二實施例使用一個在單個電晶體Q400周圍構成的Colpitts振蕩器,參見圖104B,包括一個分裂電容器組C403,以及C402,和電感L400。該電路的偏置電壓為12伏,負載電阻R400為2K,從而確保來自鐵氧體殊FB301的寫脈衝不會使振蕩器電路產生任何振鈴。如果需要禁止,可以通過將R402接地而形成的基極信號來禁止振蕩器。在以前的設計中,Colpitts振蕩器包括一個5伏電源和一個替代R400的電感。這種不同的設計結構為雷射器提供了足夠的調製幅度,可以減少噪聲。然而,這種以前的設計結構在提供寫脈衝時可能會發生振鈴。由於用電阻R400替代了電感,寫脈衝不再在振蕩電路中感應出振鈴。為了清除振鈴並持續地維持RF調製中的足夠的峰-峰電流,需要把振蕩囂電源由5伏改為12伏,並且要適當地改變所有電阻。主電路板圖106A-119C表示主電路板。主電路板包括未包含在主軸電機板或前置放大器中的驅動功能。其中包括SCSI控制囂,用於讀和寫的編碼器/解碼器,讀通道,伺服裝置,功率放大器,以及伺服誤差產生器。圖106A所示是來自前置放大器的flex電路J1的連接。如圖102A中所示,前置放大器flex電路J1的腳15是來自前置放大器flex電路板的正向檢測電流,見圖102A。圖106A中的電阻R2提供檢測輸出負的參考電壓。運算放大器U23B緩衝這一信號,該信號是用ADCU11(圖110C-D)來測量的。圖106A中的兩個電阻R58、R59實現電阻分壓的功能,用於使雷射器讀出電流電平獲得較精確的解析度。圖110D中所示的數-模轉換器U3的輸出設定了雷射器的讀電流。圖110A-B中的DSPU4控制該轉換器。圖106E表示Eval接插件J6,也稱為測試接插件。Eval接插件J6在測試模式下通過圖108A(1)-A(3)中所示的U43的I/O埠向處理器U38(圖109A-B)提供一個串行通信鏈路。圖106F中的比較器U29A為處理器產生SCSI復位信號。圖106G中的電源監視器U45監測系統電源,並且保持系統在復位狀態,直到5伏電源和12伏電源達到容許範圍之內時為止。圖106H中的接插件J3A把主電路板連接到主電源。電源濾波器F1和F2為主電路板濾波。參見圖106I,電容耦合的底盤MT1,MT2用於主電路板與底盤的電容接地,形成AC接地到底盤。圖107A-C中的U32表示SCSI緩衝器管理囂/控制器電路。U32執行緩衝功能以及SCSl總線的命令處理。U19A展開來自圖108A的U43的探測到ID信號的長度。在圖107C中,U41,U42和U44是用做SCSI緩衝器的1Mbx9緩衝器RAM。圖107B示出了一個八位雙列直插開關S2。開關S2是一個通用的DIP開關,用於選擇諸如復位和端接的SCSI總線參數。圖108A表示一個編碼/解碼電路U43,它是SCSI控制器的一部分。編碼/解碼電路U43執行數據的RLL2,7編碼/解碼,並提供全部所需的信號,以及對用於1x和2x5-1/4英寸光碟的ISO標準光碟格式的扇區格式進行解碼。該電路還有通用的輸入/輸出,它執行多方面的功能,包括與各種串行設備的通信,啟動偏置線圈驅動器,以及確定偏置線圈的極性。圖108A(3)中的一個小的非易失性RAMU34,存儲著驅動器的專用參數。這些參數是在驅動器的校驗和製造時設定的參數。圖108B中所示的SCSI有源終端部件U50、U51可以由圖107B中的開關S2來接入。圖108A中的編碼/解碼電路43具有一個特殊方式,當這種方式在驅動器中使用時,一種NRZ位模式可被允許用於輸入和輸出。在得到允許時,圖115A-C中的訂製GLENDECU100可被用於4x光碟的RLL1,7編碼/解碼。在這種方式的編碼/解碼中,電路U43可以允許使用用於其他光碟規格的許多其他編碼/解碼系統。圖109示出了一個80C188系統控制處理器U38。80C188系統控制處理器U38的工作頻率是20兆赫茲,帶有256K字節的程序存儲器U35、U36和256K字節的RAMU39、U40,參見圖109C-D。80C188系統控制處理器U38控制驅動器的功能。80C188系統控制處理器U38是一個通用處理囂,並且可以編程,以便處理不同的格式和不同的用戶需求。不同的光碟格式可以由適當的支持設備和編碼/解碼系統來處理。圖110示出了一個TITMS320C50DSP伺服控制器U4,一個用於轉換伺服誤差信號的多輸入模-數轉換器U11,以及一個用於提供伺服驅動信號和電平設定的8通道/8位數-模轉換器U3。DSP伺服控制器U4從模-數轉換器U11接收信號,並向數-模轉換器U3輸出信號。DSP伺服控制器U4的控制功能之一是通過DSP伺服控制器U4的腳40上的指示信號監控主軸的速度。DSP伺服控制器U4通過腳45上的控制信號來確定寫驅動或是讀驅動。DSP伺服控制器U4通過圖115A-C所示的GLENDECU100與系統控制處理囂U38通信。DSP伺服控制器U4執行微調跟蹤伺服,粗調跟蹤伺服,聚焦伺服,雷射器讀功率控制,以及盤盒退出控制。DSP伺服控制器U4還監視主軸速度,用於校驗光碟是否是在速度公差範圍內轉動。模-數轉換器U11執行對聚焦,跟蹤,及粗調位置信號的轉換。聚焦和跟蹤轉換是使用來自模-數轉換器U11的腳17和18上的+/-參考來完成,它是由四線和信號產生的。四線和信號是各伺服信號的和。誤差信號的規格化是以+/-四線和為參考來執行的,利用一個+/-電壓參考來轉換粗調位置,四線信號以及正向檢測。圖110D中的數-模轉換器U3的輸出包括微調驅動信號,粗調驅動信號,聚焦驅動,LS及MS信號。這些信號是用於驅動功率放大器(圖111A-B中的U9和U11,以及圖112B中的U8)以及閉合伺服環路的伺服信號。聚焦包括FOCUSDRYLS和FOCUSDRYMS驅動信號。FOCUS-DRYLS信號使聚焦電機以開環方式微調步進,用很小的步進達到光碟。FOCUSDRYMS信號被用做伺服環路驅動器。圖110D中的數-模轉換器U3的腳7包含信號READLEVELMS。數-模轉換器U3的腳9包含信號READLEVELLS。來自數-模轉換器U2的腳7,9的這些信號被用來控制雷射讀功率。數-模轉換器U3的腳3是用在4x讀通道誤差恢復中的門限失調,用於在讀通道中引入失調,實現誤差恢復。本發明的光碟系統通常包括透鏡和待讀取的光碟,並且本發明所涉及的內容還包括一種聚焦捕捉的改進方法,它包括以下步驟把光照射到待讀的光碟上,最初把透鏡縮回到其行程的底部,掃描到透鏡行程的頂部同時搜索圖110D中U11的腳25上的最大QuadSum信號,移動透鏡使其離開光碟,監測從光碟上反回的總光量,在監測期間確定總光量,當總光量達到測得的峰值的一半以上,搜索第一個過零點,確定QuadSum信號何時超過峰值的一半,以及在該點上停止調焦。本發明的這種方法的另一個實施例包括以下步驟把光照射到待讀的光碟上,把透鏡移到第一位置,監測QuadSum信號,把透鏡朝著待讀的光碟移離第一位置,同時尋找最大QuadSum信號,移動透鏡使其離開光碟,監測從光碟接收到的總光量,在監測光的過程中確定總光量何時達到測得的峰值的一半以上,搜索第一個過零點,確定QuadSum信號在何時超過峰值的一半,並且在QuadSum信號超過峰值的一半時停止調焦。在這種方法的兩個實施例中,照射光都是可以來自雷射器的。本發明所改進的聚焦捕捉系統包括用於把光照射到待讀光碟上的裝置,移動裝置,用於在最初把透鏡縮回到其行程的底部,再相繼地一直掃描到透鏡行程的頂部,同時搜索最大的QuadSum信號,然後再反向把透鏡移離光碟,監測裝置,用於監測從光碟返回的總光量,並且在監測期間確定總光量何時達到測得的峰值的一半以上,用於搜索第一過零點的裝置,以及用於確定QuadSum信號何時超過峰值的一半,並且在該點上停止調焦的裝置。本發明的聚焦捕捉系統的另一個實施例包括用於把光照射到待讀光碟上的裝置,用於監測QuadSum信號的裝置,移動裝置,用於把透鏡移到第一位置,把透鏡朝著待讀光碟移離第一位置,並且再反向把透鏡移離光碟,用於監測從光碟接收到的總光量的裝置,在光的監視過程中用於確定總光量在何時達到測得的峰值的一半以上的裝置,用於搜索第一過零點的裝置,用於確定QuadSum信號在何時超過峰值的一半的裝置,以及在QuadSum信號超過峰值一半時停止調焦的裝置。在本例中,把光照射到待讀光碟上的裝置包括一個雷射器。本發明的另一方面包括一個與這種光碟系統配合使用的反饋環,該光碟系統具有聚焦機構,跟蹤機構,一個透鏡,一個待讀的光碟,其中的機構是由反饋環控制的。這種反饋環的一個實施例包括用於產生伺服信號的電子電路,伺服信號被用於實現聚焦機構和跟蹤機構的校正,用於把光照射到待讀光碟上的裝置,移動裝置,用於最初把透鏡縮回到其行程的底部,再相繼地掃描到透鏡行程的頂部,同時搜索最大的QuadSum信號,然後再反向移動透鏡使其遠離光碟,用於監測從光碟反回的總光量的裝置,並且用於在監測過程中確定總光量在何時達到測得峰值的一半以上,用於搜索第一過零點的裝置,以及用於確定QuadSum信號在何時超過峰值的一半,並在該點上停止調焦的裝置,這樣就能提高聚焦收集的能力。圖110D還示出了一個2.5伏參考U24,它被放大器U23D放大2倍,達到5伏參考值。2.5伏參考U24供比較器U29使用。比較器U29把跟蹤誤差信號的AC分量與零電壓相比較,從而確定跟蹤的過零點。跟蹤誤差信號被數位化後發送給圖115A-C中所示的GLENDECU100,用於確定在找道操作中使用的跟蹤過零點。圖110C-D中的模-數轉換器U11使用四線和信號來執行聚焦和跟蹤誤差的轉換。把四線和作為模-數轉換器U11的腳17和18上的參考,可以把誤差信號自動地校正到四線和信號。模-數轉換器U11用和信號除誤差信號,並給出一個規格化的誤差信號,輸入到伺服環內。其優點是這種伺服環中要處理的變量數目可以減少。這種規格化功能可以由外部的模擬除法器來執行。但模擬除法器具有固有的精度和速度問題。這種功能也可由圖110A-B中的DSP伺服控制器U4來執行,用四線和信號對誤差信號進行數字除法運算。在DSP伺服控制囂U4中的除法運算需要大量的時間。當採樣速率為50KHz時,可能來不及做除法運算並且在伺服環內對誤差信號作數字處理。由於以四線和作為參考,不需用除法就能自動地規格化誤差信號。參見圖110和113,在圖110C-D中的模-數轉換器U11的腳17、18上的模-數參考信號是由圖113的運算放大器U17A,U17B發出的。運算放大器U17A、U17B產生參考+/-電壓。開關U27A,U27B為運算放大器U17A,U17B選擇輸入的參考。當開關27B動作時,運算放大器U17A,U17B的作用是產生1伏參考和4伏參考(2.5伏+/-1.5伏參考),或是在開關U27A動作時產生一個來自四線和的參考。開關U27A和U27B按照伺服採樣速率50KHz被切換。這樣就使聚焦和跟蹤採樣能使用每個伺服採樣中的QuadSum,並且QuadSum,正向檢測以及粗調位置則以2.5伏+/-1.5伏為參考值來獲得。通過對參考值的多路轉換,可以在單個模-數轉換中實現伺服誤差的自動規格化。總之,圖113中的開關系統對兩種不同的參考電平執行多路轉換。該開關系統能實現真正的參考電平模-數轉換,用於雷射囂功率以及來自光碟的檢測信號總量,並且在使用四線和參考時校正伺服誤差信號。對諸如雷射功率,四線和電平,聚焦誤差信號,以及跟蹤信號來說,通過在兩個參考電平之間以50kHz的速率進行切換,可以實時地對這些信號進行轉換。圖111示出的電路具有圖111A中的聚焦功率放大器U9和圖111B中的微調驅動功率放大囂U10。功率放大器U9、U10的腳10是數字允許線,它們是由處理器控制的。採用微處理器控制的優點之一是功率放大器在驅動電源接通的過程中無效,以便防止損壞以及相應的聚焦和驅動部件在此期間出現失控的移動。功率放大器U9、U10都採用2.5伏參考作為模擬參考值,並且用5伏電源供電。功率放大器U9、U10接受來自DSP伺服控制器U4的數-模輸入,以控制電流的輸出。聚焦功率放大器可以驅動+/-250毫安的電流,微調功率放大器可以驅動+/-200毫安的電流。圖112示出了具有功率放大器U30(圖112A)和U8(圖112B)的電路,用於MO偏置線圈的驅動和粗調驅動。功率放大器U30、U8由12伏電源供電,以便使電機兩端的電壓範圍較大。偏置線圈(未示出)是數字控制的,以便被使能,並且被設置到擦除極性或寫極性。功率放大器U30可以向20歐姆的線圈輸出1/3安培的電流。粗調電機功率放大器U8的設計指標是向13-1/2歐姆的負載提供最高為0.45安培的電流。功率放大器U8的一個輸入端上有一個電平變換器U23A,從而把電壓驅動的參考從2.5伏變為5伏。如圖111和112中所示的功率放大器U9、U10、U30、U8的結構是類似的,並且得到補償的帶寬範圍大於30KHz。圖112B中設在粗調功率放大器U8上的箝位二極體CR1,CR2,CR4,CR5使功率放大囂U8的輸出電壓不致當粗調電機反向轉動時,因電機的反電動勢(EMF)而過份升高。箝位二極體CR1,CR2,CR4,CR5將會使功率放大器U8不致長時間進入飽和而給找道造成困難。圖112A中的放大器U26A的輸出和分壓電阻R28/R30把偏置電流反饋回圖114A所示的模-數轉換器U6。從而使處理器U38(圖109)能確保偏置線圈在實行寫入之前處在所希望的狀態。參見圖113,按照以上參照圖110的說明,四線和參考變換器是由電路U27A,U27B,U17A和U17B實現的。主軸電機接插件J2把信號傳送給其他電路元件。差分放大囂U23C把粗調位置誤差轉換成以2.5伏為參考。來自主軸電機板(J2)的粗調位置誤差是以Vcc為參考的。電晶體Q14是前面板發光二極體LED1的驅動器。參見圖114,U6是一個串行A/D轉換器,用於轉換來自溫度傳感器U20的信號。響應於被測溫度的變化對驅動器進行校準。這是本發明的一個重要特性,特別是在4x寫入的情況下,此時的寫入功率是臨界的,並且有可能需要將其作為系統溫度的函數來調整。在模-數轉換器U6的腳2(PWCAL)和腳6上的信號是由84910(圖117)發出的伺服差分放大器信號。這些信號可以用來對讀通道信號採樣,並且由圖117B中84910的腳27-30上的數位訊號來控制。在本實施例中,腳27-30是接地的,但是,熟悉本領域的人員都知道,這些腳可以由各種不同的信號驅動,因此在需要校準時可以對各種信號採樣。圖114A中U6的腳3是AGC電平,該電平經過U21B的緩衝,然後用電阻分壓,達到能輸入到A/D轉換器的量級。此AGC電平將在一已知寫過的扇區中被採樣。所得的值將作為固定的AGC電平在U16的腳19上被寫出。該固定AGC電平被輸入到圖117的84910。84910隨之設置AGC電平,從而在評估扇區以便確定其是否是一個空白扇區的過程中禁止放大器工作在最大增益狀態。本發明的光碟驅動器系統包括以下裝置的組合一個盤形存儲介質,介質上具有多個數據扇區,放大裝置,用於評估一個特定的扇區,從而確定該扇區是否是空白的,以及一個裝置,它在對扇區進行評估的過程中禁止放大器工作在最大增益狀態。在本發明的一個具體實施例中,用於禁止放大裝置的裝置包括圖109A和B所示的微處理器U38,它用於設定放大裝置的增益電平。按照以下的進一步詳述,本發明的光碟系統屬於這種類型,它具有聚焦機構,和跟蹤機構,一個透鏡,及一個待讀光碟,上述機構是由反饋環控制的,反饋環包括用於產生伺服信號的電子電路,從而實現聚焦機構和跟蹤機構的有效校正,放大裝置,用於評估光碟的一個特定扇區以確定該扇區是不是空白的,以及一個裝置,用於在對扇區進行評估時禁止放大裝置以最大的增益工作。在本發明的另一具體實施例中,用於禁止放大器裝置的裝置包括圖109A和B中所示的微處理器U38,該微處理器用於設定放大裝置的增益電平。以上結合圖112討論的偏置電流是由圖114A中模-數轉換器U6的腳4監控的,作為寫和擦除操作期間的進一步防護,用於確定偏置電流具有正確的幅值和極性。信號PWCALLF和PWCALHF分別出現在A6和A7的U6的腳7和8上,這些信號是由採樣和保持電路(見圖118)獲得的,並且可以由搭接邏輯編碼器/解碼器(GLENDEC)通過信號WTLF或WTHF來控制,如圖118B所示。在一個扇區內採用這些信號以便對高頻寫入的圖案進行採樣,以及對低頻寫入的圖案的平均DC分量採樣。可對平均值進行比較,從而獲得可被用於優化4x寫入功率的偏移。圖114A中U6(A9)的腳11通過U21A被耦合到具有INID+和INTD-輸入的差分放大器上。這些信號是與4x讀通道中恢復信號的DC電平有關的數據的DC電平。差分信號確定了在4x讀通道中的比較器所用的門限電平。若使用D/A轉換器(見圖110D)中U3腳3上的DSP門限,這一DC編移就可以被抵消。另外,為了錯誤恢復可以引入編移,以便努力恢復否則無法恢復的數據。由此就提供了4x讀通道恢復和校準功能。參見圖114A-B,信號ReadDIFF出現在U6的腳12即A10上,作為差分放大器U15B的輸出。ReadDIFF是MO(磁光)前置放大囂或預格式前置放大器(preformatpreamplifier)的DC分量。這樣就能確定讀信號的DC值,並且可被用於測量第一方向上的被擦除軌道的DC值和第二方向上的被擦除軌道的DC值,以便提供一個差值信號用於峰-峰MO信號。寫入數據也可被平均,產生平均DC值,對正在寫入的過程進行測量。這一值還被用於4x寫入功率的校準。圖114B中的U16是一個由80C188(圖109A-B;U38)處理器控制的D/A轉換器。U16的輸出是幾個電壓,用於控制三個寫功率電平WR1-V、WR2-V及WR3-V的電流電平。這些信號確定了各種脈衝的功率。第四個輸出是上述的固定AGC電平。圖115中用U100示出了GLENDEC。GlueLogicENcode/DECode/主要用一個門陣列組合了多個不同的功能。ENcode/DECode部分是一個RLL1,7編碼/解碼功能。ENCode功能的輸入是U43(圖108A)腳70上的NRZ,其輸出被編碼成RLL1,7。然後通過U100的腳36、37和38被寫入盤中(WR1,WR2,WR3)。DECode功能從盤上接收RLL1,7編碼的數據,將其解碼並恢復成NRZ傳輸給U43(圖108A)。圖114B中的U16還包括用於定時的4x扇區格式。當然U16是可編程的,因而可在其內定義不同的扇區格式。由圖115中GLENDECU100執行的其他功能包括DSP(圖110中U4)與主機處理器即80C188(U38;圖109)之間的通信接口。還提供了對軌道跨越的計數器和用於測量軌道跨越之間的時間的計時器,這些都是供DSP為尋道功能使用的。圖116示出了伺服誤差發生電路。圖116A中的信號QUADA,QUA-DB,QUADC和QUADD代表位於前置放大器板上的伺服互阻抗放大器(圖102B,U1A,-U1D)的輸出。這些信號在圖116A-B的運算放大器U22A和U22B中被適當地加、減,以便在圖116A的J4上及圖116B的U22C上分別產生跟蹤和聚焦誤差信號TE和FE。圖116B的U22C將QUADA,QUADB,QUADC和QUADD相加構成了四線和信號QS。開關U28A,U28B,U28C,U28D,U27C和U27D在寫入期間被允許,從而使電路增益降低,因為寫入期間的四線電流增大了。在寫入期間,QUADA,QUADB,QUADC和QUADD都按照一個大致為4的係數被衰減了。以下參照圖118A討論讀通道。讀信號RFD+,RFD-由前置放大器板發出(圖102B,U106),並通過增益開關U48A,U48B(圖118A(1))的傳播,用於規格化與預格式信號和MO信號有關的電平。增益開關在U25B的控制下在光碟的預格式和MO區域之間切換。U48C和U48D在寫入期間是斷開的,因此讀信號不會使讀通道的輸入飽和。在讀操作期間,這些開關都是閉合的,使讀信號通過開關送入微分器U47,參見圖118A(2)。U47的最小群延遲誤差得到補償,並可以工作到20MHz。U47的輸出通過C36和C37被AC(交流)耦合到SSI濾波器U1,並通過FRONTOUT+和FRONTOUT-送到84910(圖117)。如圖117C所示,信號被電阻R75和R48衰減,使信號達到84910可接受的信號電平。然後分別通過C34和C33把FRONTOUT+和FRONTOUT-AC耦合到84910。在84910中包括幾個功能,以便讀通道能正確地工作。其中包括讀通道AGC,讀通道鎖相環,數據檢測,數據分離以及頻率合成。具有典型的Winchester伺服誤差發生器功能的伺服誤差發生器也是84910的一部分。然而,在本實施例中沒有使用這些功能。圖117和84910(U13)的數據分離信號從腳14和15上輸出,然後接到SM330,U43(圖108A)。這些信號被用於1x和2x讀通道模式。預格式信號控制84910的腳31,因而實際上有兩個獨立的AGC信號。其一用於讀出標頭或預格式數據,另一個用於MO數據。在4x讀通道的情況下,信號SSIFP和SSIFN(圖118A(2))進入緩衝放大器U49(圖119A)。U49的輸出被通到Q3,Q4和Q5(圖119A-B),其功能是一個帶提升的積分器。圖119B中的U5是一個緩衝放大器,用於積分和提升後的信號。因此,4x讀通道涉及SSI濾波,均衡,微分,以及積分。U5的輸出由圖119A中的放大囂U12緩衝,並被耦合到用於確定峰-峰電平之間的中間點的一個電路,又稱為恢復電路。作為恢復的結果,圖118C中的信號INTD+和INTD-被輸入到一個比較器,其輸出提供用於數據分離的門限電平信號。信號INT+,INT-,INTD+和INTD-然後被輸入圖118C中的U14一個MRC1,進行比較,從而使讀出數據被分離。U14的輸出被回送給GLENDECU100(圖115)用於編碼/解碼操作。在附於本文的附錄B中披露了數位訊號處理器固件,在此提及供參考。數字超前/滯後補償電路在本領域中熟知,對這樣的位置控制系統,其中使用與加速度成正比的驅動信號(例如驅動信號是電流)來驅動電機。有一些特別關心之處。這類位置控制系統需要有超前/滯後補償,以基本上消除振蕩,使位置控制系統或伺服系統得到穩定。本發明的電路是一種數字超前/滯後補償電路,它不僅能基本上消除振蕩,還可以提供頻率等於數字採樣頻率一半的陷波濾波器。在以下以「傳遞函數」為標題的段落中列出了本發明的數字超前/滯後電路的傳遞函數數學公式,這是一種單一超前,綜合滯後的補償。本文還列出了用於比較的幾種現有技術的數字超前/滯後補償電路和一種模擬的超前/滯後補償電路。從下文中可見,本發明的傳遞函數是H(s)=(s+6)72(s2+277s+72)6]]>在以下段落中還列出了S-域的傳遞函數公式,即一種合適用Bode曲線表示的公式。從Bode曲線圖上可以看出,本發明的補償電路對相位的影響最小。儘管現有技術的補償電路也具有最小的相位影響,但只有本發明的補償電路在數字採樣頻率的一半頻率處有一個陷波濾波器。通過正確地選擇採樣頻率,這一陷波濾波器可被用來對諸如被補償的伺服電機的那些寄生機械共振頻率進行陷波。在圖1的驅動囂10中,以及在其一些替換實施例中,這種單一超前綜合滯後補償電路被用來抑制微調和聚焦伺服電機的機械去耦共振,參見以下段落。傳遞函數下列數學推導公式表示本發明數字超前/滯後補償電路的傳遞函數。首先要討論聚焦環路的傳遞函數。在其後是對補償傳遞函數的細節所做的說明。聚焦環路傳遞函數在23C上的頻移Tfactor=1ω0=2π3000致動器模型去耦合頻率ω1=Tfactor·2π33·103ζ10.01H1(s)=211s+12(s2-211s12)]]>寄生諧振ω3=Tfactor2π23·103ζ3=0.03ω2=Tfactor2π271032=3(23)]]>H2(s)=(s2+222s-22s2+233s32)(3222)]]>高頻(HF)相位損失ω4=2π1001034=14]]>H3(s)=11+4s]]>基波頻率Mconstant=790m/(s^2*A)ω5=Tfactor·2·π·36.9ζ5=0.08H4(s)Mconstant52(52s2+255s+52)]]>致動器響應Hactuator(s)=H1(s)·H2(s)·H3(s)H4(s)DSP模型單一超前綜合滯後電路採樣周期T=20·106Hleadlag(s)=1+0.107e(ST)+0.893[e(ST)]21+0.356e(ST)+0.136[e(ST)]2]]>DSPSH以及處理延遲ZOH(s)+(1-exp(-sT)sT)Tdelay=3.310-6Hdelay(s)=exp(-sTdelay)]]>DSP響應Hdsp(s)=(ZOH(s)·Hdelay(s)·Hleadlag(s))抗混淆濾波器Rfilt=20000Cfilt·100·1012τfilt=Rfilt·CfiltHfilt(s)=11-Sfilt]]>Ffilt=12filt]]>Ffilt=7958·104簡化的聚焦功率放大器響應。ωpa12·π·28000ζpa14Gpa1=0.098AVGpa23V216bit]]>ωpa22·π·45000ζpa20.8Gpa=Gpa1·Gpa2A/BITGpaMconstant=3.907103ms2bit]]>Gpa=7.477106Hpa(s)=Gpa(pa12s22pa1pa1s+pa12)(pa22s22pa2pa2s+pa22)]]>聚焦誤差信號濾波器響應H(s)=Hfilt(s)Volts/VoltDSP響應H(s)=Hdsp(s)Volts/Volt功率放大器響應H(s)=Hpa(s)Amps/bit致動器響應H(s)=Hactuator(s)m/a聚焦誤差響應H(s)=Hfebit/m開環響應H(s)=Hfilt(s)·Hdsp(s)Hpa(s)Hactuator(s)Hfe增益係數G=1|H(0)|]]>G=36.059閉環響應Hcl(s)=GH(s)1+GH(s)]]>產生帶「M-圓」(M-circle)的Nyquist圖選定的閉環尖峰Mp的量值j1..4M=1.31.52.04.0]]>M-圓的半徑R1=M1(Mj)2]]>M-圓的中心Ctrj=(Mj)21-(Mj)2]]>n2=100m=n2min2j=Rj+Ctrjmax2jRj=Ctrj]]>xmj=min2j(max2jmin2j)(m1)(n21)]]>ymj=(Rj)2(xmjCtrj)2]]>zmj=(Rj)2(xmjCtrj)2]]>n=100k=1nNk=1000100kBode圖的數據min=100max10104r=In(maxmin)]]>fk=minekfn]]>deg=180]]>Magn(s)=20·log(|G·H(s)|)φ(s)=angle(Re(H(s)),1m(H(s)))360·degMagn1(s)=20·log(|Hcl(s)|)φ1(s)=angle(Re(Hcl(s)),Im(Hcl(s)))360·deg如圖124中所示,聚焦環路傳遞函數的Nyquist圖包括等峰值軌跡(equal·PeaKingloci),這些軌跡構成了M同9-22,9-24,9-26和9-28。各自的Mp值分別為4.0,2.0,1.5,1.3。圖124還示出了由上述開環公式產生的壞路曲線930。圖125表示開環響應9-32的量值曲線,以及閉環響應量值曲線934。圖126示出了開環響應9-36的相位曲線和閉環響應相位曲線9-38。補償傳遞函數120106ω0=2π·3000DSPSH和處理延遲ZOH(s)=(1-exp(-sT)sT)Tdelay=2.5106Hdelay(s)exp(-sTdelay)]]>DSP模型三重超前/滯後電路lead=122185]]>lag=125848]]>雙向轉換s=2T(z1z+1)]]>Hleadlag(s)=(1+leads1+lags)]]>Hleadlag(z)=[12lead(z-1)T(z+1)][12lag(z-1)T(z+1)]]]>T-2leadT+2lead=-0.759]]>Hleadlag(z)=(Tz+T+2leadz+2lead)(Tz+T+2lagz+2lag)]]>T-2lagT+2lag=-0.463]]>Hleadlag(z)=[1+[(T-2lead)(T+2lead)]12][1+[(T-2lag)(T+2lag)]12]]]>Z的定義z=es·THthpleComp(s)=[1+[(T-2lead)(T+2lead)]1exp(sT)1+[(T-2lag)(T+2lag)]1exp(sT)]3]]>三重超前滯後響應HTriple(s)=ZOH(s)Hdelay(s)HTripleComp(s)|HTripleComp(0)|]]>單一超前滯後響應lead=121000,lag=1225000]]>HLeadLag(s)=1+[(T-2lead)T+2lead]1exp(sT)1+[T-2lagT+2lag]1exp(sT)]]>HSingle(s)=ZOH(s)Hdelay(s)HLeadLag(s)|HLeadLag(0)|]]>ωcenter=2·π·2200Span1.0ω2-ωcenter0.5·Span·ωcenter3=center22]]>ζ3=1.7ζ2=0.707HCompl(s)=(s2+222s+22s2+233s+32)(3222)]]>22=1.1103]]>HCompl(z)=[4T2(z-1)2(z+1)2+422T(z-1)z+1+22][4T2(z-1)2(z+1)2+433T(z-1)(z+1)+32]3222]]>32=4.4103]]>HCompl(z)=(4z2-8z+4+422Tz2-422T-22T2z2-222T2z+22T2)32(4z2-8z+4+433Tz2-433T32T2z2-232T2z+32T2)22]]>HCompl(z)=[(4+22T2+422T)z2+(8+222T2)z-422T+4+22T2]32[(4+32T2+433T)z2+(8+232T2)z-433T+4+32T2]22]]>HCompl(z)=[(4+22T2+422T)+(8+222T2)z1+(4+22T2+422T)z2]32[(4+32T2-433T)+(8+222T2)z1+(4+32T2+433T)z2]22]]>HCompl(s)422T2+422T(8222T2)exp(sT)+(422T422T2)exp(sT)232432T2+433T+(8232T2)exp(sT)+(433T+432T2)exp(sT)222]]>HComplex(s)=ZOH(s)Hdelay(s)HCompl(s)|HCompl(0)|]]>模擬Box補償lead=20.51030.01106,lag=0.0110-620.5-2.05(20.5+2.05)103]]>tlp330·1012·20.5·103HABox(s)(1+leads1+lags)11+lps]]>HAnalogBox(s)HABox(s)|HABox(0)|]]>單一超前綜合滯後ω6=2·π·900ω7=2·π·22000ζ7=0.8HCompl(s)(s+6)(s2+277s+72)726]]>HCompl(z)[2T(z-1)(z+1)+6][4T2(z-1)2(z-1)2-477T(z-1)(z+1)72]726]]>HCompl(z)=(2z2+6Tz+6T)((z+1)T)(4z2+8z+4+477Tz2+477T+72T2z2+272T2z+72T2)726]]>HCompl(z)=(2Tz22T6T2z2+26T2)6T2(4z2+8z+4+477Tz2+477T+72T2z2+272T2z+72T2)726]]>HCompl(z)[6T2+2T+26T2z+(6T2-2T)z2][4+72T2+477T+(-8+272T2)z+(4+72T2-477T)z2]726]]>HCompl(s)=[6T2+2T+26T2exp(sT)(6T2-2T)exp(sT)2][4+72T2+477+(8+272T2)exp(sT)+(4+72T2+477T)exp(sT)2]726]]>Hslcl(s)=ZOH(s)Hdelay(s)HCompl(s)|HCompl(0)|]]>曲線數據r=In(maxmin)]]>n=400k=1..nmin100fkminekfndeg=180]]>max·10·104Magn(s)=20·log(|HTriple(s)|)φ(s)=angle(Re(HTriple(s))·lm(HTriple(s)))360·degMagn1(s)=20·log(|HSingle(s)|)φ1(s)=angle(Re(HSingle(s))·lm(HSingle(s)))360·degMagn2(s)=20·log(|HComplex(s)|)φ2(s)=angle(Re(HComplex(s))·lm(HComplex(s))360·degMagn3(s)=20·log(|HAnalogBox(s)|)φ3(s)=angle(Re(HAnalogBox(s))·lm(HAnalogBox(s)))-360·degMagn4(s)=20·log(|Hslcl(s)|)φ4(s)=angle(Re(Hslcl(s)).lm(Hslcl(s)))360·deg圖127表示從所示的公式中導出的聚焦補償,傳遞函數的幅度響應曲線。圖127表示了由圖例框中的圖例來標識的用於三重超前滯後,單一超前滯後,綜合超前滯後,模擬Box,以及單一超前綜合滯後的各個響應曲線。而圖128則示出了由對應的公式導出的用於聚焦補償傳遞函數的相位響應曲線。圖128表示了用圖例標識的用於三重超前滯後,單一超前滯後,綜合超前滯後,模擬Box,以及單一超前綜合滯後的各個相位響應曲線。綜合超前/滯後HComp(z)422T2+422T(8222T2)1Z-1422T2422T(8222T2)Z232(8+222T2)18+232T2432T2433TZ-1432T2433T432T2433T22(4+32T2433T)]]>N1=4+22T2+422T(8+222T2)]]>N1=0.554N21N3=4+22T2422T(8222T2)]]>N3=0.456D11D2=-8+232T2(4+32T2+433T)]]>D2=-0.916D3=4+32T2-433T(4+32T2+433T)]]>D3=0.068單一超前綜合滯後HCompl(z)=[(6T2+2T)+26T2z+(6T2-2T)z2][(4+72T2+477T)+(8+272T2)z1(472T2+477T)z2]726]]>ω2·T2,2·T=4.276·10-52·ω2·T2=5.529·10-6N1=6T2+2T(6T2+2T)]]>N1=1N2=26T2(6T2+2T)]]>N2=0.107N3=6T2-2T(6T2+2T)]]>N3=0.893|N1|+|N2|+|N3|=2D2=8+272T24+72T2+477T]]>D2=0.356D3=472T2477T472T2477T]]>D3=0.136對於本文中沒有說明的內容,以下的美國專利可供參考Grove等人的US5,155,633;Prikryl等人的US5,245,174;及Grass-ens的US5,177,640。儘管本發明是參照某些優選實施例詳細描述的,應該認識到本發明並不僅限於這些不走樣的實施例。相反,根據本文中對本發明當前的最佳實施方案的描述,本領域的技術人員在不脫離本發明的範圍和精神的條件下還可以完成許多修改和變更。因此,本發明的範圍是由下述權利要求而不是由說明書來表示的。處於與權利要求書等效的意義和範圍之內的所有變更,修改和變形均被認為屬於本發明的保護範圍。權利要求1.一種用於將託架組件相對於存儲媒質由初始位置移動到目標位置的裝置,其中存儲媒質具有中心和圓周部分,並且以一圓周速度相對於所述託架組件繞所述中心轉動,所述裝置包括懸掛體,具有質心和形成光軸的透鏡,所述質心大致設置在所述光軸上,所述託架組件在相對於所述託架組件的第一位置懸掛所述懸掛體,用於以至少一個自由度相對其運動,所述託架組件的質心大致位於所述光軸並靠近所述懸掛體的質心,所述光軸位於所述初始位置,所述初始位置在所述初始位置和所述存儲媒質的中心之間形成第一徑向距離,所述存儲媒質具有繞所述存儲媒質中心的初始圓周速度;產生平衡的並對稱於所述光軸的多個力的驅動裝置,用於從所述初始位置向目標位置移動託架,所述目標位置在所述目標位置和所述存儲媒質的中心之間形成第二徑向距離,所述目標位置還在所述初始位置和所述目標位置之間平行於所述存儲媒質的圓周形成一圓周距離;及處理器,用於根據所述第一徑向距離、第二徑向距離、圓周距離和初始圓周速度確定一速度軌線,所述處理器引導所述驅動裝置將託架組件沿所述速度軌線從所述初始位置移動到所述目標位置,從而使所述託架組件在同時徑向地和圓周地到達所述目標位置,並且使所述多個力產生的轉矩實際上消失。2.如權利要求1所述的裝置,還包括轉動驅動裝置,用於相對於所述託架組件轉動所述媒質,當所述託架在初始位置時,所述轉動驅動裝置以所述初始圓周速度轉動所述媒質,當所述託架在目標位置時,所述轉動驅動裝置以目標圓周速度轉動所述媒質,所述處理器在確定所述速度軌線時包括所述目標圓周速度。3.如權利要求2所述的裝置,其中所述轉動驅動裝置在所述託架到達所述目標位置之前以所述目標圓周速度轉動所述媒質。4.如權利要求2所述的裝置,其中所述轉動驅動裝置基本上在所述託架組件到達所述目標位置的同時以所述目標圓周速度轉動所述媒質。5.如權利要求1至4中任一項所述的裝置,其中所述處理器為一數位訊號處理器。6.一種用於將託架組件相對於存儲媒質由初始位置通過中間位置移動到目標位置的裝置,其中存儲媒質具有中心和圓周部分,並且在圓周速度下相對於所述託架組件繞所述中心轉動,所述裝置包括懸掛體,具有一質心和形成光軸的透鏡,所述質心大致設置在所述光軸上,所述託架組件在相對於所述託架組件的第一位置懸掛所述懸掛體,用於至少以一個自由度相對其運動,所述託架組件的質心大致位於所述光軸並靠近所述懸掛體的質心,所述光軸位於所述初始位置,所述中間位置在所述中間位置和所述存儲媒質的中心之間形成第一徑向距離,所述存儲媒質具有繞所述存儲媒質中心的初始圓周速度;產生平衡的並對稱於所述光軸的多個力的驅動裝置,用於從所述初始位置向目標位置移動託架,所述目標位置在所述目標位置和所述存儲媒質的中心之間形成第二徑向距離,所述目標位置還在所述中間位置和所述目標位置之間平行於所述存儲媒質的圓周而形成一圓周距離;及處理器,用於根據所述第一徑向距離、第二徑向距離、圓周距離和初始圓周速度確定速度軌線,所述處理器引導所述驅動裝置將託架組件沿所述初始速度軌線從所述初始位置移動到所述目標位置並沿所述速度軌線從所述中間位置移動到所述目標位置,從而使所述託架組件在同時徑向地和圓周地到達所述目標位置,並且使所述多個力產生的轉矩實際上消失。7.如權利要求6所述的裝置,還包括轉動驅動裝置,用於相對於所述託架組件轉動所述媒質,當所述託架組件在初始位置時,所述轉動驅動裝置以所述初始圓周速度轉動所述媒質,當所述託架組件在目標位置時,所述轉動驅動裝置以目標圓周速度轉動所述媒質,所述處理器在確定所述速度軌線時包括所述目標圓周速度。8.如權利要求7所述的裝置,其中所述轉動驅動裝置在所述託架到達所述目標位置之前以所述目標圓周速度轉動所述媒質。9.如權利要求7所述的裝置,其中所述轉動驅動裝置基本上在所述託架到達所述目標位置的同時以所述目標圓周速度轉動所述媒質。10.如權利要求6至9中任一項所述的裝置,其中所述處理器為一數位訊號處理器。11.一種用於將託架組件相對於存儲媒質由初始位置移動到目標位置的裝置,其中存儲媒質具有中心和圓周部分,並且在圓周速度下相對於所述託架組件繞中心轉動,所述裝置包括懸掛體,具有一質心和形成光軸的透鏡,所述質心大致設置在光軸上,所述託架組件在相對於所述託架組件的第一位置懸掛所述懸掛體,用於以至少一個自由度相對其運動,所述託架組件的質心大致位於所述光軸並靠近所述懸掛體的質心,所述光軸位於所述初始位置,所述初始位置在所述初始位置和所述存儲媒質的中心之間形成徑向距離,所述存儲媒質具有繞所述存儲媒質中心的初始圓周速度;產生平衡的並對稱於所述光軸的多個力的驅動裝置,用於從所述初始位置向目標位置驅動所述託架,所述目標位置在所述初始位置和所述目標位置之間平行於所述存儲媒質的圓周而形成一圓周距離;及處理器,用於根據所述徑向距離、圓周距離和初始圓周速度確定速度軌線,所述處理器引導所述驅動裝置將託架組件沿所述速度軌線從所述初始位置移動到所述目標位置,從而使所述託架組件基本在同時徑向地和圓周地到達所述目標位置,並且使所述多個力產生的轉矩實際上消失。12.如權利要求11所述的裝置,還包括轉動驅動裝置,用於相對於所述託架組件轉動所述媒質。13.如權利要求12所述的裝置,其中當所述託架組件在初始位置時,所述轉動驅動裝置以所述初始圓周速度轉動所述媒質,當所述託架組件在目標位置時,所述轉動驅動裝置以目標圓周速度轉動所述媒質,所述處理器在確定所述速度軌線時包括所述目標圓周速度。14.如權利要求12或13所述的裝置,其中所述轉動驅動裝置在所述託架到達所述目標位置之前以所述目標圓周速度轉動所述媒質。15.如權利要求12或13所述的裝置,其中所述轉動驅動裝置基本上在所述託架到達所述目標位置的同時以所述目標圓周速度轉動所述媒質。16.如權利要求11至15中任一項所述的裝置,其中所述處理器為一數位訊號處理器。17.一種用於將託架組件相對於存儲媒質由初始位置通過中間位置移動到目標位置的裝置,其中存儲媒質具有中心和圓周部分,並且在圓周速度下相對於所述託架組件繞中心轉動,所述裝置包括懸掛體,具有一質心和形成光軸的透鏡,所述質心大致設置在光軸上,所述託架組件在相對於所述託架組件的第一位置懸掛所述懸掛體,用於以至少一個自由度相對其運動,所述託架組件的質心大致位於所述光軸並靠近所述懸掛體的質心,所述光軸在所述初始位置,所述中間位置在所述中間位置和所述目標位置之間形成徑向距離,所述存儲媒質具有繞所述存儲媒質中心的初始圓周速度;產生平衡的並對稱於所述光軸的多個力的驅動裝置,用於從所述初始位置向目標位置驅動所述託架,所述目標位置在所述中間位置和所述目標位置之間平行於所述存儲媒質的圓周而形成一圓周距離;及處理器,用於根據所述徑向距離、圓周距離和初始圓周速度確定速度軌線,所述處理器引導所述驅動裝置將託架組件沿所述初始速度軌線從所述初始位置移動到所述目標位置,並沿所述速度軌線從中間位置移動到所述目標位置,從而使所述託架組件基本在同時徑向地和圓周地到達所述目標位置,並且使所述多個力產生的轉矩實際上消失。18.如權利要求17所述的裝置,還包括轉動驅動裝置,用於相對於所述託架組件轉動所述媒質。19.如權利要求18所述的裝置,其中當所述託架組件在初始位置時,所述轉動驅動裝置以所述初始圓周速度轉動所述媒質,當所述託架組件在目標位置時,所述轉動驅動裝置以目標圓周速度轉動所述媒質,所述處理器在確定所述速度軌線時包括所述目標圓周速度。20.如權利要求18或19所述的裝置,其中所述轉動驅動裝置在所述託架到達所述目標位置之前以所述目標圓周速度轉動所述媒質。21.如權利要求18或19所述的裝置,其中所述轉動驅動裝置基本上在所述託架到達所述目標位置的同時以所述目標圓周速度轉動所述媒質。22.如權利要求17至21中任一項所述的裝置,其中所述處理器為一數位訊號處理器。23.一種包括權利要求1至10任一項所述的裝置的光碟驅動器。24.一種與權利要求11至22所述的裝置結合使用的光碟系統。全文摘要一種將託架相對於存儲媒質由初始位置移動到目標位置的方法和裝置,包括:確定存儲媒質初始位置與中心間的第一徑向距離、存儲媒質目標位置與中心間的第二徑向距離、初始位置與目標位置間的圓周距離、存儲媒質的初始圓周速度,以上述確定值為基礎計算速度軌線,和將託架以該速度軌線由初始位置移動到目標位置。速度軌線如此計算使託架能基本在同時徑向地及圓周地到達目標位置。還可使存儲媒質的轉動由初始圓周速度變為目標圓周速度。文檔編號G11B17/04GK1226724SQ9812412公開日1999年8月25日申請日期1998年11月10日優先權日1995年4月11日發明者庫爾特·W·格特魯爾申請人:迪維安公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀