An Approach to Memory Testing, Diagnostics and Analysis