bad eraseblock nand flash에서의 문제좀 도와주세요

jungmoo84의 이미지

안녕하세요 선배님들 ^^
일단 새해 복 많이 받으세요~ 로또 당첨되시기를 바라면서

다름이 아니라 조금 어려운 문제에 직면해서 도움을 구하고 싶습니다.
일단 제 보드를 사양은

MCU : HMS30C7210
U-boot : u-boot 1.1.2.1
Kernel : linux 2.4.21
Nand Flash : K9F1208X0C

위와 같습니다. 일단 보드는 정상 적으로 작동을 하던 상황이었는데 갑자기 문제가 터져서 보았더니
다음과 같이 bad eraseblock으로 인하여 부팅이 안됩니다.

2.NAND device: Manufacturer ID: 0xad, Chip ID: 0x75 (Unknown NAND 32MiB 3,3V 8-bit)
create_bbt:Scanning device for bad blocks

Bad eraseblock 1416 at 0x0162 0000
Bad eraseblock 1417 at 0x01624000
Bad eraseblock 1418 at 0x01628000
Bad eraseblock 1419 at 0x0162c000
~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~
Bad eraseblock 2043 at 0x01fec000
Bad eraseblock 2044 at 0x01ff0000
Bad eraseblock 2045 at 0x01ff4000
Bad eraseblock 2046 at 0x01ff8000
Bad eraseblock 2047 at 0x01ff c000
Creating 6 MTD partitions on "NAND 32MiB 3,3V 8-bit":
0x00008000-0x0003c000 : "partition 0 - u-boot"
0x00048000-0x000ac000 : "partition 1 - kernel"
0x00200000-0x00700000 : "partition 2 - rootfs"
0x00700000-0x00c00000 : "partition 3 - /usr/modules/2.4.21/"
0x00c00000-0x01600000 : "partition 4 - /usr/lib/"
0x01600000-0x02000000 : "partition 5 - JM"

위의 bad block 체크는 커널에서 체크 할 때 생겼으며 bad block을 위에는 많이 줄여 놓았지만
사실 600개가 넘는 bad block 이 발생이 되었습니다. 여기 저기 찾아 보았는데 Nand flash는
기본적으로 bad block을 가지고 있으며 보통 많이 생겨바야 7~8개도 많이 생긴다 던데
저한테는 600개가 넘는 block들이 발생 되었습니다.
그리고 bad block들의 영역은 partition 5에 영역에서 발생되었습니다.
이외에 한두개가 같은 문제가 생겨서 확인을 해보았더니 역시 600개가 넘는 bad block들이
동일한 영역에서 발생이 되었드라고요..
먼가 잘못 된 냄새는 나는데.. 어디서 어떻게 짚으면서 원인을 찾아내얄지 너무 답답합니다.
참, 그리고 혹시나 해서 u-boot 커맨드 모드에서

nand erase 700000 1900000

위 영역을 삭제 해보았습니다... 그랬더니;;;
u-boot 영역이 지워 졌는지;; 그다음 부터는 보드가 전원은 들어오나 부팅이 안되더라구요;;
그래서 결론적으로 정리 하자면

1. bad eraseblock의 갯수가 비이상적으로 많다.

2. bad block의 영역은 partiton 5인 Application 영역이다.

3. bad block영역을 erase 할 경우 다시는 부팅이 되지않는다.

조언좀 부탁드립니다. 비슷한 증상이나 원인을 아시면 공유 좀 부탁드립니다..

freemckang의 이미지

언제적 NAND인지는 잘 모르겠으나... block size가 0x2000이면... 너무 작은데요?? Block size가 8KB밖에 안되는 NAND device는 처음 보는 것 같습니다...

흔한 SLC NAND라면 보통 0x20000 (128KB) block size에 4096 bytes page size로 가지 않나 싶습니다만..

--- 수정합니다. 0x4000이네요. 16KB... -.-;;

句日新, 日新 日新 又日新.

pajaebeo의 이미지

해당영역의 ECC Area가 깨진거 아닐까요??
원인은 전기적 충격이라든가... 아니면 악성코드(버그)라든가.. 수많은 원인이 있을 듯 합니다......

jungmoo84의 이미지

사용중에 배드 블럭 발생시 Yaffs에서 제대로 구현이 되지않아서 발생한 문제 였습니다. 자세한 내용은 ~~
jjangmoo84@hanmail.net~~

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.