JP6389499B2 - 誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法 - Google Patents
誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法 Download PDFInfo
- Publication number
- JP6389499B2 JP6389499B2 JP2016223160A JP2016223160A JP6389499B2 JP 6389499 B2 JP6389499 B2 JP 6389499B2 JP 2016223160 A JP2016223160 A JP 2016223160A JP 2016223160 A JP2016223160 A JP 2016223160A JP 6389499 B2 JP6389499 B2 JP 6389499B2
- Authority
- JP
- Japan
- Prior art keywords
- data packets
- host
- memory
- packet
- acquired
- 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.)
- Expired - Fee Related
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)
- Detection And Correction Of Errors (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Communication Control (AREA)
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)パケットの取得は、前記複数のデータパケットが前記ホストに送信された後に生じるステップと、
前記目標装置により、取得された複数のデータパケットの中から、誤りを有する一又は二以上のデータパケットを特定するECCアルゴリズムを実行し、前記ECCアルゴリズムの実行は、前記リクエストに係る前記複数のデータパケットのうちの全てのデータパケットが前記ホストに送信された後に生じるステップと、
前記目標装置により、一又は二以上の訂正されたデータパケットを前記ホストに送信し、取得された複数のデータパケットのうち、誤りを有する一又は二以上のデータパケットを置換するステップと、
前記目標装置により、完了パケットを前記ホストに送信するステップとを含む方法。 - 前記メモリが不揮発性メモリである、請求項1に記載の方法。
- 前記不揮発性メモリが相変化メモリ(PCM)である、請求項2に記載の方法。
- 前記ECCアルゴリズムはBCH符号を誤り訂正符号として利用して実行される、請求項1に記載の方法。
- ホストに接続される目標装置のメモリからデータを取得する方法であって、
前記目標装置により、複数のデータパケットを前記メモリから取得するリクエストを含む第1のコマンドを前記ホストから受信するステップと、
前記目標装置により、前記複数のデータパケットを前記メモリから取得するステップと、
前記目標装置により、各々のデータパケットが取得される都度、最後に取得されたデータパケットを除く各々の取得されたデータパケットを前記ホストに送信するステップと、
前記目標装置により、前記取得された複数のデータパケットに対応する誤り訂正符号(ECC)パケットを取得し、前記誤り訂正符号(ECC)パケットの取得は、前記複数のデータパケットが前記ホストに送信された後に生じるステップと、
前記目標装置により、前記取得された複数のデータパケットの中から、誤りを有する一又は二以上のデータパケットを特定するECCアルゴリズムを実行して、前記ECCアルゴリズムの実行は、前記リクエストに係る前記複数のデータパケットのうちの全てのデータパケットが前記ホストに送信された後に生じるステップと、
前記目標装置により、一又は二以上の訂正されたデータパケットを前記ホストに送信し、取得された複数のデータパケットのうち、誤りを有する一又は二以上のデータパケットを置換するステップと、
前記目標装置により、最後に取得されたデータパケットを完了パケットとして送信するステップとを含む方法。 - 前記メモリが不揮発性メモリである、請求項5に記載の方法。
- 前記不揮発性メモリが相変化メモリ(PCM)である、請求項6に記載の方法。
- 前記ECCアルゴリズムはBCH符号を誤り訂正符号として利用して実行される、請求項5に記載の方法。
- ホストに接続される目標装置のメモリからデータを取得する方法であって、
前記目標装置により、複数のデータパケットを前記メモリから取得するリクエストを含む第1のコマンドを前記ホストから受信するステップと、
前記目標装置により、前記複数のデータパケットを前記メモリから取得するステップと、
各々の取得されたデータパケットに対して誤り検出アルゴリズムを実行して、前記取得されたデータパケットが誤りを含んでいるか否かを判定するステップと、
前記目標装置により、各々のデータパケットが取得される都度、各々の取得されたデータパケットを前記ホストに送信するステップと、
前記目標装置により、前記取得された複数のデータパケットに対応する誤り訂正符号(ECC)パケットを取得し、前記誤り訂正符号(ECC)パケットの取得は、前記複数のデータパケットが前記ホストに送信された後に生じるステップと、
前記目標装置により、前記取得された複数のデータパケットの中から、誤りを有する一又は二以上のデータパケットを特定するECCアルゴリズムを実行し、前記ECCアルゴリズムの実行は、前記リクエストに係る前記複数のデータパケットのうちの全てのデータパケットが前記ホストに送信された後に生じるステップと、
前記目標装置により、一又は二以上の訂正されたデータパケットを前記ホストに送信し、取得された複数のデータパケットのうち、誤りを有する一又は二以上のデータパケットを置換するステップと、
前記目標装置により、完了パケットを前記ホストに送信するステップとを含む方法。 - 前記メモリが不揮発性メモリである、請求項9に記載の方法。
- ホストに接続されるように構成され、且つメモリに接続されるように構成されたメモリコントローラであって、
前記メモリコントローラは、
前記メモリから複数のデータパケットを取得するリクエストを含む第1のコマンドを前記ホストから受信すべく構成されたインターフェースコントローラと、
前記インターフェースコントローラに接続されるストレージコントローラとを含み、
前記ストレージコントローラが、
前記複数のデータパケットを前記メモリから取得し、
前記インターフェースコントローラに対し、各々のデータパケットが取得される都度、各々の取得されたデータパケットを前記ホストに送信するよう命令し、
前記取得された複数のデータパケットに対応する誤り訂正符号化(ECC)パケットを取得し、前記誤り訂正符号(ECC)パケットの取得は、前記複数のデータパケットが前記ホストに送信された後に生じ、
前記取得された複数のデータパケットの中から、誤りを有する一又は二以上のデータパケットを特定するECCアルゴリズムを実行して、前記ECCアルゴリズムの実行は、前記リクエストに係る前記複数のデータパケットのうちの全てのデータパケットが前記ホストに送信された後に生じ、
一又は二以上の訂正されたデータパケットを前記ホストに送信するよう前記インターフェースコントローラに命令して、取得された複数のデータパケットのうち、誤りを有する一又は二以上のデータパケットを置換し、
完了パケットを前記ホストに送信する
よう構成されているメモリコントローラ。 - 前記メモリが不揮発性メモリである、請求項11に記載のメモリコントローラ。
- 前記不揮発性メモリが相変化メモリ(PCM)である、請求項12に記載のメモリコントローラ。
- 前記ECCアルゴリズムはBCH符号を誤り訂正符号として利用して実行される、請求項11に記載のメモリコントローラ。
- ホストに接続されるように構成され、且つメモリに接続されるように構成されたメモリコントローラであって、
前記メモリコントローラは、
前記メモリから複数のデータパケットを取得するリクエストを含む第1のコマンドを前記ホストから受信すべく構成されたインターフェースコントローラと、
前記インターフェースコントローラに接続されるストレージコントローラとを含み、
前記ストレージコントローラが、
複数のデータパケットを前記メモリから取得し、
各々のデータパケットが取得される都度、最後に取得されたデータパケットを除く各々の取得されたデータパケットを前記ホストに送信するよう前記インターフェースコントローラに命令し、
前記取得された複数のデータパケットに対応する誤り訂正符号化(ECC)パケットを取得し、前記誤り訂正符号(ECC)パケットの取得は、前記複数のデータパケットが前記ホストに送信された後に生じ、
前記取得された複数のデータパケットの中から、誤りを有する一又は二以上のデータパケットを特定するECCアルゴリズムを実行し、前記ECCアルゴリズムの実行は、前記リクエストに係る前記複数のデータパケットのうちの全てのデータパケットが前記ホストに送信された後に生じ、
一又は二以上の訂正されたデータパケットを前記ホストに送信するよう前記インターフェースコントローラに命令して、取得された複数のデータパケットのうち、誤りを有する一又は二以上のデータパケットを置換し、
最後に取得されたデータパケットを完了パケットとして送信するよう前記インターフェースコントローラに命令すべく構成されているメモリコントローラ。 - 前記メモリが不揮発性メモリである、請求項15に記載のメモリコントローラ。
- 前記不揮発性メモリが相変化メモリ(PCM)である、請求項16に記載のメモリコントローラ。
- 前記ECCアルゴリズムはBCH符号を誤り訂正符号として利用して実行される、請求項15に記載のメモリコントローラ。
- ホストに接続されるように構成され、且つメモリに接続されるように構成されたメモリコントローラであって、
前記メモリコントローラは、
前記メモリから複数のデータパケットを取得するリクエストを含む第1のコマンドを前記ホストから受信すべく構成されたインターフェースコントローラと、
前記インターフェースコントローラに接続されるストレージコントローラとを含み、
前記ストレージコントローラが、
前記複数のデータパケットを前記メモリから取得し、
各々の取得されたデータパケットに対して誤り検出アルゴリズムを実行して、前記取得されたデータパケットが誤りを含んでいるか否かを判定し、
前記インターフェースコントローラに対し、各々のデータパケットが取得される都度、最後に取得されたデータパケットを除く各々の取得されたデータパケットを前記ホストに送信するよう命令し、
前記取得された複数のデータパケットに対応する誤り訂正符号(ECC)パケットを取得し、前記誤り訂正符号(ECC)パケットの取得は、前記複数のデータパケットが前記ホストに送信された後に生じ、
前記取得された複数のデータパケットの中から、誤りを有する一又は二以上のデータパケットを特定する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 JP2017151955A (ja) | 2017-08-31 |
JP6389499B2 true 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) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4105819B2 (ja) * | 1999-04-26 | 2008-06-25 | 株式会社ルネサステクノロジ | 記憶装置およびメモリカード |
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 |
US20090063786A1 (en) | 2007-08-29 | 2009-03-05 | Hakjune Oh | Daisy-chain memory configuration and usage |
JP5150591B2 (ja) | 2009-09-24 | 2013-02-20 | 株式会社東芝 | 半導体装置及びホスト機器 |
US8402180B2 (en) * | 2010-03-26 | 2013-03-19 | Atmel Corporation | Autonomous multi-packet transfer for universal serial bus |
US8656251B2 (en) * | 2011-09-02 | 2014-02-18 | Apple Inc. | Simultaneous data transfer and error control to reduce latency and improve throughput to a host |
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 CN CN201611010254.7A patent/CN107066344A/zh active Pending
- 2016-11-16 JP JP2016223160A patent/JP6389499B2/ja not_active Expired - Fee Related
- 2016-11-16 KR KR1020160152613A patent/KR101967955B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
DE102016013622A1 (de) | 2017-05-18 |
US20170141878A1 (en) | 2017-05-18 |
CN107066344A (zh) | 2017-08-18 |
KR101967955B1 (ko) | 2019-04-10 |
KR20170066226A (ko) | 2017-06-14 |
JP2017151955A (ja) | 2017-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110770710B (zh) | 用于控制数据加速的装置和方法 | |
CN101937724B (zh) | 用于执行拷贝回存操作的方法以及闪存存储设备 | |
EP2297641B1 (en) | Efficient in-band reliability with separate cyclic redundancy code frames | |
TWI546814B (zh) | 具有錯誤校正邏輯之記憶體裝置 | |
US9929967B2 (en) | Packet deconstruction/reconstruction and link-control | |
KR102358177B1 (ko) | 제어회로 및 제어회로를 포함하는 메모리 장치 | |
US10102066B2 (en) | Data processing device and operating method thereof | |
TW200935233A (en) | System and method for data read of a synchronous serial interface NAND | |
CN112558746B (zh) | 存储器系统、存储器系统控制方法以及信息处理系统 | |
US20100293418A1 (en) | Memory device, data transfer control device, data transfer method, and computer program product | |
TWI759370B (zh) | 記憶體裝置、記憶體系統及其操作方法 | |
CN104184543A (zh) | 一种数据传输的方法、装置和系统 | |
US20140157082A1 (en) | Data storage device and method for processing error correction code thereof | |
KR20110003726A (ko) | Sata 인터페이스에서의 crc 관리 방법 및 이를 구현한 데이터 저장 장치 | |
JP6389499B2 (ja) | 誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法 | |
EP3499376B1 (en) | Memory system varying operation of memory controller according to internal status of memory device | |
KR102262550B1 (ko) | 복수의 기능 블록들을 포함하는 반도체 장치 및 그것의 동작 방법 | |
TWI789453B (zh) | 記憶體和操作該記憶體的方法 | |
CN103198039A (zh) | 一种数据传输控制器及其混合存储装置 | |
US20160004655A1 (en) | Computing system and operating method of the same | |
JP6217192B2 (ja) | ストレージ制御装置、制御プログラムおよび制御方法 | |
CN118606238A (zh) | 一种系统芯片数据交互系统及方法 | |
JP2009187405A (ja) | 制御システム | |
JP2010140132A (ja) | メモリシステム及びメモリコントローラ | |
TW201832067A (zh) | 資料讀取方法及其記憶體儲存裝置 |
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 |