https://gigglehd.com/gg/bbs/4819088
이렇게 해서 어떻게 자기 버블들을 움직일 수 있는지 알아보았습니다.
실제 트랙에서 버블들이 움직이는 것을 촬영하면 다음과 같습니다.
저 영상은 1971년 IBM이 나사에 우주 탐사선용으로 제공했던 52비트 버블 메모리를 촬영한 것입니다.
그러면 어떻게 버블 메모리가 작동되는지 한번 다시 봅시다.
X-Y코일과 필드, 외부 자기장, 그다음 T-I가이드가 보입니다.
이전 게시글에서 말했듯, T-I나 V형태로 가이드를 만들 수 있는데, 이것은 자석으로, 버블들로 하여금 일정한 간격을 유지하게 하고, 한 칸씩 이동할 수 있게 하고, 줄을 맞춰 트랙을 이룰 수 있게 합니다.
외부 자기장이 돌아가면 한 칸씩 버블이 이동합니다.
그러면 이 트랙은 어떻게 구성하면 될까요?
생각해볼 수 있는 하나는 싱글 루프를 가진 버블 메모리입니다.
버블들이 한 루프를 돌아 디텍터로 가고, 디텍터에서 감지한 후 버블을 죽입니다. 그리고, 이 읽은 데이터와 동일한 데이터는 다시 제네레이터로 가서 똑같은 정보를 생성합니다.
자기 버블들은 읽는다고 지워지는 것이 아니기 때문에, 설계에 따라 다시 생성하지 않아도 됩니다. 그러나, 일반적으로는 지우고 다시 생성하는 쪽이 많은 것 같습니다.
그러나 이것은 제조 시 트랙에 하나만 오류가 있어도 그것을 폐기해야 하고 액세스 타임이 너무 길다는 문제가 있습니다. 테이프마냥 선형 액세스밖에 못 하거든요.
그래서 도입된 것이 major loop / minor loop 방식입니다.
싱글 루프에서 용량이 커지면 커질수록 액세스 타임은 길어지지만, 메이저 루프/마이너 루프 방식을 도입하면 액세스 타임을 획기적으로 줄일 수 있습니다.
읽을 때는 마이너 루프에 있는, 읽어야 할 버블들의 한 묶음을 transfer gate에 위치시킵니다. 사진에서는 8개의 마이너 루프가 있습니다. 버블이 있으면 1, 없으면 0이므로, 꼭 버블 8개가 내보내지는 것이 아닐 수도 있습니다. 만약 나가는 버블이 11111111이라면 FF, 10111010이라면 BA의 8비트 데이터를 나타내겠죠.
버블들은 이 게이트를 통과해서 메이저 루프로 옮겨집니다. 만약 데이터가 0이라 버블이 없더라도, 자석 가이드때문에 버블들의 간격은 일정하게 유지됩니다. 메이저 루프에 올라간 버블들은 메이저 루프를 한 바퀴 돌면서 데이터를 나타냅니다. 데이터를 모두 읽었을 경우, 마이너 루프에서 빠져나간 위치와 동일한 위치로 게이트를 통해 다시 들어갑니다.
쓸 때도 똑같이, 메이저 루프에서 생성된 버블이 마이너 루프로 들어가는 방식입니다
그러나 수율에 따라 문제가 있는 마이너 루프가 있을 수 있겠죠. 이럴 경우 마이너 루프에 버블이 꽉꽉 들어가지 않습니다. 따라서 데이터 저장에 문제가 생깁니다. 그래서 제조사는 에러 맵을 버블 메모리에 붙여둡니다.
F는 정상 마이너 루프를 뜻하고, 숫자가 낮아질수록 해당 루프에 저장할 수 있는 버블의 양이 줄어드는 것으로 보입니다. 이 에러 맵은 버블 데이터 기록에 매우 필수적입니다. 오류가 있는 마이너 루프를 피해서 저장하도록 프로그램을 짜줘야 합니다. 이 에러 맵은 보통 외부 롬에 기록하는 것을 권장하며, 데이터가 날아가서 버블 메모리를 정상적으로 컨트롤할수 없는 위험을 감수하고 에러 맵을 버블 메모리 내부에 저장하는 것도 가능합니다.
그런데 이것이 전부일까요?
아닙니다. 이렇게 복잡한 회로가 필요합니다.
이것은 후지쯔의 버블 메모리 칩셋들로 만든 보드입니다.
일반적이라고 해도 이렇게 복잡한 회로가 필요합니다.
먼저 TTL신호로 들어가는 코일의 펄스를 미세한 전압으로 낮춰서 정밀하게 컨트롤하는 코일 드라이버가 필요합니다. 그리고 밀리볼트 수준의 디텍터 전압을 TTL레벨로 키워주는 센스 앰플리파이어가 필요하죠. 타이밍에 맞춰 데이터가 나오기 때문에 클럭을 만들어주는 부품이 있고, 직렬로 오가는 데이터를 병렬 데이터 버스와 연결하여 쓸 수 있게 하고, 이것저것을 제어하는 컨트롤러가 필요합니다. 아주 귀찮은 물건인겁니다.
그럼에도 불구하고 상당한 대용량과 저가격, 데이터 안정성을 확보한 덕에 70년대까지는 촉망받던 기술이었습니다. 그러나 컨슈머 레벨에서 하드디스크가 대중화되고 플로피디스크가 널리 쓰이게 된 80년대 초에는 그냥 별볼일 없는 물건이 되었습니다. 인텔은 80년대 초까지 버블 메모리를 그럭저럭 만들긴 했으나, 그냥 사업을 접어버립니다.
망한 물건이 된 겁니다.