KR20110003726A - Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치 - Google Patents

Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치 Download PDF

Info

Publication number
KR20110003726A
KR20110003726A KR1020090061143A KR20090061143A KR20110003726A KR 20110003726 A KR20110003726 A KR 20110003726A KR 1020090061143 A KR1020090061143 A KR 1020090061143A KR 20090061143 A KR20090061143 A KR 20090061143A KR 20110003726 A KR20110003726 A KR 20110003726A
Authority
KR
South Korea
Prior art keywords
data
host
error
crc
crc code
Prior art date
Application number
KR1020090061143A
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 삼성전자주식회사
Priority to KR1020090061143A priority Critical patent/KR20110003726A/ko
Priority to US12/780,984 priority patent/US20110004817A1/en
Publication of KR20110003726A publication Critical patent/KR20110003726A/ko

Links

Images

Classifications

    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 SATA 인터페이스에서의 CRC 관리 방법 및 이를 구현한 데이터 저장 장치에 대하여 개시된다. SATA 인터페이스에 연결되는 호스트 인터페이스는, 전송 데이터에 대하여 CRC 계산하여 제1 CRC 코드를 발생한 후, 호스트 인터페이스 블락 에러, 데이터 무결성 에러 또는 리포트된 상태 에러가 있는지 여부를 검출하여, 제1 CRC 코드와는 다른 제2 CRC 코드를 발생한다. 전송 데이터에다가 제2 CRC 코드를 실은 프레임을 호스트로 보내게 되면, 호스트는 수신되는 프레임 내 데이터 FIS를 CRC 계산하여 제1 CRC 코드를 기대하는 데, 호스트에 수신되는 프레임 내 CRC 코드는 제2 CRC 코드이기 때문에, 호스트는 잘못된 전송 데이터가 수신된 것으로 인식하여 데이터 저장 장치로 수신 에러를 통지하게 된다. 이에 따라, SATA 인터페이스에서 프로토콜 에러가 아닌 호스트 인터페이스 블락 에러, 데이터 무결성 에러 또는 리포트된 상태 에러 등을 호스트에게 알릴 수 있다.
Figure P1020090061143
SATA 인터페이스, 호스트 인터페이스, 제1 CRC 코드, 제2 CRC 코드, 호스트 인터페이스 블락 에러, 데이터 무결성 에러 또는 리포트된 상태 에러

Description

SATA 인터페이스에서의 CRC 관리 방법 및 이를 구현한 데이터 저장 장치{CRC mamagement method for SATA interface and data storage device thereof}
본 발명은 데이터 저장 장치에 관한 것으로, 특히 SATA 인터페이스에서 프로토콜 에러가 아닌 경우의 CRC 관리 방법 및 이를 구현한 데이터 저장 장치에 관한 것이다.
데이터 저장 장치의 시리얼 인터페이스로서, 시리얼 ATA(Serial AT Attachment: 이하 "SATA"라고 칭한다)라고 불리는 규격이 각광을 받고 있다. SATA에서는, 규격상, 사용자 데이터인 파일은 최대 8KB 단위로 분할되고, 분할 단위 마다 FIS(Frame Information Structure)와 FIS의 내용에 근거하여 계산되는 CRC(Cyclic Redundancy Check) 코드 1개씩 부가된 뒤, SATA 버스를 이용하여 호스트로 송신된다. 호스트는 CRC 코드에 근거하여 FIS 마다 에러 체크를 행하고, 에러가 검출된다면 호스트로의 전송을 중지하고 수신 에러 통지를 데이터 저장 장치에게 돌려준다.
SATA 인터페이스에서의 CRC는 FIS 내용을 근거로 하여 계산되기 때문에, SATA 버스 상의 전송 도중에 생길 수 있는 에러, 즉 프로트콜 에러 유무를 검출하는 방식이다. 그러나, 데이터 저장 장치 내부의 전원 전압의 변동이나 온도 변화에 의해 또는 데이터를 전송하기 위한 경로에 이상이 생겨 FIS 내용 자체에 에러가 있는 경우, SATA 인터페이스에서의 CRC 에러가 발생하지 않은 경우, 에러가 있는 FIS 내용을 그대로 올바른 데이터로 인식해 버리는 문제점이 있다.
본 발명의 목적은 SATA 인터페이스에서 프로토콜 에러가 아닌 경우의 CRC 관리 방법을 제공하는 데 있다.
본 발명의 다른 목적은 상기 CRC 관리 방법을 구현하는 데이터 저장 장치를 제공하는 데 있다.
상기 목적을 달성하기 위하여, 본 발명의 일면에 따른 호스트와 데이터 저장 장치 사이의 SATA 인터페이스에서의 CRC 관리 방법은, 호스트로 전송될 프레임의 SOF 프리미티브와 데이터 FIS의 헤더 부분인지를 확인하여 데이터 전송을 시작하는 단계, 전송되는 데이터에 대하여 CRC 계산하여 제1 CRC 코드를 발생하는 단계, 전송되는 데이터에 에러가 포함된 경우 제1 CRC 코드와는 다른 제2 CRC 코드를 발생하는 단계, 그리고 전송되는 데이터에다가 제1 CRC 코드 또는 제2 CRC 코드를 선택적으로 실은 프레임을 호스트로 전송하는 단계를 포함한다.
본 발명의 실시예들에 따라, 전송되는 데이터에 포함된 에러는 데이터 저장 장치 내 호스트 인터페이스 블락에서 발생된 에러, 데이터 저장 장치 내부의 데이터 경로 상에서 발생된 에러, 데이터 저장 장치의 내부 블락들이 전원 변동이나 온도 변화로 인해 오동작되어 발생된 에러 또는 데이터 저장 장치 내 저장 매체로 사용되는 플래쉬 메모리 장치 내 배드 블락의 데이터가 독출되어져 전송되는 데이터를 구성한 경우인 것으로 설정될 수 있다.
본 발명의 실시예들에 따라, 제2 CRC 코드는 제1 CRC 코드에다가 1을 더한 값으로 발생되거나 제1 CRC 코드를 반전시킨 값으로 발생될 수 있다.
상기 다른 목적을 달성하기 위하여, 본 발명의 다른 일면에 따른 데이터 저장 장치는, 호스트와의 SATA 프로토콜을 수행하되 호스트로 전송되는 데이터와 함께 이에 대한 제1 CRC 코드를 생성하여 전송하고, 전송되는 데이터에 에러가 포함된 경우 제1 CRC 코드와는 다른 제2 CRC 코드를 생성하여 전송되는 데이터와 함께 전송하는 호스트 인터페이스, 그리고 SATA 프로토콜에 의해 호스트 인터페이스에서 해석된 커맨드 정보와 제어 정보로부터 발생되는 제어 신호들에 응답하여 SATA 프로토콜 상의 데이터 정보를 저장 또는 독출하는 저장 매체를 포함한다.
상술한 본 발명의 CRC 관리 방법에 의하면, 호스트 인터페이스는 전송 데이터에 대하여 CRC 계산하여 제1 CRC 코드를 발생한 후, 호스트 인터페이스 블락 에러, 데이터 무결성 에러 또는 리포트된 상태 에러가 있는지 여부를 검출하여 제1 CRC 코드와는 다른 제2 CRC 코드를 발생한다. 전송 데이터에다가 제2 CRC 코드를 실은 프레임을 호스트로 보내게 되면, 호스트는 수신되는 프레임 내 데이터 FIS를 CRC 계산하여 제1 CRC 코드를 기대하는 데, 호스트에 수신되는 프레임 내 CRC 코드는 제2 CRC 코드이기 때문에, 호스트는 잘못된 전송 데이터가 수신된 것으로 인식하여 데이터 저장 장치로 수신 에러를 통지하게 된다. 이에 따라, SATA 인터페이스에서 프로토콜 에러가 아닌 호스트 인터페이스 블락 에러, 데이터 무결성 에러 또는 리포트된 상태 에러 등을 호스트에게 알릴 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 예시적인 실시예를 설명하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 데이터 저장 장치를 설명하는 도면이다. 도 1을 참조하면, 데이터 저장 장치(100)는 호스트 인터페이스(110), 호스트 콘트롤러(120), 버퍼 매니저(130), 메모리 인터페이스(140), 메모리(150), 미디어 콘트롤러(160), 미디어 인터페이스(170), 그리고 미디어(180)를 포함한다.
호스트 인터페이스(110)는 호스트(200)와의 SATA 프로토콜을 수행한다. SATA 프로토콜에서는, 데이터를 전송하기 위하여, 도 2에 도시된 전송 시퀀스를 이용한다. 도 2를 참조하면, 프리미티브들(primitive)은 시리얼 라인의 리얼 타임 상태 정보를 전하고, 정보의 전달을 제어하고, 호스트(200)와 데이터 저장 장치(100)의 통신을 조정한다. 프레임은 다수개의 더블 워드들로 구성되고, SOF(Start Of Frame) 프리미티브, 데이터 FIS로 불리는 페이로드 데이터(Payload Data), CRC, 그리고 EOF(End Of Frame) 프리미티브를 포함한다.
도 1에서, 호스트 인터페이스(110)는, SATA 프로토콜에서의 레지스터-호스트 투 디바이스 FIS를 이용하여, 커맨드 정보와 제어 정보를 해석한다. 그리고 호스트 인터페이스(110)는 데이터-호스트 투 디바이스 FIS 또는 데이터-디바이스 투 호스트 FIS의 데이터 정보를 송수신한다. 호스트 인터페이스(110)는 호스트(200)로부터 수신한 데이터에 대한 CRC 계산 작업을 통해 제1 CRC 코드를 생성하고, 생성된 제1 CRC 코드와 호스트(200)로부터 수신되는 CRC 코드를 비교하여 CRC 에러를 검출한다. 호스트 인터페이스(110)는 호스트(200)로 전송할 데이터와 함께 이에 대한 제1 CRC 코드를 생성하여 전송한다.
그리고, 호스트 인터페이스(110)는, 데이터 저장 장치(100) 내부의 동작상의 오류에 의해 에러를 포함하는 데이터를 호스트로 송신하는 경우, 에러가 포함된 데이터에 대한 제1 CRC 코드 대신에 제2 CRC 코드를 생성하여 호스트(200)로 전송한다. 제2 CRC 코드는 제1 CRC 코드에다가 1을 더한 값이나 제1 CRC 코드를 반전시킨 값으로 설정된다. 제2 CRC 코드는 다양한 방법들에 의해 제1 CRC 코드와는 다른 값이 되도록 설정될 수 있다.
호스트 콘트롤러(120)는 호스트 인터페이스(110)에서 해석된 커맨드 정보와 제어 정보로부터 명령어와 주소 등의 제어 신호들을 발생하여 버퍼 매니저(130)로 전달한다. 버퍼 매니저(130)는 메모리 인터페이스(140)를 통하여 메모리(150)의 억세스를 제어한다. 메모리(150)는 데이터-호스트 투 디바이스 FIS 또는 데이터-디바이스 투 호스트 FIS의 데이터 정보를 임시 저장하는 데, SRAM 또는 DRAM과 같은 메모리 장치로 구성될 수 있다.
또한, 버퍼 매니저(130)는 미디어 콘트롤러(160)와 미디어 인터페이스(170)를 통해 미디어(180)의 억세스를 제어한다. 미디어(180)는 데이터-호스트 투 디바 이스 FIS 또는 데이터-디바이스 투 호스트 FIS의 데이터 정보를 저장하는 저장 매체로서, 플래쉬 메모리 장치와 같은 비휘발성 메모리 장치로 구성될 수 있다.
데이터 저장 장치(100)를 구성하는 개별 구성 요소들, 즉 호스트 인터페이스(110), 호스트 콘트롤러(120), 버퍼 매니저(130), 메모리 인터페이스(140), 메모리(150), 미디어 콘트롤러(160), 미디어 인터페이스(170), 그리고 미디어(180)의 동작상 에러가 발생할 수가 있다. 이러한 에러는 데이터 저장 장치(100) 내 전원 변동이나 온도 변화 등으로 인하여 발생될 수 있다. 이러한 에러를 포함하는 데이터가 호스트 인터페이스(110)로까지 전달되어 SATA 프로토콜로 호스트(200)로 전송될 때, 데이터 저장 장치(100)는 도 3의 CRC 관리 방법으로 데이터를 전송한다.
도 1과 연계하여 도 3을 참조하면, 호스트 인터페이스(110)는 호스트(200)로 전송될 데이터 프레임의 SOF 프리미티브와 데이터 FIS의 헤더(header) 부분인지를 확인하여(302) 데이터 전송을 시작한다(304). 전송 데이터가 마지막 데이터일 때까지(306), 전송 데이터에 대하여 CRC 계산하여 제1 CRC 코드(CRC1)를 발생한다(304).
이 후, 호스트 인터페이스(110)를 구성하는 내부 블락에서 발생된 에러가 있는지 여부를 검토하여(308), 호스트 인터페이스 블락 에러가 있는 경우, 호스트 인터페이스(110)는 제1 CRC 코드(CRC1)와는 다른 제2 CRC 코드(CRC2)를 발생한다(310). 이후, 호스트 인터페이스(110)는 제2 CRC 코드(CRC2)와 함께 EOF 프리미티브를 전송 데이터 프레임에 실어서 호스트(200)로 보낸다(320).
호스트 인터페이스 블락 에러가 없는 경우(308), 데이터 저장 장치(100) 내부의 데이터 경로 상에서 발생된 에러가 있었는지를 검토하여 데이터 무결성 여부를 확인한다(312). 데이터 무결성 에러가 있는 경우(312), 호스트 인터페이스(110)는 제1 CRC 코드(CRC1)와는 다른 제2 CRC 코드(CRC2)를 발생한다(310). 이후, 호스트 인터페이스(110)는 제2 CRC 코드(CRC2)와 함께 EOF 프리미티브를 전송 데이터 프레임에 실어서 호스트(200)로 보낸다(320).
데이터 무결성 에러가 없는 경우(312), 데이터 저장 장치(100)의 내부 블락들, 즉 호스트 인터페이스(110), 호스트 콘트롤러(120), 버퍼 매니저(130), 메모리 인터페이스(140), 메모리(150), 미디어 콘트롤러(160), 미디어 인터페이스(170) 또는 미디어(180)에서 동작상 에러가 있었는지를 검토하여 데이터 저장 장치(100)의 상태를 리포트할 필요가 있는지 여부를 확인한다(314). 예컨대, 데이터 저장 장치(100)의 내부 블락들이 전원 변동이나 온도 변화 등으로 인해 오동작되어 발생되는 에러들, 또는 미디어(180)가 플래쉬 메모리 장치로 포함하는 저장 매체인 경우에 플래쉬 메모리 장치 내 배드 블락(bad block)의 데이터가 독출되어 호스트 인터페이스(110)로 전달된 경우와 같은 동작상 에러들이 발생된 경우(314), 각 내부 블락들(120-180)은 호스트 인터페이스(110)로 리포트하게 된다(314), 이에 따라, 호스트 인터페이스(110)는 제1 CRC 코드(CRC1)와는 다른 제2 CRC 코드(CRC2)를 발생한다(310). 이후, 호스트 인터페이스(110)는 제2 CRC 코드(CRC2)와 함께 EOF 프리미티브를 전송 데이터 프레임에 실어서 호스트(200)로 보낸다(320).
호스트 인터페이스(110)로 리포트된 에러 상태가 없는 경우(314), 호스트 인 터페이스(110)는 전송 데이터에 대하여 CRC 계산되었던(304, 306) 제1 CRC 코드(CRC1)와 함께(316) EOF 프리미티브를 전송 데이터 프레임에 실어서 호스트(200)로 보낸다(320).
따라서, 본 실시예의 CRC 관리 방법에 의하면, 호스트 인터페이스(110)는 전송 데이터에 대하여 CRC 계산하여 제1 CRC 코드(CRC1)를 발생한 후, 호스트 인터페이스 블락 에러, 데이터 무결성 에러 또는 리포트된 상태 에러가 있는지 여부를 검출하여 제1 CRC 코드(CRC1)와는 다른 제2 CRC 코드(CRC2)를 발생한다. 전송 데이터에다가 제2 CRC 코드(CRC2)를 실은 프레임을 호스트(200)로 보내게 되면, 호스트(200)는 수신되는 프레임 내 데이터 FIS를 CRC 계산하여 제1 CRC 코드(CRC1)를 기대한다. 그런데, 호스트(100)에 수신되는 프레임 내 CRC 코드는 제2 CRC 코드(CRC2)이기 때문에, 호스트(100)는 잘못된 전송 데이터가 수신된 것으로 인식하여 데이터 저장 장치(100)로 수신 에러를 통지하게 된다. 이에 따라, SATA 인터페이스에서 프로토콜 에러가 아닌 호스트 인터페이스 블락 에러, 데이터 무결성 에러 또는 리포트된 상태 에러 등을 호스트(200)에게 알릴 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 일실시예에 따른 데이터 저장 장치를 설명하는 도면이다.
도 2는 SATA 프로토콜에서의 전송 시퀀스를 설명하는 도면이다.
도 3은 본 발명의 일실시예에 따른 SATA 인터페이스에서의 CRC 관리 방법을 설명하는 플로우챠트이다.

Claims (14)

  1. 호스트와 데이터 저장 장치 사이의 SATA 인터페이스에 있어서,
    상기 호스트로 전송될 프레임의 SOF 프리미티브와 데이터 FIS의 헤더 부분인지를 확인하여 데이터 전송을 시작하는 단계;
    전송되는 데이터에 대하여 CRC 계산하여 제1 CRC 코드를 발생하는 단계;
    상기 전송되는 데이터에 에러가 포함된 경우, 상기 제1 CRC 코드와는 다른 제2 CRC 코드를 발생하는 단계; 및
    상기 전송되는 데이터에다가 상기 제1 CRC 코드 또는 상기 제2 CRC 코드를 선택적으로 실은 상기 프레임을 상기 호스트로 전송하는 단계를 구비하는 것을 특징으로 하는 CRC 관리 방법.
  2. 제1항에 있어서, 상기 전송되는 데이터에 포함된 에러는
    상기 데이터 저장 장치 내 호스트 인터페이스 블락에서 발생된 에러인 것을 특징으로 하는 CRC 관리 방법.
  3. 제1항에 있어서, 상기 전송되는 데이터에 포함된 에러는
    상기 데이터 저장 장치 내부의 데이터 경로 상에서 발생된 에러인 것을 특징으로 하는 CRC 관리 방법.
  4. 제1항에 있어서, 상기 전송되는 데이터에 포함된 에러는
    상기 데이터 저장 장치의 내부 블락들이 전원 변동이나 온도 변화로 인해 오동작되어 발생된 에러인 것을 특징으로 하는 CRC 관리 방법.
  5. 제1항에 있어서, 상기 전송되는 데이터에 포함된 에러는
    상기 데이터 저장 장치 내 저장 매체로 사용되는 플래쉬 메모리 장치 내 배드 블락의 데이터가 독출되어져 상기 전송되는 데이터를 구성한 경우인 것을 특징으로 하는 CRC 관리 방법.
  6. 제1항에 있어서, 상기 제2 CRC 코드는
    상기 제1 CRC 코드에다가 1을 더한 값으로 발생되는 것을 특징으로 하는 CRC 관리 방법.
  7. 제1항에 있어서, 상기 제2 CRC 코드는
    상기 제1 CRC 코드를 반전시킨 값으로 발생되는 것을 특징으로 하는 CRC 관리 방법.
  8. 호스트와의 SATA 프로토콜을 수행하되, 상기 호스트로 전송되는 데이터와 함께 이에 대한 제1 CRC 코드를 생성하여 전송하고, 상기 전송되는 데이터에 에러가 포함된 경우 상기 제1 CRC 코드와는 다른 제2 CRC 코드를 생성하여 상기 전송되는 데이터와 함께 전송하는 호스트 인터페이스; 및
    상기 SATA 프로토콜에 의해 상기 호스트 인터페이스에서 해석된 커맨드 정보와 제어 정보로부터 발생되는 제어 신호들에 응답하여 상기 SATA 프로토콜 상의 데이터 정보를 저장 또는 독출하는 저장 매체를 구비하는 것을 특징으로 하는 데이터 저장 장치.
  9. 제8항에 있어서, 상기 전송되는 데이터에 포함된 에러는
    상기 호스트 인터페이스에서 발생된 에러인 것을 특징으로 하는 데이터 저장 장치.
  10. 제8항에 있어서, 상기 전송되는 데이터에 포함된 에러는
    상기 데이터 저장 장치 내부의 데이터 경로 상에서 발생된 에러인 것을 특징으로 하는 데이터 저장 장치.
  11. 제8항에 있어서, 상기 전송되는 데이터에 포함된 에러는
    상기 데이터 저장 장치의 내부 블락들이 전원 변동이나 온도 변화로 인해 오동작되어 발생된 에러인 것을 특징으로 하는 데이터 저장 장치.
  12. 제8항에 있어서, 상기 전송되는 데이터에 포함된 에러는
    상기 저장 매체로 사용되는 플래쉬 메모리 장치 내 배드 블락의 데이터가 독 출되어져 상기 전송되는 데이터를 구성한 경우인 것을 특징으로 하는 데이터 저장 장치.
  13. 제8항에 있어서, 상기 제2 CRC 코드는
    상기 제1 CRC 코드에다가 1을 더한 값으로 발생되는 것을 특징으로 하는 데이터 저장 장치.
  14. 제8항에 있어서, 상기 제2 CRC 코드는
    상기 제1 CRC 코드를 반전시킨 값으로 발생되는 것을 특징으로 하는 데이터 저장 장치.
KR1020090061143A 2009-07-06 2009-07-06 Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치 KR20110003726A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090061143A KR20110003726A (ko) 2009-07-06 2009-07-06 Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치
US12/780,984 US20110004817A1 (en) 2009-07-06 2010-05-17 Crc management method performed in sata interface and data storage device using crc management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090061143A KR20110003726A (ko) 2009-07-06 2009-07-06 Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치

Publications (1)

Publication Number Publication Date
KR20110003726A true KR20110003726A (ko) 2011-01-13

Family

ID=43413274

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090061143A KR20110003726A (ko) 2009-07-06 2009-07-06 Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치

Country Status (2)

Country Link
US (1) US20110004817A1 (ko)
KR (1) KR20110003726A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10493533B2 (en) * 2014-07-17 2019-12-03 King Abdullah University Of Science And Technology Scalable shape- and size-controlled synthesis of metal nano-alloys
US10419035B2 (en) 2017-11-20 2019-09-17 International Business Machines Corporation Use of multiple cyclic redundancy codes for optimized fail isolation
US10530523B2 (en) 2017-11-20 2020-01-07 International Business Machines Corporation Dynamically adjustable cyclic redundancy code rates
US10530396B2 (en) 2017-11-20 2020-01-07 International Business Machines Corporation Dynamically adjustable cyclic redundancy code types
US10541782B2 (en) 2017-11-20 2020-01-21 International Business Machines Corporation Use of a cyclic redundancy code multiple-input shift register to provide early warning and fail detection
KR20210128240A (ko) * 2020-04-16 2021-10-26 에스케이하이닉스 주식회사 컨트롤러 및 이의 동작 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047475B2 (en) * 2003-02-04 2006-05-16 Hewlett-Packard Development Company, L.P. CRC encoding scheme for conveying status information
US7712004B1 (en) * 2003-09-30 2010-05-04 Emc Corporation Method of and system for error checking in a data storage system
US8667363B2 (en) * 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US7627806B1 (en) * 2006-03-01 2009-12-01 Altera Corporation Integrated hard-wired or partly hard-wired CRC generation and/or checking architecture for a physical coding sublayer in a programmable logic device
JP2008159152A (ja) * 2006-12-22 2008-07-10 Toshiba Corp 記憶装置

Also Published As

Publication number Publication date
US20110004817A1 (en) 2011-01-06

Similar Documents

Publication Publication Date Title
KR101543245B1 (ko) 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템
US9191030B2 (en) Memory controller, data storage device, and memory controlling method
US11500707B2 (en) Controller, memory controller, storage device, and method of operating the controller
KR100640037B1 (ko) 파일 제어 시스템 및 파일 제어 장치
KR20110003726A (ko) Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치
CN104699576B (zh) 串行通信测试装置、包括该装置的***及其方法
US9424892B2 (en) Storage device to which memory device are connectable in multiple stages
KR20160018987A (ko) 인터페이스 회로 및 그것의 패킷 전송 방법
CN104184543A (zh) 一种数据传输的方法、装置和***
CN105190766A (zh) 具有错误纠正逻辑的存储器设备
CN101477480A (zh) 内存控制方法、装置及内存读写***
CN103544994A (zh) 快闪存储器控制器、快闪存储器侦错方法
TW201543496A (zh) 資料處理方法、記憶體控制電路單元以及記憶體儲存裝置
CN113259273B (zh) 交换机的控制方法、交换机、计算机设备和存储介质
CN103389923A (zh) 随机存储器访问总线ecc校验装置
US8291270B2 (en) Request processing device, request processing system, and access testing method
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
US11604600B2 (en) Stand-alone bridging test method
CN105938465B (zh) 包括多个功能模块的半导体器件及其操作方法
CN103389924A (zh) 应用于随机存储器的ecc存储***
CN108037942B (zh) 一种嵌入式设备的自适应数据恢复与更新方法及装置
TWI738627B (zh) 具有錯誤偵測功能的智能網卡系統及錯誤偵測方法
CN113037507B (zh) 具有错误侦测功能的智能网卡***及错误侦测方法
TWI757606B (zh) 伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法
CN118113207A (zh) 数据写入方法、存储装置及电子设备

Legal Events

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