Modifying the so-called memory straps is the most basic customization to gain more performance/mining speed. I explain how to do it in the Sapphire RX570 overclocking post. The goal of modifying the memory timings is to increase memory transferrates at lower latencies.
What are memory timings and what do they do?
The memory modules on a graphic card work at a given clock speed measured in megahertz (MHz). Where each hertz is a cycle in which the memory has time to do work (calculations). The timing measures the chips delay doing work internally before passing the data forward. So even though a memory chip is working at high clock speeds, the work it does internally is limited due to the delays that are given by the memory timings. A chip working at 2000MHz with slow timings (large delays) can perform worse than a chip with 1500MHz and fast timings (short delays).
When the timing does not match a certain range for a given clock speed, the memory can run into trouble and generate memory errors and miscalculations. While memory errors do not harm the hardware, it can lead to faulty calculations of your mining software, thus in rejected shares.
Changing the memory timings is straight forward as the only thing you have to do is to modify the bios by copying the tighter and faster timings of the lower clock speeds. For example, the timing from the 1500MHz clock speed is used at 1625, 1750 and 2000MHz. That results in higher transfer speeds of data from and to the GPU. And therefore increases the hashrate of the mining software.
Source: https://www.reddit.com/r/EtherMining/comments/68ik56/eli5_please_explain_memory_straps_and_some/