JP6450696B2 - 記憶装置及び誤り訂正装置 - Google Patents
記憶装置及び誤り訂正装置 Download PDFInfo
- Publication number
- JP6450696B2 JP6450696B2 JP2016017966A JP2016017966A JP6450696B2 JP 6450696 B2 JP6450696 B2 JP 6450696B2 JP 2016017966 A JP2016017966 A JP 2016017966A JP 2016017966 A JP2016017966 A JP 2016017966A JP 6450696 B2 JP6450696 B2 JP 6450696B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- clock
- frequency
- error
- circuit
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
的大きく、記憶装置を適切な温度で使用しその信頼性を維持するためには、誤り訂正装置
からの発熱による温度上昇を低減することが効果的であることが知られている。
とである。
同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
するコントローラ20から成る。
体リード制御回路100、媒体リード制御回路100が出力するデータを一時的に格納す
るリードバッファ110、リードバッファ110からデータを読み出しホスト機器2へ転
送するホストインターフェース制御回路120から成る。
どが用いられる。
ト制御回路が所定の単位(例えば512バイト。以下、データフレームと呼ぶ)ごとに誤
り訂正符号を付加している。
訂正符号の長さに応じて決まる。例えば512バイトのデータフレームに38バイトのB
CH符号を付加した場合、1データフレームあたり20ビットまで誤りデータの訂正が可
能である。
cess Memory)からなるメモリである。なお、リードバッファ110は、DR
AM(Dynamic Random Access Memory)など他の種類のメ
モリを採用しても良い。
terconnect Express)規格やSATA(Serial ATA)規格
、SAS(Serial Attached SCSI)規格のインターフェースをサポ
ートするコンピュータである。
し、ホスト機器2とのインターフェース規格に定められたプロトコルに従って、ホスト機
器2にデータを転送する。
格納するFIFO200と、FIFO200からデータを読み出し、データ中の誤りを訂
正し、訂正されたデータをリードバッファ110へ出力する誤り訂正装置210から成る
。
400を生成するシンドローム演算回路300、シンドローム400を基に誤り位置多項
式410及び誤りデータ数420を算出するシグマ演算回路310、誤り位置多項式41
0を基にデータフレーム中の誤りデータ位置430を算出するチェーンサーチ演算回路3
20、誤りデータ位置430を基に誤りデータの訂正を行うエラー訂正回路330、誤り
訂正装置210内の各回路にクロックを供給するクロック制御回路340から成る。
ック制御回路340が供給するCLK1に同期して動作している。チェーンサーチ演算回
路320はクロック制御回路340が供給するCLK2に同期して動作している。
ている。
るが、コントローラ20内の他の箇所に実装されてもよい。
し、同一周波数で動作させた場合は、エラー訂正回路330、シンドローム演算回路30
0、チェーンサーチ演算回路320、シグマ演算回路310の順に大きくなり、特にチェ
ーンサーチ演算回路320及びシグマ演算回路310が支配的である。
エラー訂正についてはデータフレーム中の誤りデータ数や誤りデータ位置に関わらず一定
である。一方で、シグマ演算については誤りデータ数に正比例して長くなる。また、チェ
ーンサーチ演算についてはデータフレーム中の誤りデータ位置に応じて変化し、データフ
レーム中の探索順の最終位置に誤りデータが位置する時に最大になることが知られている
。
LK2は、シグマ演算及びチェーンサーチ演算が最大クロックサイクル数(以下、それぞ
れC_σ_max、C_cs_maxとする)かかったとした場合でも、誤り訂正がボト
ルネックとならないような周波数にする必要がある。以下、この条件を満たすCLK1、
CLK2の周波数をそれぞれf1、f2とする。なお、f1とf2は等しい周波数であっ
てもよい。
。
FIFO200に格納するタイミング、「FIFO(OUT)」はFIFO200から読
み出したデータをシンドローム演算回路300に入力するタイミング、「シンドローム演
算」はシンドローム演算回路300がシンドローム400を生成するタイミング、「シグ
マ演算」はシグマ演算回路310が誤り位置多項式410及び誤りデータ数420を算出
するタイミング、「チェーンサーチ演算」はチェーンサーチ演算回路320が誤りデータ
位置430を算出するタイミング、「エラー訂正」はエラー訂正回路330がデータ中の
誤りを訂正し、訂正されたデータをリードバッファ110へ出力するタイミングをそれぞ
れ示している。
タイミングを、図2に則って説明する。
“A”のデータを読み出しFIFO200への格納を開始する。
、FIFO200からフレーム“A”のデータを読み出しシンドローム演算回路300へ
の入力を開始するとともに、不揮発性記憶媒体10から次のフレーム“B”のデータを読
み出しFIFO200への格納を開始する。
完了するので、フレーム“A”のデータについてシンドローム演算回路300がシンドロ
ーム400の生成を開始するとともに、FIFO200から次のフレーム“B”のデータ
を読み出しシンドローム演算回路300への入力を開始する
時刻T4において、フレーム“A”のデータについてシンドローム演算回路300がシ
ンドローム400の生成を完了するので、フレーム“A”のデータについてシグマ演算回
路310が誤り位置多項式410及び誤りデータ数420の算出を開始する。
多項式410及び誤りデータ数420の算出を完了するので、フレーム“A”のデータに
ついてチェーンサーチ演算回路320が誤りデータ位置430の算出を開始する。
完了するので、フレーム“B”のデータについてシンドローム演算回路300がシンドロ
ーム400の生成を開始する。
ンドローム400の生成を完了するので、フレーム“B”のデータについてシグマ演算回
路310が誤り位置多項式410及び誤りデータ数420の算出を開始する。
誤りデータ位置430の算出を完了するので、フレーム“A”のデータについてエラー訂
正回路330が誤りを訂正し、訂正したデータのリードバッファ110への出力を開始す
る。
多項式410及び誤りデータ数420の算出を完了するので、フレーム“B”のデータに
ついてチェーンサーチ演算回路320が誤りデータ位置430の算出を開始する。
したデータのリードバッファ110への出力を完了する。
が誤りデータ位置430の算出を完了するので、フレーム“B”のデータについてエラー
訂正回路330が誤りを訂正し、訂正したデータのリードバッファ110への出力を開始
する。
したデータのリードバッファ110への出力を完了する。
タ位置に関わらず一定である。すなわち、“時刻T4−時刻T3”と“時刻T7−時刻T
6”の時間は等しい。また、エラー訂正についてもデータフレーム中の誤りデータ数や誤
りデータ位置に関わらず一定である。すなわち、 時刻T10−時刻T8”と“時刻T1
2−時刻T11”の時間は等しい。
、“時刻T5−時刻T4”と“時刻T9−時刻T7”の時間は、フレーム“A”とフレー
ム“B”で誤りデータ数が異なる場合、等しくならない。また、チェーンサーチ演算はデ
ータフレーム中の誤りデータ位置に応じて変化する。すなわち、“時刻T8−時刻T5”
と“時刻T11−時刻T9”の時間は、フレーム“A”とフレーム“B”で誤りデータ位
置が異なる場合、等しくならない。
0が、1データフレーム分のデータを処理する時のタイムチャートを示している。
ックサイクルかかる場合の所要時間(最大所要時間)をT_σ_maxとしている。また
、CLK2が周波数f2である時に、チェーンサーチ演算にC_cs_maxクロックサ
イクルかかる場合の所要時間(最大所要時間)をT_cs_maxとしている。すなわち
、T_σ_max=C_σ_max/f1、T_cs_max=C_cs_max/f2
である。
てのシグマ演算にC_σクロックサイクル(C_σ<C_σ_max)かかった場合の所
要時間をT_σとしている。すなわち、T_σ=C_σ/f1である。
にC_cs_maxクロックサイクルかかるような誤りデータ位置であっても、T_σ_
max−T_σの時間だけ余裕があることになる。
誤りデータ数に正比例するため、その比例係数をα、あるデータフレーム中の誤りデータ
数をE_σ、1データフレーム中の誤り訂正可能最大数をE_σ_maxとすると、C_
σ=α×E_σ、C_σ_max=α×E_σ_maxである。これらを用いて、上記の
式(1)をf2slowについて解くと、
E_σ_max未満だった時には常にCLK2の周波数を低くする場合、この範囲の周波
数を採用することができる。
、CLK2の周波数を変更するか否かを判断するための、誤りデータ数の閾値として採用
することができる。
ドで動作するか、あるいはE_σが閾値以下だった時のみCLK2の周波数を変更するモ
ードで動作するかは、たとえばクロック制御回路340内に設けられるレジスタに設定さ
れる。また、f2slowの周波数、1データフレーム中の誤り訂正可能最大数、及びC
LK2の周波数を変更するための誤りデータ数の閾値についても、たとえばクロック制御
回路340内に設けられるレジスタに設定される。
20が、1データフレーム分のデータを処理する時の各回路の発熱量及び誤り訂正装置2
10の温度変化を模式的に示すグラフであり、図4aが図3bに、図4bが図3cにそれ
ぞれ対応する。また、棒グラフは発熱量を、折れ線グラフは温度を、グラフの横軸は時間
をそれぞれ表す。
に同期してシグマ演算を行った後、時間T_cs_maxの間、チェーンサーチ演算回路
320が周波数f2であるCLK2に同期してチェーンサーチ演算を行っている。
LK1に同期してシグマ演算を行った後、時間C_cs_max/f2slowの間、チ
ェーンサーチ演算回路320が周波数f2slowであるCLK2に同期してチェーンサ
ーチ演算を行っている。
る。すなわち、図4aにおいてチェーンサーチ演算回路320からの総発熱量を表すT_
cs_maxを底辺とする長方形の面積と、図4bにおいてチェーンサーチ演算回路32
0からの総発熱量を表すC_cs_max/f2slowを底辺とする長方形の面積は等
しい。
、同一の熱量を長い時間をかけて発熱する図4bの方が小さい。すなわち、図4aのΔT
emp_cs_maxよりも図4bのΔTemp_cs_slowのほうが小さくなる。
レーム中の誤りデータ数420の通知をうける(ステップS100)。データフレーム中
の誤りデータ数420が誤り訂正可能最大数未満ではない場合(ステップS110:No
)、CLK2の周波数としてf2を設定する(ステップS120)。データフレーム中の
誤りデータ数420が誤り訂正可能最大数未満である場合(ステップS110:Yes)
、クロック制御回路340は、誤りデータ数の閾値を考慮するモードであるか否かを判断
する(ステップS130)。閾値を考慮しないモードの場合(ステップS130:No)
、CLK2の周波数として式(2)の範囲の周波数を設定する(ステップS140)。閾
値を考慮するモードの場合(ステップS130:Yes)、誤りデータ数420が閾値以
下か否かを判断する(ステップS150)。閾値以下である場合(ステップS150:Y
es)、CLK2の周波数としてあらかじめ決めてあった目標周波数を設定する(ステッ
プS160)。閾値以下でない場合(ステップS150:No)、CLK2の周波数とし
てf2を設定する(ステップS120)。
誤り訂正可能最大数未満である場合に、チェーンサーチ演算回路320に入力されるクロ
ックの周波数を低くするので、記憶装置1の読み出し性能を落とさずに温度上昇を低減す
ることができる。
のであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その
他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の
省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や
要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる
。
…媒体リード制御回路、110…リードバッファ、120…ホストインターフェース制御
回路、200…FIFO、210…誤り訂正装置、300…シンドローム演算回路、31
0…シグマ演算回路、320…チェーンサーチ演算回路、330…エラー訂正回路、34
0…クロック制御回路、400…シンドローム、410…誤り位置多項式、420…誤り
データ数、430…誤り位置、500…誤りが訂正される前のデータフレーム、510…
誤りが訂正されたデータフレーム
Claims (4)
- 不揮発性記憶媒体と、
第1クロックに同期して動作し、前記不揮発性記憶媒体から読み出したデータフレーム中の誤りデータ数を算出する第1演算を行う第1演算回路と、
第2クロックに同期して動作し、前記第1演算回路の出力に基づいて前記データフレーム中の誤りデータ位置を算出する第2演算を行う第2演算回路と、
前記第1クロック及び前記第2クロックを出力し、前記データフレーム中の前記誤りデータ数に応じて前記第2クロックの周波数を変更するクロック制御回路と
を具備し、
前記クロック制御回路は、
前記データフレーム中の前記誤りデータ数が所定の閾値以上である場合の前記第2クロックの周波数を、前記第1クロックの周波数と等しい第1周波数とし、
前記データフレーム中の前記誤りデータ数が前記閾値未満である場合の前記第2クロックの周波数を、前記第1クロックの周波数未満である第2周波数とする
記憶装置。 - 前記閾値は前記データフレーム中の誤り訂正可能最大数である
請求項1に記載の記憶装置。 - 前記閾値及び前記第2周波数は、
前記第2クロックの周波数が前記第2周波数である場合の前記第1演算の所要時間と前記第2演算の最大所要時間との合計が、
前記第2クロックの周波数が前記第1周波数である場合の前記第1演算の所要時間と前記第2演算の最大所要時間との合計以下となるように定められたものである
請求項1に記載の記憶装置。 - 第1クロックに同期して動作し、受信したデータフレーム中の誤りデータ数を算出する第1演算を行う第1演算回路と、
第2クロックに同期して動作し、前記第1演算回路の出力に基づいて前記データフレーム中の誤りデータ位置を算出する第2演算を行う第2演算回路と、
前記第1クロック及び前記第2クロックを出力し、前記データフレーム中の前記誤りデータ数に応じて前記第2クロックの周波数を変更するクロック制御回路と
を具備し、
前記クロック制御回路は、
前記データフレーム中の前記誤りデータ数が所定の閾値以上である場合の前記第2クロックの周波数を、前記第1クロックの周波数と等しい第1周波数とし、
前記データフレーム中の前記誤りデータ数が前記閾値未満である場合の前記第2クロックの周波数を、前記第1クロックの周波数未満である第2周波数とする
誤り訂正装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016017966A JP6450696B2 (ja) | 2016-02-02 | 2016-02-02 | 記憶装置及び誤り訂正装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016017966A JP6450696B2 (ja) | 2016-02-02 | 2016-02-02 | 記憶装置及び誤り訂正装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017138712A JP2017138712A (ja) | 2017-08-10 |
JP6450696B2 true JP6450696B2 (ja) | 2019-01-09 |
Family
ID=59565932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016017966A Expired - Fee Related JP6450696B2 (ja) | 2016-02-02 | 2016-02-02 | 記憶装置及び誤り訂正装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6450696B2 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012074567A1 (en) * | 2010-11-29 | 2012-06-07 | Sandisk Il Ltd. | Reduction of power consumption for data error analysis |
-
2016
- 2016-02-02 JP JP2016017966A patent/JP6450696B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2017138712A (ja) | 2017-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI625620B (zh) | 非揮發性記憶體裝置及其讀取方法 | |
US8949690B2 (en) | Memory controller | |
US10067824B2 (en) | Error processing method, memory storage device and memory controlling circuit unit | |
US20110239081A1 (en) | Semiconductor storage device and method for controlling a semiconductor storage device | |
JP2006190425A (ja) | 半導体記憶装置 | |
US11468963B2 (en) | Memory device and read method thereof | |
JPWO2016013285A1 (ja) | メモリコントローラおよびメモリコントローラの制御方法 | |
KR20110025524A (ko) | 반도체 메모리 장치 및 그것의 데이터 처리 방법 | |
JP2016118815A (ja) | 不揮発性メモリ装置 | |
JP2016018473A (ja) | 半導体記憶装置、メモリコントローラ、及びメモリコントローラの制御方法 | |
TWI652570B (zh) | 非依電性記憶體裝置及其位址分類方法 | |
US8732554B2 (en) | Data storage device and method for checking and correcting errors | |
JP2009259113A (ja) | 不揮発性メモリ管理装置 | |
JP6450696B2 (ja) | 記憶装置及び誤り訂正装置 | |
JP2013093012A (ja) | メモリコントローラ、記憶装置 | |
US10970166B2 (en) | Memory system and method of controlling non-volatile memory | |
JP2008310896A (ja) | 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法 | |
KR20140018095A (ko) | 에러 검출 정정 회로 및 메모리 장치 | |
WO2010013437A1 (ja) | 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム | |
JP7381269B2 (ja) | ストレージコントローラ、ストレージ装置及びストレージ装置の制御方法 | |
JP6054753B2 (ja) | 半導体装置及びデータアクセス方法 | |
US9455746B2 (en) | Variable speed Chien search architecture | |
JP2012113476A (ja) | データ記憶装置、メモリ制御装置及びメモリ制御方法 | |
US20240193080A1 (en) | Memory system | |
KR101139187B1 (ko) | 버퍼 없이 에러를 검출하고 정정하는 컨트롤러 및 그 컨트롤러의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170531 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20170821 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180306 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180907 |
|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20180907 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181005 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181026 |
|
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: 20181109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6450696 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |