MRAM에 대한 보고2013. 06.17 정보통신공학부 2011213730 윤성환MRAM 개요 MRAM 의 원리 MRAM 의 이용분야 MRAM 기술 현황 및 시장 종합의견 (유첨1) STT-MRAM목차 필요성Ⅰ. MRAM 개요정보제품들의 초소형화, 고속화, 지능화로인한 Gb급 초고집적, ns급 초고속 비휘발성 메모리의 필요성 대두 범용 메모리인 DRAM의 집적도 한계에 따른 차세대 메모리필요성 강조문제점은 자계를 이용하여 하나의 셀을 동작하기 때문에 집적도가 증가할수록 셀간의 간섭이 심해진다 - 문제해결은 가능하나 공정이 복잡해져서 양산성에 장애가 있다 - TMR Junction에 사용되는 터널링 산화막의 두께를 웨이퍼 전체에서 0.1nm이하의 균일성을 확보함 향후 개선사항소형화 - 대용량화, 고속엑세스라는 조건은 만족하지만 보다 큰 용량화를 위해 Sense Amplifier의 소형화 필요 - TMR소자의 신호증대와 써넣을때의 전류저감이 더욱 필요 문제점 특징정보접속 시간 DRAM보다 10배 빠른 30ns 사용전력은 DRAM 1/100수준 저전력, 비휘발성(전원상실시에도 기록유지), 반영구적 수명(20년정도) 리부팅 및 데이터저장 안정성면에서 기존 메모리보다 탁월한 특징을 가진다Ⅱ. MRAM 원리MRAM(Magnetic RAM): 플로피디스크나 하드디스크와 같이 자기에 의해 데이터를 기억하는 메모리로써 스핀의존 전기 전도에 의해 생기는 강자성 터널 자기저항효과(Tunnel Magneto Resistance) 소자를 이용한것 원리상하 2개의 강자성층의 곁에 2개의 전선을 배합하고, 상부의 전선에는 안쪽에서 앞으로, 하부의 전선에는 앞에서 안쪽으로 전류를 흘려 보냈을 경우, 양쪽의 강자성층과 함께 그림의 오른쪽의 방향에서 자계가 발생한다(암페어의 오른나사의 법칙). 한편, 그림(b)와 같이 2개의 전선을 동시에 앞에서 안쪽으로 전류를 흘려 보냈을 경우에는 상부의 강자성층에는 좌향, 하부의 강자성층에는 우향의 자계가 발생한다. TMR 소자는 이 자성체층의 자계의 방향에 의해 전기 저항이 변화되는 것이 특징으로 그림(c)와 같은 1개의 저항으로 생각할 수 있다. 그림(a)와 같이 2개의 강자성층의 자계가 같은 방향의 경우는 저항치가 작고, 그림 (b)와 같이 강자성층의 자계가 반대 방향의 경우는 저항치가 커진다. MRAM은 이 저항치의 변화를 기억 소자로써 이용한 것으로, 예를 들면 저항치가 클 경우는 “1”, 작을 경우는 “0”이라고 한 것 같이 논리 정의한다.(c) 강자성 저항 이용분야Ⅲ. MRAM 이용분야미사일, 우주선과 같은 군수용 제품 사용가능 - Flash와 같은 비휘발성의 특성과 DRAM급의 고속동작가능 - 방사능 내성이 강함 - 200도 정도의 고온에서 동작 가능 휴대전화기, PDA같은 휴대단말기 - 가격과 공간면에서 Flash와 DRAM을 대체가능함 컴퓨터, 네트워크 분야에서 I/O지연을 해결하기 위해 기존 EEPROM이나 SRAM을 극복할 대안기술로 부각 기대분야휴대 단말기에 적용되는 임베디드(Embedded) 시스템들의 아키텍처가 근본적으로 바뀔 수 있다. 임베디드 MCU(Microcontroller Unit)에서 각각 데이터 저장과 프로그램 메모리용으로 사용되는 RAM과 플래시 메모리를 통합 대체할 수 있는 잠재력을 갖고 있다. MRAM의 경우, 정보처리 분야 외에도 많은 틈새시장(Niche Market)에 활용될 가능성이 높다. 더욱이 차량충돌 기록 장치를 위해 사고발생시, 보다 많은 데이터를 수집, 저장하여 사고나 고장의 원인을 알아내는 데 활용할 수 있다. 기술현황Ⅳ. MRAM 기술 현황 및 시장최초개발 - 2000년 IBM사에서 1Kb 테스트 어레이 발표 이후 2004년 4Mb가 시제품이 발표되고 2006년에 상용화에 성공한다. 최근 일본의 AIST는 Gb급 MRAM이 실현가능한 단결정 TMR 소자를 개발하였다고 한다. 시장현황 종합의견MRAM에 대한 보완점 및 종합의견● 보완필요 지금까지 MRAM은 저장용량이 적다는게 문제였다. 상용화된 제품의 용량은 4Mbit 수준으로 DRAM과 낸드플래시 등과 시장에서 경쟁하기에는 너무 적은 용량이다 배선에 전류를 흘려서 자기장을 발생시켜 데이터를 읽거나 실행하는 방식이기 때문에 메모리 셀 면적의 증가가 불가피해지며, 대용량화에 걸림돌 데이터를 쓰는 데 필요한 전류가 큰 것도, 고밀도화에 적용하기 어려움● 종합의견 - 범용으로 사용되는 DRAM의 집적도에 한계를 느끼고 있고 급속도로 둔화되는 메모리 기술향상의 추세를 볼때 분명 차세대 메모리에 대한 수요는 필요성을 가진다. MRAM이 아직은 상용화가 활발히 이루어지는 기술적 단계에 접어들지는 못하였지만 구성품의 소형화 및 집적도 향상을 통해 대용량화가 진행되고 있고 사용되어지는 분야가 늘어남에 따라 공급의 수준이 높아질것으로 보여 사용자의 눈높이에 맞아질 날이 그리 멀지 않다는 것을 알 수가 있다. 하지만 기술적 단점을 보완하여야 하는 부분은 분명이 있으므로 MRAM의 형태에서 새로운 기술적 접목을 통해 한단계 올라가야 함은 분명하다. DRAM시장에서 높은 점유율을 가져왔듯이 차세대 메모리 시장에서도 우위를 선점할 수 있기를 기대해본다.Ⅴ. 종합 의견STT 방식은 외부 자기장에 의해 자기터널접합의 자화방향을 바꾸는 방식이 아니라 직접 전류를 주입하여 스위칭하는 방식이므로 소자크기가 작아질수록 요구되는 전류밀도가 적어져 (전력소모 감소) 고집적화에 유리하다는 특징 STT-MRAM(유첨1) STT-MRAM{nameOfApplication=Show}
Stop Watch 설계 최종보고2013. 12.09 정보통신공학부 10조 2011213730 윤성환 2005211757 황대희 2011213731 홍진호Project 설명 Stop Watch Logic DEO 설정 Stop Watch 소스분석내용 프로젝트 목표Ⅰ. 10조는…일상 생활에서 흔히 쓰이는 Stop_Watch의 기본기능을 Altera 및 DEO 보드로 구현하고자 한다 팀원 역할분담① 윤성환 – 소스구현 및 분석, 보드동작 ② 홍진호 – 소스구현 및 분석 ③ 황대희 – 보드 동작 test 및 보고서 작성 프로젝트 발전방향( Result )비동기식 Stop_Watch비동기식소스 보드구현추가동기식Ⅱ. Stop_Watch Logic systemEntityClkStart_stopdec10dec6processprocessprocessCount 10Count 6claer입력출력핀이름핀번호입력장치핀이름핀번호출력장치ClkG21(CLK 50Mhz)Board Clkdec10PIN_ E11 _F11 _H12 _H13 _G12 _F12 _F13 _D137-segmentResetPIN-H2Button[0]Start_stopPIN-J6SW[0]dec6PIN_A13 _B13 _C13 _A14 _B14 _E14 _A15 _B15Ⅱ. DEO 설정 Stop WatchⅢ. Stop Watch 소스분석library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; --STD_LOGIC_VECTOR에 대한 comparision 기능 entity stop_watch is port( clk, clear, start_stop : in std_logic; dec10, dec6 : out std_logic_vector(7 downto 0)); end stop_watch; architecture sample of stop_watch is function dis_seg(cnt : integer range 0 to 15) return std_logic_vector is variable seg_decode : std_logic_vector(7 downto 0);엔티티 선언 Stop_watchbegin case cnt is when 0 = seg_decode := 11000000 ; when 1 = seg_decode := 11111001 ; when 2 = seg_decode := 10100100 ; when 3 = seg_decode := 10110000 ; when 4 = seg_decode := 10011001 ; when 5 = seg_decode := 10010010 ; when 6 = seg_decode := 10000010 ; when 7 = seg_decode := 11111000 ; when 8 = seg_decode := 10000000 ; when 9 = seg_decode := 10011000 ; when others = seg_decode := 01111111 ; end case;Ⅲ. Stop Watch 소스분석7- Segment 설정Ⅲ. Stop Watch 소스분석return (seg_decode); end dis_seg; signal count10, count6 : integer range 0 to 9; signal clk_en : std_logic; begin process(start_stop) begin if (start_stop'event and start_stop = '1') then -- clk_en = not(clk_en); 사용하지 않아도 같은 결과 도출 end if; end process; process(clk,clear) begin -- 10진 카운터 if clear = '1' then count10 = 0;process(clk, clear) begin if (clk'event and clk = '1') then if start_stop = '1' then if seg = 50000000 then seg = 0; else seg = seg + 1; end if; end if; end if; end process;동기식의 경우 오른쪽과 같이 50Mhz의 카운터를 설정해줘야 7-Segment에 카운터 상승이 표시가 된다elsif (clk'event and clk = '1') then if start_stop = '1' then if count10 = 9 then --When count to '9' count10 = 0; --did '1' for the clk -- clk_en = '0'; 사용하지 않아도 같은 결과 도출 else count10 = count10 + 1; end if; end if; end if; end process; dec10 = dis_seg(count10); --10진카운터를 7-segment로 변환 -- 6진 카운터 process(clk,clear) begin if clear = '1' thenⅢ. Stop Watch 소스분석현행 소스의 경우, 50Mhz가 1초로 설정되어 있고 카운터 상승에 대한 표시부분의 설정이 없는 관계로 비 동기식처럼 동작되어 져 있다.Pointif(seg = 50000000)then동기식일 경우 추가Ⅲ. Stop Watch 소스분석count6 = 0; elsif (clk'event and clk = '1') then if start_stop = '1' then if (count10 = 9) then if count6 = 5 then count6 = 0; else count6 = count6 + 1; end if; end if; end if; end if; end process; dec6 = dis_seg(count6); -- 6진카운터를 7-segment로 변환 end sample;if(seg = 50000000)then동기식일 경우 추가{nameOfApplication=Show}