2010-06-21 2 views
0

어떤 방식 으로든 플래시 드라이브에 저장된 파일 블록의 ECC 코드를 변경할 수 있습니까? HDD에 저장된 파일의 (비록 둘 사이에 차이가있을 것이라고 생각하지 않지만)블록의 ECC 코드를 변경하는 방법

어쩌면 일부 하드웨어 인터럽트 나 이와 비슷한 것을 통해?

또한 솔루션이 필요합니다. C/C++.

+0

누군가가 여전히 불분명 한 경우 플래시 드라이브에서 ECC 코드에 대해 이야기하고 있습니다. 예 : http://www.eurekatech.com/products/memory/NAND_Flash_faq.htm#11 –

답변

1

NAND 플래시 드라이브는 여러 데이터 페이지와 플래시 컨트롤러로 구성됩니다. NAND 플래시의 ECC 코드는 플래시 컨트롤러에서 사용됩니다. 컨트롤러는이를 사용하여 연관된 데이터 페이지에 오류가 있는지 판별합니다. 파일 시스템 (예 : fat32, NTFS 또는 ext3)은 일반적으로 원시 데이터 페이지 구조 위에 구현됩니다. 파일이 하나 이상의 플래시 페이지에 퍼질 수 있습니다. 각 플래시 페이지마다 오류 코드가 있습니다. 즉, 하나의 데이터 페이지보다 큰 파일에는 사용하는 각 페이지에 대한 오류 코드가 있습니다. 하드 디스크 드라이브는 하나 이상의 플래터, 플래터에서 데이터를 읽고 쓰는 헤드 및 디스크 컨트롤러로 구성됩니다. 각 플래터는 섹터로 나뉩니다. 하드 디스크 드라이브에는 플래터의 섹터 무결성을 검사하는 오류 코드가 있습니다. 다시 파일 시스템은 일반적으로 원시 디스크 섹터의 ​​맨 위에 구현됩니다. 파일이 섹터보다 크면 파일과 연관된 여러 섹터가 있으며 각 섹터마다 고유 한 오류 코드가 있습니다. 데이터 페이지 또는 섹터 오류 코드에 액세스하려면 플래시 또는 하드 다이브 컨트롤러와 직접 인터페이스해야합니다. 이렇게하려면 장치 용 장치 드라이버와의 인터페이싱이 필요합니다. 오류 코드에 액세스 할 수 있도록 제공하는 기능을 알아 내려면 장치 드라이버 설명서를 읽어야합니다. 어느 경우 든 파일이 하나의 데이터 페이지 또는 섹터 만 차지하지 않으면 두 개 이상의 오류 코드가 연관됩니다. 일부 파일 시스템은 길이에 관계없이 파일에 대한 오류 코드를 작성하지만 파일 시스템 레벨 오류 코드 액세스는 일반적으로 하드웨어 액세스가 필요하지 않습니다.

관련 문제