'플래시메모리'에 해당되는 글 6건
5.메모리 프로텍션::플래시메모리의이해 - 2009/05/11 23:30
플래시 메모리의 동작 원리와 그 의의를 알아보도록 합니다.
이번 시간은 플래시 메모리의 안전한 메모리 보호(PROTECTION) 기법들에 대해 살펴 봅니다.
첨부문서:
메모리 프로텍션 그림1의 플래시 메모리 인터페이스는 임베디드 시스템 설계 시 흔히 보는 일반적인 플래시 메모리의 인터페이스를 보이고 있습니다. 이 시간에는 올바른 플래시 메모리의 디지탈 회로 구성법에 대하여 알아보고 의도되지 않은 플래시 메모리의 지워짐 현상 발생에 대한 대책과 그 예방 법을 함께 생각해 보도록 합니다
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
4.FTL(Flash Translation Layer)::플래시메모리의이해 - 2009/04/22 22:14
한 살씩 나이를 먹어감에 따라 취미도 조금씩 변하는 것 같군요. 영화 다운로딩 해서 보는 것을 좋아 했는데 영화는 역쒸 극장에서 봐야 제맛. 집에 프로젝터가 설치되어는 있지만 글쎄 별로 사용 안합니다. 요즈음은 도서관에서 책 빌려 읽기. 이것도 재미가 제법 쏠쏠하더군요. 오늘도 여러분들은 어떤 재미를 가지고 살아 가십니까?
오랜만에 포스팅 합니다. 자 시작해 볼까요?
플래시 메모리의 동작 원리와 그 의의를 알아보도록 합니다.
이번 시간은 플래시 메모리의 FTL 원리에 대해 살펴 봅니다.
Wear-leveling 플래시 메모리에서는 모든 섹터들의 최대 지우기 횟수가 유한한 이유로 FTL이 필요하다고 하였습니다. FTL에서는 wear-leveling 기능이 함께 구현 되어 있습니다.Wear-Leveling이란 플래시 수명을 연장하기 위해 블록 당 쓰기(writing) 횟수를 모니터하고, 한 블록에만 치우치지 않도록 균등하게 분배하는 기술을 말합니다. 특정 블록에만 지나치게 데이터가 write 되는 것을 방지함으로써 플래시 디스크가 깨지지 않도록 합니다.Garbage Collection 플래시 메모리 사용량이 일정량에 다다르면 더 이상 가용한 여유 블럭(free block)이 없을 수가 있습니다. 플래시 메모리 쓰기의 단위는 페이지이지만 지우기는 항상 블럭 단위입니다. 하나의 블럭은 다수의 페이지로 구성되어 있습니다. 또한 블럭 내에는 미 사용 페이지들이 함께 혼재 되어 있을 수 있습니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
3.읽고 쓰기의 원리::플래시메모리의이해 - 2009/03/27 20:33
플래시 메모리의 동작 원리와 그 의의를 알아보도록 합니다.
이번 시간은 플래시 메모리의 읽고, 쓰기 원리에 대해 살펴 봅니다.
먼저 Figure 1 6 과 같은 방법으로 기록을 원하는 위치의 섹터(SECTOR)을 지우고(ERASE)나서 그 다음으로 Figure 1 5 처럼 기록을 하여야 합니다. 플래시 메모리는 기록(PROGRAM)이나 지우기(ERASE) 이외에 여러가지 기본적인 동작(OPERATION)을 가지고 있는데요. Table 1 2은 플래시 메모리의 다양한 커맨드 세트를 보여주고 있습니다
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
2.섹터구조::플래시메모리의이해 - 2009/03/18 10:20
임베디드 시스템에서 동작하는 소프트웨어를 담는 용기로서 사용되는 메모리의 일종인 플래시 메모리(flash Memory)의 동작 원리와 그 의의를 알아보도록 합니다.
이번 시간은 플래시 메모리의 구조에 대해 알아 봅니다.
플래시 메모리는 읽고 쓰는 것이 항시 자유로운 RAM 과 흔히 비교되는데요. 플래시메모리 기록을 위하여는 사전에 기록을 원하는 위치의 섹터를 지운 후에야만 쓰기가 가능 합니다.
대부분의 플래시 메모리들은 전 섹터(total sector)을 한번에 지울 수 있는 CHIP ERASE, 섹터별로 지울 수 있는 SECTOR ERASE 방법 이렇게 두 가지 방법을 지원 하고 있습니다.
단 1개의 섹터를 지우는데 최소한 300ms 이상의 시간이 소요되는 만큼 전체 섹터를 대상으로 하는 CHIP ERASE 보다는 가급적 SECTOR ERASE 방식을 사용하는 것이 시간적으로 더 도움이 될 것입니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
1.플래시 메모리의 특징::플래시메모리의이해 - 2009/03/12 12:10
이 글은 다음과 같은 독자들을 대상으로 쓰여졌습니다.
(1)임베디드 시스템 입문자
(2)플래시 메모리의 전기적인 특성을 확인하고저 하는 하드웨어 엔지니어
(3)플래시 메모리 취급시 요령을 알고 싶어하는 소프트웨어 엔지니어
(4)데이터 북(시트) 보는 법을 알고 싶어하는 자
임베디드 시스템에서 동작하는 소프트웨어를 담는 용기로서 사용되는 메모리의 일종인 플래시 메모리(flash Memory)의 동작 원리와 그 의의를 알아보도록 합니다.
이번 시간은 플래시 메모리의 주요 특징들에 대해 살펴 봅니다.
플래시 메모리의 주요 특징을 하나씩 확인 해 보도록 합니다. 편의상 앞으로 '플래시메모리'라는 용어는 줄여서 간단히 '메모리' 라 호칭 되기도 합니다.플래시메모리 이전 세대인 EPROM, EEPROM 는 프로그래밍을 위한 Vpp 전원(power)이 별도로 필요 하였습니다. Vpp 로는 대략 12V ~ 25V 정도의 전원이 사용 되었습니다. 당시의 디지털 회로 소자 대부분이 디지털전원(Vcc)으로 5V 이었던 것을 생각해 보면 이는 높은 수치의 전압입니다
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 
플래시 메모리가 지워진다구? - 2009/02/09 17:05
그림1의 플래시 메모리 인터페이스 는 임베디드 시스템 설계시 흔히 보는 일반적인 플래시 메모리의 인터페이스를 보이고 있습니다.
이 시간에는 올바른 플래시 메모리의 디지탈 회로 구성법에 대하여 알아보고 의도되지 않은 플래시 메모리의 지워짐 현상 발생에 대한 대책과 그 예방법을 함께 생각해 보도록 합니다.
[그림1] 플래시 메모리 인터페이스
문제의 발단과 그 증상
플래시 메모리 내용의 일부가 깨진다?. 플래시 메모리의 내용이 훼손된 시료들이 시스템의 일부에서 목격되었다. 이에 대하여 긴급 조사를 실시한 결과 회로, 소프트웨어 등. 설계상의 뚜렷한 오류는 없는 것으로 1차 진단 하였다. 이에 공정상의 오류 가능성을 위해 2차 진단 태스크 포스팀 구성을 진행중에 있다. 회로는 필드에서 흔히 사용되는 플래시 회로 인터페이스를 카피(copy)하여 사용하였고, 또한 플래시는 write 모드에서만 기록이 된다는 점 때문에 소프트웨어 문제일 가능성은 더 더욱 아닌것으로 추측 되었다. 중략 . . .
위의 내용은 가상의 시나리오를 하나 구성 해 본 것입니다.
인터넷 모 사이트에 올라온 플래시 지워짐 현상에 대한 문의 글을 보고 문득 생각이 나서 이렇게 한 자 적어 봅니다.
예상되는 원인(인자)들
플래시는 Vpp(12V 혹은 Vcc), WE#, CE#, WP#, 쓰기 모드 커맨드등의 여러가지 구비 요소가 모두 충족이 되어야 기록(writing)이 된다는 특징 때문에 시스템 설계자는 '그림1.플래시 메모리 인터페이스' 처럼의 회로 구성을 갖춘것 만으로 잠시 안심하기 쉽습니다.
하지만, 실상을 들여다 보면 이내 그 헛점들이 드러나게 됩니다.
(1)Vpp 에 대해서
블럭 지우기(BLOCK ERASE) 플래시가 등장한 이후부터는 플래시의 Vcc 전원을 Vpp 전원으로도 사용 할 수 있게 되었습니다. 12V의 별도 전원이 필요 없슴으로 그만큼 편해 진 것은 사실입니다. Vpp 전원이 공급되지 않으면 플래시로의 어떤 쓰기(writing) 시도도 무력 할 수 밖에 없습니다. 뒤집어서 이야기 해 본다면 Vpp 전원은 필요 할때만 공급 하도록 디지탈 회로를 설계 한다면 훌륭한 플래시 protection 대책이 됩니다. 이 이유는 후술 합니다.
(2)WE#, CE#, WP# 에 대해서
이 신호들이 플래시 기록시에 함께 액티브 되지 않으면 플래시에 쓰기가 성공할 수 없다는 점에서는 Vpp 와 그 맥락을 같이 합니다만, 유감스럽게도 이 신호들은 시스템의 POWER-UP, POWER-DOWN 순간에는 잠시나마 예측 할 수 없는 un-stable 한 상태에 놓여 있다는 것이 바로 우리가 생각해 봐야 할 첫번째 인자가 됩니다.
(3)쓰기 모드 커맨드 에 대해서
플래시는 기록을 위하여는 별도의 쓰기 모드 커맨드를 실행하여 해당 모드로 변경 후 쓰기가 가능해 집니다. 이것도 물론 정상적인 사용시에는 전혀 문제가 될 것이 없습니다. 하지만, 시스템의 POWER-UP, POWER-DOWN 에는 이 또한 이야기는 전혀 달라 집니다. 시스템의 전원이 안정화 되어 내부 디지탈 회로들이 steady 한 상태로 넘어갈때 까지 tri-state 신호의 특성을 가진 어드레스 / 데이터 버스 또한 위의 WE#, CE#, WP# 처럼 플래시가 이를 어떻게 받아들일지 알 수 없습니다. 데이터 버스상의 의도 되지 않은 값을 쓰기 모드 커맨드(0x40)로 플래시가 오해 하기란 확률적으로도 그리 어려운 일이 아닙니다.
고작 1바이트 즉, 256 경우의 수밖에는 되지 않기 때문이죠.
자, 그러면 문제는 이렇게 정리가 되겠네요. 위의 인자중 (2), (3)은 믿을 수 없슴.
이제 남은 (1)번은 과연 믿을 만 한 것인가 보도록 합니다. Vpp은 통상 [그림1] 에 보시는 것처럼 많은 플래시 응용 회로들은 Vpp 전원을 'Always' 공급하고 있도록 처리하고 있습니다. 시스템의 POWER-UP 시에 Vpp 전압은 Vcc 가 안정화 상태에 돌입하기 전에 이미 플래시 쓰기가 가능한 전압인 VppL에 도달 할 수가 있습니다.
만약, 이것이 가능해 진다면 어떻게 될까요?. 시스템의 POWER-UP 시에는 (1), (2), (3) 항목의 모든 조건이 만족이 되어 얼마든지 플래시에 잘못된 쓰레기 값들이 채워 질 수 있게 되는 것입니다.
대책과 그 예방
(1)Vpp 전원은 필요시에만 공급한다.
: 가장 중요하며 확실한 대책이 됩니다.
(2)시스템 리셋(RP#) 단자를 POWER-GOOD 리셋으로 처리한다.
: 시스템의 전원이 안정화 된 이후에 시스템 리셋이 풀리도록(해제 되도록) 처리합니다.
[그림2] 시스템 파워 온/오프시 리셋 회로
(3)플래시 전용 쓰기 신호(WE#)을 이용한다(그림3.WE# Gating 참고)
: 마이크로 프로세서의 WR# 신호를 플래시에 직접 입력 시키지 않고 GPIO 을 이용하여 안전하게 처리하여 플래시에 입력되도록 조치합니다.
[그림3] WE# Gating
[그림4] WE# Gating 을 적용한 회로 구성 도면
FAQ
Q. 플래시 지워지는 현상이 발생했는데 어떻게 조치하면 좋을까요?
A. 플래시 지워지는 유형은 크게 시스템의 런타임 동작중 발생 가능성(유형1)과 전원의 켜고 꺼질때 지워지는 가능성(유형2)으로 나누어 볼 수 있으며 이에 대한 대책은 각기 구별되어야 겠습니다. 유형1에 대한 원인을 파악코저 다음과 같은 검사를 우선 해 보시기를 권합니다.
동작중 플래시가 지워졌고 이의 재현이 가능하다면 위에서 이미 언급한 바 있던 플래시의 WE# Gating 조치를 취한후 시스템의 개선 여부를 확인 해 보세요.
만약 이 조치만으로 문제가 해결된 것처럼 보인다면 아마도 현재 작업 중이신 시스템의 플래시 칩셀렉트(인에이블) 조건이 다른 I/O장치와 충돌이 생기고 있지는 않은지 확인해 보십시오. 한편, 계측기를 이용하여 의도되지 않은 플래시의 칩셀렉트 신호가 발생하는 일은 없는지도 조사 하여야 할 것입니다.
다음은 유형2에 대한 조치입니다.
증상으로 보아 현재의 문제가 유형2에 해당 된다고 판단 되신다면 다음의 검사를 실시하는 것을 우선적으로 행 하시길 권합니다.
계측기를 이용하셔서 플래시 메모리의 주요 신호인 Vpp, WE#, CE#, WP#, RP# 을 프로빙(probe) 하신 후 전원의 켜고 꺼짐 동작시 이를 면밀히 주시 하시기 바랍니다. 이를 이용하여 정확한 원인을 찾아 낼 수만 있다면 가장 효과적인 대책이 나올 수 있겠지만 상황이 그렇지 못할 경우에는 단계별 개선책을 시도하여 이의 효과를 확인하는 방법으로 진행 하는것이 좋겠습니다. 아래의 조치를 단계적으로 혹은 동시 처방하여 그 개선 여부를 확인하여 보십시오.
(1)Vpp 전원은 필요시에만 공급한다.
(2)시스템 리셋(RP#) 단자를 POWER-GOOD 리셋으로 처리한다
Q. 바람직한 플래시 메모리 회로 설계 ABC는?
A. Vpp 전원을 필요시에만 인가 할 수 있도록 하는것이 가장 안전하면서도 또한 중요 합니다. 만약 이것이 여의치 않을 경우 시스템 리셋(RP#) 단자를 POWER-GOOD 리셋으로 처리한 후 이의 신뢰도(개선여부)를 꼭 확인 하여 보시길 권합니다. 마지막으로 플래시 메모리는 통상 임베디드 시스템의 내장 소프트웨어가 존재하는 곳이므로 중요하고도 또한 안전하게 처리 해야 함을 항시 잊지 않는 다면 비극적인 사태(catastrophe)는 발생하지 않을 것입니다.
posted by 가일(GUILE)
♡ 포스팅이 유익 하셨다면 E-mail로 가일의 임베디드 스쿨을 구독하세요-> 





flashmemory_write_protection_technique.pdf