JP2012230734A - 符号化・復号化装置、データ記憶装置、及び方法 - Google Patents

符号化・復号化装置、データ記憶装置、及び方法 Download PDF

Info

Publication number
JP2012230734A
JP2012230734A JP2011098305A JP2011098305A JP2012230734A JP 2012230734 A JP2012230734 A JP 2012230734A JP 2011098305 A JP2011098305 A JP 2011098305A JP 2011098305 A JP2011098305 A JP 2011098305A JP 2012230734 A JP2012230734 A JP 2012230734A
Authority
JP
Japan
Prior art keywords
data
parity
check matrix
encoding
storage device
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2011098305A
Other languages
English (en)
Other versions
JP5117593B2 (ja
Inventor
Yosuke Kondo
陽介 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2011098305A priority Critical patent/JP5117593B2/ja
Priority to US13/351,464 priority patent/US20120274487A1/en
Publication of JP2012230734A publication Critical patent/JP2012230734A/ja
Application granted granted Critical
Publication of JP5117593B2 publication Critical patent/JP5117593B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2942Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits
    • 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/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits
    • 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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】主データと共にエキストラデータについても符号化・復号化を実現できる符号化・復号化装置を提供することにある。
【解決手段】実施形態によれば、符号化・復号化装置は、第1のデータと第2のデータとを組み合わせたデータの統合パリティデータを生成するエンコーダを具備する。前記エンコーダは、所定の規則性を有する第1の検査行列を使用して前記第1のデータのパリティデータを生成する第1の生成モジュールと、第2の生成モジュールと、第3の生成モジュールとを含む構成である。前記第2の生成モジュールは、前記第1の検査行列とは排他的で異なる規則性を有する第2の検査行列を使用して、前記第2のデータのパリティデータを生成する。前記第3の生成モジュールは、前記第1及び第2の生成モジュールにより生成される各パリティデータを統合した前記統合パリティデータを生成する。
【選択図】図1

Description

本発明の実施形態は、データ記憶装置に適用可能な符号化・復号化装置に関する。
一般的に、データ記憶装置や通信装置では、データの誤り検出・訂正を行なう誤り訂正機能が組み込まれている。この誤り訂正機能を実現する代表的な方法として、ハミング符号を使用する符号化・復号化方法が周知である。
符号化・復号化方法は、例えばデータ記憶装置に記憶されるユーザデータ(情報ビット列)のパリティデータを生成する符号化(encoding)と、パリティデータを使用してユーザデータからエラーを検出する復号化(decoding)とからなる。
特開2007−141411号公報
符号化・復号化方法を採用する符号化・復号化装置により、データ記憶装置に記憶されるユーザデータに発生するエラーを検出し、かつエラーを訂正することが可能である。ところで、データ記憶装置では、記憶媒体に記憶するデータとして、主データであるユーザデータだけでなく、例えばアドレスデータや各種の管理データなどのユーザデータ以外の関連データ(以下、エキストラデータ:extra dataと表記する)が取り扱われる。
エキストラデータについても、符号化・復号化装置によりエラー検出訂正処理が行なわれることが望ましい。しかしながら、エキストラデータについて、ユーザデータとは独立に符号化・復号化を行なう場合に、符号化・復号化装置の処理効率の低下や構成の複雑化を招く可能性が高い。
そこで、本発明の目的は、主データと共にエキストラデータについても符号化・復号化を実現できる符号化・復号化装置を提供することにある。
実施形態によれば、符号化・復号化装置は、第1のデータと第2のデータとを組み合わせたデータの統合パリティデータを生成するエンコーダを具備する。前記エンコーダは、所定の規則性を有する第1の検査行列を使用して前記第1のデータのパリティデータを生成する第1の生成手段と、第2の生成手段と、第3の生成手段とを含む構成である。前記第2の生成手段は、前記第1の検査行列とは排他的で異なる規則性を有する第2の検査行列を使用して、前記第2のデータのパリティデータを生成する。前記第3の生成手段は、前記第1及び第2の生成手段により生成される各パリティデータを統合した前記統合パリティデータを生成する。
実施形態に関する符号化・復号化装置の構成を説明するためのブロック図。 実施形態に関するディスクドライブの要部を示すブロック図。 実施形態に関するSSDの要部を示すブロック図。 実施形態に関する検査行列の構成を説明するための図。 実施形態に関するロジックモジュールの構成を説明するためのブロック図。 実施形態に関するエンコーダの動作を説明するためのフローチャート。 実施形態に関するデコーダの動作を説明するためのフローチャート。
以下図面を参照して、実施形態を説明する。
[符号化・復号化装置の構成]
図1は本実施形態の符号化・復号化装置の構成を説明するためのブロック図である。
図1に示すように、符号化・復号化装置10は、エンコーダ11と、デコーダ15と、エラー訂正モジュール16とを有し、例えば1チップの集積回路により構成されている。本実施形態では、符号化・復号化装置10は、後述するように、ハードディスクドライブやSSD(solid state drive)などのデータ記憶装置に適用する場合について説明する。
エンコーダ11は、入力データとして、ユーザデータ100及びエキストラデータ(extra data)200を入力し、ハミング(Hamming)符号化方法による符号化処理を実行する。エンコーダ11は、ユーザデータ用パリティ演算モジュール(第1のパリティ演算モジュール)12と、エキストラデータ用パリティ演算モジュール(第2のパリティ演算モジュール)13と、排他的オアゲート(exclusive OR gate、XORゲートと表記する)14とを有する。
図6のフローチャートを参照して、エンコーダ11の符号化処理を説明する。エンコーダ11は、入力データとして、ユーザデータ100及びエキストラデータ200を入力する(ブロック600)。ここで、ユーザデータ100は、例えばホストシステムから転送されて、ストレージモジュール20の記憶媒体に保存される主データである。エキストラデータ200は、ユーザデータ100と関連する付加データであり、例えば論理ブロックアドレス(LBA)データや、データ記憶装置のシステム上の管理データなどである。
第1のパリティ演算モジュール12は、所定の生成行列(generator matrix)を使用して、ユーザデータ100のパリティデータを生成する(ブロック601)。第2のパリティ演算モジュール13は、第1のパリティ演算モジュール12の生成行列とは異なる生成行列を使用して、エキストラデータ200のパリティデータを生成する(ブロック602)。
XORゲート14は、第1及び第2のパリティ演算モジュール13,14から出力される各パリティデータを入力とする排他的論理和演算を実行し、統合パリティデータ300を算出する(ブロック603)。即ち、統合パリティデータ300は、ユーザデータ100とエキストラデータ200とを組み合わせたデータのパリティデータである。
ストレージモジュール20は、データ記憶装置のメイン要素であり、ユーザデータ100、エキストラデータ200及び統合パリティデータ300を記憶媒体に格納する(ブロック604)。この場合、ストレージモジュール20では、ユーザデータ100の記憶媒体のユーザエリアに格納される。エキストラデータ200は、記憶媒体のシステムエリアに格納される。また、統合パリティデータ300は、ユーザデータ100と共にユーザエリアに格納される。
デコーダ15は、ストレージモジュール20からユーザデータ100、エキストラデータ200及び統合パリティデータ300を入力し、生成行列に対応する所定の検査行列(check matrix)またはその転置行列(transposed matrix)を使用して、エラー検出処理を実行する。
図7のフローチャートを参照して、デコーダ15の復号化処理およびエラー訂正処理を説明する。
デコーダ15は、ストレージモジュール20からユーザデータ100、エキストラデータ200及び統合パリティデータ300を入力する(ブロック700)。デコーダ15は、統合パリティデータ300を使用し、後述する検査行列400に基づいて、ユーザデータ100及びエキストラデータ200のエラーの有無を判定し、エラーを検出する(ブロック701)。デコーダ15は、エラー判定によりエラー検出を示すフラグ151を出力する。さらに、デコーダ15は、シンドローム(syndrome)演算を実行する。デコーダ15は、シンドローム演算により、ユーザデータ100及びエキストラデータ200のそれぞれのエラー位置(エラーアドレス)を示すシンドローム150を生成する(ブロック702)。
エラー訂正モジュール16は、デコーダ15からのフラグ151に応じて、デコーダ15からのシンドローム150に基づいてユーザデータ100及びエキストラデータ200に存在するエラーを訂正して出力する(ブロック703,704)。
なお、本実施形態では、前記生成行列、それに対応する検査行列、及び検査行列の転置行列のいずれも便宜的に検査行列と呼ぶ。
さらに、符号化・復号化装置10において、エキストラデータ200の受け渡し処理は、ユーザデータ100と同じデータバスを使用してもよい。この場合、エキストラデータ200を示す信号または内部カウンタを利用することにより、ユーザデータ100とエキストラデータ200とを判別することが必要である。また、エキストラデータ200がユーザデータ100とは異なるデータバスで伝送する場合、第1及び第2のパリティ演算モジュール13,14の並列動作が可能である。また、ユーザデータ100を全て受け渡す前にエキストラデータ200が確定されていれば、ユーザデータ100のパリティ演算中にエキストラデータ200のパリティ計算を完了できる。これにより、ユーザデータ100のパリティ演算終了と共にエキストラデータ200のパリティデータを出力できるため、エキストラデータ200のパリティ演算サイクルは必要ない。
(データ記憶装置の構成)
図2及び図3は、本実施形態の符号化・復号化装置10を適用し、ストレージモジュール20を含むデータ記憶装置の具体例を説明するための図である。図2は、データ記憶装置としてハードディスクドライブ(HDD)の要部を示すブロック図である。図3は、データ記憶装置としてSSD(solid state drive)の要部を示すブロック図である。
図2に示すように、HDDは大別して、ヘッド・ディスクアセンブリ(head-disk assembly:HDA)、ヘッドアンプ集積回路(以下、ヘッドアンプIC)25と、回路基板26とから構成されている。HDAは、記憶媒体であるディスク21と、ヘッド22を搭載しているアーム23と、ボイスコイルモータ(VCM)24とを有する。
ディスク20は、スピンドルモータ(SPM)より回転する。アーム23とVCM24は、アクチュエータを構成している。アクチュエータは、VCM24の駆動により、アーム23に搭載されているヘッド22をディスク20上の指定の位置まで移動制御する。ヘッド22は、リードヘッド素子及びライトヘッド素子を有する。リードヘッド素子は、ディスク20上に記録されているデータを読み出す。ライトヘッド素子は、ディスク20上にデータを書き込む。
ヘッドアンプIC25は、リードアンプ及びライトドライバを有する。リードアンプは、リードヘッド素子により読み出されたリード信号を増幅して、リード/ライト(R/W)チャネル27に伝送する。一方、ライトドライバは、R/Wチャネル27から出力されるライトデータに応じたライト電流をライトヘッド素子に伝送する。
回路基板26は、R/Wチャネル27と、ディスクコントローラ28と、マイクロプロセッサ(CPU)29とを含む。R/Wチャネル27は、リードデータの信号処理を実行するリードチャネルと、ライトデータの信号処理を実行するライトチャネルとを含む。CPU29は、ドライブのメインコントローラであり、ヘッド22の位置決めを行なうサーボ制御及びデータのリード/ライト制御を実行する。
ディスクコントローラ28は、ホストシステムとR/Wチャネル27との間のデータ転送を制御するインターフェース制御を実行する。ディスクコントローラ28は、本実施形態の符号化・復号化装置10であるモジュールを含む。なお、図1に示すストレージモジュール20は、記憶媒体としてディスク20以外にDRAMからなるバッファメモリも含む。
図3に示すように、SSDは大別して、SSDコントローラ30と、フラッシュメモリモジュール31とから構成されている。SSDコントローラ30は、ホストシステムに含まれるホストデバイス(インターフェースコントローラ)32との間のデータ転送を制御し、かつフラッシュメモリモジュール31に対するデータのリード/ライト制御を実行する。なお、図1に示すストレージモジュール20は、記憶媒体としてフラッシュメモリモジュール31以外にDRAMからなるバッファメモリも含む。
[符号化・復号化処理]
以下、図4から図7を参照して、本実施形態の符号化・復号処理を具体的に説明する。
図4は、符号化・復号化装置10の符号化・復号化処理で使用される検査行列(転置行列H)400の具体的構成例を示す図である。
図4に示すように、本実施形態の検査行列400は、ユーザデータ100に対応する検査行列(検査行列A)410と、エキストラデータに対応する検査行列(検査行列B)420と、組織符号の単位行列((m+1)+nビット)430とから構成されている。これらの検査行列410,420,430は、行列の行成分の全てが排他的であり、1ビット訂正可能なハミング符号の検査行列として構成されている。
検査行列(A)410は、第1のパリティ演算モジュール12により生成されるパリティデータのビット数がpビットとすると、まず行列の右からm列を使って“α=2”のm乗個の組み合わせ(2=αビット)が昇順または降順に配置される。次に、行列の右からm+1列目からp列目までのビットの組み合わせが、行の中の“1”の数が2個以上となるように設定される。これにより、αビット(=2)のユーザデータ100に対する検査行列(A)410が構成される。
一方、検査行列(B)420は、検査行列(A)410の規則とは異なり、排他的な構成であり、エキストラデータ200に存在するエラー(1ビットのエラー)の位置を検出できるように構成されている。即ち、検査行列(B)420は、αビットのユーザデータ100とは異なるβビットのエキストラデータ200に対応する検査行列である。検査行列(B)420は、行列の任意の位置にβ個の組み合わせが昇順または降順に配置される。残りの位置には、検査行列(A)410で設定される行列の行と重複しないように、ビットの組み合わせが配置される。
図5は、図4に示す検査行列400を使用してハミング符号化・復号化処理を行なう符号化・復号化装置10を具体的に実現するためのロジックモジュールの構成を示すブロック図である。
図5に示すように、ロジックモジュールは、排他的オアゲート(exclusive OR gate、XOR)50、アンドゲート(AND gate)51、フリップフロップ52及びノアゲート(NOR gate)53から構成されている。
アンドゲート51は、符号化処理(encoding)と復号化処理(decoding)とを切り替えるロジックを構成する。即ち、アンドゲート51は、入力の一方に統合パリティデータ300が入力されて、他方に符号化・復号化の一方を指示する信号500が入力される。ロジックモジュールには、入力データとして例えば1クロックにつき64ビットのユーザデータ100及び36ビットのエキストラデータ200が入力される。
符号化処理では、アンドゲート51の他方の入力として、エンコード(encoding)を指示する信号500(“0”)が入力される。符号化処理では、複数の33入力XOR及び64入力XORを有する入力側回路の構成が、64ビットのユーザデータ100と検査行列(A)410とのパリティ演算に相当する。また、複数の18入力XOR、10入力XOR、4入力XOR、及び36入力XORを有する入力側回路の構成が、36ビットのエキストラデータ200と検査行列(B)420とのパリティ演算に相当する。この符号化処理により、例えば14ビットの統合パリティデータ300が生成される。
一方、復号化処理では、アンドゲート51の一方の入力として統合パリティデータ300が入力されて、他方の入力としてデコード(decoding)を指示する信号500(“1”)が入力される。この復号化処理により、前述のデコーダ15によるシンドローム演算が実行されて、ユーザデータ100及びエキストラデータ200のそれぞれのエラー位置を示すエラーアドレス(即ちシンドローム)150が生成される。また、ノアゲート53からは、エラー検出を示すフラグ151が出力される。
ここで、図4に示すように、本実施形態の検査行列400において、ユーザデータ100に対応する検査行列(A)410は、行列の右の1ビット目から12ビット目を使って、2のm乗個の組み合わせ(2=αビット)が昇順または降順に配置される。また、行列の左からの1ビット目と2ビット目は、行列の右から1ビット目と2ビット目の組み合わせパターンとを合わせて、その4ビット内における“1”の数が2個となるように配置されている。
一方で、エキストラデータ200に対応する検査行列(B)420は、エキストラデータ200が36ビットの場合に、行列の右からの3ビット目から12ビット目を使って、36個の組み合わせが昇順または降順に配置される。また、行列の左から1ビット目と2ビット目、及び行列の右から1ビット目と2ビット目の組み合わせは、“1111”のパターンになるように、“1”の数が4個となるように配置されている。
要するに、ユーザデータ100に対応する検査行列(A)410とエキストラデータ200に対応する検査行列(B)420とでは、同じ位置の4ビットは異なる組み合わせ(ビットパターン)となるように設定されている。従って、検査行列(B)420の前記の4ビットの組み合わせは、“1111”のパターンではなく、“1”の数が3個となる“1110”のパターンでもよい。
以上のように復号化処理おいて、ユーザデータ100とエキストラデータ200とでは、それぞれで使用される検査行列の4ビットの組み合わせパターンが明確に異なる。従って、シンドローム演算により、ユーザデータ100とエキストラデータ200のいずれかに1ビットのエラーが発生した場合に、当該4ビットの組み合わせパターンに基づいて、いずれのデータのエラーであるかを区別できる。
さらに、デコーダ15は、算出したシンドローム150がエラー位置をそのまま示す。従って、ユーザデータ100とエキストラデータ200のどちらにエラーがあっても、シンドローム150からエラー位置(エラーアドレス)を算出するための演算は必要ない。例えば、エキストラデータ200が36ビットであり、エキストラデータ内に1ビットエラーが発生した場合に、エラーアドレス[7:2]の値がそのままエキストラデータ内のエラー位置を示すことになる。
以上のように本実施形態の符号化・復号化装置であれば、特にデータ記憶装置で取り扱われるユーザデータ100及びエキストラデータ(関連データ)200のいずれに対しても、符号化・復号化処理をほぼ同時に実行することができる。具体的には、符号化処理では、ユーザデータ100及びエキストラデータ200を統合したデータに対応する統合パリティデータを生成することができる。また、復号化処理では、その統合したデータに対するデコードを実行して、ユーザデータ100及びエキストラデータ200のそれぞれに対してエラー検出訂正を行なうことができる。
従って、統合したデータに対する1ビット訂正可能なハミング符号化・復号化処理を高速に行なうことが可能である。また、ユーザデータ100及びエキストラデータ200のそれぞれに対応するパリティ演算構成を、小規模で簡単なロジックモジュールにより実現できる。これにより、特に1ビット訂正可能なハミング符号化・復号化装置として、HDDやSSDなどのデータ記憶装置に組み込み、ユーザデータだけでなく、その関連データであるエキストラデータも同時に保護することが可能となる。
なお、本実施形態の符号化・復号化装置は、データ記憶装置に適用する場合について説明したが、これに限ることなく例えば無線通信装置などの通信装置にも適用可能である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…符号化・復号化装置、11…エンコーダ、
12…ユーザデータ用パリティ演算モジュール、
13…エキストラデータ用パリティ演算モジュール、
14…排他的オアゲート(XORゲート)、15…デコーダ、
16…エラー訂正モジュール、20…ストレージモジュール、
21…ディスク、22…ヘッド、27…リード/ライトチャネル、
28…ディスクコントローラ、29…マイクロプロセッサ(CPU)、
30…SSDコントローラ、31…フラッシュメモリモジュール。
実施形態によれば、符号化・復号化装置は、主データである第1のデータと、前記第1のデータとは異なり前記主データと関連する付加データである第2のデータとを組み合わせたデータの統合パリティデータを生成するエンコーダと、前記統合パリティデータを使用して、前記第1及び第2のデータのそれぞれのエラーを検出するデコーダとを具備する。前記エンコーダは、第1の生成手段と、第2の生成手段と、第3の生成手段とを含む前記第1の生成手段は、所定の規則性を有するパリティ生成用の第1の行列を使用して前記第1のデータのパリティデータを生成する。前記第2の生成手段は、前記第1の行列とは排他的で異なる規則性を有するパリティ生成用の第2の行列を使用して、前記第2のデータのパリティデータを生成する。前記第3の生成手段は、前記第1及び第2の生成手段により生成される各パリティデータを入力とする排他的論理和演算により算出される前記統合パリティデータを生成する。

Claims (11)

  1. 第1のデータと第2のデータとを組み合わせたデータの統合パリティデータを生成するエンコーダを具備し、
    前記エンコーダは、
    所定の規則性を有する第1の検査行列を使用して前記第1のデータのパリティデータを生成する第1の生成手段と、
    前記第1の検査行列とは排他的で異なる規則性を有する第2の検査行列を使用して、前記第2のデータのパリティデータを生成する第2の生成手段と、
    前記第1及び第2の生成手段により生成される各パリティデータを統合した前記統合パリティデータを生成する第3の生成手段と
    を含む構成である符号化・復号化装置。
  2. 前記統合パリティデータを使用して、前記第1及び第2のデータのそれぞれのエラーを検出するデコーダを有し、
    前記デコーダは、
    前記第1の検査行列に基づいて前記第1のデータからエラーを検出し、
    前記第2の検査行列に基づいて前記第2のデータからエラーを検出するように構成されている請求項1に記載の符号化・復号化装置。
  3. 前記第3の生成手段は、
    前記第1及び第2の生成手段により生成される各パリティデータを入力として、排他的論理和演算を実行して前記統合パリティデータを算出するロジックモジュールを含む請求項1に記載の符号化・復号化装置。
  4. 請求項1に記載の符号化・復号化装置を有するデータ記憶装置であって、
    前記第1のデータであるユーザデータ、前記第2のデータであるエキストラデータ、及び前記統合パリティデータを記憶する記憶デバイスと、
    前記記憶デバイスから読み出した前記ユーザデータまたは前記エキストラデータを外部に出力するインターフェースと
    を具備するデータ記憶装置。
  5. 請求項2に記載の符号化・復号化装置を有するデータ記憶装置であって、
    前記デコーダは、前記記憶デバイスから読み出された前記ユーザデータ及び前記エキストラデータのそれぞれのエラーを検出し、
    前記デコーダにより検出される各エラーを訂正するエラー訂正手段を有する請求項4に記載のデータ記憶装置。
  6. 前記記憶デバイスに対して、前記ユーザデータに前記統合パリティデータを付加したデータを記憶し、
    前記記憶デバイスに対して、前記エキストラデータを前記ユーザデータとは管理の異なる記憶領域に記憶するように制御する制御手段を含む請求項4に記載のデータ記憶装置。
  7. 所定の規則性を有する第1の検査行列を使用して第1のデータのパリティデータを生成し、
    前記第1の検査行列とは排他的で異なる規則性を有する第2の検査行列を使用して、第2のデータのパリティデータを生成し、
    前記第1及び第2の生成手段により生成される各パリティデータを統合した前記統合パリティデータを生成する符号化・復号化方法。
  8. 前記統合パリティデータを使用して、前記第1及び第2のデータのそれぞれのエラーを検出する場合に、
    前記第1の検査行列に基づいて前記第1のデータからエラーを検出し、
    前記第2の検査行列に基づいて前記第2のデータからエラーを検出する請求項7に記載の符号化・復号化方法。
  9. 前記第1及び第2の各パリティデータを入力として、排他的論理和演算を実行して前記統合パリティデータを算出する請求項7に記載の符号化・復号化方法。
  10. 前記第1のデータであるユーザデータ、前記第2のデータであるエキストラデータ、及び前記統合パリティデータを、データ記憶装置の記憶デバイスに記憶する請求項7に記載の符号化・復号化方法。
  11. 前記記憶デバイスから読み出された前記統合パリティデータを使用して、前記ユーザデータ及び前記エキストラデータのそれぞれのエラーを検出する場合に、
    前記第1の検査行列に基づいて前記ユーザデータからエラーを検出し、
    前記第2の検査行列に基づいて前記エキストラデータからエラーを検出する請求項8に記載の符号化・復号化方法。
JP2011098305A 2011-04-26 2011-04-26 符号化・復号化装置、データ記憶装置、及び方法 Expired - Fee Related JP5117593B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011098305A JP5117593B2 (ja) 2011-04-26 2011-04-26 符号化・復号化装置、データ記憶装置、及び方法
US13/351,464 US20120274487A1 (en) 2011-04-26 2012-01-17 Apparatus for encoding and decoding, data storage apparatus and method for encoding and decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011098305A JP5117593B2 (ja) 2011-04-26 2011-04-26 符号化・復号化装置、データ記憶装置、及び方法

Publications (2)

Publication Number Publication Date
JP2012230734A true JP2012230734A (ja) 2012-11-22
JP5117593B2 JP5117593B2 (ja) 2013-01-16

Family

ID=47067466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011098305A Expired - Fee Related JP5117593B2 (ja) 2011-04-26 2011-04-26 符号化・復号化装置、データ記憶装置、及び方法

Country Status (2)

Country Link
US (1) US20120274487A1 (ja)
JP (1) JP5117593B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10176040B2 (en) 2016-04-05 2019-01-08 Micron Technology, Inc. Error correction code (ECC) operations in memory
CN110704235B (zh) * 2019-09-23 2023-03-21 深圳忆联信息系统有限公司 Ssd数据保护的方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141411A (ja) * 2005-11-22 2007-06-07 Toshiba Corp 復号装置、記憶装置および復号方法
JP2007299449A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd エラー訂正装置、符号器、復号器、方法及び情報記憶装置
JP2008065969A (ja) * 2006-08-09 2008-03-21 Fujitsu Ltd 符号化装置、復号化装置、符号化方法、復号化方法および記憶装置
JP2009271956A (ja) * 2008-04-30 2009-11-19 Toshiba Corp データ復号装置,データ再生装置,およびデータ復号方法
JP2012099942A (ja) * 2010-10-29 2012-05-24 Toshiba Corp 符号化・復号化装置、データ記憶装置、及び方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537425A (en) * 1992-09-29 1996-07-16 International Business Machines Corporation Parity-based error detection in a memory controller
US8321752B1 (en) * 2008-11-12 2012-11-27 Marvell International Ltd. Integrated 2-level low density parity check (LDPC) codes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141411A (ja) * 2005-11-22 2007-06-07 Toshiba Corp 復号装置、記憶装置および復号方法
JP2007299449A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd エラー訂正装置、符号器、復号器、方法及び情報記憶装置
JP2008065969A (ja) * 2006-08-09 2008-03-21 Fujitsu Ltd 符号化装置、復号化装置、符号化方法、復号化方法および記憶装置
JP2009271956A (ja) * 2008-04-30 2009-11-19 Toshiba Corp データ復号装置,データ再生装置,およびデータ復号方法
JP2012099942A (ja) * 2010-10-29 2012-05-24 Toshiba Corp 符号化・復号化装置、データ記憶装置、及び方法

Also Published As

Publication number Publication date
US20120274487A1 (en) 2012-11-01
JP5117593B2 (ja) 2013-01-16

Similar Documents

Publication Publication Date Title
JP5913560B2 (ja) 低密度パリティチェック符号を使用する符号化および復号技法
US8386889B1 (en) Drive replacement techniques for RAID systems
US8910012B2 (en) Block-interleaved and error correction code (ECC)-encoded sub data set (SDS) format
JP6388599B2 (ja) 不均一誤り保護を備えたヘッダ付サブ・データ・セットを復号するためのシステム、方法、及びプログラム
JP4648255B2 (ja) 情報処理装置および情報処理方法
CN1881477A (zh) 编码数据的错误检测和校正
JP4619931B2 (ja) 復号装置、記憶装置および復号方法
JP6817301B2 (ja) 積符号のためのダイアグノスティクスを伴う復号後エラー・チェック
JP4790790B2 (ja) 誤り検出訂正回路及び半導体メモリ
JP2013137708A (ja) メモリコントローラ、データ記憶装置およびメモリ制御方法
JP4861509B1 (ja) 符号化・復号化装置、データ記憶装置、及び方法
CN111696615A (zh) 存储器系统和操作存储器系统的方法
JP5117593B2 (ja) 符号化・復号化装置、データ記憶装置、及び方法
JP6491482B2 (ja) 複数のフラッシュ面にわたってコード語をインターリーブするための方法および/または装置
JP2007207325A (ja) 誤り訂正処理装置及び誤り訂正処理方法
KR101355988B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
US20150256204A1 (en) Memory controller, storage device and memory control method
JP2011008426A (ja) ディスクアレイ装置、ディスクアレイ装置制御方法、及びディスクアレイ装置用プログラム
JP2019057096A (ja) メモリシステム
CN103631669B (zh) 一种纠错sram的回写方法
JP2006323434A (ja) データ処理装置及びそのメモリ訂正方法
TWI707354B (zh) 錯誤更正碼記憶體裝置和碼字存取方法
JP4829376B2 (ja) 情報処理装置および情報処理方法
US10114569B2 (en) Computing system with shift expandable coding mechanism and method of operation thereof
US20140245101A1 (en) Semiconductor memory

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120918

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121017

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees