JP2012518224A - メモリコントローラ及び方法におけるデータ完全性 - Google Patents
メモリコントローラ及び方法におけるデータ完全性 Download PDFInfo
- Publication number
- JP2012518224A JP2012518224A JP2011550132A JP2011550132A JP2012518224A JP 2012518224 A JP2012518224 A JP 2012518224A JP 2011550132 A JP2011550132 A JP 2011550132A JP 2011550132 A JP2011550132 A JP 2011550132A JP 2012518224 A JP2012518224 A JP 2012518224A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error detection
- memory
- detection circuit
- sector
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
【選択図】図2
Description
(結論)
Claims (57)
- ホストインタフェースと、
前記ホストインタフェースに結合される第1のエラー検出回路と、
メモリインタフェースと、
前記メモリインタフェースに結合される第2のエラー検出回路と、
を備えるメモリコントローラであって、
前記第1のエラー検出回路が、
前記ホストインタフェースから受信されるデータに対してエラー検出データを計算し、
前記ホストインタフェースに送信されるデータの完全性をチェックするように構成され、
前記第2のエラー検出回路が、
前記メモリインタフェースに送信されるデータ及び第1のエラー訂正データに対して、エラー訂正データを計算し、
前記メモリインタフェースから受信されるデータ及び第1のエラー訂正データの完全性をチェックするように構成される、
メモリコントローラ。 - 前記第1のエラー検出回路が、データの受信されたセクタごとにエラー検出データを計算するように構成される、請求項1に記載のメモリコントローラ。
- 前記ホストインタフェースから受信される前記データが、ある数のデータのセクタを含むデータペイロードを含み、
前記ホストインタフェースから受信される前記データがストリーミングデータを含む、
請求項2に記載のメモリコントローラ。 - 前記第1のエラー検出回路が、リンク層及び/又はトランスポート層によって前記ホストインタフェースに結合されるサイクリックリダンダンシーチェック(CRC)エンジンを備え、
前記第2のエラー検出回路が、エラー訂正コード(ECC)エンジンを備える、
請求項1に記載のメモリコントローラ。 - 前記メモリコントローラが、
前記ホストインタフェース、並びに前記第1のエラー訂正回路及び前記第2のエラー検出回路に結合されるデータ転送回路と、
前記データ転送回路に結合されるエラー検出メモリと、
を含み、
前記エラー検出メモリが、前記エラー検出データを記憶するように構成される、
請求項1に記載のメモリコントローラ。 - 前記メモリコントローラが、
前記データ転送回路、及び前記第2のエラー検出回路に結合されるデータバッファと、
を含み、
前記データバッファが、前記第2のエラー検出回路のためにデータをバッファリングするように構成される、
請求項5に記載のメモリコントローラ。 - 前記第2のエラー検出回路が、前記メモリインタフェースから受信される前記データの1つ又は複数のエラーを訂正するように構成される、請求項1に記載のメモリコントローラ。
- 前記メモリコントローラが、前記ホストインタフェースから受信される前記データ、前記エラー検出データ、及び前記エラー訂正データを、前記メモリインタフェース上で転送するように構成される、請求項1に記載のメモリコントローラ。
- 前記メモリコントローラが、
前記メモリインタフェース、並びに前記第1のエラー検出回路及び前記第2のエラー検出回路に結合されるデータ転送回路と、
を含み、
前記データ転送回路が、前記メモリインタフェースからデータ及び対応するエラー検出データを受信し、前記第1のエラー検出回路に、前記データ及び前記対応するエラー検出データを転送するように構成される、
請求項1に記載のメモリコントローラ - 前記第1のエラー検出回路が、
前記データ転送回路から受信される前記データに対してエラー検出データを計算し、
前記データ転送回路から受信される前記データに対して前記計算されたエラー検出データを、前記データ転送回路から受信される前記対応するエラー検出データに比較するように構成される、
請求項9に記載のメモリコントローラ。 - 前記メモリコントローラが、
2つ以上のチャネルと、
前記データ転送回路に結合されるチャネルデータ転送回路と、
前記チャネルデータ転送回路及び前記第2のエラー検出回路に結合されるデータバッファと、
前記メモリインタフェースに結合されるエラー検出メモリと、
を含む、請求項9に記載のメモリコントローラ。 - 前記メモリコントローラが、
2つ以上のチャネルと、
チャネルプロセッサ及びチャネルメモリと、
を含む、請求項9に記載のメモリコントローラ。 - 前記メモリコントローラが、
前記ホストインタフェースに結合されるホストバッファと、
前記ホストバッファに結合される暗号化回路と、
を含み、
前記暗号化回路が、暗号化された出力を提供するために任意選択で前記データを処理するように構成される、
請求項1に記載のメモリコントローラ。 - 前記暗号化回路が、高度暗号化規格(AES)エンジンを備える、請求項13に記載のメモリコントローラ。
- ホストインタフェースと、
前記ホストインタフェースに結合されるフロントエンドエラー検出回路と、
メモリインタフェースと、
前記メモリインタフェースに結合されるバックエンドエラー検出回路と、
を備えるメモリコントローラであって、
前記フロントエンドエラー検出回路が、対応するデータに対して第1のエラー検出データを計算するように構成され、
前記バックエンドエラー検出回路が、前記対応するデータに対して第2のエラー検出データを計算し、
前記対応するデータの完全性をチェックするように構成される、
メモリコントローラ。 - 前記バックエンドエラー検出回路が、前記対応するデータの完全性をチェックするために、前記第1のエラー検出データを前記第2のエラー検出データと比較するように構成される、請求項15に記載のメモリコントローラ。
- 前記メモリコントローラが、
前記フロントエンドエラー検出回路に結合されるデータ転送回路と、
前記データ転送回路、及び前記バックエンドエラー検出回路に結合されるバックエンドエラー検出メモリと、
を含み、
前記データ転送回路が前記フロントエンドエラー検出回路から前記バックエンドエラー検出メモリに、前記第1のエラー検出データを転送するように構成され、
前記バックエンドエラー検出回路が、前記対応するデータの完全性をチェックするために、前記エラー検出メモリからの前記第1のエラー検出データを、前記第2のエラー検出データと比較するように構成される、
請求項15に記載のメモリコントローラ。 - 前記フロントエンドエラー検出回路が、サイクリック冗長性チェック(CRC)エンジンを備え、
前記バックエンドエラー検出回路が、CRCエンジンを備え、
前記メモリコントローラが、前記バックエンドエラー検出回路、及び前記メモリインタフェースに結合されるエラー訂正コード(ECC)エンジンを含み、
前記ECCエンジンが、前記対応するデータに対してエラー訂正データを計算するように構成される、
請求項15に記載のメモリコントローラ。 - 前記メモリコントローラが、前記第1のエラー検出データ及び/又は前記第2のエラー検出データなしで、前記エラー訂正データ及び前記対応するデータを、前記メモリインタフェース上で転送するように構成される、請求項18に記載のメモリコントローラ。
- 前記対応するデータが、ダイレクトメモリアクセス(DMA)ペイロードを含み、
前記フロントエンドエラー検出回路が、前記DMAペイロードのセクタごとに第1のエラー検出データを計算するように構成され、
前記バックエンドエラー検出回路が、前記DMAペイロードのセクタごとに第2のエラー検出データを計算するように構成される、
請求項15に記載のメモリコントローラ。 - 1つ又は複数のソリッドステートメモリデバイスと、
メモリインタフェースによって、前記1つ又は複数のソリッドステートメモリデバイスに結合されるメモリコントローラと、
を備えるメモリシステムであって、前記メモリコントローラが、
ホストインタフェースと、
前記ホストインタフェースに結合される第1のエラー検出回路と、
前記メモリインタフェースに結合される第2のエラー検出回路と、
を含み、
前記第1のエラー検出回路及び前記第2のエラー検出回路が、前記データが前記メモリシステム内にある間に、前記ホストインタフェース上で転送されるデータの1つ又は複数のエラーを検出するように構成される、
メモリシステム。 - 前記第1のエラー検出回路が、サイクリック冗長性チェック(CRC)エンジンを備え、
前記第1のエラー検出回路が、セクタごとに前記データに対してエラー検出データを計算するように構成される、
請求項21に記載のメモリシステム。 - 前記第2のエラー検出回路が、エラー訂正コード(ECC)エンジンを備え、
前記第2のエラー検出回路が、セクタごとに前記データ及び前記エラー検出データに対してエラー訂正データを計算するように構成される、
請求項22に記載のメモリシステム。 - 前記メモリコントローラが、前記1つ又は複数のソリッドステートメモリデバイスに、前記データ、前記エラー検出データ、及び前記エラー訂正データを記憶するように構成される、請求項23に記載のメモリシステム。
- 前記メモリコントローラが、前記第2のエラー検出回路に結合されるデータバッファを含み、
前記第2のエラー検出回路が、前記データが前記データバッファ内にある間にデータのエラーを訂正するように構成される、
請求項21に記載のメモリシステム。 - 前記メモリコントローラが、前記第1の及び前記第2のエラー検出回路に結合されるエラー検出メモリを含み、
前記第2のエラー検出回路が、前記エラー検出データが前記エラー検出メモリにある間に、エラー検出データエラーを訂正するように構成される、
請求項21に記載のメモリシステム。 - 前記メモリシステムが、前記メモリコントローラの前記ホストインタフェースに結合される物理インタフェースを含み、
前記第1のエラー検出回路が、リンク層及び/又はトランスポート層によって前記ホストインタフェースに結合される、
請求項21に記載のメモリシステム。 - 前記物理インタフェースが、シリアルアドバンスドテクノロジーアタッチメント(SATA)物理インタフェースを備え、
前記データが、ダイレクトメモリアクセス(DMA)ペイロードの少なくとも一部を備え、
前記第1のエラー検出回路が、リンク層によって前記ホストインタフェースに結合され、
前記第1のエラー検出回路が、前記リンク層から前記DMAペイロードを受信するように構成される、
請求項27に記載のメモリシステム。 - 前記物理インタフェースが、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)物理インタフェースを備え、
前記データが、ダイレクトメモリアクセス(DMA)ペイロードの少なくとも一部を備え、
前記第1のエラー検出回路が、トランスポート層によって前記ホストインタフェースに結合され、
前記第1のエラー検出回路が、前記トランスポート層から前記DMAペイロードを受信するように構成される、
請求項27に記載のメモリシステム。 - 前記メモリシステムが、ソリッドステートドライブ(SSD)を備え、前記1つ又は複数のソリッドステートメモリデバイスが、1つ又は複数のNANDフラッシュアレイを含む、請求項21に記載のメモリシステム。
- 1つ又は複数のソリッドステートメモリデバイスと、
前記1つ又は複数のソリッドステートメモリデバイスに結合されるメモリコントローラと、
を備えるメモリシステムであって、前記メモリコントローラが、
データのセクタに対して第1のエラー検出データを計算するように構成されるフロントエンドエラー検出回路と、
データの前記セクタに対して第2のエラー検出データを計算し、
データの前記セクタの完全性をチェックするように構成されるバックエラー検出回路と、
を含み、
前記メモリコントローラが、前記1つの又は複数のソリッドステートメモリデバイス内の、前記第1のエラー検出データ及び/又は前記第2のエラー検出データなしで、データの前記セクタを記憶するように構成される、
メモリシステム。 - 前記バックエンドエラー検出回路は、データの前記セクタの完全性をチェックするために、前記第1のエラー検出データを、前記第2のエラー検出データと比較するように構成されるサイクリックリダンダンシーチェック(CRC)エンジンを備える、請求項31に記載のシステム。
- 前記システムは、前記メモリコントローラのホストインタフェースに結合される物理インタフェースを含む、請求項31に記載のシステム。
- 前記フロントエンドエラー検出回路が、リンク層及び/又はトランスポート層によって前記ホストインタフェースに結合されるサイクリックリダンダンシーチェック(CRC)エンジンを備える、請求項33に記載のシステム。
- 前記物理インタフェースが、
ユニバーサルシリアルバス(USB)と、
シリアルアドバンストテクノロジーアタッチメント(SATA)と、
ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)と、
を含むシリアルインタフェースの群から選択されるシリアルインタフェースを備える、請求項33に記載のシステム。 - 前記メモリコントローラが、前記バックエンドエラー検出回路、及びメモリインタフェースに結合されるエラー訂正コード(ECC)エンジンを含み、前記ECCエンジンが、データの前記セクタに対してエラー訂正データを計算するように構成される、請求項31に記載のシステム。
- 前記メモリコントローラが、前記第1のエラー検出データが前記第2のエラー検出データに一致するときに、前記1つ又は複数のソリッドステートメモリデバイス内の、前記エラー検出データなしに、データの前記セクタ及び前記エラー訂正データを記憶するように構成される、請求項36に記載のシステム。
- 前記フロントエンドエラー検出回路が、データの前記セクタの完全性をチェックするために、前記第1のエラー検出データを前記第2のエラー検出データと比較するように構成される、請求項31に記載のシステム。
- メモリシステムを動作する方法であって、
ある数のデータのセクタを受信することと、
前記数のデータのセクタの、データのセクタあたりのエラー検出データを計算することと、
データ及び対応するエラー検出データのセクタあたりのエラー訂正データを計算することと、
1つ又は複数のソリッドステートメモリデバイスに、データの前記セクタ、及び対応するエラー検出データ、及びエラー訂正データを記憶することと、
を含む方法。 - 前記方法が、
前記エラー訂正データを計算する前に、エラー検出メモリに前記エラー検出データを記憶することと、
前記エラー訂正データを計算する前に、データの前記セクタをバッファリングすることと、
を含む、請求項39に記載の方法。 - 前記方法が、サイクリックリダンダンシーチェック(CRC)エンジン及びダイレクトメモリアクセス(DMA)モジュールと並行して、前記数のデータのセクタを受信することを含む、請求項39に記載の方法。
- 前記方法が、データの前記セクタを記憶する前に、前記CRCエンジンを用いてデータの前記セクタの完全性をチェックすることを含む、請求項41に記載の方法。
- 前記方法が、前記エラー訂正データを計算する前に、プレーンテキストから暗号文にデータの前記セクタを暗号化することを含む、請求項39に記載の方法。
- メモリシステムのデータの完全性をチェックするための方法であって、
1つ又は複数のソリッドステートメモリデバイスから、前記データ、前記データに対応する第1のエラー検出データ、及び前記データに対応するエラー訂正データを読み取ることと、
前記データ及び前記第1のエラー検出データをエラー訂正することと、
前記データに対応する第2のエラー検出データを計算することと、
前記第1のエラー検出データを、前記第2のエラー検出データと比較することと、
を含む方法。 - 前記方法が、エラー検出回路と並行して、前記データ及び前記第1のエラー検出データを転送することを含む、請求項44に記載の方法。
- 前記方法が、前記第1のエラー検出データを前記第2のエラー検出データと比較した後に、ホストインタフェースのトランスポート層上で前記データを転送することを含む、請求項44に記載の方法。
- 前記方法が、前記第1のエラー検出データがエラー検出メモリ内にある間に、前記第1のエラー検出データで識別される1つ又は複数のエラーを訂正することを含む、請求項4に記載の方法。
- 前記方法が、前記データがデータバッファ内にある間に、前記データで識別される1つ又は複数のエラーを訂正することを含む、請求項44に記載の方法。
- 前記方法が、
前記1つ又は複数のソリッドステートメモリデバイスから暗号文データとして前記データを読み取ることと、
前記メモリシステムのホストインタフェースの前記トランスポート層上で前記データを転送する前に、前記暗号文データをプレーンテキストデータに復号することと、
を含む、請求項44に記載の方法。 - メモリシステムを動作するための方法であって、
ある数のデータのセクタを受信することと、
前記数のデータのセクタの、データのセクタあたりの第1のエラー検出データを計算することと、
前記数のデータのセクタの、データのセクタあたりの第2のエラー検出データを計算することと、
前記第1のエラー検出データを、前記第2のエラー検出データと比較することと、
1つ又は複数のソリッドステートメモリデバイスに前記数のデータのセクタを記憶することと、
を含む方法。 - 前記方法が、
前記第1のエラー検出データを前記第2のエラー検出データと比較した後に、データのセクタあたりのエラー訂正データを計算することと、
前記1つ又は複数のソリッドステートメモリデバイスに、前記数のデータのセクタ、及び前記対応するエラー訂正データを記憶することと、
を含む、請求項50に記載の方法。 - 前記方法が、バックエンドデータバッファから、バックエンドエラー検出回路、及びエラー訂正回路に並行して前記数のデータのセクタを転送することを含み、前記バックエンドエラー検出回路が、第2のエラー検出データを計算するという行為を実行する、請求項51に記載の方法。
- 前記方法が、前記第1のエラー検出データ又は前記第2のエラー検出データを記憶することなく、前記1つ又は複数のソリッドステートメモリデバイスに、前記数のデータのセクタ、及び前記対応するエラー訂正データを記憶することを含む、請求項51に記載の方法。
- 前記方法が、前記第2のエラー検出データを計算する前に、バンクエンドエラー検出メモリ内に前記第1のエラー検出データを記憶することを含む、請求項50に記載の方法。
- メモリシステムのデータのセクタの完全性をチェックするための方法であって、
1つ又は複数のソリッドステートメモリデバイスから、データのセクタ、及びアペンドされたエラー訂正データを読み取ることと、
データの前記セクタをエラー訂正することと、
データの前記セクタに対してエラー検出データを計算することと、
データの前記セクタ及び前記エラー合検出データを転送することと、
データの前記転送されたセクタに対してエラー検出データを計算し、それを前記転送されたエラー検出データと比較することと、
を含む方法。 - 前記方法が、前記比較する行為の後に、ホストインタフェースのトランスポート層上で、データの前記セクタを転送することを含む、請求項55に記載の方法。
- 前記方法が、前記エラー訂正行為の後に、データの前記セクタから前記エラー訂正データを削除することを含む、請求項55に記載の方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/388,305 US8468417B2 (en) | 2009-02-18 | 2009-02-18 | Data integrity in memory controllers and methods |
| US12/388,305 | 2009-02-18 | ||
| PCT/US2010/000412 WO2010096153A2 (en) | 2009-02-18 | 2010-02-12 | Data integrity in memory controllers and methods |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012518224A true JP2012518224A (ja) | 2012-08-09 |
| JP5776107B2 JP5776107B2 (ja) | 2015-09-09 |
Family
ID=42560933
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011550132A Expired - Fee Related JP5776107B2 (ja) | 2009-02-18 | 2010-02-12 | メモリコントローラ及び方法におけるデータ完全性 |
Country Status (7)
| Country | Link |
|---|---|
| US (3) | US8468417B2 (ja) |
| EP (1) | EP2399194A4 (ja) |
| JP (1) | JP5776107B2 (ja) |
| KR (2) | KR101457518B1 (ja) |
| CN (1) | CN102317919B (ja) |
| TW (2) | TW201434051A (ja) |
| WO (1) | WO2010096153A2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017059278A (ja) * | 2015-09-14 | 2017-03-23 | ラピスセミコンダクタ株式会社 | 半導体メモリ及び半導体メモリのベリファイ方法 |
| KR102057371B1 (ko) | 2016-03-11 | 2019-12-18 | 웨스턴 디지털 테크놀로지스, 인코포레이티드 | 저장 시스템에서 오류 정정 인코딩된 데이터의 리던던시 |
| WO2025024720A1 (en) * | 2023-07-27 | 2025-01-30 | SK Hynix NAND Product Solutions Corp. (dba Solidigm) | Progressive redundant array of inexpensive disks (raid) for memory devices |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8468417B2 (en) * | 2009-02-18 | 2013-06-18 | Micron Technology, Inc. | Data integrity in memory controllers and methods |
| JP2010262715A (ja) * | 2009-05-11 | 2010-11-18 | Renesas Electronics Corp | メモリ検査システム及びメモリ検査方法 |
| JP5017407B2 (ja) * | 2010-03-24 | 2012-09-05 | 株式会社東芝 | 半導体記憶装置 |
| JP5605238B2 (ja) * | 2011-01-25 | 2014-10-15 | ソニー株式会社 | メモリシステムおよびその動作方法 |
| US8745294B2 (en) * | 2011-04-01 | 2014-06-03 | Taejin Info Tech Co., Ltd. | Dynamic random access memory for a semiconductor storage device-based system |
| JP5346978B2 (ja) * | 2011-04-15 | 2013-11-20 | シャープ株式会社 | インターフェイス装置、配線基板、及び情報処理装置 |
| JP5346979B2 (ja) * | 2011-04-18 | 2013-11-20 | シャープ株式会社 | インターフェイス装置、配線基板、及び情報処理装置 |
| CN102203740B (zh) * | 2011-05-27 | 2013-06-05 | 华为技术有限公司 | 数据处理方法、装置及系统 |
| US8589761B2 (en) | 2011-05-31 | 2013-11-19 | Micron Technology, Inc. | Apparatus and methods for providing data integrity |
| JP2013029882A (ja) * | 2011-07-26 | 2013-02-07 | Toshiba Corp | メモリコントローラ、半導体記憶装置および復号方法 |
| US20130067157A1 (en) * | 2011-09-12 | 2013-03-14 | Byungcheol Cho | Semiconductor storage device having multiple host interface units for increased bandwidith |
| US8953644B2 (en) | 2011-12-27 | 2015-02-10 | Intel Corporation | Multi-protocol I/O interconnect time synchronization |
| US8775713B2 (en) | 2011-12-27 | 2014-07-08 | Intel Corporation | Multi-protocol tunneling over an I/O interconnect |
| JP2013137708A (ja) * | 2011-12-28 | 2013-07-11 | Toshiba Corp | メモリコントローラ、データ記憶装置およびメモリ制御方法 |
| US8782321B2 (en) | 2012-02-08 | 2014-07-15 | Intel Corporation | PCI express tunneling over a multi-protocol I/O interconnect |
| US8880923B2 (en) | 2012-03-29 | 2014-11-04 | Intel Corporation | Link power management in an I/O interconnect |
| KR102002925B1 (ko) * | 2012-11-01 | 2019-07-23 | 삼성전자주식회사 | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 |
| KR102009437B1 (ko) * | 2013-01-18 | 2019-08-13 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
| KR102083374B1 (ko) * | 2013-06-17 | 2020-04-14 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그의 제어 방법 |
| US9256551B2 (en) | 2013-08-09 | 2016-02-09 | Apple Inc. | Embedded encryption/secure memory management unit for peripheral interface controller |
| CN103533045B (zh) * | 2013-10-12 | 2017-12-29 | 丁贤根 | 一种用于pcie数据链路层高性能容错的方法 |
| KR102058495B1 (ko) * | 2013-11-29 | 2020-02-07 | 에스케이하이닉스 주식회사 | 오류 검출 회로 및 이를 이용하는 반도체 집적회로 |
| KR102214556B1 (ko) * | 2014-08-19 | 2021-02-09 | 삼성전자주식회사 | 메모리 장치 및 모듈 |
| US9697140B2 (en) * | 2014-09-23 | 2017-07-04 | Intel Corporation | Encryption integrity check with CRC encryption in memory using a word count- and address-derived nonce |
| WO2016137464A1 (en) * | 2015-02-26 | 2016-09-01 | Hewlett Packard Enterprise Development Lp | Checksum requests of files |
| TWI625620B (zh) * | 2017-05-12 | 2018-06-01 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其讀取方法 |
| KR102678314B1 (ko) * | 2018-08-03 | 2024-06-25 | 삼성전자주식회사 | 유저 데이터에 대한 에러 정정을 수행하는 에러 정정 회로 및 이를이용한 에러 정정 방법 |
| WO2020210390A1 (en) * | 2019-04-09 | 2020-10-15 | Sunrise Memory Corporation | Quasi-volatile memory device with a back-channel usage |
| US10891184B2 (en) * | 2019-05-22 | 2021-01-12 | Macronix International Co., Ltd. | Configurable data integrity mode, and memory device including same |
| US11080132B2 (en) * | 2019-07-12 | 2021-08-03 | Micron Technology, Inc. | Generating error checking data for error detection during modification of data in a memory sub-system |
| JP7327029B2 (ja) * | 2019-09-19 | 2023-08-16 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、データ通信方法 |
| JP7419715B2 (ja) * | 2019-09-19 | 2024-01-23 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、データ整合性判定方法 |
| US11693732B2 (en) * | 2019-12-31 | 2023-07-04 | Micron Technology, Inc. | Cryptographic data integrity protection |
| US11934333B2 (en) | 2021-03-25 | 2024-03-19 | Mellanox Technologies, Ltd. | Storage protocol emulation in a peripheral device |
| US11934658B2 (en) | 2021-03-25 | 2024-03-19 | Mellanox Technologies, Ltd. | Enhanced storage protocol emulation in a peripheral device |
| US12332739B2 (en) * | 2021-05-21 | 2025-06-17 | Intel Corporation | Buffer that supports burst transfers having parallel CRC and data transmissions |
| US11726666B2 (en) * | 2021-07-11 | 2023-08-15 | Mellanox Technologies, Ltd. | Network adapter with efficient storage-protocol emulation |
| US11687273B2 (en) | 2021-09-29 | 2023-06-27 | Micron Technology, Inc. | Memory controller for managing data and error information |
| US11775387B2 (en) * | 2022-01-21 | 2023-10-03 | Micron Technology, Inc. | Cyclic redundancy check (CRC) retry for memory systems in compute express link (CXL) devices |
| US12093566B2 (en) | 2022-03-01 | 2024-09-17 | Micron Technology, Inc. | Memory controller for managing raid information |
| US11940872B2 (en) | 2022-04-21 | 2024-03-26 | Analog Devices International Unlimited Company | Error correction code validation |
| US12260098B2 (en) | 2022-09-14 | 2025-03-25 | Micron Technology, Inc. | Memory channel disablement |
| US12117948B2 (en) | 2022-10-31 | 2024-10-15 | Mellanox Technologies, Ltd. | Data processing unit with transparent root complex |
| US12007921B2 (en) | 2022-11-02 | 2024-06-11 | Mellanox Technologies, Ltd. | Programmable user-defined peripheral-bus device implementation using data-plane accelerator (DPA) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005093038A (ja) * | 2003-09-19 | 2005-04-07 | Fujitsu Ltd | 記録再生装置および記録再生回路 |
| US20070028140A1 (en) * | 2005-07-28 | 2007-02-01 | Atsushi Takeda | Information processing method and information processing device |
| JP2007207376A (ja) * | 2006-02-03 | 2007-08-16 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置およびメモリコントローラ |
| US20080163033A1 (en) * | 2006-12-29 | 2008-07-03 | Samsung Electronics Co., Ltd. | Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit |
| JP2008299855A (ja) * | 2007-06-04 | 2008-12-11 | Samsung Electronics Co Ltd | エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法 |
| JP2010086120A (ja) * | 2008-09-30 | 2010-04-15 | Hitachi Ltd | メモリの誤り訂正方法,誤り検出方法、及びそれを用いたコントローラ |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5257391A (en) | 1991-08-16 | 1993-10-26 | Ncr Corporation | Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals |
| US5459850A (en) * | 1993-02-19 | 1995-10-17 | Conner Peripherals, Inc. | Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks |
| US5631741A (en) | 1995-12-29 | 1997-05-20 | Intel Corporation | Electronic carbon paper |
| US7020835B2 (en) | 2000-10-19 | 2006-03-28 | Oracle International Corporation | Enhancements to data integrity verification mechanism |
| US7900057B2 (en) | 2000-11-03 | 2011-03-01 | Enova Technology Corporation | Cryptographic serial ATA apparatus and method |
| US6691205B2 (en) | 2001-03-05 | 2004-02-10 | M-Systems Flash Disk Pioneers Ltd. | Method for using RAM buffers with simultaneous accesses in flash based storage systems |
| KR100487539B1 (ko) | 2002-09-02 | 2005-05-03 | 삼성전자주식회사 | 직렬 에이티에이 케이블과 연결되는 불휘발성 반도체메모리 장치 |
| TWI269968B (en) | 2004-04-22 | 2007-01-01 | Mediatek Inc | Method for processing the noise in the SATA |
| US7398449B1 (en) | 2004-06-16 | 2008-07-08 | Azul Systems, Inc. | Encoding 64-bit data nibble error correct and cyclic-redundancy code (CRC) address error detect for use on a 76-bit memory module |
| US7936881B2 (en) * | 2004-08-31 | 2011-05-03 | Nortel Networks Limited | Method and system for transmitting signaling information over a data transport network |
| JP2006134064A (ja) | 2004-11-05 | 2006-05-25 | Hitachi Ltd | 記憶メディアへの書込みエラーを検出する記憶制御装置及び方法 |
| US20060136619A1 (en) | 2004-12-16 | 2006-06-22 | Intel Corporation | Data integrity processing and protection techniques |
| US20060294299A1 (en) | 2005-06-28 | 2006-12-28 | Intel Corporation | Techniques to verify storage of information |
| KR100810358B1 (ko) * | 2007-01-30 | 2008-03-04 | 삼성전자주식회사 | 컨테이너의 무결성을 확인하는 방법 및 그 dvb―h 단말 |
| KR100753174B1 (ko) * | 2007-06-12 | 2007-08-30 | 엠진 (주) | 플래시 메모리 기반의 대용량 저장장치 |
| US8001444B2 (en) * | 2007-08-08 | 2011-08-16 | Intel Corporation | ECC functional block placement in a multi-channel mass storage device |
| US8140936B2 (en) * | 2008-01-24 | 2012-03-20 | International Business Machines Corporation | System for a combined error correction code and cyclic redundancy check code for a memory channel |
| US8468417B2 (en) * | 2009-02-18 | 2013-06-18 | Micron Technology, Inc. | Data integrity in memory controllers and methods |
-
2009
- 2009-02-18 US US12/388,305 patent/US8468417B2/en not_active Expired - Fee Related
-
2010
- 2010-02-12 TW TW103118322A patent/TW201434051A/zh unknown
- 2010-02-12 WO PCT/US2010/000412 patent/WO2010096153A2/en not_active Ceased
- 2010-02-12 KR KR1020137028036A patent/KR101457518B1/ko not_active Expired - Fee Related
- 2010-02-12 CN CN201080008211.XA patent/CN102317919B/zh not_active Expired - Fee Related
- 2010-02-12 EP EP20100744045 patent/EP2399194A4/en not_active Withdrawn
- 2010-02-12 TW TW099104808A patent/TWI451434B/zh not_active IP Right Cessation
- 2010-02-12 KR KR1020117021511A patent/KR101351754B1/ko not_active Expired - Fee Related
- 2010-02-12 JP JP2011550132A patent/JP5776107B2/ja not_active Expired - Fee Related
-
2013
- 2013-06-18 US US13/920,451 patent/US9015553B2/en not_active Expired - Fee Related
-
2015
- 2015-04-16 US US14/688,323 patent/US20150220386A1/en not_active Abandoned
Patent Citations (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005093038A (ja) * | 2003-09-19 | 2005-04-07 | Fujitsu Ltd | 記録再生装置および記録再生回路 |
| US20070028140A1 (en) * | 2005-07-28 | 2007-02-01 | Atsushi Takeda | Information processing method and information processing device |
| JP2007034829A (ja) * | 2005-07-28 | 2007-02-08 | Toshiba Corp | 情報処理方法および情報処理装置 |
| JP2007207376A (ja) * | 2006-02-03 | 2007-08-16 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置およびメモリコントローラ |
| US20080163033A1 (en) * | 2006-12-29 | 2008-07-03 | Samsung Electronics Co., Ltd. | Error correction circuit and method for reducing miscorrection probability and semiconductor memory device including the circuit |
| JP2008165808A (ja) * | 2006-12-29 | 2008-07-17 | Samsung Electronics Co Ltd | 誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置 |
| JP2008299855A (ja) * | 2007-06-04 | 2008-12-11 | Samsung Electronics Co Ltd | エンベデッドメモリを利用したマルチチャンネルエラー訂正コーダを備えたメモリシステム及びその方法 |
| US20090024902A1 (en) * | 2007-06-04 | 2009-01-22 | Samsung Electronics Co., Ltd. | Multi-channel error correction coder architecture using embedded memory |
| JP2010086120A (ja) * | 2008-09-30 | 2010-04-15 | Hitachi Ltd | メモリの誤り訂正方法,誤り検出方法、及びそれを用いたコントローラ |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017059278A (ja) * | 2015-09-14 | 2017-03-23 | ラピスセミコンダクタ株式会社 | 半導体メモリ及び半導体メモリのベリファイ方法 |
| KR102057371B1 (ko) | 2016-03-11 | 2019-12-18 | 웨스턴 디지털 테크놀로지스, 인코포레이티드 | 저장 시스템에서 오류 정정 인코딩된 데이터의 리던던시 |
| WO2025024720A1 (en) * | 2023-07-27 | 2025-01-30 | SK Hynix NAND Product Solutions Corp. (dba Solidigm) | Progressive redundant array of inexpensive disks (raid) for memory devices |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20110118168A (ko) | 2011-10-28 |
| CN102317919A (zh) | 2012-01-11 |
| TW201434051A (zh) | 2014-09-01 |
| TW201035987A (en) | 2010-10-01 |
| KR20130124989A (ko) | 2013-11-15 |
| JP5776107B2 (ja) | 2015-09-09 |
| CN102317919B (zh) | 2015-03-11 |
| US20100211834A1 (en) | 2010-08-19 |
| TWI451434B (zh) | 2014-09-01 |
| WO2010096153A3 (en) | 2010-11-25 |
| KR101457518B1 (ko) | 2014-11-10 |
| WO2010096153A2 (en) | 2010-08-26 |
| US20130283124A1 (en) | 2013-10-24 |
| US8468417B2 (en) | 2013-06-18 |
| EP2399194A4 (en) | 2012-10-31 |
| US20150220386A1 (en) | 2015-08-06 |
| US9015553B2 (en) | 2015-04-21 |
| KR101351754B1 (ko) | 2014-01-14 |
| EP2399194A2 (en) | 2011-12-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5776107B2 (ja) | メモリコントローラ及び方法におけるデータ完全性 | |
| US8726140B2 (en) | Dummy data padding and error code correcting memory controller, data processing method thereof, and memory system including the same | |
| CN111352765B (zh) | 控制器及存储器系统 | |
| CN104272262B (zh) | 物理页、逻辑页及码字对应 | |
| US8250403B2 (en) | Solid state disk device and related data storing and reading methods | |
| US8504898B2 (en) | Storage apparatus, controller and data accessing method thereof | |
| CN102812519A (zh) | 具有错误校正的复合半导体存储设备 | |
| US11101822B1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
| US20150026509A1 (en) | Storage device having a data stream converter | |
| US12368586B2 (en) | Key version management in storage devices | |
| CN117171060A (zh) | 用于数据和额外数据部分的存储器子系统寻址 | |
| US11422888B2 (en) | Data integrity check for writing data in memory | |
| CN114077515B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
| EP4462434A1 (en) | High throughput polar codeword decoding by decoding bch sub-code in polar code structure | |
| US20160211024A1 (en) | Decoding data using a reserved word line | |
| US12265478B2 (en) | Accelerated encryption during power loss | |
| US12468452B2 (en) | Storage device including nonvolatile memory device and controller | |
| US11893248B2 (en) | Secure metadata protection |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130927 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131029 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140128 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140128 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140701 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140930 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140930 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20141010 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20141030 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20141030 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20141111 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141210 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20141210 |
|
| 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: 20150519 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150617 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20150617 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150617 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20150618 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5776107 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |