안녕하세요. 저는 IT 직종에 근무하는 직장인입니다.
전공과 관련된 R&D는 아니지만 H/W쪽에 종사하다보니 Memory쪽에 공부를 좀 하고 있는데요..
며칠동안 인터넷 여기저기 찾아다니면서 확인한 내용이 있어 어느 정도는 이해하고 있지만
아직 만족할만한 수준이 안 되어 문의를 좀 드릴까 합니다.
이 게시판에 맞는 질문인지 모르겠습니다만...혹시 아니면 의견 주시기 바랍니다.
물론 제가 궁금한 내용만 딱 요청드리면 상도덕에 어긋날것 같아 제가 공부했던 내용을 함께 적어드립니다.
------------------------------------------------------------------------------
메모리는 미국어로 memory
memory는 RAM과 ROM으로 나누어 진다는 아주 기초적인 지식.
RAM - Random Access Memory.
|
ROM - Read Only Memory.
Random Access라는 말은 무엇일까? 실제 메모리 구조는 격자형으로 이루어져있는데 (마치 바둑판처럼)
행과 열의 정보를 이용해서 한 번에 접근이 가능한 구조로 되어있음. 따라서 메모리 내의 어느 지점이든 접근하는데
소요되는 시간이 동일하다는 점에서 Random Access 라는 용어가 붙은것 같음.
그래서 일반적으로 Memory라 함은...RAM을 지칭하기도 함.
이러한 RAM은 DRAM과 SRAM으로 구분 됨.
RAM - DRAM (Dynamic Random Access Memory) : 주로 Computer의 main memory용도로 사용 됨.
| - SRAM (Static Random Access Memory) : 속도가 빠르기 때문에 주로 CPU Cache용도로 사용 됨.
|
ROM
[질문] - DRAM은 휘발성이고, SRAM은 비휘발성이다....라고 알고 있는데..이게 맞나요? SRAM 중에 nvSRAM 만 비휘발성인가요?
[질문] - DRAM은 주기적으로 데이터를 변경해야 하고, SRAM은 전류가 흐르는 한 동일한 데이터를 가지고 있을 수 있다...라고 위키에서 본것 같은데요. 맞나요?
DRAM이 주로 main memory용도로 많이 사용됨. 실제로 일반 데스크탑에 탑재되는 모든 Memory는 DRAM 임.
CPU가 일을 하는 CPU clock과 Memory가 일을 하는 Memory clock이 있는데 기존의 DRAM에서는 CPU와 Memory 간에
clock이 맞지 않아 CPU가 Memory에 접근하기 위해서는 다음 Memory clock까지 대기해야 하는 일이 발생했고, 이는 성능을 100% 발휘할 수 없는 상황이 되기도 함. 그래서 개선된 것이 SDRAM 이라는 제품.
SDRAM (Synchronous Dynamic Random Access Memory)
Synchronous 하다는 것은 동기화가 된다는 것인데 CPU clock과 Memory clock을 동기화해서 CPU가 요청을 하면 대기시간없이 Memory에서 바로 응답을 할 수 있는 구조로 개선되었다고 생각하면 됨.
SDRAM 이전의 DRAM 은 Asynchronous 라고 보면 되겠음.
RAM - DRAM - SDRAM
| - SRAM
|
ROM
memory clock (MHz) 과 I/O bus clock (MHz) 에 대한 내용이 있는데 이에 관한 좀 더 자세한 정보가 있을까요? MHz 값은 각각 어떤 의미를 가지는지 궁금합니다.
기술은 더욱 더 발전해서 DDR 이라는 것이 또 나오게 되는데요...
DDR (Dual Data Rate) 입니다. 즉 데이터 전송률이 두배라는 것이지요.
좀 더 자세히 적자면 DDR SDRAM 입니다. 그렇다면 DDR 전에 나왔던것은 SDR SDRAM 이라고 말할 수 있을것 같네요.
SDR SDRAM (Single Data Rate Synchronous Dynamic Random Access Memory)
위 그림에서 DDR에 대한 이해를 좀 더 쉽게 하실 수 있습니다.
0->1 로 바뀔때에만 전송을 하는 것이 아니라, 1->0 으로 바뀔때에도 전송을 해서 2 배로 전송을 하겠다..라는 것입니다.
[질문] 위 질문에서 memory clock과 I/O bus clock에 대해서 문의를 했는데요, 위키의 데이터를 보아하니...I/O bus clock의 2배 만큼 전송률이 나오는것 같네요. SDR (Single Data Rate)에서는 I/O bus clock과 전송률이 동일한가요?
RAM - DRAM - SDRAM - DDR DRAM
| | - DDR2 DRAM
| | - DDR3 DRAM
| | - DDR4 DRAM
| - SRAM
|
ROM
Read Only라는 무엇일까? ROM의 종류에는
PROM - Programmable Read Only Memory
EPROM - Erasable Programmable Read Only Memory
EEPROM - Electrically Erasable Programmable Read Only Memory
영어로 풀어놓은걸 보면 PROM에다가 뭘 추가해서 EPROM이고, EPROM에다가 뭘 추가해서 EEPROM이 되는 형태.
읽기 전용이라고 Read Only이지만 실제 전기적으로 지울 수도있는것 같음.
RAM - DRAM - SDRAM - DDR DRAM
| | - DDR2 DRAM
| | - DDR3 DRAM
| | - DDR4 DRAM
| - SRAM
|
ROM - PROM
- EPROM
- EEPROM
대략 위와 같이 나누어 지는데...일본의 Toshiba 라는 회사에서 기존의 EEPROM을 대신 할 수 있는 기술을 연구하게 됨.
기존 EEPROM의 단점은 데이터를 삭제함에 있어 어려움이 있음. (데이터를 지우기 위해서 적외선에 노출시켜야 한다고 함.)
그래서 E2PROM 라는 것을 발표하는데 높은 비용으로 인해 외면을 받게 되고, 1980년대 Toshiba에서 새로운 기술을 발표하게 됨.
그것도 바로 NOR flash와 NAND flash 임.
[질문] EEPROM에서 기술개발을 통해 NAND와 NOR가 나오는데요...NAND flash, NOR flash 등 모두 flash라고 불리우고 있습니다.
EEPROM에 대해서는 flash 라는 용어를 쓰지는 않는데요...그렇다면 flash는 EEPROM 을 기반으로 개발되긴 했지만 EEPROM과는
계통을 달리하는 새로운 제품인가요? 나름 분류도라고 그린 표에서는 flash를 EEPROM 다음에 오도록 작성을 했는데 맞는지 모르겠네요.
RAM - DRAM - SDRAM - DDR DRAM
| | - DDR2 DRAM
| | - DDR3 DRAM
| | - DDR4 DRAM
| - SRAM
|
ROM - PROM
- EPROM
- EEPROM - NAND flash
- NOR flash
NAND는 주로 USB memory, SD card, SSD 등에 사용되고,
NOR는 주로 MMC card, Compact flash card 등에 사용된다고 합니다.
Compact Flash Card는 DSLR 에서 한 번 써보긴 했습니다만, MMC card는 써보질 못 했네요.
USB memory는 대부분 잘 아시는 USB 메모리고요, SSD 도 잘 아시는 Solid State Disk 입니다.
여기에서 또 나눠지고 이야기가 나오는 것이 SLC, MLC, TLC 등의 용어입니다.
결론부터 이야기 하자면 NAND flash의 종류가 SLC, MLC, TLC 등으로 나오어지는 것이죠.
RAM - DRAM - SDRAM - DDR DRAM
| | - DDR2 DRAM
| | - DDR3 DRAM
| | - DDR4 DRAM
| - SRAM
|
ROM - PROM
- EPROM
- EEPROM - NAND flash - SLC
| - MLC
| - TLC
- NOR flash
다른 분들께서도 많이들 언급하셨지만
SLC - Single Level Cell
MLC - Multi Level Cell
TLC - Triple Level Cell
정도로 보시면 되고 자세한 내용은 언급하지는 않겠습니다.
실제로 다나와 라는 홈페이지에서 SD Card 또는 SSD를 검색해 보시면 MLC 를 사용했니, TLC 를 사용했니..이런 말들을 보실 수가 있는 겁니다.
최근 (사실 최근이라고 하기도 좀 그렇지만..) 새로운 기술이 또 나오는데요...
V-NAND 라는 것입니다. (여기에 대해서는 또 공부를 하고 있는 중이라 적을게 별로 없네요.)
기존 Horizontal 한 환경에서 Vertical한 환경으로 설계를 변경해서 용량이나 속도가 더 빠르다고 하는 기술입니다.
------------------------------------------------------------------------------
그리고 DIMM 이라는 용어가 나오기도 하는데요...
DIMM 이란 Dual In-line Memory Module 을 의미합니다.
그렇다면 SIMM 이라는 것도 있을텐데요, Single In-line Memory Module 을 의미합니다.
[질문] - 실제 SIMM을 본 경험은 없는데요...SIMM의 경우 메모리 양면이 아닌 한 면만 chip이 붙어있나요? 아니면 단지 분리된 입/출력을 할 수 없다는 것인가요?
[질문] - DIMM 이라는 말에서도 알 수 있듯이 Module이라는 용어가 들어가 있습니다. 실제 메모리 제조 과정에서 본다면 DIMM 이라 함은
chip (검은색 칩) 이 올라가는 넓은 기판이라고 보면 될까요?
-------------------------------------------------------------------------------
[질문] - rank 와 bank 라는 용어도 나옵니다. 혹시 이에 대한 기술적인 이해를 도울 수 있을 설명이나 자료가 있을까요?
우선 제가 작성한 글은 여기까지 입니다. 적고 나니 뭔가 더 정리가 안 되는것 같기도 하네요.
궁금한 사항들은 의견 주시고, 혹시 제 질문에 답변 가능하신 능력자 분들께서는 답변 좀 부탁드리겠습니다.
아니면 관련된 자료 링크라도 주시면 읽어보도록 하겠습니다.
읽어주셔서 너무 감사드립니다.