KR20130069392A - 저장 디바이스에서의 비순서적 리포팅을 처리하기 위한 시스템 및 방법 - Google Patents

저장 디바이스에서의 비순서적 리포팅을 처리하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20130069392A
KR20130069392A KR1020120131265A KR20120131265A KR20130069392A KR 20130069392 A KR20130069392 A KR 20130069392A KR 1020120131265 A KR1020120131265 A KR 1020120131265A KR 20120131265 A KR20120131265 A KR 20120131265A KR 20130069392 A KR20130069392 A KR 20130069392A
Authority
KR
South Korea
Prior art keywords
output
data
data set
circuit
host
Prior art date
Application number
KR1020120131265A
Other languages
English (en)
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 엘에스아이 코포레이션
Publication of KR20130069392A publication Critical patent/KR20130069392A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • 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/18Error detection or correction; Testing, e.g. of drop-outs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 다양한 실시예는 저장 디바이스에서 비순서적 리포팅을 처리하기 위한 시스템 및 방법을 제공한다.

Description

저장 디바이스에서의 비순서적 리포팅을 처리하기 위한 시스템 및 방법{SYSTEMS AND METHODS FOR HANDLING OUT OF ORDER REPORTING IN A STORAGE DEVICE}
본 발명은 정보를 검출 및/또는 디코딩하기 위한 시스템 및 방법, 더 구체적으로는 데이터 프로세싱 시스템에서의 비순서적 프로세싱(out of order processing)을 위한 시스템 및 방법에 관한 것이다.
다양한 데이터 전송 시스템은 저장 시스템을 포함하여 개발되었다. 이러한 데이터 전송 시스템은 저장 매체로 인코딩된 정보를 기록하는 것, 및 이후에 저장 매체로부터의 호스트 전송 데이터의 지시로 전송된 정보를 디코딩하는 것을 포함한다. 데이터 디코딩은 프로세싱된 정보를 사용하여 정보를 프로세싱하고 그 다음 지시 호스트(directing host)로 전달하는 하나 이상의 데이터 검출기 회로 및 하나 이상의 데이터 디코더 회로를 포함할 수 있는 데이터 프로세싱 회로를 사용하여 실시된다. 지시 호스트로 전송되는 데이터는 지시 호스트가 관련 부분을 액세스할 수 있는 데이터의 상대적으로 큰 블록으로 흔히 전송된다. 일부 경우에, 데이터 프로세싱 회로는 원래 기록된 데이터 세트에 수렴하는 것이 불가능하고 원래 기록된 데이터를 획득하는 시도에서 하나 이상의 재시도를 수행해야만 한다. 이러한 재시도는 데이터 프로세싱 회로에서 호스트로의 데이터 블록의 전송을 실질적으로 지연시킬 수 있다.
따라서, 적어도 전술된 이유 때문에, 데이터 프로세싱을 위한 개선된 시스템 및 방법이 당 기술분야에서 필요하다.
본 발명은 정보를 검출 및/또는 디코딩하기 위한 시스템 및 방법, 더 구체적으로는 데이터 프로세싱 시스템에서의 비순서적 프로세싱을 위한 시스템 및 방법에 관한 것이다.
본 발명의 다양한 실시예는 호스트, 저장 매체, 및 데이터 프로세싱 회로를 포함하는 데이터 저장 시스템을 제공한다. 호스트는 제 1 출력 및 제 2 출력을 포함하는 순서적 데이터 세트를 요청하도록 작동가능하다. 제 1 출력은 순서적 데이터 세트에서 제 2 출력에 선행한다. 저장 매체는 순서적 데이터 세트를 유지한다. 데이터 프로세싱 회로는 저장 매체로부터 순서적 데이터 세트를 액세스하고, 제 1 출력에 대응하는 제 1 프로세싱 입력 및 제 1 출력 및 제 2 출력을 산출하는 제 2 출력에 대응하는 제 2 프로세싱 입력을 프로세싱하도록 작동가능하다. 제 2 출력은 제 1 출력 이전에 사용가능하다. 호스트는 제 1 출력 이전에 제 2 출력을 수신하도록 더 작동가능하다. 본 발명의 일부 실시예에서, 데이터 프로세싱 회로는 집적 회로로서 구현된다.
전술된 실시예의 일부 예시에서, 호스트는 제 2 출력에 대응하는 유효 상태를 나타내고, 제 1 출력의 무효 상태를 나타내도록 작동가능하다. 일부 경우에서, 제 2 출력을 수신할 시에, 호스트는 제 2 출력에 대응한 유효 상태를 나타내고, 제 1 출력의 무효 상태를 나타내도록 작동가능하다. 다양한 경우에서, 제 1 출력을 수신할 시에, 호스트는 제 1 출력의 유효 상태를 나타내기 위해 제 1 출력의 나타난 무효 상태를 수정하도록 작동가능하다.
전술된 실시예의 다양한 예시에서, 데이터 프로세싱 회로는 제 1 검출된 출력을 산출하기 위해 제 1 프로세싱 입력에 데이터 검출 알고리즘을 적용하고, 제 2 검출된 출력을 산출하기 위해 제 2 프로세싱 입력에 데이터 검출 알고리즘을 적용하도록 작동가능한 데이터 검출 회로, 제 1 디코딩된 출력을 산출하기 위해 제 1 검출된 출력으로부터 도출된 제 1 디코더 입력에 데이터 디코드 알고리즘을 적용하고, 제 2 디코딩된 출력을 산출하기 위해 제 2 검출된 출력으로부터 도출된 제 2 디코더 입력에 데이터 디코드 알고리즘을 적용하도록 작동가능한 데이터 디코드 회로를 포함한다. 제 1 출력은 제 1 디코딩된 출력으로부터 도출되고, 제 2 출력은 제 2 디코딩된 출력으로부터 도출된다. 일부 경우에, 데이터 디코드 알고리즘은 저밀도 패리티 체크 알고리즘(a low density parity check algorithm)이다. 다양한 경우에, 데이터 검출 알고리즘은, 최대 사후 데이터 검출 알고리즘(a maximum a posteriori data detection algorithm) 및 비터비 데이터 검출 알고리즘(a Viterbi data detection algorithm)이 될 수 있지만, 이에 제한되지 않는다. 데이터 프로세싱 회로는 재시도 조건이 만족되는 것에 적어도 부분적으로 기초하여 제 1 출력을 호스트에 리포팅하기 이전에 제 1 출력을 호스트에게 리포팅하도록 작동가능하다. 일부 경우에, 타임아웃 조건이 발생할 때 재시도 조건이 만족된다.
본 발명의 다른 실시예는 호스트 회로를 포함하는 저장 제어 시스템을 제공한다. 호스트 회로는 저장 디바이스로부터 설명되는 순서적 데이터를 요청하도록 작동가능하다. 순서적 데이터 세트는 제 1 출력 및 제 2 출력을 포함하고, 여기서 제 1 출력은 순서적 데이터 세트에서 제 2 출력에 선행한다. 호스트는 제 1 출력을 수신하기 이전에 저장 디바이스로부터 제 2 출력을 수신하도록 더 작동가능하다. 제 2 출력을 수신할 시에, 호스트는 제 2 출력의 유효 상태 및 제 1 출력의 무효 상태를 나타낸다. 제 1 출력을 수신할 시에, 제 1 출력의 유효 상태를 나타내기 위해 호스트는 제 1 출력의 무효 상태를 수정한다. 일부 경우에, 저장 제어 시스템은 데이터 저장 디바이스의 부분으로서 구현된다. 다양한 경우에, 시스템은 집적 회로로서 구현된다.
반면 본 발명의 다른 실시예는 저장 디바이스에서의 데이터 프로세싱을 위한 방법을 제공한다. 방법은, 제 1 디코더 입력에 대응하는 제 1 출력 및, 제 2 디코더 입력에 대응하는 제 2 출력을 갖는 순서적 데이터 세트에 대한 요청을 제공하는 단계를 포함한다. 제 1 출력은 순서적 데이터 세트에서 제 2 출력에 선행한다. 방법은, 제 1 출력을 수신하기 이전에 저장 디바이스로부터 제 2 출력을 수신하는 단계와, 제 2 출력을 수신할 시에, 제 2 출력의 유효 상태 및 제 1 출력의 무효 상태를 나타내는 단계와, 제 1 출력을 수신할 시에, 제 1 출력의 유효 상태를 나타내기 위해 제 1 출력의 무효 상태를 수정하는 단계를 더 포함한다.
본 발명의 추가 실시예는 데이터 요청 회로, 데이터 디코더 회로, 및 데이터 출력 회로를 포함하는 데이터 프로세싱 시스템을 제공한다. 데이터 요청 회로는 순서적 데이터 세트를 요청하도록 작동가능하다. 순서적 데이터 세트는 제 1 디코더 입력에 대응하는 제 1 출력, 및 제 2 디코더 입력에 대응하는 제 2 출력을 포함한다. 제 1 출력은 순서적 데이터 세트에서 제 2 출력에 선행한다. 데이터 디코더 회로는 제 1 디코드 출력을 산출하기 위해 제 1 디코더 입력에 데이터 디코드 알고리즘을 적용하고, 제 2 디코드 출력을 산출하기 위해 제 2 디코더 입력에 데이터 디코드 알고리즘을 적용하도록 작동가능하다. 제 2 디코드 출력은 제 1 디코드 출력 이전에 사용가능하다. 데이터 출력 회로는 제 1 디코드 출력으로부터 도출되는 제 1 출력 및 제 2 디코드 출력으로부터 데이터 요청 회로로 도출되는 제 2 출력을 리포팅하도록 작동가능하다. 요청 회로로 제 1 출력 및 제 2 출력을 리포팅하는 순서는 재시도 조건이 만족되는 것에 적어도 부분적으로 기초한다. 전술된 실시예의 일부 예시에서, 데이터 프로세싱 시스템은 데이터 저장 디바이스의 부분으로서 구현된다. 전술된 실시예의 다양한 예시에서, 데이터 프로세싱 시스템은 집적 회로로서 구현된다. 다양한 경우에, 데이터 디코드 알고리즘은 저밀도 패리티 체크 알고리즘이다.
전술된 실시예의 다양한 예시에서, 데이터 출력 회로는 재시도 조건이 만족되고 제 1 디코드 출력이 아직 사용가능하지 않을 때 제 1 출력 이전에 제 2 출력을 리포팅하도록 작동가능하다. 전술된 실시예의 일부 실시예에서, 데이터 출력 회로는 재시도 조건이 만족되고 제 2 디코드 출력이 사용가능할 때 제 2 출력 이전에 제 1 출력을 리포팅하도록 작동가능하다. 전술된 실시예의 다양한 예시에서, 데이터 출력 회로는 재시도 조건이 만족되지 않을 때 제 2 출력 이전에 제 1 출력을 리포팅하도록 작동가능하다. 특정한 경우에, 타임아웃 조건이 발생할 때 재시도 조건이 만족된다. 다양한 경우에, 재시도 조건이 만족될 때, 재시도 프로세싱 알고리즘은 실패한 코드워드에 적용된다.
본 발명의 다른 실시예는 데이터 요청 회로, 데이터 디코더 회로, 및 데이터 출력 회로를 포함하는 데이터 프로세싱 시스템을 제공한다. 데이터 요청 회로는 제 1 디코더 입력에 대응하는 제 1 출력, 및 제 2 디코더 입력에 대응하는 제 2 출력을 포함하는 순서적 데이터 세트를 요청하도록 작동가능하다. 제 1 출력은 순서적 데이터 세트에서 제 2 출력에 선행한다. 데이터 검출기 회로는 제 1 검출된 출력을 산출하기 위해 제 1 검출기 입력에 데이터 검출 알고리즘을 적용하고, 제 2 검출된 출력을 산출하기 위해 제 2 검출기 입력에 데이터 검출 알고리즘을 적용하도록 작동가능하다. 데이터 디코더 회로는 제 1 디코드 출력을 산출하기 위해 제 1 검출된 출력으로부터 도출된 제 1 디코더 입력에 데이터 디코드 알고리즘을 적용하고, 제 2 디코드 출력을 산출하기 위해 제 2 검출된 출력으로부터 도출된 제 2 디코더 입력에 데이터 디코드 알고리즘을 적용하도록 작동가능하다. 제 2 디코드 출력은 제 1 디코드 출력 이전에 사용가능하다. 데이터 출력 회로는 재시도 조건이 만족되는 것에 적어도 부분적으로 기초하여 비순서적으로 제 1 디코드 출력으로부터 도출되는 제 1 출력 및 제 2 디코드 출력으로부터 도출되는 제 2 출력을 선택적으로 리포팅하도록 작동가능하다. 전술된 실시예의 일부 예시에서, 데이터 프로세싱 시스템은 데이터 저장 디바이스의 부분으로서 구현된다. 전술된 실시예의 다양한 예시에서, 데이터 프로세싱 시스템은 집적 회로로서 구현된다. 다양한 경우에, 데이터 디코드 알고리즘은 저밀도 패리티 체크 알고리즘이고, 데이터 검출 알고리즘은, 최대 사후 데이터 검출 알고리즘 및 비터비 데이터 검출 알고리즘이 될 수 있지만, 이에 제한되지 않는다.
일부 경우에, 실패한 코드워드와 관련하여 타임아웃 조건이 발생할 때 재시도 조건이 만족된다. 다양한 경우에, 재시도 조건이 만족될 때, 재시도 프로세싱 알고리즘이 실패한 코드워드에 적용된다. 전술된 실시예의 일부 예시에서, 데이터 출력 회로는 재시도 조건이 만족되고 제 1 디코드 출력이 아직 사용가능하지 않을 때 제 1 출력 이전에 제 2 출력을 리포팅하며, 재시도 조건이 만족되고 제 1 디코드 출력이 사용가능할 때 제 2 출력 이전에 제 1 출력을 리포팅하며, 재시도 조건이 만족되지 않을 때 제 2 출력 이전에 제 1 출력을 리포팅하도록 작동가능하다.
반면 본 발명의 다른 실시예는 저장 디바이스에서의 데이터 프로세싱을 위한 방법을 제공한다. 방법은, 제 1 디코더 입력에 대응하는 제 1 출력 및, 제 2 디코더 입력에 대응하는 제 2 출력을 적어도 갖는 순서적 데이터 세트에 대한 요청을 제공하는 단계를 포함한다. 제 1 출력은 순서적 데이터 세트에서 제 2 출력에 선행한다. 방법은, 순서적 데이터 세트를 획득하기 위해 저장 매체에 액세싱하는 단계와, 제 1 디코드 출력을 산출하기 위해 제 1 디코더 입력에 데이터 디코드 알고리즘을 적용하는 단계와, 제 2 디코드 출력을 산출하기 위해 제 2 디코더 입력에 데이터 디코드 알고리즘을 적용하는 단계를 더 포함한다. 제 2 디코드 출력은 제 1 디코드 출력 이전에 사용가능하다. 또한, 방법은, 데이터 디코드 알고리즘을 적용하는 데이터 프로세싱 회로의 재시도 상태를 결정하는 단계와, 제 1 디코드 출력으로부터 도출되는 제 1 출력 및 제 2 디코드 출력으로부터 도출되는 제 2 출력을 선택적으로 리포팅하는 단계를 포함한다. 리포팅은 재시도가 선택되는 것을 나타내는 재시도 상태에 적어도 부분적으로 기초하여 비순서적으로, 또는 재시도가 선택되지 않았다는 것을 나타내는 재시도 상태에 적어도 부분적으로 기초하여 순서적으로 선택된다.
이 발명의 내용은 오직 본 발명의 일부 실시예의 일반적인 개요만을 제공한다. 본 발명의 많은 다른 목적, 특징, 장점 및 다른 실시예는 다음의 자세한 설명, 첨부된 청구항 및 첨부한 도면으로부터 더 완전하게 명백해질 것이다.
본 발명의 다양한 실시예의 추가적인 이해는 명세서의 나머지 부분에서 설명되는 도면을 참조하여 실현될 수 있다. 도면에서, 유사한 참조 번호는 유사한 컴포넌트를 지칭하기 위해 다수의 도면 전반에서 사용된다. 일부 예시에서, 소문자로 구성된 서브라벨은 다수의 유사한 컴포넌트 중 하나를 표시하는 참조 번호와 관련된다. 기존 서브라벨에 대한 명세 없이 참조 번호에 대한 참조가 이루어질 경우는, 모든 이러한 다수의 유사한 컴포넌트를 지칭하기 위한 것이다.
도 1은 본 발명의 하나 이상의 실시예에 따른 선택가능한 비순서적 리포팅을 포함하는 데이터 프로세싱 시스템을 도시한다.
도 2는 본 발명의 다양한 실시예에 따른 선택가능한 비순서적 리포팅 회로를 갖는 저장 시스템을 도시한다.
도 3a 내지 도 3c는 선택가능한 비순서적 리포팅을 포함하는 데이터 프로세싱을 수행하기 위한 본 발명의 일부 실시예에 따른 방법을 도시하는 흐름도이다.
도 4는 본 발명의 다른 실시예에 따라 사용될 수 있는 선택가능한 비순서적 데이터 리포팅을 위한 프로세스를 도시하는 흐름도이다.
도 5는 본 발명의 하나 이상의 실시예와 관련하여 사용될 수 있는 프로세싱된 데이터의 호스트 수신을 위한 프로세스를 도시하는 흐름도이다.
도 6a 및 도 6b는 본 발명의 하나 이상의 실시예의 사용을 통해 발생할 수 있는 호스트 또는 데이터 프로세싱 회로에서의 코드워드 저장의 예시이다.
본 발명은 정보를 검출 및/또는 디코딩하기 위한 시스템 및 방법, 더 구체적으로는 데이터 프로세싱 시스템에서의 비순서적 프로세싱을 위한 시스템 및 방법에 관한 것이다.
본 발명의 다양한 실시예는 데이터 프로세싱 회로로부터의 리포팅 결과를 비순서적으로 제공하는 시스템 및 방법을 제공한다. 일부 경우에, 실시예는 데이터 프로세싱 회로에서 재시도 조건의 출현에 기초하여 선택적인 비순서적 리포팅을 제공한다. 예시로서, 데이터의 블록은 호스트에 의해 요청될 수 있다. 데이터의 블록은 이것이 액세스되는 저장 매체 상에서 인코딩된 형태로 유지된다. 데이터 프로세싱 회로는 데이터의 블록을 디코딩하고 디코딩이 문제없이 종료하는 곳에서, 데이터의 블록은 순서적 방식으로 호스트에 제공된다. 대안으로, 하나 이상의 코드워드가 용이하게 디코드가능하지 않은 곳에서, 재시도가 수행된다. 이러한 재시도는 하나 이상의 비수렴 코드워드(one or more non-converging codewords)에서 상당한 지연을 야기한다. 비수렴 코드워드가 적합하게 디코딩될 수 있기를 원하며 재시도의 완료를 기다리기보다는, 데이터의 블록으로부터 사전에 수렴된 코드워드가 추가 지연 없이 호스트에게 리포팅된다. 호스트가 데이터의 블록의 비수렴 요소에 의존하지 않는 일부 경우에, 데이터에 비순서를 제공하는 것은 실질적으로 데이터에 대한 요청의 지연시간(latency)을 감소시킬 수 있다.
도 1을 참조하면, 본 발명의 하나 이상의 실시예에 따라 선택가능한 비순서적 리포팅을 포함하는 데이터 프로세싱 시스템(100)이 도시되어 있다. 데이터 프로세싱 시스템(100)은 아날로그 신호(105)를 수신하는 아날로그 프론트 엔드 회로(110)를 포함한다. 아날로그 프론트 엔드 회로(110)는 아날로그 신호(105)를 프로세싱하고 프로세싱된 아날로그 신호(112)를 아날로그-디지털 컨버터 회로(114)에 제공한다. 아날로그 프론트 엔드 회로(110)는 당 기술 분야에서 알려진 바와 같은 아날로그 필터 및 증폭기 회로를 포함할 수 있지만, 이에 제한되지 않는다. 본 명세서에 제공된 개시에 기초하여, 당업자는 아날로그 프론트 엔드 회로(110)의 부분으로서 포함될 수 있는 다양한 회로를 인식할 것이다. 일부 경우에, 아날로그 신호(105)는 저장 매체(도시되지 않음)와 관련하여 배치되는 판독/기록 헤드 어셈블리(도시되지 않음)로부터 도출된다. 본 명세서에 제공된 개시에 기초하여, 당업자라면 아날로그 입력(105)이 도출될 수 있는 다양한 소스를 인식할 것이다.
아날로그-디지털 컨버터 회로(114)는 프로세싱된 아날로그 신호(112)를 대응하는 일련의 디지털 샘플(116)로 변환한다. 아날로그-디지털 컨버터 회로(114)는 아날로그 입력 신호에 대응하는 디지털 샘플을 생성하는 것이 가능한 당 기술분야에 알려진 임의의 회로가 될 수 있다. 본 명세서에 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 다양한 아날로그-디지털 컨버터 회로를 인식할 것이다. 디지털 샘플(116)은 등화기 회로(an equalizer circuit)(120)에 제공된다. 등화기 회로는 등화된 출력(122)을 산출하기 위해 디지털 샘플(116)에 등화 알고리즘을 적용한다. 본 발명의 일부 예시에서, 등화기 회로(120)는 당 기술 분야에서 알려진 바와 같은 디지털 유한 임펄스 응답 필터 회로이다. 등화된 데이터(122)는 적어도 하나의 코드워드(즉, 인코딩된 데이터의 세트)에 대해 등화된 데이터를 저장하도록 작동가능한 등화된 버퍼(127)에 저장된다. 등화된 출력이 등화된 버퍼(127)에 저장됨에 따라, 섹터 태그는 이것이 관련된 코드워드를 나타내는 등화된 데이터 세트에 할당된다. 각 섹터 태그는 등화된 버퍼(127)에서 서로 고유하다. 섹터 태그는 요청 호스트에 리포팅되는 순서적인 코드워드의 블록을 조합하는데 사용된다. 일부 경우에, 리포팅 순서는 데이터 세트가 저장 매체로부터 수신되는 순서와 동일하다. 저장된 데이터는 버퍼링된 출력(125)으로서 등화된 버퍼(127)로부터 액세스가능하다.
버퍼링된 출력(125)은 수신된 데이터 세트에 데이터 검출 알고리즘을 적용하도록 작동가능한 검출기 회로(130)에 제공되고, 일부 경우에는, 둘 이상의 데이터 세트를 병렬로 프로세싱할 수 있다. 본 발명의 일부 실시예에서, 데이터 검출기 회로(130)는 당 기술 분야에서 알려진 바와 같은 비터비 알고리즘 데이터 검출기 회로이다. 본 발명의 다른 실시예에서, 데이터 검출기 회로(130)는 당 기술 분야에서 알려진 바와 같은 최대 사후 데이터 검출 회로이다. 본 명세서에 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 다양한 데이터 검출기 회로를 인식할 것이다. 데이터 검출기 회로(130)는 등화기(120) 또는 효율적인 인터리빙/디인터리빙 회로(140)로부터의 데이터 세트의 이용가능성에 기초하여 시작된다.
데이터 검출기 회로(130)는 버퍼링된 출력(125)으로서 수신되는 데이터 세트 또는 로컬 디인터리버 회로(140)로부터의 디인터리빙된 출력(197)으로서 수신되는 데이터 세트 중 하나에 데이터 검출 알고리즘을 적용한다. 데이터 검출 알고리즘을 적용하는 것의 결과는 로컬 인터리버 회로(142)에 제공되는 검출된 출력(195)이다. 검출된 출력(195)이 준비될 때, 이는 데이터 디코더 회로(170)에 의한 프로세싱을 기다리는 중앙 메모리 회로(150)에 저장된다. 일부 경우에, 검출된 출력(195)은 로그 유사 비율 데이터(log likelihood ratio data)이다. 중앙 메모리 회로(150)에 저장되기에 앞서, 검출된 출력(195)은 검출된 출력(195)으로서 포함되는 데이터 세트의 서브부분(즉, 로컬 청크)을 셔플링(shuffles)하고 중앙 메모리 회로(150)에 저장될 인터리빙된 데이터 세트(146)를 제공하는 로컬 인터리버 회로(142)를 통해 프로세싱된다. 서브부분의 이러한 셔플링은 데이터 세트에서 임의의 버스트 에러(burst errors)의 영향을 감소시킨다.
핑/퐁 메모리 회로(165)는 글로벌 인터리버/디인터리버 회로(160)에 의해 데이터 디코더 회로(170)를 위한 중앙 메모리 회로(150)로부터 글로벌 인터리빙된 데이터 세트(162)를 풀링(pull)하는데 사용된다. 데이터 디코더 회로(170)가 사용가능하게 되면, 글로벌 인터리빙된 데이터 세트(167)는 핑/퐁 메모리 회로(165)로부터 풀링되고 데이터 디코더 회로(170)는 데이터 디코드 알고리즘을 수신된 데이터 세트에 적용한다. 본 발명의 일부 실시예에서, 데이터 디코드 알고리즘은 당 기술 분야에서 알려진 바와 같은 저밀도 패리티 체크 알고리즘이다. 본 명세서에 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 다른 디코드 알고리즘을 인식할 것이다. 데이터 디코드 알고리즘이 주어진 데이터 세트에 대해 완료됨에 따라, 완료된 데이터 세트는 디코딩된 출력(169)으로서 핑/퐁 메모리 회로(165)에 다시 기록된다. 핑/퐁 메모리 회로(165)에 다시 기록이 완료되면, 대응하는 데이터 세트(164)는 글로벌 인터리버/디인터리버 회로(160)에 의해 중앙 메모리 회로(150)에 전송된다.
데이터 세트가 로컬적으로 인터리빙된 데이터 세트(a locally interleaved data set)(152)로서 중앙 메모리 회로(150)로부터 전송될 때, 글로벌 인터리버/디인터리버 회로(160)는 다수의 데이터 세트가 핑/퐁 메모리(165)의 단일 로우를 거쳐(across a single row of ping/pong memory) 상호혼합(intermix)될 수 있도록 데이터 세트의 글로벌 청크를 재배열한다. 글로벌 청크는 로컬 청크와 동일한 크기가 될 수 있고, 반면 다른 경우에 글로벌 청크는 로컬 청크와는 상이한 크기가 될 수 있다.
데이터 세트(164)가 핑/퐁 메모리 회로(165)로부터 중앙 메모리 회로(150)에 기록될 때, 데이터가 중앙 메모리 회로(150)로부터 핑/퐁 메모리 회로(165)로 원래 기록될 때 원래 적용된 글로벌 인터리빙을 글로벌 인터리버/디인터리버 회로(160)가 반전시킨다(즉, 디인터리빙 프로세스를 수행함). 이 반전은 중앙 메모리 회로(150)에 기록되는 로컬적으로 인터리빙된 데이터 세트(154)를 산출한다. 데이터 검출기 회로(130)가 자유롭게 될 때, 대응하는 로컬적으로 인터리빙된 데이터 세트(148)는 로컬 디인터리버 회로(144)에 의해 디인터리빙된 데이터 세트(197)로서 데이터 검출기 회로(130)에 제공된다. 로컬 디인터리버 회로(144)는 로컬 인터리버 회로(142)에 의해 원래 적용된 프로세스를 반전시킨다. 데이터 검출기 회로(130)가 디인터리빙된 데이터 세트(197)에 검출 알고리즘의 적용을 완료하면, 결과는 검출된 출력(195)으로서 제공된다.
데이터 디코더 회로(170)가 수렴(즉, 원래 기록된 데이터를 결과함)하는 경우, 결과적인 디코딩된 데이터는 경판정 출력(a hard decision output)(183)으로서 디인터리버 회로(180)에 제공된다. 디인터리버 회로(180)는 디인터리빙된 출력(182)을 산출하기 위해 데이터에 적용된 글로벌 및 로컬 인터리빙 모두를 반전시키도록 데이터를 재배열한다. 디인터리빙된 출력(182)은 경판정 출력 회로(190)에 제공된다. 경판정 출력 회로(190)는 수신된 코드워드를 다른 이전에 수신된 코드워드와 함께 요청 호스트 프로세서에 의해 예상되는 순서로 배열하는 코드워드 재순서화 회로(a codeword re-order circuit)(192)를 포함한다. 일부 경우에, 예를 들어, 32개 코드워드가 한번의 요청으로 호스트에 의해 요청될 수 있다. 코드워드 재순서화 회로(192)는 바람직한 순서로 요청된 32개 코드워드를 조합하고 순서화된 코드워드를 코드워드 블록(194)으로서 제공한다. 모든 요청된 32개 코드워드가 사용가능할 때까지, 재시도 가능 신호(186)에 의해 나타낸 재시도 요청의 발생 없이는 코드워드 블록(194)은 사용가능하게 되지 않는다. 경판정 버퍼 회로(196)는 코드워드 블록(194)이 경판정 출력(198)으로서 요청 호스트로 전송됨에 따라 코드워드 블록(194)을 버퍼링한다.
대조적으로, 데이터 디코더 회로(170)가 수렴에 실패하고(즉, 원래 기록된 데이터를 산출하지 않음) 조건이 데이터 프로세싱 회로(100)에 의해 현재 코드워드의 추가 프로세싱을 방해하는 것을 유발시키는 경우(즉, 타임아웃 조건, 또는 중앙 메모리 회로(150) 또는 등화된 버퍼(127)에서 사용가능한 저장공간의 부족), 실패 상태 신호(171)는 데이터 디코더 회로(170)에 의해 어서팅(asserted)된다. 이에 응답하여, 재시도 제어기 회로(184)는 재시도 가능 신호(186)를 어서팅함으로써 특정 코드워드에 대한 재시도 조건을 시그널링한다. 재시도 가능 신호(186)의 어서팅시에, 데이터 프로세싱 회로는 비수렴 코드워드를 복구하기 위해 재시도 프로세스를 적용한다. 재시도 프로세스는, (1) 저장 매체로부터 특정 코드워드를 재판독하고 재판독 데이터를 재프로세싱하는 것, (2) 이전 판독 데이터에 데이터 프로세싱을 재적용하기 이전에 데이터 프로세싱 회로(100)의 작동을 관장(govern)하는 하나 이상의 파라미터를 변경하는 것, 또는 (3) 전술된 것들의 조합을 포함할 수 있지만, 이에 제한되지 않는다. 여기에 제공된 개시에 기초하여, 당업자는 비수렴 코드워드를 복구하기 위한 시도에서 적용될 수 있는 다양한 재시도 알고리즘을 인식할 것이다.
또한, 재시도 가능 신호(186)가 어서팅될 때, 코드워드 재순서화 회로(192)는 어떤 코드워드가 유효하지 않은지의 표시와 함께 기존 수렴된 코드워드를 코드워드 블록(194)으로서 전송한다. 또한, 코드워드 재순서화 회로(192)에 의해 이미 순서화된 코드워드의 초기 전송에 후속하여, 요청된 블록에서 이전에 빠진 코드워드는 이들이 데이터 디코더 회로(170)로부터 수신됨에 따라 코드워드 재순서화 회로(192)에 의해 경판정 버퍼 회로(196)를 통해 요청 호스트에 제공된다.
도 2를 참조하면, 본 발명의 다양한 실시예에 따라 선택가능한 비순서적 리포팅 회로를 갖는 저장 시스템(200)이 도시된다. 저장 시스템(200)은 또한 전치증폭기(270), 인터페이스 제어기(220), 하드 디스크 제어기(266), 모터 제어기(268), 스핀들 모터(272), 디스크 플래터(278), 및 기록/판독 헤드(276)를 포함한다. 인터페이스 제어기(220)는 디스크 플래터(278)로의/로부터의 데이터의 어드레싱 및 타이밍을 제어한다. 디스크 플래터(278) 상의 데이터는 어셈블리가 디스크 플래터(278) 위에 적합하게 위치될 때 판독/기록 헤드 어셈블리(276)에 의해 검출될 수 있는 자기 신호의 그룹을 구성한다. 일 실시예에서, 디스크 플래터(278)는 수평적 또는 수직적 레코딩 스킴 중 하나에 따라 레코딩되는 자기 신호를 포함한다. 저장 시스템(200)은 호스트(290)에 의해 제어된다.
통상적인 판독 동작에서, 판독/기록 헤드 어셈블리(276)는 모터 제어기(268)에 의해 디스크 플래터(278) 상의 원하는 데이터 트랙 위에 위치된다. 원하는 트랙은 서보 데이터 프로세싱 회로 기반 영역을 사용하여 부분적으로 식별된다. 모터 제어기(268)는 디스크 플래터(278)와 관련하여 판독 기록 헤드 어셈블리(276)을 위치시키고 하드 디스크 제어기(266)의 지시하에 디스크 플래터(278) 상의 적합한 데이터 트랙에 판독/기록 헤드 어셈블리를 이동시킴으로써 스핀들 모터(272)를 구동시킨다. 스핀들 모터(272)는 디스크 플래터(278)를 결정된 스핀 속도(RPM)로 회전시킨다. 판독/기록 헤드 어셈블리(278)가 적합한 데이터 트랙에 인접하게 위치되면, 디스크 플래터(278) 상의 데이터를 나타내는 자기 신호는 디스크 플래터(278)가 스핀들 모터(272)에 의해 회전됨에 따라 판독/기록 헤드 어셈블리에 의해 감지된다. 감지된 자기 신호는 디스크 플래터(278) 상의 자기 데이터를 나타내는 연속적이고, 미세한 아날로그 신호로서 제공된다. 이 미세한 아날로그 신호는 전치증폭기(270)를 통해 판독/기록 헤드 어셈블리(276)로부터 판독 채널 모듈(210)로 전송된다. 전치증폭기(270)는 디스크 플래터(278)로부터 액세싱되는 미세한 아날로그 신호를 증폭시키도록 작동가능하다. 결국, 판독 채널 회로(210)는 디스크 플래터(278)에 원래 기록된 정보를 재생성하기 위해 수신된 아날로그 신호를 디코딩하고 디지털화한다. 이 데이터는 수신 회로에 판독 데이터(203)로서 제공된다.
수신된 정보를 디코딩하는 것의 부분으로서, 판독 채널 모듈(210)은 수신된 데이터에 대한 데이터 디코드 및/또는 데이터 검출을 수행한다. 데이터 프로세싱이 원래 기록된 데이터에 대해 수렴하는 것에 실패하는 곳에서, 데이터 프로세싱 결과의 선택적인 비순서적 리포팅은 데이터 프로세싱 회로에서 재시도 조건의 출현에 대해 수행될 것이다. 이러한 선택적인 비순서적 리포팅은 도 1과 관련하여 위에서 논의된 것과 유사한 데이터 프로세싱 회로에서 구현될 수 있다. 또한, 비순서적 리포팅은 도 3a 내지 도 3c 및 도 4와 관련하여 아래에서 논의된 것과 유사하게 수행될 수 있다. 호스트(290)는 도 5 내지 도 6과 관련하여 이하에서 논의된 것과 유사한 데이터 프로세싱 회로로부터 수신된 결과를 프로세싱할 수 있다.
저장 시스템(200)은 예를 들어, RAID(redundant array of inexpensive disks or redundant array of independent disks) 기반 저장 시스템과 같은, 더 큰 저장 시스템으로 집적될 수 있음에 유의해야할 것이다. 이러한 RAID 저장 시스템은 지연시간을 거쳐 다수의 디스크를 논리적 유닛으로서 통합시킴으로써, 안정성 및 신뢰성을 증가시킨다. 데이터는 다양한 알고리즘에 따라 RAID 저장 시스템에 포함되고 단일 디스크라면 운영 시스템에 의해 액세싱되는 다수의 디스크 전체에 확산될 수 있다. 예를 들어, 데이터는 RAID 저장 시스템의 다수의 디스크에 미러링(mirrored)될 수 있고, 또는 다수의 기술로 다수의 디스크 전체에 슬라이싱되어 배포될 수 있다. RAID 저장 시스템의 소수의 디스크가 실패하거나 사용불가능하게 되면, RAID 저장 시스템의 다른 디스크로부터의 데이터의 잔여 부분에 기초하여 빠진 데이터를 재생성하는데 에러 수정 기술이 사용될 수 있다. RAID 저장 시스템의 디스크는 저장 시스템(200)과 같은 개별 저장 시스템이 될 수 있지만, 이에 제한되지 않고, 서로 근접하게 위치될 수 있거나 증가된 보안성을 위해 더 널리 배포될 수 있다. 기록 동작에서, 기록 데이터는 제어기에 제공되며, 예를 들어, 기록 데이터를 미러링 또는 스트리핑(striping)함으로써 디스크 전체에 기록 데이터를 저장한다. 판독 동작에서, 제어기는 디스크로부터 데이터를 검색한다. RAID 저장 시스템이 단일 디스크라면 제어기는 또한 결과적인 판독 데이터를 산출한다.
도 3a 내지 도 3c를 참조하면, 흐름도(300)는 선택가능한 비순서적 리포팅을 포함하는 데이터 프로세싱을 수행하기 위한 본 발명의 일부 실시예에 따른 방법을 도시한다. 다음의 흐름도(300)는, 재시도 조건이 선택되는지 여부가 판정된다(블록 303). 재시도 조건의 선택은, 예를 들어, 재시도 가능 신호에 의해 나타낼 수 있다. 디코딩된 출력이 수렴에 실패하고 수렴을 돕기 위해 제공될 수 있는 추가적인 프로세싱 사이클이 없을 때 재시도 가능 신호가 어서팅될 수 있다. 재시도 조건이 선택되지 않는 곳에서(블록 303), 여기에 대응하는 아날로그 신호를 산출하기 위해 저장 디바이스 또는 매체가 준비되며(블록 305), 아날로그 입력이 일련의 디지털 샘플로 변환된다(블록 310). 이 변환은 당 기술 분야에서 알려진 바와 같은 아날로그-디지털 변환기 회로 또는 시스템을 사용하여 완료될 수 있다. 유의할 점은, 수신된 아날로그 신호를 나타내는 일련의 디지털 값으로 아날로그 신호를 변환하는 것이 가능한 당 기술 분야에 알려진 임의의 회로가 사용될 수 있다는 것이다. 등화된 출력을 산출하기 위해 결과적인 디지털 샘플이 등화된다(블록 315). 본 발명의 일부 실시예에서, 당 기술 분야에서 알려진 바와 같은 디지털 유한 임펄스 응답 회로를 사용하여 등화가 완료된다. 본 명세서에 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예에 따른 등화를 수행하기 위해 이러한 디지털 유한 임펄스 응답 회로 대신에 사용될 수 있는 다양한 등화기 회로를 인식할 것이다.
데이터 검출기 회로가 사용가능한지가 판정된다(블록 320). 데이터 검출기 회로가 사용가능한 곳에서(블록 320), 데이터 검출 알고리즘이 디코딩된 출력으로부터 도출되는 데이터 세트에 의해 가이드되는 등화된 출력에 적용되고 여기에서 검출된 출력을 산출하기 위해 중앙 메모리 회로로부터 사용가능하다(예를 들어, 데이터 검출기 회로 및 데이터 디코더 회로를 통한 제 2 및 추후 반복)(블록 325). 본 발명의 일부 실시예에서, 데이터 검출 알고리즘은 당 기술 분야에서 알려진 바와 같은 비터비 알고리즘이다. 본 발명의 다른 실시예에서, 데이터 검출 알고리즘은 당 기술 분야에서 알려진 바와 같은 최대 사후 데이터 검출기 회로이다. 디코딩된 출력으로부터 도출되는 데이터 세트는 디코딩된 데이터 세트의 디인터리빙된 버전이 될 수 있다. 검출된 출력으로부터 도출되는 신호(예를 들어, 검출된 출력의 로컬적으로 인터리빙된 버전)는 데이터 디코더 회로에 의한 프로세싱을 대기하기 위해 중앙 메모리에 저장된다(블록 330).
대안으로, 재시도 조건이 선택되는 곳에서(블록 303), 구현될 재시도가 빠른 재시도인지 또는 완전한 재시도인지가 판정된다(블록 304). 완전한 재시도가 구현될 곳에서(블록 304), 저장 디바이스는 아날로그 입력을 산출하기 위해 재준비되고(블록 306), 아날로그 입력은 일련의 디지털 샘플로 변환된다(블록 311). 등화된 출력을 산출하기 위해 결과적인 디지털 샘플이 등화되고(블록 316), 등화된 출력은 업데이트된 등화된 출력을 산출하기 위해 이전에 등화된 출력과 함께 평균화된다. 업데이트된 등화된 출력은 블록 320 내지 330에서 제시된 프로세싱과 일치하게 프로세싱된다. 대안으로, 빠른 재시도가 구현될 곳에서(블록 304), 이전 데이터 검출 또는 데이터 디코딩 프로세스로부터의 하나 이상의 파라미터 및/또는 소프트 데이터가 수정될 수 있다(블록 326). 수정 이후에, 블록 320 내지 330의 프로세스는 이전에 저장된 등화된 데이터에 대해 반복된다.
일부 경우에, 등화된 출력을 보유한 버퍼는 실패한 등화된 출력(즉, 타임아웃 조건이 만족됨)과 여전히 프로세싱 중인 등화된 출력 사이에서 동적으로 공유된다. 이러한 공유 모드에서, 평균화 프로세스는 적용될 수 없지만, 재시도 조건에서 새로운 판독이 개별적으로 처리된다. 이러한 경우에, 재판독 데이터는 등화된 데이터 버퍼에서 새로운 위치라고 가정한다. 새로운 위치는 개방 위치이고, 여기에서 사용가능하거나, 등화된 데이터 버퍼의 가장 오래된 실패한 데이터 세트를 대체한다. 일부 경우에, 수렴 없이 정의된 최대 기간 동안 재시도 프로세스가 계속되는 곳에서, 대응하는 실패한 디코드 출력은 실패의 표시를 사용하여 요청 호스트로 단순하게 리포팅된다.
다음의 흐름도(301)에서, 데이터 디코더 회로가 사용가능한지가 판정된다(블록 340). 일부 경우에, 데이터 디코더 회로는 당 기술 분야에서 알려진 바와 같은 저밀도 패리티 체크 디코더 회로이다. 데이터 디코더 회로가 사용가능한 곳에서(블록 340), 이전에 저장된 검출된 출력의 도출물은 중앙 메모리로부터 액세스된다(블록 345). 데이터 디코드 알고리즘은 디코딩된 출력을 산출하기 위해 검출된 출력의 도출물에 적용된다(블록 350).
디코딩된 출력이 수렴(즉, 원본 데이터 세트가 복구됨)되는 지가 판정된다(블록 355). 일부 경우에, 저복잡도 디코드 알고리즘의 부분으로서 활용되는 모든 체크섬 공식이 정확한 곳에서 이러한 수렴이 발견된다(즉, 충족되지 않는 체크가 존재하지 않음). 디코드 알고리즘이 수렴되는 곳에서(블록 355), 디코딩된 출력이 경판정 출력으로서 제공된다(블록 360). 반면, 디코드 알고리즘이 수렴에 실패하는 곳에서(블록 355), 다른 로컬 반복(즉, 데이터 디코더 회로를 통과함)이 바람직한지가 판정된다(블록 365). 일부 경우에, 최대 횟수의 로컬 반복이 사전정의된다. 일부 경우에, 최대 횟수의 로컬 반복은 네 번이다. 본 명세서에 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 최대 횟수의 로컬 반복의 다른 값을 인식할 것이다. 다른 로컬 반복이 바람직한 곳에서(예를 들어, 로컬 반복의 횟수가 최대 횟수보다 적음)(블록 365), 블록 350 내지 365의 프로세스는 가이드로서 이전에 디코딩된 출력을 사용하여 동일한 데이터 세트에 대해 반복된다.
반면, 다른 로컬 반복이 바람직하지 않은 곳에서(예를 들어, 로컬 반복의 횟수가 최대 횟수와 동일함)(블록 365), 타임아웃 조건이 발생하였는지가 판정된다(블록 370). 본 명세서에 사용된 바와 같이 "타임아웃 조건"이라는 구절은 현재 데이터 세트의 프로세싱이 수렴 없이 완료되는 임의의 조건을 의미하는 이의 가장 광범위한 의미로 사용된다. 예를 들어, 현재 프로세싱 중인 코드워드가 데이터 프로세싱 시스템에서 너무 많은 시간을 소비하는 곳에 이러한 타임아웃 조건이 발생할 수 있고, 현재 프로세싱 중인 코드워드에 적용되는 글로벌 반복의 횟수(즉, 데이터 디코드 알고리즘과 데이터 검출 알고리즘 모두의 적용)는 최대 횟수를 초과하거나, 다른 글로벌 반복을 지원하기 위해 데이터 프로세싱 회로에 불충분한 자유 버퍼 공간이 존재한다. 여기에 제공된 개시에 기초하여, 당업자는 타임아웃 조건을 정의하는데 사용될 수 있는 다양한 시나리오를 인식할 것이다. 타임아웃 조건이 아직 충족되지 않은 곳에서(블록 370), 디코딩된 출력은 중앙 메모리 회로에 저장되고 여기서 데이터 검출기 회로에 의한 프로세싱(즉, 다른 글로벌 반복)을 대기한다(블록 375). 대안으로, 타임아웃 조건이 만족되는 곳에서(블록 370), 재시도 조건이 선택된다(블록 380). 이 재시도 조건은 흐름도(300)의 블록(303)에 의해 테스트되는 재시도 조건이다.
다음의 흐름도(302)에서, 경판정이 수신되는지가 판정된다(블록 331). 흐름도(301)와 관련하여 논의된 바와 같이, 경판정이 수신되고(블록 360) 여기서 디코딩된 출력이 수렴되는지가 판정된다(블록 355). 경판정이 수신된 곳에서(블록 331), 재시도 조건이 선택되는지가 판정된다(블록 336). 흐름도(301)와 관련하여 논의된 바와 같이, 타임아웃 조건이 만족될 때 재시도 조건이 선택된다(블록 370). 재시도 조건이 선택되지 않은 곳에서(블록 336), 수신된 경판정 데이터는 이전 경판정 출력과 함께 순서적 방식으로 조합된다(블록 346). 또한 전체 요청된 데이터 세트가 순서적으로 사용가능한지가 판정된다(블록 351). 전체 요청된 데이터 세트가 사용가능한 곳에서(블록 351), 순서적 데이터 세트가 요청 호스트에 제공된다(블록 356). 대안으로, 재시도 조건이 선택되는 곳에서(블록 336), 수신된 경판정 출력이 요청 호스트에 즉시 제공되고(블록 341), 블록(346, 351, 356)의 프로세스는 새롭게 수신된 경판정 데이터에 대해 반복된다.
도 4를 참조하면, 흐름도(400)는 본 발명의 다른 실시예에 따라 수신된 경판정 데이터 세트를 비순서적으로 선택가능하게 제공하기 위한 대안적인 접근방식을 도시한다. 경판정 데이터 세트는 도 3a 내지 도 3b의 흐름도(300 및 301)와 관련하여 위에서 논의된 방법을 사용하여 제공될 수 있고 여기서 블록(360)은 경판정 데이터 세트를 제공한다. 다음의 흐름도(400)에서, 모든 사용가능한 경판정 데이터 세트는 데이터의 요청된 블록에 따라 빠진 경판정 데이터 세트를 갖는 순서적 데이터 세트에서 조합된다(블록 405). 도 6a는 각각이 코드워드를 위한 영역(615) 및 유효성 상태 지시자를 위한 영역(605)을 갖는 다수의 코드워드 저장 위치(620, 622, 624, 626, 628, 630)를 포함하는 코드워드 저장(600)의 일례를 도시한다. 도시된 예시에서, 코드워드 저장 영역(626)의 코드워드 및 코드워드 저장 영역(630)의 코드워드는 수렴되지 않는다.
도 4를 참조하면, 재시도 조건이 선택되는지가 판정된다(블록 410). 도 3b의 흐름도(301)와 관련하여 논의된 것과 유사하게, 타임아웃 조건이 만족될 때 재시도 조건이 선택된다. 재시도 조건이 선택되는 곳에서(블록 410), 이의 미완전한 조건(즉, 빠진 엔트리의 표시를 포함함)에서 순서적 데이터 세트는 요청 호스트에 제공된다(블록 415). 반면, 재시도 조건이 선택되지 않은 곳에서(블록 410), 완전한 순서적 데이터 세트가 사용가능한지가 판정된다(블록 420). 이러한 완전한 세트는 빠진 데이터 세트를 끼워넣는 것(intervening)을 포함하지 않는 일련의 순서적 경판정 데이터 세트이다. 도 6b는 각각이 코드워드를 위한 영역(665) 및 유효성 상태 지시자를 위한 영역(655)을 갖는 다수의 코드워드 저장 위치(670, 672, 674, 676, 678, 680)를 포함하는 코드워드 저장(650)의 일례를 도시한다. 도시된 예시에서, 모든 코드워드는 유효한 것으로서 식별된다(즉, 수렴된 모든 코드워드). 도 4를 참조하면, 완전한 순서적 데이터 세트가 사용가능한 곳에서(블록 420), 빠진 엔트리가 없다는 표시와 함께 순서적 데이터 세트가 호스트에 제공된다(블록 425).
도 5를 참조하면, 흐름도(500)는 본 발명의 하나 이상의 실시예와 관련하여 사용될 수 있는 프로세싱된 데이터의 호스트 수신에 대한 프로세스를 도시한다. 다음의 흐름도(500)에서, 코드워드(즉, 경판정 데이터 세트)는 데이터 프로세싱 회로로부터 호스트에 의해 수신된다. 수신된 코드워드는 현재 어드레스에서 코드워드 버퍼의 위치에 저장된다(블록 510). 수신된 코드워드가 유효한지가 판정된다(블록 515). 코드워드가 비순서적으로 리포팅되는 곳에서, 요청된 블록의 하나 이상의 코드워드는 무효한 것으로서 식별될 수 있다. 이러한 일례는 도 5a에서 도시된다. 수신된 코드워드가 무효한 곳에서(블록 515), 현재 어드레스에 대응하는 코드워드 저장 위치는 무효한 것으로서 식별된다(블록 520). 대안으로, 수신된 코드워드가 유효한 곳에서(블록 515), 현재 어드레스에 대응하는 코드워드 저장 위치는 유효한 것으로서 식별된다(블록 525). 저장 버퍼에 액세스하는데 사용되는 어드레스는 업데이트된 현재 어드레스를 산출하기 위해 증분되고(블록 530), 블록(505 내지 530)의 프로세스는 다음에 수신되는 코드워드에 대해 반복된다.
위 명세서에서 논의된 다양한 블록은 다른 기능을 따라 집적된 회로에서 구현될 수 있음에 유의해야할 것이다. 이러한 집적 회로는 주어진 블록, 시스템 또는 회로의 모든 기능, 또는 블록, 시스템 또는 회로의 서브세트만을 포함할 수 있다. 또한, 블록, 시스템 또는 회로의 요소는 다수의 집적 회로 전체에 구현될 수 있다. 이러한 집적 회로는 당 기술 분야에서 알려진 임의의 타입의 집적 회로가 될 수 있고, 모놀리식 집적 회로(a monolithic integrated circuit), 플립 칩 집적 회로(a flip chip integrated circuit), 멀티칩 모듈 집적 회로(a multichip module integrated circuit), 및/또는 혼합 신호 집적 회로를 포함하지만, 이에 제한되지 않는다. 본 명세서에 논의된 블록, 시스템 또는 회로의 다양한 기능은 소프트웨어 또는 펌웨어 중 하나에서 구현될 수 있음에 유의해야할 것이다. 일부 이러한 경우에, 전체 시스템, 블록 또는 회로는 이의 소프트웨어 또는 펌웨어 동등물을 사용하여 구현될 수 있다. 다른 경우에, 주어진 시스템, 블록 또는 회로의 일부분은 소프트웨어 또는 펌웨어에서 구현될 수 있고, 반면 다른 부분은 하드웨어에 구현된다.
결론적으로, 본 발명은 데이터 프로세싱을 수행하기 위한 신규 시스템, 디바이스, 방법 및 구성을 제공한다. 본 발명의 하나 이상의 실시예의 자세한 설명은 위에서 주어진 반면, 본 발명의 사상으로부터 벗어남이 없이 다양한 대안, 수정 및 동등물이 당업자에게 명백할 것이다. 따라서, 위의 설명은 본 발명의 범위를 제한하는 것으로서 이해되어서는 안 되고, 첨부된 청구항에 의해 정의된다.

Claims (20)

  1. 순서적 데이터 세트(an ordered data set)를 요청하도록 작동가능한 호스트―상기 순서적 데이터 세트는 제 1 출력과 제 2 출력을 포함하고, 상기 순서적 데이터 세트에서 상기 제 1 출력은 상기 제 2 출력에 선행함―와,
    상기 순서적 데이터 세트를 유지하는 저장 매체와,
    상기 저장 매체로부터 상기 순서적 데이터 세트를 액세스하고, 상기 제 1 출력에 대응하는 제 1 프로세싱 입력 및 상기 제 2 출력에 대응하는 제 2 프로세싱 입력을 프로세싱하여 상기 제 1 출력 및 상기 제 2 출력을 산출하도록 작동가능한 데이터 프로세싱 회로로서 상기 제 2 출력은 상기 제 1 출력 이전에 사용가능한 상기 데이터 프로세싱 회로를 포함하되,
    상기 호스트는 상기 제 1 출력 이전에 상기 제 2 출력을 수신하도록 더 작동가능한
    데이터 저장 시스템.
  2. 제 1 항에 있어서,
    상기 호스트는 상기 제 2 출력에 대응하는 유효 상태를 나타내고, 상기 제 1 출력의 무효 상태를 나타내도록 작동가능한
    데이터 저장 시스템.
  3. 제 1 항에 있어서,
    상기 제 2 출력을 수신할 시에, 상기 호스트는 상기 제 2 출력에 대응하는 유효 상태를 나타내고, 상기 제 1 출력의 무효 상태를 나타내도록 작동가능한
    데이터 저장 시스템.
  4. 제 3 항에 있어서,
    상기 제 1 출력을 수신할 시에, 상기 호스트는 상기 제 1 출력의 유효 상태를 나타내기 위해 상기 제 1 출력의 나타낸 무효 상태를 수정하도록 작동가능한
    데이터 저장 시스템.
  5. 제 1 항에 있어서,
    제 1 검출된 출력을 산출하기 위해 상기 제 1 프로세싱 입력에 데이터 검출 알고리즘을 적용하고, 제 2 검출된 출력을 산출하기 위해 상기 제 2 프로세싱 입력에 상기 데이터 검출 알고리즘을 적용하도록 작동가능한 데이터 검출기 회로와,
    제 1 디코딩된 출력을 산출하기 위해 상기 제 1 검출된 출력으로부터 도출(derive)된 제 1 디코더 입력에 데이터 디코드 알고리즘을 적용하고, 제 2 디코딩된 출력을 산출하기 위해 상기 제 2 검출된 출력으로부터 도출된 제 2 디코더 입력에 상기 데이터 디코드 알고리즘을 적용하도록 작동가능한 데이터 디코드 회로를 포함하되,
    상기 제 1 출력은 상기 제 1 디코딩된 출력으로부터 도출되고, 상기 제 2 출력은 상기 제 2 디코딩된 출력으로부터 도출되는
    데이터 저장 시스템.
  6. 제 5 항에 있어서,
    상기 데이터 디코드 알고리즘은 저밀도 패리티 체크 알고리즘(a low density parity check algorithm)인
    데이터 저장 시스템.
  7. 제 5 항에 있어서,
    상기 데이터 검출 알고리즘은 최대 사후 데이터 검출 알고리즘(a maximum a posteriori data detection algorithm), 및 비터비 데이터 검출 알고리즘(a Viterbi data detection algorithm)으로 구성된 그룹으로부터 선택되는
    데이터 저장 시스템.
  8. 제 1 항에 있어서,
    상기 데이터 프로세싱 회로는 집적 회로로서 구현되는
    데이터 저장 시스템.
  9. 제 1 항에 있어서,
    상기 데이터 프로세싱 회로는 재시도 조건(a retry condition)이 만족되는 것에 적어도 부분적으로 기초하여 상기 호스트에 상기 제 1 출력을 리포팅하기 이전에 상기 호스트에 상기 제 2 출력을 리포팅하도록 작동가능한
    데이터 저장 시스템.
  10. 제 9 항에 있어서,
    상기 재시도 조건은 타임아웃 조건(a timeout condition)이 발생할 때 만족되는
    데이터 저장 시스템.
  11. 호스트 회로를 포함하되,
    상기 호스트 회로는,
    저장 디바이스로부터 순서적 데이터 세트를 요청하고―상기 순서적 데이터 세트는 제 1 출력과 제 2 출력을 포함하고, 상기 순서적 데이터 세트에서 상기 제 1 출력은 상기 제 2 출력에 선행함―,
    상기 제 1 출력을 수신하기 이전에 상기 저장 디바이스로부터 상기 제 2 출력을 수신하고,
    상기 제 2 출력을 수신할 시에, 상기 제 2 출력의 유효 상태 및 상기 제 1 출력의 무효 상태를 나타내고,
    상기 제 1 출력을 수신할 시에, 상기 제 1 출력의 유효 상태를 나타내기 위해 상기 제 1 출력의 무효 상태를 수정하는
    저장 제어 시스템.
  12. 제 11 항에 있어서,
    상기 시스템은 데이터 저장 디바이스의 부분으로서 구현되는
    저장 제어 시스템.
  13. 제 11 항에 있어서,
    상기 시스템은 집적 회로로서 구현되는
    저장 제어 시스템.
  14. 제 11 항에 있어서,
    상기 저장 디바이스는,
    상기 순서적 데이터 세트를 유지하는 저장 매체와,
    상기 저장 매체로부터 상기 순서적 데이터 세트를 액세스하고, 상기 제 1 출력에 대응하는 제 1 프로세싱 입력 및 상기 제 2 출력에 대응하는 제 2 프로세싱 입력을 프로세싱하여 상기 제 1 출력 및 상기 제 2 출력을 산출하도록 작동가능하한 데이터 프로세싱 회로로서, 상기 제 2 출력은 상기 제 1 출력 이전에 사용가능한 상기 데이터 프로세싱 회로를 포함하는
    저장 제어 시스템.
  15. 제 14 항에 있어서,
    상기 데이터 프로세싱 회로는,
    제 1 검출된 출력을 산출하기 위해 상기 제 1 프로세싱 입력에 데이터 검출 알고리즘을 적용하고, 제 2 검출된 출력을 산출하기 위해 상기 제 2 프로세싱 입력에 상기 데이터 검출 알고리즘을 적용하도록 작동가능한 데이터 검출기 회로와,
    제 1 디코딩된 출력을 산출하기 위해 상기 제 1 검출된 출력으로부터 도출된 제 1 디코더 입력에 데이터 디코드 알고리즘을 적용하고, 제 2 디코딩된 출력을 산출하기 위해 상기 제 2 검출된 출력으로부터 도출된 제 2 디코더 입력에 상기 데이터 디코드 알고리즘을 적용하도록 작동가능한 데이터 디코드 회로를 포함하되,
    상기 제 1 출력은 상기 제 1 디코딩된 출력으로부터 도출되고, 상기 제 2 출력은 상기 제 2 디코딩된 출력으로부터 도출되는
    저장 제어 시스템.
  16. 제 15 항에 있어서,
    상기 데이터 디코드 알고리즘은 저밀도 패리티 체크 알고리즘인
    저장 제어 시스템.
  17. 제 15 항에 있어서,
    상기 데이터 검출 알고리즘은 최대 사후 데이터 검출 알고리즘, 및 비터비 데이터 검출 알고리즘으로 구성된 그룹으로부터 선택되는
    저장 제어 시스템.
  18. 저장 디바이스에서의 데이터 프로세싱을 위한 방법에 있어서, 상기 방법은,
    순서적 데이터 세트에 대한 요청을 제공하는 단계―상기 순서적 데이터 세트는 제 1 디코더 입력에 대응하는 제 1 출력과, 제 2 디코더 입력에 대응하는 제 2 출력을 포함하되, 상기 순서적 데이터 세트에서 상기 제 1 출력은 상기 제 2 출력에 선행함―와,
    상기 제 1 출력을 수신하기 이전에 상기 저장 디바이스로부터 상기 제 2 출력을 수신하는 단계와,
    상기 제 2 출력을 수신할 시에, 상기 제 2 출력의 유효 상태 및 상기 제 1 출력의 무효 상태를 나타내는 단계와,
    상기 제 1 출력을 수신할 시에, 상기 제 1 출력의 유효 상태를 나타내기 위해 상기 제 1 출력의 무효 상태를 수정하는 단계를 포함하는
    방법.
  19. 제 18 항에 있어서,
    상기 방법은,
    저장 매체로부터 인코딩된 데이터 세트를 액세스하는 단계―상기 인코딩된 데이터 세트는 상기 순서적 데이터 세트에 대응함―와,
    상기 제 1 출력 및 상기 제 2 출력을 산출하기 위해 상기 인코딩된 데이터 세트를 프로세싱하는 단계를 더 포함하는
    방법.
  20. 제 19 항에 있어서,
    상기 인코딩된 데이터 세트를 프로세싱하는 단계는,
    제 1 검출된 출력 및 제 2 검출된 출력을 산출하기 위해 상기 인코딩된 데이터 세트에 데이터 검출 알고리즘을 적용하는 단계와,
    제 1 디코딩된 출력을 산출하기 위해 상기 제 1 검출된 출력으로부터 도출된 제 1 디코더 입력에 데이터 디코드 알고리즘을 적용하는 단계와,
    제 2 디코딩된 출력을 산출하기 위해 상기 제 2 검출된 출력으로부터 도출된 제 2 디코더 입력에 상기 데이터 디코드 알고리즘을 적용하는 단계를 포함하되,
    상기 제 1 출력은 상기 제 1 디코딩된 출력으로부터 도출되고, 상기 제 2 출력은 상기 제 2 디코딩된 출력으로부터 도출되는
    방법.
KR1020120131265A 2011-12-15 2012-11-19 저장 디바이스에서의 비순서적 리포팅을 처리하기 위한 시스템 및 방법 KR20130069392A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/326,367 US8868854B2 (en) 2011-12-15 2011-12-15 Systems and methods for handling out of order reporting in a storage device
US13/326,367 2011-12-15

Publications (1)

Publication Number Publication Date
KR20130069392A true KR20130069392A (ko) 2013-06-26

Family

ID=47602785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120131265A KR20130069392A (ko) 2011-12-15 2012-11-19 저장 디바이스에서의 비순서적 리포팅을 처리하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US8868854B2 (ko)
EP (1) EP2605121B1 (ko)
JP (1) JP2013125542A (ko)
KR (1) KR20130069392A (ko)
CN (1) CN103176747A (ko)
TW (1) TWI546816B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712190B2 (en) * 2015-09-24 2017-07-18 International Business Machines Corporation Data packing for compression-enabled storage systems
US9870285B2 (en) 2015-11-18 2018-01-16 International Business Machines Corporation Selectively de-straddling data pages in non-volatile memory

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03228267A (ja) * 1990-02-01 1991-10-09 Fujitsu Ltd 読取再試行方式
US5555390A (en) * 1992-10-19 1996-09-10 International Business Machines Corporation Data storage method and subsystem including a device controller for respecifying an amended start address
JP3328093B2 (ja) 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
US5701314A (en) 1995-12-21 1997-12-23 Cirrus Logic, Inc. On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive
JPH09282108A (ja) * 1996-04-16 1997-10-31 Hitachi Ltd ディスク装置
US6185620B1 (en) * 1998-04-03 2001-02-06 Lsi Logic Corporation Single chip protocol engine and data formatter apparatus for off chip host memory to local memory transfer and conversion
GB2350531B (en) 1999-05-26 2001-07-11 3Com Corp High speed parallel bit error rate tester
DE10085214T1 (de) 1999-11-22 2002-10-31 Seagate Technology Llc Verfahren und Vorrichtung für Data-Error-Recovery mit Defekt-Schwellwertdetektor und Viterbi-Verstärkungsfaktor
US7136244B1 (en) 2002-02-22 2006-11-14 Western Digital Technologies, Inc. Disk drive employing data averaging techniques during retry operations to facilitate data recovery
WO2004088982A1 (ja) * 2003-03-28 2004-10-14 Matsushita Electric Industrial Co. Ltd. データ処理装置
KR100559730B1 (ko) * 2003-09-22 2006-03-15 삼성전자주식회사 기록 시스템을 위한 데이터 부호화/복호화 방법 및 장치
US7730384B2 (en) 2005-02-28 2010-06-01 Agere Systems Inc. Method and apparatus for evaluating performance of a read channel
US7738201B2 (en) 2006-08-18 2010-06-15 Seagate Technology Llc Read error recovery using soft information
US7702989B2 (en) 2006-09-27 2010-04-20 Agere Systems Inc. Systems and methods for generating erasure flags
JP5018074B2 (ja) * 2006-12-22 2012-09-05 富士通セミコンダクター株式会社 メモリ装置,メモリコントローラ及びメモリシステム
US7971125B2 (en) 2007-01-08 2011-06-28 Agere Systems Inc. Systems and methods for prioritizing error correction data
JP2012509549A (ja) 2008-11-20 2012-04-19 エルエスアイ コーポレーション 雑音低減型データ検出のシステムおよび方法
US7990642B2 (en) 2009-04-17 2011-08-02 Lsi Corporation Systems and methods for storage channel testing
US8352841B2 (en) * 2009-06-24 2013-01-08 Lsi Corporation Systems and methods for out of order Y-sample memory management
US8176404B2 (en) 2009-09-09 2012-05-08 Lsi Corporation Systems and methods for stepped data retry in a storage system
US8688873B2 (en) * 2009-12-31 2014-04-01 Lsi Corporation Systems and methods for monitoring out of order data decoding
US8595415B2 (en) * 2011-02-02 2013-11-26 Micron Technology, Inc. At least semi-autonomous modules in a memory system and methods
US8810940B2 (en) 2011-02-07 2014-08-19 Lsi Corporation Systems and methods for off track error recovery
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing

Also Published As

Publication number Publication date
EP2605121A2 (en) 2013-06-19
TW201324521A (zh) 2013-06-16
EP2605121A3 (en) 2015-10-14
TWI546816B (zh) 2016-08-21
US20130159634A1 (en) 2013-06-20
CN103176747A (zh) 2013-06-26
JP2013125542A (ja) 2013-06-24
EP2605121B1 (en) 2016-09-21
US8868854B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
US8762807B2 (en) Systems and methods for out of order processing in a data retry
US9230596B2 (en) Systems and methods for variable rate coding in a data processing system
US9043684B2 (en) Systems and methods for variable redundancy data protection
EP2672483B1 (en) Data processing system with retained sector reprocessing
US8850276B2 (en) Systems and methods for efficient data shuffling in a data processing system
TW201407464A (zh) 以亂序傳送之資料處理系統
US20130246877A1 (en) Systems and Methods for Compression Driven Variable Rate Decoding in a Data Processing System
US20130262788A1 (en) Systems and Methods for External Priority Controlled Data Transfer
US8731115B2 (en) Systems and methods for data processing including pre-equalizer noise suppression
US8868854B2 (en) Systems and methods for handling out of order reporting in a storage device
JP5680696B2 (ja) シンボルの再グループ化による復号化処理のためのシステム及び方法
US8631300B2 (en) Systems and methods for scalable data processing shut down
US20130263147A1 (en) Systems and Methods for Speculative Read Based Data Processing Priority
US20130275717A1 (en) Multi-Tier Data Processing
US9324372B2 (en) Systems and methods for local iteration randomization in a data decoder
EP2637337A2 (en) Systems and methods for out of order data reporting
US20150039978A1 (en) Systems and Methods for Hybrid Priority Based Data Processing
US20140157074A1 (en) Systems and Methods for Selective Retry Data Retention Processing
US20140108880A1 (en) Systems and Methods for Enhanced Local Iteration Randomization in a Data Decoder
US20140229700A1 (en) Systems and Methods for Accommodating End of Transfer Request in a Data Storage Device

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid