1. A method for writing a provided block of data to a tiered storage system which includes a plurality of tiers of persistent storage including an N′th tier and an N−1′th tier, the N−1′th tier having faster performance than the N′th tier, for use with a filesystem module that, when executed on a computer system, maintains a logical-to-physical mapping of blocks within files of a filesystem; for use with a block assignment database stored accessibly to the computer system, the block assignment database indicating, at block level granularity, to which of the tiers each of a plurality of data blocks including the provided data block are assigned in the tiered storage system, the database further indicating a popularity measure of each of the data blocks in the plurality, the provided data block having one popularity and at least one other data block in the same file as the provided data block having a different popularity, comprising the steps of: the computer system, under control of the filesystem module, determining in dependence upon the block assignment database that the tier to which the provided data block is currently assigned is the N′th tier; the computer system, under control of the filesystem module, deciding in dependence upon the popularity measures indicated in the block assignment database a target tier into which the provided data block should be written; if the deciding step decides that the provided data block should be promoted to the N−1′th tier then the computer system, under control of the filesystem module, writing the provided data block to the N−1′th tier; and if the deciding step decides that the provided data block should be written to the N′th tier then the computer system, under control of the filesystem module, writing the provided data block to the N′th tier.