1. A non-transitory computer readable storage medium storing a computer program including instructions to cause a computer to execute a method for managing a data storage system, the method comprising: managing a metadata tree structure for storing data to one or more storage devices of the data storage system in units of blocks, the metadata tree structure including a root node pointing directly and/or indirectly to blocks, and a leaf tree level having one or more direct nodes pointing to blocks, and including one or more intermediate tree levels having one or more indirect nodes pointing to indirect nodes and/or direct nodes of the metadata tree structure; performing caching of nodes of the metadata structure on the basis of the tree level, wherein the caching on the basis of the tree level includes systematically maintaining the root node in a cache memory and further includes systematically maintaining nodes of at least one first tree level of the metadata structure in the cache memory, wherein other nodes of the metadata structure, including nodes of at least one second tree level of the metadata structure, are stored to the one or more storage devices to be temporarily loaded to the cache memory upon being required for managing I/O access to data based on the metadata structure; and managing I/O access to data based on the metadata structure, including obtaining the root node and one or more nodes of the at least one first tree level of the metadata structure systematically maintained in the cache memory from the cache memory and obtaining one or more nodes of the at least one second tree level of the metadata structure from the cache memory or the one or more storage devices.