상기와 같은 과제를 해결하기 위한 본 발명의 하나의 특징은, 광 기록 정보 저장 매체의 소정 부분에 발생한 결함 블록을 대체하기 위한 대체 블록을 위한 스페어 영역이 디스크 사용중 확장되거나 새로 할당된 경우에 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록들의 상태 정보가 변경되어 기록되는 광 기록 정보 저장 매체, 결함 관리 장치, 결함 관리 방법을 제공하는 것이다.
바람직하게는, 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 결함 상태 정보가 대체 블록을 가지는 결함 블록임을 나타내는 경우, 상기 대체 블록 및 상기 결함 블록이 사용할 수 없는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리가 기록된다. 이와 같은 경우에, 상기 결함 블록은 사용할 수 없는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리로 기록하고, 상기 대체 블록은 사용할 수 있는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리로 기록할 수도 있다.
또한, 바람직하게는, 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 상태 정보가 대체 블록을 가지지 않는 결함 블록임을 나타내는 경우, 상기 결함 블록이 사용할 수 없는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리가 기록된다.
또한, 바람직하게는, 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블 록의 상태 정보가 결함일 가능성이 있는 결함 블록을 나타내는 경우, 상기 블록을 검정한 결과에 따라 결함인 경우에는 상기 블록이 사용할 수 없는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리가 기록되고, 결함이 아닌 경우에는 상기 블록이 사용할 수 있는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리가 기록된다.
또한, 바람직하게는, 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 상태 정보가 결함일 가능성이 있는 결함 블록을 나타내는 경우, 드라이브 제조자나 사용자의 선택에 따라 상기 블록이 사용할 수 없는 대체 블록임을 나타내는 상태 정보 또는 상기 블록이 사용할 수 있는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리가 기록된다.
또한, 바람직하게는, 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 상태 정보가 기록되어 있지 않은 경우, 상기 블록이 사용할 수 있는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리가 기록된다.
여기서, 상기 상태 정보는 상기 저장 매체의 소정 영역에 기록되는 결함 리스트에 포함되며, 상기 결함 리스트는 결함에 관한 전체적인 정보를 담고 있는 결함 리스트 헤더와 결함에 관한 세부적인 정보를 담고 있는 결함 리스트 엔트리를 포함한다. 상기 결함 리스트 헤더는, 대체 블록을 가지는 결함 블록의 수에 관한 정보와, 대체 블록없는 결함 블록의 수에 관한 정보와, 사용가능한 스페어 블록들의 수에 관한 정보와, 사용할 수 없는 스페어 블록들의 수에 관한 정보와, 결함 가능성 있는 블록들의 수에 관한 정보를 포함하며, 상기 결함 리스트 엔트리는, 결함 상태나 사용가능 여부 상태를 나타내는 상태 정보와, 결함 블록의 물리 주소 정보와, 대체 블록의 물리 주소 정보를 포함한다. 또한, 상기 상태 정보는, 대체 블록이 있는 결함 블록의 상태, 대체 블록이 없는 결함 블록의 상태, 사용 가능한 스페어 영역의 블록 상태, 사용할 수 없는 스페어 영역의 블록 상태, 결함일 가능성이 있는 블록 상태를 포함한다.
본 발명의 다른 특징은, 1회 기록 정보 저장 매체에 있어서, 상기 매체의 소정 부분에 발생한 결함 블록을 대체하기 위한 대체 블록을 위한 스페어 영역이 디스크 사용중 확장되거나 새로 할당된 경우에 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록들의 상태 정보가 변경되어 기록되는 것이다.
바람직하게는, 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록이 이미 사용되어진 경우, 상기 블록이 사용할 수 없는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리가 기록된다.
또한, 바람직하게는, 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록이 아직 사용되어지지 않았고, 또한 상기 블록의 상태 정보가 기록되어 있지 않은 경우, 상기 블록이 사용할 수 있는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리가 기록된다.
본 발명의 또다른 특징은, 광 기록 정보 저장 매체에 데이터의 기록/재생을 위한 결함 관리 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체에 있어서, 상기 결함 관리 방법은, 상기 광 기록 정보 저장 매체의 소정 부분에 발생한 결함 블록을 대체하기 위한 대체 블록을 위한 스페어 영역이 디스크 사용중 확 장되거나 새로 할당된 경우에 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록들의 상태 정보를 변경하여 상기 광 기록 정보 저장 매체에 기록하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 광 기록 정보 저장 매체에 있어서, 상기 광 기록 정보 저장 매체의 소정 부분에 발생한 결함 블록을 대체하기 위한 대체 블록을 위한 스페어 영역이 디스크 사용중 확장되거나 새로 할당된 경우에 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록들이 대체를 위해 사용할 수 있는 또는 사용할 수 없는 대체블록임을 나타내는 결함 리스트 엔트리로 바뀌어 등록되는 것이다.
상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 상태 정보가 대체 블록을 가지는 결함 블록임을 나타내는 경우, 상기 대체 블록 및 상기 결함 블록에 대해 사용할 수 있는 또는 사용할 수 없는 대체 블록임을 나타내는 결함 리스트 엔트리로 바뀌어 등록되는 것이 바람직하다.
상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 상태 정보가 대체 블록을 가지지 않는 결함 블록임을 나타내는 경우, 상기 대체 블록에 대해 사용할 수 있는 또는 사용할 수 없는 대체 블록임을 나타내는 결함 리스트 엔트리로 바뀌어 등록되는 것이 바람직하다.
상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 상태 정보가 결함일 가능성이 있는 결함 블록을 나타내는 경우, 상기 블록에 대해 사용할 수 있는 또는 사용할 수 없는 대체 블록임을 나타내는 결함 리스트 엔트리로 바뀌어 등록되 는 것이 바람직하다.
본 발명의 또 다른 특징은, 광 기록 정보 저장 매체에 데이터 기록/재생을 위한 결함 관리 장치에 있어서, 상기 광 기록 정보 저장 매체의 소정 부분에 발생한 결함 블록을 대체하기 위한 대체 블록을 위한 스페어 영역이 디스크 사용중 확장되거나 새로 할당된 경우에 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록들이 대체를 위해 사용할 수 있는 또는 사용할 수 없는 대체블록임을 나타내는 결함 리스트 엔트리로 바꾸어 기록하도록 제어하는 제어부를 포함하는 것이다.
본 발명의 또 다른 특징은, 광 기록 정보 저장 매체에 데이터 기록/재생을 위한 결함 관리 방법에 있어서, 상기 광 기록 정보 저장 매체의 소정 부분에 발생한 결함 블록을 대체하기 위한 대체 블록을 위한 스페어 영역이 디스크 사용중 확장되거나 새로 할당된 경우에 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록들이 대체를 위해 사용할 수 있는 또는 사용할 수 없는 대체블록임을 나타내는 결함 리스트 엔트리로 바꾸어 기록하는 단계를 포함하는 것이다.
이제, 첨부된 도면들을 참조하여 본 발명을 상세히 설명한다.
도 1은 본 발명에 따른 기록/재생 장치의 구성의 개략적인 블록도이다.
도 1을 참조하면, 상기 기록/재생 장치는 기록/독출부(2)와, 제어부(1)를 포함한다.
기록/독출부(2)는 픽업 등을 구비하여 본 발명에 따른 광 기록 정보저장매체인 디스크(4)에 데이터를 기록하고, 기록된 데이터를 독출한다.
제어부(1)는 소정의 파일 시스템에 따라 디스크(4)에 데이터를 기록하고 독 출하도록 제어한다. 특히, 본 발명에 따라 상기 제어부(1)는 디스크의 초기화시에 할당된 스페어 영역 즉, 디스크의 소정 부분에 발생된 결함을 대체하는 대체 블록을 기록하기 위한 공간이 부족한 경우에 새로운 영역에 스페어 영역을 할당하거나 또는 현재 사용되는 스페어 영역을 확장하도록 제어하고, 새로 할당되거나 확장된 스페어 영역에 있는 블록들의 결함 상태를 관리한다.
제어부(1)는 시스템 제어기(10)와, I/F(20)와, DSP(30)와, RF AMP(40)와, 서보(50)를 구비한다.
기록시, 호스트 I/F(20)는 호스트(3)로부터 소정의 기록 명령을 수신하여 이를 시스템 제어기(10)로 전송한다. 시스템 제어기(10)는 이러한 호스트 I/F(20)로부터 수신된 기록 명령을 수행하기 위해 DSP(30)와 서보(50)를 제어한다. DSP(30)는 호스트 I/F(20)로부터 받은 기록할 데이터를 에러 정정을 위해 패리티 등 부가 데이터를 첨가하고 ECC 인코딩을 수행하여, 에러 정정 블록인 ECC 블록을 생성한 다음 이를 미리 정해진 방식으로 변조한다. RF AMP(40)는 DSP(30)로부터 출력된 데이터를 RF 신호로 바꾼다. 픽업을 구비한 기록/독출부(2)는 RF AMP(40)로부터 전송된 RF 신호를 디스크(4)에 기록한다. 서보(50)는 시스템 제어기(10)로부터 서보 제어에 필요한 명령을 입력받아 기록/독출부(2)의 픽업을 서보 제어한다.
특히, 본 발명에 따라 시스템 제어기(10)는 확장되거나 새로 할당된 스페어 영역의 블록들이 결함 상태를 관리하기 위해 결함관리부(11)를 포함한다.
결함관리부(11)는 확장되거나 새로 할당된 스페어 영역내에 있는 블록들의 결함 상태 정보를 변경하여 기록하도록 제어한다.
결함관리부(11)는 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록을 검사하여 그 블록의 결함 상태 정보가 대체 블록을 가지는 결함 블록임을 나타내는 경우, 상기 결함 블록 및 상기 대체 블록을 사용할 수 있는 대체블록 또는 사용할 수 없는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리로 기록하도록 제어한다.
예를 들어, 결함관리부(11)는 그 대체 블록 및 결함 블록에 대해서 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 기록하도록 제어한다. 다시 말하면, 그 대체 블록 및 결함 블록에 대해서 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 만들고, 이 결함 리스트 엔트리를 디스크의 소정 영역 즉 결함 관리 영역에 기록하도록 제어한다. 또한, 이와 같은 경우에 상기 결함관리부(11)는 상기 결함 블록은 사용할 수 없는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리로 기록하고, 상기 대체 블록은 사용할 수 있는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리로 기록하도록 제어할 수 있다.
또한 결함관리부(11)는 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록을 검사하여 그 블록의 결함 상태 정보가 대체 블록을 가지지 않는 결함 블록임을 나타내는 경우, 상기 결함 블록을 사용할 수 있는 대체블록 또는 사용할 수 없는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리로 기록하도록 제어한다.
예를 들어, 결함관리부(11)는 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 결함 상태 정보가 대체 블록을 가지지 않는 결함 블록임을 나타내는 경우, 상기 대체 블록이 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 기록하도록 제어한다.
또한, 결함관리부(11)는 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록을 검사하여 그 블록의 결함 상태 정보가 결함일 가능성이 있는 결함 블록을 나타내는 경우, 상기 블록을 사용할 수 있는 대체블록 또는 사용할 수 없는 대체 블록임을 나타내는 상태 정보를 포함하는 결함 리스트 엔트리로 기록하도록 제어한다.
예를 들어, 결함관리부(11)는 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 결함 상태 정보가 결함일 가능성이 있는 결함 블록을 나타내는 경우, 상기 블록에 대해 결함이 있는지를 검정하고, 그 검정 결과에 따라 결함인 경우에는 상기 블록이 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 기록하도록 제어하고, 결함이 아닌 경우에는 상기 블록이 사용할 수 있는 대체 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 기록하도록 제어한다.
또한, 결함관리부(11)는 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 결함 상태 정보가 결함일 가능성이 있는 결함 블록을 나타내는 경우, 드라이브 제조자나 사용자의 선택에 따라 상기 블록이 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보 또는 상기 블록이 사용할 수 있는 대체 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 기록하도록 제어할 수 있다.
또한, 결함관리부(11)는 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록의 결함 상태 정보가 기록되어 있지 않은 경우, 상기 블록이 사용할 수 있는 대체 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 기록하도록 제어한다.
또한, 결함관리부(11)는 특히, 디스크가 1회 기록 디스크인 경우에, 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록이 이미 사용되어진 경우, 상기 블록이 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 1회 기록 디스크에 기록하도록 제어한다. 1회 기록 디스크인 경우에는 기록된 블록의 결함 유무에 상관없이 한번 기록되면 다시 사용할 수 없기 때문이다.
또한, 결함관리부(11)는 디스크가 1회 기록 디스크인 경우에, 상기 확장되거나 새로 할당된 스페어 영역내에 있는 블록이 아직 사용되어지지 않았고, 상기 블록의 결함 상태 정보가 기록되어 있지 않은 경우, 상기 블록이 사용할 수 있는 대체 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 기록하도록 제어한다. 1회 기록 디스크인 경우에 데이터가 기록되지는 않았지만 소정의 정책에 따라 결함 상태 정보를 포함하는 결함리스트엔트리가 있을 수 있기 때문에, 이와 같이 아직 사용되지 않고 결함 리스트 엔트리도 없는 경우에 사용가능한 대체블록임을 표시할 수 있다.
재생시, 호스트 I/F(20)는 호스트(3)로부터 재생 명령을 받는다. 시스템 제어기(10)는 재생에 필요한 초기화를 수행한다. 기록/독출부(2)는 디스크(4)에 레 이저 빔을 조사하고 디스크(4)로부터 반사된 레이저 빔을 수광하여 얻어진 광 신호를 출력한다. RF AMP(40)는 기록/독출부(2)로부터 출력된 광 신호를 RF 신호로 바꾸고 RF 신호로부터 얻어진 변조된 데이터를 DSP(30)로 제공하는 한편, RF 신호로부터 얻어진 제어를 위한 서보 신호를 서보(50)로 제공한다. DSP(30)는 변조된 데이터를 복조하고 ECC 에러 정정을 거쳐 얻어진 데이터를 출력한다. 한편, 서보(50)는 RF AMP(40)로부터 받은 서보 신호와 시스템 제어기(10)로부터 받은 서보 제어에 필요한 명령을 받아 픽업에 대한 서보 제어를 수행한다. 호스트 I/F(20)는 DSP(30)로부터 받은 데이터를 호스트로 보낸다.
이제부터, 본 발명에 따른 광 기록 정보저장 매체의 구조를 설명한다.
도 2는 본 발명에 따른 단일 기록층 디스크의 구조의 일 예를 나타낸다.
도 2를 참조하면, 디스크는 디스크의 반경 방향으로 내주에는 리드인 영역이 있고, 외주에는 리드아웃 영역이 있고, 가운데 부분에 데이터 영역이 마련된다.
리드인 영역은 DMA #2, 기록 조건 테스트 영역, DMA #1을 포함하고, 데이터 영역은 스페어 영역 #1, 사용자 데이터 영역, 스페어 영역 #2를 포함하고, 리드아웃 영역은 DMA #3, DMA #4를 포함한다.
결함 관리 영역(Defect Management Area(DMA))은 재 기록형 정보 저장 매체에 있어서 그 결함 관리 정보를 기록하기 위한 영역으로, 디스크의 안쪽 영역 또는 바깥 영역에 구비되어 있다.
그리고, 디스크의 사용자 데이터 영역의 소정 부분에 결함 발생시 그 결함이 발생된 결함 블록을 대체하기 위한 대체블록을 기록하기 위한 스페어 영역들은 데 이터 영역에 초기화시 드라이브 제조자나 사용자의 선택에 따라 그 크기 및 할당 유무가 결정되어지고, 또한 디스크 사용중 필요에 따라 새로 할당되거나 확장될 수도 있다.
상기 결함 관리 영역에 기록되는 결함 관리 정보는 결함 정보를 위한 결함 리스트(Defect List(DFL))와 디스크의 데이터 영역의 구조에 관한 정보를 포함하는 디스크 정의 구조(Disc Definition Structure(DDS))로 구성되어 있다.
상기 결함 리스트는 결함 리스트 헤더와 결함 리스트 엔트리들로 구성되어 있으며, 그 포맷에 대해서는 도 4를 참조하여 상세히 후술한다.
기록 조건 테스트 영역은 기록 방법(Write Strategy)에 따른 여러 가지 기록 파워로 테스트하여 최적의 기록 파워와 그 기록 방법에 따른 변수들을 찾을 수 있도록 하는 테스트를 위해 마련된 영역이다.
도 3은 본 발명에 따른 이중 기록층 디스크의 구조의 일 예를 나타낸다.
도 3을 참조하면, 하나의 기록층 L0에 리드인 영역 #0, 데이터 영역, 리드아웃 영역 #0이 마련되고, 다른 기록층 L1에 리드인 영역 #1, 데이터 영역, 리드아웃 영역 #1이 마련된다.
L0층의 리드인 영역 #0은 DMA #2, 기록 조건 테스트 영역, DMA #1을 포함하고, 데이터 영역은 스페어 영역 #1, 사용자 데이터 영역, 스페어 영역 #2를 포함하고, 리드아웃 영역은 DMA #3, DMA #4를 포함한다.
L1층의 리드인 영역 #1은 DMA #2, 기록 조건 테스트 영역, DMA #1을 포함하고, 데이터 영역은 스페어 영역 #4, 사용자 데이터 영역, 스페어 영역 #3을 포함하 고, 리드아웃 영역 #1은 DMA #3, DMA #4를 포함한다.
도 4는 본 발명에 따른 결함 리스트(Defect List)의 데이터 포맷을 나타낸다.
도 4를 참조하면, 본 발명에 따른 결함 리스트(400)는 결함 리스트 헤더(410)와, 결함 리스트 엔트리들(420)을 포함한다.
결함 리스트 헤더(410)는 블록들의 결함 관리를 위한 개수 정보를 기록하는 부분으로, 결함 리스트 식별자(411)와, 대체블록을 가지는 결함블록들의 수(412)와, 대체블록없는 결함블록들의 수(413)와, 사용가능한 스페어 블록들의 수(414)와, 사용할 수 없는 스페어 블록들의 수(415)와, 결함가능성 있는 블록들의 수(416)에 대한 정보를 포함한다.
대체 블록을 가지는 결함 블록들의 수(412)는 결함 블록이 스페어 영역의 대체 블록으로 대체 되었다는 것을 나타내는 결함 상태 정보를 가지는 결함 리스트 엔트리들의 수를 의미한다.
대체 블록 없는 결함 블록들의 수(413)는 결함 블록이기는 하지만 스페어 영역에 대체 블록이 존재하지 않는 결함 블록 그 자체를 나타내는 결함 상태 정보를 가지는 결함 리스트 엔트리들의 수를 의미한다.
사용 가능한 스페어 블록들의 수(414)는 스페어 영역내 대체되지 않은 블록들 중에서 대체를 위해 사용 가능한 블록을 나타내는 결함 상태 정보를 가지는 결함 리스트 엔트리들의 수를 의미한다.
사용할 수 없는 스페어 블록들의 수(415)는 스페어 영역내 대체되지 않은 블 록들 중에서 대체를 위해 사용할 수 없는 블록을 나타내는 결함 상태 정보를 가지는 결함 리스트 엔트리들의 수를 의미한다.
결함일 가능성이 있는 블록들의 수(416)는 사용자 데이터 영역내에 있는 블록들 중에서 결함이 의심되지만 아직 검증되지 않은 블록을 나타내는 결함 상태 정보를 가지는 결함 리스트 엔트리들의 수를 의미한다.
결함 리스트 엔트리들(420)은 블록들에 대한 결함상태 정보를 가지는 결함 리스트 엔트리들의 집합으로서, 결함 리스트 엔트리 #1(421)과, 결함 리스트 엔트리 #2(422)와, ...결함 리스트 엔트리 #N(423)을 포함한다.
도 5는 도 4에 도시된 결함 리스트 엔트리의 데이터 포맷을 도시한다.
도 5를 참조하면, 결함 리스트 엔트리 #i(500)는 상태 정보(510)와, 결함 블록의 물리 주소(520)와, 대체 블록의 물리 주소(530)를 포함한다.
상태 정보(510)는 블록들의 결함에 관한 상태 정보를 말하며, 결함 블록의 물리 주소(520)는 사용자 데이터 영역내에 있는 결함 블록이 위치한 물리적인 주소를 말하며, 대체 블록의 물리 주소(530)는 스페어 영역내에 있는 대체 블록이 위치한 물리적인 주소를 말한다.
도 6은 도 5에 도시된 결함 리스트 엔트리의 상태 정보를 설명하기 위한 참고도이다.
도 6을 참조하면, 상태 정보(510)는, "1", "2", "3", "4", "5" 다섯 가지의 상태를 가진다.
상태 정보 "1"은 대체 블록이 있는 결함 블록의 상태를 나타낸다. 이 경우 에, 결함 블록의 물리 주소는 사용자 데이터 영역 내에 있는 결함 블록의 물리 주소를 나타내고, 대체 블록의 물리 주소는 상기 결함 블록을 대체하는 대체 블록이 스페어 영역에 기록된 물리 주소를 말한다.
상태 정보 "2"는 대체 블록이 없는 결함 블록의 상태를 나타낸다. 이 경우에, 결함 블록의 물리 주소는 사용자 데이터 영역 내에 있는 결함 블록의 물리 주소를 나타낸다.
상태 정보 "3"은 사용 가능한 스페어 영역의 블록 상태를 나타낸다. 이것은 스페어 영역에 존재하는 블록의 상태를 나타내기 위한 것이다. 이 경우에, 대체 블록의 물리주소는 스페어 영역의 대체 되지 않은 블록들 중에서 사용 가능한 블록의 물리 주소를 나타낸다.
상태 정보 "4"는 사용할 수 없는 스페어 영역의 블록 상태를 나타낸다. 이것은 스페어 영역에 존재하는 블록의 상태를 나타내기 위한 것이다. 이 경우에, 대체 블록의 물리주소는 스페어 영역의 대체 되지 않은 블록들 중에서 사용할 수 없는 블록의 물리 주소를 나타낸다.
상태 정보 "5"는 결함일 가능성이 있는 블록 상태를 나타낸다. 이 경우에, 실제로 검정되지는 않았지만 결함일 가능성이 있는 블록의 물리 주소를 나타낸다.
도 7은 본 발명에 따라 단일 기록층 디스크에서 사용자 데이터 영역과 스페어 영역의 사용 방향을 설명하기 위한 참고도이다.
도 7을 참조하면, 데이터 영역에서 사용자 데이터 영역의 사용 방향이 리드인 영역쪽에서 리드아웃 영역쪽으로 향하는 경우에, 초기에 스페어 영역 #1만이 할당되어 있다면, 도 7에 도시된 바와 같이 리드아웃 영역쪽의 데이터 영역에 스페어 영역 #2를 새로 할당할 수 있고, 이미 초기에 스페어 영역 #2가 할당되어 있다면 스페어 영역 #2를 사용자 데이터 영역의 사용 방향과 마주보는방향으로 확장할 수 있다. 이와 같이 사용자 데이터 영역의 사용 방향과 스페어 영역의 사용 방향을 고려함으로써 스페어 영역의 새로운 할당이나 확장을 용이하게 할 수 있다.
도 8은 본 발명에 따라 이중 기록층 디스크에서 사용자 데이터 영역과 스페어 영역의 사용 방향을 설명하기 위한 참고도이다.
도 8을 참조하면, 데이터 영역에서 사용자 데이터 영역의 사용 방향이 리드인 영역 #0에서 리드아웃 영역 #0, 리드아웃 영역 #1을 경유하여 리드인 영역 #1의 방향으로 진행되는 경우, 초기에 스페어 영역 #1, #2, #3 만이 할당되어 있다면, 도 8에 도시된 바와 같이 리드아웃 영역 #1쪽의 데이터 영역에 스페어 영역 #4를 새로 할당할 수 있고, 이미 초기에 스페어 영역 #4가 할당되어 있다면 스페어 영역 #4를 사용자 데이터 영역의 사용 방향과 마주보는 방향으로 확장할 수 있다. 이와 같이 사용자 데이터 영역의 사용 방향과 스페어 영역의 사용 방향을 정함으로써 스페어 영역의 새로운 할당이나 확장을 용이하게 할 수 있다.
도 9는 본 발명의 제1실시예에 따라 새로 할당된 스페어 영역내에 있는 블록의 결함 리스트 엔트리 처리 방법을 설명하기 위한 참고도이다.
도 9의 (a)는 초기화시에 스페어 영역 #1만을 할당하여 사용하는 단일 기록층 디스크에서 데이터 블록의 상태를 나타내는 도면이고, (b)는 디스크 사용중 스페어 영역 #2이 할당된 디스크에서 스페어 영역 #2에 포함된 블록들의 상태 정보 처리를 나타내는 도면이다.
도 9의 (a)를 참조하면, 데이터 영역에 초기에 스페어 영역 #1만 할당되어, 스페어 영역 #1과 사용자 데이터 영역을 포함한다. 사용자 데이터 영역의 끝부분에 블록 ①, ③, ④가 기록되어 있다. 블록 ①은 결함블록으로서, 이 결함블록을 대체하기 위한 대체블록 ②가 스페어 영역 #1에 기록되어 있다. 블록 ③은 결함블록으로서, 이 블록은 결함이 있기는 하지만 이 결함블록을 대체하기 위한 대체블록은 스페어 영역 #1에 존재하지 않는다. 블록 ④는 결함일 가능성이 있는 블록이다.
이와 같은 상태에서, 디스크 사용 도중 상기 블록 ①, ③, ④가 기록된 부분을 포함하는 사용자 데이터 영역의 끝부분에 스페어 영역 #2가 할당되면 도 9의 (b)에 도시된 바와 같은 상태가 된다.
도 9의 (b)를 참조하면, 데이터 영역의 끝부분에 새로 스페어 영역 #2가 할당되어 데이터 영역은 스페어 영역 #1과, 사용자 데이터 영역과, 스페어 영역 #2로 나누어진다.
이 경우에, 대체 블록을 가지는 결함 블록 ①에 대해서 그 결함 블록 ① 및 대체 블록 ②는 각각 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록된다. 즉, 대체 블록을 가지는 결함 블록을 위한 하나의 결함 리스트 엔트리가 두 개의 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 변경된다.
이와 같이 대체 블록을 가지는 결함 블록 ①에 대해서 그 결함 블록 ① 및 대체 블록 ②는 각각 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록해야 할 필요성을 구체적으로 설명하기로 한다. 위의 도 7을 참조하여 설명한 바와 같이, 단일 기록층 디스크에 있어서 스페어 영역 #2의 사용 방향은 확장을 용이하게 하기 위해서 사용자 데이터 영역의 사용 방향과 반대로 설정한다. 즉, 디스크의 바깥쪽에서부터 안쪽으로 사용되어진다. 이로 인하여 이미 대체블록이 있는 결함 블록이 확장되는 스페어 영역 #2내에 있는 경우 그 결함 블록을 대체하는 대체 블록은 실제로 결함 블록은 아니다. 그러나, 스페어 영역 #2의 사용 방향을 고려하면, 그 대체 블록은 사용하지 않는 것이 바람직하다. 또한, 확장되는 스페어 영역 #2 내에 있는 결함 블록은 이미 결함이므로 향후 대체 블록으로 사용하지 않는 것이 바람직하다. 만일, 그 결함 블록이 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록되어 있지 않다면 향후 드라이브 시스템은 대체를 위해 그 블록을 사용할 것이다. 그러나, 그 블록이 사전에 이미 결함이었기 때문에 데이터의 신뢰성을 보장받지 못한다. 또한, 그 블록에 데이터를 기록한 후 검정을 한다고 하더라도 이미 결함 이었던 블록이기 때문에 다시 결함이 될 가능성이 매우 높다. 따라서 결함으로 판명되면 스페어 영역의 사용 순서에 입각해서 다음 스페어 영역 블록으로 대체할 것이고, 그렇게 되면 결국 대체하는 과정에 많은 시간을 낭비하게 되어 시스템의 성능 저하를 수반한다. 그러므로, 확장된 스페어 영역 내에 있는 결함 블록은 사용할 수 없는 스페어 영역 블록임을 나타내는 결함리스트 엔트리로 등록함으로써 드라이브 시스템의 불필요한 동작을 줄이고 드라이브 시스템의 성능을 그대로 유지할 수 있다.
대체블록 없는 결함 블록 ③에 대해서도 그 결함 블록 ③은 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록된다. 이 때는 하나의 결함 리스트 엔트리가 하나의 스페어 영역 결함 리스트 엔트리로 변경되는 것이다.
결함일 가능성이 있는 블록 ④는, 실제 그 물리주소에 존재하는 블록 ④를 검증해보거나 또는 검증하지 않고 미리 설정된 계획에 따라 결함 리스트 엔트리로 등록될 수 있다. 좀더 구체적으로는, 결함일 가능성이 있는 블록을 검증하여 그 검증 결과에 따라 결함 리스트 엔트리로 등록하는 경우에는, 실제 그 블록에 대해 검증을 수행하여 결함이 없는 경우에는 사용할 수 있는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록을 하고, 결함이 있는 경우에는 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록을 한다. 검증하지 않고 미리 설정된 계획에 따라 결함리스트 엔트리로 등록하는 경우에는, 소정의 정책 즉, 드라이브 제조자나 사용자의 선택에 따라 사용할 수 있는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리 또는 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록할 수 있다. 이 경우에 하나의 결함 리스트 엔트리가 하나의 스페어 영역 블록의 결함 리스트 엔트리로 바뀌게 되며, 물론 이러한 경우에 결함 리스트 엔트리가 바뀐 후 정해진 순서에 입각해서 결함 리스트 엔트리들의 나열 순서는 정리되어야 한다.
도 10은 본 발명의 제1실시예에 따라 확장된 스페어 영역내에 있는 블록의 결함 리스트 엔트리 처리 방법을 설명하기 위한 참고도이다.
도 10의 (a)는 초기화시에 스페어 영역 #1 및 스페어 영역 #2를 할당하여 사 용하는 단일 기록층 디스크에서 데이터 블록의 상태를 나타내는 도면이고, (b)는 디스크 사용중 스페어 영역 #2의 확장이 필요하여 스페어 영역 #2를 확장할 때, 확장된 스페어 영역 #2 내에 있는 블록들의 상태 정보 처리를 나타내는 도면이다.
도 10의 (a)를 참조하면, 데이터 영역에 초기에 스페어 영역 #1과, 사용자 데이터 영역과, 스페어 영역 #2를 포함한다. 사용자 데이터 영역의 끝부분에 블록 ⑤, ⑦, ⑧이 기록되어 있다. 블록 ⑤는 결함블록으로서, 이 결함블록을 대체하기 위한 대체블록 ⑥이 스페어 영역 #2에 기록되어 있다. 블록 ⑦은 결함블록으로서, 이 블록은 결함이 있기는 하지만 이 결함블록을 대체하기 위한 대체블록은 스페어 영역 #1이나 스페어 영역 #2에 존재하지 않는다. 블록 ⑧은 결함일 가능성이 있는 블록이다.
이와 같은 상태에서, 디스크 사용 도중 상기 블록 ⑤, ⑦, ⑧이 기록된 부분을 포함하는 사용자 데이터 영역까지 스페어 영역 #2가 확장되면 도 10의 (b)에 도시된 바와 같은 상태가 된다.
도 10의 (b)를 참조하면, 데이터 영역은 스페어 영역 #1과, 사용자 데이터 영역과, 확장된 스페어 영역 #2를 포함한다.
이 경우에, 대체 블록을 가지는 결함 블록 ⑤에 대해서 그 결함 블록 ⑤ 및 대체 블록 ⑥은 각각 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록된다. 즉, 대체 블록을 가지는 결함 블록을 위한 하나의 결함 리스트 엔트리가 두 개의 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 변경된다.
대체블록 없는 결함 블록 ⑦에 대해서도 그 결함 블록 ⑦은 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록된다. 이 때는 하나의 결함 리스트 엔트리가 하나의 스페어 영역 결함 리스트 엔트리로 변경되는 것이다.
결함일 가능성이 있는 블록 ⑧은, 실제 그 물리주소에 존재하는 블록 ⑧을 검증해보거나 또는 검증하지 않고 미리 설정된 계획에 따라 결함 리스트 엔트리로 등록될 수 있다. 좀더 구체적으로는, 결함일 가능성이 있는 블록을 검증하여 그 검증 결과에 따라 결함 리스트 엔트리로 등록하는 경우에는, 실제 그 블록에 대해 검증을 수행하여 결함이 없는 경우에는 사용할 수 있는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록을 하고, 결함이 있는 경우에는 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록을 한다. 검증하지 않고 미리 설정된 계획에 따라 결함리스트 엔트리로 등록하는 경우에는, 소정의 정책 즉, 드라이브 제조자나 사용자의 선택에 따라 사용할 수 있는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리 또는 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 리스트 엔트리로 등록할 수 있다.
이상에서는 단일 기록층 디스크를 대상으로 설명하였지만 이중 기록층 디스크에 대해서도 동일한 방법이 적용된다.
도 11은 본 발명의 제1실시예에 따라 새로 할당되거나 확장된 스페어 영역내에 있는 블록들의 결함 리스트 엔트리의 변경을 구체적으로 설명하기 위한 참고도이다.
도 11을 참조하면, 도 9 내지 도 10에 도시된 바와 같은 상황에서 결함 리스 트 엔트리의 변경 상태를 보여주는 것으로, 도 11에 도시된 (a) 확장 또는 할당전 결함리스트 엔트리는 도 9의 (a) 나 도 10의 (a)에 도시된 바와 같은 스페어 영역의 확장 또는 할당전의 블록들의 상태 정보를 나타내는 결함 리스트 엔트리이고, (b) 확장 또는 할당후 결함 리스트 엔트리는 도 9의 (b)나 도 10의 (b)에 도시된 바와 같은 스페어 영역의 확장 또는 할당후의 블록들의 상태 정보를 나타내는 결함 리스트 엔트리이다.
도 6을 참조하여 설명한 바와 같이, 상태 정보 "1"은 대체 블록을 가지는 결함 블록의 상태를 나타내고, 상태 정보 "2"는 대체 블록을 가지지 않는 결함 블록의 상태를 나타내고, 상태 정보 "3"은 결함일 가능성이 있는 블록의 상태를 나타내며, 상태 정보 "4"는 사용 가능한 스페어 영역 블록의 상태를 나타내고, 상태 정보 "5"는 사용할 수 없는 스페어 영역 블록의 상태를 나타낸다.
스페어 영역의 확장 또는 할당전 블록 ①의 결함 리스트 엔트리는 상태 정보가 "1"이고, 결함 블록 물리 주소가 "0010000h"이고, 대체 블록 물리 주소가 "0100000h" 이다. 이러한 블록 ①에 대해서 스페어 영역의 확장 또는 할당후에는 도 11의 (b)에 도시된 바와 같이 두 개의 결함 리스트 엔트리가 등록된다. 즉, 결함 블록 ①에 대해서 상태 정보가 "4"이고, 대체 블록 물리 주소가 "0010110h"인 결함 리스트 엔트리와, 대체 블록 ②에 대해서 상태 정보가 "5"이고, 대체 블록 물리 주소가 "0100000h"인 결함 리스트 엔트리 이다.
스페어 영역의 확장 또는 할당전 블록 ③의 결함 리스트 엔트리는 상태 정보가 "2"이고, 결함 블록 물리 주소가 "0010100h"이고, 대체 블록은 없으므로 대체 블록의 물리주소도 없다. 이러한 블록 ③에 대해서 스페어 영역의 확장 또는 할당후에는 도 11의 (b)에 도시된 바와 같이 상태 정보가 "5"이고, 대체 블록 물리 주소가 "0010100h"인 결함 리스트 엔트리가 등록된다.
스페어 영역의 확장 또는 할당전 블록 ④의 결함 리스트 엔트리는 상태 정보가 "3"이고, 결함 블록 물리 주소가 "0010110h"이고, 대체 블록은 없으므로 대체 블록의 물리주소도 없다. 이러한 블록 ④에 대해서 스페어 영역의 확장 또는 할당후에는 도 11의 (b)에 도시된 바와 같이 상태 정보가 "4"이고, 대체 블록 물리 주소가 "0010110h"인 결함 리스트 엔트리가 등록된다. 결함가능성이 있는 블록에 대해서 결함 리스트 엔트리를 등록하는 방법은 여러 가지 있다는 것은 위에서 설명한 바 있다.
확장 또는 할당된 스페어 영역내에 있는 모든 블록들은 대체 블록을 가지는 결함 블록에서의 대체 블록, 사용 가능한 스페어 영역 블록, 사용할 수 없는 스페어 영역 블록 중 하나가 됨을 알 수 있다. 따라서, 스페어 영역 전체의 블록의 수는 아래 식을 만족한다.
<식1>
스페어 영역 전체의 블록의 수 = 사용 가능한 스페어 영역의 블록 수
+ 사용할 수 없는 스페어 영역의 블록 수
+ 대체 블록을 가지는 결함 블록들의 수
다시 말하면, 스페어 영역 내에 있는 각각의 블록에 대해서는 대체 블록의 물리 주소가 스페어 영역내의 물리 주소이고, 상태 정보는 "1", "4", "5"를 가지는 결함 리스트 엔트리만이 가능하다. 물론, 대체 블록인 경우 그 결함 리스트 엔트리의 결함 블록 물리 주소는 사용자 데이터 영역내에 있는 블록의 물리 주소이어야 한다.
도 12a는 본 발명의 제1실시예에 따라 스페어 영역의 확장 또는 할당 직전의 결함 리스트 헤더의 데이터 상태, 도 12b는 스페어 영역의 확장 또는 할당 직후의 결함 리스트 헤더의 데이터 상태를 나타낸다.
도 12a를 참조하면, 결함 리스트 헤더(120)는 결함 리스트 식별자(121)를 포함하고, 스페어 영역은 대체를 위해 다 사용되어져 더 이상 대체 블록이 없는 상태이다. 따라서, 사용 가능한 스페어 블록들의 수(124)는 "0"이다. 그리고, 스페어 영역 내에 있는 블록들이 양호하여 사용할 수 없는 스페어 블록들의 수(125) 또한 "0"이다. 대체 블록을 가지는 결함 블록들의 수(122)는 "N-M-1"이고, 대체 블록을 가지지 않는 결함 블록들의 수(123)는 "M"이고, 결함일 가능성이 있는 블록들의 수는 "1"(126)이다.
따라서, 전체 N-M-1 + M + 0 + 0 + 1 = N 개의 결함 리스트 엔트리가 존재하고 있다. 그리고, 스페어 영역의 전체 블록 수는 "대체 블록을 가지는 결함 블록들의 수(122)" + "사용 가능한 스페어 블록들의 수(124)" + "사용할 수 없는 스페어 블록들의 수(125)" = N-M-1 + 0 + 0 = N-M-1이다.
이와 같은 상태에서 대체할 스페어 영역의 블록이 없어 S개의 블록들을 가지는 스페어 영역을 확장 또는 새로 할당하였다고 하자. 그리고, 그 확장 또는 할당된 스페어 영역 내에 도 11의 (a)에 나타난 바와 같이 대체 블록을 가지는 결함 블 록이 1개, 대체 블록을 가지지 않는 결함 블록이 1개, 결함일 가능성이 있는 블록이 1개가 있다고 가정한다. 그러면, 스페어 영역의 확장이나 할당 직후 도 11의 (b)에 나타난 바와 같이 결함 리스트 엔트리가 변경되고, 도 12b에 도시된 바와 같이 결함 리스트 헤더의 내용이 변경된다. 즉, 대체 블록을 가지는 결함 블록들의 수(122)는 N-M-1에서 N-M-2로 변경되고, 대체 블록 없는 결함 블록들의 수(123)는 M에서 M-1로, 사용 가능한 스페어 블록들의 수(124)는 0에서 S-2로, 사용할 수 없는 스페어 블록들의 수(125)는 0에서 3으로, 결함일 가능성이 있는 블록들의 수(126)는 1에서 0으로 변경된다.
따라서, 전체 N-M-2 + M-1 + S-2 + 3 + 0 = N + S - 2 개의 결함 리스트 엔트리가 존재하게 된다. 그리고 확장 또는 할당된 스페어 영역을 포함하는 "전체 스페어 영역의 블록들의 수"는 확장 또는 할당 전에 N-M-1, 확장 또는 할당된 스페어 영역에 S이므로 "전체 스페어 영역의 블록들의 수" = N-M-1 + S 이고, "대체 블록을 가지는 결함 블록들의 수" + "사용 가능한 스페어 블록들의 수" + "사용할 수 없는 스페어 블록들의 수" = N-M-2 + S-2 + 3 = N-M-1 + S이다. 따라서, <식1>을 만족함을 알 수 있다.
도 13a 내지 13c는 본 발명의 제1실시예에 따라 기록형 광 기록 정보 저장 매체에서 결함 관리 방법의 과정을 나타내는 흐름도이다.
도 13a를 참조하면, 먼저, 디스크의 소정 부분에 스페어 영역을 새로 할당하거나 기존 스페어 영역을 확장한다(131). 즉, 디스크에 이미 마련된 스페어 영역을 다 사용했거나 스페어 영역의 여유공간이 얼마 남지 않은 경우에 새로운 스페어 영역을 할당하거나 스페어 영역을 확장한다.
다음, 새로 할당되거나 또는 확장된 스페어 영역에 있는 블록들의 결함 상태를 확인한다(132). 즉, 새로 할당되거나 확장된 스페어 영역에 있는 블록들의 결함 상태를 관리하여 이러한 스페어 영역내에서 결함이 있거나 결함 발생율이 높은 블록을 다시 사용하지 못하게 하기 위함이다.
새로 할당되거나 확장된 스페어 영역에 있는 블록이 결함블록인지를 검사한다(133).
결함 블록이 아닌 경우에는 다음 단계 A로 넘어가고, 결함 블록인 경우에는 대체 블록이 있는 결함블록인지를 검사한다(134).
검사 결과 대체 블록이 있는 결함 블록인 경우에는 그 대체 블록 및 그 결함블록이 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 디스크에 기록한다(135). 다시말하면, 그 대체 블록 및 결함 블록 각각에 대해서 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 결함 리스트에 기록한다.
검사 결과 대체 블록이 없는 결함 블록인 경우에는 그 결함 블록이 사용할 수 없는 대체 블록임을 나타내는 결함상태정보를 디스크에 기록한다(136). 앞에서와 마찬가지로 그 결함 블록에 대해서 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 결함 리스트에 기록한다.
다음, 도 13b를 참조하면, 단계 A로 진행해서, 결함일 가능성이 있는 블록인지를 검사한다.
결함일 가능성이 있는 블록이 아닌 경우에는 단계 B로 진행한다.
결함일 가능성이 있는 블록인 경우에는 실제 물리주소에 있는 그 블록을 검정할 것인지 확인한다(138). 다시말하면, 결함일 가능성이 있는 블록에 대해서는 정책에 따라 검정을 수행할 것인지를 판단한다.
결함일 가능성이 있는 블록에 대해서는 검정을 수행하지 않는다는 정책이 설정된 경우에는 드라이브 제조자나 사용자의 선택에 따라 사용할 수 없는 또는 사용할 수 있는 대체블록임을 나타내는 결함상태 정보를 기록한다(143).
결함일 가능성이 있는 블록에 대해서는 검정을 수행하여 그 검정 결과에 따라 결함상태정보를 등록한다는 정책이 설정된 경우에는 실제 물리주소에 있는 그 결함일 가능성이 있는 블록을 검정한다(139).
검정결과 결함이 있는지를 판단하고(140), 결함이 있다고 판단된 경우에는 사용할 수 없는 대체 블록임을 나타내는 결함상태 정보를 포함하는 결함리스트 엔트리를 기록한다(141).
검정결과 결함이 없다고 판단된 경우에는 사용할 수 있는 대체 블록임을 나타내는 결함상태 정보를 포함하는 결함리스트 엔트리를 기록한다(142).
다음, 도 13c를 참조하면, 단계 B로 진행한다.
확장 또는 할당된 스페어 영역내에 있는 블록이 결함 상태 정보를 가지는지 즉, 확장 또는 할당된 스페어 영역내에 있는 블록이 결함 리스트 엔트리를 가지는지 확인하고, 그 블록이 결함 리스트 엔트리를 가지지 않는 경우에는 사용할 수 있는 대체 블록임을 나타내는 결함상태정보를 포함하는 결함 리스트엔트리를 기록한 다(144).
도 14는 본 발명에 따라 1회 기록 정보 저장 매체에서 결함 관리 방법의 과정을 나타내는 흐름도이다.
도 14를 참조하면, 확장 또는 할당된 스페어 영역내에 있는 블록이 이미 사용된 블록인지를 판단한다(151).
판단결과, 이미 사용된 블록인 경우에는 사용할 수 없는 대체 블록임을 나타내는 결함상태정보를 포함하는 결함 리스트 엔트리를 기록한다(152).
그리고 판단결과, 이미 사용된 블록이 아닌 경우에는 사용할 수 있는 대체블록임을 나타내는 결함상태정보를 가지는 결함 리스트 엔트리를 기록한다(153). 이 경우 정책에 따라서는, 이미 사용된 블록이 아닌 경우에도 그 블록에 대한 결함 리스트 엔트리가 등록되어 있을 수 있는데, 이러한 경우에는 이미 사용된 블록이 아니고 또한 결함 리스트 엔트리도 등록되어 있지 않은 경우에 사용할 수 있는 대체 블록임을 나타내는 결함 상태 정보를 가지는 결함 리스트 엔트리를 기록할 수 있다.
이제, 도 15 내지 도 19를 참조하여 본 발명의 제2실시예에 따른 결함 리스트 엔트리 처리 방법을 설명하기로 한다.
도 15는 본 발명의 제2실시예에 따라 새로 할당된 스페어 영역내에 있는 블록의 결함 리스트 엔트리 처리 방법을 설명하기 위한 참고도이다.
도 15의 (a)는 초기화시에 스페어 영역 #1만을 할당하여 사용하는 단일 기록층 디스크에서 데이터 블록의 상태를 나타내는 도면이고, (b)는 디스크 사용중 스 페어 영역 #2이 할당된 디스크에서 스페어 영역 #2에 포함된 블록들의 상태 정보 처리를 나타내는 도면이다.
도 15의 (a)는 도 9의 (a)와 동일하며, 도 15의 (b)도 스페어 영역 #1에 배치된 대체 블록 ② 만 제외하면 도 9의 (b)와 동일하다.
도 15의 (b)를 참조하면, 스페어 영역 #2에 있는 블록 ①, ③은 사용할 수 없는 스페어 영역 블록임을 표시하는 결함 리스트 엔트리로 등록하고, 스페어 영역 #1에 있는 블록 ②는 사용할 수 있는 스페어 영역 블록임을 표시하는 결함 리스트 엔트리로 등록한다. 즉, 블록 ①, ③은 원래 그 블록에 결함이 있는 결함 블록이므로 사용할 수 없는 블록으로 표시해두지만, 블록 ②는 그 블록에 결함이 있는 것은 아니므로 사용할 수 있는 블록으로 표시해두자는 것이다.
제1실시예에서는 스페어 영역 #1에 있던 대체 블록 ②에 대해서 스페어 영역 #2가 새로 할당된 이후에는, 스페어 영역의 사용방향으로 고려하여 사용할 수 없는 스페어 영역 블록임을 표시하는 결함 리스트 엔트리로 등록하였지만, 제2실시예에서는 이러한 대체 블록 ②도 사용할 수 있는 스페어 영역 블록임을 표시하는 결함 리스트 엔트리로 등록한다. 이는 스페어 영역의 사용 방향에는 일치하지 않더라도 결함이 없어서 사용가능한 블록에 대해서는 사용할 수 있도록 하게 함으로써 스페어 영역의 공간을 낭비없이 사용할 수 있게 하기 위한 것이다.
도 16은 본 발명의 제2실시예에 따라 확장된 스페어 영역내에 있는 블록의 결함 리스트 엔트리 처리 방법을 설명하기 위한 참고도이다.
도 16의 (a)는 초기화시에 스페어 영역 #1 및 스페어 영역 #2를 할당하여 사 용하는 단일 기록층 디스크에서 데이터 블록의 상태를 나타내는 도면이고, (b)는 디스크 사용중 스페어 영역 #2의 확장이 필요하여 스페어 영역 #2를 확장할 때, 확장된 스페어 영역 #2 내에 있는 블록들의 상태 정보 처리를 나타내는 도면이다.
도 16의 (a)는 도 10의 (a)와 동일하며, 도 16의 (b)도 대체 블록 ⑥만 제외하면 도 10의 (b)와 동일하다.
도 16의 (b)를 참조하면, 스페어 영역 #2에 있는 블록 ⑤, ⑦은 사용할 수 없는 스페어 영역 블록임을 표시하는 결함 리스트 엔트리로 등록하고, 확장되기 전의 스페어 영역 #2에 있는 블록 ⑥은 사용할 수 있는 스페어 영역 블록임을 표시하는 결함 리스트 엔트리로 등록한다. 즉, 블록 ⑤, ⑦은 원래 그 블록에 결함이 있는 결함 블록이므로 사용할 수 없는 블록으로 표시해두지만, 블록 ⑥은 그 블록에 결함이 있는 것은 아니므로 사용할 수 있는 블록으로 표시해두자는 것이다.
제1실시예에서는 대체 블록 ⑥에 대해서 스페어 영역 #2가 확장된 이후에는, 스페어 영역의 사용방향으로 고려하여 사용할 수 없는 스페어 영역 블록임을 표시하는 결함 리스트 엔트리로 등록하였지만, 제2실시예에서는 이러한 대체 블록 ⑥도 사용할 수 있는 스페어 영역 블록임을 표시하는 결함 리스트 엔트리로 등록한다. 이는 스페어 영역의 사용 방향에는 일치하지 않더라도 결함이 없어서 사용가능한 블록에 대해서는 사용할 수 있도록 하게 함으로써 스페어 영역의 공간을 낭비없이 사용할 수 있게 하기 위한 것이다.
도 17은 본 발명의 제2실시예에 따라 새로 할당되거나 확장된 스페어 영역내에 있는 블록들의 결함 리스트 엔트리의 변경을 구체적으로 설명하기 위한 참고도 이다.
도 17을 참조하면, 도 15 내지 도 16에 도시된 바와 같은 상황에서 결함 리스트 엔트리의 변경 상태를 보여주는 것으로, 도 17에 도시된 (a) 확장 또는 할당전 결함리스트 엔트리는 도 15의 (a) 나 도 16의 (a)에 도시된 바와 같은 스페어 영역의 확장 또는 할당전의 블록들의 상태 정보를 나타내는 결함 리스트 엔트리이고, (b) 확장 또는 할당후 결함 리스트 엔트리는 도 15의 (b)나 도 16의 (b)에 도시된 바와 같은 스페어 영역의 확장 또는 할당후의 블록들의 상태 정보를 나타내는 결함 리스트 엔트리이다.
도 17에 도시된 사항은 제1실시예에서의 도 11에 도시된 바와 대부분 유사하며, 대체 블록 ②에 대해서만 그 상태 정보가 제2실시예에 따라 달라짐을 알 수 있다.
제2실시예는 새로 할당되거나 확장된 스페어 영역에 들어있는 결함블록을 대체하는 대체블록을 사용할 수 있는 스페어 영역 블록으로 만들자는 것이므로, 도 17의 (b)를 참조하면, 대체 블록 ②에 대해서 상태 정보가 "4"로 등록된다. 즉, 대체 블록 ②에 관한 결함 리스트 엔트리에 대체 블록 ②를 사용할 수 있는 스페어 영역 블록임을 나타내는 상태 정보로 표시한다.
도 18은 본 발명의 제2실시예에 따라 스페어 영역의 확장 또는 할당 직후의 결함 리스트 헤더의 데이터 상태를 나타낸다. 즉, 도 12a에 도시된 바와 같은 스페어 영역의 확장 또는 할당 직전의 결함 리스트 헤더가 본 발명의 제2실시예에 따라 업데이트된 결함 리스트 헤더의 상태가 도 18에 도시되어 있다.
도 18을 참조하면, 도 12b에 도시된 바와 대부분 동일하며, 사용가능한 스페어 블록들의 수(124)와 사용할 수 없는 스페어 블록들의 수(125)만이 다름을 알 수 있다. 즉, 제1실시예에서는 대체 블록 ②를 사용할 수 없는 블록으로 표시하였지만, 제2실시예에서는 대체 블록 ②를 사용할 수 있는 블록으로 표시하므로, 이에 관련된 부부만이 변경된다. 구체적으로는, 사용 가능한 스페어 블록들의 수(124)는 도 12b와 비교하여 1 증가하여 S-1로 등록되고, 사용할 수 없는 스페어 블록들의 수(125)는 도 12b와 비교하여 1 감소하여 2로 등록된다.
도 19는 본 발명의 제2실시예에 따라 기록형 광 기록 정보 저장 매체에서 결함 관리 방법의 과정을 나타내는 흐름도이다. 제1실시예에 따른 도 13a와 비교하면, 새로 할당되거나 확장된 스페어 영역에 있는 결함 블록을 대체하는 대체 블록의 처리 부분만이 다르다.
도 19를 참조하면, 먼저, 디스크의 소정 부분에 스페어 영역을 새로 할당하거나 기존 스페어 영역을 확장한다(191). 즉, 디스크에 이미 마련된 스페어 영역을 다 사용했거나 스페어 영역의 여유공간이 얼마 남지 않은 경우에 새로운 스페어 영역을 할당하거나 스페어 영역을 확장한다.
다음, 새로 할당되거나 또는 확장된 스페어 영역에 있는 블록들의 결함 상태를 확인한다(192). 즉, 새로 할당되거나 확장된 스페어 영역에 있는 블록들의 결함 상태를 관리하여 이러한 스페어 영역내에서 결함이 있거나 결함 발생율이 높은 블록을 다시 사용하지 못하게 하기 위함이다.
새로 할당되거나 확장된 스페어 영역에 있는 블록이 결함블록인지를 검사한 다(193).
결함 블록이 아닌 경우에는 다음 단계 A로 넘어가고, 결함 블록인 경우에는 대체 블록이 있는 결함블록인지를 검사한다(194).
검사 결과 대체 블록이 없는 결함 블록인 경우에는 그 결함블록이 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 디스크에 기록한다(196). 다시말하면, 그 결함 블록에 대해서 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 결함 리스트에 기록한다.
검사 결과 대체 블록이 있는 결함 블록인 경우에는 그 대체 블록이 사용할 수 있는 대체 블록임을 나타내는 결함상태정보를 디스크에 기록한다(195). 그리고, 그 결함 블록에 대해서는 그 결함 블록이 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 디스크에 기록한다(196).
제1실시예 및 제2실시예에서는 새로 할당되거나 확장된 스페어 영역에 있는 결함 블록 이나 대체 블록에 대해서 사용할 수 있는 스페어 영역 블록이나 사용할 할 수 없는 스페어 영역 블록 중 어느 하나로 결정하였다. 그러나, 사실상 앞서 설명한 <식1>을 만족하기만 한다면, 상기 결함 블록이나 대체 블록을 사용할 수 있는 스페어 영역 블록이나 사용할 수 없는 스페어 영역 블록으로 결정하는 것을 여러 가지 드라이브 시스템의 정책이나 제조업자의 정책에 따라 달라질 수 있다. 이러한 상황을 고려한 것이 이제 설명할 본 발명에 따른 제3실시예에 관한 것이다.
즉, 앞에서 설명된 <식1>,
스페어 영역 전체의 블록의 수 = 사용 가능한 스페어 영역의 블록 수
+ 사용할 수 없는 스페어 영역의 블록 수
+ 대체 블록을 가지는 결함 블록들의 수
을 만족하기 위해서는, 디스크 사용 중 스페어 영역의 확장이나 또는 새로운 추가적인 할당에 의해 결함 리스트의 업데이트가 요구되어 질 때, 디스크 사용 중 확장 또는 할당된 스페어 영역 내에 있는 결함 리스트 엔트리의 결함 블록의 물리 주소와 대체 블록의 물리 주소(대체 블록을 가지는 결함 리스트 엔트리인 경우) 각각은 대체를 위해 사용할 수 있는 결함 리스트 엔트리 또는 대체를 위해 사용할 수 없는 결함 리스트 엔트리로 등록된다.
즉, 대체 블록을 가지는 결함 블록의 물리 주소가 확장 또는 새로이 할당된 스페어 영역 내에 있을 경우 이러한 결함 블록은 대체를 위해 사용할 수 있는 또는 사용할 수 없는 결함 리스트 엔트리로 바뀌어 등록된다. 그리고 상기 대체 블록 또한 대체를 위해 사용할 수 있는 또는 사용할 수 없는 결함 리스트 엔트리로 바뀌어 등록된다.
대체 블록을 가지지 않는 결함 블록의 물리 주소가 확장 또는 새로이 할당된 스페어 영역 내에 있을 경우, 상기의 결함 블록은 대체를 위해 사용할 수 있는 또는 사용할 수 없는 결함 리스트 엔트리로 바뀌어 등록된다.
결함일 가능성이 있는 결함 블록의 물리 주소가 확장 또는 새로이 할당된 스페어 영역 내에 있을 경우, 상기의 결함 블록은 대체를 위해 사용할 수 있는 또는 사용할 수 없는 결함 리스트 엔트리로 바뀌어 등록된다.
도 20은 본 발명의 제3실시예에 따라 스페어 영역의 새로운 할당에 따라 스 페어 영역내에 있는 블록의 결함 리스트 엔트리 처리 방법을 설명하기 위한 참고도이다.
도 20의 (a)는 초기화시에 스페어 영역 #1만을 할당하여 사용하는 단일 기록층 디스크에서 데이터 블록의 상태를 나타내는 도면이고, (b)는 디스크 사용중 스페어 영역 #2이 할당된 디스크에서 스페어 영역 #2에 포함된 블록들의 상태 정보 처리를 나타내는 도면이다.
도 20의 (a)는 도 15의 (a)와 동일하다.
도 20의 (b)를 참조하면, 스페어 영역 #1에 있는 블록 ②, 및 스페어 영역 #2에 있는 블록 ①, ③, ④ 모두 소정의 정책에 따라 사용할 수 있거나 사용할 수 없는 블록으로 만들기 위해, 전부 사용할 수 있는 또는 사용할 수 없는 스페어 영역 블록임을 표시하는 결함 리스트 엔트리로 등록된다.
도 21은 본 발명의 제3실시예에 따라 기록형 광 기록 정보 저장 매체에서 결함 관리 방법의 과정을 나타내는 흐름도이다.
도 21을 참조하면, 먼저, 디스크의 소정 부분에 스페어 영역을 새로 할당하거나 기존 스페어 영역을 확장한다(211). 즉, 디스크에 이미 마련된 스페어 영역을 다 사용했거나 스페어 영역의 여유공간이 얼마 남지 않은 경우에 새로운 스페어 영역을 할당하거나 스페어 영역을 확장한다.
다음, 새로 할당되거나 또는 확장된 스페어 영역에 있는 블록들의 결함 상태를 확인한다(212). 즉, 새로 할당되거나 확장된 스페어 영역에 있는 블록들의 결함 상태를 관리하여 이러한 스페어 영역내에서 결함이 있거나 결함 발생율이 높은 블록을 다시 사용하지 못하게 하기 위함이다.
새로 할당되거나 확장된 스페어 영역에 있는 블록이 결함블록인지를 검사한다(213).
*결함 블록인 경우에는, 대체 블록이 있는 결함블록인지를 검사한다(214).
검사 결과 대체 블록이 없는 결함 블록인 경우에는 소정의 정책에 기초하여 그 결함블록이 사용할 수 있는 대체 블록 또는 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 디스크에 기록한다(216). 다시말하면, 그 결함 블록에 대해서 소정의 정책에 따라 사용할 수 있는 또는 사용할 수 없는 스페어 영역 블록임을 나타내는 결함 상태 정보를 포함하는 결함 리스트 엔트리를 결함 리스트에 기록한다.
검사 결과 대체 블록이 있는 결함 블록인 경우에는 소정의 정책에 따라 그 대체 블록이 사용할 수 있는 또는 사용할 수 없는 대체 블록임을 나타내는 결함상태정보를 디스크에 기록한다(215). 그리고, 그 결함 블록에 대해서는 소정의 정책에 따라 그 결함 블록이 사용할 수 있는 또는 사용할 수 없는 대체 블록임을 나타내는 결함 상태 정보를 디스크에 기록한다(216).
그리고, 단계 213에서 결함 블록이 아닌 경우에 결함일 가능성이 있는 블록인지를 판단한다(217).
결함일 가능성이 있는 블록인 경우에는 그 블록을 소정의 정책에 따라 사용할 수 있는 또는 사용할 수 없는 대체블록임을 나타내는 결함 상태 정보로 기록한다(218).
도 22는 본 발명에 따라 드라이브의 성능 향상을 위해 바람직한 결함 리스트 엔트리의 처리 방법의 한 예를 나타내는 도면이다.
도 22를 참조하면, 스페어 영역의 확장 또는 새로운 할당 전에 대체 블록을 가지는 결함 리스트 엔트리의 결함 블록, 대체 블록을 가지지않는 결함 리스트 엔트리의 결함 블록, 결함일 가능성이 있는 결함 리스트엔트리의 결함 블록이 확장이나 새로운 할당 후에도 사용자 데이터 영역내에 있게 되는 경우에는, 별도의 결함 리스트 엔트리의 변경 없이 이전 상태를 그대로 유지한다.
또한, 스페어 영역이 확장되거나 없던 스페어 영역이 새로 할당되는 것이기 때문에 확장이나 할당전에 스페어 영역에 있던 대체 블록이 확장이나 할당후에 사용자 데이터 영역에 존재하게 되는 경우는 발생하지 않는다.
스페어 영역의 확장이나 할당전에 대체 블록을 가지는 결함 리스트 엔트리의 결함 블록이 확장이나 할당후에 스페어 영역내에 있게 되는 경우에는 대체를 위해 사용할 수 없는 결함 리스트 엔트리로 바꾸어 등록하는 것이 바람직하다.
스페어 영역의 확장이나 할당전에 대체 블록을 가지는 결함 리스트 엔트리의 대체 블록이 확장이나 할당후에 스페어 영역내에 있게 되는 경우에는 1) 대응하는 결함 블록이 스페어 영역의 확장 또는 할당후에 스페어 영역내에 있게 되는 경우에 있어 대체를 위해 사용할 수 있는 결함 리스트 엔트리로 바꾸어 등록하는 것이 바람직하다. 이는 실제로 이 대체 블록이 더 이상 그 결함 블록의 대체 블록의 역할을 할 수 없기 때문에 다른 결함 블록의 대체를 위해 사용할 수 있게 하는 것이 바람직하기 때문이다.
스페어 영역의 확장이나 할당전에 대체 블록을 가지는 결함 리스트 엔트리의 대체 블록이 확장이나 할당후에 스페어 영역내에 있게 되는 경우에 2) 대응하는 결함 블록이 스페어 영역의 확장 또는 새로운 할당 후에 사용자 데이터 영역내에 있는 경우에 있어서 확장 또는 새로운 할당 전의 상태를 그대로 유지하는 것이 바람직하다. 이는 실제로, 대응하는 결함 블록이 확장이나 할당후에도 사용자 데이터 영역에 있으므로 이 대체 블록이 이 결함 블록을 대체하는 역할을 유효하게 수행할 수 있기 때문에 이전 상태를 그대로 유지하는 것이 바람직하기 때문이다.
스페어 영역의 확장 또는 새로운 할당 전에 대체 블록을 가지지 않는 결함 리스트 엔트리의 결함 블록이 확장이나 할당후에 스페어 영역내에 있게 되는 경우 이 결함블록은 대체를 위해 사용할 수 없는 결함 리스트 엔트리로 바꾸어 등록하는 것이 바람직하다.
스페어 영역의 확장 또는 새로운 할당 전에 결함일 가능성이 있는 결함 리스트 엔트리의 결함 블록이 확장이나 할당후에 스페어 영역내에 있게 되는 경우 대체를 위해 사용할 수 있는 결함 리스트 엔트리로 바꾸어 등록하는 것이 바람직하다.
이상은 주로 재기록 정보 저장 매체에 있어서 확장 또는 할당된 스페어 영역 내에 있는 결함 리스트의 처리 방법에 대해 설명되었다. 그러나, 만일 1회 기록 정보 저장 매체에 대해서 상기 방법을 적용하고자 한다면 덮어 쓸 수 없는 1회 기록 정보 저장 매체의 특수성으로 인하여 확장 또는 할당되는 스페어 영역에 이미 기록되어 있는 모든 블록들은 사용할 수 없는 스페어 영역의 블록을 위한 결함 리스트 엔트리(상태 정보 "5")로 등록되어야 할 것이다.
이상 설명한 바와 같은 결함 관리 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 매체를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 결함 관리 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.