1. A computer-implemented method for analyzing de-duplicated data storage systems, comprising: receiving data de-duplication parameters in a computer storage medium; receiving a hardware configuration for a data de-duplication system in the computer storage medium; applying a data de-duplication model to a set of data and to the data de-duplication parameters, wherein the data de-duplication model categorizes data in the storage systems into one of a plurality of different classes; applying a hardware reliability model to the hardware configuration; simulating a set of discrete events based on the data de-duplication model as applied to the set of data and the data de-duplication parameters, and the hardware reliability model as applied to the hardware configuration to provide an estimate of expected reliability for the hardware configuration for each of the different classes; generating a set of data reliability and availability estimations based on the set of discrete events; and determining, for each class in the plurality of different classes, a number of duplicates necessary to achieve a user-defined reliability constraint specific to the class based on the set of data reliability and availability estimations.