JP2017151955A - 誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法 - Google Patents
誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法 Download PDFInfo
- Publication number
- JP2017151955A JP2017151955A JP2016223160A JP2016223160A JP2017151955A JP 2017151955 A JP2017151955 A JP 2017151955A JP 2016223160 A JP2016223160 A JP 2016223160A JP 2016223160 A JP2016223160 A JP 2016223160A JP 2017151955 A JP2017151955 A JP 2017151955A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- host
- data packets
- packet
- data packet
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/1044—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 with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
- G06F13/1668—Details of memory controller
-
- 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
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Mathematical Physics (AREA)
- Detection And Correction Of Errors (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Communication Control (AREA)
Abstract
Description
102 ホスト
104 目標装置
106 アプリケーション
108 オペレーティングシステム
110 ドライバ
112 メモリ
114a 通信プロトコル
114b 通信プロトコル
117 インターフェースコントローラ
118a 待ち行列
118b 待ち行列
120 ストレージコントローラ
122 ストレージ
202 パケット
204 ECCパケット
206 誤り訂正アルゴリズム
208 終了パケット
212 ホストに送信
214 ホストに送信
216 最も一般的な場合での待ち時間の節約
220 再送信
224 誤りが1個の場合での待ち時間の節約
302 パケット
304 ECCパケット
306 訂正
308 パケット
312、314 パケット
316 最も一般的な場合での待ち時間の節約
324 誤りが1個の場合での待ち時間の節約
Claims (20)
- 通信プロトコルでの動作を実行する方法であって、
ホストおよびメモリと通信状態にある目標装置を設けるステップと、
前記目標装置により、前記複数のデータパケットを前記メモリから取得するリクエストを含む第1のコマンドを前記ホストから受信するステップと、
前記目標装置により、前記複数のデータパケットを前記メモリから取得するステップと、
前記目標装置により、各々のデータパケットが取得される都度、各々の取得されたデータパケットを前記ホストに送信するステップと、
前記目標装置により、前記取得された複数のデータパケットに対応する誤り訂正符号(ECC)パケットを取得するステップと、
前記目標装置により、ECCアルゴリズムを実行して、前記取得された複数のデータパケットの潜在的な誤りを識別および訂正するステップと、
前記取得されたデータパケットのいずれかに誤りがある場合、前記目標装置により、訂正されたデータパケットを前記ホストに送信するステップと、
前記目標装置により、完了パケットを前記ホストに送信するステップとを含む方法。 - 前記メモリが不揮発性メモリである、請求項1に記載の方法。
- 前記不揮発性メモリが相変化メモリ(PCM)である、請求項2に記載の方法。
- 前記ECCアルゴリズムがBCH符号を実行する、請求項1に記載の方法。
- 通信プロトコルでの動作を実行する方法であって、
ホストおよびメモリと通信状態にある目標装置を設けるステップと、
前記目標装置により、複数のデータパケットを前記メモリから取得するリクエストを含む第1のコマンドを前記ホストから受信するステップと、
前記目標装置により、前記複数のデータパケットを前記メモリから取得するステップと、
前記目標装置により、各々のデータパケットが取得される都度、最後に取得されたデータパケットを除く各々の取得されたデータパケットを前記ホストに送信するステップと、
前記目標装置により、前記取得された複数のデータパケットに対応する誤り訂正符号(ECC)パケットを取得するステップと、
前記目標装置により、ECCアルゴリズムを実行して、前記取得された複数のデータパケットの潜在的な誤りを識別および訂正するステップと、
前記取得されたデータパケットのいずれかに誤りがある場合、前記目標装置により、訂正されたデータパケットを前記ホストに送信するステップと、
前記目標装置により、最後に取得されたデータパケットを送信するステップとを含む方法。 - 前記メモリが不揮発性メモリである、請求項5に記載の方法。
- 前記不揮発性メモリが相変化メモリ(PCM)である、請求項6に記載の方法。
- 前記ECCアルゴリズムがBCH符号を実行する、請求項5に記載の方法。
- 通信プロトコルでの動作を実行する方法であって、
ホストおよびメモリと通信状態にある目標装置を設けるステップと、
前記目標装置により、前記複数のデータパケットを前記メモリから取得するリクエストを含む第1のコマンドを前記ホストから受信するステップと、
前記目標装置により、前記複数のデータパケットを前記メモリから取得するステップと、
各々の取得されたデータパケットに対して誤り検出アルゴリズムを実行して、前記取得されたデータパケットが誤りを含んでいるか否かを判定するステップと、
前記目標装置により、各々のデータパケットが取得される都度、各々の取得されたデータパケットを前記ホストに送信するステップと、
前記目標装置により、前記取得された複数のデータパケットに対応する誤り訂正符号(ECC)パケットを取得するステップと、
前記取得されたデータパケットのいずれかに誤りがある場合、前記目標装置により、ECCアルゴリズムを実行して、前記取得された複数のデータパケットの潜在的な誤りを訂正するステップと、
前記取得されたデータパケットのいずれかに誤りがある場合、前記目標装置により、訂正されたデータパケットを前記ホストに送信するステップと、
前記目標装置により、完了パケットを前記ホストに送信するステップとを含む方法。 - 前記メモリが不揮発性メモリである、請求項9に記載の方法。
- ホストおよびメモリと通信状態にあって、前記メモリから複数のデータパケットを取得するリクエストを含む第1のコマンドを前記ホストから受信すべく構成されたインターフェースコントローラと、
ストレージコントローラとを含むメモリコントローラであって、
前記ストレージコントローラが、
前記複数のデータパケットを前記メモリから取得し、
前記インターフェースコントローラに対し、各々のデータパケットが取得される都度、各々の取得されたデータパケットを前記ホストに送信するよう命令し、
前記取得された複数のデータパケットに対応する誤り訂正符号化(ECC)パケットを取得し、
ECCアルゴリズムを実行して、前記取得された複数のデータパケットの潜在的な誤り識別および訂正し、
前記取得されたデータパケットのいずれかに誤りがある場合、訂正されたデータパケットを前記ホストに送信するよう前記インターフェースコントローラに命令して、
完了パケットを前記ホストに送信するよう前記インターフェースコントローラに命令すべく構成されているメモリコントローラ。 - 前記メモリが不揮発性メモリである、請求項11に記載のメモリコントローラ。
- 前記不揮発性メモリが相変化メモリ(PCM)である、請求項12に記載のメモリコントローラ。
- 前記ECCアルゴリズムがBCH符号を実行する、請求項11に記載のメモリコントローラ。
- ホストおよびメモリと通信状態にあって、前記メモリから複数のデータパケットを取得するリクエストを含む第1のコマンドを前記ホストから受信すべく構成されたインターフェースコントローラと、ストレージコントローラとを含むメモリコントローラであって
前記ストレージコントローラが、
複数のデータパケットを前記メモリから取得し、
各々のデータパケットが取得される都度、最後に取得されたデータパケットを除く各々の取得されたデータパケットを前記ホストに送信するよう前記インターフェースコントローラに命令し、
前記取得された複数のデータパケットに対応する誤り訂正符号化(ECC)パケットを取得し、
ECCアルゴリズムを実行して、前記取得された複数のデータパケットの潜在的な誤り識別および訂正し、
取得されたデータパケットのいずれかに誤りがある場合、訂正されたデータパケットを前記ホストに送信するようインターフェースコントローラに命令して、
最後に取得されたデータパケットを送信するよう前記インターフェースコントローラに命令すべく構成されているメモリコントローラ。 - 前記メモリが不揮発性メモリである、請求項15に記載のメモリコントローラ。
- 前記不揮発性メモリが相変化メモリ(PCM)である、請求項16に記載のメモリコントローラ。
- 前記ECCアルゴリズムがBCH符号を実行する、請求項15に記載のメモリコントローラ。
- ホストおよびメモリと通信状態にあって、前記メモリから複数のデータパケットを取得するリクエストを含む第1のコマンドを前記ホストから受信すべく構成されたインターフェースコントローラと、ストレージコントローラとを含むメモリコントローラであって、
前記ストレージコントローラが、
前記複数のデータパケットを前記メモリから取得し、
各々の取得されたデータパケットに対して誤り検出アルゴリズムを実行して、前記取得されたデータパケットが誤りを含んでいるか否かを判定し、
前記インターフェースコントローラに対し、各々のデータパケットが取得される都度、最後に取得されたデータパケットを除く各々の取得されたデータパケットを前記ホストに送信するよう命令し、
前記取得された複数のデータパケットに対応する誤り訂正符号(ECC)パケットを取得し、
ECCアルゴリズムを実行して、前記取得された複数のデータパケットの潜在的な誤りを識別および訂正し、
前記取得されたデータパケットのいずれかに誤りがある場合、訂正されたデータパケットを前記ホストに送信するようインターフェースコントローラに命令して、
最後に取得されたデータパケットを送信するようインターフェースコントローラに命令すべく構成されているメモリコントローラ。 - 前記メモリが不揮発性メモリである、請求項19に記載のメモリコントローラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/942,516 US20170141878A1 (en) | 2015-11-16 | 2015-11-16 | Systems and methods for sending data from non-volatile solid state devices before error correction |
US14/942,516 | 2015-11-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017151955A true JP2017151955A (ja) | 2017-08-31 |
JP6389499B2 JP6389499B2 (ja) | 2018-09-12 |
Family
ID=58640078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016223160A Expired - Fee Related JP6389499B2 (ja) | 2015-11-16 | 2016-11-16 | 誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170141878A1 (ja) |
JP (1) | JP6389499B2 (ja) |
KR (1) | KR101967955B1 (ja) |
CN (1) | CN107066344A (ja) |
DE (1) | DE102016013622A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000305861A (ja) * | 1999-04-26 | 2000-11-02 | Hitachi Ltd | 記憶装置およびメモリカード |
JP2010537326A (ja) * | 2007-08-29 | 2010-12-02 | モサイド・テクノロジーズ・インコーポレーテッド | デイジーチェーンメモリの構成および使用 |
JP2011090349A (ja) * | 2009-09-24 | 2011-05-06 | Toshiba Corp | 半導体装置及びホスト機器 |
JP2014529132A (ja) * | 2011-09-02 | 2014-10-30 | アップル インコーポレイテッド | 待ち時間を短縮しホストへのスループットを改善する同時データ転送及びエラー制御 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7130958B2 (en) * | 2003-12-02 | 2006-10-31 | Super Talent Electronics, Inc. | Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes |
FI110563B (fi) * | 2000-06-20 | 2003-02-14 | Nokia Corp | Resurssien varaus pakettimuotoisessa tiedonsiirrossa |
US8402180B2 (en) * | 2010-03-26 | 2013-03-19 | Atmel Corporation | Autonomous multi-packet transfer for universal serial bus |
US9116824B2 (en) * | 2013-03-15 | 2015-08-25 | Sandisk Technologies Inc. | System and method to reduce read latency of a data storage device |
US9513869B2 (en) * | 2013-09-18 | 2016-12-06 | HGST Netherlands B.V. | Doorbell-less endpoint-initiated protocol for storage devices |
US9535870B2 (en) * | 2013-09-18 | 2017-01-03 | HGST Netherlands B.V. | Acknowledgement-less protocol for solid state drive interface |
US10073731B2 (en) * | 2013-11-27 | 2018-09-11 | Intel Corporation | Error correction in memory |
US9760295B2 (en) * | 2014-09-05 | 2017-09-12 | Toshiba Memory Corporation | Atomic rights in a distributed memory system |
-
2015
- 2015-11-16 US US14/942,516 patent/US20170141878A1/en not_active Abandoned
-
2016
- 2016-11-15 DE DE102016013622.7A patent/DE102016013622A1/de active Pending
- 2016-11-16 JP JP2016223160A patent/JP6389499B2/ja not_active Expired - Fee Related
- 2016-11-16 CN CN201611010254.7A patent/CN107066344A/zh active Pending
- 2016-11-16 KR KR1020160152613A patent/KR101967955B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000305861A (ja) * | 1999-04-26 | 2000-11-02 | Hitachi Ltd | 記憶装置およびメモリカード |
JP2010537326A (ja) * | 2007-08-29 | 2010-12-02 | モサイド・テクノロジーズ・インコーポレーテッド | デイジーチェーンメモリの構成および使用 |
JP2011090349A (ja) * | 2009-09-24 | 2011-05-06 | Toshiba Corp | 半導体装置及びホスト機器 |
JP2014529132A (ja) * | 2011-09-02 | 2014-10-30 | アップル インコーポレイテッド | 待ち時間を短縮しホストへのスループットを改善する同時データ転送及びエラー制御 |
Also Published As
Publication number | Publication date |
---|---|
JP6389499B2 (ja) | 2018-09-12 |
US20170141878A1 (en) | 2017-05-18 |
DE102016013622A1 (de) | 2017-05-18 |
CN107066344A (zh) | 2017-08-18 |
KR20170066226A (ko) | 2017-06-14 |
KR101967955B1 (ko) | 2019-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110770710B (zh) | 用于控制数据加速的装置和方法 | |
CN101937724B (zh) | 用于执行拷贝回存操作的方法以及闪存存储设备 | |
EP2297641B1 (en) | Efficient in-band reliability with separate cyclic redundancy code frames | |
TWI546814B (zh) | 具有錯誤校正邏輯之記憶體裝置 | |
KR102358177B1 (ko) | 제어회로 및 제어회로를 포함하는 메모리 장치 | |
TWI703436B (zh) | 資料儲存裝置及其操作方法 | |
US9495232B2 (en) | Error correcting (ECC) memory compatibility | |
JP5464528B2 (ja) | 同時読み出し及び書き込みメモリ動作を実行する方法及び装置 | |
US9929967B2 (en) | Packet deconstruction/reconstruction and link-control | |
TW200935233A (en) | System and method for data read of a synchronous serial interface NAND | |
JP2016045957A5 (ja) | ||
US20210350870A1 (en) | Memory system with error detection | |
JP2008090433A (ja) | メモリコントローラ、メモリシステム及びデータ転送方法 | |
US20220043605A1 (en) | Memory system, memory system control method, and information processing system | |
CN104184543A (zh) | 一种数据传输的方法、装置和系统 | |
US20140157082A1 (en) | Data storage device and method for processing error correction code thereof | |
TWI759370B (zh) | 記憶體裝置、記憶體系統及其操作方法 | |
JP6389499B2 (ja) | 誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法 | |
EP3499376B1 (en) | Memory system varying operation of memory controller according to internal status of memory device | |
CN105938465B (zh) | 包括多个功能模块的半导体器件及其操作方法 | |
US20160004655A1 (en) | Computing system and operating method of the same | |
TWI431631B (zh) | 應用可變動錯誤更正碼容量的快閃記憶體控制方法 | |
TWI670641B (zh) | 資料讀取方法及其記憶體儲存裝置 | |
JP6217192B2 (ja) | ストレージ制御装置、制御プログラムおよび制御方法 | |
RU2012149011A (ru) | Облегчение операций ввода-вывода в режиме передачи между канальной подсистемой и устройствами ввода-вывода |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20170814 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180302 |
|
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: 20180724 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180817 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6389499 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |