현재의 컴퓨터는 크게 데이터를 저장하는 부분과 데이터를 처리하는 부분으로 나누어진다. 데이터를 저장하기 위해서는 하드 드라이브(Hard Drive)와 플래시메모리(Flash Memory)같은 저장장치가 사용되고, 이러한 저장장치에 저장된 데이터를 처리하기 위해서는 CPU(Central Processing Unit)와 DRAM(Dynamicrandom-access  memory)이 필요하다. CPU에서 데이터를 처리하기 위해서는 저장장치에 저장되어있는 데이터를 휘발성 메모리인 DRAM으로 읽어와야 한다. 하지만, 저장장치에서 데이터를 읽어오고 처리된 결과를 다시 저장장치에 저장하는 속도는 CPU에서 데이터를 처리하는 속도에 비해서 상당히 느리다는 문제가 있다.이렇게 저장장치와 처리에 필요한 메모리가 분리된 구조는 현재대량으로 생산되고 있는데이터를 처리하기에 비효율적인 구조이다. 뿐만 아니라, 이러한 이중구조는 전력소모가 심하다는 단점도 있다.
컴퓨터는 데이터의 저장과 처리 부분으로 구분된다. 데이터의 처리를 위해 CPU에서 저장장치에 있는 데이터를 DRAM으로 읽어온다. 하지만 읽어온 데이터를 처리 후 다시 저장하는 속도는 데이터를 처리하는 속도  에 비해 매우 느린 문제가 있다.