Method and apparatus for communicating formatted data from a mass storage device to a host computer

  • US 5,535,327 A
  • Filed: 07/21/1995
  • Issued: 07/09/1996
  • Est. Priority Date: 06/23/1994
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for communicating formatted data from a mass storage device to a host computer comprising the steps of:

  • sequentially receiving a multiplicity of formatted data sectors front the mass storage device, each of the formatted data sectors comprising a user data section and an auxiliary data section, the auxiliary data section including an EDC data field and an ECC data field;

    defining a user data storage area and a separate auxiliary data storage area within a memory means;

    defining the user data storage area to comprise a multiplicity of sequentially organized user data storage blocks, each of the user data storage blocks for storing a user data section;

    defining the auxiliary data storage area to comprise a plurality of sequentially organized auxiliary data storage blocks, each of the auxiliary data storage blocks for storing an auxiliary data section;

    sequentially separating each of the multiplicity of formatted data sectors into a user data section and an auxiliary data section;

    sequentially storing each of the user data sections in the user data storage blocks, such that a first one of the user data sections is stored in a first one of the first user data storage blocks and each subsequent user data section is stored in each subsequent user data storage block;

    sequentially storing each of the auxiliary data sections in the auxiliary data storage blocks, such that a first one of the auxiliary data sections is stored in a first one of the auxiliary data storage blocks and each subsequent auxiliary data section is stored in each subsequent auxiliary data storage block;

    generating a multiplicity of sequential block numbers, such that a first one of the block numbers indicates the starting address of the first user data storage block, and each subsequent block number indicates the starting address of each subsequent user data storage block;

    sequentially transmitting predetermined block numbers of the multiplicity of sequential block numbers to the host computer;

    sequentially performing error detection and error correction operations on each of the user data sections, the error detection and error correction operations comprising the steps of;

    (a) reading the EDC data field and the ECC data field of the auxiliary data section stored in the first auxiliary data block and transmitting the data to an EDC and ECC circuit;

    (b) reading the user data section stored the first user data storage block and transmitting the data section to the EDC and ECC circuit;

    (c) performing EDC and ECC operations on the user data section using the EDC data and ECC data from the auxiliary data section to provide error corrected user data;

    (d) writing the error corrected user data to the first user data storage block;

    (e) reading the EDC data field and the ECC data field of the auxiliary data section stored in a subsequent auxiliary data block and transmitting the data to the EDC and ECC circuit;

    (f) reading the user data section stored in a subsequent user data storage block and transmitting the data section to the EDC and ECC circuit;

    (g) performing EDC and ECC operations on the subsequent user data section using the EDC data and ECC data from the subsequent auxiliary data section to provide error corrected user data;

    (h) writing the error corrected user data to the subsequent user data storage block; and

    (i) repeating steps e to h for each subsequent user data section until each subsequent user data section has been error corrected and written to its user data storage block;

    when requested by the host computer, communicating the first block number to the host computer for transmitting a predetermined portion of the user data section stored in the first user data storage block to the host computer; and

    when requested by the host computer, communicating subsequent block numbers to the host computer for transmitting a predetermined portion of subsequent user data sections stored in subsequent user data storage blocks to the host computer, whereby, when requested by the host computer, each subsequent block number is transmitted to the host computer for transmitting a predetermined portion of each subsequent user data section stored in each subsequent user data storage block to the host computer for transmitting user data to the host computer.

View all claims
    ×
    ×

    Thank you for your feedback

    ×
    ×