KR102598093B1 - 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램 - Google Patents

비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램 Download PDF

Info

Publication number
KR102598093B1
KR102598093B1 KR1020220000909A KR20220000909A KR102598093B1 KR 102598093 B1 KR102598093 B1 KR 102598093B1 KR 1020220000909 A KR1020220000909 A KR 1020220000909A KR 20220000909 A KR20220000909 A KR 20220000909A KR 102598093 B1 KR102598093 B1 KR 102598093B1
Authority
KR
South Korea
Prior art keywords
input data
bit
data sequence
bit flipping
island
Prior art date
Application number
KR1020220000909A
Other languages
English (en)
Other versions
KR20230105483A (ko
Inventor
이재진
정성권
Original Assignee
숭실대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교 산학협력단 filed Critical 숭실대학교 산학협력단
Priority to KR1020220000909A priority Critical patent/KR102598093B1/ko
Priority to US17/861,509 priority patent/US11791841B2/en
Publication of KR20230105483A publication Critical patent/KR20230105483A/ko
Application granted granted Critical
Publication of KR102598093B1 publication Critical patent/KR102598093B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10268Improvement or modification of read or write signals bit detection or demodulation methods
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/02Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
    • G11B5/09Digital recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/74Record carriers characterised by the form, e.g. sheet shaped to wrap around a drum
    • G11B5/743Patterned record carriers, wherein the magnetic recording layer is patterned into magnetic isolated data islands, e.g. discrete tracks
    • G11B5/746Bit Patterned record carriers, wherein each magnetic isolated data island corresponds to a bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/252Patterned or quantised magnetic media, i.e. bits are stored in predefined single domain elements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording

Abstract

비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램이 개시된다. 본 발명에 따른 비트 플리핑 장치는 2차원 배열 패턴을 갖는 입력데이터에 대한 비트 플리핑 장치로서, 상기 입력데이터의 2차원 배열 패턴에 기초하여 적어도 하나 이상의 입력 데이터 시퀀스(sequence)를 생성하고, 상기 입력 데이터 시퀀스를 미리 설정된 방식에 따라 적어도 어느 하나의 클러스터에 분류하는 클러스터링부 및 상기 분류된 클러스터에 기초하여 상기 입력 데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑(bit flipping)을 수행하는 비트 플리핑부를 포함한다. 따라서, 상술한 본 발명에 따르면, 부분 응답 최대 유사도(partial response maximum likelihood, PRML) 검출기의 출력측에 결합하여 PRML 검출기의 출력값을 적어도 어느 하나의 클러스터에 분류하고 분류된 결과에 기초하여 비트플리핑을 수행하므로, 기존의 오류 정정 부호 기반의 비트 플리핑 방식에 비해 시스템의 복잡도를 감소시키면서 부효율을 개선할 수 있는 이점을 갖는다.

Description

비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램{Device and method for bit flipping and computer readable program for the same}
본 발명은 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램에 관한 것으로서, 보다 상세하게는, 입력데이터 중 오류가 발생한 비트에 대해 비트 플리핑을 수행하는, 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램이다.
최근 산업화 및 정보화가 빠르게 이루어지면서 취급되는 정보의 양이 급격히 증가함에 따라 하드 디스크 드라이브(hard disk drive, HDDs)의 영역 밀도(areal density, AD)가 증가될 필요성이 있다.
한편, 이러한 AD를 증가시킬 수 있는 비트 패턴 미디어 레코딩(bit pattern media recording, BPMR) 은 차세대 마그네틱 스토리지 시스템(magnetic storage system)으로서 각광을 받고 있다. 이러한 BPMR 시스템은 평방 인치당 1테라비트(Tb/in2)를 넘는 AD 를 달성할 수 있다. 이를 위해, BPMR 은 다운트랙방향과 교차 트랙 방향으로 약간의 간격을 두고 아일랜드를 배치하고, 해당 아일랜드마다 1 비트를 저장한다. 이때, AD 를 높이려면 아일랜드 간 간격을 줄여야 하는데, 이로 인해 심볼 간 간섭(intersymbol interferences, ISI) 및 트랙 간 간섭(intertrack interferences, ITI) 문제가 발생하게 된다.
따라서, 이러한 BPMR 에 대한 ISI와 ITI 의 문제를 완화시키기 위한 다양한 신호 처리 기술이 개발되었다.
이러한 신호 처리 기술 중 하나로서, 하나의 비트에 대한 값을 0 에서 1 로 또는 1 에서 0 으로 바꾸거나 부호를 변경하는 방식으로 오류로 예측되는 데이터의 값을 바꾸는 비트 플리핑(Bit flipping, BF) 기술이 고려될 수 있다.
예컨대, 종래의 비트 플리핑 기술 중 하나인 저밀도 패리티 검사(Low-density parity check, LDPC) 디코더는 오류 정정 부호의 특성을 활용하여 오류로 예측되는 비트의 부호를 변경하는 기술로서, 이러한 종래의 비트 플리핑 기술은 송신단측의 인코더와 수신단측의 디코더가 별도로 필요하게 되어 시스템의 복잡도가 증가되고 데이터 부효율이 낮아지게 하는 문제점이 있다.
따라서, 시스템의 복잡도를 증가시키기 않고 데이터 부효율을 높일 수 있는 비트 플리핑 기술이 필요한 실정이다.
한국 공개특허공보 제10-2010-0080691호
본 발명의 일 측면에 따르면, 입력 데이터의 2차원 배열 패턴에 기초하여 입력 데이터 시퀀스를 생성하고, 입력 데이터 시퀀스를 적어도 어느 하나의 클러스터에 분류한 뒤, 분류된 클러스터에 기초하여 입력데이터 중 오류가 발생한 비트에 대해 비트 플리핑을 수행하는 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램을 제공하는데 그 목적이 있다.
본 발명의 일 실시예에 따른 비트 플리핑 장치는 2차원 배열 패턴을 갖는 입력데이터에 대한 비트 플리핑 장치로서, 상기 입력데이터의 2차원 배열 패턴에 기초하여 적어도 하나 이상의 입력 데이터 시퀀스(sequence)를 생성하고, 상기 입력 데이터 시퀀스를 미리 설정된 방식에 따라 적어도 어느 하나의 클러스터에 분류하는 클러스터링부 및 상기 분류된 클러스터에 기초하여 상기 입력데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑(bit flipping)을 수행하는 비트 플리핑부를 포함한다.
한편, 입력데이터는, 소정의 채널을 통과한 리드백(readback) 신호를 부분응답(Partial Response)의 펄스(pulse) 형태로 등화시키고, 연판정 비터비 알고리즘에 따라 복호화하는 부분 응답 최대 유사도 검출기(partial response maximum likelihood, PRML)로부터의 출력값일 수 있다.
또한, 입력데이터는, 다운 트랙(down-track) 방향의 복수의 아일랜드(island)와, 크로스 트랙(cross-track) 방향의 복수의 아일랜드로 구성되는 상기 2차원 배열 패턴을 갖을 수 있다.
또한, 클러스터링부는, 소정의 중심 비트와 상기 중심 비트와 인접하는 적어도 하나 이상의 이웃 비트를 추출하여 상기 입력 데이터 시퀀스를 생성하고, 상기 입력 데이터 시퀀스를 구성하는 비트의 수에 기초하여 클러스터의 수를 설정하고 상기 설정된 클러스터의 수만큼 센트로이드(centroid)를 초기화하는 전처리부, 상기 입력 데이터 시퀀스와 가장 가까운 클러스터에 상기 입력 데이터 시퀀스를 분류하는 분류부 및 상기 분류된 클러스터의 인덱스(index) 값을 바이너리 시퀀스(binary sequence)로 변환하는 변환부를 포함할 수 있다.
또한, 비트 플리핑부는 상기 변환된 바이너리 시퀀스와 상기 입력 데이터 시퀀스의 각 성분의 부호를 비교하여 상기 부호가 상이한 상기 입력 데이터 시퀀스의 부호를 변경함으로써, 상기 입력 데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑을 수행하는 것일 수 있다.
또한, 미리 설정된 방식은 K-mean 알고리즘을 따를 수 있다.
또한, 전처리부는, 소정의 아일랜드에 위치한 상기 중심 비트를 샘플링(sampling)하고, 상기 중심 비트가 샘플링된 아일랜드를 기준으로 다운 트랙 방향의 적어도 하나 이상의 아일랜드 또는 크로스 트랙 방향의 적어도 하나 이상의 아일랜드에서 상기 이웃 비트를 샘플링하여 상기 입력 데이터 시퀀스를 생성하는 것일 수 있다.
또한, 전처리부는, 소정의 아일랜드에 위치한 상기 중심 비트를 샘플링(sampling)하고, 상기 중심 비트가 샘플링된 아일랜드를 기준으로 다운 트랙 방향의 적어도 하나 이상의 아일랜드 및 크로스 트랙 방향의 적어도 하나 이상의 아일랜드에서 상기 이웃 비트를 샘플링하여 상기 입력 데이터 시퀀스를 생성하는 것일 수 있다.
또한, 전처리부는, 소정의 아일랜드에 위치한 상기 중심 비트를 샘플링하고, 상기 중심 비트가 샘플링된 아일랜드와 인접한 모든 아일랜드에서 상기 이웃 비트를 샘플링하여 상기 입력 데이터 시퀀스를 생성하는 것일 수 있다.
본 발명의 다른 실시예에 따른 비트 플리핑 방법은, 비트 플리핑 장치에서 수행되는 2차원 배열 패턴을 갖는 입력데이터에 대한 비트 플리핑 방법으로서, 상기 입력데이터의 2차원 배열 패턴에 기초하여 적어도 하나 이상의 입력 데이터 시퀀스(sequence)를 생성하고, 상기 입력 데이터 시퀀스를 미리 설정된 방식에 따라 적어도 어느 하나의 클러스터에 분류하는 단계 및 상기 분류된 클러스터에 기초하여 상기 입력 데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑(bit flipping)을 수행하는 단계를 포함한다.
한편, 입력데이터는, 소정의 채널을 통과한 리드백(readback) 신호를 부분응답(Partial Response)의 펄스(pulse) 형태로 등화시키고, 연판정 비터비 알고리즘에 따라 복호화하는 부분 응답 최대 유사도 검출기(partial response maximum likelihood, PRML)로부터의 출력값일 수 있다.
또한, 적어도 어느 하나의 클러스터에 분류하는 단계는, 소정의 중심 비트와 상기 중심 비트와 인접하는 적어도 하나 이상의 이웃 비트를 추출하여 상기 입력 데이터 시퀀스를 생성하고, 상기 입력 데이터 시퀀스를 구성하는 비트의 수에 기초하여 클러스터의 수를 설정하고 상기 설정된 클러스터의 수만큼 센트로이드(centroid)를 초기화하는 전처리 단계, 상기 입력 데이터 시퀀스와 가장 가까운 클러스터에 상기 입력 데이터 시퀀스를 분류하는 분류 단계 및 상기 분류된 클러스터의 인덱스(index) 값을 바이너리 시퀀스(binary sequence)로 변환하는 변환 단계를 포함할 수 있다.
또한, 비트 플리핑을 수행하는 단계는, 상기 변환된 바이너리 시퀀스와 상기 입력 데이터 시퀀스의 각 성분의 부호를 비교하여 상기 부호가 상이한 상기 입력 데이터 시퀀스의 부호를 변경함으로써, 상기 입력 데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑을 수행하는 것일 수 있다.
또한, 미리 설정된 방식은 K-mean 알고리즘을 따를 수 있다.
또한, 본 발명의 또 다른 실시예는 비트 플리핑 방법을 실행하도록 구성된, 컴퓨터로 판독가능한 기록매체에 저장된 컴퓨터 판독가능한 프로그램을 포함할 수 있다.
상술한 본 발명에 따르면, 부분 응답 최대 유사도(partial response maximum likelihood, PRML) 검출기의 출력측에 결합하여 PRML 검출기의 출력값을 적어도 어느 하나의 클러스터에 분류하고 분류된 결과에 기초하여 비트플리핑을 수행하므로, 기존의 오류 정정 부호 기반의 비트 플리핑 방식에 비해 시스템의 복잡도를 감소시키면서 부효율을 개선할 수 있는 이점을 갖는다.
도 1 은 본 발명의 일 실시예에 따른 비트 플리핑 장치가 적용된 BPMR 시스템의 일 예를 도시한 도면이다.
도 2 는 본 발명의 일 실시예에 따른 비트 플리핑 장치의 구성을 도시한 도면이다.
도 3 은 도 2 에 도시된 클러스터링부의 구체적인 구성을 도시한 도면이다.
도 4 는 BPMR 시스템의 신호 처리 과정의 일 예를 도시한 도면이다.
도 5 는 전처리부에서 입력 데이터 시퀀스를 생성하는 과정의 일 예를 도시한 도면이다.
도 6 은 본 발명의 다른 실시예에 따른 비트 플리핑 방법을 도시한 순서도이다.
도 7 은 본 발명에 따른 비트 에러율(bit error rate, BER) 을 도시한 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1 은 본 발명의 일 실시예에 따른 비트 플리핑 장치가 적용된 BPMR 시스템의 일 예를 도시한 도면이고, 도 2 는 본 발명의 일 실시예에 따른 비트 플리핑 장치의 구성을 도시한 도면이며, 도 3 은 도 2 에 도시된 클러스터링부의 구체적인 구성을 도시한 도면이고, 도 4 는 BPMR 시스템의 신호 처리 과정의 일 예를 도시한 도면이며, 도 5 는 전처리부에서 입력 데이터 시퀀스를 생성하는 과정의 일 예를 도시한 도면이다.
본 실시예에 따른 BPMR 시스템은 BPMR 채널을 통과한 신호를 검출하는 시스템으로서, BPMR 채널(10), BPMR 채널(10)을 통과한 신호를 검출하기 위한 장치(1000)를 포함한다.
먼저, 입력 신호()는 BPMR 채널(10)을 통과하여 AWGN(Addictive White Gaussian Noise)이 추가된 리드백(readback) 신호() 상태로 장치(1000)에 입력된다.
장치(1000)는 비트 패턴 매체에 정보를 기록하거나 기록된 정보를 재생할 수 있다. 이러한 장치(1000)는 이동성을 갖거나 고정될 수 있다. 예컨대, 장치(1000)는 서버(server) 또는 엔진(engine) 형태일 수 있으며, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다. 또한, 장치는 운영체제(Operation System, OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 운영체제는 소프트웨어가 장치(1000)의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.
특히, 본 실시예에 따른 장치(1000)는 BPMR 채널(10)을 통과한 신호를 검출하기 위해, 부분 응답의 최대 유사도 기반으로 신호를 검출하고 검출된 신호 중 오류가 발생한 비트에 대해 비트 플리핑을 수행하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있다. 이하에서는, 이러한 장치(1000)의 구체적인 구성에 대해 설명한다.
장치(1000)는 부분 응답 최대 유사도(partial response maximum likelihood, PRML) 검출기(20)와 비트 플리핑 장치(100)를 포함한다. PRML 검출기(20)와 비트 플리핑 장치(100)는 하나 또는 별도의 장치로 구성될 수 있다.
먼저, PRML 검출기(20)는 고밀도의 하드 디스크나 광자기 디스크에 기록된 데이터의 기록 재생에 이용되는 신호 처리기로서, 급격하고 날카로운 차단 특성을 사용하지 않고 대역을 제한하여 기록 밀도를 높이는 부분 응답(Partial Response, PR) 방식과, 데이터 기록시에 전후의 상관관계를 갖도록 끼워넣은 부호화된 데이터 계열과 가장 근사한 계열을 선택해서 재생하는 비터비 복호방식을 결합한 신호 처리기이다. 이로써, ISI 와 ITI의 문제를 최소화할 수 있다.
이를 위해, 본 실시예에 따른 PRML 검출기(20)는 등화기(21)와 SOVA 복호기(22)를 포함한다.
등화기(21)는 리드백 신호()를 부분응답(Partial Response)의 펄스(pulse) 형태로 등화시키고, 등화시킨 신호()를 SOVA 복호기(22) 측으로 출력한다. 예컨대, 등화기(21)는 MMSE(minimum mean square error)에 기반한 1D GPR(general partial response) 타겟을 갖는 2D-MMSE 등화기일 수 있으며, 이에 한정되지 않는다.
SOVA 복호기(22)는 등화기(21) 측 출력신호()를 연판정 비터비 알고리즘에 따라 복호화하여 연판정 값()을 출력하며, 상기 연판정 값()은 비트 플리핑 장치(100)로 입력된다. 이러한 SOVA 복호기(22)는 1D SOVA Detector 로 구성될 수 있으며, 이에 한정되지 않는다.
본 실시예에 따른 비트 플리핑 장치(100)는 PRML 검출기(20)의 출력측, 보다 상세하게는, SOVA 복호기(22)의 출력측에 결합하여 연판정 값()에 포함된 오류가 발생한 비트에 대해 비트 플리핑을 수행한다. 이를 위해, 비트 플리핑 장치(100)는 클러스터링부(110)와 비트 플리핑부(120)를 포함한다.
클러스터링부(110)는 2차원 배열 패턴을 갖는 연판정 값()을 입력데이터로 하여 상기 입력데이터()의 2차원 배열 패턴에 기초하여 입력 데이터 시퀀스를 생성하고, 미리 설정된 방식에 따라 입력 데이터 시퀀스를 적어도 어느 하나의 클러스터에 분류한다.
여기서, 미리 설정된 방식은 비지도적 학습 방식인 K-mean 알고리즘을 따를 수 있다. K-mean 알고리즘은 prototype-based 클러스터들이 생성되는 partitioning clustering 기법 중 하나로서, 유사한 샘플들을 식별하고 이들을 클러스터에 배정하는 반복적인 클러스터링 기법이다. 보다 구체적으로, K-mean 알고리즘에 따른 클러스터링 방법은, 먼저 센트로이드(centroid)의 위치를 초기화하는 단계, 새로운 데이터들을 추가하면서 추가된 데이터들의 평균값으로 센트로이드의 위치를 조정하는 단계 및 센트로이드의 위치가 동일할 때까지 상기 단계들을 반복하여 각 데이터들을 최근접 센트로이드가 있는 클러스터에 분류하는 단계로 이루어진다. 따라서, 본 실시예에 따르면 지도적 학습 방식을 따르는 머신러닝 기술과 달리 별도의 학습 및 트레이닝 과정이 요구되지 않는다.
이하에서는 K-mean 알고리즘에 따라 입력 데이터 시퀀스를 클러스터링하는 클러스터링부(110)의 구체적인 구성에 대해 설명한다.
클러스터링부(110)는 전처리부(111), 분류부(112) 및 변환부(113)를 포함한다.
전처리부(111)는 소정의 중심 비트와 상기 중심 비트와 인접하는 적어도 하나 이상의 이웃 비트를 추출하여 상기 입력 데이터 시퀀스를 생성한다. 이때, 중심 비트는 입력데이터의 2차원 배열 패턴에 기초하여 샘플링 될 수 있다.
한편, 입력데이터는 다운 트랙(down-track) 방향의 복수의 아일랜드(island)와, 크로스 트랙(cross-track) 방향의 복수의 아일랜드로 구성되는 2차원 배열 패턴을 갖으며, 각 아일랜드는 1 비트를 저장할 수 있다. 예컨대, 연판정 값()이 아래 수학식 1 에 따른 3×3 의 2차원 배열을 갖을 경우, 도 5 와 같이 구성된 3×3 의 2차원 배열 패턴에서 연판정 값()의 각 성분이 대응하는 위치의 아일랜드에 저장되는 것이다.
[수학식 1]
=
전처리부(111)는, 이러한 2차원 배열 패턴에 기초하여 소정의 아일랜드에 위치한 중심 비트를 샘플링(sampling)하고, 상기 중심 비트가 샘플링된 아일랜드를 기준으로 다운 트랙 방향의 적어도 하나 이상의 아일랜드 또는 크로스 트랙 방향의 적어도 하나 이상의 아일랜드에서 상기 이웃 비트를 샘플링하여 상기 입력 데이터 시퀀스를 생성하는 것일 수 있다. 예컨대, 전처리부(111)는 도 5 의 (a) 와 같이, 중심 비트() 를 중심으로 다운 트랙방향으로 2개의 아일랜드에서 이웃 비트()를 샘플링할 수 있으며, 이를 통해, 아래 수학식 2 를 따르는 제 1 입력 데이터 시퀀스()를 생성할 수 있다.
[수학식 2]
또한, 전처리부(111)는 도 5 의 (b) 와 같이, 중심 비트() 를 중심으로 크로스 트랙방향으로 2개의 아일랜드에서 이웃 비트()를 샘플링할 수 있으며, 이를 통해, 아래 수학식 3 을 따르는 제 2 입력 데이터 시퀀스()를 생성할 수 있다.
[수학식 3]
또한, 전처리부(111)는, 소정의 아일랜드에 위치한 상기 중심 비트를 샘플링(sampling)하고, 상기 중심 비트가 샘플링된 아일랜드를 기준으로 다운 트랙 방향의 적어도 하나 이상의 아일랜드 및 크로스 트랙 방향의 적어도 하나 이상의 아일랜드에서 상기 이웃 비트를 샘플링하여 상기 입력 데이터 시퀀스를 생성하는 것일 수 있다. 예컨대, 전처리부(111)는 도 5 의 (c) 와 같이, 중심 비트() 를 중심으로 다운 트랙방향으로 2개의 아일랜드와 크로스 트랙 방향으로 2개의 아일랜드에서 이웃 비트()를 샘플링할 수 있으며, 이를 통해, 아래 수학식 4 를 따르는 제 3 입력 데이터 시퀀스()를 생성할 수 있다.
[수학식 4]
또한, 전처리부(111)는, 소정의 아일랜드에 위치한 상기 중심 비트를 샘플링하고, 상기 중심 비트가 샘플링된 아일랜드와 인접한 모든 아일랜드에서 상기 이웃 비트를 샘플링하여 상기 입력 데이터 시퀀스를 생성하는 것일 수 있다. 예컨대, 전처리부(111)는 도 5 의 (d) 와 같이, 중심 비트() 와 인접한 모든 아일랜드에서 이웃 비트 () 를 샘플링할 수 있으며, 이를 통해, 아래 수학식 5 를 따르는 제 4 입력 데이터 시퀀스()를 생성할 수 있다.
[수학식 5]
한편, 본 실시예에 따른 전처리부(111)는 중심 비트가 위치한 아일랜드를 기준으로 다운트랙 방향과 크로스 트랙 방향으로 인접한 아일랜드에서 이웃 비트를 샘플링하여 입력 데이터 시퀀스를 생성하였으나, 이는 일 예일 뿐, 다른 방식으로 2차원 배열 패턴에서 상호 이웃하는 소정의 아일랜드에서 비트를 샘플링하여 입력 데이터 시퀀스를 생성할 수 있음은 물론이다.
전처리부(111)는 상술한 바와 같은 입력 데이터 시퀀스를 구성한 뒤 해당 입력 데이터 시퀀스를 구성하는 비트 수에 기초하여 클러스터의 수를 설정하고 상기 설정된 클러스터의 수만큼 센트로이드(centroid)를 초기화한다. 전처리부(111)는 입력 데이터 시퀀스를 구성하는 비트의 수(L)를 카운팅하고, 해당 입력 데이터 시퀀스가 분류될 후보 클러스터의 수를 개로 설정한다. 또한, 전처리부(111)는 이렇게 설정된 클러스터의 각 중심인 센트로이드의 위치를 초기화한다. 예컨대, 입력 데이터 시퀀스를 구성하는 비트의 수가 3 개이면, 클러스터의 수는 인 8개이며, 해당 입력 데이터 시퀀스는 8 개의 후보 클러스터 중 어느 하나의 클러스터에 분류될 수 있는 것이다. 또한, 전처리부는 8 개의 클러스터의 각 중심인 센트로이드의 위치를 {[-1, -1, -1], [-1, -1, 1], [-1, 1, -1], [-1, 1, 1], [1, -1, -1], [1, -1, 1], [1, 1, -1], [1, 1, 1]} 로 초기화할 수 있다.
분류부(112)는 상술한 K-mean 알고리즘에 따라 입력 데이터 시퀀스를 가장 유사한 데이터가 분류된 클러스터에 분류한다. 분류부(112)는 상기 입력 데이터 시퀀스와 가장 가까운 클러스터에 상기 입력 데이터 시퀀스를 분류할 수 있다.
변환부(113)는 분류된 클러스터의 인덱스(index) 값을 바이너리 시퀀스(binary sequence)로 변환한다. 변환부(113)는 PRML 검출기(20)의 출력값 ()과 비교하기 위해, 십진수인 인덱스 값을 바이너리 시퀀스의 형태로 변환하고, 이를 비트 플리핑부(120) 측으로 출력()한다.
비트 플리핑부(120)는 클러스터링부(110)에 의해 분류된 클러스터에 기초하여 상기 입력데이터 중 오류가 발생한 비트에 대해 비트 플리핑(bit flipping)을 수행한다. 보다 구체적으로, 비트 플리핑부(120)는 아래 수학식 6 에서와 같이, 변환부(113)에 의해 바이너리 시퀀스로 변환된 클러스터의 인덱스 값()과 입력데이터 시퀀스의 각 성분값의 부호를 비교하고, 비교결과 상호 부호가 상이한 입력데이터 시퀀스의 해당 성분값의 부호를 변경하여 출력()한다.
[수학식 6]
예컨대, 도 4 에서와 같이, PRML 검출기(20)의 출력값()이 [-3.99,-1.51,4.71; 3.52,-0.04,2.58; 4.14,-2.14,5.21] 을 따르고, 입력 데이터 시퀀스가 [-1.51,3.52,-0.04,2.58,-2.14] 이며 K-mean 알고리즘에 따라 해당 입력 데이터 시퀀스가 '인덱스 14' 의 클러스터에 분류되었다면, '14'의 바이너리 시퀀스 값인 [-1,1,1,1,-1] 이 클러스터링부(110)의 출력값으로 출력되며, 비트 플리핑부(120)는 대응하는 입력 데이터 시퀀스와([-1.51,3.52,-0.04,2.58,-2.14]) 클러스터링부(110)의 출력값([-1,1,1,1,-1]) 을 비교한 뒤, 상호 부호가 상이한 입력 데이터 시퀀스의 성분('-0.04')을 확인하고, 해당 값의 부호를 변경하여 출력('0.04')하는 것이다.
상술한 본 발명에 따르면, 부분 응답 최대 유사도(partial response maximum likelihood, PRML) 검출기의 출력측에 비트 플리핑 장치가 결합되어 PRML 검출기의 출력값을 적어도 어느 하나의 클러스터에 분류하고 분류된 결과에 기초하여 비트플리핑을 수행하므로, 기존의 오류 정정 부호 기반의 비트 플리핑 방식에 비해 시스템의 복잡도를 감소시키면서 부효율을 개선할 수 있는 이점을 갖는다.
도 6 은 본 발명의 다른 실시예에 따른 비트 플리핑 방법을 도시한 순서도이다.
본 실시예에 따른 비트 플리핑 방법은, 비트 플리핑 장치에서 수행되는 2차원 배열 패턴을 갖는 입력데이터에 대한 비트 플리핑 방법으로서, 클러스터링부(110)에서 상기 입력데이터로부터 상기 2차원 배열 패턴에 기초하여 적어도 하나 이상의 입력 데이터 시퀀스(sequence)를 생성하고, 상기 입력 데이터 시퀀스를 미리 설정된 방식에 따라 적어도 어느 하나의 클러스터에 분류하는 단계(S10)와, 비트플리핑부(120)에서 상기 분류된 클러스터에 기초하여 상기 입력데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑(bit flipping)을 수행하는 단계(S20)를 포함한다.
한편, 입력데이터는, 소정의 채널을 통과한 리드백(readback) 신호를 부분응답(Partial Response)의 펄스(pulse) 형태로 등화시키고, 연판정 비터비 알고리즘에 따라 복호화하는 부분 응답 최대 유사도(partial response maximum likelihood, PRML) 검출기로부터의 출력값일 수 있다.
또한, 적어도 어느 하나의 클러스터에 분류하는 단계(S10)는, K-mean 알고리즘을 따르며, 보다 상세하게는, 소정의 중심 비트와 상기 중심 비트와 인접하는 적어도 하나 이상의 이웃 비트를 추출하여 상기 입력 데이터 시퀀스를 생성하고, 상기 입력 데이터 시퀀스를 구성하는 비트의 수에 기초하여 클러스터의 수를 설정하고 상기 설정된 클러스터의 수만큼 센트로이드(centroid)를 초기화하는 전처리 단계, 상기 입력 데이터 시퀀스와 가장 가까운 클러스터에 상기 입력 데이터 시퀀스를 분류하는 분류 단계 및 상기 분류된 클러스터의 인덱스(index) 값을 바이너리 시퀀스(binary sequence)로 변환하는 변환 단계를 포함할 수 있다.
또한, 비트 플리핑을 수행하는 단계(S20)는, 상기 변환된 바이너리 시퀀스와 상기 입력 데이터 시퀀스의 각 성분의 부호를 비교하여 상기 부호가 상이한 상기 입력 데이터 시퀀스의 부호를 변경함으로써, 상기 입력 데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑을 수행하는 것일 수 있다.
도 7 은 도 6 에 도시된 비트 플리핑 방법에 따른 비트 에러율(bit error rate, BER) 을 도시한 도면으로서, 도 7 에 따르면, 입력 데이터 시퀀스의 성분이 많을수록 비트 플리핑이 효과적임을 알 수 있다. 즉, 주변 데이터를 많이 고려할수록 그 성능이 향상되는 것이다.
이상에서 설명한 실시예들에 따른 비트 플리핑 방법에 의한 동작은 적어도 부분적으로 컴퓨터 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 실시예들에 따른 비트 플리핑 방법에 의한 동작을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인 프로그램, 코드 및 코드 세그먼트(segment)들은 본 실시예가 속하는 기술 분야의 통상의 기술자에 의해 용이하게 이해될 수 있을 것이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 비트 플리핑 장치
110: 클러스터링부
120: 비트플리핑부

Claims (15)

  1. 2차원 배열 패턴을 갖는 입력데이터에 대한 비트 플리핑 장치로서,
    상기 입력데이터의 2차원 배열 패턴에 기초하여 적어도 하나 이상의 입력 데이터 시퀀스(sequence)를 생성하고, 상기 입력 데이터 시퀀스를 미리 설정된 방식에 따라 적어도 어느 하나의 클러스터(cluster)에 분류하는 클러스터링부; 및
    상기 분류된 클러스터에 기초하여 상기 입력데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑(bit flipping)을 수행하는 비트 플리핑부를 포함하는 비트 플리핑 장치.
  2. 제 1 항에 있어서,
    상기 입력데이터는,
    소정의 채널을 통과한 리드백(readback) 신호를 부분응답(Partial Response)의 펄스(pulse) 형태로 등화시키고, 연판정 비터비 알고리즘에 따라 복호화하는 부분 응답 최대 유사도 (partial response maximum likelihood, PRML) 검출기로부터의 출력값인, 비트 플리핑 장치.
  3. 제 2 항에 있어서,
    상기 입력데이터는,
    다운 트랙(down-track) 방향의 복수의 아일랜드(island)와, 크로스 트랙(cross-track) 방향의 복수의 아일랜드로 구성되는 상기 2차원 배열 패턴을 갖는, 비트 플리핑 장치.
  4. 제 3 항에 있어서,
    상기 클러스터링부는,
    소정의 아일랜드에 위치한 중심 비트와 상기 중심 비트와 인접하는 적어도 하나 이상의 이웃 비트를 추출하여 상기 입력 데이터 시퀀스를 생성하고, 상기 입력 데이터 시퀀스를 구성하는 비트의 수에 기초하여 클러스터의 수를 설정하고 상기 설정된 클러스터의 수만큼 클러스터의 각 중심인 센트로이드(centroid)를 초기화하는 전처리부;
    상기 입력 데이터 시퀀스와 가장 가까운 센트로이드가 있는 클러스터에 상기 입력 데이터 시퀀스를 분류하는 분류부; 및
    상기 분류된 클러스터의 인덱스(index) 값을 바이너리 시퀀스(binary sequence)로 변환하는 변환부를 포함하는, 비트 플리핑 장치.
  5. 제 4 항에 있어서,
    상기 비트 플리핑부는
    상기 변환된 바이너리 시퀀스와 상기 입력 데이터 시퀀스의 각 성분의 부호를 비교하여 상기 부호가 상이한 상기 입력 데이터 시퀀스의 부호를 변경함으로써, 상기 입력 데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑을 수행하는 것인, 비트 플리핑 장치.
  6. 제 1 항에 있어서,
    상기 미리 설정된 방식은 K-mean 알고리즘을 따르는, 비트 플리핑 장치.
  7. 제 4 항에 있어서,
    상기 전처리부는,
    소정의 아일랜드에 위치한 상기 중심 비트를 샘플링(sampling)하고, 상기 중심 비트가 샘플링된 아일랜드를 기준으로 다운 트랙 방향의 적어도 하나 이상의 아일랜드 또는 크로스 트랙 방향의 적어도 하나 이상의 아일랜드에서 상기 이웃 비트를 샘플링하여 상기 입력 데이터 시퀀스를 생성하는 것인, 비트 플리핑 장치.
  8. 제 4 항에 있어서,
    상기 전처리부는,
    소정의 아일랜드에 위치한 상기 중심 비트를 샘플링(sampling)하고, 상기 중심 비트가 샘플링된 아일랜드를 기준으로 다운 트랙 방향의 적어도 하나 이상의 아일랜드 및 크로스 트랙 방향의 적어도 하나 이상의 아일랜드에서 상기 이웃 비트를 샘플링하여 상기 입력 데이터 시퀀스를 생성하는 것인, 비트 플리핑 장치.
  9. 제 4 항에 있어서,
    상기 전처리부는,
    소정의 아일랜드에 위치한 상기 중심 비트를 샘플링하고, 상기 중심 비트가 샘플링된 아일랜드와 인접한 모든 아일랜드에서 상기 이웃 비트를 샘플링하여 상기 입력 데이터 시퀀스를 생성하는 것인, 비트 플리핑 장치.
  10. 비트 플리핑 장치에서 수행되는 2차원 배열 패턴을 갖는 입력데이터에 대한 비트 플리핑 방법으로서,
    상기 입력데이터의 2차원 배열 패턴에 기초하여 적어도 하나 이상의 입력 데이터 시퀀스(sequence)를 생성하고, 상기 입력 데이터 시퀀스를 미리 설정된 방식에 따라 적어도 어느 하나의 클러스터에 분류하는 단계; 및
    상기 분류된 클러스터에 기초하여 상기 입력 데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑(bit flipping)을 수행하는 단계를 포함하는 비트 플리핑 방법.
  11. 제 10 항에 있어서,
    상기 입력데이터는,
    소정의 채널을 통과한 리드백(readback) 신호를 부분응답(Partial Response)의 펄스(pulse) 형태로 등화시키고, 연판정 비터비 알고리즘에 따라 복호화하는 부분 응답 최대 유사도(partial response maximum likelihood, PRML) 검출기로부터의 출력값인, 비트 플리핑 방법.
  12. 제 11 항에 있어서,
    상기 적어도 어느 하나의 클러스터에 분류하는 단계는,
    소정의 중심 비트와 상기 중심 비트와 인접하는 적어도 하나 이상의 이웃 비트를 추출하여 상기 입력 데이터 시퀀스를 생성하고, 상기 입력 데이터 시퀀스를 구성하는 비트의 수에 기초하여 클러스터의 수를 설정하고 상기 설정된 클러스터의 수만큼 클러스터의 각 중심인 센트로이드(centroid)를 초기화하는 전처리 단계;
    상기 입력 데이터 시퀀스와 가장 가까운 센트로이드가 있는 클러스터에 상기 입력 데이터 시퀀스를 분류하는 분류 단계; 및
    상기 분류된 클러스터의 인덱스(index) 값을 바이너리 시퀀스(binary sequence)로 변환하는 변환 단계를 포함하는, 비트 플리핑 방법.
  13. 제 12 항에 있어서,
    상기 비트 플리핑을 수행하는 단계는,
    상기 변환된 바이너리 시퀀스와 상기 입력 데이터 시퀀스의 각 성분의 부호를 비교하여 상기 부호가 상이한 상기 입력 데이터 시퀀스의 부호를 변경함으로써, 상기 입력 데이터 시퀀스 중 오류가 발생한 비트에 대해 비트 플리핑을 수행하는 것인, 비트 플리핑 방법.
  14. 제 10 항에 있어서,
    상기 미리 설정된 방식은 K-mean 알고리즘을 따르는, 비트 플리핑 방법.
  15. 제 10 항에 기재된, 비트 플리핑 방법을 실행하도록 구성된, 컴퓨터로 판독가능한 기록매체에 저장된 컴퓨터 판독가능한 프로그램.
KR1020220000909A 2022-01-04 2022-01-04 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램 KR102598093B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220000909A KR102598093B1 (ko) 2022-01-04 2022-01-04 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램
US17/861,509 US11791841B2 (en) 2022-01-04 2022-07-11 Bit flipping device and method and computer readable program for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220000909A KR102598093B1 (ko) 2022-01-04 2022-01-04 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램

Publications (2)

Publication Number Publication Date
KR20230105483A KR20230105483A (ko) 2023-07-11
KR102598093B1 true KR102598093B1 (ko) 2023-11-06

Family

ID=86991154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220000909A KR102598093B1 (ko) 2022-01-04 2022-01-04 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램

Country Status (2)

Country Link
US (1) US11791841B2 (ko)
KR (1) KR102598093B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190068220A1 (en) 2017-08-29 2019-02-28 Sk Hynix Memory Solutions Inc. Memory system with ldpc decoder and method of operating such memory system and ldpc decoder
KR101973329B1 (ko) 2018-08-03 2019-04-26 숭실대학교산학협력단 엇갈린 배열 형태를 갖는 2차원 비트 패턴 매체의 신호 검출 방법, 이를 수행하기 위한 기록매체 및 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748593A (en) * 1995-06-02 1998-05-05 Nikon Corporation Data reproduction apparatus
US7296216B2 (en) * 2003-01-23 2007-11-13 Broadcom Corporation Stopping and/or reducing oscillations in low density parity check (LDPC) decoding
JP4460412B2 (ja) 2003-11-26 2010-05-12 パナソニック株式会社 受信装置及び部分ビット判定方法
US7725800B2 (en) * 2005-08-05 2010-05-25 Hitachi Global Stroage Technologies Netherlands, B.V. Decoding techniques for correcting errors using soft information
US8407563B2 (en) * 2008-12-31 2013-03-26 Stmicroelectronics, Inc. Low-complexity soft-decision decoding of error-correction codes
KR101539002B1 (ko) 2009-01-02 2015-07-24 삼성전자주식회사 1-비트용 에러 정정 장치 및 그 방법
US9337873B2 (en) * 2013-05-24 2016-05-10 SK Hynix Inc. Miscorrection detection for error correcting codes using bit reliabilities
KR102296738B1 (ko) 2015-06-01 2021-09-01 삼성전자 주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법
CN112702080B (zh) 2020-12-16 2022-10-28 中国人民解放军国防科技大学 基于K-means算法的直扩信号和伪码估计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190068220A1 (en) 2017-08-29 2019-02-28 Sk Hynix Memory Solutions Inc. Memory system with ldpc decoder and method of operating such memory system and ldpc decoder
KR101973329B1 (ko) 2018-08-03 2019-04-26 숭실대학교산학협력단 엇갈린 배열 형태를 갖는 2차원 비트 패턴 매체의 신호 검출 방법, 이를 수행하기 위한 기록매체 및 장치

Also Published As

Publication number Publication date
US20230216523A1 (en) 2023-07-06
US11791841B2 (en) 2023-10-17
KR20230105483A (ko) 2023-07-11

Similar Documents

Publication Publication Date Title
US6201652B1 (en) Method and apparatus for reading and writing gray code servo data to magnetic medium using synchronous detection
US7113356B1 (en) Method for checking the quality of servo gray codes
US6842410B1 (en) Digital automatic gain control of a multilevel optical disc read signal
US9026572B2 (en) Systems and methods for anti-causal noise predictive filtering in a data channel
Wang et al. Improved multitrack detection with hybrid 2-D equalizer and modified Viterbi detector
US6233715B1 (en) Synchronous servo gray code detector using a PR4 matched filter
Kovintavewat et al. A rate-8/9 2-D modulation code for bit-patterned media recording
US7586704B2 (en) Method and apparatus for improving threshold detection of servo data in the presence of signal asymmetry
Yao et al. Two-track joint detection for two-dimensional magnetic recording (TDMR)
Nishikawa et al. A study on iterative decoding with LLR modulator by neural network using adjacent track information in SMR system
Nishikawa et al. A Study on Performance Evaluation With Neural Network Detector in SMR System
KR102598093B1 (ko) 비트 플리핑 장치, 방법 및 이를 위한 컴퓨터 판독가능 프로그램
EP2665191B1 (en) Systems and methods for dual binary and non-binary decoding
US6201485B1 (en) High rate runlength limited codes for 8-bit ECC symbols
Nishikawa et al. A study on iterative decoding with LLR modulator using neural network in SMR system
US20050174262A1 (en) Rate-13/15 maximum transition run code encoding and decoding method and apparatus
US9047882B2 (en) Systems and methods for multi-level encoding and decoding
US6678105B2 (en) Nonlinear equalizer and decoding circuit and method using same
US8130618B2 (en) Disk apparatus to which iterative decoding is applied and method for operating log likelihood ratios in the same
US7006019B2 (en) Rate-7/8 maximum transition run code encoding and decoding method and apparatus
US6597295B1 (en) Decoding apparatus and decoding method
KR20130129094A (ko) 심볼 재그룹화 디코딩 프로세싱을 위한 시스템 및 방법
JP3896661B2 (ja) トレリス符号化方法
Nakamura et al. Nonbinary LDPC coding and iterative decoding system with 2-D equalizer for TDMR R/W channel using discrete Voronoi model
Mehrnoush et al. Signal processing and coding system for TDMR data from grain-flipping probability model

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant