도 3 의 방법 은 수신 한 데이터 를 제 1 ECC 에 따라 인코딩 하 여 제 1 코드 워드 ( codeword ) 를 생성 하 는 단계 ( S 310 ) 를 포함 할 수 있 다 . 일 실시 예 에서 , 제 1 코드 워드 는 Bose - Chaudhuri - Hocquenghem ( BCH ) 코드 일 수 있 다 . 한편 , 제 1 코드 워드 의 종류 는 전술 한 예 에 한하 지 않 으며 , 다양 한 종류 의 코드 로 구현 될 수 있 다 . 예 를 들 어 , 도 2 및 도 3 을 참조 하 면 , 제 1 ECC 인코더 ( 222 ) 는 단계 S 310 에서 ECC 인코딩 동작 을 수행 하 여 제 1 코드 워드 를 생성 할 수 있 다 . 도 5 a 에 도시 된 바 와 같이 , 인코딩 동작 은 J + K 비트 코드 워드 ( 즉 , 제 1 코드 워드 ) 를 생성 하 기 위해 J 비트 데이터 에 대해 수행 될 수 있 다 . 여기 서 , J 와 K 는 자연수 를 의미 할 수 있 다 . K 는 일반 적 으로 J 보다 작 은 수 이 지만 , 본 개시 는 이 에 한정 되 지 않 는다 . 일 실시 예 에서 , 제 1 코드 워드 는 데이터 와 ECC 가 체계 적 일 때 패리티 정보 로 지칭 할 수 있 는 리 던 던트 ( redundant ) 정보 를 포함 할 수 있 다 . 제 1 ECC 인코더 ( 222 ) 는 J 비트 데이터 에서 특정 개수 의 비트 에러 들 을 정정 할 수 있 는 제 1 ECC 디코더 ( 224 ) 에 의해 디 코딩 될 수 있 는 J + K 비트 코드 워드 를 생성 하 도록 구성 될 수 있 다 . 일 실시 예 에서 , J 는 실질 적 으로 K 보다 클 수 있 다 . 예 를 들 어 , J 는 1000 일 수 있 고 , K 는 100 일 수 있 으나 , 본 개시 는 이 에 한정 되 지 않 는다 . ECC 인코딩 동작 은 제 1 코드 워드 를 비 체계 적 인 코드 로서 생성 할 수 있 다 . 그러나 , 일 실시 예 에서 , ECC 인코딩 동작 은 제 1 코드 워드 를 체계 적 인 코드 로서 생성 할 수 있 고 , 여기 서 , J 비트 데이터 는 제 1 코드 워드 에 포함 될 수 있 으며 , 제 1 코드 워드 는 추가 적 으로 K 비트 의 패리티 를 포함 할 수 있 다 . 예 를 들 어 , J 비트 데이터 가 제 1 코드 워드 에서 존재 하 면 , K 비트 패리티 는 J 비트 데이터 에 인접 할 수 있 다 .