Address mapping for flash devices has been a challenging design problem for controllers because of the rapidly growing device capacity. Different from the past work, a capacity-independent address mapping scheme that only depends on users' access data set, referred to as working set, is proposed. As a result, fine-grained address mapping is achieved with significant performance boosting, compared to the past work. In addition, a simple but practical wear-leveling design is proposed with the capability in lifetime estimation of flash devices. The proposed scheme was evaluated by a series of experiments with encouraging results.