Write a function to solve a specific problem (for example, sorting algorithms or data manipulation). Implement sort_data(data) using a stable merge sort. Return a new list containing the values in ascending order, and do not modify the input list. The function must support duplicate and negative integer values.
def sort_data(data):