locked
Hardware RAID & Windows XP Professional (with SP3) (32-bit) Lock-Up Issue RRS feed

  • General discussion

  • Hello:

    For a very long time, I have been fighting a hardware RAID-based issue; I sincerely hope others will be able to point me in a direction that will help remedy my issue.  Here is the situation:

    SYSTEM BOARD:  Intel DX48BT2 (with latest Intel BIOS & chipset software & storage controller drivers [in AHCI mode] installed)

    CPU:  Intel Core 2 Extreme QX9650 Yorkfield 3.0GHz LGA 775 130W Quad-Core Processor Model BX80569QX9650

    MEMORY:  KVR1333D3N9K2/4G 4GB 1333MHz DDR3 Non-ECC CL9 DIMM (Kit of 2)

    HARD DRIVES:  Hitachi HUA721010KLA330 (1 TB) x10 (2 HDDs on system board & 8 HDDs in hardware RAID enclosure) (with latest HDD BIOS installed)

    SCSI HBA:  Adaptec 29320LPE (with latest BIOS and drivers installed)

    HARDWARE RAID ENCLOSURE:  External Maxtronic Arena RAID enclosure, model SA-3340S, with 1 GB of RAM & BBM installed (with latest RAID BIOS installed), configured as a RAID-5, three slice, multiple-LUN configuration & properly aligned, according to Maxtronic & Microsoft documentation

    Since this build, the system, itself, has worked, flawlessly; the user has not had any problems.  The hardware RAID enclosure has been connected and things work well.  However, attempts to interact with or use the RAID enclosure, via the computer system, using the SCSI HBA, causes the entire system to lock up.  This system freeze does not always happen, immediately; but, it does happen all the time.  It may take a second to occur or it may take 30 or 60 seconds to occur.  These procedures precede a system freeze:

    • Moving data (of any size) from the system hard drives to the RAID
    • Moving data (of any size) from the RAID to the system hard drives
    • Moving data (of any size) from one RAID LUN or slice to another RAID LUN or slice
    • Formatting of RAID LUN or slice, via Windows XP

    These procedures do not precede a system freeze:

    • Moving data (of any size) from one system hard drive to another system hard drive
    • Creating, configuring, and/or deleting the RAID array, via the internal RAID configuration utility (no interaction via the SCSI HBA)

    My attempts to solve this system lock-up issue have included the following:

    • Uninstalled/reinstalled SCSI HBA hardware and drivers
    • Updated SCSI HBA BIOS
    • Moved the SCSI HBA to another PCI-e slot
    • Installed a second, identical SCSI HBA
    • Installed a different brand name SCSI HBA
    • Changed external SCSI terminator
    • Changed external SCSI cable
    • Updated external RAID enclosure BIOS
    • Updated Hitachi HDDs internal BIOS

    All attempts have been unsuccessful in fixing this system lock-up/freeze issue.  I have been working with both the SCSI HBA company and with the external RAID enclosure company, in trying to fix this issue; unfortunately, all attempts and strategies have been unsuccessful.  My next step is to research any advanced SCSI HBA and Windows XP Professional registry tweaks that I could deploy that would, perhaps, resolve this issue.  Specifically, I am looking at the following options, as described in the Adaptec driver manual/release notes: 

    8. Windows REGISTRY PARAMETERS:
    ----------------------------------------------
    8.1 Driver Specific Registry Parameters
    WARNING: Altering or adding these driver parameters incorrectly can render your system inoperable. Use them with caution.
    Follow the instructions below to enter the registry values that affect the configuration information for Adaptec SCSI Card drivers. All SCSI Cards supported by the installed driver are affected by the values you enter here.

    Each driver has its own "key" reference. In this example, the Ultra320 key is used (adpu320).

    To enter driver-specific parameters, follow these steps:

    1) Select Run from the Start button.
    2) Type "regedt32" and press Enter.
    3) Open the registry list to the following location:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
    adpu320\Parameters\Device\

    If the \Parameters\Device\ keys already exist, skip to step 6 below to begin entering parameters.

    If the keys do not yet exist, you will need to create them by continuing with step 4.

    4) Click on the adpu320 key. Select the Add Key from the Edit menu; Type "Parameters" in the Key Name edit box. Leave the Class edit box blank.

    5) Click on the Parameters key. Select the Add Key from the Edit menu; Type "Device" in the Key Name edit box. Leave the Class edit box blank.
    To specify a certain host adapter, append Device with the number of the host adapter. For example, type "Device0" for the first host adapter, "Device1" for the second, etc. If you omit the host adapter number, the configuration information applies to all supported host adapters.

    6) Click on the Device key. Select Add Value from the Edit menu; type "DriverParameters" in the Value Name edit box. Enter the Data Type and press Enter. A String Editor text box appears.
    Enter valid parameters in the text box. When entering multiple parameters, each parameter must be separated by a space. To enter additional values, repeat step 6.

    Note: Changes made with the Registry Editor do not take effect until you shut down and then restart your system.

    ----------------------------------------------------------------
    Option: /MAXTAGS=[value]
    Definition: Specifies a tagged command queue depth per
    target.
    Data Type: REG_SZ
    Possible Values: 1-255
    Default Value: 32
    ----------------------------------------------------------------
    Option: /INSTRUMENTATION
    Definition: Enables instrumentation support in the driver.
    Data Type: REG_SZ
    Possible Values: N/A
    Default Value: N/A
    ----------------------------------------------------------------
    Option: /INSTR_ERRLOG_Z=[value]
    Definition: Specifies the length of the instrumentation
    error log.
    Data Type: REG_SZ
    Possible Values: 0-127
    Default Value: 32
    ----------------------------------------------------------------
    Option: /RDSTRM
    Definition: Enables read streaming to be negotiated for all
    drives.
    Data Type: REG_SZ
    Possible Values: N/A
    Default Value: Off
    ----------------------------------------------------------------
    Option: /MAXIMUMSGLIST=[value]
    Definition: Sets the maximum transfer size for an
    individual command. The formula is:
    TRANSFER SIZE = PAGE_SIZE * (number of
    elements -1)
    Data Type: REG_SZ
    Possible Values: 2-255
    Default Value: 65
    ----------------------------------------------------------------

    8.2. Windows SCSI Driver Parameters

    WARNING: Altering or adding these driver parameters incorrectly can render your system inoperable. Use them with caution.
    Follow the instructions below to enter the registry values that affect how the Windows SCSI manager interprets the generic configuration information of SCSI device drivers. All SCSI Cards supported by the installed driver are affected by the values you enter here.
    Follow the instructions below to enter the registry values that affect the configuration information for Adaptec SCSI Card drivers. All SCSI Cards supported by the installed driver are affected by the values you enter here.

    Each driver has its own "key" reference. In this example, the Ultra320 key is used (adpu320). To enter Windows parameters, follow these steps:

    1) Select Run from the start button.
    2) Type "regedt32" and press Enter.
    3) Open the registry list to the following location:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
    adpu320\Parameters\Device\

    If the \Parameters\Device\ keys already exist, skip to step 6 below to begin entering parameters. If the keys do not yet exist, you will need to create them by continuing with step 4.

    4) Click on the adpu320 key. Select the Add Key from the Edit menu; Type "Parameters" in the Key Name edit box. Leave the Class edit box blank.

    5) Click on the Parameters key. Select the Add Key from the Edit menu; Type "Device" in the Key Name edit box. Leave the Class edit box blank. To specify a certain host adapter, append Device with the number of the host adapter. For example, type "Device0" for the first host adapter, "Device1" for the second, etc. If you omit the host adapter number, the configuration information applies
    to all supported host adapters.

    6) Click on the Device key. Select Add Value from the Edit menu. In the Value Name edit box, enter one of the valid parameter values. Make sure to enter the appropriate Data Type for the value. To enter additional values, repeat step 6.

    Note: Changes made with the Registry Editor do not take effect until you shut down and then restart your system.

    ----------------------------------------------------------------
    Option: MaximumLogicalUnit
    Definition: This command allows the user to specify how
    many LUNs the SCSI bus scans for during system
    initialization.
    Data Type: REG_DWORD
    Possible Values: 0-8 (Windows NT 4), 0-32 (Windows 2000/XP/Server 2003)
    Default Value: 8 (Windows NT 4), 32 (Windows 2000/XP/Server 2003)
    ----------------------------------------------------------------
    Option: NumberOfRequests
    Definition: Specifies the maximum number of outstanding or
    concurrent requests that can be delivered to
    the SCSI adapter.
    Data Type: REG_DWORD
    Possible Values: 16-512
    Default Value: 255
    ----------------------------------------------------------------
    Option: DisableTaggedQueuing
    Definition: If present, tells the SCSI adapter to
    disable tagged queuing for all devices.
    Data Type: REG_DWORD
    Possible Values: N/A
    Default Value: N/A
    ----------------------------------------------------------------
    Option: DisableDisconnects
    Definition: If present, tells the SCSI adapter not to
    allow any target device disconnect privileges
    for I/O.
    Data Type: REG_DWORD
    Possible Values: N/A
    Default Value: N/A
    ----------------------------------------------------------------
    Option: DisableMultipleRequests
    Definition: Limits the number of commands to each logical
    unit to one.
    Data Type: REG_DWORD
    Possible Values: N/A
    Default Value: N/A
    ----------------------------------------------------------------

    I have just started researching these registry options and while some do look promising, they only seem to address modest performance issues, not a full-blown system lock-up.  But, I am hoping this may be the answer.  I would appreciate anyone’s advise on using these registry tweaks, their experience with deploying such measures, along with anything else, anyone may have, as a suggestion, in rectifying this incredibly, frustrating issue.  In other words, if anyone has any other suggestions on fixing and/or diagnosing what could be causing this issue, it would be greatly appreciated.  I look forward to hearing from as many people as possible.  Thanks to all who contribute to this discussion.

    Thursday, August 25, 2011 10:43 PM