요즘 배드 블럭 , 배드블록 의 말씀들을 많이 하시는데요.


그리고 배드블록이 생기는 이유가 무엇인지도 질문을 하시는 분들이 종종 있으신데요.



시간관계상 자세한 내용은 시간날때 다시 언급하도록 하고, 간단하하고 이해하기 쉽게 정리좀 해보겠습니다.




1. 일반적인 플래시메모리의 성질


(1) 먼저 지우고난 후에 쓰기


- PC나 기존 서버 및 스토리지에서 사용해왔던 HDD는 데이타를 기록할 때 곧바로 기록하지만, 플래시 메모리의 경우는 데이타를 새로 쓰기 위해서는 반드시 해당 데이타를 기록하기 위한 주소와 영역이 지워저 있아야 합니다. 이를 데이타 쓰기 연산이라고 합니다.



(2) 배드 섹터 , 배드 블록


- 이러한 플래시메모리는 제품이 생산되어 출시될때나 이러한 데이타 쓰기 연산을 수행할때 배드섹터가 발생할 수 있습니다.


- 따라서 특정 섹터에 데이타 쓰기 연산이 일정한 횟수를 넘어서게 되면, 해당 섹터의 데이타는 손상될수 있습니다.


- 섹터(Sector)는 읽고, 쓰는 기본연산단위이고, 블록(block)은 삭제를 수행하는 기본연산단위이며, 섹터로 이루어져 있습니다.


- 섹터 > 블럭 > 플래시메모리, 이렇게해서 플래시메모리가 이루어져 있습니다.



-> 종합해보면, 플래시 메모리는 여러개의 블럭으로 구성되어져 있고, 한개의 블록은 여러개의 섹터로 구성되어 있으며, 물리적인 섹터의 주소에 데이타가 기록되어 있고, 그 섹터주소에 세로운 데이타가 기록되기 위해서는 그 물리적인 섹터를 포함한 블록이 사전에 지워져야 합니다.




2. NAND 메모리의 경우



상기 일반적인 플래시메모리의 성질을 말씀드렸는데, NAND메모리의 경우 Block를 이루고 있는 단위들을 page라고합니다.



즉,


page > block > NAND 메모리



이렇게 구성이 됩니다.



(1) page


512Byte ~ 8KByte 크기


NAND 메모리의 읽기, 쓰기의 기본단위


어러개의 page들이 하나의 block을 구성함



(2) block


64KByte ~ 512KByte 크기를 가짐


NAND 메모리는 여러개의 block로 구성됨


NAND 메모리의 데이타를 지울때는 block단위로만 삭제됨




이와 같이 일반적인 플래시 메모리의 성질과 NAND메모리의 구조를 보시면, block단위로 데이타를 삭제하게 되어 있는데,


이때 플래시메모리(NAND플래시메모리)의 기본적인 성질에 의해, 새로운 데이타를 기록하기 위해서는 물리적인 page를 포함한 block이 사전에 지워져야하고 이러한 현상이 일정한 횟수를 넘게되면 자연스럽게 배드블록이 발생할수 있습니다.



위에서 말씀드리렸다시피 배드블록은 NAND메모리가 만들어질 때 발생하기도 하고, 사용하다가도 발생할수 있습니다.


한번 배드블럭이 발생하면 그 블록에 읽기, 쓰기를 할수 없습니다.


따라서 그 블록은 사전에 읽거나, 쓰거나 하지 않도록 CPU에 알려줍니다.



기타 Bac block과 관련된 용어들과 개념들이 조금 더 있지만, 여기까지만 말씀드리겠습니다.


더욱 구체적으로 아시고자 하시는 분은,



OOB ( Out of Band)


ECC ( Error Correction Code)


BBT ( Bad Block Table)


NAND controller


kernel과 boot loader 사이에 BBT생성 규칙 및 구조



등을 인터넷에서 검색하시면 보다 좋은 내용들을 접하실 수 있을겁니다/


아래 위키도 참조하세요.



http://wiki.openmoko.org/wiki/NAND_bad_blocks





댓글 8
  • ?
    항상 좋은 정보 감사드립니다..
  • ?
    dydx™
    11.01.17
    어..어렵다..
    그러니까, 많이 써서 손상된 섹터를 베드섹터라 하는것 같은데.. 으으음;;
  • ?
    오~~~~ 정보 감사합니다 ^^
    더 공부할 수 있는 키단어 들까지 ㄷㄷ

    항상 감사합니다 (__)
    추천~!!!!!!!
  • ?
    아. 미분님 죄송~.
    ㅎㅎ. 적어놓고 보니 어렵게 적어드렸나보네요.
    하지마 이보다 쉽게 설명할려면, 그냥 오래 쓰고 많이 쓰고 하면, 당연히 소모품이므로 배드블록이 발생합니다~라고 짧고 모든분이 아시는 내용으로밖에는 답이 없을것 같네요. ^^;;;;;;;;;;
  • ?
    넙치
    11.01.17
    그러면 플래쉬 메모리는 수명이 있으며..배드블록이 얼마나 빨리생기는가에 따라 수명이 결정될 수 있겠네요.. 맞나요^^?
  • ?
    넙치
    11.01.17
    그리고 IO스케줄러 조정등이 이 부분에 영향을 받아서 수명이 단축될 수 있겠다고 생각이 되는데 이 부분도 맞는지 궁금하네요^^; 감사합니다..꾸벅
  • ?
    요크
    11.01.19
    간단하게 말씀드리면

    베드블록 ( 베드섹터 ) 는 하나만 있어도 시간만 지나면 잡을수 없게 번져 있습니다.
    하드디스크도 생깁니다.
    물리적 베드섹터가 있고 논리적 베드섹터가 있는데요.
    논리적 베드섹터는 소프트웨어로 인한 베섹 이기때문에
    디스크 포맷만 하면 논리적 베드섹터는 없어지지만
    물리적 베드섹터는 하드디스크는 플래터쪽에 손상이 생겼거나 강제종료로
    인한 긇힘으로 인해서 일어나기도 합니다.
  • ?
    dogdog
    13.01.28
    감사합니다.
댓글 쓰기 권한이 없습니다.
정렬 목록 검색 쓰기
등록된 글이 없습니다.
1 - 2