A device comprising: storage comprising a group of partitions, and a controller configured to place data into a selected one of the partitions, and to evict existing data from the selected partition when already occupied; wherein each of the partitions has a respective associated age indicator, and the controller is configured to select said one of the partitions according to an eviction policy characterized in that: - each age indicator is configured to cycle through a sequence of J steps in a cyclical manner, such that, when starting from an initial value, after cycling through J steps the age indicator again indicates the initial value, wherein said sequence of steps is a series of sequential binary values, and wherein said binary values are represented with at least two bits; - each age indicator is allowed to run ahead of a current step O of an oldest age indicator in the group subject to constraints that: i) each age indicator is allowed to run up to, but no more than, K steps in the series ahead of O where K < J-1, but ii) the age indicators of all the partitions in the group must, between them, always continue to form a run of consecutive steps in the series, wherein the oldest age indicator is that of the partition that was least recently accessed amongst the partitions in the group; - when one of the partitions in the group is accessed, its respective age indicator is incremented by an increment of one or more steps in the series if it will satisfy both said constraints i) and ii) after the incrementation but otherwise the respective age indicator remains unchanged, wherein the number of steps of said increment is such that the run still meets both said constraints i) and ii) after the incrementation; and - the selected partition for eviction is one of the partitions in the group with age indicator currently at step O. storage comprising a group of partitions, and a controller configured to place data into a selected one of the partitions, and to evict existing data from the selected partition when already occupied; wherein each of the partitions has a respective associated age indicator, and the controller is configured to select said one of the partitions according to an eviction policy characterized in that: - each age indicator is configured to cycle through a sequence of J steps in a cyclical manner, such that, when starting from an initial value, after cycling through J steps the age indicator again indicates the initial value, wherein said sequence of steps is a series of sequential binary values, and wherein said binary values are represented with at least two bits; - each age indicator is allowed to run ahead of a current step O of an oldest age indicator in the group subject to constraints that: i) each age indicator is allowed to run up to, but no more than, K steps in the series ahead of O where K < J-1, but ii) the age indicators of all the partitions in the group must, between them, always continue to form a run of consecutive steps in the series, wherein the oldest age indicator is that of the partition that was least recently accessed amongst the partitions in the group; - when one of the partitions in the group is accessed, its respective age indicator is incremented by an increment of one or more steps in the series if it will satisfy both said constraints i) and ii) after the incrementation but otherwise the respective age indicator remains unchanged, wherein the number of steps of said increment is such that the run still meets both said constraints i) and ii) after the incrementation; and - the selected partition for eviction is one of the partitions in the group with age indicator currently at step O. - each age indicator is configured to cycle through a sequence of J steps in a cyclical manner, such that, when starting from an initial value, after cycling through J steps the age indicator again indicates the initial value, wherein said sequence of steps is a series of sequential binary values, and wherein said binary values are represented with at least two bits; - each age indicator is allowed to run ahead of a current step O of an oldest age indicator in the group subject to constraints that: i) each age indicator is allowed to run up to, but no more than, K steps in the series ahead of O where K < J-1, but ii) the age indicators of all the partitions in the group must, between them, always continue to form a run of consecutive steps in the series, wherein the oldest age indicator is that of the partition that was least recently accessed amongst the partitions in the group; - when one of the partitions in the group is accessed, its respective age indicator is incremented by an increment of one or more steps in the series if it will satisfy both said constraints i) and ii) after the incrementation but otherwise the respective age indicator remains unchanged, wherein the number of steps of said increment is such that the run still meets both said constraints i) and ii) after the incrementation; and - the selected partition for eviction is one of the partitions in the group with age indicator currently at step O.