×

Method for distributed storage of data

  • US 7,734,643 B1
  • Filed: 06/30/2004
  • Issued: 06/08/2010
  • Est. Priority Date: 06/30/2004
  • Status: Active Grant
First Claim
Patent Images

1. A method for distributively storing a data object on a data storage system, said method comprising:

  • providing a data storage system, the data storage system including two or more nodes, each of the two or more nodes being assigned a different IP address, each of the two or more nodes including one or more data structures, each of the two or more nodes including a symmetric storage system application such that each of the two or more nodes is a complete compute and storage unit that includes all software required to run the data storage system;

    determining a layout map identifier (ID) for said data object;

    determining a layout map utilizing said layout map ID, wherein said determining a layout map utilizing said layout map ID comprises generating a layout map associated with said layout map ID based upon the number of said two or more nodes, the number of said one or more data storage structures, the number of “

    N”

    data fragments per data object and the number of “

    M”

    parity fragments per data object, wherein said “

    N”

    number of data fragments is a number of portions in to which said data object is divided, and further wherein said “

    M”

    parity fragments is a number of parity fragments generated by application of an erasure coding algorithm to said data fragments;

    wherein said data storage system has a configured number of “

    N”

    data fragments per data object and “

    M”

    parity fragments per data object; and

    further wherein said layout map is a matrix comprising;

    one or more columns equal to (N+M); and

    one or more rows equal to a total number of said one or more data storage structures divided by (N+M), wherein each intersection of said one or more columns and said one or more rows comprises an identifier of a particular one of said one or more data storage structures;

    determining a layout utilizing said layout map;

    wherein determining a layout utilizing said layout map comprises;

    obtaining a current disk mask, said disk mask indicating at least which data storage structures are operational; and

    applying said disk mask to said layout map to determine said layout;

    fragmenting said data object; and

    distributively storing said data object on one or more of said one or more data storage structures in accordance with said layout.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×